diff --git a/.gitattributes b/.gitattributes index 27c635ed850..e75d21c3077 100644 --- a/.gitattributes +++ b/.gitattributes @@ -627,33 +627,6 @@ Manual_tools/doc_tex/Manual_tools/tools_overview.eps -text Manual_tools/doc_tex/Manual_tools/tools_overview.gif -text svneol=unset#unset Manual_tools/doc_tex/Manual_tools/vertical_struct.eps -text Manual_tools/doc_tex/Manual_tools/vertical_struct.gif -text svneol=unset#unset -Manual_tools/format/eps_tabs/cc_Class.eps -text -Manual_tools/format/eps_tabs/cc_Class.pdf -text svneol=unset#unset -Manual_tools/format/eps_tabs/cc_Concept.eps -text -Manual_tools/format/eps_tabs/cc_Concept.pdf -text -Manual_tools/format/eps_tabs/cc_Constant.eps -text -Manual_tools/format/eps_tabs/cc_Constant.pdf -text -Manual_tools/format/eps_tabs/cc_Enum.eps -text -Manual_tools/format/eps_tabs/cc_Enum.pdf -text svneol=unset#unset -Manual_tools/format/eps_tabs/cc_Function.eps -text -Manual_tools/format/eps_tabs/cc_Function.pdf -text -Manual_tools/format/eps_tabs/cc_FunctionObjectClass.eps -text -Manual_tools/format/eps_tabs/cc_FunctionObjectClass.pdf -text -Manual_tools/format/eps_tabs/cc_FunctionObjectConcept.eps -text -Manual_tools/format/eps_tabs/cc_FunctionObjectConcept.pdf -text -Manual_tools/format/eps_tabs/cc_Macro.eps -text -Manual_tools/format/eps_tabs/cc_Macro.pdf -text -Manual_tools/format/eps_tabs/cc_Variable.eps -text -Manual_tools/format/eps_tabs/cc_Variable.pdf -text -Manual_tools/format/eps_tabs_grey/cc_Class.eps -text -Manual_tools/format/eps_tabs_grey/cc_Concept.eps -text -Manual_tools/format/eps_tabs_grey/cc_Constant.eps -text -Manual_tools/format/eps_tabs_grey/cc_Enum.eps -text -Manual_tools/format/eps_tabs_grey/cc_Function.eps -text -Manual_tools/format/eps_tabs_grey/cc_FunctionObjectClass.eps -text -Manual_tools/format/eps_tabs_grey/cc_FunctionObjectConcept.eps -text -Manual_tools/format/eps_tabs_grey/cc_Macro.eps -text -Manual_tools/format/eps_tabs_grey/cc_Variable.eps -text Manual_tools/gif_makers/cc_LaTeX.gif -text svneol=unset#unset Manual_tools/gif_makers/cc_LaTeXe.gif -text svneol=unset#unset Manual_tools/gif_makers/cc_TeX.gif -text svneol=unset#unset @@ -668,6 +641,7 @@ Manual_tools/gif_makers/old_gifs/cc_Macro.gif -text svneol=unset#unset Manual_tools/gif_makers/old_gifs/cc_Variable.gif -text svneol=unset#unset Manual_tools/gif_makers/old_gifs/cc_advanced_begin.gif -text svneol=unset#unset Manual_tools/gif_makers/old_gifs/cc_advanced_end.gif -text svneol=unset#unset +Manual_tools/install.config -text Manual_tools/src/latex_converter_config/gif/cc_Box.gif -text svneol=unset#unset Manual_tools/src/latex_converter_config/gif/cc_Class.gif -text svneol=unset#unset Manual_tools/src/latex_converter_config/gif/cc_Concept.gif -text svneol=unset#unset diff --git a/Manual_tools/INSTALLATION b/Manual_tools/INSTALLATION index 5840413c339..4dc6d1c085c 100644 --- a/Manual_tools/INSTALLATION +++ b/Manual_tools/INSTALLATION @@ -1,39 +1,33 @@ -INSTALLATION for the Specification and Manual Writing Tools - for C++ Reference Manuals -=========================================================== -24.08.1999 Zurich Lutz Kettner -29.09.1999 Saarbruecken Susan Hert - - Installation ============ -(1) The LaTeX style files 'cc_manual.sty', 'cc_manual_index.sty', - 'latex_to_html.sty', 'cprog.sty', 'nonlinkedpath.sty', and the - subdirectory 'eps_tabs/' in the `format/' directory have to be made - accessable for TeX, e.g. copy them into a directory that is included - in $TEXINPUTS. (The subdirectory `eps_tabs' must be copied as a directory - and not simply its contents.) +There is an install script called `install.sh' that installs the +Manual_tools in a default location, specified in `install.config'. +If you dislike the default paths, feel free to change them. Some +interactive work is still required: -(2) The directory `scripts/' contains two csh-scripts that help with - the new manual style for C++ reference pages: cc_ref_wizard - and cc_make_ref_pages. They assume csh to be located at `/bin/csh'. - They should be made accessible in the standard execution path. An - example file `cc_ref_wizard_rc' is provided for user configurations +(1) The default location for TeX style files is + ${HOME}/local/Manual_tools/sty. You have to ensure that TeX has + access to this path, by setting the $TEXINPUTS environment + variable: + + $ export TEXINPUTS=".:`pwd`/format:$TEXINPUTS" + + +(2) The directory `scripts/' contains scripts that assume csh and perl + to be located at /bin/csh and /usr/bin/perl. These scripts may need + to be edited (before installing them, of course) to reflect the proper + locations. + + An example file `cc_ref_wizard_rc' is provided for user configurations in `$HOME/.cc_ref_wizard_rc'. -(3) The directory `scripts/' contains two Perl scripts that help in the - creation of the index for the PostScript version of the manual: - add_part_num and index_fix. These scripts may need to be edited to - reflect the proper locations of the Perl intepreter. - -(4) The manuals exist already formatted in the `doc/' directory as - PostScript files. If reformatting is necessary, use `bibtex ' - and `makeindex ' besides LaTeX to complete the manuals. - -(5) The directory `src/' contains the supporting tools. Continue with - src/INSTALLATION to finish the installation. - -EOF - +(3) If you use the Manual_tools in the CGAL context, make sure that the + cgal_manual script (found in Manual/developer_scripts/cgal_manual) + is in the PATH, either by copying it to ~/local/bin or by other means. +(4) The directory `src/' contains the supporting tools. See src/INSTALLATION + for further details (not required for basic setup). + + +EOF \ No newline at end of file diff --git a/Manual_tools/README b/Manual_tools/README index 1ae7c8a7808..1923fb5c980 100644 --- a/Manual_tools/README +++ b/Manual_tools/README @@ -1,6 +1,7 @@ README for the Specification and Manual Writing Tools for C++ Reference Manuals ========================================================= +01.09.2005 Saarbruecken Andreas Meyer ameyer@mpi-inf.mpg.de 24.08.1999 Zurich Lutz Kettner kettner@acm.org 29.09.1999 Saarbruecken Susan Hert hert@mpi-sb.mpg.de @@ -12,12 +13,12 @@ The directory structure is: CHANGES revision history INSTALLATION how to install the style and the tools. - doc/ the reference manual. + doc_tex/ the reference manual. + doc_ps/ precompiled version of the reference manuals. example/ an example of the (new) C++ reference pages. - format/ the LaTeX style files and a test document. + sty/ the LaTeX style files and a test document. - scripts/ scripts around manual writing and to update old - specifications before release 2.1. + scripts/ scripts around manual writing src/ src for the extraction and checking tools. diff --git a/Manual_tools/doc_tex/Manual_tools/README b/Manual_tools/doc_tex/Manual_tools/README index a53ed4b685a..5fb1e36017c 100644 --- a/Manual_tools/doc_tex/Manual_tools/README +++ b/Manual_tools/doc_tex/Manual_tools/README @@ -1,9 +1,3 @@ -README for the Specification and Manual Writing Tools - for C++ Reference Manuals -===================================================== -03.09.1999 Zurich Lutz Kettner kettner@acm.org -27.09.1999 Saarbruecken Susan Hert hert@mpi-sb.mpg.de - This is the directory containing the reference manuals. The directory structure is: diff --git a/Manual_tools/example/README b/Manual_tools/example/README index e89cdc15c92..0fb066ba4b1 100644 --- a/Manual_tools/example/README +++ b/Manual_tools/example/README @@ -1,9 +1,3 @@ -README for the Specification and Manual Writing Tools - for C++ Reference Manuals -===================================================== -03.09.1999 Zurich Lutz Kettner kettner@acm.org -27.09.1999 Saarbruecken Susan Hert hert@mpi-sb.mpg.de - This directory contains several examples of how to create manuals using the tools in this distribution. diff --git a/Manual_tools/format/README b/Manual_tools/format/README deleted file mode 100644 index 1538dbd9cc1..00000000000 --- a/Manual_tools/format/README +++ /dev/null @@ -1,32 +0,0 @@ -README for the Specification and Manual Writing Tools - for C++ Reference Manuals -===================================================== -24.08.1999 Zurich Lutz Kettner -13.02.2000 Saarbruecken Susan Hert - -This is the directory containing the cc_manual.sty, cc_manual_index.sty, -cprog.sty, nonlinkedpath.sty and test documents. The directory structure is: - - README this file. - - cc_manual.sty macros for the manual. - cc_manual_index.sty macros for indexing the manual. - latex_to_html.sty new macros supporting the HTML conversion. - cprog.sty an environment to format C programs. - cprog.old.sty the original cprog.sty (with some bugs). - - nonlinkedpath.sty defines a command \nonlinkedpath that is an alias - for the \path command. This command differs from - the \path command only for the HTML manual, where - it does not produce a link. - test.tex The test suite for the cc_manual style. - test_parts.tex The test suite for the cc_manual style using \part - commands. - test_chaps/ Directory containing input files for test_parts.tex - index_test.tex The test suite for the cc_manual_index style. - eps_tabs/ Directory containing the encapsulated PostScript - figures for the reference manual tabs - -EOF - - diff --git a/Manual_tools/format/cc_manual.sty b/Manual_tools/format/cc_manual.sty deleted file mode 100644 index 6c8cf9f58af..00000000000 --- a/Manual_tools/format/cc_manual.sty +++ /dev/null @@ -1,3153 +0,0 @@ -% ___________________________________________________________________________ -% |#########################################################################| -% | | -% | The C++ Reference Manual Style cc_manual.sty | -% | -------------------------------------------------------- | -% | | -% | 03.06.1995 Lutz Kettner kettner@acm.org | -% | Zurich, Switzerland | -% | 15.09.1999 Susan Hert hert@mpi-sb.mpg.de | -% | Saarbruecken, Germany | -% | $Id$ | -% | $Date$ | -% |_________________________________________________________________________| -% |#########################################################################| -% | | -% | Table of Contents: | -% | | -% | o Page Layout and Page Dimensions | -% | o Advanced Customization of the Layout | -% | o Common Abbreviations | -% | o Structuring Macros | -% | o C++ Declarations | -% | o Reference Page Declarations | -% | o Class and Class Member Declarations | -% | o Global C++ Declarations | -% | o HTML Language Support in the Style File | -% | | -% | o Internal Macros, not for Usage in the Manual | -% | * Predicates | -% | * Toplevel declaration formatting | -% | * Formatting of simple C++ code | -% | * Formatting of operator declarations | -% | * Template declaration separation | -% | * Parameter list parsing | -% | * Parameter Parsing | -% | | -% | o Names for Portability | -% | | -% | | -% |#########################################################################| - -% Set this definition to \ccTrue to activate the old name definitions -% which are still there for portability reasons. -\newcommand{\ccPortability}{\ccFalse} - -% debug option, use only for small files! -%\tracingmacros=1 - -% \ccRevision and \ccDate can be found below of \RCSdef and \RCSdefDate -% There is also the code to print the message during the typesetting. - -% used instead of \end to terminate pattern matching. -\newcommand{\ccEnd}{}\def\ccEnd{\ccNeverToEval} - -% restarts chapter number at 1 with each new part of manual; otherwise -% chapter numbers are continuous -\newcommand{\ccNumberChaptersByPart}{\@addtoreset{chapter}{part}} -\newcommand{\ccMultiplePartsToc}{} - -% example listing -% --------------- -\newcommand{\listofexamples}{\addcontentsline{toc}{chapter}{List of Examples} - {\Large \textbf{List of Examples}} - \@starttoc{xmp}} -\newcommand{\l@example}{\@dottedtocline{1}{0em}{2.3em}} - -% listing of reference pages -% -------------------------- -\newcommand{\listofrefpages}{\addcontentsline{toc}{chapter}{Alphabetical List of Reference Pages} - {\Large \textbf{Alphabetical List of Reference Pages}} - \@starttoc{ref}} -\newcommand{\l@refpage}{\@dottedtocline{1}{0em}{2.3em}} - -% ########################################################################### -% | -% | o Link User <--> Reference -% | -% ########################################################################### - -\newcommand{\ccUserChapter}[2]{ - \chapter{#1} -} - -\newcommand{\ccRefChapter}[2]{ - \chapter{#1} -} - - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Page Layout and Page Dimensions -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | Dimensions (from the LEDA Manual): -% | They are commented out since Release 2.9 because I don't know their -% | impact and I don't want to restrict the cc_manual.sty to a certain -% | point size. Especially the \spaceskip definition makes the -% | verbatim environment faulty (no fixed size font any more since the -% | space can vary in its width). -% +-------------------------------------------------------------------------- -%\hoffset=-0.5truemm \voffset=0.5truecm -%\hsize=16truecm \vsize=23.5truecm -%\hsize=13.3truecm \vsize=19.8truecm - -% \baselineskip 14pt -% \spaceskip .4em plus .25em minus .25em %% This one makes verbatim false. -% \xspaceskip .65em - -\newdimen\ccwOriginalParskip -\newdimen\ccwOriginalParindent -\ccwOriginalParskip = \parskip -\ccwOriginalParindent = \parindent - -\newcommand{\ccOriginalParDims}{% - \parskip = \ccwOriginalParskip - \parindent = \ccwOriginalParindent -} -\newcommand{\ccParDims}{% - \parskip 11pt plus 1pt minus 1pt - \parindent 0pt -} -\ccParDims - -% +-------------------------------------------------------------------------- -% | New Dimensions (for the CGAL Manual): -% | Especially to format all multi column declarations. -% | -% | The dimensions \ccFirst and \ccSecond are set to the appropriate -% | values. Afterwards, the \ccInitWidths does the rest. -% | \ccInitFunctionWidths and \ccInitConstructorWidths set the -% | \ccFirst and \ccSecond appropriately and call \ccInitWidths afterwards. -% +-------------------------------------------------------------------------- - -\newdimen\ccwIndent -\newdimen\ccwRightMargin -\newdimen\ccwFirst -\newdimen\ccwFirstLong -\newdimen\ccwSecond -\newdimen\ccwSecondLong -\newdimen\ccwComment -\newdimen\ccwBetween -\newdimen\ccwParam -\newdimen\ccwParamIndent - -\newdimen\ccwFunctionFirst -\newdimen\ccwFunctionSecond -\newdimen\ccwConstructorFirst -\newdimen\ccwConstructorSecond - - -% init them -% --------- -\ccwIndent = 0pt -\ccwRightMargin = 0pt -\ccwBetween = 0.5cm -\ccwParamIndent = 1.2cm - -\ccwFunctionFirst = 2.5cm -\ccwFunctionSecond = 4.5cm -\ccwConstructorFirst = -1\ccwBetween -\ccwConstructorSecond = 2.5cm - - -% This initialisation is called prior to each declaration formatting. -% All boxes will be positioned from left. The exception is the comment -% box which will be flushed to the right (minus right margin). -\newcommand{\ccInitWidths}{% - \ccwFirstLong = \textwidth - \advance\ccwFirstLong -\ccwIndent - \advance\ccwFirstLong -\ccwRightMargin - \ccwSecondLong = \ccwFirstLong - \advance\ccwSecondLong -\ccwFirst - \advance\ccwSecondLong -\ccwBetween - \ccwComment = \ccwSecondLong - \advance\ccwComment -\ccwSecond - \advance\ccwComment -\ccwBetween - \ccwParam = \ccwFirst - \advance\ccwParam \ccwIndent - \advance\ccwParam \ccwBetween - \advance\ccwParam \ccwParamIndent -} -\ccInitWidths - - -% \ccInitFunctionWidths and \ccInitConstructorWidths set the -% \ccFirst and \ccSecond appropriately and call \ccInitWidths afterwards. -\newcommand{\ccInitFunctionWidths}{% - \ccwFirst =\ccwFunctionFirst - \ccwSecond =\ccwFunctionSecond - \ccInitWidths -} -\newcommand{\ccInitConstructorWidths}{% - \ccwFirst =\ccwConstructorFirst - \ccwSecond =\ccwConstructorSecond - \ccInitWidths -} - - -% define macros for the vertical structuring -% ------------------------------------------ -% These three commands are subject to change for \ccGlueBegin and \ccGlueEnd. -\newcommand{\ccTopSkip}{\smallskip} -\newcommand{\ccBottomSkip}{% - \par\smallskip - \def\ccTagBottomBigSkipUsed{\ccFalse}% -} -\newcommand{\ccBottomBigSkip}{% - \par\bigskip - \def\ccTagBottomBigSkipUsed{\ccTrue}% -} - -\newcommand{\ccReverseTopSkip}{\vspace{-\smallskipamount}} -\newcommand{\ccReturnSkip}{\par\hspace*{\ccwIndent}\hspace*{\ccwFirst}% - \hspace*{\ccwBetween}} -\newcommand{\ccMiddleSkip}{\par\hspace*{1cm}\hfill} % aligns commentblock - % to the right -\newcommand{\ccReverseBottomSkip}{\vspace{-\smallskipamount}} -\newcommand{\ccReverseBottomBigSkip}{\vspace{-\bigskipamount}} - -% A macro to glue declarations together -% ------------------------------------- -% We have to distinguish between different layouts in -% \ccLayoutThreeColumns. One uses \ccBottomSkip, one uses -% \ccBottomBigSkip. The following tag stores the most recently used. -%\newcommand{\ccTagBottomBigSkipUsed}{\ccFalse} -\def\ccTagBottomBigSkipUsed{\ccFalse} - -% The layout for comments with multiple lines differ from the layout with -% single line comments. The following tag is true if the most recently -% formatted comment had multiple lines. -\newcommand{\ccTagMultipleLineComment}{\ccFalse} -\def\ccTagMultipleLineComment{\ccFalse} - -\newcommand{\ccGlueDeclarations}{% - \ifnum\ccTagBottomBigSkipUsed=\ccTrue - \ccReverseTopSkip\ccReverseBottomBigSkip\vspace{-\parskip}\medskip% - \else - \ifnum\ccTagMultipleLineComment=\ccTrue - \ccReverseTopSkip\ccReverseBottomSkip\vspace{-\parskip}\medskip% - \else - \ccReverseTopSkip\ccReverseBottomSkip\vspace{-\parskip}% - \fi - \fi -} - -\newdimen\ccwParskipTmp - -\newcommand{\ccGlueBegin}{% - \ccwParskipTmp = \parskip - \parskip=0pt - \renewcommand{\ccTopSkip}{\smallskip} - \renewcommand{\ccBottomSkip}{\par} - \renewcommand{\ccBottomBigSkip}{\par} -} - -\newcommand{\ccGlueEnd}{% - \parskip = \ccwParskipTmp - \renewcommand{\ccTopSkip}{\smallskip} - \renewcommand{\ccBottomSkip}{% - \par\smallskip - \def\ccTagBottomBigSkipUsed{\ccFalse}% - } - \renewcommand{\ccBottomBigSkip}{% - \par\bigskip - \def\ccTagBottomBigSkipUsed{\ccTrue}% - } - \par\medskip -} - -% abbreviations -\newcommand{\ccGlue}{\ccGlueDeclarations} - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Advanced Customization of the Layout -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | Customization tags for the style: here are the defaults defined. -% +-------------------------------------------------------------------------- -\newcommand{\ccTagChapterAuthor}{} % true -> the author is shown. -\newcommand{\ccTagChapterRelease}{} % true -> the release is shown. -\newcommand{\ccTagReplacePrefix}{} % true -> prefixes are replaced. -\newcommand{\ccTagReplaceInclude}{} % true -> include file prefixes - % are replaced when - % \ccTagReplacePrefix is also true. -\newcommand{\ccLongParamLayout}{} % false -> function parameters are - % aligned below the opening paranthesis, - % else they are aligned in a fixed - % column. - -% Declaration Layout tags -\newcommand{\ccTagRmConstRefPair}{} % true -> removes const & pairs - % when it appearing in parameters - % and return values. -\newcommand{\ccTagRmEigenClassName}{} % true -> removes own class name - % when it appears in parameter list. -\newcommand{\ccTagOperatorLayout}{} % true -> format operators -\newcommand{\ccTagRmTrailingConst}{} % true -> trailing const declarat. - % for member fct's are removed. -\newcommand{\ccTagRmTemplate}{} % true -> remove template declaration. -\newcommand{\ccTagTemplateInline}{} % true -> make template declaration - % in the same line, not in extra line. - - -\newcommand{\ccTagDefaults}{% - \def\ccTagChapterAuthor{\ccTrue}% - \def\ccTagChapterRelease{\ccFalse}% - \def\ccTagReplacePrefix{\ccFalse}% - \def\ccTagReplaceInclude{\ccFalse}% - \def\ccLongParamLayout{\ccFalse}% - % Declaration Layout tags - \def\ccTagRmTrailingConst{\ccTrue}% - \def\ccTagRmEigenClassName{\ccTrue}% - \def\ccTagRmConstRefPair{\ccTrue}% - \def\ccTagOperatorLayout{\ccTrue}% - \def\ccTagRmTemplate{\ccFalse}% - \def\ccTagTemplateInline{\ccFalse}% - % portability namings - \def\CCalternateThreeColumn{\ccTrue}% - \def\ccAlternateThreeColumn{\ccTrue}% -} - -\newcommand{\ccTagFullDeclarations}{% - \def\ccTagRmTrailingConst{\ccFalse}% - \def\ccTagRmEigenClassName{\ccFalse}% - \def\ccTagRmConstRefPair{\ccFalse}% - \def\ccTagOperatorLayout{\ccFalse}% - \def\ccTagRmTemplate{\ccFalse}% -} - -% portability namings, no longer necessary -%\newcommand{\ccAlternateThreeColumn}{}% true -> function paramters are aligned - % below the opening paranthesis, else - % they are aligned in a fixed column. -%\newcommand{\CCalternateThreeColumn}{} - -% activate defaults -\ccTagDefaults - -% +-------------------------------------------------------------------------- -% | Customization of the three columns or two columns layout -% | -% | -% +-------------------------------------------------------------------------- -\newdimen\ccwTmp -\newdimen\ccwFunctionFirstSave -\newdimen\ccwFunctionSecondSave -\newdimen\ccwConstructorSecondSave - -\newcommand{\ccSaveThreeColumns}{% - \ccwFunctionFirstSave=\ccwFunctionFirst - \ccwFunctionSecondSave=\ccwFunctionSecond -} -\newcommand{\ccRestoreThreeColumns}{% - \ccwFunctionFirst=\ccwFunctionFirstSave - \ccwFunctionSecond=\ccwFunctionSecondSave -} -% -% Note: don't need to save ccwConstructorFirst since it doesn't ever change -\newcommand{\ccSaveTwoColumns}{% - \ccwConstructorSecondSave=\ccwConstructorSecond -} -\newcommand{\ccRestoreTwoColumns}{% - \ccwConstructorSecond=\ccwConstructorSecondSave -} - -\newcommand{\ccSetTwoOfThreeColumns}[2]{% - \global\ccwFunctionFirst=#1 - \global\ccwFunctionSecond=#2 -} -\newcommand{\ccSetThreeColumns}{\begingroup\ccCatcode\ccSetThreeColumnsX} -\def\ccSetThreeColumnsX #1#2{\endgroup\ccSetThreeColumnsXX{#1}{#2}} -\def\ccSetThreeColumnsXX #1#2#3{% - \isEmpty{#3}\ifnum\ccBool=\ccTrue - \setbox0=\hbox{\mbox{\ccStyle{#1}}}\setbox1=\hbox{\mbox{\ccStyle{#2}}}% - \ccSetTwoOfThreeColumns{\wd0}{\wd1}% - \else\isEmpty{#2}\ifnum\ccBool=\ccTrue - \setbox0=\hbox{\mbox{\ccStyle{#1}}}\setbox1=\hbox{\mbox{#3}}% - \ccwTmp=\textwidth - \advance\ccwTmp -\wd0 - \advance\ccwTmp -\wd1 - \advance\ccwTmp -\ccwIndent - \advance\ccwTmp -\ccwRightMargin - \advance\ccwTmp -\ccwBetween - \advance\ccwTmp -\ccwBetween - \ccSetTwoOfThreeColumns{\wd0}{\ccwTmp}% - \else\isEmpty{#1}\ifnum\ccBool=\ccTrue - \setbox0=\hbox{\mbox{\ccStyle{#2}}}\setbox1=\hbox{\mbox{#3}}% - \ccwTmp=\textwidth - \advance\ccwTmp -\wd0 - \advance\ccwTmp -\wd1 - \advance\ccwTmp -\ccwIndent - \advance\ccwTmp -\ccwRightMargin - \advance\ccwTmp -\ccwBetween - \advance\ccwTmp -\ccwBetween - \ccSetTwoOfThreeColumns{\ccwTmp}{\wd0}% - \else - \errmessage{\ccSetThreeColumns expects one empty parameter. Go - ahead, the old settings will remain active.}% - \fi\fi\fi -} -\newcommand{\ccSetOneOfTwoColumns}[1]{% - \global\ccwConstructorSecond=#1 -} -\newcommand{\ccSetTwoColumns}{\begingroup\ccCatcode\ccSetTwoColumnsX} -\def\ccSetTwoColumnsX #1{\endgroup\ccSetTwoColumnsXX{#1}} -\def\ccSetTwoColumnsXX #1#2{% - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \setbox0=\hbox{\mbox{\ccStyle{#1}}}% - \ccSetOneOfTwoColumns{\wd0}% - \else\isEmpty{#1}\ifnum\ccBool=\ccTrue - \setbox0=\hbox{\mbox{#2}}% - \ccwTmp=\textwidth - \advance\ccwTmp -\wd0 - \advance\ccwTmp -\ccwIndent - \advance\ccwTmp -\ccwRightMargin - \advance\ccwTmp -\ccwBetween % \ccwConstructorFirst = -1\ccwBetween - \ccSetOneOfTwoColumns{\ccwTmp}% - \else - \errmessage{\ccSetTwoColumns expects one empty parameter. Go - ahead, the old settings will remain active.}% - \fi\fi -} - -\newcommand{\ccPropagateThreeToTwoColumns}{% - \ccwTmp=\ccwFunctionFirst - \advance\ccwTmp \ccwFunctionSecond - \advance\ccwTmp \ccwBetween - \ccSetOneOfTwoColumns{\ccwTmp}% -} - -% abbreviations -\newcommand{\ccThree}{\ccSetThreeColumns} -\newcommand{\ccTwo}{\ccSetTwoColumns} -\newcommand{\ccThreeToTwo}{\ccPropagateThreeToTwoColumns} - -% +-------------------------------------------------------------------------- -% | \ccMakeAllVisible: -% | The invisible declaratiniol parts in the manual that are written -% | with \ccDeclaration and \ccHidden are made visible with this macro. -% +-------------------------------------------------------------------------- -% If these non visible parts of the code should be made visible once, -% the following macro switches it on. -\newcommand{\ccMakeAllVisible}{% - \renewcommand{\ccDeclaration}{\ccStyle}% - \renewcommand{\ccHidden}{}% -} - -% +-------------------------------------------------------------------------- -% | Formatting styles: -% | -% | The style of the C++ formatting can be customized by redefining the -% | following macros. -% +-------------------------------------------------------------------------- -\newcommand{\ccFont}{\it} % font or style changing command in which all C++ - % tokens will be typeset, including the variable names. -\newcommand{\ccEndFont}{\ifvmode\else\/\fi} - % will be used after a C++ text. For slanted fonts, - % here should stay \/ macro. The C++ code will be - % grouped, so this macros has not to restore the old - % font. Cannot be used in vmode (e.g. in the index). - -% The special characters in typical C++ declarations: -\newcommand{\ccOpenAngle }{\ccEndFont {\tt <}\discretionary{}{}{}} -\newcommand{\ccCloseAngle}{\ccEndFont {\tt >}\discretionary{}{}{}} -\newcommand{\ccAmpersand }{\ccEndFont {\tt \&}} -\newcommand{\ccUnderscore}{\raisebox{-.05ex}{\_}\kern.05em\discretionary{}{}{}} -% \newcommand{\ccUnderscore}{\kern.05em\raisebox{.5ex}{\_}\kern-.1em} -\newcommand{\ccHat }{{\large $\;\,\hat{}\,\,$}} -\newcommand{\ccTilde }{{\leavevmode\lower.3ex \hbox{\large$\,\tilde{}\,$}}} -\newcommand{\ccHash }{{\rm \#}} -\newcommand{\ccDollar }{\$} - -% The sign for an empty parameter (i.e. of the type of the current class). -% \newcommand{\ccEmptyParameter}{$\diamondsuit$} - -% Set the catcodes according to the C++ character set (including operators). -\gdef\ccCatcode {% - \catcode`\~=12 - \catcode`\_=12 - \catcode`\^=12 - \catcode`\#=12 - \catcode`\%=12 - \catcode`\$=12 -} - -% +-------------------------------------------------------------------------- -% | Replacement of Prefixes -% | -% | \ccSrcPrefix contains the old prefix -% | \ccTargetPrefix contains the new prefix -% | -% | \ccReplacePrefix #1#2 replaces all prefixes in #1 and applies #2 to -% | the partial results that have to be terminated -% | by \ccEnd. -% +-------------------------------------------------------------------------- -\gdef\ccSrcPrefix{CGAL} -\gdef\ccTargetPrefix{CGAL} - -\newcommand{\ccReplacePrefix}[2]{% - \edef\ccPair{{\ccSrcPrefix}{\ccTargetPrefix}}% - \expandafter\ccReplacePrefixX\ccPair{#1}{#2}% -} - -% Does the actual work: #1 is the old prefix -% #2 is the new prefix -% #3 the text to process -% #4 the macro to be applied to the partial results -\def\ccReplacePrefixX #1#2#3#4{% - \def\repminusone ##1##2\ccEnd{% - \isEmpty{##2}\ifnum\ccBool=\ccFalse - \rep ##2\ccEnd - \fi - }% - % local macro to do the parsing: ##1 is the text before the old prefix - % ##2 is the text after the old prefix - \def\rep ##1#1##2\ccEnd{% set up a recursive loop - \def\repbody{\rep ##2\ccEnd}% - \isEmpty{##2}\ifnum\ccBool=\ccTrue - \isEmpty{##1}\ifnum\ccBool=\ccFalse - #4##1\ccEnd - \fi - \let\repnext=\relax - \else - % figure out whether it is a real prefix - \isPrefixFollowChar{##2}\ifnum\ccBool=\ccTrue - \isLastAlpha{##1}\ccInvert - \else\if - \fi\fi - \ifnum\ccBool=\ccTrue % it is a real prefix - \isUnderscore{##2}\ifnum\ccBool=\ccTrue - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \def\repbody{\repminusone ##2\ccEnd}% - \fi - \isEmpty{##1#2}\ifnum\ccBool=\ccFalse - #4##1#2\ccEnd - \fi - \else - \ifnum\ccTagReplaceInclude=\ccTrue - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \def\repbody{\repminusone ##2\ccEnd}% - \fi - \isEmpty{##1#2}\ifnum\ccBool=\ccFalse - #4##1#2\ccEnd - \fi - \else - #4##1#1\ccEnd - \fi - \fi - \else - \isEmpty{##1#1}\ifnum\ccBool=\ccFalse - #4##1#1\ccEnd - \fi - \fi - \let\repnext=\repbody - \fi - \repnext - }% - % call the above definition with at least one old prefix - \rep #3#1\ccEnd -} - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Common Abbreviations -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | A handy macro to include files in verbatim mode. -% +-------------------------------------------------------------------------- -% #1 the file name. -\newcommand{\ccIncludeVerbatim}[1]{% - \begin{alltt} - \begingroup - \catcode`\{=12 - \catcode`\}=12 - \catcode`\\=12 - \input{#1} - \endgroup - \end{alltt} -} - -% +-------------------------------------------------------------------------- -% | C++ Program Examples -% +-------------------------------------------------------------------------- -% Environment to format contents as C++ code -\newenvironment{ccExampleCode}{% - \begin{alltt} - \begingroup - \catcode`\{=12 - \catcode`\}=12 - \catcode`\\=12 - \ccParseExampleCodeBody -}{% - \endgroup - \end{alltt} -} - -% Take care: catcodes changes a lot here!! -\begingroup - \catcode`\@=11\relax - \catcode`\|=0 - \catcode`\[=1 - \catcode`\]=2 - \catcode`\{=12 - \catcode`\}=12 - \catcode`\\=12 - |long|gdef|ccParseExampleCodeBody #1\end{ccExampleCode}[% - #1|csname endccExampleCode|endcsname|@checkend[ccExampleCode]% - |expandafter|endgroup|if@endpe|@doendpe|fi - |if@ignore|global|@ignorefalse|ignorespaces|fi -] -|endgroup - -% Format exernal file: #1 the file name. -\newcommand{\ccIncludeExampleCode}[1]{\ccIncludeVerbatim{#1}} - -% +-------------------------------------------------------------------------- -% | A handy macro to define macros for RCS entries in a TeX file -% +-------------------------------------------------------------------------- -% #1 the macro name for the RCS entry -% #2 the RCS entry -\def\RCSdef{\begingroup\catcode`\$=12 \RCSdefSet} -{ \catcode`\$=12 - \gdef\RCSdefSetSpace #1$Id${\gdef#1{Revision: #3}}% - \gdef\RCSdefSetNonSpace #1$Id: #2 #3 #4${\gdef#1{Revision: #3}}% - \gdef\RCSdefSetTest #1#2$Id: #3 #4 #5 #6 #7$#8\ccEnd{% - \def\xRCSparams{#8}\ifx\xRCSparams\empty - \RCSdefSetNonSpace{#1}#2% - \else - \RCSdefSetSpace{#1}#2% - \fi - }% - \gdef\RCSdefSet #1#2{\RCSdefSetTest{#1}{#2}#2 $\ccEnd\endgroup}% -} - -% #1 the macro name for the RCS entry -% #2 the RCS date entry -\def\RCSdefDate{\begingroup\catcode`\$=12 \RCSdefSetDate} -{ \catcode`\$=12 - % Define the date if it is set. - % #1 = macro name, #2 = year, #3 = month, #4 = day, #5 = rest - \gdef\RCSdefSetDateSet #1$Date${\gdef#1{Date: #2/#3/#4}}% - % Define the date if it is not set. - % #1 = macro name, #2 = string without $'s - \gdef\RCSdefSetDateNonSet #1$#2${\gdef#1{#2 -\,-/-\,-/-\,-}}% - % Test whether the date is set or not. - % #1 = macro name, #2 = full date string, #8 = empty if date is not set - \gdef\RCSdefSetDateTest #1#2$#3 #4-#5-#6 #7$#8\ccEnd{% - \def\xRCSparams{#8}\ifx\xRCSparams\empty - \RCSdefSetDateNonSet{#1}#2% - \else - \RCSdefSetDateSet{#1}#2% - \fi - }% - \gdef\RCSdefSetDate #1#2{% - \RCSdefSetDateTest{#1}{#2}#2 1-2-3 4$\ccEnd\endgroup %$ - }% -} - -\RCSdef{\ccRevision}{$Id$} -\RCSdefDate{\ccDate}{$Date$} - -% Print a release note. -\catcode`\@=11\relax -\newwrite\@unused -\def\typeout#1{{\let\protect\string\immediate\write\@unused{#1}}} -\typeout{cc_manual.sty: \ccRevision. \ccDate.} -\catcode`\@=12\relax - - -% +-------------------------------------------------------------------------- -% | Original LEDA Manual macros (shortcuts): -% | Several new shortcuts for CGAL -% | -% | \CC, \gcc, \nat, \real, \boxit -% | \leda, \cgal, \protocgal, \plageo -% +-------------------------------------------------------------------------- -% selfmade -\newcommand{\CC}{C\raise.08ex\hbox{\tt ++}} -\newcommand{\gcc}{g\hbox{\tt ++}} -\newcommand{\nat}{\hbox{\rm I\kern-0.045em N}} -\newcommand{\real}{\hbox{\rm I\kern-0.035em R}} -% \def\boxit#1{\vbox{\hrule\hbox{\vrule\kern3pt\vbox{#1}\kern3pt\vrule}\hrule}} -% (older) AMS-TeX style -\newcommand{\R}{\mbox{$\mathbb R$}} %% zusammen mit usepackage{amssymb} -\newcommand{\N}{\mbox{$\mathbb N$}} %% zusammen mit usepackage{amssymb} -\newcommand{\Z}{\mbox{$\mathbb Z$}} %% zusammen mit usepackage{amssymb} -\newcommand{\Q}{\mbox{$\mathbb Q$}} %% zusammen mit usepackage{amssymb} -\newcommand{\E}{\mbox{$\mathbb E$}} %% zusammen mit usepackage{amssymb} -% actual AMS-TeX style (according to Kopka LaTeX Ergaenzungsband S.92) -%\def\R{\mbox{$\Bbb{R}$}} %% zusammen mit usepackage{amssymb} -%\def\N{\mbox{$\Bbb{N}$}} %% zusammen mit usepackage{amssymb} -%\def\Z{\mbox{$\Bbb{Z}$}} %% zusammen mit usepackage{amssymb} -%\def\Q{\mbox{$\Bbb{Q}$}} %% zusammen mit usepackage{amssymb} -%\def\E{\mbox{$\Bbb{E}$}} %% zusammen mit usepackage{amssymb} - -\newcommand{\stl}{{\sc STL}} -\newcommand{\leda}{{\sc Leda}} -\newcommand{\cgal}{{\sc Cgal}} -\newcommand{\galia}{{\sc Galia}} -\newcommand{\protocgal}{{\sc C++gal}} -\newcommand{\plageo}{{\sc Plageo}} - -% +-------------------------------------------------------------------------- -% | Macros that expand to the special characters \{} but with the -% | character catcode 12, which allows to use them as normal characters. -% | -% | \ccOpenBrace, \ccCloseBrace, \ccBackslash -% +-------------------------------------------------------------------------- -\catcode`\|=0 -\catcode`\[=1 -\catcode`\]=2 -|catcode`\\=12 -|catcode`|{=12 -|catcode`|}=12 -|newcommand[|ccBackslash][\]% -|newcommand[|ccOpenBrace][{]% -|newcommand[|ccCloseBrace][}]% -|catcode`|\=0 -|catcode`|{=1 -|catcode`|}=2 -\catcode`\|=12 -\catcode`\[=12 -\catcode`\]=12 - - - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Structuring Macros -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | Structuring macros (similar to LEDA Manual): -% | -% | \ccSection, \definition, \constants, \types, \creation, \operations, -% | \implementation, \example, \precond, \postcond, -% | \ccChapterAuthor, \ccChapterRelease, \ccChapterSubTitle -% +-------------------------------------------------------------------------- - -%\newcommand{\ccChapterAuthor}[1]{% -% \mbox{\ifnum\ccTagChapterAuthor=\ccTrue -% \noindent\setlength{\unitlength}{1mm}% -% \begin{picture}(0,0)% -% \put(0,17){{\em #1}}% -% \end{picture}% -% \fi}} -\makeatletter -\newcommand{\ccChapterSubTitle}[1]{\vskip -9mm\relax - \vbox{\noindent\parbox[t]{\textwidth}{{\em #1\\\mbox{}}}}% - \vskip 9mm\relax\vskip -\baselineskip\relax\vskip 5pt\relax\@afterheading} -\makeatother -\newcommand{\ccChapterAuthor}[1]{% - \ifnum\ccTagChapterAuthor=\ccTrue\ccChapterSubTitle{% - \ccChapterAuthorX #1\and\and}\fi} -% usage: terminate arg with ' @ ' -\def\ccRemoveTrailingSpaces #1 {% - \def\xxparams{#1}\def\xxxparams{@}\ifx\xxparams\xxxparams - \let\xxnext=\relax - \else - \let\xxnext=\ccRemoveTrailingSpacesX - #1% - \fi - \xxnext -} -% usage: terminate arg with ' @ ' -% it's the second word, so repeat ' ' before it. -\def\ccRemoveTrailingSpacesX #1 {% - \def\xxparams{#1}\def\xxxparams{@}\ifx\xxparams\xxxparams - \let\xxnext=\relax - \else - \let\xxnext=\ccRemoveTrailingSpacesX - \isEmpty{#1}\ifnum\ccBool=\ccFalse \ #1\fi - \fi - \xxnext -} -% obolete! usage: give arg twice and terminate with two \ccEnd -% \def\ccRemoveTrailingSpaces #1#2#3\ccEnd{% -% \def\xxbody{\ccRemoveTrailingSpaces{#3}#3\ccEnd}% -% \def\xxparams{#2}\def\xxxparams{\ccEnd}\ifx\xxparams\xxxparams -% \let\xxnext=\relax -% \else -% \let\xxnext=\xxbody -% \def\xxparams{#1}\def\xxxparams{ #2#3}% -% \ifx\xxparams\xxxparams\ \else\fi #2% -% \fi -% \xxnext -% } -\def\ccChapterAuthorX #1\and#2\and{% - \ccRemoveTrailingSpaces #1 @ %keep this space - \def\xAuthBody{\ccChapterAuthorXX #2\and}% - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \let\xAuthNext=\relax - \else - \let\xAuthNext=\xAuthBody - \fi - \xAuthNext -} -\def\ccChapterAuthorXX #1\and#2\and{% - \def\xAuthBody{\ccChapterAuthorXXX #2\and}% - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \ and \ccRemoveTrailingSpaces #1 @ %keep this space - \let\xAuthNext=\relax - \else - , \ccRemoveTrailingSpaces #1 @ %keep this space - \let\xAuthNext=\xAuthBody - \fi - \xAuthNext -} -\def\ccChapterAuthorXXX #1\and#2\and{% - \def\xAuthBody{\ccChapterAuthorXXX #2\and}% - \isEmpty{#2}\ifnum\ccBool=\ccTrue - , and \ccRemoveTrailingSpaces #1 @ %keep this space - \let\xAuthNext=\relax - \else - , \ccRemoveTrailingSpaces #1 @ %keep this space - \let\xAuthNext=\xAuthBody - \fi - \xAuthNext -} - -\newcommand{\ccChapterRelease}[1]{% - \ifnum\ccTagChapterRelease=\ccTrue\ccChapterSubTitle{#1}\fi} - -\newcommand{\ccSection}[1]{% - \section[#1 (\protect\ccPrintSingleTokenSemi - \ccPureClassTemplateName;)]{#1 (\ccClassTemplateName)}} - -\newcommand{\ccSubsection}[1]{% - \subsection[#1 (\protect\ccPrintSingleTokenSemi - \ccPureClassTemplateName;)]{#1 (\ccClassTemplateName)}} - - -% Option to enable automatic check for C++ include files in cgal_manual -\gdef\ccIfCheckInclude{\ccFalse} -\gdef\cciIfCheckIncludeOpen{\ccFalse} - -\newcommand{\ccInclude}[1]{% - \noindent\ccc{##include <#1>}% - \ifnum\ccIfCheckInclude=\ccTrue - \ifnum\cciIfCheckIncludeOpen=\ccFalse - \gdef\cciIfCheckIncludeOpen{\ccTrue}% - \newwrite\cciIncludeFileHandle - \openout\cciIncludeFileHandle=\jobname.inc\relax - \fi - \write\cciIncludeFileHandle{#1}\relax - \fi -} - - -\newcommand{\ccHeading}[1]{\bigskip\pagebreak[1] - {\bf #1} - \par\nopagebreak } -\newcommand{\ccCommentHeading}[1]{% - \def\ccTagMultipleLineComment{\ccFalse}% - \par{\it #1}: } - - -% reference page headings in the recommended order -\newcommand{\ccDefinition }{\ccHeading{Definition}} -\newcommand{\ccInheritsFrom }{\ccHeading{Inherits From}} -\newcommand{\ccHasModels }{\ccHeading{Has Models}} -\newcommand{\ccIsModel }{\ccHeading{Is Model for the Concepts}} -\newcommand{\ccGeneralizes }{\ccHeading{Generalizes}} -\newcommand{\ccRefines }{\ccHeading{Refines}} -\newcommand{\ccRequirements }{\ccHeading{Requirements}} -\newcommand{\ccParameters }{\ccHeading{Parameters}} -\newcommand{\ccTypes }{\ccHeading{Types}} -\newcommand{\ccConstants }{\ccHeading{Constants}} -\newcommand{\ccCreation }{\ccHeading{Creation}} -\newcommand{\ccOperations }{\ccHeading{Operations}} -\newcommand{\ccAccessFunctions}{\ccHeading{Access Functions}} -\newcommand{\ccQueryFunctions }{\ccHeading{Query Functions}} -\newcommand{\ccPredicates }{\ccHeading{Predicates}} -\newcommand{\ccModifiers }{\ccHeading{Modifiers}} -\newcommand{\ccSeeAlso }{\ccHeading{See Also}} -\newcommand{\ccImplementation }{\ccHeading{Implementation}} -\newcommand{\ccExample }{\ccHeading{Example}} - -%\newcommand{\ccPrecond }{ -% % make the precond as wide as the postcond -% \par -% {\setbox0=\hbox{\mbox{{\it Postcondition}: }}% -% \makebox[\wd0][l]{{\it Precondition}: }% -% }% -%} -\newcommand{\ccPrecond }{\ccCommentHeading{Precondition}} -\newcommand{\ccPostcond }{\ccCommentHeading{Postcondition}} -\newcommand{\ccRequire }{\ccCommentHeading{Requirement}} - -\newenvironment{ccAdvanced}{% - \setlength{\ccRefTabLift}{2\ccRefTabLift} - \par - \hspace*{-0.5cm}\rule[-5mm]{0.3mm}{5mm}\rule{1.8cm}{0.2mm}\raisebox{-.3\height}{\footnotesize\it\ advanced\ }\rule{1.8cm}{0.2mm}% - \vspace*{-\parskip}\par -}{ - \vspace*{-\parskip}\par - \hspace*{-0.5cm}\rule{0.3mm}{5mm}\rule{1.8cm}{0.2mm}\raisebox{-.3\height}{\footnotesize\it\ advanced\ }\rule{1.8cm}{0.2mm}% -} - - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o C++ Declarations -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | \ccStyle -% +-------------------------------------------------------------------------- -% Print one parameter in C++ style (including spaces). -\newcommand{\ccStyle}{% - \begingroup\ccCatcode\ccStyleX -} -\def\ccStyleX #1{% - {\ccFont \ccPrintTokens #1\ccEnd\ccEndFont}\endgroup -} - -% abbreviations -\newcommand{\ccc}{\ccStyle} - -% +-------------------------------------------------------------------------- -% | \ccDeclaration, \ccHidden, \ccUnchecked -% +-------------------------------------------------------------------------- -% A \declaration accepts one parameter. The style will ignore it, while -% the checker tests if it exists one to one in the C++ code. -% It is intended for declarations that are somehow implied by the -% surrounded text, but should not be explicitly visible. -\newcommand{\ccDeclaration}{\begingroup\ccCatcode\ccDeclarationX} -\def\ccDeclarationX #1{\endgroup} - -% A \hidden macro can be prepended to each macro with two parameters. -% It will remove the macro and its parameters from the manual. -% Again, the checker tests the macro as usual. -\newcommand{\ccHidden}[1]{\begingroup\ccCatcode\ccHiddenX} -\def\ccHiddenX #1{\endgroup\ccHiddenXX} -\long\def\ccHiddenXX #1{} - -% An \ccUnchecked macro expands to nothing. It is used by the checker tool -% where it denotes that the following declarations is not subject of any -% check. -\newcommand{\ccUnchecked}{} - -% +-------------------------------------------------------------------------- -% | \ccGlobalDecl, \ccGlobalContinuation for global declarations -% +-------------------------------------------------------------------------- -% \ccGlobalContinuation and \ccGlobalDecl is used to fiddle an empty -% comment behind the other parameters of a declaration without parsing -% these parameters as arguments (the catcodes are not set yet). -% Compare the normal and the global version of a declaration macro. -\newcommand{\ccGlobalDecl}{\ccFalse} -\newcommand{\ccGlobalContinuation}[1]{% - \ifnum\ccGlobalDecl=\ccTrue - \def\ccLocalCont{#1{}} - \let\continuation=\ccLocalCont - \else - \def\ccLocalCont{#1} - \let\continuation=\ccLocalCont - \fi - \gdef\ccGlobalDecl{\ccFalse} - \continuation - } - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Reference Page Declarations -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | \begin{ccRefDeclaration} ...ccRefConcept, ...ccRefFunctionObjectConcept -% | ...ccRefClass, ...ccRefFunctionObjectClass, ...ccRefEnum -% | ...ccRefFunction, ...ccRefConstant, ...ccRefVariable, ...ccRefMacro, -% | \ccRefName -% +-------------------------------------------------------------------------- - -% make the new manual style parameterized. -\newcommand{\ccNewRefManualStyle}{} % false -> old style, true -> new style -\gdef\ccNewRefManualStyle{\ccTrue} -\newlength{\ccRefTabLift} -\ccRefTabLift=0mm - -\newcommand{\ccRefPageBreak}{} -\gdef\ccRefPageBreak{\ccTrue} - -\newcommand{\ccRefPageBegin}{} -\newcommand{\ccRefPageEnd}{} - -% predeclare variable names -\newcommand{\ccGlobalScope}{} -\newcommand{\ccPureGlobalScope}{} -\newcommand{\ccRefScope}{} -\newcommand{\ccPureRefScope}{} -\newcommand{\ccRefCategory}{} -\newcommand{\ccRefName}{} -\newcommand{\ccPureRefName}{} -% needed for compliance with ccClass, e.g. used for removal of eigen-name. -\newcommand{\ccClassTemplateName}{} -\newcommand{\ccPureClassTemplateName}{} - -% #1 == global scope used in ref-page section title -\newcommand{\ccDefGlobalScope}[1]{% - \gdef\ccPureGlobalScope{#1}% - \gdef\ccGlobalScope{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}% -} - -% #1 == token describing the category (Concept, Class ...) -% #2 == item name (actually parsed later by ccRefDeclarationX) -\catcode`@=11 -\newenvironment{ccRefDeclaration}[1]{% - \ifnum\ccRefPageBreak=\ccTrue - \ifnum\ccNewRefManualStyle=\ccTrue - \clearpage \thispagestyle{plain} - \fi - \fi - \gdef\ccRefCategory{#1}% - \gdef\ccPureRefScope{}% - \gdef\ccRefScope{}% - \begingroup\ccCatcode - \@ifnextchar[{\ccRefDeclarationXX}{\ccRefDeclarationX}% - }{% - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexRefDeclarationEnd% - \fi% - \ccRefPageEnd - \ifnum\ccRefPageBreak=\ccTrue - \ifnum\ccNewRefManualStyle=\ccTrue \clearpage \fi - \fi - \gdef\ccRefCategory{}% - \gdef\ccPureRefName{}% - \gdef\ccPureRefScope{}% - \gdef\ccRefScope{}% - \renewcommand{\ccRefName}{}% - % needed for compliance with ccClass - \gdef\ccPureClassTemplateName{}% - \renewcommand{\ccClassTemplateName}{}% - \gdef\ccPureVar{}% - \renewcommand{\ccVar}{}% - } -\catcode`@=12 - -\gdef\ccRefDeclarationX #1{% - \endgroup - \gdef\ccPureRefName{#1}% - \ifnum\ccCurrentIndexCat=\ccIndexConceptCat% - \renewcommand{\ccRefName}{{{% - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectConceptCat% - \renewcommand{\ccRefName}{{{% - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - \else - \renewcommand{\ccRefName}{{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - \fi\fi - \ccRefPageBegin - \ccRefSection{\ccRefCategory}{#1}% - \label{ccRef_\ccRefPureGlobalScope\ccPureRefScope #1}% - % needed for compliance with ccClass - \gdef\ccPureClassTemplateName{#1}% - \renewcommand{\ccClassTemplateName}{{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexRefDeclarationBegin% - \fi% - \addcontentsline{ref}{refpage}{\protect\ccc{\ccPureRefName}} - } - -%% if there's an optional argument (used to specify the scope of a ceratin -%% item, then assume it's a class name for indexing functions (and others???) -\gdef\ccRefDeclarationXX [#1]{% - \stripTrailingScope#1::\ccEnd\ccIndexClassName - \gdef\ccPureRefScope{#1}% - \gdef\ccRefScope{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}% - \ccRefDeclarationX -} - -%% #1 == ccCategory -%% #2 == ccRefName -\newcommand{\ccRefSection}{} -\gdef\ccRefSection #1{\begingroup\ccCatcode\ccRefSectionX{#1}} -\gdef\ccRefSectionX #1#2{\endgroup\section*{% - \ifnum\ccNewRefManualStyle=\ccTrue - \ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectConceptCat - \ccDrawRefTabs{FunctionObjectConcept}{#2}\\ - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectClassCat - \ccDrawRefTabs{FunctionObjectClass}{#2}\\ - \else - \ccDrawRefTabs{#1}{#2}\\ - \fi\fi - \else #1 \fi - \expandafter\ccPrintTokens\ccRefPureGlobalScope\ccEnd% -% % for concepts, the only "special" character allowed is the underscore -% -% Removed this checking to allow for templated concepts, but these are -% definitely exceptional concepts. Most concepts should not be templated. -% -% \ifnum\ccCurrentIndexCat=\ccIndexConceptCat% -% {\expandafter\ccPrintUnderscoreSeparatedTokens\ccPureRefScope #2\ccEnd}% -% \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectConceptCat% -% {\expandafter\ccPrintUnderscoreSeparatedTokens\ccPureRefScope #2\ccEnd}% -% \else - {\expandafter\ccPrintTokens\ccPureRefScope #2\ccEnd}% -% \fi\fi - }% - \ifnum\ccNewRefManualStyle=\ccTrue - \ifnum\ccCurrentIndexCat=\ccIndexConceptCat% - \markboth{\ccRefCategory : \ \protect\ccRefScope - \protect\ccRefName}% - {\ccRefCategory : \ \protect\ccRefScope - \protect\ccRefName}% - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectConceptCat% - \markboth{\ccRefCategory : \ \protect\ccRefScope - \protect\ccRefName}% - {\ccRefCategory : \ \protect\ccRefScope - \protect\ccRefName}% - \else - \markboth{\ccRefCategory : \ \protect\ccGlobalScope\protect\ccRefScope - \protect\ccRefName}% - {\ccRefCategory : \ \protect\ccGlobalScope\protect\ccRefScope - \protect\ccRefName}% - \fi\fi - \fi -} - -%% #1 == ccCategory -%% #2 == ccRefName -\newcommand{\ccDrawRefTabs}[2]{% - \marginpar{~\\\raisebox{\ccRefTabLift}[48mm]{% - \includegraphics{eps_tabs/cc_#1}}}% -} - -\newenvironment{ccRefConcept}{% - \ccCurrentIndexCat=\ccIndexConceptCat% - \gdef\ccRefPureGlobalScope{}% - \begin{ccRefDeclaration}{Concept}}{% - \ccCurrentIndexCat=\ccIndexConceptCat% - \end{ccRefDeclaration}} - -\newenvironment{ccRefClass}{% - \ccCurrentIndexCat=\ccIndexClassCat% - \gdef\ccRefPureGlobalScope{\ccPureGlobalScope}% - \begin{ccRefDeclaration}{Class}}{% - \ccCurrentIndexCat=\ccIndexClassCat% - \end{ccRefDeclaration}} - -\newenvironment{ccRefEnum}{% - \ccCurrentIndexCat=\ccIndexEnumCat% - \gdef\ccRefPureGlobalScope{\ccPureGlobalScope}% - \begin{ccRefDeclaration}{Enum}}{% - \ccCurrentIndexCat=\ccIndexEnumCat% - \end{ccRefDeclaration}} - -\newenvironment{ccRefFunction}{% - \ccCurrentIndexCat=\ccIndexFunctionCat% - \gdef\ccRefPureGlobalScope{\ccPureGlobalScope}% - \begin{ccRefDeclaration}{Function}}{% - \ccCurrentIndexCat=\ccIndexFunctionCat% - \end{ccRefDeclaration}} - -\newenvironment{ccRefFunctionObjectConcept}{% - \ccCurrentIndexCat=\ccIndexFunctionObjectConceptCat% - \gdef\ccRefPureGlobalScope{}% - \begin{ccRefDeclaration}{Function Object Concept}}{% - \ccCurrentIndexCat=\ccIndexFunctionObjectConceptCat% - \end{ccRefDeclaration}} - -\newenvironment{ccRefFunctionObjectClass}{% - \ccCurrentIndexCat=\ccIndexFunctionObjectClassCat% - \gdef\ccRefPureGlobalScope{\ccPureGlobalScope}% - \begin{ccRefDeclaration}{Function Object Class}}{% - \ccCurrentIndexCat=\ccIndexFunctionObjectClassCat% - \end{ccRefDeclaration}} - -\newenvironment{ccRefVariable}{% - \ccCurrentIndexCat=\ccIndexVariableCat% - \gdef\ccRefPureGlobalScope{\ccPureGlobalScope}% - \begin{ccRefDeclaration}{Variable}}{% - \ccCurrentIndexCat=\ccIndexVariableCat% - \end{ccRefDeclaration}} - -\newenvironment{ccRefConstant}{% - \ccCurrentIndexCat=\ccIndexConstantCat% - \gdef\ccRefPureGlobalScope{\ccPureGlobalScope}% - \begin{ccRefDeclaration}{Constant}}{% - \ccCurrentIndexCat=\ccIndexConstantCat% - \end{ccRefDeclaration}} - -\newenvironment{ccRefMacro}{% - \ccCurrentIndexCat=\ccIndexMacroCat% - \gdef\ccRefPureGlobalScope{}% - \begin{ccRefDeclaration}{Macro}}{% - \ccCurrentIndexCat=\ccIndexMacroCat% - \end{ccRefDeclaration}} - -\newcommand{\ccRefPage}{\begingroup\ccCatcode\ccRefPageX} -\def\ccRefPageX #1{\endgroup page~\pageref{ccRef_#1}} - -\newcommand{\ccRefLabel}{\begingroup\ccCatcode\ccRefLabelX} -\def\ccRefLabelX #1{\endgroup\label{ccRef_#1}} - -\newcommand{\ccSetPageRefStyle}[1]{ - \ifnum#1=\ccAtMarginFillStyle - \ccPageRefStyle=#1 - \else\ifnum#1=\ccNotAtMarginStyle - \ccPageRefStyle=#1 - \else - \errmessage{PageRefStyle #1 not defined; page reference style unchanged} - \fi\fi\fi -} - -\newcommand{\ccRefPageNumAtMargin}{} -\gdef\ccRefPageNumAtMargin{\ccTrue} -\newcommand{\ccRefPageFill}{\dotfill} -\newcommand{\ccRefIdfierPage}{\begingroup\ccCatcode\ccRefIdfierPageX} -\def\ccRefIdfierPageX #1{\endgroup% - \ifnum\ccRefPageNumAtMargin=\ccTrue - \ccc{#1}\ccRefPageFill \ccRefPage{#1}% - \else - \ccc{#1} (pg. \pageref{ccRef_#1})% - \fi -} - -\newcommand{\ccRefConceptPage}{\begingroup\ccCatcode\ccRefConceptPageX} -\def\ccRefConceptPageX #1{\endgroup% - \ifnum\ccRefPageNumAtMargin=\ccTrue - \ccPrintTokens #1\ccEnd\ccEndFont \ccRefPageFill \ccRefPage{#1}% - \else - \ccPrintTokens #1\ccEnd\ccEndFont\ (pg. \pageref{ccRef_#1})% - \fi -} - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Class and Class Member Declarations -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | \ccClassName, \ccClassTemplateName, \ccVar, \ccPur... -% | \begin{ccClass}, \begin{ccClassTemplate}, \end... -% +-------------------------------------------------------------------------- -% predeclare variable names -\newcommand{\ccClassName}{} -\newcommand{\ccTemplateParameters}{} -\newcommand{\ccVar}{} -\newcommand{\ccPureClassName}{} -\newcommand{\ccPureTemplateParameters}{} -\newcommand{\ccPureVar}{} - - -\newenvironment{ccClass}{% - \begingroup\ccCatcode - \ccClassX% - }{ - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexMainItemEnd[C]{\ccIndexClassName}% - \def\ccIndexClassName{}% - \fi% - \def\ccPureClassName{}% - \def\ccPureClassTemplateName{}% - \def\ccPureTemplateParameters{} - \renewcommand{\ccClassName}{}% - \renewcommand{\ccClassTemplateName}{}% - \renewcommand{\ccTemplateParameters}{} - \def\ccPureVar{}% - \renewcommand{\ccVar}{}% - } - -\def\ccClassX #1{% There is no longer a check whether the class has template - % parameters or not. - \endgroup - \def\ccPureClassName{#1}% - \ifnum\ccAutoIndex=\ccTrue% - \def\ccIndexClassName{#1}% - \ccIndexMainItemBegin[C]{\ccIndexClassName}% - \fi% - \def\ccPureClassTemplateName{#1}% - \renewcommand{\ccClassName}{{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - \renewcommand{\ccClassTemplateName}{{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - } - -% #1 -- the traits class (corresponds to #1 for ccClass) -% #2 -- semicolon-separated list of classes for which this is a traits class -% #3 -- semicolon-separated list of packages for which this is a traits class -\newenvironment{ccTraitsClass}[3]{% - \begingroup\ccCatcode - \ccTraitsClassX{#1}{#2}{#3}% - }{ - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexTraitsClassEnd% - \fi% - \def\ccPureClassName{}% - \def\ccPureClassTemplateName{}% - \def\ccPureTemplateParameters{} - \renewcommand{\ccClassName}{}% - \renewcommand{\ccClassTemplateName}{}% - \renewcommand{\ccTemplateParameters}{} - \def\ccPureVar{}% - \renewcommand{\ccVar}{}% - } - -\def\ccTraitsClassX #1#2#3{% There is no check whether the class has template - % parameters or not. - \endgroup - \def\ccPureClassName{#1}% - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexTraitsClassBegin{#1}{#2}{#3}% - \fi% - \def\ccPureClassTemplateName{#1}% - \renewcommand{\ccClassName}{{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - \renewcommand{\ccClassTemplateName}{{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - } - - -\newenvironment{ccClassTemplate}{% - \begingroup\ccCatcode - \ccClassTemplateX% - }{ - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexMainItemEnd[C]{\ccIndexClassName}% - \def\ccIndexClassName{}% - \fi% - \def\ccPureClassName{}% - \def\ccPureClassTemplateName{}% - \def\ccPureTemplateParameters{}% - \renewcommand{\ccClassName}{}% - \renewcommand{\ccClassTemplateName}{}% - \renewcommand{\ccTemplateParameters}{} - \def\ccPureVar{}% - \renewcommand{\ccVar}{}% - } - - -\def\ccClassTemplateX #1{% - \endgroup - \ccClassTemplateXX {#1}#1<\ccEnd% - \ifnum\ccAutoIndex=\ccTrue% - \def\ccIndexClassName{\ccPureClassName}% - \ccIndexMainItemBegin[C]{\ccIndexClassName}% - \fi% -} - -\def\ccClassTemplateXX #1#2<#3\ccEnd{% - \def\xparams{#3}\ifx\xparams\empty - \errmessage{Template parameters missing for - class template}>% - \ccClassTemplateXXX{#1}{#2}<\ccEnd% - \else - \ccClassTemplateXXX{#1}{#2}<#3\ccEnd% - \fi} - -\def\ccClassTemplateXXX #1#2#3<\ccEnd{% - \def\ccPureClassName{#2}% - \def\ccPureClassTemplateName{#1}% - \def\ccPureTemplateParameters{#3}% - \renewcommand{\ccClassName}{{{\ccFont - \ccPrintTokens #2\ccEnd\ccEndFont}}}% - \renewcommand{\ccClassTemplateName}{{{\ccFont - \ccPrintTokens #1\ccEnd\ccEndFont}}}% - \renewcommand{\ccTemplateParameters}{{{\ccFont - \ccPrintTokens #3\ccEnd\ccEndFont}}}% - } - -% #1 -- the traits class (corresponds to #1 for ccClassTemplate) -% #2 -- semicolon-separated list of classes for which this is a traits class -% #3 -- semicolon-separated list of packages for which this is a traits class -\newenvironment{ccTraitsClassTemplate}[3]{% - \begingroup\ccCatcode - \ccTraitsClassTemplateX{#1}{#2}{#3}% - }{ - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexTraitsClassEnd% - \fi% - \def\ccPureClassName{}% - \def\ccPureClassTemplateName{}% - \def\ccPureTemplateParameters{}% - \renewcommand{\ccClassName}{}% - \renewcommand{\ccClassTemplateName}{}% - \renewcommand{\ccTemplateParameters}{}% - \def\ccPureVar{}% - \renewcommand{\ccVar}{}% - } - -\def\ccTraitsClassTemplateX #1#2#3{% - \endgroup - \ccClassTemplateXX {#1}#1<\ccEnd% - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexTraitsClassBegin{\ccPureClassName}{#2}{#3}% - \fi}% - - - -% +-------------------------------------------------------------------------- -% | \ccCreationVariable, \ccConstructor -% +-------------------------------------------------------------------------- -\newcommand{\ccCreationVariable}{% - \begingroup\ccCatcode\ccCreationVariableX} - -\def\ccCreationVariableX #1{% - \endgroup - \renewcommand{\ccVar}{{\ccFont\ccPrintTokens #1\ccEnd - \ccEndFont}}% - \def\ccPureVar{#1}} - -\newcommand{\ccConstructor}{% - \begingroup\ccCatcode\ccConstructorX} - -\def\ccConstructorX #1{% - \endgroup - \ccConstructorXX{#1}} - -\long\def\ccConstructorXX #1#2{% - \isTemplate{#1}\ifnum\ccBool=\ccTrue - \ccTemplateLineHandling #1\ccEnd - \ccConstructorXXX{#2}#1\ccEnd - \else - \ccConstructorCall{#2}#1\ccEnd - \fi} -\def\ccConstructorXXX #1template#2<#3>#4#5\ccEnd{% - \ccConstructorCall{#1}#4#5\ccEnd -} - -% +-------------------------------------------------------------------------- -% | \ccMemberFunction, \ccMethod, \ccFunction, \ccFunctionTemplate -% +-------------------------------------------------------------------------- -% Methods and functions can contain the active character or the comment -% character % of TeX's own character set. Therefore, we assign new -% \catcode values to them and parse the first argument after that, close -% the group and parse the second argument with the \ccFunctionComment macro. -\newcommand{\ccMethod}{\ccMemberFunction} -\newcommand{\ccMemberFunction}{% - \begingroup\ccCatcode - \ccFunctionX{0}} -\newcommand{\ccFunction}{% - \begingroup\ccCatcode - \ccFunctionX{1}} - -\def\ccFunctionX #1#2{% - \endgroup - \ccGlobalContinuation{\ccFunctionComment{#1}{#2}}} - -\long\def\ccFunctionComment #1#2#3{% - \isTemplate{#2}\ifnum\ccBool=\ccTrue - \ccTemplateLineHandling #2\ccEnd - \ccFunctionXX{#1}{#3}#2\ccEnd - \else - \ccFunctionCall{#1}{#3}#2;\ccEnd - \fi} -\def\ccFunctionXX #1#2template#3<#4>#5#6\ccEnd{% - \ccFunctionCall{#1}{#2}#5#6;\ccEnd -} - -% Is getting obsolete! -% A three! parameter macro to format template functions -% o The 1st parameter contains the template parameters. -% o The 2nd parameter contains the function declaration. -% o The 3rd parameter contains the comment. -\newcommand{\ccFunctionTemplate}[1]{\ccFunction} - -% +-------------------------------------------------------------------------- -% | \ccTypedef, \ccNestedType, \ccVariable, \ccEnum, \ccStruct -% +-------------------------------------------------------------------------- -% typedef's, variables, and constants are like functions without parameters. -\newcommand{\ccVariable}{% - \ccCurrentIndexCat=\ccIndexVariableCat% - \begingroup\ccCatcode - \ccVariableX -} -\def\ccVariableX #1{% - \endgroup - \ccGlobalContinuation{\ccVariableXX{#1}}% -} -\long\def\ccVariableXX #1#2{% - \ccVariableDeclaration{#2}#1;\ccEnd -} -\newcommand{\ccTypedef}{\ccCurrentIndexCat=\ccIndexTypedefCat% - \ccVariable} - -\newcommand{\ccNestedType}{% - \begingroup\ccCatcode - \ccNestedTypeX -} -\def\ccNestedTypeX #1{% - \endgroup - \ccGlobalContinuation{% - \ccNestedTypeXX{#1}}% -} -\long\def\ccNestedTypeXX #1#2{% - \ccInitConstructorWidths - \setbox\returntypebox=\hbox{}% - \setbox\callnamebox=\hbox{\ccClassTemplateName - \ccFont\ccPrintTokens ::\ccEnd}% - \setbox\functioncallbox=\hbox{\unhcopy\callnamebox - \ \ccFont\ccPrintTokens #1\ccEnd}% - \ccLayoutThreeColumns{}{#1)}{}{#2}% - } -% Enum's are formatted like constructors. There is exact one matching -% pair of braces in the declaration. -\newcommand{\ccEnum}{% - \ccCurrentIndexCat=\ccIndexEnumCat% - \begingroup\ccCatcode - \catcode`\[=1 - \catcode`\]=2 - \catcode`\{=12 - \catcode`\}=12 - \ccEnumX} - -\begingroup -\catcode`\[=1 -\catcode`\]=2 -\catcode`\{=12 -\catcode`\}=12 -\gdef\ccEnumX {#1{#2}#3}[% - \endgroup - \ccGlobalContinuation[\ccEnumXX[#1\{#2\}#3]]] -\endgroup - -\long\def\ccEnumXX #1#2{% - \isTemplate{#1}\ifnum\ccBool=\ccTrue - \ccTemplateLineHandling #1\ccEnd - \ccEnumXXX{#2}#1\ccEnd - \else - \ccEnumDeclaration{#2}#1\ccEnd - \fi} -\def\ccEnumXXX #1template#2<#3>#4#5\ccEnd{% - \ccEnumDeclaration{#1}#4#5\ccEnd -} - -% a struct is formatted like an enum (needs the parantheses parsing) -\newcommand{\ccStruct}{% - \ccCurrentIndexCat=\ccIndexStructCat% - \begingroup\ccCatcode - \catcode`\[=1 - \catcode`\]=2 - \catcode`\{=12 - \catcode`\}=12 - \ccEnumX} - -\newcommand{\ccClassDeclaration}{% - \begingroup\ccCatcode - \ccClassDeclarationX -} -\def\ccClassDeclarationX #1{% - \endgroup - \ccGlobalContinuation{\ccClassDeclarationXX{#1}}% -} -\long\def\ccClassDeclarationXX #1#2{% - \isTemplate{#1}\ifnum\ccBool=\ccTrue - \ccTemplateLineHandling #1\ccEnd - \ccClassDeclarationXXX{#2}#1\ccEnd - \else - \ccClassDeclarationFormat{#2}#1\ccEnd - \fi} -\def\ccClassDeclarationXXX #1template#2<#3>#4#5\ccEnd{% - \ccClassDeclarationFormat{#1}#4#5\ccEnd -} - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Global C++ Declarations -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | \ccGlobalFunction, \ccGlobalFunctionTemplate, \ccGlobalEnum, -% | \ccGlobalTypedef, \ccGlobalVariable -% +-------------------------------------------------------------------------- -% All simple macros work also at the global level. The following -% `global' versions are only shortcuts to omit the comment parameter, -% so that global declarations are always commented inbetween and not in -% the last column. Note that declarations always can extend in the last -% column, so the previous column has not to be reshaped. - -\newcommand{\ccGlobalFunction}{\gdef\ccGlobalDecl{\ccTrue}\ccFunction} -\newcommand{\ccGlobalFunctionTemplate}{% - \gdef\ccGlobalDecl{\ccTrue}\ccFunctionTemplate} -\newcommand{\ccGlobalEnum }{\gdef\ccGlobalDecl{\ccTrue}\ccEnum} -\newcommand{\ccGlobalStruct }{\gdef\ccGlobalDecl{\ccTrue}\ccStruct} -\newcommand{\ccGlobalVariable}{\gdef\ccGlobalDecl{\ccTrue}\ccVariable} -\newcommand{\ccGlobalTypedef }{\gdef\ccGlobalDecl{\ccTrue}\ccTypedef} - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o HTML Language Support in the Style File -% | -% ########################################################################### - -% +-------------------------------------------------------------------------- -% | Support macros for HTML manual generation: -% | -% | \begin{ccTexOnly}..., \begin{ccHtmlOnly}..., \ccTexHtml{}{}, \ccAnchor{}{} -% | -% | \ccHtmlIndex, \ccHtmlIndexC, \ccHtmlCrossLink, \ccHtmlNoClassToc, -% | \ccHtmlNoClassLinks, \ccHtmlNoClassFile, \ccHtmlNoClassIndex -% | \ccHtmlBeginClassFile, \ccHtmlEndClassFile -% +-------------------------------------------------------------------------- - -\newcommand{\ccHtmlCatcode}{% - \ccCatcode - \catcode`\{=12 - \catcode`\}=12 - \catcode`\\=12 - } -\newcommand{\ccHtmlDefCatcode}{% - \catcode`\@=11\relax - \catcode`\|=0 - \catcode`\[=1 - \catcode`\]=2 - \catcode`\{=12 - \catcode`\}=12 - \catcode`\\=12 - } - -\newcommand{\ccTexHtml}[2]{#1} -\newcommand{\ccAnchor}[2]{#2} -%\newcommand{\ccAnchor}[3][t]{#3} -\newenvironment{ccTexOnly}{}{} -\newenvironment{ccHtmlOnly}{\begingroup\ccHtmlCatcode \ccParseHtmlOnlyBody}{ - \endgroup} - -% Take care: catcodes changes a lot here!! -\begingroup -\ccHtmlDefCatcode -|long|gdef|ccParseHtmlOnlyBody #1\end{ccHtmlOnly}[% - |csname endccHtmlOnly|endcsname|@checkend[ccHtmlOnly]% - |expandafter|endgroup|if@endpe|@doendpe|fi - |if@ignore|global|@ignorefalse|ignorespaces|fi -] -|endgroup - - -% Flexibility for HTML class files. -% --------------------------------- - -\newcommand{\ccHtmlIndex}{% - \begingroup\ccCatcode - \ccHtmlIndexX -} -\newcommand{\ccHtmlIndexC}{% - \begingroup\ccCatcode - \ccHtmlIndexX -} - -\def\ccHtmlIndexX #1{% - \isOptionalArg{#1}\ifnum\ccBool=\ccTrue \let\xqqcont=\ccHtmlIndexXX - \else\let\xqqcont=\ccHtmlIndexXXX - \fi - \xqqcont -} -\def\ccHtmlIndexXX #1]#2{\endgroup} -\def\ccHtmlIndexXXX {\endgroup} - -\newcommand{\ccHtmlCrossLink}{% - \begingroup\ccCatcode - \ccHtmlCrossLinkX -} -\def\ccHtmlCrossLinkX #1{\endgroup} -\newcommand{\ccHtmlNoClassToc}{} -\newcommand{\ccHtmlNoClassFile}{} -\newcommand{\ccHtmlNoClassLinks}{} -\newcommand{\ccHtmlNoClassIndex}{} -\newcommand{\ccHtmlNoRefLinks}{} -\newcommand{\ccHtmlNoRefIndex}{} -\newcommand{\ccHtmlNoLinks}{} -\newcommand{\ccHtmlNoIndex}{} -\newcommand{\ccHtmlLinksOn}{} -\newcommand{\ccHtmlLinksOff}{} -\newcommand{\ccHtmlNoLinksFrom}[1]{#1} - -\newenvironment{ccHtmlClassFile}{% - \begingroup\ccCatcode - \ccHtmlClassFileX -}{} -\def\ccHtmlClassFileX #1{% - \endgroup\ccHtmlClassFileXX -} -\def\ccHtmlClassFileXX #1{} - - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Internal Macros, not for Usage in the Manual -% | -% ########################################################################### -% +-------------------------------------------------------------------------- -% | * Predicates: -% +-------------------------------------------------------------------------- -% | isEmpty, isLetter, isUnderscore, hasLeadingSpace, isTemplate, -% | isLastAlpha, isOperator, isParenthesisOperator, isConversionOperator -% | -% | All predicates uses pattern matching of TeX. The original predicate uses -% | a single parameter that should be in braces like in LaTeX. Internally, -% | they use a second, auxiliary macro with pattern matching where the -% | parameter has to be terminated by an \ccEnd token. -% | -% | Result is stored in the counter \ccBool. \ccFalse, \ccTrue are also -% | counters that are used in the \ifnum statement to test the result. -% +-------------------------------------------------------------------------- - - -% The counter \ccBool contains the result of a couple of predicates -\newcount\ccBool % either 0 for false or 1 for true. -\newcount\ccFalse \ccFalse=0 % This must be constant 0 !!! -\newcount\ccTrue \ccTrue=1 % This must be constant 1 !!! -\newcount\ccAuto \ccAuto=2 % This must be constant 2 !!! Used for Tags. - -% A small macro to invert \ccBool -\def\ccInvert {% - \ifnum\ccBool=\ccFalse \ccBool=\ccTrue \else\ccBool=\ccFalse \fi} - -% This macro test wheather its argument is empty or contains only spaces. -\def\isEmpty #1{% - \isEmptyX #1;\ccEnd} -\def\isEmptyX #1#2\ccEnd{% - \def\xparams{#2}\ifx\xparams\empty \ccBool=\ccTrue - \else \ccBool=\ccFalse \fi} - -% This macro test wheather its argument starts (after leading spaces) -% with a valid C++ letter (incl. digits and '_'). -\def\isLetter #1{% - \def\qparams{#1}\ifx\qparams\empty\ccBool=\ccFalse - \else\isLetterX #1\ccEnd\fi} -\def\isLetterX #1#2\ccEnd{% - \ccBool=\ccFalse - \ifx#1\_\ccBool=\ccTrue\else - \ifcat#1A\ccBool=\ccTrue - \else\ifnum`#1>`/\ifnum`#1<`:\ccBool=\ccTrue \fi\fi - \if#1_\ccBool=\ccTrue \fi - \fi\fi} - -% Test for a leading underscore, either _ with changed catcode, or \_ -% (after leading spaces) -\def\isUnderscore #1{% - \def\qparams{#1}\ifx\qparams\empty\ccBool=\ccFalse - \else\isUnderscoreX #1\ccEnd\fi} -\def\isUnderscoreX #1#2\ccEnd{% - \ccBool=\ccFalse - \ifx#1\_\ccBool=\ccTrue\else - \if#1_\ccBool=\ccTrue \fi - \fi} - -% Test for a '[' which indicates an optional argument in LaTeX. -% (after leading spaces) -\def\isOptionalArg #1{% - \def\qparams{#1}\ifx\qparams\empty\ccBool=\ccFalse - \else\isOptionalArgX #1\ccEnd\fi} -\def\isOptionalArgX #1#2\ccEnd{% - \ccBool=\ccFalse - \if#1[\ccBool=\ccTrue\fi -} - -% Test for a leading underscore, either _ with changed catcode, or \_, -% or the / character. Used to validate the character after a prefix. -\def\isPrefixFollowChar #1{% - \def\qparams{#1}\ifx\qparams\empty\ccBool=\ccFalse - \else\isPrefixFollowCharX #1\ccEnd\fi} -\def\isPrefixFollowCharX #1#2\ccEnd{% - \ccBool=\ccFalse - \ifx#1\_\ccBool=\ccTrue\else - \if#1_\ccBool=\ccTrue \else - \if#1/\ccBool=\ccTrue\fi - \fi - \fi} - -% These macros allow the characterwise parsing of an argument, where normally -% the spaces are ignored. -% Here, the first macro can be applied to the rest of the argument and -% will return \ccTrue in the \ccBool iff the rest starts with a space. -% The second macro will produce a space "\ " iff the rest starts with a space. -% The space of the rest will be skipped automatically in the next round. -\def\hasLeadingSpace #1{% - \def\qparams{#1}\ifx\qparams\empty\ccBool=\ccFalse - \else\compareSpace{#1}#1\ccEnd\fi} -\def\compareSpace #1#2#3\ccEnd{% - \def\xxparams{#1}\def\xxxparams{#2#3}\ifx\xxparams\xxxparams\ccBool=\ccFalse - \else\ccBool=\ccTrue \fi} -\def\testAndCopySpace #1{% - \def\qparams{#1}\ifx\qparams\empty\else\compareAndCopySpace{#1}#1\ccEnd\fi} -\def\compareAndCopySpace #1#2#3\ccEnd{% - \def\xxparams{#1}\def\xxxparams{#2#3}\ifx\xxparams\xxxparams\else\ \fi} - -% This macro gets a complete C++ declaration and decides weather -% it starts with a template declaration or not. -\def\isTemplate #1{% - \isTemplateX #1template\ccEnd} - % Note: these macros has to test for characters directly following - % the template keyword, because it is allowed as an identifier substring. -\def\isTemplateX #1template#2\ccEnd{% - \isEmpty{#2}\ifnum\ccBool=\ccTrue \ccBool=\ccFalse - \else\hasLeadingSpace{#2}\ifnum\ccBool=\ccFalse - \isLetter{#2}\ccInvert - \fi - \fi - \ifnum\ccBool=\ccTrue - \isEmpty{#1}% - \fi} - -% This macro gets a complete C++ declaration and decides weather -% it is an operator declaration or not. -\def\isOperator #1{% - \isOperatorX #1operator\ccEnd} - % Note: these macros has to test for characters directly surrounding - % the operator keyword, because it is allowed as an identifier substring. -\def\isOperatorX #1operator#2\ccEnd{% - \isEmpty{#2}\ifnum\ccBool=\ccTrue \ccBool=\ccFalse - \else\hasLeadingSpace{#2}\ifnum\ccBool=\ccFalse - \isLetter{#2}\ccInvert - \fi - \fi - \ifnum\ccBool=\ccTrue - \isEmpty{#1}\ifnum\ccBool=\ccFalse - \isLastAlphaX #1\ccEnd \ccInvert - \fi - \fi} - -% Check the first character in the parameter. If it is a character (or _) -% return \ccTrue, else return \ccFalse. (It takes spaces into account -% and returns \ccFalse if the parameter starts with a space.) -\def\isFirstAlpha #1{% - \isEmpty{#1}\ifnum\ccBool=\ccTrue - \ccInvert - \else - \hasLeadingSpace{#1}\ifnum\ccBool=\ccTrue - \ccInvert - \else - \isLetter{#1}% - \fi - \fi -} - -% Check the last character in the parameter. If it is a character (or _) -% return \ccTrue, else return \ccFalse. -\def\isLastAlpha #1{% - \isEmpty{#1}\ifnum\ccBool=\ccTrue\ccInvert - \else\isLastAlphaX #1\ccEnd - \fi} -\def\isLastAlphaX #1#2\ccEnd{% - \def\xqqbody{\isLastAlphaX #2\ccEnd}% - \isLetterX #1\ccEnd - \def\qqparams{#2}\ifx\qqparams\empty\let\xqqnext=\relax - \else\isEmpty{#2}\ifnum\ccBool=\ccTrue \ccInvert - \let\xqqnext=\relax - \else - \let\xqqnext=\xqqbody - \fi - \fi - \xqqnext} - -% This macro gets a complete C++ declaration for an operator and has to -% decide weather it is the parenthesis () operator declaration or not. -\def\isParenthesisOperator #1{% - \isParenthesisOperatorX #1\ccEnd} -\def\isParenthesisOperatorX #1operator#2(#3)#4\ccEnd{% - % if and only if #2 is empty, we have the () operator. - \isEmpty{#2}} - -% This macro gets a complete C++ declaration for an operator and has to -% decide weather it is the conversion operator declaration or not. -\def\isConversionOperator #1{% - \isConversionOperatorX #1\ccEnd} -\def\isConversionOperatorX #1operator#2\ccEnd{% - % if and only if #1 is empty, we have the conversion operator. - \isEmpty{#1}} - - -% +-------------------------------------------------------------------------- -% | * Toplevel declaration formatting: -% +-------------------------------------------------------------------------- -% | Here, constructors, methods, and functions are separated in there -% | building blocks: the return type, their name, and the parameter -% | list. An operator declaration will be detected. -% +-------------------------------------------------------------------------- -% This box contains the formatting result. Its width influences the -% column layout for longish declarations. -\newbox\functioncallbox - -\newbox\returntypebox % contains the return type -\newbox\functionnamebox % contains the function name -\newbox\callnamebox % contains the fct. name incl. variable for methods -\newbox\trailingconstbox % contains the trailing const after member functions - % or is empty according to \ccTagRmTrailingConst - - -% Formats a constructor call. -% o The 1st parameter contains the comment text (maybe empty). -% o The 2st parameter contains the name of the constructor -% o The 3rd parameter contains the parameter list (maybe empty). -% o The 4th parameter contains the optional const specifier for methods. -% The declaration has to be terminated with "\ccEnd". -\def\ccConstructorCall #1#2(#3)#4\ccEnd {% - % check for template function - \ccInitConstructorWidths - \setbox\callnamebox=\hbox{% - \ccFont\unhbox\templatedeclbox - \ccClassTemplateName\ \ \ccFont\ccVar}% - \setbox\functioncallbox=\hbox{\unhcopy\callnamebox - \isEmpty{#3}\ifnum\ccBool=\ccFalse - \ccFont( \ccPrintParamList{#3)#4}% - \ccEndFont)% - \fi - ;}% - \setbox\returntypebox=\hbox{}% - \ccLayoutThreeColumns{(}{#3)#4}{)}{#1}% - } - -% Formats a method or a function call. -% o The 1st parameter contains a 0 for a method call, a 1 for a function. -% o The 2nd parameter contains the comment text (maybe empty). -% o The 3rd parameter contains the beginning of the type declaration. -% o The 4th parameter contains the rest of the type and the function name. -% o The 5th parameter contains the parameter list (maybe empty). -% o The 6th parameter contains the optional const specifier for methods. -% The declaration has to be terminated with ";;\ccEnd" where the first ";" -% has to be from the original call notation. The 7th parameter is there -% to check for this ";". -\def\ccFunctionCall #1#2#3 #4(#5)#6;#7\ccEnd{% - \ccInitFunctionWidths - \def\xparam{#7}\ifx\xparam\empty - \errmessage{Missing ";" at the end of the - declaration. A method or function - declaration has to end with a ";". - Go ahead, I've inserted one}% - \fi - \def\ccExtendedFormat{\ }% Switches ext. format OFF. - \ccSeparateTrailingConst #6)\ccEnd - \let\ccTagOperatorLayoutX=\ccTagOperatorLayout - \ccBool=\ccTagOperatorLayout\ifnum\ccBool=\ccTrue - \isOperator{#3 #4(#5)#6}\ifnum\ccBool=\ccTrue - \isConversionOperator{#3 #4(#5)#6} - \ifnum\ccBool=\ccTrue - \ccPrintConversionOperator #3 #4(#5)#6\ccEnd - \else - \ccSeparateOperator #3 #4\ccEnd% - \isParenthesisOperator{#3 #4(#5)#6}% - \ifnum\ccBool=\ccTrue - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexOperator#1#3 operator(),#6,\ccEnd% - \fi - \setbox\functioncallbox=\hbox{{\ccFont - \ccPrintParOperator #1#3 #4(#5)#6\ccEnd}} - \else - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexOperator#1#3 #4,#5,\ccEnd% - \fi% - \setbox\functioncallbox=\hbox{{\ccFont - \ccPrintOperator #1#3 #4(#5)#6\ccEnd}} - \fi - - \fi - \ccBool=\ccTrue - \ifdim\wd\functioncallbox>\ccwSecondLong - \ccBool=\ccFalse - \let\ccTagOperatorLayoutX=\ccFalse - \fi - \fi - \fi - \ifnum\ccBool=\ccFalse - \ccBool=\ccTagOperatorLayoutX\ccInvert - \ifnum\ccBool=\ccTrue - \isOperator{#3 #4(#5)#6}\ifnum\ccBool=\ccTrue - \isConversionOperator{#3 #4(#5)#6} - \ifnum\ccBool=\ccTrue - \ccConversionFunctionCall - {#1}{#2}#3 #4(#5)#6;#7\ccEnd - \ccBool=\ccTrue - \else - \isParenthesisOperator{#3 #4(#5)#6}% - \ifnum\ccBool=\ccTrue - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexOperator#1#3 operator(),#5,\ccEnd - \fi - \ccOperatorFunctionCall - {#1}{#2}#3 #4(#5)#6;#7\ccEnd - \ccBool=\ccTrue - \else - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexOperator#1#3 #4,#5,\ccEnd% - \fi% - \ccOperatorNonFunctionCall - {#1}{#2}#3 #4(#5)#6;#7\ccEnd - \ccBool=\ccTrue - \fi - \fi - \fi - \fi - \ifnum\ccBool=\ccFalse - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexFunction{#1}{#4}% - \fi% - \ccSeparateFunction{}#3 #4::\ccEnd% - \setbox\returntypebox=\hbox{{\ccFont - \unhcopy\templatedeclbox - \unhbox\returntypebox - }} - \setbox\functioncallbox=\hbox{{\ccFont - \ifnum#1=0 \ccVar.\fi - \unhcopy\functionnamebox(% - \isEmpty{#5}\ifnum\ccBool=\ccFalse - \ \ccPrintParamList{#5)#6}% - \fi)\unhcopy\trailingconstbox}} - \ccBool=\ccTrue - \else - \ccBool=\ccFalse - \fi - \fi - \ifnum\ccBool=\ccTrue - \setbox\callnamebox=\hbox{{\ccFont - \ifnum#1=0 \ccVar.\fi - \unhbox\functionnamebox}}% - \ccLayoutThreeColumns{(}{#5)#6}{)\unhbox - \trailingconstbox}{#2}% - \fi - } - - -% This macro is used to format function operators such as "operator*(....)", -% if they are not formatted in operator notation. -\def\ccOperatorNonFunctionCall #1#2#3 #4(#5)#6;#7\ccEnd{% -% \def\ccExtendedFormat{\ }% Switches ext. format OFF. - \ccSeparateFunction{}#3 #4::\ccEnd% - \setbox\returntypebox=\hbox{{\ccFont - \unhcopy\templatedeclbox - \unhbox\returntypebox - }} - \setbox\functioncallbox=\hbox{{\ccFont - \ifnum#1=0 \ccVar.\fi - \unhcopy\functionnamebox(% - \isEmpty{#5}\ifnum\ccBool=\ccFalse - \ \ccPrintParamList{#5)#6}% - \fi)\unhcopy\trailingconstbox}} - \setbox\callnamebox=\hbox{{\ccFont - \ifnum#1=0 \ccVar.\fi - \unhbox\functionnamebox}}% - \ccLayoutThreeColumns{(}{#5)#6}{)\unhbox - \trailingconstbox}{#2}% - } - -% This macro is used to format function operators "operator()(....)", -% if they are not formatted in operator notation. -\def\ccOperatorFunctionCall #1#2#3 #4(#5(#6)#7;#8\ccEnd{% - \def\ccExtendedFormat{\ }% Switches ext. format OFF. - \ccSeparateFunction{}#3 #4(#5::\ccEnd% - \setbox\returntypebox=\hbox{{\ccFont - \unhcopy\templatedeclbox - \unhbox\returntypebox - }} - \setbox\functioncallbox=\hbox{{\ccFont - \ifnum#1=0 \ccVar.\fi - \unhcopy\functionnamebox(% - \isEmpty{#6}\ifnum\ccBool=\ccFalse - \ \ccPrintParamList{#6)#7}% - \fi)\unhcopy\trailingconstbox}} - \setbox\callnamebox=\hbox{{\ccFont - \ifnum#1=0 \ccVar.\fi - \unhbox\functionnamebox}}% - \ccLayoutThreeColumns{(}{#6)#7}{)\unhbox - \trailingconstbox}{#2}% - } - -% This macro is used to format conversion operators "operator type(....)", -% if they are not formatted in operator notation. -\def\ccConversionFunctionCall #1#2#3operator #4(#5)#6;#7\ccEnd{% - \def\ccExtendedFormat{\ }% Switches ext. format OFF. - \setbox\functionnamebox=\hbox{{\ccFont - \ccPrintTokens operator #4\ccEnd}}% - \setbox\returntypebox=\hbox{{\ccFont - \unhcopy\templatedeclbox - \ccPrintTokens #4\ccEnd - }} - \setbox\functioncallbox=\hbox{{\ccFont - \ifnum#1=0 \ccVar.\fi - \unhcopy\functionnamebox(% - \isEmpty{#5}\ifnum\ccBool=\ccFalse - \ \ccPrintParamList{#5)#6}% - \fi)\unhcopy\trailingconstbox}} - \setbox\callnamebox=\hbox{{\ccFont - \ifnum#1=0 \ccVar.\fi - \unhbox\functionnamebox}}% - \ccLayoutThreeColumns{(}{#5)#6}{)\unhbox - \trailingconstbox}{#2}% - } - -\def\ccExtendedFormat{\ }% Default: Extended Format switched OFF. - -% Formats a variable, typedef or constant. -% o The 1st parameter contains the comment text (maybe empty). -% o The 2nd parameter contains the beginning of the type declaration. -% o The 3rd parameter contains the rest of the type and the function name. -% The declaration has to be terminated with ";;\ccEnd" where the first ";" -% has to be from the original call notation. The 4th parameter is there -% to check for this ";". -\def\ccVariableDeclaration #1#2 #3;#4\ccEnd{% - \ccInitFunctionWidths - \def\xparam{#4}\ifx\xparam\empty - \errmessage{Missing ";" at the end of the - declaration. A variable, typedef, or constant - declaration has to end with a ";". - Go ahead, I've inserted one}% - \fi - \ccSeparateVariable #2 #3=\ccEnd% - \setbox\functioncallbox=\hbox{{\ccFont - \unhcopy\functionnamebox;}} - \setbox\callnamebox=\hbox{{\ccFont - \unhbox\functionnamebox}}% - \ccLayoutThreeColumns{}{}{}{#1}% - } - -\def\ccSeparateVariable #1 #2=#3\ccEnd{% - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexTypedefOrVariable{#2}% - \fi% - \ccSeparateFunction{}#1 #2::\ccEnd% - \def\xparam{#3}\ifx\xparam\empty - \else - \ccSeparateVariableX #3\ccEnd - \fi - } -\def\ccSeparateVariableX #1=\ccEnd{% - {\setbox0=\hbox{\unhbox\functionnamebox\ \ccFont - \ccPrintTokens =#1\ccEnd\ccEndFont}% - \global\setbox\functionnamebox=\hbox{\unhbox0}}% - } - -% Formats a enum (or struct) declaration. -% o The 1st parameter contains the comment text (maybe empty). -% o The 2st parameter contains the `enum' or `struct' keyword name. -% o The 3rd parameter contains the parameter list (maybe empty). -% o The 4th parameter contains an optional variable name. -% The declaration has to be terminated with "\ccEnd". -\def\ccEnumDeclaration #1#2\{#3\}#4\ccEnd {% - \ifnum\ccAutoIndex=\ccTrue% - \ccIndexEnumOrStruct#2\{#3\}\ccEnd% - \fi% - \ccInitConstructorWidths - \setbox\returntypebox=\hbox{}% - \setbox\callnamebox=\hbox{\ccFont - \unhcopy\templatedeclbox - \ccPrintTokens #2\ccEnd}% - \setbox\functioncallbox=\hbox{\ccFont - \unhbox\templatedeclbox - \ccPrintTokens #2\ccEnd\ \{% - \isEmpty{#3}\ifnum\ccBool=\ccFalse - \ \ccPrintParamList{#3)}% - \fi - \ccEndFont\};}% - \ccLayoutThreeColumns{\ \{}{#3)}{% - \ccEndFont\}}{#1}% - } - -% Formats a class declaration. -% o The 1st parameter contains the comment text (maybe empty). -% o The 2st parameter contains the `class' or `struct' keyword + idfier. -% The declaration has to be terminated with "\ccEnd". -\def\ccClassDeclarationFormat #1#2\ccEnd {% - \ccInitConstructorWidths - \setbox\returntypebox=\hbox{}% - \setbox\callnamebox=\hbox{\ccFont - \unhcopy\templatedeclbox - \ccPrintTokens #2\ccEnd}% - \setbox\functioncallbox=\hbox{\ccFont - \unhbox\templatedeclbox - \ccPrintTokens #2\ccEnd}% - \ccLayoutThreeColumns{}{}{}{#1}% - } - -% Manual layout: generalized three column format -% o The 1st parameter contains the opening brace. -% o The 2nd parameter contains the parameter list, comma separated, -% including the closing parantheses which will not be printed. -% o The 3rd parameter contains the closing brace. -% o The 4th parameter contains the comment. -% All paramters might be empty. -% Global variables: -% o \returntypebox contains the formatted returntype (maybe empty) -% o \callnamebox contains the function/method/constructorname. -% For methods, the variable is just prepended. -% o \functioncallbox contains the complete functioncall incl. parameters -% as a oneliner. -\newbox\ccInternalCommentBox - -\def\ccLayoutThreeColumns #1#2#3#4{% - \ccTopSkip - \hspace*{\ccwIndent}% - \ifdim\ccwFirst>0pt % check for constructors - \ifdim\wd\returntypebox>\ccwFirst - \unhbox\returntypebox\nopagebreak\ccReturnSkip - \else - \parbox[t]{\ccwFirst}{\sloppy - \unhbox\returntypebox}% - \hspace*{\ccwBetween}% - \fi - \fi - \def\ccTagMultipleLineComment{\ccFalse}% - \ifdim\wd\functioncallbox>\ccwSecondLong - % Operators are assumed to fit in \ccwSecondLong. - % Otherwise, they are formatted as functions. - \ccBool=\ccLongParamLayout - \ifnum\ccBool=\ccFalse - \ccBool=\ccAlternateThreeColumn \ccInvert - \fi - \ifnum\ccBool=\ccFalse - \ccBool=\CCalternateThreeColumn \ccInvert - \fi - \ifnum\ccBool=\ccFalse - % Switches ext. format ON. - {\setbox0=\hbox{\ccFont\unhcopy\callnamebox - #1 }% - \global\ccwParam=\wd0}% - \ifdim\ccwFirst>0pt % check for constructors - \global\advance\ccwParam \ccwIndent - \global\advance\ccwParam \ccwFirst - \global\advance\ccwParam \ccwBetween - \fi - \def\ccExtendedFormat{\nopagebreak\\ - \hspace*{\ccwParam}}% - {\ccFont\unhbox\callnamebox #1 }% - \else - % Switches ext. format ON. - \def\ccExtendedFormat{\nopagebreak\\ - \hspace*{\ccwParam}}% - {\ccFont \unhbox\callnamebox #1}% - \ccExtendedFormat - \fi - {\ccFont - \isEmpty{#2}\ifnum\ccBool=\ccFalse - \ccPrintParamList{#2}% - \fi - #3}\hfill - \isEmpty{#4}\ifnum\ccBool=\ccFalse - \nopagebreak\ccMiddleSkip - \parbox[t]{\ccwComment}{\sloppy #4}% - \hspace*{\ccwRightMargin}\hfill - \fi - \def\ccExtendedFormat{\ }% Switches ext. format OFF. - \ccBottomBigSkip - \else\ifdim\wd\functioncallbox>\ccwSecond - \parbox[t]{\ccwSecondLong}{\unhbox\functioncallbox}% - \hfill - \isEmpty{#4}\ifnum\ccBool=\ccFalse - \nopagebreak\ccMiddleSkip - \parbox[t]{\ccwComment}{\sloppy #4}% - \hspace*{\ccwRightMargin}\ccBottomBigSkip - \else - \ccBottomSkip - \fi - \else - \parbox[t]{\ccwSecond}{\unhbox\functioncallbox}% - \hspace*{\ccwBetween}% - % test for multiple line comment: - \setbox\ccInternalCommentBox=\hbox{\sloppy #4}% - \ifdim\wd\ccInternalCommentBox>\ccwComment - \def\ccTagMultipleLineComment{\ccTrue}% - \fi - % format comment - \parbox[t]{\ccwComment}{\sloppy #4}% - %\hspace*{\ccwRightMargin}\hfill - \ccBottomSkip - \fi\fi - \setbox\templatedeclbox=\hbox{}% - } - - -% \ccTemplateLineHandling: extends the \ccLayoutThreeColumns with an additional -% line above the three columns that contains the template declaration -% for functions or methods (if any) -% -% Param the template declaration, delimited with \ccEnd -% #1 should be empty or whitespace - -\newbox\templatedeclbox - -\def\ccTemplateLineHandling #1template#2<#3>#4\ccEnd{% - % Note: The \templatedeclbox must also be deleted after each use - % which is done in \ccLayoutThreeColumns. - \ifnum\ccTagRmTemplate=\ccTrue - \setbox\templatedeclbox=\hbox{}% - \else - \ifnum\ccTagTemplateInline=\ccTrue - \setbox\templatedeclbox=\hbox{\ccFont\ccPrintTokens - template#2<#3>\ccEnd\ }% - \else - \setbox\templatedeclbox=\hbox{}% - \ccTopSkip - \hspace*{\ccwIndent}% - {\ccFont\ccPrintTokens template#2<#3>\ccEnd \ccEndFont}% - \nopagebreak[4]\par - \ccReverseTopSkip\vspace{-\parskip}% - \fi - \fi -} - -% Set the two boxes, returntype and functionname, for an operator declaration. -\def\ccSeparateOperator #1operator#2\ccEnd{% - \setbox\returntypebox=\hbox{{\ccFont - \ccPrintReturnType #1const.&.\ccEnd}}% - \setbox\functionnamebox=\hbox{{\ccFont - \ccPrintTokens operator#2\ccEnd}}% - } - -% Set the two boxes, returntype and functionname, for a function declaration. -% The part of the declaration has to be terminated with "::\ccEnd". -% It looks like this macro is completely superfluous. I'll wait until -% the new situation with scope for functions etc. stabilizes. -\def\ccSeparateFunction #1#2::#3\ccEnd{% - \isEmpty{#3}\ifnum\ccBool=\ccTrue - %\ccSeparateFunctionXX{#1}#2 .\ccEnd% old - \ccSeparateFunctionXX{}#1#2 .\ccEnd% new - \else - \hasLeadingSpace{#3}\ifnum\ccBool=\ccTrue - \ccSeparateFunction{#1#2:: }#3\ccEnd% - \else - \ccSeparateFunction{#1#2::}#3\ccEnd% - \fi - \fi} - - -% Set the two boxes, returntype and functionname, for a function declaration. -% This macro scans through the token list space by space. If the operators -% & or * occurs on the right side, they are shifted to the left. -% o The 1st parameter is the first part of the type. -% o The 2nd parameter is the next part of the type name. -% o The 3rd and 4th parameter are the next part of the return type or -% the name, if #4 is empty. Then, the 3rd parameter is the first -% character of it. -% The part of the declaration has to be terminated with " .\ccEnd". -\def\ccSeparateFunctionXX #1#2 #3#4\ccEnd{% - \isEmpty{#4}\ifnum\ccBool=\ccTrue - \setbox\returntypebox=\hbox{{\ccFont - \ccPrintReturnType #1const.&.\ccEnd}}% - \setbox\functionnamebox=\hbox{{\ccFont - \ccPrintTokens #2\ccEnd}}% - \else - \def\xparams{#1}\ifx\xparams\empty - \ifx#3&% - \ccSeparateFunctionXX{#2#3}#4\ccEnd% - \else\ifx#3*% - \ccSeparateFunctionXX{#2#3}#4\ccEnd% - \else - \ccSeparateFunctionXX{#2 }#3#4\ccEnd% - \fi\fi - \else - \ifx#3&% - \ccSeparateFunctionXX{#1#2#3}#4\ccEnd% - \else\ifx#3*% - \ccSeparateFunctionXX{#1#2#3}#4\ccEnd% - \else - \ccSeparateFunctionXX{#1#2 }#3#4\ccEnd% - \fi\fi - \fi - \fi} - - -% Set the \trailingconstbox appropriately to \ccTagRmTrailingConst. -% If #2 is empty we have found the trailing part in #1, -% else apply this recursivly. -\def\ccSeparateTrailingConst #1)#2\ccEnd{% - \ifnum\ccTagRmTrailingConst=\ccTrue - \setbox\trailingconstbox=\hbox{}% - \else - \isEmpty{#1}\ifnum\ccBool=\ccTrue - \setbox\trailingconstbox=\hbox{}% - \else - \def\xparams{#2}\ifx\xparams\empty - \setbox\trailingconstbox=\hbox{{ % here is one space ! - \ccFont\ccPrintTokens #1\ccEnd}}% - \else - \ccSeparateTrailingConst #2\ccEnd - \fi - \fi - \fi -} - - -% +-------------------------------------------------------------------------- -% | * Formatting of simple C++ code: -% +-------------------------------------------------------------------------- -% | \ccPrintChar, \ccPrintSingleToken, \ccPrintTokens -% +-------------------------------------------------------------------------- -% Print a character of a C++ declaration. Special handling of _<>&. -\def\ccPrintChar #1{% - \if_#1\ccUnderscore - \else\ifx\_#1\ccUnderscore - \else\if<#1\ccOpenAngle - \else\if>#1\ccCloseAngle - \else\if\ccAmpersand - \else\ifx\\ccAmpersand - \else\if^#1\ccHat - \else\ifx\^#1\ccHat - \else\if$#1\ccDollar - \else\ifx\$#1\ccDollar - \else\if###1\ccHash - \else\ifx\##1\ccHash - \else #1% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} - -% Print a single C++ token (without spaces inbetween). Skip leading spaces. -% The token has to be delimited by ";". -\def\ccPrintSingleTokenSemi #1;{% - \ccPrintSingleToken #1\ccEnd -} -% Print a single C++ token (without spaces inbetween). Skip leading spaces. -% The token has to be delimited by "\ccEnd". -\def\ccPrintSingleToken #1\ccEnd{% - \ifnum\ccTagReplacePrefix=\ccTrue - \ccReplacePrefix{#1}{\ccPrintSingleTokenX}% - \else\ccPrintSingleTokenX #1\ccEnd - \fi -} - -\def\ccPrintSingleTokenX #1#2\ccEnd{%CCtrue - \ccPrintChar #1% - \def\xqabody{\ccPrintSingleTokenX #2\ccEnd}% - \isEmpty{#2}\ifnum\ccBool=\ccTrue \let\xqanext=\relax - \else\let\xqanext=\xqabody\fi - \xqanext} - -% Print C++ tokens (separated with spaces). Skip leading spaces. -% The tokens have to be delimited by "\ccEnd". -\def\ccPrintTokens #1\ccEnd{% - \isEmpty{#1}\ifnum\ccBool=\ccFalse - \ifnum\ccTagReplacePrefix=\ccTrue - \ccReplacePrefix{#1}{\ccPrintTokensX}% - \else\ccPrintTokensX #1\ccEnd - \fi - \fi -} -\def\ccPrintTokensX #1#2\ccEnd{% - \ccPrintChar #1% - \def\xqbody{\ccPrintTokensX #2\ccEnd}% - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \let\xqnext=\relax - \else - \compareAndCopySpace{#2}#2\ccEnd - \let\xqnext=\xqbody - \fi - \xqnext} - -\newcommand{\ccConceptStyle}{% - \begingroup\ccCatcode\ccConceptStyleX -} -\def\ccConceptStyleX #1{% - {\ccPrintTokens #1\ccEnd\ccEndFont}\endgroup -} - -% -% The following commands can be used to print tokens that can include -% underscores and no other special characters. This is normally the way -% concepts appear, but since there are (apparently) exceptional concepts -% that are templated, these commands are no longer used -% -%\gdef\ccUnderscoreCatcode {% -% \catcode`\_=12 -%} -% -%\newcommand{\ccOnlyUnderscores}{% -% \begingroup\ccUnderscoreCatcode\ccOnlyUnderscoresX -%} -%\def\ccOnlyUnderscoresX #1{% -% {\ccPrintUnderscoreSeparatedTokens #1\ccEnd\ccEndFont}\endgroup -%} -% -%\def\ccPrintUnderscoreSeparatedTokens #1\ccEnd{% -% \isEmpty{#1}\ifnum\ccBool=\ccFalse -% \ccPrintUnderscoreSeparatedTokensX #1\ccEnd -% \fi -%} -%\def\ccPrintUnderscoreSeparatedTokensX #1#2\ccEnd{% -% \ccPrintCharOrUnderscore #1% -% \def\xqbody{\ccPrintUnderscoreSeparatedTokensX #2\ccEnd}% -% \isEmpty{#2}\ifnum\ccBool=\ccTrue -% \let\xqnext=\relax -% \else -% \let\xqnext=\xqbody -% \fi -% \xqnext} -%% Print a character of a C++ declaration. Special handling of _<>&. -%\def\ccPrintCharOrUnderscore #1{% -% \if_#1\ccUnderscore -% \else\ifx\_#1\ccUnderscore -% \else #1% -% \fi\fi} - - -% +-------------------------------------------------------------------------- -% | * Formatting of operator declarations: -% +-------------------------------------------------------------------------- -% | To distinguish all operators, the number of given parameters is -% | counted and two of the three possible operator characters are used. -% +-------------------------------------------------------------------------- -% Formats an operator declaration: -% o The first parameter contains a 0 for a method call, a 1 for a function. -% o The second parameter contains the return type. -% o The third parameter contains the operator name. -% o The fourth parameter contains the parameter list (maybe empty). -% o The fifth parameter contains the optional const specifier for methods -% and the remaining part of the parameter list if the parameter list -% contains parantheses (e.g. for function pointer arguments). -% The declaration has to be terminated with "\ccEnd". -\def\ccPrintOperator #1#2operator#3(#4)#5\ccEnd{% - \ifnum#1=0 - \isEmpty{#4}\ifnum\ccBool=\ccTrue - \ccPrintOperatorOne{#1}{\ccVar}{#4}{)#5}#3\ccEnd - \else - \ccPrintOperatorOne{#1}{\ccVar,}{#4}{)#5}#3\ccEnd - \fi - \else - \ccPrintOperatorOne{#1}{}{#4}{)#5}#3\ccEnd - \fi} - -% Formats a parenthesis () operator declaration: -% o The #1 parameter contains a 0 for a method call, a 1 for a function. -% o The #2 parameter contains the return type. -% o The #3, #4, #5 parameters have to be empty. -% o The #6 parameter contains the parameter list (maybe empty). -% o The #7 parameter contains the optional const specifier for methods. -% The declaration has to be terminated with "\ccEnd". -\def\ccPrintParOperator #1#2operator#3(#4)#5(#6)#7\ccEnd{% - \isEmpty{#3}\ifnum\ccBool=\ccFalse\errmessage{Malformed - parenthesis operator}\fi - \isEmpty{#4}\ifnum\ccBool=\ccFalse\errmessage{Malformed - parenthesis operator}\fi - \isEmpty{#5}\ifnum\ccBool=\ccFalse\errmessage{Malformed - parenthesis operator}\fi - \ifnum#1=0 - \isEmpty{#6}\ifnum\ccBool=\ccTrue - \ccPrintOperatorOne{#1}{\ccVar}{#6}{)#7}()\ccEnd - \else - \ccPrintOperatorOne{#1}{\ccVar,}{#6}{)#7}()\ccEnd - \fi - \else - \ccPrintOperatorOne{#1}{}{#6}{)#7}()\ccEnd - \fi} - - -% Formats a conversion operator. -% Uses the returntypebox and the functioncallbox. -% The declaration ends with "\ccEnd". -\def\ccPrintConversionOperator #1operator #2(#3)#4\ccEnd{% - \setbox\returntypebox=\hbox{{\ccFont - \ccPrintTokens #2\ccEnd}} - \setbox\functioncallbox=\hbox{{\ccFont - \ccPrintTokens #2(\ccVar)\ccEnd}} - } - -% An operator is detected and can be printed. -% #1 contains a 0 for a method call, a 1 for a function. -% #2 contains the \ccVar if it is a method. -% #3 contains the parameter list up to the first closing parenthesis. -% It might be empty . -% #4 contains the remaining part of the parameter list including -% the closing paranthesis (and a possible trailing const). -% #5 is the first character of the operator. -% #6 contains the rest of the operator. -% The declaration ends with "\ccEnd". -\newcount\operatorerror -{ - \ccCatcode \catcode`\#=6 \catcode`\@=14 - \gdef\ccPrintOperatorOne #1#2#3#4#5#6\ccEnd{@ - \ccExtractParamList{#2#3#4}@ - \operatorerror=1 - \isEmpty{#6}\ifnum\ccBool=\ccTrue - @ single character operations - \ifcase\NParameters @ no parameter - \or @ 1 parameter - \if~#5\ccOperatorpraefix{\mbox{\ccTilde}}\fi - \if!#5\ccOperatorpraefix{#5\,}\fi - \if-#5\ccOperatorpraefix{#5}\fi - \if+#5\ccOperatorpraefix{#5}\fi - \if\ccOperatorpraefix{\mbox{{\ccFont - \ccAmpersand}}}\fi - \if*#5\ccOperatorpraefix{#5}\fi - \or @ 2 parameters - \if*#5\ccOperatorinfix{#5}\fi - \if/#5\ccOperatorinfix{\,#5}\fi - \if%#5\ccOperatorinfix{\,#5\,}\fi - \if+#5\ccOperatorinfix{#5}\fi - \if-#5\ccOperatorinfix{#5}\fi - \if<#5\ccOperatorinfix{#5}\fi - \if>#5\ccOperatorinfix{#5}\fi - \if\ccOperatorinfix{\mbox{{ \ccFont - \ccAmpersand} }}\fi - \if^#5\ccOperatorinfix{\mbox{\ccHat}}\fi - \if|#5\ccOperatorinfix{\;#5\;}\fi - \if=#5\ccOperatorinfix{#5}\fi - \if,#5\ccOperatorinfix{#5}\fi - \else @ 3 parameters - \fi - \else - @ two or more character operations - \ccPrintOperatorTwo #5#6\ccEnd - \fi - \ifnum\operatorerror=1 \errmessage{Unknown - operator detected. Look out for the legal - operator overloading in C++. Maybe, not all - operators are currently supported by this - style, sorry. Go ahead, and I format it as - a function}@ - \ifnum#1=0 {\ccFont \ccVar.}\fi - \ccPrintTokens operator #5#6\ccEnd@ - (\isEmpty{#3}\ifnum\ccBool=\ccFalse - \ccPrintParamList{#3#4}\fi - )@ - \fi - } - -@ An operator with two or more characters is detected and can be printed. -@ o The first parameter is the first character of the operator. -@ o The second parameter is the second character of the operator. -@ o The third parameter contains the rest of the operator. -@ The declaration ends with "\ccEnd". -\gdef\ccPrintOperatorTwo #1#2#3\ccEnd{@ - \isEmpty{#3}\ifnum\ccBool=\ccTrue - @ two character operations - \ifcase\NParameters @ no parameter - \or @ 1 parameter - \if-#1\if>#2\ccOperatorpostfix{\:#1\!\!\!#2}\fi\fi - \if(#1\if)#2\ccOperatorparX{(}{)}\fi\fi - \if+#1\if+#2\ccOperatorpraefix{#1\!#2}\fi\fi - \if-#1\if-#2\ccOperatorpraefix{#1\!#2}\fi\fi - \or @ 2 parameters - \if[#1\if]#2\ccOperatorparXX{\ccEndFont{\rm [} - }{\ccEndFont{\rm ]}}\fi\fi - \if(#1\if)#2\ccOperatorparXX{( }{)}\fi\fi - \if+#1\if+#2\ccOperatorpostfix{#1\!#2}\fi\fi - \if-#1\if-#2\ccOperatorpostfix{#1\!#2}\fi\fi - \if>#1\if>#2\ccOperatorinfix{#1\!#2}\fi\fi - \if<#1\if<#2\ccOperatorinfix{#1\!#2}\fi\fi - \if<#1\if=#2\ccOperatorinfix{#1#2}\fi\fi - \if>#1\if=#2\ccOperatorinfix{#1#2}\fi\fi - \if=#1\if=#2\ccOperatorinfix{#1#2}\fi\fi - \if!#1\if=#2\ccOperatorinfix{\;#1\!#2}\fi\fi - \if\if\ccOperatorinfix{\mbox{ {\ccFont - \ccAmpersand}}\mbox{{\ccFont - \ccAmpersand} }}\fi\fi - \if|#1\if|#2\ccOperatorinfix{\;#1#2\;}\fi\fi - \if*#1\if=#2\ccOperatorinfix{\,#1\!#2}\fi\fi - \if/#1\if=#2\ccOperatorinfix{\,#1\!#2}\fi\fi - \if%#1\if=#2\ccOperatorinfix{\,#1\!#2}\fi\fi - \if+#1\if=#2\ccOperatorinfix{\,#1\!#2}\fi\fi - \if-#1\if=#2\ccOperatorinfix{\,#1\!#2}\fi\fi - \if\if=#2\ccOperatorinfix{\mbox{ {\ccFont - \ccAmpersand}}\!#2}\fi\fi - \if|#1\if=#2\ccOperatorinfix{\;#1\!#2}\fi\fi - \if^#1\if=#2\ccOperatorinfix{\mbox{\ccHat{}}\!\! - #2}\fi\fi - \else @ 3 parameters - \if(#1\if)#2\ccOperatorparXXX{( }{)}\fi\fi - \fi - \else - @ three or more character operations - \ifcase\NParameters @ no parameter - \or @ 1 parameter - \if-#1\if>#2\ccOperatorpostfix{\:#1\!\!\!#2\! - #3}\fi\fi - \or @ 2 parameters - \if#1n\if#2e\ccOperatornew{#1#2#3}\fi\fi - \if>#1\if>#2\ccOperatorinfix{#1\!#2#3}\fi\fi - \if<#1\if<#2\ccOperatorinfix{#1\!#2#3}\fi\fi - \else @ 3 parameters - \if#1d\if#2e\ccOperatordelete{#1#2#3}\fi\fi - \fi - \fi - } -} - - -\def\ccOperatorpraefix #1{% - $#1 \mbox{\unhbox\parameterX}$\operatorerror=0 } -\def\ccOperatorinfix #1{% - $\mbox{\unhbox\parameterX\ccEndFont} #1 - \mbox{\unhbox\parameterXX}$\operatorerror=0 } -\def\ccOperatorpostfix #1{% - $\mbox{\unhbox\parameterX} #1$\operatorerror=0 } -\def\ccOperatorappend #1#2{% - $\mbox{\unhbox\parameterX} #1#2$\operatorerror=0 } -\def\ccOperatorparX #1#2{% - \unhbox\parameterX#1#2\operatorerror=0 } -\def\ccOperatorparXX #1#2{% - \unhbox\parameterX#1\unhbox\parameterXX#2\operatorerror=0 } -\def\ccOperatorparXXX #1#2{% - \unhbox\parameterX\ccEndFont#1\unhbox\parameterXX, - \unhbox\parameterXXX#2\operatorerror=0 } -\def\ccOperatornew #1{% - $ \mbox{{\ccFont #1} \ccClassTemplateName}$\operatorerror=0 } -% $ * \mbox{{\ccFont ptr\_}\unhbox\parameterX} = \mbox{{\ccFont #1} -% \ccClassTemplateName}$\operatorerror=0 } -\def\ccOperatordelete #1{% - $ \mbox{{\ccFont #1} \unhbox\parameterXX}$\operatorerror=0 } - - -% +-------------------------------------------------------------------------- -% | * Template declaration separation -% +-------------------------------------------------------------------------- -% | The input starts with a template declaration. This and including -% | its parameter list will be separated from the rest of the declaration. -% | The macro in argument #1 will be applied to them, delimited with \ccEnd. The -% | rest will be handed over to the command in argument #2, also delimited -% | with \ccEnd. -% +-------------------------------------------------------------------------- -% #1 macro to be applied to the template declaration -% #2 macro to be applied to the rest of the declaration -% #3 should be empty -% #4 the declaration, delimited by \ccEnd. - -\def\ccSeparateTemplate #1#2#3template#4\ccEnd{% - \nestinglevel=0 - \hasLeadingSpace{#4}\ifnum\ccBool=\ccTrue - \ccSeparateTemplateX{#1}{#2}{template }#4\ccEnd - \else - \ccSeparateTemplateX{#1}{#2}{template}#4\ccEnd - \fi} - -% #1 macro to be applied to the template declaration -% #2 macro to be applied to the rest of the declaration -% #3 accumulator for the template declaration -% #4 first character of declaration -% #5 rest of declaration, delimited by \ccEnd. -\def\ccSeparateTemplateX #1#2#3#4#5\ccEnd{% - \if<#4\advance\nestinglevel by1 \fi - \if(#4\advance\nestinglevel by1 \fi - \if)#4\advance\nestinglevel by-1 \fi - \if>#4\advance\nestinglevel by-1 \fi - \ifnum\nestinglevel<1 - \ifnum\nestinglevel<0 - \errmessage{Unbalanced angles detected in - template parameters of template - declaration. I'll try.}% - \fi - #1#3#4\ccEnd #2#5\ccEnd - \fi - \hasLeadingSpace{#5}\ifnum\ccBool=\ccTrue - \def\xxbody{\ccSeparateTemplateX{#1}{#2}{#3#4 }#5\ccEnd}% - \else - \def\xxbody{\ccSeparateTemplateX{#1}{#2}{#3#4}#5\ccEnd}% - \fi - \ifnum\nestinglevel<1 \let\xxnext=\relax - \else\let\xxnext=\xxbody\fi - \xxnext} - - -% +-------------------------------------------------------------------------- -% | * Parameter list parsing: -% +-------------------------------------------------------------------------- -% | Parameter lists are commata separated parameters. Template -% | instantiation nesting is considered. Parentheses nesting -% | from default initializers are also considered. -% +-------------------------------------------------------------------------- - -% Print a C++ parameter list (separated with commatas). The output formats -% with a space between commata and the parameter text. -\def\ccPrintParamList #1{% - \nestinglevel=0 - \ccPrintParamListX{}#1\ccEnd} -% Support function: -% o The first parameter accumulates the so far parsed first parameter. -% o The second parameter contains the next character. -% o The third parameter contains the rest. -% The parsing process iterates characterwise. -% The parameter list has to be terminated with "\ccEnd". -\def\ccPrintParamListX #1#2#3\ccEnd{% - \if<#2\advance\nestinglevel by1 \fi - \if>#2\advance\nestinglevel by-1 \fi - \if(#2\advance\nestinglevel by1 \fi - \if)#2\advance\nestinglevel by-1 \fi - \if,#2% - \ifnum\nestinglevel=0 - \ccPrintParameter #1const.&.\ccEnd,\ccExtendedFormat - \def\xxbody{\ccPrintParamListX{}#3\ccEnd}% - \else\ifnum\nestinglevel<0 - \errmessage{Unbalanced angles detected in - template types in the C++ parameter list}% - \def\xxbody{\ccPrintParamListX{}#3\ccEnd}% - \else% comma within template parameter detected - \hasLeadingSpace{#3}\ifnum\ccBool=\ccTrue - \def\xxbody{\ccPrintParamListX{#1#2 }#3\ccEnd}% - \else - \def\xxbody{\ccPrintParamListX{#1#2}#3\ccEnd}% - \fi - \fi\fi - \else% old: \isEmpty{#3}\ifnum\ccBool=\ccTrue - \ifnum\nestinglevel<0 - \ifnum\nestinglevel=-1 - \ccPrintParameter #1const.&.\ccEnd% - \else - \errmessage{Unbalanced angles detected in - template types in the C++ parameter list}% - \fi - \def\xxbody{\ccPrintParamListX{}#3\ccEnd}% - \else - \hasLeadingSpace{#3}\ifnum\ccBool=\ccTrue - \def\xxbody{\ccPrintParamListX{#1#2 }#3\ccEnd}% - \else - \def\xxbody{\ccPrintParamListX{#1#2}#3\ccEnd}% - \fi - \fi\fi - % old: \isEmpty{#3}\ifnum\ccBool=\ccTrue - \ifnum\nestinglevel<0 \let\xxnext=\relax - \else\let\xxnext=\xxbody\fi - \xxnext} - - -% If an operator is used, a specialized parameter parsing macro counts -% the number of parameters and store the result in the three following boxes. -% \NParameters is one of 0,1,2,3. In the case of 3, there are three or more -% parameters, as it was possible for the ()-operator. Thei are all together -% stored in \box\parameterXXX. -\newcount\NParameters % counts number of parameters for operators -\newbox\parameterX % first parameter -\newbox\parameterXX % second parameter -\newbox\parameterXXX % third and rest of parameters - -% Extract up to three parameters from a C++ parameter list -% (separated with commatas) within the \parameterX.. boxes. -\def\ccExtractParamList #1{% - \nestinglevel=0 - \NParameters=0 - \isEmpty{#1}\ifnum\ccBool=\ccFalse \ccExtractParamListX{}#1\ccEnd\fi} -% Support function: -% o The first parameter accumulates the so far parsed first parameter. -% o The second parameter contains the next character. -% o The third parameter contains the rest. -% The parsing process iterates characterwise. -% The parameter list has to be terminated with "\ccEnd". -\def\ccExtractParamListX #1#2#3\ccEnd{% - \if<#2\advance\nestinglevel by1 \fi - \if>#2\advance\nestinglevel by-1 \fi - \if(#2\advance\nestinglevel by1 \fi - \if)#2\advance\nestinglevel by-1 \fi - \if,#2% - \ifnum\nestinglevel=0 - \advance\NParameters by1 - \ifnum\NParameters=1 % - \setbox\parameterX=% - \hbox{\ccPrintParameter #1const.&.\ccEnd}% - \def\xxxbody{\ccExtractParamListX{}#3\ccEnd}% - \else\advance\NParameters by1 - \setbox\parameterXX=% - \hbox{\ccPrintParameter #1const.&.\ccEnd}% - \setbox\parameterXXX=% - \hbox{\ccPrintParamList{#3}}% - \def\xxxbody{\relax}% - \fi - \else\ifnum\nestinglevel<-1 - \errmessage{Unbalanced angles or parantheses - detected in - template types in the C++ parameter list}% - \def\xxxbody{\ccExtractParamListX{}#3\ccEnd}% - \else% comma within template parameter detected - \hasLeadingSpace{#3}\ifnum\ccBool=\ccTrue - \def\xxxbody{\ccExtractParamListX{#1#2 }#3\ccEnd}% - \else - \def\xxxbody{\ccExtractParamListX{#1#2}#3\ccEnd}% - \fi - \fi\fi - \else\ifnum\nestinglevel<0 - \ifnum\nestinglevel=-1 - \advance\NParameters by1 - \ifnum\NParameters=1 \setbox\parameterX=% - \hbox{\ccPrintParameter #1const.&.\ccEnd}% - \else\ifnum\NParameters=2 \setbox\parameterXX=% - \hbox{\ccPrintParameter #1const.&.\ccEnd}% - \else\setbox\parameterXXX=% - \hbox{\ccPrintParameter #1const.&.\ccEnd}% - \fi\fi - \else - \errmessage{Unbalanced angles or - parantheses detected in - template types in the C++ parameter list}% - \fi - \def\xxxbody{\ccExtractParamListX{}#3\ccEnd}% - \else - \hasLeadingSpace{#3}\ifnum\ccBool=\ccTrue - \def\xxxbody{\ccExtractParamListX{#1#2 }#3\ccEnd}% - \else - \def\xxxbody{\ccExtractParamListX{#1#2}#3\ccEnd}% - \fi - \fi\fi - \ifnum\nestinglevel<0 \let\xxxnext=\relax - \else\let\xxxnext=\xxxbody\fi - \xxxnext} - -% +-------------------------------------------------------------------------- -% | * Parameter Parsing: -% +-------------------------------------------------------------------------- -% | A single parameter consists of a type and optional of a variable name. -% | If the type contains a "const ... &" pair, it is removed. If the -% | the type is similar to the class that is currently declared, it is -% | also removed. (In that case it might result in an empty parameter -% | if no variable name is given. Then, the type is not removed. -% | -% | The return type of a method or function has no `variable name', so -% | only "const ... &" removal is done and no classname elimination. -% +-------------------------------------------------------------------------- -% The parameter parsing macros counts the nesting level of -% template parameter instantiations. -\newcount\nestinglevel - -% Print a parameter where "const ...&" pairs are eliminated. Strips a -% type that equals the \ccPureClassTemplateName. It is a nested macro -% definition. It uses the \ccPureClassTemplateName to build a matching -% pattern to detect a possible type name to be eliminated. Similar -% solution as \ccReplacePrefix. -% If the function argument is empty, \ccPureClassTemplateName is printed. -% The parameter has to be delimited with "<>\ccEnd". -% Ignore leading spaces. -\def\ccPrintOwnClassParameter #1#2<>\ccEnd{% - \ifnum\ccTagRmEigenClassName=\ccFalse - \ccPrintTokens #1#2\ccEnd% - \else - \ifx\ccPureClassTemplateName\empty - \ccPrintTokens #1#2\ccEnd% - \else - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \ccPrintTokens #1\ccEnd% A complete hack. - % Necessary to work together - % with the operator example. Otherwise a def is not working - % (totally obscure errormessage). However, I do not understand - % what is going on, I assume that the special case of a member - % function, where the first argument is \ccVar, causes the trouble. - % This special case is checked here. - \else - \edef\ccOwnClassPair{{\ccPureClassTemplateName}{% - #1#2\ccPureClassTemplateName}}% - \expandafter\ccPrintOwnClassParameterX\ccOwnClassPair - \fi\fi - \fi -} - -% Does the actual work: #1 is the \ccPureClassTemplateName -% #2 is the text to process with the -% \ccPureClassTemplateName -% appended at the end -\def\ccPrintOwnClassParameterX #1#2{% - % local macro to do the parsing: - % ##1 is the text before \ccPureClassTemplateName - % ##2 is the text after \ccPureClassTemplateName - \def\ccRepOwnClass ##1#1##2\ccEnd{% - \isEmpty{##2}\ifnum\ccBool=\ccTrue - % normal case, \ccPureClassTemplateName is not in the argument. - \ccPrintTokens ##1\ccEnd% - \else - % \ccPureClassTemplateName is in the argument. - % Check that neither ##1 ends with character nor ##2 starts - % with a character. Otherwise, \ccPureClassTemplateName - % would be only a part of a longer idfier. - \isLastAlpha{##1}\ifnum\ccBool=\ccTrue - \ccRepOwnClassX ##1#1##2\ccEnd% - \else - \isFirstAlpha{##2}\ifnum\ccBool=\ccTrue - \ccRepOwnClassX ##1#1##2\ccEnd% - \else - \ccRepOwnClassX ##1##2\ccEnd% - \fi - \fi - \fi - }% - % local macro to remove the trailing \ccPureClassTemplateName. - % If the function argument is empty, print \ccPureClassTemplateName. - % ##1 is the text before \ccPureClassTemplateName - \def\ccRepOwnClassX ##1#1\ccEnd{% - \isEmpty{##1}\ifnum\ccBool=\ccTrue - \ccPrintTokens #1\ccEnd - \else - \ccPrintTokens ##1\ccEnd% \ccRepOwnClassXX was superfluous here. - \fi - }% - % local macro to remove leading spaces. - % ##1##2 is the (non empty) argument without leading spaces. - %\def\ccRepOwnClassXX ##1##2\ccEnd{% - % \ccPrintTokens ##1##2\ccEnd% - %}% - % apply the local macro - \ccRepOwnClass #2\ccEnd% -} - - -% Print a C++ function or method parameter. Strips a matching -% "const ...&" pair. -% The parameter has to be delimited with "const.&.\ccEnd". -\def\ccPrintParameter #1const#2\ccEnd{% - \ifnum\ccTagRmConstRefPair=\ccFalse - \ccPrintParameterXQ #1const#2\ccEnd% - \else - \if.#2\isEmpty{#1}\ifnum\ccBool=\ccFalse - \ccPrintOwnClassParameter #1<>\ccEnd% - \fi - \else - \if\ccPrintParameter #1\ccEnd% - \else - \if.#3\ccPrintParameterXQ #1const#2\ccEnd% - \else\hasLeadingSpace{#2}\ifnum\ccBool=\ccFalse - \isLetter{#2}\ccInvert - \fi - \ifnum\ccBool=\ccTrue - \ccPrintParameter #1#2 #3\ccEnd% - \else - \ccPrintParameterXQ #1const#2\ccEnd% - \fi - \fi - \fi - \fi - \fi} - -\def\ccPrintParameterXQ #1const.&.\ccEnd{\ccPrintOwnClassParameter #1<>\ccEnd} - -% Print a C++ function or method return type. Strips a matching -% "const ...&" pair. -% The parameter has to be delimited with "const.&.\ccEnd". -\def\ccPrintReturnType #1const#2\ccEnd{% - \ifnum\ccTagRmConstRefPair=\ccFalse - \ccPrintReturnTypeXQ #1const#2\ccEnd% - \else - \if.#2\isEmpty{#1}\ifnum\ccBool=\ccFalse - \ccPrintTokens #1\ccEnd% - \fi - \else - \if\ccPrintReturnType #1\ccEnd% - \else - \if.#3\ccPrintReturnTypeXQ #1const#2\ccEnd% - \else\hasLeadingSpace{#2}\ifnum\ccBool=\ccFalse - \isLetter{#2}\ccInvert - \fi - \ifnum\ccBool=\ccTrue - \ccPrintReturnType #1#2 #3\ccEnd% - \else - \ccPrintReturnTypeXQ #1const#2\ccEnd% - \fi - \fi - \fi - \fi - \fi} -\def\ccPrintReturnTypeXQ #1const.&.\ccEnd{\ccPrintTokens #1\ccEnd} - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Names for Portability -% | -% ########################################################################### - -\ifnum\ccPortability=\ccTrue - % - Advanced Customization of the Layout - \newcommand{\threecolumns}{\ccSetTwoOfThreeColumns} - \newcommand{\constructorcolumn}{\ccSetOneOfTwoColumns} - - % - Structuring Macros - \newcommand{\cgalheading}[1]{\ccHeading{#1}} - \newcommand{\cgalcommentheading}[1]{\ccCommentHeading{#1}} - \newcommand{\definition }{\ccDefinition} - \newcommand{\parameters }{\ccParameters} - \newcommand{\constants }{\ccConstants} - \newcommand{\types }{\ccTypes} - \newcommand{\creation }{\ccCreation} - \newcommand{\operations }{\ccOperations} - \newcommand{\implementation }{\ccImplementation} - \newcommand{\example }{\ccExample} - \newcommand{\precond }{\ccPrecond} - \newcommand{\postcond }{\ccPostcond} - - % - C++ Declarations - \newcommand{\CCstyle}{\ccStyle} - \newcommand{\declaration}{\ccDeclaration} - \newcommand{\hidden}{\ccHidden} - \newcommand{\unchecked}{\ccUnchecked} - \newcommand{\pureclassname}{\ccPureClassName} - \newcommand{\puretemplatename}{\ccPureClassTemplateName} - \newcommand{\pureclasstemplatename}{\ccPureClassTemplateName} - \newcommand{\pureparameters}{\ccPureTemplateParameters} - \newcommand{\puretemplateparameters}{\ccPureTemplateParameters} - \newcommand{\classname}{\ccClassName} - \newcommand{\classtemplatename}{\ccClassTemplateName} - \newcommand{\purevar}{\ccPureVar} - \newcommand{\var}{\ccVar} - - \newenvironment{class}{\begin{ccClass}}{\end{ccClass}} - \newenvironment{classtemplate}{\begin{ccClassTemplate}}{% - \end{ccClassTemplate}} - - \newcommand{\creationvariable}{\ccCreationVariable} - \newcommand{\constructor}{\ccConstructor} - \newcommand{\method}{\ccMethod} - \newcommand{\function}{\ccFunction} - \newcommand{\functiontemplate}{\ccFunctionTemplate} - \newcommand{\variable}{\ccVariable} - \newcommand{\typedef}{\ccTypedef} - \newcommand{\nestedtype}{\ccNestedType} - \newcommand{\enum}{\ccEnum} - \newcommand{\struct}{\ccStruct} - - % - Global C++ Declarations - \newcommand{\globalfunction}{\ccGlobalFunction} - \newcommand{\globalfunctiontemplate}{\ccGlobalFunctionTemplate} - \newcommand{\globalenum}{\ccGlobalEnum} - \newcommand{\globalstruct}{\ccGlobalStruct} - \newcommand{\globalvariable}{\ccGlobalVariable} - \newcommand{\globaltypedef}{\ccGlobalTypedef} - - - % - HTML Language Support in the Style File - \newcommand{\LatexHtml}{\ccTexHtml} - \newcommand{\Anchor}{\ccAnchor} - \newenvironment{TexOnly}{\begin{ccTexOnly}}{\end{ccTexOnly}} - \newenvironment{HtmlOnly}{\begingroup\ccHtmlCatcode \ParseHtmlOnlyBody}{ - \endgroup} - % Take care: catcodes changes a lot here!! - \begingroup - \ccHtmlDefCatcode - |gdef|ParseHtmlOnlyBody #1\end{HtmlOnly}[% - |csname endHtmlOnly|endcsname|@checkend[HtmlOnly]% - |expandafter|endgroup|if@endpe|@doendpe|fi - |if@ignore|global|@ignorefalse|ignorespaces|fi - ] - |endgroup -\fi - -% -% make sure the cc_manual_index style file is used since the automatic -% index commands used in this file are defined there -% -\usepackage{cc_manual_index} - -% -% make sure the alltt style file is used since the ccIncludeVerbatim -% command and ccExampleCode environment depend on it -% -\usepackage{alltt} - -% the graphicx package is used to include the page tabs for the reference -% pages in the new manual style, so... -\ifnum\ccNewRefManualStyle=\ccTrue -\usepackage{graphicx} -\fi - -% ___________________________________________________________________________ -% ########################################################################### -% | EOF -% ########################################################################### - diff --git a/Manual_tools/format/cc_manual_index.sty b/Manual_tools/format/cc_manual_index.sty deleted file mode 100644 index 7b8e85991c9..00000000000 --- a/Manual_tools/format/cc_manual_index.sty +++ /dev/null @@ -1,1982 +0,0 @@ -% ======================================================================== -% CGAL reference manual indexing style file -% -% $Id$ -% ======================================================================== - -% -% Make sure the cc_manual style file is included since some of the commands -% used in this file are defined there -% -\usepackage{cc_manual} -\usepackage{makeidx} - -\RCSdef{\ccRevision}{$Id$} -\RCSdefDate{\ccDate}{$Date$} - -% Print a release note. -\catcode`\@=11\relax -\newwrite\@unused -\def\typeout#1{{\let\protect\string\immediate\write\@unused{#1}}} -\typeout{cc_manual_index.sty: \ccRevision. \ccDate.} -\catcode`\@=12\relax - -% ======================================================================== -% Definitions of fonts for the different categories of non-C++ items -% ======================================================================== -\def\ccUnderscoreFont{} -\def\ccIndexAbbreviationFont{} -%\def\ccIndexConceptFont{\ccUnderscoreFont} -\def\ccIndexConceptFont{} -\def\ccIndexFunctionalityFont{} -\def\ccIndexDSFont{} -\def\ccIndexHintFont{} -\def\ccIndexLibraryFont{} -\def\ccIndexPackageFont{} -\def\ccIndexTermFont{} - - -\newcount\ccIndex \ccIndex=\ccTrue% -\newcount\ccAutoIndex \ccAutoIndex=\ccTrue% -\newcount\ccIndexCrossRef \ccIndexCrossRef=\ccTrue% -\newcount\ccIndexModifierCrossRef \ccIndexModifierCrossRef=\ccTrue% - -% ======================================================================== -% Text that is between a pair of ccIndexingOff and ccIndexingOn commands -% will not produce any entries in the index, automatically or otherwise -% ======================================================================== -\newcommand{\ccIndexingOff}{\ccIndex=\ccFalse}% -\newcommand{\ccIndexingOn}{\ccIndex=\ccTrue}% - -% ======================================================================== -% Text that is between a pair of ccAutoIndexingOff and ccAutoIndexingOn -% commands will not produce any entries in the index automatically. -% You can do indexing manually, though, using any of the commands. -% ======================================================================== -\newcommand{\ccAutoIndexingOff}{\ccAutoIndex=\ccFalse}% -\newcommand{\ccAutoIndexingOn}{\ccAutoIndex=\ccTrue}% - -% ======================================================================== -% Text that is between a pair of ccModifierCrossRefOff and -% ccModifierCrossRefOn commands will not produce cross referencing entries -% automatically for main item text that contains a comma. -% ======================================================================== -\newcommand{\ccModifierCrossRefOff}{\ccIndexModifierCrossRef=\ccFalse}% -\newcommand{\ccModifierCrossRefOn}{\ccIndexModifierCrossRef=\ccTrue}% - -% ======================================================================== -% Text that is between a pair of ccNonmodifierCrossRefOff and -% ccNonmodifierCrossRefOn commands will produce cross referencing entries -% automatically only for main item text that contains a comma. -% ======================================================================== -\newcommand{\ccNonmodifierCrossRefOff}{\ccIndexCrossRef=\ccFalse}% -\newcommand{\ccNonmodifierCrossRefOn}{\ccIndexCrossRef=\ccTrue}% - -% ======================================================================== -% Text that is between a pair of ccCrossRefOff and ccCrossRefOn commands -% will not produce ANY cross referencing entries automatically. -% ======================================================================== -\newcommand{\ccCrossRefOff}{\ccIndexModifierCrossRef=\ccFalse% - \ccIndexCrossRef=\ccFalse}% -\newcommand{\ccCrossRefOn}{\ccIndexModifierCrossRef=\ccTrue% - \ccIndexCrossRef=\ccTrue}% - -% ------------------------------------------------------------------------ -% Commands needed for including indexing characters in the index -% ------------------------------------------------------------------------ -\def\doubleVerticalBar{||} -\def\singleVerticalBar{|} -\def\verticalBarEqual{|=} -\def\doubleExclamation{!!} -\def\singleExclamation{!} -\def\doubleAmpersand{\&\&} -\def\singleAmpersand{\&} -\def\ampersandEqual{\&=} -\def\exclamationEqual{!=} -\def\singleAt{@} - -% ======================================================================== -% Generic indexing macros -% -% The following 14 commands are generic commands for producing main items, -% subitems, and subsubitems in the index. For each of these three types of -% entries, there are four kinds of commands: -% -% 1. produce a single page number entry -% 2. begin an entry with a range of pages associated with it -% 3. end an entry with a range of pages associated with it -% 4. produce a definition entry (single page number in bold face type) -% -% There are also 2 commands, one for subitems and one for subsubitems, -% for producing "see also " entries -% -% Each of these commands requires some number of arguments which supply -% the text to be used in indexing. Main item commands require 1 argument; -% subitem commands require 2 arguments (main item and subitem text); -% subsubitem commands require 3 arguments (main item, subitem, and subsubitem -% text). -% -% All 14 commands have an optional argument, which is the category of -% the main item being indexed. The valid values for this category argument -% are: -% C -- for class or other C++ name -% c -- for concept -% d -- for data structure -% f -- for functionality -% h -- for hint -% l -- for library -% p -- for package -% t -- for term -% The default value of this argument is empty, indicating an entry that -% does not fall into any of the established categories for the index. -% Depending on the category specified, the appropriate font will be used -% to format the main item text. Fonts can also be supplied in the -% text arguments and these fonts override any font indicated by the -% category argument. -% ======================================================================== - - -% ------------------------------------------------------------------------ -% Main item generic indexing macros -% ------------------------------------------------------------------------ - -% -% Usage: \ccIndexMainItem[category]{item} -% -\newcommand{\ccIndexMainItem}[2][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \ifx\empty\mainSeeText% - \index{\mainText}% - \else% - \index{\mainText}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% -% Usage: \ccIndexMainItemBegin[category]{item with range} -% ... ... -% \ccIndexMainItemEnd[cateogry]{item with range} -% -\newcommand{\ccIndexMainItemBegin}[2][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \ifx\empty\mainSeeText% - \index{\mainText|(}% - \else% - \index{\mainText|(}% - \index{\mainSeeText}% - \fi% - \fi% -} -\newcommand{\ccIndexMainItemEnd}[2][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \ifx\empty\mainSeeText% - \index{\mainText|)}% - \else% - \index{\mainText|)}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% -% Usage: \ccIndexMainItemDef[category]{item} -% -\newcommand{\ccIndexMainItemDef}[2][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \ifx\empty\mainSeeText% - \index{\mainText|textbf}% - \else% - \index{\mainText|textbf}% - \index{\mainSeeText}% - \fi% - \fi% -} - - -% ------------------------------------------------------------------------ -% Subitem generic indexing macros -% ------------------------------------------------------------------------ - -% -% Usage: \ccIndexSubitem[category]{item}{subitem} -% -\newcommand{\ccIndexSubitem}[3][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText}% - \else% - \index{\mainText!\subitemText}% - \index{\mainSeeText}% - \fi% - \fi% -} - - -% -% Usage: \ccIndexOperatorSubitem{item}{subitem} -% -\newcommand{\ccIndexOperatorSubitem}[2]{% - \ifnum\ccIndex=\ccTrue% - \subitemTextParse{#2}% - \ifnum\ccOperatorCat=\ccDoubleVerticalBar% - \index{#1@$\protect\doubleVerticalBar$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccSingleVerticalBar% - \index{#1@$\protect\singleVerticalBar$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccVerticalBarEqual% - \index{#1@$\protect\verticalBarEqual$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccDoubleExclamation% - \index{#1@$\protect\doubleExclamation$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccSingleExclamation% - \index{#1@$\protect\singleExclamation$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccSingleAmpersand% - \index{#1@$\protect\singleAmpersand$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccDoubleAmpersand% - \index{#1@$\protect\doubleAmpersand$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccAmpersandEqual% - \index{#1@$\protect\ampersandEqual$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccExclamationEqual% - \index{#1@$\protect\exclamationEqual$!\subitemText}% - \else\ifnum\ccOperatorCat=\ccSingleAt% - \index{#1@$\protect\singleAt$!\subitemText}% -% -% the ~, % and ^ operators need a change in catcode in order to work properly -% so they are used with ccc. ccc cannot be used for the other operands since -% the actual characters must not be put in the index (they have special -% meaning in the index) and ccc will expand its arguments. -% - \else\ifnum\ccOperatorCat=\ccTildeOperator% - \index{#1@\protect\ccc{#1}!\subitemText}% - \else\ifnum\ccOperatorCat=\ccModOperator% - \index{#1@\protect\ccc{#1}!\subitemText}% - \else\ifnum\ccOperatorCat=\ccModEqualOperator% - \index{#1@\protect\ccc{#1}!\subitemText}% - \else\ifnum\ccOperatorCat=\ccPowerOperator% - \index{#1@\protect\ccc{#1}!\subitemText}% - \else\ifnum\ccOperatorCat=\ccPowerEqualOperator% - \index{#1@\protect\ccc{#1}!\subitemText}% - \else - \index{#1@$#1$!\subitemText}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \fi% -} - -% -% Usage: \ccIndexSubitemBegin[category]{item}{subitem} -% ... ... -% \ccIndexSubitemEnd[category]{item}{subitem} -% -\newcommand{\ccIndexSubitemBegin}[3][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText|(}% - \else% - \index{\mainText!\subitemText|(}% - \index{\mainSeeText}% - \fi% - \fi% -} -\newcommand{\ccIndexSubitemEnd}[3][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText|)}% - \else% - \index{\mainText!\subitemText|)}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% -% Usage: \ccIndexSubitemDef[category]{item}{subitem} -% -\newcommand{\ccIndexSubitemDef}[3][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText|textbf}% - \else% - \index{\mainText!\subitemText|textbf}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% -% Usage: \ccIndexSubitemSeeAlso[category]{item}{subitem} -% -\newcommand{\ccIndexSubitemSeeAlso}[3][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemSeeAlsoTextParse{#3}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemSeeAlsoText|none}% - \else% - \index{\mainText!\subitemSeeAlsoText|none}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% ------------------------------------------------------------------------ -% Subsubitem generic indexing macros -% ------------------------------------------------------------------------ - - -% -% Usage: \ccIndexSubsubitem[category]{item}{subitem}{subsubitem} -% -\newcommand{\ccIndexSubsubitem}[4][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \subsubitemTextParse{#4}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText!\subsubitemText}% - \else% - \index{\mainText!\subitemText!\subsubitemText}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% -% Usage: \ccIndexSubsubitemBegin[category]{item}{subitem}{subsubitem} -% ... ... -% \ccIndexSubsubitemEnd[category]{item}{subitem}{subsubitem} -% -\newcommand{\ccIndexSubsubitemBegin}[4][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \subsubitemTextParse{#4}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText!\subsubitemText|(}% - \else% - \index{\mainText!\subitemText!\subsubitemText|(}% - \index{\mainSeeText}% - \fi% - \fi% -} -\newcommand{\ccIndexSubsubitemEnd}[4][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \subsubitemTextParse{#4}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText!\subsubitemText|)}% - \else% - \index{\mainText!\subitemText!\subsubitemText|)}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% -% Usage: \ccIndexSubsubitemDef[category]{item}{subitem}{subsubitem} -% -\newcommand{\ccIndexSubsubitemDef}[4][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \subsubitemTextParse{#4}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText!\subsubitemText|textbf}% - \else% - \index{\mainText!\subitemText!\subsubitemText|textbf}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% -% Usage: \ccIndexSubsubitemSeeAlso[category]{item}{subitem}{subsubitem} -% -\newcommand{\ccIndexSubsubitemSeeAlso}[4][]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{{#1}}{#2}% - \subitemTextParse{#3}% - \subsubitemSeeAlsoTextParse{#4}% - \ifx\empty\mainSeeText% - \index{\mainText!\subitemText!\subsubitemSeeAlsoText|none}% - \else% - \index{\mainText!\subitemText!\subsubitemSeeAlsoText|none}% - \index{\mainSeeText}% - \fi% - \fi% -} - -% ======================================================================== -% Assertion flag macros -% ======================================================================== - -% -% Usage: \ccIndexAssertionFlagsUse -% -\newcommand{\ccIndexAssertionFlagsUse}{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem{assertion flags}% - \fi% -} - -% -% Usage: \ccIndexAssertionFlagName{flag_name} -% -\newcommand{\ccIndexAssertionFlagName}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - - -% ======================================================================== -% Enums, enum tags, global structs, global variables, global constants -% global functions, typedefs -% ======================================================================== - -% -% Usage: \ccIndexEnum{enum} -% -\newcommand{\ccIndexEnum}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - - -% -% Usage: \ccIndexEnum{enum_tag} -% -\newcommand{\ccIndexEnumTag}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - -% -% Usage: \ccIndexGlobalStruct{struct} -% -\newcommand{\ccIndexGlobalStruct}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - -% -% Usage: \ccIndexGlobalVariable{variable} -% -\newcommand{\ccIndexGlobalVariable}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - -% -% Usage: \ccIndexGlobalConstant{constant} -% -\newcommand{\ccIndexGlobalConstant}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - -% -% Usage: \ccIndexMacro{macro_name} -% -\newcommand{\ccIndexMacro}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - - -% -% Usage: \ccIndexGlobalFunction{function} -% -\newcommand{\ccIndexGlobalFunction}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - -% Usage: \ccIndexGlobalFunctionBegin{function} -% -% \ccIndexGlobalFunctionEnd{function} -% -\newcommand{\ccIndexGlobalFunctionBegin}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItemBegin[C]{#1}% - \fi% -} - -\newcommand{\ccIndexGlobalFunctionEnd}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItemEnd[C]{#1}% - \fi% -} - -% -% Usage: \ccIndexGlobalOperator{operator}{class name} -% -% Note: operator must not contain one of the "special" index charcters. -% In other words, it should have already passed through -% \escapeIndexOperatorSymbols -\newcommand{\ccIndexGlobalOperator}[2]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexOperatorSubitem{#1}{\ccFont #2}% - \fi% -} - -% -% Usage: \ccIndexTypedef{typedef} -% -\newcommand{\ccIndexTypedef}[1]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItem[C]{#1}% - \fi% -} - -% ======================================================================== -% Member functions -% ======================================================================== -% -% Usage: \ccIndexMemberFunction{function_name} -% -\newcommand{\ccIndexMemberFunction}[1]{% - \ifnum\ccIndex=\ccTrue% - \ifnum\inConcept=\ccTrue% - \ccIndexSubitem[C]{#1}{\ccIndexConceptFont \ccIndexClassName}% - \else - \ccIndexSubitem[C]{#1}{\ccFont \ccIndexClassName}% - \fi\fi% -} - -% -% Usage: \ccIndexMemberFunctionBegin{function_name} -% -% \ccIndexMemberFunctionEnd{function_name} -% -\newcommand{\ccIndexMemberFunctionBegin}[1]{% - \ifnum\ccIndex=\ccTrue% - \ifnum\inConcept=\ccTrue - \ccIndexSubitemBegin[C]{#1}{\ccIndexConceptFont \ccIndexClassName}% - \else - \ccIndexSubitemBegin[C]{#1}{\ccFont \ccIndexClassName}% - \fi\fi% -} - -\newcommand{\ccIndexMemberFunctionEnd}[1]{% - \ifnum\ccIndex=\ccTrue% - \ifnum\inConcept=\ccTrue - \ccIndexSubitemEnd[C]{#1}{\ccIndexConceptFont \ccIndexClassName}% - \else - \ccIndexSubitemEnd[C]{#1}{\ccFont \ccIndexClassName}% - \fi\fi% -} - -% ======================================================================== -% Abbreviations -% ======================================================================== -% -% Usage: \ccIndexAbbreviation{abbr}{unabbreviated term} -% -\newcommand{\ccIndexAbbreviation}[2]{% - \ifnum\ccIndex=\ccTrue% - \mainTextParse{a}{#1}% - \index{\mainText|see{{#2}}} - \ifnum\ccIndexCrossRef=\ccTrue% - \ccIndexMainItem{#2}% - \fi% - \fi -} - -% ======================================================================== -% Hints as subitems and subsubitems -% ======================================================================== - -% -% Usage: \ccIndexHintAsSubitem[category]{item}{hint} -% where category is an optional argument with the following possible -% values -% C -- for class or other C++ name -% c -- for concept -% d -- for data structure -% f -- for functionality -% h -- for hint -% l -- for library -% p -- for package -% t -- for term -% -\newcommand{\ccIndexHintAsSubitem}[3][]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexSubitem[#1]{#2}{\ccIndexHintFont #3}% - \fi% -} - -% -% Usage: \ccIndexHintAsSubitem[category]{item}{subitem}{hint} -% -\newcommand{\ccIndexHintAsSubsubitem}[4][]{% - \ifnum\ccIndex=\ccTrue% - \ccIndexSubsubitem[#1]{#2}{#3}{\ccIndexHintFont #4}% - \fi% -} - - -% ======================================================================== -% Classes -% ======================================================================== -\newcommand{\ccIndexClassName}{}% - -% ------------------------------------------------------------------------ -% Environment to be used for indexing classes if the automatic indexing -% doesn't do the right thing. -% -% -% Usage: \begin{ccIndexClass}{class name} -% ...... -% \end{ccIndexClass} -% -% ------------------------------------------------------------------------ -\newenvironment{ccIndexClass}[1]{% - \ifnum\ccIndex=\ccTrue% - \isEmpty{#1}\ifnum\ccBool=\ccTrue% - \errmessage{The class name for indexing cannot be empty} - \else - \def\ccIndexClassName{#1}% - \ccIndexMainItemBegin[C]{\ccIndexClassName}% - \fi - \fi% -} -{% - \ifnum\ccIndex=\ccTrue% - \expandafter\isEmpty{\ccIndexClassName}\ifnum\ccBool=\ccFalse% - \ccIndexMainItemEnd[C]{\ccIndexClassName}% - \fi% - \fi% -} - -% ======================================================================== -% These macros MUST be used inside either a ccClass, ccTemplateClass or -% ccIndexClass environment since they employ the ccIndexClassName -% variable defined in these environments. -% ======================================================================== -% -% Usage: \ccIndexClassCreation -% -\newcommand{\ccIndexClassCreation}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue% - \errmessage{This command must be used inside a ccIndexClass, ccClass, - or ccTemplateClass environment. I'm going to ignore it}% - \else - \ccIndexSubitem[C]{\ccIndexClassName}{creation}% - \fi - \fi% -} - -% -% Usage: \ccIndexClassDefault -% -\newcommand{\ccIndexClassDefault}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue% - \errmessage{This command must be used inside a ccIndexClass, ccClass, - or ccTemplateClass environment. I'm going to ignore it}% - \else - \ccIndexSubitem[C]{\ccIndexClassName}{default}% - \fi \fi% -} - -% -% Usage: \begin{ccIndexMemberFunctions} -% ... -% \end{IndexMemberFunctions} -% -\newenvironment{ccIndexMemberFunctions}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue% - \errmessage{This command must be used inside a ccIndexClass, ccClass, - or ccTemplateClass environment. I'm going to ignore it}% - \else - \ccIndexSubitemBegin[C]{\ccIndexClassName}{member functions}% - \fi \fi% -} -{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccFalse - \ccIndexSubitemEnd[C]{\ccIndexClassName}{member functions}% - \fi \fi% -} - -% -% Usage: \ccIndexMemberFunctionGroup{group} -% -\newcommand{\ccIndexMemberFunctionGroup}[1]{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue - \errmessage{This command must be used inside a ccIndexClass, ccClass, - or ccTemplateClass environment. I'm going to ignore it}% - \else - \ccIndexSubsubitem[C]{\ccIndexClassName}{member functions}{#1}% - \ifnum\ccIndexCrossRef=\ccTrue% - \ccIndexSubitem{#1}{\ccFont \ccIndexClassName}% - \fi% - \fi - \fi% -} - -% -% Usage: \ccIndexNestedClasses -% -\newcommand{\ccIndexNestedClasses}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue - \errmessage{This command must be used inside a ccIndexClass, ccClass, - or ccTemplateClass environment. I'm going to ignore it}% - \else - \ccIndexSubitem[C]{\ccIndexClassName}{nested classes}% - \fi - \fi% -} - -% -% Usage: \ccIndexClassTypes -% -\newcommand{\ccIndexClassTypes}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue - \errmessage{This command must be used inside a ccIndexClass, ccClass, - or ccTemplateClass environment. I'm going to ignore it}% - \else - \ccIndexSubitem[C]{\ccIndexClassName}{types}% - \fi - \fi% -} - -% ======================================================================== -% Packages -% ======================================================================== -\newcommand{\ccIndexPackageName}{}% - -\newenvironment{ccPackage}[1]{% - \isEmpty{#1}\ifnum\ccBool=\ccTrue - \errmessage{Package name cannot be empty} - \else - \def\ccIndexPackageName{#1}% - \ccIndexMainItemBegin[p]{\ccIndexPackageName}% - \fi -} -{% - \expandafter\expandafter\isEmpty{\ccIndexPackageName}% - \ifnum\ccBool=\ccFalse - \ccIndexMainItemEnd[p]{\ccIndexPackageName}% - \def\ccIndexPackageName{}% - \fi -}% - - -% ======================================================================== -% Classes or Packages -% These macros MUST be used inside either a ccClass, ccTemplateClass, -% ccTraitsClass, ccTraitsClassTemplate, ccIndexClass, or ccPackage -% environment. They check first for inclusion in a class environment -% and then for inclusion in a package environment and if you are in -% both, only the class entry will be generated. -% ======================================================================== -% -% -% Usage: \ccIndexAssertionFlag[package name] -% -\newcommand{\ccIndexAssertionFlag}[1][]{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue % - \expandafter\expandafter\isEmpty{\ccIndexPackageName}% - \ifnum\ccBool=\ccTrue - \errmessage{You must be inside a package or a class - environment to use this command. Go - on and I'll ignore this command} - \else - \ccIndexSubitem[p]{\ccIndexPackageName}{assertion flags}% - \ifnum\ccIndexCrossRef=\ccTrue - \ccIndexSubitem{assertion flags}{\ccIndexPackageName}% - \fi - \fi - \else - \isEmpty{#1}\ifnum\ccBool=\ccTrue - \errmessage{You must supply a package name for class \ccIndexClassName. I'm - going to ignore this command} - \else - \ccIndexSubitem[C]{\ccIndexClassName}{assertion flags}% - \ifnum\ccIndexCrossRef=\ccTrue - \ccIndexSubitem{assertion flags}{#1}% - \fi - \fi - \fi% - \fi% -} - -% -% Usage: \ccIndexDesign -% -\newcommand{\ccIndexDesign}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexPackageName}% - \ifnum\ccBool=\ccTrue - \errmessage{You must be inside a package or class - environment to use this command. Go - on and I'll ignore this command} - \else - \ccIndexSubitem[p]{\ccIndexPackageName}{design}% - \fi - \else - \ccIndexSubitem[C]{\ccIndexClassName}{design}% - \fi% - \fi% -} - -% -% Usage: \begin{ccIndexGlobalFunctions} -% ... ... -% \end{ccIndexGlobalFunctions} -% -\newenvironment{ccIndexGlobalFunctions}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue - \expandafter\expandafter\isEmpty{\ccIndexPackageName}% - \ifnum\ccBool=\ccTrue - \errmessage{You must be inside a package or class - environment to use this command. Go - on and I'll ignore this command} - \else - \ccIndexSubitemBegin[p]{\ccIndexPackageName}{global functions}% - \fi - \else - \ccIndexSubitemBegin[C]{\ccIndexClassName}{global functions}% - \fi% - \fi% -} -{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue - \expandafter\expandafter\isEmpty{\ccIndexPackageName}% - \ifnum\ccBool=\ccTrue - \errmessage{You must be inside a package or class - environment to use this command. Go - on and I'll ignore this command} - \else - \ccIndexSubitemEnd[p]{\ccIndexPackageName}{global functions}% - \fi - \else - \ccIndexSubitemEnd[C]{\ccIndexClassName}{global functions}% - \fi - \fi% -} - -% -% Usage: \ccIndexGlobalFunctionGroup{group} -% -\newcommand{\ccIndexGlobalFunctionGroup}[1]{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexPackageName}% - \ifnum\ccBool=\ccTrue% - \errmessage{You must be inside a package or class - environment to use this command. Go - on and I'll ignore this command} - \else - \ccIndexSubsubitem[p]{\ccIndexPackageName}{global functions}{#1}% - \ifnum\ccIndexCrossRef=\ccTrue - \ccIndexSubitem{#1}{\ccIndexPackageFont \ccIndexPackageName}% - \fi - \fi - \else - \ccIndexSubsubitem[C]{\ccIndexClassName}{global functions}{#1}% - \ifnum\ccIndexCrossRef=\ccTrue - \ccIndexSubitem{#1}{\ccFont \ccIndexClassName}% - \fi - \fi - \fi% -} - -% -% Usage: \ccIndexImplementation -% -\newcommand{\ccIndexImplementation}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexPackageName}% - \ifnum\ccBool=\ccTrue% - \errmessage{You must be inside a package or class - environment to use this command. Go - on and I'll ignore this command} - \else - \ccIndexSubitem[p]{\ccIndexPackageName}{implementation}% - \fi - \else - \ccIndexSubitem[C]{\ccIndexClassName}{implementation}% - \fi% - \fi% -} - -% -% Usage: \ccIndexRequirements -% -\newcommand{\ccIndexRequirements}{% - \ifnum\ccIndex=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexClassName}% - \ifnum\ccBool=\ccTrue% - \expandafter\expandafter\isEmpty{\ccIndexPackageName}% - \ifnum\ccBool=\ccTrue% - \errmessage{You must be inside a package or class - environment to use this command. Go - on and I'll ignore this command} - \else - \ccIndexSubitem[p]{\ccIndexPackageName}{requirements}% - \fi - \else - \ccIndexSubitem[C]{\ccIndexClassName}{requirements}% - \fi - \fi% -} - -% ------------------------------------------------------------------------ -% Traits classes associated with a class or package -% ------------------------------------------------------------------------ - -% #1 name of traits class -% #2 semicolon-separated list of associated classes -% #3 semicolon-separated list of associated packages -\newcommand\ccIndexTraitsClassBegin[3]{ - \ifnum\ccIndex=\ccTrue% - \def\ccIndexClassName{#1}% - \ccIndexMainItemBegin[C]{\ccIndexClassName}% - \ifnum\ccIndexCrossRef=\ccTrue - \isEmpty{#2}\ifnum\ccBool=\ccFalse - \ccIndexTraitsClassForClasses{#2} - \fi - \isEmpty{#3}\ifnum\ccBool=\ccFalse - \ccIndexTraitsClassForPackages{#3} - \fi - \fi - \fi% -} -\newcommand\ccIndexTraitsClassEnd{ - \ifnum\ccIndex=\ccTrue% - \ccIndexMainItemEnd[C]{\ccIndexClassName}% - \fi - \def\ccIndexClassName{} -} - -\newcommand\ccIndexTraitsClassForClasses[1]{ - \ccIndexTraitsClassForClassesX#1;/ccEnd% -} -\def\ccIndexTraitsClassForClassesX#1;#2/ccEnd{ - \ccIndexSubsubitemSeeAlso[C]{#1}{traits class}{\ccFont \ccIndexClassName}% - \isEmpty{#2}\ifnum\ccBool=\ccFalse - \ccIndexTraitsClassForClassesX #2/ccEnd% - \fi -} - -\newcommand\ccIndexTraitsClassForPackages[1]{ - \ccIndexTraitsClassForPackagesX#1;/ccEnd% -} -\def\ccIndexTraitsClassForPackagesX#1;#2/ccEnd{ - \ccIndexSubsubitemSeeAlso[p]{#1}{traits class}{\ccFont \ccIndexClassName}% - \isEmpty{#2}\ifnum\ccBool=\ccFalse - \ccIndexTraitsClassForPackagesX #2/ccEnd% - \fi -} - -% -% Usage: -% \ccIndexTraitsClassDefault[p_or_C]{associated package or class} -% -\newcommand{\ccIndexTraitsClassDefault}[2][C]{% - \ifnum\ccIndex=\ccTrue% - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \errmessage{Associated package or class name empty. - I'm going to ignore this command} - \else - \ccIndexSubsubitem[#1]{#2}{traits class}{default}% - \fi \fi -} - -% -% Usage: -% \ccIndexTraitsClassRequirements[p_or_C]{associated package or class} -% -\newcommand{\ccIndexTraitsClassRequirements}[2][C]{% - \ifnum\ccIndex=\ccTrue% - \isEmpty{#2}\ifnum\ccBool=\ccTrue - \errmessage{Associated package or class name empty. - I'm going to ignore this command} - \else - \ccIndexSubsubitem[#1]{#2}{traits class}{requirements}% - \fi \fi -} - - -% ======================================================================== -% Internal commands -% ======================================================================== - -\def\noFont{} -\newif\ifdimmodifier -\newcommand{\ccIndexSeeAlso}[1]{\emph{see also} #1} -%\newcommand{\ccIndexSeeAlso}[1]{$\rightarrow$ #1} -\newcommand{\none}[1]{} - -% variables to hold the various pieces of text -\newcommand{\mainFont}{} -\newcommand{\mainModifier}{} -\newcommand{\mainUnmodifiedText}{} -\newcommand{\mainText}{} -\newcommand{\mainSeeText}{} -\newcommand{\subitemFont}{} -\newcommand{\subitemModifier}{} -\newcommand{\subitemUnmodifiedText}{} -\newcommand{\subitemText}{} -\newcommand{\subitemSeeAlsoText}{} -\newcommand{\subsubitemFont}{} -\newcommand{\subsubitemModifier}{} -\newcommand{\subsubitemUnmodifiedText}{} -\newcommand{\subsubitemText}{} -\newcommand{\subsubitemSeeAlsoText}{} - -% variables that say something about what kind of font is supplied -% with the text -\newcommand{\emptyIndexingFont}{\ccTrue}% -\newcommand{\indexingFontIsCC}{\ccFalse}% -\newcommand{\allowUnderscores}{\ccTrue}% -\newcommand{\inConcept}{\ccFalse}% - -% variable to hold the first type name for a global operator -\newcommand{\typeName}{}% - -% #1 - first character of category -% #2 - rest of category name (possibly empty) -% #3 - text of the form [\font] text[, modifier] -% #4 - place to put the font -% #5 - place to put the modifier -% #6 - place to put the unmodified text -\def\parseTextWithCategory#1#2\ccEnd#3#4#5#6{% -% \xdef\allowUnderscores{\ccFalse}% - \isEmpty{#1}\ifnum\ccBool=\ccTrue% unclassified item - \indexTextParse{\noFont}{#3}{#4}{#5}{#6}% - \else \if#1a% abbreviation - \indexTextParse{\ccIndexAbbreviationFont}{#3}{#4}{#5}{#6}% - \else \if#1C% class or other C++ name - \indexTextParse{\ccFont}{#3}{#4}{#5}{#6}% - \else \if#1c% concept - \indexTextParse{\ccIndexConceptFont}{#3}{#4}{#5}{#6}% -% \xdef\allowUnderscores{\ccTrue}% - \else \if#1d% data structure - \indexTextParse{\ccIndexDSFont}{#3}{#4}{#5}{#6}% - \else \if#1f% functionality - \indexTextParse{\ccIndexFunctionalityFont}{#3}{#4}{#5}{#6}% - \else \if#1h% hint - \indexTextParse{\ccIndexHintFont}{#3}{#4}{#5}{#6}% - \else \if#1l% library - \indexTextParse{\ccIndexLibraryFont}{#3}{#4}{#5}{#6}% - \else \if#1p% package - \indexTextParse{\ccIndexPackageFont}{#3}{#4}{#5}{#6}% - \else \if#1t% term - \indexTextParse{\ccIndexTermFont}{#3}{#4}{#5}{#6}% - \else% - \errmessage{Unknown indexing category: --#1--. - The indexing command will be ignored}% - \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi% -} - - -% #1 - category -% #2 - text in the form [\font] text[, modifier] -\newcommand{\mainTextParse}[2]{% - \parseTextWithCategory #1\ccEnd{#2}{\mainFont}{\mainModifier}% - {\mainUnmodifiedText}% - \makeIndexText{\mainFont}{\mainModifier}{\mainUnmodifiedText}% - {\mainText}{\mainSeeText}% -} - - -% #1 - subitem text in the form [\font] subitem[, modifier] -\newcommand{\subitemTextParse}[1]{% - \parseTextWithCategory{}\ccEnd{#1}% - {\subitemFont}{\subitemModifier}{\subitemUnmodifiedText}% - \makeIndexText{\subitemFont}{\subitemModifier}{\subitemUnmodifiedText}% - {\subitemText}{\subitemSeeText}% -} - - -% #1 - subitem text in the form [\font] subitem[, modifier] -\newcommand{\subitemSeeAlsoTextParse}[1]{% - \parseTextWithCategory{}\ccEnd{#1}% - {\subitemFont}{\subitemModifier}{\subitemUnmodifiedText}% - \makeIndexSeeAlsoText{\subitemFont}{\subitemModifier}% - {\subitemUnmodifiedText}{\subitemSeeAlsoText}% -} - - -% #1 - subsubitem text in the form [\font] text[, modifier] -\newcommand{\subsubitemTextParse}[1]{% - \parseTextWithCategory{}\ccEnd{#1}% - {\subsubitemFont}{\subsubitemModifier}{\subsubitemUnmodifiedText}% - \makeIndexText{\subsubitemFont}{\subsubitemModifier}% - {\subsubitemUnmodifiedText}{\subsubitemText}{\subsubitemSeeText}% -} - -% #1 - subsubitem text in the form [\font] text[, modifier] -\newcommand{\subsubitemSeeAlsoTextParse}[1]{% - \parseTextWithCategory{}\ccEnd{#1}% - {\subsubitemFont}{\subsubitemModifier}{\subsubitemUnmodifiedText}% - \makeIndexSeeAlsoText{\subsubitemFont}{\subsubitemModifier}% - {\subsubitemUnmodifiedText}{\subsubitemSeeAlsoText}% -} - - -% #1 is first character of a command (the \). Captured in the variable -% \commandChar so it can be used to compare against the first in the -% string of characters produced from the first token of a indexing text -% argument -% -% #2 is the rest of the command, which must be swallowed here or it -% will appear in the document -\def\captureCommandChar#1#2\ccEnd{% - \def\commandChar{#1}% -} - -% #1 - first in the string of characters representing a token (either a -% single character or a command) -% #2 - the rest of the string of characters -\def\isCommand#1#2\end{% - \expandafter\isCommandX\string#1\ccEnd% -} - -\def\isCommandX#1#2\ccEnd{% - \expandafter\captureCommandChar\string\bf\ccEnd% - \if#1\commandChar\ccBool=\ccTrue% - \else \ccBool=\ccFalse% - \fi% -} - - -% #1 - 0 if arg #2 should not be expanded, 1 if it should -% #2 - text argument for an indexing command -% -% Result: -% \indexingFont contains the leading command if there is one -% -% if there is a leading command and this command corresponds to an -% empty command, \emptyIndexingFont is set to true -% -% if there is a leading command and this command is \ccFont, -% \indexingFontIsCC is set to true -% -% \indexText contains the entire text -% -\def\findText#1#2{% - \ifx#2\leda % have to do this nasty special case testing because I can't - % find a way to get inside the braces to pick out the - % font and text here. #2 = {\sc Leda}. I need to remove the - % { and } to make it work with the rest of the macros. The - % \string command seems the best bet, but it doesn't produce - % the braces. - \ccBool=\ccTrue - \findTextX\sc Leda\end% - \else\ifx#2\stl - \ccBool=\ccTrue - \findTextX\sc STL\end% - \else\ifx#2\cgal - \ccBool=\ccTrue - \findTextX\sc Cgal\end% - \else - \ifx#11% text should be expanded - \edef\expandedText{#2}% - \expandafter\isCommand\expandedText\end% - \findTextX#2\end% - \else% - \ccBool=\ccFalse% must assume there is no command - \findTextX#2\end% - \fi% - \fi \fi \fi % -} - -% #1 - command or first character of text -% #2 - (remainder of) text -% -\def\findTextX#1#2\end{% - \ifnum\ccBool=\ccTrue % this is from the test for isCommand - \gdef\indexingFont{#1}% - \ifx#1\empty% - \xdef\emptyIndexingFont{\ccTrue}% - \fi% - \ifx#1\ccFont% - \xdef\indexingFontIsCC{\ccTrue}% - \fi% - \ifx#1\ccUnderscoreFont% - \xdef\allowUnderscores{\ccTrue}% - \fi% - \gdef\indexText{#2}% - \else% - \gdef\indexText{#1#2}% - \fi% -} - -\def\findFont#1{\findFontX#1\end} - -\def\findFontX#1{% - \ifx#1\end\let\next=\relax% - \else \if#1\sc\gdef\indexingFont{#1}% - \fi% - \let\next=\findFontX\fi\next% -} - -% -% Usage: \separateFontFromText{text_with_font} -% where text_with_font is of the form: [\font] text -% -% results in the definition of two macros: -% \indexingFont (possibly empty) and \indexText (without font) -% and two Boolean variables are set -% \emptyIndexingFont and \indexingFontIsCC -\def\separateFontFromText#1#2{% - \gdef\indexingFont{}% - \xdef\emptyIndexingFont{\ccFalse}% - \xdef\indexingFontIsCC{\ccFalse}% - \gdef\indexText{}% - {\findText{#1}{#2}}% braces are necessary to limit the scope of the font - % if there is one -} - -% Usage: \seaparteModifier{text_with_modifier} -% where text_with_modifier is of the form: text[, modifier] -% -% result: \modifier == modifier (possibly empty) and \unmodifiedText==text -\def\separateModifier#1#2{% - \ifx#11% - \edef\argument{#2}% needed in case the argument is a macro - \expandafter\separateModifierX\argument,\ccEnd% - \else% - \def\unmodifiedText{#2}% - \def\modifier{}% - \fi% -} -\def\separateModifierX #1,#2\ccEnd{% - \def\texParseLocalVar{#2}\ifx\texParseLocalVar\empty% - \def\unmodifiedText{#1}% - \def\modifier{}% - \else% - \def\unmodifiedText{#1}% - \texParseStripTrailingComma #2\ccEnd% - \fi% -} - -\def\texParseStripTrailingComma #1,\ccEnd{% - \isDimModifier{#1}% % determines if the modifier is a dimension modifier - \hasLeadingSpace{#1}\ifnum\ccBool=\ccTrue% - \def\modifier{#1}% - \else - \def\modifier{ #1}% make sure all modifiers are preceded by a space - % so duplicate entries are not produced - \fi -} - -% determines if the supplied argument is of the form -% 2D, 3D, or dD -% and sets the proper value for \isdimmodifier. -% -% ??? -% could perhaps be written more generally to look for any undesired -% modifier if I could figure out how to get TeX to walk through two -% strings of tokens at the same time -% ??? -\def\isDimModifier #1{% - \def\dparams{#1}\ifx\dparams\empty\dimmodifierfalse% - \else\isDimModifierX#1\ccEnd\fi% -}% - -\def\isDimModifierX #1#2\ccEnd{% - \dimmodifierfalse% - \ifx#2D% - \ifx#12\dimmodifiertrue\else% - \ifx#13\dimmodifiertrue\else% - \ifx#1d\dimmodifiertrue% - \fi \fi \fi \fi% -}% - -% -% #1 - 1 if second argument should be expanded -% - 0 if second argument should not be expanded -% #2 - text of the form [\font] text[, modifier] -% -% results in three definitions -% \modifier == modifier -% \unmodifiedText == text -% \indexingFont == \font -% -\def\parseText#1#2{% - \separateFontFromText{#1}{#2}% - \separateModifier{#1}{\indexText}% -} - - -% #1 = font -% #2 = modifier -% #3 = unmodified text -% #4 = place to put the regular entry text -% #5 = place to put the cross referencing entry text -\newcommand\makeIndexText[5]{% - \ifx#2\empty% no modifier - \ifnum\emptyIndexingFont=\ccTrue% no font - \ifnum\allowUnderscores=\ccTrue% allow underscores - \gdef#4{#3@\protect\ccConceptStyle{#3}}% - \else% don't allow underscores - \gdef#4{#3}% - \fi - \else\ifnum\indexingFontIsCC=\ccTrue% ccFont - \gdef#4{#3@\protect\ccc{#3}}% - \else% other font - \ifnum\allowUnderscores=\ccTrue% allow underscores - \gdef#4{#3@{#1 \protect\ccConceptStyle{#3}}}% - \else% don't allow underscores - \gdef#4{#3@{#1 #3}}% - \fi - \fi \fi% - \gdef#5{}% - \else\ifdimmodifier% dimension modifier - \ifnum\emptyIndexingFont=\ccTrue% no font - \ifnum\allowUnderscores=\ccTrue% allow underscores - \gdef#4{#3, #2@\protect\ccConceptStyle{#3, #2}}% - \else% don't allow underscores - \gdef#4{#3, #2}% - \fi - \else\ifnum\indexingFontIsCC=\ccTrue% ccFont - \gdef#4{#3, #2@\protect\ccc{#3, #2}}% - \else% other font - \ifnum\allowUnderscores=\ccTrue% allow underscores - \gdef#4{#3, #2@{#1 \protect\ccConceptStyle{#3, #2}}}% - \else% don't allow underscores - \gdef#4{#3, #2@{#1 #3, #2}}% - \fi - \fi \fi% - \gdef#5{}% - \else\ifnum\ccIndexModifierCrossRef=\ccFalse% no cross referencing wanted - \ifnum\emptyIndexingFont=\ccTrue% no font - \ifnum\allowUnderscores=\ccTrue% allow underscores - \gdef#4{#3, #2@\protect\ccConceptStyle{#3, #2}}% - \else% don't allow underscores - \gdef#4{#3, #2}% - \fi - \else\ifnum\indexingFontIsCC=\ccTrue% ccFont - \gdef#4{#3, #2@\protect\ccc{#3, #2}}% - \else% other font - \ifnum\allowUnderscores=\ccTrue% allow underscores - \gdef#4{#3, #2@{#1 \protect\ccConceptStyle{#3, #2}}}% - \else% don't allow underscores - \gdef#4{#3, #2@{#1 #3, #2}}% - \fi - \fi \fi% - \gdef#5{}% - \else% non-dimensional modifier - \ifnum\emptyIndexingFont=\ccTrue% no font - \ifnum\allowUnderscores=\ccTrue% allow underscores - \gdef#4{#3, #2@\protect\ccConceptStyle{#3, #2}}% - \gdef#5{#2\ #3@\protect\ccConceptStyle{#2\ #3}|see{\protect\ccConceptStyle{#3, #2}}}% - \else% don't allow underscores - \gdef#4{#3, #2}% - \gdef#5{#2\ #3|see{#3, #2}}% - \fi - \else\ifnum\indexingFontIsCC=\ccTrue% ccFont - \gdef#4{#3, #2@\protect\ccc{#3, #2}}% - \gdef#5{#2\ #3@\protect\ccc{#2\ #3}|see{\protect\ccc{#3, #2}}}% - \else% other font; no _s possible - \gdef#4{#3, #2@{#1 #3, #2}}% - \gdef#5{#2\ #3@{#1 #2\ #3}|see{{#1 #3, #2}}}% - \fi \fi% - \ifnum\ccIndexModifierCrossRef=\ccFalse% - \gdef#5{}% - \fi% - \fi \fi \fi% -} - -% #1 = font -% #2 = modifier -% #3 = unmodified text -% #4 = place to put the text that will come after "see also" -\newcommand\makeIndexSeeAlsoText[4]{% - \ifx#2\empty% no modifier - \ifnum\emptyIndexingFont=\ccTrue% no font - \gdef#4{ZZZ#3@\ccIndexSeeAlso{#3}}% - \else\ifnum\indexingFontIsCC=\ccTrue% ccFont - \gdef#4{ZZZ#3@\ccIndexSeeAlso{\protect\ccc{#3}}}% - \else% other font - \gdef#4{ZZZ#1 #3@\ccIndexSeeAlso{{#1 #3}}}% - \fi \fi% - \else% modifier - \ifnum\emptyIndexingFont=\ccTrue% no font - \gdef#4{ZZZ#3, #2@\ccIndexSeeAlso{#3, #2}}% - \else\ifnum\indexingFontIsCC=\ccTrue% ccFont - \gdef#4{ZZZ#3, #2@\ccIndexSeeAlso{{\protect\ccc{#3, #2}}}}% - \else% other font - \gdef#4{ZZZ#3, #2@\ccIndexSeeAlso{{#1 #3, #2}}}% - \fi \fi% - \fi% -} - -\def\containsInteriorCommandX#1 #2\ccEnd{% - \isEmpty{#2}\ifnum\ccBool=\ccFalse% - \expandafter\isCommand#2\end% - \ifnum\ccBool=\ccFalse% - \containsInteriorCommandX#2 \ccEnd% - \fi% - \else% - \ccInvert% - \fi% -} - -\def\containsInteriorCommand#1{% - \expandafter\captureCommandChar\string\bf\ccEnd% - \edef\expandedText{#1 }% - \expandafter\containsInteriorCommandX\expandedText \ccEnd% -} - - -% #1 font for main item if one not supplied in #2 -% if no font is to be used, supply \noFont as the first argument -% if this is left blank (as in \indexTextParse{}...) the test -% \ifx#1\empty% will be false. If this option is desired, you will -% have to add -% \isEmpty{#1}\ifnum\ccBool=\ccTrue% -% \xdef\emptyIndexingFont{\ccTrue} -% \fi% -% AS WELL AS the test \ifx#1\empty -% #2 main text in the form: [\font] text[, modifier] -% #3 the place to put the font -% #4 the place to put the modifier -% #5 the place to put the unmodified text -\newcommand\indexTextParse[5]{% - \isEmpty{#2}\ifnum\ccBool=\ccTrue% empty text argument - \errmessage{Empty text argument in indexing command; makeindex won't - like this}% - \edef#3{}% - \xdef\emptyIndexingFont{\ccTrue}% - \xdef\fontIsCC{\ccFalse}% - \edef#4{}% - \edef#5{}% - \else\containsInteriorCommand{#2}\ifnum\ccBool=\ccTrue% - \typeout{}% - \typeout{***Index Warning***}% - \typeout{ Your indexing text contains formatting commands in - the interior. I'll do what I can with this, but - you may be in trouble.}% - \typeout{}% - \parseText{0}{#2}% - \def#5{\unmodifiedText}% - \ifx\modifier\empty% - \def#4{}% - \else% - \def#4{\modifier}% - \fi% - \ifx\indexingFont\empty% - \ifx#1\empty% - \xdef\emptyIndexingFont{\ccTrue}% - \fi% - \ifx#1\ccFont% - \xdef\indexingFontIsCC{\ccTrue}% - \fi% - \ifx#1\ccUnderscoreFont% - \xdef\allowUnderscores{\ccTrue}% - \fi% - \let#3=#1% - \else% - \let#3=\indexingFont% - \fi% - \else% - \parseText{1}{#2}% - \removeTrailingSpaces{\unmodifiedText}% - \edef#5{\accumulator}% - \isEmpty{\modifier}\ifnum\ccBool=\ccFalse% - \removeTrailingSpaces{\modifier}% - \edef#4{\accumulator}% - \else% - \edef#4{\modifier}% - \fi% - \ifx\indexingFont\empty% - \ifx#1\empty% - \xdef\emptyIndexingFont{\ccTrue}% - \fi% - \ifx#1\ccFont% - \xdef\indexingFontIsCC{\ccTrue}% - \fi% - \ifx#1\ccUnderscoreFont% - \xdef\allowUnderscores{\ccTrue}% - \fi% - \let#3=#1% - \else% - \let#3=\indexingFont% - \fi% - \fi \fi% -}% - - -% -% #1 - first word -% #2 - rest of the words, if any -% #3 - 0 if operator, 1 for anything else -% #4 - place to put the last word -% -\def\findLastWord#1 #2\ccEnd#3#4{% - \isEmpty{#2}\ifnum\ccBool=\ccTrue% - \ifnum#3=1% - \isLetter{#1}\ifnum\ccBool=\ccTrue% - \gdef#4{#1}% - \else - \removeNonLetterFromLastWord#1\ccEnd#4% - \fi - \else - \gdef#4{#1}% - \fi - \else - \findLastWord#2 \ccEnd#3#4% - \ifx#4\empty - \removeScopePrefixFromLastWord#1::\ccEnd\lastWord% - \fi - \fi -} - -% #1 -- everything up to the first <, which could include a const -% and will include the type name -% #2 -- first template parameter, which is of no interest (maybe empty) -% -\def\findFirstTypeName #1<#2\ccEnd{% - \isEmpty{#2}\ifnum\ccBool=\ccFalse% - \findLastWord #1 \ccEnd0\typeName% - \else % no templated parameters, so #1 contains entire list of parameters - \ifnum\ccOperatorCat=\ccExtractionOperator% first type name is stream - \findSecondTypeName #1,\ccEnd% - \else\ifnum\ccOperatorCat=\ccInsertionOperator% first type name is stream - \findSecondTypeName #1,\ccEnd% - \else% - \findFirstTypeNameX #1,\ccEnd% - \fi\fi% - \fi% -} -\def\findFirstTypeNameX #1 #2,#3\ccEnd{% - \isEmpty{#1}\ifnum\ccBool=\ccTrue % gets rid of leading spaces in type name - \findFirstTypeNameX #2,#3\ccEnd% - \else - \def\typeName{#1}% - \fi -} - -% #1 -- everything up to the first comma (i.e., the first parameter) -% #2 -- everything after the first comma -% -\def\findSecondTypeName #1,#2\ccEnd{% - \isEmpty{#2}\ifnum\ccBool=\ccTrue% - \findLastWord #1 \ccEnd0\typeName% no second parameter so first parameter - % is used. This shouldn't happen. - \else % there is a second parameter but it has no template argument - \findSecondTypeNameX #2&\ccEnd% - \fi% -} -% #1 -- everything up to the first & -% #2 -- name of parameter (perhaps empty if paramenter not passed by reference) -\def\findSecondTypeNameX #1\ccEnd{% - \isEmpty{#2}\ifnum\ccBool=\ccFalse% type name should be just before the & - \findLastWord #1 \ccEnd0\typeName% - \else % parameter not passed by reference, so find the type name as the - % next-to-last word in #1 - \findSecondTypeNameXX #1 \ccEnd% - \fi -} - -% #1 -- typename, possibly including a const -% #2 -- parameter name -\def\findSecondTypeNameXX #1 #2\ccEnd{% - \isEmpty{#1}\ifnum\ccBool=\ccTrue % get rid of leading spaces - \findSecondTypeNameXX #2\ccEnd% - \else - \findLastWord #1 \ccEnd0\typeName% - \fi -} - -% #1 stuff before first :: -% #2 stuff after first :: -% #3 place to put the stripped name -\def\removeScopePrefixFromLastWord#1::#2\ccEnd#3{% - \def\localVar{#2}\ifx\localVar\empty% - \def#3{#1}% - \else% - \stripTrailingScope#2\ccEnd#3% - \fi% -} - - -% #1 stuff before first :: -% #2 stuff after first :: -% #3 place to put the stripped name -\def\stripTrailingScope#1::#2\ccEnd#3{% - \xdef#3{#1}% -} - -\def\removeNonLetterFromLastWord#1#2\ccEnd#3{% - \isEmpty{#2}\ifnum\ccBool=\ccTrue% - \def#3{}% - \else \isLetter{#2}\ifnum\ccBool=\ccTrue% - \def#3{#2}% - \else% - \removeNonLetterFromLastWord#2\ccEnd#3% - \fi \fi% -} - -% #1 - 0 for member function, 1 for global function -% #2 - possibly part of the return type plus the function name -\newcommand\ccIndexFunction[2]{% - \ifnum\ccIndex=\ccTrue% - \findLastWord #2 \ccEnd1\lastWord% - \ifnum#1=0% - \ccIndexMemberFunction{\lastWord}% - \else% - \ccIndexGlobalFunction{\lastWord}% - \fi% - \fi% -} - -\newcommand\ccIndexFunctionBegin[2]{% - \ifnum\ccIndex=\ccTrue% - \expandafter\findLastWord #2 \ccEnd1\lastWord% - \ifnum#1=0% - \ccIndexMemberFunctionBegin{\lastWord}% - \else% - \ccIndexGlobalFunctionBegin{\lastWord}% - \fi% - \fi% -} -\newcommand\ccIndexFunctionEnd[2]{% - \ifnum\ccIndex=\ccTrue% - \expandafter\findLastWord #2 \ccEnd1\lastWord% - \ifnum#1=0% - \ccIndexMemberFunctionEnd{\lastWord}% - \else% - \ccIndexGlobalFunctionEnd{\lastWord}% - \fi% - \fi% -} - -% if the operator begins with !, @ or |, then it must be quoted in the -% indexing entry since these characters have special meaning otherwise. -% These two macros look for these three characters at the beginning of -% the operator. It is assumed that such characters will not appear -% in the interior. -\def\isAnIndexOperator#1{% - \isAnIndexOperatorX#1\ccEnd% -}% -\def\isAnIndexOperatorX#1#2\ccEnd{% - \ccBool=\ccFalse% - \if#1!\ccBool=\ccTrue% - \else\if#1@\ccBool=\ccTrue% - \else\if#1|\ccBool=\ccTrue\fi\fi\fi% -} - -% #1 -- the operator -\def\escapeIndexOperatorSymbols#1{% - \gdef\escapedLastWord{}% - \expandafter\escapeIndexOperatorSymbolsX#1\ccEnd% -} - -% #1 -- first operator character -% #2 -- rest of operator -\def\escapeIndexOperatorSymbolsX#1#2\ccEnd{ - \isEmpty{#2}\ifnum\ccBool=\ccFalse% - \escapeIndexOperatorSymbolsX#2\ccEnd% - \isAnIndexOperator{#1}\ifnum\ccBool=\ccTrue% - \edef\escapedLastWord{"#1\escapedLastWord}% - \else% - \edef\escapedLastWord{#1\escapedLastWord}% - \fi% - \else% - \isAnIndexOperator{#1}\ifnum\ccBool=\ccTrue% - \edef\escapedLastWord{"#1\escapedLastWord}% - \else% - \edef\escapedLastWord{#1\escapedLastWord}% - \fi% - \fi% -} - -\newcount\ccOperatorCat -\newcount\ccNotAnIndexOperator \ccNotAnIndexOperator=0 -\newcount\ccSingleVerticalBar \ccSingleVerticalBar=1 -\newcount\ccDoubleVerticalBar \ccDoubleVerticalBar=2 -\newcount\ccSingleExclamation \ccSingleExclamation=3 -\newcount\ccDoubleExclamation \ccDoubleExclamation=4 -\newcount\ccSingleAmpersand \ccSingleAmpersand=5 -\newcount\ccDoubleAmpersand \ccDoubleAmpersand=6 -\newcount\ccAmpersandEqual \ccAmpersandEqual=7 -\newcount\ccExclamationEqual \ccExclamationEqual=8 -\newcount\ccVerticalBarEqual \ccVerticalBarEqual=9 -\newcount\ccSingleAt \ccSingleAt=10 -\newcount\ccInsertionOperator \ccInsertionOperator=11 -\newcount\ccExtractionOperator \ccExtractionOperator=12 -\newcount\ccModOperator \ccModOperator=13 -\newcount\ccModEqualOperator \ccModEqualOperator=14 -\newcount\ccPowerOperator \ccPowerOperator=15 -\newcount\ccPowerEqualOperator \ccPowerEqualOperator=16 -\newcount\ccTildeOperator \ccTildeOperator=17 - -\def\whichOperator#1{ - \ccOperatorCat=\ccNotAnIndexOperator% - \expandafter\whichOperatorX #1\ccEnd% -} - -%% change catcodes here in order to detect the %, %=, ^ and ^= operators -%% properly -\begingroup -\ccCatcode \catcode`\#=6 \catcode`\@=14 -\gdef\whichOperatorX #1#2\ccEnd{ - \isEmpty{#2}\ifnum\ccBool=\ccTrue@ - \ifx#1%\ccOperatorCat=\ccModOperator@ - \else\if#1^\ccOperatorCat=\ccPowerOperator@ - \else\if#1~\ccOperatorCat=\ccTildeOperator@ - \else\if#1!\ccOperatorCat=\ccSingleExclamation@ - \else\if#1|\ccOperatorCat=\ccSingleVerticalBar@ - \else\if#1@\ccOperatorCat=\ccSingleAt@ - \else\if#1&\ccOperatorCat=\ccSingleAmpersand\fi\fi\fi\fi\fi\fi\fi@ - \else@ two-character operators - \if#1!\if#2!\ccOperatorCat=\ccDoubleExclamation\fi\fi@ - \if#1!\if#2=\ccOperatorCat=\ccExclamationEqual\fi\fi@ - \if#1|\if#2|\ccOperatorCat=\ccDoubleVerticalBar\fi\fi@ - \if#1|\if#2=\ccOperatorCat=\ccVerticalBarEqual\fi\fi@ - \if#1&\if#2&\ccOperatorCat=\ccDoubleAmpersand\fi\fi@ - \if#1&\if#2=\ccOperatorCat=\ccAmpersandEqual\fi\fi@ - \if#1>\if#2>\ccOperatorCat=\ccInsertionOperator\fi\fi@ - \if#1<\if#2<\ccOperatorCat=\ccExtractionOperator\fi\fi@ - \if#1%\if#2=\ccOperatorCat=\ccModEqualOperator\fi\fi@ - \if#1^\if#2=\ccOperatorCat=\ccPowerEqualOperator\fi\fi@ - \fi@ -} -\endgroup - -% #1 -- 0 if a member function; 1 if a global function -% #2 -- (part of) the return type of the operator -% #3 -- the operator, possibly with leading or trailing spaces -% #4 -- parameter list, which is needed for global operators -\def\ccIndexOperator#1#2operator#3,#4,\ccEnd{% - \ifnum\ccIndex=\ccTrue% - \findLastWord #3 \ccEnd0\lastWord% % gets rid of leading spaces - \whichOperator\lastWord% - \ifnum#1=0% - \escapeIndexOperatorSymbols\lastWord% - \ifnum\inConcept=\ccTrue - \ccIndexOperatorSubitem{\escapedLastWord}{\ccIndexConceptFont \ccIndexClassName}% - \else - \ccIndexOperatorSubitem{\escapedLastWord}{\ccFont \ccIndexClassName}% - \fi - \else% - \escapeIndexOperatorSymbols\lastWord% - \findFirstTypeName #4<\ccEnd% - \ccIndexGlobalOperator{\escapedLastWord}{\typeName}% - \fi% - \fi% -} - -% -% variables to indicate what kind of formatting command has last been -% used -% -\newcount\ccCurrentIndexCat -\newcount\ccIndexEnumCat \ccIndexEnumCat=0 -\newcount\ccIndexStructCat \ccIndexStructCat=1 -\newcount\ccIndexTypedefCat \ccIndexTypedefCat=2 -\newcount\ccIndexVariableCat \ccIndexVariableCat=3 -\newcount\ccIndexConstantCat \ccIndexConstantCat=4 -\newcount\ccIndexConceptCat \ccIndexConceptCat=5 -\newcount\ccIndexFunctionCat \ccIndexFunctionCat=6 -\newcount\ccIndexFunctionObjectConceptCat \ccIndexFunctionObjectConceptCat=7 -\newcount\ccIndexFunctionObjectClassCat \ccIndexFunctionObjectClassCat=8 -\newcount\ccIndexClassCat \ccIndexClassCat=9 -\newcount\ccIndexMacroCat \ccIndexMacroCat=10 - -% #1 - enum tag -% #2 - value assigned (possibly empty) -\def\removeAssignmentAndIndex#1=#2\ccEnd{% - \ccIndexEnumTag{#1}% -} - -% #1 - comma-separated list of enum tags, possibly with value assignments -\def\findEnumTags#1{% - \findEnumTagsX#1,\ccEnd% -} - -% #1 - enum tag of the form TAG[ = value] -% #2 - rest of the list of tags (possibly empty) -\def\findEnumTagsX#1,#2\ccEnd{% - \def\localVar{#2}\ifx\localVar\empty% - \removeAssignmentAndIndex#1=\ccEnd% - \else% - \removeAssignmentAndIndex#1=\ccEnd% - \findEnumTagsX#2\ccEnd% - \fi% -} - -% #1 - enum or struct name together with C++ key words "enum" or "struct" -% #2 - list of enum tags or struct fields -\def\ccIndexEnumOrStruct#1\{#2\}\ccEnd{% - \ifnum\ccIndex=\ccTrue% - \findLastWord #1 \ccEnd1\lastWord% - \ifnum\ccCurrentIndexCat=\ccIndexEnumCat% - \ccIndexEnum{\lastWord}% - \findEnumTags{#2}% - \else - \ccIndexGlobalStruct{\lastWord}% - \fi% - \fi% -} - -% #1 - typedef or variable name possibly with preceding key words -\def\ccIndexTypedefOrVariable#1{% - \ifnum\ccIndex=\ccTrue% - \findLastWord #1 \ccEnd1\lastWord% - \ifnum\ccCurrentIndexCat=\ccIndexTypedefCat% - \ccIndexTypedef{\lastWord}% - \else - \ccIndexGlobalVariable{\lastWord}% - \fi - \fi% -} - -% -% #1 - a single text argument for indexing, possibly with trailing spaces -% -% result: \accumulator will contain the same text with any trailing spaces -% removed -\def\removeTrailingSpaces#1{% - \gdef\accumulator{}% - \edef\argument{#1 }% needed in case the argument is a macro - \expandafter\removeTrailingSpacesX\argument \ccEnd% -} - - -\def\removeTrailingSpacesX#1 #2\ccEnd{% - \isEmpty{#2}\ifnum\ccBool=\ccTrue% - \ifx\accumulator\empty% - \gdef\accumulator{#1}% - \else% - \edef\previous{\accumulator\ }% - \gdef\accumulator{\previous #1}% - \fi% - \else% - \ifx\accumulator\empty% - \gdef\accumulator{#1}% - \else% - \edef\previous{\accumulator\ }% - \gdef\accumulator{\previous #1}% - \fi% - \removeTrailingSpacesX#2 \ccEnd% - \fi% -} - -% #1 - everything up to the first "<" -% #2 - everything after the first "<" -% #3 - the place to put the stripped class name -\gdef\ccStripTemplates #1<#2\ccEnd#3{% - \gdef#3{#1} -} - -% -% in \ccRefDeclarationX, the argument to a \begin{ccRef...}{} -% is stored in \ccPureClassTemplateName (even when is not -% "Class"), so this is the name to use for indexing. If an optional -% argument was given as in \begin[scope::]{ccRef...}, it has been -% stored in \ccIndexClassName without the trailing "::", if any. -% -\def\ccIndexRefDeclarationBegin{% -% -% replaces the value of ccIndexClassName by the name stored in -% ccPureClassTemplateName since the names of nested classes are not indexed -% under the nesting class. -% - \ifnum\ccCurrentIndexCat=\ccIndexClassCat% - \expandafter\ccStripTemplates\ccPureClassTemplateName<\ccEnd\ccIndexClassName% - \ccIndexMainItemBegin[C]{\ccIndexClassName}% - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectClassCat% - \expandafter\ccStripTemplates\ccPureClassTemplateName<\ccEnd\ccIndexClassName% - \ccIndexMainItemBegin[C]{\ccIndexClassName}% - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionCat% - \expandafter\expandafter\isEmpty\ccIndexClassName\ifnum\ccBool=\ccTrue% - \ccIndexFunctionBegin1\ccPureClassTemplateName% - \else - \ccIndexFunctionBegin0\ccPureClassTemplateName% - \fi -% concepts can act like classes in the sense that they have things that look -% like member functions and all that, so ccIndexClassName needs to be defined - \else\ifnum\ccCurrentIndexCat=\ccIndexConceptCat% - \xdef\inConcept{\ccTrue} - \expandafter\ccStripTemplates\ccPureClassTemplateName<\ccEnd\ccIndexClassName% - \ccIndexMainItemBegin[c]{\ccIndexClassName}% - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectConceptCat% - \xdef\inConcept{\ccTrue} - \expandafter\ccStripTemplates\ccPureClassTemplateName<\ccEnd\ccIndexClassName% - \ccIndexMainItemBegin[c]{\ccIndexClassName}% - \else% all other things are C++ names - \expandafter\expandafter\isEmpty{\ccIndexClassName}\ifnum\ccBool=\ccTrue - \ccIndexMainItemBegin[C]{\ccPureClassTemplateName}% - \else - \ccIndexSubitemBegin[C]{\ccIndexClassName}{\ccFont \ccPureClassTemplateName}% - \fi - \fi\fi\fi\fi\fi% -} - -\def\ccIndexRefDeclarationEnd{% - \ifnum\ccCurrentIndexCat=\ccIndexClassCat% - \ccIndexMainItemEnd[C]{\ccIndexClassName}% - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectClassCat% - \ccIndexMainItemEnd[C]{\ccIndexClassName}% - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionCat% - \expandafter\expandafter\isEmpty{\ccIndexClassName}\ifnum\ccBool=\ccTrue - \ccIndexFunctionEnd1\ccPureClassTemplateName% - \else - \ccIndexFunctionEnd0\ccPureClassTemplateName% - \fi - \else\ifnum\ccCurrentIndexCat=\ccIndexConceptCat% - \xdef\inConcept{\ccFalse} - \ccIndexMainItemEnd[c]{\ccIndexClassName}% - \else\ifnum\ccCurrentIndexCat=\ccIndexFunctionObjectConceptCat% - \ccIndexMainItemEnd[c]{\ccIndexClassName}% - \xdef\inConcept{\ccFalse} - \else% all other things are C++ names - \expandafter\expandafter\isEmpty{\ccIndexClassName}\ifnum\ccBool=\ccTrue - \ccIndexMainItemEnd[C]{\ccPureClassTemplateName}% - \else - \ccIndexSubitemEnd[C]{\ccIndexClassName}{\ccFont \ccPureClassTemplateName}% - \fi - \fi\fi\fi\fi\fi% - \gdef\ccIndexClassName{}% -} diff --git a/Manual_tools/format/cprog.old.sty b/Manual_tools/format/cprog.old.sty deleted file mode 100644 index ebd37df29ec..00000000000 --- a/Manual_tools/format/cprog.old.sty +++ /dev/null @@ -1,176 +0,0 @@ -% cprog.tex (or cprog.sty) - formatting of C programs -% By Eamonn McManus . This file is not copyrighted. -% $Id$ -% see further comments at the end of the file - -% This allows C programs to be formatted directly by TeX. It can be -% invoked by \cprogfile{filename} or (in LaTeX) \begin{cprog} ... -% \end{cprog} or (in plain TeX) \cprog ... \end{cprog}. In LaTeX, the -% alternative form \begin{cprog*} is allowed, where spaces in C strings -% are printed using the `square u' character (like LaTeX {verbatim*}). -% In plain TeX, you have to use \csname cprog*\endcsname for this (sorry). -% If you are using \cprogfile, say \cprogttspacetrue beforehand if you -% want this effect. - -% The formatting is (necessarily) simple. C text is set in a normal Roman -% font, comments in a slanted font, and strings in a typewriter font, with -% spaces made visible as the `square u' symbol. Tabs are expanded to four -% spaces (this does not look good when comments are aligned to the right of -% program text). Some pairs of input characters appear as single output -% characters: << <= >> >= != -> are respectively TeX's \ll \le \gg \ge \ne -% \rightarrow. - -% The fonts below can be changed to alter the setting of the various parts -% of the program. The \cprogbaselineskip parameter can be altered to -% change the line spacing. LaTeX's \baselinestretch is taken into account -% too. The indentation applied to the whole program is \cprogindent, -% initially 0. Before and after the program there are skips of -% \beforecprogskip and \aftercprogskip; the default values are \parskip -% and 0 respectively (since there will often be a \parskip after the -% program anyway). - -% This package works by making a large number of characters active. Since -% even spaces are active, it is possible to examine the next character in -% a macro by making it a parameter, rather than using \futurelet as one -% would normally do. This is more convenient, but the coding does mean -% that if the next character itself wants to examine a character it may -% look at a token from the macro rather than the input text. I think that -% all cases that occur in practice have been looked after. - -% The macros were thrown together rather quickly, and could do with some -% work. For example, the big macro defined with @[] taking the place of -% \{} could be recoded to use \{} and so be more legible. The grouping of -% two-character pairs should be controllable, since not everyone will want -% it. The internal macros etc should have @ in their names, and should be -% checked against LaTeX macros for clashes. - -% Allow multiple inclusion to go faster. -\ifx\undefined\cprogsetup % The whole file. - -% Define the fonts used for program text, comments, and strings. -% Note that if \it is used for \ccommentfont, something will need to -% be done about $ signs, which come out as pounds sterling. -\let\ctextfont=\tt \let\ccommentfont=\sl \let\cstringfont=\tt - -% Parameters. Unfortunately \newdimen is \outer (\outerness is a mistake) -% so we need a subterfuge in case we are skipping the file. -\csname newdimen\endcsname\cprogbaselineskip \cprogbaselineskip=\baselineskip -\csname newdimen\endcsname\cprogindent \cprogindent=5pt -\csname newskip\endcsname\beforecprogskip \beforecprogskip=\parskip -\csname newskip\endcsname\aftercprogskip \aftercprogskip=\parskip -\csname newif\endcsname\ifcprogttspace {\let\junk\fi} % if skipping - -\def\makeactive#1{\catcode`#1=\active} \def\makeother#1{\catcode`#1=12} -{\obeyspaces\gdef\activespace{ } \obeylines\gdef\activecr{^^M}} -{\catcode`|=\catcode`\\ \makeactive\\ |gdef|activebackslash{\}} -{\catcode9=\active \gdef\activetab{^^I}} -\def\spacewidthof{\fontdimen2} % Width of a space in the following font. - -% The following group makes many characters active, so that their catcodes -% in the \cprogchars macro are active, allowing them to be defined. We -% could alternatively define more stuff like \activebackslash and use -% \expandafter or (carefully) \edef to expand these in the macro. -\begingroup -\catcode`[=\catcode`{ \catcode`]=\catcode`} -\makeactive! \makeactive" \makeactive' \makeactive* \makeactive- \makeactive/ -\makeactive< \makeactive> \makeactive\{ \makeactive\} \makeactive| -\gdef\activestar[*] -\gdef\cprogchars[% - \makeother##\makeother$\makeother&\makeother\%\makeother^% - \makeactive"\makeactive'\makeactive*\makeactive-\makeactive/% - \makeactive<\makeactive>\makeactive{\makeactive}\makeactive|% - \makeactive!\makeactive\\\makeactive_\expandafter\makeactive\activetab% - \def!##1[\ifx=##1$\ne$\else\string!##1\fi]% - \def-##1[\ifx>##1$\rightarrow$\else$\string-$##1\fi]% - \def"[\cquote"]\def'[\cquote']\def*[$\string*$]% - % We use \aftergroup in < and > to deal with the fact that #1 might - % itself examine the following character. - \def<##1[[$\ifx<##1\ll$\else\ifx=##1\le$\else - \string<$\aftergroup##1\fi\fi]]% - \def>##1[[$\ifx>##1\gg$\else\ifx=##1\ge$\else - \string>$\aftergroup##1\fi\fi]]% - \def{[$\string{$]\def}[$\string}$]\def|[$\string|$]\def~[$\sim$]% - \expandafter\def\activebackslash[$\backslash$]% - \let/=\ccomment - \obeyspaces \expandafter\def\activespace[\leavevmode\space]% - \expandafter\def\activetab[\ \ \ \ ]% - \obeylines \expandafter\def\activecr[\strut\par]] -\gdef\cprogarg[\expandafter\def\activebackslash##1[\ifx##1e\let\next\cprogend - \else$\backslash$\let\next##1\fi\next]\eatcr] -\gdef\cprogend nd#1{cprog#2}[\endcprogarg] % #1 can be space, #2 *. -\endgroup - -\begingroup \makeactive" \makeactive' -\gdef\cquote#1{% #1 is the quote, " or '. - \begingroup \tt\string#1\cstringfont \makeactive\\% - \expandafter\let\activebackslash\quotebackslash - \expandafter\edef\activespace{\ifcprogttspace\char`\ \else\ \fi}% - \expandafter\let\activecr=\unclosedstring - \makeother!\makeother*\makeother-\makeother/\makeother<\makeother>% - \makeother_\makeother\{\makeother\}\makeother|\makeother~% - \ifx"#1\def'{\char13}\else\makeother"\fi - \def#1{\tt\string#1\endgroup}} -\endgroup -\def\unclosedstring{% - \errhelp{A string or character constant earlier in the line was unclosed.^^J -So I'm closing it now.}% - \errmessage{Unclosed string}% - \endgroup} -\newlinechar=`^^J -\def\quotebackslash#1{\char`\\% - \expandafter\ifx\activecr#1\strut\par - \else\string#1\fi} - -% In a comment, we shrink the width of the opening / to that of a space so -% that the stars in multiline comments will line up. We also shrink the -% closing * for symmetry. -% Note that \end{cprog} is not recognised in strings or comments. -\def\spacebox#1{\leavevmode \hbox to \spacewidthof\font{#1\hss}} -\begingroup \makeactive* -\gdef\ccomment#1{% - \ifx#1*\begingroup \ccommentfont - % We want the width of a space in \ccommentfont, not \ctextfont. - \spacebox{\ctextfont\string/}*% - \makeother-\makeother'\makeother"\makeother/% - \expandafter\def\activebackslash{$\backslash$}% - \makeactive*\let*=\commentstar - \else \leavevmode\string/#1\kern-1pt % - \fi} -\makeother* \makeother/ -\gdef\commentstar#1{% - \ifx #1/\endgroup \spacebox{$*$}\string/\let\next\relax% - \else $*$\let\next#1% - \fi\next} -\endgroup - -% We usually have an active ^^M after \cprog or \begin{cprog}. -\def\eatcr#1{{\expandafter\ifx\activecr#1\else\aftergroup#1\fi}} - -% Expand to stretch and shrink (plus and minus) of parameter #1. -\def\stretchshrink#1{\expandafter\eatdimenpart\the#1 \end} -\def\eatdimenpart#1 #2\end{#2} - -\ifx\undefined\baselinestretch \def\baselinestretch{1}\fi - -\def\cprogsetup{\cprogchars \small \ctextfont \parskip=0pt\stretchshrink\parskip - \baselineskip=\baselinestretch\cprogbaselineskip \parindent=\cprogindent - \vskip\beforecprogskip } -\def\endcprog{\endgroup \normalsize \vskip\aftercprogskip} -\def\cprogfile#1{\begingroup \cprogsetup \input#1\endcprog} -% The {cprog} environment or \cprog macro reads in all the argument text. -% By making the C definition of \ much cleverer we could avoid this. -\def\cprog{\begingroup \cprogttspacefalse \cprogsetup \cprogarg} -% Like {verbatim*}, {cprog*} uses `square u' for spaces in quoted strings. -\expandafter\def\csname cprog*\endcsname{% - \begingroup \cprogttspacetrue \cprogsetup \cprogarg} -\expandafter\let\csname endcprog*\endcsname=\endcprog -% In LaTeX we need to call \end{cprog} properly to close the environment, -% whereas in plain TeX this will end the job. The test for LaTeX is not -% bulletproof, but most plain TeX documents don't refer to the LaTeX logo. -\ifx\undefined\LaTeX \let\endcprogarg=\endcprog -\else \def\endcprogarg{\ifcprogttspace\end{cprog*}\else\end{cprog}\fi} -\fi - -\fi % \ifx\undefined\cprogsetup - -\endinput diff --git a/Manual_tools/format/cprog.sty b/Manual_tools/format/cprog.sty deleted file mode 100644 index 9bf77d2ab28..00000000000 --- a/Manual_tools/format/cprog.sty +++ /dev/null @@ -1,176 +0,0 @@ -% cprog.tex (or cprog.sty) - formatting of C programs -% By Eamonn McManus . This file is not copyrighted. -% $Id$ -% see further comments at the end of the file - -% This allows C programs to be formatted directly by TeX. It can be -% invoked by \cprogfile{filename} or (in LaTeX) \begin{cprog} ... -% \end{cprog} or (in plain TeX) \cprog ... \end{cprog}. In LaTeX, the -% alternative form \begin{cprog*} is allowed, where spaces in C strings -% are printed using the `square u' character (like LaTeX {verbatim*}). -% In plain TeX, you have to use \csname cprog*\endcsname for this (sorry). -% If you are using \cprogfile, say \cprogttspacetrue beforehand if you -% want this effect. - -% The formatting is (necessarily) simple. C text is set in a normal Roman -% font, comments in a slanted font, and strings in a typewriter font, with -% spaces made visible as the `square u' symbol. Tabs are expanded to four -% spaces (this does not look good when comments are aligned to the right of -% program text). Some pairs of input characters appear as single output -% characters: << <= >> >= != -> are respectively TeX's \ll \le \gg \ge \ne -% \rightarrow. - -% The fonts below can be changed to alter the setting of the various parts -% of the program. The \cprogbaselineskip parameter can be altered to -% change the line spacing. LaTeX's \baselinestretch is taken into account -% too. The indentation applied to the whole program is \cprogindent, -% initially 0. Before and after the program there are skips of -% \beforecprogskip and \aftercprogskip; the default values are \parskip -% and 0 respectively (since there will often be a \parskip after the -% program anyway). - -% This package works by making a large number of characters active. Since -% even spaces are active, it is possible to examine the next character in -% a macro by making it a parameter, rather than using \futurelet as one -% would normally do. This is more convenient, but the coding does mean -% that if the next character itself wants to examine a character it may -% look at a token from the macro rather than the input text. I think that -% all cases that occur in practice have been looked after. - -% The macros were thrown together rather quickly, and could do with some -% work. For example, the big macro defined with @[] taking the place of -% \{} could be recoded to use \{} and so be more legible. The grouping of -% two-character pairs should be controllable, since not everyone will want -% it. The internal macros etc should have @ in their names, and should be -% checked against LaTeX macros for clashes. - -% Allow multiple inclusion to go faster. -\ifx\undefined\cprogsetup % The whole file. - -% Define the fonts used for program text, comments, and strings. -% Note that if \it is used for \ccommentfont, something will need to -% be done about $ signs, which come out as pounds sterling. -\let\ctextfont=\tt \let\ccommentfont=\sl \let\cstringfont=\tt - -% Parameters. Unfortunately \newdimen is \outer (\outerness is a mistake) -% so we need a subterfuge in case we are skipping the file. -\csname newdimen\endcsname\cprogbaselineskip \cprogbaselineskip=\baselineskip -\csname newdimen\endcsname\cprogindent \cprogindent=5pt -\csname newskip\endcsname\beforecprogskip \beforecprogskip=\parskip -\csname newskip\endcsname\aftercprogskip \aftercprogskip=\parskip -\csname newif\endcsname\ifcprogttspace {\let\junk\fi} % if skipping - -\def\makeactive#1{\catcode`#1=\active} \def\makeother#1{\catcode`#1=12} -{\obeyspaces\gdef\activespace{ } \obeylines\gdef\activecr{^^M}} -{\catcode`|=\catcode`\\ \makeactive\\ |gdef|activebackslash{\}} -{\catcode9=\active \gdef\activetab{^^I}} -\def\spacewidthof{\fontdimen2} % Width of a space in the following font. - -% The following group makes many characters active, so that their catcodes -% in the \cprogchars macro are active, allowing them to be defined. We -% could alternatively define more stuff like \activebackslash and use -% \expandafter or (carefully) \edef to expand these in the macro. -\begingroup -\catcode`[=\catcode`{ \catcode`]=\catcode`} -\makeactive! \makeactive" \makeactive' \makeactive* \makeactive- \makeactive/ -\makeactive< \makeactive> \makeactive\{ \makeactive\} \makeactive| -\gdef\activestar[*] -\gdef\cprogchars[% - \makeother##\makeother$\makeother&\makeother\%\makeother^% - \makeactive"\makeactive'\makeactive*\makeactive-\makeactive/% - \makeactive<\makeactive>\makeactive{\makeactive}\makeactive|% - \makeactive!\makeactive\\\makeactive_\expandafter\makeactive\activetab% - \def!##1[\ifx=##1$\ne$\else\string!##1\fi]% - \def-##1[\ifx>##1$\rightarrow$\else$\string-$##1\fi]% - \def"[\cquote"]\def'[\cquote']\def*[$\string*$]% - % We use \aftergroup in < and > to deal with the fact that #1 might - % itself examine the following character. - \def<##1[[$\ifx<##1\ll$\else\ifx=##1\le$\else - \string<$\aftergroup##1\fi\fi]]% - \def>##1[[$\ifx>##1\gg$\else\ifx=##1\ge$\else - \string>$\aftergroup##1\fi\fi]]% - \def{[\string{]\def}[\string}]\def|[$\string|$]\def~[$\sim$]% - \expandafter\def\activebackslash[$\backslash$]% - \let/=\ccomment - \obeyspaces \expandafter\def\activespace[\leavevmode\space]% - \expandafter\def\activetab[\ \ \ \ ]% - \obeylines \expandafter\def\activecr[\strut\par]] -\gdef\cprogarg[\expandafter\def\activebackslash##1[\ifx##1e\let\next\cprogend - \else$\backslash$\let\next##1\fi\next]\eatcr] -\gdef\cprogend nd#1{cprog#2}[\endcprogarg] % #1 can be space, #2 *. -\endgroup - -\begingroup \makeactive" \makeactive' -\gdef\cquote#1{% #1 is the quote, " or '. - \begingroup \tt\string#1\cstringfont \makeactive\\% - \expandafter\let\activebackslash\quotebackslash - \expandafter\edef\activespace{\ifcprogttspace\char`\ \else\ \fi}% - \expandafter\let\activecr=\unclosedstring - \makeother!\makeother*\makeother-\makeother/\makeother<\makeother>% - \makeother_\makeother\{\makeother\}\makeother|\makeother~% - \ifx"#1\def'{\char13}\else\makeother"\fi - \def#1{\tt\string#1\endgroup}} -\endgroup -\def\unclosedstring{% - \errhelp{A string or character constant earlier in the line was unclosed.^^J -So I'm closing it now.}% - \errmessage{Unclosed string}% - \endgroup} -\newlinechar=`^^J -\def\quotebackslash#1{\char`\\% - \expandafter\ifx\activecr#1\strut\par - \else\string#1\fi} - -% In a comment, we shrink the width of the opening / to that of a space so -% that the stars in multiline comments will line up. We also shrink the -% closing * for symmetry. -% Note that \end{cprog} is not recognised in strings or comments. -\def\spacebox#1{\leavevmode \hbox to \spacewidthof\font{#1\hss}} -\begingroup \makeactive* -\gdef\ccomment#1{% - \ifx#1*\begingroup \ccommentfont - % We want the width of a space in \ccommentfont, not \ctextfont. - \spacebox{\ctextfont\string/}*% - \makeother-\makeother'\makeother"\makeother/% - \expandafter\def\activebackslash{$\backslash$}% - \makeactive*\let*=\commentstar - \else \leavevmode\string/#1\kern-1pt % - \fi} -\makeother* \makeother/ -\gdef\commentstar#1{% - \ifx #1/\endgroup \spacebox{$*$}\string/\let\next\relax% - \else $*$\let\next#1% - \fi\next} -\endgroup - -% We usually have an active ^^M after \cprog or \begin{cprog}. -\def\eatcr#1{{\expandafter\ifx\activecr#1\else\aftergroup#1\fi}} - -% Expand to stretch and shrink (plus and minus) of parameter #1. -\def\stretchshrink#1{\expandafter\eatdimenpart\the#1 \end} -\def\eatdimenpart#1 #2\end{#2} - -\ifx\undefined\baselinestretch \def\baselinestretch{1}\fi - -\def\cprogsetup{\cprogchars \small \ctextfont \parskip=0pt\stretchshrink\parskip - \baselineskip=\baselinestretch\cprogbaselineskip \parindent=\cprogindent - \vskip\beforecprogskip } -\def\endcprog{\endgroup \normalsize \vskip\aftercprogskip} -\def\cprogfile#1{\begingroup \cprogsetup \input#1\endcprog} -% The {cprog} environment or \cprog macro reads in all the argument text. -% By making the C definition of \ much cleverer we could avoid this. -\def\cprog{\begingroup \cprogttspacefalse \cprogsetup \cprogarg} -% Like {verbatim*}, {cprog*} uses `square u' for spaces in quoted strings. -\expandafter\def\csname cprog*\endcsname{% - \begingroup \cprogttspacetrue \cprogsetup \cprogarg} -\expandafter\let\csname endcprog*\endcsname=\endcprog -% In LaTeX we need to call \end{cprog} properly to close the environment, -% whereas in plain TeX this will end the job. The test for LaTeX is not -% bulletproof, but most plain TeX documents don't refer to the LaTeX logo. -\ifx\undefined\LaTeX \let\endcprogarg=\endcprog -\else \def\endcprogarg{\ifcprogttspace\end{cprog*}\else\end{cprog}\fi} -\fi - -\fi % \ifx\undefined\cprogsetup - -\endinput diff --git a/Manual_tools/format/eps_tabs/cc_Class.eps b/Manual_tools/format/eps_tabs/cc_Class.eps deleted file mode 100644 index a19da22fcd0..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Class.eps +++ /dev/null @@ -1,113 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: class.eps -%%Creator: fig2dev Version 3.2 Patchlevel 1 -%%CreationDate: Tue Jul 18 14:11:10 2000 -%%For: cgal@mpij-ss () -%%Orientation: Portrait -%%BoundingBox: 0 0 41 137 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%Magnification: 0.4000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def -/col32 {0.875 0.000 0.588 srgb} bind def -/col33 {1.000 0.525 0.063 srgb} bind def -/col34 {0.525 0.525 0.557 srgb} bind def -/col35 {0.349 0.349 0.557 srgb} bind def -/col36 {0.557 0.349 0.475 srgb} bind def -/col37 {0.620 0.780 0.031 srgb} bind def -/col38 {0.875 0.000 0.588 srgb} bind def -/col39 {1.000 0.525 0.063 srgb} bind def -/col40 {0.525 0.525 0.557 srgb} bind def -/col41 {0.349 0.349 0.557 srgb} bind def -/col42 {0.557 0.349 0.475 srgb} bind def -/col43 {0.620 0.780 0.031 srgb} bind def - -end -save --79.0 114.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n -1000 5512 m -1000 -1000 l 5737 -1000 l 5737 5512 l cp clip - 0.02520 0.02520 sc -% Polyline -7.500 slw -n 3150 4500 m 3150 -900 l 4725 -900 l 4725 4500 l cp gs col10 1.00 shd ef gr gs col10 s gr -/Helvetica ff 840.00 scf sf -4500 4275 m -gs 1 -1 sc 90.0 rot (Class) col7 sh gr -$F2psEnd -rs diff --git a/Manual_tools/format/eps_tabs/cc_Class.pdf b/Manual_tools/format/eps_tabs/cc_Class.pdf deleted file mode 100644 index 352a44a64b8..00000000000 Binary files a/Manual_tools/format/eps_tabs/cc_Class.pdf and /dev/null differ diff --git a/Manual_tools/format/eps_tabs/cc_Concept.eps b/Manual_tools/format/eps_tabs/cc_Concept.eps deleted file mode 100644 index ce232427a00..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Concept.eps +++ /dev/null @@ -1,119 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: concept.eps -%%Creator: fig2dev Version 3.2 Patchlevel 1 -%%CreationDate: Tue Jul 18 14:13:58 2000 -%%For: cgal@mpij-ss () -%%Orientation: Portrait -%%BoundingBox: 0 0 41 137 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%Magnification: 0.4000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def -/col32 {0.875 0.000 0.588 srgb} bind def -/col33 {1.000 0.525 0.063 srgb} bind def -/col34 {0.525 0.525 0.557 srgb} bind def -/col35 {0.349 0.349 0.557 srgb} bind def -/col36 {0.557 0.349 0.475 srgb} bind def -/col37 {0.620 0.780 0.031 srgb} bind def -/col38 {0.875 0.000 0.588 srgb} bind def -/col39 {1.000 0.525 0.063 srgb} bind def -/col40 {0.525 0.525 0.557 srgb} bind def -/col41 {0.349 0.349 0.557 srgb} bind def -/col42 {0.557 0.349 0.475 srgb} bind def -/col43 {0.620 0.780 0.031 srgb} bind def -/col44 {0.875 0.000 0.588 srgb} bind def -/col45 {1.000 0.525 0.063 srgb} bind def -/col46 {0.525 0.525 0.557 srgb} bind def -/col47 {0.349 0.349 0.557 srgb} bind def -/col48 {0.557 0.349 0.475 srgb} bind def -/col49 {0.620 0.780 0.031 srgb} bind def - -end -save --147.0 148.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n -1000 6862 m -1000 -1000 l 8442 -1000 l 8442 6862 l cp clip - 0.02520 0.02520 sc -% Polyline -7.500 slw -n 5850 5850 m 5850 450 l 7425 450 l 7425 5850 l cp gs col47 1.00 shd ef gr gs col47 s gr -/Helvetica ff 840.00 scf sf -7200 5625 m -gs 1 -1 sc 90.0 rot (Concept) col7 sh gr -$F2psEnd -rs diff --git a/Manual_tools/format/eps_tabs/cc_Concept.pdf b/Manual_tools/format/eps_tabs/cc_Concept.pdf deleted file mode 100644 index b0d4a207290..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Concept.pdf +++ /dev/null @@ -1,71 +0,0 @@ -%PDF-1.3 -%Çì¢ -6 0 obj -<> -stream -xœ…ŽË -Â@ E÷ùŠ»TÁ˜tÎlqÝ:PÚ¢PµUð÷¥Ý ÈÙÜ›a…|fbÝÓ@›Ê¢{°±óvn‹±#Å™,kŒÑÁq=G¨ñÂcC튔CÄëÇ‰êø·~ÊO: _±u]Êj9‰Ô’ PV°ž(0–­…çÂ!õ´Øß®us.Ó… %•ôñ0—endstream -endobj -7 0 obj -150 -endobj -10 0 obj -<> -endobj -11 0 obj -<> -endobj -5 0 obj -<> -/Contents 6 0 R ->> -endobj -3 0 obj -<< /Type /Pages /Kids [ -5 0 R -] /Count 1 ->> -endobj -1 0 obj -<> -endobj -4 0 obj -<> -endobj -9 0 obj -<> -endobj -8 0 obj -<> -endobj -2 0 obj -<>endobj -xref -0 12 -0000000000 65535 f -0000000523 00000 n -0000000770 00000 n -0000000464 00000 n -0000000571 00000 n -0000000314 00000 n -0000000015 00000 n -0000000235 00000 n -0000000711 00000 n -0000000640 00000 n -0000000254 00000 n -0000000284 00000 n -trailer -<< /Size 12 /Root 1 0 R /Info 2 0 R ->> -startxref -822 -%%EOF diff --git a/Manual_tools/format/eps_tabs/cc_Constant.eps b/Manual_tools/format/eps_tabs/cc_Constant.eps deleted file mode 100644 index 8b0145da27c..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Constant.eps +++ /dev/null @@ -1,137 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: constant.eps -%%Creator: fig2dev Version 3.2 Patchlevel 1 -%%CreationDate: Tue Jul 18 14:19:09 2000 -%%For: cgal@mpij-ss () -%%Orientation: Portrait -%%BoundingBox: 0 0 41 138 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%Magnification: 0.4000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def -/col32 {0.875 0.000 0.588 srgb} bind def -/col33 {1.000 0.525 0.063 srgb} bind def -/col34 {0.525 0.525 0.557 srgb} bind def -/col35 {0.349 0.349 0.557 srgb} bind def -/col36 {0.557 0.349 0.475 srgb} bind def -/col37 {0.620 0.780 0.031 srgb} bind def -/col38 {0.875 0.000 0.588 srgb} bind def -/col39 {1.000 0.525 0.063 srgb} bind def -/col40 {0.525 0.525 0.557 srgb} bind def -/col41 {0.349 0.349 0.557 srgb} bind def -/col42 {0.557 0.349 0.475 srgb} bind def -/col43 {0.620 0.780 0.031 srgb} bind def -/col44 {0.875 0.000 0.588 srgb} bind def -/col45 {1.000 0.525 0.063 srgb} bind def -/col46 {0.525 0.525 0.557 srgb} bind def -/col47 {0.349 0.349 0.557 srgb} bind def -/col48 {0.557 0.349 0.475 srgb} bind def -/col49 {0.620 0.780 0.031 srgb} bind def -/col50 {0.875 0.000 0.588 srgb} bind def -/col51 {1.000 0.525 0.063 srgb} bind def -/col52 {0.525 0.525 0.557 srgb} bind def -/col53 {0.349 0.349 0.557 srgb} bind def -/col54 {0.557 0.349 0.475 srgb} bind def -/col55 {0.620 0.780 0.031 srgb} bind def -/col56 {0.875 0.000 0.588 srgb} bind def -/col57 {1.000 0.525 0.063 srgb} bind def -/col58 {0.525 0.525 0.557 srgb} bind def -/col59 {0.349 0.349 0.557 srgb} bind def -/col60 {0.557 0.349 0.475 srgb} bind def -/col61 {0.620 0.780 0.031 srgb} bind def -/col62 {0.875 0.000 0.588 srgb} bind def -/col63 {1.000 0.525 0.063 srgb} bind def -/col64 {0.525 0.525 0.557 srgb} bind def -/col65 {0.349 0.349 0.557 srgb} bind def -/col66 {0.557 0.349 0.475 srgb} bind def -/col67 {0.620 0.780 0.031 srgb} bind def - -end -save --79.0 307.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n -1000 13162 m -1000 -1000 l 5737 -1000 l 5737 13162 l cp clip - 0.02520 0.02520 sc -% Polyline -7.500 slw -n 3150 12150 m 3150 6750 l 4725 6750 l 4725 12150 l cp gs col67 1.00 shd ef gr gs col67 s gr -/Helvetica ff 840.00 scf sf -4500 11943 m -gs 1 -1 sc 90.0 rot (Constant) col7 sh gr -$F2psEnd -rs diff --git a/Manual_tools/format/eps_tabs/cc_Constant.pdf b/Manual_tools/format/eps_tabs/cc_Constant.pdf deleted file mode 100644 index bc0b144497a..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Constant.pdf +++ /dev/null @@ -1,72 +0,0 @@ -%PDF-1.3 -%Çì¢ -6 0 obj -<> -stream -xœ…޽ -Â@„û}Š)UpÝÍÅËm«ˆuâ½€Éøúž¢•…,ÌWÌ ; -y݇uGmªíDÂ>KF’HV`lIq%Ç…Y@`5³-œy6¨óÂã…š)Ãã§_ÿuOéAKô=鋺Ã.¦Q)‰Ø SV°þPàrÎáYœÏ;Zìïý4Ÿûyotˆ(©¤'[»01endstream -endobj -7 0 obj -153 -endobj -10 0 obj -<> -endobj -11 0 obj -<> -endobj -5 0 obj -<> -/Contents 6 0 R ->> -endobj -3 0 obj -<< /Type /Pages /Kids [ -5 0 R -] /Count 1 ->> -endobj -1 0 obj -<> -endobj -4 0 obj -<> -endobj -9 0 obj -<> -endobj -8 0 obj -<> -endobj -2 0 obj -<>endobj -xref -0 12 -0000000000 65535 f -0000000526 00000 n -0000000773 00000 n -0000000467 00000 n -0000000574 00000 n -0000000317 00000 n -0000000015 00000 n -0000000238 00000 n -0000000714 00000 n -0000000643 00000 n -0000000257 00000 n -0000000287 00000 n -trailer -<< /Size 12 /Root 1 0 R /Info 2 0 R ->> -startxref -825 -%%EOF diff --git a/Manual_tools/format/eps_tabs/cc_Enum.eps b/Manual_tools/format/eps_tabs/cc_Enum.eps deleted file mode 100644 index c33c55c1652..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Enum.eps +++ /dev/null @@ -1,107 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: enum.eps -%%Creator: fig2dev Version 3.2 Patchlevel 1 -%%CreationDate: Tue Jul 18 13:33:30 2000 -%%For: cgal@mpij-ss () -%%Orientation: Portrait -%%BoundingBox: 0 0 42 138 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%Magnification: 0.4000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def -/col32 {0.875 0.000 0.588 srgb} bind def -/col33 {1.000 0.525 0.063 srgb} bind def -/col34 {0.525 0.525 0.557 srgb} bind def -/col35 {0.349 0.349 0.557 srgb} bind def -/col36 {0.557 0.349 0.475 srgb} bind def -/col37 {0.620 0.780 0.031 srgb} bind def - -end -save --101.0 171.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n -1000 7762 m -1000 -1000 l 6637 -1000 l 6637 7762 l cp clip - 0.02520 0.02520 sc -% Polyline -7.500 slw -n 4050 6750 m 4050 1350 l 5625 1350 l 5625 6750 l cp gs col16 1.00 shd ef gr gs col16 s gr -/Helvetica ff 840.00 scf sf -5400 6557 m -gs 1 -1 sc 90.0 rot (Enum) col7 sh gr -$F2psEnd -rs diff --git a/Manual_tools/format/eps_tabs/cc_Enum.pdf b/Manual_tools/format/eps_tabs/cc_Enum.pdf deleted file mode 100644 index b9bbd83bc54..00000000000 Binary files a/Manual_tools/format/eps_tabs/cc_Enum.pdf and /dev/null differ diff --git a/Manual_tools/format/eps_tabs/cc_Function.eps b/Manual_tools/format/eps_tabs/cc_Function.eps deleted file mode 100644 index 15690dc2a18..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Function.eps +++ /dev/null @@ -1,125 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: function.eps -%%Creator: fig2dev Version 3.2 Patchlevel 1 -%%CreationDate: Tue Jul 18 14:15:08 2000 -%%For: cgal@mpij-ss () -%%Orientation: Portrait -%%BoundingBox: 0 0 41 137 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%Magnification: 0.4000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def -/col32 {0.875 0.000 0.588 srgb} bind def -/col33 {1.000 0.525 0.063 srgb} bind def -/col34 {0.525 0.525 0.557 srgb} bind def -/col35 {0.349 0.349 0.557 srgb} bind def -/col36 {0.557 0.349 0.475 srgb} bind def -/col37 {0.620 0.780 0.031 srgb} bind def -/col38 {0.875 0.000 0.588 srgb} bind def -/col39 {1.000 0.525 0.063 srgb} bind def -/col40 {0.525 0.525 0.557 srgb} bind def -/col41 {0.349 0.349 0.557 srgb} bind def -/col42 {0.557 0.349 0.475 srgb} bind def -/col43 {0.620 0.780 0.031 srgb} bind def -/col44 {0.875 0.000 0.588 srgb} bind def -/col45 {1.000 0.525 0.063 srgb} bind def -/col46 {0.525 0.525 0.557 srgb} bind def -/col47 {0.349 0.349 0.557 srgb} bind def -/col48 {0.557 0.349 0.475 srgb} bind def -/col49 {0.620 0.780 0.031 srgb} bind def -/col50 {0.875 0.000 0.588 srgb} bind def -/col51 {1.000 0.525 0.063 srgb} bind def -/col52 {0.525 0.525 0.557 srgb} bind def -/col53 {0.349 0.349 0.557 srgb} bind def -/col54 {0.557 0.349 0.475 srgb} bind def -/col55 {0.620 0.780 0.031 srgb} bind def - -end -save --79.0 284.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n -1000 12262 m -1000 -1000 l 5737 -1000 l 5737 12262 l cp clip - 0.02520 0.02520 sc -% Polyline -7.500 slw -n 3150 11250 m 3150 5850 l 4725 5850 l 4725 11250 l cp gs col4 1.00 shd ef gr gs col4 s gr -/Helvetica ff 840.00 scf sf -4500 11025 m -gs 1 -1 sc 90.0 rot (Function) col7 sh gr -$F2psEnd -rs diff --git a/Manual_tools/format/eps_tabs/cc_Function.pdf b/Manual_tools/format/eps_tabs/cc_Function.pdf deleted file mode 100644 index 3eaec37f9a3..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Function.pdf +++ /dev/null @@ -1,71 +0,0 @@ -%PDF-1.3 -%Çì¢ -6 0 obj -<> -stream -xœuÁ -Â0DïûsTÁu·‰irÔskþ ØP¡•VÅß7j=ÊÞ0<a…¼3³éi¤Mm‘nô]¦”KG†Ë<¶0Áq€'ì1©]‘²xÎ~}üïž²“h„~.hzìb>Í&bK‚BYÇz¦ÀX¶p¬¥HØÓâðš{w–ñBûˆŠ*z 9)äendstream -endobj -7 0 obj -140 -endobj -10 0 obj -<> -endobj -11 0 obj -<> -endobj -5 0 obj -<> -/Contents 6 0 R ->> -endobj -3 0 obj -<< /Type /Pages /Kids [ -5 0 R -] /Count 1 ->> -endobj -1 0 obj -<> -endobj -4 0 obj -<> -endobj -9 0 obj -<> -endobj -8 0 obj -<> -endobj -2 0 obj -<>endobj -xref -0 12 -0000000000 65535 f -0000000513 00000 n -0000000760 00000 n -0000000454 00000 n -0000000561 00000 n -0000000304 00000 n -0000000015 00000 n -0000000225 00000 n -0000000701 00000 n -0000000630 00000 n -0000000244 00000 n -0000000274 00000 n -trailer -<< /Size 12 /Root 1 0 R /Info 2 0 R ->> -startxref -812 -%%EOF diff --git a/Manual_tools/format/eps_tabs/cc_FunctionObjectClass.eps b/Manual_tools/format/eps_tabs/cc_FunctionObjectClass.eps deleted file mode 100644 index cd21e8b0e5c..00000000000 --- a/Manual_tools/format/eps_tabs/cc_FunctionObjectClass.eps +++ /dev/null @@ -1,5124 +0,0 @@ -%!PS-Adobe-3.1 EPSF-3.0 -%%Title: cc_FunctionObjectClass.eps -%%Creator: Adobe Illustrator(R) X -%%AI8_CreatorVersion: 10.0 -%AI9_PrintingDataBegin -%%For: Gremo -%%CreationDate: 3/2/2005 -%%BoundingBox: 0 0 41 137 -%%HiResBoundingBox: 0 0 40.4825 136.2696 -%%CropBox: 0 0 40.4825 136.2696 -%%LanguageLevel: 2 -%%DocumentData: Clean7Bit -%ADOBeginClientInjection: DocumentHeader "AI10" -%ADOEndClientInjection: DocumentHeader "AI10" -%%Pages: 1 -%%DocumentNeededResources: font Helvetica -%%DocumentSuppliedResources: procset Adobe_AGM_Image (1.0 0) -%%+ procset Adobe_CoolType_Utility_MAKEOCF (1.13 0) -%%+ procset Adobe_CoolType_Core (2.12 0) -%%+ procset Adobe_AGM_Core (2.0 0) -%%+ procset Adobe_AGM_Utils (1.0 0) -%%DocumentFonts: Helvetica -%%DocumentNeededFonts: Helvetica -%%DocumentNeededFeatures: -%%DocumentSuppliedFeatures: -%%DocumentCustomColors: -%%CMYKCustomColor: -%%RGBCustomColor: -%%EndComments -%%BeginDefaults -%%ViewingOrientation: 1 0 0 1 -%%EndDefaults -%%BeginProlog -%ADOBeginClientInjection: DocumentProlog Start "AI10" -%ADOEndClientInjection: DocumentProlog Start "AI10" -%%BeginResource: procset Adobe_AGM_Utils 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright (C) 2000-2000 Adobe Systems, Inc. All Rights Reserved. -systemdict /setpacking known -{ - currentpacking - true setpacking -} if -userdict /Adobe_AGM_Utils 60 dict dup begin put -/bdf -{ - bind def -} bind def -/nd{ - null def -}bdf -/xdf -{ - exch def -}bdf -/ldf -{ - load def -}bdf -/ddf -{ - put -}bdf -/xddf -{ - 3 -1 roll put -}bdf -/xpt -{ - exch put -}bdf -/ndf -{ - - exch dup where{ - pop pop pop - }{ - xdf - }ifelse -}def -/cdndf -{ - exch dup currentdict exch known{ - pop pop - }{ - exch def - }ifelse -}def -/bdict -{ - mark -}bdf -/edict -{ - counttomark 2 idiv dup dict begin {def} repeat pop currentdict end -}def - -/ps_level - /languagelevel where{ - pop systemdict /languagelevel get exec - }{ - 1 - }ifelse -def -/level2 - ps_level 2 ge -def -/level3 - ps_level 3 ge -def -/ps_version - {version cvr} stopped { - -1 - }if -def -/makereadonlyarray -{ - /packedarray where{ - pop packedarray - }{ - array astore readonly - }ifelse -}bdf -/map_reserved_ink_name -{ - dup type /stringtype eq{ - dup /Red eq{ - pop (_Red_) - }{ - dup /Green eq{ - pop (_Green_) - }{ - dup /Blue eq{ - pop (_Blue_) - }{ - dup /Cyan eq{ - pop (_Cyan_) - }{ - dup /Magenta eq{ - pop (_Magenta_) - }{ - dup /Yellow eq{ - pop (_Yellow_) - }{ - dup /Black eq{ - pop (_Black_) - }{ - dup () cvn eq{ - pop (Process) - }if - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - }if -}bdf -/AGMUTIL_GSTATE 22 dict def -/get_gstate -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_clr_spc currentcolorspace def - /AGMUTIL_GSTATE_clr_indx 0 def - /AGMUTIL_GSTATE_clr_comps 12 array def - mark currentcolor counttomark - {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def} repeat pop - /AGMUTIL_GSTATE_fnt rootfont def - /AGMUTIL_GSTATE_lw currentlinewidth def - /AGMUTIL_GSTATE_lc currentlinecap def - /AGMUTIL_GSTATE_lj currentlinejoin def - /AGMUTIL_GSTATE_ml currentmiterlimit def - currentdash /AGMUTIL_GSTATE_do xdf /AGMUTIL_GSTATE_da xdf - /AGMUTIL_GSTATE_sa currentstrokeadjust def - - /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def - /AGMUTIL_GSTATE_op currentoverprint def - /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def - /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def - currentcolortransfer cvlit /AGMUTIL_GSTATE_gy_xfer xdf cvlit /AGMUTIL_GSTATE_b_xfer xdf - cvlit /AGMUTIL_GSTATE_g_xfer xdf cvlit /AGMUTIL_GSTATE_r_xfer xdf - /AGMUTIL_GSTATE_ht currenthalftone def - /AGMUTIL_GSTATE_flt currentflat def - end -}def -/set_gstate -{ - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_clr_spc setcolorspace - AGMUTIL_GSTATE_clr_indx {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def} repeat setcolor - AGMUTIL_GSTATE_fnt setfont - AGMUTIL_GSTATE_lw setlinewidth - AGMUTIL_GSTATE_lc setlinecap - AGMUTIL_GSTATE_lj setlinejoin - AGMUTIL_GSTATE_ml setmiterlimit - AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash - AGMUTIL_GSTATE_sa setstrokeadjust - - AGMUTIL_GSTATE_clr_rnd setcolorrendering - AGMUTIL_GSTATE_op setoverprint - AGMUTIL_GSTATE_bg cvx setblackgeneration - AGMUTIL_GSTATE_ucr cvx setundercolorremoval - AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx - AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer - - AGMUTIL_GSTATE_ht /HalftoneType get dup 9 eq exch 100 eq or - { - currenthalftone /HalftoneType get AGMUTIL_GSTATE_ht /HalftoneType get ne - { - mark AGMUTIL_GSTATE_ht {sethalftone} stopped cleartomark - } if - }{ - AGMUTIL_GSTATE_ht sethalftone - } ifelse - - AGMUTIL_GSTATE_flt setflat - end -}def -/AGMUTIL_str256 256 string def -/AGMUTIL_src256 256 string def -/AGMUTIL_dst64 64 string def -/AGMUTIL_srcLen nd -/AGMUTIL_ndx nd -/rdline -{ - currentfile AGMUTIL_str256 readline pop -} bdf -/rdcmntline -{ - currentfile AGMUTIL_str256 readline pop - (%) anchorsearch {pop} if -} bdf -/filter_cmyk -{ - dup type /filetype ne{ - 0 () /SubFileDecode filter - }if - [ - exch - { - AGMUTIL_src256 readstring pop - dup length /AGMUTIL_srcLen exch def - /AGMUTIL_ndx 0 def - - AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ - 1 index exch get - AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put - /AGMUTIL_ndx AGMUTIL_ndx 1 add def - }for - pop - AGMUTIL_dst64 0 AGMUTIL_ndx getinterval - } - bind - /exec cvx - ] cvx -} bdf -/AGMUTIL_imagefile nd -/AGMUTIL_imbuf nd -/read_image_file -{ - AGMUTIL_imagefile 0 setfileposition - dup /DataSource {AGMUTIL_imagefile AGMUTIL_imbuf readstring pop} put - exch - load exec -}def -/write_image_file -{ - begin - { (AGMUTIL_imagefile) (w+) file } stopped{ - false - }{ - Adobe_AGM_Utils/AGMUTIL_imagefile xddf - Adobe_AGM_Utils/AGMUTIL_imbuf Width BitsPerComponent mul 7 add 8 idiv string ddf - 1 1 Height { - pop - DataSource dup type /filetype eq{ - AGMUTIL_imbuf readstring pop - }{ - exec - } ifelse - AGMUTIL_imagefile exch writestring - }for - true - }ifelse - end -}def -/close_image_file -{ - AGMUTIL_imagefile closefile (AGMUTIL_imagefile) deletefile -}def -/consumeimagedata -{ - begin - currentdict /MultipleDataSources known not - {/MultipleDataSources false def} if - MultipleDataSources - { - 1 dict begin - /flushbuffer Width cvi string def - 1 1 Height cvi - { - pop - 0 1 DataSource length 1 sub - { - DataSource exch get - dup type dup - /filetype eq - { - exch flushbuffer readstring pop pop - }if - /arraytype eq - { - exec pop - }if - }for - }for - end - } - { - /DataSource load type dup - /filetype eq - { - 1 dict begin - /flushbuffer Width Decode length 2 div mul cvi string def - 1 1 Height { pop DataSource flushbuffer readstring pop pop} for - end - }if - /arraytype eq - { - 1 1 Height { pop DataSource pop } for - }if - }ifelse - end -}bdf -/addprocs -{ - 2{/exec load}repeat - 3 1 roll - [ 5 1 roll ] bind cvx -}def -/modify_halftone_xfer -{ - currenthalftone dup length dict copy begin - currentdict 2 index known{ - 1 index load dup length dict copy begin - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs /TransferFunction xdf - currentdict end def - currentdict end sethalftone - }{ - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs /TransferFunction xdf - currentdict end sethalftone - pop - }ifelse -}def -/doc_setup{ - Adobe_AGM_Utils begin -}bdf -/doc_trailer{ - currentdict Adobe_AGM_Utils eq{ - end - }if -}bdf -systemdict /setpacking known -{ - setpacking -} if -%%EndResource -%%BeginResource: procset Adobe_AGM_Core 2.0 0 -%%Version: 2.0 0 -%%Copyright: Copyright (C) 1997-1999 Adobe Systems, Inc. All Rights Reserved. -systemdict /setpacking known -{ - currentpacking - true setpacking -} if -userdict /Adobe_AGM_Core 205 dict dup begin put -/nd{ - null def -}bind def -/Adobe_AGM_Core_Id /Adobe_AGM_Core_2.0_0 def -/AGMCORE_str256 256 string def -/AGMCORE_src256 256 string def -/AGMCORE_save nd -/AGMCORE_graphicsave nd -/AGMCORE_c 0 def -/AGMCORE_m 0 def -/AGMCORE_y 0 def -/AGMCORE_k 0 def -/AGMCORE_cmykbuf 4 array def -/AGMCORE_screen [currentscreen] cvx def -/AGMCORE_tmp 0 def -/AGMCORE_&setgray nd -/AGMCORE_&setcolor nd -/AGMCORE_&setcolorspace nd -/AGMCORE_&setcmykcolor nd -/AGMCORE_cyan_plate nd -/AGMCORE_magenta_plate nd -/AGMCORE_yellow_plate nd -/AGMCORE_black_plate nd -/AGMCORE_plate_ndx nd -/AGMCORE_get_ink_data nd -/AGMCORE_is_cmyk_sep nd -/AGMCORE_host_sep nd -/AGMCORE_will_host_sep nd -/AGMCORE_avoid_L2_sep_space nd -/AGMCORE_distilling nd -/AGMCORE_composite_job nd -/AGMCORE_producing_seps nd -/AGMCORE_ps_level -1 def -/AGMCORE_ps_version -1 def -/AGMCORE_environ_ok nd -/AGMCORE_CSA_cache 0 dict def -/AGMCORE_CSD_cache 0 dict def -/AGMCORE_pattern_cache 0 dict def -/AGMCORE_currentoverprint false def -/AGMCORE_deltaX nd -/AGMCORE_deltaY nd -/AGMCORE_name nd -/AGMCORE_sep_special nd -/AGMCORE_err_strings 4 dict def -/AGMCORE_cur_err nd -/AGMCORE_ovp nd -/AGMCORE_current_spot_alias false def -/AGMCORE_inverting false def -/AGMCORE_feature_dictCount nd -/AGMCORE_feature_opCount nd -/AGMCORE_feature_ctm nd -/AGMCORE_ConvertToProcess false def -/AGMCORE_Default_CTM matrix def -/knockout_unitsq nd -/AGMCORE_CRD_cache where{ - pop -}{ - /AGMCORE_CRD_cache 0 dict def -}ifelse -/AGMCORE_key_known -{ - where{ - /Adobe_AGM_Core_Id known - }{ - false - }ifelse -}ndf -/flushinput -{ - save - /CompareBuffer 3 -1 roll def - /readbuffer 256 string def - mark - { - currentfile readbuffer {readline} stopped - {cleartomark mark} - { - not - {pop exit} - if - CompareBuffer eq - {exit} - if - }ifelse - }loop - cleartomark - restore -}bdf -/getspotfunction -{ - AGMCORE_screen exch pop exch pop - dup type /dicttype eq{ - dup /HalftoneType get 1 eq{ - /SpotFunction get - }{ - dup /HalftoneType get 2 eq{ - /GraySpotFunction get - }{ - pop - { - abs exch abs 2 copy add 1 gt{ - 1 sub dup mul exch 1 sub dup mul add 1 sub - }{ - dup mul exch dup mul add 1 exch sub - }ifelse - }bind - }ifelse - }ifelse - }if -} def -/clp_npth -{ - clip newpath -} def -/eoclp_npth -{ - eoclip newpath -} def -/stkpath_clp_npth -{ - strokepath clip newpath -} def -/stk_n_clp_npth -{ - gsave stroke grestore clip newpath -} def -/npth_clp -{ - newpath clip -} def -/graphic_setup -{ - /AGMCORE_graphicsave save def - concat - 0 setgray - 0 setlinecap - 0 setlinejoin - 1 setlinewidth - [] 0 setdash - 10 setmiterlimit - newpath - false setoverprint - false setstrokeadjust - Adobe_AGM_Core/spot_alias get exec - /Adobe_AGM_Image where { - pop - Adobe_AGM_Image/spot_alias 2 copy known{ - get exec - }{ - pop pop - }ifelse - } if - 100 dict begin - /showpage {} def - mark -} def -/graphic_cleanup -{ - cleartomark - end - AGMCORE_graphicsave restore -} def -/compose_error_msg -{ - grestoreall initgraphics - /Helvetica findfont 10 scalefont setfont - - /AGMCORE_deltaY 100 def - /AGMCORE_deltaX 310 def - - clippath pathbbox newpath pop pop 36 add exch 36 add exch moveto - 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto - 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath - 0 AGMCORE_&setgray - gsave 1 AGMCORE_&setgray fill grestore - 1 setlinewidth gsave stroke grestore - - currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto - - /AGMCORE_deltaY 12 def - /AGMCORE_tmp 0 def - AGMCORE_err_strings exch get - { - dup 32 eq - { - pop - AGMCORE_str256 0 AGMCORE_tmp getinterval - stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt - { - currentpoint AGMCORE_deltaY sub exch pop - clippath pathbbox pop pop pop 44 add exch moveto - } if - AGMCORE_str256 0 AGMCORE_tmp getinterval show ( ) show - - 0 1 AGMCORE_str256 length 1 sub - { - AGMCORE_str256 exch 0 put - }for - /AGMCORE_tmp 0 def - } - { - AGMCORE_str256 exch AGMCORE_tmp exch put - /AGMCORE_tmp AGMCORE_tmp 1 add def - } ifelse - } forall -} bdf -/doc_setup{ - Adobe_AGM_Core begin - - /AGMCORE_will_host_separate xdf - /AGMCORE_ps_version xdf - /AGMCORE_ps_level xdf - - errordict /AGM_handleerror known not{ - errordict /AGM_handleerror errordict /handleerror get put - errordict /handleerror { - Adobe_AGM_Core begin - $error /newerror get AGMCORE_cur_err null ne and{ - $error /newerror false put - AGMCORE_cur_err compose_error_msg - }if - $error /newerror true put - end - errordict /AGM_handleerror get exec - } bind put - }if - - /AGMCORE_environ_ok - ps_level AGMCORE_ps_level ge - ps_version AGMCORE_ps_version ge and - AGMCORE_ps_level -1 eq or - def - - AGMCORE_environ_ok not - {/AGMCORE_cur_err /AGMCORE_bad_environ def} if - - /AGMCORE_&setgray systemdict/setgray get def - level2{ - /AGMCORE_&setcolor systemdict/setcolor get def - /AGMCORE_&setcolorspace systemdict/setcolorspace get def - }if - /AGMCORE_distilling - /product where{ - pop systemdict/setdistillerparams known product (Adobe PostScript Parser) ne and - }{ - false - }ifelse - def - /AGMCORE_in_rip_sep - /AGMCORE_in_rip_sep where{ - pop AGMCORE_in_rip_sep - }{ - AGMCORE_distilling - { - false - }{ - userdict/Adobe_AGM_OnHost_Seps known{ - false - }{ - level2{ - currentpagedevice/Separations 2 copy known{ - get - }{ - pop pop false - }ifelse - }{ - false - }ifelse - }ifelse - }ifelse - }ifelse - def - level2 not{ - /xput{ - dup load dup length exch maxlength eq{ - dup dup load dup - length dup 0 eq {pop 1} if 2 mul dict copy def - }if - load begin - def - end - }def - }{ - /xput{ - load 3 1 roll put - }def - }ifelse - /AGMCORE_GSTATE AGMCORE_key_known not{ - /AGMCORE_GSTATE 21 dict def - /AGMCORE_gstack 32 array def - /AGMCORE_gstackptr 0 def - /AGMCORE_gstacksaveptr 0 def - /AGMCORE_gstackframekeys 8 def - - /AGMCORE_&gsave /gsave ldf - /AGMCORE_&grestore /grestore ldf - /AGMCORE_&grestoreall /grestoreall ldf - /AGMCORE_&save /save ldf - /AGMCORE_gdictcopy { - begin - { def } forall - end - }def - /AGMCORE_gput { - AGMCORE_gstack AGMCORE_gstackptr get - 3 1 roll - put - }def - /AGMCORE_gget { - AGMCORE_gstack AGMCORE_gstackptr get - exch - get - }def - /gsave { - AGMCORE_&gsave - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge {limitcheck} if - Adobe_AGM_Core exch - /AGMCORE_gstackptr exch put - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /grestore { - AGMCORE_&grestore - AGMCORE_gstackptr 1 sub - dup AGMCORE_gstacksaveptr lt {1 add} if - Adobe_AGM_Core exch - /AGMCORE_gstackptr exch put - }def - /grestoreall { - AGMCORE_&grestoreall - Adobe_AGM_Core - /AGMCORE_gstackptr AGMCORE_gstacksaveptr put - }def - /save { - AGMCORE_&save - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge {limitcheck} if - Adobe_AGM_Core begin - /AGMCORE_gstackptr exch def - /AGMCORE_gstacksaveptr AGMCORE_gstackptr def - end - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - 0 1 AGMCORE_gstack length 1 sub { - AGMCORE_gstack exch AGMCORE_gstackframekeys dict put - } for - }if - /currentcmykcolor [0 0 0 0] AGMCORE_gput - /currentstrokeadjust false AGMCORE_gput - /currentcolorspace [/DeviceGray] AGMCORE_gput - /sep_tint 0 AGMCORE_gput - /sep_colorspace_dict null AGMCORE_gput - /indexed_colorspace_dict null AGMCORE_gput - /currentcolor_intent () AGMCORE_gput - /customcolor_tint 1 AGMCORE_gput - end -}def -/page_setup -{ - /setcmykcolor where{ - pop - Adobe_AGM_Core/AGMCORE_&setcmykcolor /setcmykcolor load put - }if - Adobe_AGM_Core begin - /setcmykcolor - { - 4 copy AGMCORE_cmykbuf astore /currentcmykcolor exch AGMCORE_gput - 1 sub 4 1 roll - 3 { - 3 index add neg dup 0 lt { - pop 0 - } if - 3 1 roll - } repeat - setrgbcolor pop - }ndf - /currentcmykcolor - { - /currentcmykcolor AGMCORE_gget aload pop - }ndf - /setoverprint - { - pop - }ndf - /currentoverprint - { - false - }ndf - /AGMCORE_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def - /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def - /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def - /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def - /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def - /AGMCORE_plate_ndx - AGMCORE_cyan_plate{ - 0 - }{ - AGMCORE_magenta_plate{ - 1 - }{ - AGMCORE_yellow_plate{ - 2 - }{ - AGMCORE_black_plate{ - 3 - }{ - 4 - }ifelse - }ifelse - }ifelse - }ifelse - def - /AGMCORE_composite_job - AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def - - /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def - - /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def - - /AGM_preserve_spots - /AGM_preserve_spots where{ - pop AGM_preserve_spots - }{ - AGMCORE_distilling AGMCORE_producing_seps or - }ifelse - def - /AGM_is_distiller_preserving_spotimages - { - currentdistillerparams/PreserveOverprintSettings known - { - currentdistillerparams/PreserveOverprintSettings get - { - currentdistillerparams/ColorConversionStrategy known - { - currentdistillerparams/ColorConversionStrategy get - /LeaveColorUnchanged eq - }{ - true - }ifelse - }{ - false - }ifelse - }{ - false - }ifelse - }def - /convert_spot_to_process where {pop}{ - /convert_spot_to_process - { - dup dup (None) eq exch (All) eq or - { - pop false - }{ - AGMCORE_host_sep - { - gsave - 1 0 0 0 setcmykcolor currentgray 1 exch sub - 0 1 0 0 setcmykcolor currentgray 1 exch sub - 0 0 1 0 setcmykcolor currentgray 1 exch sub - 0 0 0 1 setcmykcolor currentgray 1 exch sub - add add add 0 eq - { - pop false - }{ - false setoverprint - 1 1 1 1 5 -1 roll findcmykcustomcolor 1 setcustomcolor - currentgray 0 eq - }ifelse - grestore - }{ - AGMCORE_distilling - { - pop AGM_is_distiller_preserving_spotimages not - }{ - Adobe_AGM_Core/AGMCORE_name xddf - false - currentpagedevice/OverrideSeparations known - { - currentpagedevice/OverrideSeparations get - { - /HqnSpots /ProcSet resourcestatus - { - pop pop pop true - }if - }if - }if - { - AGMCORE_name /HqnSpots /ProcSet findresource /TestSpot get exec not - }{ - gsave - [/Separation AGMCORE_name /DeviceGray {}]setcolorspace - false - currentpagedevice/SeparationColorNames 2 copy known - { - get - { AGMCORE_name eq or}forall - not - }{ - pop pop pop true - }ifelse - grestore - }ifelse - }ifelse - }ifelse - }ifelse - }def - }ifelse - /convert_to_process where {pop}{ - /convert_to_process - { - dup length 0 eq - { - pop false - }{ - AGMCORE_host_sep - { - true exch - { - convert_spot_to_process and - } - forall - }{ - false exch - { - convert_spot_to_process or - } - forall - }ifelse - }ifelse - }def - }ifelse - AGMCORE_host_sep AGMCORE_will_host_separate not and { - /AGMCORE_cur_err /AGMCORE_color_space_onhost_seps def - AGMCORE_color_space_onhost_seps - }if - /AGMCORE_avoid_L2_sep_space - version cvr 2012 lt - level2 and - AGMCORE_producing_seps not and - def - /AGMCORE_is_cmyk_sep - AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or - def - /AGM_avoid_0_cmyk where{ - pop AGM_avoid_0_cmyk - }{ - AGM_preserve_spots - userdict/Adobe_AGM_OnHost_Seps known - userdict/Adobe_AGM_InRip_Seps known or - not and - }ifelse - { - /setcmykcolor[ - { - 4 copy add add add 0 eq currentoverprint and{ - pop 0.0005 - }if - }/exec cvx - /AGMCORE_&setcmykcolor load dup type/operatortype ne{ - /exec cvx - }if - ]cvx def - }if - AGMCORE_host_sep{ - /AGMCORE_get_ink_data - AGMCORE_cyan_plate{ - {pop pop pop} - }{ - AGMCORE_magenta_plate{ - {4 3 roll pop pop pop} - }{ - AGMCORE_yellow_plate{ - {4 2 roll pop pop pop} - }{ - {4 1 roll pop pop pop} - }ifelse - }ifelse - }ifelse - def - /clip AGMCORE_key_known not{ - Adobe_AGM_Core/AGMCORE_&clip /clip load put - /clip - { - current_spot_alias{ - currentdict/InksUsed known{ - [ - InksUsed{ - dup map_alias{ - /Name get exch pop - }if - }forall - ] - /InksUsed xdf - }if - }if - AGMCORE_&clip - }def - }if - /eoclip AGMCORE_key_known not{ - Adobe_AGM_Core/AGMCORE_&eoclip /eoclip load put - /eoclip - { - current_spot_alias{ - currentdict/InksUsed known{ - [ - InksUsed{ - dup map_alias{ - /Name get exch pop - }if - }forall - ] - /InksUsed xdf - }if - }if - AGMCORE_&eoclip - }def - }if - }if - AGMCORE_in_rip_sep{ - /setcustomcolor - { - exch aload pop - dup 7 1 roll inRip_spot_has_ink not { - 4 {4 index mul 4 1 roll} - repeat - /DeviceCMYK setcolorspace - 6 -2 roll pop pop - }{ - Adobe_AGM_Core begin - /AGMCORE_k xdf /AGMCORE_y xdf /AGMCORE_m xdf /AGMCORE_c xdf - end - [/Separation 4 -1 roll /DeviceCMYK - {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} - ] - setcolorspace - }ifelse - setcolor - }ndf - /setseparationgray - { - [/Separation (All) /DeviceGray {}] setcolorspace_opt - 1 exch sub setcolor - }ndf - }{ - /setseparationgray - { - AGMCORE_&setgray - }ndf - }ifelse - /findcmykcustomcolor - { - 5 makereadonlyarray - }ndf - /setcustomcolor - { - exch aload pop pop - 4 {4 index mul 4 1 roll} repeat - setcmykcolor pop - }ndf - - /has_color - /colorimage where{ - AGMCORE_producing_seps{ - pop true - }{ - systemdict eq - }ifelse - }{ - false - }ifelse - def - - /map_index - { - 1 index mul exch getinterval {255 div} forall - }def - - level2{ - /mo /moveto ldf - /li /lineto ldf - /cv /curveto ldf - /knockout_unitsq - { - 1 setgray - 0 0 1 1 rectfill - }def - /level2ScreenFreq{ - begin - 60 - HalftoneType 1 eq{ - pop Frequency - }if - HalftoneType 2 eq{ - pop GrayFrequency - }if - HalftoneType 5 eq{ - pop Default level2ScreenFreq - }if - end - }def - /currentScreenFreq{ - currenthalftone level2ScreenFreq - }def - level2 /setcolorspace AGMCORE_key_known not and{ - - /AGMCORE_&&&setcolorspace /setcolorspace ldf - /AGMCORE_ReplaceMappedColor - { - dup type dup /arraytype eq exch /packedarraytype eq or - { - dup 0 get dup /Separation eq - { - pop - dup length array copy - dup dup 1 get - current_spot_alias - { - dup map_alias - { - begin - /sep_colorspace_dict currentdict AGMCORE_gput - pop pop pop - - [ - /Separation Name - CSA map_csa - dup /MappedCSA xdf - /sep_colorspace_proc load - ] - dup Name - end - }if - }if - map_reserved_ink_name 1 exch put - }{ - /DeviceN eq - { - dup length array copy - dup dup 1 get [ - exch { - current_spot_alias{ - dup map_alias{ - /Name get exch pop - }if - }if - map_reserved_ink_name - } forall - ] 1 exch put - }if - }ifelse - }if - }def - /setcolorspace - { - dup type dup /arraytype eq exch /packedarraytype eq or - { - dup 0 get /Indexed eq - { - AGMCORE_distilling - { - /PhotoshopDuotoneList where - { - pop false - }{ - true - }ifelse - }{ - true - }ifelse - { - aload pop 3 -1 roll - AGMCORE_ReplaceMappedColor - 3 1 roll 4 array astore - }if - }{ - AGMCORE_ReplaceMappedColor - }ifelse - }if - AGMCORE_&&&setcolorspace - }def - }if - }{ - - /adj - { - currentstrokeadjust{ - transform - 0.25 sub round 0.25 add exch - 0.25 sub round 0.25 add exch - itransform - }if - }def - /mo{ - adj moveto - }def - /li{ - adj lineto - }def - /cv{ - 6 2 roll adj - 6 2 roll adj - 6 2 roll adj curveto - }def - /knockout_unitsq - { - 1 setgray - 8 8 1 [8 0 0 8 0 0] {} image - }def - /currentstrokeadjust{ - /currentstrokeadjust AGMCORE_gget - }def - /setstrokeadjust{ - /currentstrokeadjust exch AGMCORE_gput - }def - /currentScreenFreq{ - currentscreen pop pop - }def - /setcolorspace - { - /currentcolorspace exch AGMCORE_gput - } def - - /currentcolorspace - { - /currentcolorspace AGMCORE_gget - } def - - /n_color_components - { - dup type /arraytype eq{ - 0 get - }if - dup /DeviceGray eq{ - pop 1 - }{ - /DeviceCMYK eq{ - 4 - }{ - 3 - }ifelse - }ifelse - } def - - /setcolor_devicecolor - { - dup type /arraytype eq{ - 0 get - }if - dup /DeviceGray eq{ - pop setgray - }{ - /DeviceCMYK eq{ - setcmykcolor - }{ - setrgbcolor - }ifelse - }ifelse - }def - - /setcolor - { - currentcolorspace 0 get - dup /DeviceGray ne{ - dup /DeviceCMYK ne{ - dup /DeviceRGB ne{ - dup /Separation eq{ - pop - currentcolorspace 3 get exec - currentcolorspace 2 get - }{ - dup /Indexed eq{ - pop - currentcolorspace 3 get dup type /stringtype eq{ - currentcolorspace 1 get n_color_components - 3 -1 roll map_index - }{ - exec - }ifelse - currentcolorspace 1 get - }{ - /AGMCORE_cur_err /AGMCORE_invalid_color_space def - AGMCORE_invalid_color_space - }ifelse - }ifelse - }if - }if - }if - setcolor_devicecolor - } def - }ifelse - - /sop /setoverprint ldf - /lw /setlinewidth ldf - /lc /setlinecap ldf - /lj /setlinejoin ldf - /ml /setmiterlimit ldf - /dsh /setdash ldf - /sadj /setstrokeadjust ldf - /gry /setgray ldf - /rgb /setrgbcolor ldf - /cmyk /setcmykcolor ldf - /sep /setsepcolor ldf - /idx /setindexedcolor ldf - /colr /setcolor ldf - /csacrd /set_csa_crd ldf - /sepcs /setsepcolorspace ldf - /idxcs /setindexedcolorspace ldf - /cp /closepath ldf - /clp /clp_npth ldf - /eclp /eoclp_npth ldf - /spclp /stkpath_clp_npth ldf - /f /fill ldf - /ef /eofill ldf - /s /stroke ldf - /sclp /stk_n_clp_npth ldf - /nclp /npth_clp ldf - /gset /graphic_setup ldf - /gcln /graphic_cleanup ldf - - currentdict{ - dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and { - bind - }if - def - }forall -}def -/page_trailer -{ - end -}def -/doc_trailer{ -}def -systemdict /findcolorrendering known{ - /findcolorrendering systemdict /findcolorrendering get def -}if -systemdict /setcolorrendering known{ - /setcolorrendering systemdict /setcolorrendering get def -}if -/test_cmyk_color_plate -{ - gsave - setcmykcolor currentgray 1 ne - grestore -}def -/inRip_spot_has_ink -{ - dup Adobe_AGM_Core/AGMCORE_name xddf - convert_spot_to_process not -}def -/current_ink -{ - dup length 0 eq{ - pop true - }{ - Adobe_AGM_Core/ink_result false put - { - dup /ProcessCyan eq{ - AGMCORE_cyan_plate ink_result or Adobe_AGM_Core/ink_result xddf - }{ - dup /ProcessMagenta eq{ - AGMCORE_magenta_plate ink_result or Adobe_AGM_Core/ink_result xddf - }{ - dup /ProcessYellow eq{ - AGMCORE_yellow_plate ink_result or Adobe_AGM_Core/ink_result xddf - }{ - dup /ProcessBlack eq{ - AGMCORE_black_plate ink_result or Adobe_AGM_Core/ink_result xddf - }{ - dup /sep_colorspace_dict AGMCORE_gget dup null eq{ - pop false ink_result or Adobe_AGM_Core/ink_result xddf - }{ - /Name get eq{ - 1 setsepcolor - currentgray 1 ne ink_result or Adobe_AGM_Core/ink_result xddf - }{ - false ink_result or Adobe_AGM_Core/ink_result xddf - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - pop - } forall - ink_result - }ifelse -}def -/map255_to_range -{ - 1 index sub - 3 -1 roll 255 div mul add -}def -/set_csa_crd -{ - /sep_colorspace_dict null AGMCORE_gput - begin - CSA map_csa setcolorspace_opt - set_crd - end -} -def -/setsepcolor -{ - - /sep_colorspace_dict AGMCORE_gget begin - dup /sep_tint exch AGMCORE_gput - TintProc - end -} def -/sep_colorspace_proc -{ - Adobe_AGM_Core/AGMCORE_tmp xddf - /sep_colorspace_dict AGMCORE_gget begin - currentdict/Components known{ - Components aload pop - TintMethod/Lab eq{ - 2 {AGMCORE_tmp mul NComponents 1 roll} repeat - LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll - }{ - TintMethod/Subtractive eq{ - NComponents{ - AGMCORE_tmp mul NComponents 1 roll - }repeat - }{ - NComponents{ - 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll - } repeat - }ifelse - }ifelse - }{ - ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get - aload pop - }ifelse - end -} def -/sep_colorspace_gray_proc -{ - Adobe_AGM_Core/AGMCORE_tmp xddf - /sep_colorspace_dict AGMCORE_gget begin - GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get - end -} def -/sep_proc_name -{ - dup 0 get - dup /DeviceRGB eq exch /DeviceCMYK eq or level2 not and has_color not and{ - pop [/DeviceGray] - /sep_colorspace_gray_proc - }{ - /sep_colorspace_proc - }ifelse -} def -/setsepcolorspace -{ - - current_spot_alias{ - dup begin - Name map_alias{ - exch pop - }if - end - }if - dup /sep_colorspace_dict exch AGMCORE_gput - begin - /MappedCSA CSA map_csa def - Adobe_AGM_Core/AGMCORE_sep_special Name dup () eq exch (All) eq or ddf - - AGMCORE_avoid_L2_sep_space{ - [/Indexed MappedCSA sep_proc_name 255 exch - { 255 div } /exec cvx 3 -1 roll [ 4 1 roll load /exec cvx ] cvx - ] setcolorspace_opt - /TintProc { - 255 mul round cvi setcolor - }bdf - }{ - MappedCSA 0 get /DeviceCMYK eq - currentdict/Components known and - AGMCORE_sep_special not and{ - /TintProc [ - Components aload pop Name findcmykcustomcolor - /exch cvx /setcustomcolor cvx - ] cvx bdf - }{ - AGMCORE_host_sep Name (All) eq and{ - /TintProc { - 1 exch sub setseparationgray - }bdf - }{ - AGMCORE_in_rip_sep MappedCSA 0 get /DeviceCMYK eq and - AGMCORE_host_sep or - Name () eq and{ - /TintProc [ - MappedCSA sep_proc_name exch 0 get /DeviceCMYK eq{ - cvx /setcmykcolor cvx - }{ - cvx /setgray cvx - }ifelse - ] cvx bdf - }{ - AGMCORE_producing_seps MappedCSA 0 get dup /DeviceCMYK eq exch /DeviceGray eq or and AGMCORE_sep_special not and{ - /TintProc [ - /dup cvx - MappedCSA sep_proc_name cvx exch - 0 get /DeviceGray eq{ - 1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx - }if - /Name cvx /findcmykcustomcolor cvx /exch cvx - - AGMCORE_host_sep{ - AGMCORE_is_cmyk_sep - }{ - Name inRip_spot_has_ink not - }ifelse - { - /pop cvx 1 - }if - /setcustomcolor cvx - ] cvx bdf - }{ - /TintProc /setcolor ldf - - [/Separation Name MappedCSA sep_proc_name load ] setcolorspace_opt - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - set_crd - setsepcolor - end -} def -/setindexedcolorspace -{ - dup /indexed_colorspace_dict exch AGMCORE_gput - begin - /MappedCSA CSA map_csa def - AGMCORE_host_sep level2 not and{ - 0 0 0 0 setcmykcolor - }{ - [/Indexed MappedCSA - level2 not has_color not and{ - dup 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or{ - pop [/DeviceGray] - }if - HiVal GrayLookup - }{ - HiVal - currentdict/RangeArray known{ - { - /indexed_colorspace_dict AGMCORE_gget begin - Lookup exch - dup HiVal gt{ - pop HiVal - }if - NComponents mul NComponents getinterval {} forall - NComponents 1 sub -1 0{ - RangeArray exch 2 mul 2 getinterval aload pop map255_to_range - NComponents 1 roll - }for - end - } bind - }{ - Lookup - }ifelse - }ifelse - ] setcolorspace_opt - - set_crd - }ifelse - end -}def -/setindexedcolor -{ - AGMCORE_host_sep{ - /indexed_colorspace_dict AGMCORE_gget/Lookup get 4 3 -1 roll map_index setcmykcolor - }{ - setcolor - }ifelse -} def -/ignoreimagedata -{ - currentoverprint not{ - gsave - dup begin - 1 setgray - 0 0 ImageMatrix itransform - Width Height ImageMatrix idtransform rectfill - end - grestore - }if - consumeimagedata -}def -/add_csa -{ - Adobe_AGM_Core begin - /AGMCORE_CSA_cache xput - end -}def -/map_csa -{ - dup type /nametype eq{ - Adobe_AGM_Core/AGMCORE_CSA_cache get exch get - }if -}def -/add_csd -{ - Adobe_AGM_Core begin - /AGMCORE_CSD_cache xput - end -}def -/get_csd -{ - dup type /nametype eq{ - Adobe_AGM_Core/AGMCORE_CSD_cache get exch get - }if -}def -/get_csd_by_name -{ - dup type dup /nametype eq exch /stringtype eq or{ - Adobe_AGM_Core begin - /AGMCORE_CSD_Name xdf - AGMCORE_CSD_cache - { - dup /Name get AGMCORE_CSD_Name eq - { - exch pop exit - }{ - pop - }ifelse - pop - }forall - end - }if -}def -/cachepattern_level2 -{ - 4 dict begin - /comparebuffer exch def - /holdbuffer exch def - /readbuffer 1024 string def - /LZWFilter holdbuffer /LZWEncode filter def - { - currentfile readbuffer readline not - {pop exit} - if - dup LZWFilter exch writestring - LZWFilter (\n) writestring - comparebuffer eq - {exit} - if - }loop - LZWFilter closefile - end -}def -/cachepattern_level3 -{ - 3 dict begin - /comparebuffer exch def - /readbuffer 1024 string def - /DoEOL false def - { - DoEOL - { - (\n) - /DoEOL false def - } - { - currentfile readbuffer readline not - {pop ()} - { - dup length 0 eq - { pop(\n)} - { - dup comparebuffer eq - {pop ()} - {/DoEOL true def} - ifelse - } - ifelse - } - ifelse - } - ifelse - } /ReusableStreamDecode filter - end -}def -/add_pattern -{ - Adobe_AGM_Core begin - /AGMCORE_pattern_cache xput - end -}def -/get_pattern -{ - dup type /nametype eq{ - Adobe_AGM_Core/AGMCORE_pattern_cache get exch get - }if -}def -/make_pattern -{ - dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform - exch 3 index /XStep get 1 index exch 2 copy div cvi mul sub sub - exch 3 index /YStep get 1 index exch 2 copy div cvi mul sub sub - matrix translate exch matrix concatmatrix - makepattern -}def -/set_pattern -{ - dup /PatternType get 1 eq{ - dup /PaintType get 1 eq{ - false sop [/DeviceGray] setcolorspace 0 setgray - }if - }if - setpattern -}def -/setcolorspace_opt -{ - dup currentcolorspace eq{ - pop - }{ - setcolorspace - }ifelse -}def -/updatecolorrendering -{ - - currentcolorrendering/Intent known{ - currentcolorrendering/Intent get - }{ - null - }ifelse - - Intent ne{ - false - Intent - AGMCORE_CRD_cache { - exch pop - begin - dup Intent eq{ - currentdict setcolorrendering_opt - end - exch pop true exch - exit - }if - end - } forall - pop - not{ - systemdict /findcolorrendering known{ - Intent findcolorrendering pop - /ColorRendering findresource - dup length dict copy - setcolorrendering_opt - }if - }if - }if -} def -/add_crd -{ - AGMCORE_CRD_cache 3 1 roll put -}def -/set_crd -{ - AGMCORE_host_sep not level2 and{ - currentdict/CRD known{ - AGMCORE_CRD_cache CRD get dup null ne{ - setcolorrendering_opt - }{ - pop - }ifelse - }{ - currentdict/Intent known{ - updatecolorrendering - }if - }ifelse - }if -}def -/setcolorrendering_opt -{ - dup currentcolorrendering eq{ - pop - }{ - begin - /Intent Intent def - currentdict - end - setcolorrendering - }ifelse -}def -/cdndf -{ - exch dup currentdict exch known{ - pop pop - }{ - exch def - }ifelse -}def -/cpaint_gcomp -{ - convert_to_process Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf - Adobe_AGM_Core/AGMCORE_ConvertToProcess get not - { - (%end_cpaint_gcomp) flushinput - }if -}def -/cpaint_gsep -{ - Adobe_AGM_Core/AGMCORE_ConvertToProcess get - { - (%end_cpaint_gsep) flushinput - }if -}def -/cpaint_gend -{ - newpath -}def -/AGMCORE_ctm_stack bdict - /push_ctm { - stack length size le{ - stack dup length 2 mul array - dup /stack exch def - copy pop - }if - stack size 3 -1 roll put - /size size 1 add def - } - /pop_ctm { - /size size 1 sub def - size 0 lt{ - /size 0 def - }if - stack size get - } - /stack 1 array - /size 0 -edict -def -/save_ctm -{ - matrix currentmatrix AGMCORE_ctm_stack begin - push_ctm - end -}def -/restore_ctm -{ - AGMCORE_ctm_stack begin - pop_ctm - end - setmatrix -}def -/path_rez -{ - dup 0 ne{ - AGMCORE_deviceDPI exch div - dup 1 lt{ - pop 1 - }if - setflat - }{ - pop - }ifelse -}def -/rdcmntline { - currentfile AGMCORE_str256 readline pop - (%) anchorsearch {pop} if -} def -/set_spot_alias_ary -{ - /AGMCORE_SpotAliasAry where{ - pop pop - }{ - Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf - true set_spot_alias - }ifelse -}def -/set_spot_alias -{ - /AGMCORE_SpotAliasAry where{ - /AGMCORE_current_spot_alias 3 -1 roll put - }{ - pop - }ifelse -}def -/current_spot_alias -{ - /AGMCORE_SpotAliasAry where{ - /AGMCORE_current_spot_alias get - }{ - false - }ifelse -}def -/map_alias -{ - /AGMCORE_SpotAliasAry where{ - begin - /AGMCORE_name xdf - false - AGMCORE_SpotAliasAry{ - dup/Name get AGMCORE_name eq{ - save exch - /Adobe_AGM_Core currentdict def - /CSD get get_csd - exch restore - exch pop true - exit - }{ - pop - }ifelse - }forall - end - }{ - pop false - }ifelse -}bdf -/spot_alias -{ - true set_spot_alias - - /AGMCORE_&setcustomcolor AGMCORE_key_known not { - Adobe_AGM_Core/AGMCORE_&setcustomcolor /setcustomcolor load put - } if - /customcolor_tint 1 AGMCORE_gput - - Adobe_AGM_Core begin - /setcustomcolor - { - - dup /customcolor_tint exch AGMCORE_gput - - current_spot_alias{ - 1 index 4 get map_alias{ - mark 3 1 roll - setsepcolorspace - counttomark 0 ne{ - setsepcolor - }if - pop - pop - }{ - AGMCORE_&setcustomcolor - }ifelse - }{ - AGMCORE_&setcustomcolor - }ifelse - }bdf - end -}def -/begin_feature -{ - Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put - count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put - {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if -}def -/end_feature -{ - 2 dict begin - /spd /setpagedevice load def - /setpagedevice { get_gstate spd set_gstate } def - stopped{$error/newerror false put}if - end - count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse - countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse - {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if -}def -/set_negative -{ - Adobe_AGM_Core begin - /AGMCORE_inverting exch def - level2{ - currentpagedevice/NegativePrint known{ - currentpagedevice/NegativePrint get Adobe_AGM_Core/AGMCORE_inverting get ne{ - true begin_feature true{ - bdict /NegativePrint Adobe_AGM_Core/AGMCORE_inverting get edict setpagedevice - }end_feature - }if - /AGMCORE_inverting false def - }if - }if - AGMCORE_inverting{ - [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer - gsave newpath clippath 1 /setseparationgray where{pop setseparationgray}{setgray}ifelse - fill grestore - }if - end -}def -/lw_save_restore_override { - /md where { - pop - md begin - /pmSVsetup{} def - /endp{}def - /pse{}def - /psb{}def - /orig_showpage where - {pop} - {/orig_showpage /showpage load def} - ifelse - /showpage {orig_showpage gR} def - end - }if -}def -/pscript_showpage_override { - /NTPSOct95 where - { - begin - showpage - save - /showpage /restore load def - /restore {exch pop}def - end - }if -}def -/driver_media_override -{ - /md where { - pop - md /initializepage known { - md /initializepage {} put - } if - md /rC known { - md /rC {4{pop}repeat} put - } if - }if - - Adobe_AGM_Core /AGMCORE_Default_CTM matrix currentmatrix put -}def -/driver_check_media_override -{ - Adobe_AGM_Core /AGMCORE_Default_CTM get matrix currentmatrix ne - { - Adobe_AGM_Core /AGMCORE_Default_CTM get setmatrix - }if -}def -AGMCORE_err_strings begin - /AGMCORE_bad_environ (Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. ) def - /AGMCORE_color_space_onhost_seps (This job contains colors that will not separate with on-host methods. ) def - /AGMCORE_invalid_color_space (This job contains an invalid color space. ) def -end -end -systemdict /setpacking known -{ - setpacking -} if -%%EndResource -%%BeginResource: procset Adobe_CoolType_Core 2.12 0 -%%Copyright: Copyright 1997-2001 Adobe Systems Incorporated. All Rights Reserved. -%%Version: 2.12 0 -userdict/Adobe_CoolType_Core 60 dict dup begin put/Level2? systemdict -/languagelevel known dup{pop systemdict/languagelevel get 2 ge}if def Level2? -not{/currentglobal false def/setglobal/pop load def/gcheck{pop false}bind def -/currentpacking false def/setpacking/pop load def/SharedFontDirectory 0 dict -def}if currentpacking true setpacking/@_SaveStackLevels{Adobe_CoolType_Data -begin @opStackCountByLevel @opStackLevel 2 copy known not{2 copy 3 dict dup -/args 7 index 5 add array put put get}{get dup/args get dup length 3 index lt{ -dup length 5 add array exch 1 index exch 0 exch putinterval 1 index exch/args -exch put}{pop}ifelse}ifelse begin count 2 sub 1 index lt{pop count 1 sub}if -dup/argCount exch def dup 0 gt{exch 1 index 2 add 1 roll args exch 0 exch -getinterval astore pop}{pop}ifelse count 1 sub/restCount exch def end -/@opStackLevel @opStackLevel 1 add def countdictstack 1 sub -@dictStackCountByLevel exch @dictStackLevel exch put/@dictStackLevel -@dictStackLevel 1 add def end}bind def/@_RestoreStackLevels{ -Adobe_CoolType_Data begin/@opStackLevel @opStackLevel 1 sub def -@opStackCountByLevel @opStackLevel get begin count restCount sub dup 0 gt{{pop -}repeat}{pop}ifelse args 0 argCount getinterval{}forall end/@dictStackLevel -@dictStackLevel 1 sub def @dictStackCountByLevel @dictStackLevel get end -countdictstack exch sub dup 0 gt{{end}repeat}{pop}ifelse}bind def -/@_PopStackLevels{Adobe_CoolType_Data begin/@opStackLevel @opStackLevel 1 sub -def/@dictStackLevel @dictStackLevel 1 sub def end}bind def/@Raise{exch cvx -exch errordict exch get exec stop}bind def/@ReRaise{cvx $error/errorname get -errordict exch get exec stop}bind def/@Stopped{0 @#Stopped}bind def/@#Stopped{ -@_SaveStackLevels stopped{@_RestoreStackLevels true}{@_PopStackLevels false} -ifelse}bind def/@Arg{Adobe_CoolType_Data begin @opStackCountByLevel -@opStackLevel 1 sub get/args get exch get end}bind def/doc_setup{ -Adobe_CoolType_Core begin/mov/moveto load def/nfnt/newencodedfont load def -/mfnt/makefont load def/sfnt/setfont load def/ufnt/undefinefont load def/chp -/charpath load def/awsh/awidthshow load def/wsh/widthshow load def/ash/ashow -load def/sh/show load def end userdict/Adobe_CoolType_Data 6 dict dup begin -/AddWidths? false def/CC 0 def/charcode 2 string def/@opStackCountByLevel 32 -dict def/@opStackLevel 0 def/@dictStackCountByLevel 32 dict def -/@dictStackLevel 0 def end put}bind def/doc_trailer{currentdict -Adobe_CoolType_Core eq{end}if}bind def/page_setup{Adobe_CoolType_Core begin} -bind def/page_trailer{end}bind def/unload{systemdict/languagelevel known{ -systemdict/languagelevel get 2 ge{userdict/Adobe_CoolType_Core 2 copy known{ -undef}{pop pop}ifelse}if}if}bind def/ndf{1 index where{pop pop pop}{dup xcheck -{bind}if def}ifelse}def/findfont dup systemdict begin userdict begin -/globaldict where{/globaldict get begin}if dup where pop exch get/globaldict -where{pop end}if end end def/systemfindfont/findfont load def/undefinefont{pop -}ndf/copyfont{currentglobal 3 1 roll 1 index gcheck setglobal dup null eq{0}{ -dup length}ifelse 2 index length add 1 add dict begin exch{1 index/FID eq{pop -pop}{def}ifelse}forall dup null eq{pop}{{def}forall}ifelse currentdict end -exch setglobal}bind def/copyarray{currentglobal exch dup gcheck setglobal dup -length array copy exch setglobal}bind def/newencodedfont{currentglobal{ -SharedFontDirectory 3 index known{SharedFontDirectory 3 index get -/FontReferenced known}{false}ifelse}{FontDirectory 3 index known{FontDirectory -3 index get/FontReferenced known}{SharedFontDirectory 3 index known{ -SharedFontDirectory 3 index get/FontReferenced known}{false}ifelse}ifelse} -ifelse dup{3 index findfont/FontReferenced get 2 index findfont ne{pop false} -if}if{pop 1 index findfont/Encoding get exch 0 1 255{2 copy get 3 index 3 1 -roll put}for pop pop pop}{findfont dup dup maxlength 2 add dict begin exch{1 -index/FID ne{def}{pop pop}ifelse}forall/FontReferenced exch def/Encoding exch -dup length array copy def/FontName 1 index dup type/stringtype eq{cvn}if def -currentdict end definefont pop}ifelse}bind def/SetSubstituteStrategy{ -$SubstituteFont begin dup type/dicttype ne{0 dict}if currentdict/$Strategies -known{exch $Strategies exch 2 copy known{get 2 copy maxlength exch maxlength -add dict begin{def}forall{def}forall currentdict dup/$Init known{dup/$Init get -exec}if end/$Strategy exch def}{pop pop pop}ifelse}{pop pop}ifelse end}bind -def/scff{$SubstituteFont begin dup type/stringtype eq{dup length exch}{null} -ifelse/$sname exch def/$slen exch def end{findfont}@Stopped{dup length dup 21 -add string dup 4 3 roll 0 exch 128 string cvs putinterval exch 1 index exch -(_was-malformed-so-was)putinterval cvn{findfont}@Stopped{pop/Courier findfont} -if}if $SubstituteFont begin/$sname null def/$slen 0 def end}bind def -/isWidthsOnlyFont{dup/WidthsOnly known{pop pop true}{dup/FDepVector known{ -/FDepVector get{isWidthsOnlyFont dup{exit}if}forall}{dup/FDArray known{ -/FDArray get{isWidthsOnlyFont dup{exit}if}forall}{pop}ifelse}ifelse}ifelse} -bind def/?set{$SubstituteFont begin/$substituteFound false def/$fontname 4 -index def/$doSmartSub false def end 3 index findfont $SubstituteFont begin -$substituteFound{false}{dup/FontName known{dup/FontName get $fontname eq 1 -index/DistillerFauxFont known not and/currentdistillerparams where{pop false 2 -index isWidthsOnlyFont not and}if}{false}ifelse}ifelse exch pop/$doSmartSub -true def end{exch pop exch pop exch 2 dict dup/Found 3 index put exch findfont -exch}{exch exec exch findfont 2 dict dup/Downloaded 6 5 roll put}ifelse dup -/FontName 4 index put copyfont definefont pop}bind def/?str1 256 string def -/?str2 256 string def/?add{1 index type/integertype eq{exch true 4 2}{false 3 -1}ifelse roll 1 index findfont dup/Widths known{Adobe_CoolType_Data/AddWidths? -true put gsave dup 1000 scalefont setfont}if/Downloaded known{exec exch{exch -?str2 cvs exch findfont/Downloaded get 1 dict begin/Downloaded 1 index def -?str1 cvs length ?str1 1 index 1 add 3 index putinterval exch length 1 add 1 -index add ?str1 2 index(*)putinterval ?str1 0 2 index getinterval cvn findfont -?str1 3 index(+)putinterval 2 dict dup/FontName ?str1 0 6 index getinterval -cvn put dup/Downloaded Downloaded put end copyfont dup/FontName get exch -definefont pop pop pop}{pop}ifelse}{pop exch{findfont dup/Found get dup length -exch ?str1 cvs pop ?str1 1 index(+)putinterval ?str1 1 index 1 add 4 index -?str2 cvs putinterval ?str1 exch 0 exch 5 4 roll ?str2 cvs length 1 add add -getinterval cvn 1 dict exch 1 index exch/FontName exch put copyfont dup -/FontName get exch definefont pop}{pop}ifelse}ifelse Adobe_CoolType_Data -/AddWidths? get{grestore Adobe_CoolType_Data/AddWidths? false put}if}bind def -/?sh{currentfont/Downloaded known{exch}if pop}bind def/?chp{currentfont -/Downloaded known{pop}{false chp}ifelse}bind def/?mv{currentfont/Downloaded -known{moveto pop pop}{pop pop moveto}ifelse}bind def setpacking userdict -/$SubstituteFont 25 dict put 1 dict begin/SubstituteFont dup $error exch 2 -copy known{get}{pop pop{pop/Courier}bind}ifelse def/currentdistillerparams -where dup{pop pop currentdistillerparams/CannotEmbedFontPolicy 2 copy known{ -get/Error eq}{pop pop false}ifelse}if not{countdictstack array dictstack 0 get -begin userdict begin $SubstituteFont begin/$str 128 string def/$fontpat 128 -string def/$slen 0 def/$sname null def/$match false def/$fontname null def -/$substituteFound false def/$doSmartSub true def/$depth 0 def/$fontname null -def/$italicangle 26.5 def/$dstack null def/$Strategies 10 dict dup begin -/$Type3Underprint{currentglobal exch false setglobal 11 dict begin/UseFont -exch $WMode 0 ne{dup length dict copy dup/WMode $WMode put/UseFont exch -definefont}if def/FontName $fontname dup type/stringtype eq{cvn}if def -/FontType 3 def/FontMatrix[.001 0 0 .001 0 0]def/Encoding 256 array dup 0 1 -255{/.notdef put dup}for pop def/FontBBox[0 0 0 0]def/CCInfo 7 dict dup begin -/cc null def/x 0 def/y 0 def end def/BuildChar{exch begin CCInfo begin 1 -string dup 0 3 index put exch pop/cc exch def UseFont 1000 scalefont setfont -cc stringwidth/y exch def/x exch def x y setcharwidth $SubstituteFont -/$Strategy get/$Underprint get exec 0 0 moveto cc show x y moveto end end}bind -def currentdict end exch setglobal}bind def/$GetaTint 2 dict dup begin -/$BuildFont{dup/WMode known{dup/WMode get}{0}ifelse/$WMode exch def $fontname -exch dup/FontName known{dup/FontName get dup type/stringtype eq{cvn}if}{ -/unnamedfont}ifelse exch $deepcopyfont exch 1 index exch/FontBasedOn exch put -dup/FontName $fontname dup type/stringtype eq{cvn}if put definefont}bind def -/$Underprint{gsave x abs y abs gt{/y 1000 def}{/x -1000 def 500 120 translate} -ifelse Level2?{[/Separation(All)/DeviceCMYK{0 0 0 1 pop}]setcolorspace}{0 -setgray}ifelse 10 setlinewidth x .8 mul[7 3]{y mul 8 div 120 sub x 10 div exch -moveto 0 y 4 div neg rlineto dup 0 rlineto 0 y 4 div rlineto closepath gsave -Level2?{.2 setcolor}{.8 setgray}ifelse fill grestore stroke}forall pop -grestore}bind def end def/$Oblique 1 dict dup begin/$BuildFont{currentglobal -exch dup gcheck setglobal null copyfont begin/FontBasedOn currentdict/FontName -known{FontName dup type/stringtype eq{cvn}if}{/unnamedfont}ifelse def/FontName -$fontname dup type/stringtype eq{cvn}if def/currentdistillerparams where{pop}{ -/FontInfo currentdict/FontInfo known{FontInfo null copyfont}{2 dict}ifelse dup -begin/ItalicAngle $italicangle def/FontMatrix FontMatrix[1 0 ItalicAngle dup -sin exch cos div 1 0 0]matrix concatmatrix readonly end 4 2 roll def def} -ifelse FontName currentdict end definefont exch setglobal}bind def end def -/$None 1 dict dup begin/$BuildFont{}bind def end def end def/$Oblique -SetSubstituteStrategy/$findfontByEnum{dup type/stringtype eq{cvn}if dup -/$fontname exch def $sname null eq{$str cvs dup length $slen sub $slen -getinterval}{pop $sname}ifelse $fontpat dup 0(fonts/*)putinterval exch 7 exch -putinterval/$match false def $SubstituteFont/$dstack countdictstack array -dictstack put mark{$fontpat 0 $slen 7 add getinterval{/$match exch def exit} -$str filenameforall}stopped{cleardictstack currentdict true $SubstituteFont -/$dstack get{exch{1 index eq{pop false}{true}ifelse}{begin false}ifelse}forall -pop}if cleartomark/$slen 0 def $match false ne{$match(fonts/)anchorsearch pop -pop cvn}{/Courier}ifelse}bind def/$ROS 1 dict dup begin/Adobe 4 dict dup begin -/Japan1[/Ryumin-Light/HeiseiMin-W3/GothicBBB-Medium/HeiseiKakuGo-W5 -/HeiseiMaruGo-W4/Jun101-Light]def/Korea1[/HYSMyeongJo-Medium/HYGoThic-Medium] -def/GB1[/STSong-Light/STHeiti-Regular]def/CNS1[/MKai-Medium/MHei-Medium]def -end def end def/$cmapname null def/$deepcopyfont{dup/FontType get 0 eq{1 dict -dup/FontName/copied put copyfont begin/FDepVector FDepVector copyarray 0 1 2 -index length 1 sub{2 copy get $deepcopyfont dup/FontName/copied put/copied -exch definefont 3 copy put pop pop}for def currentdict end}{$Strategies -/$Type3Underprint get exec}ifelse}bind def/$buildfontname{length $str 1 index -(-)putinterval 1 add $str 1 index $cmapname $fontpat cvs putinterval $cmapname -length add $str exch 0 exch getinterval cvn}bind def/$findfontByROS{/$fontname -exch def $ROS Registry 2 copy known{get Ordering 2 copy known{get}{pop pop[]} -ifelse}{pop pop[]}ifelse false exch{dup/CIDFont resourcestatus{pop pop save 1 -index/CIDFont findresource dup/WidthsOnly known{dup/WidthsOnly get}{false} -ifelse exch pop exch restore{pop}{exch pop true exit}ifelse}{pop}ifelse}forall -{$str cvs $buildfontname}{false(*){save exch dup/CIDFont findresource dup -/WidthsOnly known{dup/WidthsOnly get not}{true}ifelse exch/CIDSystemInfo get -dup/Registry get Registry eq exch/Ordering get Ordering eq and and{exch -restore exch pop true exit}{pop restore}ifelse}$str/CIDFont resourceforall{ -$buildfontname}{$fontname $findfontByEnum}ifelse}ifelse}bind def end end -currentdict/$error known currentdict/languagelevel known and dup{pop $error -/SubstituteFont known}if dup{$error}{Adobe_CoolType_Core}ifelse begin{ -/SubstituteFont/CMap/Category resourcestatus{pop pop{$SubstituteFont begin -/$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt -and{$sname null eq{dup $str cvs dup length $slen sub $slen getinterval cvn}{ -$sname}ifelse dup/CMap resourcestatus{pop pop dup/$cmapname exch def/CMap -findresource/CIDSystemInfo get{def}forall $findfontByROS}{128 string cvs dup -(-)search{3 1 roll search{3 1 roll pop{dup cvi}stopped{pop pop pop pop pop -$findfontByEnum}{4 2 roll pop pop exch length exch 2 index length 2 index sub -exch 1 sub -1 0{$str cvs dup length 4 index 0 4 index 4 3 roll add getinterval -exch 1 index exch 3 index exch putinterval dup/CMap resourcestatus{pop pop 4 1 -roll pop pop pop dup/$cmapname exch def/CMap findresource/CIDSystemInfo get{ -def}forall $findfontByROS true exit}{pop}ifelse}for dup type/booleantype eq{ -pop}{pop pop $findfontByEnum}ifelse}ifelse}{pop pop pop $findfontByEnum}ifelse -}{pop pop $findfontByEnum}ifelse}ifelse}{//SubstituteFont exec}ifelse/$slen 0 -def end}}{{$SubstituteFont begin/$substituteFound true def dup length $slen gt -$sname null ne or $slen 0 gt and{$findfontByEnum}{//SubstituteFont exec}ifelse -end}}ifelse bind readonly def Adobe_CoolType_Core/scfindfont/systemfindfont -load put}{/scfindfont{$SubstituteFont begin dup systemfindfont dup/FontName -known{dup/FontName get dup 3 index ne}{/noname true}ifelse dup{ -/$origfontnamefound 2 index def/$origfontname 4 index def/$substituteFound -true def}if exch pop{$slen 0 gt $sname null ne 3 index length $slen gt or and{ -pop dup $findfontByEnum findfont dup maxlength 1 add dict begin{1 index/FID eq -{pop pop}{def}ifelse}forall currentdict end definefont dup/FontName known{dup -/FontName get}{null}ifelse $origfontnamefound ne{$origfontname $str cvs print -( substitution revised, using )print dup/FontName known{dup/FontName get}{ -(unspecified font)}ifelse $str cvs print(. -)print}if}{exch pop}ifelse}{exch pop}ifelse end}bind def}ifelse end end -Adobe_CoolType_Core/findfont{$SubstituteFont begin $depth 0 eq{/$fontname 1 -index dup type/stringtype ne{$str cvs}if def/$substituteFound false def}if -/$depth $depth 1 add def end scfindfont $SubstituteFont begin/$depth $depth 1 -sub def $substituteFound $depth 0 eq and $doSmartSub and{currentdict/$Strategy -known{$Strategy/$BuildFont get exec}if}if end}bind put}if end end -%%EndResource -%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.13 0 -%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. -%%Version: 1.13 0 -systemdict/languagelevel known dup{currentglobal false setglobal}{false}ifelse -exch userdict/Adobe_CoolType_Utility 2 copy known{2 copy get dup maxlength 25 -add dict copy}{25 dict}ifelse put Adobe_CoolType_Utility begin/ct_Level2? exch -def/ct_Clone? 1183615869 internaldict dup/CCRun known not exch/eCCRun known -not ct_Level2? and or def/ct_UseNativeCapability? systemdict/composefont known -def/ct_MakeOCF 35 dict def/ct_Vars 25 dict def/ct_GlyphDirProcs 6 dict def -/ct_BuildCharDict 15 dict dup begin/charcode 2 string def/dst_string 1500 -string def/nullstring()def/usewidths? true def end def ct_Level2?{setglobal}{ -pop}ifelse ct_GlyphDirProcs begin/GetGlyphDirectory{systemdict/languagelevel -known{pop/CIDFont findresource/GlyphDirectory get}{1 index/CIDFont -findresource/GlyphDirectory get dup type/dicttype eq{dup dup maxlength exch -length sub 2 index lt{dup length 2 index add dict copy 2 index/CIDFont -findresource/GlyphDirectory 2 index put}if}if exch pop exch pop}ifelse +}def/+ -{systemdict/languagelevel known{currentglobal false setglobal 3 dict begin/vm -exch def}{1 dict begin}ifelse/$ exch def systemdict/languagelevel known{vm -setglobal/gvm currentglobal def $ gcheck setglobal}if ?{$ begin}if}def/?{$ -type/dicttype eq}def/|{userdict/Adobe_CoolType_Data known{Adobe_CoolType_Data -/AddWidths? known{currentdict Adobe_CoolType_Data begin begin AddWidths?{ -Adobe_CoolType_Data/CC 3 index put ?{def}{$ 3 1 roll put}ifelse CC charcode -exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put -stringwidth 2 array astore currentfont/Widths get exch CC exch put}{?{def}{$ 3 -1 roll put}ifelse}ifelse end end}{?{def}{$ 3 1 roll put}ifelse}ifelse}{?{def}{ -$ 3 1 roll put}ifelse}ifelse}def/!{?{end}if systemdict/languagelevel known{gvm -setglobal}if end}def/:{string currentfile exch readstring pop}executeonly def -end ct_MakeOCF begin/ct_cHexEncoding[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09 -/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C -/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F -/c30/c31/c32/c33/c34/c35/c36/c37/c38/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42 -/c43/c44/c45/c46/c47/c48/c49/c4A/c4B/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55 -/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68 -/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B -/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E -/c8F/c90/c91/c92/c93/c94/c95/c96/c97/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1 -/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4 -/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7 -/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA -/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED -/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def -/ct_CID_STR_SIZE 8000 def/ct_mkocfStr100 100 string def/ct_defaultFontMtx[.001 -0 0 .001 0 0]def/ct_1000Mtx[1000 0 0 1000 0 0]def/ct_raise{exch cvx exch -errordict exch get exec stop}bind def/ct_reraise{cvx $error/errorname get -(Error: )print dup( )cvs print errordict exch get exec stop -}bind def/ct_cvnsi{1 index add 1 sub 1 exch 0 4 1 roll{2 index exch get exch 8 -bitshift add}for exch pop}bind def/ct_GetInterval{Adobe_CoolType_Utility -/ct_BuildCharDict get begin/dst_index 0 def dup dst_string length gt{dup -string/dst_string exch def}if 1 index ct_CID_STR_SIZE idiv/arrayIndex exch def -2 index arrayIndex get 2 index arrayIndex ct_CID_STR_SIZE mul sub{dup 3 index -add 2 index length le{2 index getinterval dst_string dst_index 2 index -putinterval length dst_index add/dst_index exch def exit}{1 index length 1 -index sub dup 4 1 roll getinterval dst_string dst_index 2 index putinterval -pop dup dst_index add/dst_index exch def sub/arrayIndex arrayIndex 1 add def 2 -index dup length arrayIndex gt{arrayIndex get}{pop exit}ifelse 0}ifelse}loop -pop pop pop dst_string 0 dst_index getinterval end}bind def ct_Level2?{ -/ct_resourcestatus currentglobal mark true setglobal{/unknowninstancename -/Category resourcestatus}stopped{cleartomark setglobal true}{cleartomark -currentglobal not exch setglobal}ifelse{{mark 3 1 roll/Category findresource -begin ct_Vars/vm currentglobal put({ResourceStatus} stopped)0()/SubFileDecode -filter cvx exec{cleartomark false}{{3 2 roll pop true}{cleartomark false} -ifelse}ifelse ct_Vars/vm get setglobal end}}{{resourcestatus}}ifelse bind def -/CIDFont/Category ct_resourcestatus{pop pop}{currentglobal true setglobal -/Generic/Category findresource dup length dict copy dup/InstanceType/dicttype -put/CIDFont exch/Category defineresource pop setglobal}ifelse -ct_UseNativeCapability?{/CIDInit/ProcSet findresource begin 12 dict begin -begincmap/CIDSystemInfo 3 dict dup begin/Registry(Adobe)def/Ordering(Identity) -def/Supplement 0 def end def/CMapName/Identity-H def/CMapVersion 1 def -/CMapType 1 def 1 begincodespacerange<0000>endcodespacerange 1 -begincidrange<0000>0 endcidrange endcmap CMapName currentdict/CMap -defineresource pop end end}if}{/ct_Category 2 dict begin/CIDFont 10 dict def -/ProcSet 2 dict def currentdict end def/defineresource{ct_Category 1 index 2 -copy known{get dup dup maxlength exch length eq{dup length 10 add dict copy -ct_Category 2 index 2 index put}if 3 index 3 index put pop exch pop}{pop pop -/defineresource/undefined ct_raise}ifelse}bind def/findresource{ct_Category 1 -index 2 copy known{get 2 index 2 copy known{get 3 1 roll pop pop}{pop pop -/findresource/undefinedresource ct_raise}ifelse}{pop pop/findresource -/undefined ct_raise}ifelse}bind def/resourcestatus{ct_Category 1 index 2 copy -known{get 2 index known exch pop exch pop{0 -1 true}{false}ifelse}{pop pop -/findresource/undefined ct_raise}ifelse}bind def/ct_resourcestatus -/resourcestatus load def}ifelse/ct_CIDInit 2 dict begin/ct_cidfont_stream_init -{{dup(Binary)eq{pop null currentfile ct_Level2?{{cid_BYTE_COUNT() -/SubFileDecode filter}stopped{pop pop pop}if}if/readstring load exit}if dup -(Hex)eq{pop currentfile ct_Level2?{{null exch/ASCIIHexDecode filter/readstring -}stopped{pop exch pop(>)exch/readhexstring}if}{(>)exch/readhexstring}ifelse -load exit}if/StartData/typecheck ct_raise}loop cid_BYTE_COUNT ct_CID_STR_SIZE -le{2 copy cid_BYTE_COUNT string exch exec pop 1 array dup 3 -1 roll 0 exch put -}{cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi dup array exch 2 sub 0 exch 1 -exch{2 copy 5 index ct_CID_STR_SIZE string 6 index exec pop put pop}for 2 -index cid_BYTE_COUNT ct_CID_STR_SIZE mod string 3 index exec pop 1 index exch -1 index length 1 sub exch put}ifelse cid_CIDFONT exch/GlyphData exch put 2 -index null eq{pop pop pop}{pop/readstring load 1 string exch{3 copy exec pop -dup length 0 eq{pop pop pop pop pop true exit}if 4 index eq{pop pop pop pop -false exit}if}loop pop}ifelse}bind def/StartData{mark{currentdict dup/FDArray -get 0 get/FontMatrix get 0 get .001 eq{dup/CDevProc known not{/CDevProc -1183615869 internaldict/stdCDevProc 2 copy known{get}{pop pop{pop pop pop pop -pop 0 -1000 7 index 2 div 880}}ifelse def}if}{/CDevProc{pop pop pop pop pop 0 -1 cid_temp/cid_CIDFONT get/FDArray get 0 get/FontMatrix get 0 get div 7 index -2 div 1 index .88 mul}def}ifelse/cid_temp 15 dict def cid_temp begin -/cid_CIDFONT exch def 3 copy pop dup/cid_BYTE_COUNT exch def 0 gt{ -ct_cidfont_stream_init FDArray{/Private get dup/SubrMapOffset known{begin -/Subrs SubrCount array def Subrs SubrMapOffset SubrCount SDBytes ct_Level2?{ -currentdict dup/SubrMapOffset undef dup/SubrCount undef/SDBytes undef}if end -/cid_SD_BYTES exch def/cid_SUBR_COUNT exch def/cid_SUBR_MAP_OFFSET exch def -/cid_SUBRS exch def cid_SUBR_COUNT 0 gt{GlyphData cid_SUBR_MAP_OFFSET -cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi 0 1 cid_SUBR_COUNT 1 sub{ -exch 1 index 1 add cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add GlyphData exch -cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi cid_SUBRS 4 2 roll -GlyphData exch 4 index 1 index sub ct_GetInterval dup length string copy put} -for pop}if}{pop}ifelse}forall}if cleartomark pop pop end CIDFontName -currentdict/CIDFont defineresource pop end end}stopped{cleartomark/StartData -ct_reraise}if}bind def currentdict end def/ct_saveCIDInit{/CIDInit/ProcSet -ct_resourcestatus{true}{/CIDInitC/ProcSet ct_resourcestatus}ifelse{pop pop -/CIDInit/ProcSet findresource ct_UseNativeCapability?{pop null}{/CIDInit -ct_CIDInit/ProcSet defineresource pop}ifelse}{/CIDInit ct_CIDInit/ProcSet -defineresource pop null}ifelse ct_Vars exch/ct_oldCIDInit exch put}bind def -/ct_restoreCIDInit{ct_Vars/ct_oldCIDInit get dup null ne{/CIDInit exch/ProcSet -defineresource pop}{pop}ifelse}bind def/ct_BuildCharSetUp{1 index begin -CIDFont begin Adobe_CoolType_Utility/ct_BuildCharDict get begin/ct_dfCharCode -exch def/ct_dfDict exch def CIDFirstByte ct_dfCharCode add dup CIDCount ge{pop -0}if/cid exch def{GlyphDirectory cid 2 copy known{get}{pop pop nullstring} -ifelse dup length FDBytes sub 0 gt{dup FDBytes 0 ne{0 FDBytes ct_cvnsi}{pop 0} -ifelse/fdIndex exch def dup length FDBytes sub FDBytes exch getinterval -/charstring exch def exit}{pop cid 0 eq{/charstring nullstring def exit}if/cid -0 def}ifelse}loop}def/ct_SetCacheDevice{0 0 moveto dup stringwidth 3 -1 roll -true charpath pathbbox 0 -1000 7 index 2 div 880 setcachedevice2 0 0 moveto} -def/ct_CloneSetCacheProc{1 eq{stringwidth pop -2 div -880 0 -1000 setcharwidth -moveto}{usewidths?{currentfont/Widths get cid 2 copy known{get exch pop aload -pop}{pop pop stringwidth}ifelse}{stringwidth}ifelse setcharwidth 0 0 moveto} -ifelse}def/ct_Type3ShowCharString{ct_FDDict fdIndex 2 copy known{get}{ -currentglobal 3 1 roll 1 index gcheck setglobal ct_Type1FontTemplate dup -maxlength dict copy begin FDArray fdIndex get dup/FontMatrix 2 copy known{get} -{pop pop ct_defaultFontMtx}ifelse/FontMatrix exch dup length array copy def -/Private get/Private exch def/Widths rootfont/Widths get def/CharStrings 1 -dict dup/.notdefdup length string copy put def currentdict -end/ct_Type1Font exch definefont dup 5 1 roll put setglobal}ifelse dup -/CharStrings get 1 index/Encoding get ct_dfCharCode get charstring put -rootfont/WMode 2 copy known{get}{pop pop 0}ifelse exch 1000 scalefont setfont -ct_str1 0 ct_dfCharCode put ct_str1 exch ct_dfSetCacheProc ct_SyntheticBold{ -currentpoint ct_str1 show newpath moveto ct_str1 true charpath ct_StrokeWidth -setlinewidth stroke}{ct_str1 show}ifelse}def/ct_Type4ShowCharString{ct_dfDict -ct_dfCharCode charstring FDArray fdIndex get dup/FontMatrix get dup -ct_defaultFontMtx ct_matrixeq not{ct_1000Mtx matrix concatmatrix concat}{pop} -ifelse/Private get Adobe_CoolType_Utility/ct_Level2? get not{ct_dfDict/Private -3 -1 roll{put}1183615869 internaldict/superexec get exec}if 1183615869 -internaldict Adobe_CoolType_Utility/ct_Level2? get{1 index}{3 index/Private -get mark 6 1 roll}ifelse dup/RunInt known{/RunInt get}{pop/CCRun}ifelse get -exec Adobe_CoolType_Utility/ct_Level2? get not{cleartomark}if}bind def -/ct_BuildCharIncremental{{Adobe_CoolType_Utility/ct_MakeOCF get begin -ct_BuildCharSetUp ct_ShowCharString}stopped{stop}if end end end end}bind def -/BaseFontNameStr(BF00)def/ct_Type1FontTemplate 14 dict begin/FontType 1 def -/FontMatrix[.001 0 0 .001 0 0]def/FontBBox[-250 -250 1250 1250]def/Encoding -ct_cHexEncoding def/PaintType 0 def currentdict end def/BaseFontTemplate 11 -dict begin/FontMatrix[.001 0 0 .001 0 0]def/FontBBox[-250 -250 1250 1250]def -/Encoding ct_cHexEncoding def/BuildChar/ct_BuildCharIncremental load def -ct_Clone?{/FontType 3 def/ct_ShowCharString/ct_Type3ShowCharString load def -/ct_dfSetCacheProc/ct_CloneSetCacheProc load def/ct_SyntheticBold false def -/ct_StrokeWidth 1 def}{/FontType 4 def/Private 1 dict dup/lenIV 4 put def -/CharStrings 1 dict dup/.notdefput def/PaintType 0 def -/ct_ShowCharString/ct_Type4ShowCharString load def}ifelse/ct_str1 1 string def -currentdict end def/BaseFontDictSize BaseFontTemplate length 5 add def -/ct_matrixeq{true 0 1 5{dup 4 index exch get exch 3 index exch get eq and dup -not{exit}if}for exch pop exch pop}bind def/ct_makeocf{15 dict begin exch/WMode -exch def exch/FontName exch def/FontType 0 def/FMapType 2 def/FontMatrix -matrix def/bfCount 1 index/CIDCount get 256 idiv 1 add dup 256 gt{pop 256}if -def/Encoding 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for bfCount 1 255{ -2 copy bfCount put pop}for def/FDepVector bfCount dup 256 lt{1 add}if array -def BaseFontTemplate BaseFontDictSize dict copy begin/CIDFont exch def CIDFont -/FontBBox known{CIDFont/FontBBox get/FontBBox exch def}if CIDFont/CDevProc -known{CIDFont/CDevProc get/CDevProc exch def}if currentdict end -BaseFontNameStr 3(0)putinterval 0 1 bfCount dup 256 eq{1 sub}if{FDepVector -exch 2 index BaseFontDictSize dict copy begin dup/CIDFirstByte exch 256 mul -def FontType 3 eq{/ct_FDDict 2 dict def}if currentdict end 1 index 16 -BaseFontNameStr 2 2 getinterval cvrs pop BaseFontNameStr exch definefont put} -for ct_Clone?{/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} -if FontName currentdict end definefont ct_Clone?{gsave dup 1000 scalefont -setfont ct_BuildCharDict begin/usewidths? false def currentfont/Widths get -begin exch/CIDFont get/GlyphDirectory get{pop dup charcode exch 1 index 0 2 -index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore -def}forall end/usewidths? true def end grestore}{exch pop}ifelse}bind def -/ct_ComposeFont{ct_UseNativeCapability?{2 index/CMap ct_resourcestatus{pop pop -exch pop}{/CIDInit/ProcSet findresource begin 12 dict begin begincmap/CMapName -3 index def/CMapVersion 1 def/CMapType 1 def exch/WMode exch def/CIDSystemInfo -3 dict dup begin/Registry(Adobe)def/Ordering CMapName ct_mkocfStr100 cvs -(Adobe-)search{pop pop(-)search{dup length string copy exch pop exch pop}{pop -(Identity)}ifelse}{pop(Identity)}ifelse def/Supplement 0 def end def 1 -begincodespacerange<0000>endcodespacerange 1 begincidrange<0000>0 -endcidrange endcmap CMapName currentdict/CMap defineresource pop end end} -ifelse composefont}{3 2 roll pop 0 get/CIDFont findresource ct_makeocf}ifelse} -bind def/ct_MakeIdentity{ct_UseNativeCapability?{1 index/CMap -ct_resourcestatus{pop pop}{/CIDInit/ProcSet findresource begin 12 dict begin -begincmap/CMapName 2 index def/CMapVersion 1 def/CMapType 1 def/CIDSystemInfo -3 dict dup begin/Registry(Adobe)def/Ordering CMapName ct_mkocfStr100 cvs -(Adobe-)search{pop pop(-)search{dup length string copy exch pop exch pop}{pop -(Identity)}ifelse}{pop(Identity)}ifelse def/Supplement 0 def end def 1 -begincodespacerange<0000>endcodespacerange 1 begincidrange<0000>0 -endcidrange endcmap CMapName currentdict/CMap defineresource pop end end} -ifelse composefont}{exch pop 0 get/CIDFont findresource ct_makeocf}ifelse}bind -def currentdict readonly pop end end -%%EndResource -Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end -%%BeginResource: procset Adobe_AGM_Image 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright (C) 2000-2000 Adobe Systems, Inc. All Rights Reserved. -systemdict /setpacking known -{ - currentpacking - true setpacking -} if -userdict /Adobe_AGM_Image 65 dict dup begin put -/Adobe_AGM_Image_Id /Adobe_AGM_Image_1.0_0 def -/nd{ - null def -}bind def -/AGMIMG_&image nd -/AGMIMG_&colorimage nd -%%don't initialize AGMIMG_&customcolorimage, it wrecks havoc in a nested environment -%%AGMIMG_ccimage_exists not {/AGMIMG_&customcolorimage nd} if -/AGMIMG_&imagemask nd -/AGMIMG_mbuf () def -/AGMIMG_ybuf () def -/AGMIMG_kbuf () def -/AGMIMG_c 0 def -/AGMIMG_m 0 def -/AGMIMG_y 0 def -/AGMIMG_k 0 def -/AGMIMG_tmp nd -/AGMIMG_imagestring0 nd -/AGMIMG_imagestring1 nd -/AGMIMG_imagestring2 nd -/AGMIMG_imagestring3 nd -/AGMIMG_imagestring4 nd -/AGMIMG_imagestring5 nd -/AGMIMG_cnt nd -/AGMIMG_fsave nd -/AGMIMG_colorAry nd -/AGMIMG_override nd -/AGMIMG_name nd -/invert_image_samples nd -/knockout_image_samples nd -/img nd -/sepimg nd -/idximg nd -/doc_setup -{ - Adobe_AGM_Core begin - Adobe_AGM_Image begin - /AGMIMG_&image systemdict/image get def - /AGMIMG_&imagemask systemdict/imagemask get def - /colorimage where{ - pop - /AGMIMG_&colorimage /colorimage ldf - }if - end - end -}def -/page_setup -{ - Adobe_AGM_Image begin - /AGMIMG_ccimage_exists {/customcolorimage where - { - pop - /Adobe_AGM_OnHost_Seps where - { - pop false - }{ - /Adobe_AGM_InRip_Seps where - { - pop false - }{ - true - }ifelse - }ifelse - }{ - false - }ifelse - }bdf - level2{ - /invert_image_samples - { - Adobe_AGM_Image/AGMIMG_tmp Decode length ddf - /Decode [ Decode 1 get Decode 0 get] def - }def - /knockout_image_samples - { - Operator/imagemask ne{ - /Decode [1 1] def - }if - }def - }{ - /invert_image_samples - { - {1 exch sub} currenttransfer addprocs settransfer - }def - /knockout_image_samples - { - { pop 1 } currenttransfer addprocs settransfer - }def - }ifelse - /img /imageormask ldf - /sepimg /sep_imageormask ldf - /idximg /indexed_imageormask ldf - currentdict{ - dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and{ - bind - }if - def - }forall -}def -/page_trailer -{ - end -}def -/doc_trailer -{ -}def -/imageormask_sys -{ - begin - save mark - level2{ - currentdict - Operator /imagemask eq{ - AGMIMG_&imagemask - }{ - AGMIMG_&image - }ifelse - }{ - Width Height - Operator /imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix /DataSource load - AGMIMG_&imagemask - }{ - BitsPerComponent ImageMatrix /DataSource load - AGMIMG_&image - }ifelse - }ifelse - cleartomark restore - end -}def -/overprint_plate -{ - currentoverprint{ - 0 get - dup /DeviceGray eq{ - pop AGMCORE_black_plate not - }{ - /DeviceCMYK eq{ - AGMCORE_is_cmyk_sep not - }if - }ifelse - }{ - false - }ifelse -}def -/imageormask -{ - begin - SkipImageProc not{ - save mark - level2 AGMCORE_host_sep not and{ - currentdict - Operator /imagemask eq{ - imagemask - }{ - AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get /DeviceGray eq and{ - [/Separation /Black /DeviceGray {}] setcolorspace - /Decode [ Decode 1 get Decode 0 get ] def - }if - image - }ifelse - }{ - Width Height - Operator /imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix /DataSource load - AGMCORE_host_sep{ - currentgray 1 ne{ - currentdict imageormask_sys - }{ - currentoverprint not{ - 1 AGMCORE_&setgray - knockout_image_samples - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }{ - imagemask - }ifelse - }{ - BitsPerComponent ImageMatrix - MultipleDataSources{ - 0 1 NComponents 1 sub{ - DataSource exch get - }for - }{ - /DataSource load - }ifelse - Operator /colorimage eq{ - AGMCORE_host_sep{ - MultipleDataSources level2 or NComponents 4 eq and{ - MultipleDataSources{ - 4 {pop} repeat - /DataSource [ - DataSource 0 get /exec cvx - DataSource 1 get /exec cvx - DataSource 2 get /exec cvx - DataSource 3 get /exec cvx - /AGMCORE_get_ink_data cvx - ] cvx def - }{ - /DataSource /DataSource load filter_cmyk 0 () /SubFileDecode filter def - }ifelse - - /Decode [ Decode 0 get Decode 1 get ] def - /MultipleDataSources false def - /NComponents 1 def - /Operator /image def - AGMCORE_is_cmyk_sep{ - currentoverprint InksUsed current_ink not and{ - currentdict consumeimagedata - }{ - invert_image_samples - 1 AGMCORE_&setgray - currentdict imageormask_sys - }ifelse - }{ - currentdict ignoreimagedata - }ifelse - }{ - - MultipleDataSources NComponents AGMIMG_&colorimage - }ifelse - }{ - true NComponents colorimage - }ifelse - }{ - Operator /image eq{ - AGMCORE_host_sep{ - /DoImage true def - HostSepColorImage{ - invert_image_samples - }{ - AGMCORE_black_plate not{ - /DoImage false def - currentdict ignoreimagedata - }if - }ifelse - 1 AGMCORE_&setgray - DoImage - {currentdict imageormask_sys} if - }{ - image - }ifelse - }{ - Operator/knockout eq{ - pop pop pop pop pop - currentoverprint InksUsed current_ink not and{ - }{ - currentcolorspace overprint_plate not{ - knockout_unitsq - }if - }ifelse - }if - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }if - end -}def -/sep_imageormask -{ - /sep_colorspace_dict AGMCORE_gget begin - /MappedCSA CSA map_csa def - begin - SkipImageProc not{ - save mark - - AGMCORE_avoid_L2_sep_space{ - /Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def - }if - AGMIMG_ccimage_exists - MappedCSA 0 get /DeviceCMYK eq and - currentdict/Components known and - Name () ne and - Name (All) ne and - Operator /image eq and - AGMCORE_producing_seps not and - level2 not and - { - Width Height BitsPerComponent ImageMatrix - [ - /DataSource load /exec cvx - { - 0 1 2 index length 1 sub{ - 1 index exch - 2 copy get 255 xor put - }for - } /exec cvx - ] cvx bind - MappedCSA 0 get /DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - Name findcmykcustomcolor - customcolorimage - }{ - AGMCORE_producing_seps not{ - level2{ - AGMCORE_avoid_L2_sep_space not currentcolorspace 0 get /Separation ne and{ - [/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - currentdict imageormask - }{ - currentdict - Operator /imagemask eq{ - imageormask - }{ - sep_imageormask_lev1 - }ifelse - }ifelse - }{ - AGMCORE_host_sep{ - Operator/knockout eq{ - currentoverprint InksUsed current_ink not and{ - }{ - currentdict/ImageMatrix get concat - knockout_unitsq - }ifelse - }{ - currentgray 1 ne{ - AGMCORE_is_cmyk_sep Name (All) ne and{ - level2{ - [ /Separation Name [/DeviceGray] - { - sep_colorspace_proc AGMCORE_get_ink_data - 1 exch sub - } bind - ] AGMCORE_&setcolorspace - /sep_tint AGMCORE_gget AGMCORE_&setcolor - currentdict imageormask_sys - }{ - currentdict - Operator /imagemask eq{ - imageormask_sys - }{ - sep_image_lev1_sep - }ifelse - }ifelse - }{ - Operator/imagemask ne{ - invert_image_samples - }if - currentdict imageormask_sys - }ifelse - }{ - currentdict consumeimagedata - currentoverprint not Name (All) eq or{ - gsave - knockout_unitsq - grestore - }if - }ifelse - }ifelse - }{ - currentcolorspace 0 get /Separation ne{ - [/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - currentoverprint - MappedCSA 0 get /DeviceCMYK eq and - Name inRip_spot_has_ink not and - Name (All) ne and { - imageormask_l2_overprint - }{ - currentdict imageormask - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }if - end - end -}def -/imageormask_l2_overprint -{ - - currentdict - currentcmykcolor add add add 0 eq{ - currentdict consumeimagedata - }{ - level3{ - - currentcmykcolor - /AGMIMG_k xdf - /AGMIMG_y xdf - /AGMIMG_m xdf - /AGMIMG_c xdf - Operator/imagemask eq{ - [/DeviceN [ - AGMIMG_c 0 ne {/Cyan} if - AGMIMG_m 0 ne {/Magenta} if - AGMIMG_y 0 ne {/Yellow} if - AGMIMG_k 0 ne {/Black} if - ] /DeviceCMYK {}] setcolorspace - - AGMIMG_c 0 ne {AGMIMG_c} if - AGMIMG_m 0 ne {AGMIMG_m} if - AGMIMG_y 0 ne {AGMIMG_y} if - AGMIMG_k 0 ne {AGMIMG_k} if - setcolor - }{ - /Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def - [/Indexed - [ - /DeviceN [ - AGMIMG_c 0 ne {/Cyan} if - AGMIMG_m 0 ne {/Magenta} if - AGMIMG_y 0 ne {/Yellow} if - AGMIMG_k 0 ne {/Black} if - ] - /DeviceCMYK { - AGMIMG_k 0 eq {0} if - AGMIMG_y 0 eq {0 exch} if - AGMIMG_m 0 eq {0 3 1 roll} if - AGMIMG_c 0 eq {0 4 1 roll} if - } - ] - 255 - { - 255 div - - mark exch - dup dup dup - - - AGMIMG_k 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - - AGMIMG_y 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - - AGMIMG_m 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - - AGMIMG_c 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - counttomark 1 add -1 roll pop - } - ] setcolorspace - }ifelse - - imageormask_sys - }{ - write_image_file{ - currentcmykcolor - 0 ne{ - [/Separation /Black /DeviceGray {}] setcolorspace - gsave - /Black - [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 1 roll pop pop pop 1 exch sub} /exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation /Yellow /DeviceGray {}] setcolorspace - gsave - /Yellow - [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 2 roll pop pop pop 1 exch sub} /exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation /Magenta /DeviceGray {}] setcolorspace - gsave - /Magenta - [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 3 roll pop pop pop 1 exch sub} /exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation /Cyan /DeviceGray {}] setcolorspace - gsave - /Cyan - [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {pop pop pop 1 exch sub} /exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - } if - close_image_file - }{ - imageormask - }ifelse - }ifelse - }ifelse -} def -/indexed_imageormask -{ - begin - save mark - - currentdict - AGMCORE_host_sep{ - - Operator/knockout eq{ - /indexed_colorspace_dict AGMCORE_gget /CSA get map_csa overprint_plate not{ - knockout_unitsq - }if - }{ - AGMCORE_is_cmyk_sep{ - Operator /imagemask eq{ - imageormask_sys - }{ - level2{ - indexed_image_lev2_sep - }{ - indexed_image_lev1_sep - }ifelse - }ifelse - }{ - currentoverprint not{ - knockout_image_samples - imageormask_sys - }{ - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - level2{ - imageormask - }{ - Operator /imagemask eq{ - imageormask - }{ - indexed_imageormask_lev1 - }ifelse - }ifelse - }ifelse - cleartomark restore - end -}def -/indexed_image_lev2_sep -{ - /indexed_colorspace_dict AGMCORE_gget begin - begin - - currentcolorspace - dup 1 /DeviceGray put - dup 3 [ - currentcolorspace 3 get - { - exch 4 mul 4 getinterval {} forall - AGMCORE_get_ink_data 255 div 1 exch sub - } /exec cvx - ] cvx put - setcolorspace - - currentdict - Operator /imagemask eq{ - AGMIMG_&imagemask - }{ - AGMIMG_&image - }ifelse - - end end -}def -/OPIimage -{ - dup type /dicttype ne{ - 10 dict begin - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /ImageType 1 def - /Decode [0 1 def] - currentdict - end - }if - dup begin - /NComponents 1 cdndf - /MultipleDataSources false cdndf - /SkipImageProc {false} cdndf - /HostSepColorImage false cdndf - /Decode [ - 0 - currentcolorspace 0 get /Indexed eq{ - 2 BitsPerComponent exp 1 sub - }{ - 1 - }ifelse - ] cdndf - /Operator /image cdndf - end - /sep_colorspace_dict AGMCORE_gget null eq{ - imageormask - }{ - gsave - dup begin invert_image_samples end - sep_imageormask - grestore - }ifelse -}def -/spot_alias -{ - /mapto_sep_imageormask - { - dup type /dicttype ne{ - 12 dict begin - /ImageType 1 def - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /MultipleDataSources false def - }{ - begin - }ifelse - /Decode [/customcolor_tint AGMCORE_gget 0] def - /Operator /image def - /HostSepColorImage false def - /InksUsed [] def - /SkipImageProc {false} def - currentdict - end - sep_imageormask - }bdf - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_colorAry xddf - /customcolor_tint AGMCORE_gget - bdict - /Name AGMIMG_colorAry 4 get - /CSA [ /DeviceCMYK ] - /TintMethod /Subtractive - /TintProc null - /MappedCSA null - /NComponents 4 - /Components [ AGMIMG_colorAry aload pop pop ] - edict - setsepcolorspace - mapto_sep_imageormask - }ndf - Adobe_AGM_Image/AGMIMG_&customcolorimage /customcolorimage load put - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_override false put - dup 4 get map_alias{ - /customcolor_tint AGMCORE_gget exch setsepcolorspace - pop - mapto_sep_imageormask - }{ - AGMIMG_&customcolorimage - }ifelse - }bdf -}def -level2 not{ - /colorbuf - { - 0 1 2 index length 1 sub{ - dup 2 index exch get - 255 exch sub - 2 index - 3 1 roll - put - }for - }def - /tint_image_to_color - { - begin - Width Height BitsPerComponent ImageMatrix - /DataSource load - end - Adobe_AGM_Image begin - /AGMIMG_mbuf 0 string def - /AGMIMG_ybuf 0 string def - /AGMIMG_kbuf 0 string def - { - colorbuf dup length AGMIMG_mbuf length ne - { - dup length dup dup - /AGMIMG_mbuf exch string def - /AGMIMG_ybuf exch string def - /AGMIMG_kbuf exch string def - } if - dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop - } - addprocs - {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf} true 4 colorimage - end - } def - /sep_imageormask_lev1 - { - begin - MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{ - - { - 255 mul round cvi GrayLookup exch get - } currenttransfer addprocs settransfer - currentdict imageormask - }{ - /sep_colorspace_dict AGMCORE_gget/Components known{ - MappedCSA 0 get /DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - - AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ - {AGMIMG_k mul 1 exch sub} currenttransfer addprocs settransfer - currentdict imageormask - }{ - - currentcolortransfer - {AGMIMG_k mul 1 exch sub} exch addprocs 4 1 roll - {AGMIMG_y mul 1 exch sub} exch addprocs 4 1 roll - {AGMIMG_m mul 1 exch sub} exch addprocs 4 1 roll - {AGMIMG_c mul 1 exch sub} exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }{ - - MappedCSA 0 get /DeviceGray eq { - {255 mul round cvi ColorLookup exch get 0 get} currenttransfer addprocs settransfer - currentdict imageormask - }{ - MappedCSA 0 get /DeviceCMYK eq { - currentcolortransfer - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }{ - currentcolortransfer - {pop 1} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get} exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - /sep_image_lev1_sep - { - begin - /sep_colorspace_dict AGMCORE_gget/Components known{ - Components aload pop - - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - - {AGMIMG_c mul 1 exch sub} - {AGMIMG_m mul 1 exch sub} - {AGMIMG_y mul 1 exch sub} - {AGMIMG_k mul 1 exch sub} - }{ - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} - }ifelse - - AGMCORE_get_ink_data currenttransfer addprocs settransfer - - currentdict imageormask_sys - - end - }def - /indexed_imageormask_lev1 - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - currentdict - MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{ - - {HiVal mul round cvi GrayLookup exch get HiVal div} currenttransfer addprocs settransfer - imageormask - }{ - - MappedCSA 0 get /DeviceGray eq { - {HiVal mul round cvi Lookup exch get HiVal div} currenttransfer addprocs settransfer - imageormask - }{ - MappedCSA 0 get /DeviceCMYK eq { - currentcolortransfer - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }{ - currentcolortransfer - {pop 1} exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div} exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div} exch addprocs 4 1 roll - {3 mul HiVal mul round cvi Lookup exch get HiVal div} exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }ifelse - }ifelse - }ifelse - end end - }def - /indexed_image_lev1_sep - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} - - AGMCORE_get_ink_data currenttransfer addprocs settransfer - - currentdict imageormask_sys - - end end - }def -}if -end -systemdict /setpacking known -{ - setpacking -} if -%%EndResource -%ADOBeginClientInjection: DocumentProlog End "AI10" -%ADOEndClientInjection: DocumentProlog End "AI10" -currentdict Adobe_AGM_Utils eq {end} if -%%EndProlog -%%BeginSetup -%ADOBeginClientInjection: DocumentSetup Start "AI10" -%ADOEndClientInjection: DocumentSetup Start "AI10" -Adobe_AGM_Utils begin -2 2010 true Adobe_AGM_Core/doc_setup get exec -Adobe_CoolType_Core/doc_setup get exec -Adobe_AGM_Image/doc_setup get exec -%ADOBeginClientInjection: DocumentSetup End "AI10" -%ADOEndClientInjection: DocumentSetup End "AI10" -currentdict Adobe_AGM_Utils eq {end} if -%%EndSetup -%%Page: cc_FunctionObjectClass.eps 1 -%%EndPageComments -%%BeginPageSetup -%ADOBeginClientInjection: PageSetup Start "AI10" -%ADOEndClientInjection: PageSetup Start "AI10" -Adobe_AGM_Utils begin -Adobe_AGM_Core/page_setup get exec -Adobe_CoolType_Core/page_setup get exec -Adobe_AGM_Image/page_setup get exec -%ADOBeginClientInjection: PageSetup End "AI10" -%ADOEndClientInjection: PageSetup End "AI10" -%%EndPageSetup -Adobe_AGM_Core/AGMCORE_save save ddf -1 -1 scale 0 -136.27 translate -[1 0 0 1 0 0 ] concat -mark -/0 -[/DeviceGray] add_csa -/CSA /0 -/1 -[/DeviceCMYK] add_csa -/CSA /1 -/2 -[/DeviceRGB] add_csa -/CSA /2 -cleartomark -800 path_rez -% page clip -gsave -newpath -gsave % PSGState -0 0 mo -0 136.27 li -40.4824 136.27 li -40.4824 0 li -clp -[1 0 0 1 0 0 ] concat -%ADOBeginClientInjection: BeginPageContent "AI10" -%ADOEndClientInjection: BeginPageContent "AI10" -gsave % PSGState -0 0 mo -40 0 li -40 136 li -0 136 li -0 0 li -clp -.0947266 136.175 mo -.0947266 .0947266 li -39.7852 .0947266 li -39.7852 136.175 li -.0947266 136.175 li -false sop -.690196 0 .690196 rgb -ef -.189 lw -0 lc -0 lj -10 ml -[] 0 dsh -true sadj -.0947266 136.175 mo -.0947266 .0947266 li -39.7852 .0947266 li -39.7852 136.175 li -.0947266 136.175 li -cp -.690196 0 .690196 rgb -s -1 1 1 rgb -%%IncludeResource: font Helvetica -/Helvetica*1 -[ -67{/.notdef}repeat /C 2{/.notdef}repeat /F 26{/.notdef}repeat /a /.notdef /c -8{/.notdef}repeat /l /.notdef /n /o 2{/.notdef}repeat /r /s -/t /u 138{/.notdef}repeat -] /Helvetica nfnt -/Helvetica*1 findfont [0 -21.168 -21.168 0 0 0 ]mfnt sfnt -34.1152 131.312 mov -(Class) sh -/Helvetica*1 findfont [0 -10.584 -10.584 0 0 0 ]mfnt sfnt -14.8369 131.312 mov -(Functor) sh -grestore % PSGState -%ADOBeginClientInjection: EndPageContent "AI10" -userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse - -%ADOEndClientInjection: EndPageContent "AI10" -% page clip -grestore -grestore % PSGState -Adobe_AGM_Core/AGMCORE_save get restore -%%PageTrailer -%ADOBeginClientInjection: PageTrailer Start "AI10" -%ADOEndClientInjection: PageTrailer Start "AI10" -Adobe_AGM_Image/page_trailer get exec -Adobe_CoolType_Core/page_trailer get exec -Adobe_AGM_Core/page_trailer get exec -currentdict Adobe_AGM_Utils eq {end} if -%ADOBeginClientInjection: PageTrailer End "AI10" -%ADOEndClientInjection: PageTrailer End "AI10" -%%Trailer -%ADOBeginClientInjection: DocumentTrailer Start "AI10" -%ADOEndClientInjection: DocumentTrailer Start "AI10" -Adobe_AGM_Image/doc_trailer get exec -Adobe_CoolType_Core/doc_trailer get exec -Adobe_AGM_Core/doc_trailer get exec -%ADOBeginClientInjection: DocumentTrailer End "AI10" -%ADOEndClientInjection: DocumentTrailer End "AI10" -%%EOF -%AI9_PrintingDataEnd - -userdict /AI9_read_buffer 256 string put -userdict begin -/ai9_skip_data -{ - mark - { - currentfile AI9_read_buffer { readline } stopped - { - } - { - not - { - exit - } if - (%AI9_PrivateDataEnd) eq - { - exit - } if - } ifelse - } loop - cleartomark -} def -end -userdict /ai9_skip_data get exec -%AI9_PrivateDataBegin -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: Adobe Illustrator(R) 10.0 -%%AI8_CreatorVersion: 10.0 -%%For: (Gremo) (ETH Zurich) -%%Title: (cc_FunctionObjectClass.eps) -%%CreationDate: 3/2/2005 4:55 PM -%AI9_DataStream -%Gb"-6BoaRNFWgOoJbfoQ`INn+apLV"5uR11!I(q_PU/W=N91u[+]XeBeT3<*[91oLlf[UsN/3sgQ(=(L3Kr9%H$LVO%.`oSbMW9S -%rr)#(Y?o!@G5qPkrT%_;q.`O^eJ-/+/G7[TJ+n0eq"g>d+1El6cI7m5b'Y5Q)"mI[qj3r4hS/mZM\#8`hL>BIGlQq)LQ=[13dcGK -%mcpE_^4gKCr+5'cmlnS>s*4G'hekZlIbB/DZeO59\$%]mf_mZ*melq+mJ6^9[l9q^k3IRZVr,nNIe+-m"&HkMV>mI^?G?75lLl$4 -%DI226qWV5ZrZciTIn(T0Fo1D:]Gs$[i:DHo%spP+#:fGhCQ^p)9f.cm[hNf1gD?ZTaBRk(pE'= -%Y=@BP0Z%)NDWu[r2r:U1B&&2L!6"j6_s;5J^\\>>&&Zfe]3j?@GPg?c[kBuEjN#UX$O.!*@#OE(Itjro:!e1Yj376A'`Z(+f<6)( -%B:'/.U)1Qsmf0ML5]++La)G^frgiQ_7HF*gpMkML`u -%q6sR51\\lWDa*#Arr[)llZ_.]lM'(XqrZ/hmlnI?V`oTQoBj#r+64O=rqXah*rodLnE0Fo4bj4;oZ-]u5Mj&"p&%lEDa(g`p\`dl -%YM[^ZDf5UEl1rY$=!8n3)`qFiqAYatO.Yd$FK'`IYC?KhH9XR-IJ<$hiuaoN^86p2TV!^A7`po2kBF -%]`EfVqC8<;r4g!mIJX'%puBorO5Bu\JR]^m^\n#g_sP(&hnt6Fq[qC+YgVs^"Gg,5d(Ish5OH6hBJTP8msb3IBYmQJIKk_t4X]_PcWgG@ -%Fp4)4?iPW%BI#iI3mQ9Z5CC3Dp%RA"$@\k-r!o=p$Wu[iFF&B?p^FCmrgggb+$SVc]E?%MUHS)Xs8$**rnAN%J%E>i-$8%W!D[%/ -%S#GfT(#d2!s8.<(pXf@sMf%MZ,E?'!>`2l\Y0GD#ZpLm(K+[FRPI@B4J9I`3Jp,.'PMi&Fg&s!^"DrmZTp8HJm@`iT;>9#\NmLP[ -%9[aF13)7i[R)XEqd"(8<]5^%V`oD:^cS5:t(JIbtdPOaF.T;m]dsa>O`sH-d3l0fR&1SHS2-2S -%ReH!-Np-s*4jMNHk'8S#SbM_a5/@:#"jBn?H-R`)nf]+H\H$e(WT6t#^)Y<6?>$:;k.7UKH@j,(G%m:e]A6n>hM6O7kC)/.p?0>< -%8;DTF4o5F!Cd.8qal9:i%^9X,3M,DT51fE*Hp"$nIImIO9UsGl'7;u/mgd&^E5d3"E:!dPK_'.DT2)@KG,G[WjjSTL0^<`u -%:Z4,Mcc=N)GWZu?a5+!A$TpGePLD6-VrJ'+4rhk'e)>O2*;50DTcOQbDh_E7_Z[:TLLG\hTCtdBrI2M6[j^_uo00uP:&>OZ%7#,] -%hOSg[Gh5*kESV@So,6CL_CCMKa[85C;a&"?lsYa[D7@@AG-jp43WF%kb=Jiu<5?LM:B$gde]'#4JQ/-),+49K+6!CHJ[-PbPc"5G/PT*aF(`*k]& -%-\/?%5hQX?%H[q82ZrtHJAVuWE>["%Rn&"V4hte9R*>WE$(uMEGRiaFc2cfnJFu(@I>'J=iA;f>)&&O&&.f5bG/?7k-&9qQb5u

E(:^\cjd"7mA#`aHGOp]8,-'sKI.g\c*l;=@EIT>#i\(\b&G`]NobiK8Z.;@_pmf5u9;*JbEP5Nc-d4^rL%=<7bS2e_V`_KS;B8AmGTY6s)FgDmAO$!Kj'd#92!3D7+t?6!@A2"($'@j/K&5Sca:g(bsu5H -%E3jPrEPo=%@VfXj8H8bj#MFMF#o'TQ":thO$l0*ch"Cdlg^4&h"3XB^<[+2nW!cuId2aETN9h,Ka63ZHkQ&Y:I?Z'B:;@VgjIP(g -%C<%gAZ/UDT7gffn*3CG*XZ[].*?6_^^gO$cbhPKG\AQmX>AQgT*P-F`.dc($];'^2kq:'YoS69;,BZLR&*$5^*S+HH;G\/Q/j`bO -%Bedd$CYc2c-E;[*]S*Apd$5b*=OT(.W?Nl\=g44!VQ9CF44KPW"AOf^Caa*IB7\Z4&Xd!!7:utf*kE)h-\5rbAQhr:bO4ehS/bHB*mM3%lcnm?CaVQPoJD+!Bj1S+UGAg!T]+L+oD -%f`>XO!Bq#Z>)rZ_Vg>4sj7;,;j!I8YMu_6]^i]ju>_"rs%u=j`XF]41f`o.k#l'fo*g_'r[#*^o`u.,V#X3c"4q&9Yh&_%U^^u$\ -%!tG#<>!/0$DDi\F3naSD^d]HH!JH,i`.nAOJNpr0!6YDkdGYMWO.2%5'gNG"OpF=6LBEPJYUYIU.PNJ:HlV!d`1I\s2.tW0":moA -%'/2N\fUdae$W.lt6F\<9E]?d@gel[d"N;LX@K[[Iio3]9`ZknF6=V.C0p:INQk+nk*JohIGg)S++QS['a@LnnL=9IKWT!KE5^9In=enG7F9#p'g[Gcq[$`URChSb3n35 -%S4W,ZZmWL.RJ*?&52[KPF=js)oo!;Uh?iJYreo;3m'aV(la;M5?`j3OeKZc3lW)hEo8WG">&@AW3'7(R0@lRmHG.U.X%[WL1D.ftC6con_02\LqLabmm_lVT<1hn9s'pr#6[6f1^,+rpSV>2MX@obU?bs.B@leK -%,./[U1[]p1'XC.1LX.'7_g7%NH=i[?cuQAJHf>n9Jt7,(45g.,`1B;W`r@hZOba;J5mTrUhn0"5epVs.Far]fTZ\"a5l4dbm2I3Z -%_NdM##^[a27;Ri(1Qap_,0iXDM\pt`_2cH+3-5-kLb2(?W+U_P4huCkE=t^^JOIU)S.?;Xn[p+[+U=Z(7hctPQY>iPMZ[pg$) -%('r*D+r`qe[YZ&X5D?W%C(u`6mu_.>1U0T/K*_nnm8H-[:&b24_^U*liAepU[F9hQp2'j3g+d$P[8ECl6tl]:+sle8YQW(r,ciHB -%]fjb,Ujbh.J1-VQM=G(iFX1_CoIpliA>4s8+DF>bF^XJ?:^&PN/+=Zk_7"'.V?8&hZ[at?3-2li)*j,\AcaXg!-%&E"Am/B5R%4O -%XH(66T1Sk)lMjB[Cj*u$Q22TR'NTZS't[I,&d:9/-S`t^*JpDUj=D\;.l*Z>`W/*[0_U)[Nl#L<4!VLKS9?"mO#[=(%[9=W/jVK$ -%jq`V[0WkHVT88@)9`_=R)ui`Y7cWDqB&SaDa:Aj.2%mZhM:Y)\$Ci^unV"fNM8.([;k^&W"EHf2-3P>/`DWsUtm_J;cV5Z6`9ABLdhK9me(0T,5+ -%<9E^B%sDEWS^)&L;U=FTM-QTD4-t7OeNd3sN:JFZPH&9g.-m0IQf6)t:6)=m!^.]g=K'V6eFERnrgQ_pa4""Wmuc -%`]Y+231-u>m-npJNLhn@KS]I+0B?&?s,H(`'8Tg2!Rc82(h)irn)Fik[N4+q-A,SU6*d2lH4)A)/(E&u+ -%I!T+d;k$)'A(>0l4W/,`$ihe7M<7KC[j(.J(L5<8R&=4]BG[g:2=.Q.E+2eL'9(/&U<.VeM,*ob+65f_?3^&-2b8K50n6`t"\fnG*b;O6ILh]=qQngL@S[m'"L``3?*'&=*`mH'8K%1(l,dWV>];[O8;G6dgV'rOnmFT# -%lnJ923=X^nO4Te3[XHRe$FE$)-&i"NfZW=0)NZ;&/!X]"Wmm7ZE29*fd9<*^pl:Lrb2"IgUWe]1GhRq<=\miI2GIh@%ZsN(- -%e-S$M@IKlJSMV6tk4u@Kgbk]:(_((UkL'D%R*goYTQi-@M?VOLfI8f4Sr?i<,MMGI7IB;mcjFCc4VL2( -%,Vphe6I?L)`_\LIU-UW"aHFUq)@=6@A/l&Slr@b%Ug2iAH7?=bd57'VPK7ha:"g&pI17atOs0Kh>0&jp;g60X("-#m198]p;Mepj -%SOb`Vj^FSP9LAH8N3-c2h31U@P0p[nUl;2&7,22r?0XsMfHAW6R>eBudc;Fi,eGFpCaGJf9s^5j]0lkW80ec`'jqhP[3TO[l.(i* -%YXOcChW[p/>=(60g%6Jg#8%s^/it[)E-t18I1K*%;+Wj?9tuf+B'a-Np82X^Aik(B2eY.6[McJ]c'r-G9\ZuXd8k_#2-9Bm1N58d -%2]9/7Khf(V4'U%a#K^:b"T-De#%i[KXQYN*^0o%_*6 -%fc2eK(/1+qfkeOM9qs]6]=ulFP+J$5FT06qK1TUf-M<(1rjmm^D93LGYd248gcMmPTQe0l[9_QL.FlV@d9B%V0@oSgh"pb`@.Wi3 -%Q\X9WS`TGeJ(<7SrbV1V3e+DJ2;=j/(WjD$YV;)*IFQF'm>OJNNPJ]$[8H:MVJQR6WU(G,8'&iZ(lI;c.\Bi)M?4.m,1O[Z$Q+(` -%4O8R+KEF(J;R&-J]u_g#>IH]&4#P2[ZgWa)O8'R"nK$9-.Vk\qT:C%(/Z\H&oQL.M;;MV(7sU^I]a)<)c$sG/qk7%Ji0rBSop/7W -%>LFGodAQNhke$>Rk^1Z\_#.j!Q1bDCJ$5:4IS8t:eGPX[f:(tM\CM,uJH]HdD+Du\C"p8^rL0%D:!L:!Te9@;fPN+tjl@>,3jn#% -%2!67XGrgiG'D1,qI?8WoI%sA.3Xb<[lL/EdhU2=ZW.-MHCeqFQ;1>;=_NUOIDcQ)[e,Q!AB_kA$ -%7`<:KA3-g9"d"t\,ONB,2g-A_\`X2Q=`9IJ;2rkZl9I7HADjM5;>%RfkkG8K5rFjrT=k2gEXK&NLB]KQbls5i]R7*Di8'K96bX#? -%[R0m1EbbbsC<3:rQ^1J9[U!AAX9``6S=/`gNi]SL@g1qJ\Zs/4#q(J>!5+Y=@bWs),C-S#ik]TapS:)10'q7MN=UY!5BT.j74d,P -%'3js8c+hEfI;o0):M,%f%e>f@&+pD&6h>OXDTqu@;'XsGk/OdqS0(`!$e9L-\at_W%NpXX\ED4b:2TAU[H-)TkL@=i%sr(RfBT)q -%7E^T9=qK[Xbe)"K%I3O1?;EssL@QC$nVPoKFk>W/ep+62Aj?Wr^MnQ'RQLDeZWd.O6KM`T)HRB*1St'Fn'(;ig]W3g`=-7-V_/7X>H](`COL);3otEV\jTnUO -%n+"m(r)Bk4>^?;?RRY[^P'?j0ouWWo)n8@JU1[r]7$lAF+O:.So_qW!u#as/%MO -%D=Q9NrNKL5'gVG'^FZ$?(Ho)Gk*IA8!h5ca&+dtre*9'%<\Epo"5r=Bi>PacITHr0*eoM\TZ7s*//n!cr\N]DiVri'!Q_\JHE;3m -%as2p$Vhhg94Q@e3?5*5mnW;dm$f>6QHhmgLi29@u*Gu;2('"=fT*N"kg,O%MSuujrk,[hjrK+Yg[g$MrIkq&13U$P46Z\isNL0XU -%qcbaA(Zd?i]4)o@>FomQ'+PQ9M>i?1^jQ]XFuJ<7bZDS?OaD^"q18:`H=b;AE1Qe6CS]/4gu2Sc+jc.q,4L#U?`LgS3;l:.#)6@L_8Y0@e6+tr"?R>R\>&u`XB2iV&^bnu0eG -%jO+Am_pk$$;=E1sQ.tqD]k?YC/$;PVCXZ=:&Q_+je^[@/ARPX@"0a`D2Zg]Z_LZeR&T?h.[?Jn!jgmk"OcTY_(C)BF`![_i"8pt- -%mQERCJrU=#cH0?_H8G#-ZWiEn2puTHINZoRdj68ga`K,f/gg8=fIh6?@YS/nZ$Z1[1=eRGqPZ$`(0"9LN9sZ#)]A#m$DkG9bFCrt -%fS:lB>muNo5@mAG`P>Ni\9B/J".X25WYMdNC!?u#+uD=OI/e0-D7u05aT\[@L*$E -%-`/"BF<3=LFeb?\[u>FkQ;-?>X+X7B1X]PcdA_/_L_.\O[GM]rD,9m*&S@:_%aU\_0rFG<77S8SRFfg]rUOKnm(o -%Y!0'?Y^+(hhKe_@c@n;kVmL."Q;%HZ(V\F!%UR,YjB'ce!c4>KH=OeQ]"Cd=Q3M)%%eTYqoGr= -%J>UUVc9/Y]/,i$R5Gp@ZcA58r:St8eA4SOB.O@W(+NR#X%N^OG?*6dJdeP^%=K_c;Jn'&+N,S\#cl2g,Y:q-;o<0a0eKra>X -%d5E.adoiQnc_Gc3"AquIiuci,%UB1tXFE0n]=-?CXYns9Za3-X-nn0[O.p];Zb-jEYn`>YkI=m+h.E^g<`T[l8-DJQHGK/ien-Wc -%3he!(D4Z*4)OZH3N=m[\,gqK',*CnQLog$$eBXlI+'iDJKmf#X1EK(#\#5$&e/#BfGV>2h':a$%_,]kbTO:$dB7NFH"pIgU@PEaN -%7TE,*D>OT@i(+3k$nr/>;kc>bi&qH#`83\'^&7!*?8d0j -%n)JW&(?uZe*smp6'!etMmA8(EVp=#eb$=gV[WYc\AlI*Uo]Ei4>5NS]I7JZ[o2o)nB&)m%<\=&3,DRgbaN&gDMA#9he6,IW6!IE@grsfYr7lkU^8P>1kl(@CF'H?mb=OF!K -%7!VH?R],#2au-9_Gh)&^mrnkL+pV-d?+T6I#M*N7e//LmoX$a0@0f%Y!CKa35;Zo8u5=AQ`4!=j#$8YBPCV -%$KJNQajI^AH,8J6dSH]BUb\cjDe)96h-/HJXp!00_38*0+%JMC-?fd(Od:&;=pBS/\O%:r:3o+9:`YAJ9 -%W].6&+LNUCNd];W,].nk^Pc5U4RgX.E_qL#48NZ5EDPcC)k,"hM2o@m*cNI1O!5)>5aFnYH`?j[N=QWX0.)`4,&=Ze\al1=T@[dM -%$cXEk2fF4L[0*Dbe9JMYr&lgAmpdi>;PSDG7R$]FA`M6J^=J(B`9r>*`![QK7+?`DCFr#W9 -%lNfl`8PUUQK>cnGKI0SPkTU-6aU8au4kZF2"Eu2)dE=.NghE]'%)uWr>5e14n]uP're$1)UojQ!Lsc)U,Rj)YN%H:,b-\N$X*9Y9 -%6BP+4ZQIP!([FD7t5nAVZ3M*ijE$#FIiQ')s/Qo@0>"G%bPrZU@(/RHjKJTg6%V'90;I`1K+\<&R>dbC`7V\%)EsaF7#I9S162XE]fL/n)%$+`5Rpd=G.LcZGp.,O0m -%`go)a\NKe48?74L,Q:2@K)Y*].PZ3HCcs5UmYHVRFH>g+K[IWT!]'c?@,l.G\/R?7+QK&]LB03gdDk*ShjT_h:@1O8JWj -%n&fAOZR%.qn%RLIX;fYNZsa -%Gj"g.Coca8Le#VtZ#5WG\NfTHb9Q_4aHQJ[8U]!c037MmgZe@=SK5H^a)ks)dX3Fqg/a#VkK400AbV5\>"3abbt)3%)=,>qI^;++ -%nKV-uQ7(YWR(tAqgmN6G+s(M_9'P-JS*?_m%<"f_#.,K2"XRRF';.'VNKJP5g%)`r7)-idB@iJo_`YY)h -%9$9%CECRh_pVds2k%j7?KDFk9\hJiUXiR?t8S!5^=hVm;/H%+SS0#J#6E/Y7Oo*"-P(7maboVs(bq4'g`M7M0^)un5lZfK4OJQq;V9sU^gbjMu(tqTYLKqr]@3mIeBbfmloTW6>t4^(CZa[9`.8fOZW?# -%05r.?<<)AWB:i`09.oX:r5Al$nV*A*q`*&C8$IL-9u!FY,D,lPZeCl.K/en'GRi[nJE&W#7(-mF_fHk^n'SY+`d[sn!e?mp'ej\P -%bG\P)7!u#AdJ+=98<0"o[m'[Y3"tFKQoeaUKK584-$u:A3uTQkZ*G9")_"]+ngm%p-#/_R;][N6G#+NpW^Y9HWG[nNP*T%JNKW[D -%OMnV@MHW59D!b*Bh!?<'Q5^X[Ba&S3:NF_Nq,,;=p]\(EQeHVehG05'5.#/jlbRYTfG9@YqmNn4fp]EuD:tYM.\;"`5F].N]usuh -%r1OpdXi>k\AF^])cMRSMBFYPaD)i>oOn5$IQ+e5fsX+_RN`/qPG'/NGmP#-f]Lf)Xl/6r%N'g^$oMJMoQ"KlWrr'+fU -%UNr!"BNf(C*h[l5b_C0L/^R)p[*@]\M.aCI\(:)X?fF,]`818MhM5UT+)cF+?u8&EP4/=C_;]0<,Zsn8/cIgm=-i`nX#m"AKBEL,;WktaLtS2V?u%"oM"=0;BD&sE>sq5MVB^O -%'j"aA0tY"R<@hN:_-3n]n,]AC1/p\C`TV,IF)8D2Xo@t?Wq>_\G-i/&fW7>0X&/>'FeO5ch46XQ4tfQJeK%lZWkG:4Z3.8OX!Z#5 -%+'cOGPN9%$r:P2p\k;7>E&J?O?-na8[?OZC-],#9&f1-t:6qj$Eao2FpcKic9ZcPr$cN(HCJO$N90"'_9kT=H3?St;X@j\h#3D:G -%&e-TLJJ]26=t6d--`SRS;Ct1F<00g78jj1G-sV+ZlbK-G0gW5NR1_E"S>?.V7.j[]WKUkcRTr8,?5SbHQ%bY)W-,/T*&8Rpm5T-X0LsE?1Piu\cPH3]E10X>#S"5L]E&--m;7h,=UpK(G2lfo$C)%Gj -%NjD>bYj/R:>FOKTV0HfJ*a=*\.,!=&Z:@L\Li2"`ZF%jB/LPng`h#$q]-Vkf8EP&ep2Q=5lWe:Dei`7N^O"))IWcUZ>;#TN'Th>D -%:Z2?;%55:.Yg=R3>J-Z.Y84Bs_I.Oia(PKYXJ$"UIUY@1R*L`V>XfN6"TZ[Ec`ha-9VoQV0l\+5,ASm40)jN>CF15 -%ASXbBa&"6'StqP._.jegUceOoP*E2UiomDQ,`081&p0Wl*b,KqO5hR,U<;G=6cBg7/0Ua4BV69n_ZCa&=P0W9XjA3[i+l*jD"r<0E`N_7C%+?;_!A+`KVki5'YROMR)S"mehiEBhj],ZWJ@GW:AcfgWH#NB/eZ"9=q>47'k0=SO(:%-e8 -%0)NnN\m4EMFf]rKE)(5jZ9$#s[Bo's=eg:bWY`sm)5XoaEU&km;eFI?_Wq4Sp*l>.o=;2R.]93:,u6-LGGd)Sqc^Wa@]r5d[Hsu, -%%!NG`>-]Xb-FN?jjHf)fkFl$ -%DtV2?H+d3(qgsB)W*Dtd]pAG_EP7dkZUt+1<$0Y\%ar>L%-\!QUK97CccbN]G,+%BD(t@>l;NA@\KD@5+g`WAu)qdn$M]5eu=03F8 -%H;JJNdUK_nH;?<>PK_H(arO)?LV!`,BO(n:JNpU3XlBY=n%9+Eo?%HF/CM<$?!>jDV.u9;XHmf_=o)Z'%PR'EWSAS^rbFf^5&%$o -%M:Y/c5#lu'(4VJa-s0[d0f5/qg(Q?;C)5C$\lp=BH2MB=5b8r,W:8cq-'D'`16niu5S5OE:)[3Y@jY>`'VnXK^oe"E^s"d!;CYE^ -%(\gMdR'75+2n&3[]&6RC]&Hi3ASmZgdKj\+UD)2jLgX>]I8s::3CB/aKF8)le4;T7\lUlbXAiC>V.97SoDQNn4Z`tKWFI>Xlt"F9 -%1+V$Mk;FYbeX)[Z7kjh=.>jL4m+FkMY2ScBM_tAr(Sjj]n,+FOHe?d)hj('ggJ@1CRa38'XKo1TcuO(I#])h@Q5M&sT?]mjr[uNm -%:Z-_+jI=rq1@mLNqgnn&)"*rJ)%p]oF&_:JOUT-QS-I#EX2jJPK_oU.VsSkRRl->>`*]e@r7s-R/X+k@'bYXtL\W'7X!V=a:ZZJaXr\Zs#Q:UY$;hp>3`?YtIS7kTJ'u=5@$1h)RNkAuiQH/d^.H9<]`%jMPDj.UKWYfg^tF\ce`sVK&-&Ula$f?\M?a2 -%U=K>RWj>Q5`%i.\FjX1LLiOb;_9#gP66btfQ\rEr^O$tb3,FpmX0WrWJ,E23&k(uFmKgZQ,^6]237i,S1fs9ifIG)k*Y&1r=l=ID -%#BQqPHS9_K[1Qn^cH[1B3k)G,'r'P/G]6is9_F4MRBJ9>cb>n^qi4>XMm@A/ScrIQBgE)_@GK#neX44c63T7a6o'* -%E:!\6#iXWP4>3V%Jplk*:9&2,NaMe!&AI8aH#EFa?``'DZlJPk@e7hati!l`m1",-4XYq:BpGc`ap^o=c1XQN:^59dp&NoG67N1MiW4*\Q%H]_^>$ -%o4nThVr)j_&]^s]AqGV^C"&+]&R3nka:R@<:8_6@-keH8Ir_Orn#6q)jmGA,onmHM=lg' -%L5&VT!G]g>dgPdq@BKf5+?$(YXH=g+aqSD2-2$b"9N>AYU:P/5bLr,G-`^'.#fAGNe2W;N/X$ufgOHEnDQ98)nnq(g -%VYF27O!q^C#4s8p<8cJfCV<'I.E,LQM#>u\dFtUdQaBDnTr#S]WufqK5ZT3*!l,]qjPGetH8Blo^;KfEY0EFf?\!um7TmYF4^F$)?"qb?'tN."lFJ66bFBg3q*%EK -%ipD_3"AKU!k`rm&[F3Y`i]:fR1G74n!*(b@asYEaZF+/!iG)u3f(P#F+S4='n;hK8f6h`2Mp'8&Pg51.OlsIn.<0=K7U)ZV+"QD532rddol3kn;Td$PM'1dL@Ka]=km/e.R*3EF=0:+8jqc+Jf$$W8nESE\R27C -%m!c8dR,G!\MinSlieND:j//&"/qX@^*S>N$jC(XP*NAckhW,MH.7=F%H'>oe"_dL_BgSKeM=Kr/$4S\`Ya?m_ZK69Z4:K5;NlG%fQ^L]TY0>T+!Bs`M,UjZj$3V!B^IY97&B.j?h;5a" -%f!M:(KlnZ\r8;DWX5pi2hE3/!]R=O#(:4,,P)+PQP^fHacEehHh004A@?p,o.0,ug6^EZr,mEaZIr_:b'CqMsqp%k@g01j*I!e`RdpMZhLnSuVKP`TOBMNO!Y'm(:4$ -%nt#S0SL*sGF9IDT"+gl#9a,Z%SraZeL0uc$-<>dAc+o&=[e\o6$IPOhcD)\"g!"Ga6$V-Z6g4c]%Bg]ueusc]-\?K8="e[gSi=G% -%Cku4g\2n^q3%$(+Kp55"$RR*9]T$.q$*I=+YIp=GpMTM'i^E:;EUC:.S#Vp>+4 -%\t+m6rCK1Giq]?BIA2QoP"U+qWD6['PH'I7U`,'%IJ<_X"cBiukUNr^BIi&jR6%Z<]RNRdl78ej?`E0>ebl9;B#r:7>^IPG>4U[ennM6Ud?S/\=8,4=WDN -%jc\52f1]K_iP=cP]q>@blqC''Te(<6^#6,6ZSu*Q=JHXlp<>3IRkD6qZeor2GHUUXC`9pep8MNo.!Cn"mHC)!eJ^<6%8*`uE&<,k -%/S8GF)bY$aWn>mh<@WBe$I>XPWsZp7=B0L7?[-iAX&2_1SfUCg"kD^"[Cii_Xt#kZ_lDPcdm,%Y)D//GX]-!O_J"*FaOOEWeFq;V -%*s_8)$mW>[NXd8"ee$.Sj\9M,5or;UI>$0c;e0_\%#$d9RK00Y82]pZ-(I_>,j>Cl8nT+!1]1*n7tEn2M0`C)$?Bno8VNt(#tY8H -%!)l'P@o`m!X9I?:K?epRm=P;PlsQ@nTjs#4E7Vp,l=!45eMR%M*W.Hs7hlt9eV8\nJ:P'+XG<-g=hV'D-Y*Tj6]$F-n^TALjIi7Y -%p^tRiDos+R%P#b.Xdi8,jgYkfWtUd.$7(t5_*Fn>q,7*1/HBQ&Mnn,u[ds(b\aXqbgsQ\A[)FmGE75^q"^F-Igqju='FDJObm.`\ -%3!MBt2drr"!\8*]pAE3G@pN]#/G:T$%@?gqpBB$IT7c*kQLbb5kDUr:_+TqrT6l9B_tn#\C--4]>-XBi&^ZXL+^'Q;XUMi\DW,[+ -%*p$7G&b@RJ+_B`ZihXDA(gc.l3=pP2D_:[^i!9$r>P)-16(CBF=c.X.!0&W.@E856TQ=4hB>dR#nH'4Urifa(kZN[-ga2Z!&:B;+ -%Eh^kn"?\uc'*LE`JG264H%UHdp*f4mVU-qr)e$K;BY%I)U!"99>2;>CF`1au5D%I@d(>WNn"dHPZNB6o-6AOiFVLh)E@*IG_@Dp8F'hZA5CB5O?]:,#\?+/c\gY0R;C[Yn$ei -%k%loC:?:leW_9J>`4/KF>sq-t^SSY2ZGfDPH*qlghki#PEnS<8NM7mDeF)ddqK:'V[mg0/1Gast`VNcgXL+k.X2UdAIUCj4[N0M& -%BfjF?ZF5C'k@!]"C;3ZU6W:HQIc]03$.MXrcF"Z/c2.r'4c?`8qF:,j[T`W=]=7P"f/;Ak=NCfQmfBY1"rnR1`jR[?e8!;L(5II`M%FA>P,q3=Kk^?Vr?]dJn153-2FRaWHSg9W\0o;\(KsuPBM:Mf;lKmM<9K=o\5!pcI'#SP>GT7FV@9c -%4C'kYGHkVu44j2W%UD0i9oNiQG5bCo.]g/I[J+h2Bn)cKpM#-WKC<_k=q2OU(t_A!aOsN$\F'=dC7_Wlg_kIRnjYMdUE=>`6aZj1 -%,s4YsOO="of&G@Inf`5#F4n;e;,l[8a)(lkU1HB=4>6[OY=?2!3r*DQE.eIB$MPnF#MoAHc0T#RXpB,&bj7\IJaA;J2;_=S7"11N -%EaV5dPi.28mh&%'$6j-3JHjsg`7'L(q`s^9Pe7MRh`%kd(@E>VdPAZ_U=bChV&?Y,#n+u7dX3VuSG_&!MZTIT.2d<'g`!;FkI@!B -%O2]tfE3![,Q3h;/Asr,jq0W!>LUA#B)l3-#:4=i\UW6h">]'GIF(oEUjt6Vh?@RkDjLY0MCN>@,]:%%u:ag%AV<5>HT9 -%I\Ok]/#(&_U/jmG]gbF$VLG:;i_8$P1h[pho--?.!c.-sg<-M%:MCE$5s7l)8H"_T1Qd_I5Y$op/nZWJ`jsueSO(.40Ugs0[Xt3u -%@.ETQ/X(l+/\Kcr\1C%&;Z)5B(L40%MX-^R,hfKbsM&Dn&l..Z4:QLGV6VRoY?mhmB7*^,+$/D!bLaHL8Ypm"jZ -%0%R#],a#.7Ek-CN*)%jHl3=9M/9c4=j/0es<=WhGJO8U$QSpX$5B%iZmpa5,-9),PDXi%UP+]!)\D&u6Jn_[IDUGJ"j\h;,5h-Ua -%f$lrTQSp@9WP'!!qQ,sJ1ED].nFW'aI5f1'gTrc65 -%m&8.o8N=/X6jf1>_Y+3iS8l)^k0hnm:s7Pt1);2cBhnp"=/B3;(aF'6B`Gq@M-QJ"%S:lV)K#%jg5%i&)",/t@amCVRBh8^HCDJ@ -%J@eEbmQ3U`3!J6BP>gOhZZ5T&0D!>!I$M(BLiOP2-Yq6+'n5b7k;XFDEH:s^F!-GMZ!>5-(Kk;pQIL/N,O'H94#rH]56A"uV_f8U -%dW$MOM6oUQ^=4\'+"QH'.p.WS.jKl@E2]r)2c-3?0Ge6WY20iN&YP\-/R1Y*_GgWK2NTdrmi8CkH;rRLZ51F6p?SD3kb -%Upm.G%C@Nij`$4/gcb)+DNcFK;F>jtRAJ-*6kYQ^Sg`f=^EM0XeSRNQSDX%/0,4!3niD1*J)*3_D2m:X`67rC1/>G+%s97*2E]OL -%iQeKg2gs[0T:__q*Q?:nBGu_9CiRP]hY:*mm4dhd6@(`^d^\PgfXir>Ws9O=f?PH%DKcVa;b3`=)Db:Rpr!(>XEXe)**^%EY;(\cTADLj1[!c<5@2%.(ZIdZekCVJsagTt^Hk'K9C -%niV8AGT#)CSi^S\7>/hdo/fn:I_O$"534!flc;M2`Ip(+[HM@tIA7[]Xf.=nY)\gU\k6Z[bu`0CWhX1+mRdo(*)-SO/N\*?1-%kS -%-U#;a'21O)`"Pi"$RSo3.o@(!-sj?s-<8>XQN^_b9X0"Cfjtu,]DI/__`5nb5+8\M9(gJZqr@!<\,YQ)s5rJ*^S5&4qs8C64XkKE -%'KT"sSL6_j8U,`:M'n[8Jr*!!kWCc<[CgGJjVR\;kkX&\hS8s,LY(uY]mf_CO+6Nl-i_GtDgqC#I5g\?^UX+3l1W"V@'+VPqt#Tt -%X'`_$+-Eo#+0W]S3q9CQj;6,6o.uo=^>X"FkLokKr;HX_n"6cBeN[F>bPrE^?I`p4IsH:=Cs&Gk]=%0.JK%GVWQ9i8s+bOEtc@$hM/oThW*E:arPViRPn)H6*> -%';Q"#lC?U\d75,1ce52.R^$u"*Hn8RR)X(YhKo3>DCeZS -%S/^7s27V*uVVA\KG7-4.(/=4#b_A=H0'ce[ru5e"DK[;Rc6M,!A6bi8rG'-%:"sNV9 -%\(dcsZX-@0kA9@Whif)rpbuK[6FT9<$,*B6Yb,uh&AEPUkM2)aRn`DY`1rk,]_:!N3!`ZW0n!6[!PPPYdAHl3B.'CS5`LK#DNiel -%c.hubs7#15gKUJ\mLrIq4C)Ar"&E7DH]qMNi%=s0it.WSna+T;Ig,e'M.;+Kj0QUt*N]HAK@O0a-@`![P\j-A$Eee].^n`)5\dI5+"H,4knoA*N%Nr,`l!D6i.?nMoX59YCM#qPQSV@.Wmc#J(C+6IZg'PDlM"li->);ED -%T7OfeK0718On*+S6QL5SI[p!%=:EMkk6*meOKJ_RA=gilkHP(@1SU_:1O;jg)cWVebKg0LPN""X"MS:sE5^32GQB8anoFk]BpP6i -%1L*^#N!r@FiuD*l1B>:^Cpg6\\urSKkq5Ii1AXl;NF<,\2tuK$s7-'"g[AL`J,=S'6/)Y*oP4JP$Ll+>(`#BF$uf<\N!78K'BVs* -%eaC%$k3kt@W=GiD^D4l*Hfb^n.1bRd`GGCrme1i]aWo,'F@6e67:\!,_$gu$h21sOW,D(*0cEVhPRmn`>/A1QkqhH-Wt&f^Wl$CS -%V/uc%(][4BOPQhH"45mQVfn*9:XY94la3i7E;A]6.V1a"IJ@o3rUSG'p[;u`I"1f&m!lb7fRu*c)2M1U]9c62nsi`M_ifMn/(PG_@1>jSZi67-ED[<2aT+H;3?D*BK -%au_Qq$$e>BGQf@E[mEce'+Xe66GI[UNmJnA#69r"U\X5_:C$5&5/J0H!_gd-5C>De^RF!*']qCP*[8BO+6A=,;e9>H -%.Vq^)69Rk%08(XJ]BOFY1';ET\\ChLBXl$PqV8!DnN1:/_RMQDg?Cn0f?PIt$$I]:rb,tP#Oo1krb*i)rO6c'*dAr\B$DVW7p49= -%=qG(_#38BFm=AH?R&Z9/\n.C>EN=t\YekHe>cF8N>+,9Bone/;LZ)\6!P6=1nk];r;9/k6Ts?D4M^8Ja%63B!M[TI=b^sTA;EK$B -%me/VI=-1@S5kND%:ONM!*LhVX:[$ap$<[AFUP;)D5Lmf"iB%(_9/-p5mfm/1;\=9"aReTA?`9MPA<,L%qX"7#V]inIN.Bmg,XI5% -%<2?&bjgg,qYBXY#8(=oiI!6BAV[ht[#+9dP%+sRms/D's<"XsdL<3$3hO/r'3tL&uJ[sXo*=0UWEHr\6ZTA`AVuJ,.&JKm=O.ecM -%g=ZM80UGk!?oKiKU?3D;H5VH3e:n-=c\,RZPh0(/i630h1a;/NOXB0hoPY"HUG+rFqa2R$aMWXA=L@.CnbbGX#0E#iQefj^<7!IaBp&h&CM!felZDdq=mHicf1a2jKW4o7C;EMKFQVW)l,,P\3Nehk% -%OKXT*O,.P@\dPpP"+4=!ImfS5s'%H,pX`OIe)tr4^:CqoVgin`5)P8i.p1q!-N1;j:V=IB":t$'r_1?-qEKVl[VUGf[eY"-NlY?q -%`QfhK:H2-d9;bB?6%Q59'1H?$"UuO4"uG51Dt)([O^V,VL*WDACau@b8*!S3b6^mbJPbZeZ!3L_fCkNam( -%dW*fO:j-8V5+:mV(S1%8&6ITA'B*VHf633hF6r&Gf')[&@UC>QAKH^J',]YW-l&:m04gWNa3(rS^o6(tn5aI^:pUnr$ne(pSRcG'(=Ue/]RG,[5\tA%+FT?Y?eG`V1Hl -%hS+G-"NC@PbZiIh[4VOp*oo=QA+>M#<<#hgpfef(pIYsGa`!>sf2WT)^r-qu:#q;Gp5Q3t\rmV^N5PqQ5Ij1%U?)@9&FsUAGS5Da -%*pK:O&SEgRK/)p!#L%I+DP8lbY=JPO8,,%5O,0'eC]_i26mG83([Z_P)IH[Sc1UrpW71*QdWP[\rn!!5.POIq'n*ZD.mK7i\7Gns=?)Fah]8HgXa`mL$GPB4'pW7XROaVEq'&Hph]D[N2+9-"arTIn' -%IklHfb8^sm=9[jP[sr_tc0&_UXQWeRAQVH1iB5<+%-rt*0*>puJs]V)_F0(?]@*2Ub[++)8?s0t1]%G17tRmfcTXQ4A4f(aP$Q;N -%``/%db91LC(7%atI#'>4"LO"11*0m#!Mp'$[)"Nu6&_'UP2S(PY[kmiWN@;J6%9%$+0V=jO!LMf(J)bp.JCUM,FjsYKJU6)$!C?8]E&6(AEM``NI!95r/g]GOm9=d/9YE%AcacC5$Cb9V3:2=JF<*a$*?A_ -%Np'T_1P&:h-F-91B3fJoq,PSu*iAC=J>Q+G^`UAY36nkI++P9I+$_"nCPF8u"7S01Me8H2FV^3&-_4DFrb<7eWt"X6Y^N:^:XO$2 -%&Z.9E!1N$*g)Mg@R*N1"H*RDG'$L7*G@'^P>P5H)q!Nt<\$f#>rrEC>q4b)/8YMfZ$D)%M6#HG_?lRk&Fi$m8m+S'N'XTHn#"F'R -%&W.>h:f@T%=eW/s[Td]3"Q@nH]@BVL4(VlPT=hfR;h[g+1hc'>kd49d_)DAJO=0J9PV<5/^o"tT@41jfd-IF2Q/=n(?L#@j[<:(> -%&CpS;n7jg_d5>%B:fS6E2Zi8.-3fb?YAM,-H`e3='f:b_-l.Q.6-osQ1.6=RHAsK^U@hbW:chaJ-h,Q(h)sG]=C?h;eqg-(dj>WD -%K'O`8hE2'J-Y@Fr05etQriNVT!s79BfYU&2-u04*4bSVJ&/PnCc#:WgqH!n,-?dEQ]6#/SO7)^%ha.[>k[T<]Q5F;LL1QiTC_64d -%AFl3td>(GD0s`CSZU#[=B_Wf+b>_>PB&H7lpBeA&S-40eRZPf@n@4BdY`#jH'Ses7'pde,,M*AEjD\,RaOR. -%E*:gb4:t!G]7hM3&Ccg&-L/8\RMKSkKZgLL\b,1]6IRUVZ'ol8M2)ad#;s%Z`s,u*:4n0eG=i&@re-fNUQF*;\7W=T -%5>:[!+]dXg0[7MN#SJ3_;iMou_[rXfkgANr4L5?M9Vtf/.^!eYn7e:f0tR,F"PW6n#FU9ge:UVs?Om%!K11",.n -%DVKg:If0ge]Z(i4h/=]O$P-N.=e"Vl'+qC/jq=$W@^mn%b95"0/r8';:5W*gAlb?P2$sk?GNe7fQ\'JYAjCXosZg4"JAIc]*+Ii5eIEk>H<-c7lL*Z[EffHn#4qe -%"kb(W)aroqM":.[Y%;(hYIIH(:9:U*"cMg=e`qs[a_fV]nb=fVG=!QIV+ZVV!2 -%+FCAXD:!$Zg"*^Fq[)r8Omep+l!1)G'Rj'g=]kgA_pTD'DH.]Zf_u!OLgh^[#7:_pXdoQZg$?41bi3/YO+gQ#S89;%K!.-3#I4m$ -%r65LeDE:)UT:GQ$kjEuE&$/#IZ;DJ8cfqmksDOsm0Bs/@L\OW[j)Ul@u/q!X%"K83VB\15LZX!kYM3kIEYC4 -%(V>1E4L7.YFRol?foN'YQ2\Ycg$11jarcRaE1^ude2bX9`j=X9)s=J2]Z22WN3JTeiGdNu(>MBHS%*SS$a28Xne`.N%@]frE/A$S -%H%ke5oD]-5qWqZ'7aIB+hCEY<8iLsraO@r`$49#I+#GPh#fA4>OXoK.NT0--^N/LF.PJg96o$.goQc.VpNt"7a%iQpBH*R -%J7)W^jN&cY,tahmN*&r.^Y68QZg)A"69q*T1jTAXR9#U&2@HTRlHSh\Dg+[^`.YsJJ2fec@I@\tSc2NCe@.INItiHW85m*[6Ue#4KOk$U!&&QM4AgDS6-Uq33Td4e[Q.o -%`ke\XOXe>5R?T/;h'@:cq!o&4h8I,GnF\,Kh^/FUR^#.O*;jXUqo5Vf3^=5J/eRIZH-hed\X-.8nd`>WI*I7`!O='*Ub*[]KtgGp -%?F05SWbTpu:.TGn)XKJ>V)^(8)r+o^R39.+>Ad/rF-cBeLSXF#1YB$-Ro-6J3+F$fcYe6%!]!T&kihfcBIR1B5_;rEd8oT9>GQn-g+F)FK.@! -%:$n$f8%-7$#3YV:g7CA"\Cd$5bpP"oPXG;SeDuGD0&CR>ONs,hLV0p\lLe,;V@(+D9BN)6OMt\`ILo#SHIJ/2@!em?"l*GNc&LE1 -%_:<-N@A*4mg[mS_oME3Yc+*0:\E+sGjd=Z;J90`)Eq`f8#-M@,KC;N"g'5)>q#&%99i>G$UG^l\UemE!fd?+@Ulm6c]%k[Cni%/u -%-47;6DDkA@-5,&q3Z$,qeqmWRhpn$9>f7tohBqPm4MW&1rT785//c3J7\9@PGHZ>-qtp3LY8m,B?1Gh@,p#"B`Oa3jeDRuI_U7*o(1UC^Ai;- -%(\_'EnB$5\afL(Na8\8_0[2*$;#n^@-Q4CPL$(Z6)T6Eri&#WZ?Sl'YKi9Rt+si6-%"Q$am9;H8'7$<(,j3X/H*@dqf3 -%=)*bJoZ)e2O9W[S>+QM"I%e[*Q6mHHTCR5r5Q*,Gb:o&5LB:3,keNA:Qk/CW/#'Fp3(N`eU]UH7_:08YLh.AMO@L4U[qIkg@[3pWU1 -%1>);p6p7S6.<7b0bm-H/[K5\6`-qcC5O'1RGEKSS$$00GHZ9@%P!6b3gc=JrmfV0:Zh.<5%fVUrVT1C1Z4h$+h=Mbec'"& -%Jh;^4"IVuPp%VPCZcb!nWEKE.`)//t=j[s(5j]PtY%D\VPU&&[kZGA0c,k?^!CKNCBIj0!=S6.!ZSH8n,@>';oj7\gEI/C]d,!I' -%b+t\pVl1:J]&TaA-;A7@?'"R?\710t(cF\^q,[Bf!QN4'&-Rr8&?>CL9O5UcEK3M^0go/!GH?@(G%QFQPJT%Cl%K!I^ne7\2F>A> -%I*=]`KB(0IWVD,pRICtcHD/T-Hh:%0TK/V&Lc"+nF]U<1:6VcCfO26GLS137a8hfT5lWg$SQE0G2!S=^f^W]l!g!;7H-cd1,/j&( -%PuGaXlf#Xh)V!h;,:\&K$i1NCXZ@pkU=&h1,9SJrDH)O7h_<@X+JfRlXC9ns/-^')L&d;QZ\&s/J7t$DX.U#_/KY-3RgUL%:kg5\ -%Sd#3A7+,)t(!@;&nS=P'9?A3qFt\TO4D-2SE0[m(Mh[=erSi`g%ik-cK8`[3FYTID'+),cO%#VJ&ulRU!;#7q`rpZejlJpURq=U2 -%n``WkA[./+,YGXdo;"PrPV_[!E"[jmJK-%"+^.ekjUR$5q26Oer>?`d$jrKKjbru9F9=B9I0t*m\tlc9lTlR2n`Gu4:^#!9ZGYmu -%WXJk5`%!NN5:X*p0jlmDj+jpKBj#QA)^ee\LafV>3^CUl*0'"::5X&RV[\TbYd5$4]O`X2KR"Q5?OnO\8E:oCFiZ*jAZ9=cPKf;N -%JE0DNUP,c;3@](X*d4<2Q,=V#k9qfe*'DTP)-\iG3K@#(QK(F-X^O -%:>jOW0WLlqL-DR.JA&i7FDo2BJ.N,M.+,t=ck0FG?o2WM#0"+Ger/]UqYNu8dg1n+j#FG*"L@&b^^KNgU.b(TM[$5.GoH%Z'GK;Z -%hqNP:A%tp4fJ/@].H7hGeh9XJbZYYG"RH`,lq\C"[j"S97n8#Re*9I=2AgqKHC75[;I,!%XcnrD*)_CiJ2LDX`E]ELS8:oR&&DAC -%0a8Ao;K>^?_lo:?3iB"U8^&rpJC9;r_PTtXrl2=,2Gl(b@42qH4mWm?>,:W+Q=0c6DN\BR;h)e(h,*1l3",r;(j4SD`jQAR3!:C_ -%?=a"G?85%7&5X2!'#B,>#sG46'l8Q-qNh -%V8:P3T$*cHI]cg7S,A.QJIPH<8a2)U<]h4D(YYP-Oa:oD9lqcmR%uN;,tRAA7@ceB3`f%\7HkRu@T-aL@]AL"?MP*mq:/g11duNu:DJ=;At*PA`LsL]..*c-kHjK2T1V561VRjA -%p*4UV%h/\VtmSeCa!^4GbG7Xh$u]Nu]R5h/EQqV*#@s -%D3]_;NsDr9@AdKmXFW-4g82P$03EhoUR:,He'RBU][as_;=9r3Y)aDVYubKp4A'6Cn.7APkD+^7lku!koE'B?rRFld6ntKY/+T57mo7?nMdVJ<--XM2>0=%.R6A!!"EV(@($UjiZ<%ReBQjrDLo[6gET+Ec&i:mc.J0FbPctep\":F2Dsq5\3P$6> -%mDVcr8`*%&STs\#SYPc,PH!R2S/JY9cs!4]#E]1OBc-M_j.'rkE/'5@*$$$]d*oh -%h[kN>8q1Dp)L&4L(hk[\2'DYrF.q/T,00$gK0btm>SW'ln[3@5,orD_pqfV506.3(qj%2\f0LFnEiiRcO2i!S)l9)rd]$iJMXm() -%pZP/b9Vmr?hr8TTm%Z%cI($q#",u@Z0i^.4ERrnuiWF;J8P+M%^&aH!U/5`c;D$T.m(1=@dk'*?dJ]d<>f^oj;8nDC"!fbSKbWA10rY@6MmBa"4H"/Y -%JuIU%LLTE&fNt4BELEXX^;$&F(R)!Q*Pc.H#9.&/k($Dp[^;%!;@#p-G");EW-]!ZATSoV%BKd0bgJQTJm*HiBqhYqR;DE"8du8F -%Ot'=cg:bl4`hsb//l^>`SMIi_hq?-4Tleqh#nu!shm;il/oO -%A^T!pB5U=eg^Y93RM7*(=dVHB5cXiZMAlo7Cs+./dlnM1`A3@K1,0FtPu:XC9RJ8"[n$l?!+N'=<2i_g9%Z_B8)s^Zo"a$/1,*H2 -%US,\JaEi:p"C_W`,%am;bPf6sgbPAo?RYIdbW'HQ[O$DWcG!,"^G8X'Ap.T/KuUZ'tUT%n^\n -%TQj6q>q^BP+J#>*YRuJu>DZZ)qqD%*VaD>*:)HCUWSO1:[8L&V?P*ldSmApk,?Ef,=nl\8joH^@co>7Wn;,QB->@mM2Ignk,`5uS -%q^"YXe4Xo7A<'X\OYe"!YC0PRGL0%_/$ZTpIg2N;)Omr=N"W*GCiQk#*GTZYO]kf!NB7ohFS -%Ga?b`U=-.nHt-g6uOr;k!"b*/si-Y0_(*Mp+\)YtB`FafPH'ioZ*I.b=\ecP,bmrMC$i0t>XS`%9LdZto3WKX5po/d*IKT^A^H+TG$u^FljqKc -%@7;QkW3a?N1>!D.^"a\M'.9d.1#^H[H<*a"JZ3'OjGooc=]58iF"So)2hg^%qDUKiB_10=5b!fe&OqV-A&C^^@,iDnJjf*"1`2*d -%q%PG0Niddcbb&=pMAk+'6n=;M$9B-?ro0%]JYp]53!o"^!M33ARt;2 -%ml0er.)Mb#9;SYF3LTOR+8q`SV\3Ec3`r1UQl*5-5P]mdVQSq1@]Bmq'H*_9lMEsrhcRifhkq>D>Ui,ud*(S<;&V=8G1[bW'[XLfW2b,X -%A,fdP%Sf'8koD$b!;&/7&W(aU^Np0Qiuef"b\kOCIgI;c'iQI##l'@W`aZco_-=OOP4ZuTIQRjcau2SW1s&SU5T8u_c+ot5bs6fM -%FW!Q7Co=>oGf2XM7]c-Y>UH.EmMq2/S1Ul93&jR$R)-#53LpeK`m3_`Pg-I=qI`ac,gmXi#jU7!GU)KQ3o..p"cI_-AMV4n!'<[_ -%@B5huY`nZ;R+BMOW2:/#M7N;!FK_S+TuW:l'>AL+"3bB+W$6YMJ4h6\^L6@IG+,D!GXWKX,%i18+#f0Vk(ol"%JXIV,>3F^\fAI` -%Y`bINj:A+p_#?W%HW4VpF+cu9l6=`ON+1t9=`?9PYrFgk;#M\`X).4!bK>X@''9*^Ni^*KUBP(#Z4P9#[eO>e(?P)u9Eq%TYt27; -%OWF4mP]bJ<(45/cI`fW&nhbsgqs;+X=,t[%mXi0_^NoimVQ[7F]PTB/!-d!S(_Scu#gU9A&kR?YS^YC)f`W$Eq47d<16C4K8!nmJ -%bE>WkL%\S:8#lF$$>#tRTf=bp9\YYdpDZmXIV!c+DH^WD^musP>32cT_C%:nL^sZg;Mp0Cb*Z=S4geB>6'+b_eM`$H_CXu'0q%&rAHFER7F@2i6&FcF;L)#; -%!I4-rQXHCYc\]1LOo[!=!J?5'ZRX!bM&.ck-8Fd*9d),aGsk\4Sg#1FUJ%HnT\.=%7WU.hXX[bq"]?(p7-^&!0`Fs?(lV^rVR%JO -%jFqcXlV*Mg6ZhSVF>r^3E>Vc8M&2(%*Wo:F*C29!aMc`8l:-RA#YhslcI7b\l@nr0TkOY8%Utkn.RbfQOlRdi*+ifae//lcj<9I; -%5\!d3a?oJ-L*T8f?NeW-7#quo*>5J)Xh*pTZ:a!*eaY(:Aq":c^M]o.$$OU`n;UpN]b)?.hN,DW) -%gneGu=10#KYb&aB^Z>gi^=@,/VEhWMgoU32nHm.ZB&33\_(iKS@E`E::?IQdbeY(GJ)"=7M@:gjbd<&6c:nGk#D)rc-)BDb*$P]gcPd.&u1023Ker@]=XHhJKUNPp?)?>iRc@9-E9fXRb$;1,[/*#c"*!Y\fQDEHUneF_@ -%hU<(H=^A)46s+Rj-Uf5Zrl9Zufeg\^ZX:&g"m7a:-6ln)?.P]Y3ao;EblaqoKs!3RJi.>5P2>Q6,p@=e)LZ)G+r-$MJVsnoALUjE -%#W\G*B99DS!S&Zs,d\m-Mqs*4,1/XJg0@IY)gEEH0q104E)_<<<6PNfU5?Hm93'@2fVq<2<,j1\CKHt-1te'>!Q_?!*;dV!V-+flRJG59pmSAm*'7/cPkXHlgc#'L;jW1.'nA@:>Km9n55/26QuL:0XqJl>lMW?8`B<`?dq!2R72V=8C,LuU7BQ7GKRSlgOT>fI/&K..]3ePVL#"cZ_JJQmGmh)! -%QirmIN>.l67:?fXmj`dKQ#2[B!h=-CHNLNPOTRE8>#E)Rlk[FmbV:>lZ#5iZUR,B=neXkBBE4LU!!!80@sh^*kp2Fj4^rKh(Ns,& -%:M.GAjL?_i/%RIR-&bB`MQc#7Ll'3\W'Y'Jo0LK*Mru=g%I's[#sm$rNnt]_A,G!d6W!\l=m&u4=g0`YWXpiM?R>FO-VoaIbDgL\ -%g;#2Y*"/O2[h.40L&2%T'iZ#L@lec[USW#!W)Kmqn8F]s->+mcNuUXm8l>&'rN/-\0Tn<#DEd'ZG:oe3>BU]j]`PXH5qSQ,b&8`$`R?l>6\O-XjjTm]pM -%;5\`)[<+@;SJmJ=!D5$!aQegd<5k1uQ"B)dbeblJ8EaZJ4ZoYOWIjSlkgo[7"P+sJMX^[\ForHE0 -%Kl:CDZJ6F7R)23TRK?Hc)j-ko$o(u;/NSU*TpMc.C":b=FBQr7l!nH<.5A&b!0=q#4G`f&9CX=3J;#!jFc'tC[5b`R'h[%.M41;8 -%G*k@$e:PjTW1:grHpG11Kba>(eS$SX"2T41CN<>9NkMpj(K%5Gh2Ff<5[V6.%c',U65\8OAi%ppF3&q##J$\pcrmJ7@4c?aMICA,'hECE!?=J -%kcBC\6'm?@"]^mCOB!m"$.nglJi)?VuVR;s?rHFZLq;8dGH.befFk$8Ra`4_9BKV07[*KIrsZ*Uf`&pF,6os_OhQ?\ob=KFEa\jA6>T7'(8A4QrHnM-?m&QbP/NHa^bB(FRlPJ -%!5i>.XfAe\eaKCQKL9CYVE8EXXK-.)P#<*J7Vu:(-LG&3iR.>%ZZAj3S+Qj?B2T^Li -%W10#G0=5*"F/rmr_qII,X7A/MX[b2`7;a[`)><6hMFT_:5GiPcjDdnb)LdHubLorD#a9_a.1E(TY/4j\g27[1!oduIa=W?_p&&<; -%?F?&^=n&KRQ>Npjs8A"XPepZ0d8EU!9WHU0<)":#o/5+7@B^*55C9+&9Z5:2;%($]2f&*`VgN#HeuT$p@(.&POrJSKr!q8%5jTIZ -%6hZaNB83Jj[edZLm20k+Q,Mf=pYVGres'XMlP%A7fpWack0#;ZLK -%aY!CNW;:WWRI#=)F#b=a,,5K:BH`",FNDb>aNp8j>rblPY64W*YsB;ZPK@0$nGXuCgfuc6!!bYBYVK*OQo!m+>":$Z7#5Bc3am&/K8oN7TM/^>$faM&'@&ogeFR4f!hrZ;IgNIWO-Im;k_BXuAYmdn$-EUR6m/_B"AYUj=Y/]5b5Hsl\-![#nG^g5ek1T5504d+ad:F&ehWcZ*p&^A!EhgVS9%V2XP -%@5>SF0o]#H[8@OA7"&MBJ3cmka`:ZpIp5H$Ec7_CckLLPd3EgMH!#1JeKdeDb!qC-u#?(h1!\;\E1$3B!V&EX&PB0nK9o"SIOHS$A'i:S[Rj32UTKsA(PEa5R#-^KQ7J(SeDb0FW- -%3$%[+'".dl%$6nF1"'i;6SM`pW6!K>TiuU_oG1q9 -%d6'N\X,T'=O,0QIR-o]=M8Gp"UhGFS?7E35%dHK`::H[(^/W;'><-$kJp'sLGN,U'ZO$sj[1;mdhi6AD\O%u[,9srWB]a98-"LXr -%C?@:qX2=Y(Jsp:'69`TtWC=gCSn]jH!"Z-CHks=HVTi#TDBA3@c%ah8&hhdFXGe4GM'Z8/=7N6R.c8mj9;[t^$YMk*m@A#do@UP] -%:m%Oj`9E^'!qW4mGm(au@270*F1VQ1*"mT)Qf5`4,&BOTcmPe=Ytl(*ebns:do:@gR6@Rgs&au@`at^;E4,QQ5AaD)!moT&[tLn' -%>YgVm8+p>2>q`8eQ_UuA^3-d2horKoG\U?#koiIu7sGJ:CCL-`TkaR0km1R"F$s6:+p;YuLpsfkT]./1/V,ji]BQhp/%:0jX$5oERun4#1Tnl6paLC250(^2U_;c(JK- -%fABT6VRl6M57M59@.+M2?$a3J0-=:@^?Qr>hOV2HZF/,I[Ni1"?TT-'_qMX`PHNmdMLC$`^J3irKt4mP//A&VW.&?\g.Jn<]kG;< -%nu7GP5]-d[Br3)t<>&n"ck)CmID?I0fblf'gA01$!s=q&\8=R'-0qR8CJ;7F -%\HeDXcF,un5VaRbh0-Fh^g/O\*he@Re6E*FD8?EeDSbf\i(a$OfGZgWl[@RFnZ=a`Zn.[S\6A6Y4eTJkDLsrDS&]F7d"I5Kk"cRXP4$/*'K4N0%q+WJ<="BqahKHThf2h&*d6hji!l0onbYe2;SJcV/s3FmU@G0EcJO/iQf7*/Y;:7YrW#2 -%Nnf2,$h8_VH^e?rEo]i//ti22:(24`IbC4JUcn"W)W$Sc)t9dLgpVk?FO`WD.R=$j-Xs1mgun$P?C13t4>7,@Wf5`"LCB?^pg+c> -%M>_o,Wqgtm@h5__iDtJ6Us4[jc-+[cC>bS0]\W+iKtcTi?RCNArXr93%g:iEM#;W]-YI^7AV_e+kkK#%"9YodLo_!ro-oX$$A!:/ -%Jm7#pQ08Orj?Ga],LLMUMY&^.m)sGWf&kr\.)aEji)3[)omAbplaSMBQULQ/?A?P8hVm54IZY$\)W6=U+YdlCiHE-,(Aa%A\,W+j0MEe'&5PkG9j:qRl6%XDg>PTCQPA+hpMO -%bPb^lGHp#[_Ro.1ZK+5p!%a&MV-u1C6c`$Gaf'.[*Jj+^n0f4O0/\[)Ajd9fd1:0AEIM4GTE='F^'*d(a1$a0N&^%B11UE0_JMMG'.-$ff!UQ)8i=)ORTEi,@35UR=cB2O4[pZ'6!jMf07Dr#H[)gLr4h0Jn#Y/)'DTl9;:A[kOPrHYq6>CZSLStRjlB%l;j;\"M& -%bqi6ok;:'1AO)W'3AK"%M0!lt0kPYgZ[^bpa$i_WZE[;*!Y]n"2,B]fYj*a_brB>@+8)OAb&#.s,MeB!IsoFP1u9/kkjUk3jEL0q6B/fahU1O$j)Ye@O5;rq:FU=T%oVHS;!CQD5'b\%i;a_Ds(\%>.H -%\!5g.IWu890kjiU,C5+A"%0*oi1)URe%grFHJBVR[:M,dn_-PhZ2eLVf$59h*>/ohWBGT;`e=9bH[<8)4=42PJD7!c:B%qjQ+'Za -%XU)Y)f=-qAq@).A%klYbjk/JHO*=[ik18?pceH)0pOE#u55'2)nS[+LG51JN>`VS^-=8T[\@YgbiEid6VhNp*/:[2HEi*-GiHLgB -%M]f_KfscRpXVA@1='+>riUW?4)>EWHR;[$B3sfmW:@882Xd&ZLR](7`&L!Yl(D<0&g3Z&8ASt*C&lUr6ajq1BjW'+FpPOaA6lp0N -%jKoL+S#>3s?dIHr"QoMg)DY^;$TZe%f=rJYg'76lC!\%2K6To)W(u4Jj44^#\E_2Cg*':XMP5;56DXt`]oB'.(@ZP[Q<]=p)Fd^' -%pFG-Na_uS6'ZVh4UWRf>kA.#BLTmC02q5t88[po>[gRW)Q$`N/K\=t5pJ#?!2N7VCNp@q,5RHF7*7r7L[H":\JjVtCFp+k/LP`=p -%`)FTWp`E68R%t;hOI\@7%?@1Ah@PA9'L?rDd:6oD9dkEE[*&Jm3rg"`%-(iS*+HSGD`WV*N7b%iVI(pmhg'Q5Lh4: -%>jikZ,[Nf[)'ah5TUVR_rQn>kIeOW7DVVFoRb*g2&eF]1mMU8qm+[N1hnmQca#SCd8;M>+c!InQF*Nl]EM#F7QY:B**UnF`:726/ -%3=".=L!(nfG;"d\Vo*b+kjD3ElQ"ONk$(W7]eFifHG3!mfWa9&ngSar: -%RK*.KSMJt!jc:AV=cfLQ/Gka&Ud]Um.H/K)F*DgGfMra&+l+tJaS=X!X_=BP> -%O;T6fh)j@VKLk\dm"&Sj$ECe,Y2GM&liF+iZlB7[m8Ema6cr!J$"FdAQ[aDPE\P7=^4rmM1EA'k^1;Hg8KB5H(3cq^;!D -%RN=pS!7haF0)@\1k2fR1U%.npV59hfM/9AiPE'=rU)':Y2CG"e< -%@JIFn?]%a,jUb0.fD.#pXC=e1[qr)Xnk'*2$=Ds^7#,gGkn/L!%Nl(JZ4mjSAn..KF96%!oH#";qI&5-)5IYs(iih/IgYQ]:) -%o)cVUW*9(Ro4>2I?&a04Y#q_F]2_mRRP;$'$hqqmsrtm@)LLiAH=Kq:>[=\ao]#4QtC^IKp*2>^=B(-W\7t4<++$"1Jbk -%)qVnf5Jp9f&l2_NnTDe"?FK"fR2&MMr,g!*F8P!YT:KEq3Xa^N;8h]>c&iF/b3t$b`o])rKdGkrX6]c3P2[B22NMa^m=#:5iD6LJ -%B615(jkTXr$?98Y[E'SeoF5l%^f#7#FGq0=(=N -%oNOV0/(3=ss6F0'c\gI09i5HX&DH&QE#^onn#WrbcV9_NS>4cUl/poS!s]:;K0,%c51CB%BQfhoW0(i46K` -%4S%*2=1qtt3u4MEk?n#T3oVAJVOuSbhnVpn=a9ZJn['DA@td1$P^NA<4gTTYkd!plqg#[H@aOMU]BAeQNr2S>>t!SPOF/9MDoM0, -%62g6>h[57A89o90rp@:gjcmOoA.`_VS]D[:mCrmYNnnRu;Jc9AtXh_3,qGmOZhgi`f1\cN+-Udp5,q&s[N&Hf;ZL$WU%>]iBgM%6%+cTckIcauSH^>J;DNk4"?l#,qXQ?a:>Gn\>G -%Rb9>SriPe@Tu`lIF1SIum:,WprtJb4SK'fRX>LbjhB1<\8(X(na`HtiO&PM8ZdY:L##E8sLgFGhp1[1bjK).D?qIM':S^#d&S7^. -%A7tSI7K88Bd5lM4]"?#A:S.U>#BXdAr`i3SR28k'^7DEIAb"Q?cO\]r.esn@SKmN8hm_m=#!^U2o&YH -%jms$UNeq09aJ=3^)$L>UFq5WllRX-\pZ=Rt*5XS$jTrM[3P -%G;oEeK9Mt$)(D5]E2F6jB]?M6)%t-Y*gc^FFX6[Bs7k3Y6N-\U.tffK]Jp#OA\9hu:\@Ohc+\T)-[ocrA2d/-HW^Or4)=7scUN=2 -%Xq$^s%2ZNJTg,5&7Q!TjKsp=P4Q1b9RMHGB^,.VAOOhpVfk*+C1j^4B!SjusQ!I'Zs/6,1CHY(0meofo,KO&'Kruj$\\]V+o?fVM -%J5*+K1?b(M#Kl&+n<#F1!%0p?5U\ft5"+h(jepCUcQ1&A#!^\^WaHrBHL&l9kgYutM=*l1q]'mo.@oNUt>nO@a4!?_\l+N^Dde;Q?gp71F0MJ-7?WTf" -%qYn?_@*D#gdqV-I>;17g6LluNeh-1u3]l^i`GD!sG3Xrp.lk<*BKZb@okHa!l9:dOrUMu47"UF=($?m^_l.A] -%@@O6FgnsF=N*qu>6H<9o]&1dL/KLqajg8Bq]Th90f*,EYhF.&fP[a*UBkpPg7.[[)\g&ihPm];F?"EtS?mZ*nnfP9R(_k4*4g:`8 -%]:=,.9U9ee8b2)mT67o^0Z3'U;Gi$6pPu4=r3OTSi9K!C$6rW)bs/8&kZBl/^F_\SWf;l$31B&P?#@b+^\[,)OfYCRLWJ&^!#Jh:&NXqQ+d`dA[!Jg'nfdrFO,oP.+FigSa&lY#:gl0o'IQX -%.Hh4K-/(uB!Do?-=b.*9ZXA:]>1SFgHJR[I?ZJi(:5"2E_6Ht`+VJJ#[U5%Pq=shP]/23"1qg1V]s@.c+K_)h$MuiRg=!WfjF`s) -%c,4F9nfEY`#`tKa0VHGDp(5)d?TaPE#X)b-":(&,f_-<5nQM.[e?`uIHS7C,/jNKXH@L^is[QnsRI(_O6fP -%"1n02`LSq-F>1QH$2!^]_J8d;S>$-D-"^kW'L>N;](KE/X7aMg.&-4=c-tR2Ng!uD1MI%G8fttTNVSkFif4,Ng[B$dXYE@J26L@jkj9KRsTYO[9`!CIL%1BIdAIjR=4<4Xq8&o#+3)H%5.fuln0A^EeY.+Vf15/]`3j<5J2VSliN5Y?T/ -%j<8d>DbhqNoJD`="!5Si@uC.QnW;+?BW_hn=aBlce;DPW\(gfV9ZJCVA@k(\kKgU6ZX*TI]Dma1irAqSJ,6eGs6%/pQI;fE@Ws7" -%MgZ31nCQX(SWDCSMLl>6&Ntfu5UOsWIm2?Y.SrSuT>u4I5E>p8`B1h'4\U<-_t(iU&&GLf5^^p1(@nuG:*16so5>_?lkFB)K43fc="`U3DeUppk57LD.@V^!Ea)Mm9m*_,'K(Eb*rd%RM4bMgL5qjZ":/ -%dYSfQGc,qqIR,O!?RBkFE>gS&6VR^:*_4T"=bs;Wpn(ms$F>+"P2fXT6Ak7TI$)$J(m[b\m]$OG+lIi_]lF=lP.r]+`cUbf-W^NYC:AJ]J);93#rGb?oL0pF"/r/ -%MX5'sVVr`LM>g+W@+U?&[#.<]C_M_XboQ96Z#IiZd+F9V+Nb7=U>s$NnQ7Y\k"QllEO.b%.=+V_IQ1N+Diom(&3H66*R[(ea-)Sg<*USkSR\'9s%X%lhmt4\O2]QdW,J+06-%Cg/%KG,G -%9d7a`/:b\<91GkF&9pdMPI,j[V>!O^.HnjA)@nbOBO:rl1]2EbBbit5akC+%8bh+GXk!^Jjj$).i -%*_4t/0,5I&'4S<>a1Ul5'?sZLU5:\S2J]F7.9<\41'LSbTkK<4rE0!pURel+$ujtl;\!Z>gX2PY.Qm=eE%tq=1s[^X2P7#I.9bH#sm^189+WL7\#=k3;Ph">P3*fn#I -%mI$95Shi^fW$QilY&L&9Z+?DKZkY!BFWV8QmKGZTC.%,\^ -%nWJKi-*40[>"QC/.s&;.j0/FL]^c:pdQQ4&'&0Zg`BCa.:',N%/+kd -%N4]2\SErud5H_R!jpsFr=WO,j+!/iUHO/K'U[nVR7d^C_85d#5P"H3fO0`U;6=!lKjN.8/&(1g8CuMZ]1"@raNhMfW>gl&)cZ>H; -%Tt=HW0ZJW/4(WLm"bE0u/8C^)#)#/O*s/39CZLTni3j;cS^7n,i-oKl'%2Atm2H?,cj9p7`5N<>gstHO\tW%]LW""+ILksVm7Qr* -%OV?8Mi*kECmW9RlR^+/MReoKDH)V403:Ws;1r2^Dgg_l)43$MUPa3^t)hj-XpnbDpmI+GARt%&*8)bp%a";"=!gHM.Q?nEO%8jf6 -%=5LgS'$Fc+Kc`t?57q7i&F?Y3;O*a'XQJJ'%dYUN&,P4t[D[dBAdS_6659Ko:T_a*McdGct91!lrb<'h"@/`9P+Jddnc'SLJa6k!a;B?cLbB"7g]^DRjC*9fb3`2nrse8 -%LA)o;0A)+&nI'9fjN-#>,`MRr2EPU*CjcjBCgc9s%is9!ckbjUIf6)2(pOP[qnh*t(X;P5E4OG^JnOJt>N'/](!?A]+ZJ6H=h2`4 -%98NlLZ2%n3g.S@=8pc4r#)093':_C`88G&n#'cY<%cFcYKiDq(fQkqLV(@H=Ft[sj4,5,bM!->L*>;1?$lr;bnFf[f9JL4.+pr`K -%<]%N#/e2``SNSg@4OOtY9ZuXr2.TI@>,4RU()b+#N;A0`P8Mm#N>Oqsc=>NJc8-\CQrN.0F4_*?uM5k<%/L"4m=)9W3\lV(G -%6Y3Ag(Y[o*\K:q!la>MNi+2UAS`Wr<:7T3C1agG/aAre'bCOXV<\=?LCOf!]S98DF#=G[o"B*MgOH/7;_MgcS'T*4qZu6^&rSHH^ -%B\0N,/,)6lmBl#.YjWU#,*=j0/5tc`'B8IJInsop_XI"DE]Y$ol)^G&N,]h1&taL;AR]$%%'NehAk!%+]4(=e/*U)2.q6F/>]Tp# -%S,R$DNpt55Xc_-d$#J0Z3"VKVg6<*<`WTaQ1&_AAgV8B#[ZZ]@iQf=JlOn[h(%DCG/T(1jZ-6q_?\%Vlsj$K1rnUT>U -%dEKF?:%#rY>Ksp$iL%lgh?#F\#@cXFN#=6dUE/u%4+6`r;r-d85jWT>A[\1R,(0pRD"FMAO'I8gP\W8^Q>5o%#/hm?X2En?h[<"5a4FO)!qr?U&IG$3@ReK9F$:*m(TA&33/';rG -%cXq4WUq5;Xrf8:UOF[5edaGqkG-Dgk>g@*<-_e(kpb=s"t?TJT1ZXf'WS`W1<@)B3KTM!UqSf*/Y>Wr(MdZ^:FZRFWlb8()u9+O7h+h+,gmd=JItn5"tV -%kgMOMBAaN/W8k]e4h[7-Y#MC:QQu+![l+%(p.5*^5WHJl&"1EVB\*5kP1tgF)Xh3:8?lmB/NVc9V2g*jP9)Im=g="c5-<8fVWXpK -%18NJX-%jZfA,5g7@kJ-<6-f>4>"DVf+5q>mQ.m\HU#Jt53+nDo0]L*Vlj`U2_nE.%W(W,c>CE'[a\ZgVcD_-!0+?CFTVIs9rcUB.e!(p]SfAkaV*3om\&:#Er^F#KK@hq&]BN`8`EQS0[hLY^n<]c*M-,Ep/1$2_E?ZiJkA$\?XN+S013DN0ZqP4[^#q@A -%efJ71]IpI,Gl^?5MUn)S,>XYf(!7 -%)R4uMdfO,f/*Xt^ -%_o4rED,Cc;A^4&r>>#U!tGZ73cW7&VMlaK)pqK3R%20UZe=W` -%*KE>Chg+FIIt)-3PR10@Pb(.j"'b8.;;m[+Y+N94sWU:;3lVrj)jDuKO-AI"nXcbdC1em4U0U1 -%Dg0ZkF]mT:.'j,d0rGe18Bq\jIXR)YGkM?Y+Ii?mbietV]G0S:H[H`=8L1HVmt%iEY.4]2Gn^^+3&.>dLar)T9!j=^\R*&T@d1Ie -%aN=]AE?\]poUu:,O!/.6)uKlq9*]U;(R1'J'L)6Op]Oc,Km=SGEqG&hY!U%7q8\=65Lc#pi]?^0GnthPNd35&,;;H"\&tF-Rbcoh -%l#Z.N(nUY_6kc]KU*`DA=E%@\dB^J#6glH,L=(bn#M#[>f['tTQP#"M,p,,1[*\_Ej7$9$it6k4%Ne8t1(P_mOJGoVKd@SVi2EqW -%9..VN\H@hR3)=H!d:Cej8XH0?H3PR)KdZTPTsQ_c9r$95p^a:?V.]r=*mD_f3CmnYrE9\2U6@MN6!PeKrjE(";fm=Z%6GJZ/0j<* -%2;aktj[5_&NUSVO'Bg0L\;bf2BgHS=BPVTkhD/Kb?mX6VNk4>(BY)AC7@Zn7Wm[=Q@3GBq67P-q^tcrr\]WVJ6nBlaUI6nY9ECg9 -%od!ZH/)sE+^]UppYi2KElQ.Xp4(WR3E/e#ndcfkH",BRQW0Y8>lq+O&KO5;TS]_`XJ@Ib!8'f'>4=)^DD:B!G)C2ildGW""&ni:eP9[W]B"%Jgc)d5=L(trc=-"i\9H-p-;rE -%9o7#FA#`Jh&`\d[RZg.=q`mCh'eQrl&g)^4iBc\'2`Je4BO<7YB,N]kD31]mapL[/GmWX-IWZ-fD2kXmP%j-@s7N>Ii]q;ImiqB,"fWmnFFmt -%3l=&812`dC2s/ANAc9X_Su.5H``ToS/44_BjL\fMN*3VD+WYdji.j+,$$dXek2ZY\cao,-P]UI.JU%J_]pWP'?XeLS5"N,[X(_d^ -%n@*Nt>e;L"`;VYjDc;ShD)9_Ho*n"VWY9*EgH4QnZVEnZ+L>A/LB^;;W>(TrMO5@uO9/V0KGKDItYaW=,%HoX>g#HJGi[\%US^l*i#k#Jt0'h*p5!41obHdO$DR4D3_5bolI>IjTB"0FP(pd#\' -%8KXQ((p9uZ,95MSTqg7pX^W\bd\a)k=#"ql%?"bY1Msaklm0qtUmtNq$WibZ\ZGebh,-5d+"l=rg9HA%!IMioIi3pp7REO5>CGd3 -%QKdXhTt)/aF=\qI?Y4U(GUup@;!aM[=AT$'N3M=%0Wi2.<=BoKPa_?6&YSEO\PT04*MC^+\5khOUu@('U=r2R8X!Zqfj[SG10YXb -%#]&nQ^::`)'"LlC*QK>Fl"t>CF.gO3@"k.l\;]dO[3gUm3mQn(c1J\QM>Gqh3?t0BlJEC_*^*../UX!QUfLO?f3X)NRGldr,/iS[ -%?9DBEsdp`m"6$YQesG][Xf)?*b(>uRR0Tpjhp\O+uJk]7`)G(sYbbPGoh(&>sf"]E@R)\TpXhD?s@a1F:P"&![pdfcRX.=4Ql -%GUOE9+@`6*XQ+jd03)j09Ch,dk@@NMdn(t^En_.=_[q=P]qD?qJIeO#dY4U2,;QXnBp/1EEppiB8F$gJTqP;8Jt -%#0"L$,XEB"#-BHcdn8gr5pd^TDG3Tp3aS5L,?^qiR2:Sl*I=V2\k.$aN&[T@"?t6pqO]H-p?M_oD[Gn]P1;_Lp`.WiLsm2fIEfW6YAX$;59(]9emgHc"l#Z1(h$Bh!Ys=4bj+Ck-_ql3CWsZMgM6M.QJ;;`)!.2j"b>.mMU@.?HOGOka_)\VLBkNC-I?-% -%g#5?P9s.omfh&(0e5C5>kpkakL-EW+B_Na.kYDnLLNI?&l%fq_Ia)Z'NAeWo>5#Tu\6bRDc2m(L-rDB&m1?4*f,-d)^?g.iV[pAC -%F-r*uh;P$p/]QfV1hEQMS(PL1)[Q](-0@,([LoIZJ#'-EPc4Gqmn'&Q5`7Kj!T=`YDoBr`q0dRpK=t:aA4/n7?nKjIPm\UVPQ]uct3j+hAsP,)OVlkp+e<8 -%`;77X"e\XZ3q2LkW7p(lN9IeO%DDodQUL<0?)Irbs5%W*?UoV8ikQO*%R_UCeq-;0@PFWJ7I^Ku]K;>5F.]d@Ne?TotX@5In.=jep[B[=Hm'.+t]D.G\%9Jdo0!TY#!Is'qabRO"AH;c9"Vg>macD2:5ccjE"&)rI+-A`bA"n0cdSP0KIU+S!]?NO1&_CmSN/3)'cp -%,pn.WA4dQZ/6jZ,S<;o_rVjGpp/YUUGcZuqGUDQh^ECt^WjR]q_ -%0e)in)ltYTJq83&'h_)k]IWB^0\rX=^>Z.]q.a4S9[4[+S[ip'&Irk7ZQ0-8ga&oIKUXnT5WY-smi<92CoTO[5JmQFb^?TJ:LX=5 -%0(ErBNOc?eBhsWe%qX_\;U'`\6rZ%fK-/;DGa]7IlC3hIQN>JsQa."e\n>NBr6jQl_ -%@adkX!c;$4\e?TX\?,k5I]5f!b`VS=lVLH\7lB;pf@)F,ZN##X0#;/pp<);'+kWfl/&<0?QfLa$6lYPnS]IG#hfp39r* -%Y2YkfC83m*Y>[THA8rt(]\DFHNm:*/9D-/1A^24Iie?R#u;AH)dcuOd] -%_h^aQfkOj8n1ci6?0-m<;[7mC)7sOIO5*.B$&59C7QU/\T0q#H<:c&>QdU!g>+RSQ4d8e1%0e51/R5I]jAPSJoU##6reA?^p"C=1?&I?c(5G5g!h/'D:t_E.-]Wc+;;Hi:(-c&j7C5qg?> -%=nIYU%-5Lra.(1J-a0pl[Kf%j4>f>&<77AdJ88#CTZdO1&=Km_/6tUF-rYN/g%2$@QFAiY#+d-n/3A9Q`uBiW$gbX3n3P_kiMeYS -%6E6Ur7?qV%4Fn=2`+s!_f>7TT=elXsn7DPVi@ssuEN!'HKI1dYj`F8nZC!\E7c!8"LoHHCPrn:eP,5.UG4H*TN2'bL((6tFM<0WD -%BD/`EE&lb/*diiOUQK,p1q4LfZj,>,pQ+8YTlT0LS9_U?OAY0?:O1ci0K,]gO/%8Y)D5.)uQ -%@*.`)T^;*g9JU[.rU2Ol/>Xg0pLOONHUIT7Q`$"dRNc@8Le.RjNk6O$*:h-n]U&hiOOn26>E$5U;,3#_'H+]6:N??p6D[hffg"bu//UELngH#?UbZ8FI -%le[dQUJn8WL/?ViZAR24V+AW\f0=Qgfe:baS>HA8BFl]RbM5jr*K&f=lYXDT7Fdpr!U)<:Q'PP*?It#@c4\;USi\AN2&mi!/5qoc -%+_GYi&0,!*Z9/J>`-Lo[S'3BIFV+&nYR53[d%?*h]HGcG"sWongAUQVs5d%+e+Y5>Ktd,m"qUOb+29ctaAX>]+?dpKe.1mNq)>)_ -%hAuL4s21Ib,m8IhrF8X!cbG\ia?qV^2g?0)Y]32jL^&,:#cXO[S.f*Ne/<\ZS+rge!s6?_a"nUg`RD%3Wm%'Oa1l1cQN_aL`OA$I -%M19dA%2W1*rc;IFoA.?H^t!Jr"?MV,iuE_t3/H.6>!.YHGfS`fqR.'#';GU3UC3Ou1D%M'PpN^7)udP0o_l5Rmc"+V^[UTBd(U:k -%rJ,b!Ofb&HkQ[:1))e,`]X0<(q@^R1ahCMdXcAb$PP>l?l0J$&@HieN_ZE0'>;$?$7DTsu0[)0Ys4"hCRrc&smrnX&Gha@9=/M+` -%oq=m4Y87BI@gg\/Z^#D6*n(bMX0:d'>!HL6;oP;fVITf1_nJ;KMfFuJb' -%:T9@iZl0!T5CdE^DH-e%[30Z@dA-[O@R6)9%RD`X&S?<5L@L7KR0UWZc.2[R238Z1J1+O_O/M^okFb'To"mZ4(OMa)eQ[+Qar[0M -%oN4*hp9cI%I=jhJ'^*l-2ELSr)4>F*H(3r_GHlKS>'lH"FrHceboCHY-t48^)l.2e&e0F18"[1"^h(?uDT# -%mXW6'*ql2?[p*j]B/eR\km(Ec3ZL-)17!t1.pe@Wri5m#4g^Jbn*`UqF`4qAJQN#f_m'u:er*L-GNNaOaNnKSBO4!o4Qp@r+*Td= -%bE$JWiFYD81VYJ^lb8,^i)Tl[*c,Nj$u?Z?b>Msn;9ap)ba8!d)!gXNIWte":uB'e8]S)nE;"/WhJLm3hVOiU$dW^4l3mWDYA$&1UuC46 -%*1Jtm>M0nch$Rog8#Iq^%J*_J^rhK6eTk=7M-o8o6[-j0+"%2jT8,Sf+ljV@hp7TiIU)#_fqE6g>dskdXd5W@X!OK+.4BXo,#:oEX(i$rLeT1>"JBj\pd.2)m$`hS'(;]+0!,$Lo;!3i7$^,P5(EU7dE6c<,`2&]iI*\8Ro*qp4D9U@4\m1D@JY8XhQNqp?'%!`G5Co3 -%gn14N_fjJ.01u^tn!+o;CjX4^#11BqI1`q%l57Hb?NB_E;Gfjk-M'M`J"4n-l?V$+>e]$W]=ki2kH.undV8Ag5E&KqdgZ8gLHqBt -%OZbbaXnk,iF]VD-&bM5oQ<lr[msUT5HZ8@=KhVMr5D(OngNCdp3S`$3JqLmkU[E1OL&6JO;oJ)94*Ve0j/@1XO;/INr>YcYQk0+sNn6hJd'8_iMj!L':G3cHE6,,Dd -%[qFjkJA!A]f4BAgI`$e"AmH8N+hfoA]-EP1Jss$c]t@+c5\W0G'tf-cWd&2+?V]p&DfA3Uq1IO[#)=:Qe=Q$\C;^EH2'.Gq[Cgfo -%4kYuP"02hk3^%eC/t:uD+Q*f(/,ZabqfKp*2cbV:T@([.M+AY,U@i<;77uO;\=S?2bfuil4^N>FnO94eY5UNVjiXT-VS:^`MnkPe -%\i4NHYORWJ@YSBdX8-OL`#]9MKC5Rf&%X&,*;Z%?SS8+X#.C8lW6]Srq<)S#i4#3@HL'=Kn?#7gb:,6AQ(IgjQFGl)(,RO6:3$R\ -%n1h;-B'W2[!n#aYE-GRTcIM;"Hr6kM(\tb4oZE5=S@`?RZS!D"FF%Z7bCT)Rhf'Q7cUu/WpU4.[\4HcTM/LI'O6nnV4d420V40YO -%442i^/5M4uCr#se(&=t,dn+94e!nkP3.khJU^DtMGe5^qcIKn&JJOLJduD()'tHYZuE'YtGJ"%(F^Wk3; -%0kq/?ef7X&\'^B,>MOo>co.M!=Fpu6PF_KqU4:JKgC:^J\XQ=M$FP:`r#P95XB"h'0"K'J<#t1DB6;=+P^^>_CP/3^46u8V*ds1W -%^d\8l0-k\7G=VY\9\e5&MqK.N&Gq!+g8mNWr9\[Q=,kq\CgJ>NMhODAc:G1EU"It:9N1c-#X_ZI*:UeOWN1L=5ak7#>IDbT=2*JU4o0$`tV:ard?U.tnE -%&ucs@l^Ui9Ei;R:"R0T)>$VL.FV?u^$>t%brb,P=nrA'8f_i[kX%Ig%?1??P(nC#r<]P:Q*qm:VB&G*Hh&4eR2)V;XELM(>'%7&_ -%(Le^:1]+>QBJPlU*2<4@eWGs^M_A(b@N2Bp\`;3\3!<$cJ/ekYAWVU>J;u:)]l`Pp<2$7 -%Lp:!W@fYl:%/pt:R"P%"To]T>"%9`g#CBs530(6Kme-(K=UddJ#^,r!AGu$Yhm)7&Enl0ln(F(7`s2fp$MT28n>CBeq!2Q\lOYi8 -%&6h.7[F_1X(O%kupF#=q35-f[fBIeN=0?>PjiTY#)L)H-m4m##cA:W_FHcMdHrsjCCmiruk@#3YFm]hO\E$0S^'^NEGZ.'X<030` -%S.Ibd[fP(2(jBtS4)7gk4NB^b,nR'TO0QJHleN/_4YM!alg>=%L&&="Dpe%Kn]J7`r%.n-o.L=h=N7%<5g'J6OYIDm=*A_-pn*=C#B]lk=+1d7mlo@^ -%[2D2;na1e\mbHVVDgcnDF^+!f[J'L3UF3b,Il[INnGeDlgVpXeG<@q93IScmnsl='?S6Bq*]23Z"KfX_nd!p7_IK`],eUK$85*M\@Tg9$k-KP3u4SW?8N>0f@;j-5^tg(\[DD%tM'AsY,oWR"m1%EVT- -%])f/\;9R=)BReX.9WM%L$N5c?_)&tRIW2n\GM@AWjgXF5bt36?g5WlF_SP0s*"pldkteZWLDZZTjC34Q;2B7=l+3:N>euS5^GE^R -%oV"1=g7(mL8pg^jfSS/-/-b[n8ZJ34B0JbI$;)cGgQ\HMj17B>^YR)&?%7&dhOLM0_7QrHWnLgiZd4&D -%FDksqqV86AA+JY2pQ.O2Mb>PqLli@H,6Wdse%*BcYmZbN4*1AOQ6K+@6/G0aQ%2)D?[:jj5t*YE8e)Vo!UB4i*eQDQiI\*DE+)KH -%"JujgN!?P1NBeE_-;C!Kmh"]0HNJW,4(Xn14chT-pZ@QE^$%+S$1I5GKt#9T]//#244@H&jcI6G;6Ag5p>k[9>r'Qr_.&)G0`N+= -%3Tf49Sk*;4;Fg/TH%N"32U(,Q*o_sf+Ti6]KQa#rKlc!1=(0am>l:(j,Y2PIfHIGhN\3S-:?OgPYOZ>Hj7Y%[*P/ibH?H(!/2S?S -%2dEoTh`GF/;a!--L6gMo]2Rmd;I+hcS%Eu?_egtl"r/0AS1[1'Z$!V'(N%OXZT];YmYSsB9UDef6q#=R!ITF8>5U/oX99?j#"HJF -%*CoO;Nt,^W=_GKM\V'*RqpXrH3?)m3dIkSO*9s_Cr"f*_+1Ibea(BENn,YZ!&%%I-S#\ar64:KRYU^K+qpGIN2@\u6i@XZ8O&#"i -%1'IQAc*r%?]6cIu]e'B11Tq.gT+'Oe?/BuC(+[

a[VNBu)+$P%(b`k^UN,m/"jK!q3#k4VG*MEsaQD,?[c*:uJeq>!"G;$%)5( -%f<:+hIJJ_<\Z8A#[euRagOXm(%+6(X.YdU@W0X?%*fYYVB'2pk.Y3c-%rH<,I2Xu76DbnEC -%F7d>V)isiLJ`0IMj=(4c92nhbg\*s[lXAqC-b>5F8m%Y8'Zh'q>O+Ubl@T?q^VqL[d(0YiHrT66P_(UL[)Okm+D:Sf8(PJ3TeF^r -%HS,@\XCJPa')pJ,"pOgG1N0`#bn55BS8JhnKul7poa>9Ij6(9"SR-MGKjdo(Q0J>Vc/$8JZ!2]f,T'CD/=3&aQgGJT]I4N6hRs4L -%M4%4DL#/`$=S_g&DSg"nYXiV(pZ*j?%$4tbRVFoC2)@9e&"bLGhfI)nhT0XW/6E?c9F.N!%.EYqK2^n;7]&hNo(78N09=D*BcKTb-stld^c=ds#/ML9.^)BjT?3d"SE=ekE&T?b -%hD9)+be$4UEoMD\DGT9JZ$k#Q0?aBU0[#/M[lf)Zs([P@F>0]\%3Q\fI([]GBGL6#8$kVtN>=MfZiMn6KV5f&4KIH]UC:`hq#9V^ -%duepd4=cX2GgNb8EG1f)J1`H?o9NpjTo9X`(e0Y/"1F!1GZRtu'9]@$g@i`2hWe(7AmJ/Ke -%gI+5"-n?Z4]Pq!E[]6@?ILLO0*d\k!'n^ejB%\mlgcQe(Diu,o#s3VVXAYGJ6j\XK\a&+#SMa==O>apdaY^Z7!,(Tsr6sPncII"' -%d4NQ0`kJ"_q\`aBGK5HI/A's2m7t=I[(H:M4ULj6M_eoUT^I*1"g1BJZ-&#aKpTJ!4Yf=(RHQ+ERrEaZ-B69'/'K`9)N(C,dR<)o -%,Im[@iY]\4mAXAA.L[o`][3Pg#LhD+%%gKXd"71lr($HB(gRV$4X85?K;d#.9/m -%<;J-L+@1^;,V'q54`:7MDD[,a,No(R`^TGJ9_Q&>:bT6d*5XH['n)3oGbae#oYK?VYkC><['mgjX6<6<`h?[T -%:(%^s5jSWV[,/#+>pLQb$6eDf3.;YmGIFUpQMNnS;:#."hcncJk6r>5aGA"X8Il@7oC%2m9%X!RR*^>\VcU;\N7P$c8VTbotb71_a;W`Vg^!gmS$UHa4lq2("oE:\Xn:[AFIt>(!9'nl1=GDdnh8h0nipjYX -%c[2Y.+g-?DY`BTdn5-;\&[;t/f%Sr%ortjW!kYi'mN[kTjO'uTEBodS!01,UAMaRGBeb[g?X5>odF\Y]c>kQSROW6dEO%*E'+=0>)bUL -%B^QoaboG00-fVsB/LI!Nbl5J5?$X,]<+[@aIq"@MG#k1Yjqs`sZYBAu2V;X"-M9+er)+aD:2F7kU[%L,e?jH@@%c8aS[4d';D_k7 -%+dhPgoJg0;r\,L3]cg38%aR2:]H-FUIQW'[-n"q(O(j%;9CSV#J87V!#]oC%,u.i\mi:Puga*G8XE/n1khFta0(WQskh54/1Wp@s -%Gkr;7&I968&uigiJD2T?^L6eg,:%HrotGTV5/LaM7\.=2WuO;T,T6KhQ4AL$+$an*[IuT$.A0NE_p1"RDSq"e -%"/(>NaC#sO%;e1r55Pc.6FZ:c^]cFNW.JRDn\tBXf&s^F`]QN=$ihd.k-=7 -%%UbUo_No%)9]`Yq@/PIE -%r[pQ5:j[UJX#FO-E;a@Q%KE-OlNaU/@X]$`m0-J,I]VJD[(b`A>[9n*jsGDf)]>$!3!T"uIdE>"+Jq#Q]9IY5")GU\#ZI>tIr8*, -%(;#dWR]_C,#LECIs83uH:^tm+/W)LKt00nf*Qd%hKVD1hZ -%hg&gc#??@m++gr1G:j!$p:>jj.\k5^nH4$eFUB\06p(;-$'7QjX]30M?o;nGM$%0@#9Z&fIW3oH[b0n#e?-Id+(@9g3G8mM7iF*` -%41\sN`;iWWq?b#V56a@sUE)$C/G'>?/mPOiSUh>=CN*5-?5MPhd=hok@-F#g.d7'D^@FSP+L;?#9dWsUV(dadek#EmCm[W->W5/1 -%@FR*Ur%WtKM"n7f?[p>f`doamX>\FoRC(N,!@Q`1%V.6!@\p1'"u,"a[*]W7W08,W=>(8am.XXpn' -%C)7A\nM%K/EmYigAn0t>?-U7;Lkuul("gQU&;3q$s8T/uTC[PH#Qg=8-"ur47>.0W9i5'cgWAC"V8,V'ZSf]I/mK1`lO[d5H#sUFe,X-:]&=C-u]D^]SBl2k7qU%:5 -%N=@a#3kogNhMK>$'KqU!6J)&S`(Ye5fdhj?k;g+8C/gILA_$B;(([tIn+^f!90QQu.SQDYK%^l9q!Sc+RI;Ce;]D*[J+"52IOqn]A=FHlksg,O^s -%cN*Dd,=$HcVW95,Jor!JD]V=83r#NPC4f/e!gakEXD]DZ-@?*;cN1P:Ds;jA-T/\cH9C7,Kko(*"`3fRAL!*eEg(o.2::5agc[cYsj"Qm7NLB?-<7=t#8\EjEq:NH/5f7OPY5KTcYJ -%!gu*3S?!/N#PBcQn3Fe%,A\rmGR:aH2RIbY#8L6_SarF6P!BhSc[t=!OGM='&uhgU\Snue(=9NaT&5Vd;3j\ZELY=+`N$or18B,LSd"%q;DFL1+&WcC1G^-bhJCr[/p -%\L2$Ys/r$+)99PJ5P.u[d6O54%/9$qff]S$GP26AmK)ZB2dNYR0LABN21TRf"?hB#b9c:7a9T!'ZcE`qEW)O@3BRg-iBaf=9R$On -%1eS>n(?c!Xfl_tgeH1O\q?sqDT^bAcn5!I^#KU0@ptDZ3"U0A@il;%`GHC4;8TWK8#*Qm`KU#2>PGaTWO6Ds83olTF;c -%AsrTF-MM`ZHd>t?!0V]#^I>Vr!7KO5eqiu9,VE,W=2Y94QuZ/-=!Y%4[3N$2BKZsra`BgfBCMV#qH2M"i2?S*Rb\#&FFZaU0YfXK -%Z)jSD%>Dn&P6ifO/CI`VC'@;gm1a#MQ$F@0=#B&rETlV#FSD>SMXI`CVgD/OM5:bk$(f;OO\`_P/3N,p4;CU8Sm4PlY]6Qo0<+L1 -%XWStS0B3=hc5L2^1XCWlnh/7%MuAhZJ8AjUk,"-PN0%DD:/&")9DpIF#O(![\fV%?WYY5;rlkJiU!qP'Y$41;2Q<=4]LE+2=,0$( -%6R25(3'u[0g9=j)'3"-V#I3(>`_@"]LSZ,W+VPTo:/>$EYtar)_<7RK]+C5L:9;TJI2Q,$BRM9J^plE*9VX.eR.9V:8a%WSYkE2( -%IZ.s]<*Q"LNAs1r:N#/gh\MtErYVI'h$c,!;sh9#SRFO('j`/N!I2]LhT@3R69+'/fE;?`"TD2H=r,Us#4G"s?G(,Ct<.Tbd34!qpkr4RnCfoQs^Krf)sUTE:*c74iTTA:0E1%KtB44<9!Jl$c.I -%VUOSZ'+!X_gCt+WpP6BRQ]Z'K0[W2s$e8JeI3W.H\I>bh7$Jb7:7UR\-%'NcCGWit)H!\GZF(6L/Ljt![$$19%&]M"I(BP+D^ClO -%1kdk4+3kQpT.^lQ*t"_PFW/+pr?Jm27,n&D<>1=U,_+?KS_mIf]h8d9V6-\Q-1>d6:t['PB\.V;/_3^46T%?tXL`AaJ6dC-]>$B] -%E9Hccgnogh55s35Kd38D`H;6NR[HMHnmVS=,kO.)CNoXC`8`/F#B-fWPo?n2&]Iu+Jb>4-`T3H5p2AO5PDl(::jNZoCO0uW^KN0< -%Z76IX,iEC>d;8[DcZND11A2]AtcQdtE>WZMMSa^Dc4QLt6t\NKfF"+MQ;88lYN=MOMqM5-$$'XHE"L -%H]o!;hFm9hN](rBc7r;uLCQ*=,-f%?70_"b^tD02;2`4c4_ZE]-ETUb-%G6[$JRT\1ett(VkE([+,h%^*M^6O+b7U4RHdC;`$l_M -%as*=P;0+QWpY)E'olKJKl4JPS7ag]k0`+mf`#EWoa`%-3NKVl11AnBE4B8a.+Hh>,Ss^URdOIbY\m/Z"?dcmtFY2qeC6n`JbX1jO8f#-15TYq%6] -%!V)gZfnba@KmhqmX&6(EEC3D]"*U_q+lcP@I.m*#I&%FVGce'UFirsF'I`n=O@VlkBBqTDE88H&42M%@g_duU3mQ(.3q.gu#\3U_1O@(b -%A\1hQ%l^oE&KOJl"Q)']7fBc>U@/_n0LipV5[(J`=^PG)7f/G_E/Tm'4/Iu$R4e4FHmAsH"A3o;YedEl7UQpHfB_1lj8!Q$>e*'&9Qj;k(TeH#* -%2iD$m*m`S+Gl_S/g]RkqF[kEoA#2G!U.rh&f/]L%'k5guXubJgJdVB,fPf/:Q*m6pN>lZPNa5F)P"JR5T*p^]%aon.#o=P2jqH-= -%*/$&s5'lg3-M88G'KnSVCEoiT+qFL%C"-84n)Wr4L'VXn\M6c[irJ+]51OMg>91e^Q!.dpVLE]>`sD5SQkqlc=T_[uL2p,;;V)?s -%a*@Z86Mm1MKS:NC4$NZjRS_Ah+(n\_lRB:7r-Q/nB8esqPkY:=NgH)U%W^hZiMnoPZq`,+E\A>6E.IH>2[?5EuMIu -%B$(;DDSQ["$90'U2-d;,'9]uPH\l%_-1,H^kX=B@)j(np-&"bq\tNGu5(s>$`#=1J;n=W)MigA6B[@)r"MJgj]0kF#p7_#!/EgTp -%e[=Y/H(j%)Fo`_$]\sP05/M6ddG5MTeKkD4*sinZQt27^UG5*o)Fj/4/3IO7Z*t=B>doDm$Q)7Mo.ASXnhLm_9p0Bu<`r*W>J2i(<$BL2LI-*mu-k -%[,Gt*e#\<&%fma&MDeYF+:0:dJgZ4<,SFBcUsL -%m%FoK.X-H=bnM31lTVBN)LUL">kT9EDi`]VA^r-VX(IoO.mH]pO)>[dVsO)m!XU5Hgt9H"f'3dWCk7.j7ZPhfe,=oZe=SR[D)U#P -%6ZKWTfY-iJ%NK'%eZbt1].>*jf9p)BLLj3s= -%gDlAc!0:n.V>(-GECFrp+'u<-SZ8C_Jg9>9,V<7Cp2Nu,8!9t:Lq6\jV4U3W+>n&dP`W7KM/DF_LRl/&JSS(0nRqenZM8^h%lN`&fKt.ee=&Z%N0g;haajaWpJp"-LRq3,b#-T4Tq=-(#+?+a%81"i^4[) -%GR?AB]s$&Or@+a2.!>H5M(lHV?!cW@$BNO.?;>Y?QiXN"0XMo\nb!D%J<%H*WWCa[iUkd8BZ2eQhJIjLW:2eXWYllINo2D&W,VUo -%4tq#I'_P`'Dl#tHP%l5I2Yo%:]aBf)o -%M5elFfs+65M\0Ci,6GF]!R59JJJ*RWc3P0u6M$ll=uh2),r?Iko4m<>"9WCe_.nHb.O@K]0e5Xb?jkSSb*]N18U,EmCf!SX3o721&J@IAM,!-Eb*?R@*2AP`:1LpYI/oPFIZs@m22B] -%;0#nF1TUj@b66(+(i7`t;sKW\"Ya])_JC=\f7G);9.pU:3NN,cD1Bc#(GIDh/2P/JeH/i^L@E?-X'0<5XM#-Li9B?(R+bE6?l9kJ -%P9jM8J9p7K:SoJg)6ZDW6(c\KgsK(Q-DkaE`OguuE#AdOP6p%7o^*rk`4O]fT4G7@%#qKHNC+?ONPk_N41WF-Gm1fD4N-ed;>:Hr. -%!`?KOiu6.4Td/.U`%`obi7RD*,1p\h"%kcI=q6R#7A+sD"@Z.F2JkNk$p5iA6)sLM0sK)'f\G(TjC`dqJ(@:A2udp\J3hL:G-1Z_ -%G#M-*Lsd`.%sqD\Vl5Efb9uG%]$&H6(;rf+`30ENb]%ec!,!u/Ad6"Ri1`FJq+)?^qcMg1jT(F`<717;Zl.PsHk%XB8c6MO-@5SQ -%dtl9E`AAn(@H:ZF-B7)E=/_RhsOr*]tlZ@C[*A1%,4mk7.H?T$B4)'PI -%G=bnJB8Nr^WtAt[[k&F%@O92J4;qQF@:sDQ$jV&lTs?M.0gY0b@dg"'(<['+9q2O%VDO]M/`&k@)%5$to3#qArX+$)+1P>YYSt1\/GLf_21#E%"3?[;S/FoJj/SANY5BY,+\1$SI09)U[`'g$tDh6:k-RSk[dAHJG -%l8HHe2N8$9"W%>_6/%&^^B-4XEJc1[4=`8lG$;C=)Wq+a=LsSu)W`o7(&7(6MRXn5WC+4b? -%b!jG*!dQZZF_>ObG)!;+bWciHM^b7ITMoASgAo`P'7:`R5gPF8F0dOai/NJ-hTEiqCRoWE-`H`+gYi#nJ'a3P$5bgN5f][i^q.LE -%0SPQYSBI%TDW\q!VFs*W+%55[qKj'/0+V\"ir!H9q06H"3s9sHIdZaG9kL4f6E#P/'Ud5q,e]o79Q=C3kcLMY^(YqUY:qttfM].e -%2fk,HDN=)Q[QW"UBeEiHNB$5rPqd'C8H_P^6Y?;+cJ<\Pp9=PV<%1>IRDO)#Z`r%8kZ+`oq\_oK0T5.\@^>X(kRoX/a9n]K,DuZa -%XJP92KgQAO-Tc=l-+9*;MZ[7dI3n5Fm^/ojT^U6`$im(ZKQA)0_R%X&bmVP,#W(Xmgui[@S^lk4Z0G"_TB9DNb0@Xm#12G -%4:jGejQeY[+oPL,p[.`6E]acuC&&Hk"XB7ber?Xi5!GS\5HWn#CQQHk3jL4N>RgT#jS$%#KQ*`Sj."A:$<>'8dt]okC38[)ZBNRr -%F;odGk7IoP3V3! -%@l_4\%F>jg!X?8J3O]dOR8Q&I[^2!?TNN4>dl1d)""86>6>':ib9to,dHA?,)c[N/jNKajL"VKNRD>Bal0fAEna9lol;d!?*H5Z] -%QPdml[f";WE2fa!Q;l'BJf#iN7Bqlck)$?!rS:_9%&NX5Z>iF]-Z7*@fB17r^UVng^ -%]cRh.)GreCi,$Hsb#`(",Db3P"_5cUBK)XRHo!#1Y-6;7NHCP?GnTi@6#?-;_RTn\]FjbeZZ%%"-.3AfXdok=8k1:f=$'3jdj%@Z -%q`oVGLB^RCpBX!Z'8pT/W2*VV6HQ<>W0[F11BMf2kc29H9PXKVXH(`>gtG-GYdB?4\ia%=8%R3q6hN)Cmel;q[O_tTM:a`XboA#2 -%OU#?U+@>MU(<;VH))#8^B,9I'.%7`*!?>*;O6,"c[\KPZ#Z"EmO*Wm?_3=#mg]kAtnHK;/B*r9r9tUft4RieNqDQ3iHHt_K>Utre -%CVW<>n-@FfD'&Zk=4gZA@pkToejbTRb``D'PEC&XNO%ebH4j:R8KTT!rW$QVho\lqC`YBr7bnf_AS^3e1>8ejS'%7B82(N?74C`-6uA&!`9,f_[)`K< -%UPu_NYa*sn6%#9Y`tQV4L]S@'"(NiB'u,cfo3g4r+ufa4Y2cINe5Dh]8_+okhi_sU(](9^1HM'f*?h8P^SFP?qXaLPb<*NaTf;kX -%0#(#AdM\HffAdd0!,4ktf?!c@UdQk.69+fs."-En)2.WA]'Qq#+/k$V/mXPcN[=Eofg?g@M?-UQiK?=aL>,\*hLV9-npfm7!PUb+e,m+B&ihA7IX]MN+d5BkDS[U704?Q/C"2Pjk-(f*nC2+)8S#>EAIj0pjss)GD#hmURj9fW#NZHGQEb]'`BakI:CQK,,1>B:PR+ -%<)_MuALUfY,o20X?:R+gAreb9?**R`&d@&651)WjDIi!Fg;-ghUbfYbU1U@3;cHB?T(rLkI)gWd(h%=6V`HiFLu.Lh]B^rllXOpX -%JZ8Mu^OkJ>FXN8mU/8_igdG,7^7r&TkAJZ2kOgk5FNHD:"=T&MW9!p1Xj@@om`ZBpHB5cPF^L]_[":LqC\p6/kr.,BEHb0sdX)ZY -%VMA?f>qLqbkKr=ZpCudA42keNOfXts^4;i7/A[\5S3#fP$9qcqUG^mFrT1,?<;=Z/I6#Maj@C+4*/,(e[^tt(K -%Tb2%0/;JD)O_=G[,)n)@.Sr-WD[4;0m,8`&:rVJ[.GHYRs$=09j?_#e6?PU!6W1oaHl4qndo&Bj&9VJ-(oZHo]Q9c=A9sMs[2>#L -%05J1(i]%a+]&?u@/IJ0g&pPE6:>ENCatYc8%/;lV>]6=t,Wf"LAZ\Pkk8Cj>XuJSuPIaH`Pl^"b>bl`[S8Oi2>QGh@*4PWgpg -%(&'bM-O]o.:5]7S,FrH";p;Q71rC4X_q)r(VG2O]As8MHj]Zgi8\$A/lXXM_NH2>Wr?^P054mc`qo`uPHh<9\ArA-S:_gE%SPh>q -%\dS-kQ+Kob;HC@qdOcZUSjU7#[Z49e\Zu<\VOIHg;Ef3jiIpS3+$naXYHGc*mBX8,1PNleP1PbRr@%;7lE.DdTb:[D?PrR8P":Y)hE'k5jM=Qj*``'( -%2_=gmme<>u@+b$A>q%nCb`4YCC5^g!q`/kl6B3#2I,0j^dN,cRoW4ZBOm($0*b`0t]. -%"b+JS*0&4J52Qe?\bd4hdY;*[pR&u37/E\44jJ+gQa\XOYt"Q#$3(P7rQD]H$Bqknaf=X]BnB/#,3]mDQ#:]g9nSP'+8#` -%;aQFF5WaE\U%6Kpjrc"Y$<'@?]=r67hG;rAd]P?<=%7,)TPR)C#eY;>:=(D_b]k(BhM81u6^Ge/h%?%J3!gK]<=p:%^F##rWE#"+ -%kcn=RDb][?U8Z- -%<>fFKl)`(H.FjUuDo0>Otm.0nA89c%E.Z<`^`YP#1W@p*?aVi-_5-Ck3i*CK&*'dAg(eUJ'B?<`d8VMp%i$=V^%`d2OHE4jnF8S_?[j8*;q6VcV7i -%FM-P/+-(;c7R9P(jMnI!._P.&ljD"4_#kCF5P`FS>TmR(&!]o3c%W\!/)($i5/N&g>fD3%h8g+bq8m`7W5W8"Wbtl./R91e)Fos8 -%"jYn`k\2;RMtWj)Xd0EGW.J2YDJJ*n\U-M/5m1-P4Ck?n"GuKgcbHJr.VO6N@i@MR?g+Xk&>s,\W3iit5ll!"dP.nf*5,OUra)dD -%gY!u<9).'o3q=XPqQjDo8hn)2[Vhg2=lqe7&L&S-m3$h1Ha4q]s`X\ja3JFqk-?UAtPbJ=eMYKj23bCrZ+nE;A#m[F!pF6\,\8`Y6\g_kf -%p>7YJcI,j2FAu\$_qePos(1ZTH7mC'lbI]Hr?(ULJEEP?2K,)G@s89s(sXjpO_e,qJs:"A*otp)kYd'4pTmr&'g_8/:8Y&'^TPsd -%dU:G)8:E\V5r';/(#N-03?>u^EGAk7!1U(il&cRZM`Bm>I4\/6K_Nfh&Q.%4PZ.diLk15C47RoP8&&HQ%u9kl=(<]m,8X7&@]L=om\)]W&/glX6UKoYDjE -%6d&$d`@+%K$boUEO!Jhn)u1qgH+(=c5b*(j)A,g5^.:fubC -%N1Le`i5'VSXWP@iN(j>pOA?t2n=B8.T)0-a0@$tU&24gWi1.EX>6o@%lZ0DaMVl.U\s(+6>_k^8jkQ;K'Q7CL["aC7*Li,A,"i81 -%*T?$p/>`0f8q/tudJ+:Q\IW#S`_g\4Qd:8,A!m]J@t]8c?ZI.[XqLqAJ;tp/WI.n7k7n]4e^n@9jq/:YkK$D2Ua/C2I>c%9R\D4F -%;0i$U'DVBC^C+`23TFTGGm.EfZ6r/P1G6Z#/5_.+U3tjUd.d1l2m6.e=n.cR+L/Fr7R0?Yp_Vqb:#Y\rt]0EAKi\`1CZqrRs@H;%n?%*WU$]s"+ -%rq>^25R/+1;t)Lg8C=L=&^`#oH2,4sO?/b:0VWk^96i'SMV94,W_3Af#i]f>BK'h#X,K7=$kGQ>9?GpMf!fGt,WPS*@^1MUE,ZCI -%<\@#lR"A&l;X&JhfEl?Y),Jp'a[JaFEg<+?]dh7W%,)[/>"ZYJsI#s"&o#lXocR\e#lkEC`q(FlL7ubYmMW]2g(T,2kOO(6eJW9a+NbmY#T2.8tDr02jrViA"g@*S& -%M`ohI0FalIkj-=0OQc)V`cY&VFJk`r=&oXm2U,=Eq^gslp%;Wtf#5j!$ea^LkdA"c:_Sb5MBWVQNcA\re:=osLNgD;X=3Di=krDB -%rcFDG9N_RDd1-3[?:<9aoWJ18L/Q;\ogoD6#+N?F*q:"'B7mg\7AT8,7Lh>W7.Y_c9,_)A):A%>Qb%Cn6S:\G+)ZJLK8I&,kA4Rp -%40_(i1h:%[mnrGiY'#BZ_<7Gi_4KbAg'!)TfNE_gm?ZqGIql.Y@=Rne`7s('[6`f>ej;6dbWE)c3n^<3[#arUb]5X`_l]$Ek0/g5 -%"0L[[Ibu0*,TB]'f4?tk2JK.G"reU3M4JF^.rWqY"'@-E-eOFkS!I'1H:;:TYAYe;IQ3t`M$R44Ft&s+V^9iu&Zr+Y,&.RHjiB=^ -%6.:d[`o5/QLRK&-U(c5>BmT;7rXi^Q&kW\>W$'Bdo.9#$\BQdQpi[[O;_/Uf(Qg#L&4FHkD`6V6o6S4QsN0%-FWTWB7k -%@d?H'Y.NM4KP-E -%AF#[YR`Pdm0"'&n&J(gV*9f2ZMiLnVRVLhT)%)i,&8#IjBPj^$Y_Bd`k8#Am)',+s:171#!8o%?RM6Zu1"Da&=lH('%#o/UqeC]R -%DM'+YO"T-GXat?7S19i/NAWgY?-rO4_Y -%TQO9bgG'g`$;al<^N1M*NI3qp,qB8CcTV&:'ujI&D(jqP;BP1L\4!Aq>K0;/A&%!B`=Da@sTGc@Ker^I9#"%$_.r7DLh -%`s:3)nc(m.6lXpeWO4[5&?aM-/N#8*lPaVj1d+DH?-bOp7ApMGVYTlP+0mE,GO:nPf[!F&\Q85:Xk>'DhWot8!qq&Hg9?+[=n/t] -%ph.l[*SR$gjUIBXU]@`94oO_h&b+7YI,+SCIZcVLlq6n3tJVQmdE_oJDI5_U8*/R^9D"("l@ -%(L;p_;P,"#(Xo4PaIMb`2eSZYuQYK?(g09JBr9'(]@*%&9;<[?aQs*liLb75__3F((0ERc0IZ2+d#^*#pR`.c@ME -%mQF>IQeq=:[\^VsrTktMTCg7i3W"DaNb$(2+$Tu^(QSH3Ie3p^I2f7p]+Z9Pp>4\UL9L&pFA@*3pPZbHD8&(TIs,0Dl14.7At(pn -%B'TDs-+rP&db^^gcfu;;p0_h#6!P-;CHiJh!Q$c/U2_mB5of/,8/r"TCF' -%]"$%&nB3,jpI6>;V!gs(F8@ln^7%jDFG!s#oK:IOkW[rd5F+FGKHl$`'Ct*@B%]QqPn#Yo&oi(>ZI"#"L.Et[@ -%bkYcUFDjqB-76XZAMb<9#TQqmVpT67MZVaCDqK$VWrWM[-_b9p!4of4,,4_?a]TESUb6u-c:!r\Qq_BL@L@USbkKKf -%M<.N&2infM%:k)C-SpUi\TcWQk\8U7fqbf(FgX7_',%^sS+$1t!lTcK=h0p1K\Y77ONTN5ZOojfS[Nk^/[\S3@e7l2Dm6jV3GD&D -%8$&ic.(g.*;WtPP5#"d;TSRc\TV,4:*NIS=0-Hl6-&dXr]\3#dE"q%/AoJrG^[u,?eK4 -%hiJ\.\.a3alhu'qq'WR,Xp#q@@6B#W&k_LAi6/3rI36(Q5)po!m^#).>=FL5MZhHHRal09`UEif9)d*05!?m-k_HMX62g-[okhI1 -%59'YjP/i,2!eheE4OB^sFAOWT"+=dnE@a#>_SIJEH4Q+aL-H_SZc9,Y%&4bZ<0RQ0@!om=:_VcETIm4Sf!):?U#04Kss -%2q$g<6D35o,VS.2OAhoWSf;?V6^1+Lkc9Vh1,I_L8!tBRbf.&BRCWAS="0k5[=`OFa&ng-nHm.N'im*.>a%@-1jV:V[]2f]R8:Psb%qkE -%^`6k3F5\d\n/e-d>]#Z)8V+JOBo$)k'g_8-Jg6\tCp69kj -%'Ek)LJ/q@S0PZnf!2!e/A9 -%WBip47BPQOj+Tf96Y)"8iFd-\%>1X2)?;u(Q'N6@[nS)A7bW8<)\B4Fk<:`.1p!$7q61CQm)u4i/oDo.*)5T-:$A$+H*,/LDF&B0 -%l^BROSo!,DqL65je2h^Mfa9ObN3S-]T -%U0-J0P@(Blmaq9CBT9UmSk3U;q&C$!*m"YJmU!"HD<#mFn,/$@GibhCJ1EWHV;1H1L!Jfj+mW`rhG9?p^rb\ -%)9Iq:+iCfX/Q1G$o2Y-KN]YPIk&>D4/P#u_j@i!fU2?4).6EZWg56Cfas+/Gn(`e`r2`AL$YEOO6c7hCPP[K5Flq>GT8:Q18n7Pu:>NJU_POPt9aB -%NW(iABGH"c3q$36LK2/Al^k2rf!YJh,u335Fk6KGIqq-%-OV^s]mNKY\";jIL\kENn*BebrBYPma$f9Ud5Rdnk.7C5Hai=]4DFtY -%XRgnF]%Z6%mQi3kbf>KkH)e9um``+C\)EPIa_o>6M$\RhPDNmq(7`To&JLQ,rj2f^LV/$:5Kq=r%e_a=F[&[ajLsK'\HG)V]ag\1 -%oFG)k^TG^qQlf&J!(4/NR?b_Za"q@R>1sNP_,=e?cr[I"r`8c6[j)* -%E$TM*gf(Ii&7'`!r>9%&Y%).+c:s>>G.It>)b,CAd]R])H3XA`Gk#'V)5^WQ4XpLYIsNG#DZKPdbLbsHk+0s?PciqN\.sm1e4A`.oT/t+3Va]T(^<<.0RoK.6Vlt,p`<")@a246MYf?k@'k(g*K2jZNNnjoGNl:l+0>??TOP+Y6.s;]qlV:&= -%IQ@E+\+F#7S1XiCV7f#!;TI8!M4SF`Q_&?,P:b%N%(+dI_E_D:M-mCD^%ZNu!;DQH]#;5S`+8%ZJK$3&./D`L_V<,@1qPL1@0&U+37CUPQc;a,\(\R_ -%0gBZ=cb5_.^$@chP$Yn=/d/#^JsCUkh^9d!"j69*VeP!pT0$ZAb`]ImmX>_M*JoErC+Q7#"5.nl`g'[oUS`,N9UcL`\:AesPE&2H -%4=ZKDhOJI8_Wr94"KHdOZ=DO*k9=M6J:i>`8Vnf0/pMfIV\O;'aCH=_I3=n7p9aJ2k/7094d?I -%8I$IXcV/T0"@_Z$P-7VLWsuH]dScGo(BM+)Cl><4O*C.I'?rK#76HCgV@:ToPg\+g<\'Y1ed98rMTHp=! -%MrdN\'VsiaV&kT;9q[G"nt8RH"P1Sq8%OW'-2"u=4@WW6Q&aE;R(/3Jl/?F$pIF:j@:[]4'9IDb'G]Kk*4TQ4@4WXU7K(kWRjE@Q -%GSdCFO<3X0Ffu01rMnVU]t@qFXApC,-f&,*2lERKlQa%!=J3I#%r),#EI(mA)6'efM]L+AR,R;mrqn.p\dPfHe$aO1GIZU.=BlX@ -%AD&4(LehBGk.T=5:p9Q(DkTY0rj9groN3D?:QrH_/+MUnn8hmfdIHVoXUtHiEdDoXG-agU[G<.!karnB_:jXa++/&sMr8GY/boqC -%8!j-8r6+KE`0GBM[KS*eNIPm&,9El*?1Xtk&3B$Xg%e\**l`6<#^W$9SP'b'MP+3fD_'_(O*0=I7%K0s*J3IG>'cs9CG0RhGgbko -%)4l6M]XIR\6Ed!/C+G5gFB:pIdpEQ6n$;^]Z7@fpIZ!iS,jtYkG_@-DhM/CX)^e6Ao#%k(T9,6(/AKH`2Tt8tC%$P&qDl$=5Lor' -%;X6OE.qG.2VZt"'1?=spr-<@0T9%TkFEct_'0gnVStFkn$6VBZ(D\pNNU/41/,YJ#q_UP1Nhj`KV]kZoj@ZMqLPK=\DSbWTFP0%M -%m)sOl[!m5`<*A(7'9L[=_1+*#:+H]umV1O%(87]+c(7iud]rU+afrjo%t0=o\%I"l+%:Z2keAjobF.6L0iU^oQXP_u5X-1NEGcmE -%kKMQD9uIj`2-WPooea!#O$r<:@Djp)UnW2q!:[]MPE"=>^UoJ*2luI!&NqKgr=]B;C#J52&@4WS>:Z:I>-6cn`63aO@^]Gf>JSD< -%D(%c@q-g]+4*&%HRe43DM%rFZS'i4*^c63.ORIHair-^Q"h8TM-hH6+po[@=F'%@Og\fW_9DV3nN[K!!-YAedZLl8b5*]J;i)4W& -%=OM1K9FY9KgEUgqCod_!U+e@P(`sS9gU$1k]mr:O^@>-Bq'Q'QiJkk71H(-`-e6OuHPj]#gKgjSJj%JF.jdqIfieHqt=Bq0R[;,<>NsYh9[&rW7$,E27.\9CeuB\\Y25L,UQ==h[A_VYSb$&A52R5_%IgIRVian]g;# -%,*_`<4tt(PXkap":%hf00-N987*iV+\cK*VL),:-9q*%?XW[]^DA+7LdV!Z[,T*)F.7QF4(9qI<\j(\][q%A]J4DiM+"[Zm5j=-: -%m,YjJ.S;hQFu29/^6O-A;"hZ98/m2oifNeXWa1n!H;;NS0ij_eib3',n#4I#5jb1^A'=B8:T;;G*kpRG=d01+_QE4^D'>`miSL4G -%8C#>h?Elu>LrXds)5Wk[i;m')Z#];1\:-h*>D[prrjZ84B^F$(beK)\q;U_:#Ppb;Z]@U]Lb;7L\ -%npANnJQ?CDrO`Q!mTU)`fQoiq_'VK,lQHHOTZg%5r,`pe`'U6nl3o;C+7latIM.FoAIA^/i!*TqFSEFt*$MA4M@W,&F8';)d=`H] -%E+`$8Pm#HU&bDts8OUh5':e0XS+oY3^6h2!@U["AQ]7::!d?6=u'46 -%(,aYbXElOreUtr3G5DWZOXN!>B2`T@g#Bshl@NP_?S?$bNi`LKaj3#T@uZ1oY7AuB+&paDF;G9m=C$$u*"Ihnac9%+)muW,A]!,1 -%-SgS/f/\/dL:n\n7D7c2+*ZP7'RtD -%)LKZ=Lt9S,/G&kVL#$]33\+"j9ULb*[m=7.:t6WURHa1TX*,u7Na0V&51N-*6rPL%,)a0i\0p23`&Lcp(^=UDkI"$=^KD1]%NHR2RHSoaEI]aRr(T-8"Zq4E$ZdJ0H%3\.&-+3"^5$S$pDf8k5 -%V)p'5!>1OKq\Xi:Vk;XGgGZt=?GP,JLU7p4(k<'OR4.YPH63`o9=HLQni*!pGp0G6mt"BfWfLuD"t^WX#&,c&=iP)$s58N8TJCcT -%In/%Ad\h\BM@8*[b'\W3kKhBa/@YY"q--E2Oah?u;]u/tdBJ/D`g`OKtC_:DYJC -%SH$G-lHrklWS/`Lo!t>?Ye7Pi`B1-JmI5Le%TVkLVrnHP9@9F -%6si[CRZ\^eA(cmK@npuSIVSMW@CaWP"X]u[c)m%PXNT8kJa9ihdCd_m6/)GmBn+i#qZMX,^op@6.'h=&^-@tK`)G84Z]1iJE%+AV -%0;5$)n!DF]dWJh^Af/qNE)N;E"'1'"*"=qpCp*RiQ&e?+8'@r0T6)Laj,cY1W2BUG8N@2_o@GV[er8I;]5/%$&I6cb=b]sb$i6B?.9clJ7b/WGk**/$J_kWj6$t@rU2r&:`m+4l;@s+Td.K"m0d<*QW]r0%M4c?S%j<6E<%6(i%>rb -%$]?(h>K]B$(dAq(7)Dfa%q3Dui%pu#`L051hHNrk`hekeQ>8gA3V&8#00V]RTOs]ST0^A9fHt*?+ -%S+^lLT?kB`&'i'AqfVlm-.a -%emVn'NqO0qL*QPRT#]DEga"Xf!+qH51X0spe2">60[p:C)!Sm[ScBDtM\K.[U(hU3&WbWiu>>ePSqI(D_D1\LZ8Jh%T^6@eWad<3)PI%=a -%2'FlZn[5`LCE2>KLESu]pR7fMS1+sBN%`'1ko#r^960\W'1VQh/%ARB:oJ#/K^]i-o2#Xd,+Kh+5;_$TLX%TX98uG_#aklk45E(i -%rS]*F.TIR6r0&d!#R_dfff(So$o+'IeNG(!+8,!qEC(]*Lds/fH>Z)-n,AJhc5pO*!-W]8?X*/5A6Xf0RZo%4:YWE,E -%d>O$&^!;LI3*l!Vm%$k>7k!Z>\M^rKi`4o?`gXenK]0W3oKc*G43O(c2E/Z=+`U`,,X5T@;KPMcM3Xttnr-*;BL2_akhF?[hpG6tL_)Y50 -%[K][?7i`I'-QMI^/NaFgiZc89_sM9EcV'TumRY^h3-PhP2;>)2O`?K&pTPP*YV_T&G-9mAqQVQk%cN-uNa#?fBT(/W[?b>B3]3)`S;=t!t;etJ>$Z>H<2L+>HJr>ZGoeNXEoP^TLKCB!\W.gbIJ=OeEd0?WpHG1p?%25kuuomKi[aP=,JmI -%T3YC']UXn/Xe\k3Q-.qmQSR4PFgXfENr]7.ofc`O9Kc[ueP'm!hJE?B!=_$;f>VSI`ZBO=BG-2N"`ddiEFN]T7^cueI;+C4$jhtZ -%5<<-sR"#2g3X<:8C4a;8>,/\Q%#"4gk7,ebP>?%t6n-JD4m(HR;t[=93sEM(fZNZV!aaFoHrF"olU42lQAVPC92RA-rI!#E"K;qa -%HsFYlddtnBhh4%I]T\8VW%bVdg?4eL^l#o,m^hG8&k3hq-b\1+dNO"bO9IM!#7<%;nIe`/\PlS"kc(&=%!DT9B#G]8H./"Jp -%%nq'Blli3KRLS%T/Z(%.`^0cdF/&Q`Z<-F4!p\7h:c!WUkO#"]T;ec$[fS(?S^g)_ef^dh0Nd? -%1r.'gN@cP;GpPVW"oQnP?GY[>s8JX>ohQ\/ki_sp*?RKFqX*a$rQi7TlOX$jGCTG_^\mTplbEG\6XDI*p^3u`/o;l%0Y\)ZSq0N> -%C3frE$1VHD%Lc?.22;FE8FVa:j5d2>FYa;?olb:Lq:?!``d#dKEXa-MHo2[D7i-15d!+V:n.7N:T".-cI^JN['D`R09nh&<>-?/m -%X54S!BEJ`0?CVAk4cU`A+Ebdjj4ma<=@m>WpcX`rr9-+l%fqaDA\pAdP:o]^4\i,h.pZ84/rYP79jJkf"dckdf@#@)dK,I.KT]/_13E,='lnC,k%@j]9:pMfS?<4M3 -%qs<+7@bunIQ8SA(V@2907GOL/iU^.Ek6lB4WS,XSY&fb_K(J,"NmfaRRPj6SCY]ju2X,8LT0%I"Z=@/FI=:X=CG<&d:HlSub-N+t -%<^Y,$pT8/-`*gg$-a],%I7?o)&jDefYq4RVb1kIg'bgS$_AEbeK@%!7om2;'I]V;DorK-;>?*KJ;G< -%i1k'%K#^>STnHZ\03_tK4IQ(s^H\_O@+%Ps<`JRjfK`iIIJ1FB.b_(1=&**f5>>O.kdQMBJlk`*S4_"d),/CK6(.^fQLB87dDa:C -%k&2sqVA`#pkcek55C4o%j^9>k(VPY99Hnm#5,!k#)T.:u,XgX@4Gl5`j;9rO_Q1265WOV0E-FbVC/*\C)2(WX1ie&^=49b>cJ?F1.Neh,=9s(Q_0N7jr:rgfK+q -%GPs\SoWik?0]e(h6T(k?Q)1h[8PS#HkK&d$VUM8L2E"I:#@sbrmMQNa?V1Fo1QdqA)phIPRb<[kHs%j]6a@Il,TiWN_n7j:GGE6+ -%h?3`T'A[j!h/2-^l-V![X_d!JkVQRHBf38qS#A)87eBK#3_VX,,_!>No/6A.%hd=>LHifk^+1uIXWo11=AP-+V4M57-6n8s#T,IEbAH!keRLmARY1kfJKFLTc6iNG)? -%bF[79KD&;Ztb<@QAaN.E$<^^VP^hlt&'oVQP^jlE\]F:`ZfJ,LNft9M:D;1-@N3c=o2enC(q85)nbA!=m"=KdQ>l -%cj]JYfrJ3*iCt)6C?XX81RtVE[)p0qc-TJ*!P<:65f2AO,^*@eYAX$PKjS(?$5*D`[lMLe!JA*?bWD,nI6!Z!Ct5<%%[SetWjpJV -%$1g>PQQM/h8oa+0pseLQ337i*Dd;19Q9!S+5@,FhhD_T0)"diHS5lDW1=Iu991T1,K9k'9L7bL3<1"!`K+GBn7>dAM1BXnJZ``qC -%DC,Sfak&Y_hgmlN\gK_RIapTA1fpG'=*uRA\1lO'7C^H0R*1fnMNcgWUE'O6!*"CoH`[4dDkf2SU'Pn20lr.*_,A@nou=(7gC-kn -%"7l_0^bW'^*F*7&.;$"Vi\)oT:O;FO(Z6DP*a[.CIJ?4oXB.lS'Qeat@h& -%-F)(k]AI6gs6(9RO?\G'iYPsNq5_9E<.r$`:Oh_@rps43r7Q#frlKjKjHG=mFjPgO;Za[lF?:_3#IVrmI<3m%ZEY_BgsK9+6pX=2 -%5%kM6M$#k(:p.Z`?mPq&Q&_(-"8j!AN=\[-)^+S5[;'*!=f0f5h=G23F-P[ZF:g2)^Z[@T6QJ6)#3#:'1SZ#_jh:^dpsC?"2m -%WtL,n2.qEFp2l-rrRkZ7*t`j?iq<*G-3e\GY#lT]4J!cB#mrr.'/Ic8mHMC-uA_S'\jC%^!>f'oadcG-kr!sGYm[Sn9:I>7W=,r3cD-%i7:Sn<5 -%kB/!JNNQs)WI,O9`Tb:VL3i1:!mKNW+I5=ak-sb6O>>>uY8i2u\'bV&.i>K!=LEhhjfA,&7B7nY&(CHHdTjGt!+!ZCU;P05*`6os -%%<^=KL?Inj!A&ERi'OTL<\ilR*pAk6A8LNnYt]]:(4VC'Y_:R5Ng6GF1s:0Dt;uX;(Ur -%'#'ZIY3XMK^)d(Ic@mPF?Sh@iqF*eQ>>/FR2C"^F.jFqnE'*mao,>HQ^PlF-%)m$*fH&p@eFa`BBS]Atnr7I/3gr7`Fk6ql0kZ!\[[];at&&MBuH(eDX*Xf^)un$a(@ge#EG?uPg!(ONI7XSlGr=P^3&!B%L"):hM*Bd_(d[&!Gi*[8&2j**6C9\D!/1`1K0nmNtnV/Y\`B"W:NV%S5LH4MK1<9ND>WtK(n_2kAo\6d^D*-]J)S`Hh]MFtllhCa8Yb/oAK -%CL+AG.FZaOjhJUY!f06(QsC].819$RGTUf^OD9V9p)`i%/;`Xp<8`=E6qh:>rIT_mJ&:*bFcPYIea>-!"jI%%C(5llYk_aVCUOlqXht0.'@8'QUD1gRj[9m4nlo1dWp"q2YY];J+7dU-WM[*leMrZBp4S/Iu9BD?B8ScNdQi2jap72Hg-:'YPNT6pi*m6?7kRJ^_MZDUN\E]OZ-nco\X>[h8,9FTt;c$2%D -%@PHUJd.!(^o3+2J$%b#fT'nMTB@dnB+F&YaOtNI+_cQR)I88lrbc4%P:F>O]Ql)PPAZ9#83`a1+Z6[':@!mc"G]U)*?_#?):jA_t -%oHSs<'U'u-W.A=Rin?o#C/rV8Fjri]aJ'_!iLj$`gP7P@WhZC)5>laI#";nDniIUu_Z&I'ZV-T#dYH95YU3#4D+0.=)LTo8B7>9T -%[BAI=.Meq'"4l77G'%-NG!9@m=Y^?5ARMRZ`(C7_nchqkcXM3V%BaPfqDsGW[tSQP*+1'COf-7=Gi%+t4Ze`;*=5c+H?,p1.AO4[ -%4Mrq%'2[ok/P`t,k301Bd5Rs^X)E[+FXX3!8`ddiTQbS>oP1XKK?6?>ra7?6,V;=7eKh3o@$fO=$$C?8HYWsA)$4^H6b*Y8V,=`hO7Ym`]BU?8F?!o?hH,k=!EX!&TTUM-).PCf.!'H`f369s;Om\+i9^&##$#7]bU -%';UVEJEYD:flSXiQPge)r9!GK#-'0WbR?ZIc_>ffm0:#:J'aY(95@&*Fk0l(HMUm!]:9GU(%]AZ5*UD<^\[&3:B/J)di1-*[HSRnb#G4DPMg0^+(LC)\B0$ktmrH<">hmV\n\L&Z9V$sTL)GI#b>?nqZhB(F_ojq;k$Q#C -%7mtC.nL\\ahKZEHbNR0cA.V63:V!D3nZ/WH\3oV&hL?9Lh:g7P.;Ga<]Xb4IXtt/s*s[Pn2>IjN8\/AOT+4ejnO!$k'X3[o0Je3:q0G -%B"4=?o#j_R-X-9#=5WtZRt7Yk8(:OT^lF`TS[k=oHYUYX!Dh2JUL@fI2qQY`$HdbFk&K?9\aO;d=1Z4/\BfLU$B<7@VOkSIk)Q'd -%ppam&3"p.F -%d0P%`a20]!G1\g?6$Ji@RokK`FGuF!?(YEO,*WT.]Q^P)Z_9%cdXbu$[SZ4M#6jAbj4&/;/_6sWR2$%#"iRD$W6,nTrI"NI3$5=[ -%DB;]4i(:;OjaTK"s%Ar95Q08bHaadrl0V:AX#D$HJ,([BaL72P<]scM>S:$oQ9dbJ- -%J>-&ij[%9&C8<\rI;dX[aS'(bTV8;rWe+`%8A\`X^hfh[nFG?#[=:CirGR^;^U="9\&G%jr)\'JM6^S'*>[sF6mLqpKt])D8k[,@ -%nr+*Q;Di7%+N)t)js&h0P^F!QJbAY\2J(d-EPnFN/7d:l[K7i[ZX@=WH'Y%r]QGN@@0Y:oPd/iR'fHM0nYMuAn1@@U_Z8a_$9nki -%C`kFi8qaKP@9OmC)lVW2i]j7j^m+!3@\ja?JU`V8Ik-G36eT3hB7g@SQAeP1e#C'3LmWGlCD1rh\c9!0/F-$&C"lb(g<0qQB-m0, -%O2q9Xa5aXpdJnY(rg,\Ns121R-RWk4rQ0p^!hK`fi%@Z&8Q.X>5C.B2gY.4E3D8G`T6nk@KhTeOUm -%fXI(9T;I,8&_$dDL&T?CdYGTNNsBK"l#$n3/3q+b$;hNp\T*E(#a$dO[c%QAb$Q&^NaBgr,#gB:lsOL5tqD -%an%a5#ZZ6Q@'L=LpXi>KT'9DsZF5P8)p_"G]Q#]-7H3PSN@3,n/B[8g1LM[NhJ9GUb-YX*P0,I0)s[sk%WplI,<+gAqYDak!mn4>tp?#BSpah[Pp.dR_I[26o+,&V5GKitTJ1j_n -%c('c5-11hu:$4k"6JEf'QX@K@nPXQ3\A04W#E6!WXHBPnC>lg;igi'XlX.q71/>QK0@boNn2+ -%neIZcpLG`A6j>p,/t,*>+/.tW$&+RLj\`]L$)fRG?\YSG9SQbgL,K+`B>hGRL_=oK6lOpg`S\kqP]oPUiW(Rt7G1BsgpX&r"Q$6l -%>HCTC_-;6mMZMKr!_6MRXV\5`V>1"cZhEbXB61InTK&H)\fi)&[Fig9*:kI=S`eoTK7 -%Ku'fcb->:(:[LT'l:6-W$?)N9Oe! -%YFXbm'>k-^@n/*Jp=PmakcRtn$Z%KF^?.2.efILOfpEWQ6\;1`8GQ-18KWE\pTD-j+'BstGBN)O;t.P^GRg>F.lf:%J+lI3dcjq1 -%qXB!h6[dU?hn/j?eM0%HRfBhhGbF*^'93B_*#0.6e)Mu9%\knV]aqI+=%(mJHIGIl`BUX"`QGG)mM -%YEEC]:LBN\/,;(>7X(@G.)_51Dg2&1>2M.7:1'j<4J0>Cs37,Pf$.K]o[Xuc`^cIZSPR#0P_)KLlA:LfLdi))K$t*o[SKQ3<%g?K<"/VHHP5)SIZnH5?a#@g5Y)hCfs2Gq,>qmdW+']e:At*qjD@9S-=R)>qqkU.YJ)X.lgpd1' -%p(JH2\"DlDGWX:lI@]S=FmDG6X'6tJcH:"n#Rp?Bg-rZX@F;Ofqm.#IlmqH(GQH-K;qk*"Gm -%q:;\2c2KKAhm3@Z'c-7W!N<07s3N:eD3d]]VLMpQ8O-j,/74$V*5KBsASn!JjSTpD]R7OiFSkTnHYTh`qFh,@?QIlX?eeFSUKuMA -%7uf(*?tWrbCi%M"iQnS&d6+mFWbSnLAoj3"e/#f`]o)4\ia[;35>Um.l2U=:op/t>EJ;a!oT"FUEUAPEQJKmK#^=@\mf'!KW8ta!F:K'@XN4lj)45WKX!MRgZJI-S(OZqu>PA@,#hUVWR;Z-'_f5pq/nuc&&6pIbidF"S]S_Gb:9HZ:/ -%g']s'E`(lj`SIc:Int[%rUQ5GrR",LS-"N!%*op\HQ&$(^HBlP?[81$GIqt5I_X?M@CjN?HFrLI=BLbs1+k8En>^-%J@O(gB\;F) -%Kg5P$O62o0jl$h972pD@dluKl:l_mX9YO6m'3rERHjS]h)P63D2%1]dDW-QfJ,8FCSl.U-(>NffO#Yn=h/0+>53Gi=Xh\98.*AsV -%f`MP[mc8d3SWY'<%>M?qM7[=cf[G2^4HL[)cB?cE;QD,3g(07L+.Db`9X*'(>`g#Tm#1Z+%_-]'+QBiS<:ILshJ1C$A")P!M#+"#9dd_ic8okpqnhB(b)f3hl2u%^(:'X;jA:*#5U1#\.,]!&$h#=()@)OnF.u0!TrFiUu2U.h\BhSL' -%H6"%Sn_(#cY3BSG'U)O.nM?+89I[$;e$5272r>R,0[3gEf6qQ:dHVl[b^Mt:)??a`G;Xm!^-h36T4Yf1am@\TW&Z[:XWsKgCi7sm -%]UR;0ppa#293,e.Nh/;SF^lkr[.Y)6*a\>aesO)F_>fPWN&-uk0hJcR(NQ(KmrJVQ$]qJ`6XEWVV>3CLnGZ7HibB7)fL$G;Eect5"q41*&40QA0PnD`3l[Au[-Dl;DYM_I2AB(4O -%Hia4iD/8;FSZ5#T7a]ccQY1@[WtCd5@N@rI5N)LTms$)c<1* -%k4`DKfC^TilaX)EYd38B=j0;hM=,TFK](.j1DRr87J*dJlKsh4Z@)YhHPVS_=8bEs>A);o3ME@:dnV0f38sm\QK+Ye6 -%rH3iZ5OYWU:;EJT6;nYOr"U>-G=p,_Bh).%+!NTLKh&\fk#`%P1<^^jPK!JB&1'#&sk1:o`0R5QLGI]kQjl -%bMuBQJhhr4k]L20r1'0_,5f7LX$AG`S,2JG$EP@Lg$SlW9Kc;N"$#lN!6/$pJ*;gM_:R'TL/1*R0[7fCc!r[7"s8f[ -%(`E3+MG(rD2sH;lO_i&$-,&pBds;J4SJ]4>T;O,WG+[?TYJ)jPq1+^N^h29Z!Hq_hT0=FA2]?on%#KJn_* -%V?g&:LNk]+j(r<3cU2ntqOi]W_MOA,BPq*FgZ[6D9l$4b1Mka-(%:35`(B9M$ZN/6`V#6aL`AQYoCu$eQ:&Koq5D&u+bN8o2=2Qi?s%.rA8aC^,3p#%F/a\:?`C#=/_Um.+aIZ^o^1<1q9bC&!tA/Q=oL^6mB&0<+t.rqdZu$ -%$[`X<5NYPjDDO]I$=:e9Z#E_Oa(SoQ5>(P\k6QOYe0>Q3akDnhM4]oVi0]CZ)?J:SaVX,i7dG -%k;qf2n7n:KXhYTHiFlH,-WbEK285kB@sJ]>o\k-=?I.g'Q1"T(]0/XtK&ngoEgHtVFAt*b#dIj`3TVR-kTqOl!OdEbeQD#=chk6'-MYE,CMBPu*E8dY$.8^?nSN/q2g_qS^"Q+5JQsB?;is6tlR]*B/7jnl'O)2XuaeobYK8T$0]>$A5[[G=nf9 -%:CR$hgGgOgn%3il2L=4e;nUV8G@%bkqG2)gZ^ZB_f2"$>fO555!P?"ce\'c5i'mAm'[Lmkod&25UGCl1s7D(Dl^e`DIZO!;\0_(B -%^Q,q?p,Z1C1;!)e`W;JmK_b@Pb+:*EAT/a -%!&ht0J5>fmGs8c,^7P=7-!uHNNUX.-k_@&0V4A0DctjYpdQqE%/LQ!h/Zc!iY%I[u[#qkUAueG;#T*nbf?B>t+^NUE(6qOHeb/\* -%=9U#^+89c'[d^.hK$gd_"?+s)5DYqB"^[,uqL+f&JJN+tDLt,2hrCD6*h(:E6r%Ng*;)\=Wkk:D26.(`+*NgM_;\HulT"LX;n*j?fR:$S:8 -%OilD`4`[YRXg\isaBT%u]KaC<2Roc(Co-*!K3MAVeFc9WG=G[hj@=\Sf`M9dq@kC]6F;^_h2!S!J.dY08\8a[_[lmTo6p,TjY:&Y -%G7g:A="-Z[:t%u+PAEmZ_*TtI-sih7,6sLdW-oD)6mf$9'cVMs+Sam5R8/F[-r=2kX4\drHL`dqapr>=Ap/4hr]q*6Xc<50Y,oeM -%Y7A$4lp=krmiZ!Kq1Yni4NC?ERpIb(?&1`49ICfZ9TU"_gh*Lfmkq\WW52YEG>%F_:*qC#eK1IRFH9%!.8uQ!l?*3(8VqB5YR1Sq -%$5,9%^bDH"?m2W?bhciNE]f[1h#q7%5h!-`kuFQhBVNaER\/*OT$B'A1Okr0WsP=-]US3s)2klqkc@WkeeVJC8/7Y]Z!qX^3GpPhqRT\O+9(D&/ir0qQI``"=@tL_bTW%s&6-=u*Mu?u![r00I+Y^mR6d9SO8CS"senP`1 -%!Q[36*pMQ7Ym_i<=0Q5_dYE_sM;.1SHENprf//K?g$N]B6KU%*4hS3Fe%,F;[G8ks:V=A6Up-M@pnR^$Ld1-7 -%/QCCRqX@/JR.MFNq&^$QW2C[U38GeL;:WX'ZCO-QasFY2%:GO>$"L62qse7AZiusb*\)fqPW9_jbQfp-o\;>aOj/+05o7Q$%#B)m -%'sZ2kaU-r2%<$L`0L>F_fYP'[Ba6_tilq8,lCm2G[a,BX_q110mWI>\1^M8Eluhg%^tB>'$\V=?A%;1?^(P!f@T`o+s%_Z=*k^3ni#50\bZSMIi1_OJ1^+kX+8ermG]'S_I!Pt,T^epV1N$Cc<)^?(TMLh`)rs'# -%P3'$O3q&`l:ngPTP3s+a2rS9l9\=0$QED=@?;6]-)-hD;5R2LVk%T;-g3o1deF`5:SaUI?+G44u0W15i0F(Uf7q+co0kTp_%GrsD -%;9@3Yl8ZF1rBWID86u7?JA$7qeiCItM#.MT$2`Gh<'HqN0-@NHpc;\.VF=s[KGn7?R[dm=g@O@b">*f+Y-FC_[J,6+O%%i/dGZ9m -%$!P"]lqX)@%8,7^%7#Q:r`*G%Fa\+YcDC%GnFb*%Y\a\%Kg**W-3C.q+kITU+[#S%f-QW8d,iNg]Ik7sJQ,#jh6iUk1i$7!Y7&9s -%$*OQJSFpYJ(f>G.g#AM8,l+],q[VstG[A7F_(V_bg);)\V+=tk9Wn"+:5l0m!_:6l@EjTZ,J*Q\^Ed.[>h]k16tWC.`Vtl3+44Dd -%a.U&.mVt?r(fu45\3:k:hlb+XREti78YrWVWWXp@.uS1W3iW.-NCh=)Iq@5<0f#Q*cMu\g[9rWM;4bbG`ujbLD4pmIJ,/c@rp)fH -%cX6Y"s8:F)IeTDsk$d'Fj_+VP^\keD><;P?J,5YD^\[ViTDaO0qSeeNroJo"qo`@FmAm7DYG)4"2I=H2MoAk>>^F?_h&DAMF&LK_ -%%X#`iG7^fd/g[=FR6.S,sFo^ln_==1@EP -%2%SA+Eug]HTg$s!J.e#pX[L(K$$TD@^[GbSb[f,_l+RV5KI5Lp1>7*LcCat?eY+2W[$L/'Sj:2R'ABdc1qXPcLmOKug]%,d -%_.\mSC+h45eINpo%:_g!?NdX=U]o6@=B\eP-BO9E2;O&-,A+Y?6OK;B/b>&o@9g"+B"1V!j>hqSKlVM!d]jYP:iS?_f',GDo;FB2 -%h.!GLjKBND#'1EIBbEI!?]a&C#6Z)C3I+]pSXr!?JqG2,m0jn.CR4kFRU=)Bf]pe1FbI61SNU37 -%cHM:&R%ZTP0"0Pech;-+O.oQcG=0g(qA-hRUUK,l/#B,uU90Oj1=A:u#T((?+5&,(E]cb7SQI>p?;4?=/1pYN)Yn^GFZGYo_>8qD -%M.g@,oR*r+,"53Z=cYofF:8WIQ\j=&L1I[DP9&B$\hbd+etpeiXYABsA:%T4fX`WOg.q8d%dOKr3Gr,,q3^l#*ZDr.->)u7Ti$Y9 -%JXRgtSH7A`4k<2J/ik2K8uA.m3rRb1_adLCqfsDH4GHNVbfhQ#J#%@,65e0])!8Zn+<-1OQoE&kJO^>cX0>\4p(ed2'*r?5Z!hYS -%H^!!Gb/?88QXtJi!53W0H0i)5=T#qZbUH0'LR"3Qh0]pf# -%I0*pr23prDb0q&^Umfm#;Gm*Pn8!>]l*Zb]e.aPW*9QR\5_:9.8ab@;o*u"#@gi3(GU)%qcA1.YC^+g%=kJY2M;dF%BN*\j\C6Ur -%]K@[)%BDqLjuBXsL=319h7/](-%+"5pu].0aR]:'e5RE&/12&cA=R6,$c574%:2Yi+;LD%rXWcX\bnMm7g--#Mg:\f.Vl@VN#G1X/o*5!.Nj2^Em+!4LYga?fabLVLQ"L0G'41eon!Jl^YO,)8@WM$^,Posg[WOVPe3t: -%P";Gj9I2(-!XERa2qk?cgh1i7>jAb5=i.:0fPrB(e;bKY9U'hc7km9p^Y3oZ6(6FpOAr&:uWo"eO[G\\g3DMtJkpm2>QDss\+A]GB(@]PXXcEPZ&//? -%D@H,c83G,_mL#gKJLJlg9E6:[::%>;[KBu6*h&mi_JAmI>af^@QZia'f=V[JD,U'k"L04rngD*YAsM]"m&c(lkgHb7VJ"=NBeStL -%\ZfoZ8k$F7i\]J>kZO?qC8mEV#tA,?bn$!9H;_YMfL$t/B4<..0>[r9#E^'S9ZhPC+I9[1*I+8+l&g"0:3!M'/@d>tI[p5`Wt(YB -%b?5HHYC>&S4f8;Amh=Z[[51J4C.J -%5Q@f)a+p;e6\l<^Jkq]dFbVe;gXr\ejr2dd:lcT"7aE-e30NmhP.&8eGCujCNfl.o6@i=fnKOG2;>[n<%V&+$0M`U"XXoGKWXf,e)aBrml.7a,M&=[#oK<0s/ -%;a9TN46u42OMK')M&FZ7g]fQkUG_BGp,0XrhhnMlK9tnl$c\d3_o/OW"/.m5H?bFeEM>i:n"`D4'jqu:*]agT4-DGsFPH%*_Ld5P -%'^_Qk4sa9_6jkWj]s8*$oeH,,=betMfDCW_U@88AN*Ocs.>=eg2`Z+Dd6-V^gs`p/YFL&7,IH[#k,K\tSHUNf3.Mp?Hm&44Q=pk&V)%:S0kiHqkQ(9kq#kiACNB\W, -%8,2a\K6u\M=ZB#Cb9Gg:BVW&HpCLZ+aNZo^PJiAHr\m^X'9D -%qY`C>:7';p2X*eWm!Sotbsr_2?":@)>*D-ki%n`u^PsI_q"ipkH@$j&)B$\;eu"TDEEK%oL_u;[.@P5q4QS>*ZegMHJsaC=QX\PE -%JaceS%t.Q1Ob,YuWfL@+'XKrNqWDKRa02,:0piederQNM"b>ka4CfojWb=e3X.f]u8EK'X(U-fGnA&?+\oKs7VPlfi?]/DJaH&jQ`(c6EsIh1PpJ71CU!RJ>11`.)#3a+>^. -%i1^+tUR'1b'OWtf&"uL\')#E$%*`)nPo002CE"m!9)6hHWh(C\XnON>S9Xn#[e4s_bGfS&jNX3tb]nM.i,os;*;P>,F*#fLPgPNt -%J/T7^[^>"KNTrnl8)U'+a5.A@H9RTOJWW!!]sK%>1@iZ/DqWq@NHXP,5MkIMVM)e -%pt#2t$m(,el#kh1[qt4[=gkhZH?lN--oo9i&+?Q>Uf"Na-*R#8%%6*gHV,fmUDh_`Gt*FpLRnA:i@-droV;@B?NZ,_.Vro^O:1/A -%9eZ+.rqWbslH:hf,rtqE^VKkFIH!KjKdAies)[#r1d3;gS?`EcMaLAJ"7MYQTY*mL!Zd+os7%bVA+Y;.0m<3X1]nj.K-YftZ)Rrl -%qTmLc9657MgG&4?3-&GjQc)HEa'T$&Qg[)qXi\jd^/mLjq<.FCqTE!p2Cq$7-G+](rT.+A`\4bVnY^m2Q[f%Y?[V\2YQ"C5roHBC -%h1,92*K!)XcX.^aB>=9>?i$^nJ,8eXh#I2:s7H-Urp87OpuUE2qB(035A.E_&'m@^2W(uE$>]0fl]=@/nR&@%[eMqRHUQdY,+UO9 -%NTb0^W^T#4I5laFWi$4"`#DS>LcOI%Eaka=D.80?Nca.0iPaC*=S=Y#IGd$R1I&Ued6IZ12YuTdo2!.!LW=g4s4&KajVQaSXH*,2 -%=8t9lr0oRr%p/aS^$rf&FoP`#qsSj]s)hXimC5!rgWns<]W:YXhhmNi4g?(?)2Gju$#/:8&+nnno-?mYA%(_1d:qlXWlU+[\&oq!%+<9pr(^!%SkI#J5b[&a8=Ugme[;G?i_n]jn*Q/1,Mm\b$n?ZU)N7/624SX2U-1S^Wf -%kO!htqR!0noc[gS%7+6hAJW3BG^\;7 -%p&uP.[D`#O1+ZR$R5"+@)f%+-kD?UJ4iET9s7Yi2%NpD_6FE':aB")*eRaEeBu/E>VX-#OM5jFQd1eukP5i%:lK!o1fUSe.&R;os -%TQL)(+9kKLdXCW]Uc%Otmrt'QZ$9nqch:1$[VdWb2:S1nos/nE4H]s/1N*eGCWBA*V^%%JVEFFUlL5"t7MJq1j\P;S&O>\Gh^2Vc -%?\$eojBT>[18Y2LS1!ju6!R[&[I/\!=05V4YWuGN/@ZX#!QI"TFkTq)$i#j\[@_IZ>>Y1`JSp,IA?!.]!IrG@N2@c]=$-PW$Ut_#@JYJ5iuH -%B%GF>oW6C/G?05MD`"^&M0J>Nf&GDih.PQ"^4]mqkSFWFQSg@^<<])T9*j6\m+EK#Xq+aC^>OT!ep=3e$G&6-V--)/=H"i9jmJ'r -%$3NYO-ph)LfUuG$I#g7i$EB@L_QW78Sf:OS3MLG=%(<1<_]`>Cm7-_*6lLX?aFgNc'(fnS/SiPCY9A_<=tY%A]KU1,qgo@(>%q-Z -%>/Ds3J#-m''"IK+aVYBQ_Eoah'd_FF[PZbHVIaD&IhdA'(/DG -%e`8%>SQ/uk'QXN&g@rEa[FAs)9tM"dej=R*"&ciAG9gqS%#D2gmRqNYi\&ip%:3DM:&Dj40fKsOF>-d7g@ru6FQ4oVL#+i%OpDK. -%jm@VZ>ed'0F/CLn6WF3c/lcd0\'fgfR$,/o[Yfs@.abUBdFSrH=E8E+I[-FH%!Ft*IDVqYnae!k(,o:9@9%"O13Dnk_I`RK[*lYEpXT0M.7MX.u_ -%Z=#+=YR+s\`_uSYmOUd5J9G\ikVa&a,X4rU>@E%3P6.%d14Hll_,Vufh?QF*+&)N8ZYi0<6.d0OkJS'jgU(+CDJs<0ilYc9okn:" -%]=(;'=l.BN6S[ng:'>VW*\AdE#'61$DqcLYZ*8c9#pGIl:g)YU0)cJ"Ets365R@p1$_=$,m8!PcU`"c]#0sp -%"4?sm=G%8'CYO+V]0:&#opH35>^(6,c?*_*;[OA5ZAlJk4drq^'KMFqPP:*#U`KLBc]R?HVm7UJAk^8Ymh]BM@'1,Hf3jtEJn'^A -%(QH0OjrB3o#>T-rRPCFcB".ZL*MehRb;i2C.$6*4>r]RQ0(tL*IXhC6_Z(bV!Au#YS)^;7D[<[?Gm*S!T -%U)4:5Q$hEm6gJ[$cJ,]FdFSqALZjId_>CmB7IbC+<$&0XM8A!cjj-,8IG-UH1EW.%DM[tjgLF0^(X2'%^T`jhr&(-)I@KmIIX@_0 -%F!]o.89VSgR".MFoGl;thXVpakf'7uN^0"ho_12$?L^kPp#glrk!in -%^\b\Hgc,)u']-PUpid'_s/QQFs#2*QVhdf,!1<`4ci1Gf%!&nf6TqnN-NWKNRm -%j6+0J.+_\`Y!5-WrEn^eeF`<=O$D%l^%h2fT8/Kf(Ou#NVc]5`r$?%2MWXr+F)NHBWn^F1eXP%$^]ulEea"+_SX[Qc"(+E8E&QAX -%Vi3`mWNuY'@up%c%EB@ZLU3r)f"0JQ%*)4U]-XXr6k,9D>j"aq*Q\DJ2+:YYGOS`Cp9Q"dkS+AZTEcLNl1saYf(5ltb7P>+f.S&u -%7@Yj4F!B%p=^_#VOl*`0hn^bs/eRqa'MM\]Ke/nVSQnI_qH^Hc)IApjHZM(a]"Y1U3c3k&gr5,'<[ut5qg38A]I@gltKnU -%)!G.Ii92@#V=,(5YlJY#`ICIM=KH0Ek9**:8!NXkKi\VgNqPVq^aB>6MnuV+0?*e_I1u'u'\T&!I6'RuU, -%#+ba4SYOI&dHQB:Xtj^_F.3q%su6+J5KHm!["I+25#shC&U.,&J9!Yt+HT)_C*GY;9aFW_b?= -%,[I>ap/ouZ_@7SBsH[-17[l732^\,5bC^4,Y#lqP,45@i>oeF*>C58g"F:mUsCMX5K@ZO-7ZS,,/ -%A:#bsHD.7s,?XQ-8jIS%Sm"*cHH/@+['$f['aEPnb84l!b2;$_R24YG_=hUF=;%e%q)9Qc`/s'^8UB4u:%1Q3Ao(aQ:JEmRp>KjJNPZ-I@(,Q=OiHlZl\3PM.+N,XS -%k1^Ok@YP-a(WVs5hSFI0Wja[5s,UCJAC6()++%Qe@?-0=0dbgb4Ubq5I%U+P"X27]jB-D5@CJD9-YbTs>dT;[VJ^K7EDi>_k!qEU -%(Zu&358jqIq(.HJZXS`5$ihct^q*)f,C`!Ci4#fJ'gi&93\JEgJ^QsHS5*kf]`l8;L+BmWIaef1Xgi`/)L]>1^e,9Pdt;3\S<<". -%DH!.m&$/N#:N:NF:ss2'S=8;D-,Dm"DFo?2.S/5?F1 -%8aP7U,GD8Ac#V3j4->nlr$,)r]6M04oe,+c)s<90$A;uk0t*MhIm1`aIQBA54E>L#3#I5-KJtiCTb8?8/pWeR30ZB,aF:j`L:E]7 -%''PV5J]J95N;>Zs(+gZ*lVWd.J<4'n%_TR^',-g[;V6'HlIm7<,mAVHA>D0ZG-KF$kUg&$\oJpBGfdnskBD6bj@Rr\Z?@iJGmiB9#W]qeEVUFPk=9L@ -%ep@!'"0Mdib-,^",X0n?j't43aXcJ^ZbB2'g!r=^ -%YuWA\S0(f].`&uiSs!hNj6kV?!Dd6"52=J1kS=6HU5:49f,#OAFG;l*dkHK.%-BjFGk5ub\cl+*l";CTLI_$O,%Cb-)F.Ni>Ru2u -%E9hV9)["mBM_Z+<`:T?I+O6pXgO9V='I+NZE!@:,f5d&smTd;0+d&Q5K.[R*FO'-BaurgqOp73kjM:dhT0J#'(i/.9t]..Zpr_:H*=$!%R$'ris;,!i$_4i*#hQ&4peTqSO;LV(#?-C$aVRsqRCkTkiXiqMa_pV#n,EE5&4KKt?H(=A -%/&T$L)f?k4IoXg]*CCIO>)GY^YBnAR)e+O,H8)M-,DL2O_sBc[2'9-a>brb"Z]M87]6S%bib^cC"`:_"jlr1qOa*VkUGG67(jJLh -%lKnaH'&Zf%3hkl!="'uc$Md2Z*8L*cm4QF&8h+AWNCL-oITT[V/hr'Ya+_NF4i86o4R-0eJB*[M./UqOc1"+3q,gpCRbM45+djGf -%G0>1lrL.kO^WLXFl*PPNUjbo*mBfj=lLd\ii#,Z"ki$+!1WbHZW*1nBjFo_GM1BE/irT496Jf'srq+2;leu.*cVIT39@1b]n&m+t -%hp[R$^6`LW31J(,ga,=V+3.,EOI&(7_6c:PJ!HfG>Q4;YXn$l\H>CS-$!auQooj'6,eq^J/,IXPH3b)loI1"A`UC`O,10d/\@0&C -%A,n0Heb:`#(JJufn4JBo1m\Q@#dP5GKB#fU+tcHZ@&FE#i9IHlhmouJU`2>(G/VU&UdIU&&%;YP_Xm6C=jm2o>$C@V9sT@s\GklF -%>loO>"n7i;psddA\NMGDBmY8?JpSgF*n:o>&VajQ4&gpl@pN5jq7I4"ZS_GpN:,U^P-aPr#hI3QS:,8=`m:%'VAG^c9W8B"[QJ!o>]AE]>KkmOa`oNnr\nm'h?6M67Qh`mOf[+$d9s -%ajfKugIEj<=)BBM[O"]V1`K%TU6'$,f4"c8\5/Ue4IlX'_9m>#H:MFY9Lc?u!Wjn2)#(gm;@"P/BG#nFRKout_t]$fTUMj<[r/aN -%&*N1W(.7VTe[ID3H=&it'BHaLd-Xnuf>Qa-%@M:^cj^"7-EoO1Ng_]8bO"dXN%G<^GcV@nhRYTF#P'(-!5e#QI`mJ[ -%[;#KOXN'610$QP9m+":<^'g -%;Ru(9/j-,#'b?Z6N?Uh8DmQS(UORl2*C(s4J`OX1Qu&e1bBosP+*,=OYAQb3WuHo4^.NbA-oUf^oQ'q$J\gu -%/EZ(Do%\J^PS'TmF=okX.))B#:F'sl`dih?nSou$KptGhd%K7=o*!ms%r`WD$j1LMUBWH"OR'Jp)mZ"Q9c8];iARl)m&Ctb(td[: -%B]VA.he.FXbboEirFkun>a9XR.m`?30\;"Q<^!2jd3A74)qB!Y%ROBW-3/g2$e931`T+KY4YaS+:Q>*Z^4(p^9(HkQ@I&>#.`:X-pk1W9fgT\4*qo'fBu%W9o$N"XIZeh7:P(XJVN.9\8]A_C2OV!e_,`a@Y9p?P6KF#pn=iln,C -%&$*4geuQuQ>Otth@Lg%cNtnG+ar0]C=\ViGZ+:+BqABJCS@d74RDjcbN3F?Y)$/e9ZD:"'g6)gg.A!a$+e>2,]i_s&HS$SCh&EYG -%Oo`.MoHmA78I?'k1!G!-R'dq(JA[,SCHWu'kfqc-Sl/GTbOEaW=5(9eeZeLRm[sZ+5Jlk,'nV/1hm!SH6ZW7Q8o/%d>]q\@&_aCf -%;f-);?(?VohE71X]2,n,\'3\qd12q?Kk4kL`"L]bn5t6DN:iphl3P4m^=@agU-SlN>,WYm_O6^Chnpp=IjKg[S^9Jtpm5>TJSrGUth8h'$(<(Pq.,6]K4kr`30PQRBK9T^BQ'#^lp]3_T2U,"(NO -%ic1L9a&l[k@^r53qMjYdhh69r"s[[sZ;WbpbsEF`,b1P"g$.?Y!Do=jRG#fc);1Cc3 -%Ud`R@H*N+r&0$!D:-)kcAHr3,aS\eB,t5(Q![`sekb3hQFMR(8iB!cXCcdM0R4Sf4)G?JW`Je:5/SFIq?Y7899Tl,`pm&7Jdmg$_olP45Im&\NGPFuNZjr0GZ#pV9=m>TqG3B$ro5C6Wb)_D,`]QkK^JYb1j$/Tlc0JZe1;JAl"&8t#T -%^SPIUMn&7-UJ5,mX&>`^/9O?m>nf'>VI`0K7QVR7ZBd'+8\OhBi'g84W%g`0HH0atjj]k_dWPUAq$QDre'$q:DmBOenmlA_6b_*bE>7nIh^<@`_^*<[r0-Nq+3?_X^]X%)qs#P4iSQ[r)Fl:\<^ -%o+ljA-N6pjf,_fT4L6gh'"b(_jR@APi.X8mH```+r.COnUB;Z=5bk]k06GMM6%O7`jHOl:_;3Zt72@?7>09cRN7"XW["M#:]^R$k -%]SYA]ROCpj%PT4kn5^,bU_$/Aqo!<9V])$hUUA^WpXjC)>'O-pFM(*%mrb>ro63#[rRi9n?'F?TCq:u'%gZ$b72Q2:Rp/6.58Jl$ -%_=MdgU2;T@':UdXB6Npf$]-7&3/WL[8F=:k+lTj2M_)'QeE%+8b&GO7ELOh(HOh7mck.[o1I=Gh//Jjl0!nnqKh]#8;-[uTJP=/B -%@N1)OO%U9Y--2N"T[dq"&Sc#)qE6Y8];%h87PSXoD(\<2pc7eV9Q9?e[PjJJa4"?iPu%J`VKNh)FkQW6q=Y'g(cUdC7,Q[17st6m -%#?k#I/ElP*bt?3RHegk_33^WO5aU8L; -%O#Kde=ESTUbPD!gnn2sTEr7=g2U!KYaV`taa!2TW10!TAgTXe()?M>#Jq"5B#[8.Cg&^>&4eS;'o0J@j'^%P7JF_6@X\kC]s6XB6S#1Ii^PY=RS:/`p2mOu0El -%:"`LTGKOV/WWAE$EcKn(<"(tgKAuUmRRG!qUgDl5D88n!Ve;p6#I]Ou.)^k&cJ8h)(O-nT+\YVfDRNkT^Ad&^0S6^In[Eg-dI)=P#NobC[5$51G:LC#&VP*70pJa41\*P!3nH!mg1K];6pcsE&c+o)k^2&rGM!YNIY>g8S.6+*MP28E@dn9N_, -%:aU1SHC>jA2IRLTkr#3?4?6J?>&ia1VQbhbEZEM+jXlQsFTt;XN+4S)R@MSO_uhq*if:(?Ha*cq[D!NaB;;p$gsgS%:=AZm -%.c6QhG,UB=>R*$(^0_M%K$:-b]Ba'Y'!OQr7+84)JB*qqNKO"jZ=b-82qpe+30-3N?IqgMH\4V]:n@;L%^qNO,kbNUGp1[%'kb_i -%`CdG7!u6"*!b8ZpFgYakB\#Z7V`kslqu]/qa1'5.5=Bc1I;5ji#+EbiYGN1.YV['Y$7@4*%L2S?JMh+<+8?[9kP2p/a"j_E(/GoW]W+).3tHTsA4,#P0:LDZDb--a='=mmRqFX)51*C_6&4X>!'Q@DR:I(H -%A[gYqAl2SO/F,L!$nnSi]Tn>]SIR552YlOOfh]#(h>8!TJA@j7d,uE#U4u0kLG,/!p5HG`QHEE#-XLudffR0m$q^p[!'"Me&ZWdT -%0gkl+fIT)!_Z'I+R:-\WR?fnG-E#B#HktTITruM6bOtTYH;.Zt)r2#t/2Kn9qMU'5BTC<5VLXY3MD)m";*PWS@-[A]DFEIqLoD@c -%`^/]Qb976"f(D+6/hl&gL_;K9L=RLHaDi>&`_9Ku_Z2lAJ@rs-L82#7MB%IG:;TI/Ek;&'XI0*Cp!_(JG=CF"R1j\L\)-W'05L:& -%&6fSKTEUfNO@i\'U=5JRA"18BUG"?Qh..pi=e.&6Q64>9TVb]0\,7euN/jVU,'n0oi[o+`1bj3Ucu$h\2[NSid&,AF7%M[&gZDD0"N?dLUKR,9i'3Nj2%$ib=5MU?' -%ZAe])Xfp+5FJr%)<8]rrp/Ot.-R?ck*Cm"6gs<7%6EA#"E!r*(GSB@WJms3L4/q\qEG? -%1JU;W>Wbu[,s]lrjD\P/IH(n94@3fdR$$=DN2VK!3%*W?PK+lFT:7b>#A^WZrQ?Fj'kp\*WaMIeQA]A"PfSCPZ%)DtJ56X>daVdGAWH::_*'Rct=Ka2@m5!0N/HJ2_gP=$$#DP]A82SshuLqkW?Y -%(uYD=5cmpP]7uA@_TjGVC)Pja\: -%pA!/53P*ZYLmfK%Rr7SjUTB'%1@0WRO&>C^SQ4Pm<*P2k'BSi\-42/B4oZt(=3aDR8(-9J49,G`A@`ijYa3cK%PWkj-';t(H:l#* -%(\!",l9,es&624ZQHBOQThdNU3Iie/oY1P6/J/38&j^?X9fn9U^cN@1KB#dK#6\j8Ik9Z&/?078,8*!HdlKAXh8bq/8\8La*nb1aFCOc+QJYaH'VrKN`.!DC1A:8&0(8_%B]/@0<,'-Vc0(og2>NKSP"b&u+T%QP,n1.Mj!$!""S2 -%0hmf%[Bje`'`M2f:C#O;\a>dS/B3rH+R43!4Tt'j"WB^>lBH!nou5eV?sA=H2Qc*K7@Z[n#7hBE"^'4tib]uA*d5K\.qfrW)A-pV,<^pmkgFESVl7k^ot"GN-P',F>ADTt -%9$GMk=KkuTB"&\:ah)DUj+0;_l;qPNppAKH%X&2YW[eD'<7F<"*T)\4/83:?*91%QUb72j]`OX"5Y:YdPAd;%)o2#Tl_#.GO.aBW -%=eZFQ,oH^=T%.7FTdm/`KoP@pUBHmD\hhXtJpUJj'AIhK#;TE7n57i4l4nGhg_VH7Z1jS:ET\*0K8W*/g8PUhZ;S;kA35Su1GJ,J -%*.`3@deraHb9et41e*temKh283n#h*!c1!T&JXlZ8i1[Riagsm_h*Qli34`e$9LkPUYcHL;M'5h#hdVJ_F%lZm -%\l0_<_`3C"mdM:,Tp2C9^oJa,f9k5^mfFnV[)R,jBLLUPrRM-Nb5.]-J.XL;prPH6[DGID7UI4JLV1!NVG.[2;?QBoK-i@5)=m,, -%,>;q9Z$SGSO#U9('b5*QXE!s`hZG6ubMhJVWaAg?4Zb+n&=4;*rrWX*]:ZD=KosWk:%D;Bg+Z9K\h@=(6H%5IJ([Jo[3i^kMi\UO -%k7<$l+Trub61!eHK$(34(\)@lBUuHaj?/(s9/2@=hWKesi`u=(lCIr5BS)D@)a-Mg=/TP-ASb[DP"R]QU9>_uYhPiTK5JRY$Fgr: -%^hV_=%YkTl,m[cG>F?TS;!%RK#nQ*bOu!@='f3lUjDG+L'lGK7VDKrt\=m>tg9C<>=l1u]Z"*VBQN1@\^0q -%Jnm>6=p(uV+c13PnY7rY2Urkk#iI;HgEP?'X1BB/JWq9GW39C45;*L?mIsRlL3oH1QkLF2T\"]=eLSr[oI?G##DLI.=V_]'a(XVnX=I( -%mSB%6Q&G*dq_tdBe^9AEoIPZ.p:Gt1WoA!\j%qf`SJJBFdT6"P_?I]e*aperi$J#LPsCI2kI=_U!Z\/+=/n&ZO\d5U,PntIiF;lO -%+hYI6/j8a'D:Kl(\1NFCmC;C+f+mdq9u -%EY+g$XNaW[+oAOi&p+:-]ZjPD:H]WFH\b]tk1"oUL@U6?Y/]hPW/ -%Srn#MaSAA2G9p75&150u2=ukR7+c_m3PAm>YP@u^Z,2`"3j%K&l*RqPpViqd9O+=7\m5Xk!VF[t8^U/pa7jioDhe1F`%7@iOsgBa -%i.RHu24HV=!6*f@fL;kri[@M3nrjcY(M:;C78O2$!;t5[9fTQ6Sl7^tr5iXI`;4=^HUSem":?[FM]S#6L,"!L*5"K=f?'r+?\m8^ -%XF/_CMZW"_9')GKCL%0TJBW1c0"I5WdQGs@=`"Y^7jGrh<)?;36_143?Z`#<4/u0_L5;BSAI0F&bmnkPY'dA5BY3uV>2d&*d3G9[\:e?W`VMCB -%13uOi(:%u[D=KS6p)A1K4e`uJd!7\#5`ba -%\RCZpfQg@)+eXBK:d?s`X=93XLJrEh5+bl#]Gp['WdY,pP*qFEoI)\*=H9N]@t`W^W#Vi/kP,Ft5o04F-;0sK+0S&&4.*pT1FSEL]>@mX4>>+hl7K/8*q3mc -%l%0(,*lR6'P*Z:@[8Wnq_#h^9;F2HpY^gC$ZId9/cc15pCoR\pCdm5_#np6C.!'T$i]E5i>d;ad:7_PkI -%#"JnZh#&"F#jn*lLETmqdQ/\a/c%-=*7lH4UHiAQ.plnr0=bEM)!CQd=jFqfH-!d\5V":45_2'S]oI[24Dp#T/ZM`CA"nadqn -%Dj$s(Gk4m4+iCNO*-!Ar-'\=R?ga0pJYk5q2,;YU6hRM@qFunWA.q/2iD2 -%N.0c![jMC7_#:kW\;%nrP:CS:Lb^dedkf;i)rbo_lGa!A-^$":E,s+3WeLQclm:@WN6jQ?ab^*N`dW@cPb&"fh*J9a431@i4t7kU -%X3J>J1H@J6lt17#Z8U]2,NXg2Po&s?XV,*0c@CCIiI+=24Vs+@p0!Dq(NbQPCti@rS(rQfS5e@B%VL'n:)$HTpI#9Y!IX?nI[uNb -%5ti-oOSbdHR.0i"RTAPs^%ikYb`"ZKH_GW=!C=?`E$lC[c-9Au:RO,qKl3`?bS$;fc-a%Z?8-<=BGAPj\W>4iND!N/;ES0-X2-iXnI&?lGS,.q?rS7^&P(aS(EPahLq81BfNQrJ.gQYW3/_94/,mS#bNPO$(3aaDY -%_n-]Vj9W/4fUE@"6\j@=IIYK(epIWg`5`aA',al_(Oojf*'*tNmdr1c\CPfL:?a=l[aV?;+YapH=54XC07/ETmZ7"*[Tu+dkRLE8 -%G/Tq$puiI#eVql':PR<-^0X3:H6tqtn"WtGdI(m&TiN$W06ok&pLtgG%_3#&&n`oA86Z]@&\IAT3tWMqkSrV391`os^)?Z-c'F$LM?;\j4\e[-0a9XIOAr.s-?(s*QA,O(n+i.omE -%>"]O67ZW9#ChuBaE(64BBp(5hK(E$"1\s9(kg;m^%fqB>>gJXk@bm`iH3hs"e-d_np-c(],I^Q+e_g)9NCMaZGS -%b.T^,K!L;oT"c&=Ic;&BOmf2hrtJiaSm5DJ.*IufD2E9d#JRZ).*JeSGWsFR@`b>8W>*`7IntN[H@n2B/iC!3W7`,'Gp$(EZO1]< -%7N+B2>iHh8^ehp(le"WhQ:Y'#Q=8;2P0a,.#i1Eg5;)%3T[W&`$kZJ`Z99chR)9h?r^FQO2-_)e=D7O,U\"`h/c\>%pZs7FiW@,8:.KbrY'9$&/4488j6cDcb#^a#`YFfe#%tEG?\HC#hC!bl4b#Z4k$I.L0EZflNEk -%(5%-V\'gCQ(W,n<0EmR@gMJ@DYc>Rb.RDs'0Ll;T.;L@LN0bb#c"S:&5o82*n&PUN%9HQ[7KAsm;Us(b"bPeZf0^,]5ZE;F!L8ZSfYB[-Q(ZM8^AL8EFAi6JXbR?DOkm(j#pI+\BmjAlK=31^49:Z5cRT0T;U<#,^#sEfr%.YG -%)D*:#34d6@V=ipm4LVgNeVc;"-6&%*osY=lYZ/-ag/!*Wj;JIP6;@UhbT!HFM6$%M5M33dp)AJNn>I0H*uPVsUhDK"9qVcR(n?tA -%-06m,H[,N0qpkckq`9o.$Hr.40PXB\N=0VZW/8^+L`sRH)8YN*F8&t@7Fk*`);-BDU8D8bG(62d,4p.IcfbboP"+^tdmUW$-fO/_\lm@J!!fTH'$D]EfRqFAZ2N5'Y&--#D`P24ACp2&0S$I"H7K`SN/mX?#Y$"a6\u -%bm($js)1K;Rlh7qpaI?9+!Wkq=nMH[k"#Mrbc><*qj!pn!.a.gX^Q3ZdE$pY_k2H,!M[!%4d"L8-l>0:R4i_,-Q1!XA\(;iLTBpD -%.`j+r$t*KMo5HSF\PjHZFpQZOQV.bjhs,lHZgW77LOndiIIURUSQSE("Pn<1%l2D?)SG+@rElS-sNQ4s*/rAVSTd*`&1eTIHA)`84`/ -%Yf)Pq<4oNXPbn#0!Wih)ShseZ$cH+Zb+!8iD;7+j$sOaP*TW9.RNSE*f6DVIsV4VqF/)Z7")C\*S:`J^kNKIe*D'T;:rHZ_[>'MoD]4D\SgqhEgTE`93Mg2sC&C$Z>k4,ISrsTVj5p^p9j<3MD-[eWB0^FQ]HI$(X%#%r95%ioJ\;i^u>.QZ!G9Web9PZOD(BjP0i -%c[8PR1IF0AXfJh0-4J(#+;l5aA72>?oLQh5sl0hbY+b`AUE?M->#TuVifC^=M;_6VV1 -%*jnaI=;KK?@($1FB2BbR/2#'Xq0\aQWpfuifbYs*doV3Rf<:"P\?d,K%1+O[Q8jPq$&L-@>V3A1a?o)0*_%!p(`[PhJPj'b?s%Cn -%nidUc4!T8GYb"e3JbL#@;Bqhh3haOlKhm7GT%+.FJ1f+uU?c;A`_I-/9O!`2b7q7$:,s`29ep]J3.,d'^N_*YZL-&g<3O9$-jN_- -%YnRu[Sl26J<5eekC@t@0&d^ilI2ElcFo3J!bq)dYLrnSZ'DC1TZo&EF6_7QD`#KM[( -%AK[BLmBh@YaU6c8i^KLLc(XWfVZ:&)1,iY=?kT\qS>Z0_2rX3$k*Ye8$a)eNNM$Gp2IdZK!QMRLq_'$B6*gdBUATf4G:c:SK?MKH4bD<1fD -%dgku\PYtbE),8;p\$iL67K#th7hZp0Y#H0-=&II]!"/2%hk]@nnX!bl$>ZjuRg%8t]c9#-h0^uH!5Qp=0PDRJiG2n\&!"9s9Fi9) -%A8SCe:;rV7%mZ*!gE["dKt#s?k!JdqGuEW`e2CC8V_f0++LRK-^SMMjmPr0Y]WacXcC]1YkF,b%!STq!=r[EH!,`Sf`A^##Fe6P'G] -%*G)f[m48='ps;7^anc._\hIHgg=;V]IDHkLY(;ip#=,OuOh%`gU\^f./&QXUC -%=@H&K$e$gY8u.sBfB';gn11"/%lBB:"cL/X]A$tgRd:+1/q$*WO%&.1lg-!uLZ@=\fIt*C=/>_f>nbUlM]V09#ao^N'ZtUc-J"YT -%5Eb'6lkT#@NK&_>>H&mTZJl:>+mEIq3Vq?k*B'"aZ0bb?4XtL(TV9?EA0k_4hT6>6<;Ek2H7!<^D$d@-I:9M0lICpub7s,85L^Y; -%qmParK7l]BE#g-jF0:^$_FC+.[WpiV7@ZhiC!QLKN"E@?[k(&Q[>[UTXG,sgR5'T'.AdmDLGZ'q]gLFgHjRJ`FNrD\sK"WLTE@=9mY:hFth7j=JNIob[n#-9WXgG[*lX>Fh)p41dA(m7?Nj8G%,RL)Xd0 -%'NJo`cMX%FD41/MX]ie/+^5:)8"P5-en-\1k.?9`Qb]Y/t#!c:=+V'-O -%-lN`-=C#u>N:D1KdgiooWmoUc -%(G^'%,^l^]99Q-jZhDP82MW:>n`i6r*aI(>)a-7rF\jrg<-G>j#U-nN.*C0YLkXJ2a5Y!1om\r"8D%ZoB;[#/D[eT4DP%69f=@Kj -%#dC`P6?=4rK>='CP87q%G*>_Q6i\U.eqi4!&6A'A$Ijd/#Qit-(uHm_g]Vs;,j9%"@$R=X",LFPrjM$Ni0goZ_.D[2k@KHn)=j$bPg:$MMY7k]7[N2Du>`#>a^3;h5'RGnLMP&]e-0npMMBs8=kN(>L+47+Jp -%Cr5h3HQ+"A`^Up>Se`$!>Pj6n.ri*mTVQ_O.n)-%2J,s'"glk-J@CCW='TD1EE*$*jd*$mZI%L -%i%:E8L2mE(fSD3NBg8Vk+<`D)'&[*%/X'Y52FO,$oaH=*dbi2m^fj4(MnQs#MMM_m1X0\l#AO -%Xr@K;j#taLWn`>c4fR[7M.^0$6fl21eYQ$<2k/R&D)-$no'Xo)CYPX4@.B:iE0Jp$h.%WaG66O=W`s&p:+4Xb6VhDS!'?]EqW\6-SX)2kRR!Y/,gEfpO9DnhKlbhMcW -%_B>/iG.Pdp"%`o9BM,=+')Q/Nfg)W?glpo/i];N".nWnkV_AIJ@*=HWG7^^!L^>EHI8_Yl]*Aha!/V8)1Z_:XN3951]q6K]GJY>Q -%%S?G0X'jo8aG1K&c$/ecQ'NNlnLH2GmSsJ5dh?qQ*<-jVLW>0g)^e0^cpI;Wh[K0J/G6GsfEou.LKr(k``OR3K:+C\a65q"_hub. -%KgZe2X`umM69*#hg_p38s.2?K(@7oBbq+'ceuH#FGR-:B@361J-*T9m6=`Eq"ONURM7pj-,$,cN)(rWZ^a(UrSouk2#S%9mna5*& -%F6iXF_Y&/C?R!)^V0eL<;&4UmmbX9_8HOdm(I-3I_:kG_!QKkYNg:DBXX[AqHfrIf`&s4,B8O!WK%5=VetK1K-fCQ@NtParI\ac) -%HBY5]`M!l`-)Va5pG3V\(pAV180&JBQDs<:cqKSLppZ!ih#ap0=`i]E4;L>L0@X^I\4eDVcs.ul1CP]`q^%->-M`otD3kA$9/>H`F:spl5S`-/cSP7V<-9'2WLScaWl6*5#DgS\N#'o*VQ]C-$lWOSJUa'"q_D_Z[`Ete:"_] -%a)TD<^n,;\Q',$VE>]hO]?H=`2)Eks71@b0!u_cZW64/t&Q3]/87<>`?+!F#FOR.neK0d;MYPcPQ/J^N:N#RTA?+#?9?bX31o?AE -%qTNkdo)Usc_RGP,C\be7+^8i?lXkEK`d?T]$P-p0.8VVD-scMBKaF2b!Hf:FP;jNh)N+E61L[TGA*AA)d*:\-n^)TbF6Yk3K>fmX2`3GaF[(E9XT0L=3s/LWac2R`f`]eKb1[o*cR!kH3)P"aJS][I@%Yq-XSLZ;;asu!t -%b01K^FDNK#%Oi^kLXgtEWLnl['b-!B@Q/Ca"V?(kh%dGa1?_T`:"\*eU)kV1ek#,WPJ*B=mlDZ+r/m%2J,P!b*+pCS*I7Rh+8j7U -%n=r5Hn2LB&?*MY)rS`h;4K"hL]3kL&YQ!e0hu<30O!3Sm7R^a:KtR)>ql$F7a>5CD!,+0LBROan58_!>rb'9re=3J0O[dcKEaFGAK%=C=-J0VT7#H[bC1YS$:Q -%N^Pa&5I2;i+Yj93jmd%ep]@)J]hb7\_HI8V(dhIf)-:.EZ(i7qD$PkONYcPce:bOiq>Hbi/M/"GQ7nd7Sp]BtdEV -%O3!UrDX8m-S3T3X5!6$:_,J,G)*KP]7uJ._)?;?WC73("';!io:j2mRE"A2B*c3:5[is_q:Jl1E9Jg,4ClK70TW/N[gQJhnJEH3D -%lg16]d=2sbDB\%00LWFODMCsbFNX-4jm>5Df`fQi48ZDK["-fe1,WVFB"+ -%m4@n:hN"VNIsgnJnU5Z?:UJH)\84&I[4;)m3\X8YiFF3RQo'gt`&BQ_PGZ,uC7-Zi8*ls-"]=(f!XjYf?a*H5I6'CL!hNmO>^M.D -%aOE;8_rr,7@9eS5a^DXr@-m)2#`3*#:aV=oPghC"(FQOZ(".f2f1>e95:V -%p#U>-J\>#PaAc^BN&-q/gEHNAD#)lIgL5!,\$]&gJG8c%Bk%sPmf7@hh@j7cF.0%fgb[q.(Gtt6F!:dk@*qQAeWU.9c3i/1K$e>K -%80r0.`:a^p7f^RZN/O4&"j,Q`T<$-4>!8G8R1l_'"C@Lnb#:oj>WO!MHXR!Dn]U^;^%LG"E<2,=*[^sVjGM/f>+)df1"a/siB+Yi -%/P6K'2W772AQZdJiFSUDQnDWR0coa_8G!LQR$#0jFkq8-@%V7&(m\!ZIB8N>FG.TA)h%Nri%`m>+c4M7eOE!@f$"o<;DSsWcDLN6 -%&m-X9@oHFGga:a+(d?8Li%f(M7f=jD)94K[2XDgFkK6=_3m]qq).V4@;Et"7lQn9hf(4tMXoqh1*E!>8Q;u2prhO][1rNi'`>?;N.B\V/G\>g%SGhb%A#HV?gk=U%@RTQq%IC2g$b6<$D!OLe -%cJ`FU=$tQ?"+b4Z)=!uQ(I'%+Tl/,7S_pEs!^#fe.1#YXVlI\1't(TSpb"dFWE+n)5g$nN_j_ilBNagTK9)_%!1mr1iu9E7[FIYc -%'TXPuP1*!EC%O$B(HSMaSNa>jGsB^EXK5jVa%:PECW8F"%70&i3dBt<72(qBqn:PUpSg2aVk?O$7?OMR(2Ri.:u/Sg(U?\f'bjU] -%+3"m]AKN'V'M -%GNKjIq4PMj%D!b/<"e!\V.qksQ);35j+"`(4ER@44=V3;Pem(#OM)Qn5!LKYf40rGpoG=$KeDDC$:l"\[,Db0DFJpb$^dLP\u32V -%7[>;](mE4Q&(>-#NQuDB=_)"T*:?>`ISY8B:1n22;S<.sa.tW;U@e^=T_8_Wc^GY\&X>k<]7R.&$*lOCRk`ekeD)(j=0!7\&qRpM -%[ni-!K^_kCqsb%E5Ws+1``+;$P&-uTq2.oji,L3#N?14<9^#MPqo3cUoo(sbK6a#\V:-dAM"nbNr8Ptg)jP\MNt=k*OJ5E;9D6`Nd,.t5f9E/];D?_i@b&G^l:3`3D*@m -%e'V]JKa:8_ZYFiYV6j?%)S*``2b(]6)oGlj9+*>q0KupWGiX.dZce6jQ%Zj615^^38eog92_+@dr>;==db_Q@oCSYgY7WIV2alKP -%'S.TY.B'mB;)@6jD`=lXZm^4ZdDW(A,*cOpOmD/&fqUFZJ#]^pQA(cUE>M<[0uM[^Cm`;i)R:t#jl='d\*AW_QWI,2\31uR82r`W -%`A_]Z@BDUB'@gItRfS2X#YdNBK,aLtmG@ZJ6cAH#$&rg>WEM.X?H=IZC<`1V&Ad`9tW?N]/=u4ZUk/&djYR4X1XPfVQ/>CJNJ'!V%UX4R?pI"dI7dG%9LK -%>sAAS:5]j`lY*79c+A%-7M'L-`$ZmVCSSPQpH-;uH9QB*b*d0H`8?\Fs0o0@s4`;NrV1$?r7c.=o&Dsl5C*1C?iBhnIf@Sfc;i1> -%oDIRfs5!\CT;fIZR4NM4cPKS?_Jrr=]2gIr@(/sjX2StP*^>>N.j0&3AR:SV3cOYe4C(@:)ma(DHg;6F45U9DkeL8:$/0?Nfc+H= -%@Gp3^5e;!)Jup4mTbq]dq$:(h4Ot3/r7)KDrqu)s[5n*2?iT+%5Q1/tcT_:*YC?>SJ,&.B^]%(/oYX0$W'.:Z+$Mk45Y"`=..)?> -%f8Ef,-`dj)@WV=K5?=_ZA(udBs8E7QdZ'mRWi3hf]5?M,CH&`7.`NkiebW>%PBG&j5L,7iUn,;o/3Ij2W^C:g1 -%Y+`XM?QUeN3T%+Bu& -%ZR*`h<`[=%i6h9gMFH?q7')!8J)5JGhs(7p -%I81;4N/6R+nUQn@<](4[98V?:p$Sm?Uk]VafrIl/8:(TlY'Ifl]Y`fcR^HTAORherY.Ob9H[Ip[0n69BF$kH@msb3srpG0HSB(II -%aKU!'rkI7Gn*^1jJmY6pm0h1cQo"3?"Qi#4.%cg^T[E4:oE1Gm*u&7lKm,k=7@hZXT9NgPLefVoZ]GNJp0,7F<@Ko@H?5NdE8r=VL:fjV`h1RS5:R(7;r[\o/HY1Itqc&X'o -%k\:R#&uLV5gpS)b_,V4OUerO`>1:^i&/ZU?"JE7@80F'WY`N#B%^aHT6#b79HK7tdc@HCp_WIS/F==C -%g#Js[8Q-%3'%i\&dXF'3J,oX;9;O:8gf=N4kKJN`CQO+=[/]H@Y1aca&[(\sO#:#K*5d8H,rmNlJnXI(G<_E'iV@G$r9$.k3@q/j30(^?8D1]3 -%+7u%0s),T^$dm8njnK>bYK=i`IKTWLONIP$Vn`6/h[H^a=24ab0E9pJhP)B]kFCJar\@lM(Qe4.hZg-gi;F[,V6A&Q.-`C\X9e)F -%'`6q!rosa's-%j,LVNk-^]*!Fr;:Kj5(c#;IsQ2%D`D[M$P=:M%-Wffht`U?jt,o%jcjaYTM2fe"='Ir69)`nU=?T0Lq6 -%@pZj#ZH^;/H@ra@)"qsgN(m:m$uK'u_uN7-rLDJDB&WYY'Qf>>ELM.K[G,s$l/&[pH>VR+0ti(^H_s"ih:]Lr][q4Xq%M##jthPMk5(e'e+iM5 -%m!c7l&asutIUc%"rab^0iQ$Jq!h#DjF'?aV)OF1I*mMPYCYIGSG_WG5+kkMmO$+B44mUGV:Tr$_n$C*lHc[]V3RPtR7^oAD4jnbX -%:qV2:1W2.2kJuFQjNH;7>b(TA:MY:So2jcr%YBN#4^/*lpSKai0%rOYSS5*iOUXcC.#L2.%6@=KR)%@YXs -%-"n,dPcR8hjCCUaP08J(t[MA_3B^N]_tX0 -%mJFINW,667"m3V(j5SOMZpuIG/ul<=kt`!;/8g6AW%/J6PI5M5(@Dm8-b$9'V99WNba)%#CB``ZD4fqUUBUU$lX4=34*CjjD1(LK -%o)3:mMgQ0`_M8Zj;I#l*rkcTQS8PqrT<]7c^r[*k3F#t%CY:m-4-rua(tZ/%m3q_%<.!+(]R7n^I>[(XD]\qN:<#%8+uFE`RVbK> -%&=WGOrpV9i?/C>4R$e^h=^UrB,cP!>mH$=i=NuScJi(\_1oBkH\hV-RZB\EGn[7mobYeF"'J[LUU7i_T>N:Wo,+AVW=uet)^Be[` -%6g:Dql^au,3Tkd$XH>oe)"&Y]!Nt1H[6L43dl/4sNpM!_CtGAPVRL:5gW74%m"T$Xrbjd+!M=Q#cNC_4!P=1:,V]Sfir*T\JSF'f -%I67%t>43p^_k[St#mR -%WhT%>)r8>R]]:,cQb!`UCV]WsDuWNrCc%CtM?X.b%`]&3+W3f1kHe=odW]'3ppl]kHd,kq"m4#:FW*RhE\GD;EBZl_JRqlGQtL,< -%Tsf3J#5js:7$MQ7$FHF6@uJ9=,CGUCHBJEPm<*]P@'LkGWQ3T:_WFZuaGFn+62t2RG4fX>GC3!N^6S.n;1EDZUEBKrY9-!*A.@!V -%=8kXnY302AgJ7DZ+fs]oe!f+pYDmas%`6(qpbAsV7pf-qVF<`\*QoJH[#>cHdfIk9](2(qS'SipYV1Ks,Q_)[NDX;*;nk5 -%P,%YY&+]+EOnba;Z#rPnFlXJJ(A,MMFOTUZJ5!)mF=HHDY$T"eNglGSOT0L/aLp'$ha/0L`X2@jAe[HJ_.h,deKlLds80IASWsuM -%OAe4r7%N>UL2UZ7<%%3]E@r:*+@aPWD3dqg.'FAe'Ob)3%pP=qd?&]1?;6l#BE,kX(^pUa?hpTq[(t=g4^J;p3F&JZ=t`,e6!nCB -%lWGK3Kt7G*PifK6S'E]`1>O5LAlX3(8T!:SUYbXHdoB(OPrC.H#M"eUqUfpe+k:#I0_Zk&N%QF2^X7Mt3j4neE[(.uf];,_bZrWu -%OH3K6O3q9,b3+"T_feDhGDOSaqjp4jRj5Ks;XhGS?d+A-aHlf599beY.g.d[b7PMpfo60,>m`Bi_d7,33tsYnLe\fQ,T!jF?3cP> -%1hq\OcjPTlZY)Q&,-u,9hA+]f>V9.IYcRfYB'Vdk%;\p9Q+0XBGpSVF0:qP^:D2KIG^@AR'uhe6UK8Mujcp%+H_e((M2KburUNJb -%igf`=iGR_=*a9nIlkRc'k,)17EC2FqPEcdqT)7T2bh`p5CapZHCb6F^e3UB*&tk"0i5nk%QaA4AZ.AZl6OlP$ol(mK -%UF78KEoXh/ZW_ktgrreMNtrqo7A6Ic'W1?f8*#$$&$jL-NM\Y'n4":[V_4V0Qih\g,`c^1O#(b-j-!5cDGm([`8nkD+d>Q7'($NW -%HqNUHPV***)2B,i\t%1gKuS:s!8.WnaT:j_l'_hl]rd=CLn)Q6f9@Eh+h%SkOb^UiE@B334$H)PMHhSMo*CZ*jd')J\[0WtA.V%U -%.kX@of3)S$eGsHLk.aqsasQBF`>^hiN'l0Kj-1bapC:"@"+q]7?/0aUBYn+&XcH.b"h4F+"`LZd#h6,=h,@^CL,!9P3PK/VX,JXI$%mcAe6Wsf>A$16=BR?U@W)+$`nC6`^:Y:,p -%%eq<+!)Fu4F'[g'^:<['6F==D#[C%:2kdF$FHC3i?B?V&Y&U9H9SK9/7,&l;A`'gmd3qqQrMC']a1>Z%L\F@gj')FDak6GR5,lK@ -%Dg$rW3p#h's']j/EWX&_KeC@=_0!G;77t%4Ef&BhPZ6V+GS4`M9#TnO(1IkBD+1I/K!Of(U3!SD'rE(.&sU=P:HGE@`itc5<&\Cl -%:Thd:iualEhKl>hSE]5@b_j.$?@u3-n'JA,9+'ZVht737K1q?(5[7I?WC,S1Lcu&h'ZAaj6jt;l25@hJQ^2!QL8CFcN__-ffc$ca -%?Z9l9MVsdGY*R=qHkQ:2?/mE@Wo(Sl?_aM_N!k4J20r2^;^ukqD5nD!6>qNP@OE@b7&bALHk>54.2PRo?)9BL%8oF#ZqqU5:LR85,'obmhRDq,HIUXu -%jj)--^uYQaRQu2%Fc;t(aJiJq3/!BnJ(\_K8++;Ze3Y:8(U!_#Y")7?&jpV(,G]%j0*U=HH&?ll7mhIHNVQTnM]V[3,W65LD1k]n -%o8(Z4Too!_F8I.>M,*N)82*>$JWY\YW]#GA;cH0I6tC`Km]28NY*$M!T+2TGfL]Q'S$IBI)sU>='CcW=q,h7)2HO -%1kuO7Tsck`4RGn=Xk((L[CnQ:[!$8=e-RkcY6<\uSf_6*ZV#6p>ok:LnDZ9J_%3um>)(t6NB\b-d$Uur+';3A^.cX3:VF;9MBo(a -%ZLNbmWq@LuV:$pLUmB3.JjaQ7WERTTi%%;^cJ>I/@33iK67?cIetOLSB:&2'96-VA\g6Tu4),^0W?7=3^!pEQWeQ2n&kR=\8EE9M -%gdi]4-@+)LfX-#=`MO%`YW5%6rp+'Wg%@Uq_%f(;)W/U7.Cc]N*n(`\Ko$bgrKUW'c?-AEg[CZm)IXY0 -%QRln>a/4WP2btjMkkSI>Q?M(O.':$a,1js''aL2GBp>pkj,8)4im4%r+V(Hij/gah?X,N;]FW:9'f7U:VQMmsel)T)dYfuFVK*!6 -%n4V+/Y2Ga3IOPn0j,c=WDQ/KV!BKqq1SiJZC#:b)3LL6;/t!MG(\::P2DN*o-fAtoUSADD'-`lSX,H%]3f0TUlr+Zs:`S"0*!Y"^ -%(g!s0QP/B>\5rgYl-LrkVEN@2.7!M[#*'/\S&448\-*)IjTX0(MWm@@\TP+-Kct._T$X"r^Vh -%=On)<#rF0Rd0:_dcGegrmK6-'+]'%GqgRXiEX>2!`mU_+FL#S`.!D)3GVUI_$+Ms2.o8[#4Xu((M3,]bA8%94?Wu*>q`KF-kQuof -%(CC9&[Z"+`aO0*C2s!?]21Y-jAHsAMgd1MkVgY8:H56b$>2pkUO-G0Ql9\_p?R?80;^h,HEMRTuX-mt+'_DYpUc7-;E^F#$f!@MQ -%oM0dZU`!eR9-EUPWt^Ss9,knd]F4Lg<]abe[Unrb="j1pTlCi&,X,+A$Q8G+hB6le9&$;Q=/(fj)*'8HI=e;?gsTQWnTJkXeUX]S -%0ii0@?\,iCHqu9rlW0YR\>3fb[Z.M.T&(CM7qS&,.iclqVSqMV.U1NX3^4J#?d4aGN+gh&U(K7I[0E/QU?MKr1!Lj7`7mW%c4&"= -%.lZ)mX-'/`<(KL>Q9/TS&^/X_-cnN(2E'oEM0X6lH/p<`XCm;TIq6a`p`kufP&UPK3g>[/e#>R',4"I4a8]%pgOdSjrA>*Qe+MW4VCe]&J0%SFVc81!N`dqqAbq$bTI*7FoA:8:uL)8>oNQb0qL;^Tng5XWdk?AKAUg*tB`eREY>cF3YBf2C%,df-H_q:U>('u(ZDV3B2)'>^<)8\AEHDOEL -%p6BArU&q\a;\14COZFtUklj#G&8lq'U=L.D?\:1%W,2nmqs7GAoh31//&El<4(ltn2%-oEh+DJ'0*NOID&p,lM)Ml<''V58GafuY -%3*aEGBN8cEAnrb`fr1lr&_In)=s`l_Gp[2&#i_s;^eU+EWKsPs)++!hf/9 -%o'keq;`N1d$PTbc'3c2&JoA+S\`mh*\WQbQXQ8?A4MQuaPaN>qFR0['QU.Ir9`<+s6`E%4&cO#\9F:(-X4#Q6PML8lK*PD7eOV_] -%fi[7P)c_a`>V_]7pnQUkbClW2q"E";7nCb535/']7i3/8R@".CTIQ3\RV>__mnBgt^C`mr>a8)X&>*.=mIe=P6uhKE&m8 -%3h'SH/J^f>jG>-Z`E+!q6Ii[]Qb'*Q6B2,uGmN#ci)N1o/4d66sWqNuA2UgZ-k,Ose!S\Ld*9M\##N8XU^6e.Td56N(,-s1X< -%S)&;s)sffuKM)@L`7<6B63m#4q^HCNbRaR2W4T(r4dtBJ-O"h4gd`SWGj!cE;W^Ec'edfA?E#[$I=e(;^:fCq[S'@>C_4BP^7]&sQKskcIEIF^K6sUKPNDkSI!+<]&'TM'0:WV9^1H>Fp1oD$j5muSc -%#Ab8)n9(TYPMo99j&ubh!QG[eA=1EH5".Z7p4M*A3QN/V-^h7sI8Vq*%[=FB9I6<1<*!BKX=2@f&3pRGTd]"B*]gg@*K3;X!U42< -%s1a%KMFauoKRV.ta/(d%l>E@Ph1?]0E8CDiNWGD_:shLo$7 -%SZoES!#oX+e:cUT$&F_SV:>>>LM3Y/CeLYqYtdlLBD"AIKcG*+fs-an#`4sfV3<\)M8"sS?DZTTekaHl]0nfgLph3m5;Ns6YknS0 -%Lt4o1N\d<`O?L`2aK]5eOHhU>KgR2&?E&OtYKt.&nK.(E67L)t:\r/P?+]_'aR'^rE5rWB:6@;^Sn;HuE!+G,M)%13%GS%ic)r$b -%BnJ;u+e(uRUW='Z1.nuXpfj:`R'/Wp],mr`]KJAT1\YuR'$AA:.qM_4,B@/4L"HFkYZ+))AKlIK-YtLR;Yp4/QQRh(l3.EQ0Qfo2)q5M_HQF*67HB+>0/_D$c*V<$ -%FG#g3JjT^BCH,]WU":E@OADn8`@WEFC9J32bM'F%GN1!B',NLs_4WfG,!LqO-8L_/h#=%(&"ror8n2@iDELlD -%F>n.dp/o@rat&I:n3rEdcXBS.R;s@#/L=^YNTl0X7K1D3i9%ii`(?dHi1iS`].)9R(k.?0LD,JNn\Hurnph%06Ig1^Re$u:.j$-X"W`ek(7k:$X -%c<"6"@qtKn\'VdHpQZD%U=>tmHb#A_Jp-Wf<$X_Y2Nb7fH0\d*Zq -%6.;]Q<)cX;$U+rX2Zt6LI[cQO>\q1I5[^o,=5d=d5ZH$pJl&1=YV+i8**(DTPQk31jP4`Bd3!2e;8lHGeUIBQ_GT1bOn\fN]%iAJ -%cAijD'D]13Gh.*CUV4fGab/m'.B%+T#fUHOX$CXdd)CGoDTnH:RH_"l,`nR<[u&gg(%@BVQB6q#)K9JV,2"T#nc;&MDR+8C]7/X6 -%>d4;)[@ieQ7IGs1N,[?4F__,Qk?@;t5'%3s;he@f)BU4?W5&Nnu=!\Es"H&5le+//#deJO`>Zn7H;fBq:"/U;*8p@6BH=/NoW\=XQ -%d*m/Y7Kg!M_/A$Q6rq-e:8KYO6GD7VB6^]`*V3rEWL#]@6;`_oD>9mQch>)_,_lLfF<7...?B.7YM#V&@NMKpAtlG[*H9tL4=C4- -%0=T9)'lFjPV/h(mi/J$3k=WAWEK6ISPlqFl4C@?jHaEYX5oP- -%)U;9bE`5a_+/LAud]1C_>g;FaNS8%npM9l1g\\\u>9_YN31aD-:?L+_V=\k?l9oMlR(`>ND?T#QeZ;^aX'Oa.Ge27f_q!jWRi1Pf -%&NeD"bN)/=;I5ed+EHkiSD$O@=Ne#Xd:")R>q5[]-N[cX,0177 -%7`^u9I8+0YBb9#eSRXln:2G!cTu]1OeuI?0__^7.C->Q'-QbI"#q)uDNRoT*FT`&8 -%1?AQGjDch"5KdnKghRMZ@u8^e?iu]:jH-_i=8/WiV9kk-&XG+!KK8JGl*%n$M*gd<6'+p;o=tp8 -%AFK_W$$[On!'A;6j)8W3j"&b2K_FK/U@Kr2]1qsAC^'c.PS:OU;ak`\nYif,m5PW>_G]_s_&S6WcI*jDSq]?]JVck7ZqiG? -%Te:9qr.iDJc%F=BTPd26qmckqV%&TlGd7.kE(e+s<>g^3,*uL`NJ[*^'8_!:=h"=#=O-Cn(^dnqjR*YG>`0FCN9Kl?&b]i9J2A8u -%+?7Cn2=5a/QJE_MlPObX$!,83/2/#`4h -%RkH+O'PVf?"9DKjn;CV8O>W^g>8]e>(*IfmdRV;Np8,k',k>Mg'\lO+H`b5s8iD -%TEc=KZi'poWfiC48lfdYIC.S#pV)Mb6GT&@p"+Q -%oX&Yrto`o,tH&5Ejs+T:F@@*-XZm-M,^b#L:mUXulT.32Se.aC\FBZfmRqo^P4(pNS -%ngcNPRfMs%NnVA-=!ai/OobQ9W;O.2B:g5bITUd"L8kG&"c-&n^54&dktAhXRY>fB`UiP/9V/ -%;gY*E@ga1(6LX_269LUX"UKh`B;gDk1($OX6Od?bJ/U/1UWSRZ$ -%Hr?f=fgI1oMf8=naQ?^!o"In7LHK9Q2_JB6MCa@k"&H@RTq)3QZtBs2>"qH;[[\!#RIpQ9(\sA4]`E4PVDMMki[!Dq!dE/;3PJ5[eOlU0Tg-QugZSK9UN=B: -%!1hK.DX-:!Sh(Wl.p[^"?lfjADi!Dk[mFT -%34?NO440&?am<\EoHPA\kc1:_,:X^OHU8?5>1kih"p,GeR#W`'o%b>b^LDO#a@cp]>6,<1Xbg9FgP=1;B.ck[oV8eN(h01&FcO -%_2d`B0E_qgem]67Jggf>aVuDdC%bQjGZNa=bW+,GKIj&>9=f;u]TBo%(nL)NX9LjSiJu:=@R[GjO#mE$K=Ra^ptbh=m.82fcc79U -%M&51TXd:i*SW+/#*0sW=i^PTDlE,1#RMu8oljb%$9$d#KZZ7UHfq_i)94LS:k_% -%St`2I$Dl)9]+=pr6q1JIojr$Wc8:+QJC2Wrp!Ru#F/H"Bf-UDC`238`g(*rY*.Ljg]"#Z6BZPah4=>b*I76tp4j]PJZXMijo<$BgK7%]F`6&CkLDEZINP+t@7d-Ae<7TYeUmBN)VMptnK%\>/U,jZ8PW4+o,# -%X41A2S3b`k!pKd3CW<5^;N3`E%re9D17Dk!3Fd1aI&DDD8LB>D(Ak4^"\D*[V3?_;%.;@j/J[8r&TQsTFSUU?R+HCa.ZB)%4:3't -%0d'e6l-)D2_^LmU_X;/"[PAEu'M*3EMk/Qe/C7&s:2^b>k2l)$=ZI+dQ(Rk=,6KRB=/Qu\XsK_eYnhV4/a@)!j&Fn08KK\8-]PJcT>VSa!-t[gVpqO+EJ\LR -%JmJIAG&DEQkh"?&F*]U#R&Z&bUMcUPe!fV.SKpeMLT8=YH'slg4pJr)'nr&roOVH8U-sNWEnfr^VaIF?IR!!])eMADD -%"ouhTrNKH`8Oh-0d5>=bg03+i&`Lmrc5kQNV_62QDRrEXgUpE,r<%Gp4P2F.)JX.0-\ePpKOW0C1&7 -%ldQS"(QX[#j-;DcAUt?3Df`=+p@YTF;i_%maoUm2TS-Ula`.IXY*#qHne;;5G+)nbrQ['?FXPd#Q6:K?%\X)&.K#FIM.^c4a?e(' -%'!F=TRg\8>+s?J-21hI\PT#$g'I%H]-KJ#nj!XfJWOuJ6D80?l!\a>..)`Ij&!;O$Vu%Ne&9N2IYT1TFr=9Nn^q9Lc;@kQoha[t3 -%?VC[`YC@,#%9^OWO+7/q#CeKW$kY7l+7-0qpc/<6:]4atG5omL0oYnciHfRf8cMqmV&00Xr3Jo/p%4kWc[UHBH$\pD"de@qs)%W, -%plGB!Gr9nnHhg9@s8,;;rq*+3=8;H4Ssa%)s62]*6W88GQdeI.YENDsKjDf'Cj,0qO:H5E^Wk:\-"5=bS9CVtO:n&%&lJeN7YdPV -%2d]+SB#49qj,3]IErSu4rJ+MbTJ,/E&g;VD(4FWuuXV&kX$ghVb.IlVp70@mNNTOhLYTX]s!W(:cj'0!C3muj#NPo?'GtCNtNQTOkH'>eO_+Ep^ -%d?9P+l6'35PUG;:6&#qdNM=F-(NOmCjjQ/pn6PX%n*K!Be*f?B:\)98Y7g>3r:K10I/N`rI!PYMXVS,I[HC@BFuc#LFXJXt#:%jb -%WH9PYjUq)+TM@:pe1BHtf@SeaR9u.XU!MdXXt[Tc(=TfrF]+,V=5ceuA]+l?SVp4LU,Aahb$M91QELu2p9kK;C_DhJT'Z+qI)e!6 -%+9(Z"s5MWPIUqp>_rkBUqiIBM2oARkGJ+h.Q:GI/13a,'*WA!Obe?9D#9LbL%"]ZV)c;=Sm:-#oN^7ud^usaC>uLulC3")%6b;, -%PHDTGn+cLW9=$5kZl(1.lT\26s10r7]Y=2WaR\WJna-(B)h$V`5OZpJSceAB#P0\)l"Bp]O_;&]LTuI_I0>j*mg^0^J*>VC>hh[B -%_i43ADP<`f!?B&/Y`24gId-n.C7W0ZpF\)eN*>)QJYJY,ZI3Tsa-u+Ln^S5q!grbRl10[=1bHm>Wa2*nt;BWD*T?V<[#?r5GdKlJC`1bou:8HXJCPM_qjfHL$XEs:RT'(N/ugksaOT@ihZcBi`[nb]cT -%A+\pr?755F<,s5M=7.VOlQ$f)bb/l,4f`8>p3L6IU[?e8k-+0EItVfjit#Ze!hG*r47,N@0]ssmft'df;c),i\AK-sFmSe"Q-X`< -%ZD<<=>r1TqLm*17k@3II5kQr=p@QI?pQ,m\e?R>@EIR)m?;JE[1WGkDf(9\[j&KJ<`/9F^f$8AMUd"WrA9S[E$0 -%nb&Rbg1h0EY)kC,+S\k6RJ%M$lXuuXQ2BkZWe&a@gC^`iOWFJ:_:qsmUCpuVNLr3?XnC9^2mIg(`e((.(IhuDI^msO+Zm+96omfa -%a^9PT&8/7"^f8PtK.j4$[:"_P7]!l54SO5C'om5Sn]YJ_5sTgW:_>57,L"eaUQ+itk$R1h(Gu"ZJkL_he\WJ0a9Xtn;(L<%`2AO< -%\"nRPM*AP1ou[p'p+AsW)(g(V9C7p_]eb9/o&o1$1h9c4PP9cq(2WjEo$4*)]eSi^g]6_r3(`5r@XB`M+'ch;P>F,HEs=tniBe(bSZlPp-f'3Ii6:$UiP-'l*sU''4bO=K&b46HY>ZdhUaZ'M?^iY6ltBE6LZit -%B>6F;oe0eg;"QN/d.VlD64,>u0V[GbmGm$gCZB'q;=!VgB1"3/XadrYri:sF;WPOjo(U@TrR`l;s7&JPn;fg/8-Bn('`?q?"<."% -%rEt'-OmoQ'nGB-PrprqciUKHgp=$d)S%M,6Y!os;FmWiEWuK@2&N?CQI/i*]2es5RH`(MWbYun5WZCeoW&QPc\W#SpK2K%"f@>^g -%E6]-EpDQn104`&+;jDiiO\1qVNm"%p;Q9C6q(apg`_(&nu%*4Eb?=NV\B1N_>+b -%_rfXTM^qUhAh81_'(RKWI:dfJZVsYLDH3^a04SOZ/]>%cOGZsESHl^LLJq'mCoLq_Y(heFC36E(rL1!eD;$pH;6pq -%+hT&^q-qF!hTO@K+gt;hisG)TNT>CeEB]g;\EoeV(^!lZT424U`sd4ZmI&P-ekQ?NC?egC'M-@;;[A8!q`>T5S)ZghM"2C!GQbp4 -%[XEGaM"ZJpqfl^7)%8M&)I3ag?qL#c52V;N&<$Mk,V!^nDnn*A]Um+.i^Eme-ek\!FUQ5b#gHp#Obif\*[sBAH7NMm1c1GeL*Z^/ -%G+!/<4tQoHS^aOW[\=oC5C&-9I-:1.s#fY@TD*2fC6h>u^:_(/HgNs.]MQp*1UcSlQ3/u9b3#W[X^&LHg40+U?@jQekKI7qm&c(. -%k&JUc!n1d,QbSJ4>\Mt$rd8\hN9%EMDbDa%#Is0B8mSkDD?<>0b2i6G7!7>%Fg4,g1[nS]K=Hi[/Q7o)Ungk?4cE -%o(g?*4Ca^T1\3`EATn"4cX/oj;2K\s0jl[&kJ`^Y?hoft;;NNk0h]d8(*J[MF$7jhOXK*PpTRH5&omhJ<;Sd5R0Tlb]1+dK*ESi] -%F_).DJL0D]VFu"eQdJoleVJZ+oHi(ho+>hN]];OEC/.jueXKP9fTDZWO'`pBhEBCLeF=&0Sc8A%IeD[K:Ohp#DgqA;[jP.G;0.U> -%W,]E$Bm\[9h:?h&1MS]4O5Ku!C.(\K&)/nU_-aRs)qj/e?CAoX5pR7,n(*L1&upu8E-.mF:eB"KfH0`,igl_:MnqgPf)Fr0INE3a -%h`UmfMI(IX7u]>Ji9c7A:&`d0r/#jQ*MREe`Yu,KQWO3]]1UnPj%[M1DqBm3IZX0eXKL?b8h#Q@F@%&1%I609[:CTTn.BJlf>?WIG\#:KTWa;]=or5*rHHEAi@C#?2r<&]"dW< -%s7l%(*prX$IQ5<=m+64-bMg:jrRS1MpMt0?H%YSG$bielpca/bqg*gCSNbtZnoIn[G$F\dhK\C,afqIom2`#Xb;iaEmh\aC-;Q<1 -%k(XJ3'l[U*^_L1qA7[UF6HO,;3?-[4CA5EGOiJg:5Xm>`aNIj*>7Q[KFcC^+caRlHci'GDmjEHD$_PfI(,M895Ko-(+CFba.8Ob! -%Ol&$]TXGfU!V#38bt(E$DLeuo(sY0'*?4+?'lA`^*h'Z")V(^?ID`W")3n>7Ee*IbcV^kC1obB=_2P+lnL]]_du%kI"o@(`6TEV;gopZDi?$E?IO&<$%(QbdY4HB*/]oNmQec*bW7]%Fg:&0XfM%7 -%<4:s/39G:gB?^7XhG1oMB4@J2UsS.(3K'E-d0O"+R#$-pCPgX.iaHu,C-Y"((gp$-O$gqd%NDU.p8$P_CJW*4;juV\S -%`IEAEW_gEX2-`)R6#aWtoa -%K8`Dkk8@E!?#8V_O[a[9p)'FjiNf'p5/Z6RD+Z1e^Ik!A3uDi"ekE%VV7+EJGGrf1-m3rW9Fo=d)Th'],d+= -%m@KJq\g0f5c4[O\W8MkBUM?JgE.2)/je-:e]LG'(k?GI_kC1a]pQN:]L!S'b2o_V%X[H1TdPbqji1-bL^3`?@mh[;uF**Ah*^NJ= -%p:?J3n^0`?Qg?:qjGY;nmC$ZkA<HarISiA9j!BQ*(m -%o,lU.TE!HN2D!JC5IJ-"p4d,\eOPqgDNP?HfOMHo=pLd>`WWuFUVn0pO$#\( -%=MT!l-UN(`F$#!%lOGnaP)@HPXk`L17aGIiq2[91X5^>>=Y@/(r"BIMd.U4):im*QFa-8F@V$Ah`Q@A7=fiS_7ht@#Yu'Zuc(L@Y -%HOi+5YZc:l&H+j2k0-HXc_1e.f/(U@C?/F3 -%>ZZInXDc,VB?Dm"G`6S[PL,]:pN2o"9"Z,Uh&ea_OETXsi@2Q>;/k\fdFL.YA1-2H?P73+]UU_c?KV8rARJ<_bC;AK\G_-JPl4-^V5e5EWL!b?8,i+nl -%2UZON"V"bRCpFnTCmLGP?'N:^G9Ki_iiJtGb]"^<4?2Obl$/u[W0OZ;)a/@!`m=89fFE&Z=KN$1P!#-T\=ihS'c>KS7&$bD%'Q@XpBS6hA287U_G+;>a_TGbCi)!h(K/Z[o)4L;CigZI:*%NBaAb:nu\FWaZs$9a]4l\>qr*_f*%%51,&*Cn\ig1 -%of]&2VQt1!pdKWULO>^/>PK`.Y=:Jm8'a!0.'<.ooi+CoSJKHEkd1o4C=%*EbQ7>=/?L2'Jk"dO\P,RtiBdPBX(N`LM0-RNOGKl5 -%;bC;mWU=YD`=2G9=G72-fQc<_a-J51TUqr[*.A2((KEmp"E6om-m4TWmNIfADFE\tN.euK.Ku,j3TZ3oqu,DYOScKhP:`>"7+Mc* -%THM)q\^_'3JC52@qBt'BFk*a1CFt7,4t@!dF0,1Ig+.7d-/CH6F+FGR"dSAWBOJ"s)>.d4?*m#"el2^^,Ou%374m'&C^DQ%cQ`*h -%fI9E^=bJL87D-89#btIM:CbJ_cYP6?/@2aJO1oB&sAQK-E`a:'(5+HVO&@UfWgP#s!_O^eUON[(,iDjVtS8/G+`oM=D68F5Uq8 -%-tJ9Fc0JQFel^KA7A1=/?_(K,R*en-IL=YdRnCZOH01VJOks4OQ'&f>?GjB:h(!ro_ZZ8R(=3V;cD(D]TG$H4lNoiA?t`h8Z!?rA -%9T;=*/-U9Q&dg"[8SXuF_X8/J%Rbapgmj!uA?#()&Oc\Xb(@3I&=CYGZUP4NB$&Gbes1n.E#S`1J'1I<:^:[S!:1A;*jAJ6-Hi]P -%3AM1KDjdI9::+!&ap]]6SV2O&F^W(@9aB>O+Ai2W(c'P"[j9*5BXOsP:atC3kN-5&LcukVXJKO+J.bC=:eDWFU6osrpJM.NiG;KD -%>GX.";CLZ%\q,^K!m""MW%_B,bUX_<9]T^;WjTnP&IFY(;G;)o\[P_9WsDZeE;RNC?j]Wi<#[K64d6BkLM+RU/$&qHQD[3G3('4$&j!.R2U=Y'\osPr^*hX62#0cbp4kaJdN];2sN&:8#i*@+O69M19Gn= -%.'X8^lB#+90U+O[$PAP%BS>RLVNh%OV\RR*Ag%RV8C'hkdMn:k,Xd4YZ,>]m&ol2.JDnH*\qTd6gcB0*>)FGj7tFRGG;tQi!;D%j -%,ccgUEM4Oq\-=*>Vf7-MB[]p!R5#+;@j:hG\e8_Ljo2\mWN;pEN>]pngG>u0JA!lQnO%"j$j3YU$F#RW@PPEB.-9DRXgj%72(K5"+%c1 -%A]1;Yr-Z>`9Q=2):s8tC:@KIR_M+Cb=#1(5qUdOZi0%?!=PPOJT[$YtlT_4lt&0>r:Ee>jCI%?P<;A.GKHYL-j= -%;(!3%>;6?-k2Ic,*8XfT.[(fP+WL]^Z)H(ojXo];C!@Sa;9&EQ$tdU0?7"KF9,='qb#OodT4pgra89RC^0?CD6GFt42e_(MAs1k; -%TkH4hp4q]7.\#KZ4(S+$0CgNld32tGW`EsFYU3Zp)JUOq3/kc%iP(EZ6o<_V9CPfV.5qXGDHEG%QVLTJs -%E`=5i'G?J)U?`3+mRaO8gS;gqO>B^RfM\RJSj9+TY2OV?H*/h18>Nc%^-BbZ(Fpfm6=,Q@Ih]40NfQ:=de'&&W$r]]k_9_t;Rm6a -%rO$GL5#K5%f.rn;4*4m2O'2=LUFQKob3A<6D#u5-6BWb:=)d/XAdmUMDDt@ -%rFBkl+Y*n??;t?dZltN;)l>hnKhK*M>B>=U5E"^D\!GVuhTVF\hRSAeCkY9Jtn&tt!6OY\hh>pqb5:K1@^O@GA4 -%5%g^_9#3o7"O`?3(kCk8=Gjf1Vj4&I!4el'`.ii%IR_2LdfrP-g6O*8lB,51;+QK\47r)$^]Eo2`CK_JXC"ikntNtOMdW(>r%;^MOTEC9%n(f/qss="[""Ab\Nq-;Lh<08K^.8=X.'Y>mM`2.tc97>nk)+Vq5:G2GUbK -%3%,UZ:pEk5rV(::r82nd-U/kA]*V)f'1JjfEmK]:j^9h*Q7unS5oh**X\UCZ(c@j5ekPcLH$9L -%$nk%VK1mJ"4&65>3E(o0g:C7T.kT2t$U8uaEOJHB+B8jsH6 -%R4/=kn)V4ipu!>0KP$>S^:9Oc'q2tk"6b:TK]"s/dTlKD4Esl1]qr`]jFJ82=_WZ -%/_/oKQBSq>m9L]>(*,T=>4bW[Yf;:CX(%#Eg7TkAUdb@7]H7341s^gU=jR;knlG;Vo*dkAG+IV=fui20V43h&sSMTXs]^V38l0t2]9[7A]Q!/>/P -%HCYB`KIqI48@0[66Y$oYQ5XeX2QBG0$H#3IK1Zcq>t]ut&W?`Q$B1>Sla1/53#ZIC&K-?,Mi<+_.>I%Kg+\qOW[T7HTN'#=B38d\ -%d"HSj.M'1NZ!M(7FO6&dXiYE'MQ>#93QH>[MO>+B47/1gk+c=,;gjj\5(Y<6[fK1 -%L0:((ECicZ23$SEH$NUG!IZ%HG+@U)WtGtS_R9ZXniEh(m*/'G&?hJZ(sK)p5YH>L_-G'4SiPl,g,poV.5k^EirbWfNO8mu,kN"+ -%']9=fMXQ.*I0@\Z0!.RO>[-/>@AjMo1__,?AK%Jh+``J4?V]^CZk/!)$u!PP>Q?UJZ(`aMb70nMacREX>$30Q,75c3"Y%hK/U;)5 -%"^#PZdmg -%MKr#P8<0Gnj7M7s$l#"McDp%e&>3Hc&o>29$B<"-AHtg@5;m$4F])M32./,nO=6[SdVO+(S)PF)TktFnmM:<,_Tc<`:Kgef\^F# -%7=?Y#E2';$+\HYnr-U*"Hog1`Z0IAiOhU[iQ%:80j%VrPc0Ud`OV`()m\Fq)PP^cRQCte7Y\jgI52@M5QOF0B`1B\I9h3a1H:F%no#n&@c72lX0YW]ZAORu$Z/WI&$4t@Dc#rh0Il)OYX3"A>D@kLenY8d(Olq_In&IZZ>U(V93Dpak.R]D,SY)-bfQj&j9)6['B!\e-o-nL -%!#;=VPbK6M:l3$J;atdCk[Z\-C,E]-?9F9R4h^$3,>'Qj?HEu7-A2RsJ[V>JTSP<%X$A=iY)Hdt)I=)M;(i5F6k;PY.B,VS:dt?D -%2p7)eOfYM"%CNDSLUX'U[G#u#b=su*VcDne(.bQRjWGo*Z#UN6^Z,r)nQVt]L[QT0n*r_rM!,q$6Nh!h16kEeR(pjuZOYBBQ;q]] -%1">!EZ9s>3!U`R7_=h?4"A,C%52+d'+UBD%4+JdN.\93u#uZR]$3g%'&X52QTSbN^4.pt!=)fh5aoTpa?#a]EK%8d%&$]1@,gnB? -%=o]75;&QHWJK'!=?R1q9@'e&kgf5!D*sd)W:g]G)8nG6O't)PC`Tt+`4i^t>4l5IG0FTpW2N9a]ih4Ik>)OlHBNO*7!c`F# -%HGo>--D3s\8b>a"im.&QPn?$G`FQm+B97q?oFL!Y&G06;D7&AFKF1;-m@+]F$)`!h+a]_Ki;rU4X/`"TSDk"\_DP9I%(i^[g8f?e -%aRt,6mDD:h(1IE5#R,/S3,pR60H)&mMqnK#FOA;FRuC?<4c!eTI=UPCRFT5Rlpme8OJ\7fc/u$r(n$L.f[^H3b+4Yd>A/94Wm6BC -%*GPo5d?rAq^R-h6aGE`'=A8s>&L&JZ4u[XHddYb^AD7[n[Y3J)-m7qW4PZoT\9$&:kCV[<`PS/RKf^%VG:F0l<#j\m0XtUin;[g, -%YYnc6:s$tPFeJuLR:j_n(Xr;H^qafdda76Y)"k3YVZpa,SYA.^ll[X*L=LkE#=Fej*OL]U^>o*2:8@dlYG0J.WPB'<3^(?I3KD[R%&K(H%g,nq+Nc(h#A@,EAkO2\H^Oe%oK)U$J]p9d58 -%VQ6-0_m66Pdu#anBChe9X%NKc[\ca8C+!`Z0*%1f>-aRE-'mYY"q\KIGf@g'=e1I?^i -%68?WL2MCP"KuuhN;K8Fn`%9G(BrnhG/\-FI$3#76d4X]$X_TEnXpJ=5(o/Vk1'BZUmNegLWGC?q^!&$X,!T9l&Yk-OQk^f:U*GuL -%#*]Kd&6+l+qia?QNf/XXP,srNPg'[`GUEQpcK@f-Ul["*abn#=Ou7duE2&&h9@^YJ7o`.*7G3mQS@)Do5S`o6bM`j9_E4VtmVk>I -%;T?/]d,_WohFH^A4Q=dm9Hrg[#%Pj+;37.a2AN+?R&C!K7f5m';Q2r^AsP&(H!+f#cV-1MkTm5Upo>[tO8N5r='[&P@6#!P+a4&N -%_DnIe!<>M*YpS#L?J)[<'s.a0c[gcO+aI5l^T0-t6A7MjYq6i1+oL4?Hanq>g5A(qK1nW*?`_8Lqb4ZHu72-@Xai\(JaNclplNj,Li,%X>+-_K-i6;?1SP'BFj7'$^[#Z-IPY0*oSm"^,LMg78orD4)!B13ML -%Hrb50We/_;)6j;fb??m+fZF>s#o!6bPdhnJRg`P>BaZRf\>A<"R35D1W$6j[?023NG?fJ^Jd]`lBdpLrE\0cY>8cf>Xq9r3;<[\* -%n]?&G;i_TK1a@bpJ49uiB_ZRhA7_0k)G#*l^H:"IX-H=W937Q554imXVNN3'u,7qEij@Th4oP+lE1 -%Y9TSOks^I@+GBp$ifSrb.;>h?/4^!r]`mo.j.j`,!"cRY6OSs\>l>aXi=Q9h(39tr24)0UU*Z%i0>KOt3/pcA),^S+#sc5;@+;-4 -%a@Xe!l"$NE&:b/_AB228=gC:J6T,mWpnA03Dn?D..MAm#p?U!?4&(f3@me2H9_l5==J%%C/d/%8QV/JA/_rml;5nHPS;tkW"-7pET0`&CP!-QcVlhW>V0Ilkg;mJMth#KOY\2Y'+U$C -%-Mc/(\;(`-4]T=;>dDT=@Kd)#g6 -%>*0<%UX\X!Tb8q"a\oQ^7S5Y[_>mWi`HO-GT*r[Sl7@5P@N@[H;>&d7Z8r3Aa_Z(Q<-c=:7Puui3*Aij!3%MLq;Z -%!uIA#bNP7K63HS]6j>s):Fa(G=Lm?mdJ0BLII/6U1"=V8?o`%;DN%n1=e`WP;AI] -%UA9`Z&.hY=c`:d#R&FTr,<2ho4_*03##QpK@Snqp%N`Pl!7I;LlFJI@`>ib9?!9k2je`@s7kZ#+ -%$206FCqYiI_qQkoGqSu<:RXt2HeEZl\4fMf_d+e##16odGM&<*A33W+?ZrL?ZH4B_D`&#\1HkmVda\HcL?35 -%J.#:^L_@9G;E;5h7KDM.Z=&TD[_o'\%X8d-Pt?h"$r&E.p=RY_E=^2+KMrHE7rD4h=9^Hj\6%Slc`u5tQ\pK20I9d0E9'UPI`>:t -%>T=tS#f62XgSd'D'P9_L:o%!rcmE8/1GZr5<_q:7$@\=6hP-*6-(/]bVSXA^Z.FnYT4NB,CC$sRjVX@ISaKc8I$9?!hX\jMRQJi%t_ -%Sb`7tD4kBg:=qU#Ys@7W3"h&sSR%I?d81c+Yo[rV#up"5I\3GKZ2W\I2.I/UZ'cre\RpZn2-^NhMU;gqa==U")0dVs8 -%*;9KnN!W*`8IGes!8%fBYgMH)XD^"oO4LY^^)!#XeDV;]Rbh\j4nKoBGDB'd*hr"uFI[c2[P -%F*V,_mo$a@;PH.!kJKt]Hsm#I4;l"6r*b/b<5nnT"R$?Xc^?72,=-1^#F/UJ9=7A2-'?0*3Su%-mia0rnj+Sr.U]KflkE\A62@;k -%WU1\i$g!a"%ch'R;U-9'KP=oDjIp'U&`bsi,aKaiE!;k4i^X%,VC`kWGoS:LO[NZT8%1<7(3L]B@3j869uJH2^28g'H]oBTL>03RMAX6:Zmt@6]eIJU4Xr!N[a/(^,n4D&mIJL$JDsIgf`I-$P@]Zk))..RobuB7uRYX'4qsV3,W?cXFg]BcTgUW`V;s -%n-U70TIUEj6&])[lW_^d!B]RbSa$3Nq\SF]&(38i29I@jn)3ZHOWEI$&/r -%"YPod",h'^ke11gLQ+sG8gQ<3bfl"3Kn?/M\3XMqb3DN.WDb/*'EJSUi.Oq=&=X'u-/_XQj/nroM`pm4bAEr7E#]bjc=Tfb*L@?' -%Esoc;PR197afK"7_*"sE5XlrI#.0/*GuOe>OFoEgeh3n:-EBBp$6K?1E"AjH9n%#&>&=^[b8]Lj`g/fn",&7!OP@e,o)%02f5g]t -%YdHT:4$_@hqK?kd]TMR]hAm_Q=g6Q[Ng@Y_D51c)I0UTm9&Br,Q5dJbr9S75;tMW= -%mf5Gml.\_RhD*gPh?U\BpG1Zd#-cc+i6CHre8"r42[gG0*8cUi(d!WDK_hN;U5slu_D+UV!g3Vj2%?046Qk@tdf;0n*nAF]`dl$L -%F`Ij60Bi7MO6l.m7hK*X4(*[2j\mPl.O_a"Z"N_9U"SJib[(k]_ht!kQ@5/QAhW?'l)>LBr -%V$'\.ETA7CCSh54gI/k1ppc9N2[blU'dJHp\5&MYRm/ql$N.#:Z=&V%)15k0DHZq2i@.U8`pn/d_n?U8-fG)fOs_66Jn/n4#+:gQ -%Re7T?m%P%t-8Vi)k@YYnJS>/-%GZ<@(niH\CHu@KC0#3PE%Nig4RgIGd*W$M^55OoOBAe;h9+2E(jR[d^k?M9Bq)V_;Xb>PSEb6J -%U).eaZSiOL4XlL+2fjM@s*pm9=:m%ZUFOuKEi>Sr9-[pA?Tpo1d])--C[>)o*h%s0JFa9 -%;JW(tcR:NMopc_^D:G[B\LC?M)J6NN3VF_)G\]e0'd5CJ]O+7#N0ISoJK]Wr;Mg<`_^/A(klK3^]u'Q\j^=%/cKZ`\8uN#Git+oq -%FuJ%QcilTM97ar7A&i\r=eLW$0b]HFlQKAJ>@30k+g4igssC'K<`j-nJUPe -%kh7@a3`3`F'$g^sCDpS0[=mcmP`-:2p@F^V)%7M0`!)Q?eLTCE0HLY[HV7fu_&=G5'*h]8K7gr.n)@kKCPejRe$m[,A0R`OCP7S:;aUhOOOcg^L#hYqf`XM+Gg/^pFU^a2.c(^"W+c(Dn?5O(NXYoOQjJZroNQF676i(JJ;%bN -%D?Qqj^?#Cu=u&Z;ZJ^"2dC^t2I"A$s!=ofA@[4$l,&SZl)[dH+IAaq2L2h:eR0DBu;cZ1o-k:,s-A`YI42BXiYZA?`]Q-@Cj]JEseTaCrD@hg5Vi+'/!.jIMRU]G!e'd1'5 -%'OM#[(hD.&`1fjKCGWk]kecope;IAoM?jIF&qF7X(d9a4,7L)KS2\VH@=Q+=C5MYqMGVDTI4[+i^"q-,7rAq*1P:u)`sm,. -%8R]FP9s_/3HpF?o+m&u9YqfDrd9WMXXKV!6(*S3;Fs+N.$)4.I@::M(TnG^D6'O^#C-Z'NVS#6MV,,"L$LT4Eka?kQ#t[*33]ddZ -%DqUR)2Dti/k;$)lR>=t:D)`5r-C=QBSHE\EFYFYrBpuO)?o+uDfdOduE02!;9Z*,V;?m5PLrgkn&P)#:L+uL6rEUt\n!$<#8W4V6 -%BnK6]USK>k9Kc.mNG3MXh+fOI-mO/mjDYnm6u'(&XmKt3@`I!E<3%@_@]))MtC"0 -%aXenZ0Jbfi&k]&Odh+dK,_f[b2J9'LF9+Jt!%f0/%8[`^]u+Oo2'W\Q%IF38c%KS+698',OS48nD5oc#5VNgM2aSF5^g%1/-VBf6 -%LH6ZR6)tPaVp6Qi)EQcX,StK_'($_cZ@S*NOGI)qOL^"if:5F!i&8IA?T^iGl39fJ;T3_eG=%L=cDJ;qX1l-;9,74a5]BRhn8N'^ -%,/ipS]5Ue*8TAGJPN5f!YaLbB;(")A!,*V^s$E""2HHJkpi)mP/qTNC'1-`T08Z:H$JMEi?T8'rUIIGn@Sf3Z>>Qlg\mR/DJo/c? -%.g3Lu.97a&GUj_A24949:-[Db?q[IYZ.:3ppe0hgGW0fIZnDhJG=iNf0.VufC;pLP3>Pe,Wd"k(0""lRk#.u1:JNa9Xjttla9l\q -%>FQig&CRVP@-.0=N9k0BIb@^Q=%:h"X9PDUdYg-J400-tK=;k]_$';>W\R3-lU.MW2brQ*PEu/`UI$YH-T`ZtfA\Wi)&97;..dLk -%p$?A'A!g?m(m8cL7@(kLdmW'UUa;JT6%Yrd;'DW__Umd(Y1`_6I=)g-b*p8%8Zm]1!D=1uc/?,-WD[%ch"=;_s29k/!p1"X+,7.uE/^5aY+q0=@ICg;`W;h9:h5\B+$JaUdmB?Y= -%;:Rh0_"?10dgAcONB9slNN9>KMg)W?]A?38l\+)r`qDIP%THr=Fl(,gm__)E(VVC7fNpF!1W>mAlO)iWma^8P]/L_aY/$)k*N#gU -%VQWcoq"1uMC@aC0\a@\tC?CY^m+n%(;h6BImWo%[Yo5^'^ogXHk7uWX20Q#%gTJQaa+*u=.JiB5#9T?! -%s1oejdlXu5=FB$/5P;8tJ,)G@#ajk8qX8O*p^i)`5u%mb9u([9(X:#=$Nu?2ffmRd#V'gOJu?hYH<'hs`j;s,@u[JIV06q!$]2_a"-%hq:,q?^X.UM=(n( -%s6m^MDR2AD]^I)[pt4rVhtbMIO8[i\D*.C*,:>\To)-\gr76cjs1s]lm*Gi)0E8q.r7ZkNJ)b`Zh.5RV4`KbQ07WFP[n]*Xled3j -%dm&3C@/(TkrSRcJ?hs8>?Z#i6,I9?.q*2K=KLZ,n*r>BqZo`6aa"Mr<]rt\/IH^1XI/`LTr$lglNQ@M8P+RRe++!/3lehU)Q")V* -%%R'I.Rm6`MFmq?(n`H&BWk\Q)q((8;?hr+\hDh>8q^MNaO5@V?;>U7,!U6[Q&),cFC4E\h:/nHi?/PM+)kVRu -%F?gA\fO+U5?U&bn2kkm755a3FhWp+2(+k^XY5MWWp]0K*lg64;nA2BGr8955q9:kE5Bcm_+2%.)ci*M7+$?e,o(D,$GkZ!GrV<5? -%ht`i)qU$Muq\dQ"GHAL`+2mfdp@,%?IfDK:\G#aY1C(-jmsakL+!'1)%XmtjDnZ&5U\Ff\UY"E#cis/Cn]pmCr5u:d)a%[1lG*?p5PV?>3`g43rloZ%s4u9[+'n=dn;I:Bf73)ks7&VJ^&@Bnhu2^'f1nN8ritE@ -%P>>NK]^`+B^%M'M?iAcX2AQ`3hWNYcWFqfLm[6j7qU#O,&NQMf55Yt.$27)2DOCC<`gd!j,>WJ!!J<4Mq!ummL@QdFKfY2!3H?re -%i1%PIj1^2fFAa6S)oLL<$NW5&=f%Op`4$4_A4TMG&`9`P-Rp634:`HP(.'JTU_j0IduO3d;.KiN;lOh/^Gpo,)m1[kpAc;('AV@t -%Y<.%H3<.kIZ%:@[lRQKLaBp]t&.u1)bCU$llB:1`P;QkR^7m_/.PXP[c`8RMUurX0>71W2K!H;hn$-r)*C\#4[:<^d6:d&aL4Ue8T$>,8N2)58AF.N"h_I5;VE9,ZO)U8b??D]?0M@GE[FbnK] -%ap\c6[UsKn#$\$VR>0MtXN_<'G]=aJkqkDLVE7>/!ZEq1p6Jd+CYcs?'mua>jkf!Q0D*Vc8Vpi,S:pHd@L7Rs< -%MEAB*C6\4KA*]7D&5HDkpghgAU^*)ajcQUj:UDmNDpHc17TUsji8aJZ_&UKskfAsiY>L-X\c#N#-1#059"48"V&m1Y!!,O!;g#dr -%=HBXfHEs;'MacuOeOkY%SZH$%OL^"/965.:C\PnM?+h/9F_q"SI4).)WlFZ0fK/kV\(b#&/LK&i,)5V-is=9Os,KVDe`V87oDNiV -%d-b54SW*ZqnWTBYc`Q+]9@(n-f)1$D/\KeP%[;P'A:JH=.=&ALD-V#PPB6]Aq5CC"geY+*2nI,qiWhC-7We/f(6T#m;?^i:Sc6nSaSC9=5-\T1N`Nj03iLQTa!#`oeH17F@QU?VPQG -%G$<&/NUR;jSA>hsRY2C$IVGS;%loXer2\f2%X!Jl?:o>#8nPp"b1.@mhRM6CDo2"tgo(sETlu[G2ZgX.bGqL>FCt+D0-.ODQIlgf -%`E[*j1RE`(b,h$&\Ub5'J$H_AQ=R@.DcGAT\3\HKDJ:o,'\e1gNjFt;C@B%^L]=/s;)?k2@(4joUMI"THCQ;BM)$YVRd-1P[$oub:Pg.6'T7e8M?ZCaIpQ[:Zd^Hcp% -%X%fMcBt]Ghdc"X]H5Q#Y/Zn`AI[/fGjr;gkcAh,Wf0K -%GN\jWADkjm(j"kU6<=>i8LumWNS:HenP?/n(`6^CO(E,f`F+DT2Y)P[G\B$gq?RDB3]dnQ^1h-`(01lE2-W<"KDhjK5Gi@+G^jV'h(Fp'6H(?(ab -%CWR73bi.W]QB1U2Ol7saF+)?H -%H-7UGBU[Z!FmR+ak/Om_p_IKU>)`*p_]p%I@1-R'hs2nt[0Q"TF:8&Ul_?[<"212!n)&E]$a&P0e:erQ&`[*FaU[YOO!ZM4[0M.Q -%F;oS47?.!dSK4&7[JM!([Z3*bouX6:4@J9B=YF0"kQ -%X+\#`-[W,Hp@hPinE`,mI:!+\b#N5>G(?t-h)'Bg")GA^\;I+)uS,"-J2GP -%4QXQ=nZI/;ml01t3sHeaJSr$jk_n%Z2k6j25PN6.e4k)#rRiL`(Ao-LkF(^[$QU:df3WgkG4KHZou;6;i3Of7?1ZMCqFAWkQG9\@ -%A\qtuI"8dLm+6GWCn,Yln#>6Lek2P!p%H^ck3a3Z44mL+?CnhT\$`?pbt]koM<3e2N.E1'Y4qnCCAHZjTKohKQjbg@.0TRRa_V8L -%3F-):^eClSK36??..ZH@4*+r["pB+tjPj'IZ$0u2#DsS*^B4q10^UKg6L7URs4X`OPaefS!)j;EiJ'^5=u/nR]YZ3=s$bEG=M=b;%aPR -%UJHs\naU3MGg&#C0n&]9:8be2g59>sSnbI3F;hXQf:c]CbGM7+8,8!qeQum*5cK#D-,8)="F4E4q<:rWqU/c]O:/0ca;q0JR@PUe -%d(?9g@@-E*41\PN_)%K)'+SlALbJaS3oH'_7jX2C-A\TbCQo[WPc$-=j= -%agbZgCWl=_Q$-qC`*Z2DBm7ntg>0U7*pc,'fNT-AU))PQ%2slMePiU9rDm]Vi\LYYo!:?iiN5!W*FI@GNTQm(f@2PrH$6pPDmi+c -%K$V`N]<01$^9Bn[02+"'hn%D/He.;8W@r,a#(:s&HR&'oQ(745)O%PfCX!gtYF8u"H,;Q`Q'/#YgXpl`ikqe%i9I_s-[3Oc_1?(= -%4BhZ,(FF*>LUaf\gtNuqYX@38lT3XuN@)9*98bjc@)e]/kBj#oh84h(lVI9&!r%#Tn&7"j!8U6'9CP.KI>Zq.]d)We]ZfpUc]ksq -%$Q$@##Kr1s_6Ol(7[b:GL)Yoj.+FQhf(+7#A)&ZBMCsbA2lfcm52X*R>3#I(Rs]PQq8W+#gVXo;[/J*ai^]gQTbrQJ)m!8l-T^Q4 -%bPmL;E*C$,3>%EKfW*Y`f3;IaFRFkZG6jYH?P^RUSk@V<[=5_HBK)+_m=g7#pPrs2IpB)S];.=?fG/P1q5Nuh[#6.rsAco`1ME4,nU`rV#A@,$0[64ok80QHboe$$`?=/:U2o0)1 -%%lUe\d@8Tc.p#,qCc?*4?Q:m`UX709Ao6,,=_j_FFg#ZV5''NAqieMJ?>T>i$O`N[am$gI4)1_.;p29_>AbdY[,)W=[QN3RR>^sH -%Knug'[p"at]I;fc2K5g^]T5[!>AgMt'PL+_:dAl7FIPq@.3M1krOsa]),BY&%JJYiIn/=u&Q"eH%,b\WRc;`n\gE4!&tG$OOI+G1 -%B/6O^NNV<%5Rt+=6ZgZ`.3m1pcAt"R$UnX-r<'S+aZ-bUf*9?E@s&>b>kZ9^iLYVkm]9AhAq\_`ECnjup[YnIhbk_\OL9I[M/E!l -%:2/qK\=^ilR3r3*p_u*36YH*3VCKhV=7AE1q>]K$pm.[L+SRaiVi^#/lcofs\(Pb_kd:&YD&SlI([D -%:>"_#+"oi;heYR;,Psg@DD7s8hCI6.o&Q)ri9!1ZjX4)>_^T[plK9%]*2o<:8o8MX/GQ2g-STXYr9> -%U&$_HJUR:dG%sZnGIPDTI?&W!Id(rdiBh=Y#bQeMPQG:'e$=:r>4@Sj'4:BmL9Lmu!?M]m:t#9A;eLfLP,8JKPsMUnUDXl` -%]hhPO(\GG?d7O[YVbO"-NF-#4&VHs1)#oJYF:`I.1L[\5?r&^h5FaFJ$jA7UFfGtc0L!`>nCW?E0!lD37)R\^EN78EURX]8K*Xd4.,jZ2e1Ds8o1KUM07;/WB9P_j_mYM%ls)L?tA0+j9kh@53[<`4$6YL#Oo -%oZEsG.8Uk%Jau!VdqX51J:)4aE24Q&6:4^1APB>_o+&?gP-A'pa5+n`.$ -%jLK`7HbD;B>c'/oc-,R)E=87j;>(,*T$nED;[!"Q:sF>b^qi]C!hkBe^0+sCf"N+@k' -%]^XFm"FOMk@'eYLoqB%a[#VqZRhS8YU0:gmdPJg)9J3Jj=5bjdUk#`J:tF$,>Dp4FqL/u[NG`dYMs%->!Nd`aLddoMh/=jR(T/f3 -%jMmOq`\\WIa4HqdKoH?E8n:5^7TUU#b81=6SC\:k>);U;FSX.`Oe4tV8aZ%H=k*"CM%U/ -%WL9,kFCp-"qA:>_ArOHO-Ak#BaUU*_3VM=R0XQ3El8:2=;[^&P*RLVSnD`isKjG"AqLI)lP2Ffo$#=5)L(WkJ<`bK_)h[8c7D8H) -%O]@?%gS0M^p^$dP6VDBj>Zg;C*5eP]e!`GU>&I/^FK%7M=J0%!-Bjs:FT%AshJN56>-HaAL-)4"Lusl8IjQP39`X`TjaE&BWkRlI -%X)p@OWo%#b3Rb[mRu&=Z/gYb=>?0QXqDFsJI-TDY9hE:(roQWZ-3g5=L,2Ar8bn<7\"2Y+'1:_*iSfe(?e9RHrTF$NNVo,%q$AqQ]QL2Z=2.^pQ'k*WD#5X/*+YeV+;cmUFJj;9in@n+Rr4XU9K:WD@\U[Q;*e<_1gV!5Q8"kc[\13OfLOX3724U(mS'1e%4o -%h2eRg^WQSoqs1@?hLJDpRVU*Kmbh&Si8pd[=-#uUkUYTC8.C1XQ_-G<*9d=j\"g^FaOqdcmk659\j".cr!-3=W*_Q*F`N5+%D7I( -%%`d;!q"`kAMEF(O_B7d$X0LFu1s!D8o3.MufA\+^XhNEhC9`1bPPn@@45CuSKO"MTlR_a6?-+rbUSFo>(\4<;g43mui7TJ)2IU\l'ERhD-0J(Y:8]-1A*ks^H48fRnh;>>^r8qt87Pf2aF2Ra)T?GPhmqg]t$iW]i -%)9dQs\%"/VVF[W:]E.;s9cMgZ=,$V,886$!c],'n)uG+J:#BG*h6;4mf%iJ`=$,g3qs,ZL(1$:/op`(I+Lpn#`f7-Xc"icu)CfZT -%Xb+ZaipFupPaC'.SYtS`CtA!qc+6=U;Dr;oOj4\"T\B*>bAM$UQa,*nEMSrGRV22+0!!e,*4_mWY%Fbd$b_+X6dN3D%F4Y$GgkKU -%WIffU=)Apqa8S-/rSdI!3OX/+`7hn:7*6-9Wld(M\N`l[ECloi=QhX=Mb18,l1G^RoMrQY2!]9>$Vm%6+cL'%'q&>lD\gl3e#[O0 -%2U/lgIU8)u)jtf0!@co-)L`Bh\,@,tMi#$]*P&3&1!$nWWp8..nlc:g-ut&r:]lgFgtH.ID3/#F"L#/ce,uY;eoPA;c -%BsUm\Aqsc/IESEp[6!WW[-'p5d-.i<8(3bY6ohYBR@71qMpXE?`0o])g7Y@odp>dJm7*9df/fRGmJ7mhA&d2k/`8ul()i`5[lL-L -%LYh:##P4V]Ku'!V=4,YSetS;^bt`W)O$0FC^>S22Fl.b>]s?()Xg\'b>=n9qX1n^>cEQGka/H8*0c0EWgF_]B+2LXcW/Q5+C%7UY"L]d%UV8XJ*Tl3[P9\$;0i/@JtmPcF#/T4?[]N9\_.n.RuJ]b`E+rPcM($g -%>Ku8ps8Sp2=R7Mk6@jV>]nRs0H@E9\]-k*$Qd=Zp0B%Cf^qbOcd8-ab-`ItpEbR^b -%3J4NM#[Rt^V5L,[QeM3mqp8mQ:S(fp_R*YNLB7GTl]h-A#?)5iGNfk[,WcHSlG)rp?`Ts*pq?.EAcK54k9)bCd::;[(GTPb"IV&e -%2YZ%5aUlDHC;?7B8DK^eb%*F)o?&/,d&ff6YB;;D_aZM.IV//.3XY'cpka[!P:'-_rSkNk_*#Sh?W\*GDnlQt`pX^O_S_;6Dr=60 -%MqT<68X'q0muZQi6(4#nK9+6$^'g'JbmRn5I5Wk;j-G8iTd/_>f3=Ufurs6nrn2U!nqGQbtUqfY"K&>t@ -%SXqk>rrM_*I:W~> -%AI9_PrivateDataEnd diff --git a/Manual_tools/format/eps_tabs/cc_FunctionObjectClass.pdf b/Manual_tools/format/eps_tabs/cc_FunctionObjectClass.pdf deleted file mode 100644 index 5d00994fd63..00000000000 --- a/Manual_tools/format/eps_tabs/cc_FunctionObjectClass.pdf +++ /dev/null @@ -1,79 +0,0 @@ -%PDF-1.3 -%Çì¢ -6 0 obj -<> -stream -xœPAnÂ@ ¼ûsl‘0v²»ì^[QÎ@$Î(*ˆP‘€ø~½QƒÊ ía<–g<^a…ä÷‡uKš­šžVVnI e(xŽ–œ<Èi ‡”’7ö\?†Î$Öü º†k%7/B@.L¢(Sà$>ë„#ºoÚO,EÌ)”cÂýÉg½|ÉccÛº@‡G¨[|TfnTQísre Ó¥cU_ÀqòQl¬¥·ÏÓ®ïß«c>OØG‡éˆÖqKKö_ðu;×ן.KVö¿8€Kendstream -endobj -7 0 obj -206 -endobj -11 0 obj -<> -endobj -12 0 obj -<> -endobj -5 0 obj -<> -/Contents 6 0 R ->> -endobj -3 0 obj -<< /Type /Pages /Kids [ -5 0 R -] /Count 1 ->> -endobj -1 0 obj -<> -endobj -4 0 obj -<> -endobj -8 0 obj -<> -endobj -9 0 obj -<> -endobj -10 0 obj -<> -endobj -2 0 obj -<>endobj -xref -0 13 -0000000000 65535 f -0000000590 00000 n -0000001130 00000 n -0000000531 00000 n -0000000638 00000 n -0000000381 00000 n -0000000015 00000 n -0000000291 00000 n -0000000707 00000 n -0000000758 00000 n -0000000817 00000 n -0000000310 00000 n -0000000349 00000 n -trailer -<< /Size 13 /Root 1 0 R /Info 2 0 R ->> -startxref -1182 -%%EOF diff --git a/Manual_tools/format/eps_tabs/cc_FunctionObjectConcept.eps b/Manual_tools/format/eps_tabs/cc_FunctionObjectConcept.eps deleted file mode 100644 index 811a5e6ad8a..00000000000 --- a/Manual_tools/format/eps_tabs/cc_FunctionObjectConcept.eps +++ /dev/null @@ -1,5124 +0,0 @@ -%!PS-Adobe-3.1 EPSF-3.0 -%%Title: cc_FunctionObjectConcept.eps -%%Creator: Adobe Illustrator(R) X -%%AI8_CreatorVersion: 10.0 -%AI9_PrintingDataBegin -%%For: Gremo -%%CreationDate: 3/2/2005 -%%BoundingBox: 0 0 41 137 -%%HiResBoundingBox: 0 0 40.4825 136.2696 -%%CropBox: 0 0 40.4825 136.2696 -%%LanguageLevel: 2 -%%DocumentData: Clean7Bit -%ADOBeginClientInjection: DocumentHeader "AI10" -%ADOEndClientInjection: DocumentHeader "AI10" -%%Pages: 1 -%%DocumentNeededResources: font Helvetica -%%DocumentSuppliedResources: procset Adobe_AGM_Image (1.0 0) -%%+ procset Adobe_CoolType_Utility_MAKEOCF (1.13 0) -%%+ procset Adobe_CoolType_Core (2.12 0) -%%+ procset Adobe_AGM_Core (2.0 0) -%%+ procset Adobe_AGM_Utils (1.0 0) -%%DocumentFonts: Helvetica -%%DocumentNeededFonts: Helvetica -%%DocumentNeededFeatures: -%%DocumentSuppliedFeatures: -%%DocumentCustomColors: -%%CMYKCustomColor: -%%RGBCustomColor: -%%EndComments -%%BeginDefaults -%%ViewingOrientation: 1 0 0 1 -%%EndDefaults -%%BeginProlog -%ADOBeginClientInjection: DocumentProlog Start "AI10" -%ADOEndClientInjection: DocumentProlog Start "AI10" -%%BeginResource: procset Adobe_AGM_Utils 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright (C) 2000-2000 Adobe Systems, Inc. All Rights Reserved. -systemdict /setpacking known -{ - currentpacking - true setpacking -} if -userdict /Adobe_AGM_Utils 60 dict dup begin put -/bdf -{ - bind def -} bind def -/nd{ - null def -}bdf -/xdf -{ - exch def -}bdf -/ldf -{ - load def -}bdf -/ddf -{ - put -}bdf -/xddf -{ - 3 -1 roll put -}bdf -/xpt -{ - exch put -}bdf -/ndf -{ - - exch dup where{ - pop pop pop - }{ - xdf - }ifelse -}def -/cdndf -{ - exch dup currentdict exch known{ - pop pop - }{ - exch def - }ifelse -}def -/bdict -{ - mark -}bdf -/edict -{ - counttomark 2 idiv dup dict begin {def} repeat pop currentdict end -}def - -/ps_level - /languagelevel where{ - pop systemdict /languagelevel get exec - }{ - 1 - }ifelse -def -/level2 - ps_level 2 ge -def -/level3 - ps_level 3 ge -def -/ps_version - {version cvr} stopped { - -1 - }if -def -/makereadonlyarray -{ - /packedarray where{ - pop packedarray - }{ - array astore readonly - }ifelse -}bdf -/map_reserved_ink_name -{ - dup type /stringtype eq{ - dup /Red eq{ - pop (_Red_) - }{ - dup /Green eq{ - pop (_Green_) - }{ - dup /Blue eq{ - pop (_Blue_) - }{ - dup /Cyan eq{ - pop (_Cyan_) - }{ - dup /Magenta eq{ - pop (_Magenta_) - }{ - dup /Yellow eq{ - pop (_Yellow_) - }{ - dup /Black eq{ - pop (_Black_) - }{ - dup () cvn eq{ - pop (Process) - }if - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - }if -}bdf -/AGMUTIL_GSTATE 22 dict def -/get_gstate -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_clr_spc currentcolorspace def - /AGMUTIL_GSTATE_clr_indx 0 def - /AGMUTIL_GSTATE_clr_comps 12 array def - mark currentcolor counttomark - {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def} repeat pop - /AGMUTIL_GSTATE_fnt rootfont def - /AGMUTIL_GSTATE_lw currentlinewidth def - /AGMUTIL_GSTATE_lc currentlinecap def - /AGMUTIL_GSTATE_lj currentlinejoin def - /AGMUTIL_GSTATE_ml currentmiterlimit def - currentdash /AGMUTIL_GSTATE_do xdf /AGMUTIL_GSTATE_da xdf - /AGMUTIL_GSTATE_sa currentstrokeadjust def - - /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def - /AGMUTIL_GSTATE_op currentoverprint def - /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def - /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def - currentcolortransfer cvlit /AGMUTIL_GSTATE_gy_xfer xdf cvlit /AGMUTIL_GSTATE_b_xfer xdf - cvlit /AGMUTIL_GSTATE_g_xfer xdf cvlit /AGMUTIL_GSTATE_r_xfer xdf - /AGMUTIL_GSTATE_ht currenthalftone def - /AGMUTIL_GSTATE_flt currentflat def - end -}def -/set_gstate -{ - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_clr_spc setcolorspace - AGMUTIL_GSTATE_clr_indx {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def} repeat setcolor - AGMUTIL_GSTATE_fnt setfont - AGMUTIL_GSTATE_lw setlinewidth - AGMUTIL_GSTATE_lc setlinecap - AGMUTIL_GSTATE_lj setlinejoin - AGMUTIL_GSTATE_ml setmiterlimit - AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash - AGMUTIL_GSTATE_sa setstrokeadjust - - AGMUTIL_GSTATE_clr_rnd setcolorrendering - AGMUTIL_GSTATE_op setoverprint - AGMUTIL_GSTATE_bg cvx setblackgeneration - AGMUTIL_GSTATE_ucr cvx setundercolorremoval - AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx - AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer - - AGMUTIL_GSTATE_ht /HalftoneType get dup 9 eq exch 100 eq or - { - currenthalftone /HalftoneType get AGMUTIL_GSTATE_ht /HalftoneType get ne - { - mark AGMUTIL_GSTATE_ht {sethalftone} stopped cleartomark - } if - }{ - AGMUTIL_GSTATE_ht sethalftone - } ifelse - - AGMUTIL_GSTATE_flt setflat - end -}def -/AGMUTIL_str256 256 string def -/AGMUTIL_src256 256 string def -/AGMUTIL_dst64 64 string def -/AGMUTIL_srcLen nd -/AGMUTIL_ndx nd -/rdline -{ - currentfile AGMUTIL_str256 readline pop -} bdf -/rdcmntline -{ - currentfile AGMUTIL_str256 readline pop - (%) anchorsearch {pop} if -} bdf -/filter_cmyk -{ - dup type /filetype ne{ - 0 () /SubFileDecode filter - }if - [ - exch - { - AGMUTIL_src256 readstring pop - dup length /AGMUTIL_srcLen exch def - /AGMUTIL_ndx 0 def - - AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ - 1 index exch get - AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put - /AGMUTIL_ndx AGMUTIL_ndx 1 add def - }for - pop - AGMUTIL_dst64 0 AGMUTIL_ndx getinterval - } - bind - /exec cvx - ] cvx -} bdf -/AGMUTIL_imagefile nd -/AGMUTIL_imbuf nd -/read_image_file -{ - AGMUTIL_imagefile 0 setfileposition - dup /DataSource {AGMUTIL_imagefile AGMUTIL_imbuf readstring pop} put - exch - load exec -}def -/write_image_file -{ - begin - { (AGMUTIL_imagefile) (w+) file } stopped{ - false - }{ - Adobe_AGM_Utils/AGMUTIL_imagefile xddf - Adobe_AGM_Utils/AGMUTIL_imbuf Width BitsPerComponent mul 7 add 8 idiv string ddf - 1 1 Height { - pop - DataSource dup type /filetype eq{ - AGMUTIL_imbuf readstring pop - }{ - exec - } ifelse - AGMUTIL_imagefile exch writestring - }for - true - }ifelse - end -}def -/close_image_file -{ - AGMUTIL_imagefile closefile (AGMUTIL_imagefile) deletefile -}def -/consumeimagedata -{ - begin - currentdict /MultipleDataSources known not - {/MultipleDataSources false def} if - MultipleDataSources - { - 1 dict begin - /flushbuffer Width cvi string def - 1 1 Height cvi - { - pop - 0 1 DataSource length 1 sub - { - DataSource exch get - dup type dup - /filetype eq - { - exch flushbuffer readstring pop pop - }if - /arraytype eq - { - exec pop - }if - }for - }for - end - } - { - /DataSource load type dup - /filetype eq - { - 1 dict begin - /flushbuffer Width Decode length 2 div mul cvi string def - 1 1 Height { pop DataSource flushbuffer readstring pop pop} for - end - }if - /arraytype eq - { - 1 1 Height { pop DataSource pop } for - }if - }ifelse - end -}bdf -/addprocs -{ - 2{/exec load}repeat - 3 1 roll - [ 5 1 roll ] bind cvx -}def -/modify_halftone_xfer -{ - currenthalftone dup length dict copy begin - currentdict 2 index known{ - 1 index load dup length dict copy begin - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs /TransferFunction xdf - currentdict end def - currentdict end sethalftone - }{ - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs /TransferFunction xdf - currentdict end sethalftone - pop - }ifelse -}def -/doc_setup{ - Adobe_AGM_Utils begin -}bdf -/doc_trailer{ - currentdict Adobe_AGM_Utils eq{ - end - }if -}bdf -systemdict /setpacking known -{ - setpacking -} if -%%EndResource -%%BeginResource: procset Adobe_AGM_Core 2.0 0 -%%Version: 2.0 0 -%%Copyright: Copyright (C) 1997-1999 Adobe Systems, Inc. All Rights Reserved. -systemdict /setpacking known -{ - currentpacking - true setpacking -} if -userdict /Adobe_AGM_Core 205 dict dup begin put -/nd{ - null def -}bind def -/Adobe_AGM_Core_Id /Adobe_AGM_Core_2.0_0 def -/AGMCORE_str256 256 string def -/AGMCORE_src256 256 string def -/AGMCORE_save nd -/AGMCORE_graphicsave nd -/AGMCORE_c 0 def -/AGMCORE_m 0 def -/AGMCORE_y 0 def -/AGMCORE_k 0 def -/AGMCORE_cmykbuf 4 array def -/AGMCORE_screen [currentscreen] cvx def -/AGMCORE_tmp 0 def -/AGMCORE_&setgray nd -/AGMCORE_&setcolor nd -/AGMCORE_&setcolorspace nd -/AGMCORE_&setcmykcolor nd -/AGMCORE_cyan_plate nd -/AGMCORE_magenta_plate nd -/AGMCORE_yellow_plate nd -/AGMCORE_black_plate nd -/AGMCORE_plate_ndx nd -/AGMCORE_get_ink_data nd -/AGMCORE_is_cmyk_sep nd -/AGMCORE_host_sep nd -/AGMCORE_will_host_sep nd -/AGMCORE_avoid_L2_sep_space nd -/AGMCORE_distilling nd -/AGMCORE_composite_job nd -/AGMCORE_producing_seps nd -/AGMCORE_ps_level -1 def -/AGMCORE_ps_version -1 def -/AGMCORE_environ_ok nd -/AGMCORE_CSA_cache 0 dict def -/AGMCORE_CSD_cache 0 dict def -/AGMCORE_pattern_cache 0 dict def -/AGMCORE_currentoverprint false def -/AGMCORE_deltaX nd -/AGMCORE_deltaY nd -/AGMCORE_name nd -/AGMCORE_sep_special nd -/AGMCORE_err_strings 4 dict def -/AGMCORE_cur_err nd -/AGMCORE_ovp nd -/AGMCORE_current_spot_alias false def -/AGMCORE_inverting false def -/AGMCORE_feature_dictCount nd -/AGMCORE_feature_opCount nd -/AGMCORE_feature_ctm nd -/AGMCORE_ConvertToProcess false def -/AGMCORE_Default_CTM matrix def -/knockout_unitsq nd -/AGMCORE_CRD_cache where{ - pop -}{ - /AGMCORE_CRD_cache 0 dict def -}ifelse -/AGMCORE_key_known -{ - where{ - /Adobe_AGM_Core_Id known - }{ - false - }ifelse -}ndf -/flushinput -{ - save - /CompareBuffer 3 -1 roll def - /readbuffer 256 string def - mark - { - currentfile readbuffer {readline} stopped - {cleartomark mark} - { - not - {pop exit} - if - CompareBuffer eq - {exit} - if - }ifelse - }loop - cleartomark - restore -}bdf -/getspotfunction -{ - AGMCORE_screen exch pop exch pop - dup type /dicttype eq{ - dup /HalftoneType get 1 eq{ - /SpotFunction get - }{ - dup /HalftoneType get 2 eq{ - /GraySpotFunction get - }{ - pop - { - abs exch abs 2 copy add 1 gt{ - 1 sub dup mul exch 1 sub dup mul add 1 sub - }{ - dup mul exch dup mul add 1 exch sub - }ifelse - }bind - }ifelse - }ifelse - }if -} def -/clp_npth -{ - clip newpath -} def -/eoclp_npth -{ - eoclip newpath -} def -/stkpath_clp_npth -{ - strokepath clip newpath -} def -/stk_n_clp_npth -{ - gsave stroke grestore clip newpath -} def -/npth_clp -{ - newpath clip -} def -/graphic_setup -{ - /AGMCORE_graphicsave save def - concat - 0 setgray - 0 setlinecap - 0 setlinejoin - 1 setlinewidth - [] 0 setdash - 10 setmiterlimit - newpath - false setoverprint - false setstrokeadjust - Adobe_AGM_Core/spot_alias get exec - /Adobe_AGM_Image where { - pop - Adobe_AGM_Image/spot_alias 2 copy known{ - get exec - }{ - pop pop - }ifelse - } if - 100 dict begin - /showpage {} def - mark -} def -/graphic_cleanup -{ - cleartomark - end - AGMCORE_graphicsave restore -} def -/compose_error_msg -{ - grestoreall initgraphics - /Helvetica findfont 10 scalefont setfont - - /AGMCORE_deltaY 100 def - /AGMCORE_deltaX 310 def - - clippath pathbbox newpath pop pop 36 add exch 36 add exch moveto - 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto - 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath - 0 AGMCORE_&setgray - gsave 1 AGMCORE_&setgray fill grestore - 1 setlinewidth gsave stroke grestore - - currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto - - /AGMCORE_deltaY 12 def - /AGMCORE_tmp 0 def - AGMCORE_err_strings exch get - { - dup 32 eq - { - pop - AGMCORE_str256 0 AGMCORE_tmp getinterval - stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt - { - currentpoint AGMCORE_deltaY sub exch pop - clippath pathbbox pop pop pop 44 add exch moveto - } if - AGMCORE_str256 0 AGMCORE_tmp getinterval show ( ) show - - 0 1 AGMCORE_str256 length 1 sub - { - AGMCORE_str256 exch 0 put - }for - /AGMCORE_tmp 0 def - } - { - AGMCORE_str256 exch AGMCORE_tmp exch put - /AGMCORE_tmp AGMCORE_tmp 1 add def - } ifelse - } forall -} bdf -/doc_setup{ - Adobe_AGM_Core begin - - /AGMCORE_will_host_separate xdf - /AGMCORE_ps_version xdf - /AGMCORE_ps_level xdf - - errordict /AGM_handleerror known not{ - errordict /AGM_handleerror errordict /handleerror get put - errordict /handleerror { - Adobe_AGM_Core begin - $error /newerror get AGMCORE_cur_err null ne and{ - $error /newerror false put - AGMCORE_cur_err compose_error_msg - }if - $error /newerror true put - end - errordict /AGM_handleerror get exec - } bind put - }if - - /AGMCORE_environ_ok - ps_level AGMCORE_ps_level ge - ps_version AGMCORE_ps_version ge and - AGMCORE_ps_level -1 eq or - def - - AGMCORE_environ_ok not - {/AGMCORE_cur_err /AGMCORE_bad_environ def} if - - /AGMCORE_&setgray systemdict/setgray get def - level2{ - /AGMCORE_&setcolor systemdict/setcolor get def - /AGMCORE_&setcolorspace systemdict/setcolorspace get def - }if - /AGMCORE_distilling - /product where{ - pop systemdict/setdistillerparams known product (Adobe PostScript Parser) ne and - }{ - false - }ifelse - def - /AGMCORE_in_rip_sep - /AGMCORE_in_rip_sep where{ - pop AGMCORE_in_rip_sep - }{ - AGMCORE_distilling - { - false - }{ - userdict/Adobe_AGM_OnHost_Seps known{ - false - }{ - level2{ - currentpagedevice/Separations 2 copy known{ - get - }{ - pop pop false - }ifelse - }{ - false - }ifelse - }ifelse - }ifelse - }ifelse - def - level2 not{ - /xput{ - dup load dup length exch maxlength eq{ - dup dup load dup - length dup 0 eq {pop 1} if 2 mul dict copy def - }if - load begin - def - end - }def - }{ - /xput{ - load 3 1 roll put - }def - }ifelse - /AGMCORE_GSTATE AGMCORE_key_known not{ - /AGMCORE_GSTATE 21 dict def - /AGMCORE_gstack 32 array def - /AGMCORE_gstackptr 0 def - /AGMCORE_gstacksaveptr 0 def - /AGMCORE_gstackframekeys 8 def - - /AGMCORE_&gsave /gsave ldf - /AGMCORE_&grestore /grestore ldf - /AGMCORE_&grestoreall /grestoreall ldf - /AGMCORE_&save /save ldf - /AGMCORE_gdictcopy { - begin - { def } forall - end - }def - /AGMCORE_gput { - AGMCORE_gstack AGMCORE_gstackptr get - 3 1 roll - put - }def - /AGMCORE_gget { - AGMCORE_gstack AGMCORE_gstackptr get - exch - get - }def - /gsave { - AGMCORE_&gsave - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge {limitcheck} if - Adobe_AGM_Core exch - /AGMCORE_gstackptr exch put - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /grestore { - AGMCORE_&grestore - AGMCORE_gstackptr 1 sub - dup AGMCORE_gstacksaveptr lt {1 add} if - Adobe_AGM_Core exch - /AGMCORE_gstackptr exch put - }def - /grestoreall { - AGMCORE_&grestoreall - Adobe_AGM_Core - /AGMCORE_gstackptr AGMCORE_gstacksaveptr put - }def - /save { - AGMCORE_&save - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge {limitcheck} if - Adobe_AGM_Core begin - /AGMCORE_gstackptr exch def - /AGMCORE_gstacksaveptr AGMCORE_gstackptr def - end - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - 0 1 AGMCORE_gstack length 1 sub { - AGMCORE_gstack exch AGMCORE_gstackframekeys dict put - } for - }if - /currentcmykcolor [0 0 0 0] AGMCORE_gput - /currentstrokeadjust false AGMCORE_gput - /currentcolorspace [/DeviceGray] AGMCORE_gput - /sep_tint 0 AGMCORE_gput - /sep_colorspace_dict null AGMCORE_gput - /indexed_colorspace_dict null AGMCORE_gput - /currentcolor_intent () AGMCORE_gput - /customcolor_tint 1 AGMCORE_gput - end -}def -/page_setup -{ - /setcmykcolor where{ - pop - Adobe_AGM_Core/AGMCORE_&setcmykcolor /setcmykcolor load put - }if - Adobe_AGM_Core begin - /setcmykcolor - { - 4 copy AGMCORE_cmykbuf astore /currentcmykcolor exch AGMCORE_gput - 1 sub 4 1 roll - 3 { - 3 index add neg dup 0 lt { - pop 0 - } if - 3 1 roll - } repeat - setrgbcolor pop - }ndf - /currentcmykcolor - { - /currentcmykcolor AGMCORE_gget aload pop - }ndf - /setoverprint - { - pop - }ndf - /currentoverprint - { - false - }ndf - /AGMCORE_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def - /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def - /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def - /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def - /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def - /AGMCORE_plate_ndx - AGMCORE_cyan_plate{ - 0 - }{ - AGMCORE_magenta_plate{ - 1 - }{ - AGMCORE_yellow_plate{ - 2 - }{ - AGMCORE_black_plate{ - 3 - }{ - 4 - }ifelse - }ifelse - }ifelse - }ifelse - def - /AGMCORE_composite_job - AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def - - /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def - - /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def - - /AGM_preserve_spots - /AGM_preserve_spots where{ - pop AGM_preserve_spots - }{ - AGMCORE_distilling AGMCORE_producing_seps or - }ifelse - def - /AGM_is_distiller_preserving_spotimages - { - currentdistillerparams/PreserveOverprintSettings known - { - currentdistillerparams/PreserveOverprintSettings get - { - currentdistillerparams/ColorConversionStrategy known - { - currentdistillerparams/ColorConversionStrategy get - /LeaveColorUnchanged eq - }{ - true - }ifelse - }{ - false - }ifelse - }{ - false - }ifelse - }def - /convert_spot_to_process where {pop}{ - /convert_spot_to_process - { - dup dup (None) eq exch (All) eq or - { - pop false - }{ - AGMCORE_host_sep - { - gsave - 1 0 0 0 setcmykcolor currentgray 1 exch sub - 0 1 0 0 setcmykcolor currentgray 1 exch sub - 0 0 1 0 setcmykcolor currentgray 1 exch sub - 0 0 0 1 setcmykcolor currentgray 1 exch sub - add add add 0 eq - { - pop false - }{ - false setoverprint - 1 1 1 1 5 -1 roll findcmykcustomcolor 1 setcustomcolor - currentgray 0 eq - }ifelse - grestore - }{ - AGMCORE_distilling - { - pop AGM_is_distiller_preserving_spotimages not - }{ - Adobe_AGM_Core/AGMCORE_name xddf - false - currentpagedevice/OverrideSeparations known - { - currentpagedevice/OverrideSeparations get - { - /HqnSpots /ProcSet resourcestatus - { - pop pop pop true - }if - }if - }if - { - AGMCORE_name /HqnSpots /ProcSet findresource /TestSpot get exec not - }{ - gsave - [/Separation AGMCORE_name /DeviceGray {}]setcolorspace - false - currentpagedevice/SeparationColorNames 2 copy known - { - get - { AGMCORE_name eq or}forall - not - }{ - pop pop pop true - }ifelse - grestore - }ifelse - }ifelse - }ifelse - }ifelse - }def - }ifelse - /convert_to_process where {pop}{ - /convert_to_process - { - dup length 0 eq - { - pop false - }{ - AGMCORE_host_sep - { - true exch - { - convert_spot_to_process and - } - forall - }{ - false exch - { - convert_spot_to_process or - } - forall - }ifelse - }ifelse - }def - }ifelse - AGMCORE_host_sep AGMCORE_will_host_separate not and { - /AGMCORE_cur_err /AGMCORE_color_space_onhost_seps def - AGMCORE_color_space_onhost_seps - }if - /AGMCORE_avoid_L2_sep_space - version cvr 2012 lt - level2 and - AGMCORE_producing_seps not and - def - /AGMCORE_is_cmyk_sep - AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or - def - /AGM_avoid_0_cmyk where{ - pop AGM_avoid_0_cmyk - }{ - AGM_preserve_spots - userdict/Adobe_AGM_OnHost_Seps known - userdict/Adobe_AGM_InRip_Seps known or - not and - }ifelse - { - /setcmykcolor[ - { - 4 copy add add add 0 eq currentoverprint and{ - pop 0.0005 - }if - }/exec cvx - /AGMCORE_&setcmykcolor load dup type/operatortype ne{ - /exec cvx - }if - ]cvx def - }if - AGMCORE_host_sep{ - /AGMCORE_get_ink_data - AGMCORE_cyan_plate{ - {pop pop pop} - }{ - AGMCORE_magenta_plate{ - {4 3 roll pop pop pop} - }{ - AGMCORE_yellow_plate{ - {4 2 roll pop pop pop} - }{ - {4 1 roll pop pop pop} - }ifelse - }ifelse - }ifelse - def - /clip AGMCORE_key_known not{ - Adobe_AGM_Core/AGMCORE_&clip /clip load put - /clip - { - current_spot_alias{ - currentdict/InksUsed known{ - [ - InksUsed{ - dup map_alias{ - /Name get exch pop - }if - }forall - ] - /InksUsed xdf - }if - }if - AGMCORE_&clip - }def - }if - /eoclip AGMCORE_key_known not{ - Adobe_AGM_Core/AGMCORE_&eoclip /eoclip load put - /eoclip - { - current_spot_alias{ - currentdict/InksUsed known{ - [ - InksUsed{ - dup map_alias{ - /Name get exch pop - }if - }forall - ] - /InksUsed xdf - }if - }if - AGMCORE_&eoclip - }def - }if - }if - AGMCORE_in_rip_sep{ - /setcustomcolor - { - exch aload pop - dup 7 1 roll inRip_spot_has_ink not { - 4 {4 index mul 4 1 roll} - repeat - /DeviceCMYK setcolorspace - 6 -2 roll pop pop - }{ - Adobe_AGM_Core begin - /AGMCORE_k xdf /AGMCORE_y xdf /AGMCORE_m xdf /AGMCORE_c xdf - end - [/Separation 4 -1 roll /DeviceCMYK - {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} - ] - setcolorspace - }ifelse - setcolor - }ndf - /setseparationgray - { - [/Separation (All) /DeviceGray {}] setcolorspace_opt - 1 exch sub setcolor - }ndf - }{ - /setseparationgray - { - AGMCORE_&setgray - }ndf - }ifelse - /findcmykcustomcolor - { - 5 makereadonlyarray - }ndf - /setcustomcolor - { - exch aload pop pop - 4 {4 index mul 4 1 roll} repeat - setcmykcolor pop - }ndf - - /has_color - /colorimage where{ - AGMCORE_producing_seps{ - pop true - }{ - systemdict eq - }ifelse - }{ - false - }ifelse - def - - /map_index - { - 1 index mul exch getinterval {255 div} forall - }def - - level2{ - /mo /moveto ldf - /li /lineto ldf - /cv /curveto ldf - /knockout_unitsq - { - 1 setgray - 0 0 1 1 rectfill - }def - /level2ScreenFreq{ - begin - 60 - HalftoneType 1 eq{ - pop Frequency - }if - HalftoneType 2 eq{ - pop GrayFrequency - }if - HalftoneType 5 eq{ - pop Default level2ScreenFreq - }if - end - }def - /currentScreenFreq{ - currenthalftone level2ScreenFreq - }def - level2 /setcolorspace AGMCORE_key_known not and{ - - /AGMCORE_&&&setcolorspace /setcolorspace ldf - /AGMCORE_ReplaceMappedColor - { - dup type dup /arraytype eq exch /packedarraytype eq or - { - dup 0 get dup /Separation eq - { - pop - dup length array copy - dup dup 1 get - current_spot_alias - { - dup map_alias - { - begin - /sep_colorspace_dict currentdict AGMCORE_gput - pop pop pop - - [ - /Separation Name - CSA map_csa - dup /MappedCSA xdf - /sep_colorspace_proc load - ] - dup Name - end - }if - }if - map_reserved_ink_name 1 exch put - }{ - /DeviceN eq - { - dup length array copy - dup dup 1 get [ - exch { - current_spot_alias{ - dup map_alias{ - /Name get exch pop - }if - }if - map_reserved_ink_name - } forall - ] 1 exch put - }if - }ifelse - }if - }def - /setcolorspace - { - dup type dup /arraytype eq exch /packedarraytype eq or - { - dup 0 get /Indexed eq - { - AGMCORE_distilling - { - /PhotoshopDuotoneList where - { - pop false - }{ - true - }ifelse - }{ - true - }ifelse - { - aload pop 3 -1 roll - AGMCORE_ReplaceMappedColor - 3 1 roll 4 array astore - }if - }{ - AGMCORE_ReplaceMappedColor - }ifelse - }if - AGMCORE_&&&setcolorspace - }def - }if - }{ - - /adj - { - currentstrokeadjust{ - transform - 0.25 sub round 0.25 add exch - 0.25 sub round 0.25 add exch - itransform - }if - }def - /mo{ - adj moveto - }def - /li{ - adj lineto - }def - /cv{ - 6 2 roll adj - 6 2 roll adj - 6 2 roll adj curveto - }def - /knockout_unitsq - { - 1 setgray - 8 8 1 [8 0 0 8 0 0] {} image - }def - /currentstrokeadjust{ - /currentstrokeadjust AGMCORE_gget - }def - /setstrokeadjust{ - /currentstrokeadjust exch AGMCORE_gput - }def - /currentScreenFreq{ - currentscreen pop pop - }def - /setcolorspace - { - /currentcolorspace exch AGMCORE_gput - } def - - /currentcolorspace - { - /currentcolorspace AGMCORE_gget - } def - - /n_color_components - { - dup type /arraytype eq{ - 0 get - }if - dup /DeviceGray eq{ - pop 1 - }{ - /DeviceCMYK eq{ - 4 - }{ - 3 - }ifelse - }ifelse - } def - - /setcolor_devicecolor - { - dup type /arraytype eq{ - 0 get - }if - dup /DeviceGray eq{ - pop setgray - }{ - /DeviceCMYK eq{ - setcmykcolor - }{ - setrgbcolor - }ifelse - }ifelse - }def - - /setcolor - { - currentcolorspace 0 get - dup /DeviceGray ne{ - dup /DeviceCMYK ne{ - dup /DeviceRGB ne{ - dup /Separation eq{ - pop - currentcolorspace 3 get exec - currentcolorspace 2 get - }{ - dup /Indexed eq{ - pop - currentcolorspace 3 get dup type /stringtype eq{ - currentcolorspace 1 get n_color_components - 3 -1 roll map_index - }{ - exec - }ifelse - currentcolorspace 1 get - }{ - /AGMCORE_cur_err /AGMCORE_invalid_color_space def - AGMCORE_invalid_color_space - }ifelse - }ifelse - }if - }if - }if - setcolor_devicecolor - } def - }ifelse - - /sop /setoverprint ldf - /lw /setlinewidth ldf - /lc /setlinecap ldf - /lj /setlinejoin ldf - /ml /setmiterlimit ldf - /dsh /setdash ldf - /sadj /setstrokeadjust ldf - /gry /setgray ldf - /rgb /setrgbcolor ldf - /cmyk /setcmykcolor ldf - /sep /setsepcolor ldf - /idx /setindexedcolor ldf - /colr /setcolor ldf - /csacrd /set_csa_crd ldf - /sepcs /setsepcolorspace ldf - /idxcs /setindexedcolorspace ldf - /cp /closepath ldf - /clp /clp_npth ldf - /eclp /eoclp_npth ldf - /spclp /stkpath_clp_npth ldf - /f /fill ldf - /ef /eofill ldf - /s /stroke ldf - /sclp /stk_n_clp_npth ldf - /nclp /npth_clp ldf - /gset /graphic_setup ldf - /gcln /graphic_cleanup ldf - - currentdict{ - dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and { - bind - }if - def - }forall -}def -/page_trailer -{ - end -}def -/doc_trailer{ -}def -systemdict /findcolorrendering known{ - /findcolorrendering systemdict /findcolorrendering get def -}if -systemdict /setcolorrendering known{ - /setcolorrendering systemdict /setcolorrendering get def -}if -/test_cmyk_color_plate -{ - gsave - setcmykcolor currentgray 1 ne - grestore -}def -/inRip_spot_has_ink -{ - dup Adobe_AGM_Core/AGMCORE_name xddf - convert_spot_to_process not -}def -/current_ink -{ - dup length 0 eq{ - pop true - }{ - Adobe_AGM_Core/ink_result false put - { - dup /ProcessCyan eq{ - AGMCORE_cyan_plate ink_result or Adobe_AGM_Core/ink_result xddf - }{ - dup /ProcessMagenta eq{ - AGMCORE_magenta_plate ink_result or Adobe_AGM_Core/ink_result xddf - }{ - dup /ProcessYellow eq{ - AGMCORE_yellow_plate ink_result or Adobe_AGM_Core/ink_result xddf - }{ - dup /ProcessBlack eq{ - AGMCORE_black_plate ink_result or Adobe_AGM_Core/ink_result xddf - }{ - dup /sep_colorspace_dict AGMCORE_gget dup null eq{ - pop false ink_result or Adobe_AGM_Core/ink_result xddf - }{ - /Name get eq{ - 1 setsepcolor - currentgray 1 ne ink_result or Adobe_AGM_Core/ink_result xddf - }{ - false ink_result or Adobe_AGM_Core/ink_result xddf - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - pop - } forall - ink_result - }ifelse -}def -/map255_to_range -{ - 1 index sub - 3 -1 roll 255 div mul add -}def -/set_csa_crd -{ - /sep_colorspace_dict null AGMCORE_gput - begin - CSA map_csa setcolorspace_opt - set_crd - end -} -def -/setsepcolor -{ - - /sep_colorspace_dict AGMCORE_gget begin - dup /sep_tint exch AGMCORE_gput - TintProc - end -} def -/sep_colorspace_proc -{ - Adobe_AGM_Core/AGMCORE_tmp xddf - /sep_colorspace_dict AGMCORE_gget begin - currentdict/Components known{ - Components aload pop - TintMethod/Lab eq{ - 2 {AGMCORE_tmp mul NComponents 1 roll} repeat - LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll - }{ - TintMethod/Subtractive eq{ - NComponents{ - AGMCORE_tmp mul NComponents 1 roll - }repeat - }{ - NComponents{ - 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll - } repeat - }ifelse - }ifelse - }{ - ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get - aload pop - }ifelse - end -} def -/sep_colorspace_gray_proc -{ - Adobe_AGM_Core/AGMCORE_tmp xddf - /sep_colorspace_dict AGMCORE_gget begin - GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get - end -} def -/sep_proc_name -{ - dup 0 get - dup /DeviceRGB eq exch /DeviceCMYK eq or level2 not and has_color not and{ - pop [/DeviceGray] - /sep_colorspace_gray_proc - }{ - /sep_colorspace_proc - }ifelse -} def -/setsepcolorspace -{ - - current_spot_alias{ - dup begin - Name map_alias{ - exch pop - }if - end - }if - dup /sep_colorspace_dict exch AGMCORE_gput - begin - /MappedCSA CSA map_csa def - Adobe_AGM_Core/AGMCORE_sep_special Name dup () eq exch (All) eq or ddf - - AGMCORE_avoid_L2_sep_space{ - [/Indexed MappedCSA sep_proc_name 255 exch - { 255 div } /exec cvx 3 -1 roll [ 4 1 roll load /exec cvx ] cvx - ] setcolorspace_opt - /TintProc { - 255 mul round cvi setcolor - }bdf - }{ - MappedCSA 0 get /DeviceCMYK eq - currentdict/Components known and - AGMCORE_sep_special not and{ - /TintProc [ - Components aload pop Name findcmykcustomcolor - /exch cvx /setcustomcolor cvx - ] cvx bdf - }{ - AGMCORE_host_sep Name (All) eq and{ - /TintProc { - 1 exch sub setseparationgray - }bdf - }{ - AGMCORE_in_rip_sep MappedCSA 0 get /DeviceCMYK eq and - AGMCORE_host_sep or - Name () eq and{ - /TintProc [ - MappedCSA sep_proc_name exch 0 get /DeviceCMYK eq{ - cvx /setcmykcolor cvx - }{ - cvx /setgray cvx - }ifelse - ] cvx bdf - }{ - AGMCORE_producing_seps MappedCSA 0 get dup /DeviceCMYK eq exch /DeviceGray eq or and AGMCORE_sep_special not and{ - /TintProc [ - /dup cvx - MappedCSA sep_proc_name cvx exch - 0 get /DeviceGray eq{ - 1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx - }if - /Name cvx /findcmykcustomcolor cvx /exch cvx - - AGMCORE_host_sep{ - AGMCORE_is_cmyk_sep - }{ - Name inRip_spot_has_ink not - }ifelse - { - /pop cvx 1 - }if - /setcustomcolor cvx - ] cvx bdf - }{ - /TintProc /setcolor ldf - - [/Separation Name MappedCSA sep_proc_name load ] setcolorspace_opt - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - set_crd - setsepcolor - end -} def -/setindexedcolorspace -{ - dup /indexed_colorspace_dict exch AGMCORE_gput - begin - /MappedCSA CSA map_csa def - AGMCORE_host_sep level2 not and{ - 0 0 0 0 setcmykcolor - }{ - [/Indexed MappedCSA - level2 not has_color not and{ - dup 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or{ - pop [/DeviceGray] - }if - HiVal GrayLookup - }{ - HiVal - currentdict/RangeArray known{ - { - /indexed_colorspace_dict AGMCORE_gget begin - Lookup exch - dup HiVal gt{ - pop HiVal - }if - NComponents mul NComponents getinterval {} forall - NComponents 1 sub -1 0{ - RangeArray exch 2 mul 2 getinterval aload pop map255_to_range - NComponents 1 roll - }for - end - } bind - }{ - Lookup - }ifelse - }ifelse - ] setcolorspace_opt - - set_crd - }ifelse - end -}def -/setindexedcolor -{ - AGMCORE_host_sep{ - /indexed_colorspace_dict AGMCORE_gget/Lookup get 4 3 -1 roll map_index setcmykcolor - }{ - setcolor - }ifelse -} def -/ignoreimagedata -{ - currentoverprint not{ - gsave - dup begin - 1 setgray - 0 0 ImageMatrix itransform - Width Height ImageMatrix idtransform rectfill - end - grestore - }if - consumeimagedata -}def -/add_csa -{ - Adobe_AGM_Core begin - /AGMCORE_CSA_cache xput - end -}def -/map_csa -{ - dup type /nametype eq{ - Adobe_AGM_Core/AGMCORE_CSA_cache get exch get - }if -}def -/add_csd -{ - Adobe_AGM_Core begin - /AGMCORE_CSD_cache xput - end -}def -/get_csd -{ - dup type /nametype eq{ - Adobe_AGM_Core/AGMCORE_CSD_cache get exch get - }if -}def -/get_csd_by_name -{ - dup type dup /nametype eq exch /stringtype eq or{ - Adobe_AGM_Core begin - /AGMCORE_CSD_Name xdf - AGMCORE_CSD_cache - { - dup /Name get AGMCORE_CSD_Name eq - { - exch pop exit - }{ - pop - }ifelse - pop - }forall - end - }if -}def -/cachepattern_level2 -{ - 4 dict begin - /comparebuffer exch def - /holdbuffer exch def - /readbuffer 1024 string def - /LZWFilter holdbuffer /LZWEncode filter def - { - currentfile readbuffer readline not - {pop exit} - if - dup LZWFilter exch writestring - LZWFilter (\n) writestring - comparebuffer eq - {exit} - if - }loop - LZWFilter closefile - end -}def -/cachepattern_level3 -{ - 3 dict begin - /comparebuffer exch def - /readbuffer 1024 string def - /DoEOL false def - { - DoEOL - { - (\n) - /DoEOL false def - } - { - currentfile readbuffer readline not - {pop ()} - { - dup length 0 eq - { pop(\n)} - { - dup comparebuffer eq - {pop ()} - {/DoEOL true def} - ifelse - } - ifelse - } - ifelse - } - ifelse - } /ReusableStreamDecode filter - end -}def -/add_pattern -{ - Adobe_AGM_Core begin - /AGMCORE_pattern_cache xput - end -}def -/get_pattern -{ - dup type /nametype eq{ - Adobe_AGM_Core/AGMCORE_pattern_cache get exch get - }if -}def -/make_pattern -{ - dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform - exch 3 index /XStep get 1 index exch 2 copy div cvi mul sub sub - exch 3 index /YStep get 1 index exch 2 copy div cvi mul sub sub - matrix translate exch matrix concatmatrix - makepattern -}def -/set_pattern -{ - dup /PatternType get 1 eq{ - dup /PaintType get 1 eq{ - false sop [/DeviceGray] setcolorspace 0 setgray - }if - }if - setpattern -}def -/setcolorspace_opt -{ - dup currentcolorspace eq{ - pop - }{ - setcolorspace - }ifelse -}def -/updatecolorrendering -{ - - currentcolorrendering/Intent known{ - currentcolorrendering/Intent get - }{ - null - }ifelse - - Intent ne{ - false - Intent - AGMCORE_CRD_cache { - exch pop - begin - dup Intent eq{ - currentdict setcolorrendering_opt - end - exch pop true exch - exit - }if - end - } forall - pop - not{ - systemdict /findcolorrendering known{ - Intent findcolorrendering pop - /ColorRendering findresource - dup length dict copy - setcolorrendering_opt - }if - }if - }if -} def -/add_crd -{ - AGMCORE_CRD_cache 3 1 roll put -}def -/set_crd -{ - AGMCORE_host_sep not level2 and{ - currentdict/CRD known{ - AGMCORE_CRD_cache CRD get dup null ne{ - setcolorrendering_opt - }{ - pop - }ifelse - }{ - currentdict/Intent known{ - updatecolorrendering - }if - }ifelse - }if -}def -/setcolorrendering_opt -{ - dup currentcolorrendering eq{ - pop - }{ - begin - /Intent Intent def - currentdict - end - setcolorrendering - }ifelse -}def -/cdndf -{ - exch dup currentdict exch known{ - pop pop - }{ - exch def - }ifelse -}def -/cpaint_gcomp -{ - convert_to_process Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf - Adobe_AGM_Core/AGMCORE_ConvertToProcess get not - { - (%end_cpaint_gcomp) flushinput - }if -}def -/cpaint_gsep -{ - Adobe_AGM_Core/AGMCORE_ConvertToProcess get - { - (%end_cpaint_gsep) flushinput - }if -}def -/cpaint_gend -{ - newpath -}def -/AGMCORE_ctm_stack bdict - /push_ctm { - stack length size le{ - stack dup length 2 mul array - dup /stack exch def - copy pop - }if - stack size 3 -1 roll put - /size size 1 add def - } - /pop_ctm { - /size size 1 sub def - size 0 lt{ - /size 0 def - }if - stack size get - } - /stack 1 array - /size 0 -edict -def -/save_ctm -{ - matrix currentmatrix AGMCORE_ctm_stack begin - push_ctm - end -}def -/restore_ctm -{ - AGMCORE_ctm_stack begin - pop_ctm - end - setmatrix -}def -/path_rez -{ - dup 0 ne{ - AGMCORE_deviceDPI exch div - dup 1 lt{ - pop 1 - }if - setflat - }{ - pop - }ifelse -}def -/rdcmntline { - currentfile AGMCORE_str256 readline pop - (%) anchorsearch {pop} if -} def -/set_spot_alias_ary -{ - /AGMCORE_SpotAliasAry where{ - pop pop - }{ - Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf - true set_spot_alias - }ifelse -}def -/set_spot_alias -{ - /AGMCORE_SpotAliasAry where{ - /AGMCORE_current_spot_alias 3 -1 roll put - }{ - pop - }ifelse -}def -/current_spot_alias -{ - /AGMCORE_SpotAliasAry where{ - /AGMCORE_current_spot_alias get - }{ - false - }ifelse -}def -/map_alias -{ - /AGMCORE_SpotAliasAry where{ - begin - /AGMCORE_name xdf - false - AGMCORE_SpotAliasAry{ - dup/Name get AGMCORE_name eq{ - save exch - /Adobe_AGM_Core currentdict def - /CSD get get_csd - exch restore - exch pop true - exit - }{ - pop - }ifelse - }forall - end - }{ - pop false - }ifelse -}bdf -/spot_alias -{ - true set_spot_alias - - /AGMCORE_&setcustomcolor AGMCORE_key_known not { - Adobe_AGM_Core/AGMCORE_&setcustomcolor /setcustomcolor load put - } if - /customcolor_tint 1 AGMCORE_gput - - Adobe_AGM_Core begin - /setcustomcolor - { - - dup /customcolor_tint exch AGMCORE_gput - - current_spot_alias{ - 1 index 4 get map_alias{ - mark 3 1 roll - setsepcolorspace - counttomark 0 ne{ - setsepcolor - }if - pop - pop - }{ - AGMCORE_&setcustomcolor - }ifelse - }{ - AGMCORE_&setcustomcolor - }ifelse - }bdf - end -}def -/begin_feature -{ - Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put - count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put - {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if -}def -/end_feature -{ - 2 dict begin - /spd /setpagedevice load def - /setpagedevice { get_gstate spd set_gstate } def - stopped{$error/newerror false put}if - end - count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse - countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse - {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if -}def -/set_negative -{ - Adobe_AGM_Core begin - /AGMCORE_inverting exch def - level2{ - currentpagedevice/NegativePrint known{ - currentpagedevice/NegativePrint get Adobe_AGM_Core/AGMCORE_inverting get ne{ - true begin_feature true{ - bdict /NegativePrint Adobe_AGM_Core/AGMCORE_inverting get edict setpagedevice - }end_feature - }if - /AGMCORE_inverting false def - }if - }if - AGMCORE_inverting{ - [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer - gsave newpath clippath 1 /setseparationgray where{pop setseparationgray}{setgray}ifelse - fill grestore - }if - end -}def -/lw_save_restore_override { - /md where { - pop - md begin - /pmSVsetup{} def - /endp{}def - /pse{}def - /psb{}def - /orig_showpage where - {pop} - {/orig_showpage /showpage load def} - ifelse - /showpage {orig_showpage gR} def - end - }if -}def -/pscript_showpage_override { - /NTPSOct95 where - { - begin - showpage - save - /showpage /restore load def - /restore {exch pop}def - end - }if -}def -/driver_media_override -{ - /md where { - pop - md /initializepage known { - md /initializepage {} put - } if - md /rC known { - md /rC {4{pop}repeat} put - } if - }if - - Adobe_AGM_Core /AGMCORE_Default_CTM matrix currentmatrix put -}def -/driver_check_media_override -{ - Adobe_AGM_Core /AGMCORE_Default_CTM get matrix currentmatrix ne - { - Adobe_AGM_Core /AGMCORE_Default_CTM get setmatrix - }if -}def -AGMCORE_err_strings begin - /AGMCORE_bad_environ (Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. ) def - /AGMCORE_color_space_onhost_seps (This job contains colors that will not separate with on-host methods. ) def - /AGMCORE_invalid_color_space (This job contains an invalid color space. ) def -end -end -systemdict /setpacking known -{ - setpacking -} if -%%EndResource -%%BeginResource: procset Adobe_CoolType_Core 2.12 0 -%%Copyright: Copyright 1997-2001 Adobe Systems Incorporated. All Rights Reserved. -%%Version: 2.12 0 -userdict/Adobe_CoolType_Core 60 dict dup begin put/Level2? systemdict -/languagelevel known dup{pop systemdict/languagelevel get 2 ge}if def Level2? -not{/currentglobal false def/setglobal/pop load def/gcheck{pop false}bind def -/currentpacking false def/setpacking/pop load def/SharedFontDirectory 0 dict -def}if currentpacking true setpacking/@_SaveStackLevels{Adobe_CoolType_Data -begin @opStackCountByLevel @opStackLevel 2 copy known not{2 copy 3 dict dup -/args 7 index 5 add array put put get}{get dup/args get dup length 3 index lt{ -dup length 5 add array exch 1 index exch 0 exch putinterval 1 index exch/args -exch put}{pop}ifelse}ifelse begin count 2 sub 1 index lt{pop count 1 sub}if -dup/argCount exch def dup 0 gt{exch 1 index 2 add 1 roll args exch 0 exch -getinterval astore pop}{pop}ifelse count 1 sub/restCount exch def end -/@opStackLevel @opStackLevel 1 add def countdictstack 1 sub -@dictStackCountByLevel exch @dictStackLevel exch put/@dictStackLevel -@dictStackLevel 1 add def end}bind def/@_RestoreStackLevels{ -Adobe_CoolType_Data begin/@opStackLevel @opStackLevel 1 sub def -@opStackCountByLevel @opStackLevel get begin count restCount sub dup 0 gt{{pop -}repeat}{pop}ifelse args 0 argCount getinterval{}forall end/@dictStackLevel -@dictStackLevel 1 sub def @dictStackCountByLevel @dictStackLevel get end -countdictstack exch sub dup 0 gt{{end}repeat}{pop}ifelse}bind def -/@_PopStackLevels{Adobe_CoolType_Data begin/@opStackLevel @opStackLevel 1 sub -def/@dictStackLevel @dictStackLevel 1 sub def end}bind def/@Raise{exch cvx -exch errordict exch get exec stop}bind def/@ReRaise{cvx $error/errorname get -errordict exch get exec stop}bind def/@Stopped{0 @#Stopped}bind def/@#Stopped{ -@_SaveStackLevels stopped{@_RestoreStackLevels true}{@_PopStackLevels false} -ifelse}bind def/@Arg{Adobe_CoolType_Data begin @opStackCountByLevel -@opStackLevel 1 sub get/args get exch get end}bind def/doc_setup{ -Adobe_CoolType_Core begin/mov/moveto load def/nfnt/newencodedfont load def -/mfnt/makefont load def/sfnt/setfont load def/ufnt/undefinefont load def/chp -/charpath load def/awsh/awidthshow load def/wsh/widthshow load def/ash/ashow -load def/sh/show load def end userdict/Adobe_CoolType_Data 6 dict dup begin -/AddWidths? false def/CC 0 def/charcode 2 string def/@opStackCountByLevel 32 -dict def/@opStackLevel 0 def/@dictStackCountByLevel 32 dict def -/@dictStackLevel 0 def end put}bind def/doc_trailer{currentdict -Adobe_CoolType_Core eq{end}if}bind def/page_setup{Adobe_CoolType_Core begin} -bind def/page_trailer{end}bind def/unload{systemdict/languagelevel known{ -systemdict/languagelevel get 2 ge{userdict/Adobe_CoolType_Core 2 copy known{ -undef}{pop pop}ifelse}if}if}bind def/ndf{1 index where{pop pop pop}{dup xcheck -{bind}if def}ifelse}def/findfont dup systemdict begin userdict begin -/globaldict where{/globaldict get begin}if dup where pop exch get/globaldict -where{pop end}if end end def/systemfindfont/findfont load def/undefinefont{pop -}ndf/copyfont{currentglobal 3 1 roll 1 index gcheck setglobal dup null eq{0}{ -dup length}ifelse 2 index length add 1 add dict begin exch{1 index/FID eq{pop -pop}{def}ifelse}forall dup null eq{pop}{{def}forall}ifelse currentdict end -exch setglobal}bind def/copyarray{currentglobal exch dup gcheck setglobal dup -length array copy exch setglobal}bind def/newencodedfont{currentglobal{ -SharedFontDirectory 3 index known{SharedFontDirectory 3 index get -/FontReferenced known}{false}ifelse}{FontDirectory 3 index known{FontDirectory -3 index get/FontReferenced known}{SharedFontDirectory 3 index known{ -SharedFontDirectory 3 index get/FontReferenced known}{false}ifelse}ifelse} -ifelse dup{3 index findfont/FontReferenced get 2 index findfont ne{pop false} -if}if{pop 1 index findfont/Encoding get exch 0 1 255{2 copy get 3 index 3 1 -roll put}for pop pop pop}{findfont dup dup maxlength 2 add dict begin exch{1 -index/FID ne{def}{pop pop}ifelse}forall/FontReferenced exch def/Encoding exch -dup length array copy def/FontName 1 index dup type/stringtype eq{cvn}if def -currentdict end definefont pop}ifelse}bind def/SetSubstituteStrategy{ -$SubstituteFont begin dup type/dicttype ne{0 dict}if currentdict/$Strategies -known{exch $Strategies exch 2 copy known{get 2 copy maxlength exch maxlength -add dict begin{def}forall{def}forall currentdict dup/$Init known{dup/$Init get -exec}if end/$Strategy exch def}{pop pop pop}ifelse}{pop pop}ifelse end}bind -def/scff{$SubstituteFont begin dup type/stringtype eq{dup length exch}{null} -ifelse/$sname exch def/$slen exch def end{findfont}@Stopped{dup length dup 21 -add string dup 4 3 roll 0 exch 128 string cvs putinterval exch 1 index exch -(_was-malformed-so-was)putinterval cvn{findfont}@Stopped{pop/Courier findfont} -if}if $SubstituteFont begin/$sname null def/$slen 0 def end}bind def -/isWidthsOnlyFont{dup/WidthsOnly known{pop pop true}{dup/FDepVector known{ -/FDepVector get{isWidthsOnlyFont dup{exit}if}forall}{dup/FDArray known{ -/FDArray get{isWidthsOnlyFont dup{exit}if}forall}{pop}ifelse}ifelse}ifelse} -bind def/?set{$SubstituteFont begin/$substituteFound false def/$fontname 4 -index def/$doSmartSub false def end 3 index findfont $SubstituteFont begin -$substituteFound{false}{dup/FontName known{dup/FontName get $fontname eq 1 -index/DistillerFauxFont known not and/currentdistillerparams where{pop false 2 -index isWidthsOnlyFont not and}if}{false}ifelse}ifelse exch pop/$doSmartSub -true def end{exch pop exch pop exch 2 dict dup/Found 3 index put exch findfont -exch}{exch exec exch findfont 2 dict dup/Downloaded 6 5 roll put}ifelse dup -/FontName 4 index put copyfont definefont pop}bind def/?str1 256 string def -/?str2 256 string def/?add{1 index type/integertype eq{exch true 4 2}{false 3 -1}ifelse roll 1 index findfont dup/Widths known{Adobe_CoolType_Data/AddWidths? -true put gsave dup 1000 scalefont setfont}if/Downloaded known{exec exch{exch -?str2 cvs exch findfont/Downloaded get 1 dict begin/Downloaded 1 index def -?str1 cvs length ?str1 1 index 1 add 3 index putinterval exch length 1 add 1 -index add ?str1 2 index(*)putinterval ?str1 0 2 index getinterval cvn findfont -?str1 3 index(+)putinterval 2 dict dup/FontName ?str1 0 6 index getinterval -cvn put dup/Downloaded Downloaded put end copyfont dup/FontName get exch -definefont pop pop pop}{pop}ifelse}{pop exch{findfont dup/Found get dup length -exch ?str1 cvs pop ?str1 1 index(+)putinterval ?str1 1 index 1 add 4 index -?str2 cvs putinterval ?str1 exch 0 exch 5 4 roll ?str2 cvs length 1 add add -getinterval cvn 1 dict exch 1 index exch/FontName exch put copyfont dup -/FontName get exch definefont pop}{pop}ifelse}ifelse Adobe_CoolType_Data -/AddWidths? get{grestore Adobe_CoolType_Data/AddWidths? false put}if}bind def -/?sh{currentfont/Downloaded known{exch}if pop}bind def/?chp{currentfont -/Downloaded known{pop}{false chp}ifelse}bind def/?mv{currentfont/Downloaded -known{moveto pop pop}{pop pop moveto}ifelse}bind def setpacking userdict -/$SubstituteFont 25 dict put 1 dict begin/SubstituteFont dup $error exch 2 -copy known{get}{pop pop{pop/Courier}bind}ifelse def/currentdistillerparams -where dup{pop pop currentdistillerparams/CannotEmbedFontPolicy 2 copy known{ -get/Error eq}{pop pop false}ifelse}if not{countdictstack array dictstack 0 get -begin userdict begin $SubstituteFont begin/$str 128 string def/$fontpat 128 -string def/$slen 0 def/$sname null def/$match false def/$fontname null def -/$substituteFound false def/$doSmartSub true def/$depth 0 def/$fontname null -def/$italicangle 26.5 def/$dstack null def/$Strategies 10 dict dup begin -/$Type3Underprint{currentglobal exch false setglobal 11 dict begin/UseFont -exch $WMode 0 ne{dup length dict copy dup/WMode $WMode put/UseFont exch -definefont}if def/FontName $fontname dup type/stringtype eq{cvn}if def -/FontType 3 def/FontMatrix[.001 0 0 .001 0 0]def/Encoding 256 array dup 0 1 -255{/.notdef put dup}for pop def/FontBBox[0 0 0 0]def/CCInfo 7 dict dup begin -/cc null def/x 0 def/y 0 def end def/BuildChar{exch begin CCInfo begin 1 -string dup 0 3 index put exch pop/cc exch def UseFont 1000 scalefont setfont -cc stringwidth/y exch def/x exch def x y setcharwidth $SubstituteFont -/$Strategy get/$Underprint get exec 0 0 moveto cc show x y moveto end end}bind -def currentdict end exch setglobal}bind def/$GetaTint 2 dict dup begin -/$BuildFont{dup/WMode known{dup/WMode get}{0}ifelse/$WMode exch def $fontname -exch dup/FontName known{dup/FontName get dup type/stringtype eq{cvn}if}{ -/unnamedfont}ifelse exch $deepcopyfont exch 1 index exch/FontBasedOn exch put -dup/FontName $fontname dup type/stringtype eq{cvn}if put definefont}bind def -/$Underprint{gsave x abs y abs gt{/y 1000 def}{/x -1000 def 500 120 translate} -ifelse Level2?{[/Separation(All)/DeviceCMYK{0 0 0 1 pop}]setcolorspace}{0 -setgray}ifelse 10 setlinewidth x .8 mul[7 3]{y mul 8 div 120 sub x 10 div exch -moveto 0 y 4 div neg rlineto dup 0 rlineto 0 y 4 div rlineto closepath gsave -Level2?{.2 setcolor}{.8 setgray}ifelse fill grestore stroke}forall pop -grestore}bind def end def/$Oblique 1 dict dup begin/$BuildFont{currentglobal -exch dup gcheck setglobal null copyfont begin/FontBasedOn currentdict/FontName -known{FontName dup type/stringtype eq{cvn}if}{/unnamedfont}ifelse def/FontName -$fontname dup type/stringtype eq{cvn}if def/currentdistillerparams where{pop}{ -/FontInfo currentdict/FontInfo known{FontInfo null copyfont}{2 dict}ifelse dup -begin/ItalicAngle $italicangle def/FontMatrix FontMatrix[1 0 ItalicAngle dup -sin exch cos div 1 0 0]matrix concatmatrix readonly end 4 2 roll def def} -ifelse FontName currentdict end definefont exch setglobal}bind def end def -/$None 1 dict dup begin/$BuildFont{}bind def end def end def/$Oblique -SetSubstituteStrategy/$findfontByEnum{dup type/stringtype eq{cvn}if dup -/$fontname exch def $sname null eq{$str cvs dup length $slen sub $slen -getinterval}{pop $sname}ifelse $fontpat dup 0(fonts/*)putinterval exch 7 exch -putinterval/$match false def $SubstituteFont/$dstack countdictstack array -dictstack put mark{$fontpat 0 $slen 7 add getinterval{/$match exch def exit} -$str filenameforall}stopped{cleardictstack currentdict true $SubstituteFont -/$dstack get{exch{1 index eq{pop false}{true}ifelse}{begin false}ifelse}forall -pop}if cleartomark/$slen 0 def $match false ne{$match(fonts/)anchorsearch pop -pop cvn}{/Courier}ifelse}bind def/$ROS 1 dict dup begin/Adobe 4 dict dup begin -/Japan1[/Ryumin-Light/HeiseiMin-W3/GothicBBB-Medium/HeiseiKakuGo-W5 -/HeiseiMaruGo-W4/Jun101-Light]def/Korea1[/HYSMyeongJo-Medium/HYGoThic-Medium] -def/GB1[/STSong-Light/STHeiti-Regular]def/CNS1[/MKai-Medium/MHei-Medium]def -end def end def/$cmapname null def/$deepcopyfont{dup/FontType get 0 eq{1 dict -dup/FontName/copied put copyfont begin/FDepVector FDepVector copyarray 0 1 2 -index length 1 sub{2 copy get $deepcopyfont dup/FontName/copied put/copied -exch definefont 3 copy put pop pop}for def currentdict end}{$Strategies -/$Type3Underprint get exec}ifelse}bind def/$buildfontname{length $str 1 index -(-)putinterval 1 add $str 1 index $cmapname $fontpat cvs putinterval $cmapname -length add $str exch 0 exch getinterval cvn}bind def/$findfontByROS{/$fontname -exch def $ROS Registry 2 copy known{get Ordering 2 copy known{get}{pop pop[]} -ifelse}{pop pop[]}ifelse false exch{dup/CIDFont resourcestatus{pop pop save 1 -index/CIDFont findresource dup/WidthsOnly known{dup/WidthsOnly get}{false} -ifelse exch pop exch restore{pop}{exch pop true exit}ifelse}{pop}ifelse}forall -{$str cvs $buildfontname}{false(*){save exch dup/CIDFont findresource dup -/WidthsOnly known{dup/WidthsOnly get not}{true}ifelse exch/CIDSystemInfo get -dup/Registry get Registry eq exch/Ordering get Ordering eq and and{exch -restore exch pop true exit}{pop restore}ifelse}$str/CIDFont resourceforall{ -$buildfontname}{$fontname $findfontByEnum}ifelse}ifelse}bind def end end -currentdict/$error known currentdict/languagelevel known and dup{pop $error -/SubstituteFont known}if dup{$error}{Adobe_CoolType_Core}ifelse begin{ -/SubstituteFont/CMap/Category resourcestatus{pop pop{$SubstituteFont begin -/$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt -and{$sname null eq{dup $str cvs dup length $slen sub $slen getinterval cvn}{ -$sname}ifelse dup/CMap resourcestatus{pop pop dup/$cmapname exch def/CMap -findresource/CIDSystemInfo get{def}forall $findfontByROS}{128 string cvs dup -(-)search{3 1 roll search{3 1 roll pop{dup cvi}stopped{pop pop pop pop pop -$findfontByEnum}{4 2 roll pop pop exch length exch 2 index length 2 index sub -exch 1 sub -1 0{$str cvs dup length 4 index 0 4 index 4 3 roll add getinterval -exch 1 index exch 3 index exch putinterval dup/CMap resourcestatus{pop pop 4 1 -roll pop pop pop dup/$cmapname exch def/CMap findresource/CIDSystemInfo get{ -def}forall $findfontByROS true exit}{pop}ifelse}for dup type/booleantype eq{ -pop}{pop pop $findfontByEnum}ifelse}ifelse}{pop pop pop $findfontByEnum}ifelse -}{pop pop $findfontByEnum}ifelse}ifelse}{//SubstituteFont exec}ifelse/$slen 0 -def end}}{{$SubstituteFont begin/$substituteFound true def dup length $slen gt -$sname null ne or $slen 0 gt and{$findfontByEnum}{//SubstituteFont exec}ifelse -end}}ifelse bind readonly def Adobe_CoolType_Core/scfindfont/systemfindfont -load put}{/scfindfont{$SubstituteFont begin dup systemfindfont dup/FontName -known{dup/FontName get dup 3 index ne}{/noname true}ifelse dup{ -/$origfontnamefound 2 index def/$origfontname 4 index def/$substituteFound -true def}if exch pop{$slen 0 gt $sname null ne 3 index length $slen gt or and{ -pop dup $findfontByEnum findfont dup maxlength 1 add dict begin{1 index/FID eq -{pop pop}{def}ifelse}forall currentdict end definefont dup/FontName known{dup -/FontName get}{null}ifelse $origfontnamefound ne{$origfontname $str cvs print -( substitution revised, using )print dup/FontName known{dup/FontName get}{ -(unspecified font)}ifelse $str cvs print(. -)print}if}{exch pop}ifelse}{exch pop}ifelse end}bind def}ifelse end end -Adobe_CoolType_Core/findfont{$SubstituteFont begin $depth 0 eq{/$fontname 1 -index dup type/stringtype ne{$str cvs}if def/$substituteFound false def}if -/$depth $depth 1 add def end scfindfont $SubstituteFont begin/$depth $depth 1 -sub def $substituteFound $depth 0 eq and $doSmartSub and{currentdict/$Strategy -known{$Strategy/$BuildFont get exec}if}if end}bind put}if end end -%%EndResource -%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.13 0 -%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. -%%Version: 1.13 0 -systemdict/languagelevel known dup{currentglobal false setglobal}{false}ifelse -exch userdict/Adobe_CoolType_Utility 2 copy known{2 copy get dup maxlength 25 -add dict copy}{25 dict}ifelse put Adobe_CoolType_Utility begin/ct_Level2? exch -def/ct_Clone? 1183615869 internaldict dup/CCRun known not exch/eCCRun known -not ct_Level2? and or def/ct_UseNativeCapability? systemdict/composefont known -def/ct_MakeOCF 35 dict def/ct_Vars 25 dict def/ct_GlyphDirProcs 6 dict def -/ct_BuildCharDict 15 dict dup begin/charcode 2 string def/dst_string 1500 -string def/nullstring()def/usewidths? true def end def ct_Level2?{setglobal}{ -pop}ifelse ct_GlyphDirProcs begin/GetGlyphDirectory{systemdict/languagelevel -known{pop/CIDFont findresource/GlyphDirectory get}{1 index/CIDFont -findresource/GlyphDirectory get dup type/dicttype eq{dup dup maxlength exch -length sub 2 index lt{dup length 2 index add dict copy 2 index/CIDFont -findresource/GlyphDirectory 2 index put}if}if exch pop exch pop}ifelse +}def/+ -{systemdict/languagelevel known{currentglobal false setglobal 3 dict begin/vm -exch def}{1 dict begin}ifelse/$ exch def systemdict/languagelevel known{vm -setglobal/gvm currentglobal def $ gcheck setglobal}if ?{$ begin}if}def/?{$ -type/dicttype eq}def/|{userdict/Adobe_CoolType_Data known{Adobe_CoolType_Data -/AddWidths? known{currentdict Adobe_CoolType_Data begin begin AddWidths?{ -Adobe_CoolType_Data/CC 3 index put ?{def}{$ 3 1 roll put}ifelse CC charcode -exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put -stringwidth 2 array astore currentfont/Widths get exch CC exch put}{?{def}{$ 3 -1 roll put}ifelse}ifelse end end}{?{def}{$ 3 1 roll put}ifelse}ifelse}{?{def}{ -$ 3 1 roll put}ifelse}ifelse}def/!{?{end}if systemdict/languagelevel known{gvm -setglobal}if end}def/:{string currentfile exch readstring pop}executeonly def -end ct_MakeOCF begin/ct_cHexEncoding[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09 -/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C -/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F -/c30/c31/c32/c33/c34/c35/c36/c37/c38/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42 -/c43/c44/c45/c46/c47/c48/c49/c4A/c4B/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55 -/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68 -/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B -/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E -/c8F/c90/c91/c92/c93/c94/c95/c96/c97/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1 -/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4 -/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7 -/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA -/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED -/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def -/ct_CID_STR_SIZE 8000 def/ct_mkocfStr100 100 string def/ct_defaultFontMtx[.001 -0 0 .001 0 0]def/ct_1000Mtx[1000 0 0 1000 0 0]def/ct_raise{exch cvx exch -errordict exch get exec stop}bind def/ct_reraise{cvx $error/errorname get -(Error: )print dup( )cvs print errordict exch get exec stop -}bind def/ct_cvnsi{1 index add 1 sub 1 exch 0 4 1 roll{2 index exch get exch 8 -bitshift add}for exch pop}bind def/ct_GetInterval{Adobe_CoolType_Utility -/ct_BuildCharDict get begin/dst_index 0 def dup dst_string length gt{dup -string/dst_string exch def}if 1 index ct_CID_STR_SIZE idiv/arrayIndex exch def -2 index arrayIndex get 2 index arrayIndex ct_CID_STR_SIZE mul sub{dup 3 index -add 2 index length le{2 index getinterval dst_string dst_index 2 index -putinterval length dst_index add/dst_index exch def exit}{1 index length 1 -index sub dup 4 1 roll getinterval dst_string dst_index 2 index putinterval -pop dup dst_index add/dst_index exch def sub/arrayIndex arrayIndex 1 add def 2 -index dup length arrayIndex gt{arrayIndex get}{pop exit}ifelse 0}ifelse}loop -pop pop pop dst_string 0 dst_index getinterval end}bind def ct_Level2?{ -/ct_resourcestatus currentglobal mark true setglobal{/unknowninstancename -/Category resourcestatus}stopped{cleartomark setglobal true}{cleartomark -currentglobal not exch setglobal}ifelse{{mark 3 1 roll/Category findresource -begin ct_Vars/vm currentglobal put({ResourceStatus} stopped)0()/SubFileDecode -filter cvx exec{cleartomark false}{{3 2 roll pop true}{cleartomark false} -ifelse}ifelse ct_Vars/vm get setglobal end}}{{resourcestatus}}ifelse bind def -/CIDFont/Category ct_resourcestatus{pop pop}{currentglobal true setglobal -/Generic/Category findresource dup length dict copy dup/InstanceType/dicttype -put/CIDFont exch/Category defineresource pop setglobal}ifelse -ct_UseNativeCapability?{/CIDInit/ProcSet findresource begin 12 dict begin -begincmap/CIDSystemInfo 3 dict dup begin/Registry(Adobe)def/Ordering(Identity) -def/Supplement 0 def end def/CMapName/Identity-H def/CMapVersion 1 def -/CMapType 1 def 1 begincodespacerange<0000>endcodespacerange 1 -begincidrange<0000>0 endcidrange endcmap CMapName currentdict/CMap -defineresource pop end end}if}{/ct_Category 2 dict begin/CIDFont 10 dict def -/ProcSet 2 dict def currentdict end def/defineresource{ct_Category 1 index 2 -copy known{get dup dup maxlength exch length eq{dup length 10 add dict copy -ct_Category 2 index 2 index put}if 3 index 3 index put pop exch pop}{pop pop -/defineresource/undefined ct_raise}ifelse}bind def/findresource{ct_Category 1 -index 2 copy known{get 2 index 2 copy known{get 3 1 roll pop pop}{pop pop -/findresource/undefinedresource ct_raise}ifelse}{pop pop/findresource -/undefined ct_raise}ifelse}bind def/resourcestatus{ct_Category 1 index 2 copy -known{get 2 index known exch pop exch pop{0 -1 true}{false}ifelse}{pop pop -/findresource/undefined ct_raise}ifelse}bind def/ct_resourcestatus -/resourcestatus load def}ifelse/ct_CIDInit 2 dict begin/ct_cidfont_stream_init -{{dup(Binary)eq{pop null currentfile ct_Level2?{{cid_BYTE_COUNT() -/SubFileDecode filter}stopped{pop pop pop}if}if/readstring load exit}if dup -(Hex)eq{pop currentfile ct_Level2?{{null exch/ASCIIHexDecode filter/readstring -}stopped{pop exch pop(>)exch/readhexstring}if}{(>)exch/readhexstring}ifelse -load exit}if/StartData/typecheck ct_raise}loop cid_BYTE_COUNT ct_CID_STR_SIZE -le{2 copy cid_BYTE_COUNT string exch exec pop 1 array dup 3 -1 roll 0 exch put -}{cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi dup array exch 2 sub 0 exch 1 -exch{2 copy 5 index ct_CID_STR_SIZE string 6 index exec pop put pop}for 2 -index cid_BYTE_COUNT ct_CID_STR_SIZE mod string 3 index exec pop 1 index exch -1 index length 1 sub exch put}ifelse cid_CIDFONT exch/GlyphData exch put 2 -index null eq{pop pop pop}{pop/readstring load 1 string exch{3 copy exec pop -dup length 0 eq{pop pop pop pop pop true exit}if 4 index eq{pop pop pop pop -false exit}if}loop pop}ifelse}bind def/StartData{mark{currentdict dup/FDArray -get 0 get/FontMatrix get 0 get .001 eq{dup/CDevProc known not{/CDevProc -1183615869 internaldict/stdCDevProc 2 copy known{get}{pop pop{pop pop pop pop -pop 0 -1000 7 index 2 div 880}}ifelse def}if}{/CDevProc{pop pop pop pop pop 0 -1 cid_temp/cid_CIDFONT get/FDArray get 0 get/FontMatrix get 0 get div 7 index -2 div 1 index .88 mul}def}ifelse/cid_temp 15 dict def cid_temp begin -/cid_CIDFONT exch def 3 copy pop dup/cid_BYTE_COUNT exch def 0 gt{ -ct_cidfont_stream_init FDArray{/Private get dup/SubrMapOffset known{begin -/Subrs SubrCount array def Subrs SubrMapOffset SubrCount SDBytes ct_Level2?{ -currentdict dup/SubrMapOffset undef dup/SubrCount undef/SDBytes undef}if end -/cid_SD_BYTES exch def/cid_SUBR_COUNT exch def/cid_SUBR_MAP_OFFSET exch def -/cid_SUBRS exch def cid_SUBR_COUNT 0 gt{GlyphData cid_SUBR_MAP_OFFSET -cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi 0 1 cid_SUBR_COUNT 1 sub{ -exch 1 index 1 add cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add GlyphData exch -cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi cid_SUBRS 4 2 roll -GlyphData exch 4 index 1 index sub ct_GetInterval dup length string copy put} -for pop}if}{pop}ifelse}forall}if cleartomark pop pop end CIDFontName -currentdict/CIDFont defineresource pop end end}stopped{cleartomark/StartData -ct_reraise}if}bind def currentdict end def/ct_saveCIDInit{/CIDInit/ProcSet -ct_resourcestatus{true}{/CIDInitC/ProcSet ct_resourcestatus}ifelse{pop pop -/CIDInit/ProcSet findresource ct_UseNativeCapability?{pop null}{/CIDInit -ct_CIDInit/ProcSet defineresource pop}ifelse}{/CIDInit ct_CIDInit/ProcSet -defineresource pop null}ifelse ct_Vars exch/ct_oldCIDInit exch put}bind def -/ct_restoreCIDInit{ct_Vars/ct_oldCIDInit get dup null ne{/CIDInit exch/ProcSet -defineresource pop}{pop}ifelse}bind def/ct_BuildCharSetUp{1 index begin -CIDFont begin Adobe_CoolType_Utility/ct_BuildCharDict get begin/ct_dfCharCode -exch def/ct_dfDict exch def CIDFirstByte ct_dfCharCode add dup CIDCount ge{pop -0}if/cid exch def{GlyphDirectory cid 2 copy known{get}{pop pop nullstring} -ifelse dup length FDBytes sub 0 gt{dup FDBytes 0 ne{0 FDBytes ct_cvnsi}{pop 0} -ifelse/fdIndex exch def dup length FDBytes sub FDBytes exch getinterval -/charstring exch def exit}{pop cid 0 eq{/charstring nullstring def exit}if/cid -0 def}ifelse}loop}def/ct_SetCacheDevice{0 0 moveto dup stringwidth 3 -1 roll -true charpath pathbbox 0 -1000 7 index 2 div 880 setcachedevice2 0 0 moveto} -def/ct_CloneSetCacheProc{1 eq{stringwidth pop -2 div -880 0 -1000 setcharwidth -moveto}{usewidths?{currentfont/Widths get cid 2 copy known{get exch pop aload -pop}{pop pop stringwidth}ifelse}{stringwidth}ifelse setcharwidth 0 0 moveto} -ifelse}def/ct_Type3ShowCharString{ct_FDDict fdIndex 2 copy known{get}{ -currentglobal 3 1 roll 1 index gcheck setglobal ct_Type1FontTemplate dup -maxlength dict copy begin FDArray fdIndex get dup/FontMatrix 2 copy known{get} -{pop pop ct_defaultFontMtx}ifelse/FontMatrix exch dup length array copy def -/Private get/Private exch def/Widths rootfont/Widths get def/CharStrings 1 -dict dup/.notdefdup length string copy put def currentdict -end/ct_Type1Font exch definefont dup 5 1 roll put setglobal}ifelse dup -/CharStrings get 1 index/Encoding get ct_dfCharCode get charstring put -rootfont/WMode 2 copy known{get}{pop pop 0}ifelse exch 1000 scalefont setfont -ct_str1 0 ct_dfCharCode put ct_str1 exch ct_dfSetCacheProc ct_SyntheticBold{ -currentpoint ct_str1 show newpath moveto ct_str1 true charpath ct_StrokeWidth -setlinewidth stroke}{ct_str1 show}ifelse}def/ct_Type4ShowCharString{ct_dfDict -ct_dfCharCode charstring FDArray fdIndex get dup/FontMatrix get dup -ct_defaultFontMtx ct_matrixeq not{ct_1000Mtx matrix concatmatrix concat}{pop} -ifelse/Private get Adobe_CoolType_Utility/ct_Level2? get not{ct_dfDict/Private -3 -1 roll{put}1183615869 internaldict/superexec get exec}if 1183615869 -internaldict Adobe_CoolType_Utility/ct_Level2? get{1 index}{3 index/Private -get mark 6 1 roll}ifelse dup/RunInt known{/RunInt get}{pop/CCRun}ifelse get -exec Adobe_CoolType_Utility/ct_Level2? get not{cleartomark}if}bind def -/ct_BuildCharIncremental{{Adobe_CoolType_Utility/ct_MakeOCF get begin -ct_BuildCharSetUp ct_ShowCharString}stopped{stop}if end end end end}bind def -/BaseFontNameStr(BF00)def/ct_Type1FontTemplate 14 dict begin/FontType 1 def -/FontMatrix[.001 0 0 .001 0 0]def/FontBBox[-250 -250 1250 1250]def/Encoding -ct_cHexEncoding def/PaintType 0 def currentdict end def/BaseFontTemplate 11 -dict begin/FontMatrix[.001 0 0 .001 0 0]def/FontBBox[-250 -250 1250 1250]def -/Encoding ct_cHexEncoding def/BuildChar/ct_BuildCharIncremental load def -ct_Clone?{/FontType 3 def/ct_ShowCharString/ct_Type3ShowCharString load def -/ct_dfSetCacheProc/ct_CloneSetCacheProc load def/ct_SyntheticBold false def -/ct_StrokeWidth 1 def}{/FontType 4 def/Private 1 dict dup/lenIV 4 put def -/CharStrings 1 dict dup/.notdefput def/PaintType 0 def -/ct_ShowCharString/ct_Type4ShowCharString load def}ifelse/ct_str1 1 string def -currentdict end def/BaseFontDictSize BaseFontTemplate length 5 add def -/ct_matrixeq{true 0 1 5{dup 4 index exch get exch 3 index exch get eq and dup -not{exit}if}for exch pop exch pop}bind def/ct_makeocf{15 dict begin exch/WMode -exch def exch/FontName exch def/FontType 0 def/FMapType 2 def/FontMatrix -matrix def/bfCount 1 index/CIDCount get 256 idiv 1 add dup 256 gt{pop 256}if -def/Encoding 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for bfCount 1 255{ -2 copy bfCount put pop}for def/FDepVector bfCount dup 256 lt{1 add}if array -def BaseFontTemplate BaseFontDictSize dict copy begin/CIDFont exch def CIDFont -/FontBBox known{CIDFont/FontBBox get/FontBBox exch def}if CIDFont/CDevProc -known{CIDFont/CDevProc get/CDevProc exch def}if currentdict end -BaseFontNameStr 3(0)putinterval 0 1 bfCount dup 256 eq{1 sub}if{FDepVector -exch 2 index BaseFontDictSize dict copy begin dup/CIDFirstByte exch 256 mul -def FontType 3 eq{/ct_FDDict 2 dict def}if currentdict end 1 index 16 -BaseFontNameStr 2 2 getinterval cvrs pop BaseFontNameStr exch definefont put} -for ct_Clone?{/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} -if FontName currentdict end definefont ct_Clone?{gsave dup 1000 scalefont -setfont ct_BuildCharDict begin/usewidths? false def currentfont/Widths get -begin exch/CIDFont get/GlyphDirectory get{pop dup charcode exch 1 index 0 2 -index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore -def}forall end/usewidths? true def end grestore}{exch pop}ifelse}bind def -/ct_ComposeFont{ct_UseNativeCapability?{2 index/CMap ct_resourcestatus{pop pop -exch pop}{/CIDInit/ProcSet findresource begin 12 dict begin begincmap/CMapName -3 index def/CMapVersion 1 def/CMapType 1 def exch/WMode exch def/CIDSystemInfo -3 dict dup begin/Registry(Adobe)def/Ordering CMapName ct_mkocfStr100 cvs -(Adobe-)search{pop pop(-)search{dup length string copy exch pop exch pop}{pop -(Identity)}ifelse}{pop(Identity)}ifelse def/Supplement 0 def end def 1 -begincodespacerange<0000>endcodespacerange 1 begincidrange<0000>0 -endcidrange endcmap CMapName currentdict/CMap defineresource pop end end} -ifelse composefont}{3 2 roll pop 0 get/CIDFont findresource ct_makeocf}ifelse} -bind def/ct_MakeIdentity{ct_UseNativeCapability?{1 index/CMap -ct_resourcestatus{pop pop}{/CIDInit/ProcSet findresource begin 12 dict begin -begincmap/CMapName 2 index def/CMapVersion 1 def/CMapType 1 def/CIDSystemInfo -3 dict dup begin/Registry(Adobe)def/Ordering CMapName ct_mkocfStr100 cvs -(Adobe-)search{pop pop(-)search{dup length string copy exch pop exch pop}{pop -(Identity)}ifelse}{pop(Identity)}ifelse def/Supplement 0 def end def 1 -begincodespacerange<0000>endcodespacerange 1 begincidrange<0000>0 -endcidrange endcmap CMapName currentdict/CMap defineresource pop end end} -ifelse composefont}{exch pop 0 get/CIDFont findresource ct_makeocf}ifelse}bind -def currentdict readonly pop end end -%%EndResource -Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end -%%BeginResource: procset Adobe_AGM_Image 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright (C) 2000-2000 Adobe Systems, Inc. All Rights Reserved. -systemdict /setpacking known -{ - currentpacking - true setpacking -} if -userdict /Adobe_AGM_Image 65 dict dup begin put -/Adobe_AGM_Image_Id /Adobe_AGM_Image_1.0_0 def -/nd{ - null def -}bind def -/AGMIMG_&image nd -/AGMIMG_&colorimage nd -%%don't initialize AGMIMG_&customcolorimage, it wrecks havoc in a nested environment -%%AGMIMG_ccimage_exists not {/AGMIMG_&customcolorimage nd} if -/AGMIMG_&imagemask nd -/AGMIMG_mbuf () def -/AGMIMG_ybuf () def -/AGMIMG_kbuf () def -/AGMIMG_c 0 def -/AGMIMG_m 0 def -/AGMIMG_y 0 def -/AGMIMG_k 0 def -/AGMIMG_tmp nd -/AGMIMG_imagestring0 nd -/AGMIMG_imagestring1 nd -/AGMIMG_imagestring2 nd -/AGMIMG_imagestring3 nd -/AGMIMG_imagestring4 nd -/AGMIMG_imagestring5 nd -/AGMIMG_cnt nd -/AGMIMG_fsave nd -/AGMIMG_colorAry nd -/AGMIMG_override nd -/AGMIMG_name nd -/invert_image_samples nd -/knockout_image_samples nd -/img nd -/sepimg nd -/idximg nd -/doc_setup -{ - Adobe_AGM_Core begin - Adobe_AGM_Image begin - /AGMIMG_&image systemdict/image get def - /AGMIMG_&imagemask systemdict/imagemask get def - /colorimage where{ - pop - /AGMIMG_&colorimage /colorimage ldf - }if - end - end -}def -/page_setup -{ - Adobe_AGM_Image begin - /AGMIMG_ccimage_exists {/customcolorimage where - { - pop - /Adobe_AGM_OnHost_Seps where - { - pop false - }{ - /Adobe_AGM_InRip_Seps where - { - pop false - }{ - true - }ifelse - }ifelse - }{ - false - }ifelse - }bdf - level2{ - /invert_image_samples - { - Adobe_AGM_Image/AGMIMG_tmp Decode length ddf - /Decode [ Decode 1 get Decode 0 get] def - }def - /knockout_image_samples - { - Operator/imagemask ne{ - /Decode [1 1] def - }if - }def - }{ - /invert_image_samples - { - {1 exch sub} currenttransfer addprocs settransfer - }def - /knockout_image_samples - { - { pop 1 } currenttransfer addprocs settransfer - }def - }ifelse - /img /imageormask ldf - /sepimg /sep_imageormask ldf - /idximg /indexed_imageormask ldf - currentdict{ - dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and{ - bind - }if - def - }forall -}def -/page_trailer -{ - end -}def -/doc_trailer -{ -}def -/imageormask_sys -{ - begin - save mark - level2{ - currentdict - Operator /imagemask eq{ - AGMIMG_&imagemask - }{ - AGMIMG_&image - }ifelse - }{ - Width Height - Operator /imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix /DataSource load - AGMIMG_&imagemask - }{ - BitsPerComponent ImageMatrix /DataSource load - AGMIMG_&image - }ifelse - }ifelse - cleartomark restore - end -}def -/overprint_plate -{ - currentoverprint{ - 0 get - dup /DeviceGray eq{ - pop AGMCORE_black_plate not - }{ - /DeviceCMYK eq{ - AGMCORE_is_cmyk_sep not - }if - }ifelse - }{ - false - }ifelse -}def -/imageormask -{ - begin - SkipImageProc not{ - save mark - level2 AGMCORE_host_sep not and{ - currentdict - Operator /imagemask eq{ - imagemask - }{ - AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get /DeviceGray eq and{ - [/Separation /Black /DeviceGray {}] setcolorspace - /Decode [ Decode 1 get Decode 0 get ] def - }if - image - }ifelse - }{ - Width Height - Operator /imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix /DataSource load - AGMCORE_host_sep{ - currentgray 1 ne{ - currentdict imageormask_sys - }{ - currentoverprint not{ - 1 AGMCORE_&setgray - knockout_image_samples - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }{ - imagemask - }ifelse - }{ - BitsPerComponent ImageMatrix - MultipleDataSources{ - 0 1 NComponents 1 sub{ - DataSource exch get - }for - }{ - /DataSource load - }ifelse - Operator /colorimage eq{ - AGMCORE_host_sep{ - MultipleDataSources level2 or NComponents 4 eq and{ - MultipleDataSources{ - 4 {pop} repeat - /DataSource [ - DataSource 0 get /exec cvx - DataSource 1 get /exec cvx - DataSource 2 get /exec cvx - DataSource 3 get /exec cvx - /AGMCORE_get_ink_data cvx - ] cvx def - }{ - /DataSource /DataSource load filter_cmyk 0 () /SubFileDecode filter def - }ifelse - - /Decode [ Decode 0 get Decode 1 get ] def - /MultipleDataSources false def - /NComponents 1 def - /Operator /image def - AGMCORE_is_cmyk_sep{ - currentoverprint InksUsed current_ink not and{ - currentdict consumeimagedata - }{ - invert_image_samples - 1 AGMCORE_&setgray - currentdict imageormask_sys - }ifelse - }{ - currentdict ignoreimagedata - }ifelse - }{ - - MultipleDataSources NComponents AGMIMG_&colorimage - }ifelse - }{ - true NComponents colorimage - }ifelse - }{ - Operator /image eq{ - AGMCORE_host_sep{ - /DoImage true def - HostSepColorImage{ - invert_image_samples - }{ - AGMCORE_black_plate not{ - /DoImage false def - currentdict ignoreimagedata - }if - }ifelse - 1 AGMCORE_&setgray - DoImage - {currentdict imageormask_sys} if - }{ - image - }ifelse - }{ - Operator/knockout eq{ - pop pop pop pop pop - currentoverprint InksUsed current_ink not and{ - }{ - currentcolorspace overprint_plate not{ - knockout_unitsq - }if - }ifelse - }if - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }if - end -}def -/sep_imageormask -{ - /sep_colorspace_dict AGMCORE_gget begin - /MappedCSA CSA map_csa def - begin - SkipImageProc not{ - save mark - - AGMCORE_avoid_L2_sep_space{ - /Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def - }if - AGMIMG_ccimage_exists - MappedCSA 0 get /DeviceCMYK eq and - currentdict/Components known and - Name () ne and - Name (All) ne and - Operator /image eq and - AGMCORE_producing_seps not and - level2 not and - { - Width Height BitsPerComponent ImageMatrix - [ - /DataSource load /exec cvx - { - 0 1 2 index length 1 sub{ - 1 index exch - 2 copy get 255 xor put - }for - } /exec cvx - ] cvx bind - MappedCSA 0 get /DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - Name findcmykcustomcolor - customcolorimage - }{ - AGMCORE_producing_seps not{ - level2{ - AGMCORE_avoid_L2_sep_space not currentcolorspace 0 get /Separation ne and{ - [/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - currentdict imageormask - }{ - currentdict - Operator /imagemask eq{ - imageormask - }{ - sep_imageormask_lev1 - }ifelse - }ifelse - }{ - AGMCORE_host_sep{ - Operator/knockout eq{ - currentoverprint InksUsed current_ink not and{ - }{ - currentdict/ImageMatrix get concat - knockout_unitsq - }ifelse - }{ - currentgray 1 ne{ - AGMCORE_is_cmyk_sep Name (All) ne and{ - level2{ - [ /Separation Name [/DeviceGray] - { - sep_colorspace_proc AGMCORE_get_ink_data - 1 exch sub - } bind - ] AGMCORE_&setcolorspace - /sep_tint AGMCORE_gget AGMCORE_&setcolor - currentdict imageormask_sys - }{ - currentdict - Operator /imagemask eq{ - imageormask_sys - }{ - sep_image_lev1_sep - }ifelse - }ifelse - }{ - Operator/imagemask ne{ - invert_image_samples - }if - currentdict imageormask_sys - }ifelse - }{ - currentdict consumeimagedata - currentoverprint not Name (All) eq or{ - gsave - knockout_unitsq - grestore - }if - }ifelse - }ifelse - }{ - currentcolorspace 0 get /Separation ne{ - [/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - currentoverprint - MappedCSA 0 get /DeviceCMYK eq and - Name inRip_spot_has_ink not and - Name (All) ne and { - imageormask_l2_overprint - }{ - currentdict imageormask - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }if - end - end -}def -/imageormask_l2_overprint -{ - - currentdict - currentcmykcolor add add add 0 eq{ - currentdict consumeimagedata - }{ - level3{ - - currentcmykcolor - /AGMIMG_k xdf - /AGMIMG_y xdf - /AGMIMG_m xdf - /AGMIMG_c xdf - Operator/imagemask eq{ - [/DeviceN [ - AGMIMG_c 0 ne {/Cyan} if - AGMIMG_m 0 ne {/Magenta} if - AGMIMG_y 0 ne {/Yellow} if - AGMIMG_k 0 ne {/Black} if - ] /DeviceCMYK {}] setcolorspace - - AGMIMG_c 0 ne {AGMIMG_c} if - AGMIMG_m 0 ne {AGMIMG_m} if - AGMIMG_y 0 ne {AGMIMG_y} if - AGMIMG_k 0 ne {AGMIMG_k} if - setcolor - }{ - /Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def - [/Indexed - [ - /DeviceN [ - AGMIMG_c 0 ne {/Cyan} if - AGMIMG_m 0 ne {/Magenta} if - AGMIMG_y 0 ne {/Yellow} if - AGMIMG_k 0 ne {/Black} if - ] - /DeviceCMYK { - AGMIMG_k 0 eq {0} if - AGMIMG_y 0 eq {0 exch} if - AGMIMG_m 0 eq {0 3 1 roll} if - AGMIMG_c 0 eq {0 4 1 roll} if - } - ] - 255 - { - 255 div - - mark exch - dup dup dup - - - AGMIMG_k 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - - AGMIMG_y 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - - AGMIMG_m 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - - AGMIMG_c 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - counttomark 1 add -1 roll pop - } - ] setcolorspace - }ifelse - - imageormask_sys - }{ - write_image_file{ - currentcmykcolor - 0 ne{ - [/Separation /Black /DeviceGray {}] setcolorspace - gsave - /Black - [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 1 roll pop pop pop 1 exch sub} /exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation /Yellow /DeviceGray {}] setcolorspace - gsave - /Yellow - [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 2 roll pop pop pop 1 exch sub} /exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation /Magenta /DeviceGray {}] setcolorspace - gsave - /Magenta - [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 3 roll pop pop pop 1 exch sub} /exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation /Cyan /DeviceGray {}] setcolorspace - gsave - /Cyan - [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {pop pop pop 1 exch sub} /exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - } if - close_image_file - }{ - imageormask - }ifelse - }ifelse - }ifelse -} def -/indexed_imageormask -{ - begin - save mark - - currentdict - AGMCORE_host_sep{ - - Operator/knockout eq{ - /indexed_colorspace_dict AGMCORE_gget /CSA get map_csa overprint_plate not{ - knockout_unitsq - }if - }{ - AGMCORE_is_cmyk_sep{ - Operator /imagemask eq{ - imageormask_sys - }{ - level2{ - indexed_image_lev2_sep - }{ - indexed_image_lev1_sep - }ifelse - }ifelse - }{ - currentoverprint not{ - knockout_image_samples - imageormask_sys - }{ - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - level2{ - imageormask - }{ - Operator /imagemask eq{ - imageormask - }{ - indexed_imageormask_lev1 - }ifelse - }ifelse - }ifelse - cleartomark restore - end -}def -/indexed_image_lev2_sep -{ - /indexed_colorspace_dict AGMCORE_gget begin - begin - - currentcolorspace - dup 1 /DeviceGray put - dup 3 [ - currentcolorspace 3 get - { - exch 4 mul 4 getinterval {} forall - AGMCORE_get_ink_data 255 div 1 exch sub - } /exec cvx - ] cvx put - setcolorspace - - currentdict - Operator /imagemask eq{ - AGMIMG_&imagemask - }{ - AGMIMG_&image - }ifelse - - end end -}def -/OPIimage -{ - dup type /dicttype ne{ - 10 dict begin - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /ImageType 1 def - /Decode [0 1 def] - currentdict - end - }if - dup begin - /NComponents 1 cdndf - /MultipleDataSources false cdndf - /SkipImageProc {false} cdndf - /HostSepColorImage false cdndf - /Decode [ - 0 - currentcolorspace 0 get /Indexed eq{ - 2 BitsPerComponent exp 1 sub - }{ - 1 - }ifelse - ] cdndf - /Operator /image cdndf - end - /sep_colorspace_dict AGMCORE_gget null eq{ - imageormask - }{ - gsave - dup begin invert_image_samples end - sep_imageormask - grestore - }ifelse -}def -/spot_alias -{ - /mapto_sep_imageormask - { - dup type /dicttype ne{ - 12 dict begin - /ImageType 1 def - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /MultipleDataSources false def - }{ - begin - }ifelse - /Decode [/customcolor_tint AGMCORE_gget 0] def - /Operator /image def - /HostSepColorImage false def - /InksUsed [] def - /SkipImageProc {false} def - currentdict - end - sep_imageormask - }bdf - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_colorAry xddf - /customcolor_tint AGMCORE_gget - bdict - /Name AGMIMG_colorAry 4 get - /CSA [ /DeviceCMYK ] - /TintMethod /Subtractive - /TintProc null - /MappedCSA null - /NComponents 4 - /Components [ AGMIMG_colorAry aload pop pop ] - edict - setsepcolorspace - mapto_sep_imageormask - }ndf - Adobe_AGM_Image/AGMIMG_&customcolorimage /customcolorimage load put - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_override false put - dup 4 get map_alias{ - /customcolor_tint AGMCORE_gget exch setsepcolorspace - pop - mapto_sep_imageormask - }{ - AGMIMG_&customcolorimage - }ifelse - }bdf -}def -level2 not{ - /colorbuf - { - 0 1 2 index length 1 sub{ - dup 2 index exch get - 255 exch sub - 2 index - 3 1 roll - put - }for - }def - /tint_image_to_color - { - begin - Width Height BitsPerComponent ImageMatrix - /DataSource load - end - Adobe_AGM_Image begin - /AGMIMG_mbuf 0 string def - /AGMIMG_ybuf 0 string def - /AGMIMG_kbuf 0 string def - { - colorbuf dup length AGMIMG_mbuf length ne - { - dup length dup dup - /AGMIMG_mbuf exch string def - /AGMIMG_ybuf exch string def - /AGMIMG_kbuf exch string def - } if - dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop - } - addprocs - {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf} true 4 colorimage - end - } def - /sep_imageormask_lev1 - { - begin - MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{ - - { - 255 mul round cvi GrayLookup exch get - } currenttransfer addprocs settransfer - currentdict imageormask - }{ - /sep_colorspace_dict AGMCORE_gget/Components known{ - MappedCSA 0 get /DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - - AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ - {AGMIMG_k mul 1 exch sub} currenttransfer addprocs settransfer - currentdict imageormask - }{ - - currentcolortransfer - {AGMIMG_k mul 1 exch sub} exch addprocs 4 1 roll - {AGMIMG_y mul 1 exch sub} exch addprocs 4 1 roll - {AGMIMG_m mul 1 exch sub} exch addprocs 4 1 roll - {AGMIMG_c mul 1 exch sub} exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }{ - - MappedCSA 0 get /DeviceGray eq { - {255 mul round cvi ColorLookup exch get 0 get} currenttransfer addprocs settransfer - currentdict imageormask - }{ - MappedCSA 0 get /DeviceCMYK eq { - currentcolortransfer - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }{ - currentcolortransfer - {pop 1} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get} exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get} exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - /sep_image_lev1_sep - { - begin - /sep_colorspace_dict AGMCORE_gget/Components known{ - Components aload pop - - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - - {AGMIMG_c mul 1 exch sub} - {AGMIMG_m mul 1 exch sub} - {AGMIMG_y mul 1 exch sub} - {AGMIMG_k mul 1 exch sub} - }{ - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} - }ifelse - - AGMCORE_get_ink_data currenttransfer addprocs settransfer - - currentdict imageormask_sys - - end - }def - /indexed_imageormask_lev1 - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - currentdict - MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{ - - {HiVal mul round cvi GrayLookup exch get HiVal div} currenttransfer addprocs settransfer - imageormask - }{ - - MappedCSA 0 get /DeviceGray eq { - {HiVal mul round cvi Lookup exch get HiVal div} currenttransfer addprocs settransfer - imageormask - }{ - MappedCSA 0 get /DeviceCMYK eq { - currentcolortransfer - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }{ - currentcolortransfer - {pop 1} exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div} exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div} exch addprocs 4 1 roll - {3 mul HiVal mul round cvi Lookup exch get HiVal div} exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }ifelse - }ifelse - }ifelse - end end - }def - /indexed_image_lev1_sep - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} - - AGMCORE_get_ink_data currenttransfer addprocs settransfer - - currentdict imageormask_sys - - end end - }def -}if -end -systemdict /setpacking known -{ - setpacking -} if -%%EndResource -%ADOBeginClientInjection: DocumentProlog End "AI10" -%ADOEndClientInjection: DocumentProlog End "AI10" -currentdict Adobe_AGM_Utils eq {end} if -%%EndProlog -%%BeginSetup -%ADOBeginClientInjection: DocumentSetup Start "AI10" -%ADOEndClientInjection: DocumentSetup Start "AI10" -Adobe_AGM_Utils begin -2 2010 true Adobe_AGM_Core/doc_setup get exec -Adobe_CoolType_Core/doc_setup get exec -Adobe_AGM_Image/doc_setup get exec -%ADOBeginClientInjection: DocumentSetup End "AI10" -%ADOEndClientInjection: DocumentSetup End "AI10" -currentdict Adobe_AGM_Utils eq {end} if -%%EndSetup -%%Page: cc_FunctionObjectConcept.eps 1 -%%EndPageComments -%%BeginPageSetup -%ADOBeginClientInjection: PageSetup Start "AI10" -%ADOEndClientInjection: PageSetup Start "AI10" -Adobe_AGM_Utils begin -Adobe_AGM_Core/page_setup get exec -Adobe_CoolType_Core/page_setup get exec -Adobe_AGM_Image/page_setup get exec -%ADOBeginClientInjection: PageSetup End "AI10" -%ADOEndClientInjection: PageSetup End "AI10" -%%EndPageSetup -Adobe_AGM_Core/AGMCORE_save save ddf -1 -1 scale 0 -136.27 translate -[1 0 0 1 0 0 ] concat -mark -/0 -[/DeviceGray] add_csa -/CSA /0 -/1 -[/DeviceCMYK] add_csa -/CSA /1 -/2 -[/DeviceRGB] add_csa -/CSA /2 -cleartomark -800 path_rez -% page clip -gsave -newpath -gsave % PSGState -0 0 mo -0 136.27 li -40.4824 136.27 li -40.4824 0 li -clp -[1 0 0 1 0 0 ] concat -%ADOBeginClientInjection: BeginPageContent "AI10" -%ADOEndClientInjection: BeginPageContent "AI10" -gsave % PSGState -0 0 mo -40 0 li -40 136 li -0 136 li -0 0 li -clp -.0947266 136.175 mo -.0947266 .0947266 li -39.7852 .0947266 li -39.7852 136.175 li -.0947266 136.175 li -false sop -.556863 .34902 .47451 rgb -ef -.189 lw -0 lc -0 lj -10 ml -[] 0 dsh -true sadj -.0947266 136.175 mo -.0947266 .0947266 li -39.7852 .0947266 li -39.7852 136.175 li -.0947266 136.175 li -cp -.556863 .34902 .47451 rgb -s -1 1 1 rgb -%%IncludeResource: font Helvetica -/Helvetica*1 -[ -67{/.notdef}repeat /C 2{/.notdef}repeat /F 28{/.notdef}repeat /c /.notdef /e -8{/.notdef}repeat /n /o /p /.notdef /r /.notdef /t -/u 138{/.notdef}repeat -] /Helvetica nfnt -/Helvetica*1 findfont [0 -21.168 -21.168 0 0 0 ]mfnt sfnt -34.1152 130.505 mov -(Concept) sh -/Helvetica*1 findfont [0 -10.584 -10.584 0 0 0 ]mfnt sfnt -14.8369 130.505 mov -(Functor) sh -grestore % PSGState -%ADOBeginClientInjection: EndPageContent "AI10" -userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse - -%ADOEndClientInjection: EndPageContent "AI10" -% page clip -grestore -grestore % PSGState -Adobe_AGM_Core/AGMCORE_save get restore -%%PageTrailer -%ADOBeginClientInjection: PageTrailer Start "AI10" -%ADOEndClientInjection: PageTrailer Start "AI10" -Adobe_AGM_Image/page_trailer get exec -Adobe_CoolType_Core/page_trailer get exec -Adobe_AGM_Core/page_trailer get exec -currentdict Adobe_AGM_Utils eq {end} if -%ADOBeginClientInjection: PageTrailer End "AI10" -%ADOEndClientInjection: PageTrailer End "AI10" -%%Trailer -%ADOBeginClientInjection: DocumentTrailer Start "AI10" -%ADOEndClientInjection: DocumentTrailer Start "AI10" -Adobe_AGM_Image/doc_trailer get exec -Adobe_CoolType_Core/doc_trailer get exec -Adobe_AGM_Core/doc_trailer get exec -%ADOBeginClientInjection: DocumentTrailer End "AI10" -%ADOEndClientInjection: DocumentTrailer End "AI10" -%%EOF -%AI9_PrintingDataEnd - -userdict /AI9_read_buffer 256 string put -userdict begin -/ai9_skip_data -{ - mark - { - currentfile AI9_read_buffer { readline } stopped - { - } - { - not - { - exit - } if - (%AI9_PrivateDataEnd) eq - { - exit - } if - } ifelse - } loop - cleartomark -} def -end -userdict /ai9_skip_data get exec -%AI9_PrivateDataBegin -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: Adobe Illustrator(R) 10.0 -%%AI8_CreatorVersion: 10.0 -%%For: (Gremo) (ETH Zurich) -%%Title: (cc_FunctionObjectConcept.eps) -%%CreationDate: 3/2/2005 4:56 PM -%AI9_DataStream -%Gb"-6CNCc1Pp#p/&cEg:M^.Su,;PAfA-1U,2klm"T'3F!ZF&ZFM%'XE9hBc2S#u(uGdY;8cPm+W=X9K24;n_:M9S@u,*B[WGs?cN -%X52Nk2_SOoI(+J"^ONl[VeIr_IPZYiM7GbGlrUsuLK@hh^L+V:@N)f\=&'PdpJES.]RB>?c1T>:5J2@?iqiWNrS,qBhnB'WB)goA -%c/tY$^4U@,2ZIgrqXrUXCj*"c?Mp;-kOeK1"'k^6f<>5QqST?M=8ohh?XLR\I^sL^b7`(EIW.hpA.5ILjbX -%a5c(*s1=a:Y:]qW72&_"[<^S*:mgnAji*+5flP.06(@jkoP)X8I.i;>^%$IX1nJX7m^m?%$tjp?$l("u"g3DWHTPnbS"k -%rW3:VEM37K^>'^2^V0L=q?,&U;m1d;5Q#,G6i90<07L^.pN5!m%gqkl\%jS"LUPM2r`:aWre5j>`bltbk7<&%i%o\n@-fd+_:QBU -%&/GeLQ_m@6)Lci-k(hPi+0HJ&b&ib(Z1$V[qcb_-]qNUN$p/9'cC>odf&:J -%f@TK*^3PEo&?2l&])U76Qe/EdhrOL[lRU[\pJUWfY5%;Ih07Hm!5@@)reSbsgJ.,.]AJ*coDImolZ_f?_",_d5@!)np%H/L6pDda -%B'f+9_!?`XlSi=4S"=gToIsLY?TKIhO*Bp"'5kc2!9V"?pZf@l2nu1(@RqEOq8:_nfC-GdIduC+T0kgo)(]'F9stH/#q!tW60ID% -%M=3kmrqgoC?\%iPY>J_#Eldjo4Wdg`JX%^Y/_,hnWZFrUr>K[XOnpVic.hHsW=$QJj*L3m;,RJQtK]_^Uc.sU@@bH(*G]7).-_"X0K?G-H.q=aLSs1X-iqXFI)G.`4mn_LhCRhn<+L[jr]n)"&up!',4!:[mn0D51b(N4fu;9""Xo%WIhYAR\& -%_!P'M$-NhBn+Fr[&!u2RpqujX2j`t=+2Npi0Ag$J^hLWj_VSPsnG;0l\F\bXb7B)Jqu.fkg8h^O/jFa`meYX$?+p%.iVN,i7mJZD -%-2"s!!S^AE!LA-+qDFr"bI9G'%[bV4X7n82^8;e0N*lRfO&tf.*rPX,X4Q8"1SjX@-C"LM94.`eD>B#m\!pT.hlXTj(16!?HbA.W -%'J>GgqrNrXL/F!!p7pI<421!(r.s7@COTpJ*'\h#q0RE1%.aY[n-._=KtH:OT$nL!h]'AgYC:`pj5h*G?R&6lXY9<(hu'moq.mV. -%?hhgJ^46"iT]I'teI@&_qo^L=ng[Rs?!k=mjgaI-YBfd+H8>tPD>1a'X'YR(qDRoCoFP>]7?0m]4sT$`nLbrS>.4 -%r7L7`s"FXdr[(;h4o=UG,FCH]:.P)lLYaV1Qf3hlPi16rmKf`YGWHn,LZABD4)U)_`gVqJ0u9g+Ys3tQ -%G;pV'LVmPMfH%DUEldb2$(dXsnLtr/=S?W^g)p'ErI2N9Dtdh8@=BHF1@>C7D:j'Ee*a_-_!H9W/\FN,G8YT2hJ(X8n886;gXGl+ -%4i"\ti/Po<_jc_VrXi2)LJ@3ZW>s(^a0Qli9cf^rlk"P5p%9J>3[fiA;MT -%](Q,8>C\W!,J`+@n.u*8H[s/>565RA!(M/4Ws)mS!pE>Y`<3nskdtd8#X8E:ua\ -%O77*J('46Y-^].1M'n[8Jr+ii7,7_*S)$0g0cHTK^Ie2$^AT:\1>f0^\U1N(WVfP!^t?!j(16*m]7]TD^gS[IFG=Sb^\n2O#\91\ -%0,SJ&h?^oc(7ABm2GkEi-#394co1O'(#4JWTkue%F+E#_>D3%:7WI0\/(-2\8_PRE&^(c#1\h9C/EBfma!%meUCBE7-K@!+LhX]M -%`pLbTkE^t0)5SV[!;mpLpV&"O^t')_+@n1g+CK0C$%R!<"=O[0,;EDZJ0q!CJ5J^ULtj_j6e!0P,93IA*2DUm)Yc8m>D/)^F@W>P -%WsOe$+"TTZE4FtB*T1Vuk]gt'GkhFG1Y$!t%bfb[[X-_<4`]u;eUpq:pI[A5ZcXQRm&Y";C80O)_X_R=J#GV'Ymq6a1DVD.G3>N'l>LfRWT("K^.mbZ)8abpfF -%h+0:>2`KlMa0jC$Ff-IJkcm)fe9XH`JYa_0@L1(r"*@!6c<_Cs4t6aOCY?,;[F$iDZ=$*"/'ckq[!oEbLjXBc'>WK2KQ@2cbQWL) -%!1>p!cTRB@"$l.VS7pol4Lj%RaUo%.5kG>$4TT!:5b@KN`%rOe5js8?"5a(]r'W3!bM*]a6u^$'$m5l[+$^hg"q8:jLHg,n#XHO` -%#(-_/*m>S;EES0gGfTPI,N@LuBk!fg/uE@V+N!R4b@."'+7G;C!F4t9`j#ue4mVOVh3mrK"DTY/7BEr\[P3a1V)XOs#)=CS!SVjdE,OJ?jh8,XB -%Ok_$l:O#)Ng4r#lJ9u7b[9OBpc\gsK-`HA-cW2-lg\U1gf,dtAZ0oe8O2+FA=++Z)=4V_8[:-2rm'NfV>AIF,jZ9TI19GQ6f"mf8 -%h-H#=_sQhn)m&:DedbF/ce?[ueln2jPT?,uU.2O&;ipd0=gp\1<)7Tc0WcO6L%OY$2!Z8H!&W[@.i#ee:H?lLQG*7R&]_*hm(=Y$!WSc_m)]BEr'0cdM3qZ^KO@4Ebprd'h5@_lo=+]!\i^$&eA(,&[LkhQ -%>Y,'LYU+:T'($F;^]H!PD7@s% -%9e-rr$"g`-%D89b=GBnm-S:tCOj0`[[0H/QT0H0Xk8<8 -%"i@RYa9Id2D5,)/:F>M<(r^"OHQX3d7-kQG@)BcIq\0REdm(XfE!kMs3"GM.m$G"c"WXd>nL;47K=8;Xtf/4$Qu$#<.T -%Db%/FWS`7T+NgK-@f0>3m>2`:4\Pu3'2c_BOL-=Dg,!jSVui@8'mPhF@,3Y)dt&+E=hksZS2jur$m8">1BEjD!4_T7!m"mR+9MU8 -%2EKt"6N%F1$7e?=MTmUkLk;.QPN_5;p;B`8EgDpY'bd-^`W06&0Qr%0%`2pf4!D@IS9?"mO#[=(%[9=W/jVK$ -%jq`V[0WkHV+,GdS9`_=R)ZNXB7cWDq7cB>Na:Aj.eJ#\T&[-o@'f]JuiX(B%&q;tT?]0/T0A)eD"N)/^E+eCUcp'=hSE&=(H+(l# -%_7JUZ3f_H1Pd:_12QU)'o-,=N/%,I0&'%p:t*D-_#Dgpi*pgg74.VS+8j/AR-ZX2Vm9Jr0B:0\XoJ4P`L!DTKDEd%V##>Ur(47)) -%)n/r%j']m@UVjk"1j[(Ge5jSBT6rElH:\T,C/jO.[-<,h5I]dM-UUmbW98eM&cIA@.n,*:*>rp9<5^fO3/0]>ths -%imZB#S6?B%*ii>JlHsQ$@/sE'5r<4(]4G-cS`#)l_*%*W6G%1?MID9GKG1,$SR?!J'NMkW9O)T,?K;T]o=V.@Ofa2@57.(9aE-h3 -%55:aqP3A]+r'TSje -%(`c*'.]6^%jmbC\bdpT]7tLBsPGE3V%U44+>m!tNEM]s7>EtY_"HN+q.pAtu);e<^7_'J7DNq\/iXRARhj\id6rsd6nQ*,XQ.B^K -%juU>Y/SlFa]TYhHbWLAUS@aMrC'9SO@WgHcR&3e>T.RJ?'ViN]C0Web*](B)*#.k[=tucj%Qah!gOi?2BLH&f]dO?'&6e$$TI42^ -%%V,c46R\Bid27c':c*u',dJ[NMag&&4W-`l.=5&5(+C'pUfPX_A2KiJpdo!WN@+#sik@I>Gfc%n+>)Z7bc+h+dk^/:-Sh`_U/HhY -%?6)Qr_<#*npd@IBJW-^EDV^FM[#iZmMklFgR[LF]+krKlc'[nBg"rB-:"j4/L,H/hD)#n^%RaOscIQ7FgXX)F -%:#':?L(uc'WbuZ:7pF*l<`"e3e_FF>hTk0k.oadMeaQj=hs5HtatGi:R<`D[W!BWb.HfJin!&1%`c,k*Ws8+NXEI*sK(botWFk[8 -%(amf-P;C)5Jht8KiZKf>mEjD;[Ps+$gY9BkN@BG4h54q8EtUuYJQ"((0Ir[Ghjj@V-dn13gJhc'`L8^/,U]r^'XQeoN%d4qY`n6^ -%(,Xe[eCVW/Y`AG#h`JIJ`*,X(ke&GGM_.GDl#e^cT^9D!=+X*Gk^r]@p&gWWC^Nhla@l -%Rba.`.#:'HhaZLWhaH@Sh?)h(d]V(Yd.r%5V"\(kc_]pA1q6Rd-c*3:?jJ:h1MAk+r^tqj2=K-RpM?kd9aPsAU;sE8&MGN`f[Hf@ -%f;^hqRa9GK4J-#`"fq']In+Kb;!R4@4Zu9ns6Cj;hX?*(9BI1)>1-8]5>Zi"qfe(o%n-AKEFq;,rKZpmm2)A\7!u%5s-EYn*'i%] -%U,!on*ak_[b$4p<\QdKGXE.lAP*&st?m=o2&hg9AGu&ML/M2[BkBi'"#.P4On3T2JDbp4$Em`jiQ%dZKlWFt:3EEc/t- -%+kN$:?UJ_5,>J^D2!!'tb2'L!bb&J*c%n0>^"JQkepOQLgb:ZfGqn9rE#4'!;GM%6LO:4?[W=PJY54/88B-?HqlK?sYia!Ga!uun -%gMp[Y?EF!)RCs-VJ*"er0>^#(ZK@jp6@PjS:WAB>^F*dWqo%9W[]T.RC42d*:Gt+[;9Ao-d1<]+>0Els]r'q>S+iH,S*j]tDY]j(>NuCUXAhPV(P60IN2.*=' -%acm&%Qo_MmcX'Q"qSmS+MKsO_s!dN3K!WF&<(b>Xi_*:bWK+hDFQ0tI"C2P`ZRUfUeO\Os'DY^lB90lGeJ`dm;&bTQ[i)Tf5)nY0 -%:.OX?e,&tVY@h*brNr"_d5@)2W`l7"^9RA2Bfpo:P$Z]8P3+K\#As,9C-@,O?_H/%YDdORrNDf6V9pde@bhpH)PEAr[KEH;5kP)R -%0ii.2?hOB%>FuTpFgk]n:nG"b=V(,I&eBOnc`DotA\i)'SllGfpkoW$o;9-MQ)(=p9 -%\h-W>N\RDe[tSP7:I)Psph/M.qejQ(G>@Sj%ig+l54E^)0fWA;!5*^GnFC8Q^eN9s;8P#)-NE:bgtf\%5Qgp?nNX(<%e)Y=kAaUL -%kteq+"uA)5%R[l\"p2O#3JTfWn8Ou_T/Zu/k>5i)'7Q>D$90DRDf?pcn:"ND$*skA9`0VkdcGH9E3I:nkXB1tpqGTG5f!]%\%oT$:BJLi7dGn23eHDCT-=A\2HR!tci%$&m82h1OC9Co)l-*;5F(?6s3KS6#O>929&99YD -%hsTL\P&hu6k^_]`gkDP*oBnZO<=+!umH3[=ig_`/6K70%f:;5;;BLnc1,g[pfYnT;A\SFZbpQ@1Q!)akWlfpuh9'[]UKp9]Zr;+8 -%F,9;>&-[-5B-lPPE5Js-9Q`<*;5cbfgD/8tTloS!;Ab8YAo4[LNJeS@dE#N37\':8'BF@.k9il3&:V1kBZ1*"VUN'^kVa[43AZa6 -%Jq2L1.EDpgqc-!hDs#8$,FuAVPBakmU#Z*1FD"#]RdWWB(*hl8.2Y@Q&l*9$rC1 -%&[0ODJE(Uo9F77lm>:qeTg88"5Pf&'cM0!(:pbi"3:N9%1$E9GkaRp+p'a -%]=cJ8q4#Vs$=_'Ej7be41S/k02a36phuAnh>,gAYHDtfH[pLX4(Lk@<&X>no`'H968f6]Vphcd9G2cRJH8-$$Scrb9DkF[Krq]qS -%.mBKtn[i$5FYgjpKZ:WWlubU@DR8i3ZducEQiajkI[gdqcJ"RK+G)/G4N!mRbL"H@](.qb&,UX$8&\ic@$:R! -%ZWK[![5_UNkIEOB[eEn]&t`)ces4#7=1k,)bIuNK+c@901#N^6$+=1*/1.]rXEne"Pu[R\g2GMk#Dnfm*B;EA\]?o-:Nois'n&!A -%B[nZ.4=1D0<:14k!`lYb2#?P8h8#K#N`Cgf[Cg[fV1+i\71U@*LVN!m4T7bFCKBnIW%U)8]'+N'en6>ZQ*)Oq+*RZ3l9)iZqq^DX -%X&h60Iesp\IJT"l3S.t17:ojug4No-4M,6bBk(mZL,#t6N`CMQTZ -%X>5lh'9NJE$ng(e&-O9a8dq($-m;tR+@L_c!2+g$A6VD#M4$%)ZUMfnZ7[BS:!miRb"ZWP0Ra#kTm7k*>k8(=j,C=C5#+r&4^;61rOKhfp)\+]T@eUT,L/]478D[2h!Q5G?m7G=`TiF5 -%!-h=YA;`aR;+M](U9R8CG0YRRZZLHM*R3Z<%**\d;t&_;:5q1hRkkZtJK6l26sq***Y*]O%lEuboj8X[,.q8V*_f&RG#`VF2,uiD -%e!_&27oXE`!4/[1;SB%;OdRWg]>]MmDGBeT7LFN4QA$u9S3919SF,KI;/7dnNI6ZIA8XkIs$KW&nqaZ9oSOOB%+&!T<^M!5&iTf9 -%Rt.m5J?5;lU^^f0'Z9)@&_iJhl@B3XB-]201b"E.O,Z6Id^)@<>BWH^V0]C\g -%"=gJt&03#V'9O4Z2CB\*Oci"C+YZGnR(2A%p4Oa%1GObnFq3P-6Tnp5IX,W"5@VR'pH8@$)=^:&q6pp1pG4''DAeBj,M9l?1af?5 -%OCU[\Ah((pF)fcc76@!F#t@&SSHL.-pSOm$W>_(%jgM#8X2dL:KF^'aRp^1W$BF)cb)";FZ.`q`R0Aj9^Q9@17Il*fY:U3.?5qBU -%k3Q>D3pMK8=Ls6aO"N\gRM$9nZ@Bfb>=MRM8f>gc7J59BrftQR;E5/;`I+b3Mp'CSZ5Om(Qjem1^nVX.0ci\5(/G(^bL3u*2A5>D9EDW7@k[BSF:/ED5:IIq)R6>`l5=2X7@Q5kWgSLHe'Ks'IV[)HcH]/("`Ko/A!Hc[;>(1Np9SpEC%H,/ -%"s`"$rLIfq4;dTr\KR:+EB3aurnKYG.u6V`fI)9+_W30,^L -%SX#LTRcB?a1%'rQbg"bh(OPc,Z#jC]LMN#Fh35qV,dM`Y[@@%r@Q6N$%>@]d9-a1beKb1i\=,Q'9,_U2!/jA1\:$U$mFUl1)'DSe -%A3WVCCENLW[pLNSU?H^hg^NJ])4N(G]0q$:Df[bSf^jH:V=MV"o1874_&)d.4[Hi/p\"in]"\"#a.)hT+4(sKh?ANY*u"YcDWDR^ -%j:6'h:(jEp:hoD.64bEX82uSDQNsPG@B=0Y<#B:`mnJoDg!69(uM/8N+LZ^d'hP5*5Q2^go"9@VZKPk%6+U[bSAH:+_i3J!+T5c]:tY`B2QbGI@*O]r`Q>HtZ`4eq<.1[`oM7pMER(Z8HXt>-gZDE/[JalHOQSbN$WKrG;Yhs%=*a.HlKH`4@<2W6s?#KhOG9DtVTKP6'q.Rs%o`ec1-EG^Keh(_YW_Ptemk)t8qddpHlI@Sc; -%CP39oXOY.7A[&gJ'b#bXUI@=gPcV*u\sSq]%7QF/o1uXP+e5fsX+_RM`/qPG'/NGmP#-f]Lf)Xl/6r%N(."FkA_6:(#[CL?q1$W4 -%8)l-rd4j%:4@&YHRLSF$>+gQZBV!>YMeBUK\(:&WGB'0tEOUCWpYhM.a'7Ddo#9W5'@?]c$7e.@ -%35i:j>()3%!>G$-QCl4E-u]B_/JhDCD8KPE0\7SW\cgP1*13?0s06/+DDNd@%,#ZmC`._L[Yu)$WAa0io_Rr!I;:Pr>PU%"NJp"J -%;!cU@1'j[!#a\)Bc'e6r"0!qgi]620Ik@Ft&\mnH?[FJTNkDd -%U-[of&EA@99-JK?8/2;TW[3I[$F2)cMIZ(F8`^PcZAHKVhZ:WCMdF7;0-$gHrkc-VCN#$j7AgaA@SW%`\eSZEHkq'ICbpnu!CB[// -%j/gZFXSQW$Q6pjX.3<8fa-p?s9"&o8lqu1oU)Q%q/2]51c,j:uYtpgBh3'ti-1e]Dqq+QMFfr/2C7]R7?bL&P5Ila<24+/C$:o13 -%Vso5cMAKP-=K%@@2;V0Z=0pOG@5+1PA$c4gf$FR;5;A^)9P;7bcD-<"!eBA3B@u#JVUAifX)@,N)er)7X_2l(T2LArXjo-GXhJ,+ -%Z8K>!@jmTNO&F)=D`%q(;P&;K8P7W;EH'H5P!i[4"W^*ja-acaj1%Z#WH.e$:pC3l'VUQ+M:nc^I1D/]ZJu;$m%6,UWk,XF:HgI@Q*h1W9`BF#6uP>g"O1QT]=@be"#;)84I0:HZiUegs`klWm?`j]Y`plc1/Y.M5sd($taeXACWqU7'#O15YL@i0Id>Jmga*Db]]2/Jg#l'!tb]VJ2sEdq?jY6IGlUoBe0 -%?5(9/__],28!4:QDWR&K(NdSSY)]f%r3*]gX>_tqhZ=0o,34LPAj0j<>>S]_L3kFZL;[95*0n(+-,X[CVnk+@l>_,(iI9V'Bg!QoC/(KNnQ0NhJ(KX#o47FH=i0JlPM2Jb3Q/.pMG\O=fQ`tVW#[3B[V0#0g,l@eE$3B:EF.[24AX9J3-abSYqtNc<,(@E<,1SH'ft0CWf're!VVZUT@4S$2E.]>!E[[ -%G31`bnOb=3\jd[>MRk',d(mVI76+FtM3T+(NA'h[`#f_C(>cu/i4B=[[FUB0.!>c]]f0qDm*`]V3lj(aVp`DIJ(?EM4PmYD;?-Z;/&_:a.I'+6R"Oc,Gi -%;JWShBs/9*I9lQlfp;`E>7GbXTriIh[GLcDlDn]+okJ8+c0`bTB6UIg;QUOJ[Et`goKfS)4'DEJobk2+FhuT0XgOY!oiZq0>aZj) -%;9JqDe_)?+@[W/?\nER66obmYi+/p0-5$'f8OZsHhn9LA*4GIEe]Eo,5CTRU$)7%sG6Hk9OullPS?"_UR]H9FX;0k1%gRXJ8`4c2 -%#BR"RHRjGG[1Qn^:BJ!=-sIAMU#>KQisBAQ!e[?TCVY>o'* -%E9RB\$fPE)4O9ppJph=T:9&2c!bg+s.0T;NZo>8rD[!-]1-Yq(YTJ^CG.cEtboV?VUdQ0O*SY!2`:KjYDXj`Kbkt145Uih"3 -%3^%2JT!V6g>,NaMe!&AI8aH#EFa?``'DZk_Pk@e7hati!MnYj",-4Y@q:Ae'cVM-Sn\4?'QN:^59dp&NoG67N-eLJ\4e+/dGkIml -%k,/^):VZXWdr80=IXK5KlE(SChu9OfDu['9IF,,\Jid:AGK25Kfn@VCmW_hI3[X\>Q$^"f)#M["d_daks)i@u$79J,8V9_Q@Qib8 -%Y2U-fJ6I$iZi^2'R&eLHLfLE7C1N1#1.@U%8Nj^!;cT0tW%P.!E\sV(OdnY+pI@%>E5T&d7q%pP`!465d3*!l,]qjikEOkgN50&%F?4j3Xr[sRN:>PGeuH8U#q^;KfEVN%Wn3Wg$GNO"AbHC>\egX;si.rr8%e9+?KjuGr_o6o[h -%`S27"eT$1ts_`tjU?1ZUccRp_,;EE-M7%V.D;I]*XNRgXW2HI[` -%92LRpNL8p8bg`*(G&1-d@2:4Z8mC4FMc8E>EDfeZlf4dgUm-q*&k+Fo=A]R#`D!fn.7[8&EqIjfo#f>_,S?RG9[ZC&Z*$r(R_1I\ -%$<(fTCLO'M'Jc3J[-`.mZ)8Uhg9I8ua4`49&.pfG+`(7GTN(/(%a=oTjrFE>4%6Bcs'8"$M%=qSh9"!$&lI>E+9maY;H]Z?mMDkg -%S)5b'-Fg)IU?$r^po._/^FJ@`c1D#'V0&"PGB]ePl$ -%R*3TuaoECF)9]]JQ#gPXc9Q\aTj\Gi>ZA_I1ubD/c0T);^s%:?-@cRK:=dkdo?=-j=(Z0"!1tiaOH^2)"TjP2T;C#-M;gCdDJNO] -%CKf3P_E&<>^3@$Y7<73!Dk<^1hEJ>"$eg,Q8]3eLb.h7NkKsq-mMZ7:[n-2M'S+Ln,>1M!P(L.n!BJ!6>Qn6CG=;7^KL,?'B';C< -%k,Ej>,,!8Gs(_Dfkg\^q^dAbeSr<[ef"-$IPOhcD)\"=j:r77X/-56g4c]'sAQ(eh;_2-\=4M="AC#Si=G% -%XGC"Z\Crl*3(G>KKnUV/.!%rT5?I"f$n%Ye^8MknX^MZ=gApq,hNAeP3-4-4(dlmg@r*_O#$4i,+.RW4n$s6ppVWDGi`'8):=ljs -%r]%kp@Z4qu@N6pF`n%Deig0b#I[Lc-\F@d(a+=LsBnAKReD.4nkB\nB2YH1gR*9-D$.q$*I=+YIp<-5gd%iq_]D$)h[;%I]A)hr6 -%gs3s/ra\&]iq\4"IA2QoP"U+qWD767PG3n/U`,'%IImG\"gY[HkUP))W%6iUR6%Z<]RNXfl78f5?`E -%?I!i02U1:t&IuG`g'\87aNcUY)"L?Jh$OWJ2g_l"M)B&1BOC.)UZmqG2u@_6HfnQCa/6/cC7iXLO()lBdLOP??EI)Z5OHhk36l)=\rB6<6I?Rm&Hej4tPE)58==\U=&P#h+C,`.Z@-J"h?V9LY=ql -%rF>;eP@6iqb0`K8g`#2*UhSB57?@aNH68i'=;=u>"[h5YW$XcD'iIag>mR?\(eNG3Nni8VG78tch,3+VCnfc%We0#(6rG2mBL3?J -%*l+!NdMN]#)Jd1#c(M<`=?C"W0KWBH6YP-3-(MA^Q!,#f8i7?4EW\OIfMTW->d`N5"s@;f5AT5SS6'X1_$Sd]QVc[L7!s+c2`^)8 -%"+CA.aIBJhMnP#><\('aEB2oHaN^f+F-4i(hg@,4 -%Kk$3SGSLEe/$Qm6CX6o]2O7oTaC;pReSodu>@0)/qUlahWB!0TE_a\2'"fL3osn!,fIq_tMmg#oXCZ121]f_D+XG6M\<_\I__$6G -%hLdq*-Xr\/5,=.MP;m8q+GL^-Hk+(qkZ`pm.ej$.>Sm?N=V+(8CZ]*`,!_pFIb:n(-Kse4i>Jm4GJ(^YN'HZ1'mc1>&@[KZB*9=9 -%VjuuB"9D:0n,rbf&E(54(Z+(VS_]2b].11oeOJ2.%@YRDGA&a$pJuLa -%bOKJ>U:bbPR^X'reJ:$C0T8!$VF#!!Bf4i/FBc(,^[lVnBNoeMId6k?.uao42GDW_@.kJ*S(^O-V?cXI\S&1UD;2!q_HJI6[X3A)ITk5!KnUKHqsFLN:4QgV`HW.Xd2:COBQpqi -%X!?.d_jrp-^1<_7KiUcH:37!X4D:#XhfhZ -%5>/-A]\V>op!]@Dh9^^@UH#UjF,f$9(CPD&i\[2':QXoU]d-s-3OQ"5:"A@#kn\'jA^YJBl?X0]2c6,"Wd_Pnb1W8MHP">8\o-Nk -%R&?EIn"$Qto%(4>[=-L6D%i\uZCUDuCPFMalKp+auCf\>m0."MrPZsmunEdVO -%j0@6_(TnKi>;JRib:FU#bL4uC-%X+G%#0KZ1[=aGW>X!1Z'?.VEp:).Tf?kL;IO(%\a4]l#R9oi5$6@Eab2S5R(rPsb5 -%bYRkMX@:Xk?dq]IZ.Gr<_:3B[8t7>WNslKYLZSL;R967FD;_405ln`@0e*p,YkMU&MpqEHV_05UUGI_,hDTrA'p[=L+oMNb*N -%+k&S7k>c_@%[]4V$bB"')T]%!T%(!LV,Q5'+3U,;s".7ChN>u(:95[84,@g2H5(Yn%nl\T&^sH&Mt[Vm+-.1'4dPE4C?3LCV#S@_ -%.LVTMU;[C95qL`O9F%6[I(%1fCHI!.=m@, -%I]]T#%PDU!BMs1+?M%AN/S1:q0:TF\Ru48gU$C'`M2A.AXn`)/M!!2Q9k1/c3>o)Kd6V$_f_L.g`_9"W,3#>SMWutXUO\#='15o^ -%s4L;$ -%nH$+ab1nk%!c\R_>:6>ipL`IN/YC(;chJ\u?P_`cRSK0Imh>W]*RA^\cK"-`&*?,,(Ljq2*A=_>81^b14@dih,e%e>97@"M*DU<( -%I\bplN"`1E?@AeSi]e4$!EZK<93+Lnjl'$Qap%(WRmM\8>UBM3`RJ49,V`5:m>sf%TdQp/9"3o?DM##N>Td2@UA$%mbKlE_?#acF -%4-SNaap$.d\=(2;;KMTB:V'8l"@s!p!I9nbT+X`NZ[*gjZi,b`s%0]uA9!(SCHb\_._Kf_,nHgqop8R+VeS&Mo>8 -%R)94gC^XI4@%04K+\Cld!ZQZ=,Wk0\E]WMZ;TtV@k"?ni,ihH^r_1k'jPG3Go8EM41Uk/PAq@BQngJBcdO`8sJbbk92*Z:@P>A`FIi5eQXdG2^YngX4Zd1I\[1sG)bgk+HBSFheP1lDR%pXRU1L5T;C:RW -%qP5L+G_1c"R!=4>HbmWeE@&c%'ueAmf;-QWl*B6JLafdY._G&!H?VI?7HfNsejoXEma]R;=#]#brjh3ar&;qcqu%&th8%qHiTe=9lZY;'>&F;ca*6.) -%0B&AoaBA>"S%cX.r$u@SKer]&$tlVZpno3ZpAYDJs8UICQVH95e)k$;B=E.XfDXr,r4W[6`]hhDcgdb>mlo/GceEg2iscIpV&0s# -%2TdmdC^'jG`G`Z5PW"#BX(/'Fe&1E[KT@6DCkhp5`ia-VP9*&?]q>Da@k*%VU:Vl>G]XgP)D_d8i^RjS7NINgU?hGKe3da2?$1a@ -%iHq,:>ql+GKDR[`PSZ-A:;+QJZjG1uDSg2XhlI:cd_"epm=a_*Sab"6'D6[CBG,VmSR=PB$6FS? -%f?UpY?bKMg:a`5dc%)'\^2'Y6THMRY>o-Q1W`Rr^l[I3fH0]"EBnr/OGMno+l__1eSP>"IZ@`_"VF$)&NI'fThGpasVd1I!53d=G -%Zu+BP8aDlUIC+@LU&t@lZW1[>LaJg>eHr[*Xq8I:GO:pdnT(tX*eARC1P=9p)e90sZSSISX#ltueN)?j^OC>?apQX#kit4.h-[j@ -%qsiFm=5R:.V0/Ddi_RGrZPn)Zg>AC4iW*ol%iC)C,`QGd#6$.:+&#);&=4Uojqc>2#Q8`mkbjUm*"IAE9<]\rT<M>u:,7G%>R*8[^%!3) -%`>%5Fb!hA:62QS1_k]^-WRH^\o`X>rU(qRo^:Tt7;MKT*q_9!\. -%#nFmBlFXFu3*p\===qOcdT8&uY(tgCn?VP0o?ZWmQ:?.Up.Z?/)TN<"_2*o@rCrNEI`n=h/i*@_Z6snGuFges<="XO[/KX&FI -%MM_rb:20VU[>(Ln?K%!caPV[XN]N8*=[RE`M"pr.F0cJ0adWG61r^LO -%+)/=j7^S@f@RP_R':eO1B+J+q8^KsD9c/jNs6Lo]q?4rNJlO8[icB0?XAdDC6ui8-Yk[PqV03c3!BSosZM`LN*:4F[+hOg(6p<*? -%8HjVk<2rd?oln:t]8#?DW/hTB+huKs,PBJ8[["W_h3^gKaO79/0bK=TJn5^^l.fsB-VH\EP -%"uCAl*:$#845h/O5>Ca1_fX:=_t2SB!"T=1.fgt7a+!Qh07_6)BPHXchUDB,"_lrn1Vi%D3(c8`D\t8Mn^IYI5`.](S:FrbjX0:% -%(IJ]X_id`6%#`FF!5b+>[Ae)S-r]!d/k8)\qGHaA@0o:[pZFjBiU+n_O"]A(q(o=Lo`K72,m-75G[pja$Qtp#3%Q;oJn+!No;,m% -%rF(]]]8Jo(iH4iR,5F1DI-s)X_;%&?:#"@VIRB;]n=2m:1uMM)erglo0HedaR*U`Vphkf4@uRYWJ-LeWNP]!o -%-d[JUYgdaIIC_K?m>Z.$`sDSgmqjIQKO++60`oZpMLVp//+'uXo\U+#1k-rum\`h\[HZpccpRB@`h0dlQ*WH#p2S]7Op$7+; -%q>c.5kOlIE*T#8A^Z"Y[ID7DLfj+OH_n/u/h^rb1>^a-Q2uST)BV*87fYE.g8T3WPNR0q,jPqfKVsi?Ol?+M]g`oYYl_pr2TSSmX],T6r\GjK^!BpCI@Cq'\atSdGR@:gm9` -%&aD[AGqLWsh+ae7Q5OXgSD)/^Mh[_WWR#uR)W)Zq(Ac_3cqY,B\p"'d%'VflCla>E2#qP&muPKdd=3**j+0]%B\&OqF-J]XWW`D] -%VaIUde/kQRMQ%G\UKdQq(:U5%#qJ-(fp18_UZJbo?(^o$E>T`d+/$6<:`]tZ+UWMQ5#aG;I^Wc0]E)Y-al3AO2mT)[YLH;fZFN,Y -%(Bl((+V=%Is%=F8@)kapknAAfog0EZn0fFn_b]rFT)295nsk\,ik#6D_iP%n-fk*$csEZA1uo@?]CjkWKhk'fjllfb"%\"T/Z;3% -%!Qq;Q;S1p%o/NJAA`gV8:ciejIlGHu6Y4&Fci,SG*/9&9UbGIPCA+59BUeUdSILtPmEL2IC`hgF69CY=0n9%Li=dqRaDi_d -%JSN?'Ug#oX0f?r'i['KEDe4[c6L((e)mWcGm\2@?C'BIVb5^`37(!WO!E!E,"4#WR^qFGKquKZC;fedY2Ik%)rcCP%'@\!6m;*nP -%(XF08eMoE&C1dYD[e0QTbTHhnE(',tZ2Ve)2rD<_hVck4\0`<:=jI;<3KQfsc.j!$mm"WU]TGFBEPDFuTX\jE5>g25Z#N:p/>Zh= -%PDglZ-aomN-(CRCfA)3,1XCXW%rm4>nB]_]k9%gM.!S+BcY>?Q<.Q97an4\FSfIZ]ElW];PJ[5Nce&9k:G3#22o#@:k"l$TC&@Nu -%f.ULITC8q#Y-2_$?bLd1S$gh,HDh)t-j3e<*j'ZMC,cio2VUC-^PuY[kSr,$,9*9;T%opLO=Wg['i233FW-0?=fami\5r*P#!AMLY[1b]H]#&kU>G$6pFoD-($q_!pka,TDhUi[PCR!%D0<"Z#]cEDA6)fb$3 -%j`kiiiRS3=HT9^3V^-[_Q10cA#O1AZek(p"'`d&"SMVMW>hubO5BDpXa]j]X;.._*JB1Ir7SkQqia0bc.hSVlnp^$RtD@>?-m!\H\IIc3Bo%e`bh0jhBXpEhB]?@Q]I4Kq -%Z-6(S_(%..5Q0]sB-3bNZ(be9Q!s'2L%?iG1T[2N?O"qt!AQ6[KS]u\GGT:'0RHRN+N^eYN9hcK*soMrSpc";acsN4P$Q;N`fuUP -%Rm>Ci/1dDqq%-[G$"suBADG)p"%j0(BS0ptK'3S:A:hRH_icIDV7(om#5o.,^Y_<6e<>t$>p(l^V:Z%%O79r2rsQD&"1Wp'L&IcP -%S,pE>)>%*[j^.g.n>JM/LSc$+.:leX$qIIb*rCM]-NG?\_hde]\?grte-R[G)5-5XB(-$Zg\9a,n->W+n->%GaI6O0c2`5$c_B)f_)aAESV,3=>CWo9iRKu7?eE)!i$[hK_$ECm -%3<0uZhnoKRKS/R\Q-M:r=mLa3G1a3PW_cO$YS\5Qm7&Lm -%!C99d&53G%A[(!Bdif"#"Q$7m@bN7E$iK)]`L&,K3epHlqa@?Q3Xre(d(3rLDG1@(:]tSalkO],NrcpH)I*"XV!j!Y4BYm4XT;9: -%0*8=XKb[mG"Ul,GOZ"GWmUKX4WUO(-I(AEt6!-F:\;"I)f]`O@O=!>:2l,&-K-4@D"U*@s[<_o#*S8iJ]nut/(h8Cnl8l$Ki@;@/ -%KC.3AY]aJV=8M9lXR+hRX&gFZSW5R$[#VHCnCpnW@DN.6ImQ&c -%)&@YQ^_\f=_E8e0d=m<>!jbQ(Kk:O\UjJ_a>G%'d%n./[3RF=aTVfI,e8eYmtIVBg/d0Qm<-^fqRt8JMgMPfm8W*("PlAge=^<(YfTXmK1'oU%;I,_$TUrs_?'XhSCaMi/TGcukdpIA -%N?*aUoo$^EFr_euHk]73JtNT@jGKUWRqq`A-6P(3?=E9!_7#(K_Y'IU-IHF;M6F/pD:# -%*\@'OV\%l7cC"'L72]lckR>U;7;o5_E.Kk/\C@_1.f?@Kg)68_L#4aQ?X;`640lGAMg\oJImYJ^dIA^G?H)IGU;RPWrQb;H?sE(q -%NUCG#_Ap7'NoMPViXTj6A_6:1&(C+57p\sNjRq^GQ'h=:/3J7d&]S^>#Xk%ZG!ClL_%2(>C"Gi9FscMp4G/KqCXt/3(4/.,,@B2s -%IX-_%p?N[DKK4F<8X?hO27EDR:&@MHFGAdU!+7QRDM^6s@+\Iq]Sa073.?_\lPcl,cmkubK?I7;?3U)2.kEYFY<,InP -%XHAqdU@]*eq=.oDH!nuP\5Atq/?W=`MrsNm'Us_5<,omJ8pSbYq:-)T=^T>BGbiD)+Wq>5q%=YDn6)LU/D@/F%BI(AK+OaSA8 -%DaoOmeHquMjIhQ'G6_B%?j1#*NPa%dhNEn+*G0r$Fo``$@@1;U!?Dqk#!d0^KVUL)!A>bdi;IFmZuG0(dh&koF=/!7)#s13@f8cCp0fYR1IU(Y/MYZQVJ+(NR'%5FI3:CRFJ&*N@C'6f\_a0fnRFWL"Y'R9%!hHhuph@q:H\ -%g\nJ@RJ@/aS"Hb(^.1&[oOh4N(3d#]ra;OSqeUn[c:P/qSdjT5303mp4UroRKJhWmLYGk7i&\_[`N?1CG_*-_a"Xi:fJI>n9,(U0 -%;AMa>0K89M"jb'@le)tZ*2DUVZZ;19-C]'q\$jND[KQB;J?GdA1op^$B61lJZ.(c;RfYW&KG:p\%s"p#A`^nu(:%=[k'h<3EReMr -%#gBg28j*^rb/e9*Ej;"&!!Gq)d<-A&$7@sF(Sfh0Ag(OBPI=6N*f(-TJd7H?p4tsnYmJ*(a0C312"c0TX0o6K'Y:m!BR*VGhV^$f -%&G1%/*'#;r6jY]5&M#@#=),3`c"CB -%3a:Ci>[);]7`RF5pA:cGY/NFRXP.ek=4[Ap0!0!Sb.]MOA-k6@lFLRA?aZJt1UXESjk%`NX%(hZGasJ3bndrK*3U3Dh3hB!^i`ab -%Ja8(a+grR#8R8Nu_dSD;e,Pqk2-na-pG=1=-pVQ4dO7ENToQ/dWsA+Coo##q3ea0feB"K+(skR1c"kTKFo#ZM2\L6N0eB``-hkqt -%*Q3!`e)A]J6/$_bIZePc^)Co*BL*DDD0aHF`QGVtiXKl;WV\cF(4D=:fh+K/-H%TE8^.(E!!*Oqjd[C]nb[2bR -%YM".9't*7+-_rI*(&"08dMQSN%!6@'M]8*.5"'IeE]4Y#`NhH<_rR"5!`50/0bQB]9$5!!Jl/q?2KF/q-=b`0)/1RZgPqZodjT8V -%F&7c0$`MS.bukX,eq0@3935/).d#ce5#TZB.]MiGeSbffiK9IN(^II'oP'C^P\F3MjsMl-F!i[)i&#Wp>BMO0`=6YoXfGjCqE!eG -%ICV\R/`thsD;DO8`=))]kSGUf,R@'g9YVEkIeA;4QU1;&k_Vn3#2mcp@Pl0p49HYkPQ]IQeaqi_le1TlKq'7,a:b]sahddP.@mKa -%BgY$ohN=orVSP:+osUdD4YBds;"_qf1Za]^/QFeT\;OE.4f!/Xkom6HVKtDU]r;&ef91FD3Fjl![\(K8/DbL-2-=4#I0%q9HZ`iL -%G&X_>Eu8Tgl;min=$78DGVcLL5-F]PXuYXP0]8Jrf%g4i^4?Y/B]+4POOc^8%6hOT[Rs09C:'cuWtah=3Er>.X&O+*;")o$8*B5!><@tjj1EslL5T.[f'?jpN+QM"I%A*L,E*oXFTuft6t[tS+,A)aCZdqu%XOGng;LR'8)X3[R`2G=.83mpZZ2.'MJHbqlki)1TO%1[hc8kr"iO_#%[3V;3.T`9:V*":%?QdtN1shD;D]cmq#q0YS\:R&PhHR]En6Edd`Aa`CNYGZ18\A=;kDL% -%K>ndu5o8&kdA++47;6Kh63P[gnATou.#39n0,fg\$ijnkbg,Ft)sP8a6D[U&nJ?kg(?!=@Sq -%%BU$G9%+?:6:5t`(#,NMD8"+i*Z\=@n,U?q80Hf'Il+t)=W)gA;%H!u^4`Jd(aY3i-o?Z,/*;j<0[,QYE+Dl!V^S+?56@3OG/Qiu -%R"gZiLWSJ!ihTP$6Bk/g$RWR6lFT4U-<&82c`fnXn]&.u(g_t`ek'\^gc:(]SN4jnSp!AKhi"%,ZmR]qQu1K)ZSmBTI`&/6#@o$s -%nq)Qoa=ur=^pk629U/']p1tQ;-bNW&<3Slfoj1-R<6!am(?N8J*!JTJl'PVk\9V3ci5uH/+>[U7.G=dL+K6&@+W+G?$S5eS-P-.T$C(:G-Z]O@L$l?A,dr -%F<_WpT(H9"]6H`9+qs[F@S7O?An*NDBJM+jM[k16+H%9q7FkcMLmWagEZEk+1!]^(N_pO7k,a@tpUQ;m7PU1N?!1aEm4jK"9f1=$7t:jEc$1lLcPH0fUQ'28Rmb#gS+sQU)X/kg\;oPb8:Wp^8oK -%Mr6'OY)GCkas$YB%"Oq#fhde8ldPN(\[ffH)XQfbZq.W11Uq`&!u0,$70W4-IKJuK@+M9L16ebE.W?/fh4hXmH3RUo^37Z8i(r6L -%/@,'B#sA&'7Wn@Acj,gWYdYR'mVO$K&;!1Q-(;=Q3[.3;N(33gTGZ;;HM78,J%l"q)M+$Emt^ao5^#6sGcq!7F@i'R?=?he:RrMm -%Cna#]H`I[)lrPY=4/VNs7Jul!qF,*PZ'GMS!IMaVp1G"@[ieEaHUiO1dn3CN2AgqKHC75[;I+s$/VB6^*)_CiJ2LDX`@2V:38'`- -%++gaeI1.T-V<"L]LL2J^F:Lb8P;p\&!_Oth#cfQaqCC#]g-iL(KV9hNlsZgeefoOg[L=1N#>;"$oj7F`oqA.3!^aY:h;n3#E]#)1O/KIi\IGaLHcG'j8r']l"@q%\rY,tT5R7-X&KD1k9`o:rPm'6?t) -%l1RUmZ5d#2c&Y1oe4(Ri>CL3QX7C/MX:=M,M`l^oH-(F!S2sS^gTaL#h?u$YV,L-Q8NNpMMIM,GON0ZOM9K!_(jHk^T[&[GXJej8-l&,F1DD-+ll/Ba>u3R`9X.%N(1^lA@_H5'k$sucA&k/# -%TLZR%P:]*e?rJqj)<_Y#LPd(6i,GU],Vc8l320hInj9OUa*=;nHLfLhK7(#8"V^L.]u"K@8gg2[r,0_:Q"l4CAOfSN7JkDDf+UB6 -%GUC`2`goQK/X%:a,cRf6m=OS-n^>NIjZY3j/TjmPT9ig(U[pM;=+$e!8hqb@,snnWK=S=TG=40PENb`J.t&KEn\d(Lf;S8Fh8$<8 -%c60-O7j=Y/;DA&h-h]Re'F]aS:kj&'oN1&VF3o=LP8n`a=rij:)V@0pSYO3t&VDG(Weh1GdMWKVKZsGnOH>/Z@rdK6?uNEeR&ZN% -%L3/HU@iKJe"LHCP("d=k^8'VWicok`C_=F8;41$Lq6_uaa&\4.%[X+<4n;YIlCf'^Sq80GU8UOd3,YJo<=);*4m=dLXMk&hBCP-> -%3uE%!DMN@]1"1U"pCUsa?9Dn6YIsO9W]3+R`b]7o(?re(A-$3ZH@9$_-6'Ca_p+nO=grB\GEiLsJd.Z5p*AK.GtE1<=#8 -%\Mp[X,U)k#_D"UH0<@q/:=U@0%48=a"Fjf3eG;_sQsF2UBJYIF!mrj=2Kl*r,P)[X3%4MiNkfhQniu4[W$Bqo$J3;XECKCeBd]'c -%WnF8B]VXdS3g)0pkp5E#3*[3qW6-9UmEjMd]fAOj`=5)&2><%(!1dUtOs#m*!+g[/PhVp3M`(XKY-Pi"b-b)gJ#GRJEh$rFZ/Wn+ -%8WE2K\4&DYkRQ8S]mE1>Lus'1\1B?"XQZShQ2EV>g;qiu`t#)gucrb@H"21D2cUOsb0&Y$"G.]*jDph@X" -%)QUuPI]q7u$]=].e+INi$.;DV%iZ[j]9VTVZ*3SVGWOogk(H%]Sa-/PY?&f_qC+Jsh^X!9k"giM(l>)\)'+eY2\k[k1.Mk*kX%l$W4A@d>+(_"DT7:P7/WAsG-l:jXa>=Qu,E'F>+ -%GdA:$3A.+k3hj9T/.H/o0_;P)Rnk@H846\R8&IV,>_ra -%!VC2YN[(SB>.SH5Bl<0"G02F9+\SRS&pS\6acOnFXbWHs98LsSU&W=2/f33P/EX8W*08*.i.o+NlaN/l>Mq;F'=4nDu#HG^S?;u2OQWk9pb -%:OTDCUQ,]F.\^9g"dkTh-W-VK=3.\&;9]V5-/m2*P7rp<)OuJ*`=8Fj:KkU/;?9t'A/eLR0J7HJbemRMj -%P(H*k8Mh9AD#"bt./(&u2U'K$;,p%$:'b>CL#^/.U3*9SgDOOU*VEu$H^3B3(bl0Tp4ug5`d>/aZO&`POi2iG7^*7=%,Mgn0VIlP/;TjJ>c)`15'BM3%X2O].)j54'n!.1D/=W1SH'),h@ACF`YgL-'r*(:7#BKnrZkd3b]oE,ff@7l93^JhdEV -%C!6H8*)K4X`A&e>io^6Xo$CHiku7[S^lthYV^N((T,:ogSKBV'i#sd!KNi0SWu..:8QE>gQJhO -%=&C;C>Qh:;(D4*SGm-8iItMIkCkQ79_3C&a03\V3uKQJR889Eq??6SKXFW%([4YNNtV*&q+5efY>t*G;]C(4B49 -%&&G'j3Fn%9$QRiN:J-h23q_04\Zh]Hp6%Ot@/N2ME9!431m>PE0CH%#5FUi;0-"o"9c(U9AIO=39dbO60XjGJSjV\fEHO0*781FN -%cA;t*2WGC(@,/&`PC0P37F@6t5-R@VY=BuN$k^BlY[ibk3;GqqN1k$gjcUaQ@f-8pj`*:"nW31H;RW3\F:\2`R^=]'I%F<$PuR5TS),G,q"[=GZZKEW/_fQUAXb -%9-']^Eg0$s#*m8e!0F=YY-e:&c/J_4,-q`Zks-FY[f)=?.ogeibc=Msur]8L`m_;qJ&k=UFLh_th* -%T0F^GnBERdn\U>j'F8;;$W[JXhCRGG:)WU;WTUPTF6P -%?R6i%-9To:l?b*C'r[:T`.1ioDbMKd(04ep\@Ee\I'S_O.^(&u'2ClAnV^t<_N`\A[D&K;+>J[Sm&ZT!:\&*,:3[?%!QkflJtCSi -%h?S=jUu9,\AP"-'dLiul?)t1t=E-8I73\c2a+Ob_BoE:/^IG11c>/e@7_fYJX@'sK_IBVd4&Z"a?"Z>(CXuN4^"I7D6KY:,qS]I( -%aqfC-(M=N,dU\IbjE.Dl6(4#E-rr&KTf&g=m4NKmM>eq?k(83@_"4L_fuRlXU\\Jo@P11e:"1b!We.7k:,VUr!"#PXXrlnh5O/k:uX)&O[`d,6SJh(3[7?"IN[q_hoASTMtM5 -%Ko`d(d&DPt/6_#p"0cpP55Uo'97@n-G`HO7Z,a^+u>(?G87m6_DXt)!D^+]4b;:caFTb,XXIT:j;,SebV:>l[VhA_UR,B=neXkBBE1*D!<s["1Z+3>P(CD]uD@$MOp1/#Y/#`cUQ@7SDju;5[_liSQBq9X[!][Wh(\%N:aA"kjeq'9m-iKUC+lFV[EoI,WOD -%MY:&,7@i^@"=QF:,HF%0bCc1c[hN3?$Dp0V;^"r*,uN-UaUWB)N#M3!q6ZG:]^JOp>>N%WID,/gJ0 -%Hs\A0mH5UX#I1r<$Fe7l7&Ld9W$A*[j%XnN.tD"9Y"f[NB!Bd -%^XGM@\HM$(//nk$CT9\j.&Hff)cTqM34Wb6Cugso[g&41JPWPHn1"dVMqMg/L5M@-[Q7CIX/Zu:+\=QJaL/#9Z2+46llriS&OfbG -%jM'(gQT8$gBK]gam6`H$e>Zba3>dARjBatP/\N7sGeNpRO%K/]BIR`Xe0'YgooNWCa*Rb"Jj2uUQ-g)*V*r]D0L:T+10.mTMc@%L -%8Vj-u$YFr8J"#OIa%Ycs1C9#%,c&q2&C)f"N3'+h'AtT,^7H!p_aXA0A.t4Z3/!e_c+$P8h)9du]#4iB4"8%2kK_+_A9=10TdBJU`([q.BNATPu=[3cKkr!GOFi/XAGUu$PXFo_E))04.IVUCNHJPH:& -%q,t7LF3&BAFY6'r]o1#d#Y9iP+OAQb=>b%o&Oi`p6YGM`ZWM'!4/FZn?'QkZcDR#0";mC6.3%Cg<,IbE'4Fg:]go,;H>HRs5`n^* -%M$MaL_cl+h!DqA]Ot<=/_f:H0qgg=rC8a^p;7g?KG%*:254E30V:cjS.j`1"]q.T%9bmZ/Lsii/Kr;OS9d%=l?'';$R_teMatU?S -%]j/:li-pm[*jt,%\>s1H>j#m$Y -%@#esm6UMju:G`=%&OYBMCjN8_lCD-9$Q7M:8s:`CVkWj?qQ.c?-6^;+.B2/POpD -%@S8t6XTc7hd4Cl=S>oY-iFE`%C/`A8=igXBF"4"?k"`:JOu\^U2'u=e`p.r22/jD6K':OPCHiIeoLm[80AarWrVe5f=ctYC5oeOZ -%`i8$Rm4?">0cglfH]c[?O2e8<;*F1apG67!U!=hC0%>G6;aq55fO68E;*?iB:>hDJ3/pZ6:R@S><#=f?PP?kA@2=c?Pl.CXPen-@ -%A+^;(FFpN&([2/\"QmNPqr^q0:VH1RYFII^PH]t1j3H10>nVriT?Yl"aY8^H(&$\+51h66agdJW[U?8]@8Lu-R6-X+GDR@VSRSoD -%UnA,H?>44a:")C2lO?kXp:BUBRBn"*47m]l#_[%(<:2D5h4ADs`,Un(4m4"G'MPe[o)=XV$.UUHGJZgM0-"/%eX^p,4lP0jU[QdC -%YbG$+'sXafCb/$H?P&HjpD*LVk#0A#SZ0+$)_:FWhGVosKGctq*';9/dO&!NSEM"g -%273OlLb(P^fWF7Dd>:qg/0QM//[e#>G#kbM9n-8M_%I`I -%5sm[>6X#"uQ.n>U6:DZX8<^uZ]/l9nFNKc;drK@f9MC2*PZFc6$D!A@P%Oq:FQ"oF.JI][92q*D+,BZH,]@2O^SK?. -%V*jpc_i.@1N,(,j1iX4)6[btf/V"rG9MG0tl.)dWR'!AiA8:F,/@uI>M_Q^)SPq]_(2&O'B"T%`Ub/j]qKYKq3[(!6[j)4PFlD%melVcDO%!c0cZ5$/ma_1d+4rL'd4=N/n`i+_KYAm"u0"c@58]b&s!7 -%b_Z4'c:^np>o;TiBZRai/%/^34OS7\F2AXC781_?WoMHoP:r4j[^?BiN@TDP6Sc3*(eM(OGqsf0HYk%X=n,q,r@t>@e0ls/R$u!G -%?2uGPGJ-tn>De^W_+n*#oC1tG2VtAr,*&s;\f6YU$D"&VU(N!'V2VuFW#%$Hh-uiK>V&B`iHte7g-OQMM5RZ).O`fr3nVc+2f?Ck -%$Gh[\N;Q#?RDZ:qOI^rrR`dCg$KHUCC)XJcGrHY;Af7q$Wmtne4KS,EPLt"4D3bNP@rK\s2S9B[Gc;`oAb9q:/A^>WMFUB>q8V8s -%19C[`3$XT$mp'=ja2V\@MBp.`:=k^AQm[m<,M4RXX,+3OgEhs?OP"Wa$jZ27@1.++5"R>_IA63^k)Wk+`;)^LJW4fp<4GfD'\)7X'&q&j[3FPM<]aZ!0kghA?]G`sFp9OYkt3n/5>^@nOcu*4 -%N^Dp)[UrG'$chS]$nB8idiuHM`t&(h3i%(>:Y,94&X8l[=]V[XI[NjBe&PEfGD'egL/l:Go:(Mu-$5%P=JT3##\-iK2D%/6C](YG^p!6:b5N78O2rGn^nT3J_7 -%IoJI*N$._'J+6HpH8]^,lMk;O'sbhh^P5Tn&T8"U_+r8AJ=6-,<)H[ZF%NTV,,ktdaN^A3N)X>u8A]0I)IcUK%p4E74!TMW4'rhJ -%?iY6af1dZgA6j=nN@RnH\W?&<^@nGeQ=Y1>(Q5u4#IHG] -%9lPl%p"6C-X7#A4)bL<)CVi+2B0kT!=.E9n"'FW3W8UM$j\7JgO'0N(PP5D]Hfoni&!62dgt**Dj-4qWRT`g_LiFO$6Qs)Ril -%]sd%DQ.T>,rJ-m[kVi@E2nqq2e9s3e,9&Q!;+%j1#n?*uJVI-Srk2+G=t@,/g&&E7jXYR`'MqdI\M"I2,_PX#:*84X`/dFDMpi^1 -%kD8P4#,a326m1B5W)p;HL/IJ0&-eqMmW;A[!C>n:CV]XO1.3"\'T>(q9-_'f3cD[s+)O:,PW*=!0LG[h,,/5\$C;CQcObH(*e0mJ0*3UDh%9nh!c:5;FUT)Rh -%MmB1fd1AnIdRqK0e&UFT5:eNL]o'!'/*t-jHIb'X`!,g1(.orfHAs2J(:`&L21POUpq#7Eml-17#2[R;cb2j(n[-SbX)7XQ7jLho -%?,KpZZ>;/Fol\+nInXhV4=4Bk?t?^CTp%tJ4G\MS-bHjJD>3>iQ,TEDIT+!*jOgm49`kl@-BjQJA9_IJ5=Y,ffLX\.&*\\3DW* -%BBtVnh_Ps9gJ")aABLTbY'EJDlC:=g]*nsD/gk8B3-"@=0uaXJB(h:To!kW4>;fMS8mk!3\E7L(%p"+4\JaSsi1p9n9UQ@cFJRZ2 -%d1f?J52?l8)c)gCM'('iOh'>F^DaP<>G]Y&qEAaJk55'U>S!r%N?1DZC$A*7S5^%Qg[IiOd=n@QEot["'"7PCIB'q18(?8,gJgh, -%E:)';N;6/b/m/WOp3-1dm?SAid1;;3+sq0MB11'bIpcs_!1\,-H5a:*991%QTsdXl5$g<"7M`e`f\3mrV*b5K^5n"^uUCX&9mlK0&.rm -%n$J0iK@H4e*),5YEF]Tkg-o'.^[,$b+f5N>$CK1*^r-SrRmh#3ak(YpB4UJT1k'!He\8op1T.p-\n\,uj!c&Q13nhUpd-oi.gPu(FZ3-[o_'tT+0'D/]TPumpjR+=6iH,oT&)H%JFe.RhhL*MF\3n=M.PRbPI*mL4=-L8B(#(>_l=RZg]R)&&sW1>U.DHRKmJS4j^tH9UFCC)c:$\u -%D3=ad.m5l&Nmj2M5$7er)_sc+YBsn$L_+:7Kfq+@:I,^R-6Y'qKGpN10%$Ge3Q-/Ua_3JFdllEH2?5F.,Pop(`(dTPYQurQb.WCg -%^#EkmFAH3;rWi*pGQ241BXR80F!RGO],ZU^it -%]BA&p>dG7G=W,hi070?m.5/=+ZK,AkN=\ikPhB/Quh?MGEH^"n@rmCFqB-X=4@hhB`<\*(G]WSQ?^gDb3X^&F+Ag7dmV -%l!tflZ?ehH_T[+Z5SZ9^f;GW4CQXHc)UD'h*5rK1eJ2l-A%0UnrGa$rVY3AO=*]?p(Mk=?=mJ=9ct(B6nLhS!,GSVAt=44gsQ:Dr;(cTQjiQ`)_q/Xq35rI"3is/Ms8E^ -%DI$+PZa\6TS"s1PHdc6/G4!c^iNEielO`U,)&T:(sYarDUcKBV`1;T+8ARBZ7Ug8%&0>+0d1&kDW.9F7`M?j*kddQ,P -%Ke)WEpVc@LJS-2lG2UppE8s!(k@aRh;rVL!0#!@5g<8&p5-s6_OItt9H#A-0nZu0<5\GXp+c87mUH+K'<;F5Sb1N4RUTh[AD0=YV -%>#JUX`TGQb[b^C[.K!nFl"nYQYFHP=>p4*DTb_oAPeLSO&QicXRZ=0F,Jnl<#a*+=EaTh%C_DM_G=Hg,/+ChjXpjnT?>n%:/Ybc; -%.P")F$`BK1=PJ[]/4L<'\p11TZc-]+P$YTV=)@*FY:(ER"*/P(QLs%rC-F/MLI(SDajLaq1!fDlre>_V(%;G)aYL6%$!]qn=A*Qkdeg`R<(3S\;K;Xdk>>gNfehmL4JD`L;%WDeLC9+ -%f>5(dfZ[N5i]C;O$9XZaLI_@?l`0^&HcI^#2@Jt[+eBI&@&soqOHON([qF91%UHO-G!GFR?OXNZGP?L! -%h3"=$Z]"%Z'pb7#Hsgf*_N:iO4Hlg-jF@cThtGGnV<*c=Xc$ -%d@0'fq1E&.^!+c_Hre#\QUa5.X3i;u4TMm^r;/q9/hb%kK%l=$6!)tEM=_'.-pQce1h%RC\WD4KR]B2>44/V#jnZs#k]rNYb4hBr -%h,0NN.G`8Ih(nF#1iG]@:G_koa1lbG3YWI=@nsLUUg6YXm%:"&[$.8?S@-?\b59*1m-+:$.![F/j)O?IF*8H8bi%`q#1;aPeNRhA -%SXfB;&hM->l\ST=,,.bQT'WP-\*.1=5?\:F7sF\er5nR1)PDr"VJ@aG:!i(5e&SYNNIc"l!Sc98' -%5_N:V*J_$)rqL,Isg4g#!]54-<@K;Uf?2dD9!c)*HrU?q@NWO5471Z -%C\8<<(J>g]Lp]F-XWR3OqX.tQI;ff51a<1R(!]b["ASf[2a_&"h;_E5UQ386nfRn#=/[4UFG8(rL_j\(]Sq'Ss/@&sX4`ics26SX -%P3cdPD_K9VA7s0cm+J13O^_3[V\+4?U(1u#*dQ"H(E21Smh\?_%Wko\H+@BG=KcFojL -%@K]h,Xj@eo5?F3tD*D.D)R,&u9*Y@Cq*8(f'g=D8!8sZ.$jai8b(n'OZM`3Tn@@S(mD+MOQnu;u&cZh%m5dp:XgnW?P]oP_ -%P\>r[hjTT;%F%Y]2*S.!M"!n+QDka[G/1dE`H\J(^CP8ppps[IQFV)'f2^-!q6nW`ZW7Z3FR/#OR1:ET'3J&=@k0KW%14.@jcq"1qiY4 -%:tkpGK6t%W*/4dLl0BfJ5i5p.&<*%@Dd!U+C('0A84^H!_n'FX6"_Qm)^1sNG(#C&IILE>:2CKjg\,IE.+_Y\GM>0"F'#fr#!CU3uBDm>X5pr_rJE'0FZR -%CnsKIS3%$'Wbg]#ct!Z76!(ZB0`q4[^bp`K+:A\,(UfL8Qa5dM,TY3VSk%1Os9+h::L4?p -%5hp>Z=8Ou_$f&sgrFC"-UURcoqIcj!Lt\YJ[l1T',mHi8^I);$R>J?1E&6$t;T='%=W6cZ),R1nV>P\`CNJs*]s\;scOXH;foI-W -%/@.!8_A2(=`;jt(PtPrSXr.E-6i#EXt1nocP)TZICoZq/r?NnTnkOU\%kiZsD]m/_LW/&JJCKUQQlle>(",IK!`BkV) -%fBL0sDuT-6PF^_#Eq#>/DONijr>;VTEOp?iEk3-@phR3OSFfX"7I-fY3jI61o)c]o-bEmR;tOr_#!\I!rc"V+YkNE#D_ZFE/GR>X -%99+s8a$IeADfP5"\/_D6=um85%.BF!eh;iupWJ5-,u,[SI]/)GgZ&QC),%nqBN/l6NI%gkXj]9[TR$(j`\XNoBPAfJr8V3! -%SD)'h'AMd5=?`q/$T6.^#bkgH3jG)0FeW5lD?l;-+*7V$c2.2YV\Y*%?uG\ZRjI2b7l("j*1GQB:1%W0K4m4Ppt"E'SG"r6TK*9D -%r4T^,S.5\r#LV\EM+3/J:_M1M$T5uiH:Q\q"__bVo3mh;K%.'DpLfVoZJSejNYdreb4;L\[#o\0\+%.!`:37J#-Q]>.be0o"5AkWL5=J@>h[`4m -%oIVh\%q=^b]>L$ta^;h#2cXh,\JkRA>0+]T[2r=)0$MU5NeKXaq#i',I7j::>![3G-tpf-O))p4Ur67.V5)jd8CJ4o`5+&KpjMXH -%m"PU;DIh?a]Auc8]AYt9]h)b&T]up'DN5VFD#*6:Y#J1AcR*ZdTk7YaH%tJ0TF%qNNc4jo;%(GkP:pN0AW-p7'67PmITMDESiIf( -%s4gBoM&CYOf=XYMFPJ6*eDk6>m\PNqBgQWZrgc(nd+V[X*V&tVFJ$eguMudg#I`e@$F?>qt?%loT -%*A45UQfa]ibK=pt4rsnq9OVtoes;-"GKt=:9CRnSJWQ(Phh2e#Yrd,0Ej#Yjc5cc:'H8P4cP=SP+CjC/a^mE9_ -%,;o(P1ohNZQFl"u`8f6(U:h)Q]3qeITc]aS;ok3.7!-df8?Q"IAmrSEQHVEN-eU)F>QJ%3ibBGU=ge$:U.$jdIqR6>"1%59^jFKD -%4BB&4pP5=Z%hms90O`3TkZN^'Ed>^bKen*0I=+R98kdIjK2Z_Y*t'u:'2ptNn_e_S=;jG^-HP\T4)ngOV%YSoe-E+b=P6&C1B3-Y -%*N5CE3r"FP!!/hUro4m'Sc7%CKdX)!alj&dd=Q)Z:@G$0m@re*21;jY[\*XDni\>5j@r(J2D,B1tJqB6:l?fJOSRNG6LBq(3'??)rIS> -%lf!)IMVDWu1SsE&M8A%$R?9E.Ss/!Pil>&#_#+3<0<=+Hn\[__A.QM'FEF+Id`@tE$VuriikE)&_b3pJpXBeC=0lj"W$TsB[eX[1<:/c>S9QQg3.5-rP&LSVWSgG:GLO3h`I`FDgM:*$5C83KQ(;JAmWVmirEV&YJksufU -%i4('B9n3l!`)9C9V]i(ll,m4T>[i!&U[Vb"q^:A2'7rBu6)ntsRajNJa+57bp-Be5\!FP.\:6Y;&Lj!=AB*n4OB9_:V0CgKKeS6^ -%p\8$..d!^heZG!*0@Y8qKLNR&%]3OW8c:it:pBm663#nTa;<(X:oI^&14K.#1"s(=-,H9W/&aE?=b2W.PeB!SZlsKKY72M7\3MR`WdHB)2h^mkAKs7R2m=_jR)( -%r(*N4GdBf9,?r#*>b5uq`:/4dj97Wm,C\S\RiFH#P(Z[Sb%:l1S#m4\KFMafl(R.k'\Xbe_69L'*@'./@:+6upS)q^#;14h;Xgb. -%H7QYP]g>jd/EEZI4tCj1HR[?-5;n"mH8aoU;+Vi]&\!]t=(X-=pX_X<+1HfqWO'bO`*]OSfM -%M4oRE%Gi-uN%"sj:ILmp`JV[e_8W+MZEoN["ce];2^YEhBKk)JPgnNE>$0X\e-1._Kd]E_g,i^$Bp?PEXl;?K$SNW -%+]27AX@:&WlAA;j6he_.E2]kGkX'V91nH+fM*$_.Y*VUN1mh2-4*KB>R)'%tE9E&fU)`2_r!F:BoQQF!`qojI!KMEo5?\jSf2`7/!3TAa<]Mt9*A_,/,j&192-Ls?JZ_9<>bqjg= -%fOP+Jkgh\cE*PqT-QZ)G17C3?Xi[-$ENAp0/KD)7eQX/.qEQV0Ke^L,D7"rPBr@$KBrZMC+,HJ*YKYSH:8G':Rr."=K?=`0ILI%4 -%#/Co4HI((@m];"$AYLeHW$BL5C/T`Vc%e]M-]*FW"pO=SRgt@Zr%jr6E?]4%'NL1eTm%<%$7m$+MW;ra)a-e'+h@X3F#C^ZS$JLo)59:,TF' -%.6"_5dc&XNh"45<^^Z,d;O78iXp>THo?D2F$uFTJ@(KR;:?uDC"dB4JU\/`_b8BO:7GkU^B51=f]l:>+* -%"N4GfT_f#K.QYq!+9$!%(O\?bjp\m((3M`aWM_[R`0Df0pi9p%oX8Ah_]FZl$4+[2m30r'"77#b96*,!7H9r?$7Rm8[mfK7Usq-G -%B@9.Z+tM6LhksJ#g[mW$8;>W_VIXXlDCj]E@a&C,--04r_W`q>UjG1Sdj@9(O&W7'r&,PLRAH6]#+fi,iFY#pAHtoUj7;9@]ittY -%amI7^``/r^I0T2YjA_J"#IT5DBF]la:Q">9JX-k;[F'TdO]`*=Qbk-+DJl(X@^\IVqTs;V -%4u>OTYbl,`DCX_?ZoAUG\!*X%f&(?mG+.th_34tsXL+n\jd%l$A2cX[U3MTSkE^^s#QF:80bK>jLS\OD+\j;:m9D5B -%L%UgK;MIrZOHrHiYP0#,aP%ktN/HO@Lpb=5j_YAj4J6CF=+I:+3E?4'0LhQ\GJ)UWUQYC[E7W,p:#KFO\']$2CrbO]7r:i9HB8u` -%RL_M*cKdgp;^3*m".!'5-c>lSXm"HV^nu!F]oJBopEf7Q*.!IR=.EB%C0cm!3iP!ILWm)jEjF1;QgedIOu1[_bPoN,2f[)o77TPt -%k#N@]K+$Y>G$;]*CF,P(@CTDFX)/k9@\=LVOs\b2I-2`![bC*_1c[5TCj]q[-'Um:N-HA,)*n\?Z'Q)b2AIEmp0\`1bS;CVOMVN=F@QML&=0fPDVq3A\-X^479/),jn6_QM)MtpC+33P4+>!@?m2eo*VZ!LncfRU&=4__oMtSjD(:SH%VI/L -%Oia-A+M4cF,Xi>3bA3/8)7s1!Y-`.jXCcSaMnSNbndYGaH0$:IQBUmA\ -%K$Z$&U4=;?/G^-ZVoKoarp=V"YqG@S!bKru2WiN+%a!CT`32t!$d[Zp(hD*fL\]^iOI$$>G)oGZ.uD3pm6-PSau,M.5EDPt%4C;& -%)cD^p-/Ct9>5V-2B&mX"[=:9THh`b>i6.2ZGc,j+mKZ8R.$W.aOiM -%feK\lGm$TMm8dAS8$a/I4ag(r*5dtIO_CK^=k!T=!=KB1,?iZb@d#t/^bGTrj.O!U*?/2@mkWnL[,_;oSJIZdBcMT&D`f3thVf^D -%;!,TI*0Sg/WiuWd(`ZQLC$B/q.''JL2+e#M/4R#aC;pR_)XRO.L4I"Eo[V=6[$3/t+\.idf_1Oan-O33pZsV"M8p'X$,)GPQ -%fAH;;I>Ud\WF8:AOCc@8]&m31^O.G/V\'t>AHKR)%C]1F.P7TY!,X;_b?G2;)6?7&cr%8W&5@@oVMGm786&h,,7Gii>"GL1'U[XB -%4]be`K8>6#Bp<:#N[Xsm\t1/t@:fAY$@#tP)E.NcBAK=OGc.W\+0I?!?5iciE8Zi"("G'!N]h(lNpmE#]lUa$!>)^fn`X,cSYsCo -%U:V7`5uIsU?V62LNUY@5RDCam%WQJ=SkIBa_(=.dio[L-&@Ff"%fF'%R.?6[qR-eQ')GT(Jp)tQH0hkMC5G].$NnX;8#h@#!AD(& -%bj[N'ejePS4o*3H%o%!$\:7-caG*etFWXh9q>PGrUj1C!$6tdJK/_PaOCe%VnpNVs6SW($_mS*`0@W6]46VH)&(^7SqP0>AXdMt, -%5HMhaIHd7!1A^0o),-RQP&Z.!Ah[Z6>"r?e'HUBU**][>LND#2FQ&DPR^'!^FQb^Z\5<,7+0YX3\b0j<&20A*qiOPe?8VtX;@pg. -%po!=/hgb'V8fWT@f,i#VYpiOqE(kDS4CW]#9QQ@FFW]h&rdKc-[-,Kr8f?&7ZNbiL^hJddf/4^Qo35\eBT6KPX/ocioKh26Dt?AG -%*[[1jOej,0\jP%]:Q^,b6_UoK0m?FaK"J`eX;f,V+[)"V^5'3HBd,$DR0O+3s)egVr#G7l_u4nOS7R2\h.2s`l8mhReK&7[B?[Nm -%l-I8clApb8=%!Ai"((t08S<:G>K/8%k/P'eZE4(N_UI#]^_j,]MIf?IL3sdGO>6&:-D]Z3*W0m=/KkXXadel/m9-o_(Ms]a92u=6QilB7hZR*uIAPf!),h[gLKJ069ltj4lcVt_"-;ON%uU;u!XgK.M\0!;*2Za2U5HbhJ5Yt[1BLN=1)J+*[KG#^)V=7EOYki) -%?W9,O2eeHA+^7Ws?=k_J*F\?+fbZU!=s>oj[Gs4l3PFh)?k1\R&Zi38%[W=6[+;$L?,ucrU7&_s.oBYX12#\>=oJ5LbG/]!U4lB! -%Lt'S)q:]V'/i+JO8qa^ec&8Xpf'S)B#_)smC#Nkd&jh -%n9F[SH!j3]I%&tm/7n;6$P0(c>%\t2NXGXaJ*TrtKig?s/d**cDBmTbZ29DO>g+E.%Kj=s0Y$IZ5/2R,h$mf2Z!)s)YigNZqNB'j -%OXE?;3hLlt2gl&hc-9ODqSR8CApXmS>ej?36dc7oLg6 -%n"Kn&'J:&+AY.+\(Y]Y^794e*M2hnM3B?A]!TH^W8i&9&A!?"D>'7u]*6]CBs6KD?'%Wig`K-mO=Y,:dakAK\l;rt*Nb7^,C.si: -%Xd8V!2C(ue&EX7nR%6uha.o,sU$T^3.oAA9kXR"EqBK2)E7gsaj,YXEj19i`Y)@6O#`$7sUK8"o,GI-C%: -%BD+=8KAY7!%a/9rI=`]G:rTC>hA>KRP`>a9GsM`K*I-6IR.jCuQ,i^%e8a'\RD_`\7toKfS;8!A`` -%g^'e;/@a;A"K$FEGfkh2WRr7h^al^^9Y]uJ=qU<`pHjW'`UFhD*2No.Rg&rLp)'oX/ -%TcF27ll#uig6Z)@jRb_SFq.GkTfX7D]nJH:MPnYo:ouENQEm7/=3&q2B%uCIMcK/UZG(8;Gb!ipK,E&J?[4]4\G@Doi\d[sYuP4a -%j\tb.G\h;uHtk$->O5k>Pm;Z_JQN[0p2rcFTN4Kt#,#KjK8a*FLOBDnC5MS%$sV5[_,C:KdP.c!=B@\[=![:EddN=Ba+W!3+tpqs -%4$orIX"`jEeI#Y]4e`'rL15!ObmoG\1Lt5X5:L*WhPNL9Sk2#-BZg<'_sK7C0.V#mi3fh3fU2ZSlosaD%/K/+Tr:k@bHIdAgpFEo -%"54/MfXle2;^8W%_d3OZJlj+^T`F_A8-b`W)caL3SIln:^VP-P_s.u$%(?Ph&J?p`266VS_Ee=ZZ=\4qn<3"K^$?A`k24oFip5e= -%?6#=WaapCdb$'n*:Q^]gCb=@`Dtb#%1o!RCG//q/&Nt6fA-pbAZ?RC/Mu+&ClgEs8d,fPcE81nEHugLDPh7ENMSf&[KoMLc6Y%4V -%EXMP;NgcJh3\(at@c>m_%PlLHLf>:0D>0-[7>MdVFQ\dC:$/r4KFL!D?0!Hf0[U.F)R$C@!%hu\s@eY$s?tpodH56C,dPT[-ZNgJ,cg+%s6&o;]kmt\+Ft4Z8MLIe>tf%moslo -%68LZrI_PXWF-$:L0$$g'Uoa:q?=So^%-tmhTWSB!jk&fP46h9uZe&aTo?1bm,Ab@a02("f&afDGJ&6klVN"9IM2"9;M_h[:YMYrgaPJDJ&<@R3#g_QTr@lffNn')H[8%k,8?V1JZq=n?1?F?cIn?!,d3E*h -%8Z5R'F:44i5#1>QML8_H+=?1kC4k'57kcXcY[RnfP]rsp(T.)ZbVu&W-st4lK?:YK\hhs@0u@AEA[Z)VLmpdiRW.jF#"XL^o=Z@N -%LeUl^nn2&iR@3LYk"-!>eg3M?]J3L]ZRQGHhRd$e.]'F`L_DiO`a4?14qS^ -%8bF[aCp1VHYrQiX53O<'0oMVXMh)k9rHL+YlK#?2c1^)9Su9TkT1[g9)K7:n&X8\+#pPSAL8A[!!+h#u3.&@r_"&6gf"eTpRq8K. -%oQUI8H%Gqg'g=&#-TmY`:.WoVUSq'BN@454S9XEPl<7<*15dsj'>CR*-61$S.1T?NQI(:;UR]UY?PZS\e#m[W6"d7^=lD -%e5!`/QZ;X*hI<1#2R-M,qTQ[^$neH)gOi;LCG`>UQ3MQnSCX@F_qqs$Y0ek6E;jn0pq9/fG?1gPh:M6Mp2q+THFhGe=ap5FF739B -%%DtO[0i/0f_L:LM589#FcZ'8oj2D;_hst2j&_SmJPAX6bW.(;Ra(^TiHC+$?YULV^or<dg1_P4d@t'%H)6/MftO9`MBM+9j2Xkf+c5CMQpL1Fj%Z%t;E'Z&oPK2cV/6'bD^VKg/8YZ+:n9eBJS()D&r#+ksKt"r:?h39isI0_Nh[& -%QprItMI]I@U>[P(b,;Zo(G'j&'9q<9R7V!#Y5`q4O/5feikEXp@rEb;iUTsr=B!/^'/9eY`,U!sP!f6$Nq^s%'Cn2$BT&">4N^5- -%*rEKnka]<0iA\btW5$X9A*XIWqQ0cr -%4I`t=[m^g*D-JB\K@qa!B\cl*ATWh&g^n3>863!![1qjBk5%SD+o=_)J^[R@)@^.EI$raR[6l[]B>*]!\>YkF4TJcB^X<`FgZpmt -%_-(5M`cELrV1rKuL1L]j-,f/p'S<*<>*_Z%O#TqlCQj&*V[`db)HMEk(]*_WT,5GW_a$V^>.[#upV6XjDu0IoYL$AMfAIgEqr8KJ -%#C1';+/FZ0JD.iq+TI1<_Rjm3Gn[sbCHt.0q046=]6G7& -%6^?>'q"V>"lEYq9UA3;p/b'?i^>U7Dgj]f-C;-/S'"D+?Sj;K/I%5gC%gULn:Q$ST(@N)&:Z$=^Eai!u@!#gU@0V=n^To-9J&B#[ -%SA*mHgHE4,lkc7A&DG_[^]/9!5I*-[+5MH&4N$;[T9n,_='ssr4k\GDXjuqsHP4)F07CN_4=o<.C03_,FmDJ)\1!`^&;L"7iL_%` -%AomB`n_K5_*fo'.oZB#][6F42nb'c7?u-u)Dmn('_.-Y8HM'-9=R0T.A#d&fd?KS4@+a(d@PNo6Z76K>hd/;7r:,EINaMT=m"3?q -%3V;8(K\MqoSh]?MrWN131N0c$h&3ad:q&s`_Id[SHe:L8MHA@A-$))d_;g$IChsC.pIl@hO3nkrUH=S`5W$bH0q-;]c_]tN=6>A' -%PB6JO\-L9/@5'sJ5)hB(M-6iOZ4gt6%M -%o'%$?@UQhT2r).#Q?QPHjXJ`"NE/D3lj"(rc)k_GZ52Nh,^Ru?5qE9sa!'Zc+i5c@cS3'f0CrTHYIRj:]ET#/&.f$2r:0FYiuAc3 -%6=(MmpgVQ*Y^1'p>hS/dM&n1f_Wn3e4%=Eamf%%Z*G!p*a"rp^He#T>oS+a&b^7ZM$Rn):F!&3Z[-[UArHnH,6JD)`joGPSA"OK@ -%mECS4&GeY[>"/4&VZhSdimeqj5(DikW\7kB=Hl+iDV=;dPKu$BgH3ZH28.]+gG\huDqQK,IIef+C38@3kB',FkDVb&+!Sf/TeUoF_J:Xg(E`q\/,H;WdQMIh8&nCmrdI5B<(?uhU2k!5e9uj!4h1MI6,L\!cNc%pIsi-%)<1i!;F3Q!;(i)p[;W_7T*Gh:p[_ -%E8fK0:4;).n23pqQSeWpQ"*aj?n4(HKaemjl;":p%,Bm4G94llMK9*b)a`900?NMJa7L9 -%mJFLOEd+*m&)N#`2_+KSZenXuL3ZH5i_U6U=#r$T5jYXMq'2(kC]7dF7F#:(WW-@G7Et,O&hkLMSD<';*s-onWH>=M`7Qb>4F$l# -%+:tUb9&Se[e^#U.9H2@%il$M.lBPY8?[>o,'@D*@-!X3^Bu_mIk4X>=4,p^>p\'\Up?b>M^9B<\iNMU^gQm%f\<-OdTNd0fJA%DJ -%_&qunUW07j;u^-R4MID$'p8LYATm%]B<+)`hoZ&bkGJKF(h]M#UVD1mCNk"R(E15a8pCN/04gIR*]N'G/\*aSQ1P/pGbS&)^`3*C:.cq'L -%/$LEhUP;lWSoY39Xc'O-KG=,Z-9<*?DXHkIA*qlN^0/anV;Lk.QD6,"O/Y;'<*4[+[KY&V2pAQ-cn/Q7!;$GnWZ-Cmp$1ir"Aej! -%9Wro2]?7FAL4^nX,N--bmAp%72N'>!Tq7rXBKVm1X]eS@l>.PLu'56$rt1$%H=DeN':k$[KF9JQ=\WF/?3PTKBoMtbFBHg'cr=> -%CEbKRC>?aJ`,8j=2s<1JiV(LN*O$?VqRWbHd;O8Ka/fYY5K"?C@<[Cq85OBY\E(UnW5bT/Um>(8X=%3bAmgli8#Jk\ct1\=!sBTQBn`2Q@@n&*q8TG]i%s)S3YA>9::,HZ\4A%g("[LfI -%f@>Ak^0Ff`bLAHi?kJdS62/CDpbgpU8^)-)F>\R8NS$TAIF,Z,n3OO:K0pa0XYVPZd(i\(*VHtg+oe'L(Ar>S?#P-q'#$4P@6%mg -%[*hl[_t$j`g4Ep*a[tp9"$VH?d;7Wq80E5*#4@Mph7:*[K.e_IlQX)&P@"(TNcV[GDUp+EMG>h,G<+%Ko,E^Bl<1+=lJD4a&N=F> -%-.,G4kcl-uV.]?ZUNFs4CF>PiQ0!iWPRX#[XWkO1Bf[[pI!Uu[*G<_MQ;f#I*cG-Ba18c`1XL`:J%F%:VrIFJ>`[UiW%[K6(5$LL -%EQbaK*%jeDo5@PooX@sa2b'pCcC0B#i\jugI>b^6!SZZl$VR^tA[2sk>4g-dI(LPG4*S$Q>G8LoMSB8MMmZ16bU"(9RAp@;mYl$d -%N7-%=D/IWuCM1=$`1p*@!P%@.k_5g-o^9e-RYgp1?npDg$=Y*]:Rh$4R(qJ&q5R:2RZ2)=k3G5U=2Esn$!sMW\FX>@)d(aG&#+Cq -%4,=4Zhu<>IkdM5=?./]JDjg9QXY5%:\TQeN(hE/#R2jA7#-J$g%a`]j"*3c%AlS"@!L5+jMG$#kFPdK[(BZ;Rgs.#d-pl4MX -%UVdZ8bJb>_*\)m;?.?uh73_DWBUppd>n/`KQ673-9<1^Z^2Dr.:;P28h]Igc9AX[W%@a!bF]GEE]F1;l%"m$BeLIJ7`P]FaedOZp -%Tf^.1\#/<[3DS&k?"2OGoKpcTA7j_aA#Bs`_m8IID<8\Qi^Cspe^XQC6gQucldtOWCUn9Cm@M'Q+*U6>c'`oe -%o$pH_A]qP0H,INYgj[qF%l)Y8F:<[?RDGL>+*3NM1DDSfI"4c>rEsP[&B?O!^qCdQ262:A)PJd5L9*U'k<#!b;2uUBj?4I2lhJ7\ -%:Z6cL*<)0T*.RpGBH9DD*F^OSU\9!Jp>R^fk5L%i*QJtmpcA@lrQ98b[p44!63GQLUHKrMf,s"46+nEQ%5ml%u8)WNHqE+b.[TB@'TZihT's"S]K'-EoiQQu3>4RP&`C`m8k(mjC$_fcBQ)-?F&/El`u%tc(E -%!]'V6)UZ-b*G!!nmOJ-_1D00S.J,ekdcg++0OU!fA\C/,\*)l@@,2j?XY=,6pau=_5@1noNkYbUB)^nb"3WZ'$YVOd2)5@[n&heN -%%fc.il@=nen&eF8nD37g]Jedt/ABr$gRYt2k,g<*XDZ4oZ.=B]GP%^*qCec(%fUr4DnGeQnr?4q3i>bU>+Y>Lji^(fhh1&OR%UiH -%:0tcHICY)HL%g`@Nqm^TG>DK$^cG[0G0QS7hor4g,qrOfdYKn82UCr^!AaGXZIpUV8U&*Qfe+h-$0J<"9Y -%=t:'6g[*AM0(mm*V]hH8HoE0K,\e4n%INUfP\E!)>bN5O-[96J`"-a0kAD7-\,>rI]K&P:>eBNm?T8mmSO;E54T1*Pkn)lrSm757 -%/dbHN03pLmP:KaUlusd9RQf5U<."4.=,Ci\"Zru8R`.Nu3_;2-qoks/;F)b.J"(Hm@pHJjkdPnaZg7(?aIDdC4a7bY?WHt2=11cp -%b/$/??af&`m\SbNSI8JJKC4^.5bHdgF%h%QjW:^?BlQ]j+#.efFG/RkF?4U_5'CB*E+c?2g/@!g/]^#1V%W8&mjeqI0W:oS:!(4< -%0gK$9_IN(i2-b*C!\V^]JA?9$S'`A0Xq>=L^ncfciuJ2LDbm$%GGf9+Y6XX\i8,IEWu(_g/)d&4ZLF15Dg03IBkNkbZQ/O;1TE=F -%gRe>6WCo]@1g#]5)WmZe,ffhpbnDO"=mF(62,>q!_M1'ua[>uf2e:j_MpMs@[W$,2k:-mEQ]$>LPm#4q+$8Pke'S>Tbj!nQpJq4Z -%Gheme]0gdd5d.?_Q\C0hp4b*,r-QKNAu[4KaNu]3Fa*+5<2qH&@WPV3Bt196aIo9fSC;%?1q#%2q4\DKkP]Vmh@fH0/,Cool)]XNS4o_IA3YM(:B[5:sB5<`3bb')dl9L0\.h7,\$nTLWI7H;HhG5@I>okPB>K].ZD=/U)=db*HE+BKHdPO$S)e8&^R\Ru"At%DI*;CZ&1>28/Y_aN()XM[4bQ&F.InR)HO%oOrRS -%Y5A[1gbSbM>HWAL#nq6ErQMUKepZZ;.70/^&lPC`h'Uusq!IPC"lrbD`u;ao0dfm9RRK2jgVb\&R)Z;J<.jcMc(*u -%SCUf^'BEsoprF?j1%aS\@*_8,LNQ;!:Vu##fq9JFDW]3P^H!KVNml7h].j'#UOHWfGl53KY1)^>X"\ATY#69*Tt,OF+a30iN!(B* -%P3"I+n?SU:L_ln^fXj'C-8@;+X3g`#'J!P*3V%B[icQ=e??Een2r"5l.,5l5gB2V-g;cXo]rqB>+cHf4DOGh,JIhQi+/Y?7iJJh8 -%a#hlbKsVPP8hYGl<0@p495[p#Ic^1&cLgakPLKptSCq+\/I0Oa.*K2i9-S1*>m2-1fgYHp^@*muCF -%/=D5/(>qmbT7?^,e%'e-4h>4Xh:T3CGX(6SlL*6CLG-FTe$Q?6$l8Zotg47>7FHRhtoXia>qO[6`*1b!d=e!T(](40Vg8Z1?qV1Gg>E5`Gd4pi(G_:64o;-_hd, -%c2;H\no!-i4M'Y:44`pu;p4BKAr\%_ONY&[>M$?ko -%>L*mRYd=Bii!8QngRu!ZQ:ddG!$nKSEPuK]FJZsbQ=.eO]M2ajj(1u.80M@Os6RM-Ah!'9<\!M7Xoi\0fp -%8?!V##g8;a]GnC-:HX)Ms*67t35cQ9&,,P1&g$=<.3_g0d9=/OXrb#0>@b -%#1_h;ToEI^6IU:m"l9bXbI)T8%(Z:2G.uT^a'D_Yt2#56WoXtGB]:I?g54klg%@rq4(89>q5q@7Gj=F:"-V&mT-TU2Fc -%\Pl0,-G'"@#`cs`5c\n&$dIK0UmXUHoL(gOWl9WiP1a3PYUcpOPfdf1lq`QPc-FI1`#Jjn@5b7Fd0A>6gn[-RSmQ6N^kpU#I.(iXi@ne^YAE.l.>^#%B/b==NCfr,SZ@[4joE&>C)/i6Qag(Ak@N$MmTf?ur=jo]:7 -%Z.9s$3<_5h@G"`F_JL.:HiUO8!#]U*ZCu,Jdq>;h=Ql(,!4W"U**&(/*PN.nQ,"mTg&Y]u8f%2g'4W-7*k^MFq@oLP\^ONrT#\;N -%VIgG1&f]&L-#CQ9$`\e%g7$Ij`#and4Tb^Q0<#"-KrCOF/p&(3LadC/[SFchUOZ_&7A*^Ka`a($0##us3WVAa:ZbLUk&0.gYhI-- -%K.mHuOM1K8@%asb^s9g;IeKn_4^h//5:M8SlHNpsB]c/6+KeUrPh(E*CGWc\ken@kDWM#10!*?I+K`.7&?98`%oH2#:AH2-\W0!; -%J`eVuA*)m.ad1L3\1nJ*91`WqYIjWZ=,GI_$H/7TP'!"2]a2&e6Cp)p:#2?f'a/=PK"flt087/Zm*gPR@([fkXG=b\]U'rj7K_Z^ -%lA<-;9dL5C:BO(hJNfUEmmQ5J4bM-[5TS14[O-B:-b-u^^.fP^WXIQ<0air46BO5Ve!B'cL"U.d='94o?AcpeJX^Q0iY-&oEWdlO -%W:^jlYE&#tlq.O@?mR,(d=Eg,$!pi9]5Ph8O(&UK]X:TD&*ocR8`ai5Cd]/(8?9`obQ'OB^Mg&r?9G"IBHE-dqapT?,["OW$ihBW -%%M6%G8(b+!LoJ%1!fZ"Iakp[N$#6ZIB(]aE%^*Pt[c'H8HMudP6HkLB^:f&3fT-b0R+<':K<#A/f%`ZsG9[2'&]]FYcB#ZE$H0:u -%EL1\VBjf3;!Fb87i6Mjifj].<>1;"5o&/4$oUl0$J,Jd8r3u_!l_"4CJ,?.YqsXR]g].+(.KB"SqdJ]u%oYIdqqqCjs7+G8rP/?\ -%5Q(6DrmQAnO'c8oo)6?'[t"B=qtT(Kp:o7Xs-rtR=_N9m:!tA\.%oBT"++f%MAKg1TeF9aQiS.@pUe7lR0E:$DYI1-/220:(:ZFD -%$?Z^.nc_QIl`rMVgGHnVm5rWfn=WCXm6f7opH=(RWl5(3LX\k[e[QY:$H49:TN\9_.].]\VSq+N\EU*7ZR8-W*'.\G[-8\KkJarbQQAbIJVCLNrs(4QCA/&b'n0S9gjhM -%Jp5bOl\N:t6>ghb3)XfGUW)DNrKU]UGG&*!*f483+9h>oFJkQB`^7O7>/$es@hKCBA]L@h/?H9VOI -%e<^AYi&)VoAPDE9P5_JUM5R7mNUBmn0$5ra39cE@C<`:WoQ#@Dh#PK:>g%;2%Qnu33d#%5ieUrG_t.B7`*EA3-IQS[-K->MNPoII -%(BUpeBX^4]19F85<^.KM\$;Vr7d%7`f/jR)]hTPt@PO8dh?bPgBjidB/N$p&d.*b,?r>(,piT6;Ph^!Fo6J[O`*Z$G2-_(pYa2H+ -%n=hS0OX.nDrUpV;^8%"kp%iko9HW!@1'7Wb#F7<2ko8*m5at45A,E5&>G4oZpm*Ul%TnUdic9_Og@Eaf!4]:fYd<5,8nt3OXpqmJ,$5](HH9]0rDR.[RLe7?laI$d8:=>5RAeHSMo(.Qf[dR$g?k*^K\8+gM]$XTh/pUY/lN`q\J@&5nhLlCK:o:rYo_oWbQ@X,am';$ -%K8g4VTt^S!':=bGrGciS^+0T:h35Z<&3kcBB10QC?g6JdJTD*CiY+(LAFIIB,jo`Q+u\Fa%7g\`YWQY$rKZTpSft!`pC*f=DEpct -%T5N5-8QBX5cZa'FO6p&d/,/*uoA:9^2rbaBqhO$#.iO4"Qf276/A(*'n]p!!eNJGRkb\a=&k5CuXp37tNhC$hB=Yt9#PfK#HPSV. -%33F@q+c#5H-9PsBP6hb-L1]\$_?0\O0Yba/nVXi,'2sqVlA?j1VflT/)m(LI4aCr/m0l0X-g9jS.9LO*sNQ0+I;]l\Y0SfIkm_ZJOOkm7]h4*]:D8^Xtl'UnVY=K0b,3eNUFNe:XM=kl#b6C,-_g`/AY812tH2lLP5t] -%MPn<_`02_8!B0B0hq?8B$Ki<0/P^Lr;LZEr\AMr&ggf'@A0.UTPjrA3gW-uKS\&$fnhM5[tKeoEG\0)?6e_M9XY_2X$pU# -%M,r&dT&DNTMbj'ijK2s6MPfl4jMRC[l18Hfs$K*%Th[sWWddFGL.GS,WbR-JP2rfmX7P'qY'5_r[BpZ+Z/kkc*%H4l -%6&Ea5>>[1[d:^u4PVj*1FDp_Yhgs3O'O?R0gIYfNKJ%lh174),B&W@)OOc(n>FYiK^crbXiY6JSpOa&& -%Y@DZ52?`N:.T9VeM)_>A=]o:a1hr&Jk?aW7VgaZ^:H\ajbXgGn#\MtoNHjJ82>OAhYYihp=G@pKSYq@2"%6#uOOLMhF-\Z:rE:S\ -%`jn?D(GmYpoEIuAOa%2GMR-1*H2Ud&i"j*b8CJtuSk.\S*%\d``&TZU16!uC"g48_PSLP]E+(PK5(_uH#u9j!+0nmA6aO6?_P@pA -%5h\)Bk4.2]SL/m1jS4)/L%bUgNcWG2*2aTRQ$DOOL61M+V;IJXh6=ka$4",5!?$hLPP<,:k&_1WqA4ABe;r>cVPR7s*.#S%s$iK. -%.c)/XO!`1jfjN@/4E^lS4AC"0P$]RR*RsfPE0fp'sEnQ[SAirPQHPG*"qN"mqc87#`dZ,$gg@. -%Ifn)#(OqKHIkLb8=tICEJeU*;L,PuJSa_iGP'fIt,YmtnZ3"DAdEKtuq:Qo[nmST+4mX.Ub$@.n0PJpU6c^#%Dc*#Q%W2PO"=W -%:<31`>6g`R+(=NME(9:UUhj+)io-b83hf!@O5RW^`2MSe:)&.Qe!@Me1[FgMam)Y&ga8XZgOG6\X[\9PEj58lLlG3C[ge_aGP&LO -%7pJ4#RDgtd<-N,)M^3-eQE5_sM4ApGVLbKhhEnC'Q\?j")GHsX2-G8r6e&Z6pQ*"5?M#OH*+V1?V1]9%4E`Rm[G3C!ee"%CWpf@m&*8jNUP0"e%p5,[cb1$f[CLVPfVI\=GKMN%Co4^j6$8@C1&o#&Tt2 -%ri#C"FrDA,%eCe`-1kb4o4IOYcf99i-nbR;Kq%"n\'BeW@&t%j9XJNeo/[+UW^7-KePukP6r7=,"oBm?Wj;=S[rGo[fWja66rF?6 -%r,^hZeNl5-+Q6c3d!R#UMM!U[g.-(qbbRE)St_!qIr.UH8]5%E0T?u$qORP4e.A=u1cL-qCE-`PcDS75GcLr"Zr5(`eC;esn/+Gt -%"7q+W2/AlMhG=[h>3`\-j#@PL:hW'LQ*B`[J&g`e6k]nGr8S4OCH]Y&Sq#'&pl(>*R1__Lh!ss`c9Y3R,[<4IQe#js7d`\i.rO9* -%"]BRT3p_i^8(hdtLpK0h4;!T]'Q^#[(Mb1iL:*R91cI)O+>H>F[4rVtRT4d;:<*eaZf1_NC6a`a$U07_Ip\mH@)dAl5".utY]H!< -%&Sq5J(3_SR?ONCVG>?$k_G%Ljh$o_P:'%8F\q\D9DF/BQGqZF<];/a"(S)teCa7A[Z)"U;5r[:De#-$9L0,\I@nQKlDD?1q$Op9J -%N1a7T@X#n_`'-#lNWjjT]"0d?1G?-4_(G^uNAmBe^dn/o3kCf4\@TUDiZhm,*g>r1CG\L/4c^CB7qDGeW8X?!_.$1k1tRn*078ap`9NBrr$>8&_n$j.s;4DisFC9pl"efDRX]12ZfC -%\t^?R$TtEDbg9)NbE9ZR.m]aKZ];c)/LRJQBBG^bMMYj9==^hj6o&Mg6mIIb+:s7:6N@H9Vm$NYN -%neEtY&Lo1Aq;<9EL[$ec5@bles5_C_;L+RYH\\F -%I+S8a<"<>^g<0nSDc,t>,M/Ddej[G-;^duN(td:>+:KYuS%!+Yl3?m>f%Gc`#A*Wg2_e:mf43;seRpjnCmifu -%eUVDO*hZ+YR_XtuSK6U]I,bLA(3]NS[TO#XU`"R4Ro.jB*-,Ps'7EFqBEAKW\88fL24XH0\5<4Y\f4,Wh=6Hnch(?K>HZrN6fbioe4*^*EIn;c;=]LOisC\iULSd`\(9Vu9As/QIYh1*47D8rUQA*JiqY -%%_Y27Y9,[2["8bNCL+McEBe`lC_eUE>'8o7QJR6!/a[H.LL)0KB#h]#hs;<#[ZfPl>Ga5T\%R!lE]*^H/S;c+W6D)J99*gK#>A9X -%M\t;Pqm@2YSrV:dZlPo_-q]N#@"oETAso<[%>1d/F@s7;X8k_l=.&B-rEA]#C$?q;12#-%U$[mYklQTNRUnrJ[TWZ(bRe*KDH1K> -%T!eU93obAH0Bf`gN]W]0`P`HCZ?S#bY]34.^'];W -%F/T8,m+"3^#GnqSqZLp+W6c-jW5jVoprJK@A4hZ;^ur1uGE_;Y7K;S=_El_UD(#`aN0[ZF:e%[pSTSEt1U>mf/e587*'bLP>>ekn -%ca,D'6TRUeJL6P&noCi[1h\_dFtQmHT,:YXW8fF]R&$se\(OOi1b.sZ'j-\#:!O!S:oIPWn8Y/2osEQsBkc.:+U`-mVp#KeP7g*' -%HH%qHXdqe.NH&m[Ft88i=s,:RA6abt1N^RHSN,aX%NLu:4d[#SX#88FZLBKmH&W=fLU1/pM[U'W;Ic4^D,c_:7(6WQ&Kte8e3@SjGYbSTI%3O>k2?Q@@]#h -%Tu2Qj\]=Z'9$coHB.#9noI^HNln!."BJnenig*$N5ceLAKh(/r,OCAkPi3`jOWGb[O]U\VW+Nf9@U\XMoPM3Fh#O -%?p:Vc[qaChG(nSh95,Q5U)>h2E]K)Tl,rY#8<\rDPT".[AC]#RFCqa!gTqR@o?NdS,N`3<-jM$QSjbhbVWCK&kbh0Y&Jl`6iMH(N -%S!ZaQi%6Wdk/??\1>5^A9\h%__58pf[,@ZD/kFa$kZ;/H4\d`.JnLp7^eP9H-R6;V^uf0.B7u_*5'V[;1g>SGUE_>k22`P3`Q(SW -%e*2Q_qQAcW%fqj$F`>_u89e9L,H]C(XFhTequMts7PFtpt")K^l'AK-0RDh;mP#3`TPDf57p*PBd]c!/k'ENR^XklfOcBH+V! -%k7?8Y8c_:l&*TC&'3M`R&Z5%0M/t]*dET=kgiUYNl[u,U?@NLGn)`NP5b.i_3ZjEAHAA/s_TtC%\B1g/8-j@"Sg)WDKqp["S12_k -%'YP6'eT[aKr"URA&R3CYlt.kJh9D'&hR4dm,L%MC]+J[]WA8'[1Pt#qFi^Zaf"(YfbT>>bS1T#S@+TPYAi^Al=;9&\\tq^IrV->[BG6(aIO)H$M5>WOTBuSL2_#T8pE8jXEhW!(h)R^O8D%WP*8cp"k%"b -%Xf(=3><)F:dF%;jKRIi'Qj;V_NI7;Z4/Dm+rOs<07ZN8?4Y<;#Y@*$Hd(1r3a2dB7j/4aSE=Hs`>=V`5Ju`3N%;C&-i$1AX-.EMH-8Odrt[TJ5,_1)%/r -%55i1S45PBZ6+tFr^'!dSrXr_O`0Pn@!A=&pa)VP7H/Gc);)&%N)GnKeE+'N:AGXpjO<:AsCl5U7gKGKA1Muad3Fa2[M0#mE0LEfQ -%LFZV7>o&,1l`;KiFd2Zt[.bg)6R+(Z%\2q]>kr-YA-C;LZs\hQ(%!@?SSr-$h">eNVi_I10MfPL5)=')6oap+N&P5FH57"OX@,+$ -%VmV^S6g4kfnS76DGC&UZ#*%+WduDaj_F$sf-bKh77gOO[2hQWng8)O?[D7$m(Oj@GWkH)U`( -%_40R2#NQePpB/)DC7lqH@HYDH?> -%LF7No8`)us+t(&hUp\]r%,iX.cjEX^03W=7l"W?_d<:CY.dblf;bf6ZhP(ub`iLJmF<]^;V[n_7j4bf;?eF6=?! -%D-6nO=HD,uQKHstpCtZk^E6Sk5RB,+e_5gVL3ZYtIPUJsW)5ID9i'cK.I#l(_B6S[q-/.0Pg*]Md\se;[;6;b7n.j5HrHGS%LL-@ -%W$pcKMPr+)K%PH4N#)6)Eg.0f*O]u-0Sn%rqfkG1(fA(8G@55UVrHko)RSOHert8I.gn#,P,a3eNM88!b6_klWfjdA76!`3JC;.=9.R;)(=..U8-l -%gi/bJe2u%+GWQ)a_FPTA^:4bm6Anm]\\3eT='7@c$"OBPQu"=O>d;[V1sHGHb:@)$5!`K8W(aEf:N?>)<%9h]o+`h;kee(`$ZI:e;Z""9fpuWQ#qcT9%49WG)Ao6g,#?$Msm&%)C*Jn -%qG\ht(=AUWIWo):H$q6h/hhF_j]>:V^?u,e:)$=qS=>49itU@,('R9&h? -%ASn(&2r2KB3pt:m=F-$;`Ulub\#VqPn/T#Eo:Fs3AZ+0s,EaqUfba.AOX9dCS5[J`=Q,%98sFUho@$o^r\D3t)=Pn\kd/A%1.ja, -%/BI4@2JfgIDrk:p#M?YN5;Y]dPNC.$1%G_p8Yf5F>m2]JnEn"NRQ]Fm)6.pd4_8tPoKNTtR66:N?`6`@?qAF"LG'mmDd(;=*27=e -%"9V[%T6DneM+k)cYneQ>jCN1P9-!+]:cFmNJV.lBD0Q7<;paUj0!AbeKM(H'af@sqUCql@.U+d[M?pq'`mK]E*Q:j\ar]thWPA!f -%=4j=@U8qKr79s'C?cIB&H'V`5\hY4&FKDGt15m]_3(_?agCs+o\o[?*\J!1-m0n&;GUc5m#qZ+p:-N)ji&s>&\ubhKFf4l^8FHGu -%'P,hImFInlUfkS[>BbCBI7akY.ObEB73=%@Ypa^*5=K9gc='Kf+RASeFCdjlA;a]6b6Eegd$j->Rp,Kt3QU\#A5\*;_JD>1)d,43 -%URon*>#M:oeGp@+WEE*:[8Uq6%mqm7M-d(P"s8&JQ7h")K6hCD%-CU1!,;RUhFdIN\t-]0Wg;";)WI:EU+<7m&?mEWGnSOk4g(HB -%Y)]0%BC5fWR`.FR:osG>h>CI#FM7)cfsIC.`V[6HIA&ft)C`+a7ZLNXa<`,k.p'"1aR/WL#]D -%DZ)FN3Kfa>!Y9VfT@/LLZJo3RnRTI#`bCPXFemJ;H\tt7SRu!!ACrqGe?nJd_ecWA]j/a@-Rj9$H_#!>]2;<=]>(/s^kWsNE.9kX -%FH<"*h/#r"%B@:RVc0Um>'GO(VfF_2?HPlA8@h6Cf5p/"_:EVK.T^f/c;_-B/'?X.UY%Jai./ss%UCI0h=_sP*"\F;XE"[r-!ndO -%k8p;X8Bs6(K-EbX@u8@dT#9,:#_Yo7f]Kh>R3>Lf&rN25'J(n:YP;rjW=$gJOk8i]>o1Lmd_-J+P%rJ2rXe1^OI-q8R\pu.9SO`mOn;NI@&bO -%`^$nBfaTgY;nJ?^EFN>aDG#]s$Y[R6-rf'VdN$3$H%m)nOo'U6ij%tV3md0U^;PSnCLc23UQEl\mHU,rG* -%*[a7kVCKICn(6W?414?n%mtc5hEPr>b>/fke"+5o_+`"O@S^gNO"*W9a.XpDG6gg`0V2/-,U5+M]^ -%[e&$"k@_^Wo4eNt=cq*SU9Huf/&+:*$kiZTnU"@$i"Rp9Q5p\c\9+cZ1?,nM\.7Bad -%5N)T"ra+^Fs"A`feoOuS>R.t^kl6_t"uHijZ[(:N+1kG_`c-rHN+BhP&u8K"nfY\b6'iM^^Rr2KXU&s>F#$bOrH4+>Op6P^7IoKt -%%[+Zr=28Y(N-sdg)5\%lH#lj3QV,Gqe]55r=?#c.K>`dBp.O]"g]"2turr@=inqIb(F#9Q0)9XU,eZkWYp,\=&i2;;li^Z]:h([g6F]c6VEJim,(S_,t.psOk6ZfdQ/5snihg#RBj6>`:@5S[4&[%]+V-a>iD+*jt -%`7E?p=N%E$ONc]$_0RAB<6't%JPbC_;id:#[k'E@=9KOt=YW5[fXR14!+tJHt)?[=/6C0K'([6U#qf_KX_WGj\6"]K"LE6GQENK6-ITDB[N3XNT-t.t7BHl:r+uEZkc)Q#g`t -%;7qJ!di'F%G&0?KM_$:cFbGg^Z'=B4/,f"r8)lu7k<=.@)FqWo>WrPLNFa_qN"Pb(I`ZT^]1roN!BQOZV"/6!T3"jndk7qe6bFT^4cF=R(ZU>[KM=Q'F6Jp7Mhn2^4A]7`:K#HZg)$(=Xi*Slri%uWr -%Hu4!E]W`Q51Q2K-N@A'm^&!W]^):ZJb0YpY5UZp,0"7!qhfT,c^ke^c,9AIZQHkP3TB<'X[bm^ImY+^eH3_s1+Y]`mmf'H!LtAGQ -%dmDGmKTVbSGPPZH/jNkJq:i5c"!(Xb:;Ou<+@WU<6q!fWkMZXj6gA'2_2.@k/`j5?.;FXNW%J74,)F.AU#!5(Xtok;1HbSC/1#6' -%=PpCnOPo'CMT#oH_8/Rm=LfuN?j\fK9;Ug>@je@WB09a<,SqW_`=_H`?f@e!&[$*aOZcAO+4VRhfie6^ZBqQn03QhJ,bcjF%tg"* -%37bu0@Bejl5j1.,H]M1+4Kk[=CFd.g:J3C1M_%cA(>sjio0F"8a=e&Z4Km]'Z;XGrkJ-Y&*&T3Q.A#G9?C2YK5sEW3"?HVF40jE) -%Im2+n^NjVHp%rt$C;3j50(s*k__dUlUTYm]6__%K)qR+Ke"(ph?!/JPgGE7\n$A[Nf@P@p=VEk!/S(L"U=\\)6VT,s.>gA543!ii -%:]o-h*o?G4ZD+FAB5tDQqU8Gf0P)-W76:b`GS*f"d(B/')+lpde0c7r)f5?`Hc0.jC0S -%&%MsgI(8\u%jp#MTaOPGgSCYe)JjYk,^->iY.RUV%q)d^SR=NKCg'j_l4o/D]tU'4q;H^q-R)sofqiXG -%T9`j+!Sj./l11rYt\CqY,qZJU?X*(L;E!mERjtshHbYYs; -%Vq%E%VN-`$`bKoUN-KI7m)plUSp<,*l/E'taCS.$5@GPgBVI@W5YQl,'>EdUu:P3@. -%R6luuNGM`TZ_=EIc.Jij+;&:#bmsjfCV#1JilQtj;3K0iSW.;#%Q;am5W&XBp?X4_J0rQ&P-Hp_#K@7XLUtOtd;gX_DAk`VRfME4 -%F?U6P'4]Z5[CqO28q!Z$i=`7bD&FkWO8XeP(H^i9dY"C!jn&BC -%iMD_2q&:o)%1&fTnmac>*ZnWC`;^(U&8cC0VUjVr6+BgR[+*%DX_Y9Ede"ejF?Sf[(SN1gR-)l0J&neNhR.F5?p@03k$#`2Zt>qX -%Gcr?(#h\mfC;U*^B>rahih&5`F_HtN8jIN7J$!pn*,Mnf,!9[Sfr!:.BR/!DpVCIgM\Tm[7^B#%J&FiPJCGMZ4[73b&ZH`oR`=o] -%%3L)j!u6.G[=l*W%X:RI?$%Nm97;++>tgT2,'/qA4AOD6YH*.:/MbgZ/@*X:^CS)]no9ui?7!s;cL'E*.M9i\ZBZKO'g102]-MtO -%I!Rs!qlb&=Y2M]10/JMJO2LQjQ@ETDn%@g2hdCs&hB%V1^\FFma#D&oGW!fo06Fl7#>;)K'rkl65j4GBY04-7qa-q;q2'gr6u?8j -%moqdRAb#uhRqiin;((oqMfsYcCt:PZnBKi**2>GVqcQ`-C,2Cl&IEnqdnXRLe=5TZ)=XYgb,C-hUX.@[?,a*FaMV9mQK7qj5>Ccu -%\WG+ugpNpo9_c^UEje_Kj^B6%?i-MfnMoA9prds>p#+T%eEX'?0fok=cb>6Z$m#Y[1;Sd+9?_HG0oU#8eQP"jGoYl''\2]ib_8@Z -%C5,MZf-I%kF)\Y!W.;YZ](\;n>^F_/fp;3koWtI&IF9L@kNiR#3g((fIJb(l>WDGhq9^QloPLg]m7r%2g3\>H)8%.9faQYB6U]WPjd@Z4A:LC6_SNd`:=IEm0^I+K0:[#+- -%2ij^r[(F'4Y2GAe'DU`9lf't7_(V/EhA_;6OM3C-U@Oh0cP3YPMb@lCU& -%Lah,-bnBqFCD9F@1>bS8,aLY4h*>/&2NSBVSBN8@k2'66USh6&AWsj>eCEio9M!YgDnbOq#S7YqBBf\ff."r#>37Lfs'/aF2a#GXk`)T"^q#<+j$ea5d+#5=Y!_Zi>u$%Ts(%q%eONC[Q+H^::JiP!c%oU7n^[_b"J7r -%(']8[q7TpfD4c[nG)+F#qAH=o\"s22Zp+aXJ\)d3I&dQ-U;]@K7t1(JAndEH*oFn@p#4AlP1%6M9J4A*+a:91)JgP=q-Q?YQS'u0#Zd#`R7oJ -%'$_bk*$DL4+)+0A0n[L6@B'KHA>c!5peIKm`*FiqQ`?u3)='3QUF%uKR -%dcg5JgSu/hAj6$j.^NE^!-=)fc\9-d_L$B.Ej\UC,R*K,V]gAK:Ac'VD?c[U\^-7NL2pkth#,qF'\=88T0'^Wa#a!oOtia-&2#YtfX98#6pgM"838?RlK;oa]aY0/>DeRU -%EAEKm5.93[4q4Iaga:s1#5oCm1B?tAhucK:7)nW>3EWqj)2a#nTX-E-LtCs!87\;,VhJs-X9m/;C#P_e,MeQ=Rd+.r-ELTkfCuTA -%RQG[XlUU_5dE9gf#l$,)VZmap'X`g.N>Dq-%$;]&L7cGe1^p5cC&n/?<*EUEh_pHN)/8i9Cd>Y]TDR!Vd]d%%jhj85ZS.[E\@@NS -%E\s=S1ne^IjL$1!\cpJ]Y%u11Gd;$VlMCVF;X;^&B.F[:OIcfG$,OGLis7XV'Jp"0BtcIjr\g9KNZmXu&`(bs6)S1H*!GdBD3!pf -%,QdV!DPCVn>_eKae"ohTK"_k_%J+!'EGWeQao7]AL>%,[0jHfV$]jMu-TXi2mMAf<./qVL0N]d6uqfNU6&L3B\W%2Cd@J?OrqXP93Jo_stqm0pJgrf@-\<)9Z>4OH++E\XiLPo?nVF%lpc,YC5G -%I+:(T;H0#t=4FY!Q?=lM'<-L_9sBJ1E;Fs*-<-05WN(f_bpl`MEs6DcBfU#7_@mHGfBFPi!OMW[`)40a5#;Umbl\fDoVS8G(MH3; -%H,!74hHA`FD1u(+j]iTBMIM^_9Ra5N\6nFRU,D5QHR>H6j`Wp?#+'@T+\@mn$JNQR&Q-JQ1b2ep)6J)i\IghSh8!REP'io#pIhA9Us:21g>Oi^Q$&6Lo'+#!d-J[^bGh>M -%!fQX)lI3=(H04']m+NVp9@oNl\MfRa]:8EqXgqc@QNHs7HE/B^@!qU]hrptqGO=".f-<+Pq=64\p)TL7_)\9m)6U#q#)pH>[&4p5O!"3sqi;pFiC?_aB-]]2KacuS[7GR-bu_.t3USkjS&!G'3[LAh"Y0itJU/h++l+C[!***6LXF%5c>M&^APW3NpeQMKbs/kZ2Sh/(kp$sgXgj5ii+7=L+^TZf&pBT*R*ttnH -%7c0"WRHp0qmG4oeo;E*XZHi?`l=uN0]*FlL0cqJIk,Hoq]//2Vh1e_j-bD,!-785=:F;Od=`?.Z78.+KqpQ/l*qK"2r%Kpf37u]9 -%fDRh"PP9Y:jq@IMoK%B^dm%AKrjFSc@=C$n!t<^,Al]PZ+4$>M?iUZqef\fO"t(3f44/+)5`a^uh(<&WIJ:,p^H$g1^>45JA0)N) -%;@7$1Ik;`n)/(")%f+AG^lcjCE_jZC6$2p"oOEh3\rNII3]B&?gZ]o@D\rXM9"WOAl5BBsil-,LAXIB6p8A7Yr99X)]E-s./75/f -%RWhMF:qD7*iDq@a;'Te=O7J'/b]TsiZ0L)K]a4@XJ*JFlS/-t=pb%%[DGo:tT>&G_('c*H*XcV(_&a-F=+mFG%9CT,3-H7b3YM0K -%]_I(C5\A3uXOp[_Y<+0>q;qDGhpR!'E4Q1RQM1##80(Lt-DJgd`Ibf5[66_r9>KCjMD[B6)u?dlT3h,3]h0f'HU1G)&a%#k0laEU -%h\Qe]"+!&Dp=$b3Q\Qm"pX*5T>u,?cj&t]s$=.pcFdAOW!'$kjWc\T")e'TBqq5a2's4r+MG2hr$I^M%q -%HD"JjpS[2"^..jBIe(*Wo@Z$ur9[>cBZZ;r?$b)L::3^YJ06qlS-7<#C]< -%#_VdT*bi#rgh]U[/sW9n,TVhS4>YqZ',7^08A7,"XZ"[h85!CZ>Qj7?Z7W)n4l4;m9JkY&(\&W:RkjVKG_<\.Xq?`[5tAAh^PJh> -%n!YC\=rR>bA:sQrZ_>0Z5(-GnSMO`uEC>Y,@%fs.J;4Z2Fhtu4O&:#i(`Cg>f -%X>b(LdltG=7`TZ%@=EQNs"!EA5.r$:hVp%b;rm50/MY]BNhU)R1g*TsGP:`Tc,C -%ob>4o5ebJm@SF#i>nC:2*XnJ)T'1nJHCs=#sN7@,a@nVMD?,h]J!HKonOm9gIR':fM\G -%F5W@pKX$IE(A21PD3j85j'AU`6[GP`e@dKaoW)lEp@=N_ZW;WNSof>Dhjg9uY)hpu@t=]*5,\Y+`9D8IB;E89/9X#I@tpnRqt$F^ -%lRp7j:#"fah;O)U@<#HFP@]g=,^4dK]qU6qgd:8GD4\bLmYJc>X_9[748&r*Z[mK_BbN[\SgW_?Je970tU47KR -%"D\qtJ+1Dl/V:HW[H'QR+'nI+n1V6Y'3EI*fG:912?(:3O*ITEGKlbK6Kk)SB'3BDHPjp8,Ns.,G:m/<."ZK5]rcZ<51Y"k'6PWk -%FpO[dC?^_,Y._>>i^p2[AU*e%o@i%c$b^jYX0"(=cs7Ml9Reqt^!#Cgafa-\q^L5@P.:BJiXpLXH5k;TD4E$Ma:Hl_XQq!W?])a16b_S24NU2\BBsf5)%75(Zb[$&-DY%'o0'O`X31ed! -%S="#.aO2G#qc&%7J4n.4@7eMu0K!ssD3*%`Z`t#$Lr.50@sh[/CsT+GpB(21q8Q4PjdYo6L,U$#ce'YsT2\#smU6[)C-tL#rJ>Ne -%QLOE\X$rIna`e4oFZOc`_=u`Y)_*ea&m&5LngpM]V@6'!k!NlN@i'&5G],gGkcmb -%Al0aK#e.6h[tU'TKmSGe+?:hpscu[ZJ#DWlMPJg -%"J@S#Q=V(12*m0!B[P$FO?K_H#7X[jMn"(C")aj'^/($'LM^VTM[0U/hV$J3Z+B,3l4ZdJSu^MWBM^q>i@e4HW?'IFOBdsXO?^(0 -%@r%4dD+[`9]/o9Q((FRt>LZc)Yj/ode=U`e!=^$GgnH8Vue&7N"].Amre30(g-R5M1cH,K%7=-0TR[Qs:kW/g?\6RZX -%8M_@c_3`R(f*kf6&B0ZWC$[G;,$GpMZHW1J(O!^lkc?nC1LVoEhZe'X5ZN0DB;WHDY1fj#4)u?7q,AaU\$d3`G,c:5:h -%2M;X4Qdi$nph]m^]Y//nQgUBr#"2-smpc@3S:5'cD;,K:HN@?s*7AFm?iW)-AtmM5k^>jX0&N'J]coApYE7Dh3]@p(A'=kE$'P(O%#Q^QL`BYK/P?]2s5J[23a]?i%in&HCSAcU=+Y>VAZJW\j#NR_4>n>J[LUq -%\q&KpZ?R0s6HX>o5$atSF8cOTW(1oKV]O?$)lk:5M!5C!tTu^!4 -%qYj`s'2MnpbVknn_PJNK^4^s@^L'Gh9%S1lR:/L)_b#8_$s3s"F#<(`Z+9#C<'CrF+"aZ_IF=r#N'e3aTUPja-fm$qc!S)]>;LR5 -%m]o..73#"9TG"E!aQS%mpeRIFN#@`&i[g/@/h]Xj.YeUOG>W-P!LdFPi5q$V.r`CPNh8ZIotUB36[dImX%OmLKT6V%ZnHrD?"SN] -%3C#tBDuT0!`W;#< -%hlV&5pVVe&i8b"-6&!D^sZA1HX5Yq8483`nNU3d7:?Aur< -%g5@r8A%l3DAE5<>F`.LHEL,BL&7=B^Nu+R^@:G72rFZ>h7'c(Tkd3=()1>I>#B9R@3_uX'k'![I@$oW5W32*oDb45?l\BTo[g@q\ -%-=,-EpeI\N-"@QA:!Touf7_e\`n/Z$X`9/t*JOhgh.qc%F/CqP1VO-aVe9\k0?MbR9Gkn;YM`1:FoldGQP@df%P-2g^&G?JUddFh7%:XA=@jFim^*>p.;H,M^F$P@7nq@u%pedoVX^ -%gNKmS'T&Xr%F.k-d!k/"a&n2f"Q8%rAj:",Om""_%/U7unIi)l7h,,!nCta\iQ"OeYm,MS4u]tA5WhD#+NP?Te1&L\\9DaklQDs6 -%F^e-+JDTDD[.quHpWm>VchY!+J%=3uTCnWXJ?$]e\VLd'CBf!8=ki-.bWBK21nq[F+5L]\X$pD$:?)qiECiHTO/TV-"HE3!S61cC -%XkKcM%#(88e'bb0_sSW]7P?g6of=UliH2cJZ?J3@*hfM?kLSk"Lf].C)/B`V&Vg%gdg%=emOW.*g>!\>=;ep)PM=XM/(W=LUn9^% -%GqM"HdpKcH>7'WA>o"I=C]E2qQc$3NH,`ZK4bF0YI^?B$^F'$ -%(&)J(,L#[=9A$Q+%9utmm_55)0@4;?JnMgN+_K\#*cCZ5AI[58%9)HKDjY*LkQHQ4Ie\e=7HAr&2SF1TCa4E@rV);alS=lHb]`EK -%Z-gmlJ%F)J/eJTmVklI=PP2cjQ"',oGX"=GrdFbGh>!.jSga;^@E:"OV$*mY`4o*(BI)Bm5;(nNO;<%S<1qe-b5Mp!3Z[Jbcd/a_ -%>+lisR111>h9Xa$"QqV\fc!QC*d)#;S8b\k[.#c:Ll2Q)&%Am]4tg1s\KaDh7)hM2hns'E_pV@6g:UeAlI!/67no?AZ[?=,g="8PU>fpH0f@;4]4pD!TfDBr01A,_q=#7O$Gde-P">o%1?Pg1o(jkm>%MZ\Oe!Bf9pC[@"+U)%-m-cACsrb?hTo$)gX<6d5THT!sUfJ#8s/h$U5CG#f+o>'#pd#UpGP1Y-;5 -%1$D!I$+q*eLtQ24'-UlLO_qm24U%s8.Ee_@o#j^0Zs)<3`taYeV(nC:WW*F6Uo6f4=3^dHo0Gif3) -%q9cd_:$?)[2\f*:Bt68PYBj9#Ta`s]H#Y=HpGe%LK@D4IOH26r4t2fU6(uj1=K@[Ek+3O%,1(L;QNXN\G+S#Y5Vp8#0On:;j7l;/ -%8_jM$+pr9s>^uc$5/,OK0^"9;ft8JLU;/$t^>rJr2Wak"N09 -%ZGXJJ2K6\,6HR5@H!/ghm^$u$MKpEn=Ou+\T.ePoV.N(>]$.h7'8P&q_q-T$UA1p),TA9)*56`j0.L.;r98=%rB.$=c&3%78P#f'KbAEc]kifsnmq.jrr/k1J4Ugh>#E,F@KV1lp=]IPWbB.b>rd<6rA9)UU#.VO$=YmGE%3S, -%AhZLu"_IP6=hac%6l.MSRD6^cQtdl]Tu4/rr9UQ0Q%P4K>kJ#@ihaU>9]lHA3P8BC>XD#8RktZPk)a">mI!(]#b@E@]_WI`:8XL[ -%QCu;-SC8#9ffaHQE0=;8qG-dkDg?kVZSQ>"RS,4T6ZnS=YSNLK"$o,/o^BY`eZ=3-Qf8Ua1%b7BC=-h._-T-$jSKgY-R8/[#g"8j/*g!)h\7[q"HmoNWcU:fOCd:M0CM#MKnn"Ni -%%*;]NOF2<(&+eA2h2NWIGn9QA:NY@!GINDnUdqK\\$ChqU=43iV:EqaDPG9))::\)kqMMKPPFB+ce%CX4@i"=+9!+8H^U-olhF6S -%3F`n_Nh)+*duloPS33c.Sd2%_,arU%8PAO7Bs%.U%Yfj%8N6\!7@3J)`63b",l0;Id!W1ObTitJ9"+-m-Bb6t_pe"DNmLsMjal+< -%+BgtUdM.ktdbRguL;20D/pgV,%_g@2GbEhI'SSoW5tFV+qN3aGI+kkWFc3U"A?%FZ:5A5@G@!VkC_.L>Q[lE46^sBaRb*$65LLSg -%4BOE88(9$?0Bd'"$sA-SA%BAR=ik)A9G([5Mrj0-V%D+lr!"B8]Qk]uXmNM9Pn<`Q=f"Hae8TM32;*O9,h3o#77Aa6U;t\Fo]A$_ -%E[qQtf%ilhVLN"4$9HbX)?uZSk7F4"E._*]=_Q`!\ja(Z(8r:0_MkAGEb+@?Z'X-[R(=JFW675_6$:+pNC:sm1+bM4b4+=k32bG/ -%_bZK(q_Y$O"?6f;'q3(M68Q]XAZoECLGrB"WM,*&cZ$I]dO#?c2+(ID#40't!ss<1Ok=B1^:Mi2(OgAG-qFWrh<#]0#7UIG0^i,T -%p>o[#YZ6`.4']ApWT$NK--Z63?%+J>.E/.\i_uV9i34!B^N"\.=ls*Jr-3Wk,'Ij2,&:(?$S^@4kdT.o(-RN-5or"&Sf]m'6C+^Q$g?M^$Yf -%`loUG"A9mSf,M&&D)4;V%Eoc]!R%ujG&X!4VjQ-MM8-PC4mBM0>_%H3F9LYumtG"3N)k$K1NZEG6>fjJ\]T\Haq&qScP3ZN;,Xp^ -%VUReFo_=&SY/?42._F25R`&+Ims^l68:mlW/6;QX\';Uesu]`g=%?gok02"ImiYFM:^ebRi'pd>O_m7peMZHJ6%7u%>k(3_[j8Rk*U%%%>a(DW!rQk@-U=t -%"*gnQ>1jA]m.\UJ;i[5ZX7$!IOZ#qA#+"^\G2C4IV2=P25DjXK42=!@MA)IjU6tPUY4SHg]G!C\riN#c*RJ>&8^j@S%]8?mkqA@Z -%CbHZj$dpd^:rjqd^_I_Ek5@]#;HQ8XIE.E&FD>(cL,bPCq\$E!_raN([p=R'4IHrnT@\qp2nGaBVXe0.'W2HH)sXP0$SZpOK3/?"S):g#5g!%r]Q+Prge'*4X^Jq"@+?#>Pcrr5'WnCV4\YHg -%8osOn!d#SUM%20pH:5`k2:Q%r)kOAH"gHX9K+#6$>03GPpW:^'^9%*Ra$t:q&c63pdA310rq9mDRo#=?=[- -%B@_2!hI.b1^$rqsYYt,f8GHAk\ZSStq0(uj3u=1cI*L0Aknaq7D)$V;fo0`^YDDhW_X6F!cYE[8r\ANQ1).'G@!@8G;:fSOU*2Fo -%aZ$NYktk"J@BHL=SkdaPNe4^>@rTt5o)6kE/7nW.*1S2l$GLusNGGPHg+2l>kbYL!(S.&U'(E@H_;k?lEmFJ,:>Gk:)DJ`mj?m$2B\$f2t^#*#GE[M$7$>jTR!ZhAUf@s,]7 -%"k;o$Alq!GUn'(.eFKlBViC@HAL2dO5IpT1M+$\csYeZbD2qXQ,9AqS+55.PY1^"krkta;4X2?Y"G@X"@&%Zi-JBVEnhgB -%Fcrqg.4Q3NH+WjV.OQ0!XEE2cV+a[/Q2^nU$Qp)@@!6OS,,#/=i,OEbR,+Pr6jMc4rq\qK2FYdB1>poSg+uM;_a/30GM*Da\;g;( -%;@O=j1CK8+HT\`"]0(F"$D5(R7)"$n[H"aC07WuXqW04Q!^tu228neMY.oZ$R'(fMl-h;\U:@(;>S8L8DOurRp=pHc8E\Y`g>#V6 -%r5I^DT2^M87G\1)r/5H;a?c09!Q!,KD$YF?dRjb&qgWRoEFsa,S`.3&HNq9:J?oG]'jY4O3utD.I.A0E[/U[IAb)V(aIY^ab3:aQ -%ar`_SEf$(O0JSN12ri/YMSXBr5f5[hcYMcq-4&28GeVW@T3YZSJD_H"8@jKF%q"#ApGnKh0rkd15FK.h@Ub/5Pbi^%lW=aKacc". -%KCL*'iQ]2FHuUo?6K*cmduOb9;GB^e=&T)&%Bf=H^?W*#S8%9R\$g!PA)g\HZUAB?5nQ[u7['.Y)ra;[MJ4H&GI2Rp37l0BHMh\N66E.F4T7%PG9j*>:p -%p$=q5F*t;LE9j -%#m"m-]8,7.p$0T++#K(G:QRI]!hr2/B@EPB?Y48Ao:*K"(oXSO0JiJl4H&d4[N!j/s$:E=0l036umW(WF=3M>9hKe-4 -%)s4B)(-(:)WU.9EQ06_'kIt^ZCZFXrG-#%ljiXI/T$^5-K6(5amE#M$+++]40&l\H?[,RfSEXDm]upl&E,dra`Wmk\0m+NA)eSl) -%010Gdc.Wi^%klQ4RstmV*>'Z^??1,i=$-#\cgIcH&&Qkhu<.B@5<(].FOGd(5-D@RDcScGoea*:V$"eRIo?_ -%a*1J&Q2b?[ZCtm`bA-Pd7W\L#:81IE@E3QORt2@n(R0<*)kXN(RkbGM.Uf*,^!P,o66:QmQhV_q43@u>3re3`RdRc/.EaY,G9T4m&)?[_[\D?dBJ*`6"D!BXKAGNO3\mAVDT"?]NpN/!njhHXDt.4Fd^S&^6/jM%h.>j2IY -%i'-VG-o<\HR!JhkR6,j-imSgn>Y!`f9RJ&1OjZROL@TbT -%*lbRWR>(@\KIQ%2j%Qhb73h!s*=LI!fjX&C#2O:ID.4XqdkOT!GC=X/MblIUoA70Db_Ek(8dCZ-g-VW'*YbF%O&OB4[ofiRA6't' -%((dC,UFKLCp[doniI&;`\9UUkJg\s/QN-n'r%E=*rq'k'mG2(gUpiSIYMO4hs5g`R+ko=1>P35(E_06\=9\d8=AmNW2kc?-P<@;t -%^24S).!^+o7MY&k<6#59%C$1JdcS@Ru<5`;"?c6"kM/cfp$nP`XRP-Y`MjLg'XJab^tuMk#m"fo%')IKc+!Z;8ur:Z@S.-5>=Y_m`:8dpi,%B[PXA.Weg1=e4omjKi;#/Sbu?r<-=oSV51sU -%Vk=mY,4->"a>6D;LVbGU@,F`)J"$B(7nirX(]$'T9-=0,4s$q&V75i9K!aR2+J6.(`uk0sGth]>N3O'R^j5]'-gb^iN;Ynga(t6( -%Jc1tR!#dP[I`RcS'WVt6X,]d0qSDSHN#CS5U2u+?L%BF,-gMP(_P7e`oDinCV4*Q3fN'K>_Y]icL%q(=3kE4F_%Ah.8@&^.>:ur9 -%76CfPE>'Q8T7$c2(cp6W--uSo,?41:JAk,#gg`isH)>@kaP%\%D`eudo>\mS'oAi@1nI)SZRE"=b^c[+Gd#BG.+=&B9.Ii`CoHf8 -%k0D1=oJJm(MnM\"atESRM-?%E_;6:>L$$kj\`X6P([@eq],[U2?m5<792l:olO.M4W5,JJ8CZ0QI%UqfS=s@L]p0`hu$36#QFIk]]M:[seY^3nc;oFX2 -%T(7DJ(8dQq.l-&gGAW#%('\uoJX#bj'hq0ARf35%ge]u+lu3_-[kdchn/B(u91dTFaJ^^YS,bC44G#4+3A8o6gDWr&8t3=>tFedT^c,(a!J[F?]Z[;@4a"X!]f7 -%+rX>B#u3-Yg-.(h#M"`bXqR0e(p@`2rI.13`q\O&"d[iHEqYnleB;rgcUhX3)*nXu]C)5iJ;kaj? -%T=F:_7==%=D6SNZ53ns!(9klbe2?@]8Pe74SEZpVrU69@4VWu8%?tTg9&f"ld_;rF*8dtp\NY36r>TALG/^9PI;j0/RVgVE].IEQ -%A#X7dm?=-Us+rOOEo6:8gJ;qhgjYtVipB-PoQ?n;eZBLuX_s]n4"IeV,;@KRBc$2@GT0RVW?+k"!YdD%-n0=Pp -%TN0S'gu$-p!OrTnrQ/n3G'!HdH+d1d3MR0;QUZeb>*:BQ!(Ur8;a\lb:!ju5\GBtA%#>u'SNp8Eb7G\TUKK7MZPl0I\W\a0/"'e@ -%UEoERlX0T7k;?1dR7h:Qk$,[='3,Q"e`I#r^3m1[ojcgS,R]8-39CNZ$[#KE<$5jQ*kboP4NJYnaZiBdI"tUm]"1r -%lSBQKI!'8SHuVA>NHS_L*BC.DJt7`%Z`us&L-Mm48+YMbWN+@#RE\T$;Hs&sp+!WeLl^egr]JFUVZ4h0em!T?`t^e!dl[PGa0d"\ -%>BW5t,MXGd]).PsUO)gF+3cRQX>DnT`tU-]?2<6+F=hV_4\bGT0_Xq?mX,gR#D>9^"=E';7f&dA9s12(H<:-=8Fa`m?I/GZah(l5 -%&cJrB77VifG&Fp20S/$WC+nd9b!hrpi>3IcYR,hsJhqqu':)L$9fEkj>Oj@UVuk -%agf,[_Q091!oct9ULBKB(B3s,5FQB]Q\S6/'Q)JG:&AVM693?R1\irR:N-X;o-Jd>CNu^Xf.`01\:lk6r9:7TGY75Q=E(m35N6K< -%GIO8@qj^=<[fUp(UF=`KB+H8`\s)kkF@q"81`5)`-LR0+@8H@jnj%eC3(mGY9Gnc;+t#U`Qp5)0Vtk2:<-E#hgB>N_DH2]?2(o.8#qDa1&DQ.CB10uh>%n[<"qu^5\Z;d -%iHlq:c0[`a%gQ1"]-2J142[Mp-f?ff0P3NG&\F:YSkbbCjIn`MPL4.;W*4IQjN!P\&l[Y1$%][s\5hq\,Wk[JCsc3tq@9X"I%'j` -%-*q5CU#s]1[#T\9Z+4RQnnpq_i8ZTc/m5/V3I9s=f8ZVgdb73!H$I1"=_$m^#QHlO1X9rK`[')8rJ'X4B>!9l5jUcDYEX]G6_spIhB0J3SL8X/Cd`FBS)9Du?Iu+AYN*3_^rhNNAhb+@,eDl]'7s"E)/&dAdD==`]'0u%rO!^M(>9f\JJC*i:s*U;-.QY@NHlUL[,.J/W,5k_;ns33Y4k!;!J!!$4@8 -%)8mD_6`FPrgGGhX>P'[Jm\ZIUr+V`pVY!lO?),Ka([r":TQSptc -%6nIo69>VGOb'mjJNbc^;eRn_gc45]?N\\r=3c)9XmiRr81l03EJVh\/a;bW=DsFYf.BnD#A\/2O1%e*)&)bP+!uP*^s.M*'#@BuF -%(d8,:_)*qU1lpH$(jn#\@q=rL-nZCXgnZkM7C!f+Qh8SP:[9mn>3.qaenstH<=YKF);[tqm#n&24u0FIel%7oDc?edKQLM;f.?eh -%n(V@^@dtUgK'D(*%F/,a/9Dt?5D3A$gA]k%AZgHH/uY'I[q)nSg[,q`"2Ekk^9.4S+3;s&^SSQM1CNQW[g23k)(*)p;M%SP\#,Y0 -%kDA8Lr9K-H/*.SG.\jlldnF4VmZ7iqr^`rEpjfUDdg[559,S -%T+V_j'8b5];k\Uim#TE*0CVi;r0SjC]?Lnl.sN6/`55Y/*2A54s!Z8fS0ReT;i`?VR5_^G,YgZlMk1nK$lb('b;K8IMY%dLER<7U -%IJH_:pWV%@.Eb,fFRu.5V\(7XmJ@=Y-\_h?J0J=?QMJgNqt^XW1q$Q7;]51F/DT.*8'^tA=sD<7KBaL/A;QSORYX+i!G/)Xaiecg -%dAJJhXF\!p4HY)QP'EldT'N$g^oLbtZiX#gKqiMLSm9ZsfD(NSN9*V>dYI:>GWh\6=1\.@m.MDn#aWqYa^#gLcr&3#,K,HskEM;Q -%UR.2N#MAb'(''En@\FB?DkMY5$@7i%Mp8J8.m#F% -%?K$d[XX.)+GcXr"PYd19f*nm^`0-%ZH3SL^mtZT#-/kU`,tIXKRjbieaUoF#73m5kfSC$hGbD(V?I'2K8`3[Ll6U5"&hhl:dGM[[ -%c8Jo/W\rXpdmi=HR]RV3,@Dq( -%>r+hlLNHB\>?!3i#tD[m'A-jAruccR'mMGskkAd4"^8:l]*SPhI#j%tH"\hZ'031;EmtU;Ws3nXf;pHt -%Ib76'#('tj=E;@S\qgQooC9PD$[1b__]O(D1AdM$!(3RVl&NVt2j;b3UTb,t1ngo0&4`.sKJ+[(?$?dJ(4Yd;#bI@ -%jsHJC'%B+VHGG8;2Q:n(7OiO<=G?A.Jr.kYnDg#gkOoFC]h(?Gn3glZ)-7-Ap_^ZKc.S/>3!5jJ%J;(5A1OG2-amiVbF;'a1!);&pVcT.@TntZ\Bmrr-HTK1McMVf_XBjA1Z0_=.+6n -%1VaOdL9ugWlU?J:W$N-g86IN0\$$%J3su85<$U+&ZAbc[$HtSik*6>aCM%uJ.`IlYMYhI6q^F&>Nq-rkK[l(ZJTm&0p`^B$KAWKaq_jZS!&B7;`lWkM* -%i7LJ$2s,Cq)@\_%R-T\!`9UP$p;4E^l@<'Dia>FAUQ]D%/cT6Gs#ZM?GjoHTJnlVd0kZbkJr>podhHaTIdf]Rijl;qnEC\KK#XEL -%c+%K(;bcA>Jj*1tD34''9:!o0lF_aM6]!/C9=e@"hh72Q0O_<,=h9(GH8S^RAT6V5!$0kJRA]kOC\L[1:t*<0FM>@AK+*pr_jjnB -%_]2Y7*f1'Z`gFTo2LNhY73tGWWT3KboEXLU,B`tF!VYdb=m,Ql,OQrC-gYX?;Yb^+^3n/iiTkTVQkkN]&o)qCCN>GHfR-"ushYWHjE2^i)n1]Ru.qH&O0fCcNX3g[if^t1[._mUl4'`./OQjBLbKNr0FL%+00?C+>(6C0V9o=B0k -%##Z&HFOsuJd&^ft^+Kuk-+k/oEn7Fr?prORB8^h+OQ=IMloVFmiHY__#/?]%CMSIePp1YH1V(qL3&.9O$QL&QKJb![N9JjarfVN^ -%F)=Da':GQV(Ag0kHpi=,*eWlU]#X>g@9iaoj8*T1I_.'SAj5t$-C),t!kW0n9!Ts1YID]M7-9a#6/Kl""/?hf(7n'6XscpCfb'\hO2p1EUM_9S8$R -%S(^c'",>nM=d/Xl).D4XlE7OE"0J]2nSSr?Hl:0$N)PS94%9DkAVqtn_#sdP5f4,T/7"kO3;+bqk$&)A=?qo0LLEJ*g!&E0+X02R -%f&\A,G;+)-otQMUAAHe7]R[4!i61'oX)k^bbj*Mc"Bu#6ap0*H[tWbhAkV*;-&hW!Yr:K -%e+ACVEXGcZ!_`O=?/;C4e3%7Hc#m\hL&+V9Ge_ms"%l,`[1Wor-eq_Hs1XtB0U"qlVu&Br&t3o`aCt%u4+HZGDIUoM?aRKg!G@IC^HSnN? -%YdE>(CZOfdfB#][#4!?X-DH?NdIYKJL_M_[A3CE6cnRAi?RB*7)3WBV:NgD-lcu:K=dM`B[DH;jOmR:n@-b*,CHKq1334bejg]GM -%j^[$)H"[WTR[Dd#LINR."_s(mFp;?toiNTp\`eis.[bISl1AW_%j*sVmH9Jin/*pK0Jfb'rfQ?N$"ZMg@@.:TK5;r2@,;lI"Wg7* -%XhnNnfNWkc:*?Jq`eMSAlqLMb.MLi)?'aaB!VG@\k-=)q@e'IZ>P3V&WBssXjcTFq8',Wr0dJs;\X6JN,ADn]>/Z%QV`u'c98[Lt -%O4098NAn>N]qde"KL8As=J3-[0Qncqb3:&.O#AJsG1NZ`hQgDC@`p:f;)>nU+soH4h@m>17g--L`W`kd+3bn$P$Fb&e]OI]Nc$>[ -%7#"uV-0au*KCf=idl-(Y],]=0GZ>Vn`4ATL#^Lcu\A$A]Lnl>j)4"+nqH_o7egh2Bq7 -%E%ec?pnVF0(IlMaR#4?$OZi(\"Q-nkXi&BA]6DIf"nOBRQ%r;CIDB\*1$SJ82E+g63T(+&-uR3!n7J@;h.W:V]Z -%l*tj!ou:9BX]0+A_*-l*51,BA+!)A`;NmgR*YHK)0'6T6WiXGL0kqQQ]<'+"Wdsjjb:Uan*dVTDAineJ+#3o^g=[d2edEgPr-$u> -%,N6*0ptk?jCr\JI;XU]280XIF0U8.N$QQP$h.X,)EhD1$EiIfrAI5g]@E5A>:ciRU1/Y3VJ/c;A_<("IOVd>RYt`i&Rcnb+2Siat -%FCp"Sc<[(-V0S6E/Fa0>F)/"OY2_W`iEtU9F`qO"dEP\uY@pV+3tuTeZA@BDF)@sM["hLTl\Io?$0cmJoA@nQaTlb_iN94i[@+eP -%%^g_#fVm6T+Fi(A!5r#bJ.m9AadONg1(ND(6Y19tYi$b8?1UBn[n59M&B'aeae/2XQrU:" -%ZaV.PThER$R@Zu+V7j["k/+P]-l)F#M:6S@TkA)bWMN@I-Q$]G1d=P)lU_P(@Ln_XT8A[U^Bbp/*(5,>0e(kRK37\bG2S(KUdrS\ -%3Q8g8ZK/Foq/POqY<$XR/S@Wh^&$:1W;U2T!KA,#DsYAIqRA4e+)DV/(MM^b:;@_d87*fWc"jnfN61GQG&JnVfp#jl"g?1r]Zu8^_ID'D&W"M+(]QD$&]k##N:XGW7IUr0$IL@MlQBL&E.i(-*9od<]_7PB)]ThckF_SpM\"]&A -%,CdOPV&\='6#:uZ%C.IX:Aq9+m]V&E?!+INn1Eff[g,dIOh^M%plDO/f8qi%MPbO%YXOples]2a,(F3]TX+j=+G-1 -%HK[KDm7>[hdqu"H#RgL2;7(tIqNP4o&hUUEpW>B.f#Q8NAKBd'?11!mMo#uM13,giV\H/:hrN_[7.[&jEDQ1X^2j'%NR4D(;DidE -%hMAV^nGuC'Ofj@:ajKCEX3WlsGobj*CZ>\-MS8mmo'&bo;BfJ+p'!D7`h&/r=EYj5d-0%JN$OI>m1D'jW*D0gZ(lK5CFS1KB/%Q_ -%TpOAJ_A24&3upTAdLSoKAn -%(H%S!BAuFb')urk*"/JTJVWqlO'4U):k7e45(jtc9%[M,1GjGY<+=?eXDPHu.HNphWHsGd[,/]>EoQ>)g=GQn0;m68O>h6l1?7mV -%J_+V3Eo\1Nc-8u#;+okf[>Kr2Q@GP*.`aF++$AJl1n<0"@hZup!T#AaN-.V^L_KH2qk*Pr-4G&Q+!;/&hM)JRt(+46^qUm -%(k/+m#4qV4^Cr%BcQGTp7dOA@Rl@KI3[:qKVl-Cp)AJ$%"L43-f!jSdAb\5i>HAcB3ppo`MX$a;W8$pu5 -%:Wg#3WdC5[^U3RK7PA)1j'1Dn1O'V2Vq6&ahm/fbAD,tZl/enQU#[&C4M7l?O[dn#Pe>^'0k?0:m4#0QNbV\rk8=`_*d7,/LSs4g -%dZ=+RHjq4lX0Akn5VA9K28.4TqWGWiX"V58Q/qQZrrW3boni_D(RFQ4rQfWde+fR=E69A(/e1Gr%(p55K(:B#$?RO[rPu\JNmRqU -%`n8\RdgUaX%$Kska/TcNlT[W*0?r&'Do9eGi5gUD?4nW^*.Jj5>e]r_[jF10q-NlEk+C7Tl7ZX]gT^I'R-aO;p6T,L)SaqM`1R%b -%?iL!WJ+;We^\[9rqNq6SGQ6ogFX[7Q5C[h"TDdp@J*E_WroqnTEW>3/rmU&Fqm0Z0ig5/dl[S]krLDOn5!8GlfmM[\.BLK5Y!`3X -%a+(?4f])@9mLb!XM0.$*2kmVnW#"cjpYc)bWLbU#'5p:@,Naf3abb`:[tt^F3RW1[LD+0EA(fW+omtl9ci!S37fWCag?>1/bs20t -%+!1.orE#V!Q="a?Z9%,d?iB/PnScud5@"$Aotpa3fDTp,m(_jds4;PD[H#[dD`aG8o<-ASIk*kBpV_MGA/t.q-)>t(4j]67C8/O) -%C+^urrf65.[AT!$]?3+X2Vk>Bks4*-!qnK8&^E?(dOQ'n[&//;^b)c*<+`=$E<`$/9,nE -%9Ng(WO<*$:]?ST9YWtgQ7=g*8/eKRFdFSp<'g4)GE1[o).XKs!#u4\e[H29nf6=>W -%?SFcnXTi&ApTF,57T0lK -%8cIc0WKT-`@WRiU7W@TiK@9/=K,?0$9)$0fPLd)o^>E)9`8[>a4ki=-ft+F&ePLIUf$!?\njjgXcb)EfXW:1DSrP)qRI\GFWl#bm -%)c9kbQ9Vp@70'UeI%,6*Hi[]WPB69baI!U!Eh:4q#B=b6f")Au?aXKo_#eW,Yi'D("W5jAf4e_D/Ds$aepbb]CdINmMD!Wg"uhgl8QE -%5Z.@jbUY<1"`M7%Yo;VZl@EE&8;9A,7gq,8^O@=\#_1U^4ma7 -%CUrAOnG9LLm0c*;CSbS[CC.mlr0=:98DqMF-Y":+lQhG1[g+tJ)7\\+<_i.B#J,O6!X()WlWrY$W9)/.h,Q7K,ldD"<_%HO+N-J, -%RHO6Fd>&gY+2l-"[b9@=YA[Un^0lKdRes$&?_qST5-]i)i;1IFoD.%18i$J0HU+;X3c^K*keY^Y/<1i!_#CM@1aVZ+`BJiI/l%+#5_.K9I.n -%"5d8$lh(Qq,6iY(pF"No/#SK5M-2d30-Su[Y-4`MqQ-%;):]t:Jfq5;$+kJ#K@blqZT`HH\LXN"\N9uR8BpHU#kurP>_^)tGGFpb -%eIB@$mko)Z75S,K9"6Md798H$qU1Lgl\O<1Eah<\M(dUMn<6_2L'Z'2XM.o`8"l/d(ru# -%C#;F!d#GAJ'mf'08g5tUQF@)[ErD$\c^D)W%TNi)]2Z=`ge%h6?qU8ZfIAAFW^POk -%(/l;EY-6NUI/\5#.B`Poab$A=^a>Q`)b]/Y\[)tr!8=E?UYA>$Oo-bEDhS4l9F=n-anYBM#$7o8GTR?BIk^,*c+4L8"^uJ.SeG$F -%DUW2T]"P5^M(=Y+f"6p$n(K+:@Y$LsUAmqVOH^bb]aR8P0fIAWB\rmIU3_7._HC,c.%%l"_,@t*.36;jX##1YM.5ko'&7mh$XNN_ -%`iL-,QOp554X7e*kmhL_$q0FQ@1>t:XDR-Km/!r'en6TpF5>)P37FQE9IX@oau8[Jp1W^m:ukTa:#7s(P'R*R4@bjhSB@-oR5#jX -%]O-1$K=OTj?%ZQ\$'$TL>r;P0QuaNZ*&t?cCW:`+T#(8K-SE,RXkVe, -%Ik+Ig.EqbH=+]4OqX5'VrpKLjE8Tlo;gA2Ji85unrN@u`rSN86Sg#*O!+>Lj5QC%Vs4&b'.K4N5Cp&9che_dn=8e3[HHf4oRkLpYsM7INC\5?i8%+T41gso9Z+e/"6KJcFooRW,b6_O,T71E8oIm?YDf&N)sWEh+kcFX.JoeeD\Xh8*_Uf[#_.TMm6YJf]%+ -%VWYRX=jO!l01SFK?,(&p(NHIncA>(^AqAnK7Xj[_Hj?Qg]0tk$;(u\f(:&IJGB*kpl?CY,BR"OFm)?5(g`qR=,Yr-_MX%TJ8t5nL -%:Ukup"hbU'Q5q?!/I'*J]G0\lpJ&b8L)Iu;^9gNYGHn# -%`?*FADm5Ie^ZsCf18B%f2k+Y3t>n+nJ;o_BF7-iip4p!cc -%o&,sGPP2tSX$!^sc#BQcj3[XH8/F"Sr8u/Nam.ItfX*Wp3jIn&+lXWoKcM>km,^P"hVLffrRUS'YT7CW,QR$Lm;O"?f#R:BW#_n$ -%d7';kXK`csM*3=#cFuDXPO52kl@kgiO'p4R.KS?3G\Z3)koC-Hd^n#`<>^*V/RP4X1Q^Hr@BlhG+(_Y]A`&?DfLH<$Zjio;^lBp9&WH3f&B6"#0uIqTO=8BFXf-"0O;aCbaE(;bhaJ -%=jSG0K^X=Kir]$VJe4R@R;YlKL`%8t?Q<^qHO&T]X5:\rr]b:oP=6.BIdE=3KfL@:a-_C(oe;bqnU9-3'neieP@MRsL#)G*T;^Rj -%F3u0aRC^f%`(>*oQlkFG>b!#ir+IcljKgBmc\`ms0`\-l"7%;9N;NkTJD[Ymhm,A0jf=Q:*Dk'&_.1hfI`n5$@r:pWuqWZXsnArl)i*Z\N'AhLUL.ZE( -%]&[.;i_\VO+T(sq)WGM#9;#?q#9l)t0^A7g>I8pFY"(qW!((jS47E:n9MB-^8R]qfX(uq;PSE=ePEF_[gVHW0TXSl+lH4\Qi?]/h -%TASo'P)o,/(8?'YgP'R1=2t>/_u;o:YY.8L'plA8f"'W=k=oNl?O(g8U0g&ZO*;&1O0g<%'XX1/)W;k-\[J&3\8P8Q<1.PZZ'4G4$Atf4Ga2[]Vr[XlbIh1n2F@7%%W9H6dd+B/&/Y%PPAZE -%NfW^h-a/clcMBS9Alo#ja',TeEIM/hW!!K@H:k4-N4WkD"?_f$q/ARaTj%dfM^Fn.?!i!KdM_KF9u@YT17/;`im#f'kn[7CVk9YF -%*$3Z-MMr,QC&i+AF$9"u^oc(*D@CJO0?RP8'@U0oJ2j:lK'Y_ARg#ij\9$b\Kg_(r%(\,Dd5e+O.ed1b8flUr1Ha#O -%_$e^AW4O?F)3C5q]sOcFq0eL -%CkrrMkeXdONYod0%C6]_eU5GuF-W&%cU+r&mH0t%MRVtT(:;o' -%Pc&.`7cK9IO3S$%@c/,@W4*Qg8Ut$1l%l2u?D3l)/*%d\EcB3+[C[E6.&iLE1!?O='U$NF/ -%28^(jjC<>SBl8RrKOf[6fIcFNoP<%.r@69aUsmc*OnpBC\'n5ekcH!Q,]M_6ePDpuOo.NnYNSL6kTN>N -%d&.`I(V^W1M*utZi7daROo_dhg(?,6OU`864PUG1$I?IS -%B1_PZCMC>K2ouEliVL%`FU8'A'Ymq1j&8`LkOtF9`Sm1VNBUR$-V*q/B`89aRXVRmNK88a6ZR8)a@ucGpM0^$^jqMd&+mnSn\;bY -%qbOs(jkDHgn`tYke_.Rl)LNdcjiHEH#4m>O],U0qhPUED_])(7SK:(n8=X@Ehp]7d'sUg\FDf9(44Rl:\N^A<,^d0qm7KrP.EUF# -%SRpmo\XbBVCUEFn1ie/9;d?Fd:86m!oEh<&_f/8jdq[[gh7TYN&[VL<5KgJobDu>>G)u_SSAI_D"&;"QXJ; -%#Um!AVVm0kjrc_7r68Kg,qjar(OJfG6co8"C$)%+<@-A;HmWr]mB+0K5m`3hqX+*Z9roJf.OYL*R` -%Y&DmE,.Yda:_%XsTc6i,gh+?+(b0FVqkB06q,gEXB=>L%KHoHLj$m,Qp0,ED(KkiIjjX]oOG(l(TF%pE9s'%P9]/1BS^0=H@`Lb! -%ete!V01kAD5-qPY"M\O;_!XT?Veg=U6%Qj!,Wu4`J+T)p(k23!)b9oaI/qrh-W?YtD'-/6?aZa*fTnWKctk*BM*ddK?],()i]_51o5kb<"@pe'l5b_X -%s4&sH"tkOYC;(F8\eh/1-9aJ!9_YImYoP@NN+R<W=jXpN*moZ[1H>FEE=6.r8j]G^,g;Pm'DQD53U;q8*dQ1<3;^8NHi -%:XPZuR_sqpoTu)H^ilErpX/Z165AQ"lh;0oL,;FT_2(:I?.E>.K8m=VONGK8)=:"BocbC)hjd6B0cA5r#mdVcA)%1T8Kj0XU.#Wb -%BHFZm%HA[6JSM&7hR_g+5+JNP=U`8BI,@jr>UiEjSgH&6@AK-1=FZf?e2.!Y*q_ -%glRWU]U\OmWA>?;!_.T-MrppR8WA^8d71VqC0%50lmeD_4j]DCe&\X;DSg+aUg\)IH2)+p'=>TsdO'3K#t'aD*^ZuGHG?W`^9>Eb -%!P>cZ7(C-69pV1#4#,3=8EHl+\aZD(<]jb"1l<-(]Zmm:O8]HgFT@gl=rm=SF^qhZYmZj<>]W\lLH$-Eq4(dL;8(AnZ"/ge$VpSa -%ClTa8roP^N0KS0)Q*jg99'e[G>Tl0AB9,P>XcD4CI6U$1<&5nJ6NAr2g!:9m'uH9a_`5s"D$fqRc:i84d'STg95[K=7`*7%lO^"\ -%ok;n%OsSJ8!3]^a.<'(qZC%,ZaE-Bi;FZ=SdCBCRUA0J+4H[^M)$:pD`Q+Z+(N'^?6A'S;cP(Cj5JV\X1CV4(NZ,k&6*BO^D9-m8 -%1h@M1LYKHCZ)_V%@UOE/UQtFUJ"Q\U0qZ>Ap7pTUF&hX>X9>)h_-@d7=nR_G7#TRlD,eiX3!a@MRK+=f/QBWa'p%OXoYg*F5;h;] -%q>)Bi/'5C8L9:4+W!naY_n=9tf.`-+l$cMm^/BU?0]TD.JD;6>Wd))VJ*6iP\"@,PJ/iO -%)1R4,frlLrcfsZ=MDL0V4KRO7>H]Y8DTu\=M`L:,4][LG.qcYUAi3:ca6FGQl=UqVE:-IkAekd&1;\@YA-A!,aH@V7C.g1f^R>\WZ0d>8cIlVQ1a`Bu!p -%R8fqA$L2R9A?1/jao!VJ_APr1#J6/H-ej5?Y7D=Oa"h?#r(!acKo6WbQRWFk[V#C8:7p`%;NalH,lf=i5g07_PEte -%d-Q%7,n*)TTTK4QU6(G0=\n[=lV>Yqp]Lf_*&F,%=WK'LdBDeT>l3Lg88?I@$R!06?4'%UC_M`OmQ@#/;o3Zp0B^YdlD"o=K24E*n_R*5s8+3.lp`K*ei=Xj`+FVe2?*eub2ta`rnZ -%;TBFI.8A.jhIf7F6`U=[*X7nTI-[M0*I2J_03e-eO\/l9s-WB,^nIM#oqJcd./rlGKq9Na:BI+);*Ims3r*'=Rot&qj3g`l91A1/ -%<0NOt)\^U!7YNGKIsBS-Ks8@)V#CfpXV-bT2a*d,\Js*/-(=AS^"(Et[Z8Bfj!59o*6j#`+`IW6q>\Xpg\'9d*63X!!r*l*$N\Dc -%D:eLek)"LsHXpBtL1GQd(^p]8Z6a:@QS`C()ZBQdR2HT:qjc-[O/<%CR"j.%p,]V5W`:Q".l/p^0D'Jl?lSASREJ:4f]*HTR23.b -%]@rJ`e8._X5Y-Q>g.L(g))$.64FWW*P;P)-E#hh<[N.f)ba&E*NMXjg@`G[+(,Kj$:mo8@\\RdSG@3JbX7H@b+(S5L3hLJE>att^ -%1XhmOS9kK^HT$WgVkk9!/^5I0f*:0-:cH?HG1>=CpB0CHoa8,_G1Pi_8Ph3=F,`c>KFo-/G/eI4S/["HT04flN>@(@hE6h@^f$Vp -%"Rirl(n%I)WO/OLLc6Q;hbl5;79k)'d3^QG<@Q??Q9$4r/d`J/dk[Y6UR_j,=\G(QUgAC1n00/UeXkZb>`F$#,?cGZnYuGog[3Bi1\cZUSPJjWYIjj%Y>IS'8#)*02Yg? -%/DOX??hPFhSa7?9baKp#8iXFGcM)l;@',\I:BY-;iT%odG!prp5]rY"Uit_qODnET7@%"cl>hVWA[lll-h,,C,UDPks2A`-)r1%sf-9-0C>FS:6j(U0E8uR7@;nJ!P\nlfV -%I/="nN14s2U@7HT,BdEdBt<&R@Yp6m@Y9E>n4)(e\l@CL6V42,,]k2juc -%ZU=/b0hP1$;F8XLU=#E_?'&*`/S/hfj,-BK)e@X)JFGqe0$+Lu6(Kr(bD.9s>EC!/WFG_ZXEq.DA?(Hk#*U`4V(U@\e*g<9Z999=[_I7>ZT+YPNVNGk_TBZU!&!h3D+q`N-ALbqMMBU"US`._h=(;aiP0I_"EYiNa.Wr4L!ES6Lf.sBWoUmOSk!j)NN5aJV`>= -%Y%Gl(TN]dc)W3/BpcRpQ.$M/:4jB!1RkP;;oGZ+ZSt)i0XZ1D);qOGl3=b;QneT2KbAZVfJ"DJD:#-g>kGQ#Fio44H_/Xok(Oh_,:#60?YBh0$%g$!C9M#FujCA'7Jq^E%PjPSS"BScSdB9!]7jp1s['2Z/-i.:??KjAV.'mW@W>F@5@bJFb'$6I! -%l,"gNV*06%O@OG?Mbs.___Yf"XeHE)4uLno"&7pp=47R.F[bSC2F-o!=941c>9d2l^M[^`'SY%t'>-F*us(@i8;]M^ON,US,@?cm&/ROmemM:5iC!,kjo9";8XWq_\Z&KHUcak9BE:M'/-um -%m%%Tq"so!>!$&;n#ZY?eQm$oPC_e%!@=S9Qbclo<9M:p^PLJe"5)\l`:tOdVjneig]r!EKNUDQJQ5Lu-rP_*+1e6\+;o$C*`Kt$" -%W#l:d0Qm4?2^35I`)MaBj.LFdjcG0!lhVVV(DuQD6j]9-6Yd6_j>`5N@j\;!@/uo[5[NM'_pR+,7?5;4-Xe5(3F2Q$f$&Z]qJ#'` -%]-;3LbR$>a>As<$QSj,#LolC6d"9Lb80oi$d:l::Yta/\d?g69DDDpEXA5%+b7E`-:fAk)>CI>u7Rti;&\YYHnJ8VkR[?0;kdKO? -%Rfk8oBN&[^U<_qN.tg!MYrZpAhM+B=Uc+BbDD'0#"rtR@%En@J&2*Sc#u#BPIlsqRQP8'=S'Z-9$.IO%kc-;F1:H[nfi#0"`Y%be -%6G41p$*R@qL0f]ZeI`=[3p(ss>BY:n:a!g_jcDkdqWi\[qM=Pq>'*XW2T)TMO.q^/d,O+Y5*WUak1>Rup -%=A*B6#FIuFP/oL$4f)Q&$huu&opuIJLoR3h94\9dd&.e;*'b>RqVM@,Q3[S,M'+_=VO^.ei15eT_/Um6!s1BW58J9#(0(X-&W%K_ -%Bq:].k#'qN1N>*OT?^h#F?lkqM2ZoD?m;lBX9k^srE===cVPLt>sYT-I?dbRn,l<7),$6^RN-8OZbDc/*6_X:=rb;l+XArKpLs$nsXs' -%oUCWFB)o#l.\C62-+"]S)kt65B8HbIb-?W%PZ+eb1TM0+#WDkdK;GnL0c=3u<>)*&:cV?P"#Sd``(Jh?'srufNSb8ZrUk`@GX -%):R2kj,6eYlXR(nfFHYd0SuCpMa?U'`0#,uJZlB^.B*#__GndW="=@G_BaZ*GLsS!B)!:N5Yh<,n5.kpA6gD@DP=ro**opMVB\f; -%fMueY`"8r"D_X]@\Yalqh'io/@2qX!GBf2':s.3Wi)Ps'CWpUjG6&C;>%>)p1nnj9Id;S7AUR?'^k`g.r8a?,>%&[2UG!/66XJJ7 -%djBnTWIafs5nf[+%!d#Q&LKF-fKC4:8"?ZO$AUNcei8$Amt$\Kjm[7;eZUK[SfJOGLeE`&s+(?Ph9Xc/_T6?F-MaZ1D&B06h%q\O -%+_#,`^[.fH>*ImF7EC>8o*<%q&-@ul+Ehi4606\+Mtf2FZqabAEZRPuV3j\Yn+4LJE@uYOp!/%+1dT71N?07DX4&f'1,^d2aX*E9 -%dFXIKf^7%;_7!eg"^DIX?o@C/LI2?G&d5B4X\=fdW:KnaKEq'AadIeZMO@reE]8U7$9+4V;jnLugsE8uD:j30XDaN?fJ3>\9)u/> -%hrk*^hn6\_>R^aqemZ65il,0-Mfa-^BNBk#>:oBf-CSUTTW$"12iL=Yr?T9WWXEI&/;f13R,XMG! -%3XV=$n\OklNVTro6XLNs_)32VXT@(e!=i)Q -%/(L&h815(;&cGu5n1aq8&7/[+Q_&HO[d"H$g_Re]G2.2&lO%mI-=KrDYE])UOp/TkSQ`.D&N3c&@a6)$.bH,Ye@"sqlQI5&TLc;^ -%jQZtQ_*GPeB@I6,8bbFZ3=*qMen-@iOSr9o$+b^'hI\=3V]Li^4[^fuF!)M6c#ka`'&_l@t(h\pu"c1c$rik<&t_$khDVB4c<*"D;C;XQp/Z"#.NfPtkI`XlpN;6i"][Wqt>J/j.)5OdJRo -%&Yd"RV$LPF"icQC]VVMmNtT_R#Jo@In\-XX%j8g_Yds2>Q1q2tA0/[2i.tnIH@.&7dVGY`pXbrV0e -%7Etp"$Hr'\%QZ>ShPO=RccA(7jF!c*]990U#SUU!)Yuo9,&BArS6dqZ=8`#j=CK?!SQ9e$FP9scqdRuB-8&/,h(Akq!.*huUhHUs -%j86KH2adR3@MV[E8JH_AE'hd!R`ugYJ7N+ -%_\bNa%c/:Zlf;"&01>+?<^(A]7=fJjV/f8a[B>-:5\<)BQeY1YjjUClKD.]=]\AJKl8N-kJ!Ib-Vsga>0J*Xu&lNU#r#u+VO.-a13"^l]pM2"VUe7OejATN8F7tfUO4AX).c`TUh&AiQq1@3CN/.loT6hE-m/937X._,eV`)s1QK)5UU!?X*007LY*E=Nj6c;`eZ366NAr!r8=2*7+ZsA#f -%X`3+&k`O1h>f&4g@f;^1)8.;E$X'\J4Djd]KT?/C!Q60P+TB6hr*Cr,m0cho#s;F@A]\%%Bi9&#S:n)6S["Ii>7tP/B:fj0g]b?<"@ISF8Q3u+H-,3PGQTaO4U)N*R*Ke)&,Za -%?"'p<*Z/PoobLUW&,As[\E5kKScZ\W^^MHk&+E)U0`Zl[QoBX -%'iBn`0*f-8WsTfR[dK+gVnu_2f/)RJVT=(`:*S'3P"[!E!S#3ZbJ2B;0@olCoG]K>l&9m,2S&?(Kag(\Yb4@ttl*l6d2]gdVT#D??AQoYA.Z -%J0&PE?@h"0kW$D-UYaO5K;/MhDLN!^K_A-G_iQHsBq5ml(B#%YNb]9+;'<19's3J];Y'AkFXCCjZ\.3P`hdEM=c=IrX0'O7aQGt6 -%k7Z,u9k.Z(W7MR>`u(T)iMD]!l;dZZj[o(!2+_UE3srb'!BmXf!X//k)A1=r5Kf23qJrUh7!0-NPKo<2^6HkdGLG/-c_[Q)iMIf+ -%EOr3u5C63gY""c"pj&!r2p"s$]Ql!+OC?e8Ne'N1k)p\F+>p5)&g<\aZW.KI#AjfI72RIoPqLI=(h""K1IQNiXEKKl(s:@FTTjRX -%=HhJd7>Vc!pddPs(7W8T7R-FLgCo3Vi;VO<>f5OJ8X6f-6l?nnl'Z1E%IlFjFlS(\'?Lu-3'$)*D9`n33\TSr:U0q^fdt$bAb8[V`8J:%#eC:+C0\LU4Wr -%-OM6;HQn-=!5jFFaVfW\qgZd:YOI-K_.rGd2 -%QT[\:pIG'PgTDVmF9e`W45s!MI.WEN.?=Xf]'(./:kkT8;_jF(d!^b"`\&7VKFe"#:Eo#888Jn -%\fVfCBORu9NunRg)d/7hc9.&]7S1GI)Fe?";G`Oj#[:,>Q_;j>if\:.&iGb1!7^le2X2uf%`\jGi#q/E>`XOH+ICrq\m,\h6-4n] -%rUeMf3b/FHVEk_icluXA5!=VlCI\\@.Tom6jJ"_D:%4ktR+hG<;S`UF:a7k]!!fc7CWZldd'J`h%Rm<9iF:q5KErB`\t'h7l"Tll -%.3=)t)Fq0)Sq/L,m3>'E2SQ&+-8T7#4S#?d3OP;Eia"8Om5MA[5n"C:If*+S@rtkPY;_E$3?X70.>p*iC0HQk-JG>1 -%IRJ'0N+<=\On@!Pn3cM3XegkVUW:6"2RX_A3$V,21eAQD_0N*")>tV$o]W'@LOd6/Y%PmFZ0otE4Tt"Ll@fprHQlPjO]s9&Wn*(h -%M77JhlOcAjm0ri]7AB5dj^+EQ6.s4HcX2T/5B.%2aS4/oIgWCk:Tc5`P\&(D[R@Zm"5hiOPi^L:4J-6dZ/j:-oFTu\d&WO*b`41:""eCJV)$HP97l%Pn4YY9'.b[sW=2`[*b=ZaO/(S:LuLF=MV'p9bJ-^6oIU:gQ>:[^KZ'2B@/ -%[TkQ;>L@o(B1&MYIFUm%:&uT)+WUK1n,\LRAgss#1*q4G6q0']!XNa#^4gRn+;+D.#@\M4c'gja[2lTU&_N_d6dm9=pdXZC[5+Ri -%P!G\@oW,V8N0[sK(]3!-g2r$f(;!@1jEVpYJ2QW/iQ?HOl*o"!P-PE04WeZNm5ILCZ&ml?iNYqtrNsIn5^A6ul;_!%:+cb_EK3&U -%Le4AHV^J*_jrr/D,4"l;^-ja='SSmG*@/G::2Rae!!7hd.?K*?Nh?ECQoIbZ5$K,&Ou%^7Pt"HoBk4-Dd3p^8^H9b'qg*WANMEAG -%R:5Q#=%ht1.SY+$SBK$4k8SO9U%n21tmuFf[/9Lslou,3of[&IJO6AfZ!-KL1)*Uc1Zm[k$Oj@i]d^lkUMu3&M;_1if0K -%Aq*l"fa6S5Plib>m((7pMa9V<>Ns59$XnC.R"ED1m5C22=B4B@W=L$AS,qMW]eg8EcH\`Rb4TW,L1"dm-m@8#!W2E[ASQ@9fIY:*[)8NmENHs0EM!D.Z`R4MgAd4acWgD&G)05'I/q!)FKFhPiZp(^q6!KR?Sq+rV -%kEQ*:WFoQ'hK(\CI[5@4N>@^"**m-1de[tq*a;p8lGXZ!P7>U&qV-^F==W*Am3fViOc -%]WDknIkMcaLhjZoO1-N@"#'P8(L\Ma@thb%Uek%^UZ6^,]'@q%W%:[e,jdo4$V.EQT)mqG0`%MC:l\%]?3CdI\u7/b+2$UR'"7Cc)GR\sRL1c" -%5!_-a@W*#qef8l#!^"iKAcktps0j9.9cf*sr"P7XO-(II/Ga]hF//dtk1)6&rQ!#T#g;,'T=-. -%bSRmQP76Ng1>O.E_c?J2Q/iVt#-b=bH+4d^>c.cF`k0VY1J$@*kOBD#+DO(:M8Sf.AL60J]L#:q*:8H6nn'iU]>83;1!tJOX&`/#W9+%0(G;;9sL?:32/;r.a5LT2ZT=4&>[cqc@rk9T+@ZJ -%1;i"lcR=j\7[p2JsMpWj6Q:&u^PJ83Z$:<-,/S:H2iU1.4;i@TNWIm8!fAc:"&qRVoEW9tnR81TT[@Z6[.0h^ -%?oQGn(fM[r*AKNF)\5Vl!cuV3"@sp6!*"YR!5!.^%A9au,i.cMmE+05S(C*[k&(@kbfYN)g(Jo:mU59D:]k.U76KH\Lh9@Zo6=9e -%Ite;pTFfbA]1X7kWd)ne5!<;l0h_7T=rRd*?bfW0?=k@3i*S-CCf[Y!4ZpW`M`'gO(6)hj)n4^.?m#KPk/UA3 -%YPOdMd,VtC2?^;Y@+jgSO'8G5/.6600O"U41T6C9()LP=I(i?c1[9 -%/6QRskXGc])=gZl3?22.:83@d;U%K7E\G@$\]PU1qHg'XI2il"KroS;M>jQPC+GcAnsgM]Ys>*#C#-"5)kXt4q6!Nlr#Kf6s6bq$ -%2\X=hq/N;,i8%5kKB'nO16>1aG1s^=A;+k,nKQ>7k"tin;ZJIOR@CF/0F:iIcI74b.n,q;M]C^aK6H1Y9X81S8Ji]mpShN`BFjBo -%?B@p7'F<-jW;j*hp#m4hkV[N-%#m]Yhu*F=R,HaY>m9--pGNiaAI$sY/a#.Je`=u%=C,Nl%C7`a"_"W5kt"$979aI@$0?.Pm\+B\ -%cl3]-B;L<0769/B[djF]Bnpt>8h$p^N2G^s>ME6VU4+JoUPTJ(="4TRX!m6i!/5XNDpn3rpe*@FKf)u!c%>2u?4It'DE\q4!9!$/ -%(c7>6n27Ji#KL+tV?`3%Z8U8CVrGpW#9ZM!D3>!m_V=NZF!5nt4=Te@C7?a-;]:QPOP3=RhpMcEGF[Y=?J(rgk>+-hF3Uo#JEtAA -%7',Hh;X/eam'@XTb!fJnIo?58!I#W2pj+)@,W]:4Ka&;i)7>+69f"LkN5W%c"Ii,T8jP6m;bnI/nLL)#beiT*9d>f2nRUh0:ehVt -%g1=KQ@W:k1?LL^C+UA1?N\Xn>Fqt*NI-;[@A:4Mj>o54Y\LU6'm5f;AF"mj>"<'>iOj>2Agn&//$k.qbQ*PUH9&-mS9?f9ERAYD0 -%g,kE7+RDZ=L\88KIUEIRkDMHEI+Q*<)4kMuj/Uc]WW?7&;U1&sEUUZ10039IbhN?#6:;C8f[q+B)GZ#XUKuJD/<#E5\#nj=Mr?%M -%/&gN8mKtD;h!/U(#cg9\XlkeW]/(/jnY)-hq -%71XNWKM4Bb$=u;B'C3o;+3AM+p'UT1`l>pZX],p:=`K20OE<5I*<#3F%NELAf_-o0*Yl5$d*Q63ZB?pUmpq5VWr-!T4VP3@[KK[' -%^+``(p$,&!AW$)W+6j=.IG8kt5sce1\.4YF3S2A"@3\PR>J+t<,#4oE1hZa6.eukt@Xao=[Rf=T]fBmiV7CEt.^B[pOj$B/+_B$% -%`?"][Di)0FG@s;g^.(me\MbW]d.B[(hcu\&Wq/7L7_[>8AK9>/hd:f"uQobSWe$'N9YD -%^J(0H4so59=@O)?I3k(M+qhnjYKS"&8[Wj,%#fuX_8dheUf.brX=t0sr$3;t,na7j3or:rQL(")<7LF&p1><`UcETN/W(9= -%:UkOY*0+?i%Qu-gXA7Z,Tm9YDR>kkmL:VQ0G2eahMGLqa]%KHd^iA:t2iNcL<)1\0XFopXDl-r,EYdf`H40mLPFdpD4KbN=Xj0Rs -%S_]aOFsM3E,l5,d_i6HSMQ4&kB7.l^YussYqq9pS%>GfAP$^pAIDh$C9@bK0=nhf*a>&:YA?Ap]J.u7C7H-e=`j9.DB`CYQs:l[#UAhs0'HNB`%lBH2=rtL -%Q46Rm>?$B-.X9Ss\6AWE?+=)p-#&5#bWp!Q6^=Lp`.Rt(maar([far0_NA,ZnY-fDVK@7=UDH*h7T2uZ@ZAqj*.I/O9Q>_aagcJR -%(dj771tW-p7O/bQSbA:H2IUpU]aYJ[A"sKZ:C@NLXaS.Yt'"&)*+MpW.San*YkU^E\4LM#mP,)M,3;?\:7khao9\ggYUE%$sO'-,ts6L[KJ!`R+,_\_57A6aY;RN3KDc7Rl2\W]/rOV%*l -%:R;&PeU4Jr$mO_F&.B:9lArq"ObDT_P&BRV_JdBI-`.$kkJ!U>aRQRnBccl=N();9 -%!=,TD3QVa]8C`q:Zm`BN(E?.9"'d]rF;]#[5YiWig3s\eK_upb5^8Vjqh#dmkJ4'[P -%R<#/<7b?2ThG99?4(/UcLEuf)&*?BHd2gDhe*5Q?q:Jli_%(6a#Pp -%@k3iHi/]09KOjdQL6Y-jr6qGOJ1k,QYmGM]_-5@-u7@!+SAg8';72pE%]h)/jimN*!l)U^i;\b>e4XBVrjar*.(pDLpKS/@t@]*Xa17([c&5fBJ("G)28ik -%r=VP/PBtAE!._G3%-UV-KD6WZA+\dUF1'0(X]N6X.Vt9Saphf?3=-1M:X$i1UJ:R^9laHfqRTu&,jM>)S:=5e7/1mXE9LF(=X0/# -%Whqq>*c.)2'U[MJJI&L+;;+WhT/P1EI]9.:#lC,!G%=Zs`R1PW(iP/i/g?q+c>_+B:+#:.PFL^g6W9?fFcb2M\%UC7K=l-<91SP" -%odb0IqRIZ_!m>=s;A-'mcg$;6`E#P3L:9dUa/[G[M!+Si'.WPR)ViPd8"nh!l^EKdP=R6h/op\`!D`&'+n1.1J:B*B1uD#8;;=@c -%cAVENK*Vak=ho_JlFpGjj#H4.?r&Z?8kH"f\-ro8?04YkRMkIJ+pRAS!KDn=<94eMfQLU@QlEot9lN.TZ$2_neklf[]eFaZl\9TAK_CX3pfJ8DOb&3TQnke4#G11N@Y-iWrRDQ\IHfpdAUl$pI"JPS4q.[ -%C9(.lOi4R`49LLh#oH@3+l)I:&^Wb%N^MM;GCP#EY^]1nGRmR9:c6sFQF4T_02tk=Ud*2.C0I\9c?4kN(;Z!.K@%=;`8sYAT6?C! -%n1%6b1_Yb61TKg!3b*`,*F"K0,MkkE3F;de2g)46""SaZ'##BRLW7"'1eLQlbe?e*%8Pp6 -%:1_^0LI9Y=cBT/XAX2QuAS-cj3jt<"LQmtq_s5&3eBc">MM=M1YoC9l!f4RFmL!2k)>#?A->[Km;3-l)CS^Xgakf_/G9)fPrl@U* -%^]$MAN\_6eN]d8"LL8F#U]9i.:Oi&82U[ZRs8:,+rnpS$ -%o7Prui8=IPrmuXGNGqW7ro<%RrBChI5CR8fro1iqom`kM5C;27hu'>L]>'CtdE]iK7DFU>i^0%c8V"r.<%6)%1NG2j60rFX3P!Pt -%"_@D0k08LV':OBE*D&k5$]^TaHC$LlAO!Vc\^l?6Xp]Yd@$?fub[K$q"^0p0+22KQ&(a1d83dQ,i,uQBM9:I/SA?9hl#Q9A3lC<# -%/?kW`(f?0M4[4-SfEc[98"pp$T@o4E&=J0*o(Y$mI"BW6hP\[>@BG2fX)eB_HoYjTB/OBo5Q2V.']lRE,;T"cF*Y;l9%U5BaCR.4 -%k4&@(JjO[HBI,p?1g_Zf7qBdI2tiM':*:Tg+.h*.i2PW4N1Lf?UI>Pj%=f3<[7k)"#u>@rW&jtd\-L/\O1#_VgQ6CIVl7-]-CV,U -%[`/\S:t5fiD9:FG5]cY3FnSV?keE$A[ubSS(a@a82o@"l3otV+nogX]m"4?ESUK5YG^mAh)TJ'8#s$k69YLRdg%)&'o#E<;,&TB% -%2s];;X^qL'C_pLfdirPQFr#C-Db&@85W*O`=r%#q*LN^hE&*S99H(quigZCk8Q4Ou[EOrp,BhJ'JuJ)CJH`oD -%0A%_+5+N[6!REJ8Y!#*]AEo`-@J#T,0Wr=+A?];I0QqOTKL@S".$I2H8nsa"Mj)hh.PB4$gH1Mbk_GD&#H;@KM1\IlX:YR!1`=F+ -%pts1DlHs)(CF`O/C-+/uc[[X;u`m4^KQgKLOn^jCFN[':"cGC[2Dmtn6m3DEICmMU#($Q=GV3K\np -%Yim@\l:HSWB8(+)_.Y]6U_:.R@f$DI,Cj8=`^S2$Jn/ckcW+P*Xe*i-bR%>N!j>9rjXI#p/fg%b]eBK]pgnj.hKnaL\:DUYNt[%f -%E^aRnXj#MD)!p+Jn=ACE(8V4NRrB[*19BE`n1md29Gak:(_??j,l.d9bXc-F]'_XQYYV\N$qmP>5#t3/3^Vi\NP>UP)IY;!KN,e*Ve-pN('p8V45&S>#!+$V@2:%ABJ-'d6_?ubV9;`1J56srb5s3@!#eBNi_ -%0CH1W0IPTQSOao(cFSQjaWZm0oUL7Nhj+Cc@'$0[m>'?Em(JKV(dsN12%/Q&"Ej3+:=EIOieu^b'N[aR]JFG#cMhsNYu=dZDF/;# -%0d?=t#56WDL"q3"[WNdCkA[efX!)90JNu*h%/!K9M]\&&:q,T,cL97tJK8rn'SLgg;cVi)MV?idI$^J4<%GpO+Q_O8iCsnFZn2!; -%_8fAM!)L#TnI63,g1m>lMT:lKalt(^1jTt\$QW4A:*8/p]Urk]FdK5*=;Id8AZr70ndZZAnAH\=^'N*mrGjc0bCXGCF#3i--D&-ckE\!r1 -%_V5)H2$H:c-^o8K<7d%Z47`p5Hr/ap#$hgR.LGP?;RIFJ8lK'+nNU?$*kG3U*Yf*.b$]R"aBjirT:_@hl`iu^Hr^[#6C2[\"XK$i -%g@,GS[j&PB"jG88h,E/f,>41?N6,\dLM=*"7VB2\/@$u:%eh2k^F)/\V_^,TWEoVu@o=7Xd*N"Bh82 -%c'WDpC@7,FX&TU>M*U%bgS`+K6?oJ]rV2']TUn,)@k*[M8[d(;HpsqEn@01M7Lu).-?Lc9IH*B;HH$sA.naNOJQTQ@mNRT%JGD7N -%H?%O''\S[*a_;hHDt-\!8NL"FX^_A">f-QmZ5/IA8,i>um>nAi`Ca3q%U((3.-7-@7m+*uT]+=S?.73@.Sbcd^ZDAIYW9;@-a>*k -%E.HT0E#8L^i5Q\A*2T^Gl"Di`6A-W@=g^E=;Hg.MNEkHA)l$iVNSuIpV1f[s(`us<4S$/Cfk&.p9#BG+)9"m*V2FNX)jU3mILK*Y -%BlDh1H2:=Df*Ibf)kub8MEhih'NEq\W1!1p\!pH<>*M/>B]@P[O\2jIaE;RNm*V9h5?6>HbR,Mj?2GE1E%9]$MnoBN9@bH!()gn#&d,TIlgigVlhYZ@06o-P\@?4Osf:>lC^8$e*FBEY0`'O&e\M/"_ublC(ZiOH)Z>q6[IYZn'FeRCI8Nuu78'p(N*19\f;*B8=CSh;5.NEJ$]]lf.^ -%SaQY2FPs4."DtZbljY_/0Q?S?+C.!%_,c\r:lMlmHituD*bu*(rb;c]J,],ug)U(TYCH)#T76UuB-7-P=$QZ:5CE'\?[jJRqVe1M -%e/m5>%j)l*THbn/P]jb0lbtFQ'@qqOYrR3a+"PjhZ0fH\J,b-cl,M%doV'k^"r54S% -%If/C/!Gg]0r7s#Uod0SXn)sGWD(dL>fdRcO?-clF>C:)R^\aFHgGefNp\4*2qAir9)\;G@X*FB6HN3S`pFC[\PQ#39Lk!FGnma=! -%@EK]&@g709d\[ZeL?V($fokFo.YO7Q;#SU$4`JgEi]BV$/5CY(0aSpr#UNY!PR@]%emf_4J;"H9(nt%7V,s1:+k0[_Y"*2#nE>3D -%`M.6I,$)P-5OU`4DfpVs5,SW*7`=kQGehI0Wu?\iV8V`XHM:EZd_gpllrBrRUqMCqf0!Fq?=@nBbuuh18GVst='bmX4['p>Qp4W\ -%\Y27[GJF+tIs4(_c=;85A6;!$s'P3_GB\OE_(X3Ip4[*lbaJ30!qROUPYXqjd-13XqLM;r%goVq_E4I/U/#=g:J.m8`2=6;s-DHt -%,BBU[X&V8,Q(?0oMf0TOC$OD3rX\bc,]Jr"n0f:H3;[;+rWPEWt#8i:hVqT=;D48e=/i"*$MHJadc`_uI# -%&ZAjQ;U.[fV/][2+-0jUn71^;7t0g<27[DHI-5E<[6;lfXti3,YU1\NeI,e"Zg>!5cT/mV -%-BCYuC%Be2r/:>:QM-9]luCM>Ua_$T$1(ANBtp**^]8nYV:$/,DQA?+F(W6.C"q+liWbA&V*3c[Q[jKI9[9d+>[*,afh2^YdeLu+ -%_nUg^lf6O4k$h:+f@,Y5J=W#2k7A7Ka<)0BLa1]2ZK9 -%j^Ug`#nkFaT;V50c_#!V0s=nLg#h7(]rWG:Q_tFBi)lV$*C`=6nZHR*oXn/+1%bIkDdBes1W@MJ%Y9a34EGQAqE64p?`PpUTt5[N -%S[^c+n0@D>nP^%O^mld5/Mfg0%/[PD`hoaGL:4-K@K<0RIa772ZZ(@=$G+703))O6g2/tMFRRjH]s_kQR,1'j4jtLEmVH5IhWm2= -%r/##Lo,0f7F8aJOBmb2UG!F[GM"a"J^TjVLIklA)n7+^sJP=:F3NZj;NQ\25O(Mgh2=52d4@<5V&8c4Ga.A7UT(QafVq5P@pK;%q -%^#TlfS7lI9UYAc3*pLC<-sf+.)<.*To4)\co&]7,/l$f\V_pX:q((nI#=1cMSh1%qHdeBo([W"ROnSEqTPg[0$e!@PJ!E3>Y?Spnq@C9V_tCP".JT\t*[:XAb+fWNJo'*[O=)jGtHoq'@RgM,b`g:b]mPuE\Z -%jD?/`N9b>\@*6A7hYsG)p3ka7e@)`W!d!;OEUi9ag*784(Y)]ZoHstX(:QY1eRbr7D9'@iPUFp.5"FPIple9::K&J:Y?*li8fZq*%ir#[;;J'SP(IkN9f2NG*I>MW]fVO?G>O@5/m'g -%2imu7-Y&PW&Xk`kc*efZ#Yk78J,#4p/oO+*bY/DEX=sK1P16V0p2V-oXCf@B5oSl@)Uis_h&'Tdfug=_ptGKrAgr6LMO7g;dEmu; -%Xms@rOj*lj!8$V_g7Q[*l'mYt7s7!@[d-ace(Z_VD<0VMG!e"gs#1qQJ589"kCHmU -%JDEU-Or/jnnbtB?^pNTn5/$b.RK2Lj%ZK53.Q>3L4jU3.3!M>!Gn7_p24e0BK5_IN6lTI`a05VLI.CMTTAKR:(&fS0&fSeoC7t\f -%mY1J)2qVt=a1"1XRHA'FYDQBHCKTp5%5jMf9RFUS)6YuQk-G#V78=/5@e`R>09$mfcm>_U?1,?2d19Ss:i!cAM>8"Gg3!/` -%+1^Y,LHgVTr.dL>:X/td$-lLLURUOGot)o3&0rl+=-*r*7Fq]k4II!d!LX3Xm5D -%\X-dY31lt@^bVr^bd0./:g:S5"9)"X,0I?,"kq;,Ysi-/&O+9\4\5_9p:@n8Yh0M_e739-@<3hKjMX$QTRX+9]D=D042.M7ho^/H -%W'<2hd1:`tf8lP%ZA.VGf5iX\D(#1.;DR_0=PnJ?qNft&qsIJAJ#E.OIHl1J;W"oQIIA3A>P=u`]fUZB^$49pVXM2OIG\>p -%qsR,6In0>OgQ0p.%XrF+a\dAh#Pn)38:4>.fX`;r3qA75$i4:7]'8nh5c3+G\s.:]=0LRCa3@::aFCg(ADZV#D]t'6iro6p1Q!96 -%i&#&mlB7Ngg2G5DnPh-7CMQj/ULTO2IBZN=SY9luMZiAu<$jM?lYPcis>$u0o -%*j5Xs*3N4=XV[XnTWbb\odl9*6JV]%8ore,9kTh@R;NXaZ`:_%Upf^:;/c<_kpiR8b*s*_KBgGeII'"nOQs&_R/<$N7[K;*he9cJ -%SQF#C3>$RKCiXQ@AhN?KaN#h,a(VY&j`A);@Cr5o42g=AIEs*pbn44t.JR8e0BU2QA4urV,tcC='nVp>jTpdsm)B+Q/qo_E@BVQ* -%*=Z)Dsi8kQO?GfeXb#OkDW-mtton/f1U5=Oqq=ZZVtq"u[p-8mJ<\]Fr>^(XI8j-].7_4?_`:$=ajVd4::K -%nk'#&4jr'O7)`lKIX*1AEDClZE&[>YO"Cu5p53H$F&T-W\02^IaiXnsc[G@TB($!+2O0C_[MB6jl6'4P$.)$Sn78MN9A5X1=DP(8 -%lHB2Tu`'#oO,aX,Rr5Tm&K%MT@WGr3&BZ7VM0=h<4sfh_8f**&N'iRo>u#*o6=[VtJ8BnHjFI!@FNoGqhH!-\6r)h,CW_`oOB[=FaMV>E3#$'**M4N87BR>b -%Gm)=PE_EO`gf`hJ15I'f'c3[HlRXdMC4J36o3\OJAWq64if+po`ZaZaECpiAHNts[J\dE,Y&7f3WfT.LA%>L_O0<6E0)q+O4f`eR -%^?\bTG=q"Qk`d^Q5*,a'MmdM);pJ4VP.)qr/a(m2fE^%F"DGPMLi_Fm"DHCVo&[?[6&KWdUa^`>g&`<_MLEK1C+g$FZ1"STY -%Zouk[<%&"kG\VB@-Yu"H#CM\&J>X(+\ZYHN?X3A$+^3\]">6R.S'Y5"3lj-E0?BANf=4]_VF"0(U@"&YZL?JGBU#L9IT)$?@pLe# -%_tt^DE@q3]A8HZ9T2ah12`nrfSaq!Os0/tR3ItRk6C6^/@(P7.,,JL*\\r7o8uci&4Gbn7-/ru8$aBu2[Na6R6!8COdCIo3$Ib&' -%#te[9-_8_0@ouB+WZ*aG-WfBXnINr]D`q/oc?/[[Ajp'MYS7%])o$K>np,)-]GRSdD` -%9?Stc_pZgBa!VVDClMBA0=WoW7;tm4=3G2I4ph2*Y&T_0eSeiGYL-8j`Wa26)SN,j.2BFI2V!^KTeog#S+kL5]^M(O$O0AJ+Ss,- -%;>RlC1WV!k.:a:R"N_ -%1m7Qf/Kp2Be;5(D,2ab8R_o?W:g4l@Sp%$Z!"W/l@bPm6&=X?(s/ru/6G]=Y6i!3Iq/OOL,`ZGjQBM@%J -%%kK%[?`)nUVr$2W71rOAg%[rGeTqf!;JDG6;TiWR5pA:W<%[9:n>Ii!LMXNGtQ>3'`4Qo`dPf-,Me'g;CA,'\lh7O(jH?_ScoD -%r^s=NB0'2^mK-"H`6.Csm+ttY8Z.AM8jT5@EKN'mjFFsXT)&f42QVo0df?m^p -%@ia=-*WsS='qRN-2%`i%Is,?hlbTt>@PrM4G#3SIQ!8P$QJU)USc*S%NNnCg(O7=r -%YYL=c&':nJQ!Q%g"-'Ao/F*T/"I^(dBEJfBkMl"tpAq.O&?$#4ID9eo\V-]!@qjC&3a&gk'Y@(*4;j9k"C)qT'rW>"*gK$O7*&hA -%1,MY+0.h"ZI@`\QoE<%D$\\V#>=PSkjQLW]S+<6?)SgQpZ@e5amND>qe%X1-4c9DMX`9Mf7nUQcFWmoI0,',S.27#_379eKe]^!P -%$@2gsdMm*.3?bOMle*=9H7-EhdYou:-'7hc<=27JV2aLBh?EgDWuWoCgG8QBWu(Vsco?q#&g+*\Ka`2PDictCV/92d/()FpN#\/_ -%5/C,ZDX"@gGWRmgC;AB:(b<([YJ=F\^*a\JFfWi9>Z*ClgIBgR:N)6b,;VuQ'olos;rVdfQ*'@gSKEgMY@^?^7^VJNd>46`=p*&c -%;=shJQt?nVibbB#B*RPZPoK(Ge]:T@.O66ZbFPoeLumm@PN8<$)]SL^`4S.q4E;*@f!@`;5I+j@r/o+DaWFeT#M')[.;!K9jtAP% -%ntAU!Ar$Z>8k>LBQNg[1Q$D%u1kC9]gZB3G%Zi&NdO`2]6V*7dfIIOW#anjI@sDc2cL!,VmR57l+2%j't-@6*NA]59_L("dh.EqGm&W>RL^j'c;4rSgR&q -%(!+h^F'OJb(DMoch&`?m#6eE_.`.S=!MO"`[k!e%_-E7jPrE)_MC>GmL*'.se/p,MPiS)@LmpOVa@Xah[$o6MP1gY5@I-d/MhI-h -%2f*3*N/uEY$t1,]^!`faqar^t;#sjl.0pR280*u;oR\#^#WKL$;/)8 -%iHESk/.)[6PNuG%Uk%uk`^P$JcnY5EU#\LkV?HVR -%PF1DJnaApUJp, -%%J14&Peb9mXR*+E_1,p,SP:i5((2?/njJY>LJ]k3&!MW_nWgnB#m0+\R]75q`f@N%`_^W+kaqNfI7u[Td]f1qOneI!cJMD%VPg+" -%7W=m++b#&'J)>/c#11J%<`iu_Bf3aip(1\T`]Q+rKOa7jp-k^K2b*brh"j3'BKtck?eCZ[lE93A`V1:2M_5C-9'fAThmW'RDP%LlBQe;f'T$+^4Mic"9Z2i6H:?,L`Qd6JFB5\3#,J5,ju%#Kg6\VNO_).P%_6u1%inp1%`TXgJ98,Ys5-$`7ASQH69f)Kj3enMFgk59DF"e(\8J#tlCq!)@t?WNm6MCR!mh31QJ-+Ak1MO#>IMY%f^f7b+A/JA -%S>PqTV"LO(GShqNQ*W!4!?*[b"#;W'Qm -%FY9;Z[>[e<42jVtDo/TW:0?1dJ;pp&C-lg;"N8C:;X42Z6aY>R[O'Dt=JmFaZ[/456B8S&m+=mGKZ)*DdRfl%7,LHdY>T=el_edgKf4X*NG`VP]Tp4ZK-[fOcY2+ANjS"Ht\Dml\Vaq[j:GX_K -%\:Ni'6l@&*L2C#EAlk"lZpC1KONf#d;.PM=)("#gr2n6kbZ>kI?'!K@hB!`;RD5l`0$'^`_7`O&TXJ@Sr^dYfnIV6MaE2]aF]\f8-mH`Z6tjd!hXp`deCk:igR9K)%KcU^47[OC:rg]THGHo#*,56FA.?_qoXaM;/0!r]j+/j5s+iY_N&-5Q2Ph[Ndm)=AWk+L'Xa#AYQ..NF98:lglXWM%&gbr -%P.VJTQ\9h6WY"@P??(/S#=[GRrH_gPI_!KoB]a@^O)>Y3p?NVUQF*ij?V%DHL5A`_%+RC'cP:s6$Sl`LeSkS[&n6),Qo"3].(GP= -%1Le.Mf!X/bjbZ6(h#fltTP7=c.]OkY"eULg)Zl*6^J.<80",,5+L#"'X)KXB+=_"s5q(,/=;PoWNiM;e8qX0)EpgH2kRTTCW8ae4 -%C;9]ci@&XBaSUE7?#I^`B?(J3M>Z-T4DVT]d9bq4j?`J$'\'R:K]4fcSo!f](aE>kIiBj*P52_@8 -%YnFNU!D#'C=TY)Wj*%XURuf$SY4ACW^2WU7&h_/4@2H7pYYg9k\3+=,D'%b?oRKc,-,*CVc"@8+lD^<1H\fkNd8"3eB8k0Tr:Gs2Z-G9B7!ujP!]9n3fd,(PXiU,fBc=# -%0osfs1Jq5i%_-I6*Y\VRQeQ.OX'nL`A)>*k>ZL< -%8+[2`AUPTtA:gmm]&;AqR"\gId)5.*eT`=2k38RbL&*bKR=B$YmC-aRWDO7XD]3050P$e\dp,:6qPsrJi\=*3Q-#6F`gI3^=!s&- -%pkFHq5+Z>?'7hk<&S),,,NMOX^*YS=1l-"CcESHG-al%m:un*bCXqb)iL+X'[2u4hFF[FNIH?N0_'OGbC:3`9YsdkmYQ;oXE_'ApX8CBE;WuI'#YQ#!6!&Fg350Da0A`l*(jM8VNXXBU-L/8+_r$jBrIEd*@4 -%Y!ia27eCu[#^\@W5am]K&=hdH.dLei.63mGJm2^BC)VPXnFYN4jd4?OAn4'K4;AoppCSUV$>ha;A@BeJ.EcQ/6>5l&ld\Bm#j)Bp0F'D]Zh[PTG'40C\oB4PoR=W&6>5\9#Q,-JJRmYft][qgUYTLmi` -%3MoK9aMWS!OboXT'ib*obnh$bMDVt0JcMfppdMC/aqa$BClTH5n2ci]6ag&:trido/cM#rP2!Um?D3N,3':8N-1Bq -%PI+YeKTR(7AV4:N0eC&9H.m&6N^cOUF'#'>ZcFpR%L$1N7$[>LAhg=ZeLFIuqLc,u]L8`ps2+3^YY.PdCcIOf(18PR:VnTMKh;BL6WF41/E'$+"XU -%$&.&1n+]o0C\E?"5,luZCnd,H`OG^GAFlp!H/C!W6_6-9)j`0+72E_qJLB3dd*@.c=Y6'I8.s,-J=;3)9qndsU4tgH8Olr4 -%7lMWN0f'UDJ3qiB?hE*?ES]^-P:@L!S1KmiZSf'nQ]\eBEVbd;2q/u1s)Xeqh.>>C%Mb^'9-MgW^Uh>k,8;jo:FEK]cIJNN/Y*8`+> -%C8FeSd%B?Km;r9-d5g3-J50cR2g+[!:DSkGQ**BYk3;:IUP'FB44soINt(41>Ucr/,,2ZA!$qVf8/$.fhp@'4'OhdK0=X:EkuG(% -%A_pf/!ZqCp12oK]F>G3e*8=fcS`iQ0A9Kd]qN6diFB-\k&X% -%YC=P?Z,W1G>TI$.EsdjLt"`'%qC3_h+/R_iJLHQ8pd"J(*H#O=F@_i$#kZ#cq0+CKPY[gUuj76(o5haZWBVN%A& -%!U,iID`O$?b`G9c?FCSJ3I6P6K!Ebt/#Lk4Y@b5FFm,`$OI:uD-3nc/ -%RGUXBFL+@-lC;GSR!gB8?q5<1(]oLDCU&\,_3BN0jGf8m2#AbE4=bA/AfPQ465J(0-!e,u?H?K#N)"RbPAQLCFQE"3ckh27PN(^TPQ. -%\STpuQ,PmAD`!9@.AQB2,U9q3p?FCB=`Q1t."\D6,#LpFVM!D?]\W3@c&J_YmP=3_,:uUAGZmjl7 -%r,8<#gemm'EZI`<*PrQ"dRhAX#5@8FQ4!/tLcG!: -%\pVA0bj.8A'un+#*X.SK(_EmVFCq2T@2)Be@FC9K$7%TYIiIF^"ZEWilt$'CBUu53ajK0A:>U6r.2G(+_,g%=j>?LgQbZWG -%F@,]96nR^)$:(%Y";`nu'S=VbQNH]3`D17m(20QJV`0GZo5aW#X;hPmb0PI/OT?9\X4*%>f+QGn=Go;U(3R%!E@UGS,`eAWP=A`B -%:L]8kJ@sHo;ef5&\3r596*C814#]39o]te$3B\6L9\%+B;)cecBhe;R:6MF76e12=]Z`rn*s5uPMS`%IqQd=W;'Ne<\SZN@e"K_Z -%X1l^+>+6X_bdtIPl5:12"+]L;ITS1k,U;QSkSg[AD6<-pWZ[-lYrKUV4Gl.p+tp:UHnict.e;-ls7.gPdN,T^Gq!:rbk!@g<*mfG -%bZ.%p[_e'dB_n;Oh4o;%"M"#KI_XKSZn9tPF2$b+(RpPon9b_E7;lhL`X1CapU]1F97jl+)c]9t\HZhs3'#]N4HU8T -%\]f8g'S+lCaq?8<(\SN,Fm=gLMap>"n]D`BZ9X3*\%13Pqg)?4WCI!qjad%T:r4jGj>_a8r^SD$B_e?'CmQHnWSF`<*h2V[bi\FJJ\5R']RgFLIabMdsV`m#eIZ5=:X?4 -%rWe9Gi*CdB.>X@smiqu*0.$ekf09Q"L+M;Z6!AWQjd,!OgJBBY'5)ufG(P3.NQVk_ndKK -%mHeG71Pal\)16N9j2X?3/bQ<^rpf0t^\RGe^\mb#mGd;O*ktP!ed,pgKm#;lP^%;sU4L"b7WU@6fFSCu!.AUBnZ?"\*U3"M7cH0$ -%]VM=u7V-5F]ZFF8i$Kl<&t`=nqd)P:o>0sC)69KlYCCAbcf-gct@A<#]2b43aZ0-[f+AB_YkTD.M5c[kf2KDCo%oJ:s?a>;Q?_q78@ -%4p"BPG6a(j5BLa\/oDj2@E/+[[ntHD!"NIRfZ'^D^\%PR[8(-/q6Sab_ZPgHgL@bnkNbe4[4%db])/0B1s-1_P;8_pmZiU+MtssQ -%;31*N/XO!O)YQ'!O-rmqAW./XeGq4dEdfO[-k;TOn#EXDd\m2hHP`#m7P4)d5gdi&=m7iuA'OSaphC.r\TEL9"@)[oD@d%14G&M/ -%TmB2tq:]l6pBcN0I0[eThRZ-,Xad'DIl9q))!1.K -%DFJBc:[EC=kK>ripjLoe1&CJIY7p[^._-/b.sDc8oo=rOB$`K'SlN./HbH]`d<=o,o@N]^5JfCpnHUfmJ^20JSb=90R.HTrCgA?n -%.4FOoggQ.u3qdmLb3-E.=].ZZY*nis`5t0WF0Y6_TR*%/Hhq9[HUrp>lIb:135>&qY:&:i).Uo2CO-0=6"eZeANs'\QP!f,BB,!a -%?=&V!7iNk!c)dp3('h^!AU,2fYb/6])C7kOQ]Z,,Zb89V4hF&AD)DS3=3-bQ&:>r,9`'dMos<&gb5Lu=eNdp1m0HkEaH$;Xi9dPG;2Huf`m:00f)"]jRohm$@mO&( -%$_t"25@!NcO<*'W+rqoljKH=:LpP_L@&i@K_3\-M=tmi8UXJ%+SpS2]$:d(:Gig`@+<\BfW/)2W&SCCAd73qJo.T[E$_%#=_54uE -%C>k7(A-AOHW0Q]MimYm/>LL>^tYrrob -%%kco.8Z8)_3'K=,*-_3+nutKZX4^.qNnGn.!cb(B`#L]+U&ZK(t%fBp@7SD[IH'IW:flDZ_8-(f"^#gs4,(^.Ipepq0V8;IV]n.s7i:8 -%pr=J(,_?JO$NBO0!Y'MNI]u$'8GH7Nq#/Zcs7rSmn9C`nqs!"P:#7%+f:lQY\otH3eI?0TLmq3c^AmZjS$`Xd^!j;fk,E#+eIMIH -%<#cdm>Xias_5LPLlfpkn39Q.^H]=u)(U@N&WQIHE80po;a5tVsWRUg,I$kWs7k3p4:oCPu<:#N3YtaXlPYRuiO@r-`7*^0r-:tiP -%iq3SCR2N+js.$L\DSe<#]o]1+YQt&s+#>t/_@o8o=LtXlI",d$gKK@J@n3b6>#*+B5/,:OU0RgF*4n85bQuAXB;:flO7@oKd#K`a -%k8UH_9:fjjnaieqaDC.oQAnDtG`!dY`^O'EDl8E+\,Q(8_@7h-&t5;&)D1\&/40&RS@(13gU,S#"[%F<$q=_+\i>K3bHip/r%[pO -%M);SP*kO4Z7X[WSa!JXB@In'dD1DW)@$2G:g4u5@`fr:l6[joqlQSGd=Q:^Y-s81e'j(9`n``LL`h%tRAd=4e65`@g>pTY7U -%\%(T?j&c%k`h)Pc?Mpt2FNNuFaC7Bi0,W[:.8N^L1>b:5D1D$.\$gEVcFBg\ZV\ho4/[!S3ou_YJ&blo)"Lmi1B;MhW/$!^3sB9] -%8Y62H`jkO"g$Y9b]rmfMubK>:U)U;@g5'hG'@^QCF=]b2>&G2$DcbY.0RW! -%rLJk+c#FmD7!T2!4G)NUgV1=A7/K:II6=j,$jI]#N@kDDYb_+BT5V^bLdh=F&sYDH2rGN[?I.VRnY1QnPO6o!\qOWAK]Y%M8AtE> -%O-Cb1]bN:G)B)4C6]um(]1fXYT,*%5:286f>>^L]T01(W^@Q[(Ii`d[chk.C2+s]K?f'VS^%S$'?DqM&)-ccFb5iN-ATQ@i<\E54 -%m6?);0>S=nF(R'sp/]*Ro/L>BJa'M'b?r7*/i7JMJ%iDo7WR7b\##G#"5J'1V(Ps]2h<2SAb,\4U:TdN\lbTD)0P;=*e+n\>p&4H -%:1WX4E>(:Wq#HuDo;pF]q>=`PT!?J;R<]k31-9sUkH>upW'iiJ(pFhNoA[p=YPcIu..7bFR&+D,$]rEb\XmHoaHQ+cHe9]UM)bJ` -%WdPqVbQHIl>pGm6N[rH?]!@-]^li^idj;Snb@muqC.,fPq@`,Eq1uI7??.8325_u!l:iaWm)Voga01M1n"/ealM-.):B12M^\[Ha -%Vn`$"2o#4.gCpU4W&_g/e2Ub#[(UA-DJMAN))[iUa7"LK2'SmaL[>u;i%NgJNGS)mYKZ(=+HhYQGAB\S$!##W3''q^W$LR6C_-CQ -%n]jr.`F'm8CO^IS5EE1lD]\pC75$a=UIH.5n9.0\-@bA(rkq"d%T,.m@uXUabH$-??);GcnYY=)2KejI)J[n(rZ$FTJb`"$l,rCa -%J+IAFg%>.]62r-%8`ksM6J!JD\GeGdqV:=`V4R>gq=aW4KPs:XIJq1fDuSt@T0Br8h-^*Pf:W)tJ,/3Xhu):`J+Y:JoY[:(51nc\ -%DaOg-1os;E]<-DmD`ma'AD#8H -%p5[RgjW(D3pBr?\P:)_)F2NgU$Fhd%i!M,IZ8.k^Tk(XYS.4j*[JO:_aC>m-+JY5kjQ3P&/I0>6\jej&k?GI_kC1a]pQN:]L!Sr_ -%M]'^X+(iP$O=tplPUEo!aR>Qi:tpuf!;LTWAu$\"2o&NH$tgTONfA)0MRLE?%o$=LNG?q[^1#iLN63[V3P]dBk9sD\)HF6/4#gj. -%ll#ACWjbprq2&34)e#RWlU#s6Y[PP,@X7TMJ:PMfTNhB3JC5m7N]eS"AoC1YTfj9W&SnGX<-Eb%kfdaC$_GH&TR2bt\2J!o].`lZ -%X>2aPp)'FjiNf'p5/Z6FN]%D&Sf%#$V.bjP(*:p_o1ZnX]i$f;F-H`F-0q)&>&^NrDI.5Xo[` -%3#P9@m?(UQi[T]MA.lHA5t7]Fo8G6!0",f@8>A2=:oeNq':LgcKRWg[C`\/ksUmgR[7g.:!1;?dH5/tWa3*FeJ*kC)KH=_q:qQQ!0!d1d95t9(Oe(*i`MmnI%WB:W:N6h6;g!:," -%@IH^53tIsU)$M3(.OUhC*YLV5SSV-AY7Q]XrCl>Xq(M*>og\>E"=AD*[B5LbRci<97)j]g]TA!S!Hc*.?l6FJn[n$]_m'0eH -%XTMEZ@tJ%4;;r(s7in=$/DrPG';<'k\K+!#FU&mk8]>997BR?X%-oqQd3kV.3Yqc`EioG4, -%XB(=@UPea"=K(kKAl-[=]a('U==q0qLjgJ*F.t@YO8RVr7$?^IQ)d\CDS,=<+:++=niKTCcf.uSmPptpn\X&dr3!l*NKNN?m2]Xi -%/`_9=kKnsRl^?j02=gd^]l+:AlT!3(!)'+rY3:\#'ub1g:_$#=V-TTTf5=KL"Y9ol'M(Ih8:i#teElN%42gL0H?L&8plGa$WJ]nm -%:/k,V/u0]5Zpcb\X[l(,8NDWjWkA/DNaIu?kJ`^AjM@gQ'0H/"]B?K3ZSu8\@DN>[:S0h!n%\o&qnF4(Qo6]21[>u6s$>_4ZZ;$j -%)A>I'1P8)d8KcS8dg/iZ@`p',=e8\IQin^]06n"@_%h[:b&WJ\=;OAH6"R8Db,1&<#H%tHEOZ@j=\4`QcH7TU]aWs[^gqdmp>iM[ -%mq8QG"GCJXiX5^q!UchRPqch5_;P!?;4LU^HqV#'CdGP7bVE#BO4-aB&8@*9ZHC.?$[der0<%M.9[WsS -%meB[cdDS;_(d#^t6EW^!17:He^n9Q==\+2_<5"lgoShdhJ7?"IRk%DPAsr.$U\eV2q)4+8;Mp0<^(1Y1.1JT2>J?AD1`8j-/%MZ9 -%V(6.7m$`IP9'55`0:k.,VS5R-gf,%!*5BQjjH/i:@LIZSr7)(nj61cC(o=XSV4Pg8Xj_k>+.X06JN!!KD*Q:pTTgPj7.h -%L+).M%gBW[D49B_Kj7NSq;]hX5grZ.gkH7$;-oF0aF?OVCKp$`O`I['oY[V=^;1EGBNUD+5L1UG6cIOI0+AgHP28!Sa\ti+%J5C_ -%_>#n#Ti^q3@$_&)DfOl*OZrY[K;!ju&(&::/#[)`MRJ.Mq@LG02W@\J]Xa00E9MINm/KU,h -%Go0]H%BG<'k/3_$o6Q+$LT!$4A;30fc41_H,6?c/GO31]dSq*#/+j*eb01%sF:-M#R5p-I7a-"<(e)l,>@t]o90&_.b^1]e)e6"[ -%d>eV<,"uU*DP1BK%L,a4QG&6jm:#l7G9"QKQACbs/NMJ2?*,5=#dB*fp^Et)cWinI%OmNoShpe.j](!s86MU@2qq<^]*7IGSS@4a -%`qN+>cmq:f_DSlsTGBn/:4fd2pOI>p%ZB+fO\BXq<([>]+L(_U7k!f2(tfTV_Q7!nE)<@/asg_j@]rA[Jb5rT.3Z_C!n[enKbjE3 -%U3qUEQA$CM.5?9\Ae*UU$AFEnXEe)ef,Dh9UF7r#poC_/(,MEEhG:uAEDrk33mX=[-.4m@Teb%TghV.YVcs>/GaQ8Z`<$qZcZq?T -%%TEL8A3Bra*=T'n.$gp*K;fI(SYZ>4:dX+d1eCCu:YI>7"+6Zad,Y%,V&7?Xh[+UbRI(WQq -%]JN+ml#ZsLC/O#sSl/0W2(if?abWN#0j@eZig-l:sBBmN`sF$EfO2rnn:'LnhkYP7j&,so`2.& -%X#s!Rm<2N$(m@#O?qDZs#R@,]&g76Z@#GE7-dof$O]s38 -%>>#PRo-dG8p("!?!T6.>4"tP+=9C21R0s$i;@9-a&ulPQ_81?QoXiOAMdJ(IZJs7>=*?=ILN^Z=/ln?kPZ]CLJe-0NchepP$+Q -%Q?r3*Z2mitK$;%FpGI8U1$SmODC``Bfj+H.R)9m/>@him.YP]i1_s(PUq?jO3N[R:.*=N!Nkm7a`N/'hD98M.9"A\8jtdGQi-7I\ -%a`e,47Hc[!ncnJc^e@Y\-kpMf_>]N96"Q6BB86o1i^Fo"2*+-A:XuJ)!S51^6UQjo'^$#`9;!`\R4sa*LBVOP)Eg^sr>NY.19%4a -%>c"4@%J-l -%D(SU$+io@j>d%/;a;"-\=,oo6MaHFn<-3P^fKH4aE-i9:!HJB:%U7(T^_f]QXrf:Ns_srlP -%6COKe#rRFS$/JE%=t7"4YJ6B?_'`t7p0+=lDMKhQi%[lsF*+7O6oj(/?uiQ)<\4:g)T=Bb-/N_O'B"'=d*nL5EEq/9kgMf"Ka9h]7M04\[5Z%`QWLjS/04[L;cAO02O>[6iCW#e"WGngQWTsIK0g_(t0Tl2p>Mp -%4*$'fZjT;Mongh+#gt,!e`X$@;^n(>N^3Hg$3MuQ&kfKrpp?46#U"=*Q.RdPdEb@.FPhefp76NEl0a\4AK4b=R!'gcq5,,"X -%b>l]AX?;2)Il67'%7nU;+P">"@,]O;ji/Y)3Y8W6/j7*>#'.4PX\2-g=`G*p:.^p,_8S+FWdn_-JpC'I7LB^K1C8`T3,9d4X:(^I -%An=f-ZAScdnFZR8e&D\q#R:ON!\-+NU-Ck"b:b*K$f\QcqiIr5^k,THnYVY_`!*->W)TYq:QQu39Am&!^lDHp5CUaUjIG8Di@sP* -%!h.bY&L -%@YH=dcW%:"_-@>t&sa.u4/gGh35GV*8^XN!l^#kG,N6rg@MTA&jq6^QfMq!$!W?m&KH6g[RC]3$@a`C%QK9qU'P\.][Y+>sR+'1X -%_F#KR2-.(Z"mEGkit-uuPi8J&CQM,@D!,Lu->0>U8c'AVaYHsiiSkK_o.r*'$DAu#)/<"eH[1k+FNFF.<4d*ULmG.Y_@NA?8$-jW -%qU:>W8?%E^3&AO(jdl<.!?YQWK$Z&h_:SKW+i4HtX+,t2T0s9%lFDk5VL1?ajRqU2!E)D2X*N/"hcpIU%b(^t`XG1`Qb\0N. -%N[]\J(/JH]a=K::(rR$6OFJU\"9pNFOd*bJ'/i$>@V$NXK#$kd/i)#)'or,KXZ:\>(b.8+T^E#[^BDrlF@t;H&I->.Q<1".3L(4O -%>)/69&>6hZN9#?!K@12?IC`SDL3p/$&h631=%1"P[7P7H+fG?"]r9\@qS8#+,n*d>LPA,@ThOKG3CHW)rl_:rOVZq1JcT^JPRE!G1KJVZC:QWO/3+?\ -%9e4C4?pqgVXWSonV'SnHWrQoEY)7?h8NF)"K8[`)UkI*$TJ2M4c'=QX_i72Z+LBj_%%lFE(eK63`l?(ccR7limgIqT -%cn?0]."]LDFCD&[4p:0Q$NY:qj0h\_5dVr'T,_g3jH]KJf"@pXq-c+c..1qOZP)oh'#q9]A.rk<2Xi-H7O44+]YJ2qLb+/=\e'Ur -%P!)Df;CGD:bAp>dCh^E0>;6Wq#0Cj!AXjfhLk3FKc<9f[#6H``:kB,gH)bLSodhB[&?(r^,[^VMXU0>\[3NK%9el\;`ld_/r]m3J -%'"/S.?V2Z>_UGY:hp9ih=;>!V>E`JE(/b0EB5;E5?bSQ/lr/"nkqdV*IMh%BR+R?ALWgm!\= -%A4]T$;5o,+H/>:TMYs@PXBX5t'jaHC<:o[N="RK+YmgT=7P$$:ou[!K9o1k8f#5oG/ke`pTB@k^&kB='38UT#aE&NTp7d`qokQ3R=rp$6n:B/H\N%uEe!)n(U^3mS4k%Ii_M7$'!g6>MF,%I3U`6WPmth1F -%.:L&hWb>lC+''a6)1^nT!eWjCQdchrcq@o_KIlU)*,L@k?qt=OL=#N.EfY'W^gj -%"/@n_OOHp0a^e%a@a[GY`?5_UI%efAiIM`Wj:)HF*C`I;*``P@A'<41_g2c"p#=<6rQf0T;>*`#CFO$#dC^9eViUQX/G]^E(%fZ^an*tg4[h'.F<6;'GM/AIhh09d$6=:9Z(WI -%2!QC'M!+kq1aP!b)60X-r+9*Z2Nef?\=j\(ip`6JW`FHWFL`iUiO%nJb6"YCY8kK64'$6nqfc:3.XinUkj\O]j#p^>&/"k.DMZ)e -%8>\.V#4n1LE7Q2DdB[L]-\e)E;Kf"c1;I2;0\B]*PTYf^_FL(7+p>_M@0\JT?H"]l-p\1P9;,b-21j7''i]1-Ad=Prl7/q?=ZJa9 -%W@Nuc#rK"FXlqZGf;*U8P<6`CL&\Y>BnY]sGT]&u&3TuYoX8B3Kc-0ds>8!?dr -%R]p^@e?PQ"uq++h5-ToG@cN_glJZ$eDp1#_aW3Fn3"-p4//B2u@( -%O]1%D5e(E`Rpl%k=F7Fc$+W6]\p\fob!M'F&to;#!@Q/]&k2uaB!H]UOtN2+@["&(W1NGqY!XcA3uW0DiYQ[U)`\LF%'-?m/jb6P`ok?Z7iItfP\_:jhj1K.'*Z=FMMF8.%X0NDmT_I$\QH@_TlA$r -%iD'QnSVi%]'aAk5$JmL'&6>fh(+Qk_ZS&U-2tMu2j^O[N&fA,1<>mo('r-49jOCu(WDcb$K,ql5d',PBrai40gZke^TLbJ2ot<_8'WR6g^i3.i;UduM)^1Eeq\sBR[?2*CjdEQ]8q9MKU#Ei;',c76 -%e6T=/0GgMuDi>f_A4C8%8LR((dY@7>[8=D)81I@kP*i'a.#et.[3[b./\tdi1>5/;UNLE"_)5Y:'n]K)6&&bP_js1q3-EK8X-]4X -%:ul7>-Xu^%*j\0Y8T_o!fmn)D$%e$i@Xh:sbAkqV;NfR.J?mjZ"ReaOebNGVN"cn92-H%Y9ft\W(n06GdJM!)NCR5WMb/Sm`aEVN3XQL@_kt<#)AKa%kF -%cQSCH&?($E/GmiY=;%eCT85?j*0KqMCB^0R]O_3Zn"43ut%LkX_NiXcf;?I49mWZ_*C:/)=C?\?S`J7dFg_@&jThH^f:*!2^p*F?2G%Q?) -%LQT!3iM\;<:FrPM6;gbkmrbFI,/$MZ!i0en,RO%)V)_%NfjU/n%WOS7":mK>#e;)Z%cff/bG?-9`Asc68/9$,PZXfZMb>0NK1lBV66/ZZK5q$`%Fr:\0i$LqCeZT-k'8H>Kr]n9 -%!Bp;CA._&N4E[@>mu7Kj4.?@S.kX>!\P[_:nRh%Um93[]%%VV'2pQCH$&%A=O??KZ/7%':#Q:ND>\+f?(( -%-h:t?W"Yn,KNX'-JB1kRHs.8(ZfTXC@qs2(\B-joTC_"nH%.V1^/f30[7kO[[[tbD:Pd^,L:2[a`ILUj?"5T.P4X*TU)8 -%Ub7>/[[@mR!,>rc$sGUj:b0tFG*JH/-rcoE,[&8jbt&/]=;\h']D.CUiH*tf6CfE@?EE/l/ZR[>863dh3gkt&Rjp)DgSe^2'.6EZ -%"!El*BGR--.te27ONKD;MGD)7bR,#8$j>MJLj]E::SImnC/tS[4J-:h$\G-+Bn@a#pS)Wb)Fe+JY\$Co.6=MsrY6Go#`k'F%%)"d -%TiV;3Igfm6%uQMRHcqlSE8VqhBc5_^;.tKNQH10sqFSYM#V-]R.iKN%\$'(J?cH4YHbF5ci3$Jr\Ju>0:5/,Uo>X03TrKkJea%$( -%$7Rl7?V6(?5fPi5BQBuU7Pp_L!WiEQi-CS<3)A$U@m:6=!ZH -%[$\b5UJ"6/\(jq+ioh\a,Jd]kLoo9+@sAs40@+50cH4bjY[_9Aes3)O>:tTI!.0Uu1dpq6JLJPD%YA]m`(CWLLtE2s/t8#8!(+t3 -%apLCQ>P+FAiH8aR5V82Kg)>"D8I9!&M9MiZa+.SLThbEr_T78W"HLs%>I@;$:MRm-";Dg9^]M;4**DE%mJmNlG:m?+#)#K)mRp;? -%<;6[W*g\/nj]"oKeJXs^"`Rnm$W07B6n/Fc^^,I\;&3u1cuqDA_?'*LUG=81PG&<&`?*c:.IKKiJoD(6r5_Ti'$C9P%/1+Ai&Ps" -%oMVqJ%Ar3d!KK:Ags:3PJr=+a#U-^LGoQF2QbmQ0(lD:M(><;8G"/>Ghd0tYQIt,61pMeBs0->]eM70*2q(*%N%U1MWTtfW3NpK52f%Qkaio?AK,Ce3LiT6HqZX=fa^3A+sal-9FRH:TJ7fTO^Y:#MtKW% -%Y>Bl*EN'ci7<]"m<066<[PQh@X:9:E!Cn=gV6c(8-Q6_e,h>=X5(T`h`:(#h,1[i`]k6V^0fIKK3nFcp^P6Mi\O(KB#-\S2!=o.qo#m#lsiG#<#buM=o-5'G:Ol6bT,B>6P,6&N/p>O,Ptcn8&J-nZ[@%%KM,$\hmYPo/d&! -%ZB-e7bD]`YOWQr5_H*2QD(b:8o3FtT=\9C+msLLZLbB1pP:&_"ME`Z=QHC$EK)j`Dr&I[ZAL+2`pn6'YAZ8^EUEm.41$;aDqE74M -%=?`\E?3Lb'QCWU8,:K1k,.3sdIA%WZ`.:%0>KW?9R4q?/RQP[c.=sZpR)H;+(Tu\;9)L*qgU+r;4c_tL,*GKuo]VU::npk!l/(S`1lN'U/le;R6G)iousGFU6FG<-1su[5"?bVII#,G$Z:.Cs%tFiqX,> -%>FmY9(83\G>!ruB\G\k92e![,T.JPe\3bk+S8D1ZlQZt/!$N=":!?RAn8h4) -%:N``D,gou82";@E-YOj8YY:^#i;2T9.&Y?ZEkB;3.PCp6L:24cV[=Z((PCZ9XKA6LVGR5_nrEgq]]@?mK(]3b9uZ:GM;V>=^VE^NLX?jQh@j.K`",0Cr27?pFFV%Ffd&GRWW9TpE*0'>*_[P!Ge -%aDpRRP.QUYeVP?ARNn[*PHZTkcf'+=K-tnNL>'S]hkqT)E.p1<*:5u/9T+2S0D>a%@duE(LhGO^'$Q5E4kl8Gd/X2 -%FL`t;&rn1=hq?4fU>lkqI;T'&L,*100:?t,4I?@S)9>A0c[b^C/rp>^+*+UJeCk(Kc"%Qf8)Zgc*:DdmWla^h:91LjCjCXQ`RrTd -%G(?f.$$+eq>(1tUkZUa=!Oe<7D?n6d8`)/'Q8c)iTP?K8gR)/>h>s?O\pSjL=qP5PO/D$FBA6Nlb.@a$/IOHu^sTG)[;?U0VsaUQ -%9BeN(cuOcJO.VuFGD`!RoGq=P3IUeGffOqXh>;^]j^&/(d/Z(o"M>WNJQf/tn:mXRQK(&((h6)+SP[(#8b=aA?8r,q?U.LS[\i"> -%AdCf;@2`OnaJ4(W`#,_'Y"ij8,qa55AurL1M)*"s,f9"4-1Om/h2F@s,#'O9L$1j9`Hr()b!JLT5Sm*[13/@ZJ08!HMP-QKM"\;? -%k?FMm2D!u7`7pf8+TqaEVj'Hh/<1]\Fj6.9C7?X("Ws'co4F]eTOPhN'%^h2B_+a77Y/=>9GWTW+bMGLbq5t<1ctqVf/T?3GdnOk -%js3%h;Y#Kn;NOS4bTQLt<3om5R9^NDb@Kb#lMN2#-SR,;\Uf)\(F+%@C(3_X=O"tt!3Sb&R0PpD&3@BFgGb6D(D9A!V-A4K$6tU# -%)jl^=,&Iu0:^VZgKi>Z;;"Ps7@b.E.V'dR0"Q*tqh.&`Y'B48W2@NfpAqA;adTPC:9*l=6E#bV:_9OC^+1f5m@jt56B'bm;2@D@(3bDh55TNOo6IhA&`sLu5+Ts-3ECqY/3,AZHJeEc)0@s4"1F)p4"HZSX -%`-g&pPInD.Hn\S^.m='K'OBJ38gc+`>2m*.@SHqUV3WeUKp$G-gOJ>Er$Q?J4rA<@#]-0VF&I)&Eaq1LkMuNE5)#feWfTF"B -%&i3sYKRSi^Zj:>U"gDqt_Mo[40sGVHcdgO%)p$lb9Ts& -%'OX2]RN3o[F+Tr/Gc>*l$WPW5`!1ml<>L_M]96=MR!6PAcf)^WmO_+@-\.g_8[]1X>Hq?sO_/S3'gaH!>@"(AjKLtV,#k8/A#s,b -%'7?n4?tI:?LbsWUVZJ.0UcQ<7+#A8PqG&7'OpJ9oV#>nQ#q>QV.q#fC:%EJ/nlMt:O`-LRiLjj7L4qACOqL@HWNnjQH7LQGD0DIL2_o;1psSi)9S0Y1VD5= -%V9"q)cKY$3#@_"\n?GZDG*#1\'`r[aOcDZhO%G]gb6o!o>ZY!h+e%G1T_UrBqi\,iiiOuH0]\sRJ7/o9,KiKL;SO""HEp-o,!p?& -%1.Od%/hS7]9/n,oF-40d-^dCL"(l/c?UF!VANI[UQGi8Cgu`GGL+Zls*h\3SUB-5rUj"fCTk5R%US1sYUR?([8kr]Q/k7A;PN!"6oGSh%2)Nr)_uX,q3j,('&5qnreoqF;r%H6#7)r^#TaHb=bQS+?l.*<-7LRL@$:Gf&2pjM.-`(t%KML,i*WF'g;XJ!%Nc0[cUCZoAO8otpa+>Z=[Hk6?G(kG_/]F^m$u]]%X=!Q._W`HF"`,V&-e>k^$%E80)"5J)Q1fnTk>#^mmU_+"9?m5S1rhp59GL@^`MHV9 -%dp-XpqoO\,ZaIA**a)oG@V^%<"[[MM'W`;SOHJ@8h(QC?jiRk@L=JOG;0jt;I#!u=FmuiW0pj(i=&h_HI!qsCp;Z>:IaYNoD,^e\ -%lt".)q-'<.25>a\*JGP"Yauk0G7='M+%+KDXN6R7At$gEP0ZeI!1185`W#6R65?5k, -%Vq[cnj8=+k2&@13K3$mU)ULBKIVS$7b<4F!XWZ\4E[C5p'aQV;je[++5S@Y's4S`R..&nS0)Qg<"`i=+NI2\K+^Y0<2TR'pu]RHWktLX)SC0Y]2NYIIZaV@Foj?H_%CQe_"1Ugjs3V[EdMDd!]#On\TLH!o'cqB;V'fHX-[N -%b.Ti`B(q$igD0L'WP^RCf_"iN$D5&@>AaAZ3Odh4>Ko;$Q+\-cBdtgucX!`i/llI0("eddm(^\5g\kMYOVVoui[5r8HnJ,9cV_`Qb'o,I\llb@GW4Kq-.#=&/+ -%J,%(al8tKuodfWH5LKGgn,N?QcYZ^A_O76hucU/cqSotA,qtT8+^\=!DZO\)US'SkJK3tI8TFj3U -%7.N-Rk!KZMI/SD!]lIrOd%Q5dH1ONjTFUt@2r8rRc*tFd%kbgOlG3@Z?N9FT2eH\4q5IEPqSp#$U:bEYp$K5P6Tt5(BF+i[\C4_&K;Z?pDWfpsIh45"`R33$=c7kWsRm -%9C:&Khh_^6Zg1g[HK3HbNXk9()>gJLqs3Dtr'jZT_2"Z[epEtX_4kL]_6q%9"Wu[8DnUS\(Hsf:Qll6[/&1oBq8Z7FnUiclr4/H6 -%s+:R-?bX80)t/7CZTis3qE)Hu>X*Pq@6[,)q2X#"i.IErf,d-K`p\E?$eIRlI-(F[leQK.m\?Nre"MhOm]C\?IJ!N2Ie9pY_]c9&Ujq3nH\N2X^B?ni(j0tP7J0?I)pdVX*3F8jLOBkF7mR]7JWMKomc^_3$4lr1UB$sq%.LpV6V%jeM.4"b+k6o_NM)i'75) -%]slntrk%'8rS#@`eiu(jB(F%OSN":UXgc%DqQ$7ceAe6!_>AVL55!-@cTUmA7mHk.-6`]eeV>5u/`D0Cbmh!$fQd!PEob@1,%-LE -%%UX[Rd83"qYY_50+\.QI%"'l+BAAgbR8+(lFCVh-Fs-iu/ZU_WQMB%IM[\j,3o\mok3Ynp,ASORudf@V_Z&?Vje@T9lp^ -%F=u0%jGho_LG0f[*C(0blp1&^:Q:AZZ:#<,(ap+YZ:rO'BFoEl0u5k6I80^-_hf6k#--hq]8$DE8AVCtV+,%sCp)7d7l[Rs#*'[- -%E'9pEGRd9#f9.`&t_j$POr82W]Y;:qMA6"oZ]Dmhrs?Y&:D,S-(*`f$6=Dtoee5h._!/bWJ$hD -%;sF"HXOJIr(EfA!GH.fI)=-f-92B`L]ms8aW;4*hDDjOq<[qnU$^nZ3H/Vojo28^js34n";lRB>^"@-0]O6H( -%W%?&;dW]62Odp8GY"d%ife,)sgC6A;0+Jp!-m+^3QM]pSj[M0hh.fZcJE/cI\IHIt-[iEu.lkml>X/7VmZ$;e$Dq`@/7bN]:A&ra -%P1)(rF'YO6M"7-UFdqdD`d+Maq5$QqfkYDep[m0KCSMkKf(%gc?i%L.)]/3IUXT"TmIqoMf6f. -%m]m'ZebK&p]dR&_n>f-@b>(_+\.O1`JhpM\;3R+$fe72ar#s)mK7>b+gS(e>dS#FW>feOA>e)nj`u?salV/4&RiAaZ1";63q*on$ -%D-7TrMU"ops/"a6fb.N+XdCVU@ch]M9URbZ4u^hSi\/lld#s?rl\u8+&i]$beh(`.Q!uiEcZ,6`;sf#.j7&[_05:]<(@5'@G'(tD -%6r.UdD#N[>S1_OfZ,Ui"F``a21dC9e$HC"[*"[-a;WW8Sa3c4sd[62DPq#u!88jN<0.Qrs15cg`f+RB2B)t^3W$EDn]3a1c<#_g= -%a_9OC5k\,IpN#_7oG=GYVog"4Ul)dts/[FH?s?SYTpGL=IWC\J:S-R\fec^cmcT4Y6f5)`&$78=+8G,-IN(^&(7)K#Bi=^aVtBFa -%Im;#Cde0Gc)^][8\"=2j++<"T]Lp.%d/PoP9\nj?K@J-&:+UM$Okk)YG45,SR4*n\1*&%H7+Qg94HVk8A$O0A'p%,<](N)?!o[fe -%ZFD7>%%BUlKKE$SOCUjsj6h<0O:46T&S(6V:$AT"22NW7]2>'j-2pInbbB@sA=Oq&8hG76;6D:gj2+4C^H'"`7jLm:mZV,P$&K5` -%o?\@;AEiLjfgZFgbLV>^f#I).WNthH2&gj.m>R\#A$^3rLX/Fao_61YMraZsSCA,Nl9G[o$:N-!;.Gj+fdo184#8kTHFh5*ZQ"jX -%P@bDZ-8e&"oK1M5\dEB(LiVGhI)-D -%D9k-I1o\Mk1^EE;/^8`lSlMqkgE!dK4AMV:]:2V48j5_V-Kk3CjOa;uU3U87Y>+VrP7>8O7dp,eFuFUlehd3cpBDF;c!GnIO"3>H -%!k8c(orOKYduGQi`?K]9FY.k_R5pcWeacRcm;$mn:XA+co;eu@Dmm7?()J_(M$0lI4Q0X-I_O2O9Pc9.naptp4O(0 -%YP?,>TUE<01G\m)F02eek!J&O+28N%=5ib45Kt$U[okjKiZ*prC6PX -%L/VcT46g*XBBs&+A8YCrDNuobl=;PKg:l6AF=ic%EF[\3=jqe.QOh^4:XQF"g;,5LE>-Z*4L*O@n\8@8_.A)gHj<^Gkb`=5K93/p -%]5VWXNkcO0h\4.kc/";;6/uGO2/:h7PASEkio9m(1U]F-hc[ngN]c*UNXntnE%RlsOH"W-gg46t6RTs*4/Go_.qcro[5Q8Fl6`CBl^]LF?`Pt"\MW7+ccmJ`E\BX3$1p\N]HIs&DbL*!PU9-^9,/b57VRf:"fqXDn1Hem9?AoDr<\_-?*fKYl! -%Y$NO&?+[Q!)IVX%n`^fP>^s$gPq_T)RoRS'GAWUG?m-uBSbDV/5&"t1^=jU/m)qI*`,;_&!dd68+\8?9"d7M*"KM,J>J#.3g,FGC -%'7W6q,!/aV6[0S99BCGiDfPl\p5jJ.Wp!2cM0hPnAGOu3I+[4cL#*51L5GjK*g$,kF\'f/rMYN+//+)d#?Fr99hLkc>(OO?">1A0$]g6/T\pCB!^#*S,:4,Mr=ai9,2n[[QUZ8D$ -%]$VMikaG\P,L=ZEqT[T)7I]!`G.0?>`"t<[nV,(2p06-0Ia>Sf1%h@phk8[uurG?=T.!I'%\3s&F-A5>O9%UJfOiG8m$t -%6$ud7(0nNgqW+dr0fW!GR7E28m_T+pm1B#8LjM5%%X*YTF'[sT[F&MDF(nKa)pEQ5rd9b@^0?uoB)UsX>2W`5pUrOU%%o](HO9\, -%TMP+T\Taj^O-a"`iL)H&B&OqXmpPt]4]qDecU`,0g2Q(K)26dbelod`GDs.F)nVi) -%21M0UlZ^;B$ZU+ORctXeSm7Q7pe9Gp\EUuqD;o>@fAMXQn].7_\+&Yd?d.QPcmtT.qXN4Qa4K8upY-IELEGtNNKdolBue]5inc*O -%hbi17[0%j^hOii=T9,-2&PE(P'Orb?0k:l8Or']N\URFkpRoNQG3.M;/'2rHasO1O8nYrW36tj'"Ea1d/(kn#9K`4gsIrWF;=]s[0!^.k_1k9p5Phhno/4g=Gsg#/Lgh/&a.;Gh)jSQ+ZaS]hl2>iC3*E%]JC]`kA&%o6&F -%%_CLA1Y(oh[24Rcs0`[m[$=$g4,GA6f%7>6VX\q:8jh:%#0VgqFG*p=)Hec.?``::hGN\@-%d -%*[tXR[D#(Zg$;9bkpG',i5(0!14"#qC?:=$OmPV4l\gBbB,"MegT8Z22JXno\*gZkhIl7*H%5BCgl'F+HXWUh4#u-,F[lnkGA=[R -%A'<,mPL^[__j1O32fis\[LeRDkuOi>JJVl[cN_ZpP4qg&D9Io=L&t)+)%*=ENG`fO3!CS,U#/qJ.`:Ma[DC^(p[>'X2$1oURfU/Q -%7oMO]?e=A#?%V\<*V+7)pIo2l^HQscHZd^$:I)n>:H+r<)_,?4[?6d]7#^Ik;g(.HME(,Qa[e=L'$[5BL3!iiR8M82 -%bi6Q4A`f1sk*4>+F(K3qgr7eEf/:b-S14"[I_pfNgoh?#U*jR/GK-]O'?@-`M.9Q[M;qTk`1&hd)D6+a9McWcelI@@4ZV1ugOQeS -%.,4H\LfpuG-/oSN?S#Mcs>Z2DO4/Gi;XF]Z*gc'[Y19[[/SF":u@j]8H_hkAPW -%Ls"PD?#b:oP%:\>[9jYcbN2@+Ds -%"6*DT9*tXX>A&L9.>crQ8-a2-A03T/;mFou(79(ojYqQ]2#l76m$mj,+,,.cH6l:$oV')r80l1Wk'`rZo7Jl_YsP8sAXk9*X"s5I -%h&Hl$&lP:i/NZq"OdA!"<^$:WX4)VO;EdC!7GV9A)+p?) -%Fm?'4;UY2fZ81XoGVnF^\/,M;q1@H>2-L;0mBiiLY49^$3+C8,&*%$%Oq'h(@OA1B%d`Eam"Z8:R%_;aWD<,[(WNB+"s."+j*N%J22*TiAE\Z;F<+! -%p*Bd'`4Ni^c:WtsknP,8O^=IJ+pA<@/l:CpE;GO=qQo4#jtt=f)"*7dSR,OdYB7-M$e5'C/EF_pakQ*iDmd293hpbQN!DI8\7_jU -%s(lot%H>nKD_,'J1Se@.OZ_66FK`/C[L1lNb.nd.7ttX:[8"+ONhh1C)TaP,aPpbj+$TW+#J`WkLX)b# -%:OFOija:uX73nZV=uK\Z@nesL(0m.gE5CCiB0&0UA*Bj3@h%Mgl355j(o%@Gku'GBTL!`$D:f(\d]$\;5WA*=(Eir$n@<3#/l -%[-HFu4)2=Ff6bUJCDee5hUB?sL*aZLm][5t0;'1m'?h1fI2IR&s -%g+^DBhWekHFCW[&U8[hc2R83[B3Q&^*$9_rAnVM=P7)/sKk#?AG?V>N>K[I*O"M0F)@Q1qhdhnVNNQVde@Vhi=mNI7a)Hh+*RS-_ -%pWqngZO&l:t<#qHBg,G:\B'M.qcHFH8AFZaJB$CFK=[g9"u_FMGHCi^+"n`e_e$\_8K`Ga`%H@1b#'EkdJrfA7?tB,WsjZ -%iTiPNY5_`k[#tCZ-D-h?Q9L`383]$3`l?ne%_1'oWPb>?Ga4L/Z+;Vt`a-f63m'HWrV[c?XAtt?1%iZVbuUaOdL,6-!W\T()uZ&$ -%3X;!;HZ_@@8X,s!T;F$OYkq:?n5oF8G^mDL`Z+EH??9toeK(/p%(s5pjQ^_V!.>%K)Q@.!iUX[=;rs]&Nos/UddM]g&Sf-XI6[SeluhB8B'Pq.;F5%dI-;MVAEijb>54'40EmQ(PYAI122"&dGm0`Co%1n8nCcm%$j4DS[Eo5(hOlr>%>(dM1s!qE=Y>m9%;nTehMt/WmX7N^RQd**)\QQBi6HWn7/(1uF##s?kC=t0JnhSe--'%W'=n>hMql5Y9mFYe/[QiR(0?6; -%)Wj^G[*TaL]O]0YQ_&&r/oC=)f^'/CX`'UaXB'!4Q1j!H)]G:@l=em,L+&sC-r]_0@kkP!S2c_&=<$n>HJ6PVWnh@:jB;e1Y$KpP -%IEXZtZNYa?a[2cOkVaf1kg2CSp0\rK^+bp0lREel``b3^]@go%pot(saqt!2]C%b"ZWC3(XjpJPAh3-%D"Ujpb8JmdnJF,A1+$M0 -%ZKUM&614G5M+P=;[Ham&#H^i!=90#nC.,CS"Df3__&?H3fZJ3BEP'aKr)RVDX^,E6l6.!1$)qPRd+%K)-iVPB[`a$b@+#)Fr0^L! -%VMVjeqV4kCO'VG3rM*krU0#1lMEnMk[q6,Rc+qI]d2/1=Ga^>WWlU/DWQ7=hQfF:(0$4I>[^F^FiWHVA\WurP(9EukXIC$+k>DT= -%%C2o9i;I\\=BIZJdP=TZ1P^$Mc.1BXR$ahUG:&U>',P9/jAM'(2[`X0NL;R,?aXs/6cd4mV"2*=F6;tgoD#fo,et@/p)'ppY:qr9 -%QTmEMq"WC;>Fh7c6+bf@11,E?'BA5&2pGBEH0,'Uko(>L8g.*jhb1.]b(,c\V89p5f4\c]cWkmuF*hK_inD97i:/)jrOJM,L%t'B -%Y/KG.q!1TJh\S!)TMP2YmIEh`7[[MM%q!W?lS!k!6ZVE?C$2m=29s6s8P.A^!skt"T;W;7I]DNCW5`aQbMDD -%Fn?E`.pfgRs*!WHKIo<4/@k[&k)BThF(W_[^10&=KXbM$\2b=]S$RRdc/sIeq;W&Jp?:bK/d6gYW!:So9O;L)!S7B;Ok=dHjGBa@ -%p(njq7lUh_2fsA9nbWTZp@,rbS$s#J=6jK\M=T^%c#PooaI#k7n=1BBG9IU1GrsA2T8cP@\<3H7kfES>p"#sgUYUK,lhYAV-5aM/ -%(t3$756;,kr/ghg^XTk!.I`M7i:k$.Ve6M>Ij08q/H~> -%AI9_PrivateDataEnd diff --git a/Manual_tools/format/eps_tabs/cc_FunctionObjectConcept.pdf b/Manual_tools/format/eps_tabs/cc_FunctionObjectConcept.pdf deleted file mode 100644 index 7a04b966b37..00000000000 --- a/Manual_tools/format/eps_tabs/cc_FunctionObjectConcept.pdf +++ /dev/null @@ -1,80 +0,0 @@ -%PDF-1.3 -%Çì¢ -6 0 obj -<> -stream -xœPËN1 ¼û+æH5ñæé+8·DâVí -ÄnéRÄïãTl¥JP¤ÌL’Ûq,pmýb?Òn7Ã'­¾ƒøÔqÆHÁÅûItœT5šºäçG9Ž1[¼j{Èó@‚W»Ð»”Ј^«‹Íí¸`ÞÒîÆz)­á¢øþ#móô¯¤g«9Ðrv~Ä]µ&uצ–T°ZÐÁ‰"çdé¨#]Ýï§~ûq¼®omXkª¬´“ÀÅ'½°<~Mýq?7ËCÅÚ>÷gôNVendstream -endobj -7 0 obj -214 -endobj -11 0 obj -<> -endobj -12 0 obj -<> -endobj -5 0 obj -<> -/Contents 6 0 R ->> -endobj -3 0 obj -<< /Type /Pages /Kids [ -5 0 R -] /Count 1 ->> -endobj -1 0 obj -<> -endobj -4 0 obj -<> -endobj -8 0 obj -<> -endobj -9 0 obj -<> -endobj -10 0 obj -<> -endobj -2 0 obj -<>endobj -xref -0 13 -0000000000 65535 f -0000000598 00000 n -0000001138 00000 n -0000000539 00000 n -0000000646 00000 n -0000000389 00000 n -0000000015 00000 n -0000000299 00000 n -0000000715 00000 n -0000000766 00000 n -0000000825 00000 n -0000000318 00000 n -0000000357 00000 n -trailer -<< /Size 13 /Root 1 0 R /Info 2 0 R ->> -startxref -1190 -%%EOF diff --git a/Manual_tools/format/eps_tabs/cc_Macro.eps b/Manual_tools/format/eps_tabs/cc_Macro.eps deleted file mode 100644 index 26026861a1b..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Macro.eps +++ /dev/null @@ -1,131 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: macro.eps -%%Creator: fig2dev Version 3.2 Patchlevel 1 -%%CreationDate: Tue Jul 18 14:16:15 2000 -%%For: cgal@mpij-ss () -%%Orientation: Portrait -%%BoundingBox: 0 0 41 138 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%Magnification: 0.4000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def -/col32 {0.875 0.000 0.588 srgb} bind def -/col33 {1.000 0.525 0.063 srgb} bind def -/col34 {0.525 0.525 0.557 srgb} bind def -/col35 {0.349 0.349 0.557 srgb} bind def -/col36 {0.557 0.349 0.475 srgb} bind def -/col37 {0.620 0.780 0.031 srgb} bind def -/col38 {0.875 0.000 0.588 srgb} bind def -/col39 {1.000 0.525 0.063 srgb} bind def -/col40 {0.525 0.525 0.557 srgb} bind def -/col41 {0.349 0.349 0.557 srgb} bind def -/col42 {0.557 0.349 0.475 srgb} bind def -/col43 {0.620 0.780 0.031 srgb} bind def -/col44 {0.875 0.000 0.588 srgb} bind def -/col45 {1.000 0.525 0.063 srgb} bind def -/col46 {0.525 0.525 0.557 srgb} bind def -/col47 {0.349 0.349 0.557 srgb} bind def -/col48 {0.557 0.349 0.475 srgb} bind def -/col49 {0.620 0.780 0.031 srgb} bind def -/col50 {0.875 0.000 0.588 srgb} bind def -/col51 {1.000 0.525 0.063 srgb} bind def -/col52 {0.525 0.525 0.557 srgb} bind def -/col53 {0.349 0.349 0.557 srgb} bind def -/col54 {0.557 0.349 0.475 srgb} bind def -/col55 {0.620 0.780 0.031 srgb} bind def -/col56 {0.875 0.000 0.588 srgb} bind def -/col57 {1.000 0.525 0.063 srgb} bind def -/col58 {0.525 0.525 0.557 srgb} bind def -/col59 {0.349 0.349 0.557 srgb} bind def -/col60 {0.557 0.349 0.475 srgb} bind def -/col61 {0.620 0.780 0.031 srgb} bind def - -end -save --11.0 194.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n -1000 8662 m -1000 -1000 l 3037 -1000 l 3037 8662 l cp clip - 0.02520 0.02520 sc -% Polyline -7.500 slw -n 450 7650 m 450 2250 l 2025 2250 l 2025 7650 l cp gs col57 1.00 shd ef gr gs col57 s gr -/Helvetica ff 840.00 scf sf -1800 7425 m -gs 1 -1 sc 90.0 rot (Macro) col7 sh gr -$F2psEnd -rs diff --git a/Manual_tools/format/eps_tabs/cc_Macro.pdf b/Manual_tools/format/eps_tabs/cc_Macro.pdf deleted file mode 100644 index 4a86fd8c9f2..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Macro.pdf +++ /dev/null @@ -1,71 +0,0 @@ -%PDF-1.3 -%Çì¢ -6 0 obj -<> -stream -xœ…ŽÁ -Â@ DïùŠ9ª`ÌnÚ¥{Ä“‡ÖýYìb¡HëÁß7J½x‘@† óÈ;È{Í#M´ë*”™Ãµ¯mKPÌÅŒ)kŒγñÐØ.  æ+õrÜD<èîø<Qh‚ûÔùJ±OVÈ’H= ¼clhÅ쩈eFZ.y¾¯Ó@‡„–Zz=§.)endstream -endobj -7 0 obj -150 -endobj -10 0 obj -<> -endobj -11 0 obj -<> -endobj -5 0 obj -<> -/Contents 6 0 R ->> -endobj -3 0 obj -<< /Type /Pages /Kids [ -5 0 R -] /Count 1 ->> -endobj -1 0 obj -<> -endobj -4 0 obj -<> -endobj -9 0 obj -<> -endobj -8 0 obj -<> -endobj -2 0 obj -<>endobj -xref -0 12 -0000000000 65535 f -0000000523 00000 n -0000000770 00000 n -0000000464 00000 n -0000000571 00000 n -0000000314 00000 n -0000000015 00000 n -0000000235 00000 n -0000000711 00000 n -0000000640 00000 n -0000000254 00000 n -0000000284 00000 n -trailer -<< /Size 12 /Root 1 0 R /Info 2 0 R ->> -startxref -822 -%%EOF diff --git a/Manual_tools/format/eps_tabs/cc_Variable.eps b/Manual_tools/format/eps_tabs/cc_Variable.eps deleted file mode 100644 index 8072242791d..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Variable.eps +++ /dev/null @@ -1,143 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: variable.eps -%%Creator: fig2dev Version 3.2 Patchlevel 1 -%%CreationDate: Tue Jul 18 14:20:10 2000 -%%For: cgal@mpij-ss () -%%Orientation: Portrait -%%BoundingBox: 0 0 41 137 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%Magnification: 0.4000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def -/col32 {0.875 0.000 0.588 srgb} bind def -/col33 {1.000 0.525 0.063 srgb} bind def -/col34 {0.525 0.525 0.557 srgb} bind def -/col35 {0.349 0.349 0.557 srgb} bind def -/col36 {0.557 0.349 0.475 srgb} bind def -/col37 {0.620 0.780 0.031 srgb} bind def -/col38 {0.875 0.000 0.588 srgb} bind def -/col39 {1.000 0.525 0.063 srgb} bind def -/col40 {0.525 0.525 0.557 srgb} bind def -/col41 {0.349 0.349 0.557 srgb} bind def -/col42 {0.557 0.349 0.475 srgb} bind def -/col43 {0.620 0.780 0.031 srgb} bind def -/col44 {0.875 0.000 0.588 srgb} bind def -/col45 {1.000 0.525 0.063 srgb} bind def -/col46 {0.525 0.525 0.557 srgb} bind def -/col47 {0.349 0.349 0.557 srgb} bind def -/col48 {0.557 0.349 0.475 srgb} bind def -/col49 {0.620 0.780 0.031 srgb} bind def -/col50 {0.875 0.000 0.588 srgb} bind def -/col51 {1.000 0.525 0.063 srgb} bind def -/col52 {0.525 0.525 0.557 srgb} bind def -/col53 {0.349 0.349 0.557 srgb} bind def -/col54 {0.557 0.349 0.475 srgb} bind def -/col55 {0.620 0.780 0.031 srgb} bind def -/col56 {0.875 0.000 0.588 srgb} bind def -/col57 {1.000 0.525 0.063 srgb} bind def -/col58 {0.525 0.525 0.557 srgb} bind def -/col59 {0.349 0.349 0.557 srgb} bind def -/col60 {0.557 0.349 0.475 srgb} bind def -/col61 {0.620 0.780 0.031 srgb} bind def -/col62 {0.875 0.000 0.588 srgb} bind def -/col63 {1.000 0.525 0.063 srgb} bind def -/col64 {0.525 0.525 0.557 srgb} bind def -/col65 {0.349 0.349 0.557 srgb} bind def -/col66 {0.557 0.349 0.475 srgb} bind def -/col67 {0.620 0.780 0.031 srgb} bind def -/col68 {0.875 0.000 0.588 srgb} bind def -/col69 {1.000 0.525 0.063 srgb} bind def -/col70 {0.525 0.525 0.557 srgb} bind def -/col71 {0.349 0.349 0.557 srgb} bind def -/col72 {0.557 0.349 0.475 srgb} bind def -/col73 {0.620 0.780 0.031 srgb} bind def - -end -save --11.0 284.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n -1000 12262 m -1000 -1000 l 3037 -1000 l 3037 12262 l cp clip - 0.02520 0.02520 sc -% Polyline -7.500 slw -n 450 11250 m 450 5850 l 2025 5850 l 2025 11250 l cp gs col73 1.00 shd ef gr gs col73 s gr -/Helvetica ff 840.00 scf sf -1800 11043 m -gs 1 -1 sc 90.0 rot (Variable) col7 sh gr -$F2psEnd -rs diff --git a/Manual_tools/format/eps_tabs/cc_Variable.pdf b/Manual_tools/format/eps_tabs/cc_Variable.pdf deleted file mode 100644 index 91658e6c4a9..00000000000 --- a/Manual_tools/format/eps_tabs/cc_Variable.pdf +++ /dev/null @@ -1,70 +0,0 @@ -%PDF-1.3 -%Çì¢ -6 0 obj -<> -stream -xœuޱ‚@DûýŠ)ÕÄu—ƒã®51ÖàÅ ˆW€…¿ïi°2f’}ÅÎLFX!o­l#Ít¨s ¶Yz”.ÉJ,)F2l¼÷(`¼e5VØaé¨ß‘²óxþ$ëóÿÔ%•4C?3¾h#Ž! IN„ž™²Z‡ýJÉÙX\ªÍ“'ÒæÚ,cs»wÛ0Ñ) ¢Š^}O-íendstream -endobj -7 0 obj -150 -endobj -10 0 obj -<> -endobj -11 0 obj -<> -endobj -5 0 obj -<> -/Contents 6 0 R ->> -endobj -3 0 obj -<< /Type /Pages /Kids [ -5 0 R -] /Count 1 ->> -endobj -1 0 obj -<> -endobj -4 0 obj -<> -endobj -9 0 obj -<> -endobj -8 0 obj -<> -endobj -2 0 obj -<>endobj -xref -0 12 -0000000000 65535 f -0000000523 00000 n -0000000770 00000 n -0000000464 00000 n -0000000571 00000 n -0000000314 00000 n -0000000015 00000 n -0000000235 00000 n -0000000711 00000 n -0000000640 00000 n -0000000254 00000 n -0000000284 00000 n -trailer -<< /Size 12 /Root 1 0 R /Info 2 0 R ->> -startxref -822 -%%EOF diff --git a/Manual_tools/format/eps_tabs_grey/cc_Class.eps b/Manual_tools/format/eps_tabs_grey/cc_Class.eps deleted file mode 100644 index d8d6f183532..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_Class.eps +++ /dev/null @@ -1,555 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 1 0 0 1 -196.5 -5.5 ] concat - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg Black -0 0 0 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 59 927 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 300.993 806 ] concat -%I -[ -(Class) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/eps_tabs_grey/cc_Concept.eps b/Manual_tools/format/eps_tabs_grey/cc_Concept.eps deleted file mode 100644 index f966cbec9c7..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_Concept.eps +++ /dev/null @@ -1,554 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t u - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg gr400 -0.610361 0.610361 0.610361 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 -137.5 921.5 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 104.493 800.5 ] concat -%I -[ -(Concept) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/eps_tabs_grey/cc_Constant.eps b/Manual_tools/format/eps_tabs_grey/cc_Constant.eps deleted file mode 100644 index 2ba62dfa86e..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_Constant.eps +++ /dev/null @@ -1,555 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 1 0 0 1 -196.5 223 ] concat - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg Black -0 0 0 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 59 698.5 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 300.993 577.5 ] concat -%I -[ -(Variable) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/eps_tabs_grey/cc_Enum.eps b/Manual_tools/format/eps_tabs_grey/cc_Enum.eps deleted file mode 100644 index 6f8d953a7c8..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_Enum.eps +++ /dev/null @@ -1,555 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 1 0 0 1 -402.5 -3.5 ] concat - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg Black -0 0 0 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 265 925 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 506.993 804 ] concat -%I -[ -(Enum) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/eps_tabs_grey/cc_Function.eps b/Manual_tools/format/eps_tabs_grey/cc_Function.eps deleted file mode 100644 index 87d1e6abb9e..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_Function.eps +++ /dev/null @@ -1,555 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 1 0 0 1 -1 218 ] concat - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg Black -0 0 0 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 -136.5 703.5 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 105.493 582.5 ] concat -%I -[ -(Function) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/eps_tabs_grey/cc_FunctionObjectClass.eps b/Manual_tools/format/eps_tabs_grey/cc_FunctionObjectClass.eps deleted file mode 100644 index d8d6f183532..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_FunctionObjectClass.eps +++ /dev/null @@ -1,555 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 1 0 0 1 -196.5 -5.5 ] concat - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg Black -0 0 0 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 59 927 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 300.993 806 ] concat -%I -[ -(Class) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/eps_tabs_grey/cc_FunctionObjectConcept.eps b/Manual_tools/format/eps_tabs_grey/cc_FunctionObjectConcept.eps deleted file mode 100644 index f966cbec9c7..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_FunctionObjectConcept.eps +++ /dev/null @@ -1,554 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t u - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg gr400 -0.610361 0.610361 0.610361 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 -137.5 921.5 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 104.493 800.5 ] concat -%I -[ -(Concept) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/eps_tabs_grey/cc_Macro.eps b/Manual_tools/format/eps_tabs_grey/cc_Macro.eps deleted file mode 100644 index 501a417f9d5..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_Macro.eps +++ /dev/null @@ -1,555 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 1 0 0 1 -405 227 ] concat - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg Black -0 0 0 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 267.5 694.5 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 509.493 573.5 ] concat -%I -[ -(Macro) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/eps_tabs_grey/cc_Variable.eps b/Manual_tools/format/eps_tabs_grey/cc_Variable.eps deleted file mode 100644 index 2ba62dfa86e..00000000000 --- a/Manual_tools/format/eps_tabs_grey/cc_Variable.eps +++ /dev/null @@ -1,555 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: idraw -%%DocumentFonts: Helvetica-Bold -%%Pages: 1 -%%BoundingBox: 68 608 105 746 -%%EndComments - -%%BeginIdrawPrologue -/arrowhead { -0 begin -/dieMatrix matrix currentmatrix def %ajk+od -/taily exch def -/tailx exch def -/tipy exch def -/tipx exch def -/dy tipy taily sub def -/dx tipx tailx sub def -/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def -gsave -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -patternNone not { -dieMatrix setmatrix %ajk+od -/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul -arrowWidth div def -/padtail brushWidth 2 div def -tipx tipy translate -angle rotate -padtip 0 translate -arrowHeight padtip add padtail add arrowHeight div dup scale -arrowheadpath -ifill -} if -brushNone not { -dieMatrix setmatrix %ajk+od -tipx tipy translate -angle rotate -arrowheadpath -istroke -} if -grestore -end -} dup 0 10 dict put def %ajk+od - -/arrowheadpath { -newpath -arrowHeight neg arrowWidth 2 div moveto -0 0 lineto -arrowHeight neg arrowWidth 2 div neg lineto -} def - -/leftarrow { -0 begin -y exch get /taily exch def -x exch get /tailx exch def -y exch get /tipy exch def -x exch get /tipx exch def -brushLeftArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -/rightarrow { -0 begin -y exch get /tipy exch def -x exch get /tipx exch def -y exch get /taily exch def -x exch get /tailx exch def -brushRightArrow { tipx tipy tailx taily arrowhead } if -end -} dup 0 4 dict put def - -%%EndIdrawPrologue - -/arrowHeight 10 def -/arrowWidth 5 def - -/IdrawDict 51 dict def -IdrawDict begin - -/reencodeISO { -dup dup findfont dup length dict begin -{ 1 index /FID ne { def }{ pop pop } ifelse } forall -/Encoding ISOLatin1Encoding def -currentdict end definefont -} def - -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/minus/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve -/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut -/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] def -/Helvetica-Bold reencodeISO def - -/none null def -/numGraphicParameters 17 def -/stringLimit 65535 def - -/Begin { -save -numGraphicParameters dict begin -} def - -/End { -end -restore -} def - -/SetB { -dup type /nulltype eq { -pop -false /brushRightArrow idef -false /brushLeftArrow idef -true /brushNone idef -} { -/brushDashOffset idef -/brushDashArray idef -0 ne /brushRightArrow idef -0 ne /brushLeftArrow idef -/brushWidth idef -false /brushNone idef -} ifelse -} def - -/SetCFg { -/fgblue idef -/fggreen idef -/fgred idef -} def - -/SetCBg { -/bgblue idef -/bggreen idef -/bgred idef -} def - -/SetF { -/printSize idef -/printFont idef -} def - -/SetP { -dup type /nulltype eq { -pop true /patternNone idef -} { -dup -1 eq { -/patternGrayLevel idef -/patternString idef -} { -/patternGrayLevel idef -} ifelse -false /patternNone idef -} ifelse -} def - -/BSpl { -0 begin -storexyn -newpath -n 1 gt { -0 0 0 0 0 0 1 1 true subspline -n 2 gt { -0 0 0 0 1 1 2 2 false subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline -} if -n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Circ { -newpath -0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/CBSpl { -0 begin -dup 2 gt { -storexyn -newpath -n 1 sub dup 0 0 1 1 2 2 true subspline -1 1 n 3 sub { -/i exch def -i 1 sub dup i dup i 1 add dup i 2 add dup false subspline -} for -n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline -n 2 sub dup n 1 sub dup 0 0 1 1 false subspline -patternNone not { ifill } if -brushNone not { istroke } if -} { -Poly -} ifelse -end -} dup 0 4 dict put def - -/Elli { -0 begin -newpath -4 2 roll -translate -scale -0 0 1 0 360 arc -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 1 dict put def - -/Line { -0 begin -2 storexyn -newpath -x 0 get y 0 get moveto -x 1 get y 1 get lineto -brushNone not { istroke } if -0 0 1 1 leftarrow -0 0 1 1 rightarrow -end -} dup 0 4 dict put def - -/MLine { -0 begin -storexyn -newpath -n 1 gt { -x 0 get y 0 get moveto -1 1 n 1 sub { -/i exch def -x i get y i get lineto -} for -patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if -brushNone not { istroke } if -0 0 1 1 leftarrow -n 2 sub dup n 1 sub dup rightarrow -} if -end -} dup 0 4 dict put def - -/Poly { -3 1 roll -newpath -moveto --1 add -{ lineto } repeat -closepath -patternNone not { ifill } if -brushNone not { istroke } if -} def - -/Rect { -0 begin -/t exch def -/r exch def -/b exch def -/l exch def -newpath -l b moveto -l t lineto -r t lineto -r b lineto -closepath -patternNone not { ifill } if -brushNone not { istroke } if -end -} dup 0 4 dict put def - -/Text { -ishow -} def - -/idef { -dup where { pop pop pop } { exch def } ifelse -} def - -/ifill { -0 begin -gsave -patternGrayLevel -1 ne { -fgred bgred fgred sub patternGrayLevel mul add -fggreen bggreen fggreen sub patternGrayLevel mul add -fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor -eofill -} { -eoclip -originalCTM setmatrix -pathbbox /t exch def /r exch def /b exch def /l exch def -/w r l sub ceiling cvi def -/h t b sub ceiling cvi def -/imageByteWidth w 8 div ceiling cvi def -/imageHeight h def -bgred bggreen bgblue setrgbcolor -eofill -fgred fggreen fgblue setrgbcolor -w 0 gt h 0 gt and { -l w add b translate w neg h scale -w h true [w 0 0 h neg 0 h] { patternproc } imagemask -} if -} ifelse -grestore -end -} dup 0 8 dict put def - -/istroke { -gsave -brushDashOffset -1 eq { -[] 0 setdash -1 setgray -} { -brushDashArray brushDashOffset setdash -fgred fggreen fgblue setrgbcolor -} ifelse -brushWidth setlinewidth -originalCTM setmatrix -stroke -grestore -} def - -/ishow { -0 begin -gsave -fgred fggreen fgblue setrgbcolor -/fontDict printFont printSize scalefont dup setfont def -/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end -transform exch pop def -/vertoffset 1 printSize sub descender sub def { -0 vertoffset moveto show -/vertoffset vertoffset printSize sub def -} forall -grestore -end -} dup 0 3 dict put def -/patternproc { -0 begin -/patternByteLength patternString length def -/patternHeight patternByteLength 8 mul sqrt cvi def -/patternWidth patternHeight def -/patternByteWidth patternWidth 8 idiv def -/imageByteMaxLength imageByteWidth imageHeight mul -stringLimit patternByteWidth sub min def -/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv -patternHeight mul patternHeight max def -/imageHeight imageHeight imageMaxHeight sub store -/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def -0 1 imageMaxHeight 1 sub { -/y exch def -/patternRow y patternByteWidth mul patternByteLength mod def -/patternRowString patternString patternRow patternByteWidth getinterval def -/imageRow y imageByteWidth mul def -0 patternByteWidth imageByteWidth 1 sub { -/x exch def -imageString imageRow x add patternRowString putinterval -} for -} for -imageString -end -} dup 0 12 dict put def - -/min { -dup 3 2 roll dup 4 3 roll lt { exch } if pop -} def - -/max { -dup 3 2 roll dup 4 3 roll gt { exch } if pop -} def - -/midpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 x1 add 2 div -y0 y1 add 2 div -end -} dup 0 4 dict put def - -/thirdpoint { -0 begin -/y1 exch def -/x1 exch def -/y0 exch def -/x0 exch def -x0 2 mul x1 add 3 div -y0 2 mul y1 add 3 div -end -} dup 0 4 dict put def - -/subspline { -0 begin -/movetoNeeded exch def -y exch get /y3 exch def -x exch get /x3 exch def -y exch get /y2 exch def -x exch get /x2 exch def -y exch get /y1 exch def -x exch get /x1 exch def -y exch get /y0 exch def -x exch get /x0 exch def -x1 y1 x2 y2 thirdpoint -/p1y exch def -/p1x exch def -x2 y2 x1 y1 thirdpoint -/p2y exch def -/p2x exch def -x1 y1 x0 y0 thirdpoint -p1x p1y midpoint -/p0y exch def -/p0x exch def -x2 y2 x3 y3 thirdpoint -p2x p2y midpoint -/p3y exch def -/p3x exch def -movetoNeeded { p0x p0y moveto } if -p1x p1y p2x p2y p3x p3y curveto -end -} dup 0 17 dict put def - -/storexyn { -/n exch def -/y n array def -/x n array def -n 1 sub -1 0 { -/i exch def -y i 3 2 roll put -x i 3 2 roll put -} for -} def - -/SSten { -fgred fggreen fgblue setrgbcolor -dup true exch 1 0 0 -1 0 6 -1 roll matrix astore -} def - -/FSten { -dup 3 -1 roll dup 4 1 roll exch -newpath -0 0 moveto -dup 0 exch lineto -exch dup 3 1 roll exch lineto -0 lineto -closepath -bgred bggreen bgblue setrgbcolor -eofill -SSten -} def - -/Rast { -exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore -} def - -%%EndProlog - -%I Idraw 10 Grid 3.67086 3.67086 - -%%Page: 1 1 - -Begin -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 0.772203 0 0 0.772203 0 0 ] concat -/originalCTM matrix currentmatrix def - -Begin %I Pict -%I b u -%I cfg u -%I cbg u -%I f u -%I p u -%I t -[ 1 0 0 1 -196.5 223 ] concat - -Begin %I Poly -%I b 65535 -0 0 0 [] 0 SetB -%I cfg Black -0 0 0 SetCFg -%I cbg White -1 1 1 SetCBg -%I p -0 SetP -%I t -[ 0.5 0 0 0.5 59 698.5 ] concat -%I 4 -546 -265 -546 87 -456 87 -456 -265 -4 Poly -End - -Begin %I Text -%I cfg White -1 1 1 SetCFg -%I f *-helvetica-bold-r-*-240-* -Helvetica-Bold 24 SetF -%I t -[ -5.05627e-08 1.15674 -1.15674 -5.05627e-08 300.993 577.5 ] concat -%I -[ -(Variable) -] Text -End - -End %I eop - -End %I eop - -showpage - -%%Trailer - -end diff --git a/Manual_tools/format/index_test.tex b/Manual_tools/format/index_test.tex deleted file mode 100644 index 879d27bf707..00000000000 --- a/Manual_tools/format/index_test.tex +++ /dev/null @@ -1,1825 +0,0 @@ -% ---------------------------------------------------------------------- -% Test document for the CGAL manual LaTeX style: -% -% 17.09.1999 Susan Hert -% -% ---------------------------------------------------------------------- -\documentclass{article} - -\usepackage{cprog} -\usepackage{cc_manual} -\usepackage{makeidx} - -\ccDefGlobalScope{CGAL::} - -% page dimensions -% --------------- -\textwidth 15.6cm -\textheight 23cm -\topmargin -14mm -\evensidemargin 3mm -\oddsidemargin 3mm - - -\makeindex - -\sloppy - -% ---------------------------------------------------------------------- -\title{Test suite for the cc\_manual\_index.sty} -\author{Susan Hert} -\date{\ccRevision. \ccDate} - -\begin{document} - -\maketitle - -\section{Introduction} - -This document is a test suite for the \LaTeX\ style file -{\tt cc\_manual\_index.sty}. There is minimal text in the document save -for the index itself. Document text is used simply to make sure the -indexing commands introduce no extra spaces or other characters. -Please send bug-reports to {\tt hert@mpi-sb.mpg.de}. - -% ---------------------------------------------------------------------- -\section{Operators} - -This is a test of ccIndexGlobalOperator\ccIndexGlobalOperator{==}{class_name}. - -\subsection{Global operators for classes without template parameters} - -\ccFunction{ ostream& operator << ( ostream& os, const PT& p);}{ } -\ccFunction{ istream& operator >> ( istream& is, PT& p);}{ } - - \ccFunction{Ptr_Class - operator->(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator[](ClassA p, int i);}{} - - \ccFunction{ClassA - operator()(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i, int j);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i, int j, int k);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, - const A& a, B& b, C c, const D& d, ClassA - e);}{all number and types of parameters are possible.} - - \ccFunction{ClassA - operator++(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator++(ClassA p, int);}{The postfix incr.\ operator - has a hidden {\tt int} parameter that the formatting does not show.} - - \ccFunction{ClassA - operator--(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator--(ClassA p, int);}{} - - \ccFunction{ClassA - operator~(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator!(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator-(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator+(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator&(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator*(ClassA p);}{} - \ccFunction{Member_Ptr - operator->*(ClassA p);}{} - - \ccFunction{ClassA - operator*(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator/(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator%(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator+(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator-(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<<(ClassA p, int i);}{} - \ccGlue - \ccFunction{ClassA - operator>>(ClassA p, int i);}{} - - \ccFunction{ClassA - operator<(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator==(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator!=(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator&(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator^(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator|(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator&&(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator||(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator*=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator/=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator%=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator+=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator-=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<<=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>>=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator&=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator|=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator^=(ClassA p, ClassA q);}{} - - -\subsection{Global operators for classes with template parameters.} - -\ccFunction{ ostream& operator << ( ostream& os, - const Min_circle_2& min_circle);}{} - -\ccFunction{ istream& operator >> ( istream& is, - Min_circle_2& min_circle);}{} -\ccFunction{ Window_stream& - operator << ( Window_stream& ws, - const Min_circle_2& min_circle);}{} - - \ccFunction{Ptr_Class - operator->(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator[](ClassA p, int i);}{} - - \ccFunction{ClassA - operator()(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i, int j);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i, int j, int k);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, - const A& a, B& b, C c, const D& d, ClassA - e);}{all number and types of parameters are possible.} - - \ccFunction{ClassA - operator++(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator++(ClassA p, int);}{The postfix incr.\ operator - has a hidden {\tt int} parameter that the formatting does not show.} - - \ccFunction{ClassA - operator--(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator--(ClassA p, int);}{} - - \ccFunction{ClassA - operator~(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator!(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator-(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator+(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator&(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator*(ClassA p);}{} - \ccFunction{Member_Ptr - operator->*(ClassA p);}{} - - \ccFunction{ClassA - operator*(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator/(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator%(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator+(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator-(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<<(ClassA p, int i);}{} - \ccGlue - \ccFunction{ClassA - operator>>(ClassA p, int i);}{} - - \ccFunction{ClassA - operator<(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator==(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator!=(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator&(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator^(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator|(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator&&(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator||(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator*=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator/=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator%=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator+=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator-=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<<=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>>=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator&=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator|=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator^=(ClassA p, ClassA q);}{} - -\subsection{Operator member functions for nontemplated class} - -\ccCreationVariable{c} -\begin{ccClass}{ClassC} - \ccMethod{Ptr_Class operator->();}{} - \ccGlue - \ccMethod{ClassB operator[](int i);}{} - - \ccMethod{ClassB operator()();}{} - \ccGlue - \ccMethod{ClassB operator()(int i);}{} - \ccGlue - \ccMethod{ClassB - operator()(int i, int j);}{} - \ccGlue - \ccMethod{ClassB - operator()(int i, int j, int k);}{} - \ccGlue - \ccMethod{ClassB - operator()(const A& a, B& b, C c, const D& d, ClassA - e);}{all number and types of parameters are possible.} - - \ccMethod{ClassC operator++();}{} - \ccGlue - \ccMethod{ClassC operator++(int);}{The postfix incr.\ operator - has a hidden {\tt int} parameter that the formatting does not show.} - - \ccMethod{ClassC - operator--();}{} - \ccGlue - \ccMethod{ClassC - operator--(int);}{} - - \ccMethod{void operator~();}{} - \ccGlue - \ccMethod{ClassC operator!();}{} - \ccGlue - \ccMethod{ClassC operator-();}{} - \ccGlue - \ccMethod{ClassC operator+();}{} - \ccGlue - \ccMethod{ClassC operator&();}{} - \ccGlue - \ccMethod{ClassC - operator*();}{} - \ccMethod{Member_Ptr operator->*();}{} - - \ccMethod{ClassC operator*(ClassC q);}{} - \ccGlue - \ccMethod{ClassC operator/(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator%(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator+(ClassC q);}{} - \ccGlue - \ccMethod{ClassC operator-(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator<<(int i);}{} - \ccGlue - \ccMethod{ClassC - operator>>(int i);}{} - - \ccMethod{ClassC - operator<(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator<=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator>(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator>=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator==(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator!=(ClassC q);}{} - - \ccMethod{ClassC - operator&(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator^(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator|(ClassC q);}{} - - \ccMethod{ClassC - operator&&(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator||(ClassC q);}{} - - \ccMethod{ClassC - operator=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator*=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator/=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator%=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator+=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator-=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator<<=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator>>=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator&=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator|=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator^=(ClassC q);}{} -\end{ccClass} - -\subsection{Operator member functions for templated class} - -\ccCreationVariable{ct} -\begin{ccClass}{ClassC} - \ccMethod{Ptr_Class operator->();}{} - \ccGlue - \ccMethod{ClassB operator[](int i);}{} - - \ccMethod{ClassB operator()();}{} - \ccGlue - \ccMethod{ClassB operator()(int i);}{} - \ccGlue - \ccMethod{ClassB - operator()(int i, int j);}{} - \ccGlue - \ccMethod{ClassB - operator()(int i, int j, int k);}{} - \ccGlue - \ccMethod{ClassB - operator()(const A& a, B& b, C c, const D& d, ClassA - e);}{all number and types of parameters are possible.} - - \ccMethod{ClassC operator++();}{} - \ccGlue - \ccMethod{ClassC operator++(int);}{The postfix incr.\ operator - has a hidden {\tt int} parameter that the formatting does not show.} - - \ccMethod{ClassC - operator--();}{} - \ccGlue - \ccMethod{ClassC - operator--(int);}{} - - \ccMethod{void operator~();}{} - \ccGlue - \ccMethod{ClassC operator!();}{} - \ccGlue - \ccMethod{ClassC operator-();}{} - \ccGlue - \ccMethod{ClassC operator+();}{} - \ccGlue - \ccMethod{ClassC operator&();}{} - \ccGlue - \ccMethod{ClassC - operator*();}{} - \ccMethod{Member_Ptr operator->*();}{} - - \ccMethod{ClassC operator*(ClassC q);}{} - \ccGlue - \ccMethod{ClassC operator/(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator%(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator+(ClassC q);}{} - \ccGlue - \ccMethod{ClassC operator-(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator<<(int i);}{} - \ccGlue - \ccMethod{ClassC - operator>>(int i);}{} - - \ccMethod{ClassC - operator<(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator<=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator>(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator>=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator==(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator!=(ClassC q);}{} - - \ccMethod{ClassC - operator&(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator^(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator|(ClassC q);}{} - - \ccMethod{ClassC - operator&&(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator||(ClassC q);}{} - - \ccMethod{ClassC - operator=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator*=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator/=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator%=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator+=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator-=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator<<=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator>>=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator&=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator|=(ClassC q);}{} - \ccGlue - \ccMethod{ClassC - operator^=(ClassC q);}{} -\end{ccClass} - -%------------------------------------------------------------------------------ -%------------------------------------------------------------------------------ -\section{Classes, templated and otherwise} - -%------------------------------------------------------------------------------ -\subsection{A nontemplated class} -\begin{ccClass}{class_name} -This is a test of ccIndexMemberFunction\ccIndexMemberFunction{member_function1} - -This is a test of ccIndexMemberFunction\ccIndexMemberFunction{member_function2} - -This is a test of ccIndexMemberFunction\ccIndexMemberFunction{member_function1} - -This is a test of ccIndexClassCreation\ccIndexClassCreation. -This is a test of ccIndexClassDefault\ccIndexClassDefault. -\begin{ccIndexMemberFunctions} -\ccMethod{class_name operator()() const;} - {} - -group1\ccIndexMemberFunctionGroup{group1}. -group2\ccIndexMemberFunctionGroup{group2}. -\end{ccIndexMemberFunctions} -This is a test of ccIndexNestedClasses\ccIndexNestedClasses. -This is a test of ccIndexClassTypes\ccIndexClassTypes. -This is a test of ccIndexAssertionFlag\ccIndexAssertionFlag[class package]. -impelmentation\ccIndexImplementation.where is this -requirements\ccIndexRequirements.where is this - -\begin{ccIndexGlobalFunctions} -\pagebreak -group1\ccIndexGlobalFunctionGroup{group1}.where is this - -\end{ccIndexGlobalFunctions} - - -\end{ccClass} - -%------------------------------------------------------------------------------ -\subsection{A templated class} - -\begin{ccClassTemplate}{class_name} -This is a test of ccIndexMemberFunction\ccIndexMemberFunction{member_function1} - -This is a test of ccIndexMemberFunction\ccIndexMemberFunction{member_function2} - -This is a test of ccIndexMemberFunction\ccIndexMemberFunction{member_function1} - -This is a test of ccIndexClassCreation\ccIndexClassCreation. -This is a test of ccIndexClassDefault\ccIndexClassDefault. -\begin{ccIndexMemberFunctions} -\ccMethod{class_name operator()() const;} - {} - -group1\ccIndexMemberFunctionGroup{group1}. -group2\ccIndexMemberFunctionGroup{group2}. -\end{ccIndexMemberFunctions} -This is a test of ccIndexNestedClasses\ccIndexNestedClasses. -This is a test of ccIndexClassTypes\ccIndexClassTypes. -This is a test of ccIndexAssertionFlag\ccIndexAssertionFlag[templated class package]. -\begin{ccIndexGlobalFunctions} -\pagebreak -group1\ccIndexGlobalFunctionGroup{group1}.where is this - -\end{ccIndexGlobalFunctions} - -impelmentation\ccIndexImplementation.where is this - -requirements\ccIndexRequirements.where is this -\begin{ccIndexGlobalFunctions} -\pagebreak -group1\ccIndexGlobalFunctionGroup{group1}.where is this - -\end{ccIndexGlobalFunctions} - -\end{ccClassTemplate} - -\begin{ccClassTemplate}{R<>} -\ccSection{Representation Class} -\pagebreak - -\ccStyle{template } - \ccFunction{ - bool operator!=(const CGAL_Polygon_2& p1, - const CGAL_Polygon_2& p2);} - { Test for inequality. } - - \ccMethod{Traits::X_curve &curve();}{return the curve - that this edge represents.} -\ccMethod{bool operator==(const CGAL_Point_2 &q) const;} - {Test for equality. Two points are equal, iff their $x$ and $y$ - coordinates are equal. The point can be compared with - \ccc{CGAL_ORIGIN}.} - -\ccMemberFunction{ bool has_on_boundary( Point const& p) const;}{ - returns \ccc{true}, iff \ccc{p} lies on the boundary - of \ccVar.} - - -\ccMemberFunction{ bool operator== (const CGAL_Point_d& p) const;} - {Equality test. Two points are equal if they have the same - dimension and agree in all coordinates.} - -\ccMemberFunction{ bool operator != (const CGAL_Point_d& p) const;} - {Test for inequality.} - - -\ccMemberFunction{ R::RT homogeneous( int i) const;} - {returns the i'th homogeneous coordinate of \ccVar, starting - with 0. \ccPrecond $0\leq i\leq \ccc{d}$.} -\end{ccClassTemplate} - - -\begin{ccClassTemplate}{CGAL_Cartesian} -\ccSubsection{Cartesian Representation} -\pagebreak -\end{ccClassTemplate} - -%------------------------------------------------------------------------------ -\subsection{A package} - -\begin{ccPackage}{package} -This is a test of ccIndexAssertionFlag\ccIndexAssertionFlag.where is this - -This is a test of ccIndexDesign\ccIndexDesign.where is this - -\begin{ccIndexGlobalFunctions} -\pagebreak - -group1\ccIndexGlobalFunctionGroup{group1}.where is this - -\end{ccIndexGlobalFunctions} -impelmentation\ccIndexImplementation.where is this -requirements\ccIndexRequirements.where is this -\end{ccPackage} - -%------------------------------------------------------------------------------ -\subsection{Traits class default and requirements} - -testing ccIndexTraitsClassDefault\ccIndexTraitsClassDefault{class_name}.where is this -testing ccIndexTraitsClassDefault\ccIndexTraitsClassDefault{class_name}.where is this -testing ccIndexTraitsClassDefault[p]\ccIndexTraitsClassDefault[p]{package}.where is this -testing ccIndexTraitsClassRequirements\ccIndexTraitsClassRequirements{class_name}.where is this -testing ccIndexTraitsClassRequirements\ccIndexTraitsClassRequirements{class_name}.where is this -testing ccIndexTraitsClassRequirements[p]\ccIndexTraitsClassRequirements[p]{package}.where is this - -\begin{ccTraitsClassTemplate}{traits_class2}{class_name}{package} -\end{ccTraitsClassTemplate} - -\begin{ccTraitsClass}{traits_class2}{class_name}{package} -\end{ccTraitsClass} - -%------------------------------------------------------------------------------ -\section{Enum auto indexing} - -\ccEnum{CGAL_IO::Mode = {ASCII = 0, BINARY, PRETTY};}{} -\ccEnum{myEnum = {ONE = 0, TWO, THREE};}{} - -\ccGlobalEnum{enum CGAL_Oriented_side { CGAL_ON_NEGATIVE_SIDE = -1, - CGAL_ON_ORIENTED_BOUNDARY, - CGAL_POSITIVE_SIDE }; -} -This is a test of ccIndexEnum\ccIndexEnum{CGAL_Enum}. -This is a test of ccIndexEnumTag\ccIndexEnumTag{CGAL_Enum_tag}. - -%------------------------------------------------------------------------------ -\section{Typedefs} - -\ccTypedef{typedef leda_point Point_2; }{} - -This is a test of ccIndexTypedef\ccIndexTypedef{CGAL_typedef}. -This is a test of ccIndexTypedef\ccIndexTypedef{CGAL_typedef }. -This is a test of ccIndexTypedef\ccIndexTypedef{ CGAL_typedef }. - -%------------------------------------------------------------------------------ -\section{Global variables} - -\ccGlobalVariable{const CGAL_Orientation CGAL_LEFTTURN = CGAL_POSITIVE;} -\ccGlue -\ccGlobalVariable{const CGAL_Orientation CGAL_RIGHTTURN = CGAL_NEGATIVE;} - -This is a test of ccIndexGlobalVariable\ccIndexGlobalVariable{CGAL_global_variable}. - -%------------------------------------------------------------------------------ -\section{Global Constants} -This is a test of ccIndexGlobalConstant\ccIndexGlobalConstant{CGAL_global_constant}. - -%------------------------------------------------------------------------------ -\section{Macros} -This is a test of ccIndexMacro\ccIndexMacro{MACRO}. - -%------------------------------------------------------------------------------ -\section{Global Function} -This is a test of ccIndexGlobalFunction\ccIndexGlobalFunction{CGAL_global_function}. - -%------------------------------------------------------------------------------ -\section{Global structs} - -This is a test of ccIndexGlobalStruct\ccIndexGlobalStruct{CGAL_global_struct}. - -\ccStruct{template class Polyhedron_facet_base_3 {};}{} - -%------------------------------------------------------------------------------ -\section{AssertionFlags} - -This is a test of ccIndexAssertionFlagsUse\ccIndexAssertionFlagsUse. - -This is a test of ccIndexAssertionFlagName\ccIndexAssertionFlagName{CGAL_NAME_CHECK_EXPENSIVE}. - - -%------------------------------------------------------------------------------ -\section{Abbreviations} - -This is a test of ccIndexAbbreviation\ccIndexAbbreviation{ABBR}{abbreviation}. -testing\ccIndexMainItem[t]{convex hull} -abbreviation\ccIndexAbbreviation{CH}{\bf convex hull} -abbreviation\ccIndexAbbreviation{CH2}{convex hull} -abbreviation\ccIndexAbbreviation{\it CH3}{\bf convex hull} -\ccIndexAbbreviation{NF}{normal font} - -%------------------------------------------------------------------------------ -\section{The raw indexing commands} - -%------------------------------------------------------------------------------ -\subsection{Data structures} - -%------------------------------------------------------------------------------ -\subsubsection{with regular modifier} - -%%% DATA STRUCTURES, MODIFIED (2D) -This is a test of ccIndexMainItemDef[d]\ccIndexMainItemDef[d]{data structure, 2D}. -This is a test of ccIndexMainItemDef[d]\ccIndexMainItemDef[d]{\sc data structure, 2D}. -This is a test of ccIndexMainItemDef[d]\ccIndexMainItemDef[d]{\sc fourth data structure, 2D}. -This is a test of ccIndexSubitemDef[d]\ccIndexSubitemDef[d]{data structure, 2D}{data structure subitem}. -This is a test of ccIndexSubitemDef[d] with subitem font\ccIndexSubitemDef[d]{data structure, 2D}{\sc data structure subitem in sc}. -This is a test of ccIndexSubsubitemDef[d]\ccIndexSubsubitem[d]{data structure, 2D}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[d]\ccIndexSubsubitemDef[d]{data structure, 2D}{data structure subitem}{\sc data structure subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[d]\ccIndexSubsubitemDef[d]{data structure, 2D}{\sc data structure subitem in sc}{\sc data structure subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItemBegin[d]\ccIndexMainItemBegin[d]{\sc data structure, 2D}. -This is a test of ccIndexMainItemBegin[d]\ccIndexMainItemBegin[d]{\sc third data structure, 2D}. -This is a test of ccIndexMainItemEnd[d]\ccIndexMainItemEnd[d]{\sc data structure, 2D}. -This is a test of ccIndexMainItemEnd[d]\ccIndexMainItemEnd[d]{\sc third data structure, 2D}. - -This is a test of ccIndexSubitem[d]\ccIndexSubitem[d]{data structure, 2D}{data structure subitem}. -This is a test of ccIndexSubitemBegin[d]\ccIndexSubitemBegin[d]{data structure, 2D}{data structure subitem}. -This is a test of ccIndexSubitem[d] with subitem font\ccIndexSubitem[d]{data structure, 2D}{\ccFont data structure subitem in ccFont}. -This is a test of ccIndexSubitemBegin[d] with subitem font\ccIndexSubitemBegin[d]{data structure, 2D}{\bf data structure subitem in bf}. - -This is a test of ccIndexSubsubitem[d]\ccIndexSubsubitem[d]{data structure, 2D}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitemBegin[d]\ccIndexSubsubitemBegin[d]{data structure, 2D}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[d]\ccIndexSubsubitem[d]{data structure, 2D}{\ccFont data structure subitem in ccFont}{data structure subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[d]\ccIndexSubsubitemBegin[d]{data structure, 2D}{\bf data structure subitem in bf}{data structure subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[d]\ccIndexSubsubitem[d]{data structure, 2D}{data structure subitem}{\ccFont data structure subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[d]\ccIndexSubsubitemBegin[d]{data structure, 2D}{data structure subitem}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[d]\ccIndexSubsubitem[d]{data structure, 2D}{\ccFont data structure subitem in ccFont}{\ccFont data structure subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[d]\ccIndexSubsubitemBegin[d]{data structure, 2D}{\bf data structure subitem in bf}{\bf data structure subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[d] with subitem font\ccIndexSubitemEnd[d]{data structure, 2D}{\bf data structure subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[d]\ccIndexSubsubitemEnd[d]{data structure, 2D}{\bf data structure subitem in bf}{data structure subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[d]\ccIndexSubsubitemEnd[d]{data structure, 2D}{data structure subitem}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[d]\ccIndexSubsubitemEnd[d]{data structure, 2D}{\bf data structure subitem in bf}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubitemEnd[d]\ccIndexSubitemEnd[d]{data structure, 2D}{data structure subitem}. -This is a test of ccIndexSubsubitemEnd[d]\ccIndexSubsubitemEnd[d]{data structure, 2D}{data structure subitem}{data structure subsubitem}. - - - -%------------------------------------------------------------------------------ -\subsubsection{with non-special modifier} - -\pagebreak -%%% DATA STRUCTURES, MODIFIED -This is a test of ccIndexMainItemDef[d]\ccIndexMainItemDef[d]{data structure, modified}. -This is a test of ccIndexSubitemDef[d]\ccIndexSubitemDef[d]{data structure, modified}{data structure subitem}. -This is a test of ccIndexSubitemDef[d] with subitem font\ccIndexSubitemDef[d]{data structure, modified}{\sc data structure subitem in sc}. -This is a test of ccIndexSubsubitemDef[d]\ccIndexSubsubitemDef[d]{data structure, modified}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[d]\ccIndexSubsubitemDef[d]{data structure, modified}{\sc data structure subitem in sc}{data structure subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[d]\ccIndexSubsubitemDef[d]{data structure, modified}{data structure subitem}{\sc data structure subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[d]\ccIndexSubsubitemDef[d]{data structure, modified}{\sc data structure subitem in sc}{\sc data structure subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[d]\ccIndexMainItem[d]{data structure, modified}. -This is a test of ccIndexMainItem[d]\ccIndexMainItem[d]{data structure, modified}. -This is a test of ccIndexMainItem[d]\ccIndexMainItem[d]{data structure, otherwise modified}. -This is a test of ccIndexMainItem[d]\ccIndexMainItem[d]{second data structure, otherwise modified}. -This is a test of ccIndexMainItemBegin[d]\ccIndexMainItemBegin[d]{data structure, modified}. -This is a test of ccIndexMainItemBegin[d]\ccIndexMainItemBegin[d]{third data structure, modified}. - -This is a test of ccIndexSubitem[d]\ccIndexSubitem[d]{data structure, modified}{data structure subitem}. -This is a test of ccIndexSubitemBegin[d]\ccIndexSubitemBegin[d]{data structure, modified}{data structure subitem}. -This is a test of ccIndexSubitem[d] with subitem font\ccIndexSubitem[d]{data structure, modified}{\ccFont data structure subitem in ccFont}. -This is a test of ccIndexSubitemBegin[d] with subitem font\ccIndexSubitemBegin[d]{data structure, modified}{\bf data structure subitem in bf}. - -This is a test of ccIndexSubsubitem[d]\ccIndexSubsubitem[d]{data structure, modified}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitemBegin[d]\ccIndexSubsubitemBegin[d]{data structure, modified}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[d]\ccIndexSubsubitem[d]{data structure, modified}{\ccFont data structure subitem in ccFont}{data structure subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[d]\ccIndexSubsubitemBegin[d]{data structure, modified}{\bf data structure subitem in bf}{data structure subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[d]\ccIndexSubsubitem[d]{data structure, modified}{data structure subitem}{\ccFont data structure subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[d]\ccIndexSubsubitemBegin[d]{data structure, modified}{data structure subitem}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[d]\ccIndexSubsubitem[d]{data structure, modified}{\ccFont data structure subitem in ccFont}{\ccFont data structure subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[d]\ccIndexSubsubitemBegin[d]{data structure, modified}{\bf data structure subitem in bf}{\bf data structure subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[d] with subitem font\ccIndexSubitemEnd[d]{data structure, modified}{\bf data structure subitem in bf}. -This is a test of ccIndexMainItemEnd[d]\ccIndexMainItemEnd[d]{third data structure, modified}. -This is a test of ccIndexSubsubitemEnd with subitem font[d]\ccIndexSubsubitemEnd[d]{data structure, modified}{\bf data structure subitem in bf}{data structure subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[d]\ccIndexSubsubitemEnd[d]{data structure, modified}{data structure subitem}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[d]\ccIndexSubsubitemEnd[d]{data structure, modified}{\bf data structure subitem in bf}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubitemEnd[d]\ccIndexSubitemEnd[d]{data structure, modified}{data structure subitem}. -This is a test of ccIndexSubsubitemEnd[d]\ccIndexSubsubitemEnd[d]{data structure, modified}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexMainItemEnd[d]\ccIndexMainItemEnd[d]{data structure, modified}. - -%------------------------------------------------------------------------------ -\subsubsection{without modifier} -%%% DATA STRUCTURES -This is a test of ccIndexMainItemDef[d]\ccIndexMainItemDef[d]{data structure}. -This is a test of ccIndexSubitemDef[d]\ccIndexSubitemDef[d]{data structure}{data structure subitem}. -This is a test of ccIndexSubitemDef[d] with subitem font\ccIndexSubitemDef[d]{data structure}{\sc data structure subitem in sc}. -This is a test of ccIndexSubsubitemDef[d]\ccIndexSubsubitemDef[d]{data structure}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[d]\ccIndexSubsubitemDef[d]{data structure}{\sc data structure subitem in sc}{data structure subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[d]\ccIndexSubsubitemDef[d]{data structure}{data structure subitem}{\sc data structure subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[d]\ccIndexSubsubitemDef[d]{data structure}{\sc data structure subitem in sc}{\sc data structure subsubitem in sc}. -\pagebreak -This is a test of ccIndexMainItem[d]\ccIndexMainItem[d]{data structure}. -This is a test of ccIndexMainItemBegin[d]\ccIndexMainItemBegin[d]{data structure}. - -This is a test of ccIndexSubitem[d]\ccIndexSubitem[d]{data structure}{data structure subitem}. -This is a test of ccIndexSubitemBegin[d]\ccIndexSubitemBegin[d]{data structure}{data structure subitem}. -This is a test of ccIndexSubitem[d] with subitem font\ccIndexSubitem[d]{data structure}{\ccFont data structure subitem in ccFont}. -This is a test of ccIndexSubitemBegin[d] with subitem font\ccIndexSubitemBegin[d]{data structure}{\bf data structure subitem in bf}. - -This is a test of ccIndexSubsubitem[d]\ccIndexSubsubitem[d]{data structure}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitemBegin[d]\ccIndexSubsubitemBegin[d]{data structure}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[d]\ccIndexSubsubitem[d]{data structure}{\ccFont data structure subitem in ccFont}{data structure subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[d]\ccIndexSubsubitemBegin[d]{data structure}{\bf data structure subitem in bf}{data structure subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[d]\ccIndexSubsubitem[d]{data structure}{data structure subitem}{\ccFont data structure subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[d]\ccIndexSubsubitemBegin[d]{data structure}{data structure subitem}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[d]\ccIndexSubsubitem[d]{data structure}{\ccFont data structure subitem in ccFont}{\ccFont data structure subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[d]\ccIndexSubsubitemBegin[d]{data structure}{\bf data structure subitem in bf}{\bf data structure subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[d] with subitem font\ccIndexSubitemEnd[d]{data structure}{\bf data structure subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[d]\ccIndexSubsubitemEnd[d]{data structure}{\bf data structure subitem in bf}{data structure subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[d]\ccIndexSubsubitemEnd[d]{data structure}{data structure subitem}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[d]\ccIndexSubsubitemEnd[d]{data structure}{\bf data structure subitem in bf}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubitemEnd[d]\ccIndexSubitemEnd[d]{data structure}{data structure subitem}. -This is a test of ccIndexSubsubitemEnd[d]\ccIndexSubsubitemEnd[d]{data structure}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexMainItemEnd[d]\ccIndexMainItemEnd[d]{data structure}. - - -Texting index with empty font\ccIndexMainItem{\ccIndexDSFont empty ds font} -Testing index with non-empty font\ccIndexMainItem{\ccFont ccFont entry} -Testing index with non-empty font\ccIndexMainItem{\bf bf entry} - - - -%------------------------------------------------------------------------------ -\subsection{MainItem, Subitem, Subsubitem entries} - -\pagebreak -This is a test of ccIndexMainItemDef\ccIndexMainItemDef{item definition}. -This is a test of ccIndexMainItemDef with font\ccIndexMainItemDef[C]{item definition in ccFont}. -This is a test of ccIndexSubitemDef\ccIndexSubitemDef{item}{subitem defintion}. -This is a test of ccIndexSubitemDef with font\ccIndexSubitemDef[C]{item}{\ccFont subitem definition in ccFont}. -This is a test of ccIndexSubsubitemDef\ccIndexSubsubitemDef{item}{subitem}{subsubitem definition in ccFont}. -This is a test of ccIndexSubsubitemDef with font\ccIndexSubsubitemDef{item}{subitem}{\ccFont subsubitem definition in ccFont}. -This is a test of ccIndexSubsubitemDef with font\ccIndexSubsubitemDef{item}{subitem}{\ccFont subsubitem definition in ccFont}. -This is a test of ccIndexSubsubitemDef with main item font\ccIndexSubsubitemDef[C]{item}{subitem}{subsubitem}. -This is a test of ccIndexSubsubitemDef with main item and subitem font\ccIndexSubsubitemDef{\bf item in bf}{\ccFont subitem in ccFont}{subsubitem}. -This is a test of ccIndexSubsubitemDef with main item, subitem, and subsubitem font\ccIndexSubsubitemDef{\bf item in bf}{\ccFont subitem in ccFont}{\bf subsubitem in bf}. -\pagebreak -Testing main item\ccIndexMainItem{main}. -Testing first subitem\ccIndexSubitem{main}{first subitem}. -Testing second subitem\ccIndexSubitem{main}{second subitem}. -Testing third subitem\ccIndexSubitem{main}{thrid subitem}. -Testing subitemSeeAlso\ccIndexSubitemSeeAlso{main}{\bf subitem}. -Testing subitemSeeAlso\ccIndexSubitemSeeAlso{main}{\bf subitem, modified}. -Testing subsubitemSeeAlso\ccIndexSubsubitemSeeAlso{main}{\bf subitem}{subsubitem}. -Testing subsubitemSeeAlso\ccIndexSubsubitemSeeAlso{main}{\bf subitem}{subsubitem, modifed}. -Testing subsubitemSeeAlso\ccIndexSubsubitemSeeAlso{main}{\bf subitem}{\ccFont subsubitem, modifed}. - -test with font\ccIndexMainItem{\bf bf font}. -Test with no font at all\ccIndexMainItem{no font}. - -Testing index with empty font\ccIndexMainItem{\ccIndexDSFont empty ds font} -This is a test of IndexSubsubitem\ccIndexSubsubitem{\ccFont item}{\ccFont CGAL_class1}{\ccFont class1_traits_class}. - -testing with ccFont\ccIndexMainItem{\ccFont with ccFont}What font? - -testing main item\ccIndexMainItem{no category}. -testing subitem item\ccIndexSubitem{no category}{subitem}. - - -testing subitem without font\ccIndexSubitem{main}{subitem}where is this? - -testing subitem with font\ccIndexSubitem{main}{\it subitem it font}where is this? -testing subitem with main font\ccIndexSubitem{\bf main with bf font}{subitem}where is this? -testing subitem with two fonts\ccIndexSubitem{\sc main sc font}{\it subitm it font}where is this? - - -testing with font\ccIndexMainItem{\bf test with font}where is this? -testing without font\ccIndexMainItem{test without font}where is this? - - -testing CC with font\ccIndexMainItem[C]{\bf test CC with font}where is this? -testing CC without font\ccIndexMainItem[C]{test CC without font}where is this? - -This is a test of ccIndexMainItem\ccIndexMainItem{item}. -This is a test of ccIndexMainItem with font\ccIndexMainItem[C]{item in ccFont} -This is a test of ccIndexMainItem with font\ccIndexMainItem{\bf item in bf} - - -This is a test of ccIndexMainItemBegin\ccIndexMainItemBegin{item begin}. -This is a test of ccIndexMainItemBegin with font\ccIndexMainItemBegin[C]{item begin in ccFont} - -\pagebreak - -This is a test of ccIndexMainItemEnd\ccIndexMainItemEnd{item begin}. -This is a test of ccIndexMainItemEnd with font\ccIndexMainItemEnd[C]{item begin in ccFont} - - -This is a test of ccIndexSubitem\ccIndexSubitem{item}{subitem}. -This is a test of ccIndexSubitem with font\ccIndexSubitem[C]{item}{\ccFont subitem in ccFont}. - - -This is a test of ccIndexSubitem with main item font\ccIndexSubitem{\ccFont item in ccFont}{subitem}. -This is a test of ccIndexSubitem with main item font\ccIndexSubitem{\bf item in bf}{subitem}. -This is a test of ccIndexSubitem with main item and subitem font\ccIndexSubitem[C]{item in ccFont}{\ccFont subitem in ccFont}. - -This is a test of ccIndexSubitemBegin\ccIndexSubitemBegin{item}{subitem begin}. -This is a test of ccIndexSubitemBegin with font\ccIndexSubitemBegin[C]{item}{subitem begin in ccFont}. - -\pagebreak - -This is a test of ccIndexSubitemEnd\ccIndexSubitemEnd{item}{subitem begin}. -This is a test of ccIndexSubitemEnd with font\ccIndexSubitemEnd[C]{item}{subitem begin in ccFont}. - -This is a test of ccIndexSubsubitem\ccIndexSubsubitem{item}{subitem}{subsubitem}. -This is a test of ccIndexSubsubitem with font\ccIndexSubsubitem[C]{item}{subitem}{\ccFont subsubitem in ccFont}. - -This is a test of ccIndexSubsubitemBegin\ccIndexSubsubitemBegin{item}{subitem}{subsubitem begin}. -This is a test of ccIndexSubsubitemBegin with font\ccIndexSubsubitemBegin[C]{item}{subitem}{subsubitem begin}. - -\pagebreak -This is a test of ccIndexSubsubitemEnd\ccIndexSubsubitemEnd{item}{subitem}{subsubitem begin}. -This is a test of ccIndexSubsubitemEnd with font\ccIndexSubsubitemEnd[C]{item}{subitem}{subsubitem begin}. - - - -\pagebreak - - -%------------------------------------------------------------------------------ -\subsection{Concepts} - -%------------------------------------------------------------------------------ -\subsubsection{with modifier} - -%%% CONCEPTS, modified -This is a test of ccIndexMainItemDef[c]\ccIndexMainItemDef[c]{concept, modified}. -This is a test of ccIndexSubitemDef[c]\ccIndexSubitemDef[c]{concept, modified}{concept subitem}. -This is a test of ccIndexSubitemDef[c] with subitem font\ccIndexSubitemDef[c]{concept, modified}{\sc concept subitem in sc}. -This is a test of ccIndexSubsubitemDef[c]\ccIndexSubsubitemDef[c]{concept, modified}{concept subitem}{concept subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[c]\ccIndexSubsubitemDef[c]{concept, modified}{\sc concept subitem in sc}{concept subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[c]\ccIndexSubsubitemDef[c]{concept, modified}{concept subitem}{\sc concept subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[c]\ccIndexSubsubitemDef[c]{concept, modified}{\sc concept subitem in sc}{\sc concept subsubitem in sc}. -\pagebreak -This is a test of ccIndexMainItem[c]\ccIndexMainItem[c]{concept, modified}. -This is a test of ccIndexMainItemBegin[c]\ccIndexMainItemBegin[c]{concept, modified}. - -This is a test of ccIndexSubitem[c]\ccIndexSubitem[c]{concept, modified}{concept subitem}. -This is a test of ccIndexSubitemBegin[c]\ccIndexSubitemBegin[c]{concept, modified}{concept subitem}. -This is a test of ccIndexSubitem[c] with subitem font\ccIndexSubitem[c]{concept, modified}{\ccFont concept subitem in ccFont}. -This is a test of ccIndexSubitemBegin[c] with subitem font\ccIndexSubitemBegin[c]{concept, modified}{\bf concept subitem in bf}. - -This is a test of ccIndexSubsubitem[c]\ccIndexSubsubitem[c]{concept, modified}{concept subitem}{concept subsubitem}. -This is a test of ccIndexSubsubitemBegin[c]\ccIndexSubsubitemBegin[c]{concept, modified}{concept subitem}{concept subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[c]\ccIndexSubsubitem[c]{concept, modified}{\ccFont concept subitem in ccFont}{concept subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[c]\ccIndexSubsubitemBegin[c]{concept, modified}{\bf concept subitem in bf}{concept subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[c]\ccIndexSubsubitem[c]{concept, modified}{concept subitem}{\ccFont concept subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[c]\ccIndexSubsubitemBegin[c]{concept, modified}{concept subitem}{\bf concept subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[c]\ccIndexSubsubitem[c]{concept, modified}{\ccFont concept subitem in ccFont}{\ccFont concept subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[c]\ccIndexSubsubitemBegin[c]{concept, modified}{\bf concept subitem in bf}{\bf concept subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[c] with subitem font\ccIndexSubitemEnd[c]{concept, modified}{\bf concept subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[c]\ccIndexSubsubitemEnd[c]{concept, modified}{\bf concept subitem in bf}{concept subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[c]\ccIndexSubsubitemEnd[c]{concept, modified}{concept subitem}{\bf concept subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[c]\ccIndexSubsubitemEnd[c]{concept, modified}{\bf concept subitem in bf}{\bf concept subsubitem in bf}. -This is a test of ccIndexSubitemEnd[c]\ccIndexSubitemEnd[c]{concept, modified}{concept subitem}. -This is a test of ccIndexSubsubitemEnd[c]\ccIndexSubsubitemEnd[c]{concept, modified}{concept subitem}{concept subsubitem}. -This is a test of ccIndexMainItemEnd[c]\ccIndexMainItemEnd[c]{concept, modified}. - -%------------------------------------------------------------------------------ -\subsubsection{without modifier} - -%%% CONCEPTS -This is a test of ccIndexMainItemDef[c]\ccIndexMainItemDef[c]{concept}. -This is a test of ccIndexSubitemDef[c]\ccIndexSubitemDef[c]{concept}{concept subitem}. -This is a test of ccIndexSubitemDef[c] with subitem font\ccIndexSubitemDef[c]{concept}{\sc concept subitem in sc}. -This is a test of ccIndexSubsubitemDef[c]\ccIndexSubsubitemDef[c]{concept}{concept subitem}{concept subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[c]\ccIndexSubsubitemDef[c]{concept}{\sc concept subitem in sc}{concept subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[c]\ccIndexSubsubitemDef[c]{concept}{concept subitem}{\sc concept subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[c]\ccIndexSubsubitemDef[c]{concept}{\sc concept subitem in sc}{\sc concept subsubitem in sc}. -\pagebreak -This is a test of ccIndexMainItem[c]\ccIndexMainItem[c]{concept}. -This is a test of ccIndexMainItemBegin[c]\ccIndexMainItemBegin[c]{concept}. - -This is a test of ccIndexSubitem[c]\ccIndexSubitem[c]{concept}{concept subitem}. -This is a test of ccIndexSubitemBegin[c]\ccIndexSubitemBegin[c]{concept}{concept subitem}. -This is a test of ccIndexSubitem[c] with subitem font\ccIndexSubitem[c]{concept}{\ccFont concept subitem in ccFont}. -This is a test of ccIndexSubitemBegin[c] with subitem font\ccIndexSubitemBegin[c]{concept}{\bf concept subitem in bf}. - -This is a test of ccIndexSubsubitem[c]\ccIndexSubsubitem[c]{concept}{concept subitem}{concept subsubitem}. -This is a test of ccIndexSubsubitemBegin[c]\ccIndexSubsubitemBegin[c]{concept}{concept subitem}{concept subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[c]\ccIndexSubsubitem[c]{concept}{\ccFont concept subitem in ccFont}{concept subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[c]\ccIndexSubsubitemBegin[c]{concept}{\bf concept subitem in bf}{concept subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[c]\ccIndexSubsubitem[c]{concept}{concept subitem}{\ccFont concept subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[c]\ccIndexSubsubitemBegin[c]{concept}{concept subitem}{\bf concept subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[c]\ccIndexSubsubitem[c]{concept}{\ccFont concept subitem in ccFont}{\ccFont concept subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[c]\ccIndexSubsubitemBegin[c]{concept}{\bf concept subitem in bf}{\bf concept subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[c]\ccIndexSubitemEnd[c]{concept}{concept subitem}. -This is a test of ccIndexSubitemEnd[c] with subitem font\ccIndexSubitemEnd[c]{concept}{\bf concept subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[c]\ccIndexSubsubitemEnd[c]{concept}{\bf concept subitem in bf}{concept subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[c]\ccIndexSubsubitemEnd[c]{concept}{concept subitem}{\bf concept subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[c]\ccIndexSubsubitemEnd[c]{concept}{\bf concept subitem in bf}{\bf concept subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd[c]\ccIndexSubsubitemEnd[c]{concept}{concept subitem}{concept subsubitem}. -This is a test of ccIndexMainItemEnd[c]\ccIndexMainItemEnd[c]{concept}. - -%%% DATA STRUCTURES -This is a test of ccIndexMainItemDef[d]\ccIndexMainItemDef[d]{data structure}. -This is a test of ccIndexSubitemDef[d]\ccIndexSubitemDef[d]{data structure}{data structure subitem}. -This is a test of ccIndexSubitemDef[d] with subitem font\ccIndexSubitemDef[d]{data structure}{\sc data structure subitem in sc}. -This is a test of ccIndexSubsubitemDef[d]\ccIndexSubsubitemDef[d]{data structure}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[d]\ccIndexSubsubitemDef[d]{data structure}{\sc data structure subitem in sc}{data structure subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[d]\ccIndexSubsubitemDef[d]{data structure}{data structure subitem}{\sc data structure subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[d]\ccIndexSubsubitemDef[d]{data structure}{\sc data structure subitem in sc}{\sc data structure subsubitem in sc}. -\pagebreak -This is a test of ccIndexMainItem[d]\ccIndexMainItem[d]{data structure}. -This is a test of ccIndexMainItemBegin[d]\ccIndexMainItemBegin[d]{data structure}. - -This is a test of ccIndexSubitem[d]\ccIndexSubitem[d]{data structure}{data structure subitem}. -This is a test of ccIndexSubitemBegin[d]\ccIndexSubitemBegin[d]{data structure}{data structure subitem}. -This is a test of ccIndexSubitem[d] with subitem font\ccIndexSubitem[d]{data structure}{\ccFont data structure subitem in ccFont}. -This is a test of ccIndexSubitemBegin[d] with subitem font\ccIndexSubitemBegin[d]{data structure}{\bf data structure subitem in bf}. - -This is a test of ccIndexSubsubitem[d]\ccIndexSubsubitem[d]{data structure}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitemBegin[d]\ccIndexSubsubitemBegin[d]{data structure}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[d]\ccIndexSubsubitem[d]{data structure}{\ccFont data structure subitem in ccFont}{data structure subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[d]\ccIndexSubsubitemBegin[d]{data structure}{\bf data structure subitem in bf}{data structure subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[d]\ccIndexSubsubitem[d]{data structure}{data structure subitem}{\ccFont data structure subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[d]\ccIndexSubsubitemBegin[d]{data structure}{data structure subitem}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[d]\ccIndexSubsubitem[d]{data structure}{\ccFont data structure subitem in ccFont}{\ccFont data structure subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[d]\ccIndexSubsubitemBegin[d]{data structure}{\bf data structure subitem in bf}{\bf data structure subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[d] with subitem font\ccIndexSubitemEnd[d]{data structure}{\bf data structure subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[d]\ccIndexSubsubitemEnd[d]{data structure}{\bf data structure subitem in bf}{data structure subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[d]\ccIndexSubsubitemEnd[d]{data structure}{data structure subitem}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[d]\ccIndexSubsubitemEnd[d]{data structure}{\bf data structure subitem in bf}{\bf data structure subsubitem in bf}. -This is a test of ccIndexSubitemEnd[d]\ccIndexSubitemEnd[d]{data structure}{data structure subitem}. -This is a test of ccIndexSubsubitemEnd[d]\ccIndexSubsubitemEnd[d]{data structure}{data structure subitem}{data structure subsubitem}. -This is a test of ccIndexMainItemEnd[d]\ccIndexMainItemEnd[d]{data structure}. - -%------------------------------------------------------------------------------ -\subsection{Functionalities } -%%% FUNCTIONALITIES, modified - -\subsubsection{modified} -This is a test of ccIndexMainItemDef[f]\ccIndexMainItemDef[f]{functionality, modified}. -This is a test of ccIndexSubitemDef[f]\ccIndexSubitemDef[f]{functionality, modified}{functionality subitem}. -This is a test of ccIndexSubitemDef[f] with subitem font\ccIndexSubitemDef[f]{functionality, modified}{\sc functionality subitem in sc}. -This is a test of ccIndexSubsubitemDef[f]\ccIndexSubsubitemDef[f]{functionality, modified}{functionality subitem}{functionality subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[f]\ccIndexSubsubitemDef[f]{functionality, modified}{\sc functionality subitem in sc}{functionality subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[f]\ccIndexSubsubitemDef[f]{functionality, modified}{functionality subitem}{\sc functionality subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[f]\ccIndexSubsubitemDef[f]{functionality, modified}{\sc functionality subitem in sc}{\sc functionality subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[f]\ccIndexMainItem[f]{functionality, modified}. -This is a test of ccIndexMainItemBegin[f]\ccIndexMainItemBegin[f]{functionality, modified}. - -This is a test of ccIndexSubitem[f]\ccIndexSubitem[f]{functionality, modified}{functionality subitem}. -This is a test of ccIndexSubitemBegin[f]\ccIndexSubitemBegin[f]{functionality, modified}{functionality subitem}. -This is a test of ccIndexSubitem[f] with subitem font\ccIndexSubitem[f]{functionality, modified}{\ccFont functionality subitem in ccFont}. -This is a test of ccIndexSubitemBegin[f] with subitem font\ccIndexSubitemBegin[f]{functionality, modified}{\bf functionality subitem in bf}. - -This is a test of ccIndexSubsubitem[f]\ccIndexSubsubitem[f]{functionality, modified}{functionality subitem}{functionality subsubitem}. -This is a test of ccIndexSubsubitemBegin[f]\ccIndexSubsubitemBegin[f]{functionality, modified}{functionality subitem}{functionality subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[f]\ccIndexSubsubitem[f]{functionality, modified}{\ccFont functionality subitem in ccFont}{functionality subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[f]\ccIndexSubsubitemBegin[f]{functionality, modified}{\bf functionality subitem in bf}{functionality subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[f]\ccIndexSubsubitem[f]{functionality, modified}{functionality subitem}{\ccFont functionality subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[f]\ccIndexSubsubitemBegin[f]{functionality, modified}{functionality subitem}{\bf functionality subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[f]\ccIndexSubsubitem[f]{functionality, modified}{\ccFont functionality subitem in ccFont}{\ccFont functionality subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[f]\ccIndexSubsubitemBegin[f]{functionality, modified}{\bf functionality subitem in bf}{\bf functionality subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[f] with subitem font\ccIndexSubitemEnd[f]{functionality, modified}{\bf functionality subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[f]\ccIndexSubsubitemEnd[f]{functionality, modified}{\bf functionality subitem in bf}{functionality subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[f]\ccIndexSubsubitemEnd[f]{functionality, modified}{functionality subitem}{\bf functionality subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[f]\ccIndexSubsubitemEnd[f]{functionality, modified}{\bf functionality subitem in bf}{\bf functionality subsubitem in bf}. -This is a test of ccIndexSubitemEnd[f]\ccIndexSubitemEnd[f]{functionality, modified}{functionality subitem}. -This is a test of ccIndexSubsubitemEnd[f]\ccIndexSubsubitemEnd[f]{functionality, modified}{functionality subitem}{functionality subsubitem}. -This is a test of ccIndexMainItemEnd[f]\ccIndexMainItemEnd[f]{functionality, modified}. - - -\subsubsection{not modified} -%%% FUNCTIONALITIES -This is a test of ccIndexMainItemDef[f]\ccIndexMainItemDef[f]{functionality}. -This is a test of ccIndexSubitemDef[f]\ccIndexSubitemDef[f]{functionality}{functionality subitem}. -This is a test of ccIndexSubitemDef[f] with subitem font\ccIndexSubitemDef[f]{functionality}{\sc functionality subitem in sc}. -This is a test of ccIndexSubsubitemDef[f]\ccIndexSubsubitemDef[f]{functionality}{functionality subitem}{functionality subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[f]\ccIndexSubsubitemDef[f]{functionality}{\sc functionality subitem in sc}{functionality subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[f]\ccIndexSubsubitemDef[f]{functionality}{functionality subitem}{\sc functionality subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[f]\ccIndexSubsubitemDef[f]{functionality}{\sc functionality subitem in sc}{\sc functionality subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[f]\ccIndexMainItem[f]{functionality}. -This is a test of ccIndexMainItemBegin[f]\ccIndexMainItemBegin[f]{functionality}. - -This is a test of ccIndexSubitem[f]\ccIndexSubitem[f]{functionality}{functionality subitem}. -This is a test of ccIndexSubitemBegin[f]\ccIndexSubitemBegin[f]{functionality}{functionality subitem}. -This is a test of ccIndexSubitem[f] with subitem font\ccIndexSubitem[f]{functionality}{\ccFont functionality subitem in ccFont}. -This is a test of ccIndexSubitemBegin[f] with subitem font\ccIndexSubitemBegin[f]{functionality}{\bf functionality subitem in bf}. - -This is a test of ccIndexSubsubitem[f]\ccIndexSubsubitem[f]{functionality}{functionality subitem}{functionality subsubitem}. -This is a test of ccIndexSubsubitemBegin[f]\ccIndexSubsubitemBegin[f]{functionality}{functionality subitem}{functionality subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[f]\ccIndexSubsubitem[f]{functionality}{\ccFont functionality subitem in ccFont}{functionality subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[f]\ccIndexSubsubitemBegin[f]{functionality}{\bf functionality subitem in bf}{functionality subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[f]\ccIndexSubsubitem[f]{functionality}{functionality subitem}{\ccFont functionality subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[f]\ccIndexSubsubitemBegin[f]{functionality}{functionality subitem}{\bf functionality subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[f]\ccIndexSubsubitem[f]{functionality}{\ccFont functionality subitem in ccFont}{\ccFont functionality subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[f]\ccIndexSubsubitemBegin[f]{functionality}{\bf functionality subitem in bf}{\bf functionality subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[f] with subitem font\ccIndexSubitemEnd[f]{functionality}{\bf functionality subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[f]\ccIndexSubsubitemEnd[f]{functionality}{\bf functionality subitem in bf}{functionality subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[f]\ccIndexSubsubitemEnd[f]{functionality}{functionality subitem}{\bf functionality subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[f]\ccIndexSubsubitemEnd[f]{functionality}{\bf functionality subitem in bf}{\bf functionality subsubitem in bf}. -This is a test of ccIndexSubitemEnd[f]\ccIndexSubitemEnd[f]{functionality}{functionality subitem}. -This is a test of ccIndexSubsubitemEnd[f]\ccIndexSubsubitemEnd[f]{functionality}{functionality subitem}{functionality subsubitem}. -This is a test of ccIndexMainItemEnd[f]\ccIndexMainItemEnd[f]{functionality}. - -%------------------------------------------------------------------------------ -\subsection{Hints} - -%------------------------------------------------------------------------------ -\subsubsection{modified} -%%% HINTS, modified -This is a test of ccIndexMainItemDef[h]\ccIndexMainItemDef[h]{hint, modified}. -This is a test of ccIndexSubitemDef[h]\ccIndexSubitemDef[h]{hint, modified}{hint subitem}. -This is a test of ccIndexSubitemDef[h] with subitem font\ccIndexSubitemDef[h]{hint, modified}{\sc hint subitem in sc}. -This is a test of ccIndexSubsubitemDef[h]\ccIndexSubsubitemDef[h]{hint, modified}{hint subitem}{hint subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[h]\ccIndexSubsubitemDef[h]{hint, modified}{\sc hint subitem in sc}{hint subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[h]\ccIndexSubsubitemDef[h]{hint, modified}{hint subitem}{\sc hint subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[h]\ccIndexSubsubitemDef[h]{hint, modified}{\sc hint subitem in sc}{\sc hint subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[h]\ccIndexMainItem[h]{hint, modified}. -This is a test of ccIndexMainItemBegin[h]\ccIndexMainItemBegin[h]{hint, modified}. - -This is a test of ccIndexSubitem[h]\ccIndexSubitem[h]{hint, modified}{hint subitem}. -This is a test of ccIndexSubitemBegin[h]\ccIndexSubitemBegin[h]{hint, modified}{hint subitem}. -This is a test of ccIndexSubitem[h] with subitem font\ccIndexSubitem[h]{hint, modified}{\ccFont hint subitem in ccFont}. -This is a test of ccIndexSubitemBegin[h] with subitem font\ccIndexSubitemBegin[h]{hint, modified}{\bf hint subitem in bf}. - -This is a test of ccIndexSubsubitem[h]\ccIndexSubsubitem[h]{hint, modified}{hint subitem}{hint subsubitem}. -This is a test of ccIndexSubsubitemBegin[h]\ccIndexSubsubitemBegin[h]{hint, modified}{hint subitem}{hint subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[h]\ccIndexSubsubitem[h]{hint, modified}{\ccFont hint subitem in ccFont}{hint subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[h]\ccIndexSubsubitemBegin[h]{hint, modified}{\bf hint subitem in bf}{hint subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[h]\ccIndexSubsubitem[h]{hint, modified}{hint subitem}{\ccFont hint subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[h]\ccIndexSubsubitemBegin[h]{hint, modified}{hint subitem}{\bf hint subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[h]\ccIndexSubsubitem[h]{hint, modified}{\ccFont hint subitem in ccFont}{\ccFont hint subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[h]\ccIndexSubsubitemBegin[h]{hint, modified}{\bf hint subitem in bf}{\bf hint subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[h] with subitem font\ccIndexSubitemEnd[h]{hint, modified}{\bf hint subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[h]\ccIndexSubsubitemEnd[h]{hint, modified}{\bf hint subitem in bf}{hint subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[h]\ccIndexSubsubitemEnd[h]{hint, modified}{hint subitem}{\bf hint subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[h]\ccIndexSubsubitemEnd[h]{hint, modified}{\bf hint subitem in bf}{\bf hint subsubitem in bf}. -This is a test of ccIndexSubitemEnd[h]\ccIndexSubitemEnd[h]{hint, modified}{hint subitem}. -This is a test of ccIndexSubsubitemEnd[h]\ccIndexSubsubitemEnd[h]{hint, modified}{hint subitem}{hint subsubitem}. -This is a test of ccIndexMainItemEnd[h]\ccIndexMainItemEnd[h]{hint, modified}. - -%------------------------------------------------------------------------------ -\subsubsection{not modified} - -%%% HINTS -This is a test of ccIndexMainItemDef[h]\ccIndexMainItemDef[h]{hint}. -This is a test of ccIndexSubitemDef[h]\ccIndexSubitemDef[h]{hint}{hint subitem}. -This is a test of ccIndexSubitemDef[h] with subitem font\ccIndexSubitemDef[h]{hint}{\sc hint subitem in sc}. -This is a test of ccIndexSubsubitemDef[h]\ccIndexSubsubitemDef[h]{hint}{hint subitem}{hint subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[h]\ccIndexSubsubitemDef[h]{hint}{\sc hint subitem in sc}{hint subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[h]\ccIndexSubsubitemDef[h]{hint}{hint subitem}{\sc hint subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[h]\ccIndexSubsubitemDef[h]{hint}{\sc hint subitem in sc}{\sc hint subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[h]\ccIndexMainItem[h]{hint}. -This is a test of ccIndexMainItemBegin[h]\ccIndexMainItemBegin[h]{hint}. - -This is a test of ccIndexSubitem[h]\ccIndexSubitem[h]{hint}{hint subitem}. -This is a test of ccIndexSubitemBegin[h]\ccIndexSubitemBegin[h]{hint}{hint subitem}. -This is a test of ccIndexSubitem[h] with subitem font\ccIndexSubitem[h]{hint}{\ccFont hint subitem in ccFont}. -This is a test of ccIndexSubitemBegin[h] with subitem font\ccIndexSubitemBegin[h]{hint}{\bf hint subitem in bf}. - -This is a test of ccIndexSubsubitem[h]\ccIndexSubsubitem[h]{hint}{hint subitem}{hint subsubitem}. -This is a test of ccIndexSubsubitemBegin[h]\ccIndexSubsubitemBegin[h]{hint}{hint subitem}{hint subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[h]\ccIndexSubsubitem[h]{hint}{\ccFont hint subitem in ccFont}{hint subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[h]\ccIndexSubsubitemBegin[h]{hint}{\bf hint subitem in bf}{hint subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[h]\ccIndexSubsubitem[h]{hint}{hint subitem}{\ccFont hint subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[h]\ccIndexSubsubitemBegin[h]{hint}{hint subitem}{\bf hint subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[h]\ccIndexSubsubitem[h]{hint}{\ccFont hint subitem in ccFont}{\ccFont hint subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[h]\ccIndexSubsubitemBegin[h]{hint}{\bf hint subitem in bf}{\bf hint subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[h] with subitem font\ccIndexSubitemEnd[h]{hint}{\bf hint subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[h]\ccIndexSubsubitemEnd[h]{hint}{\bf hint subitem in bf}{hint subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[h]\ccIndexSubsubitemEnd[h]{hint}{hint subitem}{\bf hint subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[h]\ccIndexSubsubitemEnd[h]{hint}{\bf hint subitem in bf}{\bf hint subsubitem in bf}. -This is a test of ccIndexSubitemEnd[h]\ccIndexSubitemEnd[h]{hint}{hint subitem}. -This is a test of ccIndexSubsubitemEnd[h]\ccIndexSubsubitemEnd[h]{hint}{hint subitem}{hint subsubitem}. -This is a test of ccIndexMainItemEnd[h]\ccIndexMainItemEnd[h]{hint}. - -This is a test of ccIndexHintAsSubitem\ccIndexHintAsSubitem{default}{hint}. -This is a test of ccIndexHintAsSubitem[C]\ccIndexHintAsSubitem[C]{class}{hint}. -This is a test of ccIndexHintAsSubitem[d]\ccIndexHintAsSubitem[d]{data structure}{hint}. -This is a test of ccIndexHintAsSubitem[f]\ccIndexHintAsSubitem[f]{functionality}{hint}. -This is a test of ccIndexHintAsSubitem[h]\ccIndexHintAsSubitem[h]{hint}{hint}. -This is a test of ccIndexHintAsSubitem[l]\ccIndexHintAsSubitem[l]{library}{hint}. -This is a test of ccIndexHintAsSubitem[c]\ccIndexHintAsSubitem[c]{concept}{hint}. -This is a test of ccIndexHintAsSubitem[p]\ccIndexHintAsSubitem[p]{package}{hint}. - -This is a test of ccIndexHintAsSubsubitem\ccIndexHintAsSubsubitem{default}{hint}{hint subitem}. -This is a test of ccIndexHintAsSubsubitem[C]\ccIndexHintAsSubsubitem[C]{class}{\ccIndexHintFont hint}{hint subitem}. -This is a test of ccIndexHintAsSubsubitem[d]\ccIndexHintAsSubsubitem[d]{data structure}{\ccIndexHintFont hint}{hint subitem}. -This is a test of ccIndexHintAsSubsubitem[f]\ccIndexHintAsSubsubitem[f]{functionality}{\ccIndexHintFont hint}{hint subitem}. -This is a test of ccIndexHintAsSubsubitem[h]\ccIndexHintAsSubsubitem[h]{hint}{\ccIndexHintFont hint}{hint subitem}. -This is a test of ccIndexHintAsSubsubitem[l]\ccIndexHintAsSubsubitem[l]{library}{\ccIndexHintFont hint}{hint subitem}. -This is a test of ccIndexHintAsSubsubitem[c]\ccIndexHintAsSubsubitem[c]{concept}{\ccIndexHintFont hint}{hint subitem}. -This is a test of ccIndexHintAsSubsubitem[p]\ccIndexHintAsSubsubitem[p]{package}{\ccIndexHintFont hint}{hint subitem}. - -%------------------------------------------------------------------------------ -\subsection{libraries} - -%%% LIBRARIES -This is a test of ccIndexMainItemDef[l]\ccIndexMainItemDef[l]{library}. -This is a test of ccIndexSubitemDef[l]\ccIndexSubitemDef[l]{library}{library subitem}. -This is a test of ccIndexSubitemDef[l] with subitem font\ccIndexSubitemDef[l]{library}{\sc library subitem in sc}. -This is a test of ccIndexSubsubitemDef[l]\ccIndexSubsubitemDef[l]{library}{library subitem}{library subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[l]\ccIndexSubsubitemDef[l]{library}{\sc library subitem in sc}{library subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[l]\ccIndexSubsubitemDef[l]{library}{library subitem}{\sc library subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[l]\ccIndexSubsubitemDef[l]{library}{\sc library subitem in sc}{\sc library subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[l]\ccIndexMainItem[l]{library}. -This is a test of ccIndexMainItemBegin[l]\ccIndexMainItemBegin[l]{library}. - -This is a test of ccIndexSubitem[l]\ccIndexSubitem[l]{library}{library subitem}. -This is a test of ccIndexSubitemBegin[l]\ccIndexSubitemBegin[l]{library}{library subitem}. -This is a test of ccIndexSubitem[l] with subitem font\ccIndexSubitem[l]{library}{\ccFont library subitem in ccFont}. -This is a test of ccIndexSubitemBegin[l] with subitem font\ccIndexSubitemBegin[l]{library}{\bf library subitem in bf}. - -This is a test of ccIndexSubsubitem[l]\ccIndexSubsubitem[l]{library}{library subitem}{library subsubitem}. -This is a test of ccIndexSubsubitemBegin[l]\ccIndexSubsubitemBegin[l]{library}{library subitem}{library subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[l]\ccIndexSubsubitem[l]{library}{\ccFont library subitem in ccFont}{library subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[l]\ccIndexSubsubitemBegin[l]{library}{\bf library subitem in bf}{library subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[l]\ccIndexSubsubitem[l]{library}{library subitem}{\ccFont library subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[l]\ccIndexSubsubitemBegin[l]{library}{library subitem}{\bf library subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[l]\ccIndexSubsubitem[l]{library}{\ccFont library subitem in ccFont}{\ccFont library subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[l]\ccIndexSubsubitemBegin[l]{library}{\bf library subitem in bf}{\bf library subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[l] with subitem font\ccIndexSubitemEnd[l]{library}{\bf library subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[l]\ccIndexSubsubitemEnd[l]{library}{\bf library subitem in bf}{library subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[l]\ccIndexSubsubitemEnd[l]{library}{library subitem}{\bf library subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[l]\ccIndexSubsubitemEnd[l]{library}{\bf library subitem in bf}{\bf library subsubitem in bf}. -This is a test of ccIndexSubitemEnd[l]\ccIndexSubitemEnd[l]{library}{library subitem}. -This is a test of ccIndexSubsubitemEnd[l]\ccIndexSubsubitemEnd[l]{library}{library subitem}{library subsubitem}. -This is a test of ccIndexMainItemEnd[l]\ccIndexMainItemEnd[l]{library}. - -testing library with font\ccIndexMainItem[l]{\sc test library with font}where is this? -testing library without font\ccIndexMainItem[l]{test library without font}where is this? -testing main item with modifier\ccIndexMainItem{library, modified}. -testing main library item\ccIndexMainItem[l]{library without font}. -testing main library item with font\ccIndexMainItem[l]{\sc library with font}. - -%------------------------------------------------------------------------------ -\subsection{classes} -%%% CLASS -This is a test of ccIndexMainItemDef[C]\ccIndexMainItemDef[C]{class}. -This is a test of ccIndexSubitemDef[C]\ccIndexSubitemDef[C]{class}{class subitem}. -This is a test of ccIndexSubitemDef[C] with subitem font\ccIndexSubitemDef[C]{class}{\sc class subitem in sc}. -This is a test of ccIndexSubsubitemDef[C]\ccIndexSubsubitem[C]{class}{class subitem}{class subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[C]\ccIndexSubsubitemDef[C]{class}{\sc class subitem in sc}{class subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[C]\ccIndexSubsubitemDef[C]{class}{class subitem}{\sc class subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[C]\ccIndexSubsubitemDef[C]{class}{\sc class subitem in sc}{\sc class subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[C]\ccIndexMainItem[C]{class}. -This is a test of ccIndexMainItemBegin[C]\ccIndexMainItemBegin[C]{class}. - -This is a test of ccIndexSubitem[C]\ccIndexSubitem[C]{class}{class subitem}. -This is a test of ccIndexSubitemBegin[C]\ccIndexSubitemBegin[C]{class}{class subitem}. -This is a test of ccIndexSubitem[C] with subitem font\ccIndexSubitem[C]{class}{\ccFont class subitem in ccFont}. -This is a test of ccIndexSubitemBegin[C] with subitem font\ccIndexSubitemBegin[C]{class}{\bf class subitem in bf}. - -This is a test of ccIndexSubsubitem[C]\ccIndexSubsubitem[C]{class}{class subitem}{class subsubitem}. -This is a test of ccIndexSubsubitemBegin[C]\ccIndexSubsubitemBegin[C]{class}{class subitem}{class subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[C]\ccIndexSubsubitem[C]{class}{\ccFont class subitem in ccFont}{class subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[C]\ccIndexSubsubitemBegin[C]{class}{\bf class subitem in bf}{class subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[C]\ccIndexSubsubitem[C]{class}{class subitem}{\ccFont class subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[C]\ccIndexSubsubitemBegin[C]{class}{class subitem}{\bf class subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[C]\ccIndexSubsubitem[C]{class}{\ccFont class subitem in ccFont}{\ccFont class subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[C]\ccIndexSubsubitemBegin[C]{class}{\bf class subitem in bf}{\bf class subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[C] with subitem font\ccIndexSubitemEnd[C]{class}{\bf class subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[C]\ccIndexSubsubitemEnd[C]{class}{\bf class subitem in bf}{class subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[C]\ccIndexSubsubitemEnd[C]{class}{class subitem}{\bf class subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[C]\ccIndexSubsubitemEnd[C]{class}{\bf class subitem in bf}{\bf class subsubitem in bf}. -This is a test of ccIndexSubitemEnd[C]\ccIndexSubitemEnd[C]{class}{class subitem}. -This is a test of ccIndexSubsubitemEnd[C]\ccIndexSubsubitemEnd[C]{class}{class subitem}{class subsubitem}. -This is a test of ccIndexMainItemEnd[C]\ccIndexMainItemEnd[C]{class}. - -%------------------------------------------------------------------------------ -\subsection{packages} -%%% PACKAGE -This is a test of ccIndexMainItemDef[p]\ccIndexMainItemDef[p]{package}. -This is a test of ccIndexSubitemDef[p]\ccIndexSubitemDef[p]{package}{package subitem}. -This is a test of ccIndexSubitemDef[p] with subitem font\ccIndexSubitemDef[p]{package}{\sc package subitem in sc}. -This is a test of ccIndexSubsubitemDef[p]\ccIndexSubsubitemDef[p]{package}{package subitem}{package subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[p]\ccIndexSubsubitemDef[p]{package}{\sc package subitem in sc}{package subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[p]\ccIndexSubsubitemDef[p]{package}{package subitem}{\sc package subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[p]\ccIndexSubsubitemDef[p]{package}{\sc package subitem in sc}{\sc package subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[p]\ccIndexMainItem[p]{package}. -This is a test of ccIndexMainItemBegin[p]\ccIndexMainItemBegin[p]{package}. - -This is a test of ccIndexSubitem[p]\ccIndexSubitem[p]{package}{package subitem}. -This is a test of ccIndexSubitemBegin[p]\ccIndexSubitemBegin[p]{package}{package subitem}. -This is a test of ccIndexSubitem[p] with subitem font\ccIndexSubitem[p]{package}{\ccFont package subitem in ccFont}. -This is a test of ccIndexSubitemBegin[p] with subitem font\ccIndexSubitemBegin[p]{package}{\bf package subitem in bf}. - -This is a test of ccIndexSubsubitem[p]\ccIndexSubsubitem[p]{package}{package subitem}{package subsubitem}. -This is a test of ccIndexSubsubitemBegin[p]\ccIndexSubsubitemBegin[p]{package}{package subitem}{package subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[p]\ccIndexSubsubitem[p]{package}{\ccFont package subitem in ccFont}{package subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[p]\ccIndexSubsubitemBegin[p]{package}{\bf package subitem in bf}{package subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[p]\ccIndexSubsubitem[p]{package}{package subitem}{\ccFont package subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[p]\ccIndexSubsubitemBegin[p]{package}{package subitem}{\bf package subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[p]\ccIndexSubsubitem[p]{package}{\ccFont package subitem in ccFont}{\ccFont package subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[p]\ccIndexSubsubitemBegin[p]{package}{\bf package subitem in bf}{\bf package subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[p] with subitem font\ccIndexSubitemEnd[p]{package}{\bf package subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[p]\ccIndexSubsubitemEnd[p]{package}{\bf package subitem in bf}{package subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[p]\ccIndexSubsubitemEnd[p]{package}{package subitem}{\bf package subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[p]\ccIndexSubsubitemEnd[p]{package}{\bf package subitem in bf}{\bf package subsubitem in bf}. -This is a test of ccIndexSubitemEnd[p]\ccIndexSubitemEnd[p]{package}{package subitem}. -This is a test of ccIndexSubsubitemEnd[p]\ccIndexSubsubitemEnd[p]{package}{package subitem}{package subsubitem}. -This is a test of ccIndexMainItemEnd[p]\ccIndexMainItemEnd[p]{package}. - -%------------------------------------------------------------------------------ -\subsection{terms} -\subsubsection{modified} -%%% TERM, modified -This is a test of ccIndexMainItemDef[t]\ccIndexMainItemDef[t]{term, modified}. -This is a test of ccIndexSubitemDef[t]\ccIndexSubitemDef[t]{term, modified}{term subitem}. -This is a test of ccIndexSubitemDef[t] with subitem font\ccIndexSubitemDef[t]{term, modified}{\sc term subitem in sc}. -This is a test of ccIndexSubsubitemDef[t]\ccIndexSubsubitemDef[t]{term, modified}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[t]\ccIndexSubsubitemDef[t]{term, modified}{\sc term subitem in sc}{term subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[t]\ccIndexSubsubitemDef[t]{term, modified}{term subitem}{\sc term subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[t]\ccIndexSubsubitemDef[t]{term, modified}{\sc term subitem in sc}{\sc term subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[t]\ccIndexMainItem[t]{term, modified}. -This is a test of ccIndexMainItemBegin[t]\ccIndexMainItemBegin[t]{term, modified}. - -This is a test of ccIndexSubitem[t]\ccIndexSubitem[t]{term, modified}{term subitem}. -This is a test of ccIndexSubitemBegin[t]\ccIndexSubitemBegin[t]{term, modified}{term subitem}. -This is a test of ccIndexSubitem[t] with subitem font\ccIndexSubitem[t]{term, modified}{\ccFont term subitem in ccFont}. -This is a test of ccIndexSubitemBegin[t] with subitem font\ccIndexSubitemBegin[t]{term, modified}{\bf term subitem in bf}. - -This is a test of ccIndexSubsubitem[t]\ccIndexSubsubitem[t]{term, modified}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitemBegin[t]\ccIndexSubsubitemBegin[t]{term, modified}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[t]\ccIndexSubsubitem[t]{term, modified}{\ccFont term subitem in ccFont}{term subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[t]\ccIndexSubsubitemBegin[t]{term, modified}{\bf term subitem in bf}{term subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[t]\ccIndexSubsubitem[t]{term, modified}{term subitem}{\ccFont term subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[t]\ccIndexSubsubitemBegin[t]{term, modified}{term subitem}{\bf term subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[t]\ccIndexSubsubitem[t]{term, modified}{\ccFont term subitem in ccFont}{\ccFont term subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[t]\ccIndexSubsubitemBegin[t]{term, modified}{\bf term subitem in bf}{\bf term subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[t] with subitem font\ccIndexSubitemEnd[t]{term, modified}{\bf term subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[t]\ccIndexSubsubitemEnd[t]{term, modified}{\bf term subitem in bf}{term subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[t]\ccIndexSubsubitemEnd[t]{term, modified}{term subitem}{\bf term subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[t]\ccIndexSubsubitemEnd[t]{term, modified}{\bf term subitem in bf}{\bf term subsubitem in bf}. -This is a test of ccIndexSubitemEnd[t]\ccIndexSubitemEnd[t]{term, modified}{term subitem}. -This is a test of ccIndexSubsubitemEnd[t]\ccIndexSubsubitemEnd[t]{term, modified}{term subitem}{term subsubitem}. -This is a test of ccIndexMainItemEnd[t]\ccIndexMainItemEnd[t]{term, modified}. - -%%% TERM -%------------------------------------------------------------------------------ -\subsubsection{not modified} -This is a test of ccIndexMainItemDef[t]\ccIndexMainItemDef[t]{term}. -This is a test of ccIndexSubitemDef[t]\ccIndexSubitemDef[t]{term}{term subitem}. -This is a test of ccIndexSubitemDef[t] with subitem font\ccIndexSubitemDef[t]{term}{\sc term subitem in sc}. -This is a test of ccIndexSubsubitemDef[t]\ccIndexSubsubitemDef[t]{term}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font[t]\ccIndexSubsubitemDef[t]{term}{\sc term subitem in sc}{term subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font[t]\ccIndexSubsubitemDef[t]{term}{term subitem}{\sc term subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts[t]\ccIndexSubsubitemDef[t]{term}{\sc term subitem in sc}{\sc term subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem[t]\ccIndexMainItem[t]{term}. -This is a test of ccIndexMainItemBegin[t]\ccIndexMainItemBegin[t]{term}. - -This is a test of ccIndexSubitem[t]\ccIndexSubitem[t]{term}{term subitem}. -This is a test of ccIndexSubitemBegin[t]\ccIndexSubitemBegin[t]{term}{term subitem}. -This is a test of ccIndexSubitem[t] with subitem font\ccIndexSubitem[t]{term}{\ccFont term subitem in ccFont}. -This is a test of ccIndexSubitemBegin[t] with subitem font\ccIndexSubitemBegin[t]{term}{\bf term subitem in bf}. - -This is a test of ccIndexSubsubitem[t]\ccIndexSubsubitem[t]{term}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitemBegin[t]\ccIndexSubsubitemBegin[t]{term}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitem with subitem font[t]\ccIndexSubsubitem[t]{term}{\ccFont term subitem in ccFont}{term subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font[t]\ccIndexSubsubitemBegin[t]{term}{\bf term subitem in bf}{term subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font[t]\ccIndexSubsubitem[t]{term}{term subitem}{\ccFont term subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font[t]\ccIndexSubsubitemBegin[t]{term}{term subitem}{\bf term subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts[t]\ccIndexSubsubitem[t]{term}{\ccFont term subitem in ccFont}{\ccFont term subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts[t]\ccIndexSubsubitemBegin[t]{term}{\bf term subitem in bf}{\bf term subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd[t] with subitem font\ccIndexSubitemEnd[t]{term}{\bf term subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font[t]\ccIndexSubsubitemEnd[t]{term}{\bf term subitem in bf}{term subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font[t]\ccIndexSubsubitemEnd[t]{term}{term subitem}{\bf term subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts[t]\ccIndexSubsubitemEnd[t]{term}{\bf term subitem in bf}{\bf term subsubitem in bf}. -This is a test of ccIndexSubitemEnd[t]\ccIndexSubitemEnd[t]{term}{term subitem}. -This is a test of ccIndexSubsubitemEnd[t]\ccIndexSubsubitemEnd[t]{term}{term subitem}{term subsubitem}. -This is a test of ccIndexMainItemEnd[t]\ccIndexMainItemEnd[t]{term}. - -%------------------------------------------------------------------------------ -\subsection{unclassified } -\subsubsection{modified} -%%% UNCLASSIFIED, modified -This is a test of ccIndexMainItemDef\ccIndexMainItemDef{item, modified}. -This is a test of ccIndexSubitemDef\ccIndexSubitemDef{item, modified}{term subitem}. -This is a test of ccIndexSubitemDef with subitem font\ccIndexSubitemDef{item, modified}{\sc term subitem in sc}. -This is a test of ccIndexSubsubitemDef\ccIndexSubsubitemDef{item, modified}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitemDef with subitem font\ccIndexSubsubitemDef{item, modified}{\sc term subitem in sc}{term subsubitem}. -This is a test of ccIndexSubsubitemDef with subsubitem font\ccIndexSubsubitemDef{item, modified}{term subitem}{\sc term subsubitem in sc}. -This is a test of ccIndexSubsubitemDef with subitem and subsubitem fonts\ccIndexSubsubitemDef{item, modified}{\sc term subitem in sc}{\sc term subsubitem in sc}. - -\pagebreak - -This is a test of ccIndexMainItem\ccIndexMainItem{item, modified}. -This is a test of ccIndexMainItemBegin\ccIndexMainItemBegin{item, modified}. - -This is a test of ccIndexSubitem\ccIndexSubitem{item, modified}{term subitem}. -This is a test of ccIndexSubitemBegin\ccIndexSubitemBegin{item, modified}{term subitem}. -This is a test of ccIndexSubitem with subitem font\ccIndexSubitem{item, modified}{\ccFont term subitem in ccFont}. -This is a test of ccIndexSubitemBegin with subitem font\ccIndexSubitemBegin{item, modified}{\bf term subitem in bf}. - -This is a test of ccIndexSubsubitem\ccIndexSubsubitem{item, modified}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitemBegin\ccIndexSubsubitemBegin{item, modified}{term subitem}{term subsubitem}. -This is a test of ccIndexSubsubitem with subitem font\ccIndexSubsubitem{item, modified}{\ccFont term subitem in ccFont}{term subsubitem}. -This is a test of ccIndexSubsubitemBegin with subitem font\ccIndexSubsubitemBegin{item, modified}{\bf term subitem in bf}{term subsubitem}. -This is a test of ccIndexSubsubitem with subsubitem font\ccIndexSubsubitem{item, modified}{term subitem}{\ccFont term subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subsubitem font\ccIndexSubsubitemBegin{item, modified}{term subitem}{\bf term subsubitem in bf}. -This is a test of ccIndexSubsubitem with subitem and subsubitem fonts\ccIndexSubsubitem{item, modified}{\ccFont term subitem in ccFont}{\ccFont term subsubitem in ccFont}. -This is a test of ccIndexSubsubitemBegin with subitem and subsubitem fonts\ccIndexSubsubitemBegin{item, modified}{\bf term subitem in bf}{\bf term subsubitem in bf}. -\pagebreak -This is a test of ccIndexSubitemEnd with subitem font\ccIndexSubitemEnd{item, modified}{\bf term subitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem font\ccIndexSubsubitemEnd{item, modified}{\bf term subitem in bf}{term subsubitem}. -This is a test of ccIndexSubsubitemENd with subsubitem font\ccIndexSubsubitemEnd{item, modified}{term subitem}{\bf term subsubitem in bf}. -This is a test of ccIndexSubsubitemEnd with subitem and subsubitem fonts\ccIndexSubsubitemEnd{item, modified}{\bf term subitem in bf}{\bf term subsubitem in bf}. -This is a test of ccIndexSubitemEnd\ccIndexSubitemEnd{item, modified}{term subitem}. -This is a test of ccIndexSubsubitemEnd\ccIndexSubsubitemEnd{item, modified}{term subitem}{term subsubitem}. -This is a test of ccIndexMainItemEnd\ccIndexMainItemEnd{item, modified}. - -\section{ccIndexClass} - -\begin{ccIndexClass}{CGAL_class_name} -This is a test of ccIndexClassCreation\ccIndexClassCreation. -This is a test of ccIndexClassDefault\ccIndexClassDefault. -This is a test of ccIndexMemberFunctionsBegin -\begin{ccIndexMemberFunctions} -This is a test of ccIndexMemberFunctionGroup\ccIndexMemberFunctionGroup{group2}. -This is a test of ccIndexMemberFunctionsEnd -\end{ccIndexMemberFunctions} -This is a test of ccIndexNestedClasses\ccIndexNestedClasses. -This is a test of ccIndexRequirements\ccIndexRequirements. - -This is a test of ccIndexAssertionFlag\ccIndexAssertionFlag[class package name]. - -This is a test of ccIndexDesign\ccIndexDesign. - -This is a test of ccIndexGlobalFunctionsBegin -\begin{ccIndexGlobalFunctions} - -This is a test of ccIndexGlobalFunctionGroup\ccIndexGlobalFunctionGroup{group1}. - -\pagebreak - -This is a test of ccIndexGlobalFunctionsEnd -\end{ccIndexGlobalFunctions}. - -This is a test of ccIndexImplmentation\ccIndexImplementation. -\end{ccIndexClass} - -\section{Traits class} -\ccIndexTraitsClassBegin{CGAL_class_name}{Class1, Class2}{package1} -This is a test of ccIndexTraitsClassBegin - -This is a test of ccIndexTraitsClassDefault\ccIndexTraitsClassDefault. - -This is a test of ccIndexTraitsClassEnd -\ccIndexTraitsClassEnd - -\section{ccPackage} - -\begin{ccPackage}{my package} -This is a test of ccIndexDesign\ccIndexDesign% - -\begin{ccIndexGlobalFunctions} -This is a test of ccIndexGlobalFunctionsBegin - -This is a test of ccIndexGlobalFunctionGroup\ccIndexGlobalFunctionGroup{group1}. - -This is a test of ccIndexGlobalFunctionsEnd[p] -\end{ccIndexGlobalFunctions} - -This is a test of ccIndexRequirements\ccIndexRequirements. - -This is a test of ccIndexGlobalFunctionGroup\ccIndexGlobalFunctionGroup{group3}. - -This is a test of ccIndexImplementation\ccIndexImplementation. - -This is a test of ccIndexAssertionFlag\ccIndexAssertionFlag. - -\end{ccPackage} - -\section{package traits class} -\ccIndexTraitsClassBegin{package_traits_class}{}{package} - -This is a test of ccIndexTraitsClassDefault\ccIndexTraitsClassDefault{ccClass}. - -\pagebreak - -\ccIndexTraitsClassEnd - -\section{testing for getting rid of leading and trailing spaces} - -test with leading space\ccIndexMainItem{ test} -test with leading space\ccIndexSubitem{test}{ subitem} -test without\ccIndexSubitem{test}{subitem, modifier} -test without\ccIndexSubitem{test}{subitem, modifier} -\pagebreak[4] -test with leading spaces\ccIndexMainItem{ test} -test with leading spaces\ccIndexSubitem{test}{ subitem} -\pagebreak[4] -test with trailing space\ccIndexMainItem{test } -test with trailing space\ccIndexSubitem{test}{subitem } -\pagebreak[4] -test with trailing spaces\ccIndexMainItem{test } -test with trailing spaces\ccIndexSubitem{test}{subitem } -\pagebreak[4] -test with leading and trailing space\ccIndexMainItem{ test } -test with leading and trailing space\ccIndexSubitem{test}{ subitem } -\pagebreak[4] -test with leading and trailing spaces\ccIndexMainItem{ test } -test with leading and trailing spaces\ccIndexSubitem{test}{ subitem } - - -%testing testing\removeTrailingSpaces{without} -%\def\word{word with lots of spaces in the middle too } -%testing testing\removeTrailingSpaces{with } -%testing testing\removeTrailingSpaces{\word} -%\def\wordwithout{nospaceshere} -%testing testing\removeTrailingSpaces{\wordwithout} - -\ccIndexingOff -%------------------------------------------------------------------------------ -\section{Text with commands} - -testing, testing\ccIndexMainItem{\leda}% -testing, testing\ccIndexMainItem{\stl}% -testing, testing\ccIndexMainItem{\cgal}% - -testing, testing\ccIndexMainItem{no font}% -testing, testing\ccIndexMainItem{\bf yes font}% -testing, testing\ccIndexMainItem{==}% - -\newcommand{\myText}{this command {\bf has} an interior command}% -\newcommand{\myOtherText}{\bf this command has NO interior command}% -\newcommand{\myNoCommandText}{NO interior command}% - -try this\ccIndexSubitem{main}{my \leda subitem}where is this -testing1\ccIndexMainItem{nothing \leda\ special, modified}where is this -testing2\ccIndexMainItem{\bf special}where is this -testing3\ccIndexMainItem{special {\bf font}}where is this -testing4\ccIndexMainItem{\it special {\bf font}}where is this -testing5\ccIndexMainItem{\myText}where is this -testing6\ccIndexMainItem{\myOtherText}where is this -testing7\ccIndexMainItem{\bf this command has NO interior command}where is this -testing8\ccIndexMainItem{\myNoCommandText}where is this - -\ccIndexingOn -% ---------------------------------------------------------------------- -\section{The ccRef... macros} - -\begin{ccRefClass}[RefClass::]{Circulator_from_container} -\end{ccRefClass} - -\begin{ccRefClass}{Circulator_from_container_no_ref} - -This is a ref class and should produce an index entry without the template -parameter... - -\ccCreationVariable{c} -creation\ccIndexClassCreation -default\ccIndexClassDefault -member functions\begin{ccIndexMemberFunctions} - -\ccMethod{X_curve &curve();}{return the curve - that this edge represents.} -\ccIndexMemberFunctionGroup{output} -\end{ccIndexMemberFunctions} - -nested classes\ccIndexNestedClasses -types\ccIndexClassTypes -\pagebreak -\end{ccRefClass} - -\begin{ccRefConcept}{Concept} -A reference concept is talked about here... - -The class name should not appear as an argument in this constructor - -\ccCreationVariable{x} -\ccCreation -\ccConstructor{Concept(Concept& c);}{copy constructor} - -\ccOperations - -\ccMethod{C operator=(C c);}{Concept name should appear in the concept font - in the index} - -\ccMethod{void foo(C c);}{Concept name should appear in the concept font - in the index} -\pagebreak -\end{ccRefConcept} - -\begin{ccRefConcept}[RefClass::]{ConceptWithRef} -A reference concept is talked about here... -\pagebreak -\end{ccRefConcept} - -\begin{ccRefConcept}{Concept_name} -A reference concept with an underscore in the name is talked about here... -\pagebreak -\end{ccRefConcept} - -\begin{ccRefConcept}[RefClass::]{Concept_name_with_ref} -A reference concept with an underscore in the name is talked about here... -\pagebreak -\end{ccRefConcept} - -\begin{ccRefEnum}[RefClass::]{Enum_with_ref} -A reference enumeration is talked about here... -\pagebreak -\end{ccRefEnum} - -\begin{ccRefEnum}{Enum} -A reference enumeration is talked about here... -\pagebreak -\end{ccRefEnum} - -\begin{ccRefFunction}[RefClass::]{Function_with_ref} -A reference function is talked about here... -\pagebreak -\end{ccRefFunction} - -\begin{ccRefFunction}{Function} -A reference function is talked about here... -\pagebreak -\end{ccRefFunction} - -\begin{ccRefVariable}[RefClass::]{Variable_with_ref} -A reference variable is talked about here... -\pagebreak -\end{ccRefVariable} - -\begin{ccRefVariable}{Variable} -A reference variable is talked about here... -\pagebreak -\end{ccRefVariable} - -\begin{ccRefMacro}[RefClass::]{Macro_with_ref} -A reference macro is talked about here... -\pagebreak -\end{ccRefMacro} - -\begin{ccRefMacro}{Macro} -A reference macro is talked about here... -\pagebreak -\end{ccRefMacro} - - -% ---------------------------------------------------------------------- - -\printindex -\end{document} diff --git a/Manual_tools/format/latex_to_html.sty b/Manual_tools/format/latex_to_html.sty deleted file mode 100644 index 0e830db3af7..00000000000 --- a/Manual_tools/format/latex_to_html.sty +++ /dev/null @@ -1,145 +0,0 @@ -% ___________________________________________________________________________ -% |#########################################################################| -% | | -% | Latex Converter Style File: latex_to_html.sty | -% | ------------------------------------------------------------------ | -% | TeX Macros provided on conjunction with the LaTeX converter. | -% | | -% | (c) 1998 Lutz Kettner | -% | 1999 Susan Hert | -% | 2004 Lutz Kettner | -% | $Id$ | -% | $Date$ | -% |_________________________________________________________________________| -% |#########################################################################| -% | | -% | Table of Contents: | -% | | -% | o Release Number Support | -% | o Style Selection | -% | o Boolean Values and Control Structures | -% | o HTML Output and Conversion Macros | -% | o Separation of TeX, HTML and ASCII Parts | -% | | -% |#########################################################################| - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Release Number Support -% | -% ########################################################################### - - -\usepackage{cc_manual} - -\RCSdef{\lcRevision}{$Id$} -\RCSdefDate{\lcDate}{$Date$} - -% Print a release note. -\catcode`\@=11\relax -\newwrite\@unused -\def\typeout#1{{\let\protect\string\immediate\write\@unused{#1}}} -\typeout{latex_to_html.sty: \lcRevision. \lcDate.} -\catcode`\@=12\relax - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Style Selection -% | -% ########################################################################### - -\newcommand{\lcStyle}[1]{} -\gdef\lcBodyAttributes{} - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Boolean Values and Control Structures -% | -% ########################################################################### - -\newcommand{\lcFalse}[2]{#2} -\newcommand{\lcTrue}[2]{#1} -\newcommand{\lcAuto}[2]{} - -% possibly nested control blocks that suppress cross-linking -\newcommand{\lcNoLinkBegin}{} -\newcommand{\lcNoLinkEnd}{} -\newcommand{\lcNoLinkSync}{} - - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o HTML Output and Conversion Macros -% | -% ########################################################################### - -\newcommand{\lcRawHtml}[1]{} -\newcommand{\lcRawHtmlExpanded}[1]{} -\newcommand{\lcRawAscii}[1]{} -\newcommand{\lcAsciiToHtml}[1]{} - -\newcommand{\lcAnchor}[2]{#2} - -% ___________________________________________________________________________ -% ########################################################################### -% | -% | o Separation of TeX, HTML and ASCII Parts -% | -% ########################################################################### - -\newcommand{\lcTex}[1]{#1} -\newcommand{\lcHtml}[1]{} -\newcommand{\lcAscii}[1]{} - -\newcommand{\lcHtmlCatcode}{% - \ccCatcode - \catcode`\{=12 - \catcode`\}=12 - \catcode`\\=12 - } -\newcommand{\lcHtmlDefCatcode}{% - \catcode`\@=11\relax - \catcode`\|=0 - \catcode`\[=1 - \catcode`\]=2 - \catcode`\{=12 - \catcode`\}=12 - \catcode`\\=12 - } - -\newenvironment{lcTexBlock}{}{} - -\newenvironment{lcHtmlBlock}{\begingroup\lcHtmlCatcode \lcParseHtmlBlockBody}{ - \endgroup} - -% Take care: catcodes changes a lot here!! -\begingroup -\lcHtmlDefCatcode -|long|gdef|lcParseHtmlBlockBody #1\end{lcHtmlBlock}[% - |csname endlcHtmlBlock|endcsname|@checkend[lcHtmlBlock]% - |expandafter|endgroup|if@endpe|@doendpe|fi - |if@ignore|global|@ignorefalse|ignorespaces|fi -] -|endgroup - -\newenvironment{lcRawHtmlBlock}{\begingroup\lcHtmlCatcode - \lcParseRawHtmlBlockBody}{\endgroup} - -% Take care: catcodes changes a lot here!! -\begingroup -\lcHtmlDefCatcode -|long|gdef|lcParseRawHtmlBlockBody #1\end{lcRawHtmlBlock}[% - |csname endlcRawHtmlBlock|endcsname|@checkend[lcRawHtmlBlock]% - |expandafter|endgroup|if@endpe|@doendpe|fi - |if@ignore|global|@ignorefalse|ignorespaces|fi -] -|endgroup - -% ___________________________________________________________________________ -% ########################################################################### -% | EOF -% ########################################################################### diff --git a/Manual_tools/format/nonlinkedpath.sty b/Manual_tools/format/nonlinkedpath.sty deleted file mode 100644 index 59bbb065c2f..00000000000 --- a/Manual_tools/format/nonlinkedpath.sty +++ /dev/null @@ -1,3 +0,0 @@ -\usepackage{path} % make sure the \path command is defined - -\def\nonlinkedpath{\path} diff --git a/Manual_tools/format/test.tex b/Manual_tools/format/test.tex deleted file mode 100644 index 7b1dd3bdd00..00000000000 --- a/Manual_tools/format/test.tex +++ /dev/null @@ -1,2038 +0,0 @@ -% ---------------------------------------------------------------------- -% Test document for the CGAL manual LaTeX style: -% -% 16.08.1995 Lutz Kettner -% 29.09.1999 Susan Hert -% -% $Id$ -% $Date$ -% ---------------------------------------------------------------------- -% The style is compatible with LaTeX2e: -\documentclass[12pt]{article} - -\usepackage{latexsym} -\usepackage{amssymb} -\usepackage{makeidx} -\usepackage{latex_to_html} -\usepackage{cc_manual} -\usepackage{cc_manual_index} -\usepackage{alltt} -\usepackage{cprog} -\usepackage{path} - -\textwidth 15.4cm -\textheight 24cm -\topmargin -14mm -\evensidemargin 3mm -\oddsidemargin 3mm - -\parindent0em -\setlength{\parskip}{1ex minus 0.9ex} - -\makeindex - -\sloppy - -% ---------------------------------------------------------------------- -\title {Test Suite for the cc\_manual.sty} -\author{Lutz Kettner and Susan Hert} -\date{\ccRevision. \ccDate} - -\begin{document} - -\maketitle - -% ---------------------------------------------------------------------- -\section{Introduction} - -This document is a test suite for the {\tt cc\_manual.sty}. It is -arbitrary structured and mostly no introductory explanations will be given. -Each section will test a particularly feature. Sections were written -while developing the style or while debugging. Thanks for bug-reports -made so far and for future reports. Please send bug-reports to {\tt -hert@mpi-sb.mpg.de}. - - -% ---------------------------------------------------------------------- -\section{Structuring Macros} - -\ccDefinition Here comes the general introductory explanation for a -class etc. The necessary include files. - -\ccInclude{CGAL/Vector_2.h}\\ -\ccInclude{CGAL/Point_2.h} - -\ccAccessFunctions - -\ccPrecond Specific conditions to be checked at run time can be stated - as preconditions in any place. - -\ccRequire Specific conditions to be checked at compile time - can be stated as preconditions in any place. - -\ccCreation Constructors are defined and explained here. - -% ---------------------------------------------------------------------- -\section{ccStyle Character Test} - -The formatting macros handle for example the special characters \_, -{\tt <}, {\tt >}, and {\tt \&} as they appear in \CC\ names and the -characters \#, \%, \ccHat, and \ccTilde\ as they appear with -operators. See the following example that is printed using the -\verb+\cc+{\tt Style} macro\footnote{A footnote in the main text.}: - -\ccStyle{ - #define %^~$@&$ Ret_Type > fct_foo( const X &a);} - -% ---------------------------------------------------------------------- -\begin{ccClass}{Demo_Class1} -\ccSection{A Simple Class} - -Text\footnote{A footnote in a class environment.}. - -\ccCreationVariable{p} - -\ccStyle{#include< Demo_Class1.h>} -\ccTwo{Demo_Class1 p;X}{} - - \ccConstructor{Demo_Class1();}{introduces - a variable \ccVar\ initialized to the default. \CC\ code: - {\tt Demo\_Class1();}. Test - ccStyle: \ccStyle{Underscore\_within ccStyle}.} - - \ccConstructor{Demo_Class1( const Demo_Class1 &);}{copy - constructor. \CC\ code: {\tt Demo\_Class1(const Demo\_Class1 \&);}} - -\ccThree{Demo_Class1}{p.x();}{} - - \ccMethod{FT x() const;}{Cartesian x-coordinate\protect\footnotemark{}. - \CC\ code: {\tt FT x() const;}} - - \ccMethod{const FT& y();}{Cartesian y-coordinate. \CC\ code: {\tt - const FT\& y();}} - - \ccMethod{Demo_Class1 - transform( const CGAL_HAff_transformation &t) const; - }{ Longish declarations forces the comment to start in - the next line.} - - \ccMethod{Demo_Class1 - longish_function_name( - const CGAL_Aff_transformation &t, - const Dummy_Type &q, - Long_Type_Name Variable_Also_Long) const; - }{ Even more longish declarations forces the parameters printed - one per line. This was the default formatting.} - -\footnotetext{Another footnote in this class file, - implemented with mark and text.} - -\end{ccClass} - -% ---------------------------------------------------------------------- -\section{Spaces Around Pointer * and Reference \& Symbols} - -Reference or pointer parameters can occur on both sides of the -separating space between the return type and the function or method -name. The formatting normalizes them to the left side. This -formatting is not done within the\footnotemark{} parameters (, but maybe in the -future). An example: - -\footnotetext{Another footnote in this main file, - implemented with mark and text. Contains enough text to have a -linebreak. Or how about a paragraph? - -Here it is. Or special macros and images, like \LaTeX.}% - -\ccThree{Demo_Class&&}{p.x();}{} - - \ccFunction{Demo_Class& foo1( int& a, int* b);}{} - \ccGlue - \ccFunction{Demo_Class* foo2( int& a, int* b);}{} - \ccGlue - \ccFunction{Demo_Class &foo3( int &a, int *b);}{} - \ccGlue - \ccFunction{Demo_Class *foo4( int &a, int *b);}{} - -% ---------------------------------------------------------------------- -\begin{ccClass}{Demo_Class2} -\section{Operator Test} -\ccCreationVariable{p} - -Type casting through a conversion operator is the default behavior -for the formatting routine if the return type before the {\tt -operator} keyword is empty. - -\ccThree{Demo_Class&&}{A< FT>(p);}{} - \ccMethod{ operator int () const;}{Conversion operator.} - \ccGlue - \ccMethod{operator A() const;}{Conversion operator.} - -Sometimes, there is a choice between -implementing an operator as a method or as a function. Both -declarations will produce the same formatting, as demonstrated -with the next two declarations. - - - \ccFunction{Demo_Class2 - operator+(Demo_Class2 p, Demo_Class2 q);}{Declaration via function.} - \ccGlue - \ccMethod{Demo_Class2 - operator+(Demo_Class2 q);}{Declaration via method.} - -One can locally activate that the operator declaration is shown as it -is written without operator formatting, {\tt const ...\&}, classname, or -trailing const declarations for methods removal. This can be done with -\verb+\+\verb+ccTagFullDeclarations+ within a scope of braces {\tt - \{...\}}. - -\ccTagFullDeclarations - \ccMethod{Demo_Class2 - operator+(const Demo_Class2& q) const;}{Declaration via method.} -\ccTagDefaults - -There is some laziness allowed in placing spaces around the operator -characters. See the following examples: - -\ccMethod{A - operator+(Demo_Class2 q);}{\CC\ code: {\tt A operator+(Demo\_Class2 q);}} - \ccGlue -\ccMethod{A - operator +(Demo_Class2 q);}{\CC\ code: {\tt A operator +(Demo\_Class2 q);}} - \ccGlue -\ccMethod{A - operator+ (Demo_Class2 q);}{\CC\ code: {\tt A operator+ (Demo\_Class2 q);}} - \ccGlue -\ccMethod{A - operator + (Demo_Class2 q);}{\CC\ code: - {\tt A operator + (Demo\_Class2 q);}} - -The keyword {\tt operator} is reserved, but it can appear as a -substring in another name. See the following examples that this -style can handle such cases: - -\ccMethod{A foo_operator(Demo_Class2 q);}{} - \ccGlue -\ccMethod{A noperator(Demo_Class2 q);}{} - \ccGlue -\ccMethod{A operatoro(Demo_Class2 q);}{} - \ccGlue -\ccMethod{A operator_(Demo_Class2 q);}{} - \ccGlue -\ccMethod{A operator0(Demo_Class2 q);}{} - -A problem has occured in detecting the operator keyword if it was -directly preceded by an {\tt \&} or {\tt *} character. It is fixed as -the following example demonstrates: - -\ccFunction{Int &operator+=( Int a, Int b);}{} - -\end{ccClass} - -%---------------------------------------------------------------------- -\ccTagDefaults -\begin{ccClass}{ClassA} -\section{The List of All Operators} - - \ccFunction{Ptr_Class - operator->(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator[](ClassA p, int i);}{} - - \ccFunction{ClassA - operator()(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i, int j);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, int i, int j, int k);}{} - \ccGlue - \ccFunction{ClassA - operator()(ClassA p, - const A& a, B& b, C c, const D& d, ClassA - e);}{all number and types of parameters are possible.} - - \ccFunction{ClassA - operator++(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator++(ClassA p, int);}{The postfix incr.\ operator - has a hidden {\tt int} parameter that the formatting does not show.} - - \ccFunction{ClassA - operator--(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator--(ClassA p, int);}{} - - \ccFunction{ClassA - operator~(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator!(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator-(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator+(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator&(ClassA p);}{} - \ccGlue - \ccFunction{ClassA - operator*(ClassA p);}{} - - \ccMethod{ void* - operator new( size_t);}{Hidden parameters are not shown. \CC\ code: - $\backslash${\tt method\{ void* operator new( size\_t);\}}.} - - \ccMethod{ void - operator delete( void*, size_t);}{Hidden parameters are not shown. - \CC\ code: $\backslash${\tt method\{ void operator - delete( void*, size\_t);\}}} - - \ccMethod{ void - operator delete[]( void*, size_t);}{Hidden parameters are not - shown again. - \CC\ code: $\backslash${\tt method\{ void operator - delete[]( void*, size\_t);\}}} - - \ccFunction{Member_Ptr - operator->*(ClassA p);}{} - - \ccFunction{ClassA - operator*(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator/(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator%(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator+(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator-(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<<(ClassA p, int i);}{} - \ccGlue - \ccFunction{ClassA - operator>>(ClassA p, int i);}{} - - \ccFunction{ClassA - operator<(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator==(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator!=(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator&(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator^(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator|(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator&&(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator||(ClassA p, ClassA q);}{} - - \ccFunction{ClassA - operator=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator*=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator/=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator%=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator+=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator-=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator<<=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator>>=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator&=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator|=(ClassA p, ClassA q);}{} - \ccGlue - \ccFunction{ClassA - operator^=(ClassA p, ClassA q);}{} - -\end{ccClass} - -% ---------------------------------------------------------------------- -\section{Scope Operator in Types} - -CGAL will use {\tt typedef}'s and the scope operator to define types. -Here is an example for the scope operator within types. - - \ccSetTwoOfThreeColumns{5.8cm}{1.8cm} - \ccFunction{Rep_Class::Nested_Class - foo(Rep_Class::Nested_Class p, Demo_Class q);}{ - Declaration with scope.} - - \ccFunction{Rep_Class :: Nested_Class - foo(Rep_Class :: Nested_Class p, Demo_Class q);}{ - The same, surrounded by spaces.} - -The scope operator now also can be used for the function or method name. - - \ccSetTwoOfThreeColumns{5.8cm}{1.8cm} - \ccFunction{Rep_Class::Nested_Class - TI::foo(Rep_Class::Nested_Class p, Demo_Class q);}{ - Declaration with scope.} - - \ccFunction{Rep_Class :: Nested_Class - CBP::foo(Rep_Class :: Nested_Class p, Demo_Class q);}{ - The same, surrounded by spaces.} - - -% ---------------------------------------------------------------------- -\begin{ccClassTemplate}{ClassB >} -\ccSection{Demo Class Template} - -\ccCreation -\ccCreationVariable{p} - -\ccTwo{ClassB > p( A a, B *b);X}{} - \ccConstructor{ ClassB();}{ default.} - \ccGlue - \ccConstructor{ ClassB( ClassB > q);}{ copy.} - \ccGlue - \ccConstructor{ ClassB( A a, B *b);}{ arbitrary.} - -\ccOperations -\ccThree{ClassB >}{foo( q);}{} - - \ccMethod{ ClassB foo( ClassB q);}{ - wrong, without template parameters.} - - \ccFunction{ ClassB > foo( ClassB > q);}{ - right, with template parameters.} -\end{ccClassTemplate} - -% ---------------------------------------------------------------------- -\section{Abbreviations} - -The math set symbols need the package -{\tt amssymb} and \LaTeXe. - -\begin{tabbing} - \ccTexHtml{dum \= dummyyyyyyyy \= \kill}{} - \> \verb+\CC+ \> \CC \\ - \> \verb+\gcc+ \> \gcc \\ - \> \verb+\nat+ \> \nat \\ - \> \verb+\real+ \> \real \\ - \> \verb+\leda+ \> \leda \\ - \> \verb+\cgal+ \> \cgal \\ - \> \verb+\protocgal+ \> \protocgal \\ - \> \verb+\plageo+ \> \plageo \\ - \> \verb+\+\verb+N+ \> \N \\ - \> \verb+\+\verb+Z+ \> \Z \\ - \> \verb+\+\verb+R+ \> \R \\ - \> \verb+\+\verb+E+ \> \E -\end{tabbing} - -% ---------------------------------------------------------------------- -\section{Enum's} - -Enum's are formatted similiar to constructors. Exactly one pair of -matching braces has to be in the declaration. - -\ccTwo{enum Short ( A, B, C);XX}{} - -\ccEnum{enum Short { A, B, C};}{ Comment.} - -\ccEnum{enum Funny_type_name1 { A_couple_of_entries1, - one_with_initialisation1 = 5, another1 = -3};}{ Comment.} - -We can even switch the alternative layout on: - -\def\ccLongParamLayout{\ccTrue} - -\ccEnum{enum Funny_type_name2 { A_couple_of_entries2, - one_with_initialisation2 = 5, another2 = -3};}{ Comment.} - -\def\ccLongParamLayout{\ccFalse} - - -% ---------------------------------------------------------------------- -\section{Variables, Constants and Typedefs} - -\ccSetTwoOfThreeColumns{3.5cm}{3.5cm} - -\ccVariable{long int foo4;}{Local variables are possible.} - -\ccVariable{long int foo5 = 15;}{Initialisation.} - -\ccVariable{const long int foo6 = 15;}{Make a constant.} - -\ccTypedef{typedef int integer;}{Simple typedef.} - -\ccTypedef{typedef List< int> Integer_list;}{Typedef including template - parameters.} - - - -% ---------------------------------------------------------------------- -\section{Global Declarations} - -\ccGlobalFunction{Intersection_type CGAL_intersection_type( - Polygon_2< R>, Polygon_2< R>);} - -\ccRequirements - The list of compile time requirements for this funciton should be put - under this heading. - -\ccGlobalEnum{enum global_enum { A_couple_of_entries3, - one_with_initialisation3 = 5, another3 = -3};} - -\ccGlobalVariable{int CGAL_global_var;} - - -% ---------------------------------------------------------------------- -\begin{ccClassTemplate}{CGAL_Point_2< R>} -\section{Default Parameters in Function Argument Lists} - -The following example demonstrates the new ability to write default -parameters with initializers in parantheses notion of \CC. - -\ccCreationVariable{p} -\ccConstructor{CGAL_Point_2(const R::RT &x, const R::RT &y, const R::RT &w = R::RT(1.0));}{blabla} -\end{ccClassTemplate} - - - -% ---------------------------------------------------------------------- -\section{Test Indentation and Alternate Formatting} - -This example tests the indentation and right margin setting -possibilities. Two long declarations with alternative formatting rules -for the function arguments are used. First the declaration without -any indentation or margins. - -\ccFunction{int a_really_long_function_name( double paramter1, double - paramter2);}{the default formatting. A bit more text is necessary to - demonstrate the right margin.} - -Now with 10mm indentation and 10mm right margin. Note that the -description is also further indented since all dimensions are -calculated from left. - -\ccTagDefaults -\def\ind{\hspace*{7mm}} -\ccTexHtml{\ccwIndent=10mm \ccwRightMargin=10mm}{} - -\ccFunction{int a_really_long_function_name( double paramter1, double - paramter2);}{the default formatting. A bit more text is necessary to - demonstrate the right margin.} -\renewcommand{\ccLongParamLayout}{\ccTrue} - -\ccFunction{int a_really_long_function_name( double paramter1, double - paramter2);}{the alternative formatting. A bit more text is necessary to - demonstrate the right margin.} - -Show the indentation also for template functions. - -\ccFunction{template int bar(A a);}{A bit more text to - demonstrate the right margin.} - -\renewcommand{\ccLongParamLayout}{\ccFalse} - -Check the same alternate indentation with the compatibility mode -\verb+\renewcommand{\ccAlternateThreeColumn}{\ccFalse}+ - -\renewcommand{\ccAlternateThreeColumn}{\ccFalse} - -\ccFunction{int a_really_long_function_name( double paramter1, double - paramter2);}{the alternative formatting. A bit more text is necessary to - demonstrate the right margin.} - -Show the indentation also for template functions. - -\ccFunction{template int bar(A a);}{A bit more text to - demonstrate the right margin.} - -\renewcommand{\ccAlternateThreeColumn}{\ccTrue} -\ccTexHtml{\ccwIndent=0mm \ccwRightMargin=0mm}{} - -% ---------------------------------------------------------------------- -\section{Test the Setting of the Column Widths by Example Texts} - - -\ccSetThreeColumns{int}{foo( int i, int j);}{} -\ccFunction{int foo( int i, int j);}{returns gnats$(i,j)$.} - -\ccSetThreeColumns{int}{}{returns gnats$(i,j)$.} -\ccFunction{int foo( int i, int j);}{returns gnats$(i,j)$.} - -\ccSetThreeColumns{}{foo( int i, int j);}{returns gnats$(i,j)$.} -\ccFunction{int foo( int i, int j);}{returns gnats$(i,j)$.} - -Test it with the special characters (changed catcodes) for function -and contructor declarations. - - -\ccSetThreeColumns{_#_^}{_#_^f*&*&oo( int i);}{} -\ccSetTwoColumns{_#_^ foo( int i, int j);}{} -\begin{ccClass}{Gnu1} - \ccCreationVariable{g} - \ccConstructor{Gnu1( double d);}{test.} - \ccFunction{int foo( Gnats gn);}{blablabla.} -\end{ccClass} - -Specify a column layout for a function and propagate it to a contructor. - -\ccSetThreeColumns{intM}{foo( Gnats gn);M}{} -\ccPropagateThreeToTwoColumns -\begin{ccClass}{Gnu2} - \ccCreationVariable{g} - \ccConstructor{Gnu2( double d);}{test.} - \ccFunction{int foo( Gnats gn);}{blablabla.} -\end{ccClass} - - -% ---------------------------------------------------------------------- -\section{Check Long Constructor Calls} - -\begin{ccClassTemplate}{CBP_Bidirectional_circulator< C, C* - (C::*next)(), C* (C::*previous)()>} -\ccCreationVariable{circ} -\ccSetTwoColumns{}{a const circulator \ccVar\ with singular value.} - -NOTHING is interesting here. - - -\ccConstructor{CBP_Bidirectional_circulator();}{% - a const circulator \ccVar\ with singular value.} - -\ccConstructor{CBP_Bidirectional_circulator( const C* ptr);}{a - const circulator \ccVar\ initialized to point to the element \ccStyle{*ptr}.} -\end{ccClassTemplate} - -% ---------------------------------------------------------------------- -\section{Glueing Declarations Together} - -\ccFunction{int foo( double x);}{} -\ccGlue -\ccFunction{int bar( double x);}{} - -\ccFunction{int foo( double x);}{Bla.} -\ccGlue -\ccFunction{int bar( double x);}{Blubb blubb.} - -\ccFunction{int foo_baaaaaaaarrrr( double x);}{% - Bla bal blabal blabal blabal blab.} -\ccGlue -\ccFunction{int barfoooooooooooooooooo( double x);}{% - Blubb blubblubb blubblubb blubblubb blubb.} - -\ccFunction{int foo_baaaaaaaarrrr( double x);}{% - Blkj fdkjbjlh flknlkj kjh kjh lkjh a bal blabal blabal blabal blab.} -\ccGlue -\ccFunction{int bar( double x);}{Blubb blubb.} - -\ccFunction{int foo_bar( double x);}{% - Blkj fdkjbjlh flknlkj kjh kjh lkjh a bal blabal blabal blabal blab.} -\ccGlue -\ccFunction{int foo_bar( double x);}{% - Blkj fdkjbjlh flknlkj kjh kjh lkjh a bal blabal blabal blabal - Blkj fdkjbjlh flknlkj kjh kjh lkjh a bkuuhd kjwdhwkjdhh blab.} -\ccGlue -\ccFunction{int bar( double x);}{Blubb blubb.} - - -% ---------------------------------------------------------------------- -\section{Glueing Declarations Together, New Style} - -%\parskip0pt - -\ccGlueBegin - \ccFunction{int foo( double x);}{} - \ccFunction{int bar( double x);}{} -\ccGlueEnd - -\ccGlueBegin - \ccFunction{int foo( double x);}{Bla.} - \ccFunction{int bar( double x);}{Blubb blubb.} -\ccGlueEnd - -\ccGlueBegin - \ccFunction{int foo_baaaaaaaarrrr( double x);}{% - Bla bal blabal blabal blabal blab.} - \ccFunction{int barfoooooooooooooooooo( double x);}{% - Blubb blubblubb blubblubb blubblubb blubb.} -\ccGlueEnd - -\ccGlueBegin - \ccFunction{int foo_baaaaaaaarrrr( double x);}{% - Blkj fdkjbjlh flknlkj kjh kjh lkjh a bal blabal blabal blabal blab.} - \ccFunction{int bar( double x);}{Blubb blubb.} -\ccGlueEnd - -\ccGlueBegin - \ccFunction{int foo_bar( double x);}{% - Blkj fdkjbjlh flknlkj kjh kjh lkjh a bal blabal blabal blabal blab.} - \ccFunction{int foo_bar( double x);}{% - Blkj fdkjbjlh flknlkj kjh kjh lkjh a bal blabal blabal blabal - Blkj fdkjbjlh flknlkj kjh kjh lkjh a bkuuhd kjwdhwkjdhh blab.} - \ccFunction{int bar( double x);}{Blubb blubb.} -\ccGlueEnd - -A bit text thereafter. - -A new paragraph to check that \verb+\parskip+ gets restored properly. - -% ---------------------------------------------------------------------- -\begin{ccClass}{Base::Derived} -\section{Nested Classes} - -First try, use the scope operator in the class name. - -\ccCreationVariable{a} - -\ccConstructor{Base::Derived( double x);}{a constructor.} -\ccFunction{Base::Derived foo( Base::Derived b);}{a function.} -\end{ccClass} - -% ---------------------------------------------------------------------- -\section{Prefix Substitution} - -The example illustrates both typical usages (with a fantasy function -that does not exist in \cgal). - -\ccSetThreeColumns{CGAL_Point}{CGAL_f( CGAL_Vector v)}{} - -\ccStyle{#include } -\\ -\ccFunction{CGAL_Point CGAL_f( CGAL_Vector v);}{% - the original \cgal\ prefix.} -\vspace{-\parskip} - -\begin{tabbing} -\ccTexHtml{CCimplementationNNNMMMMMMMMMMMMMMMMMMMM \= ImplementationMMMMM \= \kill}{} - \verb+\def\ccTargetPrefix{}+ \\ - \verb+\renewcommand{\ccTagReplacePrefix}{\ccTrue}+ -\end{tabbing} -\def\ccTargetPrefix{} -\renewcommand{\ccTagReplacePrefix}{\ccTrue} -\vspace{-\parskip} - -\ccStyle{#include } -\\ -\ccFunction{CGAL_Point CGAL_f( CGAL_Vector v);}{% - assuming name spaces. {\tt ;-)}} -\vspace{-\parskip} - -\begin{tabbing} -\ccTexHtml{CCimplementationNNNMMMMMMMMMMMMMMMMMMMM \= ImplementationMMMMM \= \kill}{} - \verb+\def\ccTargetPrefix{GTE}+ \\ - \verb+\renewcommand{\ccTagReplaceInclude}{\ccTrue}+ -\end{tabbing} -\def\ccTargetPrefix{GTE} -\renewcommand{\ccTagReplaceInclude}{\ccTrue} -\vspace{-\parskip} - -\ccStyle{#include } -\\ -\ccFunction{CGAL_Point CGAL_f( CGAL_Vector v);}{% - make a Porsche from this declaration.} -\vspace{-\parskip} - -\begin{tabbing} -\ccTexHtml{CCimplementationNNNMMMMMMMMMMMMMMMMMMMM \= ImplementationMMMMM \= \kill}{} - \verb+\renewcommand{\ccTagReplacePrefix}{\ccFalse}+ \\ - \verb+\renewcommand{\ccTagReplaceInclude}{\ccFalse}+ -\end{tabbing} -\renewcommand{\ccTagReplacePrefix}{\ccFalse} -\renewcommand{\ccTagReplaceInclude}{\ccFalse} - -% ---------------------------------------------------------------------- -\section{A Constructor for a Nested Class} - -The method how it should work: - -\begin{ccClass}{CGAL_SegmentTree_2d::SegTree} - -The classname is \ccClassTemplateName. - -\ccCreationVariable{t} -\ccConstructor{CGAL_SegmentTree_2d::SegTree -(S2dList::const_iterator first);}{constructor.} - -\ccMemberFunction{CGAL_SegmentTree_2d::SegTree - foo (CGAL_SegmentTree_2d::SegTree same);}{% - removal of own type in parameterlist of a member function.} -\end{ccClass} - - -The hack I have recommended previously. - -\ccFunction{CGAL_SegmentTree_2d::SegTree -t(S2dList::const_iterator first);}{fake constructor.} - -Another check with the trouble making operator in a member function. - -\begin{ccClass}{ClassC} -\ccCreationVariable{pp} - \ccMethod{ClassC operator+(ClassC qq);}{% - Declaration of an operator as a member function.} -\end{ccClass} - - -\ccTexHtml{\ccAutoIndexingOff}{} -% ---------------------------------------------------------------------- -\section{Font Changes within a Declaration} - -In an simple \verb+\ccc{}+ macro: \ccc{var_\tt k_th\ccFont _foo8;} and -boldface: \ccc{var_\bf k_th\ccFont _foo8;} - -A global variable declaration. - -\ccSetThreeColumns{\tt k_th\ccFont _dim\ }{\tt k_th\ccFont _foo8;}{} -\ccVariable{\tt k_th\ccFont _dim \tt k_th\ccFont _foo8;}{% - a {\tt k\_th}-dimensional variable.} - -A constructor and a member function within a class where the classname -also uses font changing macros. - -\def\ccTagRmEigenClassName{\ccFalse} - -\begin{ccClass}{\tt k_th\ccFont _dim_Class} - \ccCreationVariable{v} - \ccSetThreeColumns{\tt k_th\ccFont _dim_retvalue\ }{v.k_th\ccFont - _dim_foo( \tt k_th\ccFont _dim_param)\ ;}{} - \ccSetTwoColumns{\tt k_th\ccFont _dim_Class v( \tt k_th\ccFont - _dim_param) \ ;}{} - \ccConstructor{\tt k_th\ccFont _dim_Class();}{The default constructor.} - \ccConstructor{\tt k_th\ccFont _dim_Class( \tt k_th\ccFont - _dim_param);}{The custom constructor.} - \ccMemberFunction{\tt k_th\ccFont _dim_retvalue \tt k_th\ccFont - _dim_foo( \tt k_th\ccFont _dim_param);}{a function.} -\end{ccClass} - -\def\ccLongParamLayout{\ccTrue} - -\begin{ccClassTemplate}{CGAL_Segment_tree_\tt k\ccFont <_T1, _C1, _T2, - _C2,\dots, _T\tt k\ccFont , _C\tt k\ccFont , _V>} - -\ccCreationVariable{s} -\ccThree{void}{Dummy}{} - -\ccConstructor{CGAL_Segment_tree_\tt k\ccFont <_T1, _C1, _T2, - _C2,\dots, _T\tt k\ccFont , _C\tt k\ccFont , - _V>();}{Creation of a {\tt k}-dimensional Segment - Tree, where the i-th coordinate has type \ccStyle{_Ti} and a - comparator of type \ccStyle{_Ci}. Parameter type -\ccStyle{Value} is set to \ccStyle{_V}.} - - -\ccMethod{void CGAL_Segment_tree_\tt k \ccFont - window_query(GIS_interval_data_\tt k \ccFont - win, back_insert_iterator out);}{% -All elements that - intersect the associated $d$-dimensional half open interval of -\ccStyle{win} are placed in the list of \ccStyle{out}.} - -\end{ccClassTemplate} -\def\ccLongParamLayout{\ccFalse} -\def\ccTagRmEigenClassName{\ccTrue} - -\ccTexHtml{\ccAutoIndexingOn}{} -% ---------------------------------------------------------------------- -\begin{ccClass}{ClassD} -\section{Customization Tags for the Style} - -\ccThree{ClassD}{pp.operator+( const ClassD& qq) const;}{} -First, a declaration with all default substitution rule active. - -\ccCreationVariable{pp} - -\ccMemberFunction{ClassD operator+(const ClassD& qq) const;}{% - member function.} - -Second, all rules switched off. -\ccTagFullDeclarations - -\ccMemberFunction{ClassD operator+(const ClassD& qq) const;}{% - member function.} - -Third, back to the default. -\ccTagDefaults - -\ccMemberFunction{ClassD operator+(const ClassD& qq) const;}{% - member function.} - -\end{ccClass} - -% ---------------------------------------------------------------------- -\begin{ccClass}{Dummy} -\section{Test the removal or inlining of template declarations} -\ccCreationVariable{q} - -Inlining of template declarations. The default is to format the -template declaration in an extra line. Here the default with a struct -and a global function. - -\ccSetThreeColumns{template T*}{X}{} -\ccSetTwoColumns{template struct circulator_base \{\};}{} -\ccStruct{template - struct circulator_base1 {};}{forward.} - -\ccConstructor{template - Dummy();}{constructor.} - -\ccGlobalFunction{template - T* value_type( const circulator_base&);} - -Here with the inlining on. - -\def\ccTagTemplateInline{\ccTrue} -\ccStruct{template - struct circulator_base2 {};}{forward.} - -\ccConstructor{template - Dummy();}{constructor.} - -\ccGlobalFunction{template - T* value_type( const circulator_base&);} -\def\ccTagTemplateInline{\ccFalse} - -Here with the removal on. - -\def\ccTagRmTemplate{\ccTrue} -\ccStruct{template - struct circulator_base3 {};}{forward.} - -\ccConstructor{template - Dummy();}{constructor.} - -\ccGlobalFunction{template - T* value_type( const circulator_base&);} -\def\ccTagRmTemplate{\ccFalse} -\end{ccClass} - -% ---------------------------------------------------------------------- -\begin{ccClassTemplate}{Demo} -\section{A Function Pointer as an Operator Argument} - -\ccCreationVariable{out} -\ccThree{Ascii_ostream&}{out << ostream& (*f)(ostream&);}{} -\ccThreeToTwo - -\ccMethod{Ascii_ostream& operator<<(ostream& (*f)(ostream&));} -{manipulators in streams.} - -\end{ccClassTemplate} - -% ---------------------------------------------------------------------- -\section{Long Class Template Names in Nested Types} - - -\begin{ccClassTemplate}{CGAL_tree_point_interface1} -\ccNestedType{Tree_Point}{complies to the container \ccStyle{Point}.} -\end{ccClassTemplate} - -If the class does not fit any longer in one line, it wraps around. - -\begin{ccClassTemplate}{CGAL_tree_point_interface2} -\ccNestedType{Tree_Point}{complies to the container \ccStyle{Point}.} -\end{ccClassTemplate} - -The formatting for long parameter lists put the new type name in an extra line. - -\begin{ccClassTemplate}{CGAL_tree_point_interface3} -\def\ccLongParamLayout{\ccTrue} -\ccNestedType{Tree_Point}{complies to the container \ccStyle{Point}.} -\def\ccLongParamLayout{\ccFalse} -\end{ccClassTemplate} - -The proposed solution uses a typedef to avoid duplicating the long -template class name all over the specification. - -\begin{ccClass}{Point_interface} - -The following line must be done by hand if it should be -formatted more nicely. - -\ccStyle{typedef CGAL_tree_point_interface Point_interface;} - -Since here the specification is written in terms of the above -\ccStyle{typedef}. - -\ccNestedType{Tree_Point}{complies to the container \ccStyle{Point}.} -\end{ccClass} - -% ---------------------------------------------------------------------- -\section{HTML Conversion} - -Small spaces in math mode: $a\:b\;c\!d$. - -The \verb+\ccc+ macro within a math environment: $1 + 3 - \ccc{symbol} = 8$. - -A simple class I with a short single character name. No cross linking rules - -\begin{ccClassTemplate}{I} -\ccCreationVariable{i} -\ccConstructor{I(I j);}{} -\end{ccClassTemplate} - -Superscript $x^2$. -Simple fraction ${1 \over 2}$. -Not so simple fraction $\frac{1+2}{2+1}$. -Emptyset $\emptyset$. -Squareroot $\sqrt{1+3}$. -Root of three $\sqrt[3]{1+3}$. - -\ccThree{void}{math_foo();}{} -\ccFunction{void math_foo();}{Simple fraction ${1 \over 2}$.} - -% ---------------------------------------------------------------------- -\section{Switch Off Linking and Indexing} - -\ccThree{boolx}{a.link5( LinkB a, B b)}{} -\ccThreeToTwo - -\ccHtmlNoClassIndex\ccHtmlNoLinks -\begin{ccClass}{LinkA} -\ccCreationVariable{a} - -A class \ccClassName\ with \verb+\ccHtmlNoClassIndex+ and -\verb+\ccHtmlNoLinks+ to suppress cross linking: - - \ccFunction{ - bool link1(const LinkA& a, const B& b);}{% - a function is still indexed. - } - \ccGlue - \ccMethod{ - bool link2(const LinkA& a, const B& b);}{% - a method is never indexed. - } - \ccGlue - \ccStruct{struct LocalX {};}{a nested struct is not indexed.} -\end{ccClass} - - -\begin{ccClass}{LinkB} -\ccCreationVariable{b} - -A class \ccClassName\ without \verb+\ccHtmlNoClassIndex+ but the individual -declarations are prefixed with \verb+\ccHtmlNoIndex+ and -\verb+\ccHtmlNoLinks+: - - \ccHtmlNoIndex\ccHtmlNoLinks - \ccFunction{ - bool link3(const LinkB& a, const B& b);}{% - explicitly not indexed. - } - \ccGlue - \ccMethod{ - bool link4(const LinkB& a, const B& b);}{% - a method is never indexed. - } - \ccGlue - \ccHtmlNoIndex - \ccStruct{struct LocalY {};}{a nested struct explicitly not indexed.} -\end{ccClass} - -The same for a global function and struct. - - \ccHtmlNoIndex\ccHtmlNoLinks - \ccFunction{ - bool link5(const LinkB& a, const B& b);}{% - explicitly not indexed. - } - \ccGlue - \ccHtmlNoIndex\ccHtmlNoLinks - \ccStruct{struct GlobalX {};}{a global struct explicitly not indexed and - not linked.} - \ccGlue - \ccStruct{struct GlobalY {};}{a global struct indexed and linked.} - -Try it for a reference environment. - -\ccFunction{ - bool link6(const UnlinkedRefClassA& a, const B& b);}{% - UnlinkedRefClass is not linked. -} - -\ccHtmlNoRefIndex\ccHtmlNoRefLinks -\begin{ccRefClass}{UnlinkedRefClassA} -\ccCreationVariable{a} - -A class \ccRefName\ with \verb+\ccHtmlNoRefIndex+ and -\verb+\ccHtmlNoRefLinks+ to suppress cross linking: - - \ccMethod{ - bool link7(const UnlinkedRefClassA& a, const B& b);}{% - a method is never indexed. - } - \ccGlue - \ccStruct{struct LocalX {};}{a nested struct is not indexed.} -\end{ccRefClass} - -And now try removing links from certain sections of the text. - -\begin{ccClass}{turn_off} - -\ccDefinition - -Class that creates unwanted links so we turn them off -using \verb+\ccHtmlLinksOff+, \verb+\ccHtmlLinksOn+, and -\verb+\ccHtmlNoLinksFrom+. - -A link to this \ccc{turn_off} should be here, but \ccHtmlLinksOff not -to this \ccc{turn_off} nor this other \ccc{turn_off}\ccHtmlLinksOn as they -are between \verb+\ccHtmlLinksOff+ and \verb+\ccHtmlLinksOn+ commands. -However this \ccc{turn_off} link should be there. This -\ccHtmlNoLinksFrom{\ccc{turn_off} and this other \ccc{turn_off}}, which -are inside the argument of a \verb+\ccHtmlNoLinksFrom+ command, should -not be linked. - -\end{ccClass} - -\ccFunction{ - bool turn_off(const A& a, const B& b);}{% - a function name that is linked. - } - -\ccHtmlLinksOff -\ccFunction{ - bool test_me(const turn_off& T);}{% - The \ccc{turn_offs} here should not be linked - } -\ccHtmlLinksOn - - - - -% ---------------------------------------------------------------------- -\section{Member Function versus Function for Operators} - -\begin{ccClass}{CGAL_Geomview_stream} -\ccCreationVariable{G} - -\ccFunction{template - CGAL_Geomview_stream& - operator<<(CGAL_Geomview_stream& G, - const CGAL_Point_2& p);} -{Inserts the point \ccc{p} into the stream \ccVar. (global function)} - -\ccMethod{template - CGAL_Geomview_stream& - operator<<(const CGAL_Point_2& p);} -{Inserts the point \ccc{p} into the stream \ccVar. (member function)} -\end{ccClass} - -% ---------------------------------------------------------------------- -\section{Operators Formatted as Functions} -\begin{ccClass}{FctClass} -\ccCreationVariable{f} - -Use default settings. - -\ccGlueBegin -\ccMethod{void method() const;}{Normal Const Method.} -\ccMethod{void operator+(FctClass b) const;}{Normal Const Operator.} -\ccMethod{void operator()();}{Empty Fct. Operator.} -\ccMethod{void operator()(int i);}{Fct. Operator.} -\ccMethod{void operator()() const;}{Empty Fct. Operator.} -\ccMethod{void operator()(int i, double d) const;}{Fct. Operator.} -\ccMethod{operator int();}{Conversion Operator.} -\ccGlueEnd - -Format full declarations. - -\ccTagFullDeclarations - -\ccGlueBegin -\ccMethod{void method() const;}{Normal Const Method.} -\ccMethod{void operator+(FctClass b) const;}{Normal Const Operator.} -\ccMethod{void operator()();}{Empty Fct. Operator.} -\ccMethod{void operator()(int i);}{Fct. Operator.} -\ccMethod{void operator()() const;}{Empty Fct. Operator.} -\ccMethod{void operator()(int i, double d) const;}{Fct. Operator.} -\ccMethod{operator int();}{Conversion Operator.} -\ccGlueEnd - -\ccTagDefaults -\end{ccClass} - -% ---------------------------------------------------------------------- -\section{Verbatim Environment} - -\begin{verbatim} -int x; // Blabal lkjhdfls hf.s // -int i; // This is an int. // -double d; // Double. // -\end{verbatim} - -% ---------------------------------------------------------------------- -\begin{ccClass}{Face} -\ccSection{Removal of Own Class Name} -\ccCreationVariable{f} - -\ccConstructor{Face(Face face);}{} -\ccGlue -\ccConstructor{Face(Face_handle n);}{} -\ccGlue -\ccConstructor{Face(Facehandle n);}{} -\ccGlue -\ccConstructor{Face(handle_Face n);}{} -\ccGlue -\ccConstructor{Face(Face5_handle n);}{} -\ccGlue -\ccConstructor{Face(handle_5Face n);}{} - -\end{ccClass} - -% ---------------------------------------------------------------------- -\section{Table Layout in HTML} - -First, right column: - -\ccFunction{CGAL_Return foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all bak.} -\ccFunction{CGAL_Return foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all bak bal.} -\ccFunction{CGAL_Return foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all bak bal bur.} -\ccFunction{CGAL_Return foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all bak bal bur nic.} - -Second, the return type. - -\ccFunction{CGAL_Return foos_bar( int x);}{} -\ccFunction{CGAL_Retu_rn foos_bar( int x);}{} -\ccFunction{CGAL_Retu_1rn foos_bar( int x);}{} -\ccFunction{CGAL_Retu_12rn foos_bar( int x);}{} - -Third, the function declaration. - -\ccFunction{CGAL_Return foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int1 x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int_1 x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int_18 x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{int foos_bar( double x);}{} - -Same with long return type. - -\ccFunction{CGAL_ReturnMMMMM foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_ReturnMMMMM foos_bar( int1 x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_ReturnMMMMM foos_bar( int_1 x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_ReturnMMMMM foos_bar( int_18 x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Retu_12rn foos_bar( double x);}{} - -Long comments with long function delaration. - -\ccFunction{CGAL_ReturnMMMMM foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( double<> x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( double<> x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all bak.} -\ccFunction{CGAL_Return foos_bar( double<> x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all bak bal.} -\ccFunction{CGAL_Return foos_bar( double<> x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all bak bal bur.} -\ccFunction{CGAL_Return foos_bar( double<> x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all bak bal bur nic.} - - -Long parameter lists: - -\ccFunction{CGAL_Return foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y, double y);}{ - Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y, double y, double y);}{ - Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y, double y, double y, - double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y, double y, double y, - double y, double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} - - -Long parameter lists with long return type: - -\ccFunction{CGAL_Ret_12urn foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y, double y);}{ - Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y, double y, - double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y, double y, double y, - double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y, double y, double y, - double y, double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} - - -Same, but with alternate parameter layout for long parameter -names. Long parameter lists: - -\def\ccLongParamLayout{\ccTrue} - -\ccFunction{CGAL_Return foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y, double y);}{ - Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y, double y, double y);}{ - Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y, double y, double y, - double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Return foos_bar( int x, double y, double y, double y, - double y, double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} - - -Long parameter lists with long return type: - -\ccFunction{CGAL_Ret_12urn foos_bar( int x);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y);}{Blkj fdkjbjlh - flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y, double y);}{ - Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y, double y, - double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y, double y, double y, - double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} -\ccFunction{CGAL_Ret_12urn foos_bar( int x, double y, double y, double y, - double y, double y);}{Blkj fdkjbjlh flknlkj kjh kjh lkjh all .} - -\def\ccLongParamLayout{\ccFalse} - -Now, checking a class. Note, comment is always in separate line. - -\ccHtmlNoClassFile -\begin{ccClass}{IndentClass} -\ccCreationVariable{indent} - -\ccConstructor{IndentClass();}{Short comment. Default constr.} - -Now one with and one without comment. - -\ccConstructor{IndentClass();}{Short comment. Default constr.} -\ccConstructor{IndentClass();}{} - -Here with longer comment. - -\ccConstructor{IndentClass();}{Short Short Short Short Short Short - Short comment. Default constr.} -\ccConstructor{IndentClass();}{Short Short Short Short Short Short - Short Short Short comment. Default constr.} - -Here with long parameter lists. - -\ccConstructor{IndentClass( double x, double y, double y, double y, - double y);}{Short comment. Default constr.} -\ccConstructor{IndentClass( double x, double y, double y, double y, - double y);}{Short comment. Default constr.} -\ccConstructor{IndentClass( double x, double y, double y, double y, - double y, double y);}{Short comment. Default constr.} - -Same, but with alternate parameter layout for long parameter -names. Here with long parameter lists. - -\def\ccLongParamLayout{\ccTrue} - -\ccConstructor{IndentClass( double x, double y, double y, double y, - double y);}{Short comment. Default constr.} -\ccConstructor{IndentClass( double x, double y, double y, double y, - double y);}{Short comment. Default constr.} -\ccConstructor{IndentClass( double x, double y, double y, double y, - double y, double y);}{Short comment. Default constr.} - -\def\ccLongParamLayout{\ccFalse} - -Long template parameter list and short function. - -\ccFunction{template < class Point, class Vector, class Traits, - class Magnificant> void floo();}{thats it.} - -\end{ccClass} - -% ---------------------------------------------------------------------- -\section{Bibliography and citations} - -Some \cgal\ citations: \cite{fgkss-ckbgc-96,kw-ceapp-97}, maybe -with a optional comment: \cite[optional comment]{fgkss-ckbgc-96,kw-ceapp-97}. - -% ---------------------------------------------------------------------- -\section{Test of New HTML Converter with Macro Expansion} - -Accents and Umlaute: \"a\ \"o\ \"u\ \"A\ \"O\ \"{U}\ \'e\ \`e\ \^e\ - \~n\ \c{c}\ \ss{}\ \ae\ \AE\ \aa\ \AA\ \oe\ \OE\ \o\ \O\ \S\ - \P\ \copyright\ \pounds\ \dag\ \ddag\ \l\ \L. - - -Macros \TeX{} \LaTeX\ \LaTeXe\ to name the game. - -Greek alphabet: $\alpha\ \beta\ \gamma\ \delta\ \epsilon\ - \varepsilon\ \zeta\ \eta\ \theta\ \vartheta\ \iota\ \kappa\ \lambda\ - \mu\ \nu\ \xi o\ \pi\ \varpi\ \rho\ \varrho\ \sigma\ \varsigma\ - \tau\ \upsilon\ \phi\ \varphi\ \chi\ \psi\ \omega$, - $\Gamma\ \Delta\ \Theta\ \Lambda\ \Xi\ \Pi\ \Sigma\ \Upsilon\ \Phi\ - \Psi\ \Omega$ - -Miscelleaneous math: $x \cdot y, x \times y$, $\sqrt{2}$, $\sqrt[4]{18}$, - $\frac{1}{2}$. - -Some dots: $M \ldots M \cdot M \cdots M \vdots M \ddots M$. - -Calligraphic letters: $\mathcal{A}$ $\mathcal{B}$ $\mathcal{C}$ $\mathcal{D}$ - $\mathcal{E}$ $\mathcal{F}$ $\mathcal{G}$ $\mathcal{H}$ $\mathcal{I}$ - $\mathcal{J}$ $\mathcal{K}$ $\mathcal{L}$ $\mathcal{M}$ $\mathcal{N}$ - $\mathcal{O}$ $\mathcal{P}$ $\mathcal{Q}$ $\mathcal{R}$ $\mathcal{S}$ - $\mathcal{T}$ $\mathcal{U}$ $\mathcal{V}$ $\mathcal{W}$ $\mathcal{X}$ - $\mathcal{Y}$ $\mathcal{Z}$. - -Mathbb letters: $\mathbb{A}$ $\mathbb{B}$ $\mathbb{C}$ $\mathbb{D}$ - $\mathbb{E}$ $\mathbb{F}$ $\mathbb{G}$ $\mathbb{H}$ $\mathbb{I}$ - $\mathbb{J}$ $\mathbb{K}$ $\mathbb{L}$ $\mathbb{M}$ $\mathbb{N}$ - $\mathbb{O}$ $\mathbb{P}$ $\mathbb{Q}$ $\mathbb{R}$ $\mathbb{S}$ - $\mathbb{T}$ $\mathbb{U}$ $\mathbb{V}$ $\mathbb{W}$ $\mathbb{X}$ - $\mathbb{Y}$ $\mathbb{Z}$. - -Some not-relations: $ \not\in $. - -Binary operation symbols: $ \pm \times \div \mp \ast \star \circ \bullet - \cap \cup \uplus \sqcap \sqcup \vee \wedge \setminus \wr \diamond - \bigtriangleup \bigtriangledown \triangleleft \triangleright \lhd - \rhd \unlhd \unrhd \oplus \ominus \otimes \oslash \odot \bigcirc \dagger - \ddagger \amalg$. - -Relation symbols: $ \leq \prec \preceq \ll \subset \subseteq \sqsubset - \sqsubseteq \in \vdash \geq \succ \succeq \gg \supset \supseteq \sqsupset - \sqsupseteq \ni \dashv \equiv \sim \simeq \asymp \approx \cong \neq - \doteq \notin \models \perp \mid \parallel \bowtie \Join \smile \frown - \propto$. - -Arrow symbols: $ \leftarrow \Leftarrow \rightarrow \Rightarrow \leftrightarrow - \Leftrightarrow \mapsto \hookleftarrow \leftharpoonup \leftharpoondown - \rightleftharpoons \longleftarrow \Longleftarrow \longrightarrow - \Longrightarrow \longleftrightarrow \Longleftrightarrow \longmapsto - \hookrightarrow \rightharpoonup \rightharpoondown \leadsto \uparrow \Uparrow - \downarrow \Downarrow \updownarrow \Updownarrow \nearrow \searrow \swarrow - \nwarrow$. - -Miscellaneous symbols: $\prime \neg \| \backslash \aleph \hbar \imath \jmath - \ell \wp \Re \Im \mho \emptyset \nabla \surd \top \bot \angle \forall \exists - \flat \natural \sharp \partial \infty \Box \Diamond \triangle \clubsuit - \diamondsuit \heartsuit \spadesuit$. - -Variable sized symbols (small): $ \sum \prod \coprod \int \oint \bigcap - \bigcup \bigsqcup \bigvee \bigwedge \bigodot \bigotimes \bigoplus \biguplus$. - -Variable sized symbols (big): \[ \sum \prod \coprod \int \oint \bigcap - \bigcup \bigsqcup \bigvee \bigwedge \bigodot \bigotimes \bigoplus \biguplus\]. - -Delimiters: $ \lfloor x \rfloor, \lceil y \rceil, \langle z \rangle$. - -Math accents: $\hat{e}, \acute{e}, \grave{e}, \tilde{n}, \ddot{a}$. - - -\begin{alltt} -Ha -% -\LaTeX{} -% -Ha -\end{alltt} - -\ccHtmlCrossLink{FunnyClass}This line should be the target for the -hyperlinks emanating from the class \ccc{FunnyClass}. - -Here another paragraph mentioning the class \ccc{FunnyClass}. Place -it in the index, first by default under class, and then additionally under -nested types.\ccHtmlIndexC{FunnyClass}\ccHtmlIndexC[nested_type]{FunnyClass} -Put some formated entries in the index. \ccHtmlIndex{PlainClass} -\ccHtmlIndex[function]{This is {\em Stuff} related to \ldots.} - - -My \ccAnchor{http://www.inf.ethz.ch/personal/kettner/}{homepage} -is at \path|http://www.inf.ethz.ch/personal/kettner/|. - -\begin{ccHtmlClassFile}{qqq.html}{Declaration of \ccc{Qaa}} -\begin{ccClass}{Q} -\ccCreationVariable{y} -\ccConstructor{Q();}{default} -\end{ccClass} -\end{ccHtmlClassFile} - -\newcommand{\xa}{hello} -\newcommand{\xb}[1]{\xa } -\newcommand{\xc}[1]{\xa} -\newcommand{\xd}{hello } -\newcommand{\xe}[1]{% -#1 -} -\newcommand{\xf}[1]{ #1 } -\newcommand{\xg}[1]{#1} -\newcommand{\xh}[1]{\xg} - -Test for spaces in macro expansion: all lines should look the same. - -Say hello to me, hellome.\\ -Say \xb{A} to me, \xb{A}me.\\ -Say \xc{A} to me, \xb{A}me.\\ -Say \xd to me, \xb{A}me.\\ -Say\xe{ hello}to me, hellome.\\ -Say\xe{}hello to me, hellome.\\ -Say\xf{hello}to me, hellome.\\ -Say hello \xh{} t\xh{}o me, hellome.\\ -Say hello\xh{}\ t\xh{}o me, hellome. - -Another example, looking slightly different. - -Say \ hello to me.\\ -Say\xf{}hello to me. - - -%% ========================================== -\begin{lcHtmlBlock} -{\bf Macro expansion tests} - -Should all look like - -No no \textbf{Bla} bla no no.\\ -% -\newcommand{\macro}{\textbf{Bla} bla} -No no \macro\ no no.\\ -% -\def\macroa{\textbf{Bla} bla} -No no \macroa\ no no.\\ -% -\newcommand{\macrob} %% - - {\textbf{Bla} bla} -% -No no \macrob\ no no.\\ -% -\newcommand{\macroc}{\textbf{Bla} % hahahha - bla} -% -No no \macroc\ no no.\\ -% -\newcommand{\a}[1]{\textbf{#1} bla} -% -No no \a{Bla} no no.\\ -% -\def\aa #1{\textbf{#1} bla} -% -No no \aa{Bla} no no.\\ -% -\def\aaa #1#2#3{\textbf{#3#2#1} bla} -% -No no \aaa alB no no.\\ -% -\newcommand{\b}[1]{ #1} -\newcommand{\b@om}{\textbf{#1} #2} -% -No no \b[Bla]{bla}\b{no}\ no.\\ -% -\newcommand{\bb}[1]{ #1} -\newcommand{\bb@mo}{\textbf{#1} #2} -% -No no \bb{Bla}[bla]\bb{no}\ no.\\ -% -\newcommand{\bb@omo}{\textbf{#1} #2#3} -No no \bb[Bla]{bla}[ no]\ no. - - -%% ========================================== -Should all look like - -No no \textbf{Bla} \% \{ \{ \} bla no no.\\ -% -\newcommand{\macrod}{\textbf{Bla} \% \{ \{ \} bla} -No no \macrod\ no no.\\ -% -\newcommand{\|}{\textbf{Bla} \% \{ \{ \} bla} -% -No no \| no no. - -%% ========================================== -Should all look like - -Hallo Dummy World.\\ -% -\newenvironment{c}{Hallo}{World} -\begin{c} Dummy \end{c}.\\ -% -\newenvironment{d}[1]{#1}{World} -\begin{d}{Hallo} Dummy \end{d}.\\ -% -\newenvironment{e}[1]{#1}{World} -\newcommand{\begin@e@om}{#1#2} -\begin{e}{Hallo} Dummy \end{e}.\\ -\begin{e}[Hal]{lo} Dummy \end{e}.\\ -% -\newcommand{\begin@e@moo}{#1#2#3} -\begin{e}{Ha}[l][lo] Dummy \end{e}.\\ -% -\newenvironment{ee}{Hallo }{World} -\newcommand{\begin@ee@o}{Ha#1o} -\begin{ee} Dummy \end{ee}.\\ -\begin{ee}[ll] Dummy \end{ee}.\\ -% -Hallo~Dummy World. - -\newtheorem{mytheorem}{Theorem} - -\begin{mytheorem} - Hallo theorem. -\end{mytheorem} - -\begin{mytheorem}[Optional] - Hallo {\em emphasized\/} theorem. -\end{mytheorem} - -\paragraph{Paragraph} - -blablabla blablabla blablabla blablabla blablabla blablabla blablabla -blablabla blablabla blablabla blablabla - -\paragraph*{Paragraph} - -blablabla blablabla blablabla blablabla blablabla blablabla blablabla -blablabla blablabla blablabla blablabla - -\paragraph[Bloek]{Paragraph} - -blablabla blablabla blablabla blablabla blablabla blablabla blablabla -blablabla blablabla blablabla blablabla - -\def\qtrue{\ccTrue} -\def\qfalse{\ccFalse} -\def\qauto{\ccAuto} -\newcommand{\qy}[1]{\lciIf{#1}{\lcAsciiToHtml{#1} is true.} - {\lcAsciiToHtml{#1} is false.}} - -\newcommand{\qz}[1]{\lciIf{#1}[\lcAsciiToHtml{#1} is auto.] - {\lcAsciiToHtml{#1} is true.} - {\lcAsciiToHtml{#1} is false.}} - -\qy\qtrue \\ -\qy\qfalse - -\qz\qtrue \\ -\qz\qfalse\\ -\qz\qauto - -ccTrueAndFalse \lciIfDefined{\ccTrueAndFalse}{ is defined.}{ is not defined.}\\ -ccTrue \lciIfDefined{\ccTrue}{ is defined.}{ is not defined.} - -\lciIfEqual{Hallo}{Hallo}{correct}{wrong}\\ -\lciIfEqual{<}{<}{correct}{wrong}\\ -\lciIfEqual{Hallo}{<}{wrong}{correct} - -\ccFunction{int foo( const Bla& ref) const;}{} - -\ccGlobalFunction{int foo( const Bla& ref) const;} - -\ccClassDeclaration{class Demo;}{huhu} - -\ccInclude{CGAL/Vector_2.h} - -Stack implemented using macros: - -\newcommand{\mystack}{} - -Empty stack: stack = \lciPrintStack{\mystack}\\ -Test for emptyness: \lciIfEmpty{\mystack}{correct}{failed}.\\ -\lciPushStack{\mystack}{first item} -Push an item: stack = \lciPrintStack{\mystack}\\ -Test for non-emptyness: \lciIfEmpty{\mystack}{failed}{correct}.\\ -Show top: \lciTopStack{\mystack}{\mytop}\mytop\\ -\lciPushStack{\mystack}{second item} -Push an item: stack = \lciPrintStack{\mystack}\\ -Test for non-emptyness: \lciIfEmpty{\mystack}{failed}{correct}.\\ -Show top: \lciTopStack{\mystack}{\mytop}\mytop\\ -\lciPushStack{\mystack}{third item} -Push an item: stack = \lciPrintStack{\mystack}\\ -\lciPopStack{\mystack} -Pop an item: stack = \lciPrintStack{\mystack}\\ -\lciPopStack{\mystack} -Pop an item: stack = \lciPrintStack{\mystack}\\ -\lciPopStack{\mystack} -Pop an item: stack = \lciPrintStack{\mystack}\\ -Test for emptyness: \lciIfEmpty{\mystack}{correct}{failed}.\\ - -\end{lcHtmlBlock} - -\def\nn #1#2{A#1B#2C} - -\begin{alltt} -\nn {D} {E} F -\nn {%} { -E} F - -Ha -% -\LaTeX Hallo -% -Ha -\end{alltt} - -{\it Hallo {\em Du} da} - -{\tt Hallo {\em Du} da} - -{\sc Hallo {\em Du} da} - -$\mathcal{HALLO\ DU\ AUCH}$ - -\begin{abstract} -This is an abstract. Blabla Blabla Blabla Blabla - Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla - Blabla Blabla. -\end{abstract} - -\begin{quote} - Two paragraphs in a quoted environment. Blabla Blabla Blabla Blabla - Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla - Blabla Blabla. - - Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla - Blabla Blabla Blabla Blabla Blabla Blabla. Blabla Blabla Blabla - Blabla Blabla Blabla. -\end{quote} - -\centerline{1st centerline.} -\centerline{2nd centerline.} - -\begin{center} - Two paragraphs in a quoted environment. Blabla Blabla Blabla Blabla - Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla - Blabla Blabla. - - Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla - Blabla Blabla Blabla Blabla Blabla Blabla. Blabla Blabla Blabla - Blabla Blabla Blabla. -\end{center} - -\paragraph{Paragraph} - - Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla - Blabla Blabla Blabla Blabla Blabla Blabla. Blabla Blabla Blabla - Blabla Blabla Blabla. - -\subparagraph{Subparagraph} - - Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla - Blabla Blabla Blabla Blabla Blabla Blabla. Blabla Blabla Blabla - Blabla Blabla Blabla. - -\begin{tabular}{llcr} -A & B & C & D -\end{tabular} - -\begin{tabular}{llcr}\hline -\multicolumn{2}{l}{HalloLang} & C & D \\ -A & \multicolumn{2}{l}{HalloLang} & D \\ -A & B & \multicolumn{2}{l}{HalloLang} \\ -\multicolumn{4}{l}{HalloLang} \\ -% -\multicolumn{2}{l}{HalloLang} & C & D \\\hline -A & \multicolumn{2}{l}{HalloLang} & D \\\hline -A & B & \multicolumn{2}{l}{HalloLang} \\\hline -\multicolumn{4}{l}{HalloLang} \\\hline -% -\multicolumn{2}{l}{HalloLang} & C & D \\\hline\hline -A & \multicolumn{2}{l}{HalloLang} & D \\\hline\hline -A & B & \multicolumn{2}{l}{HalloLang} \\\hline\hline -\multicolumn{4}{l}{HalloLang} \\\hline\hline -% -A & B & C & D \\\hline\hline -\end{tabular} - -\newcommand{\lcTabularBorder}{2} - -\begin{tabular}{llcr}\hline -\multicolumn{2}{l}{HalloLang} & C & D \\ -A & \multicolumn{2}{l}{HalloLang} & D \\ -A & B & \multicolumn{2}{l}{HalloLang} \\ -\multicolumn{4}{l}{HalloLang} \\ -% -\multicolumn{2}{l}{HalloLang} & C & D \\\hline -A & \multicolumn{2}{l}{HalloLang} & D \\\hline -A & B & \multicolumn{2}{l}{HalloLang} \\\hline -\multicolumn{4}{l}{HalloLang} \\\hline -% -\multicolumn{2}{l}{HalloLang} & C & D \\\hline\hline -A & \multicolumn{2}{l}{HalloLang} & D \\\hline\hline -A & B & \multicolumn{2}{l}{HalloLang} \\\hline\hline -\multicolumn{4}{l}{HalloLang} \\\hline\hline -% -A & B & C & D \\\hline\hline -\end{tabular} - -\begin{verbatim} - -\end{verbatim} - -\begin{alltt} - -\end{alltt} - -\label{section_here} - -Please refer to Section~\ref{section_here}. - -Hallo {\bf Boldface} abcdef. - -Hallo {\it Italics} abcdef. - -Hallo {\tt Typewriter} abcdef. - -{\it Hallo {\em Du} da} - -{\tt Hallo {\em Du} da} - -{\sc Hallo {\em Du} da} - -Hallo {\large large} abcdef. - -Hallo {\huge huge} abcdef. - -Hallo {\small small} abcdef. - -\def\llca{Hallo} - -\def\llcaa{NEIN} - -\def\llcb{ -\llca% -llca -} -\llcb - -\def\llcc #1{\llca #1\llca } -\begin{alltt} -\llcc{\llca }B -\end{alltt} - -% ---------------------------------------------------------------------- -\begin{lcHtmlBlock} -\chapter{Test Chapter} - -This is my chapter body. - -A nice class herin. - -\begin{ccClass}{NiceClass} -\ccNestedType{NType}{comment.} -\end{ccClass} -\end{lcHtmlBlock} - -% ---------------------------------------------------------------------- -\section{The ccRef... macros} - -\begin{ccRefClass}{Circulator_from_container} - -This is a ref class \ccRefName\ and should produce an index entry -without the template parameter... -\end{ccRefClass} - -\begin{ccRefConcept}{Concept} -The reference concept \ccRefName\ is talked about here... -\end{ccRefConcept} - -\begin{ccRefConcept}[Scope::]{Concept} -A reference concept is talked about here... - -\ccTypes -\ccNestedType{Vertex}{is the scope prefix correct here?} - -\end{ccRefConcept} - -\begin{ccRefConcept}{Concept_name} -Reference concept \ccRefName, which has an underscore in its name is -talked about here... -\end{ccRefConcept} - -\begin{ccRefConcept}{Concept} - -\ccRefName\ is a templated concept. The concept name should still be in -the default font, but there shouldn't be any problems with the template -parameter name. The index entry for this should not include the template -parameter. - -\ccTypes - -\ccNestedType{Type1}{some type} -\ccNestedType{Type2}{some other type} - -\ccCreationVariable{tc} -\ccPredicates - -\ccMethod{void do_nothing(T& t);}{} - -\end{ccRefConcept} - -\begin{ccRefConstant}{GLOBAL} -The constant \ccRefName\ is talked about there -\end{ccRefConstant} - -\begin{ccRefConstant}[Concept::]{GLOBAL} -The constant \ccRefScope\ccRefName\ is talked about there -\end{ccRefConstant} - -\begin{ccRefEnum}[Class::]{Enum} -A reference enumeration is talked about here... -\end{ccRefEnum} - -\begin{ccRefEnum}{Enum} -A reference enumeration is talked about here... -\end{ccRefEnum} - -\begin{ccRefFunction}[Class::]{Function} -A reference function is talked about here... -\end{ccRefFunction} - -\begin{ccRefFunction}{Function} -A reference function is talked about here... -\end{ccRefFunction} - -\begin{ccRefFunctionObjectClass}{FOClass} -Function object class \ccRefName\ is talked about here... -\end{ccRefFunctionObjectClass} - -\begin{ccRefFunctionObjectClass}[Kernel::]{FOConcept} -Function object class \ccRefScope\ccRefName\ is talked about here... -\end{ccRefFunctionObjectClass} - -\begin{ccRefFunctionObjectConcept}{FOConcept} -Function object concept \ccRefName\ is talked about here... -\end{ccRefFunctionObjectConcept} - -\begin{ccRefFunctionObjectConcept}[Kernel::]{FOConcept} -Function object concept \ccRefScope\ccRefName\ is talked about here... -\end{ccRefFunctionObjectConcept} - -\begin{ccRefVariable}[Class::]{Variable} -A reference variable is talked about here... -\end{ccRefVariable} - -\begin{ccRefVariable}{Variable} -A reference variable is talked about here... -\end{ccRefVariable} - -\begin{ccRefMacro}[Class::]{Macro} -A reference macro is talked about here... -\end{ccRefMacro} - -\begin{ccRefMacro}{Macro} -A reference macro is talked about here... -\end{ccRefMacro} - -\begin{ccRefFunctionObjectConcept}{Kernel::Point_2} -Some function object concept or other. Is the ``Kernel'' prefix there? -\end{ccRefFunctionObjectConcept} - -\begin{ccRefFunctionObjectClass}{Point_2} -Some function object class or other. -\end{ccRefFunctionObjectClass} - -\ccRefIdfierPage{Macro} - -Setting \verb|\ccRefPageFill| to \verb|\hfill| - -\renewcommand{\ccRefPageFill}{\hfill} -\ccRefConceptPage{Concept_name} - -\begin{ccRefConcept}{HDS} - -This page number should be with dot fill at the edge of the page -\renewcommand{\ccRefPageFill}{\dotfill} - -\ccRefIdfierPage{HDS} \\ -\ccRefConceptPage{HDS} \\ - -This page number should be (pg. \#): - -\gdef\ccRefPageNumAtMargin{\ccFalse} -\ccRefIdfierPage{HDS} \\ -\ccRefConceptPage{HDS} \\ - -This page number should again be with dot fill at the edge of the page - -\gdef\ccRefPageNumAtMargin{\ccTrue} -\ccRefIdfierPage{HDS} \\ -\ccRefConceptPage{HDS} \\ - -\end{ccRefConcept} - - -% ---------------------------------------------------------------------- -\bibliographystyle{plain} -\bibliography{cgal} - -\lcTex{\printindex} - -\end{document} - -% EOF % - - - - diff --git a/Manual_tools/format/test_chaps/part3.tex b/Manual_tools/format/test_chaps/part3.tex deleted file mode 100644 index 9f337197a59..00000000000 --- a/Manual_tools/format/test_chaps/part3.tex +++ /dev/null @@ -1,4 +0,0 @@ -\part{Tutorials} -\chapter{Getting Started} - -This is a tutorial. Blah blah blah. diff --git a/Manual_tools/format/test_chaps/ref_chap1.tex b/Manual_tools/format/test_chaps/ref_chap1.tex deleted file mode 100644 index c093f0b8325..00000000000 --- a/Manual_tools/format/test_chaps/ref_chap1.tex +++ /dev/null @@ -1,28 +0,0 @@ -\ccRefChapter{First chapter}{first_user_chap_label} -\label{first_ref_chap_label} - -The first chapter of the reference manual defines \ccc{operator+} -and \ccc{HDS} concept - -\gdef\ccTagOperatorLayout{\ccFalse} -\begin{ccRefFunction}{operator+} -\ccTexHtml{\ccSetThreeColumns{Vector_2X }{}{\hspace*{8.0cm}}}{} - -\ccInclude{CGAL/Vector_2.h} - -\ccFunction{Vector_2 operator+(const R::RT &s, const Vector_2 &w);} - {Multiplication with a scalar from the left.} - -\ccInclude{CGAL/Vector_3.h} - -\ccFunction{Vector_3 operator+(const R::RT &s, const Vector_3 &w);} - {Multiplication with a scalar from the left.} -\end{ccRefFunction} - -\begin{ccRefConcept}{HDS} - -\ccDefinition -\ccRefName\ is a hungry data structure - -Blah blah blah. -\end{ccRefConcept} diff --git a/Manual_tools/format/test_chaps/ref_chap2.tex b/Manual_tools/format/test_chaps/ref_chap2.tex deleted file mode 100644 index 3a39a5e6c15..00000000000 --- a/Manual_tools/format/test_chaps/ref_chap2.tex +++ /dev/null @@ -1,18 +0,0 @@ -\chapter{Second chapter} - -The second chapter of the reference manual defines \ccc{operator*}. - -\gdef\ccTagOperatorLayout{\ccTrue} -\begin{ccRefFunction}{operator*} -\ccTexHtml{\ccSetThreeColumns{Vector_2X }{}{\hspace*{8.0cm}}}{} - -\ccInclude{CGAL/Vector_2.h} - -\ccFunction{Vector_2 operator*(const R::RT &s, const Vector_2 &w);} - {Multiplication with a scalar from the left.} - -\ccInclude{CGAL/Vector_3.h} - -\ccFunction{Vector_3 operator*(const R::RT &s, const Vector_3 &w);} - {Multiplication with a scalar from the left.} -\end{ccRefFunction} diff --git a/Manual_tools/format/test_chaps/user_chap1.tex b/Manual_tools/format/test_chaps/user_chap1.tex deleted file mode 100644 index 628f73d6bdd..00000000000 --- a/Manual_tools/format/test_chaps/user_chap1.tex +++ /dev/null @@ -1,5 +0,0 @@ -\ccUserChapter{First chapter}{first_ref_chap_label} -\label{first_user_chap_label} - -The first chapter of the user manual. Blah blah blah. - diff --git a/Manual_tools/format/test_chaps/user_chap2.tex b/Manual_tools/format/test_chaps/user_chap2.tex deleted file mode 100644 index 67a8bd90418..00000000000 --- a/Manual_tools/format/test_chaps/user_chap2.tex +++ /dev/null @@ -1,3 +0,0 @@ -\chapter{Second chapter} - -The second chapter of the user manaul. Blah blah blah. diff --git a/Manual_tools/format/test_parts.tex b/Manual_tools/format/test_parts.tex deleted file mode 100644 index 5d8384877b9..00000000000 --- a/Manual_tools/format/test_parts.tex +++ /dev/null @@ -1,64 +0,0 @@ -%\documentclass[]{article} -\documentclass[]{book} - -\usepackage{amssymb} -\usepackage{latexsym} -\usepackage{alltt} -\usepackage{makeidx} -\usepackage{cc_manual} -\usepackage{latex_to_html} -\usepackage{graphicx} -\usepackage{cprog} -\usepackage{nonlinkedpath} -\usepackage{path} - -% page dimensions, for example as used for the CGAL manuals -% --------------------------------------------------------- -\textwidth 15.6cm -\textheight 23cm -\topmargin -14mm -\evensidemargin 3mm -\oddsidemargin 3mm -\sloppy - -% let HTML converter know it is dealing with a manual in multiple parts -\ccMultiplePartsToc -% make chapters start over at 1 for each part -\ccNumberChaptersByPart - -\makeindex -%\marginparsep7mm -%\marginparwidth15mm -\gdef\ccNewRefManualStyle{\ccTrue} -\ccDefGlobalScope{CGAL::} - -% The tab marker are aligned with the top of the main text. To align -% them with the page header, the following redefinition of the actual -% formatting command can be used. -\setlength{\ccRefTabLift}{12.5mm} - - -\newcommand{\cgalColumnLayout}{% example setting of the CGAL manuals - \ccSetThreeColumns{CGAL_Oriented_side}{}{\hspace*{8.5cm}}% - \ccPropagateThreeToTwoColumns -} -\cgalColumnLayout - -\def\ccRefPageBegin{\ccParDims\cgalColumnLayout} -\def\ccRefPageEnd{\ccParDims\cgalColumnLayout} - -\begin{document} - -\part{User Manual} -\input{test_chaps/user_chap1} -\input{test_chaps/user_chap2} - -\part{Reference Manual} -\input{test_chaps/ref_chap1} -\input{test_chaps/ref_chap2} - -\input{test_chaps/part3} - -\printindex - -\end{document} diff --git a/Manual_tools/install.config b/Manual_tools/install.config new file mode 100644 index 00000000000..7ac3e1366a9 --- /dev/null +++ b/Manual_tools/install.config @@ -0,0 +1,7 @@ +# feel free to edit the paths as you like + +export LATEX_CONV_BIN=$HOME/local/bin + +MANUAL_TOOLS_PREFIX=$HOME/local/Manual_tools +export LATEX_CONV_CONFIG=$MANUAL_TOOLS_PREFIX/latex_conv_config +export STYLE_FILES=$MANUAL_TOOLS_PREFIX/sty diff --git a/Manual_tools/install.sh b/Manual_tools/install.sh new file mode 100755 index 00000000000..6d73182f049 --- /dev/null +++ b/Manual_tools/install.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +source install.config + +install -d $LATEX_CONV_BIN $LATEX_CONV_CONFIG $STYLE_FILES $STYLE_FILES/eps_tabs $STYLE_FILES/eps_tabs_grey + +cd src +#make clean +make || exit 1 +make install +cd .. + +cp scripts/index_fix scripts/cc_make_ref_pages scripts/cc_ref_wizard $LATEX_CONV_BIN +cp sty/*.sty $STYLE_FILES +cp sty/eps_tabs/*.pdf sty/eps_tabs/*.eps $STYLE_FILES/eps_tabs +cp sty/eps_tabs_grey/*.eps $STYLE_FILES/eps_tabs_grey # sty/eps_tabs_grey/*.pdf + +echo "" +echo "================================================" +echo "Manual_tools successfullly installed. Do not forget to update \$TEXINPUTS:" +echo "export TEXINPUTS=\".:$STYLE_FILES:\$TEXINPUTS\"" \ No newline at end of file diff --git a/Manual_tools/scripts/README b/Manual_tools/scripts/README index 8753f8439bc..253e0c91a31 100644 --- a/Manual_tools/scripts/README +++ b/Manual_tools/scripts/README @@ -1,16 +1,8 @@ -README for the Specification and Manual Writing Tools - for C++ Reference Manuals -===================================================== -21.11.1996 Zurich Lutz Kettner -06.05.1997 Zurich Lutz Kettner - This is the directory containing small scripts around manual writing. The directory structure is: README this file. - RCS/ revision controlled files. - index_fix a Perl script for postprocessing a .ind file generated by makeindex. @@ -24,37 +16,3 @@ The script cc_ref_wizard understands several environment variables and it reads the config file '${HOME}/.cc_ref_wizard_rc' (in csh syntax). See the script itself for more details. -Usage Message of cc_ref_wizard -h: ------------------------------------------------------ - -Hi, I am the reference manual page wizard. I create a reference -manual page skeleton for you. I'll need to know the -of page you want me to create and the , e.g. the name -of the class, function, etc. you want to document. A third and -optional argument specifies the subdirectory where the header -file for the item is located, e.g. IO for io related files. -The can be one of: - - Class Concept Enum Function Macro Variable - -cc_ref_wizard $Id$ (c) Lutz Kettner -Usage: cc_ref_wizard [] [] - -s scope the item is in (suppresses prefix). - -p name of the package the item belongs to. - -o the output filename. Default: .tex. - -V version number. - -h help message. - - -Usage Message of cc_make_ref_pages: ------------------------------------------------------ - -Usage: cc_make_ref_pages - creates a file '/main.tex' that will be the driver - file for the reference manual chapter for , i.e. it - inputs '/intro.tex' for the chapter intro and all - tex files from in alphabetical order thereafter. - Creates also a file '/html_main.tex' for the - HTML online manual generation. - -EOF diff --git a/Manual_tools/scripts/index_fix b/Manual_tools/scripts/index_fix index 544801421ca..4a32cfc1fee 100755 --- a/Manual_tools/scripts/index_fix +++ b/Manual_tools/scripts/index_fix @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl -swi.unfixed +#!/usr/bin/perl -swi.unfixed # # =========================================================================== # diff --git a/Manual_tools/src/INSTALLATION b/Manual_tools/src/INSTALLATION index 8c4b8fe3d6f..a28b1e420e9 100644 --- a/Manual_tools/src/INSTALLATION +++ b/Manual_tools/src/INSTALLATION @@ -1,10 +1,3 @@ -INSTALLATION for the Specification and Manual Writing Tools - for C++ Reference Manuals -=========================================================== -24.08.1999 Zurich Lutz Kettner - 1. 9.2005 Saarbruecken Andreas Meyer - - Installation of the Supporting Tools: ===================================== (see ../INSTALLATION for the manual and TeX style files) @@ -12,11 +5,11 @@ Installation of the Supporting Tools: (1) System Requirements: - * C++ Compiler (Gnu g++ 2.8.1, 2.95.1, Gnu egcs 1.1.2) - * C Compiler (Gnu gcc 2.6.3 or the usual system cc compiler) - * flex and bison + * C/C++ Compiler (tested: Gnu g++ 3.3 and 3.4) + * flex and bison (NOTE: flex versions > 2.5.4 are NOT yet supported) * perl 5 - * Unix environment with tools like grep, sed, ... + * Unix environment with tools like grep, sed, awk, ... + * GNU make (2) Configuring the installation and the use of the tools: @@ -59,7 +52,7 @@ Installation of the Supporting Tools: default setting is empty and include files are not linked. - CC - The C compiler. E.g. Gnu gcc 2.6.3 or the usual system cc. + The C compiler. - LATEX_CONV_DATE - LATEX_CONV_AUTHOR @@ -104,16 +97,15 @@ Installation of the Supporting Tools: - Makefile - latex_to_html - - cc_check + - ../install.config (3) Compilation: - Type 'gmake' to compile all programs. In principle, no warnings + Type 'make' (or 'gmake') to compile all programs. In principle, no warnings should show up besides possible warnings about unreachable statements from flex sources. However, other compilers or STL's - might produce more warnings. In addition, the 16 shift/reduce - conflicts in extract_syntax.y can be ignored. + might produce more warnings. (4) Installation: @@ -133,26 +125,4 @@ Installation of the Supporting Tools: remove also the compiled programs and possible template databases of the C++ compiler. - -(6) Test Suite: - - A small test suite is provided. It assumes the new LaTeX style files - to be installed, see ../INSTALLATION for details. Move in the `test/' - directory and type `./test_suite'. This test should finish silently, - otherwise something is wrong (commands not properly installed, - configuration files not accessable, ..., or I forgot to update the - reference files ;-). - - -(7) Demo Example for the -extended Option of the Converter: - - Another test is provided for the new latex_to_html capabilities - to convert a manual using multiple directories. This is the example - mentioned at the end of the manual. It is located in the subdirectory - `test_html/' and started with the script `./convert', which is located - in this subdirctory. This test should finish silently with the - exception of several warnings that a `rule cannot be matched'. The - result could be viewed with a Web-browser starting with the file - `test_html/html/contents.html'. - EOF diff --git a/Manual_tools/src/Makefile b/Manual_tools/src/Makefile index 00aa6796c46..000e446234a 100644 --- a/Manual_tools/src/Makefile +++ b/Manual_tools/src/Makefile @@ -26,8 +26,8 @@ # LATEX_CONV_BIN = ${PUBLIC}/${SYSTEM}/bin -# C++ Compiler: tested compilers are: Gnu g++ 2.8.1, SGI CC 7.2. -# CXX = g++ +# C++ Compiler: tested compilers are: Gnu g++ 3.3 and 3.4 +# CXX = g++-3.4 # C++ Compiler Options: # CXXFLAGS = -v @@ -81,7 +81,7 @@ REF_CONFIG_FILES = latex_converter_config/ref_pages/*.tex ALL = ${PROGRAM_FILES} # default rule -all: $(ALL) +all: $(ALL) # ===================================================================== diff --git a/Manual_tools/src/README b/Manual_tools/src/README index ed653b47038..48fc40e5e5f 100644 --- a/Manual_tools/src/README +++ b/Manual_tools/src/README @@ -1,10 +1,3 @@ -README for the Specification and Manual Writing Tools - for C++ Reference Manuals -===================================================== -24.08.1999 Zurich Lutz Kettner kettner@acm.org -29.01.2000 Saarbruecken Susan Hert hert@mpi-sb.mpg.de - 1. 9.2005 Saarbruecken Andreas Meyer ameyer@mpi-inf.mpg.de - This is the directory containing the tools for extracting the C++ declarations from a specification, to check the specification against an implementation, and the converter to HTML. diff --git a/Manual_tools/src/error.h b/Manual_tools/src/error.h index 0355b147e06..6cf269fee1a 100644 --- a/Manual_tools/src/error.h +++ b/Manual_tools/src/error.h @@ -16,6 +16,7 @@ #define ERROR_H 1 #include +#include using namespace std; diff --git a/Manual_tools/src/internal_macros.C b/Manual_tools/src/internal_macros.C index 33c1e195a98..a4807b07866 100644 --- a/Manual_tools/src/internal_macros.C +++ b/Manual_tools/src/internal_macros.C @@ -1022,6 +1022,32 @@ handle_to_be_included( const string& s, string param[], size_t n, size_t opt) { return string("\\lcFalse"); } +// another hack: +string +RCSdef( string input, bool date ) { + input = input.substr( 1, input.length() -2 ); + string::size_type pos, pos2; + pos = input.find_first_of( " " ); + pos = input.find_first_of( " ", pos +1 ); + if( date ) // date entry is next to revision entry + pos = input.find_first_of( " ", pos +1 ); + pos2 = input.find_first_of( " ", pos +1 ); + return input.substr( pos + 1, pos2 - pos - 1); +} + +string +handle_RCSdef( const string& s, string param[], size_t n, size_t opt ) { + NParamCheck( 1, 0 ); + return RCSdef( param[0], false ); +} + +string +handle_RCSdefDate( const string& s, string param[], size_t n, size_t opt ) { + NParamCheck( 1, 0 ); + return RCSdef( param[0], true ); +} + + // Chapter File Handling // ====================================================================== @@ -1040,7 +1066,7 @@ handle_chapter( const string&, string param[], size_t n, size_t opt) { new_main_filename = macroX( "\\lciChapterPrefix") + macroX( "\\lciInputRootname") + macroX( "\\lciHtmlSuffix"); - new_main_filepath.clear(); + new_main_filepath = string(); } else { new_main_filename = new_main_filepath + macroX( "\\lciChapterPrefix") @@ -1243,6 +1269,8 @@ void init_internal_macros() { insertInternalGlobalMacro( "\\newcommand@mom", newcommand_opt); insertInternalGlobalMacro( "\\def", newcommand, 2); insertInternalGlobalMacro( "\\gdef", global_newcommand, 2); + insertInternalGlobalMacro( "\\lciRCSdef", handle_RCSdef, 1); + insertInternalGlobalMacro( "\\lciRCSdefDate", handle_RCSdefDate, 1); insertInternalGlobalMacro( "\\lciUndef", undef, 1); insertInternalGlobalMacro( "\\lciBeginScope", begin_scope, 0); insertInternalGlobalMacro( "\\lciEndScope", end_scope, 0); diff --git a/Manual_tools/src/latex_converter_config/html/latex.sty b/Manual_tools/src/latex_converter_config/html/latex.sty index 4f14ce4a520..f39a8926ad8 100644 --- a/Manual_tools/src/latex_converter_config/html/latex.sty +++ b/Manual_tools/src/latex_converter_config/html/latex.sty @@ -83,9 +83,9 @@ % print own release number %\RCSdef{\lcRevision}{$Id$}\RCSdefArg{\lcRevision}{\lcRevision} %\RCSdefDate{\lcDate}{$Date$}\RCSdefArg{\lcDate}{\lcDate} -\RCSdef{\lcRevision}{$dummy-id 123 $}\RCSdefArg{\lcRevision}{\lcRevision} -\RCSdefDate{\lcDate}{$dummy-date 123 $}\RCSdefArg{\lcDate}{\lcDate} -\lciPrintVersion{\lcRevision}{\lcDate} +%\RCSdef{\lcRevision}{$dummy-id 123 $}\RCSdefArg{\lcRevision}{\lcRevision} +%\RCSdefDate{\lcDate}{$dummy-date 123 $}\RCSdefArg{\lcDate}{\lcDate} +%\lciPrintVersion{\lcRevision}{\lcDate} % ___________________________________________________________________________ % ########################################################################### diff --git a/Manual_tools/src/latex_converter_config/html/latex_to_html.sty b/Manual_tools/src/latex_converter_config/html/latex_to_html.sty index 522ca4a6708..92e15962914 100644 --- a/Manual_tools/src/latex_converter_config/html/latex_to_html.sty +++ b/Manual_tools/src/latex_converter_config/html/latex_to_html.sty @@ -420,70 +420,18 @@ % ########################################################################### \newcommand{\RCSdef}[2]{% - \newcommand{\lciRCSdefName}{#1}% - \lciParseUntilDelimiter{\lciRCSdefX}$#2$$} -\newcommand{\lciRCSdefX}[1]{\lciParseUntilDelimiter{\lciRCSdefXX}$#1} -\newcommand{\lciRCSdefXX}[1]{% - \lciIfEmpty{#1}{% - \lciError{Empty RCS entry}% - \lciRCSnewcommand{\lciRCSdefName}{}% - }{% - \lciRCSnewcommand{\lciRCSdefName}{#C1}% - \lciSkipTwoParameter%% skip the two remaining $'s - }} -\newcommand{\lciRCSnewcommand}[2]{\newcommand{#X1}{#2}} - - - + \newcommand{#X1}{Revision: \lciRCSdef{#2}}% +} \newcommand{\RCSdefDate}[2]{% - \newcommand{\lciRCSdefdateName}{#1}% - \lciParseUntilDelimiter{\lciRCSdefdateX}$#2 $$} -\newcommand{\lciRCSdefdateX}[1]{\lciParseUntilDelimiter{\lciRCSdefdateXX}$#1} -\newcommand{\lciRCSdefdateXX}[1]{% - \lciIfEmpty{#1}{% - \lciError{Empty RCS Date entry}% - \lciRCSnewcommand{\lciRCSdefdateName}{}% - }{% - \lciParseUntilDelimiter{\lciRCSdefdateY} #1 }} -\newcommand{\lciRCSdefdateY}[1]{\lciParseUntilDelimiter{\lciRCSdefdateYY} #1} -\newcommand{\lciRCSdefdateYY}[1]{% - \lciIfEmpty{#1}{% - \lciRCSnewcommand{\lciRCSdefdateName}{\lcRawHtml{Date: --/--/--}}% - }{% - \lciRCSnewcommand{\lciRCSdefdateName}{Date: #1}% - \lciParseUntilDelimiter{\lciRCSdefdateZ} }} -\newcommand{\lciRCSdefdateZ}[1]{% - \lciSkipTwoParameter%% skip spaces and the two remaining $'s + \newcommand{#X1}{Date: \lciRCSdefDate{#2}}% } - -\newcommand{\RCSdefArg}[2]{% - \lciUndef{#C1}% - \newcommand{\lciRCSdefArgName}{#C1}% - \lciParseUntilDelimiter{\lciRCSdefArgX} #X2 $} -\newcommand{\lciRCSdefArgX}[1]{\lciParseUntilDelimiter{\lciRCSdefArgXX}$} -\newcommand{\lciRCSdefArgXX}[1]{% - \lciIfEmpty{#1}{% - \lciMessage{\nWARNING: Empty RCS argument\n}% - \lciRCSnewcommand{\lciRCSdefArgName}{}% - }{% - \lciRCSnewcommand{\lciRCSdefArgName}{#C1}}} - - - -%\RCSdef{\lcRevision}{$Id$} -%\RCSdefDate{\lcDate}{$Date$} -\RCSdef{\lcRevision}{$dummy-id 123$} -\RCSdefDate{\lcDate}{$dummy-date 123 $} +\RCSdef{\lcRevision}{$Id$} +\RCSdefDate{\lcDate}{$Id$} \newcommand{\ccRevision}{\lcRevision} \newcommand{\ccDate}{\lcDate} -\RCSdefArg{\lcRevisionArg}{\lcRevision} -\RCSdefArg{\lcDateArg}{\lcDate} - -\newcommand{\lciPrintVersion}[2]{\lciMessage{ R#X1 #X2}} -\lciPrintVersion{\lcRevisionArg}{\lcDateArg} % ___________________________________________________________________________ diff --git a/Manual_tools/src/latex_to_html b/Manual_tools/src/latex_to_html index d85ac906616..c8012f98d48 100755 --- a/Manual_tools/src/latex_to_html +++ b/Manual_tools/src/latex_to_html @@ -93,12 +93,11 @@ GlobalExitCode=0 #---------------------------------------------------------------------# version_no() { - echo '$Id$' | sed 's/[$]Revision: //' | sed 's/ [$]//g' + echo '$Id$' | awk '{print $3}' } version_date() { - echo '$Date$' | sed 's/[$]Date: //' | \ - sed 's/ [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [$]//' + echo '$Id$' | awk '{print $4}' } version() { diff --git a/Manual_tools/src/output.C b/Manual_tools/src/output.C index 031c30fd47c..3ff2a9655e7 100644 --- a/Manual_tools/src/output.C +++ b/Manual_tools/src/output.C @@ -24,19 +24,6 @@ #include #include -struct Null_stream : std::ostream -{ - struct Null_buf : std::streambuf { - int overflow(int c) { - return traits_type::not_eof(c); - } - } m_sbuf; - - Null_stream() - : std::ios(&m_sbuf), std::ostream(&m_sbuf) - {} -}; - using namespace std; // Directory for the temporary files. A default is given. @@ -66,8 +53,6 @@ ostream* index_stream = 0; ostream* HREF_stream = 0; ostream* HREF_counter_stream = 0; -ostream* null_stream = new Null_stream(); - string pre_main_filename; string main_filename = ""; string class_filename; diff --git a/Manual_tools/sty/README b/Manual_tools/sty/README index d7fc348a28d..968c9ba2adf 100644 --- a/Manual_tools/sty/README +++ b/Manual_tools/sty/README @@ -1,10 +1,3 @@ -README for the Specification and Manual Writing Tools - for C++ Reference Manuals -===================================================== -01.09.2005 Saarbruecken Andreas Meyer -24.08.1999 Zurich Lutz Kettner -13.02.2000 Saarbruecken Susan Hert - This is the directory containing the cc_manual.sty, cc_manual_index.sty, cprog.sty, nonlinkedpath.sty and test documents. The directory structure is: diff --git a/Manual_tools/sty/cc_manual.sty b/Manual_tools/sty/cc_manual.sty index 6c8cf9f58af..0ec66eb4cc6 100644 --- a/Manual_tools/sty/cc_manual.sty +++ b/Manual_tools/sty/cc_manual.sty @@ -627,8 +627,9 @@ % #2 the RCS entry \def\RCSdef{\begingroup\catcode`\$=12 \RCSdefSet} { \catcode`\$=12 - \gdef\RCSdefSetSpace #1$Id${\gdef#1{Revision: #3}}% - \gdef\RCSdefSetNonSpace #1$Id: #2 #3 #4${\gdef#1{Revision: #3}}% + % #1=macro name #2=Id #3=filename #4=revision nr. #5 rest + \gdef\RCSdefSetSpace #1$#2: #3 #4 #5 ${\gdef#1{Revision: #4}}% + \gdef\RCSdefSetNonSpace #1$#2: #3 #4 #5${\gdef#1{Revision: #4}}% \gdef\RCSdefSetTest #1#2$Id: #3 #4 #5 #6 #7$#8\ccEnd{% \def\xRCSparams{#8}\ifx\xRCSparams\empty \RCSdefSetNonSpace{#1}#2% @@ -644,8 +645,8 @@ \def\RCSdefDate{\begingroup\catcode`\$=12 \RCSdefSetDate} { \catcode`\$=12 % Define the date if it is set. - % #1 = macro name, #2 = year, #3 = month, #4 = day, #5 = rest - \gdef\RCSdefSetDateSet #1$Date${\gdef#1{Date: #2/#3/#4}}% + % #1 = macro name, #2=Date #3 = year, #4 = month, #5 = day, #6 = rest + \gdef\RCSdefSetDateSet #1$#2: #3-#4-#5 #6 ${\gdef#1{Date: #3/#4/#5}}% % Define the date if it is not set. % #1 = macro name, #2 = string without $'s \gdef\RCSdefSetDateNonSet #1$#2${\gdef#1{#2 -\,-/-\,-/-\,-}}%