From ecacc7b84cdebdf9b1707a44c930b243bcfad52d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 11 Jan 2019 12:14:02 +0900 Subject: eqexam update --- texmf-dist/doc/latex/eqexam/README.md | 10 +- texmf-dist/doc/latex/eqexam/eqecus.opt | 12 + texmf-dist/doc/latex/eqexam/eqexamman.pdf | Bin 580529 -> 624441 bytes texmf-dist/doc/latex/eqexam/eqexamman.tex | 5140 ++++++ texmf-dist/doc/latex/eqexam/examples/fig1.eps | Bin 834475 -> 831714 bytes .../doc/latex/eqexam/examples/flextended-opt.pdf | Bin 0 -> 28355 bytes .../doc/latex/eqexam/examples/flextended-opt.tex | 106 + texmf-dist/doc/latex/eqexam/examples/graph.eps | 18284 +++++++++---------- texmf-dist/doc/latex/eqexam/examples/hw03.tex | 1 + texmf-dist/doc/latex/eqexam/examples/quiz01.pdf | Bin 33181 -> 0 bytes texmf-dist/doc/latex/eqexam/examples/quiz01.tex | 4 +- .../latex/eqexam/examples/selectversion_tst.pdf | Bin 29031 -> 0 bytes .../latex/eqexam/examples/selectversion_tst.tex | 9 +- texmf-dist/doc/latex/eqexam/examples/test01.pdf | Bin 115104 -> 0 bytes .../doc/latex/eqexam/examples/test01.synctex | 4789 ----- texmf-dist/doc/latex/eqexam/examples/test01.tex | 9 +- texmf-dist/doc/latex/eqexam/fortextbook.zip | Bin 0 -> 718935 bytes .../doc/latex/eqexam/fortextbook/fortextbook.pdf | Bin 0 -> 577912 bytes texmf-dist/doc/latex/eqexam/script/eqAttach.asp | 202 + 19 files changed, 14625 insertions(+), 13941 deletions(-) create mode 100644 texmf-dist/doc/latex/eqexam/eqecus.opt create mode 100644 texmf-dist/doc/latex/eqexam/eqexamman.tex create mode 100644 texmf-dist/doc/latex/eqexam/examples/flextended-opt.pdf create mode 100644 texmf-dist/doc/latex/eqexam/examples/flextended-opt.tex delete mode 100644 texmf-dist/doc/latex/eqexam/examples/quiz01.pdf delete mode 100644 texmf-dist/doc/latex/eqexam/examples/selectversion_tst.pdf delete mode 100644 texmf-dist/doc/latex/eqexam/examples/test01.pdf delete mode 100644 texmf-dist/doc/latex/eqexam/examples/test01.synctex create mode 100644 texmf-dist/doc/latex/eqexam/fortextbook.zip create mode 100644 texmf-dist/doc/latex/eqexam/fortextbook/fortextbook.pdf create mode 100644 texmf-dist/doc/latex/eqexam/script/eqAttach.asp (limited to 'texmf-dist/doc') diff --git a/texmf-dist/doc/latex/eqexam/README.md b/texmf-dist/doc/latex/eqexam/README.md index b79ff587..325e2bd3 100644 --- a/texmf-dist/doc/latex/eqexam/README.md +++ b/texmf-dist/doc/latex/eqexam/README.md @@ -1,5 +1,5 @@ The eqexam Package -Dated: 2017-03-16 +Dated: 2018-12-13 Author: D. P. Story eqExam is a LaTeX package for writing exams, tests, quizzes, @@ -40,6 +40,14 @@ this package are as follows: folder. See also the series of blogs at http://www.acrotex.net/blog/?tag=fortextbook +What's New (2018-12-13) Changes to support the mi-solns package + +What's New (2018-04-15) Minor bug fixes + +What's New (2018-02-19): Extended the vertical space fill types +and added \fillineol. Refer to the table of contents under Sections 10.11 +and 10.12. + Sample files, previous distributed with eqexam are now available from http://www.acrotex.net/blog/?cat=107 diff --git a/texmf-dist/doc/latex/eqexam/eqecus.opt b/texmf-dist/doc/latex/eqexam/eqecus.opt new file mode 100644 index 00000000..15c45866 --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/eqecus.opt @@ -0,0 +1,12 @@ +% +% AcroTeX Software Development Teams -- 2010 +% http://www.acrotex.net +% +% The following options combination of options are special to the +% @EASE application. Do not change. +% +\DeclareOptionX{atbdbopts}{% + \ExecuteOptionsX{online,forcolorpaper,nosolutions,nopoints,nototals,nospacetowork,obeylocalversions,myconfig} +} +\endinput + diff --git a/texmf-dist/doc/latex/eqexam/eqexamman.pdf b/texmf-dist/doc/latex/eqexam/eqexamman.pdf index 15c7fbc1..b15be4c4 100644 Binary files a/texmf-dist/doc/latex/eqexam/eqexamman.pdf and b/texmf-dist/doc/latex/eqexam/eqexamman.pdf differ diff --git a/texmf-dist/doc/latex/eqexam/eqexamman.tex b/texmf-dist/doc/latex/eqexam/eqexamman.tex new file mode 100644 index 00000000..d1c16c01 --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/eqexamman.tex @@ -0,0 +1,5140 @@ +\documentclass{article} +%\usepackage{makeidx,showidx} +\usepackage[fleqn]{amsmath} +\usepackage{graphicx} +\usepackage[ + web={designv, + latextoc,forcolorpaper, + centertitlepage}, + eforms +]{aeb_pro} +\usepackage[bypasspkgpagestyle,nomarginwrite,usecustomdesign, + useclassmaketitle,flextended +]{eqexam} +%\usepackage[designv, +% latextoc,forcolorpaper, +% centertitlepage]{web} +%\usepackage{eforms} + +%\usepackage[nopoints,fortextbook,nomarginwrite,usecustomdesign]{eqexam} +%\usepackage{longtable,colortbl} +%\useFullWidthForPaper + +\usepackage{eqexaman} + +\usepackage{srcltx} + +\hfuzz=1pt + + +\def\AEBBook{\textsl{{Acro\!\TeX} eDucation System Tools: {\LaTeX} for interactive PDF documents}} +\def\AEBP{\textsf{AeB Pro}} + +\DeclareFontFamily{U}{wi}{} +\DeclareFontShape{U}{wi}{m}{n}{<-> wingding}{} +\DeclareFontFamily{U}{webd}{} +\DeclareFontShape{U}{webd}{m}{n}{<-> webdings}{} + +\font\zqacr=zqacr at 8pt + +\newcommand\Com[2][]{\texttt{#2}} +\newcommand\sCom[2][]{} +\newif\ifusebw \usebwfalse + +\setlength{\mathindent}{\leftmargini} + +\edef\amtIndent{\the\parindent} + +%\def\meta#1{\textit{$\langle$#1$\rangle$}} + +\makeatletter + +\let\ipkg\@gobble +%\def\numberline#1{{\setlength{\fboxsep}{0pt}\fbox{\hb@xt@\@tempdima{#1\hfil}}}} + +%\renewcommand*\l@section{\addvspace{2pt}\@dottedtocline{1}{1.5em}{2.5em}} +\renewcommand*\l@subsection{\addvspace{1pt}\@dottedtocline{2}{1.5em}{3em}} +\renewcommand*\l@subsubsection{\addvspace{1pt}\@dottedtocline{3}{4.5em}{1.2em}} + +%\renewcommand*\l@subsubsection{\addvspace{1pt}\@dottedtocline{3}{7.4em}{1.2em}} + +%\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +%\renewcommand*\l@subsection{\@dottedtocline{2}{4.8em}{3.4em}} +%\renewcommand*\l@subsubsection{\@dottedtocline{3}{8.2em}{1.2em}} +%\renewcommand*\l@subsubsection{\@dottedtocline{3}{7em}{1.2em}} + +\renewcommand{\paragraph} + {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt} + {\normalfont\normalsize\bfseries}} +\renewcommand{\subparagraph} + {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}% + {\normalfont\normalsize\bfseries}} + +\newcommand{\exAeBBlogPDF}[2][\urlAcroTeXBlog/]{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi +\vskip\medskipamount\noindent\makebox[0pt][r]{% + \makebox[0pt][l]{\textcolor{blue}{\Pisymbol{webd}{254}}}% + \raisebox{-2pt}{\color{red}\href{#1?#2}{{\zqacr b\hspace{9.5pt}}}}\enspace}\ignorespaces} + +\newcommand{\exAeBBlogArticle}[2][\urlAcroTeXBlog/]{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi +\vskip\medskipamount\noindent\makebox[0pt][r]{\makebox[0pt][l]{\hspace{-1pt}\textcolor{blue}{\Pisymbol{webd}{254}}}% +\raisebox{.5pt}{\color{red}\href{#1?#2}{\ding{045}}\hspace{7.5pt}\enspace}}\ignorespaces} +\definePath{\urlAcroTeXBlog}{http://www.acrotex.net/blog} + +\renewcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont #1} +\newcommand{\aebDescriptionlabel}[1]{% + \setlength\dimen@{\amtIndent+\labelsep}% + {\hspace*{\dimen@}#1}} +\makeatother +\newenvironment{aebDescript} + {\begin{list}{}{\setlength{\labelwidth}{0pt}% + \setlength{\leftmargin}{\leftmargin}% + \setlength{\leftmargin}{\leftmargin+\amtIndent}% + \setlength\itemindent{-\leftmargin}% + \let\makelabel\aebDescriptionlabel + }}{\end{list}} + +\def\hardspace{{\fontfamily{cmtt}\selectfont\symbol{32}}} +\def\AcroBlog{{Acro\!\TeX} Blog} +\newlength{\aebdimen} +\def\anglemeta#1{$\langle\textit{\texttt{#1}}\rangle$} +\let\ameta\anglemeta +\def\meta#1{\textit{\texttt{#1}}} +\let\pkg\textsf +\let\env\texttt +\let\opt\texttt +\let\app\textsf +\def\lp{(}\def\rp{)} +\def\AEB{\textsf{AeB}} +\def\AcroTeX{Acro\!\TeX} +\def\HTML{HTML}\def\FDF{FDF} +\def\PDF{PDF}\def\URL{URL} +%\let\amtIndent\leftmargini +\def\bNH{\begin{NoHyper}}\def\eNH{\end{NoHyper}} +\def\nhnameref#1{\bNH\nameref{#1}\eNH} +\def\nhNameref#1{\bNH\Nameref{#1}\eNH} +\def\nhurl#1{\bNH\url{#1}\eNH} +\def\grayV#1{\textcolor{gray}{#1}} +\def\darg#1{\{#1\}} +\def\parboxValign{t} +\renewcommand*{\backrefalt}[4]{% + \ifcase #1\or + See page~#2.\else See pages~#2.\fi +} +\newenvironment{aebQuote} + {\list{}{\leftmargin\amtIndent}% + \item\relax}{\endlist} +\newcommand{\FmtMP}[2][0pt]{\mbox{}\marginpar{% + \raisebox{.5\baselineskip+#1}{% + \expandafter\parbox\expandafter[\parboxValign]% + {\marginparwidth}{\aebbkFmtMp#2}}}} +\def\aebbkFmtMp{\kern0pt\itshape\small + \ifusebw\color{gray}\else\color{blue}\fi + \raggedleft\hspace{0pt}} +\def\dps{$\mbox{$\mathfrak D$\kern-.3em\mbox{$\mathfrak P$}% + \kern-.6em \hbox{$\mathcal S$}}$} +\def\FitItIn{\eq@fititin} +\def\endredpoint{\FitItIn{{\large\ifusebw\color{black}\else\color{red}\fi$\blacktriangleleft$}}} + +\reversemarginpar + +%\makeindex + +\title[dps]{The \texorpdfstring{\textsf{eqexam} Package\\}{eqexam Package, } +part of the\texorpdfstring{\\}{ }\texorpdfstring{\AcroTeX}{AcroTeX} eDucation Bundle} +\author{D. P. Story} +\subject{% + A LaTeX package for creating Test, quizzes, both for paper and for + online use; supports writing problems sets for textbook authors.% +} +\keywords{LaTeX, hyperref, PDF, exercises, quizzes} +\university{{\AcroT} Software Development Team} +\email{dpstory@acrotex.net} +\version{5.1.3, 2018/12/13} +\copyrightyears{2005-\the\year} + +\renewcommand{\exsectitletext}{Solutions to exams in this manual} + + +\chngDocObjectTo{\newDO}{doc} +\begin{docassembly} +var titleOfManual="The eqexam Manual"; +var manualfilename="Manual_BG_Print_eqexam.pdf"; +var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown +var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate; +var doc; +var buildIt=false; +if ( buildIt ) { + console.println("Creating new " + manualfilename + " file."); + doc = \appopenDoc({cPath: _pathToBlank, bHidden: true}); + var _path=this.path; + var pos=_path.lastIndexOf("/"); + _path=_path.substring(0,pos)+"/"+manualfilename; + \docSaveAs\newDO ({ cPath: _path }); + doc.closeDoc(); + doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true}); + f=doc.getField("ManualTitle"); + f.value=titleOfManual; + doc.flattenPages(); + \docSaveAs\newDO({ cPath: manualfilename }); + doc.closeDoc(); +} else { + console.println("Using the current "+manualfilename+" file."); +} +var _path=this.path; +var pos=_path.lastIndexOf("/"); +_path=_path.substring(0,pos)+"/"+manualfilename; +\addWatermarkFromFile({ + bOnTop:false, + bOnPrint:false, + cDIPath:_path +}); +\executeSave(); +\end{docassembly} + +\begin{document} + +\maketitle + +\tableofcontents + +\section{Forward} + +For the past several years (this year is \the\year), I've been writing a book +titled, +\begin{quote} +\AEBBook. +\end{quote} +The book~\cite{book:AEBB} covers {\AEB}, which includes the \pkg{eforms} +package, and {\AEBP} in \emph{great detail} and includes many examples to +illustrate concepts and techniques. Numerous new examples are available on +the CD-ROM that accompanies the book. + +During the time of the writing, each of the packages covered was examined, +bugs were fixed, and many new and major features were created. Any new +features developed in the course of writing the book are documented in the +book; however, they are \emph{not included in this documentation}. You can +either buy the yet-to-be-submitted book sometime in the future, or discover +the features by studying the DTX documentation of the program files. Sorry, +it took me three years to write the book, I don't want to spend another year +on this documentation. \verb!:-{)! + +\begin{flushright} +Dr. D. P. Story\\[3pt] +\today +\end{flushright} + +\section{Introduction} + +In my classroom work at The University of Akron, I've been using a +personal {\LaTeX} package, which is called \textsf{eqexam}, for creating +my in-class tests, quizzes, homework assignments, and review documents +(pre-tests/sample tests). In recent weeks---at the end of the Fall +Semester, 2004, and prior to the Spring Semester, 2005, I have filled the +mundane and boring days with work on \textsf{eqexam}, fixing and enhancing +it quite a bit. + +The \textsf{eqexam} package is a stand-alone for {\LaTeX}, but is also +tightly integrated with the {\cAcroEB}. \textsf{eqexam} will be +distributed by itself, as well as a part of the {\cAcroB}. The integration +with the {\AcroB} gives it many of the online features that users of the +Bundle are familiar with. + +\newtopic (Version 3.0 or later) The method of formatting an \textsf{eqexam} +document has changed, each \texttt{problem}/\texttt{problem*} environment +is now in a list environment, the \texttt{eqequestions} environment. This +environment is not normally used by the document author, but its +parameters may be redefined. The purpose of this reformatting, is to open +up \textsf{eqexam} for use by other packages. Textbook authors can now, I +hope, easily integrate \textsf{eqexam} into the custom book format +being used. + +\newtopic Let's have an overview of the package, with suggestions for +possible uses. +\begin{enumerate} + \item The first, and most obvious application of this package + is to create a \textcolor{blue}{pExam} or a + \textcolor{blue}{pQuiz}. (Here, the `\textcolor{blue}{p}' + prefix refers to \underline paper or \underline pulp; thus, we + can use \textsf{eqexam} to write paper Exams and/or pulp + Quizzes). You can write the questions and the solutions, and + publish (i.e., print the document on a printer) the exam/quiz + with no solutions---ready to be taken in class---, or {\LaTeX} + the source document with solutions listed after each question + to create an answer key, for your personal use, or for the use + by the class. + + \item So much for pulp. Now on to `\textcolor{blue}{e}' (for + electronic publication). In some of my classes, I put sample + questions (review tests) on the web as {\PDF} documents. In + this case, you can create a {\PDF} document without the + solutions, and give the class time to solve the problems; then + publish the document (in {\PDF} on the web) with solutions. + The solutions can appear immediately after the questions, or + can be accumulated at the end of the document. + + \item[] In the case where the solutions are at the end of the + document, you can add links from the question to the solution. + + \item[] Documents can be published with color (to enhance the + on screen appearance) or can be published in black and white, + meant to be printed. Or, you can do both: a screen + version and a paper version. + + \item By invoking the \texttt{online} option, the white space + left for hand-written answers to the questions become Acroform + multi-line text fields, multiple choice questions become radio + buttons, and fill-in questions also become text fields. The + student can bring up the exam, and take it at a computer (in a + CBT\footnote{Computer Based Testing.} lab). After the student + is finished, he/she can print out the exam, and submit it to + the instructor for traditional grading. + + \item Now, here is an exciting feature of the \textsf{eqexam} + package, that of email submittal! This feature is not too + useful for technical fields (i.e., mathematics related fields) + that require students to enter special symbols, but for some + academic disciplines (English, History, Sociology, Politics + and Government, etc.) this feature could be quite + exciting.\footnote{Of course, I am addressing now the some six + people worldwide in these fields that use {\LaTeX} and \PDF! + For you six, this feature is for you!} + + \item[] When you take the \texttt{email} option of + \textsf{eqexam}, as with the \texttt{online} option, the white + space left for hand-written answers to the questions become + Acroform multi-line text fields, multiple choice questions + become radio buttons, and fill-in questions also become text + fields. Additionally, a button is automatically provided to + submit by email the results of the test to the instructor. The + results arrive at the instructor's mailer as an {\FDF} + attachment. The instructor can open the {\FDF} and view in the + originating {\PDF} the responses given by the student. + + \item[] The instructor can print out the document and grade in + a traditional way, or if the instructor has + \textbf{Acrobat~Pro} or \textbf{Standard}, the instructor can + use mark-up annotations within the PDF, save a copy of the + students test to a class folder, and email a copy of the + students exam, marked up with grade.\footnote{Seems doubtful + that anyone at this time has the expertise to do this! But + it's available if anyone ever wants it.} + + \item[] If the exam is given for credit, it can be taken in a + secure lab. + + \item Perhaps a more reasonable application of this email + submission feature of \textsf{eqexam} is the building and + publication of surveys and questionnaires! Perhaps + teacher evaluations! The environments of \textsf{eqexam} can + be easily used to write surveys and questionnaires to + solicit the opinion of a target population. Responses are + emailed to the designated person, who can summarize them. + + \item[] By the way, speaking of summarizing results, a new + feature of \textbf{Acrobat Pro~7.0}, allows you to take a + folder of {\FDF} files, such as the ones created by email + submission, and extract all form fields and place results to a + comma-delimited file (\texttt{.csv}). This comma-delimited + file can be opened by a spreadsheet program and manipulated. + Cool. + + \item (08/05/11) Version 3.0 of \textsf{eqexam} has a major option, + \texttt{fortextbook},\footnote{The \texttt{fortextbook} option is briefly + described on page~\pageref*{fortextbook}.} designed to support (U.S.) + textbook authors. Documentation for this option is found in the + \texttt{doc/fortextbook} folder. See also the series of blogs at the + \ulSetLink{http://www.acrotex.net/blog/?tag=fortextbook}{{Acro\TeX} Blog}. + +\end{enumerate} + +%\subsection{What's New} +% +%\begin{enumerate} +% +% \item (Version 1.7) Added the ability to randomize items in a +% multiple choice/selection list. See \Nameref{s:random} and the +% \texttt{allowrandomize} option, as listed in \Nameref{eqoptions}. +% +% \item (Version 1.6) In this version, I've added the command +% \cs{thisterm} (see \Nameref{preamble}) and expanded the control of +% multiple versions. Now you can have up to $26$ versions of the same +% test! For details of this new multiple version scheme, see the +% discussion in \Nameref{mutiVerNew}. +% +% \item[] Also added are \cs{forproblem} and \cs{foritem}. See \mlNameref{solnSets}. +% +% \item (Version 1.4) Added a \texttt{manswers} environment for +% multiple choice questions where multiple selections are permitted. +% \textsf{Exerquiz} version 6.04 or greater is required with the +% \texttt{online} and \texttt{email} options. See the section +% \Nameref{multiSelect} for details. +% +% \item (Version 1.3) Added in the \cs{bChoices} and +% \cs{eChoices} pair for specifying multiple choice +% alternatives. See the brief discussion in +% the section \Nameref{multichoice}. +%\end{enumerate} + +\section{Required and Optional Packages} + +The following packages that are not part of the normal {\LaTeX} +distribution are \emph{required}: +\begin{enumerate} +\item \texttt{calc}: Used for calculation of the position of the + marginal points. + +\item \texttt{pifont}: Used when the \texttt{proofread} option is + used to indicate the correct answers to multiple choice questions. + +\item \texttt{comment}: Used to have optional content, useful for + developing exams for multiple sections of the same class. + +\item \texttt{multicol}: Used to create questions in multi-column mode. + +\item \texttt{verbatim}: Used to write solutions to the hard drive. +\end{enumerate} + +\noindent Additionally, the following packages may be used +depending on the options chosen: +\begin{enumerate} +\item \texttt{web}: Used when the \texttt{pdf}, \texttt{links}, + \texttt{online} or the \texttt{email} option is taken. + +\item \texttt{exerquiz}: Used when the + \texttt{links}, \texttt{online} or the \texttt{email} option is + taken. +\end{enumerate} +Of course, \texttt{web} and \texttt{exerquiz}, in turn, input a +whole plethora of packages. Consult the documentation for the +\cAcroEB. + +\section{Installing \textsf{eqexam}} + +Create a folder in your \texttt{latex} search path named +\textsf{eqexam} and place the package files \texttt{eqexam.dtx}, +\texttt{eqexam.ins}, \texttt{eqexam.def} and any \texttt{.cfg} +files. (If you have an \texttt{acrotex} folder, you can place the +files there as well.) + +Next, \texttt{latex} \texttt{eqexam.ins} to create +\texttt{eqexam.sty} and \texttt{eqalone.def}. The other files +(\texttt{*.tex} and \texttt{*.pdf}) can be placed anywhere. + +The \textsf{eqexam} is a stand alone package that is tightly +integrated with the \cAcroB. The file \texttt{eqexam.def} comes +from the {\cAcroB} to provide the necessary support for many of +the commands and environments defined in \textsf{eqexam}. The file +\texttt{eqalone.def} are miscellaneous definitions that are needed +for the stand-alone version. When you choose one of the options +\texttt{links}, \texttt{online} or \texttt{email}, then +\textsf{Exerquiz} is included in the package files. When you use +one of these options you will need the most recent version of the +\cAcroEB, the one published concurrently with this package. + +\section{Demonstration files} + +\exAeBBlogPDF{cat=107} The original +\href{\urlAcroTeXBlog/?cat=107}{\pkg{eqexam} demonstration files} are posted +on the \href{\urlAcroTeXBlog/}{{Acro\TeX} Blog}. Throughout the manual, individual +files are references and a link is provided to that resource. The source file is attached +to all PDFs on the {Acro\TeX} Blog website. + +\exAeBBlogPDF{tag=eqexam-package} +Additional demonstration files developed after the original set are also available +from the {Acro\TeX} Blog. See the articles tagged as +\textit{\href{\urlAcroTeXBlog/?tag=eqexam-package}{eqexam-package}}. + +%http://www.acrotex.net/blog/?tag=eqexam-package + + +\section{Page Layout Considerations} + +With Version~3.0, you can design your own page layout scheme, perhaps to +conform to a book style. The following are some basics on formatting for +\textsf{eqexam}. + +The following two commands appear in \textsf{eqexam}, the first sets some basic +page parameters. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand{\eqeSetExamPageParams}{% + \setlength{\headheight}{12pt} + \setlength{\topmargin}{-.5in} + \setlength{\headsep}{20pt} + \setlength{\oddsidemargin}{0pt} + \setlength{\evensidemargin}{0pt} + \setlength{\marginparsep}{11pt} + \setlength{\marginparwidth}{35pt} + \setlength{\footskip}{11pt} +} +\end{Verbatim} +The second command calculates values for \cs{textwidth} and \cs{textheight} +based on the the settings of the first command. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand{\eqExamPageLayout}{% + \setlength\textwidth\paperwidth + \addtolength{\textwidth}{-2in} + \addtolength{\textwidth}{-\oddsidemargin} + \setlength\textheight{\paperheight} + \addtolength\textheight{-2in} + \addtolength\textheight{-\headheight} + \addtolength\textheight{-\headsep} + \addtolength\textheight{-\topmargin} + \addtolength\textheight{-\footskip} +} +\end{Verbatim} +When the package option \texttt{usecustomdesign} \textit{is not taken,} +then the two commands \cs{eqeSetExamPageParams} and \cs{eqExamPageLayout} +are executed immediately after the above definitions. These are the +original parameters used by \textsf{eqexam}, designed to yield a maximum +text body in which to typeset an exam. The margins are set at 1 inch, the +\cs{topmargin} is raised up, all to maximize space. + +Now, if the package option \texttt{usecustomdesign} is specified, the +commands \cs{eqeSet\-Exam\-Page\-Params} and \cs{eqExamPageLayout} are \emph{not +executed}, the package designer can either do a \cs{renewcommand} for +these two commands in the preamble with custom values inserted (and +execute \cs{eqeSetExamPageParams} and \cs{eqExamPageLayout}), or the +designer may use another package to set the page layout parameters (or +take the default of the class being used). In the latter case, +neither \cs{eqeSetExamPageParams} nor \cs{eqExamPageLayout} should be executed. + +\newtopic The following commands directly effect how the problems are +displayed within an \textsf{eqexam} environment. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\eqexammargin{\normalsize\normalfont\bfseries00.\ } +\end{Verbatim} +The command \cs{eqexammargin} is a convenient way of specifying the +\cs{labelwidth} as set by the \texttt{eqequestions} environment (see +below). The command uses \cs{settowidth} to set the \cs{eqemargin} length. +The \cs{eqemargin} may also be set directly with \cs{setlength}. +\cs{eqexammargin} can be executed anytime between exam environments (or +even between problems, though this is not a intuitive option). Normally it +is executed once for the entire document; but may be executed multiple +times to change margins. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand{\widthtpboxes}{35pt} +\end{Verbatim} +This command sets the width of the boxes that appear in the right margin +when one of more of the options \texttt{pointsonright}, +\texttt{pointsonboth}, \texttt{totalsonleft}, \texttt{totalsonright}, are +used. These boxes are used for exams, and not relevant for problem sets of +textbooks. Normally, this parameter is not redefined. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newenvironment{eqequestions}{% + \begin{list}{}{% + \setlength{\labelwidth}{\eqemargin}% + \setlength{\topsep}{3pt}\setlength{\parsep}{0pt}% + \setlength{\itemindent}{0pt}\setlength{\itemsep}{3pt}% + \setlength{\leftmargin}{\labelwidth}% + \settowidth{\labelsep}{\ }% + }\item\relax}{\end{list}} +\end{Verbatim} +This environment is opened at the beginning of a \texttt{problem} +(\texttt{problem*}), and closed at the end of these environments. + +\section{Building an Exam} + +In this section, we outline the steps to create an exam using the +\textsf{eqexam} package. Consult the sample exams for additional +examples. + +\subsection{The Preamble}\label{preamble} + +Of course, we begin with the standard article class, and the +\textsf{eqexam} package: +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\documentclass{article} +\usepackage[!meta(options)]{eqexam} +\end{Verbatim} +\noindent The \meta{options} are discussed in +section~\ref{eqoptions}. Next comes a exam identification +information: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\title[T1]{Test 1} +\subject[C1]{Calculus I} +\author{D. P. Story} +\keywords{Calculus I, Section 004} +\university{% + THE UNIVERSITY OF AKRON\\ + Mathematics and Computer Science +} +\date{\thisterm, \the\year} +\duedate{October 17, 2005} +\end{Verbatim} +\noindent The \cs{title}, \cs{subject}, \cs{author} and \cs{date} +are the same as is used in the \textsf{web} package. These are +used by the standard {\LaTeX} macro to create the heading line of +the first page of the exam, and are used in the running headers. + +The \cs{title}, \cs{subject} have optional first arguments, where +you can list a shorted version of the title or the subject. The +shortened versions, if present, are used in the running headers. + +The \cs{keywords} is used when you publish your exam in {\PDF} and +you use the \texttt{pdf} option (or \texttt{online}, \texttt{links}, +\texttt{email}). The value of the argument of \cs{keywords} appears +in the keywords field of the document info dialog. + +When you take the \texttt{coverpage} option, the value of +\cs{university} is used, along with some of the others on the +cover page. + +I've also defined a keyword of \cs{duedate}, this might be useful +when using \textsf{eqexam} to create homework assignments with a +due date, or just to record the date of the exam. The argument of \cs{duedate} fills the text macro +\cs{theduedate}. So that if you say \verb|\duedate{05/31/06}|, the macro +\cs{theduedate} will expand to `05/31/06'. + +\newtopic Beginning with version~1.6, \cs{thisterm} is defined. +The academic year of many American universities are divided into semesters +(or terms); Fall, Spring, and Summer. The command \cs{thisterm} takes the current +date and determines if it is the Fall, Spring or Summer Semester. For example, +if the date of the compile is October 17, 2005, then \verb!\thisterm, \the\year! +expands to `Fall, 2005'. This command is useful with the \cs{date} command. + +The command \cs{thisterm} can be redefined to conform to the terms +of the document author's university. See the definition in +\texttt{eqexam.dtx}, copy and modify it. + +\subsection{The \texttt{exam} Environment}\label{exam} + +An exam is contained within the \texttt{exam} environment. + +One of the things that I do in my courses, especially for the +final exam, is to have a two-part exam. Typically, the first part +is worth $100$ points and covers the new material not already +tested; the second part is usually a $50$ point review. I grade +these two parts separately and record them separately. Therefore, +an \textsf{eqexam} test may contain one or more \texttt{exam} +environments.\footnote{Remember, this was originally a personal +package, meant to suit my own needs.} + +\newtopic After the preamble, we then say +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{document} + +\maketitle + +\begin{exam}[Part I.]{Part1} + +\begin{instructions}[Part I.] +Solve each of the problems without error. If you make an error, +points will be subtracted from your total score. +\end{instructions} +... +... +... +\end{exam} + +\begin{exam}[Part II.]{Part2} + +\begin{instructions}[Part II.] +The following is a short review of previously mastered material. +\end{instructions} +... +... +... +\end{exam} +\end{document} +\end{Verbatim} +After the \verb+\begin{document}+ and standard \cs{maketitle}, we begin an +exam by opening an \texttt{exam} environment. + +\settowidth{\aebdimen}{\ttfamily\string\begin\darg{exam}[\meta{friendly\_name}]\darg{\meta{exam\_name}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\begin{exam}[!meta(friendly_name)]{!meta(exam_name)} +... +\end{exam} +\end{dCmd} +\noindent This environment has two arguments: the first optional, the second +required. The first argument is a user friendly name (used when the solutions +are listed at the end of the document when there are multiple \texttt{exam} +environments); the second required argument is the name of the of the exam, +\texttt{Part1} or \texttt{Part2}, for example. This argument is used to build +the names of the PDF Acroform field names. This argument should consist of +letters and numbers only. You can use the command \cs{autoExamName} for the +\meta{exam\_name}; this command will name each \texttt{exam} environment +\texttt{exam1}, \texttt{exam2}, \texttt{exam3}, etc. + +Following the opening of the exam, typically, the instructor would have +some instructions, this is the purpose of the \texttt{instructions} +environment. It has one optional argument, heading text for the +instructions; if this optional parameter is not provided, then the default +word is used, the default word is determined by \cs{defaultInstructions}, +its default definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\defaultInstructions{Instructions.} +\end{Verbatim} +Following this label, the total number of points for this part is +inserted, unless the \texttt{nosummarytotals} option is taken. + +\redpoint The optional argument of the \texttt{instructions} +environment has a color associated with it, and is visible when you +compile the document with the \texttt{forcolorpaper} option. This +color can be set by the command \cs{instructionsColor}; this command +takes a single argument, a named color: +\begin{Verbatim}[xleftmargin=\amtIndent] +\instructionsColor{blue} +\end{Verbatim} +\noindent The above is the default definition. + + +\newtopic At this point, you would insert your questions. Following the +listing of all the questions (and optionally, their solutions), you +finish up by closing out the \texttt{exam} environment. + +Repeat, if additional parts to the exam are desired. Finally, +finish off the document with \verb+\end{document}+. + +\redpoint You must \texttt{latex} your document \emph{three times} to be +sure all points have been properly calculated. + +\subsection{The \texttt{problem} and \texttt{problem*} Environments} + +All questions are posed using the \texttt{problem} and +\texttt{problem*} environments. The former is for a single +question, the latter is for a question with multiple parts. + +\subsubsection{\texttt{problem}}\label{problem} + +The \texttt{problem} encloses a single question; the question +itself may contain special constructs such as one or more fill-in +the blanks. + +The syntax for \texttt{problem} is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont, + commandchars=!()] +\begin{problem}[!meta(num)|*!meta(num)|empty][h|H] +!anglemeta(Statement of question, which may contain special constructs) +... +... +\begin{solution}[!meta(vspace),nLines=!meta(n)] +... +... +\end{solution} +\end{problem} +\end{Verbatim} +\noindent The environment takes two optional arguments. The first +argument \meta{num} is the number of points for this problem, for +example, if we want to have a $5$ point question, we would begin the +environment like so, \verb+\begin{problem}[5]+; on the other hand, if we +say \verb+\begin{problem}+, the problem has no points associated with it. +If you specify points weight for a problem, the points appear in the +margins (when one of the option \texttt{pointsonleft}, +\texttt{pointsonright}, or \texttt{pointsonboth} is specified); if the +\texttt{*} form is specified (\meta{*num}), the point weight appears +``in-line,'' just after the problem number; thus, typesetting a problem +with the specification \verb!\begin{problem}[*5]! yields +\begin{quote} +\textbf{1.} (5 pts) \dots +\end{quote} +This is useful when the problems are put into a two-column format; the +problems in the right-hand column do not have the margin to hold the +points, in this case, we place the points ``in-line.'' + +\newtopic The \texttt{problem} is actually a redefined \texttt{exercise} +environment, as defined in \textsf{exerquiz}. The second parameter +is inherited from the \texttt{exercise} environment. The second +argument can optionally be an \texttt{h} or a \texttt{H}. + +Use \texttt{h} if you do not want the solution to appear at the +end of document (when you do not use the \texttt{nosolutions} or +the \texttt{solutionsafter} options); the solution, however, will +appear if the \texttt{solutionafter} option is specified. + +For the \texttt{H} argument, the solution will not appear at the +end of the document (just as in \texttt{h}), nor will it appear if you +specify the \texttt{solutionsafter} option. + +To make things work correctly, if you do not want to have points +for a question and want to hide the solution, use `\texttt{[]}' +(empty brackets with no spaces) for the first argument. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[][H] +($5$ Points Extra Credit) Solve this problem for extra credit. +\begin{solution} +This solution will not appear in all cases, unless the second +parameter is eliminated or is changed to h, in the latter case, +the solution appears just for \texttt{solutonsafter}. +\end{solution} +\end{problem} +\end{Verbatim} +\noindent Here, this problem has no points that will be added into +the total number of points for the test. + +The \texttt{solution} environment encloses the solutions. This environment is +optional. The environment takes at most two optional parameters, +\meta{vspace} and \texttt{nLines=\meta{n}}. The \meta{vspace} parameter is a +length that determines the amount of vertical space to leave for the student +to work the problem. The +\texttt{nLines=\meta{n}}\FmtMP{\texttt{nLines=\meta{n}} explained} +specification signals \pkg{eqexam} to leave \meta{n} lines of vertical space; +each line is \cs{wlVspace} in height. (For more information on \cs{wlVspace}, +read about the \texttt{linegap} key in Section~\ref{ss:VSFT}.) This vertical +space is \emph{created only} when the document author takes the +\texttt{nosolutions} or \texttt{vspacewithsolns} option. For example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[10] +Do this problem. +\begin{solution}[2in] +This is the solution. +\end{solution} +\end{problem} +\end{Verbatim} +This defines a $10$ point problem and leaves $2$ inches of vertical space +following the problem statement for the student to respond. The vertical +space is generated provided the \texttt{nosolutions} or \opt{vspacewithsolns} +option has been taken. + +Be aware that the solution environment searches for its optional +parameter, and will expand macros looking for a left bracket (\texttt{[}). +In documents where the optional parameter is not used; this can lead to +problems in compiling. For example, if you say, +\verb!\begin{solution} \textbf{My solution:}...!, the command \cs{textbf} +will be expanded prematurely and result in `My solution' not appearing in +bold. Similarly, if you write \verb!\begin{solution} \begin{equation}...! +can lead to compilation stopping. Suggested workarounds: +\begin{itemize} + \item Supply empty brackets: \verb!\begin{solution}[]! + \item Use \cs{relax}: \verb!\begin{solution}\relax\textbf{...}!. + The \cs{relax} should not be on the line by itself. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{solution}\relax % Not this +\textbf{...} +... +\end{Verbatim} +The above causes an unwanted newline. The next two examples show the +``correct'' method. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{solution}\relax\textbf{...} % correct +... +\end{Verbatim} +\noexpand The \cs{relax} appearing on the second line. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{solution} +\relax\textbf{...} % correct +... +\end{Verbatim} +\end{itemize} +If you have no need for the vertical space in your document and putting in +these workarounds is too much trouble, you can use a global solution. Use +\cs{noSolnOpt} to globally turn off the check for the option parameter by +the \texttt{solution} environment; \cs{ckSolnOpt} turns on parameter +checking (the default). To summarize: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\ckSolnOpt % turn on checking for the optional argument (the default) +\noSolnOpt % turn off checking for the optional argument +\end{Verbatim} +Place either of these two commands between problems to turn off (or back on) the +parameter checking. + +\redpoint See \Nameref{eqoptions} for more details on +the two options \texttt{nosolutions} and \texttt{solutionsafter}. + +\paragraph*{Optional arguments of \env{solution} environment.} +The \env{solution} environment takes at most two optional arguments \meta{vspace} and \texttt{nLines=\meta{n}}. +If both are specified, by default the \meta{vspace} parameter is used. The command +\cs{usenLineDimen} changes the preference to the line specification; \cs{useVspaceDimen} switches +the preference back to the \meta{vspace} dimension. + +\subsubsection{\texttt{problem*}}\label{problemstar} + +This environment is used when you want to ask a multi-part +question, a series of related questions that are to be treated as +a group. + +The syntax is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont, + commandchars=!()] +\begin{problem*}[!meta(num)|!anglemeta(num)ea|\auto|empty][\Do!anglemeta(do_num)] +Do each of the following problems, and be quick about it. +\begin{parts} + +\item[h|H] The first question. +\begin{solution}[!meta(vspace),nLines=!meta(n)] +This is the solution to the first problem. +\end{solution} + +\item[h|H] The second question. +\begin{solution}[!meta(vspace),nLines=!meta(n)] +This is the solution to the second problem. +\end{solution} + +\end{parts} +\end{problem*} +\end{Verbatim} +The \texttt{problem*} environment takes two optional parameters, +the first one takes one of four values: +\begin{aebDescript} + \item[\meta{num}] When the value of the first parameter is + a number, this represents the total number of points for this + multi-part question. Here, the instructor does not specify the + weight of each part. + + \item[\meta{*num}] The points appear ``in-line'' rather than + in the margin. + + \item[\anglemeta{num}\texttt{ea}] When you specify a number followed by + `\texttt{ea}' (which is short for \underbar{ea}ch). Thus, + `\texttt{[5ea]}' signifies that each part of this problem has + weight of $5$ points. + + \item[\texttt{*\anglemeta{num}ea}] The points appear ``in-line'' rather than + in the margin. + + \item[\cs{auto}] If the value of the first parameter is + \cs{auto}, then the total number of points is calculated + automatically from the points defined by the \cs{PTs} macro. + The \cs{PTs} would be placed following \cs{item} of each part + that is to be given points. For example: + + \item[*\cs{auto}] The points appear ``in-line'' rather than + in the margin. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] +Do each of the following problems, and be quick about it. +\begin{parts} + +\item\PTs{3} The first question. +\begin{solution}[1.5in] +This is the solution to the first problem. +\end{solution} + +\item\PTs{4} The second question. +\begin{solution}[3in] +This is the solution to the second problem. +\end{solution} + +\end{parts} +\end{problem*} +\end{Verbatim} +This defines a $7$ point problem. + +\item[\texttt{empty}] You need not specify any points at all. In +this case do not include this first parameter, in which case, the +second parameter is not used, so don't include it either. + +\end{aebDescript} + +\noindent Now for a description of the second parameter the +\texttt{[\cs{Do}\anglemeta{do\_num}]} parameter. In my senior- or graduate-level +classes, I sometimes ask a questions with multiple parts. As part +of the instructions for that problem I write, ``Do exactly three +of the following five problems.'' These questions are usually +proof-type problems, and they can choose their best three to +grade. In this context, all parts of the problem must be of the same +weight; the weight of each is \anglemeta{num} of the \texttt{[\anglemeta{num}ea]}. + +This is what \texttt{[\cs{Do}\anglemeta{do\_num}]} does. When you specify +\texttt{\cs{Do}3}, then only the points of $3$ of the problems are +added into the exam total. This second parameter is only checked +if the first parameter is \texttt{[\anglemeta{num}ea]}. For example, +specifying +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[5ea][\Do3] +\end{Verbatim} +creates a $15$ point question. This assumes there are $3$ or +more parts to this question. + +By the way, there are two macros that are defined when the \cs{Do} +is used, they are \cs{DoNum} and \cs{OutOfNum}; these expand to +the (English) word for the number of problems to do, and the +(English) word for the total number of problems. For example, if +there were five parts to the problem below,\dots +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[5ea][\Do3] +Solve exactly \textit{\DoNum} of the following {\OutOfNum} +problems. .... +\end{problem*} +\end{Verbatim} +\noindent The instructions would read, ``Solve exactly +\textit{three} of the following five problems.'' These macros can +be easily redefined to reflect other languages. The numbers +themselves are contained in the two macros \cs{nDoNum} and +\cs{nOutOfNum}. + +\redpoint \texttt{parts} and \cs{item}: For a multi-part problem +(\texttt{problem*}), the actual problems are enclosed in a +\texttt{parts} environment, and each question is posed as an +\cs{item} of that \texttt{list} environment. The command \cs{item} +takes the \texttt{[h|H]} optional argument. As in the case of the +\texttt{problem} environment, \texttt{h} prevents the solution +from appearing at the end of the document (but it appears with +\texttt{solutionsafter}), and \texttt{H} removes the solution in +all cases. + +\paragraph{\texorpdfstring{\cs{leadinitem}}{\CMD{leadinitem}}} +When using the \texttt{problem*} environment, there is an introductory sentence +that sets up the multi-part problem set. For various reasons, some authors +have asked to be able to pose multi-part questions without the +introductory sentence. This is harder request than it sounds, but now +there is the \cs{leadinitem} command. Study the code below. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] +\leadinitem\PTs{3} The first question. +\begin{solution}[1.5in] +This is the solution to the first problem. +\end{solution} + +\begin{parts} +\item\PTs{4} The second question. +\begin{solution}[3in] +This is the solution to the second problem. +\end{solution} +... +\end{parts} +\end{problem*} +\end{Verbatim} +There is no introductory sentence. The problem starts off with +\texttt{\cs{leadinitem}\cs{PTs\{3\}} The first question}; this problem +is stated outside of the \texttt{parts} environment. The rest of the parts +to this problem are listed, as usual, from within the \texttt{parts} environment. +Only one \cs{leadinitem} is allowed per \texttt{problem*} environment. + +\newtopic The results of this code is viewed as follows, when typeset. + +\bigskip +\noindent\hfill\begin{minipage}{\linewidth-2\leftmargini} +\noindent\llap{($10^{\text{pts}}$)\quad}\textbf{1.}\ (a)\ The first question.\\[3pt] +\phantom{\textbf{1.}\ }(b)\ The second question.\\[3pt] +\phantom{\textbf{1.}\ }\dots +\end{minipage} +\bigskip + +The general syntax for \cs{leadinitem} is the same as that of the \cs{item} command within the +\texttt{parts} environment; \verb!\leadinitem[h|H]!, \texttt{h} prevents the solution +from appearing at the end of the document (but it appears with +\texttt{solutionsafter} or with \texttt{answerkey}), and \texttt{H} removes the solution in +all cases. + +\paragraph{\texorpdfstring{\cs{tableadin}}{\CMD{tableadin}}} There is a +tabular version of the \cs{leadinitem} command just discussed. Consider the following code: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\autotabOn +\begin{problem*}[\auto] +\tableadin +\begin{parts}[2} +\item\PTs{4} The first question. +\begin{solution}[1.5in] +This is the solution to the first problem. +\end{solution} +% +\item\PTs{4} The second question. +\begin{solution}[3in] +This is the solution to the second problem. +\end{solution} +... +\end{parts} +\end{problem*} +\end{Verbatim} +The results of this code is viewed as follows, when typeset. + +\bigskip +\noindent\hfill\begin{minipage}{\linewidth-2\leftmargini} +\noindent\llap{($10^{\text{pts}}$)\quad}\textbf{1.}\ (a)\ The first question.\qquad\hskip2\tabcolsep +(b)\ The second question.\\[3pt] +\phantom{\textbf{1.}\ }\dots +\end{minipage} +\bigskip + + +\subsubsection{Page Breaking} + +The \texttt{exam}, \texttt{problem} and \texttt{problem*} +environments use a (simple) page breaking algorithm to move a +problem (or the beginning of an exam) to the next page. + +If an \texttt{exam} environment begins at the lower third of the +page, it is moved to the next page. You can influence this page +break by using \cs{fvsizeskip} just before the beginning of the +\texttt{exam} environment, like so, +\begin{Verbatim}[xleftmargin=\amtIndent] +\fvsizeskip{.4} +\end{Verbatim} +\noindent \cs{fvsizeskip} takes a decimal number between $0$ and +$1$. In the example above, the environment will move to a new page +if it begins in the lower \texttt{.4\cs{textheight}} of the page. The +default value is $.3$. + +There is a similar algorithm for \texttt{problem} and +\texttt{problem} but is measured as a multiple of +\cs{baselineskip}. If you place +\begin{Verbatim}[xleftmargin=\amtIndent] +\nbaselineskip{8} +\end{Verbatim} +\noindent just before a problem that appears near the bottom of +the page, then it will be moved to the next page if it is within +\texttt{8\cs{baselineskip}} of the bottom. The default for this +command is $6$. + +\medskip\noindent +The following are strategies for fitting the maximum +number of questions on the minimum number of pages. +\begin{enumerate} + \item \textbf{Moving: }Rearrange the order of the questions, + if a problem can't fit entirely on a page, you can + exchange or move a shorter problem to that place, and move the longer + problem to another page. + + \item \textbf{Tweaking: }Modify the space defined by the + \texttt{solutions} environment to fit a problem on the page that + is below it. + + \item \textbf{Placing work on back: }Using the + \hyperref[onbackofpage]{\cs{OnBackOfPage}} command, + page~\pageref{onbackofpage}, you can direct the student to + answer the question on the back of another page, and thus, + little space is needed to follow that + question. + + \item \textbf{Working on separate sheets: }Of course, for some + types of exams, the exam just contains the questions, and the + students answer the questions on separate sheets of paper. For + this, you can use the \texttt{nospacetowork} option. +\end{enumerate} + + +\subsection{Fill-in Questions} + +In this section we cover the various fill-in constructs. + +\subsubsection{Short Fill-in Questions} +For a question requiring one or more short fill-in responses, +\textsf{eqexam} has the \cs{fillin} command, the syntax is +\settowidth{\aebdimen}{\ttfamily\string\fillin[u|b]\darg{\meta{width}}\darg{\meta{answer}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\fillin[u|b]{!meta(width)}{!meta(answer)} +\end{dCmd} +The first optional parameter determines whether the fill-in is +underlined `\texttt{[u]}' or not `\texttt{[b]}', the default it to +underline the fill-in. The second is the amount of horizontal +space you want to leave for the student to write in the response. +The third argument is the correct answer. This correct answer +will appear when you compile the document with the +\texttt{answerkey} option. + +\redpoint An example of \cs{fillin}. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +It is well known that \fillin{1in}{Newton} and \fillin{1in}{Leibniz} +are jointly credited as the founders of modern calculus. +\begin{solution} +It is well known that \underbar{Newton} and \underbar{Leibniz} +are jointly credited as the founders of modern calculus. +\end{solution} +\end{problem} +\end{Verbatim} + +\redpoint When you choose the \texttt{online} or \texttt{email} +option, \cs{fillin} generates a text field. + +When the \texttt{usexkv} option, and if the \textsf{xkeyval} package is available on the +system, \textsf{eqexam} extends the capability and control of \cs{fillin}. +See \begin{NoHyper}\Nameref{extendfillin}\end{NoHyper}. + +\subsubsection{True/False Questions} + +True and false questions are, of course, just a special case of +fill-in. A special command is available for true/false: +\settowidth{\aebdimen}{\ttfamily\string\TF[\meta{width}]\darg{\meta{answer}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\TF[!meta(width)]{!meta(answer)} +\end{dCmd} +\indent The required parameter, \meta{answer}, is the correct answer (e.g., +`T' or `F'). The macro creates an underlined blank space the width of which +is \meta{wide}. When the \meta{width} is \emph{not specified}, +\cs{defaultTFwidth} (default \texttt{30pt}) is used (and this value can be redefined). + +The \cs{TF} command behaves differently from the generic +\cs{fillin} command. Suppose you want to create a multi-part question +(using \texttt{problem*}) consisting entirely of true/false +questions. When an \cs{item} leads off with the \cs{TF} there are two possible +formatting options: This one: + +\begingroup\parskip6pt\parindent30pt + +\def\Item#1{\par\hangindent\parindent\indent\llap{#1\enspace}\ignorespaces}% +\parbox{4in}{\noindent + \Item{(a)}\underbar{\hspace{30pt}} Isaac Newton is considered to be one of + the founders of Calculus.} + +\medskip\noindent or this one:\medskip + + +\def\Item#1{\par\hangindent\parindent\indent\llap{#1\enspace}\ignorespaces} +\leavevmode\parbox{4in}{\Item{(a)}\underbar{\hspace{30pt}} Isaac Newton is considered to be one of + the founders of \hspace*{30pt} Calculus.} + +\endgroup + +\newtopic The first alignment is the default. To get the second +alignment, you need to set the value of \cs{fillinWidth} to the +common width value of the \cs{TF} fields. For example: +\begin{Verbatim}[xleftmargin=\amtIndent] +\fillinWidth\defaultTFwidth +\end{Verbatim} +\noindent When \cs{fillinWidth} is set to a positive length (the +common width of the \cs{TF} field), the second alignment above is +created. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[3ea] +\textit{True} or \textit{False}. + +\fillinWidth\defaultTFwidth + +\begin{parts} + + \item \TF{T} It is well known that Isaac Newton and + Gottfried Leibniz are jointly credited as the founders + of modern calculus. + ... + \item ... + ... +\end{parts} +\end{problem*} +\end{Verbatim} + +\redpoint \textbf{Important:} The example above demonstrates the +correct placement of \cs{fillinWidth}, just outside the +\texttt{parts} environment, before it has the time to set up +the paragraph shape of the environment. + +The change is only local to that \texttt{parts} environment. +The \cs{fillinWidth} command goes outside a \texttt{parts} +environment, and can cause strange results if executed within a +\texttt{parts} environment. Setting it to a \meta{width} value +other than the common width of the \cs{TF} fields will also create +bad formatting. + +\redpoint Just use \cs{fillinWidth} as illustrated in the above +example. + +\redpoint When you choose the \texttt{online} or \texttt{email} +option, \cs{TF} generates a text field. + +\subsubsection{Long Fill-in Questions} + +There is no special command for a longer response question, just +leave enough vertical white space for the student to respond, for +example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +Do this problem +\begin{solution}[1.5in] +That's how you do it! +\end{solution} +\end{problem} +\end{Verbatim} +\noindent The above example leaves $1.5$ inches of vertical space to do the +work. + +\redpoint When you choose the \texttt{online} or \texttt{email} +option, this vertical space is changed into a multi-line text +field. + +\subsection{Multiple Choice}\label{multichoice} + +For multiple choice questions, we use the \texttt{answers} +environment. If the \texttt{online} or \texttt{email} option is +taken, the choices are made into radio button fields so that +\emph{only one alternative} can be chosen. When multiple selections +are permitted, the \texttt{manswers} environment can be used, see +\Nameref{multiSelect}. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] Answer each of the following. +\begin{parts} %\sqLinks + \item\PTs{5} In what year did Columbus sail the ocean blue? + \begin{answers}{4} + \Ans0 1490 &\Ans0 1491\\ + \Ans1 1492 &\Ans0 1493 + \end{answers} + \item\PTs{6} In what year did Columbus sail the ocean blue? + \begin{answers}{1} + \Ans0 1490 + \Ans0 1491 + \Ans1 1492 + \Ans0 1493 + \end{answers} +\end{parts} +\end{problem*} +\end{Verbatim} +\noindent \textbf{Note:} No solutions are given for this problem. + +\redpoint Because the labels and values of the alternatives are +based on the alphabet, the number of alternatives is restricted to +twenty-six. + +The \texttt{answers} environment is borrowed from \texttt{exerquiz} and +operates the same way. The one required argument is the number of columns +to be used in displaying the alternative answers. If the number of columns +is $1$, a \texttt{list} environment is used, otherwise a \texttt{tabular} +environment is used. + +In the first item in the example above, we specify $6$ columns, +and must use tabular notation (separate columns with +`\texttt{\&}') and end rows with `\verb+\\+'. The second item in +the example above uses $1$ column, the tabular notation is not +needed, or used. + +The \cs{Ans} macro is used to designate which alternative is the +correct answer ($1$ for correct, $0$ for not correct). + +\subsubsection{Using \texorpdfstring{\cs{bChoices}/\cs{eChoices}} +{\CMD{bChoices}/\CMD{eChoices}}} +Beginning with Version 1.3, an alternate style of specifying the +alternatives is defined. A new pair of commands are defined: \cs{bChoices} +and \cs{eChoices}. These two enclose the alternatives like so: + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{exam}{Exam1} +\begin{instructions} +Select the ``best'' answer and darken the corresponding oval on +your scantron sheet. +\end{instructions} +\begin{problem}[5] In what year did Columbus sail the ocean blue? + \begin{answers}{3} + \bChoices + \Ans0 1490\eAns + \Ans0 1491\eAns + \Ans1 1492\eAns + \Ans0 1493\eAns + \eChoices + \end{answers} +\end{problem} +\begin{problem}[5] In what year did Columbus sail the ocean blue? + \begin{answers}{1} + \bChoices + \Ans0 1490\eAns + \Ans0 1491\eAns + \Ans1 1492\eAns + \Ans0 1493\eAns + \eChoices + \end{answers} +\end{problem} +\end{exam} +\end{Verbatim} +\noindent Notice that the set of alternatives are the same, and +are specified in exactly the same way; the first question, +however, is a tabular environment with $6$ columns (the argument +of $6$ of the \texttt{answers} environment), the second question +is a list environment (since the argument \texttt{answers} +environment is $1$). Notice also that `\texttt{\&}' and +`\verb!\\!' are not used, and that each alternative is terminated +by \cs{eAns}. + +The \cs{bChoices} and \cs{eChoices} are creatures of the \textsf{exerquiz} +package, and are fully documented in the reference for the +\ulSetLink{http://www.math.uakron.edu/~dpstory/acrotex/aeb_man.pdf}{\cAcroB}. + + +\subsubsection{\texorpdfstring{\cs{sqForms} versus \cs{sqLinks}} +{\CMD{sqForms} versus \CMD{sqLinks}}} + +There are two styles of multiple choice: (1) enumerate the +alternatives using letters; (2) enumerate the alternatives using +boxes (that the student would check or fill-in). The default is (1), +but you can change the default to (2) by using the \texttt{useforms} +option. This styles can be locally changed by specifying the +\cs{sqLinks} or \cs{sqForms} commands. In the above example, the +\cs{sqLinks} command is commented out, but shows the correct +position for it to change to style (1), which I am calling +``links''. Within a multi-part, multiple choice set of questions, +you can change one item to ``links'' and the next to ``forms.'' +Changes are local as long as you place the commands, \cs{sqLinks} or +\cs{sqForms} within an environment (\texttt{parts}, +\texttt{problem}, or \texttt{problem*}). + +\subsubsection{Using Circles for Multiple Choice}\label{allowcirc4mc} + +Then the package option \texttt{allowcirc4mc} is used, the font standard +{\LaTeX} font \texttt{lcircle10} is loaded at which point \textsf{eqexam} +can use it to create circles, instead of rectangles, to indicate the parts +in a multiple choice (MC) question. To use circles in a multiple choice +question, execute the command, +\begin{Verbatim}[xleftmargin=\amtIndent] +\useCircForMC +\end{Verbatim} +prior to the MC question. + +\goodbreak + +To return to the use of rectangles, execute the command, +\begin{Verbatim}[xleftmargin=\amtIndent] +\useRectForMC +\end{Verbatim} +prior to the MC question. + +Both commands have a local context. If expanded inside a group, the +definition going into the group will hold on exit from the group. + +\subsubsection{Using \texorpdfstring{\cs{proofingsymbol}}{\CMD{proofingsymbol}} +and friends} + +By default, a check mark (\ding{52}) is used to indicate which of the +alternatives in a MC problem is correct; however, there are other +``proofing symbols'' that can be used. Below are two additional suggested +proofing symbols. + +\makeatletter +\font\eqe@lcir=lcircle10 at 10pt +\bgroup +\setbox0=\hbox{\eqe@lcir h} +\xdef\eqe@cirDiam{\the\wd0} +\@tempdima=.5\wd0 +\xdef\eqe@cirRadius{\the\@tempdima} +\egroup +\def\circGlyph#1#2{\hbox{\smash{\raisebox{\eqe@cirRadius}% + {\makebox[\eqe@cirDiam]{\llap{\rlap{\eqe@lcir#1}% + \hskip#2\relax}}}}}} +\makeatother + +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\useCheckForProof (!normalfont Check !ding(52), the default) +\useCrossForProof (!normalfont Cross !ding(56), alternative to check) +\useCircForProof (!normalfont Circle !circGlyph(x)(1pt), appropriate with )\useCircForMC +\end{Verbatim} +All of these user friendly commands are based on the \cs{proofingsymbol} +command. For example, the definitions of \cs{useCheckForProof} and +\cs{useCrossForProof} are, +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\newcommand{\useCheckForProof}{\symbolchoice{check}% + \proofingsymbol{\ding{52}}} +\newcommand{\useCrossForProof}{\symbolchoice{cross}% + \proofingsymbol{\raisebox{-1pt} + {\rlap{\kern-1pt\Large\ding{56}}}}} +\end{Verbatim} +Both definitions use the \textsf{pifont} package to create the symbols. +Note that some adjustment of size and position is used for the cross +symbol. + +The command \cs{symbolchoice} is defined in the \textsf{eforms} package +and does nothing in \textsf{eqexam} unless either \texttt{online} or +\texttt{email} options are taken. From the \textsf{eforms} manual, +possible values for \cs{symbolchoice} are \texttt{check}, \texttt{circle}, +\texttt{cross}, \texttt{square}, \texttt{diamond}, and \texttt{star}. The +\cs{proofingsymbol} command is for marking the multiple choices when +either the \texttt{answerkey} or \texttt{vspace\-with\-solns} option is +taken. The choice of \cs{proofingsymbol} is `{\LaTeX}ed' into the +document. The \cs{proofingsymbol} may be used to create other proofing +symbols, as desired. + +\newtopic\textbf{Summary.} Currently, there only two geometric shapes used +for multiple choice, rectangles (the default) and circles. To Shift +between these two types, use \cs{useRectForMC} and \cs{useCircForMC}, +respectively. Accompanying the choice for geometric shape for MC is the +symbol used to make the choice/correct answer. When the \texttt{answerkey} or +\texttt{vspace\-with\-solns} option is used, the correct answer is marked +using a symbol, current choices are \cs{useCheckForProof}, +\cs{useCrossForProof} and \cs{useCircForProof} (used with +\cs{useCircForMC}). + +When the \texttt{vspace\-with\-solns} is used, solutions are written to +the back of the document and markup up as they are with the +\texttt{answerkey} option. To get the answers in the solutions section to +have the same choices, you must write to the solutions file using +\cs{writeToSolnFile}. Below is an example. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\useCircForMC\useCircForProof +\writeToSolnFile{\protect\useCircForMC\protect\useCircForProof} +\begin{problem}[5] In what year did Columbus sail the ocean blue? + \begin{answers}{3} + \bChoices + \Ans0 1490\eAns + \Ans0 1491\eAns + \Ans1 1492\eAns + \Ans0 1493\eAns + \eChoices + \end{answers} +\end{problem} +\end{Verbatim} +Any multiple choice question that follows will also draw circles for +multiple choice questions, and mark them with a filled circle. +To shift back to the default, expand the following commands prior the next +question. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\useRectForMC\useCheckForProof +\writeToSolnFile{\protect\useRectForMC\protect\useCheckForProof} +... +\end{Verbatim} + +\subsection{Multiple Selection}\label{multiSelect} + +When writing a multiple choice question for which more than one +alternative is permitted, use the \texttt{manswers} environment +(\underbar multiple \underbar{answers}). The distinction between the +\texttt{answers} and \texttt{manswers} environments is lost when +publishing to paper, but becomes important with the \texttt{online} +and \texttt{email} options. + +Use the \texttt{manswers} environment in the same way you use +\texttt{answers}, except code in more than one correct answer. For +example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +Which of the following are primary colors? +\begin{manswers}{6} % specify tabular with 6 columns + \bChoices + \Ans1 Blue\eAns + \Ans0 Green\eAns + \Ans1 Yellow\eAns + \Ans0 Orange\eAns + \Ans1 Red\eAns + \eChoices +\end{manswers} +\begin{solution} +Yes, red, blue and yellow are primary colors. +\end{solution} +\end{problem} +\end{Verbatim} +\noindent You can use the \cs{bChoices}/\cs{eChoices} pair to specify the +alternatives, or you can use the standard tabular notation. As with the +\texttt{answers} environment an argument of \texttt1 specifies a list +environment. See \Nameref{multichoice} for more examples on the use of the +\cs{bChoices}/\cs{eChoices} pair. + +\subsection{Randomizing Choices}\label{s:random} + +Beginning with version~1.7 of \textsf{eqexam}, the choices of a +multiple choice/selection question can be randomized. The \texttt{random.tex} +macro file by Donald Arseneau is used for this purpose. + +\newtopic The randomization is only allowed if the \texttt{allowrandomize} +option of \textsf{eqexam} is used; otherwise, no randomization +can occur. + +The randomization is only defined for choices listed between the +pair \cs{bChoices} and \cs{eChoices}. The +\cs{bChoices} command now takes two optional key-value arguments: +\begin{itemize} + \item \texttt{nCols=\anglemeta{num}}: The number of columns to create, as described. + You can also use the old style by specifying just + \anglemeta{num}. Thus, \cs{bChoices[nCols=2]} and \cs{bChoices[2]} + are equivalent. + \item \texttt{random=\anglemeta{\upshape true|false}}: Specify this option if you want the choices + to be randomized. You can use the key word \texttt{random} instead of + \texttt{random=true}. For example, the following commands all will randomize the + choices, \cs{bChoices[random]} or \cs{bChoices[nCols=2,random]} or + \cs{bChoices[2,random=true]}. The default is to not randomize the + choices. +\end{itemize} + +\newtopic The following is an example of the \texttt{random} option of \cs{bChoices}. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +Try to guess the correct answer. + \begin{answers}{3} + \bChoices[nCols=2,random] + \Ans0 1 a choice\eAns + \Ans1\label{eq} 2 another choice\eAns + \Ans0 3 still another choice\eAns + \Ans0 4 another\eAns + \Ans0 5 incoming\eAns + \Ans0 6 more choices\eAns + \Ans0 7 another still\eAns + \Ans0 8 too many\eAns + \Ans0 9 choices\eAns + \eFreeze + \Ans0 10 None of these\eAns + \eChoices + \end{answers} +\end{problem} +\end{Verbatim} + +\newtopic Note the presence of the command \cs{eFreeze}. Any of +the items listed after \cs{eFreeze} are not randomized, and are +placed at the end of the list. So, for the example above, the first +nine items will be randomized, whereas, the last item (None of +these) will placed at the end of the list. + +\newtopic Additionally, there are five other commands that support the +randomization feature. + +\begin{Verbatim}[xleftmargin=\amtIndent] +\saveRandomSeed +\inputRandomSeed +\end{Verbatim} + +\newtopic A pseudo-random sequence of numbers requires an initial seed +value. The \texttt{random.tex} macro file creates, by default, a +seed value based on the data and time (the number of minutes since +midnight); consequently, after every minute, the random sequence +will change. By setting the value of the count register \cs{randomi}, as in +\texttt{\string\randomi=24}, +the document author can also set the initial seed of the pseudo-random +sequence. + +The command \cs{saveRandomSeed} will write the last seed used in the +source file to an auxiliary file (\cs{jobname\_ran.sav}), while the +command \cs{inputRandomSeed} inputs the seed stored in the +\cs{jobname\_ran.sav} back into the beginning of the source file. +These two commands should be placed in the preamble. + +By invoking both of these commands, a new pseudo-random sequence will be generated +each time the source file is latexed. + +Assuming a \cs{jobname\_ran.sav} has already been created, by +invoking the command \cs{inputRandomSeed} only (and not +\cs{saveRandomSeed}), the seed already saved will be used for every +subsequent compiling of the source document. Using the same seed is +necessary in two situations: +\begin{enumerate} + \item When the document contains one or more \cs{label} commands, using the same + seed gives you the same sequence every time you latex the document. This will + give the auxiliary files a chance to come up to date so that any referencing of the label + will be accurate. + + \item When creating an exam with randomization that has several + versions, which later you publish the solutions to, it is + important that the randomization for the document is the same as + that for the solution document. By using \cs{inputRandomSeed} (and + not \cs{saveRandomSeed}), you should get the same sequence for the + solution document (unless you modify the source file, adding or + removing questions that have randomization). +\end{enumerate} + +\newtopic\textbf{Things to look for:} If \textsf{eqexam} is not rearranging the order +of the choices as you expect it to, it could be that +\textsf{eqexam} is reading an old \texttt{.sav} file. Either delete that file +in your source folder, or comment out \cs{inputRandomSeed} in your document. + +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\useRandomSeed{!meta(num)} +\end{Verbatim} + +You may have several sections of the same class take the exam with the +questions rearranged for each. Save the seed value used by +\textsf{eqexam} to randomize the choices (open the \texttt{.sav} +and copy and paste line you see into your document, for example, it +could read \cs{randomi=132088850}. Then use \cs{useRandomSeed} to +use that seed value for that class, for example +\begin{Verbatim}[xleftmargin=\amtIndent] +\useRandomSeed{132088850} % 11:00 class +% \useRandomSeed{634952429} % 12:30 class +\end{Verbatim} +Of course comment out \cs{inputRandomSeed}. + +\begin{Verbatim}[xleftmargin=\amtIndent] +\turnOnRandomize +\obeyLocalRandomize +\end{Verbatim} + +The command \cs{turnOnRandomize} overrides all local settings of \cs{bChoices} +and causes all choice lists to be randomized. While \cs{obeyLocalRandomize} +returns control to the local settings. For example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\turnOnRandomize +... +\bChoices + \Ans...\eAns + \Ans...\eAns + ... +\eChoices +\end{Verbatim} +will cause the choice list to be randomized, even though the +\texttt{random} option was not specified. Whereas, in this code +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\turnOnRandomize +... +\obeyLocalRandomize +,,, +\bChoices + \Ans...\eAns + \Ans...\eAns + ... +\eChoices +\end{Verbatim} +the choices will not be randomized, because the \texttt{random} +option was not specified; or they will be randomized if the +\texttt{random} option is used. + +\newtopic\textcolor{red}{Limitations:} There are natural limitations on the use +of \cs{bChoices} and \cs{eChoices} and consequently, there are +limitations on the randomization. The content between \cs{Ans} and +\cs{eAns} cannot have any verbatim text. This is usually not a +problem for mathematical content, but could be a limitation for +computer science where questions about syntax may be posed. I have +in mind a work-around, but haven't pursued the problem as of yet. + +\subsection{Labeling Choices} + +The \cs{bChoices} command has a \texttt{label} key, +\verb~\bChoices[label=~\texttt{\anglemeta{label}]}, used to specify a (unique) label for the +current set of choices. When a label is specified, \textsf{eqexam} creates +commands that save the label of each correct answers (for multiple +choice/multiple selection problems), and saves the answer text for each +correct answer. These can be read back into the document using some +user-interface commands: \cs{useSavedAlts}, \cs{useSavedAns}, +\cs{useSavedAltsAns}, and \cs{useSavedNumAns}. + +%\handpoint The demo file for this feature is named \texttt{test03.tex}.\medskip + +\exAeBBlogPDF{p=1206} The demo file for this feature is named +\texttt{test03.tex}, download +\texttt{\href{\urlAcroTeXBlog/?p=1206}{test03.pdf}} from the {\AcroBlog} +website. The source file is attached to the PDF. + + +\settowidth{\aebdimen}{\ttfamily\string\useSavedAltsAns[\meta{num}]\darg{\meta{label}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\useSavedAlts[!meta(num)]{!meta(label)} +\useSavedAns[!meta(num)]{!meta(label)} +\useSavedAltsAns[!meta(num)]{!meta(label)} +\useSavedNumAns{!meta(label)} +\end{dCmd} +\noindent The optional argument is useful \emph{only if} the \cs{bChoices} appears in a +\texttt{manswers} environment where there are more than one selectable answer. The required +parameter is the value of the \texttt{label} key. +\begin{description}\def\NH{\hspace{-\labelsep}} + \item\NH\cs{useSavedAlts\darg{\meta{label}}} expands to the + \meta{label} of the correct answer(s). For example + \cs{useSavedAlts\darg{\meta{label}}} might expand to (c); if there + are multiple answers, it might expand to (a), (c), a + comma-delimited list of labels of the (correct) answers. For + multiple selection, \cs{useSavedAlts[2]\darg{\meta{label}}} might + expand to (c), the label of the second correct answer. + + \item\NH\cs{useSavedAns\darg{\meta{label}}} expands to the \emph{text} + of the correct answer(s). As an example, + \cs{useSavedAns\darg{\meta{label}}} might expand to $ y = x^3 $; if + there are multiple answers, it might expand to $ y = x^3 $, $ y = + -x^3 $, a comma-delimited list of the text of the (correct) + answers. For multiple selection, + \cs{useSavedAns[2]\darg{\meta{label}}} might expand to $ y = -x^3 + $, the text of the second correct answer. + + \item\NH\cs{useSavedAltsAns\darg{\meta{label}}} combines the two + previous commands. Again, for example, + \cs{useSavedAltsAns\darg{\meta{label}}} might expand to (c) $ y = + x^3 $. When there are multiple answers, it expands to a comma + delimited of labels and text. As with the other two commands, the + optional argument can be used to pick off a particular choice. + \item \NH\cs{useSavedNumAns\darg{\meta{label}}} is the number of + correct answers in the current list of choices. +\end{description} + +\subsection{Gizmos and Gadgets} + +I have a couple of crazy gizmos that you can use. + +\subsubsection{The \texttt{workarea} Environment} + +For a mathematics test, we often pose +a question that needs to be worked out. Vertical space is created +by the \texttt{solutions} environment, and appears when the +\texttt{nosolutions} or \texttt{vspacewithsolns} option is used; however, often we want to +mark up this vertical space with additional instructions, a +diagram or a figure. The problem is how can the author write over +the provided white space. For this, \textsf{eqexam} provides the +\texttt{workarea} environment. The syntax is: +%\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\settowidth{\aebdimen}{\ttfamily\anglemeta{Material that will overwrite the solutions vertical space}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\begin{workarea}[!meta(width)]{!meta(depth)} +... +!anglemeta(Material that will overwrite the solutions vertical space) +... +\end{workarea} +\end{dCmd} +This environment is placed immediately \emph{after} the \texttt{solutions} +environment, and the value of its parameter should be the same as the +optional parameter at the beginning the \texttt{solutions} environment +(\cs{begin\darg{solutions}[\meta{depth}]}). The optional \meta{width} +parameter is the width of the work area, which is \cs{linewidth} by default. +The required \meta{depth} parameter is the depth of the work area and it +should match the optional parameter of the \texttt{solutions} environment, +directly above it. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[3] +This is a question. + +\begin{solution}[2in] +This is the solution, let's hope it's correct, or I would be +embarrassed to no end. +\end{solution} + +\begin{workarea}{2in} +\textit{Hint}: Think long and hard before answering. +\par\vfill\hfill\setlength{\fboxsep}{2mm} +\fbox{Answer:\fillin[n]{1in}{The correct answer.}} +\end{workarea} +\end{problem} +\end{Verbatim} +\noindent When the \texttt{nosolutions} option is taken, the +\texttt{solutions} leaves $2$~inches of white space. The +\texttt{workarea} environment that follows also specifies +$2$~inches, and the content of this environment will overlap the +white space. (The student would then work around the written +material.) Here, we give a hint, and leave an answer box (a +fill-in) for the student to insert his/her answer. + +When the \texttt{nosolutions} is not specified, the vertical space +is not provided, and the \texttt{workarea} does nothing. If +\texttt{solutionsafter} is specified, that space is replaced by +the provided solution. + +\subsubsection{The \texorpdfstring{\cs{placeAtxy}}{\textbackslash placeAtxy} Command} + +The \cs{placeAtxy} command is another device that I've used to +place a block of text or a graphic on top of the vertical space +created by the \texttt{solutions} environment when the +\texttt{nosolutions} or \texttt{vspacewithsolns} option is in effect. +\settowidth{\aebdimen}{\ttfamily\string\placeAtxy\darg{\meta{x\_dim}}\darg{\meta{y\_dim}}\darg{\meta{content}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\placeAtxy{!meta(x_dim)}{!meta(y_dim)}{!meta(content)} +\end{dCmd} +\noindent The first two arguments are the $x$ and $y$ coordinates +(with dimensions) of where the \meta{content} is to be placed. +If this command is placed below the \texttt{solutions} +environment, then the origin is the lower left corner of the +solutions box. + +The following example, places the frame box \framebox{Place a +graph here} (roughly) one inch up and one inch shifted to the +right, measured from the bottom left corner of the \texttt{solutions} +environment (when the \texttt{nosolutions} option is in effect). +As with \texttt{workarea}, \cs{placeAtxy} does nothing if the +\texttt{nosolutions} option has not been taken. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[3] +This is a question. +\begin{solution}[2in] +This is the solution, let's hope it's correct, or I would be +embarrassed to no end. +\end{solution} +\placeAtxy{1in}{1in}{\framebox{Place a graph here}} +\end{problem} +\end{Verbatim} +\noindent The \cs{placeAtxy} command can also be used in +combination with the \texttt{workarea} environment. + +% +% Fixed with version 1.3. 02/07/05 +% +% \redpoint With this release of \textsf{eqexam}, the +% \texttt{splitsolution} environment does not obey the `\texttt{h}' +% or `\texttt{H}' options. These options were discussed in section +% on the \hyperref[problem]{\texttt{problem} environment}, on +% page~\hyperref[problem]{\pageref*{problem}}. + +\subsubsection{The \texttt{splitsolution} Environment} + +I developed this environment to solve a problem with the +\texttt{online} and \texttt{email} options. The white space +created by the \texttt{solution} environment is converted into +text fields (\PDF{} form fields). If the \texttt{workarea} +environment or the \cs{placeAtxy} command is used to place content +on the white space, the student will be in the position of having +to type on top of this content. (See the demo file +\texttt{\href{\urlAcroTeXBlog/?p=1198}{test01.pdf}}\marginpar{\mbox{\makebox[0pt][l]{\textcolor{blue}{\Pisymbol{webd}{254}}}\raisebox{-2pt}{\color{red}{{\zqacr +b\hspace{9.5pt}}}}}} for an illustration of this.) + + +Therefore, it was necessary to have a way to separate the space +reserved for the text field, and the additional content you might +want to appear in this white space area. The +\texttt{splitsolution} environment is my solution to this problem. + +As of 2012/12/10, a new syntax has been implemented for the +\texttt{splitsolution} and \texttt{panel} environments. Below is a +side-by-side comparison of the new syntax and the old. + +\settowidth{\aebdimen}{\small\ttfamily\string\begin\darg{splitsolution}[\meta{width}][\meta{depth}]} +\newtopic\begin{minipage}{\aebdimen+2\fboxsep+2\fboxrule} +\begin{Verbatim}[commandchars=!(),fontsize=\small,frame=single] +(!normalsize!normalfont!bfseries New Syntax) +\begin{splitsolution}[!meta(width)][!meta(depth)] +\begin{panel}[l|r] +... +\end{panel} +\begin{solution} +... +\end{solution} +\end{splitsolution} +\end{Verbatim} +\end{minipage}\quad +\begin{minipage}{.45\linewidth} +\begin{Verbatim}[commandchars=!(),fontsize=\small] +(!normalsize!normalfont!bfseries Old Syntax) +\begin{splitsolution}{!meta(depth)} +\begin{panel}[l|r]{!meta(width)} +... +\end{panel} +\begin{solution} +... +\end{solution} +\end{splitsolution} +\end{Verbatim} +\end{minipage} +\newtopic There has not been any feedback to this feature, so I am confident that +this change has little impact on users. Both \meta{width} and +\meta{height} are optional arguments for the new syntax of +\texttt{splitsolution}. If there are no optional arguments, the default +values of \cs{panelwidth} and \cs{panelheight}; these are automatically +measured. If only one optional parameter is given, it is interpreted as +\meta{height} (and the \meta{width} is taken to be \cs{panelwidth}). The +default value of the optional parameter for the \texttt{panel} environment +is now \texttt{r} rather than \texttt{l}. + +\redpoint Consider the following example. +\begin{Verbatim}[numbers=left,xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[7] +This is a question worth $7$ points. +\begin{splitsolution} +\begin{panel}\relax +\includegraphics[scale=.2]{fig1} +\end{panel} +\begin{solution} +This a really good solution. I hope this solution is correct or I +will be total embarrassed to no end. Even if it is wrong, maybe +the students will appreciate my tremendous effort. You can see +from the figure that the solution is obvious. +\end{solution} +\end{splitsolution} +\end{problem} +\end{Verbatim} +Note the use of \cs{relax} in line~(4). The first object in the panel +environment is a command. To prevent the command from expanding +prematurely, place a \cs{relax} as above. This will give you the default +parameter of \texttt{r} and prevent expansion. The use of \cs{relax} is +only needed when there is a command immediately following the opening of +the \texttt{panel} environment; otherwise, just \verb!\begin{panel}! should +work correctly. The optional argument can always be specified, +\verb!\begin{panel}[r]!; this too would prevent the premature expansion of +any command that immediately follows. + +The \texttt{panel} environment takes its contents and writes it verbatim +to a \textsf{CUT} file, then inputs it back in (at the end of the \texttt{panel} +environment), and places its contents in the box \cs{eqpanelbox} where it +takes it measurements of \cs{panelwidth} and \cs{panelheight} (the total +height). + +The \texttt{splitsolution} environment \emph{must} enclose two +other environments: The \texttt{panel} and the \texttt{solutions} +environments, \emph{in that order}. + +The \texttt{panel} environment comes first and takes optional argument. +The optional parameter has takes a value of `\texttt{r}' (the default) or +`\texttt{l}'. The \texttt{r} (resp., \texttt{l}) option means the panel is +to appear on the right (resp., left) of the solution (or vertical white +space). + +After the \texttt{panel} environment comes the \texttt{solutions} +environment. The optional parameter of this environment need not +be specified, as it gets its value from the \texttt{split\-solution} +parameter. + +There is a small gap of \texttt{3pt} (the default) inserted between the +panel and the solution. The value of this gap is contained in the +\cs{panelgap} command, +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\panelgap{3pt} +\end{Verbatim} +which can be redefined. + +\redpoint The depth (the default is \cs{panelheight}) that you specify as +the parameter of the \texttt{splitsolution} environment needs to be large +enough to accommodate your typeset solution; otherwise, the solution will +overlap the next problem. This is because, unlike the solutions inside a +\texttt{solution} environment (but not in a \texttt{splitsolution} +environment) are typeset in a \texttt{minipage} with a specified depth. + +To extend the height of the solution, use the following method. +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{splitsolution}[\panelheight+1in] +... +\end{splitsolution} +\end{Verbatim} +This sets the total height to be the natural height of the panel plus 1 inch. + +\section{\textsf{eqexam} Options}\label{eqoptions} + +The options documented here are entered as optional arguments of the eqexam package: +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\usepackage[!meta(optionals)]{eqexam} +\end{Verbatim} +The optional arguments can also be introduced through \texttt{exambuilder.cfg}, the configuration file. +Create a text file with the name of \texttt{exambuilder.cfg} +and create the line shown below. +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\ExecuteOptionsX{!meta(optionals)} +\end{Verbatim} +Place \texttt{exambuilder.cfg} in the folder of the source file and not on the {\LaTeX} +search path. + +\redpoint The \textsf{eqexam} package has numerous options, some +inherited from \textsf{web}, some from \textsf{exerquiz}, and a +number of new ones. +\begin{description} + \item[\texttt{forpaper}] Take this option when you want to create + a black and white paper version of your test. + + \item[\texttt{forcolorpaper}] Take this option + when you want to have a nice colorful paper version, + or are publishing on the web in {\PDF}. See \Nameref{customColor}. + + \item[\texttt{nosolutions}] This is the normal option taken when + you are printing a test for distribution to a class of + students. When this option is taken, vertical space is + generated by the \texttt{solutions} environment based on + the value of its optional parameter. This leaves room for + the student to solve/answer the question. + + \item[\texttt{nohiddensolutions}] If you use the \texttt{h} + optional parameter for \texttt{problem} or \cs{item}, the + solution will not be listed (at the end of the document) + \emph{when you do not specify} \texttt{nosolutions}; but + solutions will be typeset for the \texttt{solutionsafter} option. + This option will override this feature. + + \item[\texttt{noHiddensolutions}] Normally, when you use the + \texttt{H} optional parameter for \texttt{problem} or \cs{item}, the + solution will not be listed when you use the \texttt{nosolutions} or + \texttt{so\-lu\-tions\-af\-ter} options for \textsf{eqexam}. This option will + override this feature. + + \item[\texttt{solutionsafter}] Causes solutions to appear + following the statement of the problem. + + When the \texttt{solutionsafter} is in effect, the word + \textit{Solution:} is typeset at the beginning of the solutions. + The command \cs{renameSolnAfterTo} can be used for conveniently + changing the \texttt{solutionsafter} label, for example, executing + the command \verb!\renameSolnAfterTo{\textbf{Proof:}}! prior to a + \texttt{solution} environment changes the label to + \textbf{Proof:}; \verb!\renameSolnAfterTo{}! produces no + label. These changes will be local to the group in which they are + made, or global of there they are not made in a group. + + The command \cs{resetSolnAfterToDefault} sets the label text back to + the default. The default label is \verb!\textit{Solution}:!. + + \item[\texttt{preview}] The bounding boxes are shown when this + option is taken, provided the \texttt{online} or \texttt{email} + option is chosen. See the description of these two options + below. + + \item[\texttt{proofing}] Using this option will cause the + correct answer for multiple choice questions to be marked with + a check mark; the correct answers for fill-in questions + (\cs{fillin} or \cs{TF}) are also shown.\medskip + + The \texttt{answerkey} option, described below, + executes the \texttt{proofing} and \texttt{solutions\-after} + options. + +\end{description} + +\redpoint The following options are unique to the \textsf{eqexam} package. + +\begin{description} +\item[\texttt{pointsonleft}] The points for the problem are displayed in + the left margin. + +\item[\texttt{pointsonright}] The points for the problem are on the left + margin. + +\item[\texttt{pointsonboth}] Points are displayed in both margins. + +\item[\texttt{nopoints}] Causes points not to be displayed, or + calculated. Useful for writing documents that do not have points, + such as a questionnaire. + +\item[\texttt{totalsonleft}] The totals for each page can be + displayed at the bottom left corner of each page using this option. + +\item[\texttt{totalsonright}] The totals for each page can be + displayed at the bottom right corner of each page using this + option. + +\item[\texttt{nototals}] Use this option if you don't want any + totals at the bottom of the page. + +\item[\texttt{noparttotals}] When multiple \texttt{exam} environments appear on + the same page, they are separated by a horizontal rule. The page total + for the closing \texttt{exam} environment is inserted into the margin on + the same line as the horizontal rule. This option turns off the insertion + of the page total for the closing \texttt{exam} environment.\medskip + + There are two commands that can be used for local control of + this feature, they are \cs{eoeTotalOff} and \cs{eoeTotalOn}. + When an \texttt{exam} ends near the bottom of one page, the + new exam will begin on the next page, this results in the + horizontal rule being generated with the end of exam totals, + and the totals at the bottom as well. If these two numbers are + the same, then you can turn off the end of exam total using + \cs{eoeTotalOff}. Use this command just above + \verb+\end{exam}+ and the changes will be local to that exam + part. + +\item[\texttt{parttotalsonright}] Place the part totals in the right + margin, this is the default. + +\item[\texttt{parttotalsonleft}] Place the part totals in the left + margin. + +\item[\texttt{nosummarytotals}] When you use the + \texttt{instructions} environment, the total points for + \texttt{exam} are displayed following the instruction heading. + Using this option turns off this feature. + +\item[\texttt{noseparationrule}] When the document has multiple + \texttt{exam} environments, a separation rule is placed between + them. This option turns off that feature. + + The design of the separation rule may be modified by the document author + by redefining \cs{separationrule}, its definition is given below: +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\separationrule}{\makebox[\linewidth]% +{\centering\rule{.67\linewidth}{.4pt}}} +\end{Verbatim} + +\item[\texttt{coverpage}] Some instructors like to have a cover + page for their exams, use this option to create a cover page. Use + the \cs{eqexcoverpagedesign} command to design your own cover page. + +\item[\texttt{coverpagesumry}] is a companion to the \texttt{coverpage} option, + \texttt{coverpagesumry} takes one of three values: \texttt{bypages}, \texttt{byparts}, \texttt{none}. + +\begin{description} + \item[\texttt{coverpagesumry=bypages}] If \texttt{bypages} is chosen, an ``Exam Record'' + appears on the cover page. See the left-hand figure in + Figure~\ref{fig:ExamRecord}. A page total appears on each line. Note + ``Page~3,'' in the figure; the total there is ``$37\,\text{pts}\ + (12\,\text{pts}+25\,\text{pts})$.'' This means that there are 37 + points on page~3; on this page the first \texttt{exam} environment + ended and a second \texttt{exam} environment begins, there are 12 + points on page~3 from the first \texttt{exam} environment, and 25 + points on that page from the second \texttt{exam} environment. + +\begin{figure}[htb] +\begin{center} +\includegraphics[width=.4\linewidth]{bypages}\quad +\includegraphics[width=.4\linewidth]{byparts} +\caption{Exam Record}\label{fig:ExamRecord} +\end{center} +\end{figure} + + \item [\texttt{coverpagesumry=byparts}] If \texttt{byparts} is chosen, an + ``Exam Record'' appears on the cover page that lists the number of + points per part. (Each exam environment is considered here a + ``part.'') See the right-hand figure in + Figure~\ref{fig:ExamRecord}. + + \item [\texttt{coverpagesumry=none}] If this option is chosen (the default), no + ``Exam Record'' is generated. If the key \texttt{coverpagesumry} does not + appear in the option list of \textsf{eqexam}, no ``Exam Record'' is written. + + \end{description} + + See \Nameref{examrecord} for more details on this topic. + +\item[\texttt{nospacetowork}] When the \texttt{nosolutions} option + is taken, the \texttt{solutions} + environment leaves vertical space in which to respond to the + question. Use this option to override this behavior.\medskip + + The command \cs{SpaceToWork} causes the white space to be + created again, and the \cs{NoSpaceToWork} turns it off again. + Use these two commands to turn on and off the creation of + vertical spaces in different parts of your exam. + +\item[\texttt{answerkey}] This is a convenience option equivalent + to \texttt{proofing} and \texttt{solutionsafter}. Useful for + creating an ``answer key'' with answers and solutions displayed. + +\item[\texttt{solutionsonly}] Using this option, it is possible to obtain +a typeset document consisting of only the solutions to \textsf{eqexam} document. +See \Nameref{solutionsonly} for further details. + +\item[\texttt{vspacewithsolns}] An unusual feature requested by a user + for homework assignments. This option is a combination of + \texttt{nosolutions} (where vertical space is left by the + \texttt{solutions} environment to respond to the question), but + the solutions are written the \cs{jobname.sol} and input back in + at the end of the document. + + This option is incompatible with \texttt{answerkey}, + \texttt{nosolutions}, and \texttt{solutionsafter}, so when + \texttt{vspacewithsolns} is used, it ``cancels'' these other + options. + + The command \cs{showAllAnsAtEnd} is inserted at the top of the + \cs{jobname.sol} file and when \cs{jobname.sol} are input back + in, the command \cs{showAllAnsAtEnd} is executed. The definition + of \cs{showAllAnsAtEnd} is +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\showAllAnsAtEnd}{% + \makeAnsEnvForSolnsAtEnd + \answerkeytrue\eq@proofingtrue + \eq@solutionsaftertrue\vspacewithsolnstrue + \displayworkareafalse\withsoldoctrue +} +\end{Verbatim} +Basically, this turns on all the switches that correspond to the +\texttt{answerkey} option. This command may be redefined to suite your +purposes. + +\handpoint When this option is taken, the switch \cs{ifvspacewithsolns} +may be used to bring in alternate content. + +See \Nameref{vspacewithsolns} for further details. + +\item[\texttt{ftbsolns}] An alias for \texttt{vspacewithsolns}. + +\item[\texttt{useforms}] Multiple choice questions have two forms, + (1) the choices are labeled using letters (a), (b), (c), etc.; or + (2) using a rectangular fill box. The default is~(1). The + \texttt{useforms} switches the default to~(2). You can use the + commands \cs{sqLinks} and \cs{sqForms} to change back and forth + between these two types within the exam document. Using one of + these commands outside a \texttt{problem} environment will + globally change the default, from within, it will only change the + default locally. + +\item[\texttt{flextended}] When this option is taken, additional code is + input to support filler lines, refer to Section~\ref{ss:VSFT} for + details; in particular, read \Nameref{sss:flxtnd}. + +\item[\texttt{myconfig}] If this option is taken, \textsf{eqexam} + looks for the configuration file \texttt{eqexam.cfg}. This + configuration file is input at the end of the package, and can be used + to redefine, for language localization purposes, any of the (text) + macros described in this manual. See the section \Nameref{custom} for + a partial listing of macros that can be redefined and placed in + \texttt{eqexam.cfg}.\medskip + +\item[\texttt{myconfigi}\dots\texttt{myconfigvi}] Six additional + options for inputting a configuration file. If you take one of + these options, \textsf{eqexam} inputs the corresponding + configuration file \texttt{eqexami.cfg}\dots\texttt{eqexamvi.cfg}. + +\item[\texttt{cfg}] Syntax: \texttt{cfg=\anglemeta{basename}}. If this option is taken, +\textsf{eqexam} looks for a file named \texttt{\anglemeta{basename}.cfg} and is input. + + For one of my recent classes, I wrote many + standard handouts documents: first day handout, assignment documents, + homework assignments, review documents, test documents, and + in-class notes. Each document-type had its own \textsf{eqexam} + format (configuration file, \texttt{eqexami.cfg}\dots\texttt{eqexamiv.cfg}. + It got confusing to keep track of all these configuration files. At which point + I decided to add a \emph{named} configuration scheme. If you use the key \texttt{cfg} + in the option list \texttt{cfg=firstday}, \textsf{eqexam} will look for a file + named \texttt{firstday.cfg} + +\item[\texttt{obeylocalversions}] An option put in to give greater control over + versions. Perhaps you have a \textsf{eqexam} file that has questions + with multiple versions. You would like to pick and choose the versions + to be used. In this case, using \texttt{obeylocalversions} will cause + \textsf{eqexam} to obey any \cs{selectVersion} commands embedded in + the document. + +\item[\texttt{allowrandomize}] Use this option to randomize + the multiple choice/selection questions. See \Nameref{s:random} for details. + +\item[\texttt{showgrayletters}] When \texttt{showgrayletters} is used, multiple choice +questions will have a gray capital letter +\texttt{A}, \texttt{B}, \texttt{C}, etc. underneath it. This letter +can then be referred to in the text or the solution using the \cs{REF} command. + +See \Nameref{showgraylettersOpt} for more information. + + \item[\texttt{usexkv}] When this option is used, and the document + author has the \textsf{xkeyval} package on his/her system, there is a + re-definition of the \cs{fillin} command. For more information, + see \Nameref{extendfillin}. + + \item[\texttt{allowcirc4mc}] Allows to use of circles (created by + the \texttt{lcircle10} font) for multiple choice questions. See + \Nameref{allowcirc4mc} for details. + + +\end{description} + +\redpoint The next option concerns a major new feature, available +in \textsf{eqexam}, version 3.0 or later. + +\begin{description} + \item[\texttt{fortextbook}]\label{fortextbook} This option is designed support + textbook authors. See \mlNameref{ftbop} for a greater explanation. +\end{description} + +\redpoint The next two apply to files that have several versions in them, +these were defined for use by the \textsf{AeB Exam Builder} +utility,\footnote{\url{http://www.acrotex.net/builders/}} but they are +available to the document author. + +\begin{description} + \item[\texttt{max}] The value of \texttt{max}, \texttt{max=\anglemeta{N}}, + is a positive integer. The value of \texttt{max} is the + number of versions for this document. This option executes + \cs{numVersions\darg{\anglemeta{N}}} at the end of the package. + + \item[\texttt{rendition}] This is a key-value pair. + \texttt{rendition=\anglemeta{alpha}}, where \anglemeta{alpha} letter corresponding to + the version that is to be typeset. At the end of the package, the + command \cs{forVersion\darg{\anglemeta{alpha}}} is executed. + +\end{description} + +\redpoint The next four options require the {\cAcroB}, and all of +its required packages, such as \textsf{hyperref}, their use +implies you are going to publish the document as a {\PDF}. + +\begin{description} + +\item[\texttt{pdf}] This option doesn't do much, it brings in the + \textsf{web} package, which in turn, places the values of the + keywords (\cs{title}, \cs{author}, \cs{subject}, etc.) into the + Document Description dialog of the {\PDF}. + +\item[\texttt{links}] This option brings in both \texttt{web} and + \texttt{exerquiz}. When you do not use a solutions option + (\texttt{nosolutions} and \texttt{solutionafter}), the solutions + appear at the end of the document. When the \texttt{links} option + is used, links from the questions to the solutions are created. + Unless you use a ``paper option'' (\texttt{forpaper} and + \texttt{forcolorpaper}), each solution is on a different page, + making a document with a lot of pages. When you also specify a + paper option, the solutions are separated by a \cs{medskip}. + +\item[\texttt{online}] The \texttt{online} option implies the + previous two options, but does more. When this option is taken, + and the \texttt{nosolutions} option is specified, {\PDF} forms are + created: multiple choice questions become radio button fields; + fill-in questions become text fields, and the vertical space + created by the \texttt{solutions} environment become multi-line + text fields.\medskip + + This may be a useful option for an exam taken in a + CBT\footnote{Computer Based Testing} lab, where the students + can type in their responses and when finished, print the + document to a lab printer to hand in. + +\item[\texttt{email}] This option implies the \texttt{online} + option, in addition, adds a submit button to the upper left corner + of the first page of the exam. The student can take the test in a + CBT lab, then submit the results to the instructor via email. + +\end{description} +\noindent See the section \Nameref{email} for additional details +of these last two options. + +\redpoint When any one of the four options above are taken, a +driver needs to be specified as well, the choices are\dots + +\begin{description} +\item[\texttt{dvipsone}] For users of the + {Y\!{\footnotesize\&}\!Y\TeX} System, such as myself. + +\item[\texttt{dvips}] For users of \textsf{dvips}, the + dvi-to-postscript converter. + +\item[\texttt{pdftex}] For users of \textsf{pdftex} application. + +\item[\texttt{dvipdfm}] For users of \textsf{dvipdfm} application. + +\item[\texttt{textures}] For \textsf{textures} users. (This +option is totally untested.) +\end{description} +\noindent These options are passed on to \textsf{hyperref} and to +\texttt{eforms}\footnote{A component of \AcroB.} for the proper +creation of links and form fields. + +\subsection{Configuration Files} + +The \textsf{eqexam} looks for two configuration files, they are +\texttt{web.cfg} and \texttt{eqexam.cfg}. + +The first one \texttt{web.cfg} may be already present on your hard +drive if you use the {\AcroB}. Typically, desired default driver +option is placed in here, for example, \texttt{web.cfg} might +contain the single line, +\begin{Verbatim}[xleftmargin=\amtIndent] +\ExecuteOptions{dvips} +\end{Verbatim} +\noindent for users of the \textsf{dvips} application for +converting \texttt{.dvi} files to \texttt{.ps} file. The drivers +supported by \textsf{eqexam} are listed in the previous section. + +The second configuration file, \texttt{eqexam.cfg}, is input at +the end of the package, provided the document author takes the +\texttt{myconfig} option. Use this file to redefine some of the +commands described in \Nameref{custom}, and elsewhere, to +customize \textsf{eqexam}. An obvious use for this is to have a +language customization of the package, input through +\texttt{eqexam.cfg}. + +If you place \texttt{eqexam.cfg} in the {\LaTeX} search path, +these customization will be global to all documents that specify +the \texttt{myconfig} option. If is is placed in the source +document folder (which is not in the {\LaTeX} search path) the +changes are local to all documents developed in that folder. + +\subsection{The \texttt{solutionsonly} Option}\label{solutionsonly} + +With this option, it is possible to obtain a listing of only the solutions +in an \textsf{eqexam} source file. A possible application of this feature +is if you publish homework or practice test questions, you can later +publish the solutions to them. + +%\handpoint The demo file for this option is \texttt{eqex\_solnsonly.tex}, where you +%will find detailed instructions for how to do this. See also the file +%\texttt{text03.tex}, which demos both the \texttt{solutionsonly} option and the +%\texttt{vspacewithsolns} option. + +\exAeBBlogPDF{p=1227} The demo file for this option is +\texttt{\href{\urlAcroTeXBlog/?p=1227}{eqex\_solnsonly.pdf}}, available from +the {\AcroBlog} website. The source file is attached to the PDF. Within the +source file, you will find detailed instructions for how to create a +solutions-only file. + + +\subsection{The \texttt{vspacewithsolns} Option}\label{vspacewithsolns} + +With option is a combination of \texttt{nosolutions} (where vertical +spaces are left for extended response questions, and multiple choice and +fill-in the blank are left, well, blank) and compiling the document +with no options at all, in this case the solutions appear at the end of +the document. + +To summarize, when \texttt{vspacewithsolns} is used, the test section is +left blank for the student to fill in, but at the end of the document are +the solutions. I've recently used this option to compile an old test (from +a previous semester) and publish it on the web. The student can try +solving the old test, with the solutions at the end of the +document.\footnote{Another option is to first publish your old exam with +the \texttt{nosolutions} option, then, after a suitable time, publish the same document +with the \texttt{solutionsonly} option.} + +\newtopic An alias for this option is the option \texttt{ftbsolns}. + +\exAeBBlogPDF{p=1220} The demo file for this feature is named +\texttt{\href{\urlAcroTeXBlog/?p=1220}{hw02.pdf}}. See also the file +\texttt{\href{\urlAcroTeXBlog/?p=1206}{test03.pdf}}, which demos both the +\texttt{solutionsonly} option and the \texttt{vspacewithsolns} option. + +\subsection{The \texttt{fortextbook} Option and \textsf{fortextbook} Package}\label{ftbop} + +This option is designed for authors of textbooks. The \texttt{fortextbook} +option defines the \texttt{probset} environment---used to create problems +sets in the textbook---as a re-purposing of the \texttt{exam} +environment. When the text is compiled with the \texttt{studented} option +(student edition), only odd-numbered solutions/answers are written to the +end of the document; when the \texttt{instred} option (instructor edition) is +used, all solutions/answers are written to the end of the document, there +are options for annotating the book with the answers in the margins or +following the questions (instructor edition). + +Documentation for this option is found in the \texttt{doc/fortextbook} +folder. See the file \texttt{fortextbook.pdf} and its source file +\texttt{fortextbook.ltx}. + +To use the \texttt{fortextbook} option, a whole panoply of options are needed, +\begin{Verbatim}[xleftmargin=\amtIndent] +\usepackage[% + fortextbook,ftbsolns,usecustomdesign, + forcolorpaper,noseparationrule,usexkv +]{eqexam} +\end{Verbatim} +Accompanying the \textsf{eqexam} is a simple wrapper package called +\texttt{fortextbook}, which basically calls \textsf{eqexam} with all the above +options. So, the textbook author needs only to specify, + +\begin{Verbatim}[xleftmargin=\amtIndent] +\usepackage{fortextbook} +\end{Verbatim} +The documentation for this option is quite extensive and is +available in the separate document \texttt{fortextbook.pdf}. This +document is a short ``textbook'' that illustrates and documents +the features of this option. + +See the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{} +Blog}} for several articles on the \texttt{fortextbook} option, +beginning with the first article +\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=604}{The +\texttt{fortextbook} option, Part 1, The Instructor Edition}}. A +listing of all articles of the +\ulSetLink{http://www.math.uakron.edu/~dpstory/eqexam.html}{\textsf{eqexam} +package} may be obtained by following +\ulSetLink{http://www.acrotex.net/blog/?tag=eqexam-package}{this +link}. + +The full series of articles on the \texttt{fortextbook} option may be found under the +\ulSetLink{http://www.acrotex.net/blog/?tag=fortextbook}{fortextbook tag} at the blog site. + + + +\section{The \texttt{online} and \texttt{email} Options}\label{email} + +When you use the \texttt{online} option, all fields created by the +\cs{fillin} command, and this includes \cs{TF}, are converted into +text fields, and the white space created by the \texttt{solutions} +environment is converted to a multi-line text field. The fields +manifest themselves when the document is viewed within the Adobe +Reader, or any other {\PDF} viewer that supports form fields. + +This may be a useful option to the few people out there who are +not in a technical field that requires specialized symbols to +respond to a question. An exam created by the \texttt{online} +option can be filled out online, printed, and submitted to the +course instructor, perhaps within a lab setting. + +There are other applications, such as creating a course survey, or +a questionnaire of some type the students can fill out and submit. +The \texttt{email} option may be more appropriate for these +applications. + +\subsection{The \texttt{email} Option} + +When you pass the \texttt{email} option to \textsf{eqexam}, this +does everything the \texttt{online} option does, in addition, it +creates a ``Submit'' button that appears in the top-left margin of +the exam (it does not appear on the cover page), and is placed +there by the \cs{maketitle} command, that normally goes just after +the opening of the document environment, \verb+\begin{document}+. + +The forms button is all setup to submit to the server-side script, +\textsf{eqAttach.asp}, an active server page using +\textsf{vbscript} as its scripting language. This script, when +properly installed and functional, receives the form data +generated by the document and attaches it to an email, which it +sends off to the designated destination. Before discussing how to +install and use \textsf{eqAttach.asp}, let me cover some commands +that controls this button as well as options for changing what is +sent to the server-side script. + +When you take the \texttt{email} option, you need to supply a +minimum of two pieces of information: the path to the server-side +script \textsf{eqAttach.asp} and the email address of the person +the results are to be sent. The command \cs{SubmitInfo} is used to +supply this info, for example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\SubmitInfo{http://localhost/scripts}{dpstory@uakron.edu} +\end{Verbatim} +This command takes two arguments, the first is the URL to the +server-side folder that contains \textsf{eqAttach.asp}, the second +argument is the email address of the recipient of the email. (You +can have multiple recipients by separating the address by an +comma.) + +After the student submits the responses to the questions, an email +is sent to the recipient (the instructor, perhaps). When the +recipient receives the email, s/he can save the {\FDF} attached file +(containing the student responses) to a folder on the local hard +drive. At least for a Windows machine when you open the {\FDF}, the +{\PDF} will be fetched and the student data will be populated into +the form fields. + +Once this is done, the instructor can either save the populated +file to the hard drive for later processing (the Acrobat +application needed for this step) or print it to a printer for +grading by hand. + +If the instructor has Acrobat, s/he can use the markup capability +of Acrobat to grade the electronic version of the test, and return +the electronic version, with markup, to the student. + +Below is the subject and message body of a ``typical'' submittal for the +student ``John Q. Student''. + +\begin{flushleft} +Message Subject: +\begin{Verbatim}[xleftmargin=\amtIndent] +Exam Results: Test 1 of U. S. History +\end{Verbatim} +\end{flushleft} + +\begin{flushleft} +Message Body: +\begin{Verbatim}[xleftmargin=\amtIndent] +Exam Information: + Course Name: U. S. History + Exam: Test 1 + Student: John Q. Student + TimeOfQuiz: 1/19/2005 12:07:56 PM +\end{Verbatim} +The {\FDF} is attached. +\end{flushleft} + + +\noindent The following commands can be used to modify the email message. + +\redpoint\cs{EmailCourseName} is used to specify the name of the +course. The default value for this is \cs{websubject}, obtained +from the \cs{subject} macro used in the preamble; however, if you +want a different name in the email, perhaps with more information +included, you can redefine the value using this macro. +\begin{Verbatim}[xleftmargin=\amtIndent] +\EmailCourseName{\websubject} % the default +\end{Verbatim} + +\noindent\textbf{\color{red}Important:} When you use {\TeX} +formatting in the subject, such as +\begin{Verbatim}[xleftmargin=\amtIndent] +\subject{\bfseries Calculus 1} +\end{Verbatim} +and you are using the \texttt{email} option, it will +be necessary to use \cs{EmailCourseName} to redefine the subject, e.g., +\verb+\EmailCourseName{Calculus 1}+, to avoid possible {\TeX} compile +errors, or to prevent {\TeX} primitives being a part of your +email! + +\redpoint\cs{EmailExamName} is used to specify the exam name of +the course. The default value for this is \cs{webtitle}, obtained +from the \cs{title} macro used in the preamble; however, if you +want a different name in the email, perhaps with more information +included, you can redefine the value using this macro. +\begin{Verbatim}[xleftmargin=\amtIndent] +\EmailExamName{\webtitle} % the default +\end{Verbatim} + +\noindent\textbf{\color{red}Important:} If you use some {\TeX} +formatting in the title, such as +\begin{Verbatim}[xleftmargin=\amtIndent] +\title{\bfseries Test 1} +\end{Verbatim} +and you are using the \texttt{email} option, it will be necessary +to use \cs{EmailExamName} to redefine the title, e.g., +\verb+\EmailExamName{Test 1}+, to avoid possible {\TeX} compile +errors, or to prevent {\TeX} primitives being a part of your +email! + +\redpoint\cs{EmailSubject} The document author might want a custom +subject in the email, instead of the standard one. By using this +macro, he can design his own email subject. +\begin{Verbatim}[xleftmargin=\amtIndent] +\EmailSubject{} % the default +\end{Verbatim} +\noindent In this case \textsf{eqAttach.asp} inserts the standard one. +\begin{Verbatim}[xleftmargin=\amtIndent] +Exam Results: \webtitle of \websubject +\end{Verbatim} +\noindent The email would read ``\texttt{Exam Results: Test 1 of +Calculus I}'', for example. + +To change the email subject we would put the following command in +the preamble: +\begin{Verbatim}[xleftmargin=\amtIndent] +\EmailSubject{Another Set of Cool Results} +\end{Verbatim} + +\redpoint \cs{ServerRetnMsg} The server script +(\textsf{eqAttach.asp}) returns a message acknowledging the +receipt of the data, this command allows the document author to +customize the return message. The default definition is: +\begin{Verbatim}[xleftmargin=\amtIndent] +\ServerRetnMsg{} +\end{Verbatim} +\noindent In this case \textsf{eqAttach.asp} inserts the standard +one, ``Exam results successfully sent to your instructor!''. + +To change the return message to something more meaningful, put +this command in the preamble, for example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\ServerRetnMsg{Your responses to the \\TeX Survey have been + received, thank you!} +\end{Verbatim} + +\redpoint\cs{SubmitButtonLabel} is the label that appears on the +submit button. +\begin{Verbatim}[xleftmargin=\amtIndent] +\SubmitButtonLabel{Submit} % the default +\end{Verbatim} + + +\subsubsection{Installing \textsf{eqAttach.asp}} + +On the server side, in order for \textsf{eqAttach.asp} to run +correctly, Microsoft Internet Information Server (IIS), version +4.0 or greater, is needed. The script \textsf{eqAttach.asp} needs +to be placed where ASP scripts have execute permissions. + +The \textsf{eqAttach.asp} uses the \textsl{Acrobat FDF +Toolkit}\footnote{Currently located at the +\href{http://partners.adobe.com/public/developer/acrobat/devcenter.html} +{Acrobat Family Developer Center}.}, version 6.0. Follow the +directions for installation contained in the accompanying +documentation. + +Install \textsf{eqAttach.asp} in a folder (perhaps called +\texttt{Scripts}) designated to execute scripts. If you don't +have such a folder, then the following steps explain how to +create a virtual directory through IIS that points to this folder. + +\begin{enumerate} +\item Create a new folder on the system (\texttt{Scripts}, for +example). Its recommended location is inside the \texttt{Inetpub} +folder. + +\item Place \textsf{eqAttach.asp} in this newly created folder. + +\item In the MMC snap-in for IIS, create a virtual directory by +right-clicking on the Default Web Site and selecting \texttt{New > +Virtual Directory}. + +\item Type ``Scripts'' (or whatever the name of the folder you +created in~Step~1) as the alias for the virtual directory, and +then link it to the physical directory you created in Step~1. + +\item Make sure that ``Script execution'' privileges are enabled. +If not, enable them. +\end{enumerate} + + +\subsubsection{Setting up and Modifying the Script} + +On the server side, in order for \textsf{eqAttach.asp} to run +correctly, Microsoft Internet Information Server (IIS), version +4.0 or greater, is needed. The script \textsf{eqAttach.asp} should +be placed where ASP scripts have execute permissions. There are +two methods of sending e-mail: +\begin{enumerate} + \item \texttt{CDONTS}: This method (which is commented out by + default) can be used on an NT server. Uncomment if you want to + use CDONTS, and comment out the CDOSYS code lines that follow. + \item \texttt{CDOSYS}: This can be run on a Win2000 or WinXP + server. +\end{enumerate} + +The script needs to be modified appropriate to your server, in +particular, search down in \texttt{eqAttach.asp} for the +configuration line +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +eqMail.Configuration.Fields.Item + ("http://schemas.microsoft.com/cdo/configuration/smtpserver") + = "mySMTP" +\end{Verbatim} +\noindent replace \texttt{mySMTP} with your SMTP server. + +\subsubsection{Some Options} + +The default behavior of \textsf{eqAttach.asp} is to return a +message to the document that indicates the receipt of the data, +this message is``Exam results successfully sent to your +instructor!'' The message, as explained earlier, can be changed +using the \cs{ServerRetnMsg}, like so +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\ServerRetnMsg{Your TeX survey results have been received, thank you.} +\end{Verbatim} +\noindent Now, if for whatever reason you don't want this +confirmation message to return to the document for display in +alert box, you can sent the \texttt{silent} as part of the query +string. For example, if +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\SubmitInfo{http://myWebSite/scripts/eqAttach.asp?silent\#FDF} + {myname@mymailprovider} +\end{Verbatim} +\noindent placed in the preamble of your document specifies the +path to the script, silent mode, and the email address of the +recipient of the form data. + +\medskip\noindent +Another other feature of \textsf{eqAttach.asp} that can be changed +through the query string is the \texttt{/F} key-value pair of the +\texttt{FDF} sent out in email. The value of this key is the path +to the document that sent the \texttt{FDF}, it may be a url (an +address on the Internet) or it could be a file specification of a +local hard drive. If you specify \texttt{nopath} in the query +string, like so +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\SubmitInfo{http://myWebSite/scripts/eqAttach.asp?nopath\#FDF} + {myname@mymailprovider} +\end{Verbatim} +\noindent then \textsf{eqAttach.asp} strips out the file path and +leaves only the file name. + +\redpoint This is what I did with the \texttt{tex\_survey.tex} +source file. I placed \texttt{tex\_survey.pdf} in a \texttt{LaTeX +Survey} folder on my desktop. As the emails came in, I saved the +\textsf{FDF} attachments to this folder. By (double) clicking on +the \textsf{FDF}, \texttt{tex\_survey.pdf}, which is in the same +folder, opened and the form data populated the fields from whence +they were sent. It worked well for me. + +If you don't use the \texttt{nopath} option, when you click +on an \texttt{FDF} file you've received by email, your browser +opens and the PDF on the Internet is brought into the +browser and the form data populates the form fields, \dots at least on +a Windows machine. \texttt{:-)} + +\subsubsection{References} + +The following links were used as a reference in the development of the +\texttt{Email.asp} script. +\begin{itemize} + \item CDOSYS: + \begin{itemize} + \item \href{http://invisionportal.com/show_tutorial.asp?TutorialID=160}{Invision Portal} Tutorial: CDOSYS email tutorial + \item \href{http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_imessage_interface.asp} + {MSDN}: CDO for Windows 2000. The IMessage Interface. (Use MIE to view this page.) + \item \href{http://www.asp101.com/articles/john/cdosmtprelay/default.asp}{ASP 101} Sending Email Via an External SMTP Server Using CDO + \end{itemize} + \item CDONTS + \begin{itemize} + \item \href{http://www.juicystudio.com/tutorial/asp/cdonts.html}{Juicy Studio} The ASP CDONTS Component + \item \href{http://www.devasp.com/Samples/mail.asp}{DevASP} Sending Mail from ASP with CDONTS.NewMail Object + \end{itemize} +\end{itemize} + +\section{Bells, Whistles and other Customizations} + +\subsection{Customizations}\label{custom} + +We enumerate some commands for changing the default design of \textsf{eqexam}. + +\subsubsection{Course Info Commands}\label{courseInfo} + +\textsf{eqexam} has several commands for the student to provide some identification +information. + +\redpoint \cs{eqexamName}. This command defines the macro +\cs{eq@ExamName} that creates the underlined space for the student +to enter his/her name, and also defines the text box form field, +in the case the \texttt{online} or \texttt{email} options are +taken. There are two (design) parameters for \cs{eqexamName} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\eqexamName[!meta(eforms_opts)]{!meta(width)} +\end{Verbatim} +\noindent The first optional parameter can be used to modify the +appearance of the text field, see the \href{eformman.pdf}{eForms} +documentation for details. The second parameter is the width of +the field. The default definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\eqexamName[\Ff\FfRequired]{2.25in} +\end{Verbatim} +\noindent Here, the text field that will be generated (when +\texttt{online} or \texttt{email} is specified) will be a required +field. The total width of the space provided is $2.25$ inches. + +The command \cs{examNameLabel} controls the label to be used for +this name field. It takes one parameter, the label +to be used for the name field; the default definition is +\verb+\examNameLabel{Name:}+. + +\redpoint \cs{eqSID}. This command defines the macro \cs{eq@SID} +that creates the underlined space for the student to enter his/her +student Identification number (SID), and also defines the text box +form field, in the case the \texttt{online} or \texttt{email} +options are taken. There are two (design) parameters for +\cs{eqSID} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\newcommand\eqSID[!meta(eforms_opts)]{!meta(width)} +\end{Verbatim} +\noindent The first optional parameter can be used to modify the +appearance of the text field, see the \href{eformman.pdf}{eForms} +documentation for details. The second parameter is the width of +the field. The default definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\eqSID[\Ff\FfRequired]{2.25in} +\end{Verbatim} +\noindent Here, the text field that will be generated (when +\texttt{online} or \texttt{email} is specified) will be a required +field. The total width of the space provided is $2.25$ inches. + +The command \cs{examSIDLabel} controls the label used for this SID field. +It takes one parameter, the label to be used for the name field; the +default is \verb+\examSIDLabel{SID:}+. + +\redpoint \cs{eqEmail}. This command defines the macro +\cs{eq@Email} that creates the underlined space for the student to +enter his/her student email address, and also defines the text box +form field, in the case the \texttt{online} or \texttt{email} +options are taken. There are two (design) parameters for +\cs{eqEmail} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\newcommand\eqEmail[!meta(eforms_opts)]{!meta(width)} +\end{Verbatim} +\noindent The first optional parameter can be used to modify the +appearance of the text field, see the \href{eformman.pdf}{eForms} +documentation for details. The second parameter is the width of +the field. The default definition is +\begin{Verbatim}[xleftmargin=\amtIndent,] +\eqEmail{2.25in} +\end{Verbatim} +\noindent Here, the text field that will be generated (when +\texttt{online} or \texttt{email} is specified). The total width +of the space provided is $2.25$ inches. + + +The command \cs{examEmailLabel} controls the label to be used for +this email field. It takes one parameter, the +label to be used for the name field; the default definition is +\verb+\examEmailLabel{Email:}+. + + +\subsubsection{Changing the Title and Cover Page} + +\redpoint \cs{maketitle}. The main heading that appears at the top +of the first page of the exam is created by the {\LaTeX} +(redefined) command \cs{maketitle}. The \cs{maketitle} has some +code to place the email button in the top margin, followed by the +expansion of the command \cs{maketitledesign}, whose definition is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand\maketitledesign +{% + \makebox[\textwidth]{\normalsize + \shortstack[l]{\strut\websubject\\\@date}\hfill + \shortstack[c]{\webtitle\\\strut\@altTitle}\hfill + \shortstack[l]{\strut\eq@ExamName\\\webauthor}}% +} +\end{Verbatim} +This command can be redefined using \cs{renewcommand} to suite your needs, for example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\makeatletter +\renewcommand\maketitledesign +{% + \makebox[\textwidth]{\normalsize + \shortstack[l]{\strut\websubject\\\webauthor, \@date}\hfill + \shortstack[l]{\webtitle\\\strut\@altTitle}\hfill + \shortstack[l]{\strut\eq@ExamName\\\eq@SID}}% +} +\makeatother +\end{Verbatim} +\noindent This code adds in a field for the student to enter +his/her student Id, here we enclose the code in a +\cs{makeatletter}/\cs{makeatother} because this redefinition +occurs in the preamble, and the code has an `\texttt{@}' in it. + +Command elements that are appropriate to the redefinition are \cs{maketitledesign} are\dots +\begin{description} + \item[\cs{websubject}] This is the course name, as determined by the \cs{subject} command. + \item[\cs{webtitle}] This is the exam name as determined by the \cs{title} command. + \item[\cs{altTitle}] An additional text field that is placed below \cs{webtitle}. + \item[\cs{@date}] This is the date as determined by the \cs{date} command. + \item[\cs{eq@ExamName}] This is the name field for the student to enter his/her name, as defined + by default or redefined by \cs{eqexamName}, see \Nameref{courseInfo}. + \item[\cs{eq@SID}] This is the student ID field for the student to enter his/her ID, as + defined by default, or redefined by the command \cs{eqSID}, see \Nameref{courseInfo}. + \item[\cs{eq@Email}] This is the student email field for the student to enter an email address, as + defined by default, or redefined by \cs{eqEmail}, see \Nameref{courseInfo}. + \item[\cs{theduedate}] This is a text macro defined by the \cs{duedate} command. For example, setting + \verb+\duedate{03/10/05}+ defines \cs{theduedate} so that it expands to \texttt{03/10/05}. May + be useful when redefining \cs{maketitledesign} for a homework assignment page. +\end{description} + +\redpoint \cs{eqexcoverpagedesign}. When the \texttt{coverpage} option is +taken, a default cover page appears unless it is redefined. The +\textsf{eqexam} package provides \cs{eqexcoverpagedesign} to design your +own cover page. The default cover page uses the + +\begin{description} + \item[\cs{websubject}] This is the course name, as determined by the \cs{subject} command. + \item[\cs{webtitle}] This is the exam name as determined by the \cs{title} command + \item[\cs{webuniversity}] This is the value set by the \cs{university} command, given + in the preamble. + \item[\cs{@date}] This is the date as determined by the \cs{date} command. + \item[\cs{eq@ExamName}] This is the name field for the student to enter his/her name, as defined + by default or redefined by \cs{eqexamName}, see \Nameref{courseInfo}. + \item[\cs{eq@SID}] This is the student ID field for the student to enter his/her ID, as + defined by default, or redefined by the command \cs{eqSID}, see \Nameref{courseInfo}. + \item[\cs{eq@Email}] This is the student email field for the student to enter his/her email address, as + defined by default, or redefined by \cs{eqEmail}, see \mlNameref{courseInfo}. +\end{description} +Copy the definition of \cs{eqexcoverpagedesign} from +\textsf{eqexam.dtx} and modify as desired. Place the new +definition in the preamble (enclosed between +\cs{makeatletter} and \cs{makeatother}) or in a custom style file. No +special support for this design is offered, because a cover page +can be designed in so many different ways. + +\newtopic Another command associated with the \texttt{coverpage} option,is the +\cs{place\-Cover\-Page\-Logo}, a simple command used to insert a logo on the cover page. +The logo can be used to cover the score in the next page if the +instructor places the score under the logo. Example of usage +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\placeCoverPageLogo{5in}{-1.5in}{\includegraphics{nwfsc_logo}} +\end{Verbatim} +Working from the upper left corner, the first parameter is the amount to move to logo +to the right, the second parameter is the amount to move the logo vertically. The +Third parameter is the content; perhaps an \cs{includegraphics} command. + + +\subsubsection{Changing the Running Headers} + +There are two running headers, one header for the exam itself, and +another when the solutions are shown at the end of the document. + +\redpoint Running Header for Exam. The commands \cs{lheadeqe}, +\cs{cheadeqe} and \cs{rheadeqe} are used for defining the left, right, and +center running headers. \textbf{Note:} these commands have been recently +renamed, originally they were named \cs{lhead}, \cs{chead} and \cs{rhead}, +but this conflicts with the \textsf{fancyhdr} package. If +\textsf{fancyhdr} has not been loaded by the time \textsf{eqexam} is +loaded, the eqexam definitions for \cs{lhead}, \cs{chead} and \cs{rhead} +still hold. Generally, it is recommended that the new command be used, +\cs{lheadeqe}, \cs{cheadeqe} and \cs{rheadeqe}. + +\begin{enumerate} +\item \begin{Verbatim}[commandchars=!()] +\lheadeqe{!meta(text)} +\end{Verbatim} +Changes the left header text of the running header. This command defines an +internal macro \cs{eq@lhead} that actually contains the text. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\lheadeqe{\shortwebsubject/\shortwebtitle} +\end{Verbatim} + +\item \begin{Verbatim}[commandchars=!()] +\cheadeqe{!meta(text)} +\end{Verbatim} +Changes the center header text of the running header. +This command defines an internal macro \cs{eq@chead} that actually +contains the text. The default is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\cheadeqe{-- Page \arabic{page}\space of \nPagesOnExam\space--} +\end{Verbatim} + +\item \begin{Verbatim}[commandchars=!()] +\rheadeqe{!meta(text)} +\end{Verbatim} +\noindent Changes the right header text of the running header. +This command defines an internal macro \cs{eq@rhead} that actually +contains the text. +\item[]The default is \verb+\rhead{\eq@ExamName}+. +\end{enumerate} +If you want to redesign the layout of the running +header, here is the macro that the above components fill. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand\runExamHeader{\eq@lhead\hfill\eq@chead\hfill\eq@rhead} +\end{Verbatim} + +\redpoint Running Header for Solutions. The components of the +running header for the solutions pages occur, as above, on the left, center +and right of each header are defined by the commands \cs{lheadSol}, +\cs{cheadSol} and \cs{rheadSol}. + +\begin{enumerate} +\item \begin{Verbatim}[commandchars=!()] +\lheadSol{!meta(text)} +\end{Verbatim} +\noindent Changes the left header text of the running header. This +command defines an +internal macro \cs{eq@lheadSol} that actually contains the text. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\lheadSol{\shortwebsubject/\shortwebtitle} +\end{Verbatim} + + +\item \begin{Verbatim}[commandchars=!()] +\cheadSol{!meta(text)} +\end{Verbatim} +\noindent Changes the center header text of the running header. +This command defines an internal macro \cs{eq@cheadSol} that +actually contains the text. The default is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\cheadSol{-- Page \arabic{page}\space of \nPagesOnExam\space--} +\end{Verbatim} + +\item \begin{Verbatim}[commandchars=!()] +\rheadSol{!meta(text)} +\end{Verbatim} +\noindent Changes the right header text of the running header. +This command defines an internal macro \cs{eq@rheadSol} that +actually contains the text. The default definition is +\verb+\rheadSol{SOLUTIONS}+. +\end{enumerate} +\noindent If you want to redesign the layout of the running +header, here is the macro that the above components fill. +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\runExamHeaderSol + {\eq@lheadSol\hfill\eq@cheadSol\hfill\eq@rheadSol} +\end{Verbatim} + +\subsubsection{Changing the Running Footers} + +The default set up of \textsf{eqexam} is to use no running footers; +actually, that's not quite right. \textsf{eqexam} places the command +\cs{settotalsbox} in the footer; this command is the one that places the +totals boxes, when requested. + +\newtopic\textsf{eqexam} defines three commands for the footer, +\settowidth{\aebdimen}{\ttfamily\string\lfooteqe\darg{\meta{text}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\lfooteqe{!meta(text)} +\cfooteqe{!meta(text)} +\rfooteqe{!meta(text)} +\end{dCmd} +\noindent where the \meta{text} is placed at the left, center, and +right of the running footer. The default for each is empty text. These +three comprise the definition of \cs{runExamFooter} +\begin{dCmd}{\linewidth} +\newcommand{\runExamFooter}{\eq@lfoot\hfill\eq@cfoot\hfill\eq@rfoot} +\end{dCmd} +\noindent The \cs{settotalsbox} and \cs{runExamFooter} then appear in the definition +of \cs{@oddfoot} in the definition of the \texttt{eqExamheadings} page style. +\begin{Verbatim}[xleftmargin=\amtIndent] +\renewcommand{\@oddfoot}{\settotalsbox\runExamFooter} +\end{Verbatim} +When doing any re-definition of the running footers at the \cs{@oddfoot} command, +be sure to include \cs{settotalsbox} on the \emph{left side of the running footer}; otherwise, +you will not have a totals box when you request one. + + +\subsubsection{Exam Strings} + +In this section we list a new commands that contain information about the exam. + +\settowidth{\aebdimen}{\ttfamily\string\nPagesOnExam} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\nPagesOnExam +\end{dCmd} +\noindent The command \cs{nPagesOnExam} expands to the total number of pages in the exam. + +\settowidth{\aebdimen}{\ttfamily\string\nQuesInExam\darg{\meta{exam\_name}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\nQuesInExam[!meta(exam_name)] +\end{dCmd} +\noindent \cs{nQuesInExam} expands to the total number of questions in the +exam. The command takes an optional argument, the \meta{exam\_name} +(this is the name given the exam as the required argument of the +\texttt{exam} environment). If the argument is not given, the name of the +current exam is used (when executed within an \texttt{exam} environment). +If \cs{nQuesInExam} appears outside an \texttt{exam} environment, the value of +the optional argument needs to be specified. + +\newtopic There are several commands are useful for documents that have several +\textsf{eqexam} environments, these are +\settowidth{\aebdimen}{\ttfamily\string\percentForPart\darg{\meta{exam\_name}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\theGrandTotal +\totalForPart{!meta(exam_name)} +\percentForPart{!meta(exam_name)} +\end{dCmd} +\noindent The first command sums the point totals for each of the +\texttt{exam} environments. The latter two, each taking one argument, the +name associated with the \texttt{exam}, reports the points for that +\texttt{exam} environment and the percent of the total for that +\texttt{exam} environment. + +\newtopic Below is a recent example taken from a final exam that I constructed for my class. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\begin{eqComments}[Final Exam:] (\theGrandTotal\space points) The +final exam has two parts: + \textbf{Part I} (\totalForPart{InstrQuestions} points or + \percentForPart{InstrQuestions} of the total points) consists of + questions written by the instructor; + \textbf{Part II} (\totalForPart{GenEd} points or + \percentForPart{GenEd} of the total points) consists of + questions provided by the Department of Mathematics. +\end{eqComments} +\end{Verbatim} + +%\promoteNewPageHere{10pt} + +\handpoint The calculation of \cs{percentForPart} is done in one of two ways: +\begin{enumerate} + \item If the \textsf{fp} package is loaded, ``floating point + arithmetic'' is used and results are rounded to the number of + decimal points determined by \cs{nPctDecPts}, the default + definition of which is \verb!\newcommand{\nPctDecPts}{1}!. This command may be redefined + to another nonnegative integer value. +\item Otherwise---if the \textsf{fp} package is \emph{not + loaded}---\TeX's count registers are used, the percentage rounded + to the nearest integer. +\end{enumerate} + +\newtopic The calculations are made when the \cs{maketitle} command is +expanded. If, for whatever reason, you are not using \cs{maketitle}, you +can place the command that does the calculations, +\cs{EQEcalculateAllTotals}, just after \verb!\begin{document}!, and before +the first use of \cs{theGrandTotal} and \cs{percentForPart}. + +\settowidth{\aebdimen}{\ttfamily\string\firstPageOfExam\darg{\meta{exam\_name}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\firstPageOfExam{!meta(exam_name)} +\lastPageOfExam{!meta(exam_name)} +\end{dCmd} +\noindent These two commands expand the page numbers of the beginning and the ending +of the exam environment, respectively, with name \meta{exam\_name}. + +\subsubsection{Localization of Strings} + +% Added 01/10/06 +% \examNameLabel +% \ptsLabel, \ptsLabel +% \eachLabel +% \pointsLabel, \pointLabel +% \defaultInstructions + +In this section we list various macros that expand to text +appearing on an \textsf{eqexam} document. The default text is in +English. These commands can be redefined to other English +language phrases, or to other languages, and placed in the preamble of your document, +or in one of the \texttt{.cfg} files. + +\begin{itemize} +% Added 01/10/06 +\item\cs{examNameLabel}: On each page of the exam, there is a place +for the student to enter her/his name. \cs{examNameLabel} can be +used to define the name label, the default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\examNameLabel{Name:} +\end{Verbatim} +\item \cs{examAnsKeyLabel}: When the \texttt{answerkey} option is in + effect, the line in which the student enters her/his name (labeled by + \cs{examNameLabel}) is filled by the value of the text macro + \cs{examAnsKeyLabel}. The default definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\examAnsKeyLabel{Answer Key} +\end{Verbatim} +Thus, when the \texttt{answerkey} +option is used, the name field appears as follows: +\begin{flushleft} +\underbar{\makebox[2.5in][l]{Answer Key}} +\end{flushleft} + +\item\cs{ptLabel} and \cs{ptsLabel}: Labels for indicating the points of a problem, the first is +the singular form of the second. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\ptLabel{pt} % singular form +\ptsLabel{pts} % plural form +\end{Verbatim} +\item\cs{eachLabel}: Label for indicating the common point value of each of several parts +of the same problem. +\begin{Verbatim}[xleftmargin=\amtIndent] +\eachLabel{ea.} +\end{Verbatim} +\item\cs{pointLabel} and \cs{pointsLabel}: The word for `points' used in the \texttt{instructions} environment + that lists the number of points in this exam. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\pointLabel{point} % singular form +\pointsLabel{points} % plural form +\end{Verbatim} +The \cs{pointsLabel} command defines \cs{eq@pointsLabel}, which, +in turn, is used in the \cs{summaryTotalsTxt}, the definition of +which follows: +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\summaryTotalsTxt} + {($\summaryPointTotal\,\text{\eqpointsLabel}$)} +\end{Verbatim} +\item\cs{defaultInstructions}: The \texttt{instructions} environment has a default heading. +The command \cs{defaultInstructions} allows you to change this heading. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\defaultInstructions{Instructions.} +\end{Verbatim} +\end{itemize} + +\newtopic See \Nameref{ptTotalsBoxes} as well as the section \mlNameref{courseInfo} for +additional details on these and commands useful for laying out the +standard text of an \textsf{eqexam} document. + +\subsubsection{Customization of Color}\label{customColor} + +When the \texttt{forcolorpaper} option is used, various elements---such as +section titles, instruction headers, color for fill-in problems, and so on---have default colors. In +this section we list the color controls, along with their default definitions. + +\begin{Verbatim}[numbers=left,xleftmargin=\amtIndent,fontsize=\fontsize{10}{14}\selectfont] +\proofingsymbolColor{red} +\instructionsColor{blue} +\eqCommentsColor{blue} +\eqCommentsColorBody{black} +\universityColor{blue} +\titleColor{black} +\authorColor{black} +\subjectColor{blue} +\linkcolor{blue} +\nolinkcolor{blue} +\fillinColor{red} +\forceNoColor +\end{Verbatim} + +\noindent\textbf{Description of Color Commands:} +\begin{enumerate} + \item The color of the proofing symbol, it appear for multiple + choice questions with the \texttt{answerkey} option in effect. + \item The color of the header text for the \texttt{instructions} environment. + The header is the text that appears in the optional argument. + \item The color for the header text for the \texttt{eqComments} environment. + The header is the text that appears in the optional argument. + \item The color for the body of the text for the \texttt{eqComments} environment. + \item The color of the university, visible only when the \texttt{coverpage} option is taken. + \item The color of the title, visible only when the \texttt{coverpage} option is taken. + \item The color of the author, visible only when the \texttt{coverpage} option is taken. + \item The color of the subject, visible only when the \texttt{coverpage} option is taken. + \item The color applied to a link, applies only when \textsf{hyperref} is included through one of the PDF options, + \texttt{links}, \texttt{online}, or \texttt{email}. + \item The color applied to a link that has been turned off, applies + only when \textsf{hyperref} is included through one of the PDF options, + \texttt{links}, \texttt{online}, or \texttt{email}. + \item The color of the a fill-in (including a True/False question) + when one of the options \texttt{answerkey}, + \texttt{vspacewithsolns}, or \texttt{solutionsonly} is + taken. + \item This convenience command forces all the above colors to black. Useful when you want to use the + \texttt{showgrayletters}. This produces a black and white document, with gray letters. (If you use the + \texttt{forpaper} option, the gray letters appear black.) +\end{enumerate} + + +\subsection{Creating Multiple Versions of Exam} + +Unfortunately, I teach multiple sections of the same course, and +am faced with the problem of writing different exams for the same +course each administered to a different section. + +Typically, I only have a need for two variations on the test; however, +further extensions can be made, if needed (See \Nameref{mutiVerNew}) + +\subsubsection{The Original Version Scheme}\label{mutiVerOrig} + +The \textsf{eqexam} package defines a boolean switch, +\cs{ifVersionA} for this purpose. The two sections of the same +course are ``Version A'' and ``Version B''. The default is that +you are preparing an exam for ``Version A''. + +The command \cs{forVersion} sets the version: \verb+\forVersion A+ +sets version to ``Version A'', and \verb+\forVersion B+ set the +version to ``Version B''. (The argument of the \cs{forVersion} command is case +insensitive, so you also type in \verb+\forVersion b+.) + +For small variations in text, there is the \cs{ifAB} macro, +\settowidth{\aebdimen}{\ttfamily\string\ifAB\darg{\anglemeta{Version A text}}% +\darg{\anglemeta{Version B text}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\ifAB{!anglemeta(Version A text)}{!anglemeta(Version B text)} +\end{dCmd} +\noindent for example, one could say, +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{problem}[2] +Compute $\frac{d}{dx}\ifAB{x^2}{x^3}$. +\end{problem} +\end{Verbatim} +\noindent For longer variations, the \texttt{comments} package is +used to create comment environments that are included or excluded. +The two environments are \texttt{verA} and \texttt{verB}. +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{problem}[2] +Compute $\frac{d}{dx}\ifAB{x^2}{x^3}$. + +\begin{solution}[1in] +We use standard techniques: +\begin{verA} +$$ + \frac{d}{dx} x^2 = 2x +$$ +\end{verA} +\begin{verB} +$$ + \frac{d}{dx} x^3 = 3x^2 +$$ +\end{verB} +\end{solution} +\end{problem} +\end{Verbatim} + +There are several convenience macros for referring to the exams +generated by the two variations. + +Usually, an exam, test, homework assignment has a number associate +with it, e.g. ``Exam 1'', ``Test 2'', ``Assignment~\#12'', etc\@. +This number should be defined using the \cs{examNum} macro. +\settowidth{\aebdimen}{\ttfamily\string\examNum\darg{\meta{num}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\examNum{!meta(num)} +\end{dCmd} +where \meta{num} is the number to be associated +with the exam (test, assignment) under construction. + +This command \emph{must appear before} \cs{title} in the +preamble. The command \cs{examNum} takes its argument and defines +another macro \cs{nExam}, which has no arguments, but expands to +\meta{num}. + +The \textsf{eqexam} package defines two commands \cs{Exam} and +\cs{sExam} to automatically enter the test information for the +current version. In the preamble, you can say, +\begin{Verbatim}[xleftmargin=\amtIndent] +\title[\sExam]{\Exam} +\end{Verbatim} +\noindent \cs{Exam} is the long version of the test name, and takes as its +argument the exam number. \cs{sExam} is the short version, having no +argument. Both \cs{Exam} and \cs{sExam} use the value determined by +\cs{examNum}, described above. + +The text of \cs{Exam} and \cs{sExam} are generated by the four +commands, +\begin{enumerate} +\item \cs{VersionAtext\darg{\meta{text}}} This is the text for the long +version of the exam name for ``Version A''. The default text is +\begin{Verbatim}[xleftmargin=\amtIndent] +\VersionAtext{Exam~\nExam--Version A} +\end{Verbatim} + +\item \cs{VersionBtext\darg{\meta{text}}} This is the text for the long +version of the exam name for ``Version B''. The default text is +\begin{Verbatim}[xleftmargin=\amtIndent] +\VersionAtext{Exam~\nExam--Version B} +\end{Verbatim} + +\item \cs{shortVersionAtext\darg{\meta{text}}} This is the text for the +short version of the exam name for ``Version A''. The default text +is +\begin{Verbatim}[xleftmargin=\amtIndent] +\VersionAtext{Exam~\nExam A} +\end{Verbatim} + +\item \cs{shortVersionBtext\darg{\meta{text}}} This is the text for the +short version of the exam name for ``Version B''. The default text +is +\begin{Verbatim}[xleftmargin=\amtIndent] +\VersionAtext{Exam~\nExam B} +\end{Verbatim} +\end{enumerate} + +\redpoint All the above commands, +\textbf{\textcolor{blue}1}--\textbf{\textcolor{blue}4}, need to +appear before \cs{title} in the preamble.\medskip + +\noindent Below is a ``typical'' example of how to correctly +redefine all the version text. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\documentclass{article} +\usepackage{amsmath} +\usepackage[forpaper,pointsonleft,noparttotals,nosolutions]{eqexam} + +\examNum{1} +\forVersion{B} +\VersionAtext{Test~\nExam--003} +\VersionBtext{Test~\nExam--007} +\shortVersionAtext{T{\nExam}s3} +\shortVersionBtext{T{\nExam}s7} + +\title[\sExam]{\Exam} +\author{D. P. Story} +\subject[C2]{Calculus II} +\date{Spring \the\year} +\keywords{Test \nExam, Section \ifAB{003}{007}} +\end{Verbatim} + + +\subsubsection{New Version Control}\label{mutiVerNew} + +In this section we introduce a new set of commands that supersede +the commands defined above. Those commands were limited to only +two versions. The ones below can handle up to $26$ versions. + +The steps for creating a multiple version \textsf{eqexam} document are as follows. +\settowidth{\aebdimen}{\ttfamily\string\numVersions\darg{\meta{num}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\numVersions{!meta(num)} +\end{dCmd} +\noindent In the preamble, declare the number of versions for this document + using \cs{numVersions}, e.g., \verb|\numVersions{3}|. +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\longTitleText + {!anglemeta(Text_1)} + {!anglemeta(Text_2)} + ... + {!anglemeta(Text_n)} +\endlongTitleText +\end{Verbatim} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\shortTitleText + {!anglemeta(Text_1)} + {!anglemeta(Text_2)} + ... + {!anglemeta(Text_n)} +\endshortTitleText +\end{Verbatim} +\textbf{Note:} If there are more titles than what are declared, the rest +of the titles are absorbed (gobbled). If there are fewer titles than declared, a +{\LaTeX} package error is generated, and ``fake'' titles are +generated. + + +\newtopic Next, state the long and short titles for the document, +one for each of the declared number of versions given earlier in \cs{numVersions}. +For example, we can use the value \cs{nExam} in our titles. Usage: +\begin{Verbatim}[xleftmargin=\amtIndent] +\longTitleText + {Test~\nExam--Version A} + {Test~\nExam--Version B} + {Test~\nExam--Make Up} +\endlongTitleText +\shortTitleText + {T\nExam A} + {T\nExam B} + {T\nExam MU} +\endshortTitleText +\end{Verbatim} +These two commands give values to \cs{Exam} and \cs{sExam}. If +\verb!\forVersion{a}! is executed, \cs{Exam} expands to the text \verb|Test~\nExam--Version A| and +\cs{sExam} expands to \verb|T\nExam A|, using the example above. The value of \cs{nExam} +is determined by the \cs{examNum} command, as described above. + +\newtopic Next is the command that does all the work. It creates alternate +text macros for each of the versions declared using \cs{numVersions}. The syntax is +\settowidth{\aebdimen}{\ttfamily\string\forVersion\darg{\meta{letter}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\forVersion{!meta(letter)} +\end{dCmd} +For example, assuming \verb|\numVersions{3}|, \verb|\forVersion{a}| (or \verb|\forVersion{A}|) defines $3$ text commands \cs{vA}, \cs{vB} and +\cs{vC}, each taking one argument, the text you want to display: +\begin{Verbatim}[xleftmargin=\amtIndent] + Name the \vA{place}\vB{date}\vC{year} of the signing + of the Magna Carta. +\end{Verbatim} +\noindent Since \verb|forVersion{a}| was declared, only the \cs{vA} text +is displayed, the others are gobbled up. But wait, time out, the \cs{forVersion} +does more than that! It also creates a series of comment environments +\verb|\begin{verA}/\end{verA}|, \verb|\begin{verB}/\end{verB}|, \verb|\begin{verC}/\end{verC}|, etc., +where only the version for which this compile applies will be typeset, +the others are commented out. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\numVersions{3} +\forVersion{b} +... +\begin{document} +... +Solve the equation for $\vA{x}\vB{y}\vC{z}$: +\[ +\begin{verA} + 2x + 4 = 7 +\end{verA} +\begin{verB} + 5y + 2 = 4 +\end{verB} +\begin{verC} + 3z - 2 = 2 +\end{verC} +\] +\end{Verbatim} + +\noindent Here is a final example of the multiple version scheme, taken from the preamble of one of +my Calculus tests. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\documentclass{article} +\usepackage{amsmath,graphicx} +\usepackage[forpaper,pointsonleft,nototals,nosolutions]{eqexam} +%\usepackage[forpaper,pointsonleft,nototals,answerkey]{eqexam} + +\numVersions{3} +\forVersion{a} +\examNum{1} +\longTitleText + {Test \nExam--Version A} + {Test \nExam--Version B} + {Test \nExam--Make Up} +\endlongTitleText +\shortTitleText + {T\nExam A} + {T\nExam B} + {T\nExam MU} +\endshortTitleText + +\subject[C3]{Calculus III} +\title[\sExam]{\Exam} +\author{Dr.\ D. P. Story} +\university +{% + THE UNIVERSITY OF AKRON\\ + Department of Theoretical and Applied Mathematics +} +\date{\thisterm\space\the\year} % Fall 2005 +\duedate{09/26/05} % actual date of the test +% If you convert to pdf using a pdf (links, online, email) +% option, this will appear in the keywords field of the +% document info dialog. +\keywords{\Exam, administered \theduedate} +\end{Verbatim} + +\newtopic There is one additional command that can be used to locally control +which version that is typeset in the document. +\settowidth{\aebdimen}{\ttfamily\string\selectVersion\darg{\meta{num}}% +\darg{\meta{total\_versions}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\selectVersion{!meta(num)}{!meta(total_versions)} +\end{dCmd} +You can place the \cs{selectVersion} command in front of a question or a part of a question +that has multiple versions. Through this command you can select which version to typeset, +provided the option \texttt{obeylocalversions} is set. For example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\selectVersion{3}{4} +\begin{problem}[10] +... +\end{problem} +\end{Verbatim} +\noindent The \cs{selectVersion} command says there are four variations on the next question +and the document author wants to use the third one (that would correspond to C, in the +\cs{forVersion} command). Again, the \texttt{obeylocalversions} must be taken for +\textsf{eqexam} to obey this command. + +\newtopic \textbf{Recommendation:} Each problem should +have the command \cs{selectVersion} in front of it, even for parts. +Suppose the document author says \verb!\numVersions{5}!, but some +problems don't have five versions, what do you do? If there is a +\cs{selectVersion} in front of a problem with multiple versions, the +\cs{selectVersion} will partially expand to determine if it is +needed. It is needed if the version specified by \cs{forVersion}, is +greater than the number of versions for the problem. In this case, +\cs{selectVersion} performs modular arithmetic to compute which +version is to be used. For example, if \verb!\forVersion{E}! has +been declared in the preamble, but a problem has only three +variations, the \textsf{eqexam} will use variation B; if +\verb!\forVersion{D}! was declared, version A is +used, and so on. + + +\subsection{The Point and Totals Boxes}\label{ptTotalsBoxes} + +There are two types of points boxes, but only one type of totals +box. All the commands listed below can be redefined for language +localizations, for example. + +\redpoint Points that appear in the left margin (the +\texttt{pointsonleft} or \texttt{pointsonboth} options). There are two text macros +that are used, +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\leftmarginPtsTxt[1]{(\small$#1^{\text{pts}}$)} +\end{Verbatim} +\noindent when the total points for that problem are shown, and the other +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\leftmarginPtsEaTxt[1] + {(\small$#1_{\text{ea.}}^{\text{pts}}$)} +\end{Verbatim} +\noindent when the author indicates that each sub-part of a problem +is weighted the same, (when the author begins a \texttt{problem*} +environment with \verb+\begin{problem*}[3ea]+, for example). + +\redpoint Points that appear in the right margin (options +\texttt{pointsonright} or \texttt{pointsonboth}). These points appear +in the bottom half of a box, the text for that box is determined by the +following definition. +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\marginpointsboxtext[2]{\small$#1\,\text{pts}$} +\end{Verbatim} +\noindent By the way, the purpose of the upper part of the box is +for the instructor to enter the number of points a student +received for that problem. + +\redpoint Points specified by the \cs{PTs} command. This text is +defined by \cs{itemPTsTxt} as follows. See the paragraphs on +\Nameref{problemstar} for a discussion of the use of \cs{PTs}. +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\itemPTsTxt[1]{($#1$ pts)} +\end{Verbatim} + +\redpoint \textbf{The totals box.} When you specify either option +\texttt{totalsonleft} or \texttt{totalsonright}, you get a page totals +box appearing in the lower left or right bottom corner. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\newcommand\totalsboxtext{\small$\theeqpointsthispage\,\text{pts}$} +\end{Verbatim} +where \texttt{eqpointsthispage} is a counter whose value +at the end of each page \emph{should} be the page total. For tests +that have multiple \texttt{exam} environments, if one exam part +ends on a page, and another begins on the same page, this number +(\texttt{eqpointsthispage}) is the total on the page from the +beginning of the new exam part. In this case, at the end of the +exam part, there should also appear a remaining total for that +part on that page. + +The totals boxes are located in the lower right corner +(\texttt{totalsonright}) or in the lower left corner +(\texttt{totalsonleft}). Vertical placement of these boxes is controled +by the length \cs{eqevtranstotbox}, its default value is +\texttt{0pt}. To raise the boxes \texttt{6pt}, for example, +execute \verb!\setlength{\eqevtranstotbox}{6pt}!; the box may be lowered +by using a negative length. + +\redpoint \textbf{Summary Totals.} When you use the \texttt{instructions} +environment to give initial instructions for an exam, the total +points appears automatically in the text, unless you specify the +\texttt{nosummarytotals} option. This text is defined by +\cs{summaryTotalsTxt}, whose definition follows: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand\summaryTotalsTxt{($\summaryPointTotal\,\text{points}$)} +\end{Verbatim} +\noindent where \cs{summaryPointTotal} is a macro that expands to +the total for this \texttt{exam} environment. + +\subsection{The \texttt{eqComments} Environment} + +In addition to the \texttt{instructions} environment, as explained +in the section~\ref*{exam}, entitled \Nameref{exam}, should you want to insert +additional instructions from within the body or the exam, use the +\cs{eqComments} environment. The \cs{eqComments} environment has +one optional argument, a formatted heading for the comments you +want to make. For example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{eqComments}[Proofs.] +Solve each of the problems~5--8 on a separate sheet of paper, +do not write on the back of the paper. Follow the instructions +provided for each problem. Use your little gray cells. +\end{eqComments} +\end{Verbatim} +\noindent Such instructions must go between problems, of course, +not within the body of either a \texttt{problem} or a +\texttt{problem*} environment. + +\redpoint The optional argument has a color associated with it, and +is visible when you compile the document with the +\texttt{forcolorpaper} option. \cs{eqCommentsColor} colors the text that may appear +in the optional argument of the environment; \cs{eqCommentsColorBody} colors the body +of the text. Each take a single named color argument. +\begin{Verbatim}[xleftmargin=\amtIndent] +\eqCommentsColor{blue} +\eqCommentsColorBody{black} +\end{Verbatim} +The above are the default definition. + +\subsection{The \texorpdfstring{\protect\cs{OnBackOfPage}}{\textbackslash OnBackOfPage} Command}\label{onbackofpage} + +In order to reduce the number of pages needed for an exam, I often +cheat by asking the student to work on the back of one of the test +pages. +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\bopText{on the back of page~\boPage} +\newcommand\bopCoverPageText{(the cover page)} +\newcommand\OnBackOfPage[1][\bopText]{% +\end{Verbatim} + +For this, I use the \cs{OnBackOfPage} command +\settowidth{\aebdimen}{\ttfamily\string\OnBackOfPage[\meta{text}]} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\OnBackOfPage[!meta(text)] +\end{dCmd} +\noindent The optional argument allows you to enter variational +text, text that varies from the default text. The default text is +contained in \cs{bopText} macro, its definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\bopText{on the back of page~\boPage} +\end{Verbatim} +\noindent where \cs{boPage} is the page the student is instructed +to do the work. Thus, if you say, ``Continue \cs{OnBackOfPage}.'' +This would expand to ``Continue on the back of page 2.'', or +whatever \cs{boPage} is determined to be. + +\newtopic To illustrate the use of the optional argument of +\cs{OnBackOfPage}, you might say, +\begin{quote} + \verb+\OnBackOfPage[The back of page~\boPage]+ can be used\\ + to continue work, if necessary. +\end{quote} +This expands to +``The back of page 2 can be used to continue work, if necessary.'' + +The algorithm used to compute the page, \cs{boPage}, on which to +continue to work is as follows: For all pages, except for the +first page of the test, the student works on the back of the +previous page. For the first page of the test, the student works +on the back of the first page, unless there is a cover page, in +which case the student is instructed to work on the back of that +page. + +In the case of working on the back of the cover page, there is a variation on the +instructions, \cs{OnBackOfPage} expands to ``on the back of page 1 (the cover page)''. +The phrase ``(the cover page)'' can be redefined using the \cs{bopCoverPageText} command. +The definition of this command is +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\bopCoverPageText{\space(the cover page)} +\end{Verbatim} +\noindent We could change this as follows, +\begin{Verbatim}[xleftmargin=\amtIndent] +\renewcommand\bopCoverPageText{, the cover page} +\end{Verbatim} +\noindent so that it would now read, ``on the back of page 1, the cover page''. To remove this feature +altogether, you could redefine as +\begin{Verbatim}[xleftmargin=\amtIndent] +\renewcommand\bopCoverPageText{} +\end{Verbatim} + +\subsection{\texorpdfstring + {The \cs{pushProblem} and \cs{popProblem} Commands} + {The \CMD{pushProblem} and \CMD{popProblem} Commands} +} + + +There may be an occasion when a multi-part question needs to be broken between parts, +use the \cs{pushProblem} and \cs{popProblem} for this purpose. The push saves the +counter value, and ends the \texttt{parts} environment. The pop restarts the +\texttt{parts}, and resets the parts counter. + +\newtopic +In the \texttt{multicols} environment below, we \cs{pushProblem}, then close \texttt{multicols}, we execute \cs{popProblem}, and then continue with the multi-parts in single column. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] +Do each of the following without error. +\begin{multicols}{2} + \begin{parts} + \item\PTs{3} This is a problem. + \begin{solution}[1in]\end{solution} + + \item\PTs{3} This is a problem. + \begin{solution}[1in]\end{solution} +\pushProblem +\end{multicols} +\popProblem + \item\PTs{4} Do this harder problem. + \begin{solution}[.5in]\end{solution} + \end{parts} +\end{problem*} +\end{Verbatim} +\newtopic In the example, the first two questions appear in two +column format, while the third appears in single column format. The +same thing can be done in reverse, like so: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] +Do each of the following without error. + \begin{parts} + \item\PTs{3} This is a problem. + \begin{solution}[1in]\end{solution} +\pushProblem +\begin{multicols}{2} +\popProblem + \item\PTs{4} This is a hard problem. + \begin{solution}[1in]\end{solution} + \item\PTs{4} Do this harder problem. + \begin{solution}[1in]\end{solution} + \end{parts} +\end{multicols} +\end{problem*} +\end{Verbatim} +\newtopic Now, first question is in single column and the next two are in two column format. + +\handpoint In order to get the correct formatting, the \texttt{multicols} environment must begin +before the \texttt{parts} environment. + +%\newtopic See \texttt{quiz02.tex} for an example of \cs{pushProblem} and \cs{popProblem}. + +\exAeBBlogPDF{p=1211} See \texttt{\href{\urlAcroTeXBlog/?p=1211}{quiz02.pdf}} +for an example of \cs{pushProblem} and \cs{popProblem}. + + +\subsection{\texorpdfstring{\protect\cs{qNewPage}, \protect\cs{aNewPage}, + and \protect\cs{promoteNewPage}} + {\CMD{qNewPage}, \CMD{aNewPage}, and \CMD{promoteNewPage}}}\label{aqpNewPage} + +The command \cs{qNewPage} (questions newpage) and \cs{aNewPage} +(answers newpage) are convenience commands for creating new pages. +The first one expands to \cs{newpage} when the \cs{ifanswerkey} is +false and the second one expands to \cs{newpage} when the +\cs{ifanswerkey} is true; their definitions are +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\qNewPage{\ifanswerkey\else\newpage\fi} +\newcommand\aNewPage{\ifanswerkey\newpage\fi} +\end{Verbatim} + +The \cs{promoteNewPage} can be used to insert a page break, if needed. +\settowidth{\aebdimen}{\ttfamily\string\promoteNewPage\darg{\meta{vspace}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\promoteNewPage[!meta(vspace)] +\end{dCmd} +If there is more than \meta{vspace} left on the current page, a +\cs{newpage} command is executed (a \cs{columnbreak} if in a +\texttt{multicols} environment). The default value for \meta{vspace} +is \cs{@fvsizeskip}\cs{textheight}, where \cs{@fvsizeskip} is a decimal +number between 0 and 1 that is set by \cs{fvsizeskip}. The default is +\verb!\fvsizeskip{.3}!. This means that if there is less than +\verb!.3\textheight!, and new page is created. This may be too large for +most applications, so you can pass a \meta{vspace} through the optional argument. +For example, \cs{promoteNewPage[.25in]}. + + + +\subsection{Support for Solution Sets from a Text}\label{solnSets} + +I use \textsf{eqexam} not only for exams, quizzes and homework +assignments, but also for solution sets for problems assigned from the text. + +Suppose the assignment was to solve, on a certain page in the text, +problems which include \textbf{2}, \textbf{6} and \textbf{12(b)(d)} and +it is desired to provide solutions to these problem. For this +purpose, \textsf{eqexam} provides \cs{forproblem} and \cs{foritem}. These +commands are used as follows: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{exam}{HW\nExam} +\begin{instructions}[Description] (10 points) +Selected solutions from Assignments~24, 25, \S7.1. +\end{instructions} + +\begin{eqComments}[\S7.1] +\textbf{Solving Linear Equations} +\end{eqComments} + +\forproblem{2} +\begin{problem} +Statement of problem. +\begin{solution} +Solution to this problem. +\end{solution} +\end{problem} + +\forproblem{6} +\begin{problem} +Statement of problem. +\begin{solution} +Solution to this problem. +\end{solution} +\end{problem} + +\forproblem{12} +\begin{problem*} +Statement of problem. +\begin{parts} + \foritem{b} Statement for item (b) + \begin{solution} + Solution to this problem. + \end{solution} + + \foritem{d} Statement for item (d) + \begin{solution} + Solution to this problem. + \end{solution} +\end{parts} +\end{problem*} +\end{exam} +\end{Verbatim} + +\subsection{Referencing Multiple Choice Questions}\label{showgraylettersOpt} + +When the \texttt{showgrayletters} option is used, each alternatives in a +multiple choice question will have a gray capital letter \texttt{A}, +\texttt{B}, \texttt{C}, etc. underneath it. This letter can then be +referred to in the text or the solution. + +The use of this option is global and is controlled by the switch, +\cs{ifaeb\-show\-gray\-letters}. The gray letter feature can be turned on +and off locally: To turn on this feature, insert the command +\cs{graylettersOn} at some appropriately chosen point in +the document; to turn off the gray letter feature insert +\cs{graylettersOff}. + +\newtopic In support of the \texttt{showgrayletters} option is a new +command \cs{REF}. \cs{REF} acts like the {\LaTeX} command \cs{ref} +with the hyperref modifications, but it converts the reference to +uppercase. When \cs{ref} would typeset the letter `a', for example, +\cs{REF} would typeset the letter `A'. \cs{REF}, like \cs{ref}, +typesets a hyperref link. Hyperref defines a \texttt{*} version of +\cs{ref}; \cs{ref*} typesets the reference, but does not create a +link; \cs{REF*} does the same. When \cs{aebshowgraylettersfalse} is +in effect, \cs{REF} does not capitalize the reference. + +\redpoint Below is an example of this. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +Answer this if you can! +\begin{answers}{2} +\bChoices + \Ans0\label{testsqFirst} This is a possible answer.\eAns + \Ans1\label{testsqSecond} Try this one (the correct one).\eAns + \Ans0 This is an answer.\eAns + \Ans0 Another alternative.\eAns +\eChoices +\end{answers} +\begin{solution} +We reference alternatives (\REF*{testsqFirst}), an incorrect answer, +and (\REF{testsqSecond}), the correct answer. +\end{solution} +\end{problem} +\end{Verbatim} +\newtopic Notice that the gray letters was not turned to off +until after the usage of \cs{REF}. + +\newtopic\textcolor{red}{\bfseries Important} The gray letters are typeset into the document. Do not +use a background color for the checkboxes as this color will cover +up the gray letters. The default background color checkboxes is +transparent, keep it that way. + +\newtopic When typesetting an exam for paper (using the \texttt{forpaper} +option), the gray letters appear as black letters. If you want actual gray +letters, you have to use the \texttt{forcolorpaper} option. In this case, +you'll see the blue color appearing in various places. Change these blue +colors to black using the following commands in the preamble: +\settowidth{\aebdimen}{\ttfamily\string\forceNoColor} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\forceNoColor +\end{dCmd} + + +\subsection{Displaying Points between two Markers} + +Some instructors might like a subdivide the exam into segments (or parts) and to have a total for +that segment of problems. The \textsf{eqexam} package offers three commands for that purpose. +\settowidth{\aebdimen}{\ttfamily\string\calcFromMarkers[\meta{formatting}]\darg{\meta{name2}}\darg{\meta{name3}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\placeMarkerHere{!meta(name)} +\calcFromMarkers[!meta(formatting)]{!meta(name2)}{!meta(name3)} +\markerTotalFmt{!meta(formatting)} +\end{dCmd} +Place \cs{placeMarkerHere} outside of a \texttt{problem}/\texttt{problem*} environment, giving each +a unique name; for example \verb!\placeMarkerHere{bQForm}!. Place +\cs{calcFromMarkers} wherever you wish a calculation to be displayed, for example, + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\placeMarkerHere{bQForm} +\begin{eqComments}[Quadratic Formula\calcFromMarkers{eQForm}{bForm}.] +Solve each of the following equations using the quadratic formula. +\end{eqComments} +.. +\begin{problem}[5] +... +\end{problem} +... +% Finished with problems that use the quadratic formula, +% now create another marker for the next set of questions. +\placeMarkerHere{eQForm} +... +\end{Verbatim} +After you {\LaTeX} three times (and the totals are all brought up to date), +the header of the \textbf{eqComments} should read \textbf{Quadratic +Formula (12 points)}, where the \textbf{12 points} are the total of all +points assigned between the \texttt{bQForm} marker and the \texttt{eQForm} +marker. + +The formatting for the total points between markers is determined by the optional first parameter +of \cs{calcFromMarkers}, and if there is no optional first parameter, by a global command, +\cs{markerTotalFmt}, which sets the default formatting. The default definition of +\cs{markerTotalFmt} is +\begin{Verbatim}[xleftmargin=\amtIndent] +\markerTotalFmt{ (\themarkerCnt\space points)} +\end{Verbatim} +The command \cs{themarkerCnt} references the counter \texttt{markerCnt} in which the calculations are made. +Any redefinition of \cs{markerTotalFmt} should use \cs{themarkerCnt} to reference to value. + +You use the optional first parameter the same way as the definition of \cs{marker\-Total\-Fmt}. You can say, for +example, you can type +\begin{Verbatim}[xleftmargin=\amtIndent] +\calcFromMarkers[ $\themarkerCnt^{\text{pts}}$]{eQForm}{bForm} +\end{Verbatim} +to get a formatted total \verb*! $12^{\text{pts}}$!, which typesets to ` $12^{\text{pts}}$'. + +You might have noticed that I've inserted a space character at the beginning of the definition +\verb*!\markerTotalFmt{ (\themarkerCnt\space points)}!, and place \cs{calc\-From\-Markers} up against +the previous word, as in +\begin{Verbatim}[xleftmargin=\amtIndent] +Quadratic Formula\calcFromMarkers{eQForm}{bForm}. +\end{Verbatim} +This is so that when the required totals are not defined---early in the {\LaTeX}ing process---there +is no space between \texttt{Formula} and the period (.); this is nothing but a cosmetic trivial point. After +you {\LaTeX} enough times, the full expansion appears as, +\begin{Verbatim}[xleftmargin=\amtIndent] +Quadratic Formula (12 points). +\end{Verbatim} + + +\subsection{Extending the \texorpdfstring{\protect\cs{fillin}}{\CMD{fillin}} Command}\label{extendfillin} + +When the document author uses the \texttt{usexkv} option, and the +\textsf{xkeyval} package is found on the document author's system, +the \cs{fillin} command is redefined to use key-value pairs in the +optional first argument. The syntax for \cs{fillin} now is, +%\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{dCmd}[commandchars=!(),fontsize=\small]{\linewidth} +\fillin[ + underline=true|false,u,b,boxed=true|false,boxpretext=!anglemeta(text), + align=l|r|c,boxsize=!anglemeta(!upshape(\tiny|...|normalsize|large|...|Huge)), + color=!anglemeta(namedcolor),format=!anglemeta(!upshape\bfseries|\ttfamily|\Large|!meta(whatever)), + enclosesoln=!anglemeta(!upshape(true|false)),fitwidth=!anglemeta(!upshape(true|false)) +]{!meta(width)}{!meta(answer)} +\end{dCmd} +\textbf{Parameter Description.} \cs{fillin} takes three parameters. +\begin{enumerate} +\item The first optional parameter uses a key-value system, these allow the document author +to set the appearance and behavior of the field. The keys are described below. + +\item The second parameter \meta{width} is the amount of horizontal +space to leave for the student to write in the response. For example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\fillin[boxed,boxsize=Large]{1.5in}{$2x - 3$} +\end{Verbatim} +Yields the following results, depending on the option. +\begin{alignat*}{2} +&\makebox[1.5in][c]{\text{\texttt{nosolutions} option}}&&\qquad +\makebox[1.5in][c]{\text{\texttt{answerkey} option}}\\ +&\boxed{\text{\Large\strut}\makebox[1.5in]{\hfill}}&&\qquad +\boxed{\text{\Large\strut}\makebox[1.5in]{$2x-3$}} +\end{alignat*} +If this parameter is left empty, +the \textsf{eqexam} uses the \meta{answer} parameter to determine the width of the field. +The code +\begin{Verbatim}[xleftmargin=\amtIndent] +\fillin[boxed,boxsize=Large]{}{$2x - 3$} +\end{Verbatim} +gives a box the same width as the answer, $2x-3$, which is not very wide +in this case. On the test, (compiled with the \texttt{nosolutions} option) +the student would see this box +$\boxed{\text{\Large\strut}\text{\phantom{$2x-3$}}}$. Though we can typeset the +answer into this box, it is too narrow for the student to write the answer +into; a better strategy is as follows: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\fillin[boxed,boxsize=Large]{\ifNoSolutions{1.5in}{}}{$2x - 3$} +\end{Verbatim} +Now, when the file is compiled under different options, we obtain +\begin{alignat*}{2} +&\makebox[1.5in][c]{\text{\texttt{nosolutions} option}}&&\qquad +\makebox[1.5in][c]{\text{\texttt{answerkey} option}}\\ +&\boxed{\text{\Large\strut}\makebox[1.5in]{\hfill}}&&\qquad +\makebox[1.5in][c]{$\boxed{\text{\Large\strut}2x-3}$} +\end{alignat*} +For the answer key version, the answer is enclosed is tightly enclosed, a +cosmetic difference. See also the \texttt{fitwidth} option. + +\item[] The command \verb!\ifNoSolutions{#1}{#2}! executes the first parameter if +the compile option is \texttt{nosolutions}, otherwise it executes the second parameter. + +\item The third argument, \meta{answer}, is the correct answer; this correct answer +appears when the document is compiled with the \texttt{answerkey} option. +\end{enumerate} + +\newtopic\textbf{The description of the key-value pairs for \cs{fillin}:} +\begin{description} + \item[\texttt{underline}:] A Boolean switch, which if \texttt{true}, the + fill-in region is underlined. The default is \texttt{false}, the region + is not underlined. + \item[\texttt{u,b}:] Legacy options. If \texttt{u} is chosen, the region is + underlined, if \texttt{b} is chosen, the region is not underlined. Use + of the \texttt{underline} key is recommended. + \item[\texttt{boxed}:] A Boolean switch, which if \texttt{true}, the + fill-in region is boxed in using the \cs{boxed} command of + \textsf{amsmath} package. The default is \texttt{false}, the region is + not boxed. + \item[\texttt{boxpretext}:] A key that takes \meta{text} as its value. This + value will be placed in front of the third argument, labeled + \meta{answer} above. The \meta{text} appears in the box even when + the \texttt{answerkey} is not in effect. This key is ignored if the + \texttt{boxed} option is not taken. + + This option allows you to create an expression like +\begin{equation*} + \boxed{ y =\hspace{1in}\text{\Large\strut}}\quad\text{and with \texttt{answerkey}}\quad + \boxed{ y = \rlap{$2x^2 + 1$}\hspace{1in}\text{\Large\strut}} +\end{equation*} + \item[\texttt{boxsize}:] This is a choice key, the choices being \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, + \texttt{large}, \texttt{Large}, \texttt{LARGE}, \texttt{huge} and \texttt{Huge}. the smaller sizes probably are not useful, + I give them to you for free. This key allows you to adjust the height of the box. This key is ignored if the + \texttt{boxed} key does not appear in the option list. For example, +\begin{flushleft} +\hskip\leftmargini\begin{tabular}{@{}cc} + \makebox[1.2in][c]{\texttt{boxsize=Large}}&\makebox[1.2in][c]{\texttt{boxsize=Huge}}\\ + \multicolumn{1}{@{}p{1.2in}}{\kern0pt\centering\fbox{\hspace{1in}\Large\strut}}& + \multicolumn{1}{p{1.2in}}{\kern0pt\centering\fbox{\hspace{1in}\Huge\strut}} +\end{tabular} +\end{flushleft} + Choice of size depends on the height of the anticipated response of + the student. The default is \texttt{normalsize}. + + \item[\texttt{enclosesoln}:] This Boolean key only takes effect when the + \texttt{boxed} key is used, and when either the \texttt{nosolutions} or the + \texttt{vspacewithsolns} option is taken. When these conditions are + met, a box is created around the solution (the third parameter of \cs{fillin}); the solution + is enclosed in a \cs{phantom} so it is not seen, but the dimensions of the solution are used. + This key allows you to create a box or arbitrary dimension. + +A simple example would be +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\fillin[boxed,enclosesoln,parbox={[t][1in]}]{2.4in}{% + The box is 2.4 inch wide and 1 inch high. The solution to + this problem appears when \texttt{answerkey} is in effect. +} +\end{Verbatim} +Below shows how this command appears under different options. +\begin{equation*}\def\fb#1{#1-2\fboxrule-2\fboxsep} +\boxed{\phantom{\parbox[b][\fb{1in}][t]{\fb{2.4in}}{% + The box is 2.4 inch wide and 1 inch high. The solution to + this problem appears when the answerkey is in effect} +}}\quad\boxed{\parbox[b][\fb{1in}][t]{\fb{2.4in}}{% + The box is 2.4 inch wide and 1 inch high. The solution to + this problem appears when \texttt{answerkey} is in effect. +}} +\end{equation*} +The box on the left is appears when the \texttt{nosolutions} or +\texttt{vspacewithsolns} is in effect. The one on the right appears when +the \texttt{answerkey} option is taken. Note the size of the two boxes are +the same. + +\textbf{Note:} The explanation of the \texttt{parbox} option used in this +example appears below. + +\item[\texttt{fitwidth}] This key is an implementation of the + \cs{ifNoSolutions} strategy discussed earlier. If \texttt{fitwidth} is + specified and the \texttt{nosolutions} option (an \textsf{eqexam} + option) is in effect, the width of the fill-in region is taken from + the second parameter; however, if the \texttt{answerkey} option is + specified, the natural with of the answer (the third parameter) is + used. + + \item[\texttt{align}:] A key that takes one of three values, \texttt{l}, + \texttt{\texttt{r}}, and \texttt{c}. This key aligns the text within + the fill-in field (when the \texttt{answerkey} option is taken): + \texttt{l} (left-aligned), \texttt{c} (center, the default), \texttt{r} + (right-aligned). This parameter affects the position of the + \meta{answer}, and does not affect the position of the + \meta{text}, which is aligned left, of the \texttt{boxpretext} key. + The alignment becomes visible when the \texttt{answerkey} option is in + effect. + + \item[\texttt{hiddenbox}:] When the \texttt{boxed} option is used, + \textsf{eqexam} uses an \cs{fbox} to enclose the content. + The \texttt{hiddenbox} is used with the \texttt{boxed} option and it + resets the lengths of \cs{fboxrule} and \cs{fboxsep} to + \texttt{0pt}. In this way, some of the features + (\texttt{enclosesoln} and \texttt{boxpretext}, for example) that + apply to boxed content can be used without the surrounding boundary + rule. See \texttt{parbox} for an example. + + \item[\texttt{parbox}:] When this option is taken, \textsf{eqexam} + encloses the third argument (the answer) in a \cs{parbox}. The value + of the \texttt{parbox} option is the first three parameters of a + \cs{parbox}; for example \verb!parbox={[t][.5in][c]}! causes \cs{fillin} + to enclose the content in a \cs{parbox} with a height of \texttt{.5in}. The width + of the \cs{parbox} is taken to be the second parameter of + \cs{fillin} macro. The third parameter of \cs{fillin} becomes + \cs{parbox[t][.5in][c]\darg{\meta{width}}\darg{\meta{answer}}}. + The value of the \texttt{parbox} key needs to be + enclosed in braces, as just illustrated. + +Here is an example of the use of this key-value pair: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\fillin[parbox={[t][.5in]},boxed,hiddenbox, + boxpretext={\textbf{\textcolor{black}{Conclusion: }}}, + format=\normalfont,enclosesoln]{\linewidth}{% + There is sufficient evidence at the $\alpha=0.05$ level to + conclude that the mean microwave repair cost is less than + \$100.} +\end{Verbatim} +If you say \cs{fillin[parbox,boxed,\meta{options}]\darg{\meta{width}}\darg{\meta{answer}}} (\texttt{parbox} with the +empty argument), translates into \cs{parbox\darg{\meta{text}}}, the height of the box is the +natural height of the content. + +Note the presence of the \texttt{hiddenbox} key, in this case, no rule +or additional spacing appears around the box. + + This typesets, when \texttt{answerkey} option is used as + + \parbox[t][.5in]{\linewidth}{\textbf{\textcolor{black}{Conclusion: }} + There is sufficient evidence at the $\alpha=0.05$ level to + conclude that the mean microwave repair cost is less than + \$100.} + + When \texttt{answerkey} is not used, the following is seen (by the student at test time): + + \parbox[t][.5in]{\linewidth}{\textbf{\textcolor{black}{Conclusion: }}} + + The same vertical space is used in both cases because of the \texttt{enclosesoln} + option taken in this example. + + If the \texttt{hiddenbox} key is removed, a proper boxed region appears, + + $\def\FB#1{#1-2\fboxrule-2\fboxsep} + \boxed{\parbox[t][\FB{.5in}]{\FB{\linewidth}}{\textbf{\textcolor{black}{Conclusion: }} + There is sufficient evidence at the $\alpha=0.05$ level to + conclude that the mean microwave repair cost is less than + \$100.}}$ + + Similarly, when \texttt{answerkey} is not used, the following is seen, + + $\def\FB#1{#1-2\fboxrule-2\fboxsep} + \boxed{\parbox[t][\FB{.5in}]{\FB{\linewidth}}{% + \textbf{\textcolor{black}{Conclusion: }}\hfill\vfill}}$ + + + \item[\texttt{color}:] The value of this key is a named color. The + \meta{answer} appears in this color, when \texttt{answerkey} option is + in effect. The default is red. + + \item[\texttt{format}:] A general purpose formatting key. The value of the key can be most anything: + \cs{bfseries} (to change font series), \cs{ttfamily} (to change font family), \cs{Large} (to change size of + the \meta{answer} and \meta{text} (the value of \texttt{boxpretext}). Several formatting commands can appear + as the value; thus, \verb!format={\bfseries\Large}! makes the answer, when \texttt{answerkey} is in effect, appear in large bold font. + The default is \verb!format={\fillInFormatDefault}!, where the definition of the command \cs{fillInFormatDefault} is +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\fillInFormatDefault}{\bfseries} +\end{Verbatim} +\end{description} +The next three keys apply when a \texttt{boxed} option is not taken, that is, they +apply to the case of \texttt{u} (\texttt{underlined}) or \texttt{b} (blank). The keys were designed +for the \texttt{underline} option, however. +\begin{description} +\item[\texttt{lift}:] The syntax is \texttt{lift=length} This key lowers the underline without changing the baseline reference +point of the content. For example, \texttt{lift=10pt} lowers the underlining by \texttt{10pt}. +\begin{equation*} +\frac{1}{2}+\frac{1}{3} = \underbar{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}} +\qquad +\frac{1}{2}+\frac{1}{3} = \raisebox{-10pt}{\underbar{\raisebox{10pt}{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}}}} +\end{equation*} +The expression on the right corresponds to +\begin{Verbatim}[xleftmargin=\amtIndent] +$...\fillin[lift=10pt]{1in}{\frac{3}{4}}...$ +\end{Verbatim} +The underline is lowered to include the baseline of the denominator of the fraction. + +\item[\texttt{autolift}:] The \texttt{autolift} key takes the guesswork + out of the \texttt{lift}. When \texttt{autolift} is used, the depth of + the content of the answer field. For example, with the \texttt{autolift} key, + \verb!\fillin[autolift]{1in}{\frac{3}{4}}! yields + {\setbox0=\hbox{$\displaystyle\frac{3}{4}$} + \raisebox{-\dp0}{\underbar{\raisebox{\dp0}{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}}}}}. + Now the fraction is exactly underlined. + +\item[\texttt{addtoautolift}:] The \texttt{addtoautolift} key is a companion to \texttt{autolift}. + If we assign \texttt{addtoautolift=3pt}, \texttt{3pt} additional lift is added + to the amount of lift determined by \texttt{autolift}. For example, +\begin{small}% +\begin{equation*} +\setbox0=\hbox{$\displaystyle\frac{3}{4}$} +\dimen0=\dp0 \advance\dimen0by3pt + \verb!\fillin[autolift,addtoautolift=3pt]{.5in}{\frac{3}{4}}!\ \text{yields}\ + \raisebox{-\dimen0}{\underbar{\raisebox{\dimen0}{\makebox[.5in]{\ensuremath{\displaystyle\frac{3}{4}}}}}} +\end{equation*} +\end{small}% +the number three-fourths is underlined plus \texttt{3pt} more. +\end{description} +The keys are processed by an \cs{edef}, this allows you to define a +command with your favorite options; for example, you can define +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\myBoxOpts}{boxed,boxsize=Large,align=l} +\end{Verbatim} +then in the exam, type +\begin{Verbatim}[xleftmargin=\amtIndent] +$\frac{\sqrt{-18}}{\sqrt{6}}=\fillin[\myBoxOpts]{1.5in}{3\imath}$ +\end{Verbatim} + +% dps Need to revise this section, I've changed how \fillin works. + +\paragraph*{\cs{fillin} boxed.} When the \texttt{boxed} key is used, +the \cs{boxed} command of \texttt{amsmath} is used; This command needs to +be in math mode. If the \texttt{boxed} key is used and the \cs{fillin} +command is in math mode, then \cs{fillin} puts the \meta{answer} and +\texttt{boxpretext} in math mode too; if \cs{fillin} command \emph{not in +math mode} (i.e., it is in text mode), \cs{fillin} typesets the +\meta{answer} and \texttt{boxpretext} in text mode. For example, +\begin{Verbatim}[xleftmargin=\amtIndent] +Let $ x = 4 $ and $ y = -3 $ and let $ z = 2x - 4y $ then + $\fillin[boxed,align=l,boxpretext={z=}]{1in}{20}$ +\end{Verbatim} +When \texttt{answerkey} is used, the above question appears as +\begin{quote} +Let $ x = 4 $ and $ y = -3 $ and let $ z = 2x - 4y $ then + \fbox{\makebox[1in][l]{$ z=20 $ }} +\end{quote} +Here is an example in text mode +\begin{Verbatim}[xleftmargin=\amtIndent] +The first president of the US is + \fillin[boxed,align=c]{1.5in}{Washington} +\end{Verbatim} +When \texttt{answerkey} is used, the above question appears as +\begin{quote} +The first president of the US is + \fbox{\makebox[1.5in][c]{Washington}} +\end{quote} +Here is an example of mixed mode +\begin{Verbatim}[xleftmargin=\amtIndent] +The width of a rectangle is 20 feet and length is 15 feet. +Find the area: $\fillin[boxed,align=l, + boxpretext={\text{Area: }}]{1in}{300\,\text{feet}}$ +\end{Verbatim} +The answer is typeset in math mode, but the value of \texttt{boxpretext} +needs to be typeset in text mode. When \texttt{answerkey} is used, the +above question appears as +\begin{quote} +The width of a rectangle is 20 feet and length is 15 feet. +Find the area: \fbox{\makebox[1in][l]{Area: $300\,\text{feet}$}} +\end{quote} + +\paragraph*{\cs{fillin} not boxed.} The \cs{fillin} command will typeset +the answer in math mode if \cs{fillin} is in math mode, and in text mode, +otherwise. For example, each of the following typesets the same. +\begin{Verbatim}[xleftmargin=\amtIndent] +The area of a circle of radius $2$ is \fillin[u]{.5in}{$4\pi$} +The area of a circle of radius $2$ is $\fillin[u]{.5in}{4\pi}$ +\end{Verbatim} + +\subsubsection{\texorpdfstring{\protect\cs{fillineol}}{\CMD{fillineol}}: Fill-in to end-of-line} + +The \cs{fillineol} is a variant of \cs{fillin}, its main feature is that the +width parameter of the \cs{fillin} command is automatically calculated to the +end of the line. +\settowidth{\aebdimen}{\small\ttfamily\string + \fillineol*\darg{\ameta{phrase}}[\ameta{fillin-opts}]\darg{\ameta{answer}}}% +\begin{dCmd}[commandchars=!(),fontsize=\small]{\aebdimen+2\fboxsep+2\fboxrule} +\fillineol*{!ameta(phrase)}[!ameta(fillin-opts)]{!ameta(answer)} +\end{dCmd} +\fillineol{Calculus originator, Isaac }[boxed,align=l,boxsize=Large]{Newton} +\begin{Verbatim}[fontsize=\small] +\fillineol{Calculus originator, Isaac }[boxed,align=l,boxsize=Large]{Newton} +\end{Verbatim} +The star-option allows \ameta{phrase} to contain verbatim text; in this case, +the \textsf{collectbox} package is required. + +The \cs{fillineol} command takes the \ameta{phrase}, measures its width, and +uses the result as the value of \ameta{width} in the \cs{fillin} command. +Usually, the \ameta{phrase} occurs at the beginning of the sentence. However, +that is not always convenient. + +For this next example, the fill-in occurs at the end of the sentence, which +wraps around to the next line. Enter the name of your professor for the +course you are cur\-\fillineol{rently taking, his name is }{Dr.\ D. P. Story} + +\exAeBBlogPDF{p=1356} The demo file for this feature is named +\texttt{\href{\urlAcroTeXBlog/?p=1356}{fillineol.pdf}}, found on the {\AcroTeX} Blog website. + + +\subsection{Vertical Space Fill Types}\label{ss:VSFT} + +When the \texttt{nosolutions} or the \texttt{vspacewithsolns} is used, a +vertical space is generated by the \texttt{solution} environment. Previously, +this has just been a vertical white space, now, we provide the ability to +fill the space with horizontal rules of different types.\footnote{The filler +line feature has been rewritten and extended from previous versions of +\pkg{eqexam}.} + +%\redpoint The demo file for these features is \texttt{hw03.tex}. + +\exAeBBlogPDF{p=1222} The demo file for this feature is named +\texttt{\href{\urlAcroTeXBlog/?p=1222}{hw03.pdf}} + + +\newtopic There are two sets of commands. +\settowidth{\aebdimen}{\ttfamily\string\useFillerDefault} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\useFillerLines +\useFillerDefault +\end{dCmd} +\noindent The first command sets the code to draw rule lines in the +vertical white space, the second command reverts back to the default, +plain vertical white space. + +\begin{comment} +\newtopic The next set of commands determine the type of line to be drawn +in the white space. +\settowidth{\aebdimen}{\ttfamily\string\fillTypeDashLine} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\fillTypeHRule +\fillTypeDashLine +\fillTypeDots +\fillTypeDefault +\end{dCmd} +\noindent The rule types are in the order listed: draw solid horizontal lines; draw +dashed lines; draw dotted lines; draw the default line type (\cs{fillTypeHRule)}. + +\newtopic These two command determine color of the lines, and the spacing between lines. +\settowidth{\aebdimen}{\ttfamily\string\eqWriteLineColor\darg{\meta{named\_color}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\eqWriteLineColor{!meta(named_color)} +\eqWLSpacing{!meta(length)} +\end{dCmd} +\noindent The default color is \texttt{gray} and the default vertical +spacing between lines is +\texttt{14pt}. +\end{comment} + +The \cs{setFillLinesFmt} command is used to set the design parameters +of filler lines. +\settowidth{\aebdimen}{\ttfamily\string\setFillLinesFmt\darg{\meta{KV-pairs}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\setFillLinesFmt{!meta(KV-pairs)} +\end{dCmd} +There is an extensive list of key-value pairs. + +\begin{comment} +%The default values are shown in parentheses above. +%The \cs{eqWLSpacing} command sets the length register \Com[, length\ipkg{eqexam}|textbf]{wlVspace} +%to its argument \meta{vskip}; \cs{wlVspace} is the vertical space between lines. +% +%The \cs{eqWriteLineColor} command passes a color to the fill lines. +% +%Properties of fill lines are set through key-value pairs of the command +%\cs{fillLinesNumFmt}; the properties are not local, but continue to be +%applied until they are explicitly changed. The properties are, +%\bVerb\columnseprule0pt\columnsep0pt +\end{comment} + +\newtopic\noindent +\textbf{Key-value pairs of \cs{setFillLinesFmt}.} These key-values +document-wide scope \emph{if not declared within a group}. + +\begin{description} +\item[\texttt{fltype=\ameta{\upshape{line|dash|dots|blank|grid}}}] When the + value of \texttt{fltype} is different from \texttt{grid}, the key + determines the type of horizontal line drawn (including a + ``blank'' line); when \texttt{fltype=grid}, the type of line drawn is + determined by \texttt{gridtype}, described below. The default + is \texttt{line}. + + When \texttt{fltype=grid} and neither \texttt{bgonly} nor + \texttt{outlineonly} are specified, a grid is drawn consisting of + horizontal and vertical lines. The thickness of the lines drawn is + determined by the length. The + default is \cs{setlength\darg{\string\flfboxrule}\darg{.4pt}}. Any dotted + line is unaffected by the value of \cs{flfboxrule}. +\end{description} +The rest of the keys are listed in alphabetical order. The \texttt{fltype} key +is separated out due to its importance. +\begin{description} + +%\item[\texttt{fontfamily=\anglemeta{family}}{\sIndexttKey[\ipkg{web}|textbf]{fontfamily}}] +% Font family to use for section titles, permitted values are +% \texttt{rmfamily}, \texttt{sffamily}, \texttt{ttfamily}. + +\item [\texttt{align=\ameta{\upshape{default|left}}}] This key sets the + horizontal alignment of the filler lines; a key-value of + \texttt{align=default} is the natural way of aligning the filler lines, + while \texttt{align=left} shifts the lines to the left margin. The + default is \texttt{default}, \texttt{align} is equivalent to + \texttt{align=default}. + +% Refer to the paragraph \textbf{\nhnameref{para:fl-align}} on +% page~\pageref{para:fl-align} and Example~\ref{exmpl:aligntypes} that +% follows it. + +\item [\texttt{bgcolor=\ameta{named\_color}}] The color of the background, + when \texttt{bgonly} is in effect. + +\item [\texttt{bgonly*=\ameta{\upshape{true|false}}}] When the key is set to + true, \pkg{eqexam} colors the targeted region with the color determined + by the \texttt{bgcolor} key. This key\FmtMP{\texttt{fltype=grid} + required} is \emph{ignored} unless \texttt{fltype=grid}. + + If \texttt{bgonly[=true]} is declared, \texttt{bgonly=false} must be + declared later to turn off this effect, as \pkg{eqexam} cannot determine + the intention. If the star-form is used (\texttt{bgonly*[=true]}), + \texttt{bgonly} is automatically set to false after the next region is + drawn. + Use the \texttt{bgonly} key to create backgrounds for several consecutive + regions. Use the \texttt{bgonly*} form of the key for a single region. +% See Problem~1\,(g) of Example~\ref{exmpl:fillertypes}. + +% for example, \setFillLinesFmt{fltype=grid,bgonly} then later we say +% \setFillLinesFmt{fltype=grid,gridtype=dash}, do we continue with bgonly, +% or switch over to a true grid? + +\item [\texttt{equalcells=\ameta{\upshape{true|false}}}] This key is only + effective when \texttt{fltype=grid}, but the keys \texttt{bgonly} and + \texttt{outlineonly} are both false. When the key \texttt{equalcells} (or + the key-value \texttt{equalcells=true}) is specified, grid cells of equal + width are drawn; the total width of a row may not be equal to the + \cs{linewidth}, however. The key is initially set to \texttt{false}. + +% An example of the default (cells not necessarily equal) is found in +% problem 1\,(\ref{item:gridtype}) on page~\pageref{item:gridtype}. + + The command versions of this key may also be expanded explicitly; these are + \Com[\ipkg{eqexam}|textbf]{equalCellSizesOn} and + \Com[\ipkg{eqexam}|textbf]{equalCellSizesOff}. + +\item [\texttt{color=\ameta{named\_color}}] The value of the \texttt{color} + key sets the color to be used when drawing filler lines (both horizontal + and vertical). + +\item [\texttt{gridtype=\ameta{\upshape{line|dash|dots}}}] The value of + the key \texttt{gridtype} determines the line type when + \texttt{fltype=grid}, otherwise, the value of this key is ignored. Values + of \texttt{line} and \texttt{dash} obey the value of \cs{flfboxrule}. + +\item [\texttt{linegap=\ameta{dimen}}] The ``gap'' between two horizontal or + vertical lines; the \texttt{linegap} key sets the length register \Com[, + length\ipkg{eqexam}|textbf]{wlVspace}\FmtMP{the gap is \cs{wlVspace}} to + \ameta{dimen}. This key executes the command + \Com[\ipkg{eqexam}|textbf]{eqWLSpacing}\texttt{\darg{\ameta{dimen}}}. The + default is 14pt. + +\item [\texttt{numbers=\ameta{\upshape{none|left|right}}}] The + \texttt{numbers} key controls whether the lines are numbered and their + relative position to the line; the default is not to number the lines (\texttt{numbers=none}). + +\item [\texttt{numbersep=\ameta{dimen}}] The value of \texttt{numbersep} sets + the separation between the line and the number, the default is 2pt. + +\item [\texttt{numfmt=\ameta{num-fmt}}] This key-value pair formats the line + numbers. Within the value \ameta{num-fmt}, the macro \cs{flnum} refers + to the number itself; for example,\[ + \texttt{numfmt=\string\textcolor\darg{red}\darg{\string\flnum}}\] + produces red line numbers. The initial declaration for + this key is \texttt{numfmt=\cs{flnum}}, which creates a black line + number. + + The font size\FmtMP{font size of the numbers} of the line numbers is + \cs{tiny}, but this can be overwritten by incorporating a size into the + \texttt{numfmt} (\texttt{numfmt=\string\small\string\flnum}). + +%\promoteNewPage[2\baselineskip] + +\item [\texttt{outlineonly*=\ameta{\upshape{true|false}}}]\label{item:outlineonly} If this key is + true\FmtMP{\texttt{fltype=grid} required}, an outline of the region is drawn using line type determined by + \texttt{gridtype}. This key is \emph{ignored} unless + \texttt{fltype=grid}. + + If \texttt{outlineonly[=true]} is declared, \texttt{outlineonly=false} + must be declared later to turn off this effect, as \pkg{eqexam} cannot + determine the intention. If the star-form is used + (\texttt{outlineonly*}), \texttt{outlineonly} is automatically set + to false after the next region is drawn. Use the \texttt{outlineonly} key + to create backgrounds for several consecutive regions. Use the + \texttt{outlineonly*} form of the key for a single region. + +% See Problem +% 1\,(f) of Example~\ref{exmpl:fillertypes} for an illustration of this feature. + +\item [\texttt{topline=\ameta{\upshape{true|false}}}] If true, \pkg{eqexam} + draws an extra horizontal line above the topmost line. Any vertical lines + are extended to meet this additional line. + +% See Problem 1\,(b) of Example~\ref{exmpl:fillertypes}. +\end{description} + +\begingroup + +%\writeToSolnFile{^^J\protect\iffalse^^J}% + + +\useFillerLines +\turnflnosolnsOn +\turnContAnnotOn +\setFillLinesFmt{fltype=line,numbers=left} + +\noindent +The following is an example of filler lines under the \env{nosolutions} assumption. +\separationruleOff +\chngToNoSolns +%\solutionsonlytrue +\RecordThisExamOff +\begin{exam}[Filler Lines 1]{fl1} +\begin{problem} +Expound on all you know on the subject. +%\priorworkareaCmds{\baselineskip\wlVspace} +\begin{priorworkarea}\baselineskip\wlVspace +When the \opt{flextended} option is not in force, these three lines are blank. However, in this example, +\opt{flextended} is active, and I can write to these lines. Refer to `\nameref{sss:flxtnd}' below. +\end{priorworkarea} +\begin{solution}[42pt] +Your guess is as good as mine. +\end{solution} +\end{problem} + +\turnflnosolnsOff +\setFillLinesFmt{fltype=grid,gridtype=line,numbers=right,topline,color=lightgray} + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +Essay area. +\end{priorworkarea} +\begin{solution}[\sameVspace] +Your guess is as good as mine. +\end{solution} +\belowexskip{0pt} +\end{problem} +%\belowsqskip{\vskip0pt} +\end{exam} +\noindent +The verbatim listing of this example is presented and discussed in the next section. + +%\writeToSolnFile{\protect\fi^^J}% +\endgroup \therearesolutionsfalse % do not record this as a solution at the end + +\subsubsection{On the \texttt{flextended} option}\label{sss:flxtnd} + +The \texttt{flextended} option brings in code that extends filler lines. It +defines one new environment \env{priorworkarea}, and several commands. One +significant enhancement is the ability to write to the lined regions in the +\opt{nosolutions}\FmtMP{\opt{nosolutions}}, \opt{vspacewithsolns}\FmtMP{\opt{vspacewith\-solns}}, and +\env{answerkey} options are in effect. + +The contents of the \env{priorworkarea} environment will be superimposed on the filler lines +when the \opt{nosolution} or \opt{vspacewithsolns} option is in effect. It is placed prior to +the \env{solution} environment. +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\begin{priorworkarea} +!quad!ameta(content) +\end{priorworkarea} +\begin{solution}[!meta(vspace)] +!quad!ameta(solution) +\end{solution} +\end{Verbatim} +For the \ameta{content} to be superimposed on the vertical space specified by +the optional parameter \meta{vspace} of the \env{solution} environment, +\cs{useFillerLines} must be in force and \cs{turnflnosolnsOn} must be +expanded prior to the statement of the problem. (Turn off the writing to the +vertical space with \cs{turnflnosolnsOff}). +The verbatim listing of the example above, which does use the +\opt{flextended} option as well as the \env{priorworkarea} +environment is presented below. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\begin{exam}{fl1}\chngToNoSolns + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea}\baselineskip\wlVspace +When the \texttt{flextended} option is not in force, these three +lines are blank. However, in this example, \textsf{flextended} is +active, and I can write to these lines. Refer to ... +\end{priorworkarea} + +\begin{solution}[nLines=3] +Your guess is as good as mine. ... +\end{solution} +\end{problem} + +\turnflnosolnsOff +\setFillLinesFmt{fltype=grid,gridtype=line, + numbers=right,topline,color=lightgray} +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +Essay area. +\end{priorworkarea} + +\begin{solution}[nLines=3] +Your guess is as good as mine. +\end{solution} +\end{problem} +\end{exam} +\end{Verbatim} + +%\vspace{3\wlVspace} + +For the \opt{answerkey} option\FmtMP{\opt{answerkey}}, content of the +\env{solution} environment is written to the vertical space allotted by is +optional parameter, \meta{vspace}. As with \env{priorworkarea} there is a +gatekeeper command \cs{turnflanskeyOn}. For the content to be written to the +vertical space, \cs{userFillerLines} and \cs{turnflanskeyOn} must be +expanded. To turn off writing to the vertical space, expand +\cs{turnflanskeyOff}. + +\newtopic\noindent +The last example is repeated, but under the assumption of the \opt{answerkey} option. + +\useFillerLines +\turnflanskeyOn +\turnContAnnotOn +\DoNotFitItIn +\acvspace{2\wlVspace} + +\fvsizeskip{.1} +\noExamTitleInSolns +\begin{exam}[Filler Lines 2]{fl2}\AnswerKey +\flPageBreakMsg{\textbf{Problem~{\eqeCurrProb} continues on next page\strut}}% + +\begin{problem} +Expound on all you know on the subject. +%\priorworkareaCmds{\baselineskip\wlVspace} +\begin{priorworkarea}\baselineskip\wlVspace +When the \opt{flextended} option is not in force, these three lines are blank. However, in this example, +\opt{flextended} is active, and I can write to these lines. Refer to `\nameref{sss:flxtnd}' below. +\end{priorworkarea} +\solutionafterExCmds{\baselineskip\wlVspace + \parindent\wlVspace}%\tweakBreakPoint{5pt} +\begin{solution}[nLines=10] %\baselineskip\wlVspace\parindent\wlVspace +Your guess is as good as mine. The content has the capability of breaking across pages. + +I've added more lines because this problem has a chance breaking across a page boundary. +Let's prattle on until we go to the next page.\vspace{2\baselineskip} + +We'll jump down a couple of lines cause I don't have much to say. Gotta keep +going to get to the next page. If all works as it should, I'll see you one +the other side! Perfect! As mentioned in the `\nameref{sss:BAP}' below. There +are limitations to this wonder. +\end{solution} +\end{problem} + +\turnflnosolnsOff +\setFillLinesFmt{fltype=grid,gridtype=line,numbers=right,topline,color=lightgray} + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +Essay area. +\end{priorworkarea} +\begin{solution}[42pt] +Your guess is as good as mine. +\end{solution} +\end{problem} +All in all, this is very cool. +\belowsqskip{\vskip0pt} +\end{exam} + + +\subsubsection{Breaking across pages}\label{sss:BAP} +When the vertical space of the \env{solution} environment is filled with +filler lines (assuming \cs{useFillerLines} is in force), \emph{the lines and the +content can break across pages}, provided the content is not within a box. It +has limited capabilities of breaking across columns (for +\texttt{fltype=line|dash|dots}), but when the \opt{flextended} option is in +effect, may fail dramatically at superimposing the content over the filler +lines. + +When \cs{turnContAnnotOn} is expanded prior to the problem, should the fill +lines break across a page boundary, the annotation string +(\Com[\ipkg{eqexam}]{annotContStr}) appears at the top of the next page. The +topic of annotating solutions is taken up again in the next section. + +\subsubsection{Annotating a continuing problem with +\texorpdfstring{\cs{useFillerLines}}{\CMD{\useFillerLines}}}\label{para:cnwithFL} + +When the command \Com[\ipkg{eqexam}]{useFillerLines} is expanded, any vertical +space declared with the optional argument of \env{solution} is created one +line at a time. Just before each of the lines is drawn, two commands are +expanded, the first just prior to the a page break, if one occurs, and the +second just after the page break, if one occurs. The second command is the internal +version of \Com[\ipkg{eqexam}]{insertContAnnot}, the first command is accessed through +the command \cs{priorPageBreakMsg}. +\settowidth{\aebdimen}{\ttfamily\string\priorPageBreakMsg\darg{\meta{msg}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\priorPageBreakMsg{!meta(msg)} +\flPageBreakMsg{!meta(msg)} +\end{dCmd} +The \cs{priorPageBreakMsg} command allows you to insert \meta{msg} at the +beginning of each line, but does not determine whether a page break is near. +The \cs{flPageBreakMsg} command, which uses both \cs{priorPageBreakMsg} and +\Com[\ipkg{eqexam}]{emitMessageNearBottom}, is the appropriate vehicle for +writing \meta{msg} just prior to a page break. Its definition is found next. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\newcommand{\flPageBreakMsg}[1]{% + \priorPageBreakMsg{\emitMessageNearBottom[\iacvspace] + {\eqfititin{{\Large\strut}#1}}}} +\end{Verbatim} +The command may be redefined for your needs. Notice that the star-option of +the command \cs{emitMessageNearBottom} \emph{is not taken}, so the command does not +create a new page if near the bottom, but it does create a message +(\texttt{\#1}). The optional argument of \cs{emitMessageNearBottom} is set to +\texttt{\cs{iacvspace}}, this is the interpretation of `near the bottom' of +the page. A recommended value for \cs{iavspace} is \texttt{2\cs{wlVspace}} +(\cs{acvspace\darg{2\cs{wlVspace}}}). A typical declaration might be, +\begin{Verbatim}[xleftmargin=15pt,fontsize=\small,commandchars=!()] +% Set \iacvspace for \insertContAnnot and \emitMessageNearBottom +\acvspace{2\wlVspace} %!sffamily(<-- the recommended value) +\flPageBreakMsg{\textbf{Problem~{\eqeCurrProb}!lp(\thepartno)!rp\space + continues on next page}} +\end{Verbatim} +At the top of the next page the \cs{annotContStr} string appears as well. + +\subsection{Keep vertical space with \texttt{answerkey}} + +One thing that has bothered me in my efforts to create the ``perfect'' +exam package, is the differences in vertical spacing between the exam the +student sees (which is compiled with the \texttt{nosolutions} option), and +the solutions document the instructor sees (as compiled with the +\texttt{answerkey} option). The differences in vertical space of the two +documents makes it harder for the eye to move from the student's exam to +the answer key document and back again. In the past, I've used +\cs{aNewPage} or \cs{qNewPage} to force page breaks so that the page +breaks of the two document match, this makes it easier to get one page at +a time. + + +Below is a simple example to illustrate the above points. In the example below, +we simulate +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{solution}[1in] +$ x+1 = 4 \implies x = 3 $ +\end{solution} +\end{Verbatim} +\begin{flushleft} +\setlength{\fboxsep}{0pt} +\begin{tabular}{@{\hskip\leftmargini}cc} +\texttt{nosolutions} & \texttt{answerkey}\\ +\fbox{\parbox[t][1in]{.4\linewidth}{\strut\kern0pt\vfill\hfill}}& +\fbox{\parbox[t]{.4\linewidth}{\strut\textit{Solution:} $ x+1 = 4 \implies x = 3 $}}\\ +\end{tabular} +\end{flushleft} +We have put an \cs{fbox} around the vertical space so you can see the +bottom of the vertical space, and better appreciate the point I am trying +to make. When \texttt{nosolutions} is in effect, a vertical space of 1 +inch is created; when the \texttt{answerkey} is used, the vertical spacing +is ignored, and the solution is typeset, as shown above. Notice the +difference in the vertical spacing between the two. + +The \textsf{eqexam} package now attempts to build the solution environment +so the vertical spacing is (roughly) the same. +\settowidth{\aebdimen}{\ttfamily\string\vspacewithkeyOff} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\vspacewithkeyOn +\vspacewithkeyOff +\end{dCmd} +\noindent The first command turns on this new feature---the feature of trying to +place the vertical spacing in the \texttt{answerkey} mode as requested by +the optional argument of the \texttt{solution} environment. The second +one, \cs{vspacewithkeyOff} (the default) turns off this new feature, and +reverts to the old behavior of \textsf{eqexam}. + +Here is a representation of the effects of the command \cs{vspacewithkeyOn}. + +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{solution}[1in] +$ x+1 = 4 \implies x = 3 $ +\end{solution} +\end{Verbatim} +\begin{flushleft} +\setlength{\fboxsep}{0pt} +\begin{tabular}{@{\hskip\leftmargini}cc} +\texttt{nosolutions} & \texttt{answerkey}\\ +\fbox{\parbox[t][1in]{.4\linewidth}{\strut\kern0pt\vfill\hfill}}& +\fbox{\parbox[t][1in]{.4\linewidth}{\strut\textit{Solution:} $ x+1 = 4 \implies x = 3 $\hfill\vfill}}\\ +\end{tabular} +\end{flushleft} +As you can see, the vertical spacing with solutions is the same as +without, the page breaks should be the same, and the positioning of the problems should be +(roughly) the same throughout the test. + +\newtopic The commands \cs{vspacewithkeyOn} and \cs{vspacewithkeyOff} may +be used anywhere (between problems or parts), but normally, one would put +\cs{vspacewithkeyOn} in the preamble. + +\subsection{Annotating a Continuing Problem with Parts} + +% http://www.acrotex.net/blog/?p=698 +% Annotating a Continuing Problem with Parts, and Page totals +The demonstration file for this feature is +\begin{equation*} +\textsl{\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=698}{Annotating a +Continuing Problem with Parts, and Page totals}}} +\end{equation*} +found at the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{} Blog}} + +\newtopic A situation often encountered is when a problem with parts crosses a page +boundary; the problem continues on the next page without any annotation. +This feature works to insert a text string at the top of the next page, a +string that gives the reader (student) the context of the part. + +\medskip\noindent +\begin{minipage}{\linewidth} +\begin{minipage}[t]{.5\linewidth-5pt} +\emph{(Page 2)}\\ +\textbf{4.} Solve each of the following. +\begin{enumerate} +\item[(a)] Solve this +\item[(b)] Solve this +\end{enumerate} +\end{minipage}\hfil\vrule\hfill +\begin{minipage}[t]{.5\linewidth-10pt} +\emph{(Page 3)}\\ +\textbf{Problem~4 continued.} +\begin{enumerate} +\item[(c)] Solve this +\item[(d)] Solve this +\end{enumerate} +\end{minipage} +\end{minipage} +\newtopic Above is an illustration of how this feature works. + +%the default string is \textbf{Problem \texttt{} continued.} + +\settowidth{\aebdimen}{\ttfamily\string\turnContAnnotOff} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\turnContAnnotOff +\turnContAnnotOn +\end{dCmd} +\noindent The feature may be turned off and on using the above two commands. These +commands are usually in the preamble, but they can appear between problems +or between \texttt{exam} environments. + +\newtopic The annotatation text that appears is determined by the definition of +\cs{annotContStr}. +\begingroup\obeyspaces% +\settowidth{\aebdimen}{\ttfamily \string\textbf\darg{Problem\string~\string\eqeCurrProb\string\space continued.}\}}% +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\newcommand{\annotContStr}{% + \textbf{Problem~\eqeCurrProb\space continued.}} +\end{dCmd} +\endgroup\noindent where \cs{eqeCurrProb} is the current problem number. +\cs{annotContStr} may be redefined, but be sure to include the problem +number \cs{eqeCurrProb}. + +The insertion of the continuation annotation uses the \cs{promoteNewPage} command, see +Section~\ref{aqpNewPage} on page~\pageref{aqpNewPage} for a description of this command. + +\settowidth{\aebdimen}{\ttfamily\string\newcommand\darg{\string\ic@vspacedefault}\darg{1in}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\acvspace{!meta(vspace)} +\resetacvspace +\newcommand{\ic@vspacedefault}{1in} +\end{dCmd} +\noindent The above three lines describes some commands for controlling the +generation of a new page through the use of \cs{promoteNewPage}. The first +one \cs{acvspace} defines the value of the length +\cs{iacvspace}\FmtMP{\cs{iacvspace}}, which is used to set the option +parameter of \cs{promoteNewPage}. The default value for promoting a new page +is \texttt{1in}, as defined by \cs{ic@vspacedefault}, which can be +redefined. The command \cs{resetacvspace} resets the optional argument of +\cs{promoteNewPage} back to its default. All definitions are local, so the +revert to their original values when a group is exited. + +\paragraph*{Automatic annotation.}\label{para:autoAnnot}\leavevmode +\index{annotating a continuing problem!automatic}% +Just prior to an \cs{item} within a \env{parts} environment\FmtMP{for items +in a \env{parts} env.}, the command \Com[\ipkg{eqexam}]{promoteNewPage} is +expanded with optional argument of \cs{iacvspace} in this case. This command +calculates the amount of space remaining on the page, if it is less than +\cs{iacvspace}, a \cs{newpage} is emitted and \cs{annotContStr} is typeset at +the top of the next page. As a result of this algorithm, if there is more +space than \cs{iacvspace}, but a page break occurs by the {\TeX} page +breaking algorithm, the continuation string does not +appear.\footnote{Remember, after each \cs{item} a \env{solution} environment +may request vertical space for the student to do his work.} If you don't get +the continuation annotation at the page break, change \cs{iacvspace} +(possibly to a smaller value) through its \cs{acvspace} interface command. + +When the \Com[\ipkg{eqexam}]{useFillerLines} command is used, there are +additional automatic automation commands, refer to the paragraph +\textbf{\nhnameref{para:cnwithFL}} on page~\pageref{para:cnwithFL}. + +\paragraph*{Manual annotation.}\label{para:manAnnot}\leavevmode +\index{annotating a continuing problem!automatic}% +There are two commands for manually inserting +annotations into the document. +\settowidth{\aebdimen}{\ttfamily\string\emitMessageNearBottom*[\meta{vspace}]\darg{\meta{msg}}}% +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\insertContAnnot[!meta(vspace)] +\emitMessageNearBottom*[!meta(vspace)]{!meta(msg)} +\end{dCmd} +For both commands, the default value for the optional argument \meta{vspace} +is \cs{iacvspace}. Both commands start with a \cs{par}, meaning they must be +in vertical mode to work, so they should not be used within a paragraph. Each +command determines the amount of space left (\meta{spaceleft}) on the page. + +For \cs{insertContAnnot}, if $\meta{spaceleft} < \meta{vspace}$, a +\cs{newpage} command is expanded and the continuation string +\cs{annotContStr} is inserted at the top of the next page; otherwise, it does +nothing. + +The action of \cs{emitMessageNearBottom} is similar but it \emph{does not +insert} start a new page (\cs{newpage}) unless the star-option (\texttt*) is +specified. If $\meta{spaceleft} < \meta{vspace}$, then \meta{msg} is typeset +(at the bottom of the page). If the star-option is specified, a \cs{newpage} +is invoked and \cs{annotContStr} is typeset at the top of the next page. + +\subsection{The Exam Record}\label{examrecord} + +% http://www.acrotex.net/blog/?p=703 +% The Exam Record on the Cover Page + +The demonstration file for this feature is +\begin{equation*} +\textsl{\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=703}{The Exam Record on the Cover Page}}} +\end{equation*} +found at the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{} Blog}} + + +\newtopic When choose the \texttt{coverpage} option and the \texttt{coverpagesumry} option is set to either +\texttt{byparts} or \texttt{bypages}, you get an \textbf{Exam Record} appearing on the cover page. +See Figure~\ref{fig:ExamRecord}, page~\pageref{fig:ExamRecord}. + +There are several commands that can be used to customize the layout of the \textbf{Exam Record} +\begin{Verbatim}[xleftmargin=\amtIndent,numbers=left] +\eqeSumryHoriz +\eqeSumryVert +\end{Verbatim} +These two commands arrange the \textbf{Exam Record} +relative to the student/instructor information. The former is a horizontal +arrangement, the latter is a vertical arrangement, \cs{eqeSumryVert} is the default. + +\newtopic Below are several text commands for customizing the text in the \textbf{Exam Record} +box: +\begin{Verbatim}[xleftmargin=\amtIndent,numbers=left] +\newcommand{\cpSumryHeader}{\textbf{Exam Record}} +\newcommand{\cpSumryPts}{\,\text{pts}} +\newcommand{\cpSumryPage}{Page} +\newcommand{\cpSumryTotal}{Total:} +\newcommand{\cpSumryGrade}{Grade:} +\cpSetSumryWidth{.5\linewidth} +\end{Verbatim} +The meanings of numbers~(1)--(5) are apparent from Figure~\ref{fig:ExamRecord}, page~\pageref{fig:ExamRecord}, +where these strings are on display. Number~(6) determines the width of the \textbf{Exam Record}, its default +is half the \cs{linewidth}. + +\newtopic The \textbf{Exam Record} by default is enclosed in an \cs{fbox}, use the command +\cs{cpNofbox} in the preamble to remove this enclosing box. + +\newtopic\textbf{Naming conventions for \texttt{byparts}.} When +\texttt{coverpagesumry=byparts}, there are several naming options +available. The default name of each part is the exam name (the required +argument of the \texttt{exam} environment. By specifying +\cs{useUIPartNames} in the preamble, the user friendly name is used (the +one that appears as the optional first argument of the \texttt{exam} +environment. The user friendly names are used when the solutions are +listed in the back of the document (for example, when the option +\texttt{vspacewithsolns} is specified). These user-friendly names may be too wide +to put in the \textbf{Exam Record}, in this case, you can executed +\cs{useCustomPartNames} in the preamble. This allows you to define your own names +that are to appear in the \textbf{Exam Record}. To define your custom names, use +the \cs{customNaming} command: +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=+\(\)] +\customNaming{+meta(name)}{+meta(text)} +\end{Verbatim} +where, \meta{name} is the name of the exam, and \meta{text} is the text to appear +in the \textbf{Exam Record}. For example, the following definitions might be made +for a two part final exam, the first part the instructor is free to pose questions, +the second part are Department supplied questions. +\begin{Verbatim}[xleftmargin=\amtIndent] +\customNaming{Part1}{Instr Qs:} +\customNaming{Part2}{Dept Qs:} +\end{Verbatim} + +\subsection{Calculate problem range between two markers} + +I have defined the command In response to a user who wanted more +information about problem ranges between two marks, the command +\cs{calcQsBtwnMarkers} is the proposed solution. The syntax is\dots +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=+\(\)] +\calcQsBtwnMarkers[+meta(Mrk2)]{+meta(Mrk1)} +\end{Verbatim} +The required parameter (\meta{Mrk1}) is called the \emph{primary mark}. +The command defines a number of other commands based on the primary +mark name. \cs{calcQsBtwnMarkers} calculates the first and +last problem numbers of the questions between the command +\cs{calcQsBtwnMarkers} that has \meta{Mrk1} as its \emph{primary marker} and +another command \cs{calcQsBtwnMarkers} that has \meta{Mrk2} as its \emph{primary +marker}. The names of the commands produced are all based in the primary +marker name \meta{Mrk1}. + +\newtopic As mentioned above, there are several other commands +\cs{calcQsBtwnMarkers} defines. +\cs{calcQsBtwnMarkers[\meta{Mrk2}]}\verb!{!\meta{Mrk1}\verb!}! defines the +following commands: +\begin{itemize} + +\item \cs{\meta{Mrk1}Start} is the first question number that follows the placement +of the command \cs{calcQsBtwnMarkers} with \meta{Mrk1} as its primary marker. + +\item \cs{\meta{Mrk1}End} is the last question number between two +\cs{calcQsBtwnMarkers} commands having \meta{Mrk1} and \meta{Mrk2} as their +primary marks. + +\item \cs{\meta{Mrk1}nQs} is the number of questions appearing +between \cs{calcQsBtwnMarkers} commands having primary marks of +\meta{Mrk1} and \meta{Mrk2}. +\end{itemize} +Three other commands are defined for easy user access. +\begin{itemize} +\item \cs{markStartFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}Start}. +\item \cs{markEndFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}End}. +\item \cs{markNumQsFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}nQs}. +\end{itemize} +Use the command \cs{calcQsBtwnMarkers} without the optional first argument as the last mark +in your \texttt{exam} environment. + +%\handpoint The demo file for this feature is named \texttt{markqs.tex}. + +\exAeBBlogPDF{p=1231} The demo file for this feature is named +\texttt{\href{\urlAcroTeXBlog/?p=1231}{markqs.pdf}} + +\newpage +\markright{References} + +\begin{thebibliography}{[1]}\label{references} +\addcontentsline{toc}{section}{\protect\numberline{}References} +\backrefparscanfalse +\def\srtln{\vskip-\baselineskip\vskip-\parsep} +\def\lngln{\vskip-\parsep} + +\bibitem{book:AEBB} + D. P. Story, \textsl{\AEBBook}, in preparation. \backrefprint + +\end{thebibliography} + + +\end{document} diff --git a/texmf-dist/doc/latex/eqexam/examples/fig1.eps b/texmf-dist/doc/latex/eqexam/examples/fig1.eps index d40a7d65..9ea1b0cb 100644 Binary files a/texmf-dist/doc/latex/eqexam/examples/fig1.eps and b/texmf-dist/doc/latex/eqexam/examples/fig1.eps differ diff --git a/texmf-dist/doc/latex/eqexam/examples/flextended-opt.pdf b/texmf-dist/doc/latex/eqexam/examples/flextended-opt.pdf new file mode 100644 index 00000000..1a5f1cab Binary files /dev/null and b/texmf-dist/doc/latex/eqexam/examples/flextended-opt.pdf differ diff --git a/texmf-dist/doc/latex/eqexam/examples/flextended-opt.tex b/texmf-dist/doc/latex/eqexam/examples/flextended-opt.tex new file mode 100644 index 00000000..23bf670a --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/examples/flextended-opt.tex @@ -0,0 +1,106 @@ +\documentclass{article} +\usepackage[fleqn]{amsmath} +\usepackage[pdf,forcolorpaper,nopoints,useforms, +% Try compiling this file under one of these options: + nosolutions, +% answerkey, +% vspacewithsolns, + flextended +]{eqexam}[2018/01/12] + +\subject[Essay]{Extending Fill Lines} +\title[HW]{Essay HW} +\author{Dr.\ D. P. Story} +\date{Spring 2018} +\duedate{03/07/2018} +\keywords{Homework due \theduedate} + +\forceNoColor +\DoNotFitItIn +\useFillerLines +\vspacewithkeyOn +\turnflnosolnsOn +\turnflanskeyOn +\turnContAnnotOn +\setFillLinesFmt{fltype=line,numbers=left} + +\solAtEndFormatting{\eqequesitemsep{3pt}} + +\let\opt\texttt +\let\env\texttt + +% these commands pass their arguments to the priorworkarea and solution +% environments, respectively. +\priorworkareaCmds{\baselineskip\wlVspace\parindent\wlVspace} +\solutionafterExCmds{\baselineskip\wlVspace + \parindent\wlVspace} + +\begin{document} + +\maketitle + +\begin{exam}{fl1} + +\begin{instructions}[] +Respond to each problem, use your best effort. Turn in your essays by the end of the day. +\end{instructions} + +\flPageBreakMsg{\textbf{Problem~{\eqeCurrProb} continues on next page\strut}}% + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +When the \opt{flextended} option is not in force, these three lines are blank. However, in this example, +\opt{flextended} is active, and I can write to these lines. +\end{priorworkarea} +\begin{solution}[nLines=3] +Your guess is as good as mine. +\end{solution} +\end{problem} + +\setFillLinesFmt{fltype=grid,gridtype=line,numbers=right,topline,color=lightgray} + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +Essay area. +\end{priorworkarea} +\begin{solution}[42pt] +Your guess is as good as mine. +\end{solution} +\end{problem} + +\vspace{2.1in} +\smash{\makebox[\linewidth][c]{\parbox{.5\linewidth}{\bfseries\slshape + This space left blank so the next problem can break across the page.}}} +\vspace{2.1in} + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +When the \opt{flextended} option is not in force, these three lines are +blank. However, in this example, \opt{flextended} is active, and I can write +to these lines. + +The contents of the \env{priorworkarea} environment can also break across a +page boundary. We'll try to make it so.\vspace{2\baselineskip} + +Are we on the next page? I think yes. +\end{priorworkarea} +\begin{solution}[nLines=10] +Your guess is as good as mine. The content has the capability of breaking across pages. + +I've added more lines because this problem has a chance breaking across a page boundary. +Let's prattle on until we go to the next page.\vspace{\baselineskip} + +We'll jump down a couple of lines cause I don't have much to say. Gotta keep +going to get to the next page. If all works as it should, I'll see you one +the other side! Perfect! \vspace{3\baselineskip} + +\noindent +All in all, this is very cool.\enspace dps +\end{solution} +\end{problem} +\end{exam} + +\end{document} diff --git a/texmf-dist/doc/latex/eqexam/examples/graph.eps b/texmf-dist/doc/latex/eqexam/examples/graph.eps index 240e89ef..bf1e4599 100644 --- a/texmf-dist/doc/latex/eqexam/examples/graph.eps +++ b/texmf-dist/doc/latex/eqexam/examples/graph.eps @@ -1,7977 +1,7977 @@ -%!PS-Adobe-3.1 EPSF-3.0 -%ADO_DSC_Encoding: Windows Roman -%%Title: graph.pdf -%%Creator: Adobe Acrobat 10.0.1 -%%For: D. P. Story -%%CreationDate: 4/8/2011, 3:22:12 PM -%%BoundingBox: -1 0 257 195 -%%HiResBoundingBox: 0 0 256.7930 194.9510 -%%CropBox: 0 0 256.7930 194.9510 -%%LanguageLevel: 2 -%%DocumentNeededResources: (atend) -%%DocumentSuppliedResources: (atend) -%%DocumentNeededFeatures: (atend) -%%DocumentSuppliedFeatures: (atend) -%%DocumentData: Clean7Bit -%%Pages: (atend) -%%DocumentProcessColors: Black -%%DocumentCustomColors: (atend) -%%EndComments -%%BeginDefaults -%%ViewingOrientation: 1 0 0 1 -%%EndDefaults -%%BeginProlog -%%BeginResource: procset Adobe_AGM_Utils 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{currentpacking true setpacking}if -userdict/Adobe_AGM_Utils 75 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 -/gx -{get exec}bdf -/ps_level - /languagelevel where{ - pop systemdict/languagelevel gx - }{ - 1 - }ifelse -def -/level2 - ps_level 2 ge -def -/level3 - ps_level 3 ge -def -/ps_version - {version cvr}stopped{-1}if -def -/set_gvm -{currentglobal exch setglobal}bdf -/reset_gvm -{setglobal}bdf -/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()cvn eq{ - pop(Process) - }if - }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 -/get_gstate_and_matrix -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_ctm matrix currentmatrix def - end - get_gstate -}def -/set_gstate_and_matrix -{ - set_gstate - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_ctm setmatrix - end -}def -/AGMUTIL_str256 256 string def -/AGMUTIL_src256 256 string def -/AGMUTIL_dst64 64 string def -/AGMUTIL_srcLen nd -/AGMUTIL_ndx nd -/AGMUTIL_cpd nd -/capture_cpd{ - //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf -}def -/thold_halftone -{ - level3 - {sethalftone currenthalftone} - { - dup/HalftoneType get 3 eq - { - sethalftone currenthalftone - }{ - begin - Width Height mul{ - Thresholds read{pop}if - }repeat - end - currenthalftone - }ifelse - }ifelse -}def -/rdcmntline -{ - currentfile AGMUTIL_str256 readline pop - (%)anchorsearch{pop}if -}bdf -/filter_cmyk -{ - dup type/filetype ne{ - exch()/SubFileDecode filter - }{ - exch pop - } - ifelse - [ - 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 -/filter_indexed_devn -{ - cvi Names length mul names_index add Lookup exch get -}bdf -/filter_devn -{ - 4 dict begin - /srcStr xdf - /dstStr xdf - dup type/filetype ne{ - 0()/SubFileDecode filter - }if - [ - exch - [ - /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx - currentdict/srcStr get/readstring cvx/pop cvx - /dup cvx/length cvx 0/gt cvx[ - Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx - names_index Names length currentdict/srcStr get length 1 sub{ - 1/index cvx/exch cvx/get cvx - currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx - Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx - }for - currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx - ]cvx/if cvx - /end cvx - ]cvx - bind - /exec cvx - ]cvx - end -}bdf -/AGMUTIL_imagefile nd -/read_image_file -{ - AGMUTIL_imagefile 0 setfileposition - 10 dict begin - /imageDict xdf - /imbufLen Width BitsPerComponent mul 7 add 8 idiv def - /imbufIdx 0 def - /origDataSource imageDict/DataSource get def - /origMultipleDataSources imageDict/MultipleDataSources get def - /origDecode imageDict/Decode get def - /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def - imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse - { - /imbufCnt imageDict/DataSource get length def - /imbufs imbufCnt array def - 0 1 imbufCnt 1 sub{ - /imbufIdx xdf - imbufs imbufIdx imbufLen string put - imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put - }for - DeviceN_PS2{ - imageDict begin - /DataSource[DataSource/devn_sep_datasource cvx]cvx def - /MultipleDataSources false def - /Decode[0 1]def - end - }if - }{ - /imbuf imbufLen string def - Indexed_DeviceN level3 not and DeviceN_NoneName or{ - /srcDataStrs[imageDict begin - currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse - { - Width Decode length 2 div mul cvi string - }repeat - end]def - imageDict begin - /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def - /Decode[0 1]def - end - }{ - imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put - imageDict/Decode[0 1]put - }ifelse - }ifelse - imageDict exch - load exec - imageDict/DataSource origDataSource put - imageDict/MultipleDataSources origMultipleDataSources put - imageDict/Decode origDecode put - end -}bdf -/write_image_file -{ - begin - {(AGMUTIL_imagefile)(w+)file}stopped{ - false - }{ - Adobe_AGM_Utils/AGMUTIL_imagefile xddf - 2 dict begin - /imbufLen Width BitsPerComponent mul 7 add 8 idiv def - MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ - /imbuf imbufLen string def - }if - 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ - pop - MultipleDataSources{ - 0 1 DataSource length 1 sub{ - DataSource type dup - /arraytype eq{ - pop DataSource exch gx - }{ - /filetype eq{ - DataSource exch get imbuf readstring pop - }{ - DataSource exch get - }ifelse - }ifelse - AGMUTIL_imagefile exch writestring - }for - }{ - DataSource type dup - /arraytype eq{ - pop DataSource exec - }{ - /filetype eq{ - DataSource imbuf readstring pop - }{ - DataSource - }ifelse - }ifelse - AGMUTIL_imagefile exch writestring - }ifelse - }for - end - true - }ifelse - end -}bdf -/close_image_file -{ - AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile -}def -statusdict/product known userdict/AGMP_current_show known not and{ - /pstr statusdict/product get def - pstr(HP LaserJet 2200)eq - pstr(HP LaserJet 4000 Series)eq or - pstr(HP LaserJet 4050 Series )eq or - pstr(HP LaserJet 8000 Series)eq or - pstr(HP LaserJet 8100 Series)eq or - pstr(HP LaserJet 8150 Series)eq or - pstr(HP LaserJet 5000 Series)eq or - pstr(HP LaserJet 5100 Series)eq or - pstr(HP Color LaserJet 4500)eq or - pstr(HP Color LaserJet 4600)eq or - pstr(HP LaserJet 5Si)eq or - pstr(HP LaserJet 1200 Series)eq or - pstr(HP LaserJet 1300 Series)eq or - pstr(HP LaserJet 4100 Series)eq or - { - userdict/AGMP_current_show/show load put - userdict/show{ - currentcolorspace 0 get - /Pattern eq - {false charpath f} - {AGMP_current_show}ifelse - }put - }if - currentdict/pstr undef -}if -/consumeimagedata -{ - begin - AGMIMG_init_common - currentdict/MultipleDataSources known not - {/MultipleDataSources false def}if - MultipleDataSources - { - DataSource 0 get type - dup/filetype eq - { - 1 dict begin - /flushbuffer Width cvi string def - 1 1 Height cvi - { - pop - 0 1 DataSource length 1 sub - { - DataSource exch get - flushbuffer readstring pop pop - }for - }for - end - }if - dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and - { - Width Height mul cvi - { - 0 1 DataSource length 1 sub - {dup DataSource exch gx length exch 0 ne{pop}if}for - dup 0 eq - {pop exit}if - sub dup 0 le - {exit}if - }loop - pop - }if - } - { - /DataSource load type - dup/filetype eq - { - 1 dict begin - /flushbuffer Width Decode length 2 idiv mul cvi string def - 1 1 Height{pop DataSource flushbuffer readstring pop pop}for - end - }if - dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and - { - Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul - { - DataSource length dup 0 eq - {pop exit}if - sub dup 0 le - {exit}if - }loop - pop - }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 -/clonearray -{ - dup xcheck exch - dup length array exch - Adobe_AGM_Core/AGMCORE_tmp -1 ddf - { - Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf - dup type/dicttype eq - { - Adobe_AGM_Core/AGMCORE_tmp get - exch - clonedict - Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf - }if - dup type/arraytype eq - { - Adobe_AGM_Core/AGMCORE_tmp get exch - clonearray - Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf - }if - exch dup - Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put - }forall - exch{cvx}if -}bdf -/clonedict -{ - dup length dict - begin - { - dup type/dicttype eq - {clonedict}if - dup type/arraytype eq - {clonearray}if - def - }forall - currentdict - end -}bdf -/DeviceN_PS2 -{ - /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and -}bdf -/Indexed_DeviceN -{ - /indexed_colorspace_dict AGMCORE_gget dup null ne{ - dup/CSDBase known{ - /CSDBase get/CSD get_res/Names known - }{ - pop false - }ifelse - }{ - pop false - }ifelse -}bdf -/DeviceN_NoneName -{ - /Names where{ - pop - false Names - { - (None)eq or - }forall - }{ - false - }ifelse -}bdf -/DeviceN_PS2_inRip_seps -{ - /AGMCORE_in_rip_sep where - { - pop dup type dup/arraytype eq exch/packedarraytype eq or - { - dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and - { - /currentcolorspace exch AGMCORE_gput - false - }{ - true - }ifelse - }{ - true - }ifelse - }{ - true - }ifelse -}bdf -/base_colorspace_type -{ - dup type/arraytype eq{0 get}if -}bdf -/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse -{ - /pdfmark_5{cleartomark}bind def -}{ - /pdfmark_5{pdfmark}bind def -}ifelse -/ReadBypdfmark_5 -{ - currentfile exch 0 exch/SubFileDecode filter - /currentdistillerparams where - {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse - {flushfile cleartomark} - {/PUT pdfmark}ifelse -}bdf -/ReadBypdfmark_5_string -{ - 2 dict begin - /makerString exch def string/tmpString exch def - { - currentfile tmpString readline not{pop exit}if - makerString anchorsearch - { - pop pop cleartomark exit - }{ - 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 - }ifelse - }loop - end -}bdf -/xpdfm -{ - { - dup 0 get/Label eq - { - aload length[exch 1 add 1 roll/PAGELABEL - }{ - aload pop - [{ThisPage}<<5 -2 roll>>/PUT - }ifelse - pdfmark_5 - }forall -}bdf -/lmt{ - dup 2 index le{exch}if pop dup 2 index ge{exch}if pop -}bdf -/int{ - dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop -}bdf -/ds{ - Adobe_AGM_Utils begin -}bdf -/dt{ - 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-2007 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{ - currentpacking - true setpacking -}if -userdict/Adobe_AGM_Core 209 dict dup begin put -/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def -/AGMCORE_str256 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_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_CSD_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_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 -/AGMCORE_Default_PageSize nd -/AGMCORE_Default_flatness nd -/AGMCORE_currentbg nd -/AGMCORE_currentucr nd -/AGMCORE_pattern_paint_type 0 def -/knockout_unitsq nd -currentglobal true setglobal -[/CSA/Gradient/Procedure] -{ - /Generic/Category findresource dup length dict copy/Category defineresource pop -}forall -setglobal -/AGMCORE_key_known -{ - where{ - /Adobe_AGM_Core_Id known - }{ - false - }ifelse -}ndf -/flushinput -{ - save - 2 dict begin - /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 - end - 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 -/np -{newpath}bdf -/clp_npth -{clip np}def -/eoclp_npth -{eoclip np}def -/npth_clp -{np clip}def -/graphic_setup -{ - /AGMCORE_graphicsave save store - concat - 0 setgray - 0 setlinecap - 0 setlinejoin - 1 setlinewidth - []0 setdash - 10 setmiterlimit - np - false setoverprint - false setstrokeadjust - //Adobe_AGM_Core/spot_alias gx - /Adobe_AGM_Image where{ - pop - Adobe_AGM_Image/spot_alias 2 copy known{ - gx - }{ - pop pop - }ifelse - }if - /sep_colorspace_dict null AGMCORE_gput - 100 dict begin - /dictstackcount countdictstack def - /showpage{}def - mark -}def -/graphic_cleanup -{ - cleartomark - dictstackcount 1 countdictstack 1 sub{end}for - 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 np 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 xpt - /AGMCORE_tmp AGMCORE_tmp 1 add def - }ifelse - }forall -}bdf -/AGMCORE_CMYKDeviceNColorspaces[ - [/Separation/None/DeviceCMYK{0 0 0}] - [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] - [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] - [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] - [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] - [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] - [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] - [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] - [/Separation(Cyan)/DeviceCMYK{0 0 0}] - [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] - [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] - [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] - [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] - [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] - [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] - [/DeviceCMYK] -]def -/ds{ - Adobe_AGM_Core begin - /currentdistillerparams where - { - pop currentdistillerparams/CoreDistVersion get 5000 lt - {<>setdistillerparams}if - }if - /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_currentbg currentblackgeneration def - /AGMCORE_currentucr currentundercolorremoval def - /AGMCORE_Default_flatness currentflat def - /AGMCORE_distilling - /product where{ - pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and - }{ - false - }ifelse - def - /AGMCORE_GSTATE AGMCORE_key_known not{ - /AGMCORE_GSTATE 21 dict def - /AGMCORE_tmpmatrix matrix def - /AGMCORE_gstack 32 array def - /AGMCORE_gstackptr 0 def - /AGMCORE_gstacksaveptr 0 def - /AGMCORE_gstackframekeys 14 def - /AGMCORE_&gsave/gsave ldf - /AGMCORE_&grestore/grestore ldf - /AGMCORE_&grestoreall/grestoreall ldf - /AGMCORE_&save/save ldf - /AGMCORE_&setoverprint/setoverprint 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 - /AGMCORE_gstackptr exch store - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /grestore{ - AGMCORE_&grestore - AGMCORE_gstackptr 1 sub - dup AGMCORE_gstacksaveptr lt{1 add}if - dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known - {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse - /AGMCORE_gstackptr exch store - }def - /grestoreall{ - AGMCORE_&grestoreall - /AGMCORE_gstackptr AGMCORE_gstacksaveptr store - }def - /save{ - AGMCORE_&save - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge{limitcheck}if - /AGMCORE_gstackptr exch store - /AGMCORE_gstacksaveptr AGMCORE_gstackptr store - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /setoverprint{ - dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint - }def - 0 1 AGMCORE_gstack length 1 sub{ - AGMCORE_gstack exch AGMCORE_gstackframekeys dict put - }for - }if - level3/AGMCORE_&sysshfill AGMCORE_key_known not and - { - /AGMCORE_&sysshfill systemdict/shfill get def - /AGMCORE_&sysmakepattern systemdict/makepattern get def - /AGMCORE_&usrmakepattern/makepattern load def - }if - /currentcmykcolor[0 0 0 0]AGMCORE_gput - /currentstrokeadjust false AGMCORE_gput - /currentcolorspace[/DeviceGray]AGMCORE_gput - /sep_tint 0 AGMCORE_gput - /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput - /sep_colorspace_dict null AGMCORE_gput - /devicen_colorspace_dict null AGMCORE_gput - /indexed_colorspace_dict null AGMCORE_gput - /currentcolor_intent()AGMCORE_gput - /customcolor_tint 1 AGMCORE_gput - /absolute_colorimetric_crd null AGMCORE_gput - /relative_colorimetric_crd null AGMCORE_gput - /saturation_crd null AGMCORE_gput - /perceptual_crd null AGMCORE_gput - currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf - cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf - << - /MaxPatternItem currentsystemparams/MaxPatternCache get - >> - setuserparams - end -}def -/ps -{ - /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_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_have_reported_unsupported_color_space false def - /AGMCORE_report_unsupported_color_space - { - AGMCORE_have_reported_unsupported_color_space false eq - { - (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== - Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf - }if - }def - /AGMCORE_composite_job - AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and 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 - /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 - /sRGB ne - }{ - true - }ifelse - }{ - false - }ifelse - }{ - false - }ifelse - }def - /convert_spot_to_process where{pop}{ - /convert_spot_to_process - { - //Adobe_AGM_Core begin - dup map_alias{ - /Name get exch pop - }if - 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 - current_spot_alias false set_spot_alias - 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor - set_spot_alias - currentgray 1 ne - }ifelse - grestore - }{ - AGMCORE_distilling - { - pop AGM_is_distiller_preserving_spotimages not - }{ - //Adobe_AGM_Core/AGMCORE_name xddf - false - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq - AGMUTIL_cpd/OverrideSeparations known and - { - AGMUTIL_cpd/OverrideSeparations get - { - /HqnSpots/ProcSet resourcestatus - { - pop pop pop true - }if - }if - }if - { - AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not - }{ - gsave - [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace - false - AGMUTIL_cpd/SeparationColorNames 2 copy known - { - get - {AGMCORE_name eq or}forall - not - }{ - pop pop pop true - }ifelse - grestore - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - }ifelse - /convert_to_process where{pop}{ - /convert_to_process - { - dup length 0 eq - { - pop false - }{ - AGMCORE_host_sep - { - dup true exch - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - dup(Black)eq 3 -1 roll or - {pop} - {convert_spot_to_process and}ifelse - } - forall - { - true exch - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - (Black)eq or and - }forall - not - }{pop false}ifelse - }{ - false exch - { - /PhotoshopDuotoneList where{pop false}{true}ifelse - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - dup(Black)eq 3 -1 roll or - {pop} - {convert_spot_to_process or}ifelse - } - { - convert_spot_to_process or - } - ifelse - } - forall - }ifelse - }ifelse - }def - }ifelse - /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_IsSeparationAProcessColor - { - dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or - }def - AGMCORE_host_sep{ - /setcolortransfer - { - 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 - settransfer - } - def - /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 - /AGMCORE_RemoveProcessColorNames - { - 1 dict begin - /filtername - { - dup/Cyan eq 1 index(Cyan)eq or - {pop(_cyan_)}if - dup/Magenta eq 1 index(Magenta)eq or - {pop(_magenta_)}if - dup/Yellow eq 1 index(Yellow)eq or - {pop(_yellow_)}if - dup/Black eq 1 index(Black)eq or - {pop(_black_)}if - }def - dup type/arraytype eq - {[exch{filtername}forall]} - {filtername}ifelse - end - }def - level3{ - /AGMCORE_IsCurrentColor - { - dup AGMCORE_IsSeparationAProcessColor - { - AGMCORE_plate_ndx 0 eq - {dup(Cyan)eq exch/Cyan eq or}if - AGMCORE_plate_ndx 1 eq - {dup(Magenta)eq exch/Magenta eq or}if - AGMCORE_plate_ndx 2 eq - {dup(Yellow)eq exch/Yellow eq or}if - AGMCORE_plate_ndx 3 eq - {dup(Black)eq exch/Black eq or}if - AGMCORE_plate_ndx 4 eq - {pop false}if - }{ - gsave - false setoverprint - current_spot_alias false set_spot_alias - 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor - set_spot_alias - currentgray 1 ne - grestore - }ifelse - }def - /AGMCORE_filter_functiondatasource - { - 5 dict begin - /data_in xdf - data_in type/stringtype eq - { - /ncomp xdf - /comp xdf - /string_out data_in length ncomp idiv string def - 0 ncomp data_in length 1 sub - { - string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put - }for - string_out - }{ - string/string_in xdf - /string_out 1 string def - /component xdf - [ - data_in string_in/readstring cvx - [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx - [/pop cvx()]cvx/ifelse cvx - ]cvx/ReusableStreamDecode filter - }ifelse - end - }def - /AGMCORE_separateShadingFunction - { - 2 dict begin - /paint? xdf - /channel xdf - dup type/dicttype eq - { - begin - FunctionType 0 eq - { - /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def - currentdict/Decode known - {/Decode Decode channel 2 mul 2 getinterval def}if - paint? not - {/Decode[1 1]def}if - }if - FunctionType 2 eq - { - paint? - { - /C0[C0 channel get 1 exch sub]def - /C1[C1 channel get 1 exch sub]def - }{ - /C0[1]def - /C1[1]def - }ifelse - }if - FunctionType 3 eq - { - /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def - }if - currentdict/Range known - {/Range[0 1]def}if - currentdict - end}{ - channel get 0 paint? AGMCORE_separateShadingFunction - }ifelse - end - }def - /AGMCORE_separateShading - { - 3 -1 roll begin - currentdict/Function known - { - currentdict/Background known - {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if - Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf - /ColorSpace[/DeviceGray]def - }{ - ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def - }{ - ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put - }ifelse - ColorSpace 0 get/Separation eq - { - { - [1/exch cvx/sub cvx]cvx - }{ - [/pop cvx 1]cvx - }ifelse - ColorSpace 3 3 -1 roll put - pop - }{ - { - [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx - }{ - pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx - }ifelse - ColorSpace 3 3 -1 roll bind put - }ifelse - ColorSpace 2/DeviceGray put - }ifelse - end - }def - /AGMCORE_separateShadingDict - { - dup/ColorSpace get - dup type/arraytype ne - {[exch]}if - dup 0 get/DeviceCMYK eq - { - exch begin - currentdict - AGMCORE_cyan_plate - {0 true}if - AGMCORE_magenta_plate - {1 true}if - AGMCORE_yellow_plate - {2 true}if - AGMCORE_black_plate - {3 true}if - AGMCORE_plate_ndx 4 eq - {0 false}if - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - currentdict - end exch - }if - dup 0 get/Separation eq - { - exch begin - ColorSpace 1 get dup/None ne exch/All ne and - { - ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and - { - ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace - [ - /Separation - ColorSpace 1 get - /DeviceGray - [ - ColorSpace 3 get/exec cvx - 4 AGMCORE_plate_ndx sub -1/roll cvx - 4 1/roll cvx - 3[/pop cvx]cvx/repeat cvx - 1/exch cvx/sub cvx - ]cvx - ]def - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - currentdict 0 false AGMCORE_separateShading - }if - }ifelse - }{ - currentdict ColorSpace 1 get AGMCORE_IsCurrentColor - 0 exch - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - }ifelse - }if - currentdict - end exch - }if - dup 0 get/DeviceN eq - { - exch begin - ColorSpace 1 get convert_to_process - { - ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace - [ - /DeviceN - ColorSpace 1 get - /DeviceGray - [ - ColorSpace 3 get/exec cvx - 4 AGMCORE_plate_ndx sub -1/roll cvx - 4 1/roll cvx - 3[/pop cvx]cvx/repeat cvx - 1/exch cvx/sub cvx - ]cvx - ]def - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - currentdict 0 false AGMCORE_separateShading - /ColorSpace[/DeviceGray]def - }if - }ifelse - }{ - currentdict - false -1 ColorSpace 1 get - { - AGMCORE_IsCurrentColor - { - 1 add - exch pop true exch exit - }if - 1 add - }forall - exch - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - }ifelse - currentdict - end exch - }if - dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not - { - exch begin - ColorSpace dup type/arraytype eq - {0 get}if - /DeviceGray ne - { - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - ColorSpace 0 get/CIEBasedA eq - { - /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def - }if - ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or - { - /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def - }if - ColorSpace 0 get/CIEBasedDEFG eq - { - /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def - }if - currentdict 0 false AGMCORE_separateShading - }if - }if - currentdict - end exch - }if - pop - dup/AGMCORE_ignoreshade known - { - begin - /ColorSpace[/Separation(None)/DeviceGray{}]def - currentdict end - }if - }def - /shfill - { - AGMCORE_separateShadingDict - dup/AGMCORE_ignoreshade known - {pop} - {AGMCORE_&sysshfill}ifelse - }def - /makepattern - { - exch - dup/PatternType get 2 eq - { - clonedict - begin - /Shading Shading AGMCORE_separateShadingDict def - Shading/AGMCORE_ignoreshade known - currentdict end exch - {pop<>}if - exch AGMCORE_&sysmakepattern - }{ - exch AGMCORE_&usrmakepattern - }ifelse - }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 - }bdf - /map_indexed_devn - { - Lookup Names length 3 -1 roll cvi map_index - }bdf - /n_color_components - { - base_colorspace_type - dup/DeviceGray eq{ - pop 1 - }{ - /DeviceCMYK eq{ - 4 - }{ - 3 - }ifelse - }ifelse - }bdf - level2{ - /mo/moveto ldf - /li/lineto ldf - /cv/curveto ldf - /knockout_unitsq - { - 1 setgray - 0 0 1 1 rectfill - }def - level2/setcolorspace AGMCORE_key_known not and{ - /AGMCORE_&&&setcolorspace/setcolorspace ldf - /AGMCORE_ReplaceMappedColor - { - dup type dup/arraytype eq exch/packedarraytype eq or - { - /AGMCORE_SpotAliasAry2 where{ - begin - dup 0 get dup/Separation eq - { - pop - dup length array copy - dup dup 1 get - current_spot_alias - { - dup map_alias - { - false set_spot_alias - dup 1 exch setsepcolorspace - true set_spot_alias - begin - /sep_colorspace_dict currentdict AGMCORE_gput - pop pop pop - [ - /Separation Name - CSA map_csa - MappedCSA - /sep_colorspace_proc load - ] - dup Name - end - }if - }if - map_reserved_ink_name 1 xpt - }{ - /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 xpt - }if - }ifelse - end - }if - }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 - DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if - }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 - /setcolorspace - { - /currentcolorspace exch AGMCORE_gput - }def - /currentcolorspace - { - /currentcolorspace AGMCORE_gget - }def - /setcolor_devicecolor - { - base_colorspace_type - 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 gx - 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[ - /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx - /setcmykcolor load dup type/operatortype ne{/exec cvx}if - ]cvx bdf - level3 AGMCORE_host_sep not and{ - /nzopmsc{ - 6 dict begin - /kk exch def - /yy exch def - /mm exch def - /cc exch def - /sum 0 def - cc 0 ne{/sum sum 2#1000 or def cc}if - mm 0 ne{/sum sum 2#0100 or def mm}if - yy 0 ne{/sum sum 2#0010 or def yy}if - kk 0 ne{/sum sum 2#0001 or def kk}if - AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace - sum 0 eq{0}if - end - setcolor - }bdf - }{ - /nzopmsc/cmyk ldf - }ifelse - /sep/setsepcolor ldf - /devn/setdevicencolor ldf - /idx/setindexedcolor ldf - /colr/setcolor ldf - /csacrd/set_csa_crd ldf - /sepcs/setsepcolorspace ldf - /devncs/setdevicencolorspace ldf - /idxcs/setindexedcolorspace ldf - /cp/closepath ldf - /clp/clp_npth ldf - /eclp/eoclp_npth ldf - /f/fill ldf - /ef/eofill ldf - /@/stroke ldf - /nclp/npth_clp ldf - /gset/graphic_setup ldf - /gcln/graphic_cleanup ldf - /ct/concat ldf - /cf/currentfile ldf - /fl/filter ldf - /rs/readstring ldf - /AGMCORE_def_ht currenthalftone def - /clonedict Adobe_AGM_Utils begin/clonedict load end def - /clonearray Adobe_AGM_Utils begin/clonearray load end def - currentdict{ - dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ - bind - }if - def - }forall - /getrampcolor - { - /indx exch def - 0 1 NumComp 1 sub - { - dup - Samples exch get - dup type/stringtype eq{indx get}if - exch - Scaling exch get aload pop - 3 1 roll - mul add - }for - ColorSpaceFamily/Separation eq - {sep} - { - ColorSpaceFamily/DeviceN eq - {devn}{setcolor}ifelse - }ifelse - }bdf - /sssetbackground{ - aload pop - ColorSpaceFamily/Separation eq - {sep} - { - ColorSpaceFamily/DeviceN eq - {devn}{setcolor}ifelse - }ifelse - }bdf - /RadialShade - { - 40 dict begin - /ColorSpaceFamily xdf - /background xdf - /ext1 xdf - /ext0 xdf - /BBox xdf - /r2 xdf - /c2y xdf - /c2x xdf - /r1 xdf - /c1y xdf - /c1x xdf - /rampdict xdf - /setinkoverprint where{pop/setinkoverprint{pop}def}if - gsave - BBox length 0 gt - { - np - BBox 0 get BBox 1 get moveto - BBox 2 get BBox 0 get sub 0 rlineto - 0 BBox 3 get BBox 1 get sub rlineto - BBox 2 get BBox 0 get sub neg 0 rlineto - closepath - clip - np - }if - c1x c2x eq - { - c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse - }{ - /slope c2y c1y sub c2x c1x sub div def - /theta slope 1 atan def - c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if - c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if - }ifelse - gsave - clippath - c1x c1y translate - theta rotate - -90 rotate - {pathbbox}stopped - {0 0 0 0}if - /yMax xdf - /xMax xdf - /yMin xdf - /xMin xdf - grestore - xMax xMin eq yMax yMin eq or - { - grestore - end - }{ - /max{2 copy gt{pop}{exch pop}ifelse}bdf - /min{2 copy lt{pop}{exch pop}ifelse}bdf - rampdict begin - 40 dict begin - background length 0 gt{background sssetbackground gsave clippath fill grestore}if - gsave - c1x c1y translate - theta rotate - -90 rotate - /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def - /c1y 0 def - /c1x 0 def - /c2x 0 def - ext0 - { - 0 getrampcolor - c2y r2 add r1 sub 0.0001 lt - { - c1x c1y r1 360 0 arcn - pathbbox - /aymax exch def - /axmax exch def - /aymin exch def - /axmin exch def - /bxMin xMin axmin min def - /byMin yMin aymin min def - /bxMax xMax axmax max def - /byMax yMax aymax max def - bxMin byMin moveto - bxMax byMin lineto - bxMax byMax lineto - bxMin byMax lineto - bxMin byMin lineto - eofill - }{ - c2y r1 add r2 le - { - c1x c1y r1 0 360 arc - fill - } - { - c2x c2y r2 0 360 arc fill - r1 r2 eq - { - /p1x r1 neg def - /p1y c1y def - /p2x r1 def - /p2y c1y def - p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto - fill - }{ - /AA r2 r1 sub c2y div def - AA -1 eq - {/theta 89.99 def} - {/theta AA 1 AA dup mul sub sqrt div 1 atan def} - ifelse - /SS1 90 theta add dup sin exch cos div def - /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def - /p1y p1x SS1 div neg def - /SS2 90 theta sub dup sin exch cos div def - /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def - /p2y p2x SS2 div neg def - r1 r2 gt - { - /L1maxX p1x yMin p1y sub SS1 div add def - /L2maxX p2x yMin p2y sub SS2 div add def - }{ - /L1maxX 0 def - /L2maxX 0 def - }ifelse - p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto - L1maxX L1maxX p1x sub SS1 mul p1y add lineto - fill - }ifelse - }ifelse - }ifelse - }if - c1x c2x sub dup mul - c1y c2y sub dup mul - add 0.5 exp - 0 dtransform - dup mul exch dup mul add 0.5 exp 72 div - 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 1 index 1 index lt{exch}if pop - /hires xdf - hires mul - /numpix xdf - /numsteps NumSamples def - /rampIndxInc 1 def - /subsampling false def - numpix 0 ne - { - NumSamples numpix div 0.5 gt - { - /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def - /rampIndxInc NumSamples 1 sub numsteps div def - /subsampling true def - }if - }if - /xInc c2x c1x sub numsteps div def - /yInc c2y c1y sub numsteps div def - /rInc r2 r1 sub numsteps div def - /cx c1x def - /cy c1y def - /radius r1 def - np - xInc 0 eq yInc 0 eq rInc 0 eq and and - { - 0 getrampcolor - cx cy radius 0 360 arc - stroke - NumSamples 1 sub getrampcolor - cx cy radius 72 hires div add 0 360 arc - 0 setlinewidth - stroke - }{ - 0 - numsteps - { - dup - subsampling{round cvi}if - getrampcolor - cx cy radius 0 360 arc - /cx cx xInc add def - /cy cy yInc add def - /radius radius rInc add def - cx cy radius 360 0 arcn - eofill - rampIndxInc add - }repeat - pop - }ifelse - ext1 - { - c2y r2 add r1 lt - { - c2x c2y r2 0 360 arc - fill - }{ - c2y r1 add r2 sub 0.0001 le - { - c2x c2y r2 360 0 arcn - pathbbox - /aymax exch def - /axmax exch def - /aymin exch def - /axmin exch def - /bxMin xMin axmin min def - /byMin yMin aymin min def - /bxMax xMax axmax max def - /byMax yMax aymax max def - bxMin byMin moveto - bxMax byMin lineto - bxMax byMax lineto - bxMin byMax lineto - bxMin byMin lineto - eofill - }{ - c2x c2y r2 0 360 arc fill - r1 r2 eq - { - /p1x r2 neg def - /p1y c2y def - /p2x r2 def - /p2y c2y def - p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto - fill - }{ - /AA r2 r1 sub c2y div def - AA -1 eq - {/theta 89.99 def} - {/theta AA 1 AA dup mul sub sqrt div 1 atan def} - ifelse - /SS1 90 theta add dup sin exch cos div def - /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def - /p1y c2y p1x SS1 div sub def - /SS2 90 theta sub dup sin exch cos div def - /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def - /p2y c2y p2x SS2 div sub def - r1 r2 lt - { - /L1maxX p1x yMax p1y sub SS1 div add def - /L2maxX p2x yMax p2y sub SS2 div add def - }{ - /L1maxX 0 def - /L2maxX 0 def - }ifelse - p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto - L1maxX L1maxX p1x sub SS1 mul p1y add lineto - fill - }ifelse - }ifelse - }ifelse - }if - grestore - grestore - end - end - end - }ifelse - }bdf - /GenStrips - { - 40 dict begin - /ColorSpaceFamily xdf - /background xdf - /ext1 xdf - /ext0 xdf - /BBox xdf - /y2 xdf - /x2 xdf - /y1 xdf - /x1 xdf - /rampdict xdf - /setinkoverprint where{pop/setinkoverprint{pop}def}if - gsave - BBox length 0 gt - { - np - BBox 0 get BBox 1 get moveto - BBox 2 get BBox 0 get sub 0 rlineto - 0 BBox 3 get BBox 1 get sub rlineto - BBox 2 get BBox 0 get sub neg 0 rlineto - closepath - clip - np - }if - x1 x2 eq - { - y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse - }{ - /slope y2 y1 sub x2 x1 sub div def - /theta slope 1 atan def - x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if - x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if - } - ifelse - gsave - clippath - x1 y1 translate - theta rotate - {pathbbox}stopped - {0 0 0 0}if - /yMax exch def - /xMax exch def - /yMin exch def - /xMin exch def - grestore - xMax xMin eq yMax yMin eq or - { - grestore - end - }{ - rampdict begin - 20 dict begin - background length 0 gt{background sssetbackground gsave clippath fill grestore}if - gsave - x1 y1 translate - theta rotate - /xStart 0 def - /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def - /ySpan yMax yMin sub def - /numsteps NumSamples def - /rampIndxInc 1 def - /subsampling false def - xStart 0 transform - xEnd 0 transform - 3 -1 roll - sub dup mul - 3 1 roll - sub dup mul - add 0.5 exp 72 div - 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 1 index 1 index lt{exch}if pop - mul - /numpix xdf - numpix 0 ne - { - NumSamples numpix div 0.5 gt - { - /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def - /rampIndxInc NumSamples 1 sub numsteps div def - /subsampling true def - }if - }if - ext0 - { - 0 getrampcolor - xMin xStart lt - { - xMin yMin xMin neg ySpan rectfill - }if - }if - /xInc xEnd xStart sub numsteps div def - /x xStart def - 0 - numsteps - { - dup - subsampling{round cvi}if - getrampcolor - x yMin xInc ySpan rectfill - /x x xInc add def - rampIndxInc add - }repeat - pop - ext1{ - xMax xEnd gt - { - xEnd yMin xMax xEnd sub ySpan rectfill - }if - }if - grestore - grestore - end - end - end - }ifelse - }bdf -}def -/pt -{ - end -}def -/dt{ -}def -/pgsv{ - //Adobe_AGM_Core/AGMCORE_save save put -}def -/pgrs{ - //Adobe_AGM_Core/AGMCORE_save get restore -}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 -/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 get_csa_by_name setcolorspace_opt - set_crd - end -} -def -/map_csa -{ - currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse - {pop}{get_csa_by_name/MappedCSA xdf}ifelse -}def -/setsepcolor -{ - /sep_colorspace_dict AGMCORE_gget begin - dup/sep_tint exch AGMCORE_gput - TintProc - end -}def -/setdevicencolor -{ - /devicen_colorspace_dict AGMCORE_gget begin - Names length copy - Names length 1 sub -1 0 - { - /devicen_tints AGMCORE_gget 3 1 roll xpt - }for - TintProc - end -}def -/sep_colorspace_proc -{ - /AGMCORE_tmp exch store - /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 -{ - /AGMCORE_tmp exch store - /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 - CSA map_csa - /AGMCORE_sep_special Name dup()eq exch(All)eq or store - 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 cvx - /AGMCORE_IsSeparationAProcessColor load/exec cvx - /not cvx/and cvx - }{ - Name inRip_spot_has_ink not - }ifelse - [ - /pop cvx 1 - ]cvx/if cvx - /setcustomcolor cvx - ]cvx bdf - }{ - /TintProc{setcolor}bdf - [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - set_crd - setsepcolor - end -}def -/additive_blend -{ - 3 dict begin - /numarrays xdf - /numcolors xdf - 0 1 numcolors 1 sub - { - /c1 xdf - 1 - 0 1 numarrays 1 sub - { - 1 exch add/index cvx - c1/get cvx/mul cvx - }for - numarrays 1 add 1/roll cvx - }for - numarrays[/pop cvx]cvx/repeat cvx - end -}def -/subtractive_blend -{ - 3 dict begin - /numarrays xdf - /numcolors xdf - 0 1 numcolors 1 sub - { - /c1 xdf - 1 1 - 0 1 numarrays 1 sub - { - 1 3 3 -1 roll add/index cvx - c1/get cvx/sub cvx/mul cvx - }for - /sub cvx - numarrays 1 add 1/roll cvx - }for - numarrays[/pop cvx]cvx/repeat cvx - end -}def -/exec_tint_transform -{ - /TintProc[ - /TintTransform cvx/setcolor cvx - ]cvx bdf - MappedCSA setcolorspace_opt -}bdf -/devn_makecustomcolor -{ - 2 dict begin - /names_index xdf - /Names xdf - 1 1 1 1 Names names_index get findcmykcustomcolor - /devicen_tints AGMCORE_gget names_index get setcustomcolor - Names length{pop}repeat - end -}bdf -/setdevicencolorspace -{ - dup/AliasedColorants known{false}{true}ifelse - current_spot_alias and{ - 7 dict begin - /names_index 0 def - dup/names_len exch/Names get length def - /new_names names_len array def - /new_LookupTables names_len array def - /alias_cnt 0 def - dup/Names get - { - dup map_alias{ - exch pop - dup/ColorLookup known{ - dup begin - new_LookupTables names_index ColorLookup put - end - }{ - dup/Components known{ - dup begin - new_LookupTables names_index Components put - end - }{ - dup begin - new_LookupTables names_index[null null null null]put - end - }ifelse - }ifelse - new_names names_index 3 -1 roll/Name get put - /alias_cnt alias_cnt 1 add def - }{ - /name xdf - new_names names_index name put - dup/LookupTables known{ - dup begin - new_LookupTables names_index LookupTables names_index get put - end - }{ - dup begin - new_LookupTables names_index[null null null null]put - end - }ifelse - }ifelse - /names_index names_index 1 add def - }forall - alias_cnt 0 gt{ - /AliasedColorants true def - /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def - 0 1 names_len 1 sub{ - /names_index xdf - new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ - /AliasedColorants false def - exit - }{ - new_LookupTables names_index get 0 get null eq{ - dup/Names get names_index get/name xdf - name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq - or or or not{ - /AliasedColorants false def - exit - }if - }if - }ifelse - }for - lut_entry_len 1 eq{ - /AliasedColorants false def - }if - AliasedColorants{ - dup begin - /Names new_names def - /LookupTables new_LookupTables def - /AliasedColorants true def - /NComponents lut_entry_len def - /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def - /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def - currentdict/TTTablesIdx known not{ - /TTTablesIdx -1 def - }if - end - }if - }if - end - }if - dup/devicen_colorspace_dict exch AGMCORE_gput - begin - currentdict/AliasedColorants known{ - AliasedColorants - }{ - false - }ifelse - dup not{ - CSA map_csa - }if - /TintTransform load type/nulltype eq or{ - /TintTransform[ - 0 1 Names length 1 sub - { - /TTTablesIdx TTTablesIdx 1 add def - dup LookupTables exch get dup 0 get null eq - { - 1 index - Names exch get - dup(Cyan)eq - { - pop exch - LookupTables length exch sub - /index cvx - 0 0 0 - } - { - dup(Magenta)eq - { - pop exch - LookupTables length exch sub - /index cvx - 0/exch cvx 0 0 - }{ - (Yellow)eq - { - exch - LookupTables length exch sub - /index cvx - 0 0 3 -1/roll cvx 0 - }{ - exch - LookupTables length exch sub - /index cvx - 0 0 0 4 -1/roll cvx - }ifelse - }ifelse - }ifelse - 5 -1/roll cvx/astore cvx - }{ - dup length 1 sub - LookupTables length 4 -1 roll sub 1 add - /index cvx/mul cvx/round cvx/cvi cvx/get cvx - }ifelse - Names length TTTablesIdx add 1 add 1/roll cvx - }for - Names length[/pop cvx]cvx/repeat cvx - NComponents Names length - TintMethod/Subtractive eq - { - subtractive_blend - }{ - additive_blend - }ifelse - ]cvx bdf - }if - AGMCORE_host_sep{ - Names convert_to_process{ - exec_tint_transform - } - { - currentdict/AliasedColorants known{ - AliasedColorants not - }{ - false - }ifelse - 5 dict begin - /AvoidAliasedColorants xdf - /painted? false def - /names_index 0 def - /names_len Names length def - AvoidAliasedColorants{ - /currentspotalias current_spot_alias def - false set_spot_alias - }if - Names{ - AGMCORE_is_cmyk_sep{ - dup(Cyan)eq AGMCORE_cyan_plate and exch - dup(Magenta)eq AGMCORE_magenta_plate and exch - dup(Yellow)eq AGMCORE_yellow_plate and exch - (Black)eq AGMCORE_black_plate and or or or{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - Names names_index/devn_makecustomcolor cvx - ]cvx ddf - /painted? true def - }if - painted?{exit}if - }{ - 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - Names names_index/devn_makecustomcolor cvx - ]cvx ddf - /painted? true def - exit - }if - }ifelse - /names_index names_index 1 add def - }forall - AvoidAliasedColorants{ - currentspotalias set_spot_alias - }if - painted?{ - /devicen_colorspace_dict AGMCORE_gget/names_index names_index put - }{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx - 0 0 0 0/setcmykcolor cvx - ]cvx ddf - }ifelse - end - }ifelse - } - { - AGMCORE_in_rip_sep{ - Names convert_to_process not - }{ - level3 - }ifelse - { - [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt - /TintProc level3 not AGMCORE_in_rip_sep and{ - [ - Names/length cvx[/pop cvx]cvx/repeat cvx - ]cvx bdf - }{ - {setcolor}bdf - }ifelse - }{ - exec_tint_transform - }ifelse - }ifelse - set_crd - /AliasedColorants false def - end -}def -/setindexedcolorspace -{ - dup/indexed_colorspace_dict exch AGMCORE_gput - begin - currentdict/CSDBase known{ - CSDBase/CSD get_res begin - currentdict/Names known{ - currentdict devncs - }{ - 1 currentdict sepcs - }ifelse - AGMCORE_host_sep{ - 4 dict begin - /compCnt/Names where{pop Names length}{1}ifelse def - /NewLookup HiVal 1 add string def - 0 1 HiVal{ - /tableIndex xdf - Lookup dup type/stringtype eq{ - compCnt tableIndex map_index - }{ - exec - }ifelse - /Names where{ - pop setdevicencolor - }{ - setsepcolor - }ifelse - currentgray - tableIndex exch - 255 mul cvi - NewLookup 3 1 roll put - }for - [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt - end - }{ - level3 - { - currentdict/Names known{ - [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt - }{ - [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt - }ifelse - }{ - [/Indexed MappedCSA HiVal - [ - currentdict/Names known{ - Lookup dup type/stringtype eq - {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} - {/exec cvx}ifelse - /TintTransform load/exec cvx - }{ - Lookup dup type/stringtype eq - {/exch cvx/get cvx 255/div cvx} - {/exec cvx}ifelse - CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx - }ifelse - ]cvx - ]setcolorspace_opt - }ifelse - }ifelse - end - set_crd - } - { - CSA map_csa - 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 - }ifelse - end -}def -/setindexedcolor -{ - AGMCORE_host_sep{ - /indexed_colorspace_dict AGMCORE_gget - begin - currentdict/CSDBase known{ - CSDBase/CSD get_res begin - currentdict/Names known{ - map_indexed_devn - devn - } - { - Lookup 1 3 -1 roll map_index - sep - }ifelse - end - }{ - Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll - map_index - MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse - }ifelse - end - }{ - level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ - /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin - map_indexed_devn - devn - end - } - { - setcolor - }ifelse - }ifelse -}def -/ignoreimagedata -{ - currentoverprint not{ - gsave - dup clonedict begin - 1 setgray - /Decode[0 1]def - /DataSourcedef - /MultipleDataSources false def - /BitsPerComponent 8 def - currentdict end - systemdict/image gx - grestore - }if - consumeimagedata -}def -/add_res -{ - dup/CSD eq{ - pop - //Adobe_AGM_Core begin - /AGMCORE_CSD_cache load 3 1 roll put - end - }{ - defineresource pop - }ifelse -}def -/del_res -{ - { - aload pop exch - dup/CSD eq{ - pop - {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall - }{ - exch - {1 index undefineresource}forall - pop - }ifelse - }forall -}def -/get_res -{ - dup/CSD eq{ - pop - dup type dup/nametype eq exch/stringtype eq or{ - AGMCORE_CSD_cache exch get - }if - }{ - findresource - }ifelse -}def -/get_csa_by_name -{ - dup type dup/nametype eq exch/stringtype eq or{ - /CSA get_res - }if -}def -/paintproc_buf_init -{ - /count get 0 0 put -}def -/paintproc_buf_next -{ - dup/count get dup 0 get - dup 3 1 roll - 1 add 0 xpt - get -}def -/cachepaintproc_compress -{ - 5 dict begin - currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def - /ppdict 20 dict def - /string_size 16000 def - /readbuffer string_size string def - currentglobal true setglobal - ppdict 1 array dup 0 1 put/count xpt - setglobal - /LZWFilter - { - exch - dup length 0 eq{ - pop - }{ - ppdict dup length 1 sub 3 -1 roll put - }ifelse - {string_size}{0}ifelse string - }/LZWEncode filter def - { - ReadFilter readbuffer readstring - exch LZWFilter exch writestring - not{exit}if - }loop - LZWFilter closefile - ppdict - end -}def -/cachepaintproc -{ - 2 dict begin - currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def - /ppdict 20 dict def - currentglobal true setglobal - ppdict 1 array dup 0 1 put/count xpt - setglobal - { - ReadFilter 16000 string readstring exch - ppdict dup length 1 sub 3 -1 roll put - not{exit}if - }loop - ppdict dup dup length 1 sub()put - end -}def -/make_pattern -{ - exch clonedict exch - 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 - 1 index begin - BBox 0 get XStep div cvi XStep mul/xshift exch neg def - BBox 1 get YStep div cvi YStep mul/yshift exch neg def - BBox 0 get xshift add - BBox 1 get yshift add - BBox 2 get xshift add - BBox 3 get yshift add - 4 array astore - /BBox exch def - [xshift yshift/translate load null/exec load]dup - 3/PaintProc load put cvx/PaintProc exch def - end - gsave 0 setgray - makepattern - grestore -}def -/set_pattern -{ - dup/PatternType get 1 eq{ - dup/PaintType get 1 eq{ - currentoverprint sop[/DeviceGray]setcolorspace 0 setgray - }if - }if - setpattern -}def -/setcolorspace_opt -{ - dup currentcolorspace eq{pop}{setcolorspace}ifelse -}def -/updatecolorrendering -{ - currentcolorrendering/RenderingIntent known{ - currentcolorrendering/RenderingIntent get - } - { - Intent/AbsoluteColorimetric eq - { - /absolute_colorimetric_crd AGMCORE_gget dup null eq - } - { - Intent/RelativeColorimetric eq - { - /relative_colorimetric_crd AGMCORE_gget dup null eq - } - { - Intent/Saturation eq - { - /saturation_crd AGMCORE_gget dup null eq - } - { - /perceptual_crd AGMCORE_gget dup null eq - }ifelse - }ifelse - }ifelse - { - pop null - } - { - /RenderingIntent known{null}{Intent}ifelse - }ifelse - }ifelse - Intent ne{ - Intent/ColorRendering{findresource}stopped - { - pop pop systemdict/findcolorrendering known - { - Intent findcolorrendering - { - /ColorRendering findresource true exch - } - { - /ColorRendering findresource - product(Xerox Phaser 5400)ne - exch - }ifelse - dup Intent/AbsoluteColorimetric eq - { - /absolute_colorimetric_crd exch AGMCORE_gput - } - { - Intent/RelativeColorimetric eq - { - /relative_colorimetric_crd exch AGMCORE_gput - } - { - Intent/Saturation eq - { - /saturation_crd exch AGMCORE_gput - } - { - Intent/Perceptual eq - { - /perceptual_crd exch AGMCORE_gput - } - { - pop - }ifelse - }ifelse - }ifelse - }ifelse - 1 index{exch}{pop}ifelse - } - {false}ifelse - } - {true}ifelse - { - dup begin - currentdict/TransformPQR known{ - currentdict/TransformPQR get aload pop - 3{{}eq 3 1 roll}repeat or or - } - {true}ifelse - currentdict/MatrixPQR known{ - currentdict/MatrixPQR get aload pop - 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll - 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll - 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq - and and and and and and and and - } - {true}ifelse - end - or - { - clonedict begin - /TransformPQR[ - {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div - 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind - {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div - 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind - {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div - 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind - ]def - /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def - /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def - currentdict end - }if - setcolorrendering_opt - }if - }if -}def -/set_crd -{ - AGMCORE_host_sep not level2 and{ - currentdict/ColorRendering known{ - ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if - }{ - currentdict/Intent known{ - updatecolorrendering - }if - }ifelse - currentcolorspace dup type/arraytype eq - {0 get}if - /DeviceRGB eq - { - currentdict/UCR known - {/UCR}{/AGMCORE_currentucr}ifelse - load setundercolorremoval - currentdict/BG known - {/BG}{/AGMCORE_currentbg}ifelse - load setblackgeneration - }if - }if -}def -/set_ucrbg -{ - dup null eq {pop /AGMCORE_currentbg load}{/Procedure get_res}ifelse - dup currentblackgeneration eq {pop}{setblackgeneration}ifelse - dup null eq {pop /AGMCORE_currentucr load}{/Procedure get_res}ifelse - dup currentundercolorremoval eq {pop}{setundercolorremoval}ifelse -}def -/setcolorrendering_opt -{ - dup currentcolorrendering eq{ - pop - }{ - product(HP Color LaserJet 2605)anchorsearch{ - pop pop pop - }{ - pop - clonedict - begin - /Intent Intent def - currentdict - end - setcolorrendering - }ifelse - }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 -{np}def -/T1_path -{ - currentfile token pop currentfile token pop mo - { - currentfile token pop dup type/stringtype eq - {pop exit}if - 0 exch rlineto - currentfile token pop dup type/stringtype eq - {pop exit}if - 0 rlineto - }loop -}def -/T1_gsave - level3 - {/clipsave} - {/gsave}ifelse - load def -/T1_grestore - level3 - {/cliprestore} - {/grestore}ifelse - load def -/set_spot_alias_ary -{ - dup inherit_aliases - //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf -}def -/set_spot_normalization_ary -{ - dup inherit_aliases - dup length - /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if - array - //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf - /AGMCORE_SpotAliasAry where{ - pop - AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval - AGMCORE_SpotAliasAry length - }{0}ifelse - AGMCORE_SpotAliasAry2 3 1 roll exch putinterval - true set_spot_alias -}def -/inherit_aliases -{ - {dup/Name get map_alias{/CSD put}{pop}ifelse}forall -}def -/set_spot_alias -{ - /AGMCORE_SpotAliasAry2 where{ - /AGMCORE_current_spot_alias 3 -1 roll put - }{ - pop - }ifelse -}def -/current_spot_alias -{ - /AGMCORE_SpotAliasAry2 where{ - /AGMCORE_current_spot_alias get - }{ - false - }ifelse -}def -/map_alias -{ - /AGMCORE_SpotAliasAry2 where{ - begin - /AGMCORE_name xdf - false - AGMCORE_SpotAliasAry2{ - dup/Name get AGMCORE_name eq{ - /CSD get/CSD get_res - 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 - { - //Adobe_AGM_Core begin - dup/customcolor_tint exch AGMCORE_gput - 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not - current_spot_alias and{1 index 4 get map_alias}{false}ifelse - { - false set_spot_alias - /sep_colorspace_dict AGMCORE_gget null ne - {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse - 3 1 roll 2 index{ - exch pop/sep_tint AGMCORE_gget exch - }if - mark 3 1 roll - setsepcolorspace - counttomark 0 ne{ - setsepcolor - }if - pop - not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if - pop - true set_spot_alias - }{ - AGMCORE_&setcustomcolor - }ifelse - end - }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 AGMCORE_distilling not and{ - currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ - true begin_feature true{ - <>setpagedevice - }end_feature - }if - /AGMCORE_inverting false def - }if - }if - AGMCORE_inverting{ - [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer - AGMCORE_distilling{ - erasepage - }{ - gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse - /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore - }ifelse - }if - end -}def -/lw_save_restore_override{ - /md where{ - pop - md begin - initializepage - /initializepage{}def - /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 - /mysetup where{ - /mysetup[1 0 0 1 0 0]put - }if - Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put - level2 - {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if -}def -/capture_mysetup -{ - /Pscript_Win_Data where{ - pop - Pscript_Win_Data/mysetup known{ - Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put - }if - }if -}def -/restore_mysetup -{ - /Pscript_Win_Data where{ - pop - Pscript_Win_Data/mysetup known{ - Adobe_AGM_Core/save_mysetup known{ - Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put - Adobe_AGM_Core/save_mysetup undef - }if - }if - }if -}def -/driver_check_media_override -{ - /PrepsDict where - {pop} - { - Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne - Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq - { - Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and - Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and - }if - { - Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix - }if - }ifelse -}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 -/set_def_ht -{AGMCORE_def_ht sethalftone}def -/set_def_flat -{AGMCORE_Default_flatness setflat}def -end -systemdict/setpacking known -{setpacking}if -%%EndResource -%%BeginResource: procset Adobe_CoolType_Core 2.31 0 -%%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. -%%Version: 2.31 0 -10 dict begin -/Adobe_CoolType_Passthru currentdict def -/Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def -Adobe_CoolType_Core_Defined - {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} -if -userdict/Adobe_CoolType_Core 70 dict dup begin put -/Adobe_CoolType_Version 2.31 def -/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 -currentglobal false setglobal -userdict/Adobe_CoolType_Data 2 copy known not - {2 copy 10 dict put} -if -get - begin - /@opStackCountByLevel 32 dict def - /@opStackLevel 0 def - /@dictStackCountByLevel 32 dict def - /@dictStackLevel 0 def - end -setglobal -currentglobal true setglobal -userdict/Adobe_CoolType_GVMFonts known not - {userdict/Adobe_CoolType_GVMFonts 10 dict put} -if -setglobal -currentglobal false setglobal -userdict/Adobe_CoolType_LVMFonts known not - {userdict/Adobe_CoolType_LVMFonts 10 dict put} -if -setglobal -/ct_VMDictPut - { - dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse - 3 1 roll put - }bind def -/ct_VMDictUndef - { - dup Adobe_CoolType_GVMFonts exch known - {Adobe_CoolType_GVMFonts exch undef} - { - dup Adobe_CoolType_LVMFonts exch known - {Adobe_CoolType_LVMFonts exch undef} - {pop} - ifelse - }ifelse - }bind def -/ct_str1 1 string def -/ct_xshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - _ct_x _ct_y moveto - 0 - rmoveto - } - ifelse - /_ct_i _ct_i 1 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/ct_yshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - _ct_x _ct_y moveto - 0 exch - rmoveto - } - ifelse - /_ct_i _ct_i 1 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/ct_xyshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - {_ct_na _ct_i 1 add get}stopped - {pop pop pop} - { - _ct_x _ct_y moveto - rmoveto - } - ifelse - } - ifelse - /_ct_i _ct_i 2 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def -/ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def -/xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def -currentglobal true setglobal -/ct_T3Defs -{ -/BuildChar -{ - 1 index/Encoding get exch get - 1 index/BuildGlyph get exec -}bind def -/BuildGlyph -{ - exch begin - GlyphProcs exch get exec - end -}bind def -}bind def -setglobal -/@_SaveStackLevels - { - Adobe_CoolType_Data - begin - /@vmState currentglobal def false setglobal - @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 1 sub - 1 index lt - {pop count} - if - dup/argCount exch def - dup 0 gt - { - args exch 0 exch getinterval - astore pop - } - {pop} - ifelse - count - /restCount exch def - end - /@opStackLevel @opStackLevel 1 add def - countdictstack 1 sub - @dictStackCountByLevel exch @dictStackLevel exch put - /@dictStackLevel @dictStackLevel 1 add def - @vmState setglobal - 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 - begin - args exch - argCount 1 sub exch sub get - end - end - }bind def -currentglobal true setglobal -/CTHasResourceForAllBug - Level2? - { - 1 dict dup - /@shouldNotDisappearDictValue true def - Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put - begin - count @_SaveStackLevels - {(*){pop stop}128 string/Category resourceforall} - stopped pop - @_RestoreStackLevels - currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll - { - /@shouldNotDisappearDictValue known - { - { - end - currentdict 1 index eq - {pop exit} - if - } - loop - } - if - } - { - pop - end - } - ifelse - } - {false} - ifelse - def -true setglobal -/CTHasResourceStatusBug - Level2? - { - mark - {/steveamerige/Category resourcestatus} - stopped - {cleartomark true} - {cleartomark currentglobal not} - ifelse - } - {false} - ifelse - def -setglobal -/CTResourceStatus - { - mark 3 1 roll - /Category findresource - begin - ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec - {cleartomark false} - {{3 2 roll pop true}{cleartomark false}ifelse} - ifelse - end - }bind def -/CTWorkAroundBugs - { - Level2? - { - /cid_PreLoad/ProcSet resourcestatus - { - pop pop - currentglobal - mark - { - (*) - { - dup/CMap CTHasResourceStatusBug - {CTResourceStatus} - {resourcestatus} - ifelse - { - pop dup 0 eq exch 1 eq or - { - dup/CMap findresource gcheck setglobal - /CMap undefineresource - } - { - pop CTHasResourceForAllBug - {exit} - {stop} - ifelse - } - ifelse - } - {pop} - ifelse - } - 128 string/CMap resourceforall - } - stopped - {cleartomark} - stopped pop - setglobal - } - if - } - if - }bind def -/ds - { - Adobe_CoolType_Core - begin - CTWorkAroundBugs - /mo/moveto load def - /nf/newencodedfont load def - /msf{makefont setfont}bind def - /uf{dup undefinefont ct_VMDictUndef}bind def - /ur/undefineresource load def - /chp/charpath load def - /awsh/awidthshow load def - /wsh/widthshow load def - /ash/ashow load def - /@xshow/xshow load def - /@yshow/yshow load def - /@xyshow/xyshow load def - /@cshow/cshow load def - /sh/show load def - /rp/repeat load def - /.n/.notdef def - end - currentglobal false setglobal - userdict/Adobe_CoolType_Data 2 copy known not - {2 copy 10 dict put} - if - get - 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 - /InVMFontsByCMap 10 dict def - /InVMDeepCopiedFonts 10 dict def - end - setglobal - }bind def -/dt - { - currentdict Adobe_CoolType_Core eq - {end} - if - }bind def -/ps - { - Adobe_CoolType_Core begin - Adobe_CoolType_GVMFonts begin - Adobe_CoolType_LVMFonts begin - SharedFontDirectory begin - }bind def -/pt - { - end - end - end - 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 systemdict - begin - userdict - begin - /globaldict where{/globaldict get begin}if - dup where pop exch get - /globaldict where{pop end}if - end - end -Adobe_CoolType_Core_Defined - {/systemfindfont exch def} - { - /findfont 1 index def - /systemfindfont exch def - } -ifelse -/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 dup type/nametype eq - {findfont} - if ne - {pop false} - if - } - if - dup - { - 1 index dup type/nametype eq - {findfont} - if - dup/CharStrings known - { - /CharStrings get length - 4 index findfont/CharStrings get length - ne - { - pop false - } - if - } - {pop} - ifelse - } - if - { - pop - 1 index findfont - /Encoding get exch - 0 1 255 - {2 copy get 3 index 3 1 roll put} - for - pop pop pop - } - { - currentglobal - 4 1 roll - dup type/nametype eq - {findfont} - if - dup gcheck setglobal - dup dup maxlength 2 add dict - begin - exch - { - 1 index/FID ne - 2 index/Encoding ne and - {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 dup - currentdict - end - definefont ct_VMDictPut - setglobal - } - 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 - /$inVMIndex - $sname null eq - { - 1 index $str cvs - dup length $slen sub $slen getinterval cvn - } - {$sname} - ifelse def - end - {findfont} - @Stopped - { - dup length 8 add string exch - 1 index 0(BadFont:)putinterval - 1 index exch 8 exch dup length string cvs putinterval cvn - {findfont} - @Stopped - {pop/Courier findfont} - if - } - if - $SubstituteFont - begin - /$sname null def - /$slen 0 def - /$inVMIndex null 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 -/ct_StyleDicts 4 dict dup begin - /Adobe-Japan1 4 dict dup begin - Level2? - { - /Serif - /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiMin-W3} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiMin-W3/CIDFont resourcestatus - {pop pop/HeiseiMin-W3} - {/Ryumin-Light} - ifelse - } - {/Ryumin-Light} - ifelse - } - ifelse - def - /SansSerif - /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiKakuGo-W5} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiKakuGo-W5/CIDFont resourcestatus - {pop pop/HeiseiKakuGo-W5} - {/GothicBBB-Medium} - ifelse - } - {/GothicBBB-Medium} - ifelse - } - ifelse - def - /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiMaruGo-W4} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiMaruGo-W4/CIDFont resourcestatus - {pop pop/HeiseiMaruGo-W4} - { - /Jun101-Light-RKSJ-H/Font resourcestatus - {pop pop/Jun101-Light} - {SansSerif} - ifelse - } - ifelse - } - { - /Jun101-Light-RKSJ-H/Font resourcestatus - {pop pop/Jun101-Light} - {SansSerif} - ifelse - } - ifelse - } - ifelse - /RoundSansSerif exch def - /Default Serif def - } - { - /Serif/Ryumin-Light def - /SansSerif/GothicBBB-Medium def - { - (fonts/Jun101-Light-83pv-RKSJ-H)status - }stopped - {pop}{ - {pop pop pop pop/Jun101-Light} - {SansSerif} - ifelse - /RoundSansSerif exch def - }ifelse - /Default Serif def - } - ifelse - end - def - /Adobe-Korea1 4 dict dup begin - /Serif/HYSMyeongJo-Medium def - /SansSerif/HYGoThic-Medium def - /RoundSansSerif SansSerif def - /Default Serif def - end - def - /Adobe-GB1 4 dict dup begin - /Serif/STSong-Light def - /SansSerif/STHeiti-Regular def - /RoundSansSerif SansSerif def - /Default Serif def - end - def - /Adobe-CNS1 4 dict dup begin - /Serif/MKai-Medium def - /SansSerif/MHei-Medium def - /RoundSansSerif SansSerif def - /Default Serif def - end - def -end -def -Level2?{currentglobal true setglobal}if -/ct_BoldRomanWidthProc - { - stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth - 0 0 - }bind def -/ct_Type0WidthProc - { - dup stringwidth 0 0 moveto - 2 index true charpath pathbbox - 0 -1 - 7 index 2 div .88 - setcachedevice2 - pop - 0 0 - }bind def -/ct_Type0WMode1WidthProc - { - dup stringwidth - pop 2 div neg -0.88 - 2 copy - moveto - 0 -1 - 5 -1 roll true charpath pathbbox - setcachedevice - }bind def -/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_BoldBaseFont - 11 dict begin - /FontType 3 def - /FontMatrix[1 0 0 1 0 0]def - /FontBBox[0 0 1 1]def - /Encoding cHexEncoding def - /_setwidthProc/ct_BoldRomanWidthProc load def - /_bcstr1 1 string def - /BuildChar - { - exch begin - _basefont setfont - _bcstr1 dup 0 4 -1 roll put - dup - _setwidthProc - 3 copy - moveto - show - _basefonto setfont - moveto - show - end - }bind def - currentdict - end -def -systemdict/composefont known -{ -/ct_DefineIdentity-H -{ - /Identity-H/CMap resourcestatus - { - pop pop - } - { - /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.000 def - /CMapType 1 def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - ifelse -} -def -/ct_BoldBaseCIDFont - 11 dict begin - /CIDFontType 1 def - /CIDFontName/ct_BoldBaseCIDFont def - /FontMatrix[1 0 0 1 0 0]def - /FontBBox[0 0 1 1]def - /_setwidthProc/ct_Type0WidthProc load def - /_bcstr2 2 string def - /BuildGlyph - { - exch begin - _basefont setfont - _bcstr2 1 2 index 256 mod put - _bcstr2 0 3 -1 roll 256 idiv put - _bcstr2 dup _setwidthProc - 3 copy - moveto - show - _basefonto setfont - moveto - show - end - }bind def - currentdict - end -def -}if -Level2?{setglobal}if -/ct_CopyFont{ - { - 1 index/FID ne 2 index/UniqueID ne and - {def}{pop pop}ifelse - }forall -}bind def -/ct_Type0CopyFont -{ - exch - dup length dict - begin - ct_CopyFont - [ - exch - FDepVector - { - dup/FontType get 0 eq - { - 1 index ct_Type0CopyFont - /_ctType0 exch definefont - } - { - /_ctBaseFont exch - 2 index exec - } - ifelse - exch - } - forall - pop - ] - /FDepVector exch def - currentdict - end -}bind def -/ct_MakeBoldFont -{ - dup/ct_SyntheticBold known - { - dup length 3 add dict begin - ct_CopyFont - /ct_StrokeWidth .03 0 FontMatrix idtransform pop def - /ct_SyntheticBold true def - currentdict - end - definefont - } - { - dup dup length 3 add dict - begin - ct_CopyFont - /PaintType 2 def - /StrokeWidth .03 0 FontMatrix idtransform pop def - /dummybold currentdict - end - definefont - dup/FontType get dup 9 ge exch 11 le and - { - ct_BoldBaseCIDFont - dup length 3 add dict copy begin - dup/CIDSystemInfo get/CIDSystemInfo exch def - ct_DefineIdentity-H - /_Type0Identity/Identity-H 3 -1 roll[exch]composefont - /_basefont exch def - /_Type0Identity/Identity-H 3 -1 roll[exch]composefont - /_basefonto exch def - currentdict - end - /CIDFont defineresource - } - { - ct_BoldBaseFont - dup length 3 add dict copy begin - /_basefont exch def - /_basefonto exch def - currentdict - end - definefont - } - ifelse - } - ifelse -}bind def -/ct_MakeBold{ - 1 index - 1 index - findfont - currentglobal 5 1 roll - dup gcheck setglobal - dup - /FontType get 0 eq - { - dup/WMode known{dup/WMode get 1 eq}{false}ifelse - version length 4 ge - and - {version 0 4 getinterval cvi 2015 ge} - {true} - ifelse - {/ct_Type0WidthProc} - {/ct_Type0WMode1WidthProc} - ifelse - ct_BoldBaseFont/_setwidthProc 3 -1 roll load put - {ct_MakeBoldFont}ct_Type0CopyFont definefont - } - { - dup/_fauxfont known not 1 index/SubstMaster known not and - { - ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put - ct_MakeBoldFont - } - { - 2 index 2 index eq - {exch pop } - { - dup length dict begin - ct_CopyFont - currentdict - end - definefont - } - ifelse - } - ifelse - } - ifelse - pop pop pop - setglobal -}bind def -/?str1 256 string def -/?set - { - $SubstituteFont - begin - /$substituteFound false def - /$fontname 1 index def - /$doSmartSub false def - end - dup - 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 - { - 5 1 roll pop pop pop pop - findfont - } - { - 1 index - findfont - dup/FontType get 3 eq - { - 6 1 roll pop pop pop pop pop false - } - {pop true} - ifelse - { - $SubstituteFont - begin - pop pop - /$styleArray 1 index def - /$regOrdering 2 index def - pop pop - 0 1 $styleArray length 1 sub - { - $styleArray exch get - ct_StyleDicts $regOrdering - 2 copy known - { - get - exch 2 copy known not - {pop/Default} - if - get - dup type/nametype eq - { - ?str1 cvs length dup 1 add exch - ?str1 exch(-)putinterval - exch dup length exch ?str1 exch 3 index exch putinterval - add ?str1 exch 0 exch getinterval cvn - } - { - pop pop/Unknown - } - ifelse - } - { - pop pop pop pop/Unknown - } - ifelse - } - for - end - findfont - }if - } - ifelse - currentglobal false setglobal 3 1 roll - null copyfont definefont pop - setglobal - }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 - /$inVMIndex null 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 - Adobe_CoolType_Data/InVMDeepCopiedFonts get - 1 index/FontName get known - { - pop - Adobe_CoolType_Data/InVMDeepCopiedFonts get - 1 index get - null copyfont - } - {$deepcopyfont} - ifelse - exch 1 index exch/FontBasedOn exch put - dup/FontName $fontname dup type/stringtype eq{cvn}if put - definefont - Adobe_CoolType_Data/InVMDeepCopiedFonts get - begin - dup/FontBasedOn get 1 index def - end - }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 - { - dup/CIDFont findresource/CIDSystemInfo get - begin - Registry length Ordering length Supplement 8 string cvs - 3 copy length 2 add add add string - dup 5 1 roll dup 0 Registry putinterval - dup 4 index(-)putinterval - dup 4 index 1 add Ordering putinterval - 4 2 roll add 1 add 2 copy(-)putinterval - end - 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch - anchorsearch - {pop pop 3 2 roll putinterval cvn/$cmapname exch def} - {pop pop pop pop pop} - ifelse - 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 - Adobe_CoolType_Data/InVMFontsByCMap get - 1 index 2 copy known - { - get - false exch - { - pop - currentglobal - { - GlobalFontDirectory 1 index known - {exch pop true exit} - {pop} - ifelse - } - { - FontDirectory 1 index known - {exch pop true exit} - { - GlobalFontDirectory 1 index known - {exch pop true exit} - {pop} - ifelse - } - ifelse - } - ifelse - } - forall - } - {pop pop false} - ifelse - { - exch pop exch pop - } - { - 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 pop $findfontByEnum} - ifelse - } - ifelse - } - {pop pop pop $findfontByEnum} - ifelse - } - {pop pop $findfontByEnum} - ifelse - } - 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(.\n)print - } - if - } - {exch pop} - ifelse - } - {exch pop} - ifelse - end - }bind def - } - ifelse - end - end - Adobe_CoolType_Core_Defined not - { - 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 - { - $inVMIndex null ne - {dup $inVMIndex $AddInVMFont} - if - $doSmartSub - { - currentdict/$Strategy known - {$Strategy/$BuildFont get exec} - if - } - if - } - if - end - }bind put - } - if - } - if - end -/$AddInVMFont - { - exch/FontName 2 copy known - { - get - 1 dict dup begin exch 1 index gcheck def end exch - Adobe_CoolType_Data/InVMFontsByCMap get exch - $DictAdd - } - {pop pop pop} - ifelse - }bind def -/$DictAdd - { - 2 copy known not - {2 copy 4 index length dict put} - if - Level2? not - { - 2 copy get dup maxlength exch length 4 index length add lt - 2 copy get dup length 4 index length add exch maxlength 1 index lt - { - 2 mul dict - begin - 2 copy get{forall}def - 2 copy currentdict put - end - } - {pop} - ifelse - } - if - get - begin - {def} - forall - end - }bind def -end -end -%%EndResource -currentglobal true setglobal -%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 -%%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. -%%Version: 1.23 0 -systemdict/languagelevel known dup - {currentglobal false setglobal} - {false} -ifelse -exch -userdict/Adobe_CoolType_Utility 2 copy known - {2 copy get dup maxlength 27 add dict copy} - {27 dict} -ifelse put -Adobe_CoolType_Utility - begin - /@eexecStartData - def - /@recognizeCIDFont null def - /ct_Level2? exch def - /ct_Clone? 1183615869 internaldict dup - /CCRun known not - exch/eCCRun known not - ct_Level2? and or def -ct_Level2? - {globaldict begin currentglobal true setglobal} -if - /ct_AddStdCIDMap - ct_Level2? - {{ - mark - Adobe_CoolType_Utility/@recognizeCIDFont currentdict put - { - ((Hex)57 StartData - 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 - 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 - d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 - cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec - } - stopped - { - cleartomark - Adobe_CoolType_Utility/@recognizeCIDFont get - countdictstack dup array dictstack - exch 1 sub -1 0 - { - 2 copy get 3 index eq - {1 index length exch sub 1 sub{end}repeat exit} - {pop} - ifelse - } - for - pop pop - Adobe_CoolType_Utility/@eexecStartData get eexec - } - {cleartomark} - ifelse - }} - {{ - Adobe_CoolType_Utility/@eexecStartData get eexec - }} - ifelse bind def -userdict/cid_extensions known -dup{cid_extensions/cid_UpdateDB known and}if - { - cid_extensions - begin - /cid_GetCIDSystemInfo - { - 1 index type/stringtype eq - {exch cvn exch} - if - cid_extensions - begin - dup load 2 index known - { - 2 copy - cid_GetStatusInfo - dup null ne - { - 1 index load - 3 index get - dup null eq - {pop pop cid_UpdateDB} - { - exch - 1 index/Created get eq - {exch pop exch pop} - {pop cid_UpdateDB} - ifelse - } - ifelse - } - {pop cid_UpdateDB} - ifelse - } - {cid_UpdateDB} - ifelse - end - }bind def - end - } -if -ct_Level2? - {end setglobal} -if - /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.000 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 0.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 0.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/.notdef - dup 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 [0.001 0 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 [0.001 0 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 - dup/FontMatrix known - {dup/FontMatrix get/FontMatrix exch def} - {/FontMatrix matrix def} - ifelse - /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 - currentglobal true setglobal - /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.000 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 - setglobal - /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.000 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 -setglobal -%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 -%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. -%%Version: 1.0 0 -userdict/ct_T42Dict 15 dict put -ct_T42Dict begin -/Is2015? -{ - version - cvi - 2015 - ge -}bind def -/AllocGlyphStorage -{ - Is2015? - { - pop - } - { - {string}forall - }ifelse -}bind def -/Type42DictBegin -{ -25 dict begin - /FontName exch def - /CharStrings 256 dict -begin - /.notdef 0 def - currentdict -end def - /Encoding exch def - /PaintType 0 def - /FontType 42 def - /FontMatrix[1 0 0 1 0 0]def - 4 array astore cvx/FontBBox exch def - /sfnts -}bind def -/Type42DictEnd -{ - currentdict dup/FontName get exch definefont end -ct_T42Dict exch -dup/FontName get exch put -}bind def -/RD{string currentfile exch readstring pop}executeonly def -/PrepFor2015 -{ -Is2015? -{ - /GlyphDirectory - 16 - dict def - sfnts 0 get - dup - 2 index - (glyx) - putinterval - 2 index - (locx) - putinterval - pop - pop -} -{ - pop - pop -}ifelse -}bind def -/AddT42Char -{ -Is2015? -{ - /GlyphDirectory get - begin - def - end - pop - pop -} -{ - /sfnts get - 4 index - get - 3 index - 2 index - putinterval - pop - pop - pop - pop -}ifelse -}bind def -/T0AddT42Mtx2 -{ -/CIDFont findresource/Metrics2 get begin def end -}bind def -end -%%EndResource -currentglobal true setglobal -%%BeginFile: MMFauxFont.prc -%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. -%%All Rights Reserved. -userdict /ct_EuroDict 10 dict put -ct_EuroDict begin -/ct_CopyFont -{ - { 1 index /FID ne {def} {pop pop} ifelse} forall -} def -/ct_GetGlyphOutline -{ - gsave - initmatrix newpath - exch findfont dup - length 1 add dict - begin - ct_CopyFont - /Encoding Encoding dup length array copy - dup - 4 -1 roll - 0 exch put - def - currentdict - end - /ct_EuroFont exch definefont - 1000 scalefont setfont - 0 0 moveto - [ - <00> stringwidth - <00> false charpath - pathbbox - [ - {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall - grestore - counttomark 8 add -} -def -/ct_MakeGlyphProc -{ - ] cvx - /ct_PSBuildGlyph cvx - ] cvx -} def -/ct_PSBuildGlyph -{ - gsave - 8 -1 roll pop - 7 1 roll - 6 -2 roll ct_FontMatrix transform 6 2 roll - 4 -2 roll ct_FontMatrix transform 4 2 roll - ct_FontMatrix transform - currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse - dup 9 1 roll - { - currentdict /StrokeWidth 2 copy known - { - get 2 div - 0 ct_FontMatrix dtransform pop - 5 1 roll - 4 -1 roll 4 index sub - 4 1 roll - 3 -1 roll 4 index sub - 3 1 roll - exch 4 index add exch - 4 index add - 5 -1 roll pop - } - { - pop pop - } - ifelse - } - if - setcachedevice - ct_FontMatrix concat - ct_PSPathOps begin - exec - end - { - currentdict /StrokeWidth 2 copy known - { get } - { pop pop 0 } - ifelse - setlinewidth stroke - } - { - fill - } - ifelse - grestore -} def -/ct_PSPathOps 4 dict dup begin - /m {moveto} def - /l {lineto} def - /c {curveto} def - /cp {closepath} def -end -def -/ct_matrix1000 [1000 0 0 1000 0 0] def -/ct_AddGlyphProc -{ - 2 index findfont dup length 4 add dict - begin - ct_CopyFont - /CharStrings CharStrings dup length 1 add dict copy - begin - 3 1 roll def - currentdict - end - def - /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def - /ct_PSBuildGlyph /ct_PSBuildGlyph load def - /ct_PSPathOps /ct_PSPathOps load def - currentdict - end - definefont pop -} -def -systemdict /languagelevel known -{ - /ct_AddGlyphToPrinterFont { - 2 copy - ct_GetGlyphOutline 3 add -1 roll restore - ct_MakeGlyphProc - ct_AddGlyphProc - } def -} -{ - /ct_AddGlyphToPrinterFont { - pop pop restore - Adobe_CTFauxDict /$$$FONTNAME get - /Euro - Adobe_CTFauxDict /$$$SUBSTITUTEBASE get - ct_EuroDict exch get - ct_AddGlyphProc - } def -} ifelse -/AdobeSansMM -{ -556 0 24 -19 541 703 - { - 541 628 m - 510 669 442 703 354 703 c - 201 703 117 607 101 444 c - 50 444 l - 25 372 l - 97 372 l - 97 301 l - 49 301 l - 24 229 l - 103 229 l - 124 67 209 -19 350 -19 c - 435 -19 501 25 509 32 c - 509 131 l - 492 105 417 60 343 60 c - 267 60 204 127 197 229 c - 406 229 l - 430 301 l - 191 301 l - 191 372 l - 455 372 l - 479 444 l - 194 444 l - 201 531 245 624 348 624 c - 433 624 484 583 509 534 c - cp - 556 0 m - } -ct_PSBuildGlyph -} def -/AdobeSerifMM -{ -500 0 10 -12 484 692 - { - 347 298 m - 171 298 l - 170 310 170 322 170 335 c - 170 362 l - 362 362 l - 374 403 l - 172 403 l - 184 580 244 642 308 642 c - 380 642 434 574 457 457 c - 481 462 l - 474 691 l - 449 691 l - 433 670 429 657 410 657 c - 394 657 360 692 299 692 c - 204 692 94 604 73 403 c - 22 403 l - 10 362 l - 70 362 l - 69 352 69 341 69 330 c - 69 319 69 308 70 298 c - 22 298 l - 10 257 l - 73 257 l - 97 57 216 -12 295 -12 c - 364 -12 427 25 484 123 c - 458 142 l - 425 101 384 37 316 37 c - 256 37 189 84 173 257 c - 335 257 l - cp - 500 0 m - } -ct_PSBuildGlyph -} def -end -%%EndFile -setglobal -Adobe_CoolType_Core begin /$None SetSubstituteStrategy end -%%BeginResource: procset Adobe_AGM_Image 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{ - currentpacking - true setpacking -}if -userdict/Adobe_AGM_Image 71 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 -/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 -/AGMIMG_maskSource nd -/AGMIMG_flushfilters nd -/invert_image_samples nd -/knockout_image_samples nd -/img nd -/sepimg nd -/devnimg nd -/idximg nd -/ds -{ - 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 -/ps -{ - 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 - /devnimg/devn_imageormask ldf - /idximg/indexed_imageormask ldf - /_ctype 7 def - currentdict{ - dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ - bind - }if - def - }forall -}def -/pt -{ - end -}def -/dt -{ -}def -/AGMIMG_flushfilters -{ - dup type/arraytype ne - {1 array astore}if - dup 0 get currentfile ne - {dup 0 get flushfile}if - { - dup type/filetype eq - { - dup status 1 index currentfile ne and - {closefile} - {pop} - ifelse - }{pop}ifelse - }forall -}def -/AGMIMG_init_common -{ - currentdict/T known{/ImageType/T ldf currentdict/T undef}if - currentdict/W known{/Width/W ldf currentdict/W undef}if - currentdict/H known{/Height/H ldf currentdict/H undef}if - currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if - currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if - currentdict/D known{/Decode/D ldf currentdict/D undef}if - currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if - currentdict/O known{ - /Operator/O load 1 eq{ - /imagemask - }{ - /O load 2 eq{ - /image - }{ - /colorimage - }ifelse - }ifelse - def - currentdict/O undef - }if - currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if - currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if - currentdict/I known{/Interpolate/I ldf currentdict/I undef}if - currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if - /DataSource load xcheck not{ - DataSource type/arraytype eq{ - DataSource 0 get type/filetype eq{ - /_Filters DataSource def - currentdict/MultipleDataSources known not{ - /DataSource DataSource dup length 1 sub get def - }if - }if - }if - currentdict/MultipleDataSources known not{ - /MultipleDataSources DataSource type/arraytype eq{ - DataSource length 1 gt - } - {false}ifelse def - }if - }if - /NComponents Decode length 2 div def - currentdict/SkipImageProc known not{/SkipImageProc{false}def}if -}bdf -/imageormask_sys -{ - begin - AGMIMG_init_common - save mark - level2{ - currentdict - Operator/imagemask eq{ - AGMIMG_&imagemask - }{ - use_mask{ - process_mask AGMIMG_&image - }{ - AGMIMG_&image - }ifelse - }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 - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - cleartomark restore - end -}def -/overprint_plate -{ - currentoverprint{ - 0 get dup type/nametype eq{ - dup/DeviceGray eq{ - pop AGMCORE_black_plate not - }{ - /DeviceCMYK eq{ - AGMCORE_is_cmyk_sep not - }if - }ifelse - }{ - false exch - { - AGMOHS_sepink eq or - }forall - not - }ifelse - }{ - pop false - }ifelse -}def -/process_mask -{ - level3{ - dup begin - /ImageType 1 def - end - 4 dict begin - /DataDict exch def - /ImageType 3 def - /InterleaveType 3 def - /MaskDict 9 dict begin - /ImageType 1 def - /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def - /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def - /ImageMatrix[Width 0 0 Height neg 0 Height]def - /NComponents 1 def - /BitsPerComponent 1 def - /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def - /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def - currentdict end def - currentdict end - }if -}def -/use_mask -{ - dup/Mask known {dup/Mask get}{false}ifelse -}def -/imageormask -{ - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - } - { - save mark - level2 AGMCORE_host_sep not and{ - currentdict - Operator/imagemask eq DeviceN_PS2 not and{ - 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 - use_mask{ - process_mask image - }{ - DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and - { - Names convert_to_process not{ - 2 dict begin - /imageDict xdf - /names_index 0 def - gsave - imageDict write_image_file{ - Names{ - dup(None)ne{ - [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace - Operator imageDict read_image_file - names_index 0 eq{true setoverprint}if - /names_index names_index 1 add def - }{ - pop - }ifelse - }forall - close_image_file - }if - grestore - end - }{ - Operator/imagemask eq{ - imagemask - }{ - image - }ifelse - }ifelse - }{ - Operator/imagemask eq{ - imagemask - }{ - image - }ifelse - }ifelse - }ifelse - }ifelse - }{ - Width Height - Operator/imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix/DataSource load - /Adobe_AGM_OnHost_Seps where{ - pop imagemask - }{ - currentgray 1 ne{ - currentdict imageormask_sys - }{ - currentoverprint not{ - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }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{ - AGMCORE_is_cmyk_sep{ - MultipleDataSources{ - /DataSource DataSource 0 get xcheck - { - [ - 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 - }{ - DataSource aload pop AGMCORE_get_ink_data - }ifelse def - }{ - /DataSource - Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul - /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 - invert_image_samples - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentoverprint not Operator/imagemask eq and{ - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }{ - MultipleDataSources NComponents AGMIMG_&colorimage - }ifelse - }{ - true NComponents colorimage - }ifelse - }{ - Operator/image eq{ - AGMCORE_host_sep{ - /DoImage true def - currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse - { - AGMCORE_black_plate not Operator/imagemask ne and{ - /DoImage false def - currentdict ignoreimagedata - }if - }if - 1 AGMCORE_&setgray - DoImage - {currentdict imageormask_sys}if - }{ - use_mask{ - process_mask image - }{ - image - }ifelse - }ifelse - }{ - Operator/knockout eq{ - pop pop pop pop pop - currentcolorspace overprint_plate not{ - knockout_unitsq - }if - }if - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end -}def -/sep_imageormask -{ - /sep_colorspace_dict AGMCORE_gget begin - CSA map_csa - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - }{ - 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{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ - [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse 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{ - currentdict/ImageMatrix get concat - knockout_unitsq - }{ - currentgray 1 ne{ - AGMCORE_is_cmyk_sep Name(All)ne and{ - level2{ - Name AGMCORE_IsSeparationAProcessColor - { - Operator/imagemask eq{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor - }if - }{ - invert_image_samples - }ifelse - }{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - [/Separation Name[/DeviceGray] - { - sep_colorspace_proc AGMCORE_get_ink_data - 1 exch sub - }bind - ]AGMCORE_&setcolorspace - /sep_tint AGMCORE_gget AGMCORE_&setcolor - }if - }ifelse - 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 - }{ - currentoverprint not Name(All)eq or Operator/imagemask eq and{ - currentdict imageormask_sys - }{ - currentoverprint not - { - gsave - knockout_unitsq - grestore - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - currentcolorspace 0 get/Separation ne{ - [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - }if - currentoverprint - MappedCSA 0 get/DeviceCMYK eq and - Name AGMCORE_IsSeparationAProcessColor not and - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse - Name(All)ne and{ - imageormask_l2_overprint - }{ - currentdict imageormask - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end - end -}def -/colorSpaceElemCnt -{ - mark currentcolor counttomark dup 2 add 1 roll cleartomark -}bdf -/devn_sep_datasource -{ - 1 dict begin - /dataSource xdf - [ - 0 1 dataSource length 1 sub{ - dup currentdict/dataSource get/exch cvx/get cvx/exec cvx - /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx - }for - ]cvx bind - end -}bdf -/devn_alt_datasource -{ - 11 dict begin - /convProc xdf - /origcolorSpaceElemCnt xdf - /origMultipleDataSources xdf - /origBitsPerComponent xdf - /origDecode xdf - /origDataSource xdf - /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def - /DataSource origMultipleDataSources - { - [ - BitsPerComponent 8 idiv origDecode length 2 idiv mul string - 0 1 origDecode length 2 idiv 1 sub - { - dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch - origDataSource exch get 0()/SubFileDecode filter - BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx - }for - ]bind cvx - }{origDataSource}ifelse 0()/SubFileDecode filter def - [ - origcolorSpaceElemCnt string - 0 2 origDecode length 2 sub - { - dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div - 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx - }for - /convProc load/exec cvx - origcolorSpaceElemCnt 1 sub -1 0 - { - /dup cvx 2/add cvx/index cvx - 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx - }for - ]bind cvx 0()/SubFileDecode filter - end -}bdf -/devn_imageormask -{ - /devicen_colorspace_dict AGMCORE_gget begin - CSA map_csa - 2 dict begin - dup - /srcDataStrs[3 -1 roll begin - AGMIMG_init_common - currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse - { - Width Decode length 2 div mul cvi - { - dup 65535 gt{1 add 2 div cvi}{exit}ifelse - }loop - string - }repeat - end]def - /dstDataStr srcDataStrs 0 get length string def - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - }{ - save mark - AGMCORE_producing_seps not{ - level3 not{ - Operator/imagemask ne{ - /DataSource[[ - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def - /MultipleDataSources true def - /Decode colorSpaceElemCnt[exch{0 1}repeat]def - }if - }if - currentdict imageormask - }{ - AGMCORE_host_sep{ - Names convert_to_process{ - CSA get_csa_by_name 0 get/DeviceCMYK eq{ - /DataSource - Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource - filter_cmyk 0()/SubFileDecode filter def - /MultipleDataSources false def - /Decode[1 0]def - /DeviceGray setcolorspace - currentdict imageormask_sys - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate{ - /DataSource - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource - /MultipleDataSources false def - /Decode colorSpaceElemCnt[exch{0 1}repeat]def - currentdict imageormask_sys - }{ - gsave - knockout_unitsq - grestore - currentdict consumeimagedata - }ifelse - }ifelse - } - { - /devicen_colorspace_dict AGMCORE_gget/names_index known{ - Operator/imagemask ne{ - MultipleDataSources{ - /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def - /MultipleDataSources false def - }{ - /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def - }ifelse - invert_image_samples - }if - currentdict imageormask_sys - }{ - currentoverprint not Operator/imagemask eq and{ - currentdict imageormask_sys - }{ - currentoverprint not - { - gsave - knockout_unitsq - grestore - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - currentdict imageormask - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end - 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 - AGMIMG_init_common - save mark - currentdict - AGMCORE_host_sep{ - Operator/knockout eq{ - /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ - /CSA get get_csa_by_name - }{ - /Names get - }ifelse - overprint_plate not{ - knockout_unitsq - }if - }{ - Indexed_DeviceN{ - /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ - indexed_image_lev2_sep - }{ - currentoverprint not{ - knockout_unitsq - }if - currentdict consumeimagedata - }ifelse - }{ - AGMCORE_is_cmyk_sep{ - Operator/imagemask eq{ - imageormask_sys - }{ - level2{ - indexed_image_lev2_sep - }{ - indexed_image_lev1_sep - }ifelse - }ifelse - }{ - currentoverprint not{ - knockout_unitsq - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - level2{ - Indexed_DeviceN{ - /indexed_colorspace_dict AGMCORE_gget begin - }{ - /indexed_colorspace_dict AGMCORE_gget dup null ne - { - begin - currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse - get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and - AGMCORE_in_rip_sep and{ - [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] - setcolorspace - }if - end - } - {pop}ifelse - }ifelse - imageormask - Indexed_DeviceN{ - end - }if - }{ - Operator/imagemask eq{ - imageormask - }{ - indexed_imageormask_lev1 - }ifelse - }ifelse - }ifelse - cleartomark restore - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end -}def -/indexed_image_lev2_sep -{ - /indexed_colorspace_dict AGMCORE_gget begin - begin - Indexed_DeviceN not{ - currentcolorspace - dup 1/DeviceGray put - dup 3 - currentcolorspace 2 get 1 add string - 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub - { - dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put - }for - put setcolorspace - }if - currentdict - Operator/imagemask eq{ - AGMIMG_&imagemask - }{ - use_mask{ - process_mask AGMIMG_&image - }{ - AGMIMG_&image - }ifelse - }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 - /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 -/cachemask_level2 -{ - 3 dict begin - /LZWEncode filter/WriteFilter xdf - /readBuffer 256 string def - /ReadFilter - currentfile - 0(%EndMask)/SubFileDecode filter - /ASCII85Decode filter - /RunLengthDecode filter - def - { - ReadFilter readBuffer readstring exch - WriteFilter exch writestring - not{exit}if - }loop - WriteFilter closefile - end -}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 - /SkipImageProc{false}def - currentdict - end - sep_imageormask - }bdf - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_colorAry xddf - /customcolor_tint AGMCORE_gget - << - /Name AGMIMG_colorAry 4 get - /CSA[/DeviceCMYK] - /TintMethod/Subtractive - /TintProc null - /MappedCSA null - /NComponents 4 - /Components[AGMIMG_colorAry aload pop pop] - >> - setsepcolorspace - mapto_sep_imageormask - }ndf - Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_override false put - current_spot_alias{dup 4 get map_alias}{false}ifelse - { - false set_spot_alias - /customcolor_tint AGMCORE_gget exch setsepcolorspace - pop - mapto_sep_imageormask - true set_spot_alias - }{ - //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec - }ifelse - }bdf -}def -/snap_to_device -{ - 6 dict begin - matrix currentmatrix - dup 0 get 0 eq 1 index 3 get 0 eq and - 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop - { - 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def - 0 0 transform - AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch - AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch - itransform/AGMIMG_llY exch def/AGMIMG_llX exch def - 1 1 transform - AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch - AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch - itransform/AGMIMG_urY exch def/AGMIMG_urX exch def - [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat - }{ - }ifelse - end -}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 -currentdict Adobe_AGM_Utils eq {end} if -%%EndProlog -%%BeginSetup -Adobe_AGM_Utils begin -2 2010 Adobe_AGM_Core/ds gx -Adobe_CoolType_Core/ds get exec -Adobe_AGM_Image/ds gx -[/NamespacePush pdfmark_5 -[/_objdef {Doc_Metadata} /type /stream /OBJ pdfmark_5 -[{Doc_Metadata} 1281 (% &end XMP packet& %) ReadBypdfmark_5_string - - - - - - - test03 - - - - - TeX output 2011.04.08:1517 - - - - - Donald Story (Complimentary Copy) 4662 2009-10-23 13:17:17 - - - - - +%!PS-Adobe-3.1 EPSF-3.0 +%ADO_DSC_Encoding: Windows Roman +%%Title: graph.pdf +%%Creator: Adobe Acrobat 10.0.1 +%%For: D. P. Story +%%CreationDate: 4/8/2011, 3:22:12 PM +%%BoundingBox: -1 0 257 195 +%%HiResBoundingBox: 0 0 256.7930 194.9510 +%%CropBox: 0 0 256.7930 194.9510 +%%LanguageLevel: 2 +%%DocumentNeededResources: (atend) +%%DocumentSuppliedResources: (atend) +%%DocumentNeededFeatures: (atend) +%%DocumentSuppliedFeatures: (atend) +%%DocumentData: Clean7Bit +%%Pages: (atend) +%%DocumentProcessColors: Black +%%DocumentCustomColors: (atend) +%%EndComments +%%BeginDefaults +%%ViewingOrientation: 1 0 0 1 +%%EndDefaults +%%BeginProlog +%%BeginResource: procset Adobe_AGM_Utils 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{currentpacking true setpacking}if +userdict/Adobe_AGM_Utils 75 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 +/gx +{get exec}bdf +/ps_level + /languagelevel where{ + pop systemdict/languagelevel gx + }{ + 1 + }ifelse +def +/level2 + ps_level 2 ge +def +/level3 + ps_level 3 ge +def +/ps_version + {version cvr}stopped{-1}if +def +/set_gvm +{currentglobal exch setglobal}bdf +/reset_gvm +{setglobal}bdf +/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()cvn eq{ + pop(Process) + }if + }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 +/get_gstate_and_matrix +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_ctm matrix currentmatrix def + end + get_gstate +}def +/set_gstate_and_matrix +{ + set_gstate + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_ctm setmatrix + end +}def +/AGMUTIL_str256 256 string def +/AGMUTIL_src256 256 string def +/AGMUTIL_dst64 64 string def +/AGMUTIL_srcLen nd +/AGMUTIL_ndx nd +/AGMUTIL_cpd nd +/capture_cpd{ + //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf +}def +/thold_halftone +{ + level3 + {sethalftone currenthalftone} + { + dup/HalftoneType get 3 eq + { + sethalftone currenthalftone + }{ + begin + Width Height mul{ + Thresholds read{pop}if + }repeat + end + currenthalftone + }ifelse + }ifelse +}def +/rdcmntline +{ + currentfile AGMUTIL_str256 readline pop + (%)anchorsearch{pop}if +}bdf +/filter_cmyk +{ + dup type/filetype ne{ + exch()/SubFileDecode filter + }{ + exch pop + } + ifelse + [ + 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 +/filter_indexed_devn +{ + cvi Names length mul names_index add Lookup exch get +}bdf +/filter_devn +{ + 4 dict begin + /srcStr xdf + /dstStr xdf + dup type/filetype ne{ + 0()/SubFileDecode filter + }if + [ + exch + [ + /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx + currentdict/srcStr get/readstring cvx/pop cvx + /dup cvx/length cvx 0/gt cvx[ + Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx + names_index Names length currentdict/srcStr get length 1 sub{ + 1/index cvx/exch cvx/get cvx + currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx + Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx + }for + currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx + ]cvx/if cvx + /end cvx + ]cvx + bind + /exec cvx + ]cvx + end +}bdf +/AGMUTIL_imagefile nd +/read_image_file +{ + AGMUTIL_imagefile 0 setfileposition + 10 dict begin + /imageDict xdf + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + /imbufIdx 0 def + /origDataSource imageDict/DataSource get def + /origMultipleDataSources imageDict/MultipleDataSources get def + /origDecode imageDict/Decode get def + /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def + imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse + { + /imbufCnt imageDict/DataSource get length def + /imbufs imbufCnt array def + 0 1 imbufCnt 1 sub{ + /imbufIdx xdf + imbufs imbufIdx imbufLen string put + imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put + }for + DeviceN_PS2{ + imageDict begin + /DataSource[DataSource/devn_sep_datasource cvx]cvx def + /MultipleDataSources false def + /Decode[0 1]def + end + }if + }{ + /imbuf imbufLen string def + Indexed_DeviceN level3 not and DeviceN_NoneName or{ + /srcDataStrs[imageDict begin + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi string + }repeat + end]def + imageDict begin + /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def + /Decode[0 1]def + end + }{ + imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put + imageDict/Decode[0 1]put + }ifelse + }ifelse + imageDict exch + load exec + imageDict/DataSource origDataSource put + imageDict/MultipleDataSources origMultipleDataSources put + imageDict/Decode origDecode put + end +}bdf +/write_image_file +{ + begin + {(AGMUTIL_imagefile)(w+)file}stopped{ + false + }{ + Adobe_AGM_Utils/AGMUTIL_imagefile xddf + 2 dict begin + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ + /imbuf imbufLen string def + }if + 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ + pop + MultipleDataSources{ + 0 1 DataSource length 1 sub{ + DataSource type dup + /arraytype eq{ + pop DataSource exch gx + }{ + /filetype eq{ + DataSource exch get imbuf readstring pop + }{ + DataSource exch get + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }for + }{ + DataSource type dup + /arraytype eq{ + pop DataSource exec + }{ + /filetype eq{ + DataSource imbuf readstring pop + }{ + DataSource + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }ifelse + }for + end + true + }ifelse + end +}bdf +/close_image_file +{ + AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile +}def +statusdict/product known userdict/AGMP_current_show known not and{ + /pstr statusdict/product get def + pstr(HP LaserJet 2200)eq + pstr(HP LaserJet 4000 Series)eq or + pstr(HP LaserJet 4050 Series )eq or + pstr(HP LaserJet 8000 Series)eq or + pstr(HP LaserJet 8100 Series)eq or + pstr(HP LaserJet 8150 Series)eq or + pstr(HP LaserJet 5000 Series)eq or + pstr(HP LaserJet 5100 Series)eq or + pstr(HP Color LaserJet 4500)eq or + pstr(HP Color LaserJet 4600)eq or + pstr(HP LaserJet 5Si)eq or + pstr(HP LaserJet 1200 Series)eq or + pstr(HP LaserJet 1300 Series)eq or + pstr(HP LaserJet 4100 Series)eq or + { + userdict/AGMP_current_show/show load put + userdict/show{ + currentcolorspace 0 get + /Pattern eq + {false charpath f} + {AGMP_current_show}ifelse + }put + }if + currentdict/pstr undef +}if +/consumeimagedata +{ + begin + AGMIMG_init_common + currentdict/MultipleDataSources known not + {/MultipleDataSources false def}if + MultipleDataSources + { + DataSource 0 get type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width cvi string def + 1 1 Height cvi + { + pop + 0 1 DataSource length 1 sub + { + DataSource exch get + flushbuffer readstring pop pop + }for + }for + end + }if + dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and + { + Width Height mul cvi + { + 0 1 DataSource length 1 sub + {dup DataSource exch gx length exch 0 ne{pop}if}for + dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + } + { + /DataSource load type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width Decode length 2 idiv mul cvi string def + 1 1 Height{pop DataSource flushbuffer readstring pop pop}for + end + }if + dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and + { + Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul + { + DataSource length dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }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 +/clonearray +{ + dup xcheck exch + dup length array exch + Adobe_AGM_Core/AGMCORE_tmp -1 ddf + { + Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf + dup type/dicttype eq + { + Adobe_AGM_Core/AGMCORE_tmp get + exch + clonedict + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + dup type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_tmp get exch + clonearray + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + exch dup + Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put + }forall + exch{cvx}if +}bdf +/clonedict +{ + dup length dict + begin + { + dup type/dicttype eq + {clonedict}if + dup type/arraytype eq + {clonearray}if + def + }forall + currentdict + end +}bdf +/DeviceN_PS2 +{ + /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and +}bdf +/Indexed_DeviceN +{ + /indexed_colorspace_dict AGMCORE_gget dup null ne{ + dup/CSDBase known{ + /CSDBase get/CSD get_res/Names known + }{ + pop false + }ifelse + }{ + pop false + }ifelse +}bdf +/DeviceN_NoneName +{ + /Names where{ + pop + false Names + { + (None)eq or + }forall + }{ + false + }ifelse +}bdf +/DeviceN_PS2_inRip_seps +{ + /AGMCORE_in_rip_sep where + { + pop dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and + { + /currentcolorspace exch AGMCORE_gput + false + }{ + true + }ifelse + }{ + true + }ifelse + }{ + true + }ifelse +}bdf +/base_colorspace_type +{ + dup type/arraytype eq{0 get}if +}bdf +/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse +{ + /pdfmark_5{cleartomark}bind def +}{ + /pdfmark_5{pdfmark}bind def +}ifelse +/ReadBypdfmark_5 +{ + currentfile exch 0 exch/SubFileDecode filter + /currentdistillerparams where + {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse + {flushfile cleartomark} + {/PUT pdfmark}ifelse +}bdf +/ReadBypdfmark_5_string +{ + 2 dict begin + /makerString exch def string/tmpString exch def + { + currentfile tmpString readline not{pop exit}if + makerString anchorsearch + { + pop pop cleartomark exit + }{ + 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 + }ifelse + }loop + end +}bdf +/xpdfm +{ + { + dup 0 get/Label eq + { + aload length[exch 1 add 1 roll/PAGELABEL + }{ + aload pop + [{ThisPage}<<5 -2 roll>>/PUT + }ifelse + pdfmark_5 + }forall +}bdf +/lmt{ + dup 2 index le{exch}if pop dup 2 index ge{exch}if pop +}bdf +/int{ + dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop +}bdf +/ds{ + Adobe_AGM_Utils begin +}bdf +/dt{ + 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-2007 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Core 209 dict dup begin put +/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def +/AGMCORE_str256 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_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_CSD_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_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 +/AGMCORE_Default_PageSize nd +/AGMCORE_Default_flatness nd +/AGMCORE_currentbg nd +/AGMCORE_currentucr nd +/AGMCORE_pattern_paint_type 0 def +/knockout_unitsq nd +currentglobal true setglobal +[/CSA/Gradient/Procedure] +{ + /Generic/Category findresource dup length dict copy/Category defineresource pop +}forall +setglobal +/AGMCORE_key_known +{ + where{ + /Adobe_AGM_Core_Id known + }{ + false + }ifelse +}ndf +/flushinput +{ + save + 2 dict begin + /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 + end + 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 +/np +{newpath}bdf +/clp_npth +{clip np}def +/eoclp_npth +{eoclip np}def +/npth_clp +{np clip}def +/graphic_setup +{ + /AGMCORE_graphicsave save store + concat + 0 setgray + 0 setlinecap + 0 setlinejoin + 1 setlinewidth + []0 setdash + 10 setmiterlimit + np + false setoverprint + false setstrokeadjust + //Adobe_AGM_Core/spot_alias gx + /Adobe_AGM_Image where{ + pop + Adobe_AGM_Image/spot_alias 2 copy known{ + gx + }{ + pop pop + }ifelse + }if + /sep_colorspace_dict null AGMCORE_gput + 100 dict begin + /dictstackcount countdictstack def + /showpage{}def + mark +}def +/graphic_cleanup +{ + cleartomark + dictstackcount 1 countdictstack 1 sub{end}for + 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 np 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 xpt + /AGMCORE_tmp AGMCORE_tmp 1 add def + }ifelse + }forall +}bdf +/AGMCORE_CMYKDeviceNColorspaces[ + [/Separation/None/DeviceCMYK{0 0 0}] + [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] + [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] + [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] + [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] + [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] + [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] + [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] + [/Separation(Cyan)/DeviceCMYK{0 0 0}] + [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] + [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] + [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] + [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] + [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] + [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] + [/DeviceCMYK] +]def +/ds{ + Adobe_AGM_Core begin + /currentdistillerparams where + { + pop currentdistillerparams/CoreDistVersion get 5000 lt + {<>setdistillerparams}if + }if + /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_currentbg currentblackgeneration def + /AGMCORE_currentucr currentundercolorremoval def + /AGMCORE_Default_flatness currentflat def + /AGMCORE_distilling + /product where{ + pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and + }{ + false + }ifelse + def + /AGMCORE_GSTATE AGMCORE_key_known not{ + /AGMCORE_GSTATE 21 dict def + /AGMCORE_tmpmatrix matrix def + /AGMCORE_gstack 32 array def + /AGMCORE_gstackptr 0 def + /AGMCORE_gstacksaveptr 0 def + /AGMCORE_gstackframekeys 14 def + /AGMCORE_&gsave/gsave ldf + /AGMCORE_&grestore/grestore ldf + /AGMCORE_&grestoreall/grestoreall ldf + /AGMCORE_&save/save ldf + /AGMCORE_&setoverprint/setoverprint 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 + /AGMCORE_gstackptr exch store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /grestore{ + AGMCORE_&grestore + AGMCORE_gstackptr 1 sub + dup AGMCORE_gstacksaveptr lt{1 add}if + dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known + {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse + /AGMCORE_gstackptr exch store + }def + /grestoreall{ + AGMCORE_&grestoreall + /AGMCORE_gstackptr AGMCORE_gstacksaveptr store + }def + /save{ + AGMCORE_&save + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + /AGMCORE_gstacksaveptr AGMCORE_gstackptr store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /setoverprint{ + dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint + }def + 0 1 AGMCORE_gstack length 1 sub{ + AGMCORE_gstack exch AGMCORE_gstackframekeys dict put + }for + }if + level3/AGMCORE_&sysshfill AGMCORE_key_known not and + { + /AGMCORE_&sysshfill systemdict/shfill get def + /AGMCORE_&sysmakepattern systemdict/makepattern get def + /AGMCORE_&usrmakepattern/makepattern load def + }if + /currentcmykcolor[0 0 0 0]AGMCORE_gput + /currentstrokeadjust false AGMCORE_gput + /currentcolorspace[/DeviceGray]AGMCORE_gput + /sep_tint 0 AGMCORE_gput + /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput + /sep_colorspace_dict null AGMCORE_gput + /devicen_colorspace_dict null AGMCORE_gput + /indexed_colorspace_dict null AGMCORE_gput + /currentcolor_intent()AGMCORE_gput + /customcolor_tint 1 AGMCORE_gput + /absolute_colorimetric_crd null AGMCORE_gput + /relative_colorimetric_crd null AGMCORE_gput + /saturation_crd null AGMCORE_gput + /perceptual_crd null AGMCORE_gput + currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf + cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf + << + /MaxPatternItem currentsystemparams/MaxPatternCache get + >> + setuserparams + end +}def +/ps +{ + /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_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_have_reported_unsupported_color_space false def + /AGMCORE_report_unsupported_color_space + { + AGMCORE_have_reported_unsupported_color_space false eq + { + (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== + Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf + }if + }def + /AGMCORE_composite_job + AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and 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 + /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 + /sRGB ne + }{ + true + }ifelse + }{ + false + }ifelse + }{ + false + }ifelse + }def + /convert_spot_to_process where{pop}{ + /convert_spot_to_process + { + //Adobe_AGM_Core begin + dup map_alias{ + /Name get exch pop + }if + 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 + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + }ifelse + grestore + }{ + AGMCORE_distilling + { + pop AGM_is_distiller_preserving_spotimages not + }{ + //Adobe_AGM_Core/AGMCORE_name xddf + false + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq + AGMUTIL_cpd/OverrideSeparations known and + { + AGMUTIL_cpd/OverrideSeparations get + { + /HqnSpots/ProcSet resourcestatus + { + pop pop pop true + }if + }if + }if + { + AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not + }{ + gsave + [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace + false + AGMUTIL_cpd/SeparationColorNames 2 copy known + { + get + {AGMCORE_name eq or}forall + not + }{ + pop pop pop true + }ifelse + grestore + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + }ifelse + /convert_to_process where{pop}{ + /convert_to_process + { + dup length 0 eq + { + pop false + }{ + AGMCORE_host_sep + { + dup true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process and}ifelse + } + forall + { + true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + (Black)eq or and + }forall + not + }{pop false}ifelse + }{ + false exch + { + /PhotoshopDuotoneList where{pop false}{true}ifelse + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process or}ifelse + } + { + convert_spot_to_process or + } + ifelse + } + forall + }ifelse + }ifelse + }def + }ifelse + /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_IsSeparationAProcessColor + { + dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or + }def + AGMCORE_host_sep{ + /setcolortransfer + { + 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 + settransfer + } + def + /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 + /AGMCORE_RemoveProcessColorNames + { + 1 dict begin + /filtername + { + dup/Cyan eq 1 index(Cyan)eq or + {pop(_cyan_)}if + dup/Magenta eq 1 index(Magenta)eq or + {pop(_magenta_)}if + dup/Yellow eq 1 index(Yellow)eq or + {pop(_yellow_)}if + dup/Black eq 1 index(Black)eq or + {pop(_black_)}if + }def + dup type/arraytype eq + {[exch{filtername}forall]} + {filtername}ifelse + end + }def + level3{ + /AGMCORE_IsCurrentColor + { + dup AGMCORE_IsSeparationAProcessColor + { + AGMCORE_plate_ndx 0 eq + {dup(Cyan)eq exch/Cyan eq or}if + AGMCORE_plate_ndx 1 eq + {dup(Magenta)eq exch/Magenta eq or}if + AGMCORE_plate_ndx 2 eq + {dup(Yellow)eq exch/Yellow eq or}if + AGMCORE_plate_ndx 3 eq + {dup(Black)eq exch/Black eq or}if + AGMCORE_plate_ndx 4 eq + {pop false}if + }{ + gsave + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + grestore + }ifelse + }def + /AGMCORE_filter_functiondatasource + { + 5 dict begin + /data_in xdf + data_in type/stringtype eq + { + /ncomp xdf + /comp xdf + /string_out data_in length ncomp idiv string def + 0 ncomp data_in length 1 sub + { + string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put + }for + string_out + }{ + string/string_in xdf + /string_out 1 string def + /component xdf + [ + data_in string_in/readstring cvx + [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx + [/pop cvx()]cvx/ifelse cvx + ]cvx/ReusableStreamDecode filter + }ifelse + end + }def + /AGMCORE_separateShadingFunction + { + 2 dict begin + /paint? xdf + /channel xdf + dup type/dicttype eq + { + begin + FunctionType 0 eq + { + /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def + currentdict/Decode known + {/Decode Decode channel 2 mul 2 getinterval def}if + paint? not + {/Decode[1 1]def}if + }if + FunctionType 2 eq + { + paint? + { + /C0[C0 channel get 1 exch sub]def + /C1[C1 channel get 1 exch sub]def + }{ + /C0[1]def + /C1[1]def + }ifelse + }if + FunctionType 3 eq + { + /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def + }if + currentdict/Range known + {/Range[0 1]def}if + currentdict + end}{ + channel get 0 paint? AGMCORE_separateShadingFunction + }ifelse + end + }def + /AGMCORE_separateShading + { + 3 -1 roll begin + currentdict/Function known + { + currentdict/Background known + {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if + Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf + /ColorSpace[/DeviceGray]def + }{ + ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }{ + ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put + }ifelse + ColorSpace 0 get/Separation eq + { + { + [1/exch cvx/sub cvx]cvx + }{ + [/pop cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll put + pop + }{ + { + [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx + }{ + pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll bind put + }ifelse + ColorSpace 2/DeviceGray put + }ifelse + end + }def + /AGMCORE_separateShadingDict + { + dup/ColorSpace get + dup type/arraytype ne + {[exch]}if + dup 0 get/DeviceCMYK eq + { + exch begin + currentdict + AGMCORE_cyan_plate + {0 true}if + AGMCORE_magenta_plate + {1 true}if + AGMCORE_yellow_plate + {2 true}if + AGMCORE_black_plate + {3 true}if + AGMCORE_plate_ndx 4 eq + {0 false}if + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + currentdict + end exch + }if + dup 0 get/Separation eq + { + exch begin + ColorSpace 1 get dup/None ne exch/All ne and + { + ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /Separation + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + }if + }ifelse + }{ + currentdict ColorSpace 1 get AGMCORE_IsCurrentColor + 0 exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + }if + currentdict + end exch + }if + dup 0 get/DeviceN eq + { + exch begin + ColorSpace 1 get convert_to_process + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /DeviceN + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + /ColorSpace[/DeviceGray]def + }if + }ifelse + }{ + currentdict + false -1 ColorSpace 1 get + { + AGMCORE_IsCurrentColor + { + 1 add + exch pop true exch exit + }if + 1 add + }forall + exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + currentdict + end exch + }if + dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not + { + exch begin + ColorSpace dup type/arraytype eq + {0 get}if + /DeviceGray ne + { + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + ColorSpace 0 get/CIEBasedA eq + { + /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def + }if + ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or + { + /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def + }if + ColorSpace 0 get/CIEBasedDEFG eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }if + currentdict 0 false AGMCORE_separateShading + }if + }if + currentdict + end exch + }if + pop + dup/AGMCORE_ignoreshade known + { + begin + /ColorSpace[/Separation(None)/DeviceGray{}]def + currentdict end + }if + }def + /shfill + { + AGMCORE_separateShadingDict + dup/AGMCORE_ignoreshade known + {pop} + {AGMCORE_&sysshfill}ifelse + }def + /makepattern + { + exch + dup/PatternType get 2 eq + { + clonedict + begin + /Shading Shading AGMCORE_separateShadingDict def + Shading/AGMCORE_ignoreshade known + currentdict end exch + {pop<>}if + exch AGMCORE_&sysmakepattern + }{ + exch AGMCORE_&usrmakepattern + }ifelse + }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 + }bdf + /map_indexed_devn + { + Lookup Names length 3 -1 roll cvi map_index + }bdf + /n_color_components + { + base_colorspace_type + dup/DeviceGray eq{ + pop 1 + }{ + /DeviceCMYK eq{ + 4 + }{ + 3 + }ifelse + }ifelse + }bdf + level2{ + /mo/moveto ldf + /li/lineto ldf + /cv/curveto ldf + /knockout_unitsq + { + 1 setgray + 0 0 1 1 rectfill + }def + level2/setcolorspace AGMCORE_key_known not and{ + /AGMCORE_&&&setcolorspace/setcolorspace ldf + /AGMCORE_ReplaceMappedColor + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + /AGMCORE_SpotAliasAry2 where{ + begin + dup 0 get dup/Separation eq + { + pop + dup length array copy + dup dup 1 get + current_spot_alias + { + dup map_alias + { + false set_spot_alias + dup 1 exch setsepcolorspace + true set_spot_alias + begin + /sep_colorspace_dict currentdict AGMCORE_gput + pop pop pop + [ + /Separation Name + CSA map_csa + MappedCSA + /sep_colorspace_proc load + ] + dup Name + end + }if + }if + map_reserved_ink_name 1 xpt + }{ + /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 xpt + }if + }ifelse + end + }if + }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 + DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if + }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 + /setcolorspace + { + /currentcolorspace exch AGMCORE_gput + }def + /currentcolorspace + { + /currentcolorspace AGMCORE_gget + }def + /setcolor_devicecolor + { + base_colorspace_type + 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 gx + 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[ + /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx + /setcmykcolor load dup type/operatortype ne{/exec cvx}if + ]cvx bdf + level3 AGMCORE_host_sep not and{ + /nzopmsc{ + 6 dict begin + /kk exch def + /yy exch def + /mm exch def + /cc exch def + /sum 0 def + cc 0 ne{/sum sum 2#1000 or def cc}if + mm 0 ne{/sum sum 2#0100 or def mm}if + yy 0 ne{/sum sum 2#0010 or def yy}if + kk 0 ne{/sum sum 2#0001 or def kk}if + AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace + sum 0 eq{0}if + end + setcolor + }bdf + }{ + /nzopmsc/cmyk ldf + }ifelse + /sep/setsepcolor ldf + /devn/setdevicencolor ldf + /idx/setindexedcolor ldf + /colr/setcolor ldf + /csacrd/set_csa_crd ldf + /sepcs/setsepcolorspace ldf + /devncs/setdevicencolorspace ldf + /idxcs/setindexedcolorspace ldf + /cp/closepath ldf + /clp/clp_npth ldf + /eclp/eoclp_npth ldf + /f/fill ldf + /ef/eofill ldf + /@/stroke ldf + /nclp/npth_clp ldf + /gset/graphic_setup ldf + /gcln/graphic_cleanup ldf + /ct/concat ldf + /cf/currentfile ldf + /fl/filter ldf + /rs/readstring ldf + /AGMCORE_def_ht currenthalftone def + /clonedict Adobe_AGM_Utils begin/clonedict load end def + /clonearray Adobe_AGM_Utils begin/clonearray load end def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall + /getrampcolor + { + /indx exch def + 0 1 NumComp 1 sub + { + dup + Samples exch get + dup type/stringtype eq{indx get}if + exch + Scaling exch get aload pop + 3 1 roll + mul add + }for + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /sssetbackground{ + aload pop + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /RadialShade + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /r2 xdf + /c2y xdf + /c2x xdf + /r1 xdf + /c1y xdf + /c1x xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + c1x c2x eq + { + c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope c2y c1y sub c2x c1x sub div def + /theta slope 1 atan def + c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if + c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if + }ifelse + gsave + clippath + c1x c1y translate + theta rotate + -90 rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax xdf + /xMax xdf + /yMin xdf + /xMin xdf + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + /max{2 copy gt{pop}{exch pop}ifelse}bdf + /min{2 copy lt{pop}{exch pop}ifelse}bdf + rampdict begin + 40 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + c1x c1y translate + theta rotate + -90 rotate + /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def + /c1y 0 def + /c1x 0 def + /c2x 0 def + ext0 + { + 0 getrampcolor + c2y r2 add r1 sub 0.0001 lt + { + c1x c1y r1 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2y r1 add r2 le + { + c1x c1y r1 0 360 arc + fill + } + { + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r1 neg def + /p1y c1y def + /p2x r1 def + /p2y c1y def + p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y p1x SS1 div neg def + /SS2 90 theta sub dup sin exch cos div def + /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y p2x SS2 div neg def + r1 r2 gt + { + /L1maxX p1x yMin p1y sub SS1 div add def + /L2maxX p2x yMin p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + c1x c2x sub dup mul + c1y c2y sub dup mul + add 0.5 exp + 0 dtransform + dup mul exch dup mul add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + /hires xdf + hires mul + /numpix xdf + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + /xInc c2x c1x sub numsteps div def + /yInc c2y c1y sub numsteps div def + /rInc r2 r1 sub numsteps div def + /cx c1x def + /cy c1y def + /radius r1 def + np + xInc 0 eq yInc 0 eq rInc 0 eq and and + { + 0 getrampcolor + cx cy radius 0 360 arc + stroke + NumSamples 1 sub getrampcolor + cx cy radius 72 hires div add 0 360 arc + 0 setlinewidth + stroke + }{ + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + cx cy radius 0 360 arc + /cx cx xInc add def + /cy cy yInc add def + /radius radius rInc add def + cx cy radius 360 0 arcn + eofill + rampIndxInc add + }repeat + pop + }ifelse + ext1 + { + c2y r2 add r1 lt + { + c2x c2y r2 0 360 arc + fill + }{ + c2y r1 add r2 sub 0.0001 le + { + c2x c2y r2 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r2 neg def + /p1y c2y def + /p2x r2 def + /p2y c2y def + p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y c2y p1x SS1 div sub def + /SS2 90 theta sub dup sin exch cos div def + /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y c2y p2x SS2 div sub def + r1 r2 lt + { + /L1maxX p1x yMax p1y sub SS1 div add def + /L2maxX p2x yMax p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + grestore + grestore + end + end + end + }ifelse + }bdf + /GenStrips + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /y2 xdf + /x2 xdf + /y1 xdf + /x1 xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + x1 x2 eq + { + y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope y2 y1 sub x2 x1 sub div def + /theta slope 1 atan def + x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if + x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if + } + ifelse + gsave + clippath + x1 y1 translate + theta rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax exch def + /xMax exch def + /yMin exch def + /xMin exch def + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + rampdict begin + 20 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + x1 y1 translate + theta rotate + /xStart 0 def + /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def + /ySpan yMax yMin sub def + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + xStart 0 transform + xEnd 0 transform + 3 -1 roll + sub dup mul + 3 1 roll + sub dup mul + add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + mul + /numpix xdf + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + ext0 + { + 0 getrampcolor + xMin xStart lt + { + xMin yMin xMin neg ySpan rectfill + }if + }if + /xInc xEnd xStart sub numsteps div def + /x xStart def + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + x yMin xInc ySpan rectfill + /x x xInc add def + rampIndxInc add + }repeat + pop + ext1{ + xMax xEnd gt + { + xEnd yMin xMax xEnd sub ySpan rectfill + }if + }if + grestore + grestore + end + end + end + }ifelse + }bdf +}def +/pt +{ + end +}def +/dt{ +}def +/pgsv{ + //Adobe_AGM_Core/AGMCORE_save save put +}def +/pgrs{ + //Adobe_AGM_Core/AGMCORE_save get restore +}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 +/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 get_csa_by_name setcolorspace_opt + set_crd + end +} +def +/map_csa +{ + currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse + {pop}{get_csa_by_name/MappedCSA xdf}ifelse +}def +/setsepcolor +{ + /sep_colorspace_dict AGMCORE_gget begin + dup/sep_tint exch AGMCORE_gput + TintProc + end +}def +/setdevicencolor +{ + /devicen_colorspace_dict AGMCORE_gget begin + Names length copy + Names length 1 sub -1 0 + { + /devicen_tints AGMCORE_gget 3 1 roll xpt + }for + TintProc + end +}def +/sep_colorspace_proc +{ + /AGMCORE_tmp exch store + /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 +{ + /AGMCORE_tmp exch store + /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 + CSA map_csa + /AGMCORE_sep_special Name dup()eq exch(All)eq or store + 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 cvx + /AGMCORE_IsSeparationAProcessColor load/exec cvx + /not cvx/and cvx + }{ + Name inRip_spot_has_ink not + }ifelse + [ + /pop cvx 1 + ]cvx/if cvx + /setcustomcolor cvx + ]cvx bdf + }{ + /TintProc{setcolor}bdf + [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse + set_crd + setsepcolor + end +}def +/additive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 + 0 1 numarrays 1 sub + { + 1 exch add/index cvx + c1/get cvx/mul cvx + }for + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/subtractive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 1 + 0 1 numarrays 1 sub + { + 1 3 3 -1 roll add/index cvx + c1/get cvx/sub cvx/mul cvx + }for + /sub cvx + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/exec_tint_transform +{ + /TintProc[ + /TintTransform cvx/setcolor cvx + ]cvx bdf + MappedCSA setcolorspace_opt +}bdf +/devn_makecustomcolor +{ + 2 dict begin + /names_index xdf + /Names xdf + 1 1 1 1 Names names_index get findcmykcustomcolor + /devicen_tints AGMCORE_gget names_index get setcustomcolor + Names length{pop}repeat + end +}bdf +/setdevicencolorspace +{ + dup/AliasedColorants known{false}{true}ifelse + current_spot_alias and{ + 7 dict begin + /names_index 0 def + dup/names_len exch/Names get length def + /new_names names_len array def + /new_LookupTables names_len array def + /alias_cnt 0 def + dup/Names get + { + dup map_alias{ + exch pop + dup/ColorLookup known{ + dup begin + new_LookupTables names_index ColorLookup put + end + }{ + dup/Components known{ + dup begin + new_LookupTables names_index Components put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + new_names names_index 3 -1 roll/Name get put + /alias_cnt alias_cnt 1 add def + }{ + /name xdf + new_names names_index name put + dup/LookupTables known{ + dup begin + new_LookupTables names_index LookupTables names_index get put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + /names_index names_index 1 add def + }forall + alias_cnt 0 gt{ + /AliasedColorants true def + /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def + 0 1 names_len 1 sub{ + /names_index xdf + new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ + /AliasedColorants false def + exit + }{ + new_LookupTables names_index get 0 get null eq{ + dup/Names get names_index get/name xdf + name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq + or or or not{ + /AliasedColorants false def + exit + }if + }if + }ifelse + }for + lut_entry_len 1 eq{ + /AliasedColorants false def + }if + AliasedColorants{ + dup begin + /Names new_names def + /LookupTables new_LookupTables def + /AliasedColorants true def + /NComponents lut_entry_len def + /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def + /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def + currentdict/TTTablesIdx known not{ + /TTTablesIdx -1 def + }if + end + }if + }if + end + }if + dup/devicen_colorspace_dict exch AGMCORE_gput + begin + currentdict/AliasedColorants known{ + AliasedColorants + }{ + false + }ifelse + dup not{ + CSA map_csa + }if + /TintTransform load type/nulltype eq or{ + /TintTransform[ + 0 1 Names length 1 sub + { + /TTTablesIdx TTTablesIdx 1 add def + dup LookupTables exch get dup 0 get null eq + { + 1 index + Names exch get + dup(Cyan)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0 0 0 + } + { + dup(Magenta)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0/exch cvx 0 0 + }{ + (Yellow)eq + { + exch + LookupTables length exch sub + /index cvx + 0 0 3 -1/roll cvx 0 + }{ + exch + LookupTables length exch sub + /index cvx + 0 0 0 4 -1/roll cvx + }ifelse + }ifelse + }ifelse + 5 -1/roll cvx/astore cvx + }{ + dup length 1 sub + LookupTables length 4 -1 roll sub 1 add + /index cvx/mul cvx/round cvx/cvi cvx/get cvx + }ifelse + Names length TTTablesIdx add 1 add 1/roll cvx + }for + Names length[/pop cvx]cvx/repeat cvx + NComponents Names length + TintMethod/Subtractive eq + { + subtractive_blend + }{ + additive_blend + }ifelse + ]cvx bdf + }if + AGMCORE_host_sep{ + Names convert_to_process{ + exec_tint_transform + } + { + currentdict/AliasedColorants known{ + AliasedColorants not + }{ + false + }ifelse + 5 dict begin + /AvoidAliasedColorants xdf + /painted? false def + /names_index 0 def + /names_len Names length def + AvoidAliasedColorants{ + /currentspotalias current_spot_alias def + false set_spot_alias + }if + Names{ + AGMCORE_is_cmyk_sep{ + dup(Cyan)eq AGMCORE_cyan_plate and exch + dup(Magenta)eq AGMCORE_magenta_plate and exch + dup(Yellow)eq AGMCORE_yellow_plate and exch + (Black)eq AGMCORE_black_plate and or or or{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + }if + painted?{exit}if + }{ + 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + exit + }if + }ifelse + /names_index names_index 1 add def + }forall + AvoidAliasedColorants{ + currentspotalias set_spot_alias + }if + painted?{ + /devicen_colorspace_dict AGMCORE_gget/names_index names_index put + }{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx + 0 0 0 0/setcmykcolor cvx + ]cvx ddf + }ifelse + end + }ifelse + } + { + AGMCORE_in_rip_sep{ + Names convert_to_process not + }{ + level3 + }ifelse + { + [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt + /TintProc level3 not AGMCORE_in_rip_sep and{ + [ + Names/length cvx[/pop cvx]cvx/repeat cvx + ]cvx bdf + }{ + {setcolor}bdf + }ifelse + }{ + exec_tint_transform + }ifelse + }ifelse + set_crd + /AliasedColorants false def + end +}def +/setindexedcolorspace +{ + dup/indexed_colorspace_dict exch AGMCORE_gput + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + currentdict devncs + }{ + 1 currentdict sepcs + }ifelse + AGMCORE_host_sep{ + 4 dict begin + /compCnt/Names where{pop Names length}{1}ifelse def + /NewLookup HiVal 1 add string def + 0 1 HiVal{ + /tableIndex xdf + Lookup dup type/stringtype eq{ + compCnt tableIndex map_index + }{ + exec + }ifelse + /Names where{ + pop setdevicencolor + }{ + setsepcolor + }ifelse + currentgray + tableIndex exch + 255 mul cvi + NewLookup 3 1 roll put + }for + [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt + end + }{ + level3 + { + currentdict/Names known{ + [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt + }{ + [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt + }ifelse + }{ + [/Indexed MappedCSA HiVal + [ + currentdict/Names known{ + Lookup dup type/stringtype eq + {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} + {/exec cvx}ifelse + /TintTransform load/exec cvx + }{ + Lookup dup type/stringtype eq + {/exch cvx/get cvx 255/div cvx} + {/exec cvx}ifelse + CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx + }ifelse + ]cvx + ]setcolorspace_opt + }ifelse + }ifelse + end + set_crd + } + { + CSA map_csa + 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 + }ifelse + end +}def +/setindexedcolor +{ + AGMCORE_host_sep{ + /indexed_colorspace_dict AGMCORE_gget + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + map_indexed_devn + devn + } + { + Lookup 1 3 -1 roll map_index + sep + }ifelse + end + }{ + Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll + map_index + MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse + }ifelse + end + }{ + level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ + /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin + map_indexed_devn + devn + end + } + { + setcolor + }ifelse + }ifelse +}def +/ignoreimagedata +{ + currentoverprint not{ + gsave + dup clonedict begin + 1 setgray + /Decode[0 1]def + /DataSourcedef + /MultipleDataSources false def + /BitsPerComponent 8 def + currentdict end + systemdict/image gx + grestore + }if + consumeimagedata +}def +/add_res +{ + dup/CSD eq{ + pop + //Adobe_AGM_Core begin + /AGMCORE_CSD_cache load 3 1 roll put + end + }{ + defineresource pop + }ifelse +}def +/del_res +{ + { + aload pop exch + dup/CSD eq{ + pop + {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall + }{ + exch + {1 index undefineresource}forall + pop + }ifelse + }forall +}def +/get_res +{ + dup/CSD eq{ + pop + dup type dup/nametype eq exch/stringtype eq or{ + AGMCORE_CSD_cache exch get + }if + }{ + findresource + }ifelse +}def +/get_csa_by_name +{ + dup type dup/nametype eq exch/stringtype eq or{ + /CSA get_res + }if +}def +/paintproc_buf_init +{ + /count get 0 0 put +}def +/paintproc_buf_next +{ + dup/count get dup 0 get + dup 3 1 roll + 1 add 0 xpt + get +}def +/cachepaintproc_compress +{ + 5 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + /string_size 16000 def + /readbuffer string_size string def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + /LZWFilter + { + exch + dup length 0 eq{ + pop + }{ + ppdict dup length 1 sub 3 -1 roll put + }ifelse + {string_size}{0}ifelse string + }/LZWEncode filter def + { + ReadFilter readbuffer readstring + exch LZWFilter exch writestring + not{exit}if + }loop + LZWFilter closefile + ppdict + end +}def +/cachepaintproc +{ + 2 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + { + ReadFilter 16000 string readstring exch + ppdict dup length 1 sub 3 -1 roll put + not{exit}if + }loop + ppdict dup dup length 1 sub()put + end +}def +/make_pattern +{ + exch clonedict exch + 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 + 1 index begin + BBox 0 get XStep div cvi XStep mul/xshift exch neg def + BBox 1 get YStep div cvi YStep mul/yshift exch neg def + BBox 0 get xshift add + BBox 1 get yshift add + BBox 2 get xshift add + BBox 3 get yshift add + 4 array astore + /BBox exch def + [xshift yshift/translate load null/exec load]dup + 3/PaintProc load put cvx/PaintProc exch def + end + gsave 0 setgray + makepattern + grestore +}def +/set_pattern +{ + dup/PatternType get 1 eq{ + dup/PaintType get 1 eq{ + currentoverprint sop[/DeviceGray]setcolorspace 0 setgray + }if + }if + setpattern +}def +/setcolorspace_opt +{ + dup currentcolorspace eq{pop}{setcolorspace}ifelse +}def +/updatecolorrendering +{ + currentcolorrendering/RenderingIntent known{ + currentcolorrendering/RenderingIntent get + } + { + Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/Saturation eq + { + /saturation_crd AGMCORE_gget dup null eq + } + { + /perceptual_crd AGMCORE_gget dup null eq + }ifelse + }ifelse + }ifelse + { + pop null + } + { + /RenderingIntent known{null}{Intent}ifelse + }ifelse + }ifelse + Intent ne{ + Intent/ColorRendering{findresource}stopped + { + pop pop systemdict/findcolorrendering known + { + Intent findcolorrendering + { + /ColorRendering findresource true exch + } + { + /ColorRendering findresource + product(Xerox Phaser 5400)ne + exch + }ifelse + dup Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd exch AGMCORE_gput + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd exch AGMCORE_gput + } + { + Intent/Saturation eq + { + /saturation_crd exch AGMCORE_gput + } + { + Intent/Perceptual eq + { + /perceptual_crd exch AGMCORE_gput + } + { + pop + }ifelse + }ifelse + }ifelse + }ifelse + 1 index{exch}{pop}ifelse + } + {false}ifelse + } + {true}ifelse + { + dup begin + currentdict/TransformPQR known{ + currentdict/TransformPQR get aload pop + 3{{}eq 3 1 roll}repeat or or + } + {true}ifelse + currentdict/MatrixPQR known{ + currentdict/MatrixPQR get aload pop + 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq + and and and and and and and and + } + {true}ifelse + end + or + { + clonedict begin + /TransformPQR[ + {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div + 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind + {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div + 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind + {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div + 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind + ]def + /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def + /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def + currentdict end + }if + setcolorrendering_opt + }if + }if +}def +/set_crd +{ + AGMCORE_host_sep not level2 and{ + currentdict/ColorRendering known{ + ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if + }{ + currentdict/Intent known{ + updatecolorrendering + }if + }ifelse + currentcolorspace dup type/arraytype eq + {0 get}if + /DeviceRGB eq + { + currentdict/UCR known + {/UCR}{/AGMCORE_currentucr}ifelse + load setundercolorremoval + currentdict/BG known + {/BG}{/AGMCORE_currentbg}ifelse + load setblackgeneration + }if + }if +}def +/set_ucrbg +{ + dup null eq {pop /AGMCORE_currentbg load}{/Procedure get_res}ifelse + dup currentblackgeneration eq {pop}{setblackgeneration}ifelse + dup null eq {pop /AGMCORE_currentucr load}{/Procedure get_res}ifelse + dup currentundercolorremoval eq {pop}{setundercolorremoval}ifelse +}def +/setcolorrendering_opt +{ + dup currentcolorrendering eq{ + pop + }{ + product(HP Color LaserJet 2605)anchorsearch{ + pop pop pop + }{ + pop + clonedict + begin + /Intent Intent def + currentdict + end + setcolorrendering + }ifelse + }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 +{np}def +/T1_path +{ + currentfile token pop currentfile token pop mo + { + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 exch rlineto + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 rlineto + }loop +}def +/T1_gsave + level3 + {/clipsave} + {/gsave}ifelse + load def +/T1_grestore + level3 + {/cliprestore} + {/grestore}ifelse + load def +/set_spot_alias_ary +{ + dup inherit_aliases + //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf +}def +/set_spot_normalization_ary +{ + dup inherit_aliases + dup length + /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if + array + //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf + /AGMCORE_SpotAliasAry where{ + pop + AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval + AGMCORE_SpotAliasAry length + }{0}ifelse + AGMCORE_SpotAliasAry2 3 1 roll exch putinterval + true set_spot_alias +}def +/inherit_aliases +{ + {dup/Name get map_alias{/CSD put}{pop}ifelse}forall +}def +/set_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias 3 -1 roll put + }{ + pop + }ifelse +}def +/current_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias get + }{ + false + }ifelse +}def +/map_alias +{ + /AGMCORE_SpotAliasAry2 where{ + begin + /AGMCORE_name xdf + false + AGMCORE_SpotAliasAry2{ + dup/Name get AGMCORE_name eq{ + /CSD get/CSD get_res + 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 + { + //Adobe_AGM_Core begin + dup/customcolor_tint exch AGMCORE_gput + 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not + current_spot_alias and{1 index 4 get map_alias}{false}ifelse + { + false set_spot_alias + /sep_colorspace_dict AGMCORE_gget null ne + {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse + 3 1 roll 2 index{ + exch pop/sep_tint AGMCORE_gget exch + }if + mark 3 1 roll + setsepcolorspace + counttomark 0 ne{ + setsepcolor + }if + pop + not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if + pop + true set_spot_alias + }{ + AGMCORE_&setcustomcolor + }ifelse + end + }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 AGMCORE_distilling not and{ + currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ + true begin_feature true{ + <>setpagedevice + }end_feature + }if + /AGMCORE_inverting false def + }if + }if + AGMCORE_inverting{ + [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer + AGMCORE_distilling{ + erasepage + }{ + gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse + /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore + }ifelse + }if + end +}def +/lw_save_restore_override{ + /md where{ + pop + md begin + initializepage + /initializepage{}def + /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 + /mysetup where{ + /mysetup[1 0 0 1 0 0]put + }if + Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put + level2 + {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if +}def +/capture_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put + }if + }if +}def +/restore_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup known{ + Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put + Adobe_AGM_Core/save_mysetup undef + }if + }if + }if +}def +/driver_check_media_override +{ + /PrepsDict where + {pop} + { + Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne + Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and + Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and + }if + { + Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix + }if + }ifelse +}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 +/set_def_ht +{AGMCORE_def_ht sethalftone}def +/set_def_flat +{AGMCORE_Default_flatness setflat}def +end +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_CoolType_Core 2.31 0 +%%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. +%%Version: 2.31 0 +10 dict begin +/Adobe_CoolType_Passthru currentdict def +/Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def +Adobe_CoolType_Core_Defined + {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} +if +userdict/Adobe_CoolType_Core 70 dict dup begin put +/Adobe_CoolType_Version 2.31 def +/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 +currentglobal false setglobal +userdict/Adobe_CoolType_Data 2 copy known not + {2 copy 10 dict put} +if +get + begin + /@opStackCountByLevel 32 dict def + /@opStackLevel 0 def + /@dictStackCountByLevel 32 dict def + /@dictStackLevel 0 def + end +setglobal +currentglobal true setglobal +userdict/Adobe_CoolType_GVMFonts known not + {userdict/Adobe_CoolType_GVMFonts 10 dict put} +if +setglobal +currentglobal false setglobal +userdict/Adobe_CoolType_LVMFonts known not + {userdict/Adobe_CoolType_LVMFonts 10 dict put} +if +setglobal +/ct_VMDictPut + { + dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse + 3 1 roll put + }bind def +/ct_VMDictUndef + { + dup Adobe_CoolType_GVMFonts exch known + {Adobe_CoolType_GVMFonts exch undef} + { + dup Adobe_CoolType_LVMFonts exch known + {Adobe_CoolType_LVMFonts exch undef} + {pop} + ifelse + }ifelse + }bind def +/ct_str1 1 string def +/ct_xshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + _ct_x _ct_y moveto + 0 + rmoveto + } + ifelse + /_ct_i _ct_i 1 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/ct_yshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + _ct_x _ct_y moveto + 0 exch + rmoveto + } + ifelse + /_ct_i _ct_i 1 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/ct_xyshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + {_ct_na _ct_i 1 add get}stopped + {pop pop pop} + { + _ct_x _ct_y moveto + rmoveto + } + ifelse + } + ifelse + /_ct_i _ct_i 2 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def +/ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def +/xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def +currentglobal true setglobal +/ct_T3Defs +{ +/BuildChar +{ + 1 index/Encoding get exch get + 1 index/BuildGlyph get exec +}bind def +/BuildGlyph +{ + exch begin + GlyphProcs exch get exec + end +}bind def +}bind def +setglobal +/@_SaveStackLevels + { + Adobe_CoolType_Data + begin + /@vmState currentglobal def false setglobal + @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 1 sub + 1 index lt + {pop count} + if + dup/argCount exch def + dup 0 gt + { + args exch 0 exch getinterval + astore pop + } + {pop} + ifelse + count + /restCount exch def + end + /@opStackLevel @opStackLevel 1 add def + countdictstack 1 sub + @dictStackCountByLevel exch @dictStackLevel exch put + /@dictStackLevel @dictStackLevel 1 add def + @vmState setglobal + 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 + begin + args exch + argCount 1 sub exch sub get + end + end + }bind def +currentglobal true setglobal +/CTHasResourceForAllBug + Level2? + { + 1 dict dup + /@shouldNotDisappearDictValue true def + Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put + begin + count @_SaveStackLevels + {(*){pop stop}128 string/Category resourceforall} + stopped pop + @_RestoreStackLevels + currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll + { + /@shouldNotDisappearDictValue known + { + { + end + currentdict 1 index eq + {pop exit} + if + } + loop + } + if + } + { + pop + end + } + ifelse + } + {false} + ifelse + def +true setglobal +/CTHasResourceStatusBug + Level2? + { + mark + {/steveamerige/Category resourcestatus} + stopped + {cleartomark true} + {cleartomark currentglobal not} + ifelse + } + {false} + ifelse + def +setglobal +/CTResourceStatus + { + mark 3 1 roll + /Category findresource + begin + ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec + {cleartomark false} + {{3 2 roll pop true}{cleartomark false}ifelse} + ifelse + end + }bind def +/CTWorkAroundBugs + { + Level2? + { + /cid_PreLoad/ProcSet resourcestatus + { + pop pop + currentglobal + mark + { + (*) + { + dup/CMap CTHasResourceStatusBug + {CTResourceStatus} + {resourcestatus} + ifelse + { + pop dup 0 eq exch 1 eq or + { + dup/CMap findresource gcheck setglobal + /CMap undefineresource + } + { + pop CTHasResourceForAllBug + {exit} + {stop} + ifelse + } + ifelse + } + {pop} + ifelse + } + 128 string/CMap resourceforall + } + stopped + {cleartomark} + stopped pop + setglobal + } + if + } + if + }bind def +/ds + { + Adobe_CoolType_Core + begin + CTWorkAroundBugs + /mo/moveto load def + /nf/newencodedfont load def + /msf{makefont setfont}bind def + /uf{dup undefinefont ct_VMDictUndef}bind def + /ur/undefineresource load def + /chp/charpath load def + /awsh/awidthshow load def + /wsh/widthshow load def + /ash/ashow load def + /@xshow/xshow load def + /@yshow/yshow load def + /@xyshow/xyshow load def + /@cshow/cshow load def + /sh/show load def + /rp/repeat load def + /.n/.notdef def + end + currentglobal false setglobal + userdict/Adobe_CoolType_Data 2 copy known not + {2 copy 10 dict put} + if + get + 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 + /InVMFontsByCMap 10 dict def + /InVMDeepCopiedFonts 10 dict def + end + setglobal + }bind def +/dt + { + currentdict Adobe_CoolType_Core eq + {end} + if + }bind def +/ps + { + Adobe_CoolType_Core begin + Adobe_CoolType_GVMFonts begin + Adobe_CoolType_LVMFonts begin + SharedFontDirectory begin + }bind def +/pt + { + end + end + end + 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 systemdict + begin + userdict + begin + /globaldict where{/globaldict get begin}if + dup where pop exch get + /globaldict where{pop end}if + end + end +Adobe_CoolType_Core_Defined + {/systemfindfont exch def} + { + /findfont 1 index def + /systemfindfont exch def + } +ifelse +/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 dup type/nametype eq + {findfont} + if ne + {pop false} + if + } + if + dup + { + 1 index dup type/nametype eq + {findfont} + if + dup/CharStrings known + { + /CharStrings get length + 4 index findfont/CharStrings get length + ne + { + pop false + } + if + } + {pop} + ifelse + } + if + { + pop + 1 index findfont + /Encoding get exch + 0 1 255 + {2 copy get 3 index 3 1 roll put} + for + pop pop pop + } + { + currentglobal + 4 1 roll + dup type/nametype eq + {findfont} + if + dup gcheck setglobal + dup dup maxlength 2 add dict + begin + exch + { + 1 index/FID ne + 2 index/Encoding ne and + {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 dup + currentdict + end + definefont ct_VMDictPut + setglobal + } + 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 + /$inVMIndex + $sname null eq + { + 1 index $str cvs + dup length $slen sub $slen getinterval cvn + } + {$sname} + ifelse def + end + {findfont} + @Stopped + { + dup length 8 add string exch + 1 index 0(BadFont:)putinterval + 1 index exch 8 exch dup length string cvs putinterval cvn + {findfont} + @Stopped + {pop/Courier findfont} + if + } + if + $SubstituteFont + begin + /$sname null def + /$slen 0 def + /$inVMIndex null 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 +/ct_StyleDicts 4 dict dup begin + /Adobe-Japan1 4 dict dup begin + Level2? + { + /Serif + /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiMin-W3} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiMin-W3/CIDFont resourcestatus + {pop pop/HeiseiMin-W3} + {/Ryumin-Light} + ifelse + } + {/Ryumin-Light} + ifelse + } + ifelse + def + /SansSerif + /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiKakuGo-W5} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiKakuGo-W5/CIDFont resourcestatus + {pop pop/HeiseiKakuGo-W5} + {/GothicBBB-Medium} + ifelse + } + {/GothicBBB-Medium} + ifelse + } + ifelse + def + /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiMaruGo-W4} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiMaruGo-W4/CIDFont resourcestatus + {pop pop/HeiseiMaruGo-W4} + { + /Jun101-Light-RKSJ-H/Font resourcestatus + {pop pop/Jun101-Light} + {SansSerif} + ifelse + } + ifelse + } + { + /Jun101-Light-RKSJ-H/Font resourcestatus + {pop pop/Jun101-Light} + {SansSerif} + ifelse + } + ifelse + } + ifelse + /RoundSansSerif exch def + /Default Serif def + } + { + /Serif/Ryumin-Light def + /SansSerif/GothicBBB-Medium def + { + (fonts/Jun101-Light-83pv-RKSJ-H)status + }stopped + {pop}{ + {pop pop pop pop/Jun101-Light} + {SansSerif} + ifelse + /RoundSansSerif exch def + }ifelse + /Default Serif def + } + ifelse + end + def + /Adobe-Korea1 4 dict dup begin + /Serif/HYSMyeongJo-Medium def + /SansSerif/HYGoThic-Medium def + /RoundSansSerif SansSerif def + /Default Serif def + end + def + /Adobe-GB1 4 dict dup begin + /Serif/STSong-Light def + /SansSerif/STHeiti-Regular def + /RoundSansSerif SansSerif def + /Default Serif def + end + def + /Adobe-CNS1 4 dict dup begin + /Serif/MKai-Medium def + /SansSerif/MHei-Medium def + /RoundSansSerif SansSerif def + /Default Serif def + end + def +end +def +Level2?{currentglobal true setglobal}if +/ct_BoldRomanWidthProc + { + stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth + 0 0 + }bind def +/ct_Type0WidthProc + { + dup stringwidth 0 0 moveto + 2 index true charpath pathbbox + 0 -1 + 7 index 2 div .88 + setcachedevice2 + pop + 0 0 + }bind def +/ct_Type0WMode1WidthProc + { + dup stringwidth + pop 2 div neg -0.88 + 2 copy + moveto + 0 -1 + 5 -1 roll true charpath pathbbox + setcachedevice + }bind def +/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_BoldBaseFont + 11 dict begin + /FontType 3 def + /FontMatrix[1 0 0 1 0 0]def + /FontBBox[0 0 1 1]def + /Encoding cHexEncoding def + /_setwidthProc/ct_BoldRomanWidthProc load def + /_bcstr1 1 string def + /BuildChar + { + exch begin + _basefont setfont + _bcstr1 dup 0 4 -1 roll put + dup + _setwidthProc + 3 copy + moveto + show + _basefonto setfont + moveto + show + end + }bind def + currentdict + end +def +systemdict/composefont known +{ +/ct_DefineIdentity-H +{ + /Identity-H/CMap resourcestatus + { + pop pop + } + { + /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.000 def + /CMapType 1 def + 1 begincodespacerange + <0000> + endcodespacerange + 1 begincidrange + <0000>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + ifelse +} +def +/ct_BoldBaseCIDFont + 11 dict begin + /CIDFontType 1 def + /CIDFontName/ct_BoldBaseCIDFont def + /FontMatrix[1 0 0 1 0 0]def + /FontBBox[0 0 1 1]def + /_setwidthProc/ct_Type0WidthProc load def + /_bcstr2 2 string def + /BuildGlyph + { + exch begin + _basefont setfont + _bcstr2 1 2 index 256 mod put + _bcstr2 0 3 -1 roll 256 idiv put + _bcstr2 dup _setwidthProc + 3 copy + moveto + show + _basefonto setfont + moveto + show + end + }bind def + currentdict + end +def +}if +Level2?{setglobal}if +/ct_CopyFont{ + { + 1 index/FID ne 2 index/UniqueID ne and + {def}{pop pop}ifelse + }forall +}bind def +/ct_Type0CopyFont +{ + exch + dup length dict + begin + ct_CopyFont + [ + exch + FDepVector + { + dup/FontType get 0 eq + { + 1 index ct_Type0CopyFont + /_ctType0 exch definefont + } + { + /_ctBaseFont exch + 2 index exec + } + ifelse + exch + } + forall + pop + ] + /FDepVector exch def + currentdict + end +}bind def +/ct_MakeBoldFont +{ + dup/ct_SyntheticBold known + { + dup length 3 add dict begin + ct_CopyFont + /ct_StrokeWidth .03 0 FontMatrix idtransform pop def + /ct_SyntheticBold true def + currentdict + end + definefont + } + { + dup dup length 3 add dict + begin + ct_CopyFont + /PaintType 2 def + /StrokeWidth .03 0 FontMatrix idtransform pop def + /dummybold currentdict + end + definefont + dup/FontType get dup 9 ge exch 11 le and + { + ct_BoldBaseCIDFont + dup length 3 add dict copy begin + dup/CIDSystemInfo get/CIDSystemInfo exch def + ct_DefineIdentity-H + /_Type0Identity/Identity-H 3 -1 roll[exch]composefont + /_basefont exch def + /_Type0Identity/Identity-H 3 -1 roll[exch]composefont + /_basefonto exch def + currentdict + end + /CIDFont defineresource + } + { + ct_BoldBaseFont + dup length 3 add dict copy begin + /_basefont exch def + /_basefonto exch def + currentdict + end + definefont + } + ifelse + } + ifelse +}bind def +/ct_MakeBold{ + 1 index + 1 index + findfont + currentglobal 5 1 roll + dup gcheck setglobal + dup + /FontType get 0 eq + { + dup/WMode known{dup/WMode get 1 eq}{false}ifelse + version length 4 ge + and + {version 0 4 getinterval cvi 2015 ge} + {true} + ifelse + {/ct_Type0WidthProc} + {/ct_Type0WMode1WidthProc} + ifelse + ct_BoldBaseFont/_setwidthProc 3 -1 roll load put + {ct_MakeBoldFont}ct_Type0CopyFont definefont + } + { + dup/_fauxfont known not 1 index/SubstMaster known not and + { + ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put + ct_MakeBoldFont + } + { + 2 index 2 index eq + {exch pop } + { + dup length dict begin + ct_CopyFont + currentdict + end + definefont + } + ifelse + } + ifelse + } + ifelse + pop pop pop + setglobal +}bind def +/?str1 256 string def +/?set + { + $SubstituteFont + begin + /$substituteFound false def + /$fontname 1 index def + /$doSmartSub false def + end + dup + 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 + { + 5 1 roll pop pop pop pop + findfont + } + { + 1 index + findfont + dup/FontType get 3 eq + { + 6 1 roll pop pop pop pop pop false + } + {pop true} + ifelse + { + $SubstituteFont + begin + pop pop + /$styleArray 1 index def + /$regOrdering 2 index def + pop pop + 0 1 $styleArray length 1 sub + { + $styleArray exch get + ct_StyleDicts $regOrdering + 2 copy known + { + get + exch 2 copy known not + {pop/Default} + if + get + dup type/nametype eq + { + ?str1 cvs length dup 1 add exch + ?str1 exch(-)putinterval + exch dup length exch ?str1 exch 3 index exch putinterval + add ?str1 exch 0 exch getinterval cvn + } + { + pop pop/Unknown + } + ifelse + } + { + pop pop pop pop/Unknown + } + ifelse + } + for + end + findfont + }if + } + ifelse + currentglobal false setglobal 3 1 roll + null copyfont definefont pop + setglobal + }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 + /$inVMIndex null 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 + Adobe_CoolType_Data/InVMDeepCopiedFonts get + 1 index/FontName get known + { + pop + Adobe_CoolType_Data/InVMDeepCopiedFonts get + 1 index get + null copyfont + } + {$deepcopyfont} + ifelse + exch 1 index exch/FontBasedOn exch put + dup/FontName $fontname dup type/stringtype eq{cvn}if put + definefont + Adobe_CoolType_Data/InVMDeepCopiedFonts get + begin + dup/FontBasedOn get 1 index def + end + }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 + { + dup/CIDFont findresource/CIDSystemInfo get + begin + Registry length Ordering length Supplement 8 string cvs + 3 copy length 2 add add add string + dup 5 1 roll dup 0 Registry putinterval + dup 4 index(-)putinterval + dup 4 index 1 add Ordering putinterval + 4 2 roll add 1 add 2 copy(-)putinterval + end + 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch + anchorsearch + {pop pop 3 2 roll putinterval cvn/$cmapname exch def} + {pop pop pop pop pop} + ifelse + 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 + Adobe_CoolType_Data/InVMFontsByCMap get + 1 index 2 copy known + { + get + false exch + { + pop + currentglobal + { + GlobalFontDirectory 1 index known + {exch pop true exit} + {pop} + ifelse + } + { + FontDirectory 1 index known + {exch pop true exit} + { + GlobalFontDirectory 1 index known + {exch pop true exit} + {pop} + ifelse + } + ifelse + } + ifelse + } + forall + } + {pop pop false} + ifelse + { + exch pop exch pop + } + { + 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 pop $findfontByEnum} + ifelse + } + ifelse + } + {pop pop pop $findfontByEnum} + ifelse + } + {pop pop $findfontByEnum} + ifelse + } + 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(.\n)print + } + if + } + {exch pop} + ifelse + } + {exch pop} + ifelse + end + }bind def + } + ifelse + end + end + Adobe_CoolType_Core_Defined not + { + 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 + { + $inVMIndex null ne + {dup $inVMIndex $AddInVMFont} + if + $doSmartSub + { + currentdict/$Strategy known + {$Strategy/$BuildFont get exec} + if + } + if + } + if + end + }bind put + } + if + } + if + end +/$AddInVMFont + { + exch/FontName 2 copy known + { + get + 1 dict dup begin exch 1 index gcheck def end exch + Adobe_CoolType_Data/InVMFontsByCMap get exch + $DictAdd + } + {pop pop pop} + ifelse + }bind def +/$DictAdd + { + 2 copy known not + {2 copy 4 index length dict put} + if + Level2? not + { + 2 copy get dup maxlength exch length 4 index length add lt + 2 copy get dup length 4 index length add exch maxlength 1 index lt + { + 2 mul dict + begin + 2 copy get{forall}def + 2 copy currentdict put + end + } + {pop} + ifelse + } + if + get + begin + {def} + forall + end + }bind def +end +end +%%EndResource +currentglobal true setglobal +%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. +%%Version: 1.23 0 +systemdict/languagelevel known dup + {currentglobal false setglobal} + {false} +ifelse +exch +userdict/Adobe_CoolType_Utility 2 copy known + {2 copy get dup maxlength 27 add dict copy} + {27 dict} +ifelse put +Adobe_CoolType_Utility + begin + /@eexecStartData + def + /@recognizeCIDFont null def + /ct_Level2? exch def + /ct_Clone? 1183615869 internaldict dup + /CCRun known not + exch/eCCRun known not + ct_Level2? and or def +ct_Level2? + {globaldict begin currentglobal true setglobal} +if + /ct_AddStdCIDMap + ct_Level2? + {{ + mark + Adobe_CoolType_Utility/@recognizeCIDFont currentdict put + { + ((Hex)57 StartData + 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 + 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 + d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 + cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec + } + stopped + { + cleartomark + Adobe_CoolType_Utility/@recognizeCIDFont get + countdictstack dup array dictstack + exch 1 sub -1 0 + { + 2 copy get 3 index eq + {1 index length exch sub 1 sub{end}repeat exit} + {pop} + ifelse + } + for + pop pop + Adobe_CoolType_Utility/@eexecStartData get eexec + } + {cleartomark} + ifelse + }} + {{ + Adobe_CoolType_Utility/@eexecStartData get eexec + }} + ifelse bind def +userdict/cid_extensions known +dup{cid_extensions/cid_UpdateDB known and}if + { + cid_extensions + begin + /cid_GetCIDSystemInfo + { + 1 index type/stringtype eq + {exch cvn exch} + if + cid_extensions + begin + dup load 2 index known + { + 2 copy + cid_GetStatusInfo + dup null ne + { + 1 index load + 3 index get + dup null eq + {pop pop cid_UpdateDB} + { + exch + 1 index/Created get eq + {exch pop exch pop} + {pop cid_UpdateDB} + ifelse + } + ifelse + } + {pop cid_UpdateDB} + ifelse + } + {cid_UpdateDB} + ifelse + end + }bind def + end + } +if +ct_Level2? + {end setglobal} +if + /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.000 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 0.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 0.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/.notdef + dup 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 [0.001 0 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 [0.001 0 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 + dup/FontMatrix known + {dup/FontMatrix get/FontMatrix exch def} + {/FontMatrix matrix def} + ifelse + /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 + currentglobal true setglobal + /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.000 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 + setglobal + /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.000 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 +setglobal +%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 +%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. +%%Version: 1.0 0 +userdict/ct_T42Dict 15 dict put +ct_T42Dict begin +/Is2015? +{ + version + cvi + 2015 + ge +}bind def +/AllocGlyphStorage +{ + Is2015? + { + pop + } + { + {string}forall + }ifelse +}bind def +/Type42DictBegin +{ +25 dict begin + /FontName exch def + /CharStrings 256 dict +begin + /.notdef 0 def + currentdict +end def + /Encoding exch def + /PaintType 0 def + /FontType 42 def + /FontMatrix[1 0 0 1 0 0]def + 4 array astore cvx/FontBBox exch def + /sfnts +}bind def +/Type42DictEnd +{ + currentdict dup/FontName get exch definefont end +ct_T42Dict exch +dup/FontName get exch put +}bind def +/RD{string currentfile exch readstring pop}executeonly def +/PrepFor2015 +{ +Is2015? +{ + /GlyphDirectory + 16 + dict def + sfnts 0 get + dup + 2 index + (glyx) + putinterval + 2 index + (locx) + putinterval + pop + pop +} +{ + pop + pop +}ifelse +}bind def +/AddT42Char +{ +Is2015? +{ + /GlyphDirectory get + begin + def + end + pop + pop +} +{ + /sfnts get + 4 index + get + 3 index + 2 index + putinterval + pop + pop + pop + pop +}ifelse +}bind def +/T0AddT42Mtx2 +{ +/CIDFont findresource/Metrics2 get begin def end +}bind def +end +%%EndResource +currentglobal true setglobal +%%BeginFile: MMFauxFont.prc +%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. +%%All Rights Reserved. +userdict /ct_EuroDict 10 dict put +ct_EuroDict begin +/ct_CopyFont +{ + { 1 index /FID ne {def} {pop pop} ifelse} forall +} def +/ct_GetGlyphOutline +{ + gsave + initmatrix newpath + exch findfont dup + length 1 add dict + begin + ct_CopyFont + /Encoding Encoding dup length array copy + dup + 4 -1 roll + 0 exch put + def + currentdict + end + /ct_EuroFont exch definefont + 1000 scalefont setfont + 0 0 moveto + [ + <00> stringwidth + <00> false charpath + pathbbox + [ + {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall + grestore + counttomark 8 add +} +def +/ct_MakeGlyphProc +{ + ] cvx + /ct_PSBuildGlyph cvx + ] cvx +} def +/ct_PSBuildGlyph +{ + gsave + 8 -1 roll pop + 7 1 roll + 6 -2 roll ct_FontMatrix transform 6 2 roll + 4 -2 roll ct_FontMatrix transform 4 2 roll + ct_FontMatrix transform + currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse + dup 9 1 roll + { + currentdict /StrokeWidth 2 copy known + { + get 2 div + 0 ct_FontMatrix dtransform pop + 5 1 roll + 4 -1 roll 4 index sub + 4 1 roll + 3 -1 roll 4 index sub + 3 1 roll + exch 4 index add exch + 4 index add + 5 -1 roll pop + } + { + pop pop + } + ifelse + } + if + setcachedevice + ct_FontMatrix concat + ct_PSPathOps begin + exec + end + { + currentdict /StrokeWidth 2 copy known + { get } + { pop pop 0 } + ifelse + setlinewidth stroke + } + { + fill + } + ifelse + grestore +} def +/ct_PSPathOps 4 dict dup begin + /m {moveto} def + /l {lineto} def + /c {curveto} def + /cp {closepath} def +end +def +/ct_matrix1000 [1000 0 0 1000 0 0] def +/ct_AddGlyphProc +{ + 2 index findfont dup length 4 add dict + begin + ct_CopyFont + /CharStrings CharStrings dup length 1 add dict copy + begin + 3 1 roll def + currentdict + end + def + /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def + /ct_PSBuildGlyph /ct_PSBuildGlyph load def + /ct_PSPathOps /ct_PSPathOps load def + currentdict + end + definefont pop +} +def +systemdict /languagelevel known +{ + /ct_AddGlyphToPrinterFont { + 2 copy + ct_GetGlyphOutline 3 add -1 roll restore + ct_MakeGlyphProc + ct_AddGlyphProc + } def +} +{ + /ct_AddGlyphToPrinterFont { + pop pop restore + Adobe_CTFauxDict /$$$FONTNAME get + /Euro + Adobe_CTFauxDict /$$$SUBSTITUTEBASE get + ct_EuroDict exch get + ct_AddGlyphProc + } def +} ifelse +/AdobeSansMM +{ +556 0 24 -19 541 703 + { + 541 628 m + 510 669 442 703 354 703 c + 201 703 117 607 101 444 c + 50 444 l + 25 372 l + 97 372 l + 97 301 l + 49 301 l + 24 229 l + 103 229 l + 124 67 209 -19 350 -19 c + 435 -19 501 25 509 32 c + 509 131 l + 492 105 417 60 343 60 c + 267 60 204 127 197 229 c + 406 229 l + 430 301 l + 191 301 l + 191 372 l + 455 372 l + 479 444 l + 194 444 l + 201 531 245 624 348 624 c + 433 624 484 583 509 534 c + cp + 556 0 m + } +ct_PSBuildGlyph +} def +/AdobeSerifMM +{ +500 0 10 -12 484 692 + { + 347 298 m + 171 298 l + 170 310 170 322 170 335 c + 170 362 l + 362 362 l + 374 403 l + 172 403 l + 184 580 244 642 308 642 c + 380 642 434 574 457 457 c + 481 462 l + 474 691 l + 449 691 l + 433 670 429 657 410 657 c + 394 657 360 692 299 692 c + 204 692 94 604 73 403 c + 22 403 l + 10 362 l + 70 362 l + 69 352 69 341 69 330 c + 69 319 69 308 70 298 c + 22 298 l + 10 257 l + 73 257 l + 97 57 216 -12 295 -12 c + 364 -12 427 25 484 123 c + 458 142 l + 425 101 384 37 316 37 c + 256 37 189 84 173 257 c + 335 257 l + cp + 500 0 m + } +ct_PSBuildGlyph +} def +end +%%EndFile +setglobal +Adobe_CoolType_Core begin /$None SetSubstituteStrategy end +%%BeginResource: procset Adobe_AGM_Image 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Image 71 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 +/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 +/AGMIMG_maskSource nd +/AGMIMG_flushfilters nd +/invert_image_samples nd +/knockout_image_samples nd +/img nd +/sepimg nd +/devnimg nd +/idximg nd +/ds +{ + 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 +/ps +{ + 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 + /devnimg/devn_imageormask ldf + /idximg/indexed_imageormask ldf + /_ctype 7 def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall +}def +/pt +{ + end +}def +/dt +{ +}def +/AGMIMG_flushfilters +{ + dup type/arraytype ne + {1 array astore}if + dup 0 get currentfile ne + {dup 0 get flushfile}if + { + dup type/filetype eq + { + dup status 1 index currentfile ne and + {closefile} + {pop} + ifelse + }{pop}ifelse + }forall +}def +/AGMIMG_init_common +{ + currentdict/T known{/ImageType/T ldf currentdict/T undef}if + currentdict/W known{/Width/W ldf currentdict/W undef}if + currentdict/H known{/Height/H ldf currentdict/H undef}if + currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if + currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if + currentdict/D known{/Decode/D ldf currentdict/D undef}if + currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if + currentdict/O known{ + /Operator/O load 1 eq{ + /imagemask + }{ + /O load 2 eq{ + /image + }{ + /colorimage + }ifelse + }ifelse + def + currentdict/O undef + }if + currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if + currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if + currentdict/I known{/Interpolate/I ldf currentdict/I undef}if + currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if + /DataSource load xcheck not{ + DataSource type/arraytype eq{ + DataSource 0 get type/filetype eq{ + /_Filters DataSource def + currentdict/MultipleDataSources known not{ + /DataSource DataSource dup length 1 sub get def + }if + }if + }if + currentdict/MultipleDataSources known not{ + /MultipleDataSources DataSource type/arraytype eq{ + DataSource length 1 gt + } + {false}ifelse def + }if + }if + /NComponents Decode length 2 div def + currentdict/SkipImageProc known not{/SkipImageProc{false}def}if +}bdf +/imageormask_sys +{ + begin + AGMIMG_init_common + save mark + level2{ + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }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 + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + cleartomark restore + end +}def +/overprint_plate +{ + currentoverprint{ + 0 get dup type/nametype eq{ + dup/DeviceGray eq{ + pop AGMCORE_black_plate not + }{ + /DeviceCMYK eq{ + AGMCORE_is_cmyk_sep not + }if + }ifelse + }{ + false exch + { + AGMOHS_sepink eq or + }forall + not + }ifelse + }{ + pop false + }ifelse +}def +/process_mask +{ + level3{ + dup begin + /ImageType 1 def + end + 4 dict begin + /DataDict exch def + /ImageType 3 def + /InterleaveType 3 def + /MaskDict 9 dict begin + /ImageType 1 def + /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def + /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def + /ImageMatrix[Width 0 0 Height neg 0 Height]def + /NComponents 1 def + /BitsPerComponent 1 def + /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def + /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def + currentdict end def + currentdict end + }if +}def +/use_mask +{ + dup/Mask known {dup/Mask get}{false}ifelse +}def +/imageormask +{ + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + } + { + save mark + level2 AGMCORE_host_sep not and{ + currentdict + Operator/imagemask eq DeviceN_PS2 not and{ + 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 + use_mask{ + process_mask image + }{ + DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and + { + Names convert_to_process not{ + 2 dict begin + /imageDict xdf + /names_index 0 def + gsave + imageDict write_image_file{ + Names{ + dup(None)ne{ + [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace + Operator imageDict read_image_file + names_index 0 eq{true setoverprint}if + /names_index names_index 1 add def + }{ + pop + }ifelse + }forall + close_image_file + }if + grestore + end + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + /Adobe_AGM_OnHost_Seps where{ + pop imagemask + }{ + currentgray 1 ne{ + currentdict imageormask_sys + }{ + currentoverprint not{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }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{ + AGMCORE_is_cmyk_sep{ + MultipleDataSources{ + /DataSource DataSource 0 get xcheck + { + [ + 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 + }{ + DataSource aload pop AGMCORE_get_ink_data + }ifelse def + }{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + /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 + invert_image_samples + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }{ + MultipleDataSources NComponents AGMIMG_&colorimage + }ifelse + }{ + true NComponents colorimage + }ifelse + }{ + Operator/image eq{ + AGMCORE_host_sep{ + /DoImage true def + currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse + { + AGMCORE_black_plate not Operator/imagemask ne and{ + /DoImage false def + currentdict ignoreimagedata + }if + }if + 1 AGMCORE_&setgray + DoImage + {currentdict imageormask_sys}if + }{ + use_mask{ + process_mask image + }{ + image + }ifelse + }ifelse + }{ + Operator/knockout eq{ + pop pop pop pop pop + currentcolorspace overprint_plate not{ + knockout_unitsq + }if + }if + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/sep_imageormask +{ + /sep_colorspace_dict AGMCORE_gget begin + CSA map_csa + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + 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{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ + [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse 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{ + currentdict/ImageMatrix get concat + knockout_unitsq + }{ + currentgray 1 ne{ + AGMCORE_is_cmyk_sep Name(All)ne and{ + level2{ + Name AGMCORE_IsSeparationAProcessColor + { + Operator/imagemask eq{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor + }if + }{ + invert_image_samples + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + [/Separation Name[/DeviceGray] + { + sep_colorspace_proc AGMCORE_get_ink_data + 1 exch sub + }bind + ]AGMCORE_&setcolorspace + /sep_tint AGMCORE_gget AGMCORE_&setcolor + }if + }ifelse + 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 + }{ + currentoverprint not Name(All)eq or Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + currentcolorspace 0 get/Separation ne{ + [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + }if + currentoverprint + MappedCSA 0 get/DeviceCMYK eq and + Name AGMCORE_IsSeparationAProcessColor not and + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse + Name(All)ne and{ + imageormask_l2_overprint + }{ + currentdict imageormask + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end +}def +/colorSpaceElemCnt +{ + mark currentcolor counttomark dup 2 add 1 roll cleartomark +}bdf +/devn_sep_datasource +{ + 1 dict begin + /dataSource xdf + [ + 0 1 dataSource length 1 sub{ + dup currentdict/dataSource get/exch cvx/get cvx/exec cvx + /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx + }for + ]cvx bind + end +}bdf +/devn_alt_datasource +{ + 11 dict begin + /convProc xdf + /origcolorSpaceElemCnt xdf + /origMultipleDataSources xdf + /origBitsPerComponent xdf + /origDecode xdf + /origDataSource xdf + /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def + /DataSource origMultipleDataSources + { + [ + BitsPerComponent 8 idiv origDecode length 2 idiv mul string + 0 1 origDecode length 2 idiv 1 sub + { + dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch + origDataSource exch get 0()/SubFileDecode filter + BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx + }for + ]bind cvx + }{origDataSource}ifelse 0()/SubFileDecode filter def + [ + origcolorSpaceElemCnt string + 0 2 origDecode length 2 sub + { + dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div + 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx + }for + /convProc load/exec cvx + origcolorSpaceElemCnt 1 sub -1 0 + { + /dup cvx 2/add cvx/index cvx + 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx + }for + ]bind cvx 0()/SubFileDecode filter + end +}bdf +/devn_imageormask +{ + /devicen_colorspace_dict AGMCORE_gget begin + CSA map_csa + 2 dict begin + dup + /srcDataStrs[3 -1 roll begin + AGMIMG_init_common + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi + { + dup 65535 gt{1 add 2 div cvi}{exit}ifelse + }loop + string + }repeat + end]def + /dstDataStr srcDataStrs 0 get length string def + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_producing_seps not{ + level3 not{ + Operator/imagemask ne{ + /DataSource[[ + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def + /MultipleDataSources true def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + }if + }if + currentdict imageormask + }{ + AGMCORE_host_sep{ + Names convert_to_process{ + CSA get_csa_by_name 0 get/DeviceCMYK eq{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + filter_cmyk 0()/SubFileDecode filter def + /MultipleDataSources false def + /Decode[1 0]def + /DeviceGray setcolorspace + currentdict imageormask_sys + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate{ + /DataSource + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + /MultipleDataSources false def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + currentdict imageormask_sys + }{ + gsave + knockout_unitsq + grestore + currentdict consumeimagedata + }ifelse + }ifelse + } + { + /devicen_colorspace_dict AGMCORE_gget/names_index known{ + Operator/imagemask ne{ + MultipleDataSources{ + /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def + /MultipleDataSources false def + }{ + /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def + }ifelse + invert_image_samples + }if + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + currentdict imageormask + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + 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 + AGMIMG_init_common + save mark + currentdict + AGMCORE_host_sep{ + Operator/knockout eq{ + /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ + /CSA get get_csa_by_name + }{ + /Names get + }ifelse + overprint_plate not{ + knockout_unitsq + }if + }{ + Indexed_DeviceN{ + /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ + indexed_image_lev2_sep + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }{ + AGMCORE_is_cmyk_sep{ + Operator/imagemask eq{ + imageormask_sys + }{ + level2{ + indexed_image_lev2_sep + }{ + indexed_image_lev1_sep + }ifelse + }ifelse + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + level2{ + Indexed_DeviceN{ + /indexed_colorspace_dict AGMCORE_gget begin + }{ + /indexed_colorspace_dict AGMCORE_gget dup null ne + { + begin + currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse + get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and + AGMCORE_in_rip_sep and{ + [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] + setcolorspace + }if + end + } + {pop}ifelse + }ifelse + imageormask + Indexed_DeviceN{ + end + }if + }{ + Operator/imagemask eq{ + imageormask + }{ + indexed_imageormask_lev1 + }ifelse + }ifelse + }ifelse + cleartomark restore + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/indexed_image_lev2_sep +{ + /indexed_colorspace_dict AGMCORE_gget begin + begin + Indexed_DeviceN not{ + currentcolorspace + dup 1/DeviceGray put + dup 3 + currentcolorspace 2 get 1 add string + 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub + { + dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put + }for + put setcolorspace + }if + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }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 + /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 +/cachemask_level2 +{ + 3 dict begin + /LZWEncode filter/WriteFilter xdf + /readBuffer 256 string def + /ReadFilter + currentfile + 0(%EndMask)/SubFileDecode filter + /ASCII85Decode filter + /RunLengthDecode filter + def + { + ReadFilter readBuffer readstring exch + WriteFilter exch writestring + not{exit}if + }loop + WriteFilter closefile + end +}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 + /SkipImageProc{false}def + currentdict + end + sep_imageormask + }bdf + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_colorAry xddf + /customcolor_tint AGMCORE_gget + << + /Name AGMIMG_colorAry 4 get + /CSA[/DeviceCMYK] + /TintMethod/Subtractive + /TintProc null + /MappedCSA null + /NComponents 4 + /Components[AGMIMG_colorAry aload pop pop] + >> + setsepcolorspace + mapto_sep_imageormask + }ndf + Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_override false put + current_spot_alias{dup 4 get map_alias}{false}ifelse + { + false set_spot_alias + /customcolor_tint AGMCORE_gget exch setsepcolorspace + pop + mapto_sep_imageormask + true set_spot_alias + }{ + //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec + }ifelse + }bdf +}def +/snap_to_device +{ + 6 dict begin + matrix currentmatrix + dup 0 get 0 eq 1 index 3 get 0 eq and + 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop + { + 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def + 0 0 transform + AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + itransform/AGMIMG_llY exch def/AGMIMG_llX exch def + 1 1 transform + AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + itransform/AGMIMG_urY exch def/AGMIMG_urX exch def + [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat + }{ + }ifelse + end +}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 +currentdict Adobe_AGM_Utils eq {end} if +%%EndProlog +%%BeginSetup +Adobe_AGM_Utils begin +2 2010 Adobe_AGM_Core/ds gx +Adobe_CoolType_Core/ds get exec +Adobe_AGM_Image/ds gx +[/NamespacePush pdfmark_5 +[/_objdef {Doc_Metadata} /type /stream /OBJ pdfmark_5 +[{Doc_Metadata} 1281 (% &end XMP packet& %) ReadBypdfmark_5_string + + + + + + + test03 + + + + + TeX output 2011.04.08:1517 + + + + + Donald Story (Complimentary Copy) 4662 2009-10-23 13:17:17 + + + + + @@ -7988,1171 +7988,1171 @@ Adobe_AGM_Image/ds gx - - - -% &end XMP packet& % - -[{Doc_Metadata} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark_5 -[/Document 1 dict begin /Metadata {Doc_Metadata} def currentdict end /BDC pdfmark_5 -[/NamespacePop pdfmark_5 -currentdict Adobe_AGM_Utils eq {end} if -%%EndSetup -%%Page: 1 1 -%%EndPageComments -%%BeginPageSetup -Adobe_AGM_Utils begin -Adobe_AGM_Core/ps gx -Adobe_AGM_Core/capture_mysetup gx -Adobe_AGM_Utils/capture_cpd gx -Adobe_CoolType_Core/ps get exec -Adobe_AGM_Image/ps gx -%%EndPageSetup -1 -1 scale 0 -194.951 translate -pgsv -[1 0 0 1 0 0 ]ct -gsave -np -gsave --7.62939e-6 0 mo --7.62939e-6 194.951 li -256.793 194.951 li -256.793 0 li -cp -clp -false sop -/0 -<< -/Name (Black) -/0 -[/DeviceCMYK] /CSA add_res -/CSA /0 get_csa_by_name -/MappedCSA /0 /CSA get_res -/TintMethod /Subtractive -/TintProc null -/NComponents 4 -/Components [ 0 0 0 1 ] ->> -/CSD add_res -1 /0 /CSD get_res sepcs -1 sep -%ADOBeginSubsetFont: GLAAAA+CMR10 Initial -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -13 dict dup begin -/FontType 1 def -/FontName /GLAAAA+CMR10 def -/FontInfo 8 dict dup begin -/Notice (Copyright (c) 1988 - 1994 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def -/Weight (Medium) def -/ItalicAngle 0 def -/BaseFontName (CMR10) def -/WasEmbedded true def -end def -/PaintType 0 def -/FontMatrix [0.001 0 0 0.001 0 0] def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 47 /slash put -dup 48 /zero put -dup 49 /one put -dup 51 /three put -dup 53 /five put -dup 65 /A put -dup 67 /C put -dup 73 /I put -dup 76 /L put -dup 77 /M put -dup 78 /N put -dup 79 /O put -dup 80 /P put -dup 83 /S put -dup 84 /T put -dup 85 /U put -dup 97 /a put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 111 /o put -dup 123 /endash put -def -/UniqueID 5000793 def -/FontBBox {-40 -250 1009 969} def -end -systemdict begin -dup /Private -13 dict dup begin -/|- {def} def -/| {put} def -/BlueValues [-22 -0 683 705 431 448 666 677] def -/OtherBlues [-206 -194] def -/BlueScale 0.04379 def -/StdHW [31] def -/StdVW [69] def -/StemSnapH [22 31] def -/StemSnapV [69 89] def -/password 5839 def -/MinFeature {16 16} def -/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 -systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup -/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def -/Subrs 5 array -dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | -dup 1 <1C60D8A8C9C3D06D9E> | -dup 2 <1C60D8A8C9C202D79A> | -dup 3 <1C60D8A849> | -dup 4 <1C60D8A8CC3674F41144B13B77> | -def -put -dup /CharStrings -23 dict dup begin -/slash <1C60D8A8C9B7A73DB56225352A24C6E389DE2B55CA06CAB1D904D74F -E21B6520E910DE6837DBFFB95567192F781E541A03B8446689265DEAE7140ED2 -3D1C3943714CDFC12315> |- -/zero <1C60D8A8C9B7A73D3B2D32309B1F5D5A32FC3614834F8BC61B6EB92C1 -2484BD76628737DA40CF9DA1C97CCDAFB1D1B732C642F74A7C41B7D3AC6DAF8D -1E760692B6EBD2417EF1893A4AA0B1CF049D4C54D830CEC073A9153D451FAD42 -892B0930AEE4FE18588336BFDAD60D8A4F4CFFED76F103FB9BBD8A33EFBA3F18 -232B88D88FE54E17260FA3E2CC29DEC0CB72B88DC816FF5> |- -/one <1C60D8A8C9B7A73DC579B9CE13A4EA8C203AFC890ABD6F58341B006CF1 -BDD8FED3A7238E01F751FEAC75885229C293891E5636AD630D9C884528B6FEF0 -0728A740ED77D054B4743ECA5E3947520FEF6B23D548765D11> |- -/three <1C60D8A8C9B7A73D3B2B97DEB4C7BDB68E0D63865C8BF294429AD1BA -AE59A25299F9306A9E28AA5C0C0AF9F97F56096DB0FD0EC440ACCE834B0BA539 -2FD94D026768A961AA5D1A88FAE30F2B2033E77AFAB55B0B9C8092CD226DD9EF -EEAAF5CD5AE79D6DDEC4C37DC43DE3B85DD2A2EC4DC0C9F349D5E8F9F615782E -DC8C53805553FD3C0007C1818BF3D99AB659A079ED36132BBDC613CA63D7A0FE -429706DBC6BA998CE56A89C002758EF37F90A390F83B3DFE49D312FA66FDF2F1 -6212D1503559B35FC2DB8BD5A49535> |- -/five <1C60D8A8C9B7A73D3B2B97F19D54A2E00E7DDA8E72064220CB7581D13 -CEDF071F346430E40993A6297E3A2A6D6093205222D977AC7F7B65CC82B221D9 -B18ADEA5D4AF0261ABF060D3E283C7B3B5EB39FF499721FD51203AE59E3BEA25 -7DFD3E472FEF67221488EC8D1F355E2FAD057CA44A8B4BAD6C6C719C164907CB -F9A6CC770DB0C7E58A37D2385E23F576BCFF94FFBFD8ADD4C5E6C32CD83ACEB7 -7472D00FE1A4DC66393A99AC6BBD252B04C98B710149EA42B66ACE89D4FC4393 -F3A09165DF477ABCB0E8A8DB21E4278CA219EBCC9B067F92619913BDBD1EF3C9 -A> |- -/A <1C60D8A8C9B08A9501CDAE1251A61DF6E2312CA41635F6CE1D00B63E171C -70F84D42F62A21A6DD37D84C279E3FAE908D39B730ACD671ED9E277ACFE833A1 -1F48F076C9803DC08258033731BCBCE19DF3B81C1C298B382A15FAC94387A992 -AD9631716A7ED4F711137D6C851AE1C8DCBBFBCF7274E882226E58958CE6283A -197E7FAE3A2D0F6C24FA411BECFB36A10FF2A923EA89ABEFAD5AB23D600F> |- -/C <1C60D8A8C9B08A9454CA4C75C5C983901A105955FD02AB95A1C2D2A205D6 -C9A19566388580DAF81E45849DB37660797B67B5A88B6906602915C5F5C9B0EC -D18BF9F52BC4BC58CA3DC88745B8BAABAD3D92E461BFB415E7240305CDDA1D0D -B5D35FEBC75FFD4C053E78B6CA772ACEB0C2FF98C08B672F492F305E0C5F3841 -918729B4AEB78A65C2A83364408240D8D653DA56F4DCB028D3D78F3C2D6BC7> |- -/I <1C60D8A8C9B08A9591900960B3FA4612DFF926AB21A530E1912F33677612 -AC06B324D812E42049FF4946BE5E0FFA24FA0C62F2839FF2110EEC7EE0A42476 -46E6F699D4C8BECE1825B3A661611E4D55F40F2E64FACB836D4D0C9780F60650 -FBF10E0D42> |- -/L <1C60D8A8C9B08A9504870DC577BFF1117CB147078FC0444648398262998D -8061E386D366188391878ADBE16C10A3B1BC6A93F56BD64AE45F8370470F419D -A43CBACE3D7B1152502CD0CF1468D72D3CB197A29E71D336CDA7D6BAA426EC1B -681825BDDC37329099DC579F155C> |- -/M <1C60D8A8C9B08A94284A0D047609A407E661A852E250B140B4157477FB2A -AE2E22210B2D780B692B0718211E5BD86C3DCF8087849BEE2B9F6D1D8621E40C -8FBE892AC1B23002BF18819E26C6741335DF8DA8AC82506D7051C0505D48DDFA -17EE84A06E07C05EBAC6174D600BACE071866247BE6C83F4CF28F6D6EE6A6CF8 -A788C4FFFDBDCA978C2B0B201753D21CB7AF0542C690ECE8E7EDBE1B1FB29939 -734E35E0ECCA8BA7FAEB58AC205A8A82A94C960A65> |- -/N <1C60D8A8C9B08A9501CDAE1251A61DF6E23FBE9059A2A88492E84D61402E -80BD80B5057FF8914FA4679EB3900C60B246DA77BF837041B1C053FCD543E3D1 -D259FCE953A74E40366D604A99F9233772AC97F872D505329B1446640ABD99E4 -AC723C39DD6EA376A043CE3633F04D9BC6DEFE2E1A831DBB9C16F90A966DFA0F -3802BB1EB0AA3DAEB0E864B9D3CC3E14AE1E9219B48660289CF348B4E280> |- -/O <1C60D8A8C9B08A946182837629000F56F09862ED5AA400F2B4EB929FCD0B -6F40CAF45238A67BE496742823610F15AF19832E8EC09C64557C48DB0BC41E07 -C1B98081893CB2216BAE4CCECC72A02E2F6B8D0FE8B2E6548D00AAA585F02486 -772A4FC1258C2982A5ECEC> |- -/P <1C60D8A8C9B08A94478101EE5603CAF9EA65868978F157B7D9DB71203FAD -46B85DF1A1E477012038D20B3756C0124AD7E2F6ACCB98150AB793091E3E7A8F -3C0AE6FC8D7A5031BB678671889D46F3A15BD495F1AB5B7C8F63325E15B44523 -174D09593A38714FEB5177883F725186FE6BF7095A24CD9EDEFA3551580A0E2B -0B49AC2002> |- -/S <1C60D8A8C9B08A95C5897169EED99899F86A6DCF3CD291B001131D3BCB45 -BF71748507542417352D5B30F63C60EB90DCF55005F88E95175B21D3219CD9E9 -2E89E417B177D285600845553F66626D2225552D23A7697637BDCEEECAEA18AB -42A896E96FF5B3536CC368A5F7504B6C75D962A4B5F9534F79AC78DC99848461 -42257A40DE257430C92806EBA73FF7D93DF0A6C207299E2D17F4071F9096D016 -163F4D3EC1889ADA266D3682F2D99904573A5022A10E61069737F2D55F919F95 -A33DB6DD2667321E4727855B58DBF4B1E5A294928E6CEABFBD34F296C1B758> |- -/T <1C60D8A8C9B08A9454CA4C75C5C97DCE7AB32777FAAECD12647866E7CB3F -CCDC541E37F2225E520DEDE695980D4012AD5B972BDABC7E7E5410E71AC63692 -4E778B3131B6C4D1E76F8C4592AC311A2107F53DC1850538C9E487E6D5DBDFE8 -027D7126BA9ED8B24E7379B57E474ACD298BF6B3700CC970D80111DD98EFC872 -C24D0DA3C75DDDFD177C6D15> |- -/U <1C60D8A8C9B08A9501CDAE1251A6E3AF1199B24D30F25809B39A0DD6474A -CF1BFDB89F5985BBB0F2E5FE7296314FDA462BECDBDEA31B3750001975D37A8B -F31F224CAB5093B8997B856DAE5F9007E1497BEED45CA8AC033A65F773653762 -77BFCDF39A2D8F1BC8E5626BEEEF5D670E87E32F25C0530E88A4E2B9AD6D8333 -3A6C173F8B22714E74A224AD610C2B1EAB> |- -/a <1C60D8A8C9B7A73DCB03313BCF7AD8C8EE234E5372D46A65E92A78F4B7E0 -2ECC58F71EE6C027AD4D56C5E4DE1AF1031295DC17C0E7AC8D8358634F9A19B0 -2A110E5539C10136C68E0D2CBEA6658A501D9D73323861F8C29EB92F9080ACC3 -E236C5F14389534682EC2925F59CD4A215569A7BD7B9F7827A30BA75EB840535 -B2A2C8F92AD166CE93D277314A4C690C47DB847F73BFE1049631CDDB9124FD76 -2753AA8DB187C216AFB74F76299B3C51610D74CF31321BBFEB5CFCA7D213C896 -D1B8E57EFC05695F2F73> |- -/e <1C60D8A8C9B08A95B1F07368C45D8D2AF4BC97E4CB216B20786BB8409E5C -B0892E60E7F0AD9AC8433678C58AAD59736BF9700A3AEB0B5352F4A898A5EEFB -C72A64BFB45B917D9879BD0577DAB96A0E86BECAB5E8A8A051E5E40886D5A00C -EC53E0A3265FC74195574846689BF9F38086985C2DD3223390D51155F707CE86 -59EC1C65A75BE9A0BA862DB1A00FF6A01FCED7E6> |- -/f <1C60D8A8C9B08A956BA65798425CE9B0A78F07A04AF2F8524751F181F94C -EF756ACD6AB92BD09462A05FB08A9160A0AB5267B62445F916DEFC1DAF3F1FB4 -B3761F71CBE3290960500C788D04CB45BB0A2825753AA6E46495F35A08389AAA -C80F35ADADFB7ACE340FEC03C9E5F9A50A8AD731E7A553A32F387574697F9CAB -2E100B6DD6E3525398F6> |- -/g <1C60D8A8C9B7A73DB58EA28807584EB19BC6EA1448A12312E623B90358A1 -63CFC67672A34CC74B0AEAADF24229DF1CCAA1488AE3E348FE2ACD572EA487EC -9D77FBB0710AB421B03DD5B8AE5519B5C269E9648E819E7ECE806EEF16A6618D -07D9AAB350E57F26F5259E8FCF9E5C2D96BBEAD16502F9E7819E854042DDB2BC -674C39681CC2E5224219582BC7B59BBAEF869C9DF91CA7770A97BAD53C3C3A99 -175BA8F0A5744B5969D3BC15831A95918F7C707E41F5D87B8DB2D57378BC9C29 -7DAE69E4BF438246E63F565B22D86CBE28DEF748262FB9FF82A88935451D6280 -A28F1AD964E6E476D5779321E42D3A86BE41122F1BED36C3DC47E1E01C225345 -98D0431873197ABE1C8EC03B4011E4B26D249635BDBABB8E5B69BE07AFA65F88 -EAF6> |- -/o <1C60D8A8C9B7A73DCEB07E09D16841D605E4F67059E6B258F546B80703E4 -CDAF20027B900118209D5372F965F2045D50C02A29110A048C891DEBA3210CDF -C5CDE2309C0CDE0E4855E9F6D8954C4C68826A14AD2E4C6227A036D85D304D6A -96FEAA92DEC3CD1B9F4AD57B5F1EBAB070FE911461A7D5B958F5> |- -/endash <1C60D8A8C9B7A73DB9B60A0DBA4B5FB3A045D6B65F12EE5E3DC48D3 -43D8E> |- -/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- -end put -end -dup /FontName get exch definefont pop -end -%ADOEndSubsetFont -/YNDRLJ+CMR10 /GLAAAA+CMR10 findfont ct_VMDictPut -/YNDRLJ+CMR10*1 -[47{/.notdef}rp /slash /zero /one /.notdef /three /.notdef /five -11{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I 2{/.notdef}rp /L -/M /N /O /P 2{/.notdef}rp /S /T /U -11{/.notdef}rp /a 3{/.notdef}rp /e /f /g 7{/.notdef}rp /o -11{/.notdef}rp /endash 132{/.notdef}rp] -YNDRLJ+CMR10 nf -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf --31.697 -36.8879 mo -(MAC1105/T3{Page5of10{SOLUTIONS) -[9.13578 7.19498 7.193 4.9813 4.9813 4.9813 4.98129 4.98131 7.19299 92.4629 8.30183 6.50756 -4.98131 4.98129 7.74393 8.30185 4.98129 6.36908 4.98129 8.30182 195.931 5.53922 7.75089 6.22662 -7.47195 7.19296 3.59644 7.75098 7.47192 0 ]xsh -%ADOBeginSubsetFont: GISAAA+CMBX10 Initial -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -13 dict dup begin -/FontType 1 def -/FontName /GISAAA+CMBX10 def -/FontInfo 8 dict dup begin -/Notice (Copyright (c) 1988 - 1994 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def -/Weight (Bold) def -/ItalicAngle 0 def -/BaseFontName (CMBX10) def -/WasEmbedded true def -end def -/PaintType 0 def -/FontMatrix [0.001 0 0 0.001 0 0] def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 46 /period put -dup 56 /eight put -def -/UniqueID 5000768 def -/FontBBox {-301 -250 1164 946} def -end -systemdict begin -dup /Private -14 dict dup begin -/|- {def} def -/| {put} def -/BlueValues [-11 -0 686 697 444 453 655 676] def -/OtherBlues [-201 -194] def -/BlueScale 0.04379 def -/StdHW [47] def -/StdVW [114] def -/StemSnapH [40 47] def -/StemSnapV [114 142] def -/ForceBold true def -/password 5839 def -/MinFeature {16 16} def -/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 -systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup -/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def -/Subrs 5 array -dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | -dup 1 <1C60D8A8C9C3D06D9E> | -dup 2 <1C60D8A8C9C202D79A> | -dup 3 <1C60D8A849> | -dup 4 <1C60D8A8CC3674F41144B13B77> | -def -put -dup /CharStrings -3 dict dup begin -/period <1C60D8A8C9B08A9560D4C2F3A74D92838E83B7DC14B89478B799496 -0CFDC6D2144A34A20CA36052335682902BE7739DD> |- -/eight <1C60D8A8C9B7FCB6A4EC6CCC71FFBC41969F86A86636A65E5BD14FD4 -EBD93FCE205F86ECC615335CAFE8E2240019DB970894F9979E3FDF252D8A9472 -1B680E23D2DF204A99891D5AD0E347695938A6FCE4923A098978EC0AC2A3894C -8A94767FEBA61293F9C489BAC7A89726BFA765D56F2D198E99D500D81046ACE1 -5301FD9FB36D2F2E4EAA017CCF306EAEC8E157B40FDE6DC2FA713180A587E730 -6AD0870F441697503D> |- -/.notdef <1C60D8A8C9B08A95899606B6B060A7> |- -end put -end -dup /FontName get exch definefont pop -end -%ADOEndSubsetFont -/YNDRLK+CMBX10 /GISAAA+CMBX10 findfont ct_VMDictPut -/YNDRLK+CMBX10*1 -[46{/.notdef}rp /period 9{/.notdef}rp /eight 199{/.notdef}rp] -YNDRLK+CMBX10 nf -YNDRLK+CMBX10*1 [9.9626 0 0 -9.9626 0 0 ]msf --25.9685 -7.00012 mo -(8.) -[5.72846 0 ]xsh -249.382 99.488 mo -253.706 97.944 li -249.382 96.4 li -251.112 97.944 li -f -gsave -253.705 187.944 mo -1.70499 187.944 li -1.70499 7.94397 li -253.705 7.94397 li -cp -clp -.797 lw -0 lc -0 lj -10 ml -[] 0 dsh -false sadj -1.70499 97.944 mo -251.111 97.944 li -@ -grestore -.399 lw -0 lc -0 lj -10 ml -[] 0 dsh -false sadj -127.705 101.929 mo -127.705 93.959 li -@ -155.705 101.929 mo -155.705 93.959 li -@ -183.705 101.929 mo -183.705 93.959 li -@ -211.705 101.929 mo -211.705 93.959 li -@ -239.705 101.929 mo -239.705 93.959 li -@ -127.705 101.929 mo -127.705 93.959 li -@ -99.705 101.929 mo -99.705 93.959 li -@ -71.705 101.929 mo -71.705 93.959 li -@ -43.705 101.929 mo -43.705 93.959 li -@ -15.705 101.929 mo -15.705 93.959 li -@ -129.25 12.268 mo -127.706 7.94403 li -126.162 12.268 li -127.706 10.5391 li -f -.797 lw -127.705 187.944 mo -127.705 10.538 li -@ -.399 lw -123.72 97.944 mo -131.69 97.944 li -@ -123.72 77.944 mo -131.69 77.944 li -@ -123.72 57.944 mo -131.69 57.944 li -@ -123.72 37.944 mo -131.69 37.944 li -@ -123.72 17.944 mo -131.69 17.944 li -@ -123.72 97.944 mo -131.69 97.944 li -@ -123.72 117.944 mo -131.69 117.944 li -@ -123.72 137.944 mo -131.69 137.944 li -@ -123.72 157.944 mo -131.69 157.944 li -@ -123.72 177.944 mo -131.69 177.944 li -@ -%ADOBeginSubsetFont: GLAAAA+CMR10 AddGlyphs -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -systemdict begin -YNDRLJ+CMR10 dup -/Private get dup rcheck -{begin true}{pop false}ifelse exch -/CharStrings get begin -systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if -/two <1C60D8A8C9B7A73DC50B0411757B441481CCF7EF812EEB9B3F6A07BD51 -606BCA866C4BD24CA34E86B9CA5A529B664F3EEDB6B4AF8A2B994DB57B49473E -162231CB943675FE63E9B92B8AEBB62FB22456EC4173C66EF6C2F34FFEC22ACA -E77FFFAAD70F3754CADC0D2CF63CB6D286D930AEA5A613E5AB9CB004BEAEBADD -D070EDAF4FF25FDB6421F540D58D2C7A3FC40290CBCF831BE1B89B7F> |- -/four <1C60D8A8C9B7A73DC579B9C1587087D4749982A674065FCDD01CF53F5 -4AF89DAF22339F0A467CE8D8CC25949B03A9DEFE86592098644AED5891ABD8D0 -71237FB9B66EF7648D767508B0BB1075A0AC676C770BFE6D0E818B53FD7884E4 -D8E6A983234A6E833EF72FF7FE587> |- -systemdict /gcheck known {setglobal} if end {end} if -end -YNDRLJ+CMR10 /Encoding get -dup 50 /two put -dup 52 /four put -pop -%ADOEndSubsetFont -/YNDRLJ+CMR10*1 -[47{/.notdef}rp /slash /zero /one /two /three /four /five -11{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I 2{/.notdef}rp /L -/M /N /O /P 2{/.notdef}rp /S /T /U -11{/.notdef}rp /a 3{/.notdef}rp /e /f /g 7{/.notdef}rp /o -11{/.notdef}rp /endash 132{/.notdef}rp] -YNDRLJ+CMR10 nf -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -113.758 81.1542 mo -(1)sh -113.758 61.1542 mo -(2)sh -113.758 41.1543 mo -(3)sh -113.758 21.1544 mo -(4)sh -%ADOBeginSubsetFont: BUZAAA+CMSY10 Initial -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -13 dict dup begin -/FontType 1 def -/FontName /BUZAAA+CMSY10 def -/FontInfo 8 dict dup begin -/Notice (Copyright (c) 1996 Y&Y, Inc. All Right Reserved. http://www.YandY.com) def -/Weight (Medium) def -/ItalicAngle -14.035 def -/BaseFontName (CMSY10) def -/WasEmbedded true def -end def -/PaintType 0 def -/FontMatrix [0.001 0 0 0.001 0 0] def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 161 /minus put -def -/UniqueID 5096651 def -/FontBBox {-29 -960 1116 775} def -end -systemdict begin -dup /Private -13 dict dup begin -/|- {def} def -/| {put} def -/BlueValues [-24 -0 683 705] def -/OtherBlues [-135 -124] def -/BlueScale 0.04379 def -/StdHW [40] def -/StdVW [40] def -/StemSnapH [40 56] def -/StemSnapV [40 56] def -/password 5839 def -/MinFeature {16 16} def -/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 -systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup -/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def -/Subrs 5 array -dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | -dup 1 <1C60D8A8C9C3D06D9E> | -dup 2 <1C60D8A8C9C202D79A> | -dup 3 <1C60D8A849> | -dup 4 <1C60D8A8CC3674F41144B13B77> | -def -put -dup /CharStrings -2 dict dup begin -/minus <1C60D8A8C9B08A946182837629008DF7702985522C1BEB4D11AB8A6B -5589D8B615C840A4D8FD35DE7CD09D4C55DA8FE732830DDE> |- -/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- -end put -end -dup /FontName get exch definefont pop -end -%ADOEndSubsetFont -/YNDRLL+CMSY10 /BUZAAA+CMSY10 findfont ct_VMDictPut -/YNDRLL+CMSY10*1 -[161{/.notdef}rp /minus 94{/.notdef}rp] -YNDRLL+CMSY10 nf -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -106.009 120.739 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -113.758 120.739 mo -(1)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -106.009 140.738 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -113.758 140.738 mo -(2)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -106.009 160.738 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -113.758 160.738 mo -(3)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -106.009 180.738 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -113.758 180.738 mo -(4)sh -153.215 113.33 mo -(1234) -[27.9999 27.9999 27.9999 0 ]xsh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -93.3403 113.33 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -101.089 113.33 mo -(1)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -65.3404 113.33 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -73.0894 113.33 mo -(2)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -37.3406 113.33 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -45.0895 113.33 mo -(3)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -9.34069 113.33 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -17.0896 113.33 mo -(4)sh -.797 lw -1 lc -[0 2 ] 1 dsh -true sadj -15.705 178.944 mo -15.705 16.944 li -43.705 178.944 mo -43.705 16.944 li -71.705 178.944 mo -71.705 16.944 li -99.705 178.944 mo -99.705 16.944 li -127.705 178.944 mo -127.705 16.944 li -155.705 178.944 mo -155.705 16.944 li -183.705 178.944 mo -183.705 16.944 li -211.705 178.944 mo -211.705 16.944 li -239.705 178.944 mo -239.705 16.944 li -@ -[0 2.8 ] 1.4 dsh -14.305 177.944 mo -241.105 177.944 li -14.305 157.944 mo -241.105 157.944 li -14.305 137.944 mo -241.105 137.944 li -14.305 117.944 mo -241.105 117.944 li -14.305 97.944 mo -241.105 97.944 li -14.305 77.944 mo -241.105 77.944 li -14.305 57.944 mo -241.105 57.944 li -14.305 37.944 mo -241.105 37.944 li -14.305 17.944 mo -241.105 17.944 li -@ -gsave -253.705 187.944 mo -1.70499 187.944 li -1.70499 7.94397 li -253.705 7.94397 li -cp -clp -0 lc -[] 0 dsh -false sadj -1.70499 -2737.06 mo -4.24998 -2552.98 li -6.79598 -2376.98 li -9.34098 -2208.89 li -13.759 -1924.66 18.654 -1640.43 24.614 -1356.22 cv -27.16 -1238.41 li -29.705 -1127.06 li -34.562 -922.47 39.996 -717.87 47.523 -513.361 cv -50.069 -447.207 li -52.614 -385.893 li -55.159 -329.236 li -57.705 -277.057 li -61.675 -200.65 66.029 -124.124 72.978 -47.9209 cv -75.523 -22.0378 li -78.069 .810059 li -80.614 20.802 li -83.159 38.1201 li -85.705 52.9441 li -88.25 65.4531 li -90.796 75.8291 li -93.341 84.251 li -95.887 90.9001 li -98.432 95.957 li -100.978 99.6001 li -103.523 102.012 li -106.069 103.372 li -108.614 103.861 li -115.605 104.102 121.972 97.1501 128.978 98.03 cv -131.523 98.7891 li -134.069 100.48 li -136.614 103.282 li -139.159 107.377 li -141.705 112.944 li -144.25 120.164 li -146.796 129.217 li -149.341 140.284 li -151.887 153.545 li -154.432 169.18 li -156.978 187.369 li -159.523 208.293 li -162.069 232.132 li -164.614 259.067 li -167.159 289.277 li -177.002 416.085 182.398 543.453 187.523 670.524 cv -190.069 738.33 li -192.614 811.215 li -195.159 889.359 li -197.705 972.942 li -206.34 1268.27 212.532 1563.68 218.069 1859.07 cv -220.614 1999.72 li -223.159 2147.62 li -232.552 2709.84 239.689 3272.1 246.069 3834.36 cv -248.614 4064.6 li -251.159 4304.06 li -253.705 4552.94 li -@ -grestore -%ADOBeginSubsetFont: GISAAA+CMBX10 AddGlyphs -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -systemdict begin -YNDRLK+CMBX10 dup -/Private get dup rcheck -{begin true}{pop false}ifelse exch -/CharStrings get begin -systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if -/A <1C60D8A8C9B08A941DDBC3AF1C109AC61AF06DEF14497758E2577FC09808 -E2F83FED36FAC5C5DF9845F9151204EBE19A62A093C0C714296A8AEB5EA72983 -7304C560208E23A9B00E450B7895C64B840FF7B8D2624ED826E8D6D1CB5BC276 -3958AE415A241BD617EA928FD9818043D58C39BCDA5256A3F17DFF2FADD0CDFE -4A5999053732F0E5CE29974C519106> |- -/W <1C60D8A8C9B08A949EE89938EFD2B089915D4CA87E50351E8DD3F3914A85 -384965AB9720D1BDB02951199DD63BE938B296E11B8132C78ABED307E15E2C96 -04E0EEA5C8FB1D25F45078482232C4120E0C6D7ECC100B9CF59823239764E960 -AC203F05154297337EBEC8D426CABE71C6D1BABE3D2EE87EB4EC26DC5A175D2E -1776DC7CB846E1C76A588A844BC3111554540D100610F9152C35EB0670475763 -7F97762997D01BB6BF9BF94F9DBF981A5DB94B101F849599A265> |- -/a <1C60D8A8C9B08A95C60527548E754D765DB4EDA6BA0D2CC6D8A620394D95 -5731400D0093175DD4FDCB6F936DAB2E93BD9C1B54BF99F619E92F88F8093B57 -6575F38778E5971C238BB03705C8902A6FCFED1FF202619A2D8A4C3FD818942E -E7E0400EE37C1268C755A54355454E010823DC11303C9CDCFFF1370DF47DDE8E -0505D81ACB493683AAFD9A5B8B94F66FF9ECA66884B26F31C72D900D51753830 -4DA83D95E97AC104F2FDC53254E575E01E9C7E8025E9> |- -/e <1C60D8A8C9B08A95D1DE8AA71D3914AC9DDC5BFDDE55301EE17DAE184B08 -E53C36FBF9A44FDF3309DBE08895DBFECCF103737D7326528346FD01CD1D9FC3 -874638E8C50ADE3B494897353EB3188B512405DD1BA5DA59E8C179230F7C8D15 -AFCEA2228DAC03C77D614B36A41126CE831B41CDF160A67B175BB36C52353A72 -5460F4256C> |- -/k <1C60D8A8C9B08A95F1118A977C6242CC6F5E327BF4A2BCE6E631EAC27F33 -5285F637895192724CE2C53641A392411149B8A3F127ECD7DEB11923D35A35EC -238223B6B1C9CF9675A0C83B3A0C95C18823DF1B6F368BBFEEE7185E77AE9040 -378C34B27A11D9EE3C9721E2EAFF82B925C0F3ABE698646F0C4A57CEC100EA29 -86134B063D8450710541B66D42FC62B89A6AB4B6D6C05FC0E5F8EF9F1253768A -DA78BF283C77228ACE6FD83E9384> |- -/o <1C60D8A8C9B7FCB6A15C803B3B972EE31F5A721ABF9B8490D1BCABFAF507 -3D6D0835AA64493F9EC5B8BAE86BFF5C8028599ED438B3807899BF98EB3DF2EE -9BBE5DC52FDB77ACA45EA052A40521B13F529CBBBB8B40F192297C658BE1CF97 -9B5618AA4355B6A77C9FC09641> |- -/r <1C60D8A8C9B08A95A5BEE1199161ADD44E1E8B27A5C75D09130CF9546F37 -4B2A22381A06BD734F2C4BF093B03F9AF2D0D4C8BE8AA6899632B1BDCEA5F8FA -27D0647BB27FC7927912A6761C3F8A51172D73B92082F06EFA277243DBD96EE1 -6421DB7B86390678EAD31E9D8E521BD186BAE7A8A68851384DC5E4933D7D1C5E -E5A527356EDB77> |- -systemdict /gcheck known {setglobal} if end {end} if -end -YNDRLK+CMBX10 /Encoding get -dup 65 /A put -dup 87 /W put -dup 97 /a put -dup 101 /e put -dup 107 /k put -dup 111 /o put -dup 114 /r put -pop -%ADOEndSubsetFont -/YNDRLK+CMBX10*1 -[46{/.notdef}rp /period 9{/.notdef}rp /eight 8{/.notdef}rp /A 21{/.notdef}rp /W -9{/.notdef}rp /a 3{/.notdef}rp /e 5{/.notdef}rp /k 3{/.notdef}rp /o -2{/.notdef}rp /r 141{/.notdef}rp] -YNDRLK+CMBX10 nf -YNDRLK+CMBX10*1 [9.9626 0 0 -9.9626 0 0 ]msf -324.775 14.8624 mo -(WorkArea) -[10.8911 5.72845 4.72226 9.86591 8.65753 4.72226 5.25021 0 ]xsh -%ADOBeginSubsetFont: BUZAAA+CMSY10 AddGlyphs -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -systemdict begin -YNDRLL+CMSY10 dup -/Private get dup rcheck -{begin true}{pop false}ifelse exch -/CharStrings get begin -systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if -/bullet <1C60D8A8C9B7A73D8D0B3FCDAA7E46FB68E7B1A6E412E25369E4ABB -A70D277941C6A488EED866AD61E359C443EB0FEA5> |- -systemdict /gcheck known {setglobal} if end {end} if -end -YNDRLL+CMSY10 /Encoding get -dup 178 /bullet put -pop -%ADOEndSubsetFont -/YNDRLL+CMSY10*1 -[161{/.notdef}rp /minus 16{/.notdef}rp /bullet 77{/.notdef}rp] -YNDRLL+CMSY10 nf -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -283.593 34.7875 mo -(\262)sh -%ADOBeginSubsetFont: GLAAAA+CMR10 AddGlyphs -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -systemdict begin -YNDRLJ+CMR10 dup -/Private get dup rcheck -{begin true}{pop false}ifelse exch -/CharStrings get begin -systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if -/parenleft <1C60D8A8C9B08A958B2129D6E9761120E2D623F206A8BB61D8ED -90A20EE239C62172B553BFF416342D6CD99C95C515CA225C40039DBAF08CE4F0 -55B08F39C15D29C99EF3EDD066CCCEF8932365A3BB1620FA5F0BCE8AF21A5BDE -C0FFD55FA45F247FC811007CB408F0DCDD3AE01E3246> |- -/parenright <1C60D8A8C9B08A958B2129D6E9761120E2D623F206A8A207F03 -DEA8F466C0D4F860EDF515D421F89285FC2D8EC76F5E903EDE1B5CFFAEC5DEA9 -22C7FC4A51953A99A5FB1F96793348D816F60492670058F4DEA6D328AB20FBAD -B3C1B57A79D8CCD13A3C6D068BAD5F09F347ED0C895> |- -/hyphen <1C60D8A8C9B08A959E2F69652E8B76AC2AC5B4F1FA8662A86AEED57 -846929C2FBC07360B> |- -/colon <1C60D8A8C9B08A95708109816759149241680C741B6923EBD56E6248 -E5269499A7D548A5AC3ECB516C4A5048666940A11AD8CB54F4BA847274447EEB -614F54B956BBCFCAD8E88A403FBD4464DA283ACB> |- -/semicolon <1C60D8A8C9B08A9570810981675918D0BCF1CD202F5F8524F1CF -461D4270459E44DB560BC854C3F48DFD92347C27A6AAF0E2B1A04AFEB82D8D46 -6FB78A9BF2E74CE09AE4A8F352791B5C7110FA6307B2916ECC9F5904CC094CEE -59D67B4016AFD5BCFCA64E9EC736BD726D1A09B76CECE761EBE5219FDE764D2A -9C6D289DBA39E76263> |- -/equal <1C60D8A8C9B08A946182837629008D945C50B3BD77B79680F3B07BDA -6301D2521ADF665EADEA779B8650AC6CDB556621631497A3BE00C67036F6EB06 -05A36A2C0EE306396247E4A79F8EFAE500D78B59605F041F11> |- -/b <1C60D8A8C9B08A95C5897169EED96641DA8B10CA087E6B7A5588052BABB7 -BC0836B12A49068694BF7254A2B820A876E020738250AC32ED44C3A7F2C5F700 -C2D03E307AFB7135F6415FEEB6D856569E9D5429B4DD3F524606607A7502F4FA -00BE0184FC677554B2B6367E60A281A4837A2231515AF09B33399B7D5C3D2E8F -3A2971F2933C4A4CAAA727A80DBDC9692BD6B38D543D422C14068650D2C61B6B -E587855459543E451B14A31F96D9B341DFF415> |- -/d <1C60D8A8C9B08A95C5897169EED96D33CB6A9013DDE3D04C2845E595598F -3E2E6D79295DF7CC9B6C00D2CF2AC2502697856E5474C945441376692CB09ED9 -25CE9D4F710C7DE089B5E658450CEECC611DD1F25787624443E710373775DB0D -7A6478B3FD4F82DF4FC109429D4EADCED1BD77A35BF25A1C1E584B0EB23CE621 -6847A21EE88B35D72221C7F9F0705E61C9F9C0A224456A04D3E81DE0BD98422F -FA8C7335713899937F5FFEC7771BB8FDAEE53DE3E6> |- -/h <1C60D8A8C9B08A95C5897169EED9664BED359D179BDDBB0B44F78A354068 -F188259C421AB0565D2C93368C7FE6E0A9F40BB196D1F23D06A9B4099431512B -C136412B8071F881A48FA8A97D03ACD06EBB8221F2FCB171D9A905549A8F7881 -2735FA48F2EC00ACCEB309920B412B3F60D0173EF224E4CB3F5C1DAD9CC6147F -9ADED8EC6C9533B7B1AABCF5D1E9B7F36A2D4B8D2B26EAE8EA> |- -/i <1C60D8A8C9B08A9570810981675968AD25F24D2B3EAE33A4AEDADBE9B65D -A53E9F2E54B16133284CA9914BED3880C793207FBDC7926300AD07E6E54407B5 -1EA082FB5EE3816A6A23A8296A947037E4E873086619D7E86B5A60AFA576E554 -D14C9B74D403098ADE85F71880A3E75D7FC1> |- -/k <1C60D8A8C9B08A95D222871B45C8170346D4B3692EE324314ECB68C750E8 -0C39C0E118E6175CCD69769E2118B02E8AEF864A1ADB8D0BF5A5FFDD4A9B9B6C -C867F43FFF5A7BBEB959851C5A4053DF1F3B8EBF64DEEC6B682D7055139D4103 -B0A63AD1D8193F253FA365D16CC3EC1AC7C7AEA533CCF6F8272FF6B8CD1FC7B4 -0DE006133FBB2B23E8E1776C461B4D8ABE09C8DE32B25BAD44EC36CACD378C29 -9496103B1CB809290EFAF69E7582E8754F6B25D7A0FD> |- -/l <1C60D8A8C9B08A9570810981675968AD25F317189905083B97CD6CD1B880 -05B79B666989E13C0F8D0889AD0162C7E87274D188EBBD1A911FDD0B6E360AA1 -C515725198B9106B157680FC> |- -/n <1C60D8A8C9B08A95C5897169EED9664BED359D179BD38846B55E34D4CAA6 -E85E9CF3F20D5FF6B35F1C9AAE2A542B7B24E087B6004A4C7219997095CC0DD0 -7A15DB83B5FEAD13F209441FFD364AD3DBF6E16129F3599BACA005A523490ABC -41E4DF320ACE384037EE1D352E3FAD8A9E2CECBD75A999F7B655F4FFBFAC6FFF -84029A8DF710DBB0D7CD4C1D20367E79BC4E3121199FA9593C876B29EA793F10 -2A1E36BE8056D0377A> |- -/p <1C60D8A8C9B08A95C5897169EED91609D9E4D5F91353B4B61FEC4EAC5FAD -7B5032144CF9ADF0F974C4F1789F7935ECC14F06F084A964A5CA17285CA0C9EC -1B8F57A0E66AEAF75BA11AE734E6416585ED4DB12A3372EA2BA1BABC0DE7BE87 -584CD6EA8819CE99CB18F04E8ECD619D7E02CDE60A0AA18597DE62AF13ABCC5A -5F1D59EBFBBEF560144EF0DCE1B387B4BC40F158468D6A4DE477659B50190482 -6F081FC4942E5187D9F03F6D1BD471F55D6300> |- -/r <1C60D8A8C9B08A9584DCB847BA986212E50A0E258C2648145E7BCFAC2BA8 -6C36E84B654FABD35F6BE558D4B54676EA44C57F6EF668BC4866822048422FD6 -D8B608EB2C1C67EC3EE3CEBDD94E9A9214F99F9DA8EE2F6900EB47053AC763EE -DABCA0360701D8CB383B9ECCD7B848D18CFB88761A167471DE407F7BED4BC50B -779C4D57BF133C3E4777AA4605171C6D> |- -/s <1C60D8A8C9B08A9586D4F7B21AA9B0967A13D9D7A42FE5E3505E2F3EE7CA -FF99F258F00E5A08E889C3CC5D8ACF7164CD2AC0013AEF91C534D4ACEB36DB05 -CE0E820904C7EB6E6797C2D5FB5E96476FD3694427C3F770022BFE939EC57571 -FAC1F965E0A7F32B36C86522DA3AFB3A309E4B5D72F0E56F1BEB5C7254CECC22 -9B1219F95DA80187F2FFAF15E03AF5B396BE650B53989F1A64B4AA9655D1019B -496166D38FC8961ACDA2D0B1533422796A114C02DCAA98A8558155EE2C970442 -944A032E8A6A4004C15A48F9176AE45E44068C23BC> |- -/t <1C60D8A8C9B08A958B2129D6E9766AD6B3247B9CBDFB0724765D43ED23A7 -B2BC7B24077C209594776C48799589E3DF7269407A6893D4C106057122D99E3F -649ACAFBE1812EEAA6C4DCDDD716BEB7694626BFFCAE715C15EF0FD8CE9F6FE4 -E96B03> |- -/u <1C60D8A8C9B08A95C5897169EED96D33CB6A8CCD6F539BADC574F30FA019 -2FAAA0351E8C93175F4B6BE4D2DCA8A13E4F01BEC5788441B5C71C1247369B6B -73137454B1C207EA4F43D533FE87512BAD8DD4F3DBBECD9A7A1CE3F33A4D3F31 -6952FDB339B4B6A937009D6EC9821D8553981B7D8AABC3E750369071> |- -/v <1C60D8A8C9B08A95D222871B45C81C126204E8A3F3EFC2EBF937B1E5F2B8 -737EDCCFF78DB8693FA0E7B559CFAC0A233112105FC1A8807ADD3013D4AE86C4 -38318F1223CADD606642DF7E9A8EE9BE743E975DA759D856D52F7E927FE33606 -3979ED38AB2E1EA4CB4F371A1EB04E6C5B864C9DB5271435AB2DE7D9DE15A6B1 -D9E3FD555F015DADE467> |- -systemdict /gcheck known {setglobal} if end {end} if -end -YNDRLJ+CMR10 /Encoding get -dup 40 /parenleft put -dup 41 /parenright put -dup 45 /hyphen put -dup 58 /colon put -dup 59 /semicolon put -dup 61 /equal put -dup 98 /b put -dup 100 /d put -dup 104 /h put -dup 105 /i put -dup 107 /k put -dup 108 /l put -dup 110 /n put -dup 112 /p put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 118 /v put -pop -%ADOEndSubsetFont -/YNDRLJ+CMR10*1 -[40{/.notdef}rp /parenleft /parenright 3{/.notdef}rp /hyphen /.notdef /slash /zero -/one /two /three /four /five 4{/.notdef}rp /colon /semicolon -/.notdef /equal 3{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I -2{/.notdef}rp /L /M /N /O /P 2{/.notdef}rp /S -/T /U 11{/.notdef}rp /a /b /.notdef /d /e -/f /g /h /i /.notdef /k /l /.notdef -/n /o /p /.notdef /r /s /t /u -/v 4{/.notdef}rp /endash 132{/.notdef}rp] -YNDRLJ+CMR10 nf -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -293.556 34.7875 mo -(Theend-behaviorislike) -[7.19299 5.53922 7.24979 4.4234 5.53918 5.53922 3.31747 5.81616 4.4234 5.53918 4.70435 5.26025 -2.76959 4.98129 6.73172 2.76962 6.75162 2.76959 2.76962 4.98328 0 ]xsh -%ADOBeginSubsetFont: WRBBAA+CMMI10 Initial -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -13 dict dup begin -/FontType 1 def -/FontName /WRBBAA+CMMI10 def -/FontInfo 8 dict dup begin -/Notice (Copyright (c) 1988 - 1996 Blue Sky Research and Y&Y, Inc. (978) 371-3286) def -/Weight (Medium) def -/ItalicAngle -14.04 def -/BaseFontName (CMMI10) def -/WasEmbedded true def -end def -/PaintType 0 def -/FontMatrix [0.001 0 0 0.001 0 0] def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 120 /x put -dup 121 /y put -def -/UniqueID 5087385 def -/FontBBox {-32 -250 1048 750} def -end -systemdict begin -dup /Private -12 dict dup begin -/|- {def} def -/| {put} def -/BlueValues [-22 -0 683 705 431 442 453 466] def -/OtherBlues [-205 -194] def -/BlueScale 0.04379 def -/StdHW [31] def -/StdVW [72] def -/StemSnapH [25 31] def -/password 5839 def -/MinFeature {16 16} def -/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 -systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup -/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def -/Subrs 5 array -dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | -dup 1 <1C60D8A8C9C3D06D9E> | -dup 2 <1C60D8A8C9C202D79A> | -dup 3 <1C60D8A849> | -dup 4 <1C60D8A8CC3674F41144B13B77> | -def -put -dup /CharStrings -3 dict dup begin -/x <1C60D8A8C9B08A95C3B1459DC8650F9F96183FC46268F5BDA744B05C84F8 -C7E5FE6BFCA9D4C8BD3488080E8FC96F34EA177DCAE190D27F37102D2F45514A -ECF6E4A3B2E6F401810D0AF13E4BDFDB8118476E04C9DD93F8884F46C9ABEE13 -C8E7992449902F6BC3D518B2A70293976C8BCE67ED913D975C52E884BF7F46CE -8DF8170D79262260A6CB5A6A088C0A964E0271DA63944ABA9C96D1AA58CB590F -97DC9C8372606676C2CA18B1A9303EBF11B510FAB8A33E9B530D274E48DD09EE -8829EC16181BBC16C4E81343ACB5386F22A9C0CA2C23959102E833> |- -/y <1C60D8A8C9B08A95A3A690DEE11C2ACFF7516D4A7CDA884FB3B130648C63 -2F41B68B5E071E6BAD692658125A4CE9A4427A55054BF5DABFF855AF9D186215 -1F50AD5D2EE36E064C9718B8694EF83525324184D7DD07A10B9FD203C707D849 -3E926469CD1C36E94D5785557A2D95B556774E51CEFBAE2CC8AB735FFF293AFE -FA32B8D1FD5C52EC860AA6EC20816B24BD1EB69FE8581708322D6F09A08B3182 -91EF57EAE554A00C60D585B786E53371A6D3FB2D8729C3F2C51DB65ABF8CA421 -EEB103AED2CB924D829D66429CF6664CDEAFEEC4AD07C95E7FE8BCAB5D2A1AD6 -731779D5> |- -/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- -end put -end -dup /FontName get exch definefont pop -end -%ADOEndSubsetFont -/YNDRLM+CMMI10 /WRBBAA+CMMI10 findfont ct_VMDictPut -/YNDRLM+CMMI10*1 -[120{/.notdef}rp /x /y 134{/.notdef}rp] -YNDRLM+CMMI10 nf -YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf -399.866 34.7875 mo -(y)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -407.875 34.7875 mo -(=)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -418.391 34.7875 mo -(\241)sh -YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf -426.14 34.7875 mo -(x)sh -%ADOBeginSubsetFont: KEDBAA+CMR7 Initial -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. -13 dict dup begin -/FontType 1 def -/FontName /KEDBAA+CMR7 def -/FontInfo 8 dict dup begin -/Notice (Copyright (c) 1988 - 1992 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def -/Weight (Medium) def -/ItalicAngle 0 def -/BaseFontName (CMR7) def -/WasEmbedded true def -end def -/PaintType 0 def -/FontMatrix [0.001 0 0 0.001 0 0] def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 51 /three put -def -/UniqueID 5000790 def -/FontBBox {-286 -250 1122 967} def -end -systemdict begin -dup /Private -13 dict dup begin -/|- {def} def -/| {put} def -/BlueValues [-20 -0 683 703 431 446 664 674] def -/OtherBlues [-205 -194] def -/BlueScale 0.04379 def -/StdHW [36] def -/StdVW [79] def -/StemSnapH [28 36] def -/StemSnapV [79 95] def -/password 5839 def -/MinFeature {16 16} def -/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 -systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup -/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def -/Subrs 5 array -dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | -dup 1 <1C60D8A8C9C3D06D9E> | -dup 2 <1C60D8A8C9C202D79A> | -dup 3 <1C60D8A849> | -dup 4 <1C60D8A8CC3674F41144B13B77> | -def -put -dup /CharStrings -2 dict dup begin -/three <1C60D8A8C9B08A95C25148D4A67F69EFB9DDFA5ECA5AE37566D87066 -172F8CABE2B2CB84CA762EB5E603C8A9A699CCCFA6A0578E3DA76E6C9E7B5A84 -45F01D818A380DD4AC46AFDB5422B8800FEF2E8AFDA86EDD8199C34D64992E4F -43992CF1D54B07E3F575480A9A0B868375A4E2A9893BE0AEBB713690AB6C5B93 -E6D8D619357F90F56F58A8525CC0A1BD91DA9365507B440F549B60D4E7E5CBB3 -769D4C82F061F9E20A25AD23418551374D804A6B25C8CE003D> |- -/.notdef <1C60D8A8C9B08A958AA685092D4752> |- -end put -end -dup /FontName get exch definefont pop -end -%ADOEndSubsetFont -/YNDRLN+CMR7 /KEDBAA+CMR7 findfont ct_VMDictPut -/YNDRLN+CMR7*1 -[51{/.notdef}rp /three 204{/.notdef}rp] -YNDRLN+CMR7 nf -YNDRLN+CMR7*1 [6.9738 0 0 -6.9738 0 0 ]msf -431.835 30.6743 mo -(3)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -283.593 54.713 mo -(\262)sh -YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf -293.556 54.713 mo -(x)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -299.25 54.713 mo -(-int:) -[3.31747 2.76959 5.26224 3.87555 0 ]xsh -YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf -325.685 54.713 mo -(x)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -337.496 54.713 mo -(=0\(even\);) -[13.868 10.3123 3.87552 4.4234 4.98328 4.4234 5.53922 3.87552 0 ]xsh -YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf -397.897 54.713 mo -(x)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -409.708 54.713 mo -(=)sh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -423.574 54.713 mo -(\241)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -431.323 54.713 mo -(1)sh -293.557 66.6682 mo -(\(odd\)) -[3.87552 5.25827 5.53922 5.53918 0 ]xsh -YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf -283.594 86.5933 mo -(\262)sh -YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf -293.557 86.5933 mo -(y)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -298.799 86.5933 mo -(-int:) -[3.31747 2.76959 5.26224 3.87555 0 ]xsh -YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf -321.623 86.5933 mo -(y)sh -YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf -329.971 86.5933 mo -(=0\(passesthroughori-) -[10.8572 8.50607 3.87552 5.53922 4.98129 3.92523 3.92523 4.4234 7.45001 3.87552 5.53922 3.9053 -4.98129 5.53922 4.98129 9.06396 4.98132 3.90533 2.76959 0 ]xsh -293.557 98.5485 mo -(gin\)) -[4.98129 2.76962 5.53918 0 ]xsh -grestore -grestore -pgrs -%%PageTrailer -[ -[/CSA [/0 ]] -[/CSD [/0 ]] -] del_res -/YNDRLM+CMMI10*1 uf -/YNDRLM+CMMI10 uf -/WRBBAA+CMMI10 uf -/YNDRLN+CMR7*1 uf -/YNDRLN+CMR7 uf -/KEDBAA+CMR7 uf -/YNDRLJ+CMR10*1 uf -/YNDRLJ+CMR10 uf -/GLAAAA+CMR10 uf -/YNDRLL+CMSY10*1 uf -/YNDRLL+CMSY10 uf -/BUZAAA+CMSY10 uf -/YNDRLK+CMBX10*1 uf -/YNDRLK+CMBX10 uf -/GISAAA+CMBX10 uf -Adobe_AGM_Image/pt gx -Adobe_CoolType_Core/pt get exec -Adobe_AGM_Core/restore_mysetup gx -Adobe_AGM_Core/pt gx -currentdict Adobe_AGM_Utils eq {end} if -%%Trailer -Adobe_AGM_Utils begin -[/EMC pdfmark_5 -currentdict Adobe_AGM_Utils eq {end} if -Adobe_AGM_Image/dt get exec -Adobe_CoolType_Core/dt get exec -Adobe_AGM_Core/dt get exec -%%Pages: 1 -%%DocumentNeededResources: -%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 -%%+ procset Adobe_CoolType_Utility_T42 1.0 0 -%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 -%%+ procset Adobe_CoolType_Core 2.31 0 -%%+ procset Adobe_AGM_Core 2.0 0 -%%+ procset Adobe_AGM_Utils 1.0 0 -%%DocumentNeededFeatures: -%%DocumentSuppliedFeatures: -%%DocumentCustomColors: -%%CMYKCustomColor: -%%RGBCustomColor: -%%EOF + + + +% &end XMP packet& % + +[{Doc_Metadata} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark_5 +[/Document 1 dict begin /Metadata {Doc_Metadata} def currentdict end /BDC pdfmark_5 +[/NamespacePop pdfmark_5 +currentdict Adobe_AGM_Utils eq {end} if +%%EndSetup +%%Page: 1 1 +%%EndPageComments +%%BeginPageSetup +Adobe_AGM_Utils begin +Adobe_AGM_Core/ps gx +Adobe_AGM_Core/capture_mysetup gx +Adobe_AGM_Utils/capture_cpd gx +Adobe_CoolType_Core/ps get exec +Adobe_AGM_Image/ps gx +%%EndPageSetup +1 -1 scale 0 -194.951 translate +pgsv +[1 0 0 1 0 0 ]ct +gsave +np +gsave +-7.62939e-6 0 mo +-7.62939e-6 194.951 li +256.793 194.951 li +256.793 0 li +cp +clp +false sop +/0 +<< +/Name (Black) +/0 +[/DeviceCMYK] /CSA add_res +/CSA /0 get_csa_by_name +/MappedCSA /0 /CSA get_res +/TintMethod /Subtractive +/TintProc null +/NComponents 4 +/Components [ 0 0 0 1 ] +>> +/CSD add_res +1 /0 /CSD get_res sepcs +1 sep +%ADOBeginSubsetFont: GLAAAA+CMR10 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /GLAAAA+CMR10 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1988 - 1994 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def +/Weight (Medium) def +/ItalicAngle 0 def +/BaseFontName (CMR10) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 51 /three put +dup 53 /five put +dup 65 /A put +dup 67 /C put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 97 /a put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 111 /o put +dup 123 /endash put +def +/UniqueID 5000793 def +/FontBBox {-40 -250 1009 969} def +end +systemdict begin +dup /Private +13 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-22 -0 683 705 431 448 666 677] def +/OtherBlues [-206 -194] def +/BlueScale 0.04379 def +/StdHW [31] def +/StdVW [69] def +/StemSnapH [22 31] def +/StemSnapV [69 89] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +23 dict dup begin +/slash <1C60D8A8C9B7A73DB56225352A24C6E389DE2B55CA06CAB1D904D74F +E21B6520E910DE6837DBFFB95567192F781E541A03B8446689265DEAE7140ED2 +3D1C3943714CDFC12315> |- +/zero <1C60D8A8C9B7A73D3B2D32309B1F5D5A32FC3614834F8BC61B6EB92C1 +2484BD76628737DA40CF9DA1C97CCDAFB1D1B732C642F74A7C41B7D3AC6DAF8D +1E760692B6EBD2417EF1893A4AA0B1CF049D4C54D830CEC073A9153D451FAD42 +892B0930AEE4FE18588336BFDAD60D8A4F4CFFED76F103FB9BBD8A33EFBA3F18 +232B88D88FE54E17260FA3E2CC29DEC0CB72B88DC816FF5> |- +/one <1C60D8A8C9B7A73DC579B9CE13A4EA8C203AFC890ABD6F58341B006CF1 +BDD8FED3A7238E01F751FEAC75885229C293891E5636AD630D9C884528B6FEF0 +0728A740ED77D054B4743ECA5E3947520FEF6B23D548765D11> |- +/three <1C60D8A8C9B7A73D3B2B97DEB4C7BDB68E0D63865C8BF294429AD1BA +AE59A25299F9306A9E28AA5C0C0AF9F97F56096DB0FD0EC440ACCE834B0BA539 +2FD94D026768A961AA5D1A88FAE30F2B2033E77AFAB55B0B9C8092CD226DD9EF +EEAAF5CD5AE79D6DDEC4C37DC43DE3B85DD2A2EC4DC0C9F349D5E8F9F615782E +DC8C53805553FD3C0007C1818BF3D99AB659A079ED36132BBDC613CA63D7A0FE +429706DBC6BA998CE56A89C002758EF37F90A390F83B3DFE49D312FA66FDF2F1 +6212D1503559B35FC2DB8BD5A49535> |- +/five <1C60D8A8C9B7A73D3B2B97F19D54A2E00E7DDA8E72064220CB7581D13 +CEDF071F346430E40993A6297E3A2A6D6093205222D977AC7F7B65CC82B221D9 +B18ADEA5D4AF0261ABF060D3E283C7B3B5EB39FF499721FD51203AE59E3BEA25 +7DFD3E472FEF67221488EC8D1F355E2FAD057CA44A8B4BAD6C6C719C164907CB +F9A6CC770DB0C7E58A37D2385E23F576BCFF94FFBFD8ADD4C5E6C32CD83ACEB7 +7472D00FE1A4DC66393A99AC6BBD252B04C98B710149EA42B66ACE89D4FC4393 +F3A09165DF477ABCB0E8A8DB21E4278CA219EBCC9B067F92619913BDBD1EF3C9 +A> |- +/A <1C60D8A8C9B08A9501CDAE1251A61DF6E2312CA41635F6CE1D00B63E171C +70F84D42F62A21A6DD37D84C279E3FAE908D39B730ACD671ED9E277ACFE833A1 +1F48F076C9803DC08258033731BCBCE19DF3B81C1C298B382A15FAC94387A992 +AD9631716A7ED4F711137D6C851AE1C8DCBBFBCF7274E882226E58958CE6283A +197E7FAE3A2D0F6C24FA411BECFB36A10FF2A923EA89ABEFAD5AB23D600F> |- +/C <1C60D8A8C9B08A9454CA4C75C5C983901A105955FD02AB95A1C2D2A205D6 +C9A19566388580DAF81E45849DB37660797B67B5A88B6906602915C5F5C9B0EC +D18BF9F52BC4BC58CA3DC88745B8BAABAD3D92E461BFB415E7240305CDDA1D0D +B5D35FEBC75FFD4C053E78B6CA772ACEB0C2FF98C08B672F492F305E0C5F3841 +918729B4AEB78A65C2A83364408240D8D653DA56F4DCB028D3D78F3C2D6BC7> |- +/I <1C60D8A8C9B08A9591900960B3FA4612DFF926AB21A530E1912F33677612 +AC06B324D812E42049FF4946BE5E0FFA24FA0C62F2839FF2110EEC7EE0A42476 +46E6F699D4C8BECE1825B3A661611E4D55F40F2E64FACB836D4D0C9780F60650 +FBF10E0D42> |- +/L <1C60D8A8C9B08A9504870DC577BFF1117CB147078FC0444648398262998D +8061E386D366188391878ADBE16C10A3B1BC6A93F56BD64AE45F8370470F419D +A43CBACE3D7B1152502CD0CF1468D72D3CB197A29E71D336CDA7D6BAA426EC1B +681825BDDC37329099DC579F155C> |- +/M <1C60D8A8C9B08A94284A0D047609A407E661A852E250B140B4157477FB2A +AE2E22210B2D780B692B0718211E5BD86C3DCF8087849BEE2B9F6D1D8621E40C +8FBE892AC1B23002BF18819E26C6741335DF8DA8AC82506D7051C0505D48DDFA +17EE84A06E07C05EBAC6174D600BACE071866247BE6C83F4CF28F6D6EE6A6CF8 +A788C4FFFDBDCA978C2B0B201753D21CB7AF0542C690ECE8E7EDBE1B1FB29939 +734E35E0ECCA8BA7FAEB58AC205A8A82A94C960A65> |- +/N <1C60D8A8C9B08A9501CDAE1251A61DF6E23FBE9059A2A88492E84D61402E +80BD80B5057FF8914FA4679EB3900C60B246DA77BF837041B1C053FCD543E3D1 +D259FCE953A74E40366D604A99F9233772AC97F872D505329B1446640ABD99E4 +AC723C39DD6EA376A043CE3633F04D9BC6DEFE2E1A831DBB9C16F90A966DFA0F +3802BB1EB0AA3DAEB0E864B9D3CC3E14AE1E9219B48660289CF348B4E280> |- +/O <1C60D8A8C9B08A946182837629000F56F09862ED5AA400F2B4EB929FCD0B +6F40CAF45238A67BE496742823610F15AF19832E8EC09C64557C48DB0BC41E07 +C1B98081893CB2216BAE4CCECC72A02E2F6B8D0FE8B2E6548D00AAA585F02486 +772A4FC1258C2982A5ECEC> |- +/P <1C60D8A8C9B08A94478101EE5603CAF9EA65868978F157B7D9DB71203FAD +46B85DF1A1E477012038D20B3756C0124AD7E2F6ACCB98150AB793091E3E7A8F +3C0AE6FC8D7A5031BB678671889D46F3A15BD495F1AB5B7C8F63325E15B44523 +174D09593A38714FEB5177883F725186FE6BF7095A24CD9EDEFA3551580A0E2B +0B49AC2002> |- +/S <1C60D8A8C9B08A95C5897169EED99899F86A6DCF3CD291B001131D3BCB45 +BF71748507542417352D5B30F63C60EB90DCF55005F88E95175B21D3219CD9E9 +2E89E417B177D285600845553F66626D2225552D23A7697637BDCEEECAEA18AB +42A896E96FF5B3536CC368A5F7504B6C75D962A4B5F9534F79AC78DC99848461 +42257A40DE257430C92806EBA73FF7D93DF0A6C207299E2D17F4071F9096D016 +163F4D3EC1889ADA266D3682F2D99904573A5022A10E61069737F2D55F919F95 +A33DB6DD2667321E4727855B58DBF4B1E5A294928E6CEABFBD34F296C1B758> |- +/T <1C60D8A8C9B08A9454CA4C75C5C97DCE7AB32777FAAECD12647866E7CB3F +CCDC541E37F2225E520DEDE695980D4012AD5B972BDABC7E7E5410E71AC63692 +4E778B3131B6C4D1E76F8C4592AC311A2107F53DC1850538C9E487E6D5DBDFE8 +027D7126BA9ED8B24E7379B57E474ACD298BF6B3700CC970D80111DD98EFC872 +C24D0DA3C75DDDFD177C6D15> |- +/U <1C60D8A8C9B08A9501CDAE1251A6E3AF1199B24D30F25809B39A0DD6474A +CF1BFDB89F5985BBB0F2E5FE7296314FDA462BECDBDEA31B3750001975D37A8B +F31F224CAB5093B8997B856DAE5F9007E1497BEED45CA8AC033A65F773653762 +77BFCDF39A2D8F1BC8E5626BEEEF5D670E87E32F25C0530E88A4E2B9AD6D8333 +3A6C173F8B22714E74A224AD610C2B1EAB> |- +/a <1C60D8A8C9B7A73DCB03313BCF7AD8C8EE234E5372D46A65E92A78F4B7E0 +2ECC58F71EE6C027AD4D56C5E4DE1AF1031295DC17C0E7AC8D8358634F9A19B0 +2A110E5539C10136C68E0D2CBEA6658A501D9D73323861F8C29EB92F9080ACC3 +E236C5F14389534682EC2925F59CD4A215569A7BD7B9F7827A30BA75EB840535 +B2A2C8F92AD166CE93D277314A4C690C47DB847F73BFE1049631CDDB9124FD76 +2753AA8DB187C216AFB74F76299B3C51610D74CF31321BBFEB5CFCA7D213C896 +D1B8E57EFC05695F2F73> |- +/e <1C60D8A8C9B08A95B1F07368C45D8D2AF4BC97E4CB216B20786BB8409E5C +B0892E60E7F0AD9AC8433678C58AAD59736BF9700A3AEB0B5352F4A898A5EEFB +C72A64BFB45B917D9879BD0577DAB96A0E86BECAB5E8A8A051E5E40886D5A00C +EC53E0A3265FC74195574846689BF9F38086985C2DD3223390D51155F707CE86 +59EC1C65A75BE9A0BA862DB1A00FF6A01FCED7E6> |- +/f <1C60D8A8C9B08A956BA65798425CE9B0A78F07A04AF2F8524751F181F94C +EF756ACD6AB92BD09462A05FB08A9160A0AB5267B62445F916DEFC1DAF3F1FB4 +B3761F71CBE3290960500C788D04CB45BB0A2825753AA6E46495F35A08389AAA +C80F35ADADFB7ACE340FEC03C9E5F9A50A8AD731E7A553A32F387574697F9CAB +2E100B6DD6E3525398F6> |- +/g <1C60D8A8C9B7A73DB58EA28807584EB19BC6EA1448A12312E623B90358A1 +63CFC67672A34CC74B0AEAADF24229DF1CCAA1488AE3E348FE2ACD572EA487EC +9D77FBB0710AB421B03DD5B8AE5519B5C269E9648E819E7ECE806EEF16A6618D +07D9AAB350E57F26F5259E8FCF9E5C2D96BBEAD16502F9E7819E854042DDB2BC +674C39681CC2E5224219582BC7B59BBAEF869C9DF91CA7770A97BAD53C3C3A99 +175BA8F0A5744B5969D3BC15831A95918F7C707E41F5D87B8DB2D57378BC9C29 +7DAE69E4BF438246E63F565B22D86CBE28DEF748262FB9FF82A88935451D6280 +A28F1AD964E6E476D5779321E42D3A86BE41122F1BED36C3DC47E1E01C225345 +98D0431873197ABE1C8EC03B4011E4B26D249635BDBABB8E5B69BE07AFA65F88 +EAF6> |- +/o <1C60D8A8C9B7A73DCEB07E09D16841D605E4F67059E6B258F546B80703E4 +CDAF20027B900118209D5372F965F2045D50C02A29110A048C891DEBA3210CDF +C5CDE2309C0CDE0E4855E9F6D8954C4C68826A14AD2E4C6227A036D85D304D6A +96FEAA92DEC3CD1B9F4AD57B5F1EBAB070FE911461A7D5B958F5> |- +/endash <1C60D8A8C9B7A73DB9B60A0DBA4B5FB3A045D6B65F12EE5E3DC48D3 +43D8E> |- +/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLJ+CMR10 /GLAAAA+CMR10 findfont ct_VMDictPut +/YNDRLJ+CMR10*1 +[47{/.notdef}rp /slash /zero /one /.notdef /three /.notdef /five +11{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I 2{/.notdef}rp /L +/M /N /O /P 2{/.notdef}rp /S /T /U +11{/.notdef}rp /a 3{/.notdef}rp /e /f /g 7{/.notdef}rp /o +11{/.notdef}rp /endash 132{/.notdef}rp] +YNDRLJ+CMR10 nf +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +-31.697 -36.8879 mo +(MAC1105/T3{Page5of10{SOLUTIONS) +[9.13578 7.19498 7.193 4.9813 4.9813 4.9813 4.98129 4.98131 7.19299 92.4629 8.30183 6.50756 +4.98131 4.98129 7.74393 8.30185 4.98129 6.36908 4.98129 8.30182 195.931 5.53922 7.75089 6.22662 +7.47195 7.19296 3.59644 7.75098 7.47192 0 ]xsh +%ADOBeginSubsetFont: GISAAA+CMBX10 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /GISAAA+CMBX10 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1988 - 1994 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def +/Weight (Bold) def +/ItalicAngle 0 def +/BaseFontName (CMBX10) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 56 /eight put +def +/UniqueID 5000768 def +/FontBBox {-301 -250 1164 946} def +end +systemdict begin +dup /Private +14 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-11 -0 686 697 444 453 655 676] def +/OtherBlues [-201 -194] def +/BlueScale 0.04379 def +/StdHW [47] def +/StdVW [114] def +/StemSnapH [40 47] def +/StemSnapV [114 142] def +/ForceBold true def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +3 dict dup begin +/period <1C60D8A8C9B08A9560D4C2F3A74D92838E83B7DC14B89478B799496 +0CFDC6D2144A34A20CA36052335682902BE7739DD> |- +/eight <1C60D8A8C9B7FCB6A4EC6CCC71FFBC41969F86A86636A65E5BD14FD4 +EBD93FCE205F86ECC615335CAFE8E2240019DB970894F9979E3FDF252D8A9472 +1B680E23D2DF204A99891D5AD0E347695938A6FCE4923A098978EC0AC2A3894C +8A94767FEBA61293F9C489BAC7A89726BFA765D56F2D198E99D500D81046ACE1 +5301FD9FB36D2F2E4EAA017CCF306EAEC8E157B40FDE6DC2FA713180A587E730 +6AD0870F441697503D> |- +/.notdef <1C60D8A8C9B08A95899606B6B060A7> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLK+CMBX10 /GISAAA+CMBX10 findfont ct_VMDictPut +/YNDRLK+CMBX10*1 +[46{/.notdef}rp /period 9{/.notdef}rp /eight 199{/.notdef}rp] +YNDRLK+CMBX10 nf +YNDRLK+CMBX10*1 [9.9626 0 0 -9.9626 0 0 ]msf +-25.9685 -7.00012 mo +(8.) +[5.72846 0 ]xsh +249.382 99.488 mo +253.706 97.944 li +249.382 96.4 li +251.112 97.944 li +f +gsave +253.705 187.944 mo +1.70499 187.944 li +1.70499 7.94397 li +253.705 7.94397 li +cp +clp +.797 lw +0 lc +0 lj +10 ml +[] 0 dsh +false sadj +1.70499 97.944 mo +251.111 97.944 li +@ +grestore +.399 lw +0 lc +0 lj +10 ml +[] 0 dsh +false sadj +127.705 101.929 mo +127.705 93.959 li +@ +155.705 101.929 mo +155.705 93.959 li +@ +183.705 101.929 mo +183.705 93.959 li +@ +211.705 101.929 mo +211.705 93.959 li +@ +239.705 101.929 mo +239.705 93.959 li +@ +127.705 101.929 mo +127.705 93.959 li +@ +99.705 101.929 mo +99.705 93.959 li +@ +71.705 101.929 mo +71.705 93.959 li +@ +43.705 101.929 mo +43.705 93.959 li +@ +15.705 101.929 mo +15.705 93.959 li +@ +129.25 12.268 mo +127.706 7.94403 li +126.162 12.268 li +127.706 10.5391 li +f +.797 lw +127.705 187.944 mo +127.705 10.538 li +@ +.399 lw +123.72 97.944 mo +131.69 97.944 li +@ +123.72 77.944 mo +131.69 77.944 li +@ +123.72 57.944 mo +131.69 57.944 li +@ +123.72 37.944 mo +131.69 37.944 li +@ +123.72 17.944 mo +131.69 17.944 li +@ +123.72 97.944 mo +131.69 97.944 li +@ +123.72 117.944 mo +131.69 117.944 li +@ +123.72 137.944 mo +131.69 137.944 li +@ +123.72 157.944 mo +131.69 157.944 li +@ +123.72 177.944 mo +131.69 177.944 li +@ +%ADOBeginSubsetFont: GLAAAA+CMR10 AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +systemdict begin +YNDRLJ+CMR10 dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/two <1C60D8A8C9B7A73DC50B0411757B441481CCF7EF812EEB9B3F6A07BD51 +606BCA866C4BD24CA34E86B9CA5A529B664F3EEDB6B4AF8A2B994DB57B49473E +162231CB943675FE63E9B92B8AEBB62FB22456EC4173C66EF6C2F34FFEC22ACA +E77FFFAAD70F3754CADC0D2CF63CB6D286D930AEA5A613E5AB9CB004BEAEBADD +D070EDAF4FF25FDB6421F540D58D2C7A3FC40290CBCF831BE1B89B7F> |- +/four <1C60D8A8C9B7A73DC579B9C1587087D4749982A674065FCDD01CF53F5 +4AF89DAF22339F0A467CE8D8CC25949B03A9DEFE86592098644AED5891ABD8D0 +71237FB9B66EF7648D767508B0BB1075A0AC676C770BFE6D0E818B53FD7884E4 +D8E6A983234A6E833EF72FF7FE587> |- +systemdict /gcheck known {setglobal} if end {end} if +end +YNDRLJ+CMR10 /Encoding get +dup 50 /two put +dup 52 /four put +pop +%ADOEndSubsetFont +/YNDRLJ+CMR10*1 +[47{/.notdef}rp /slash /zero /one /two /three /four /five +11{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I 2{/.notdef}rp /L +/M /N /O /P 2{/.notdef}rp /S /T /U +11{/.notdef}rp /a 3{/.notdef}rp /e /f /g 7{/.notdef}rp /o +11{/.notdef}rp /endash 132{/.notdef}rp] +YNDRLJ+CMR10 nf +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 81.1542 mo +(1)sh +113.758 61.1542 mo +(2)sh +113.758 41.1543 mo +(3)sh +113.758 21.1544 mo +(4)sh +%ADOBeginSubsetFont: BUZAAA+CMSY10 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /BUZAAA+CMSY10 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1996 Y&Y, Inc. All Right Reserved. http://www.YandY.com) def +/Weight (Medium) def +/ItalicAngle -14.035 def +/BaseFontName (CMSY10) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 161 /minus put +def +/UniqueID 5096651 def +/FontBBox {-29 -960 1116 775} def +end +systemdict begin +dup /Private +13 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-24 -0 683 705] def +/OtherBlues [-135 -124] def +/BlueScale 0.04379 def +/StdHW [40] def +/StdVW [40] def +/StemSnapH [40 56] def +/StemSnapV [40 56] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +2 dict dup begin +/minus <1C60D8A8C9B08A946182837629008DF7702985522C1BEB4D11AB8A6B +5589D8B615C840A4D8FD35DE7CD09D4C55DA8FE732830DDE> |- +/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLL+CMSY10 /BUZAAA+CMSY10 findfont ct_VMDictPut +/YNDRLL+CMSY10*1 +[161{/.notdef}rp /minus 94{/.notdef}rp] +YNDRLL+CMSY10 nf +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +106.009 120.739 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 120.739 mo +(1)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +106.009 140.738 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 140.738 mo +(2)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +106.009 160.738 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 160.738 mo +(3)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +106.009 180.738 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 180.738 mo +(4)sh +153.215 113.33 mo +(1234) +[27.9999 27.9999 27.9999 0 ]xsh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +93.3403 113.33 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +101.089 113.33 mo +(1)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +65.3404 113.33 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +73.0894 113.33 mo +(2)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +37.3406 113.33 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +45.0895 113.33 mo +(3)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +9.34069 113.33 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +17.0896 113.33 mo +(4)sh +.797 lw +1 lc +[0 2 ] 1 dsh +true sadj +15.705 178.944 mo +15.705 16.944 li +43.705 178.944 mo +43.705 16.944 li +71.705 178.944 mo +71.705 16.944 li +99.705 178.944 mo +99.705 16.944 li +127.705 178.944 mo +127.705 16.944 li +155.705 178.944 mo +155.705 16.944 li +183.705 178.944 mo +183.705 16.944 li +211.705 178.944 mo +211.705 16.944 li +239.705 178.944 mo +239.705 16.944 li +@ +[0 2.8 ] 1.4 dsh +14.305 177.944 mo +241.105 177.944 li +14.305 157.944 mo +241.105 157.944 li +14.305 137.944 mo +241.105 137.944 li +14.305 117.944 mo +241.105 117.944 li +14.305 97.944 mo +241.105 97.944 li +14.305 77.944 mo +241.105 77.944 li +14.305 57.944 mo +241.105 57.944 li +14.305 37.944 mo +241.105 37.944 li +14.305 17.944 mo +241.105 17.944 li +@ +gsave +253.705 187.944 mo +1.70499 187.944 li +1.70499 7.94397 li +253.705 7.94397 li +cp +clp +0 lc +[] 0 dsh +false sadj +1.70499 -2737.06 mo +4.24998 -2552.98 li +6.79598 -2376.98 li +9.34098 -2208.89 li +13.759 -1924.66 18.654 -1640.43 24.614 -1356.22 cv +27.16 -1238.41 li +29.705 -1127.06 li +34.562 -922.47 39.996 -717.87 47.523 -513.361 cv +50.069 -447.207 li +52.614 -385.893 li +55.159 -329.236 li +57.705 -277.057 li +61.675 -200.65 66.029 -124.124 72.978 -47.9209 cv +75.523 -22.0378 li +78.069 .810059 li +80.614 20.802 li +83.159 38.1201 li +85.705 52.9441 li +88.25 65.4531 li +90.796 75.8291 li +93.341 84.251 li +95.887 90.9001 li +98.432 95.957 li +100.978 99.6001 li +103.523 102.012 li +106.069 103.372 li +108.614 103.861 li +115.605 104.102 121.972 97.1501 128.978 98.03 cv +131.523 98.7891 li +134.069 100.48 li +136.614 103.282 li +139.159 107.377 li +141.705 112.944 li +144.25 120.164 li +146.796 129.217 li +149.341 140.284 li +151.887 153.545 li +154.432 169.18 li +156.978 187.369 li +159.523 208.293 li +162.069 232.132 li +164.614 259.067 li +167.159 289.277 li +177.002 416.085 182.398 543.453 187.523 670.524 cv +190.069 738.33 li +192.614 811.215 li +195.159 889.359 li +197.705 972.942 li +206.34 1268.27 212.532 1563.68 218.069 1859.07 cv +220.614 1999.72 li +223.159 2147.62 li +232.552 2709.84 239.689 3272.1 246.069 3834.36 cv +248.614 4064.6 li +251.159 4304.06 li +253.705 4552.94 li +@ +grestore +%ADOBeginSubsetFont: GISAAA+CMBX10 AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +systemdict begin +YNDRLK+CMBX10 dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/A <1C60D8A8C9B08A941DDBC3AF1C109AC61AF06DEF14497758E2577FC09808 +E2F83FED36FAC5C5DF9845F9151204EBE19A62A093C0C714296A8AEB5EA72983 +7304C560208E23A9B00E450B7895C64B840FF7B8D2624ED826E8D6D1CB5BC276 +3958AE415A241BD617EA928FD9818043D58C39BCDA5256A3F17DFF2FADD0CDFE +4A5999053732F0E5CE29974C519106> |- +/W <1C60D8A8C9B08A949EE89938EFD2B089915D4CA87E50351E8DD3F3914A85 +384965AB9720D1BDB02951199DD63BE938B296E11B8132C78ABED307E15E2C96 +04E0EEA5C8FB1D25F45078482232C4120E0C6D7ECC100B9CF59823239764E960 +AC203F05154297337EBEC8D426CABE71C6D1BABE3D2EE87EB4EC26DC5A175D2E +1776DC7CB846E1C76A588A844BC3111554540D100610F9152C35EB0670475763 +7F97762997D01BB6BF9BF94F9DBF981A5DB94B101F849599A265> |- +/a <1C60D8A8C9B08A95C60527548E754D765DB4EDA6BA0D2CC6D8A620394D95 +5731400D0093175DD4FDCB6F936DAB2E93BD9C1B54BF99F619E92F88F8093B57 +6575F38778E5971C238BB03705C8902A6FCFED1FF202619A2D8A4C3FD818942E +E7E0400EE37C1268C755A54355454E010823DC11303C9CDCFFF1370DF47DDE8E +0505D81ACB493683AAFD9A5B8B94F66FF9ECA66884B26F31C72D900D51753830 +4DA83D95E97AC104F2FDC53254E575E01E9C7E8025E9> |- +/e <1C60D8A8C9B08A95D1DE8AA71D3914AC9DDC5BFDDE55301EE17DAE184B08 +E53C36FBF9A44FDF3309DBE08895DBFECCF103737D7326528346FD01CD1D9FC3 +874638E8C50ADE3B494897353EB3188B512405DD1BA5DA59E8C179230F7C8D15 +AFCEA2228DAC03C77D614B36A41126CE831B41CDF160A67B175BB36C52353A72 +5460F4256C> |- +/k <1C60D8A8C9B08A95F1118A977C6242CC6F5E327BF4A2BCE6E631EAC27F33 +5285F637895192724CE2C53641A392411149B8A3F127ECD7DEB11923D35A35EC +238223B6B1C9CF9675A0C83B3A0C95C18823DF1B6F368BBFEEE7185E77AE9040 +378C34B27A11D9EE3C9721E2EAFF82B925C0F3ABE698646F0C4A57CEC100EA29 +86134B063D8450710541B66D42FC62B89A6AB4B6D6C05FC0E5F8EF9F1253768A +DA78BF283C77228ACE6FD83E9384> |- +/o <1C60D8A8C9B7FCB6A15C803B3B972EE31F5A721ABF9B8490D1BCABFAF507 +3D6D0835AA64493F9EC5B8BAE86BFF5C8028599ED438B3807899BF98EB3DF2EE +9BBE5DC52FDB77ACA45EA052A40521B13F529CBBBB8B40F192297C658BE1CF97 +9B5618AA4355B6A77C9FC09641> |- +/r <1C60D8A8C9B08A95A5BEE1199161ADD44E1E8B27A5C75D09130CF9546F37 +4B2A22381A06BD734F2C4BF093B03F9AF2D0D4C8BE8AA6899632B1BDCEA5F8FA +27D0647BB27FC7927912A6761C3F8A51172D73B92082F06EFA277243DBD96EE1 +6421DB7B86390678EAD31E9D8E521BD186BAE7A8A68851384DC5E4933D7D1C5E +E5A527356EDB77> |- +systemdict /gcheck known {setglobal} if end {end} if +end +YNDRLK+CMBX10 /Encoding get +dup 65 /A put +dup 87 /W put +dup 97 /a put +dup 101 /e put +dup 107 /k put +dup 111 /o put +dup 114 /r put +pop +%ADOEndSubsetFont +/YNDRLK+CMBX10*1 +[46{/.notdef}rp /period 9{/.notdef}rp /eight 8{/.notdef}rp /A 21{/.notdef}rp /W +9{/.notdef}rp /a 3{/.notdef}rp /e 5{/.notdef}rp /k 3{/.notdef}rp /o +2{/.notdef}rp /r 141{/.notdef}rp] +YNDRLK+CMBX10 nf +YNDRLK+CMBX10*1 [9.9626 0 0 -9.9626 0 0 ]msf +324.775 14.8624 mo +(WorkArea) +[10.8911 5.72845 4.72226 9.86591 8.65753 4.72226 5.25021 0 ]xsh +%ADOBeginSubsetFont: BUZAAA+CMSY10 AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +systemdict begin +YNDRLL+CMSY10 dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/bullet <1C60D8A8C9B7A73D8D0B3FCDAA7E46FB68E7B1A6E412E25369E4ABB +A70D277941C6A488EED866AD61E359C443EB0FEA5> |- +systemdict /gcheck known {setglobal} if end {end} if +end +YNDRLL+CMSY10 /Encoding get +dup 178 /bullet put +pop +%ADOEndSubsetFont +/YNDRLL+CMSY10*1 +[161{/.notdef}rp /minus 16{/.notdef}rp /bullet 77{/.notdef}rp] +YNDRLL+CMSY10 nf +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +283.593 34.7875 mo +(\262)sh +%ADOBeginSubsetFont: GLAAAA+CMR10 AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +systemdict begin +YNDRLJ+CMR10 dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/parenleft <1C60D8A8C9B08A958B2129D6E9761120E2D623F206A8BB61D8ED +90A20EE239C62172B553BFF416342D6CD99C95C515CA225C40039DBAF08CE4F0 +55B08F39C15D29C99EF3EDD066CCCEF8932365A3BB1620FA5F0BCE8AF21A5BDE +C0FFD55FA45F247FC811007CB408F0DCDD3AE01E3246> |- +/parenright <1C60D8A8C9B08A958B2129D6E9761120E2D623F206A8A207F03 +DEA8F466C0D4F860EDF515D421F89285FC2D8EC76F5E903EDE1B5CFFAEC5DEA9 +22C7FC4A51953A99A5FB1F96793348D816F60492670058F4DEA6D328AB20FBAD +B3C1B57A79D8CCD13A3C6D068BAD5F09F347ED0C895> |- +/hyphen <1C60D8A8C9B08A959E2F69652E8B76AC2AC5B4F1FA8662A86AEED57 +846929C2FBC07360B> |- +/colon <1C60D8A8C9B08A95708109816759149241680C741B6923EBD56E6248 +E5269499A7D548A5AC3ECB516C4A5048666940A11AD8CB54F4BA847274447EEB +614F54B956BBCFCAD8E88A403FBD4464DA283ACB> |- +/semicolon <1C60D8A8C9B08A9570810981675918D0BCF1CD202F5F8524F1CF +461D4270459E44DB560BC854C3F48DFD92347C27A6AAF0E2B1A04AFEB82D8D46 +6FB78A9BF2E74CE09AE4A8F352791B5C7110FA6307B2916ECC9F5904CC094CEE +59D67B4016AFD5BCFCA64E9EC736BD726D1A09B76CECE761EBE5219FDE764D2A +9C6D289DBA39E76263> |- +/equal <1C60D8A8C9B08A946182837629008D945C50B3BD77B79680F3B07BDA +6301D2521ADF665EADEA779B8650AC6CDB556621631497A3BE00C67036F6EB06 +05A36A2C0EE306396247E4A79F8EFAE500D78B59605F041F11> |- +/b <1C60D8A8C9B08A95C5897169EED96641DA8B10CA087E6B7A5588052BABB7 +BC0836B12A49068694BF7254A2B820A876E020738250AC32ED44C3A7F2C5F700 +C2D03E307AFB7135F6415FEEB6D856569E9D5429B4DD3F524606607A7502F4FA +00BE0184FC677554B2B6367E60A281A4837A2231515AF09B33399B7D5C3D2E8F +3A2971F2933C4A4CAAA727A80DBDC9692BD6B38D543D422C14068650D2C61B6B +E587855459543E451B14A31F96D9B341DFF415> |- +/d <1C60D8A8C9B08A95C5897169EED96D33CB6A9013DDE3D04C2845E595598F +3E2E6D79295DF7CC9B6C00D2CF2AC2502697856E5474C945441376692CB09ED9 +25CE9D4F710C7DE089B5E658450CEECC611DD1F25787624443E710373775DB0D +7A6478B3FD4F82DF4FC109429D4EADCED1BD77A35BF25A1C1E584B0EB23CE621 +6847A21EE88B35D72221C7F9F0705E61C9F9C0A224456A04D3E81DE0BD98422F +FA8C7335713899937F5FFEC7771BB8FDAEE53DE3E6> |- +/h <1C60D8A8C9B08A95C5897169EED9664BED359D179BDDBB0B44F78A354068 +F188259C421AB0565D2C93368C7FE6E0A9F40BB196D1F23D06A9B4099431512B +C136412B8071F881A48FA8A97D03ACD06EBB8221F2FCB171D9A905549A8F7881 +2735FA48F2EC00ACCEB309920B412B3F60D0173EF224E4CB3F5C1DAD9CC6147F +9ADED8EC6C9533B7B1AABCF5D1E9B7F36A2D4B8D2B26EAE8EA> |- +/i <1C60D8A8C9B08A9570810981675968AD25F24D2B3EAE33A4AEDADBE9B65D +A53E9F2E54B16133284CA9914BED3880C793207FBDC7926300AD07E6E54407B5 +1EA082FB5EE3816A6A23A8296A947037E4E873086619D7E86B5A60AFA576E554 +D14C9B74D403098ADE85F71880A3E75D7FC1> |- +/k <1C60D8A8C9B08A95D222871B45C8170346D4B3692EE324314ECB68C750E8 +0C39C0E118E6175CCD69769E2118B02E8AEF864A1ADB8D0BF5A5FFDD4A9B9B6C +C867F43FFF5A7BBEB959851C5A4053DF1F3B8EBF64DEEC6B682D7055139D4103 +B0A63AD1D8193F253FA365D16CC3EC1AC7C7AEA533CCF6F8272FF6B8CD1FC7B4 +0DE006133FBB2B23E8E1776C461B4D8ABE09C8DE32B25BAD44EC36CACD378C29 +9496103B1CB809290EFAF69E7582E8754F6B25D7A0FD> |- +/l <1C60D8A8C9B08A9570810981675968AD25F317189905083B97CD6CD1B880 +05B79B666989E13C0F8D0889AD0162C7E87274D188EBBD1A911FDD0B6E360AA1 +C515725198B9106B157680FC> |- +/n <1C60D8A8C9B08A95C5897169EED9664BED359D179BD38846B55E34D4CAA6 +E85E9CF3F20D5FF6B35F1C9AAE2A542B7B24E087B6004A4C7219997095CC0DD0 +7A15DB83B5FEAD13F209441FFD364AD3DBF6E16129F3599BACA005A523490ABC +41E4DF320ACE384037EE1D352E3FAD8A9E2CECBD75A999F7B655F4FFBFAC6FFF +84029A8DF710DBB0D7CD4C1D20367E79BC4E3121199FA9593C876B29EA793F10 +2A1E36BE8056D0377A> |- +/p <1C60D8A8C9B08A95C5897169EED91609D9E4D5F91353B4B61FEC4EAC5FAD +7B5032144CF9ADF0F974C4F1789F7935ECC14F06F084A964A5CA17285CA0C9EC +1B8F57A0E66AEAF75BA11AE734E6416585ED4DB12A3372EA2BA1BABC0DE7BE87 +584CD6EA8819CE99CB18F04E8ECD619D7E02CDE60A0AA18597DE62AF13ABCC5A +5F1D59EBFBBEF560144EF0DCE1B387B4BC40F158468D6A4DE477659B50190482 +6F081FC4942E5187D9F03F6D1BD471F55D6300> |- +/r <1C60D8A8C9B08A9584DCB847BA986212E50A0E258C2648145E7BCFAC2BA8 +6C36E84B654FABD35F6BE558D4B54676EA44C57F6EF668BC4866822048422FD6 +D8B608EB2C1C67EC3EE3CEBDD94E9A9214F99F9DA8EE2F6900EB47053AC763EE +DABCA0360701D8CB383B9ECCD7B848D18CFB88761A167471DE407F7BED4BC50B +779C4D57BF133C3E4777AA4605171C6D> |- +/s <1C60D8A8C9B08A9586D4F7B21AA9B0967A13D9D7A42FE5E3505E2F3EE7CA +FF99F258F00E5A08E889C3CC5D8ACF7164CD2AC0013AEF91C534D4ACEB36DB05 +CE0E820904C7EB6E6797C2D5FB5E96476FD3694427C3F770022BFE939EC57571 +FAC1F965E0A7F32B36C86522DA3AFB3A309E4B5D72F0E56F1BEB5C7254CECC22 +9B1219F95DA80187F2FFAF15E03AF5B396BE650B53989F1A64B4AA9655D1019B +496166D38FC8961ACDA2D0B1533422796A114C02DCAA98A8558155EE2C970442 +944A032E8A6A4004C15A48F9176AE45E44068C23BC> |- +/t <1C60D8A8C9B08A958B2129D6E9766AD6B3247B9CBDFB0724765D43ED23A7 +B2BC7B24077C209594776C48799589E3DF7269407A6893D4C106057122D99E3F +649ACAFBE1812EEAA6C4DCDDD716BEB7694626BFFCAE715C15EF0FD8CE9F6FE4 +E96B03> |- +/u <1C60D8A8C9B08A95C5897169EED96D33CB6A8CCD6F539BADC574F30FA019 +2FAAA0351E8C93175F4B6BE4D2DCA8A13E4F01BEC5788441B5C71C1247369B6B +73137454B1C207EA4F43D533FE87512BAD8DD4F3DBBECD9A7A1CE3F33A4D3F31 +6952FDB339B4B6A937009D6EC9821D8553981B7D8AABC3E750369071> |- +/v <1C60D8A8C9B08A95D222871B45C81C126204E8A3F3EFC2EBF937B1E5F2B8 +737EDCCFF78DB8693FA0E7B559CFAC0A233112105FC1A8807ADD3013D4AE86C4 +38318F1223CADD606642DF7E9A8EE9BE743E975DA759D856D52F7E927FE33606 +3979ED38AB2E1EA4CB4F371A1EB04E6C5B864C9DB5271435AB2DE7D9DE15A6B1 +D9E3FD555F015DADE467> |- +systemdict /gcheck known {setglobal} if end {end} if +end +YNDRLJ+CMR10 /Encoding get +dup 40 /parenleft put +dup 41 /parenright put +dup 45 /hyphen put +dup 58 /colon put +dup 59 /semicolon put +dup 61 /equal put +dup 98 /b put +dup 100 /d put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 110 /n put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +pop +%ADOEndSubsetFont +/YNDRLJ+CMR10*1 +[40{/.notdef}rp /parenleft /parenright 3{/.notdef}rp /hyphen /.notdef /slash /zero +/one /two /three /four /five 4{/.notdef}rp /colon /semicolon +/.notdef /equal 3{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I +2{/.notdef}rp /L /M /N /O /P 2{/.notdef}rp /S +/T /U 11{/.notdef}rp /a /b /.notdef /d /e +/f /g /h /i /.notdef /k /l /.notdef +/n /o /p /.notdef /r /s /t /u +/v 4{/.notdef}rp /endash 132{/.notdef}rp] +YNDRLJ+CMR10 nf +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +293.556 34.7875 mo +(Theend-behaviorislike) +[7.19299 5.53922 7.24979 4.4234 5.53918 5.53922 3.31747 5.81616 4.4234 5.53918 4.70435 5.26025 +2.76959 4.98129 6.73172 2.76962 6.75162 2.76959 2.76962 4.98328 0 ]xsh +%ADOBeginSubsetFont: WRBBAA+CMMI10 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /WRBBAA+CMMI10 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1988 - 1996 Blue Sky Research and Y&Y, Inc. (978) 371-3286) def +/Weight (Medium) def +/ItalicAngle -14.04 def +/BaseFontName (CMMI10) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 120 /x put +dup 121 /y put +def +/UniqueID 5087385 def +/FontBBox {-32 -250 1048 750} def +end +systemdict begin +dup /Private +12 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-22 -0 683 705 431 442 453 466] def +/OtherBlues [-205 -194] def +/BlueScale 0.04379 def +/StdHW [31] def +/StdVW [72] def +/StemSnapH [25 31] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +3 dict dup begin +/x <1C60D8A8C9B08A95C3B1459DC8650F9F96183FC46268F5BDA744B05C84F8 +C7E5FE6BFCA9D4C8BD3488080E8FC96F34EA177DCAE190D27F37102D2F45514A +ECF6E4A3B2E6F401810D0AF13E4BDFDB8118476E04C9DD93F8884F46C9ABEE13 +C8E7992449902F6BC3D518B2A70293976C8BCE67ED913D975C52E884BF7F46CE +8DF8170D79262260A6CB5A6A088C0A964E0271DA63944ABA9C96D1AA58CB590F +97DC9C8372606676C2CA18B1A9303EBF11B510FAB8A33E9B530D274E48DD09EE +8829EC16181BBC16C4E81343ACB5386F22A9C0CA2C23959102E833> |- +/y <1C60D8A8C9B08A95A3A690DEE11C2ACFF7516D4A7CDA884FB3B130648C63 +2F41B68B5E071E6BAD692658125A4CE9A4427A55054BF5DABFF855AF9D186215 +1F50AD5D2EE36E064C9718B8694EF83525324184D7DD07A10B9FD203C707D849 +3E926469CD1C36E94D5785557A2D95B556774E51CEFBAE2CC8AB735FFF293AFE +FA32B8D1FD5C52EC860AA6EC20816B24BD1EB69FE8581708322D6F09A08B3182 +91EF57EAE554A00C60D585B786E53371A6D3FB2D8729C3F2C51DB65ABF8CA421 +EEB103AED2CB924D829D66429CF6664CDEAFEEC4AD07C95E7FE8BCAB5D2A1AD6 +731779D5> |- +/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLM+CMMI10 /WRBBAA+CMMI10 findfont ct_VMDictPut +/YNDRLM+CMMI10*1 +[120{/.notdef}rp /x /y 134{/.notdef}rp] +YNDRLM+CMMI10 nf +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +399.866 34.7875 mo +(y)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +407.875 34.7875 mo +(=)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +418.391 34.7875 mo +(\241)sh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +426.14 34.7875 mo +(x)sh +%ADOBeginSubsetFont: KEDBAA+CMR7 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /KEDBAA+CMR7 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1988 - 1992 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def +/Weight (Medium) def +/ItalicAngle 0 def +/BaseFontName (CMR7) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 51 /three put +def +/UniqueID 5000790 def +/FontBBox {-286 -250 1122 967} def +end +systemdict begin +dup /Private +13 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-20 -0 683 703 431 446 664 674] def +/OtherBlues [-205 -194] def +/BlueScale 0.04379 def +/StdHW [36] def +/StdVW [79] def +/StemSnapH [28 36] def +/StemSnapV [79 95] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +2 dict dup begin +/three <1C60D8A8C9B08A95C25148D4A67F69EFB9DDFA5ECA5AE37566D87066 +172F8CABE2B2CB84CA762EB5E603C8A9A699CCCFA6A0578E3DA76E6C9E7B5A84 +45F01D818A380DD4AC46AFDB5422B8800FEF2E8AFDA86EDD8199C34D64992E4F +43992CF1D54B07E3F575480A9A0B868375A4E2A9893BE0AEBB713690AB6C5B93 +E6D8D619357F90F56F58A8525CC0A1BD91DA9365507B440F549B60D4E7E5CBB3 +769D4C82F061F9E20A25AD23418551374D804A6B25C8CE003D> |- +/.notdef <1C60D8A8C9B08A958AA685092D4752> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLN+CMR7 /KEDBAA+CMR7 findfont ct_VMDictPut +/YNDRLN+CMR7*1 +[51{/.notdef}rp /three 204{/.notdef}rp] +YNDRLN+CMR7 nf +YNDRLN+CMR7*1 [6.9738 0 0 -6.9738 0 0 ]msf +431.835 30.6743 mo +(3)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +283.593 54.713 mo +(\262)sh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +293.556 54.713 mo +(x)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +299.25 54.713 mo +(-int:) +[3.31747 2.76959 5.26224 3.87555 0 ]xsh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +325.685 54.713 mo +(x)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +337.496 54.713 mo +(=0\(even\);) +[13.868 10.3123 3.87552 4.4234 4.98328 4.4234 5.53922 3.87552 0 ]xsh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +397.897 54.713 mo +(x)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +409.708 54.713 mo +(=)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +423.574 54.713 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +431.323 54.713 mo +(1)sh +293.557 66.6682 mo +(\(odd\)) +[3.87552 5.25827 5.53922 5.53918 0 ]xsh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +283.594 86.5933 mo +(\262)sh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +293.557 86.5933 mo +(y)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +298.799 86.5933 mo +(-int:) +[3.31747 2.76959 5.26224 3.87555 0 ]xsh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +321.623 86.5933 mo +(y)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +329.971 86.5933 mo +(=0\(passesthroughori-) +[10.8572 8.50607 3.87552 5.53922 4.98129 3.92523 3.92523 4.4234 7.45001 3.87552 5.53922 3.9053 +4.98129 5.53922 4.98129 9.06396 4.98132 3.90533 2.76959 0 ]xsh +293.557 98.5485 mo +(gin\)) +[4.98129 2.76962 5.53918 0 ]xsh +grestore +grestore +pgrs +%%PageTrailer +[ +[/CSA [/0 ]] +[/CSD [/0 ]] +] del_res +/YNDRLM+CMMI10*1 uf +/YNDRLM+CMMI10 uf +/WRBBAA+CMMI10 uf +/YNDRLN+CMR7*1 uf +/YNDRLN+CMR7 uf +/KEDBAA+CMR7 uf +/YNDRLJ+CMR10*1 uf +/YNDRLJ+CMR10 uf +/GLAAAA+CMR10 uf +/YNDRLL+CMSY10*1 uf +/YNDRLL+CMSY10 uf +/BUZAAA+CMSY10 uf +/YNDRLK+CMBX10*1 uf +/YNDRLK+CMBX10 uf +/GISAAA+CMBX10 uf +Adobe_AGM_Image/pt gx +Adobe_CoolType_Core/pt get exec +Adobe_AGM_Core/restore_mysetup gx +Adobe_AGM_Core/pt gx +currentdict Adobe_AGM_Utils eq {end} if +%%Trailer +Adobe_AGM_Utils begin +[/EMC pdfmark_5 +currentdict Adobe_AGM_Utils eq {end} if +Adobe_AGM_Image/dt get exec +Adobe_CoolType_Core/dt get exec +Adobe_AGM_Core/dt get exec +%%Pages: 1 +%%DocumentNeededResources: +%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 +%%+ procset Adobe_CoolType_Utility_T42 1.0 0 +%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%+ procset Adobe_CoolType_Core 2.31 0 +%%+ procset Adobe_AGM_Core 2.0 0 +%%+ procset Adobe_AGM_Utils 1.0 0 +%%DocumentNeededFeatures: +%%DocumentSuppliedFeatures: +%%DocumentCustomColors: +%%CMYKCustomColor: +%%RGBCustomColor: +%%EOF diff --git a/texmf-dist/doc/latex/eqexam/examples/hw03.tex b/texmf-dist/doc/latex/eqexam/examples/hw03.tex index 68320f0c..f699c0f9 100644 --- a/texmf-dist/doc/latex/eqexam/examples/hw03.tex +++ b/texmf-dist/doc/latex/eqexam/examples/hw03.tex @@ -1,3 +1,4 @@ +% hw.cfg.txt, hw03.tex attached \documentclass{article} \usepackage[fleqn]{amsmath} \usepackage[pdf,forcolorpaper,cfg=hw,nopoints,useforms, diff --git a/texmf-dist/doc/latex/eqexam/examples/quiz01.pdf b/texmf-dist/doc/latex/eqexam/examples/quiz01.pdf deleted file mode 100644 index 0a09709e..00000000 Binary files a/texmf-dist/doc/latex/eqexam/examples/quiz01.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/eqexam/examples/quiz01.tex b/texmf-dist/doc/latex/eqexam/examples/quiz01.tex index 8682623c..176fa863 100644 --- a/texmf-dist/doc/latex/eqexam/examples/quiz01.tex +++ b/texmf-dist/doc/latex/eqexam/examples/quiz01.tex @@ -2,9 +2,9 @@ \usepackage[fleqn]{amsmath} \usepackage[pdf,cfg=quiz,forpaper,pointsonleft, % compile with exactly one of the following three - nosolutions +% nosolutions % answerkey -% vspacewithsolns + vspacewithsolns ]{eqexam} \examNum{1}\numVersions{2}\forVersion{a} diff --git a/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.pdf b/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.pdf deleted file mode 100644 index 141fb082..00000000 Binary files a/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.tex b/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.tex index 12b1faff..9c43ce6e 100644 --- a/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.tex +++ b/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.tex @@ -5,9 +5,9 @@ % \usepackage[pointsonleft,nototals,forpaper,useforms, % Select exactly one of the next three options - nosolutions, +% nosolutions, % answerkey, -% vspacewithsolns, + vspacewithsolns, obeylocalversions, % try this in combination with ]{eqexam} @@ -158,16 +158,16 @@ to verify that the new system of title management is working correctly. \vfill\hfill\textbf{Problem~{\eqeCurrProb} continues on next page}} \popProblem - - \selectVersion{}{5} \item \verb!\selectVersion{}{5}! This is a problem, version \vA{A}\vB{B}\vC{C}\vD{D}\vE{E} of 5. + \begin{verB} This is version B \end{verB} \begin{verE} This is version E \end{verE} + \begin{solution} This is version \vA{A}\vB{B}\vC{C}\vD{D}\vE{E} @@ -211,6 +211,7 @@ This is version D This is version E \end{verE} \end{solution} + \end{parts} \end{problem*} diff --git a/texmf-dist/doc/latex/eqexam/examples/test01.pdf b/texmf-dist/doc/latex/eqexam/examples/test01.pdf deleted file mode 100644 index 51e8c54f..00000000 Binary files a/texmf-dist/doc/latex/eqexam/examples/test01.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/eqexam/examples/test01.synctex b/texmf-dist/doc/latex/eqexam/examples/test01.synctex deleted file mode 100644 index 16cc5e11..00000000 --- a/texmf-dist/doc/latex/eqexam/examples/test01.synctex +++ /dev/null @@ -1,4789 +0,0 @@ -SyncTeX Version:1 -Input:1:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.tex -Input:2:C:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls -Input:3:C:\Program Files\MiKTeX 2.9\tex\latex\base\size12.clo -Input:4:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsmath.sty -Input:5:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amstext.sty -Input:6:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsgen.sty -Input:7:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsbsy.sty -Input:8:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsopn.sty -Input:9:C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphicx.sty -Input:10:C:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty -Input:11:C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphics.sty -Input:12:C:\Program Files\MiKTeX 2.9\tex\latex\graphics\trig.sty -Input:13:C:\Program Files\MiKTeX 2.9\tex\latex\graphics-cfg\graphics.cfg -Input:14:C:\Program Files\MiKTeX 2.9\tex\latex\graphics-def\dvips.def -Input:15:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\eqexam.sty -Input:16:C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ifpdf.sty -Input:17:C:\Program Files\MiKTeX 2.9\tex\generic\ifxetex\ifxetex.sty -Input:18:C:\Program Files\MiKTeX 2.9\tex\latex\xkeyval\xkeyval.sty -Input:19:C:\Program Files\MiKTeX 2.9\tex\generic\xkeyval\xkeyval.tex -Input:20:C:\Program Files\MiKTeX 2.9\tex\generic\xkeyval\xkvutils.tex -Input:21:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\web.cfg -Input:22:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\eqecus.opt -Input:23:C:\Program Files\MiKTeX 2.9\tex\latex\xcolor\xcolor.sty -Input:24:C:\Program Files\MiKTeX 2.9\tex\latex\graphics-cfg\color.cfg -Input:25:C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\amssymb.sty -Input:26:C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\amsfonts.sty -Input:27:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\apb\comment.sty -Input:28:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\web.sty -Input:29:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\web.cfg -Input:30:C:\Program Files\MiKTeX 2.9\tex\latex\tools\calc.sty -Input:31:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\hyperref.sty -Input:32:C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\hobsub-hyperref.sty -Input:33:C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\hobsub-generic.sty -Input:34:C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\auxhook.sty -Input:35:C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\kvoptions.sty -Input:36:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\pd1enc.def -Input:37:C:\Program Files\MiKTeX 2.9\tex\latex\00miktex\hyperref.cfg -Input:38:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\backref.sty -Input:39:C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\rerunfilecheck.sty -Input:40:C:\Program Files\MiKTeX 2.9\tex\latex\url\url.sty -Input:41:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\hdvips.def -Input:42:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\pdfmark.def -Input:43:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\websec.def -Input:44:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\exerquiz.sty -Input:45:C:\Program Files\MiKTeX 2.9\tex\latex\tools\array.sty -Input:46:C:\Program Files\MiKTeX 2.9\tex\latex\tools\verbatim.sty -Input:47:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\eforms.sty -Input:48:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\insdljs.sty -Input:49:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\conv-xkv\conv-xkv.sty -Input:50:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\taborder.sty -Input:51:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\pdfdochex.def -Input:52:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\epdfmark.def -Input:53:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\aebjs.def -Input:54:C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\pifont.sty -Input:55:C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\upzd.fd -Input:56:C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\upsy.fd -Input:57:C:\Program Files\MiKTeX 2.9\tex\latex\tools\multicol.sty -Input:58:C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\umsa.fd -Input:59:C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\umsb.fd -Input:60:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.aux -Input:61:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\nameref.sty -Input:62:C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\gettitlestring.sty -Input:63:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.out -Input:64:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.out -Output:dvi -Magnification:1000 -Unit:1 -X Offset:4736287 -Y Offset:4736287 -Content: -!4701 -{1 -[1,37:0,42626580:30785864,42626580,0 -(1,37:0,0:0,0,0 -) -[1,37:0,0:0,0,0 -(1,37:0,-2433924:0,0,0 -k1,37:0,-2433924:65781 -) -] -[1,37:0,42626580:30785864,42626580,0 -[1,37:0,42626580:30785864,44994723,0 -[1,37:0,-1581711:30785864,786432,0 -(1,37:0,-1581711:30785864,0,0 -h1,37:0,-1581711:30785864,0,0 -) -] -[1,37:0,41905684:30785864,42176675,0 -(1,37:0,6000831:30785864,1201930,808713 -(1,37:0,6000831:30785864,1201930,808713 -g1,37:0,6000831 -$1,37:0,6000831 -[1,37:0,6000831:30785864,1201930,808713 -(1,37:0,5446396:30785864,647495,0 -k1,37:7557014,5446396:7557014 -h1,37:7557014,5446396:0,0,0 -x1,37:9822374,5446396 -g1,37:10176268,5446396 -x1,37:17033519,5446396 -g1,37:17387413,5446396 -x1,37:18852140,5446396 -g1,37:19206034,5446396 -x1,37:21630867,5446396 -x1,37:23228851,5446396 -g1,37:23228851,5446396 -k1,37:30785864,5446396:7557013 -) -(1,37:0,6626044:30785864,655359,183500 -k1,37:6560657,6626044:6560657 -h1,37:6560657,6626044:0,0,0 -x1,37:11812814,6626044 -g1,37:12166708,6626044 -x1,37:13862449,6626044 -g1,37:14216343,6626044 -x1,37:17861778,6626044 -g1,37:18215672,6626044 -x1,37:24225208,6626044 -g1,37:24225208,6626044 -k1,37:30785864,6626044:6560656 -) -] -$1,37:30785864,6000831 -g1,37:30785864,6000831 -) -g1,37:30785864,6000831 -g1,37:30785864,6000831 -) -(1,37:0,11617292:30785864,524288,131071 -(1,37:0,11617292:30785864,524288,131071 -g1,37:0,11617292 -$1,37:0,11617292 -[1,37:0,11617292:30785864,524288,131071 -(1,37:0,11748363:30785864,655359,0 -k1,37:13046800,11748363:13046800 -h1,37:13046800,11748363:0,0,0 -x1,37:16989768,11748363 -g1,37:17343662,11748363 -x1,37:17739063,11748363 -g1,37:17739063,11748363 -k1,37:30785863,11748363:13046800 -) -] -$1,37:30785864,11617292 -g1,37:30785864,11617292 -) -g1,37:30785864,11617292 -g1,37:30785864,11617292 -) -(1,37:0,13353996:30785864,520356,127139 -(1,37:0,13353996:30785864,520356,127139 -g1,37:0,13353996 -$1,37:0,13353996 -[1,37:0,13353996:30785864,520356,127139 -(1,37:0,13481135:30785864,647495,0 -k1,37:13967580,13481135:13967580 -h1,37:13967580,13481135:0,0,0 -x1,37:14705951,13481135 -x1,37:15933549,13481135 -g1,37:16287443,13481135 -x1,37:16818284,13481135 -g1,37:16818284,13481135 -k1,37:30785864,13481135:13967580 -) -] -$1,37:30785864,13353996 -g1,37:30785864,13353996 -) -g1,37:30785864,13353996 -g1,37:30785864,13353996 -) -(1,37:0,41682862:30785864,12984858,222822 -[1,37:0,41682862:13853544,3967018,0 -(1,37:0,38274990:13853544,559146,164453 -h1,37:0,38274990:0,0,0 -(1,37:0,38274990:0,0,0 -r1,37:0,38274990:0,0,0 -) -$1,37:0,38274990 -[1,37:0,38274990:13853544,537395,157280 -(1,37:0,38274990:13853544,537395,0 -(1,37:0,38274990:13853544,537395,0 -(1,37:0,38274990:13853544,537395,0 -x1,37:2160117,38274990 -k1,37:13853544,38274990:11693427 -) -) -) -] -$1,37:13853544,38274990 -(1,37:13853544,38274990:0,559146,164453 -(1,37:13853544,38340771:0,624927,98672 -(1,37:13853544,38340771:0,624927,98672 -k1,37:2416797,38340771:-11436747 -(1,37:2416797,38340771:11436747,624927,98672 -(1,37:2416797,38439443:0,0,0 -) -(1,37:2416797,38340771:11436747,624927,98672 -(1,37:2416797,38439443:11436747,723599,0 -[1,37:2416797,38439443:11436747,723599,0 -(1,37:2416797,37715844:11436747,0,0 -h1,37:2416797,37715844:0,0,0 -k1,37:13853544,37715844:11436747 -g1,37:13853544,37715844 -) -] -) -) -(1,37:13853544,37715844:0,0,0 -) -) -) -) -) -g1,37:13853544,38274990 -g1,37:13853544,38274990 -) -(1,37:0,39902468:13853544,559146,164453 -[1,37:0,39902468:13853544,537395,157280 -(1,37:0,39902468:13853544,537395,0 -(1,37:0,39902468:13853544,537395,0 -(1,37:0,39902468:13853544,537395,0 -x1,37:1507586,39902468 -k1,37:13853544,39902468:12345958 -) -) -) -] -$1,37:13853544,39902468 -(1,37:13853544,39902468:0,559146,164453 -(1,37:13853544,39968249:0,624927,98672 -(1,37:13853544,39968249:0,624927,98672 -k1,37:1764266,39968249:-12089278 -(1,37:1764266,39968249:12089278,624927,98672 -(1,37:1764266,40066921:0,0,0 -) -(1,37:1764266,39968249:12089278,624927,98672 -(1,37:1764266,40066921:12089278,723599,0 -[1,37:1764266,40066921:12089278,723599,0 -(1,37:1764266,39343322:12089278,0,0 -h1,37:1764266,39343322:0,0,0 -k1,37:13853544,39343322:12089278 -g1,37:13853544,39343322 -) -] -) -) -(1,37:13853544,39343322:0,0,0 -) -) -) -) -) -g1,37:13853544,39902468 -g1,37:13853544,39902468 -) -(1,37:0,41529946:13853544,537395,152916 -x1,37:801989,41529946 -g1,37:1058669,41529946 -x1,37:1582588,41529946 -x1,37:1732318,41529946 -g1,37:1988998,41529946 -x1,37:3807148,41529946 -x1,37:4021048,41529946 -g1,37:4277728,41529946 -x1,37:6459508,41529946 -g1,37:6716188,41529946 -x1,37:8256268,41529946 -k1,37:13853544,41529946:5597276 -g1,37:13853544,41529946 -) -] -k1,37:14623585,41682862:770041 -(1,37:14623585,41682862:16162279,12984858,222822 -(1,37:14623585,41682862:16162279,12984858,222822 -(1,37:14623585,41905684:16162279,13207680,0 -[1,37:14623585,41905684:16162279,13207680,0 -(1,37:14623585,41879470:16162279,13155252,0 -[1,37:14649799,41879470:16109851,13155252,0 -(1,37:14649799,41682862:16109851,12762036,0 -[1,37:14846407,41682862:15716635,12762036,0 -(1,37:14846407,29860174:15716635,546132,0 -(1,37:14846407,29860174:0,0,0 -g1,37:14846407,29860174 -g1,37:14846407,29860174 -g1,37:14461387,29860174 -(1,37:14461387,29860174:0,0,0 -) -g1,37:14846407,29860174 -) -x1,37:17061433,29860174 -g1,37:17356345,29860174 -x1,37:20108403,29860174 -k1,37:25335723,29860174:5227320 -k1,37:30563042,29860174:5227319 -) -(1,37:14846407,31596878:15716635,589824,196608 -h1,37:14846407,31596878:0,0,0 -$1,37:14846407,31596878 -[1,37:14846407,31596878:7104430,537395,157280 -(1,37:14846407,31596878:7104430,537395,0 -(1,37:14846407,31596878:7104430,537395,0 -(1,37:14846407,31596878:0,537395,152916 -x1,37:15370326,31596878 -x1,37:16461216,31596878 -g1,37:16717896,31596878 -x1,37:17102916,31596878 -k1,37:14846407,31596878:-2256509 -) -r1,37:14846407,31596878:0,537395,0 -g1,37:21950837,31596878 -g1,37:21950837,31596878 -) -) -] -$1,37:21950837,31596878 -x1,37:22335857,31596878 -g1,37:22592537,31596878 -$1,37:22592537,31596878 -(1,37:22592537,31596878:770040,506811,0 -x1,37:23362577,31596878 -) -g1,37:23493647,31596878 -(1,37:23493647,31596878:1030998,483719,152916 -(1,37:23493647,31596878:1030998,483719,152916 -x1,37:24524645,31596878 -) -) -$1,37:24524645,31596878 -k1,37:27543844,31596878:3019199 -k1,37:30563042,31596878:3019198 -) -(1,37:14846407,33333582:15716635,589824,196608 -h1,37:14846407,33333582:0,0,0 -$1,37:14846407,33333582 -[1,37:14846407,33333582:7104430,537395,157280 -(1,37:14846407,33333582:7104430,537395,0 -(1,37:14846407,33333582:7104430,537395,0 -(1,37:14846407,33333582:0,537395,152916 -x1,37:15370326,33333582 -x1,37:16461216,33333582 -g1,37:16717896,33333582 -x1,37:17102916,33333582 -k1,37:14846407,33333582:-2256509 -) -r1,37:14846407,33333582:0,537395,0 -g1,37:21950837,33333582 -g1,37:21950837,33333582 -) -) -] -$1,37:21950837,33333582 -x1,37:22335857,33333582 -g1,37:22592537,33333582 -$1,37:22592537,33333582 -(1,37:22592537,33333582:770040,506811,0 -x1,37:23362577,33333582 -) -g1,37:23493647,33333582 -(1,37:23493647,33333582:1030998,483719,152916 -(1,37:23493647,33333582:1030998,483719,152916 -x1,37:24524645,33333582 -) -) -$1,37:24524645,33333582 -k1,37:27543844,33333582:3019199 -k1,37:30563042,33333582:3019198 -) -(1,37:14846407,35070286:15716635,589824,196608 -h1,37:14846407,35070286:0,0,0 -$1,37:14846407,35070286 -[1,37:14846407,35070286:7104430,537395,157280 -(1,37:14846407,35070286:7104430,537395,0 -(1,37:14846407,35070286:7104430,537395,0 -(1,37:14846407,35070286:0,537395,152916 -x1,37:15370326,35070286 -x1,37:16461216,35070286 -g1,37:16717896,35070286 -x1,37:17102916,35070286 -k1,37:14846407,35070286:-2256509 -) -r1,37:14846407,35070286:0,537395,0 -g1,37:21950837,35070286 -g1,37:21950837,35070286 -) -) -] -$1,37:21950837,35070286 -x1,37:22335857,35070286 -g1,37:22592537,35070286 -$1,37:22592537,35070286 -(1,37:22592537,35070286:770040,506811,0 -x1,37:23362577,35070286 -) -g1,37:23493647,35070286 -(1,37:23493647,35070286:1030998,483719,152916 -(1,37:23493647,35070286:1030998,483719,152916 -x1,37:24524645,35070286 -) -) -$1,37:24524645,35070286 -g1,37:24781325,35070286 -$1,37:24781325,35070286 -x1,37:25850825,35070286 -g1,37:25981895,35070286 -(1,37:25981895,35070286:1030998,483719,152916 -(1,37:25981895,35070286:1030998,483719,152916 -x1,37:27012893,35070286 -) -) -g1,37:27187653,35070286 -x1,37:27786573,35070286 -g1,37:27961333,35070286 -x1,37:28731373,35070286 -g1,37:28862443,35070286 -(1,37:28862443,35070286:1030998,483719,152916 -(1,37:28862443,35070286:1030998,483719,152916 -x1,37:29893441,35070286 -) -) -x1,37:30192901,35070286 -$1,37:30192901,35070286 -k1,37:30377972,35070286:185071 -k1,37:30563042,35070286:185070 -) -(1,37:14846407,36806990:15716635,589824,196608 -h1,37:14846407,36806990:0,0,0 -$1,37:14846407,36806990 -[1,37:14846407,36806990:7104430,537395,157280 -(1,37:14846407,36806990:7104430,537395,0 -(1,37:14846407,36806990:7104430,537395,0 -(1,37:14846407,36806990:0,537395,152916 -x1,37:15370326,36806990 -x1,37:16461216,36806990 -g1,37:16717896,36806990 -x1,37:17102916,36806990 -k1,37:14846407,36806990:-2256509 -) -r1,37:14846407,36806990:0,537395,0 -g1,37:21950837,36806990 -g1,37:21950837,36806990 -) -) -] -$1,37:21950837,36806990 -x1,37:22335857,36806990 -g1,37:22592537,36806990 -$1,37:22592537,36806990 -(1,37:22592537,36806990:770040,506811,0 -x1,37:23362577,36806990 -) -g1,37:23493647,36806990 -(1,37:23493647,36806990:1030998,483719,152916 -(1,37:23493647,36806990:1030998,483719,152916 -x1,37:24524645,36806990 -) -) -$1,37:24524645,36806990 -k1,37:27543844,36806990:3019199 -k1,37:30563042,36806990:3019198 -) -(1,37:14846407,38543694:15716635,589824,196608 -h1,37:14846407,38543694:0,0,0 -$1,37:14846407,38543694 -[1,37:14846407,38543694:7104430,546132,157280 -(1,37:14846407,38543694:7104430,546132,0 -(1,37:14846407,38543694:7104430,546132,0 -(1,37:14846407,38543694:0,546132,0 -x1,37:15402547,38543694 -x1,37:16835677,38543694 -k1,37:14846407,38543694:-1989270 -) -g1,37:21950837,38543694 -) -) -] -$1,37:21950837,38543694 -x1,37:22335857,38543694 -g1,37:22592537,38543694 -$1,37:22592537,38543694 -(1,37:22592537,38543694:1155060,506811,0 -x1,37:23747597,38543694 -) -g1,37:23878667,38543694 -(1,37:23878667,38543694:1030998,483719,152916 -(1,37:23878667,38543694:1030998,483719,152916 -x1,37:24909665,38543694 -) -) -$1,37:24909665,38543694 -k1,37:27736354,38543694:2826689 -k1,37:30563042,38543694:2826688 -) -(1,37:14846407,40280398:15716635,546132,157280 -h1,37:14846407,40280398:0,0,0 -$1,37:14846407,40280398 -[1,37:14846407,40280398:7104430,546132,157280 -(1,37:14846407,40280398:7104430,546132,0 -(1,37:14846407,40280398:7104430,546132,0 -(1,37:14846407,40280398:0,546132,0 -x1,37:17119027,40280398 -k1,37:14846407,40280398:-2272620 -) -g1,37:21950837,40280398 -) -) -] -$1,37:21950837,40280398 -k1,37:26256940,40280398:4306103 -k1,37:30563042,40280398:4306102 -) -] -) -] -) -] -) -) -(1,37:14623585,41682862:16162279,12984858,222822 -[1,37:14623585,41905684:16162279,13207680,0 -(1,37:14623585,41892577:16162279,13181466,0 -r1,37:14649799,41892577:26214,13181466,0 -r1,37:30785864,41892577:26214,13181466,0 -) -] -) -) -g1,37:30785864,41682862 -g1,37:30785864,41682862 -) -] -(1,37:0,42626580:30785864,0,0 -h1,37:0,42626580:30785864,0,0 -) -] -] -] -!10794 -}1 -!10 -{2 -[1,192:0,42626580:30785864,42626580,0 -[1,192:0,0:0,0,0 -(1,192:0,-2433924:0,0,0 -k1,192:0,-2433924:65781 -) -] -[1,192:0,42626580:30785864,42626580,0 -[1,192:0,42626580:30785864,44994723,0 -[1,192:0,-1581711:30785864,786432,0 -(1,192:0,-1581711:30785864,0,0 -(1,192:0,-1581711:30785864,0,0 -k1,192:30785864,-1581711:30785864 -) -) -] -[1,192:0,41905684:30785864,42176675,0 -(1,39:0,1413283:30785864,1684274,285084 -(1,38:0,1413283:0,0,0 -h1,38:0,1413283:0,0,0 -) -(1,38:0,1413283:30785864,1684274,285084 -g1,38:0,1413283 -[1,38:0,1413283:3978540,1684274,152916 -(1,38:0,394196:3978540,665187,285084 -g1,38:0,394196 -(1,38:0,394196:3978540,665187,285084 -r1,38:0,394196:0,950271,285084 -x1,38:2870538,394196 -g1,38:3127218,394196 -x1,38:3405015,394196 -k1,38:3978540,394196:573525 -) -g1,38:3978540,394196 -) -(1,38:0,1413283:3978540,537395,152916 -g1,38:0,1413283 -(1,38:0,1413283:3978540,537395,152916 -x1,38:2181780,1413283 -g1,38:2438460,1413283 -x1,38:3978540,1413283 -g1,38:3978540,1413283 -) -g1,38:3978540,1413283 -) -] -k1,38:11014326,1413283:7035786 -[1,38:11014326,1413283:2079108,1399190,285084 -(1,38:11014326,551488:2079108,537395,0 -g1,38:11014326,551488 -(1,38:11014326,551488:2079108,537395,0 -g1,38:11014326,551488 -x1,38:11570466,551488 -x1,38:12451734,551488 -g1,38:12708414,551488 -x1,38:13093434,551488 -g1,38:13093434,551488 -) -g1,38:13093434,551488 -) -(1,38:11014326,1413283:2079108,665187,285084 -g1,38:11014326,1413283 -(1,38:11014326,1413283:2079108,665187,285084 -k1,38:12053880,1413283:1039554 -r1,38:12053880,1413283:0,950271,285084 -k1,38:13093434,1413283:1039554 -) -g1,38:13093434,1413283 -) -] -k1,38:20129219,1413283:7035785 -[1,38:20129219,1413283:10656645,1684274,152916 -(1,38:20129219,394196:10656645,665187,285084 -g1,38:20129219,394196 -(1,38:20129219,394196:10656645,665187,285084 -r1,38:20129219,394196:0,950271,285084 -$1,38:20129219,394196 -[1,38:20129219,394196:10656645,537395,157280 -(1,38:20129219,394196:10656645,537395,0 -(1,38:20129219,394196:10656645,537395,0 -(1,38:20129219,394196:10656645,537395,0 -x1,38:22289336,394196 -k1,38:30785864,394196:8496528 -) -) -) -] -$1,38:30785864,394196 -(1,38:30785864,394196:0,559146,164453 -(1,38:30785864,459977:0,624927,98672 -(1,38:30785864,459977:0,624927,98672 -k1,38:22546016,459977:-8239848 -(1,38:22546016,459977:8239848,624927,98672 -(1,38:22546016,558649:0,0,0 -) -(1,38:22546016,459977:8239848,624927,98672 -(1,38:22546016,558649:8239848,723599,0 -[1,38:22546016,558649:8239848,723599,0 -(1,38:22546016,-164950:8239848,0,0 -h1,38:22546016,-164950:0,0,0 -k1,38:30785864,-164950:8239848 -g1,38:30785864,-164950 -) -] -) -) -(1,38:30785864,-164950:0,0,0 -) -) -) -) -) -g1,38:30785864,394196 -) -g1,38:30785864,394196 -) -(1,38:20129219,1413283:10656645,537395,152916 -g1,38:20129219,1413283 -(1,38:20129219,1413283:10656645,537395,152916 -x1,38:20931208,1413283 -g1,38:21187888,1413283 -x1,38:21711807,1413283 -x1,38:21861537,1413283 -g1,38:22118217,1413283 -x1,38:23936367,1413283 -k1,38:30785864,1413283:6849497 -) -g1,38:30785864,1413283 -) -] -g1,38:30785864,1413283 -) -g1,39:30785864,1413283 -g1,39:30785864,1413283 -) -(1,46:0,2689602:30785864,589824,196608 -k1,43:0,2689602:0 -(1,43:0,2689602:0,0,0 -g1,43:0,2689602 -g1,43:0,2689602 -) -x1,43:604388,2689602 -x1,43:1715315,2689602 -k1,43:2029809,2689602:314494 -x1,43:2605070,2689602 -k1,43:2919565,2689602:314495 -x1,43:3219025,2689602 -$1,43:3219025,2689602 -(1,43:3219025,2689602:770040,506811,0 -x1,43:3989065,2689602 -) -k1,43:4120135,2689602:131070 -(1,43:4120135,2689602:2057718,521949,152916 -(1,43:4120135,2689602:2057718,521949,152916 -x1,43:4547935,2689602 -x1,43:5596045,2689602 -x1,43:6177853,2689602 -) -) -$1,43:6177853,2689602 -x1,43:6477313,2689602 -k1,43:6791807,2689602:314494 -k1,43:6791807,2689602:0 -k1,43:6791807,2689602:0 -x1,43:8224937,2689602 -k1,44:6791807,2689602:-21390 -x1,44:8545787,2689602 -k1,44:8819511,2689602:273724 -x1,44:9889011,2689602 -x1,44:10295421,2689602 -k1,44:10569145,2689602:273724 -x1,44:11189455,2689602 -k1,44:11463179,2689602:273724 -x1,44:12532679,2689602 -k1,44:12806402,2689602:273723 -x1,44:15848060,2689602 -k1,44:16121784,2689602:273724 -x1,44:18731364,2689602 -k1,44:19005088,2689602:273724 -x1,44:20844628,2689602 -k1,44:21237999,2689602:393371 -x1,44:21751086,2689602 -k1,44:22024810,2689602:273724 -x1,44:22431220,2689602 -x1,44:23222650,2689602 -k1,44:23496374,2689602:273724 -x1,44:24929504,2689602 -x1,44:25250354,2689602 -k1,44:25524078,2689602:273724 -x1,44:26336898,2689602 -k1,44:26610621,2689602:273723 -x1,44:28450161,2689602 -k1,44:28728146,2689602:277985 -x1,44:29155946,2689602 -k1,45:28728146,2689602:21390 -x1,45:30204056,2689602 -x1,45:30785864,2689602 -k1,45:30785864,2689602:0 -) -(1,46:0,3639874:30785864,546132,152916 -x1,46:1197840,3639874 -g1,45:1454520,3639874 -x1,45:1882320,3639874 -x1,45:2245950,3639874 -g1,45:2502630,3639874 -x1,45:6057648,3639874 -g1,45:6314328,3639874 -x1,45:7875798,3639874 -g1,45:8132478,3639874 -x1,45:8538888,3639874 -x1,45:9629778,3639874 -g1,45:9886458,3639874 -x1,45:11469318,3639874 -g1,45:11725998,3639874 -x1,45:13612596,3639874 -k1,46:30785864,3639874:17173268 -g1,46:30785864,3639874 -) -(1,51:1425408,4786754:29360456,589824,196608 -(1,48:1425408,4786754:0,0,0 -g1,48:1425408,4786754 -g1,48:0,4786754 -g1,48:-256680,4786754 -(1,48:-256680,4786754:1425408,0,0 -k1,48:1168728,4786754:1425408 -) -g1,48:1425408,4786754 -) -k1,49:1425408,4786754:0 -(1,49:1425408,4786754:0,589824,196608 -k1,49:-2436856,4786754:-3862264 -x1,49:-2137396,4786754 -$1,49:-2137396,4786754 -x1,49:-1778586,4786754 -(1,49:-1778586,4526336:778615,322479,101945 -x1,49:-1032739,4526336 -) -$1,49:-999971,4786754 -x1,49:-720896,4786754 -r1,49:-720896,4786754:0,786432,196608 -g1,49:1425408,4786754 -g1,49:1425408,4786754 -) -(1,49:1425408,4786754:0,506811,0 -k1,49:442368,4786754:-983040 -(1,49:442368,4786754:983040,506811,0 -x1,49:1130496,4786754 -g1,49:1425408,4786754 -) -) -x1,49:2926986,4786754 -k1,49:3218767,4786754:291781 -x1,49:3736405,4786754 -k1,49:4028186,4786754:291781 -x1,49:4841006,4786754 -k1,49:5132787,4786754:291781 -x1,49:7892097,4786754 -k1,49:8183878,4786754:291781 -x1,49:8804188,4786754 -k1,49:9095970,4786754:291782 -x1,49:9480990,4786754 -k1,49:9772771,4786754:291781 -x1,49:10585591,4786754 -x1,49:12467911,4786754 -x1,49:12788761,4786754 -k1,49:13080542,4786754:291781 -x1,49:16100810,4786754 -k1,49:16401366,4786754:300556 -x1,49:17470866,4786754 -k1,49:17762647,4786754:291781 -x1,49:19991485,4786754 -x1,49:20269555,4786754 -k1,49:20561336,4786754:291781 -x1,49:21720674,4786754 -k1,49:22012456,4786754:291782 -x1,49:22654156,4786754 -k1,49:22945937,4786754:291781 -x1,49:25345895,4786754 -k1,50:25637676,4786754:291781 -x1,50:27010914,4786754 -x1,50:28491102,4786754 -k1,50:28782883,4786754:291781 -x1,50:29424583,4786754 -k1,50:29716364,4786754:291781 -x1,50:30785864,4786754 -k1,50:30785864,4786754:0 -) -(1,51:1425408,5737026:29360456,546132,152916 -x1,51:3226446,5737026 -g1,50:3483126,5737026 -x1,50:3910926,5737026 -x1,50:4873476,5737026 -x1,50:5622126,5737026 -k1,51:30785864,5737026:25163738 -g1,51:30785864,5737026 -) -(1,59:1425408,7402677:29360456,1447199,920944 -(1,52:1425408,7402677:29360456,1447199,920944 -(1,52:1425408,8323621:0,0,0 -) -(1,52:1425408,7402677:29360456,1447199,920944 -(1,52:1425408,8323621:29360456,2368143,0 -[1,52:1425408,8323621:29360456,2368143,0 -(1,52:1425408,5955478:29360456,0,0 -h1,52:1425408,5955478:0,0,0 -k1,52:30785864,5955478:29360456 -g1,52:30785864,5955478 -) -] -) -) -(1,52:30785864,5955478:0,0,0 -) -) -g1,59:30785864,7402677 -g1,59:30785864,7402677 -) -(1,67:1425408,9447560:29360456,665187,213887 -(1,62:1425408,9447560:0,0,0 -g1,62:1425408,9447560 -g1,62:0,9447560 -g1,62:-256680,9447560 -(1,62:-256680,9447560:1425408,0,0 -k1,62:1168728,9447560:1425408 -) -g1,62:1425408,9447560 -) -k1,63:1425408,9447560:0 -(1,63:1425408,9447560:0,589824,196608 -k1,63:-2436856,9447560:-3862264 -x1,63:-2137396,9447560 -$1,63:-2137396,9447560 -x1,63:-1778586,9447560 -(1,63:-1778586,9187142:778615,322479,101945 -x1,63:-1032739,9187142 -) -$1,63:-999971,9447560 -x1,63:-720896,9447560 -r1,63:-720896,9447560:0,786432,196608 -g1,63:1425408,9447560 -g1,63:1425408,9447560 -) -(1,63:1425408,9447560:0,506811,0 -k1,63:442368,9447560:-983040 -(1,63:442368,9447560:983040,506811,0 -x1,63:1130496,9447560 -g1,63:1425408,9447560 -) -) -x1,63:2430465,9447560 -k1,63:2662162,9447560:231697 -x1,63:5421472,9447560 -k1,63:5653169,9447560:231697 -x1,63:6273479,9447560 -k1,63:6505176,9447560:231697 -x1,63:6890196,9447560 -k1,63:7121893,9447560:231697 -x1,63:8234173,9447560 -x1,63:8875873,9447560 -k1,63:9107571,9447560:231698 -x1,63:12127839,9447560 -k1,63:12457587,9447560:329748 -x1,63:13034844,9447560 -k1,64:13266541,9447560:231697 -x1,64:13784179,9447560 -k1,64:14015876,9447560:231697 -x1,64:14572016,9447560 -x1,64:15320666,9447560 -k1,64:15552364,9447560:231698 -x1,64:16771594,9447560 -x1,64:17734144,9447560 -k1,64:17965841,9447560:231697 -x1,64:19377581,9447560 -k1,64:19609278,9447560:231697 -(1,64:19609278,9447560:4736286,665187,157280 -$1,64:19609278,9447560 -[1,64:19609278,9447560:4736286,665187,157280 -(1,64:19609278,9447560:4736286,665187,0 -(1,64:19609278,9447560:4736286,665187,0 -(1,64:19609278,9447560:4736286,665187,285084 -k1,64:21188040,9447560:1578762 -r1,64:21188040,9447560:0,950271,285084 -k1,64:22766802,9447560:1578762 -k1,64:24345564,9447560:1578762 -) -) -) -] -$1,64:24345564,9447560 -) -(1,64:24345564,9447560:0,608580,213887 -(1,64:24345564,9513341:0,674361,148106 -(1,64:24345564,9513341:0,674361,148106 -k1,64:19609278,9513341:-4736286 -(1,64:19609278,9513341:4736286,674361,148106 -(1,64:19609278,9661447:0,0,0 -) -(1,64:19609278,9513341:4736286,674361,148106 -(1,64:19609278,9661447:4736286,822467,0 -[1,64:19609278,9661447:4736286,822467,0 -(1,64:19609278,8838980:4736286,0,0 -h1,64:19609278,8838980:0,0,0 -k1,64:24345564,8838980:4736286 -g1,64:24345564,8838980 -) -] -) -) -(1,64:24345564,8838980:0,0,0 -) -) -) -) -) -k1,64:24577261,9447560:231697 -x1,64:25817881,9447560 -k1,64:26049578,9447560:231697 -(1,65:26049578,9447560:4736286,665187,157280 -$1,65:26049578,9447560 -[1,65:26049578,9447560:4736286,665187,157280 -(1,65:26049578,9447560:4736286,665187,0 -(1,65:26049578,9447560:4736286,665187,0 -(1,65:26049578,9447560:4736286,665187,285084 -k1,65:27628340,9447560:1578762 -r1,65:27628340,9447560:0,950271,285084 -k1,65:29207102,9447560:1578762 -k1,65:30785864,9447560:1578762 -) -) -) -] -$1,65:30785864,9447560 -) -(1,65:30785864,9447560:0,608580,213887 -(1,65:30785864,9513341:0,674361,148106 -(1,65:30785864,9513341:0,674361,148106 -k1,65:26049578,9513341:-4736286 -(1,65:26049578,9513341:4736286,674361,148106 -(1,65:26049578,9661447:0,0,0 -) -(1,65:26049578,9513341:4736286,674361,148106 -(1,65:26049578,9661447:4736286,822467,0 -[1,65:26049578,9661447:4736286,822467,0 -(1,65:26049578,8838980:4736286,0,0 -h1,65:26049578,8838980:0,0,0 -k1,65:30785864,8838980:4736286 -g1,65:30785864,8838980 -) -] -) -) -(1,65:30785864,8838980:0,0,0 -) -) -) -) -) -k1,65:30785864,9447560:0 -) -(1,67:1425408,10397832:29360456,546132,152916 -x1,67:2452128,10397832 -g1,65:2708808,10397832 -x1,65:3970818,10397832 -x1,65:4869198,10397832 -g1,65:5125878,10397832 -x1,65:7821018,10397832 -g1,65:8077698,10397832 -x1,65:8766456,10397832 -g1,65:9023136,10397832 -x1,65:10092636,10397832 -g1,65:10349316,10397832 -x1,65:13198464,10397832 -g1,65:13455144,10397832 -x1,65:14075454,10397832 -g1,65:14332134,10397832 -x1,65:15358854,10397832 -k1,66:14332134,10397832:21390 -x1,66:16877544,10397832 -g1,66:17134224,10397832 -x1,66:20004762,10397832 -k1,67:30785864,10397832:10781102 -g1,67:30785864,10397832 -) -(1,81:1425408,11741320:29360456,671603,196608 -(1,80:1425408,11741320:0,0,0 -g1,80:1425408,11741320 -g1,80:0,11741320 -g1,80:-256680,11741320 -(1,80:-256680,11741320:1425408,0,0 -k1,80:1168728,11741320:1425408 -) -g1,80:1425408,11741320 -) -g1,80:1425408,11741320 -(1,80:1425408,11741320:0,671603,196608 -k1,80:-2436856,11741320:-3862264 -x1,80:-2137396,11741320 -$1,80:-2137396,11741320 -x1,80:-1778586,11741320 -[1,80:-1778586,11834692:778615,764975,0 -(1,80:-1778586,11392196:778615,322479,101945 -x1,80:-1032739,11392196 -) -(1,80:-1778586,11834692:713624,225735,0 -x1,80:-1097730,11834692 -) -] -$1,80:-999971,11741320 -x1,80:-720896,11741320 -r1,80:-720896,11741320:0,868211,196608 -g1,80:1425408,11741320 -g1,80:1425408,11741320 -) -(1,80:1425408,11741320:0,506811,0 -k1,80:442368,11741320:-983040 -(1,80:442368,11741320:983040,506811,0 -x1,80:1130496,11741320 -g1,80:1425408,11741320 -) -) -x1,80:1975916,11741320 -x1,80:3008119,11741320 -g1,80:3323599,11741320 -x1,80:4008079,11741320 -g1,80:4264759,11741320 -x1,80:4766842,11741320 -x1,80:6180063,11741320 -g1,80:6522303,11741320 -x1,80:7484580,11741320 -g1,80:7741260,11741320 -x1,80:9221448,11741320 -x1,80:11702688,11741320 -g1,80:11959368,11741320 -x1,80:14483388,11741320 -k1,81:30785864,11741320:16302476 -g1,81:30785864,11741320 -) -(1,90:4931568,12876048:25854296,665187,213887 -(1,87:4931568,12876048:0,589824,196608 -g1,87:4931568,12876048 -g1,87:3904848,12876048 -g1,87:1425408,12876048 -(1,87:1425408,12876048:1026720,589824,196608 -g1,87:1425408,12876048 -(1,87:1425408,12876048:1026720,589824,196608 -k1,87:1439668,12876048:14260 -x1,87:1739128,12876048 -k1,87:1753388,12876048:14260 -x1,87:2138408,12876048 -k1,87:2152668,12876048:14260 -x1,87:2452128,12876048 -) -) -g1,87:4931568,12876048 -) -(1,87:4931568,12876048:0,665187,213887 -k1,87:2708808,12876048:-2222760 -(1,87:2708808,12876048:1966080,665187,157280 -$1,87:2708808,12876048 -[1,87:2708808,12876048:1966080,665187,157280 -(1,87:2708808,12876048:1966080,665187,0 -(1,87:2708808,12876048:1966080,665187,0 -(1,87:2708808,12876048:1966080,665187,285084 -k1,87:3364168,12876048:655360 -r1,87:3364168,12876048:0,950271,285084 -k1,87:4019528,12876048:655360 -k1,87:4674888,12876048:655360 -) -) -) -] -$1,87:4674888,12876048 -) -(1,87:4674888,12876048:0,608580,213887 -(1,87:4674888,12941829:0,674361,148106 -(1,87:4674888,12941829:0,674361,148106 -k1,87:2708808,12941829:-1966080 -(1,87:2708808,12941829:1966080,674361,148106 -(1,87:2708808,13089935:0,0,0 -) -(1,87:2708808,12941829:1966080,674361,148106 -(1,87:2708808,13089935:1966080,822467,0 -[1,87:2708808,13089935:1966080,822467,0 -(1,87:2708808,12267468:1966080,0,0 -h1,87:2708808,12267468:0,0,0 -k1,87:4674888,12267468:1966080 -g1,87:4674888,12267468 -) -] -) -) -(1,87:4674888,12267468:0,0,0 -) -) -) -) -) -g1,87:4931568,12876048 -) -x1,87:5444655,12876048 -k1,87:5717126,12876048:272471 -x1,87:8587664,12876048 -k1,87:8860136,12876048:272472 -x1,87:9672956,12876048 -x1,87:10057976,12876048 -x1,87:10378826,12876048 -k1,87:10651297,12876048:272471 -$1,87:10651297,12876048 -x1,87:11036317,12876048 -$1,87:11036317,12876048 -k1,87:11308789,12876048:272472 -x1,87:13114105,12876048 -k1,87:13390524,12876048:276419 -x1,87:14887824,12876048 -k1,87:15160295,12876048:272471 -x1,87:15973115,12876048 -k1,87:16245587,12876048:272472 -x1,87:18106517,12876048 -x1,87:19137515,12876048 -k1,87:19409986,12876048:272471 -x1,87:20436706,12876048 -k1,88:20709178,12876048:272472 -x1,88:22719838,12876048 -k1,88:23109452,12876048:389614 -x1,88:24071729,12876048 -x1,88:24606479,12876048 -k1,88:24878950,12876048:272471 -x1,88:25396588,12876048 -k1,88:25669060,12876048:272472 -x1,88:26738560,12876048 -k1,88:27011031,12876048:272471 -x1,88:28508331,12876048 -k1,88:28780803,12876048:272472 -x1,88:29700573,12876048 -k1,88:29973044,12876048:272471 -x1,88:30785864,12876048 -k1,88:30785864,12876048:0 -) -(1,90:4931568,13826320:25854296,546132,152916 -x1,90:5701608,13826320 -x1,88:6108018,13826320 -x1,88:6557208,13826320 -g1,88:6813888,13826320 -x1,88:8225628,13826320 -g1,88:8482308,13826320 -x1,88:9166788,13826320 -g1,88:9423468,13826320 -x1,88:11134668,13826320 -g1,88:11391348,13826320 -x1,88:12075828,13826320 -g1,88:12332508,13826320 -x1,88:13402008,13826320 -g1,88:13658688,13826320 -x1,88:14685408,13826320 -g1,88:14942088,13826320 -x1,88:15562398,13826320 -g1,89:15819078,13826320 -x1,89:17401938,13826320 -g1,89:17658618,13826320 -x1,89:19241478,13826320 -x1,89:20225418,13826320 -x1,89:20375148,13826320 -k1,90:30785864,13826320:10410716 -g1,90:30785864,13826320 -) -(1,107:4931568,14973200:25854296,713465,213887 -(1,104:4931568,14973200:0,589824,196608 -g1,104:4931568,14973200 -g1,104:3904848,14973200 -g1,104:1425408,14973200 -(1,104:1425408,14973200:1026720,589824,196608 -g1,104:1425408,14973200 -(1,104:1425408,14973200:1026720,589824,196608 -g1,104:1425408,14973200 -x1,104:1724868,14973200 -g1,104:1724868,14973200 -x1,104:2152668,14973200 -g1,104:2152668,14973200 -x1,104:2452128,14973200 -) -) -g1,104:4931568,14973200 -) -(1,104:4931568,14973200:0,665187,213887 -k1,104:2708808,14973200:-2222760 -(1,104:2708808,14973200:1966080,665187,157280 -$1,104:2708808,14973200 -[1,104:2708808,14973200:1966080,665187,157280 -(1,104:2708808,14973200:1966080,665187,0 -(1,104:2708808,14973200:1966080,665187,0 -(1,104:2708808,14973200:1966080,665187,285084 -k1,104:3364168,14973200:655360 -r1,104:3364168,14973200:0,950271,285084 -k1,104:4019528,14973200:655360 -k1,104:4674888,14973200:655360 -) -) -) -] -$1,104:4674888,14973200 -) -(1,104:4674888,14973200:0,608580,213887 -(1,104:4674888,15038981:0,674361,148106 -(1,104:4674888,15038981:0,674361,148106 -k1,104:2708808,15038981:-1966080 -(1,104:2708808,15038981:1966080,674361,148106 -(1,104:2708808,15187087:0,0,0 -) -(1,104:2708808,15038981:1966080,674361,148106 -(1,104:2708808,15187087:1966080,822467,0 -[1,104:2708808,15187087:1966080,822467,0 -(1,104:2708808,14364620:1966080,0,0 -h1,104:2708808,14364620:0,0,0 -k1,104:4674888,14364620:1966080 -g1,104:4674888,14364620 -) -] -) -) -(1,104:4674888,14364620:0,0,0 -) -) -) -) -) -g1,104:4931568,14973200 -) -$1,104:4931568,14973200 -x1,104:5316588,14973200 -k1,104:5515380,14973200:198792 -x1,104:6114300,14973200 -k1,104:6313092,14973200:198792 -x1,104:6698112,14973200 -k1,104:6976643,14973200:278531 -x1,104:7575563,14973200 -k1,104:7854093,14973200:278530 -x1,104:8239113,14973200 -$1,104:8239113,14973200 -k1,104:8531091,14973200:291978 -x1,104:8744991,14973200 -x1,104:9194181,14973200 -k1,104:9486158,14973200:291977 -$1,104:9486158,14973200 -(1,104:9486158,14973200:1040382,713465,104422 -(1,104:9486158,14322647:655362,31456,754975 -x1,104:10141520,14322647 -) -[1,104:10141520,14973200:385020,713465,0 -(1,104:10141520,14973200:385020,506811,0 -x1,104:10526540,14973200 -) -] -) -$1,104:10526540,14973200 -k1,104:10818517,14973200:291977 -x1,104:11336155,14973200 -k1,104:11628133,14973200:291978 -x1,104:12013153,14973200 -k1,104:12305130,14973200:291977 -x1,104:14914710,14973200 -k1,104:15206688,14973200:291978 -x1,104:15634488,14973200 -x1,104:16682598,14973200 -x1,104:17089008,14973200 -x1,104:17965998,14973200 -k1,104:18414130,14973200:448132 -x1,104:19376407,14973200 -x1,104:19911157,14973200 -k1,104:20203134,14973200:291977 -x1,104:20720772,14973200 -k1,105:21012750,14973200:291978 -x1,105:22082250,14973200 -k1,105:22374227,14973200:291977 -x1,105:23871527,14973200 -k1,105:24163504,14973200:291977 -x1,105:25083274,14973200 -k1,105:25375252,14973200:291978 -x1,105:26188072,14973200 -k1,105:26480049,14973200:291977 -x1,105:27250089,14973200 -x1,105:27656499,14973200 -x1,105:28105689,14973200 -k1,105:28397667,14973200:291978 -x1,105:29809407,14973200 -k1,105:30101384,14973200:291977 -x1,105:30785864,14973200 -k1,105:30785864,14973200:0 -) -(1,107:4931568,15923472:25854296,546132,152916 -x1,107:6642768,15923472 -g1,105:6899448,15923472 -x1,105:7583928,15923472 -g1,105:7840608,15923472 -x1,105:8910108,15923472 -g1,105:9166788,15923472 -x1,105:10193508,15923472 -g1,105:10450188,15923472 -x1,105:11070498,15923472 -g1,105:11327178,15923472 -x1,105:12910038,15923472 -g1,105:13166718,15923472 -x1,105:14749578,15923472 -k1,106:13166718,15923472:-21390 -x1,106:15733518,15923472 -x1,106:15883248,15923472 -k1,107:30785864,15923472:14902616 -g1,107:30785864,15923472 -) -(1,122:4931568,17070352:25854296,665187,213887 -(1,116:4931568,17070352:0,589824,196608 -g1,116:4931568,17070352 -g1,116:3904848,17070352 -g1,116:1425408,17070352 -(1,116:1425408,17070352:1026720,589824,196608 -g1,116:1425408,17070352 -(1,116:1425408,17070352:1026720,589824,196608 -k1,116:1453928,17070352:28520 -x1,116:1753388,17070352 -k1,116:1781908,17070352:28520 -x1,116:2124148,17070352 -k1,116:2152668,17070352:28520 -x1,116:2452128,17070352 -) -) -g1,116:4931568,17070352 -) -(1,116:4931568,17070352:0,665187,213887 -k1,116:2708808,17070352:-2222760 -(1,116:2708808,17070352:1966080,665187,157280 -$1,116:2708808,17070352 -[1,116:2708808,17070352:1966080,665187,157280 -(1,116:2708808,17070352:1966080,665187,0 -(1,116:2708808,17070352:1966080,665187,0 -(1,116:2708808,17070352:1966080,665187,285084 -k1,116:3364168,17070352:655360 -r1,116:3364168,17070352:0,950271,285084 -k1,116:4019528,17070352:655360 -k1,116:4674888,17070352:655360 -) -) -) -] -$1,116:4674888,17070352 -) -(1,116:4674888,17070352:0,608580,213887 -(1,116:4674888,17136133:0,674361,148106 -(1,116:4674888,17136133:0,674361,148106 -k1,116:2708808,17136133:-1966080 -(1,116:2708808,17136133:1966080,674361,148106 -(1,116:2708808,17284239:0,0,0 -) -(1,116:2708808,17136133:1966080,674361,148106 -(1,116:2708808,17284239:1966080,822467,0 -[1,116:2708808,17284239:1966080,822467,0 -(1,116:2708808,16461772:1966080,0,0 -h1,116:2708808,16461772:0,0,0 -k1,116:4674888,16461772:1966080 -g1,116:4674888,16461772 -) -] -) -) -(1,116:4674888,16461772:0,0,0 -) -) -) -) -) -g1,116:4931568,17070352 -) -$1,116:4931568,17070352 -x1,116:7516812,17070352 -x1,116:8956997,17070352 -k1,116:9218215,17070352:233001 -x1,116:9817135,17070352 -k1,116:10050136,17070352:233001 -x1,116:10734616,17070352 -$1,116:10734616,17070352 -k1,116:11504656,17070352:770040 -x1,116:11804116,17070352 -$1,116:11804116,17070352 -x1,116:12241702,17070352 -$1,116:12241702,17070352 -x1,116:12455602,17070352 -k1,116:12722968,17070352:267366 -$1,117:12722968,17070352 -x1,117:13098430,17070352 -$1,117:13126647,17070352 -k1,117:13391876,17070352:265229 -x1,117:14632496,17070352 -k1,117:14897725,17070352:265229 -x1,117:15325525,17070352 -x1,117:16373635,17070352 -x1,117:16780045,17070352 -x1,117:18260233,17070352 -k1,117:18628119,17070352:367886 -x1,117:19590396,17070352 -x1,117:20125146,17070352 -k1,117:20390375,17070352:265229 -x1,117:20908013,17070352 -k1,117:21173241,17070352:265228 -x1,117:22242741,17070352 -k1,117:22507970,17070352:265229 -x1,117:24005270,17070352 -k1,117:24270499,17070352:265229 -x1,117:25190269,17070352 -k1,117:25455498,17070352:265229 -x1,117:26268318,17070352 -k1,117:26533546,17070352:265228 -x1,117:27303586,17070352 -x1,117:27709996,17070352 -x1,117:28159186,17070352 -k1,117:28424415,17070352:265229 -x1,117:29836155,17070352 -k1,117:30101384,17070352:265229 -x1,117:30785864,17070352 -k1,117:30785864,17070352:0 -) -(1,122:4931568,18020624:25854296,546132,152916 -x1,122:6642768,18020624 -g1,117:6899448,18020624 -x1,117:7583928,18020624 -g1,117:7840608,18020624 -x1,117:8910108,18020624 -g1,118:9166788,18020624 -x1,118:10193508,18020624 -g1,118:10450188,18020624 -x1,118:11070498,18020624 -g1,118:11327178,18020624 -x1,118:12910038,18020624 -g1,118:13166718,18020624 -x1,118:14749578,18020624 -x1,118:15733518,18020624 -x1,118:15883248,18020624 -k1,122:30785864,18020624:14902616 -g1,122:30785864,18020624 -) -(1,128:4931568,19167504:25854296,665187,213887 -(1,123:4931568,19167504:0,589824,196608 -g1,123:4931568,19167504 -g1,123:3904848,19167504 -g1,123:1425408,19167504 -(1,123:1425408,19167504:1026720,589824,196608 -g1,123:1425408,19167504 -(1,123:1425408,19167504:1026720,589824,196608 -g1,123:1425408,19167504 -x1,123:1724868,19167504 -g1,123:1724868,19167504 -x1,123:2152668,19167504 -g1,123:2152668,19167504 -x1,123:2452128,19167504 -) -) -g1,123:4931568,19167504 -) -(1,123:4931568,19167504:0,665187,213887 -k1,123:2708808,19167504:-2222760 -(1,123:2708808,19167504:1966080,665187,157280 -$1,123:2708808,19167504 -[1,123:2708808,19167504:1966080,665187,157280 -(1,123:2708808,19167504:1966080,665187,0 -(1,123:2708808,19167504:1966080,665187,0 -(1,123:2708808,19167504:1966080,665187,285084 -k1,123:3364168,19167504:655360 -r1,123:3364168,19167504:0,950271,285084 -k1,123:4019528,19167504:655360 -k1,123:4674888,19167504:655360 -) -) -) -] -$1,123:4674888,19167504 -) -(1,123:4674888,19167504:0,608580,213887 -(1,123:4674888,19233285:0,674361,148106 -(1,123:4674888,19233285:0,674361,148106 -k1,123:2708808,19233285:-1966080 -(1,123:2708808,19233285:1966080,674361,148106 -(1,123:2708808,19381391:0,0,0 -) -(1,123:2708808,19233285:1966080,674361,148106 -(1,123:2708808,19381391:1966080,822467,0 -[1,123:2708808,19381391:1966080,822467,0 -(1,123:2708808,18558924:1966080,0,0 -h1,123:2708808,18558924:0,0,0 -k1,123:4674888,18558924:1966080 -g1,123:4674888,18558924 -) -] -) -) -(1,123:4674888,18558924:0,0,0 -) -) -) -) -) -g1,123:4931568,19167504 -) -$1,123:4931568,19167504 -x1,123:7516812,19167504 -x1,123:8938571,19167504 -x1,123:9930248,19167504 -x1,123:10702337,19167504 -g1,123:10877097,19167504 -x1,123:11476017,19167504 -g1,123:11650777,19167504 -x1,123:12026239,19167504 -x1,123:12353916,19167504 -g1,123:12572366,19167504 -x1,123:13171286,19167504 -g1,123:13389736,19167504 -x1,123:14074216,19167504 -$1,123:14074216,19167504 -x1,123:14288116,19167504 -g1,123:14544796,19167504 -g1,124:15314836,19167504 -x1,124:15614296,19167504 -$1,124:15614296,19167504 -x1,124:16051882,19167504 -$1,124:16051882,19167504 -x1,124:16265782,19167504 -g1,124:16522462,19167504 -$1,124:16522462,19167504 -x1,124:16897924,19167504 -$1,124:16926141,19167504 -x1,124:17140041,19167504 -g1,124:17396721,19167504 -x1,124:18637341,19167504 -g1,124:18894021,19167504 -$1,124:18894021,19167504 -x1,124:19251735,19167504 -$1,124:19286778,19167504 -g1,124:19543458,19167504 -x1,124:20784078,19167504 -g1,124:21040758,19167504 -x1,124:21468558,19167504 -x1,124:22516668,19167504 -x1,124:22923078,19167504 -x1,124:24403266,19167504 -k1,128:30785864,19167504:6382598 -g1,128:30785864,19167504 -) -(1,137:1425408,20683296:29360456,589824,196608 -(1,133:1425408,20683296:0,0,0 -g1,133:1425408,20683296 -g1,133:0,20683296 -g1,133:-256680,20683296 -(1,133:-256680,20683296:1425408,0,0 -k1,133:1168728,20683296:1425408 -) -g1,133:1425408,20683296 -) -k1,133:1425408,20683296:0 -(1,133:1425408,20683296:0,589824,196608 -k1,133:-2795666,20683296:-4221074 -x1,133:-2496206,20683296 -$1,133:-2496206,20683296 -(1,133:-2496206,20683296:717620,462465,0 -x1,133:-1778586,20683296 -) -(1,133:-1778586,20422878:778615,322479,101945 -x1,133:-1032739,20422878 -) -$1,133:-999971,20683296 -x1,133:-720896,20683296 -r1,133:-720896,20683296:0,786432,196608 -g1,133:1425408,20683296 -g1,133:1425408,20683296 -) -(1,133:1425408,20683296:0,506811,0 -k1,133:442368,20683296:-983040 -(1,133:442368,20683296:983040,506811,0 -x1,133:1130496,20683296 -g1,133:1425408,20683296 -) -) -x1,133:2986605,20683296 -k1,133:3157964,20683296:171359 -x1,133:3675602,20683296 -k1,133:3846960,20683296:171358 -x1,133:4659780,20683296 -k1,133:4831139,20683296:171359 -x1,133:7590449,20683296 -k1,133:7761807,20683296:171358 -x1,133:8382117,20683296 -k1,133:8553476,20683296:171359 -x1,133:8938496,20683296 -k1,133:9109854,20683296:171358 -x1,133:10607154,20683296 -k1,133:10778513,20683296:171359 -x1,133:13730333,20683296 -k1,133:13901692,20683296:171359 -x1,133:16853512,20683296 -k1,133:17167311,20683296:313799 -x1,133:17744568,20683296 -k1,133:17915927,20683296:171359 -x1,133:19006817,20683296 -x1,133:19631405,20683296 -k1,133:19802763,20683296:171358 -x1,133:20872263,20683296 -k1,133:21043622,20683296:171359 -x1,133:23781542,20683296 -k1,134:23952900,20683296:171358 -x1,134:26861940,20683296 -x1,134:27140010,20683296 -k1,134:27311369,20683296:171359 -x1,134:27525269,20683296 -x1,134:30358064,20683296 -x1,134:30785864,20683296 -k1,134:30785864,20683296:0 -) -(1,137:1425408,21633568:29360456,546132,152916 -x1,137:2002665,21633568 -x1,134:2751315,21633568 -g1,134:3007995,21633568 -x1,134:3739533,21633568 -x1,134:5301003,21633568 -g1,134:5557683,21633568 -x1,134:6627183,21633568 -g1,134:6883863,21633568 -x1,134:7311663,21633568 -k1,135:6883863,21633568:21390 -x1,135:8359773,21633568 -x1,135:8941581,21633568 -g1,135:9198261,21633568 -x1,135:10575777,21633568 -x1,135:12607827,21633568 -g1,135:12864507,21633568 -x1,135:14361807,21633568 -g1,135:14618487,21633568 -x1,135:15687987,21633568 -x1,135:16094397,21633568 -g1,135:16351077,21633568 -x1,135:17762817,21633568 -g1,135:18019497,21633568 -x1,135:19777755,21633568 -g1,135:20034435,21633568 -x1,135:21103935,21633568 -g1,135:21360615,21633568 -x1,135:22979355,21633568 -g1,135:23236035,21633568 -x1,135:26701215,21633568 -k1,137:30785864,21633568:4084649 -g1,137:30785864,21633568 -) -(1,141:2708808,22768297:28077056,589824,196608 -(1,140:2708808,22768297:0,589824,196608 -g1,140:2708808,22768297 -g1,140:1682088,22768297 -g1,140:1425408,22768297 -(1,140:1425408,22768297:1026720,589824,196608 -g1,140:1425408,22768297 -(1,140:1425408,22768297:1026720,589824,196608 -k1,140:1439668,22768297:14260 -x1,140:1739128,22768297 -k1,140:1753388,22768297:14260 -x1,140:2138408,22768297 -k1,140:2152668,22768297:14260 -x1,140:2452128,22768297 -) -) -g1,140:2708808,22768297 -) -x1,140:3008268,22768297 -$1,140:3008268,22768297 -(1,140:3008268,22768297:770040,506811,0 -x1,140:3778308,22768297 -) -g1,140:3909378,22768297 -(1,140:3909378,22768297:1030998,483719,152916 -(1,140:3909378,22768297:1030998,483719,152916 -x1,140:4940376,22768297 -) -) -$1,140:4940376,22768297 -x1,140:5239836,22768297 -g1,140:5496516,22768297 -x1,140:6998094,22768297 -g1,140:7254774,22768297 -x1,140:7639794,22768297 -g1,140:7896474,22768297 -x1,140:9436554,22768297 -g1,140:9693234,22768297 -x1,140:11062194,22768297 -k1,141:30785864,22768297:19723670 -g1,141:30785864,22768297 -) -(1,145:2708808,25069676:28077056,2039235,1512980 -(1,142:2708808,25069676:28077056,2039235,1512980 -(1,142:2708808,26582656:0,0,0 -) -(1,142:2708808,25069676:28077056,2039235,1512980 -(1,142:2708808,26582656:28077056,3552215,0 -[1,142:2708808,26582656:28077056,3552215,0 -(1,142:2708808,23030441:28077056,0,0 -h1,142:2708808,23030441:0,0,0 -k1,142:30785864,23030441:28077056 -g1,142:30785864,23030441 -) -] -) -) -(1,142:30785864,23030441:0,0,0 -) -) -g1,145:30785864,25069676 -g1,145:30785864,25069676 -) -(1,147:2708808,27434624:28077056,589824,196608 -(1,146:2708808,27434624:0,589824,196608 -g1,146:2708808,27434624 -g1,146:1682088,27434624 -g1,146:1425408,27434624 -(1,146:1425408,27434624:1026720,589824,196608 -g1,146:1425408,27434624 -(1,146:1425408,27434624:1026720,589824,196608 -g1,146:1425408,27434624 -x1,146:1724868,27434624 -g1,146:1724868,27434624 -x1,146:2152668,27434624 -g1,146:2152668,27434624 -x1,146:2452128,27434624 -) -) -g1,146:2708808,27434624 -) -x1,146:3008268,27434624 -$1,146:3008268,27434624 -x1,146:3393288,27434624 -g1,146:3524358,27434624 -(1,146:3524358,27434624:1030998,483719,152916 -(1,146:3524358,27434624:1030998,483719,152916 -x1,146:4555356,27434624 -) -) -$1,146:4555356,27434624 -x1,146:4854816,27434624 -g1,146:5111496,27434624 -x1,146:6613074,27434624 -g1,146:6869754,27434624 -x1,146:8024814,27434624 -g1,146:8281494,27434624 -x1,146:8799132,27434624 -g1,146:9055812,27434624 -x1,146:10702842,27434624 -x1,146:11142702,27434624 -g1,146:11399382,27434624 -x1,146:12088140,27434624 -g1,146:12344820,27434624 -x1,146:14098800,27434624 -k1,147:30785864,27434624:16687064 -g1,147:30785864,27434624 -) -(1,151:2708808,29736003:28077056,2039235,1512980 -(1,148:2708808,29736003:28077056,2039235,1512980 -(1,148:2708808,31248983:0,0,0 -) -(1,148:2708808,29736003:28077056,2039235,1512980 -(1,148:2708808,31248983:28077056,3552215,0 -[1,148:2708808,31248983:28077056,3552215,0 -(1,148:2708808,27696768:28077056,0,0 -h1,148:2708808,27696768:0,0,0 -k1,148:30785864,27696768:28077056 -g1,148:30785864,27696768 -) -] -) -) -(1,148:30785864,27696768:0,0,0 -) -) -g1,151:30785864,29736003 -g1,151:30785864,29736003 -) -(1,161:1425408,32469863:29360456,589824,196608 -(1,158:1425408,32469863:0,0,0 -g1,158:1425408,32469863 -g1,158:0,32469863 -g1,158:-256680,32469863 -(1,158:-256680,32469863:1425408,0,0 -k1,158:1168728,32469863:1425408 -) -g1,158:1425408,32469863 -) -k1,158:1425408,32469863:0 -(1,158:1425408,32469863:0,589824,196608 -k1,158:-2795666,32469863:-4221074 -x1,158:-2496206,32469863 -$1,158:-2496206,32469863 -(1,158:-2496206,32469863:717620,462465,0 -x1,158:-1778586,32469863 -) -(1,158:-1778586,32209445:778615,322479,101945 -x1,158:-1032739,32209445 -) -$1,158:-999971,32469863 -x1,158:-720896,32469863 -r1,158:-720896,32469863:0,786432,196608 -g1,158:1425408,32469863 -g1,158:1425408,32469863 -) -(1,158:1425408,32469863:0,506811,0 -k1,158:442368,32469863:-983040 -(1,158:442368,32469863:983040,506811,0 -x1,158:1130496,32469863 -g1,158:1425408,32469863 -) -) -x1,158:3393288,32469863 -k1,159:3705081,32469863:311793 -x1,159:4774581,32469863 -k1,159:5086374,32469863:311793 -x1,159:7396494,32469863 -k1,159:7708287,32469863:311793 -x1,159:9380985,32469863 -x1,159:10001295,32469863 -k1,159:10313089,32469863:311794 -x1,159:11232859,32469863 -k1,159:11544652,32469863:311793 -x1,159:12614152,32469863 -x1,159:13020562,32469863 -k1,159:13332355,32469863:311793 -x1,159:13952665,32469863 -k1,159:14264458,32469863:311793 -x1,159:15333958,32469863 -k1,159:15645751,32469863:311793 -x1,159:17078881,32469863 -x1,159:18640351,32469863 -k1,159:18952144,32469863:311793 -x1,159:19593844,32469863 -x1,159:21711454,32469863 -k1,159:22023247,32469863:311793 -x1,159:22365487,32469863 -k1,160:22023247,32469863:-21390 -x1,160:24269197,32469863 -k1,160:24776777,32469863:507580 -x1,160:26744657,32469863 -k1,160:27056450,32469863:311793 -x1,160:27574088,32469863 -k1,160:27885881,32469863:311793 -x1,160:29319011,32469863 -k1,160:29630804,32469863:311793 -x1,160:30785864,32469863 -k1,160:30785864,32469863:0 -) -(1,161:1425408,33420135:29360456,483719,0 -x1,161:3735528,33420135 -g1,160:3992208,33420135 -x1,160:5664906,33420135 -x1,160:6499116,33420135 -k1,161:30785864,33420135:24286748 -g1,161:30785864,33420135 -) -(1,188:1425408,34567015:29360456,665187,6969756 -r1,161:1425408,34567015:0,7634943,6969756 -g1,161:2708808,34567015 -(1,188:2708808,34567015:0,665187,6969756 -$1,188:2708808,34567015 -[1,188:2708808,34567015:0,665187,6969756 -(1,188:2708808,34567015:-37458944,665187,6969756 -g1,163:2708808,34567015 -(1,175:2708808,34567015:14038528,665187,6969756 -r1,163:2708808,34567015:0,950271,285084 -[1,175:2708808,34567015:13298524,665187,3791259 -(1,164:2708808,34567015:13298524,665187,285084 -h1,163:2708808,34567015:0,0,0 -r1,163:2708808,34567015:0,950271,285084 -g1,163:2708808,34567015 -(1,163:2708808,34567015:0,589824,196608 -k1,163:1468188,34567015:-1240620 -x1,163:1767648,34567015 -g1,163:1767648,34567015 -x1,163:2152668,34567015 -g1,163:2152668,34567015 -x1,163:2452128,34567015 -g1,163:2708808,34567015 -) -x1,163:3008268,34567015 -$1,163:3008268,34567015 -x1,163:3393288,34567015 -g1,163:3524358,34567015 -(1,163:3524358,34567015:1030998,483719,152916 -(1,163:3524358,34567015:1030998,483719,152916 -x1,163:4555356,34567015 -) -) -$1,163:4555356,34567015 -x1,163:4854816,34567015 -g1,163:5111496,34567015 -x1,163:5817093,34567015 -g1,163:6073773,34567015 -x1,163:7742193,34567015 -g1,163:7998873,34567015 -x1,163:8405283,34567015 -x1,163:9410613,34567015 -g1,163:9667293,34567015 -x1,163:10736793,34567015 -g1,163:10993473,34567015 -x1,163:13218033,34567015 -x1,163:14355981,34567015 -g1,163:14612661,34567015 -x1,163:15729219,34567015 -k1,163:16007332,34567015:278113 -) -(1,164:2708808,35517287:13298524,546132,0 -x1,164:3778308,35517287 -g1,163:4034988,35517287 -x1,163:4420008,35517287 -x1,163:5938698,35517287 -g1,163:6195378,35517287 -x1,163:7970748,35517287 -k1,164:11989040,35517287:4018292 -k1,164:16007332,35517287:4018292 -) -(1,171:2708808,37122918:13298524,1343487,950271 -(1,171:2708808,37122918:13298524,1343487,950271 -$1,171:2708808,37122918 -[1,171:2708808,37122918:13298524,1343487,950271 -(1,169:2708808,36444618:13298524,665187,285084 -g1,165:2708808,36444618 -(1,168:2708808,36444618:6649262,665187,285084 -r1,165:2708808,36444618:0,950271,285084 -[1,168:2708808,36444618:6550958,665187,285084 -(1,168:2708808,36444618:6550958,665187,285084 -h1,167:2708808,36444618:0,0,0 -r1,167:2708808,36444618:0,950271,285084 -g1,167:2708808,36444618 -(1,167:2708808,36543290:0,0,0 -) -(1,167:2708808,36444618:723599,624927,98672 -(1,167:2708808,36543290:723599,723599,0 -[1,167:2708808,36543290:723599,723599,0 -(1,167:2708808,35819691:723599,0,0 -h1,167:2708808,35819691:0,0,0 -k1,167:3432407,35819691:723599 -g1,167:3432407,35819691 -) -] -) -) -(1,167:3432407,35819691:0,0,0 -) -g1,167:3689087,36444618 -x1,167:5229167,36444618 -r1,168:5229167,36444618:0,285084,285084 -k1,168:7244467,36444618:2015300 -k1,168:9259766,36444618:2015299 -) -] -g1,168:9259766,36444618 -g1,168:9358070,36444618 -) -g1,168:9358070,36444618 -(1,169:9358070,36444618:6649262,665187,285084 -g1,168:9456374,36444618 -[1,169:9456374,36444618:6550958,665187,285084 -(1,169:9456374,36444618:6550958,665187,285084 -h1,168:9456374,36444618:0,0,0 -r1,168:9456374,36444618:0,950271,285084 -g1,168:9456374,36444618 -(1,168:9456374,36543290:0,0,0 -) -(1,168:9456374,36444618:723599,624927,98672 -(1,168:9456374,36543290:723599,723599,0 -[1,168:9456374,36543290:723599,723599,0 -(1,168:9456374,35819691:723599,0,0 -h1,168:9456374,35819691:0,0,0 -k1,168:10179973,35819691:723599 -g1,168:10179973,35819691 -) -] -) -) -(1,168:10179973,35819691:0,0,0 -) -g1,168:10436653,36444618 -x1,168:11976733,36444618 -r1,169:11976733,36444618:0,285084,285084 -k1,169:13992033,36444618:2015300 -k1,169:16007332,36444618:2015299 -) -] -g1,169:16007332,36444618 -) -g1,169:16007332,36444618 -) -(1,171:2708808,37788105:13298524,665187,285084 -g1,169:2708808,37788105 -(1,170:2708808,37788105:6649262,665187,285084 -r1,169:2708808,37788105:0,950271,285084 -[1,170:2708808,37788105:6550958,665187,285084 -(1,170:2708808,37788105:6550958,665187,285084 -h1,169:2708808,37788105:0,0,0 -r1,169:2708808,37788105:0,950271,285084 -g1,169:2708808,37788105 -(1,169:2708808,37886777:0,0,0 -) -(1,169:2708808,37788105:723599,624927,98672 -(1,169:2708808,37886777:723599,723599,0 -[1,169:2708808,37886777:723599,723599,0 -(1,169:2708808,37163178:723599,0,0 -h1,169:2708808,37163178:0,0,0 -k1,169:3432407,37163178:723599 -g1,169:3432407,37163178 -) -] -) -) -(1,169:3432407,37163178:0,0,0 -) -g1,169:3689087,37788105 -x1,169:5229167,37788105 -r1,170:5229167,37788105:0,285084,285084 -k1,170:7244467,37788105:2015300 -k1,170:9259766,37788105:2015299 -) -] -g1,170:9259766,37788105 -g1,170:9358070,37788105 -) -g1,170:9358070,37788105 -(1,171:9358070,37788105:6649262,665187,285084 -g1,170:9456374,37788105 -[1,171:9456374,37788105:6550958,665187,285084 -(1,171:9456374,37788105:6550958,665187,285084 -h1,170:9456374,37788105:0,0,0 -r1,170:9456374,37788105:0,950271,285084 -g1,170:9456374,37788105 -(1,170:9456374,37886777:0,0,0 -) -(1,170:9456374,37788105:723599,624927,98672 -(1,170:9456374,37886777:723599,723599,0 -[1,170:9456374,37886777:723599,723599,0 -(1,170:9456374,37163178:723599,0,0 -h1,170:9456374,37163178:0,0,0 -k1,170:10179973,37163178:723599 -g1,170:10179973,37163178 -) -] -) -) -(1,170:10179973,37163178:0,0,0 -) -g1,170:10436653,37788105 -x1,170:11976733,37788105 -r1,171:11976733,37788105:0,285084,285084 -k1,171:13992033,37788105:2015300 -k1,171:16007332,37788105:2015299 -) -] -g1,171:16007332,37788105 -) -g1,171:16007332,37788105 -) -] -$1,171:16007332,37122918 -) -g1,171:16007332,37122918 -g1,171:16007332,37122918 -) -(1,175:2708808,38073190:13298524,0,285084 -r1,175:2708808,38073190:0,285084,285084 -k1,175:9358070,38073190:6649262 -k1,175:16007332,38073190:6649262 -) -] -g1,175:16007332,34567015 -g1,175:16747336,34567015 -) -g1,175:16747336,34567015 -(1,188:16747336,34567015:-51497472,665187,6969756 -g1,176:17487340,34567015 -[1,188:17487340,34567015:13298524,665187,6969756 -(1,177:17487340,34567015:13298524,665187,285084 -h1,176:17487340,34567015:0,0,0 -r1,176:17487340,34567015:0,950271,285084 -g1,176:17487340,34567015 -(1,176:17487340,34567015:0,589824,196608 -k1,176:16203940,34567015:-1283400 -x1,176:16503400,34567015 -g1,176:16503400,34567015 -x1,176:16931200,34567015 -g1,176:16931200,34567015 -x1,176:17230660,34567015 -g1,176:17487340,34567015 -) -x1,176:17786800,34567015 -$1,176:17786800,34567015 -x1,176:18171820,34567015 -g1,176:18302890,34567015 -(1,176:18302890,34567015:1030998,483719,152916 -(1,176:18302890,34567015:1030998,483719,152916 -x1,176:19333888,34567015 -) -) -$1,176:19333888,34567015 -x1,176:19633348,34567015 -g1,176:19890028,34567015 -x1,176:20595625,34567015 -g1,176:20852305,34567015 -x1,176:22520725,34567015 -g1,176:22777405,34567015 -x1,176:23183815,34567015 -x1,176:24189145,34567015 -g1,176:24445825,34567015 -x1,176:25515325,34567015 -g1,176:25772005,34567015 -x1,176:27996565,34567015 -x1,176:29134513,34567015 -g1,176:29391193,34567015 -x1,176:30507751,34567015 -k1,176:30785864,34567015:278113 -) -(1,177:17487340,35517287:13298524,546132,0 -x1,177:18556840,35517287 -g1,176:18813520,35517287 -x1,176:19198540,35517287 -x1,176:20717230,35517287 -g1,176:20973910,35517287 -x1,176:22749280,35517287 -k1,177:26767572,35517287:4018292 -k1,177:30785864,35517287:4018292 -) -(1,180:18467619,36664167:12318245,665187,285084 -(1,179:18467619,36664167:0,665187,285084 -g1,179:18467619,36664167 -g1,179:17487340,36664167 -g1,179:17487340,36664167 -(1,179:17487340,36664167:980279,665187,285084 -g1,179:17487340,36664167 -r1,179:17487340,36664167:0,950271,285084 -(1,179:17487340,36762839:0,0,0 -) -(1,179:17487340,36664167:723599,624927,98672 -(1,179:17487340,36762839:723599,723599,0 -[1,179:17487340,36762839:723599,723599,0 -(1,179:17487340,36039240:723599,0,0 -h1,179:17487340,36039240:0,0,0 -k1,179:18210939,36039240:723599 -g1,179:18210939,36039240 -) -] -) -) -(1,179:18210939,36039240:0,0,0 -) -g1,179:18467619,36664167 -) -g1,179:18467619,36664167 -) -g1,179:18467619,36664167 -x1,179:20007699,36664167 -k1,180:25396782,36664167:5389083 -k1,180:30785864,36664167:5389082 -) -(1,181:18467619,37811047:12318245,665187,285084 -(1,180:18467619,37811047:0,665187,285084 -g1,180:18467619,37811047 -g1,180:17487340,37811047 -g1,180:17487340,37811047 -(1,180:17487340,37811047:980279,665187,285084 -g1,180:17487340,37811047 -r1,180:17487340,37811047:0,950271,285084 -(1,180:17487340,37909719:0,0,0 -) -(1,180:17487340,37811047:723599,624927,98672 -(1,180:17487340,37909719:723599,723599,0 -[1,180:17487340,37909719:723599,723599,0 -(1,180:17487340,37186120:723599,0,0 -h1,180:17487340,37186120:0,0,0 -k1,180:18210939,37186120:723599 -g1,180:18210939,37186120 -) -] -) -) -(1,180:18210939,37186120:0,0,0 -) -g1,180:18467619,37811047 -) -g1,180:18467619,37811047 -) -g1,180:18467619,37811047 -x1,180:20007699,37811047 -k1,181:25396782,37811047:5389083 -k1,181:30785864,37811047:5389082 -) -(1,182:18467619,38957927:12318245,665187,285084 -(1,181:18467619,38957927:0,665187,285084 -g1,181:18467619,38957927 -g1,181:17487340,38957927 -g1,181:17487340,38957927 -(1,181:17487340,38957927:980279,665187,285084 -g1,181:17487340,38957927 -r1,181:17487340,38957927:0,950271,285084 -(1,181:17487340,39056599:0,0,0 -) -(1,181:17487340,38957927:723599,624927,98672 -(1,181:17487340,39056599:723599,723599,0 -[1,181:17487340,39056599:723599,723599,0 -(1,181:17487340,38333000:723599,0,0 -h1,181:17487340,38333000:0,0,0 -k1,181:18210939,38333000:723599 -g1,181:18210939,38333000 -) -] -) -) -(1,181:18210939,38333000:0,0,0 -) -g1,181:18467619,38957927 -) -g1,181:18467619,38957927 -) -g1,181:18467619,38957927 -x1,181:20007699,38957927 -k1,182:25396782,38957927:5389083 -k1,182:30785864,38957927:5389082 -) -(1,184:18467619,40104807:12318245,665187,285084 -(1,182:18467619,40104807:0,665187,285084 -g1,182:18467619,40104807 -g1,182:17487340,40104807 -g1,182:17487340,40104807 -(1,182:17487340,40104807:980279,665187,285084 -g1,182:17487340,40104807 -r1,182:17487340,40104807:0,950271,285084 -(1,182:17487340,40203479:0,0,0 -) -(1,182:17487340,40104807:723599,624927,98672 -(1,182:17487340,40203479:723599,723599,0 -[1,182:17487340,40203479:723599,723599,0 -(1,182:17487340,39479880:723599,0,0 -h1,182:17487340,39479880:0,0,0 -k1,182:18210939,39479880:723599 -g1,182:18210939,39479880 -) -] -) -) -(1,182:18210939,39479880:0,0,0 -) -g1,182:18467619,40104807 -) -g1,182:18467619,40104807 -) -g1,182:18467619,40104807 -x1,182:20007699,40104807 -k1,184:25396782,40104807:5389083 -k1,184:30785864,40104807:5389082 -) -(1,188:17487340,41251687:13298524,0,285084 -r1,188:17487340,41251687:0,285084,285084 -k1,188:24136602,41251687:6649262 -k1,188:30785864,41251687:6649262 -) -] -g1,188:30785864,34567015 -g1,188:-34750136,34567015 -) -g1,188:-34750136,34567015 -) -] -$1,188:2708808,34567015 -) -k1,188:30785864,34567015:28077056 -g1,188:30785864,34567015 -) -] -(1,192:0,42626580:30785864,0,0 -(1,192:0,42626580:30785864,0,0 -(1,192:0,42626580:0,0,0 -r1,192:0,42626580:0,0,0 -g1,192:30785864,42626580 -g1,192:30785864,42626580 -r1,192:30785864,42626580:0,0,0 -g1,192:31506760,42626580 -g1,192:31506760,42626580 -(1,192:31506760,42626580:2293760,0,0 -(1,192:31506760,43971707:2293760,1345127,951910 -$1,192:31506760,43971707 -[1,192:31506760,43971707:2293760,1345127,951910 -(1,192:31506760,43971707:2293760,1345127,951910 -h1,192:31506760,43971707:0,0,0 -(1,192:31506760,43971707:2293760,1345127,951910 -$1,192:31506760,43971707 -[1,192:31506760,43971707:2293760,1345127,951910 -(1,192:31506760,43635834:2293760,983040,285084 -g1,192:31506760,43635834 -(1,192:31506760,43635834:2293760,983040,285084 -r1,192:31506760,43635834:0,950271,285084 -r1,192:31532974,43635834:26214,1268124,285084 -g1,192:31532974,43635834 -k1,192:32653640,43635834:1120666 -r1,192:32653640,43635834:0,1268124,285084 -k1,192:33774306,43635834:1120666 -g1,192:33774306,43635834 -r1,192:33800520,43635834:26214,1268124,285084 -) -g1,192:33800520,43635834 -) -(1,192:31506760,44612319:2293760,665187,285084 -g1,192:31506760,44612319 -(1,192:31506760,44612319:2293760,665187,285084 -r1,192:31506760,44612319:0,950271,285084 -r1,192:31532974,44612319:26214,950271,285084 -g1,192:31532974,44612319 -g1,192:31532974,44612319 -(1,192:31532974,44612319:2241332,462465,139537 -k1,192:31754623,44612319:221649 -$1,192:31754623,44612319 -(1,192:31754623,44612319:717620,462465,0 -x1,192:32472243,44612319 -) -g1,192:32591844,44612319 -(1,192:32591844,44612319:960814,441393,139537 -(1,192:32591844,44612319:960814,441393,139537 -x1,192:33552658,44612319 -) -) -$1,192:33552658,44612319 -k1,192:33774306,44612319:221648 -) -g1,192:33774306,44612319 -g1,192:33774306,44612319 -r1,192:33800520,44612319:26214,950271,285084 -) -g1,192:33800520,44612319 -) -] -$1,192:33800520,43971707 -) -g1,192:33800520,43971707 -g1,192:33800520,43971707 -) -] -$1,192:33800520,43971707 -) -) -k1,192:0,42626580:-33800520 -) -g1,192:0,42626580 -k1,192:15392932,42626580:15392932 -k1,192:30785864,42626580:15392932 -) -) -] -] -] -!45099 -}2 -Input:65:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel1.cut -Input:66:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel1.cut -Input:67:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel2.cut -Input:68:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel2.cut -Input:69:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel3.cut -Input:70:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel3.cut -!544 -{3 -[1,357:0,42626580:30785864,42626580,0 -[1,357:0,0:0,0,0 -(1,357:0,-2433924:0,0,0 -k1,357:0,-2433924:65781 -) -] -[1,357:0,42626580:30785864,42626580,0 -[1,357:0,42626580:30785864,44994723,0 -[1,357:0,-1581711:30785864,786432,0 -(1,357:0,-1581711:30785864,589824,196608 -(1,357:0,-1581711:30785864,589824,196608 -r1,357:0,-1581711:0,786432,196608 -g1,357:0,-1581711 -g1,357:0,-1581711 -(1,357:0,-1581711:30785864,589824,196608 -g1,357:0,-1581711 -x1,357:2267340,-1581711 -k1,357:8668980,-1581711:6401640 -x1,357:9054000,-1581711 -g1,357:9310680,-1581711 -x1,357:9834599,-1581711 -x1,357:10925489,-1581711 -g1,357:11182169,-1581711 -x1,357:11567189,-1581711 -g1,357:11823869,-1581711 -x1,357:12444179,-1581711 -g1,357:12700859,-1581711 -x1,357:13085879,-1581711 -g1,357:13342559,-1581711 -x1,357:13727579,-1581711 -k1,357:20129219,-1581711:6401640 -$1,357:20129219,-1581711 -[1,357:20129219,-1581711:10656645,537395,157280 -(1,357:20129219,-1581711:10656645,537395,0 -(1,357:20129219,-1581711:10656645,537395,0 -(1,357:20129219,-1581711:10656645,537395,0 -x1,357:22289336,-1581711 -k1,357:30785864,-1581711:8496528 -) -) -) -] -$1,357:30785864,-1581711 -(1,357:30785864,-1581711:0,559146,164453 -(1,357:30785864,-1515930:0,624927,98672 -(1,357:30785864,-1515930:0,624927,98672 -k1,357:22546016,-1515930:-8239848 -(1,357:22546016,-1515930:8239848,624927,98672 -(1,357:22546016,-1417258:0,0,0 -) -(1,357:22546016,-1515930:8239848,624927,98672 -(1,357:22546016,-1417258:8239848,723599,0 -[1,357:22546016,-1417258:8239848,723599,0 -(1,357:22546016,-2140857:8239848,0,0 -h1,357:22546016,-2140857:0,0,0 -k1,357:30785864,-2140857:8239848 -g1,357:30785864,-2140857 -) -] -) -) -(1,357:30785864,-2140857:0,0,0 -) -) -) -) -) -g1,357:30785864,-1581711 -) -) -) -] -[1,357:0,41905684:30785864,42176675,0 -(1,194:1425408,515441:29360456,589824,196608 -(1,192:1425408,515441:0,0,0 -g1,192:1425408,515441 -g1,192:0,515441 -g1,192:-256680,515441 -(1,192:-256680,515441:1425408,0,0 -k1,192:1168728,515441:1425408 -) -g1,192:1425408,515441 -) -g1,193:1425408,515441 -(1,193:1425408,515441:0,589824,196608 -k1,193:-2436856,515441:-3862264 -x1,193:-2137396,515441 -$1,193:-2137396,515441 -x1,193:-1778586,515441 -(1,193:-1778586,255023:778615,322479,101945 -x1,193:-1032739,255023 -) -$1,193:-999971,515441 -x1,193:-720896,515441 -r1,193:-720896,515441:0,786432,196608 -g1,193:1425408,515441 -g1,193:1425408,515441 -) -(1,193:1425408,515441:0,506811,0 -k1,193:442368,515441:-983040 -(1,193:442368,515441:983040,506811,0 -x1,193:1130496,515441 -g1,193:1425408,515441 -) -) -x1,193:3200505,515441 -x1,193:3606915,515441 -g1,193:3863595,515441 -x1,193:4483905,515441 -g1,193:4740585,515441 -x1,193:5810085,515441 -g1,193:6066765,515441 -x1,193:7499895,515441 -x1,193:9061365,515441 -g1,193:9318045,515441 -x1,193:9745845,515441 -x1,193:10712673,515441 -g1,193:10969353,515441 -x1,193:13326531,515441 -x1,193:13993899,515441 -g1,193:14250579,515441 -x1,193:17313354,515441 -g1,193:17570034,515441 -x1,193:19281234,515441 -x1,193:19687644,515441 -x1,193:20436294,515441 -k1,194:30785864,515441:10349570 -g1,194:30785864,515441 -) -(1,207:2405687,1662321:28380177,665187,285084 -(1,204:2405687,1662321:0,665187,285084 -g1,204:2405687,1662321 -g1,204:1425408,1662321 -g1,204:1425408,1662321 -(1,204:1425408,1662321:980279,665187,285084 -g1,204:1425408,1662321 -r1,204:1425408,1662321:0,950271,285084 -(1,204:1425408,1760993:0,0,0 -) -(1,204:1425408,1662321:723599,624927,98672 -(1,204:1425408,1760993:723599,723599,0 -[1,204:1425408,1760993:723599,723599,0 -(1,204:1425408,1037394:723599,0,0 -h1,204:1425408,1037394:0,0,0 -k1,204:2149007,1037394:723599 -g1,204:2149007,1037394 -) -] -) -) -(1,204:2149007,1037394:0,0,0 -) -g1,204:2405687,1662321 -) -g1,204:2405687,1662321 -) -g1,204:2405687,1662321 -x1,204:3325184,1662321 -g1,204:3581864,1662321 -x1,204:4758314,1662321 -x1,204:6105884,1662321 -x1,204:6897314,1662321 -g1,204:7153994,1662321 -x1,204:8223494,1662321 -g1,204:8480174,1662321 -x1,204:11350712,1662321 -g1,204:11607392,1662321 -x1,204:13361372,1662321 -g1,204:13618052,1662321 -x1,204:14563490,1662321 -g1,204:14820170,1662321 -x1,204:16445537,1662321 -x1,204:17882945,1662321 -x1,204:18267965,1662321 -g1,204:18524645,1662321 -x1,204:19080785,1662321 -x1,204:19748153,1662321 -g1,204:20004833,1662321 -x1,204:22019771,1662321 -g1,204:22276451,1662321 -x1,204:23196221,1662321 -g1,204:23452901,1662321 -x1,204:24522401,1662321 -g1,204:24779081,1662321 -x1,204:27174761,1662321 -k1,207:30785864,1662321:3611103 -g1,207:30785864,1662321 -) -(1,210:2405687,2809201:28380177,665187,285084 -(1,207:2405687,2809201:0,665187,285084 -g1,207:2405687,2809201 -g1,207:1425408,2809201 -g1,207:1425408,2809201 -(1,207:1425408,2809201:980279,665187,285084 -g1,207:1425408,2809201 -r1,207:1425408,2809201:0,950271,285084 -(1,207:1425408,2907873:0,0,0 -) -(1,207:1425408,2809201:723599,624927,98672 -(1,207:1425408,2907873:723599,723599,0 -[1,207:1425408,2907873:723599,723599,0 -(1,207:1425408,2184274:723599,0,0 -h1,207:1425408,2184274:0,0,0 -k1,207:2149007,2184274:723599 -g1,207:2149007,2184274 -) -] -) -) -(1,207:2149007,2184274:0,0,0 -) -g1,207:2405687,2809201 -) -g1,207:2405687,2809201 -) -g1,207:2405687,2809201 -x1,207:3630197,2809201 -x1,207:4378847,2809201 -g1,207:4635527,2809201 -x1,207:6560627,2809201 -g1,207:6817307,2809201 -x1,207:7737077,2809201 -g1,207:7993757,2809201 -x1,207:9324215,2809201 -g1,207:9580895,2809201 -x1,207:11339153,2809201 -g1,207:11595833,2809201 -x1,207:12665333,2809201 -g1,207:12922013,2809201 -x1,207:16280243,2809201 -g1,207:16536923,2809201 -x1,207:19360403,2809201 -g1,207:19617083,2809201 -$1,207:19617083,2809201 -x1,207:19996643,2809201 -x1,207:21117116,2809201 -$1,207:21117116,2809201 -x1,207:21331016,2809201 -k1,210:30785864,2809201:9454848 -g1,210:30785864,2809201 -) -(1,213:2405687,3956081:28380177,665187,285084 -(1,210:2405687,3956081:0,665187,285084 -g1,210:2405687,3956081 -g1,210:1425408,3956081 -g1,210:1425408,3956081 -(1,210:1425408,3956081:980279,665187,285084 -g1,210:1425408,3956081 -r1,210:1425408,3956081:0,950271,285084 -(1,210:1425408,4054753:0,0,0 -) -(1,210:1425408,3956081:723599,624927,98672 -(1,210:1425408,4054753:723599,723599,0 -[1,210:1425408,4054753:723599,723599,0 -(1,210:1425408,3331154:723599,0,0 -h1,210:1425408,3331154:0,0,0 -k1,210:2149007,3331154:723599 -g1,210:2149007,3331154 -) -] -) -) -(1,210:2149007,3331154:0,0,0 -) -g1,210:2405687,3956081 -) -g1,210:2405687,3956081 -) -g1,210:2405687,3956081 -x1,210:3325184,3956081 -g1,210:3581864,3956081 -x1,210:6020324,3956081 -g1,210:6277004,3956081 -x1,210:7346504,3956081 -g1,210:7603184,3956081 -x1,210:8416004,3956081 -x1,210:9464114,3956081 -x1,210:11008472,3956081 -x1,210:11799902,3956081 -g1,210:12056582,3956081 -x1,210:13532492,3956081 -x1,210:13853342,3956081 -x1,210:14238362,3956081 -g1,210:14495042,3956081 -x1,210:15735662,3956081 -g1,210:15992342,3956081 -x1,210:17322800,3956081 -g1,210:17579480,3956081 -x1,210:19081058,3956081 -g1,210:19337738,3956081 -x1,210:20407238,3956081 -g1,210:20663918,3956081 -x1,210:22760138,3956081 -x1,210:23209328,3956081 -g1,210:23466008,3956081 -x1,210:24086318,3956081 -g1,210:24342998,3956081 -x1,210:25887356,3956081 -g1,210:26144036,3956081 -x1,210:28826342,3956081 -k1,213:30785864,3956081:1959522 -g1,213:30785864,3956081 -) -(1,216:2405687,5102961:28380177,665187,285084 -(1,213:2405687,5102961:0,665187,285084 -g1,213:2405687,5102961 -g1,213:1425408,5102961 -g1,213:1425408,5102961 -(1,213:1425408,5102961:980279,665187,285084 -g1,213:1425408,5102961 -r1,213:1425408,5102961:0,950271,285084 -(1,213:1425408,5201633:0,0,0 -) -(1,213:1425408,5102961:723599,624927,98672 -(1,213:1425408,5201633:723599,723599,0 -[1,213:1425408,5201633:723599,723599,0 -(1,213:1425408,4478034:723599,0,0 -h1,213:1425408,4478034:0,0,0 -k1,213:2149007,4478034:723599 -g1,213:2149007,4478034 -) -] -) -) -(1,213:2149007,4478034:0,0,0 -) -g1,213:2405687,5102961 -) -g1,213:2405687,5102961 -) -g1,213:2405687,5102961 -x1,213:3325184,5102961 -g1,213:3581864,5102961 -x1,213:4912322,5102961 -g1,213:5169002,5102961 -x1,213:6730472,5102961 -x1,213:8805302,5102961 -g1,213:9061982,5102961 -x1,213:9447002,5102961 -g1,213:9703682,5102961 -x1,213:11975300,5102961 -g1,213:12231980,5102961 -x1,213:13002020,5102961 -x1,213:15397700,5102961 -g1,213:15654380,5102961 -x1,213:16274690,5102961 -g1,213:16531370,5102961 -x1,213:17600870,5102961 -g1,213:17857550,5102961 -x1,213:19440410,5102961 -g1,213:19697090,5102961 -x1,213:20937710,5102961 -g1,213:21194390,5102961 -x1,213:22349450,5102961 -x1,213:23269220,5102961 -x1,213:24188990,5102961 -x1,213:24574010,5102961 -g1,213:24830690,5102961 -x1,213:25451000,5102961 -g1,213:25707680,5102961 -x1,213:26092700,5102961 -g1,213:26349380,5102961 -x1,213:29322590,5102961 -k1,216:30785864,5102961:1463274 -g1,216:30785864,5102961 -) -(1,219:2405687,6249841:28380177,665187,285084 -(1,216:2405687,6249841:0,665187,285084 -g1,216:2405687,6249841 -g1,216:1425408,6249841 -g1,216:1425408,6249841 -(1,216:1425408,6249841:980279,665187,285084 -g1,216:1425408,6249841 -r1,216:1425408,6249841:0,950271,285084 -(1,216:1425408,6348513:0,0,0 -) -(1,216:1425408,6249841:723599,624927,98672 -(1,216:1425408,6348513:723599,723599,0 -[1,216:1425408,6348513:723599,723599,0 -(1,216:1425408,5624914:723599,0,0 -h1,216:1425408,5624914:0,0,0 -k1,216:2149007,5624914:723599 -g1,216:2149007,5624914 -) -] -) -) -(1,216:2149007,5624914:0,0,0 -) -g1,216:2405687,6249841 -) -g1,216:2405687,6249841 -) -k1,216:2405687,6249841:0 -x1,216:3394907,6249841 -x1,216:3779927,6249841 -x1,216:4100777,6249841 -k1,216:4442927,6249841:342150 -x1,216:4827947,6249841 -k1,216:5170098,6249841:342151 -x1,216:7869516,6249841 -k1,216:8211666,6249841:342150 -x1,216:8981706,6249841 -x1,216:11377386,6249841 -k1,216:11719536,6249841:342150 -x1,216:12339846,6249841 -k1,216:12681996,6249841:342150 -x1,216:13751496,6249841 -k1,216:14093647,6249841:342151 -x1,216:14863687,6249841 -x1,216:16574887,6249841 -k1,216:16917037,6249841:342150 -x1,216:17558737,6249841 -x1,216:19462447,6249841 -x1,216:20232487,6249841 -x1,216:21045307,6249841 -k1,216:21387457,6249841:342150 -x1,216:22029157,6249841 -x1,216:23932867,6249841 -k1,216:24275017,6249841:342150 -x1,216:25686757,6249841 -k1,216:26028908,6249841:342151 -x1,216:26841728,6249841 -x1,216:27376478,6249841 -k1,216:27718628,6249841:342150 -x1,216:28146428,6249841 -x1,216:29498276,6249841 -k1,216:29840426,6249841:342150 -x1,216:30785864,6249841 -k1,216:30785864,6249841:0 -) -(1,219:2405687,7200113:28380177,338603,0 -x1,219:4416347,7200113 -k1,219:30785863,7200113:26369516 -g1,219:30785863,7200113 -) -(1,222:2405687,8346993:28380177,665187,285084 -(1,219:2405687,8346993:0,665187,285084 -g1,219:2405687,8346993 -g1,219:1425408,8346993 -g1,219:1425408,8346993 -(1,219:1425408,8346993:980279,665187,285084 -g1,219:1425408,8346993 -r1,219:1425408,8346993:0,950271,285084 -(1,219:1425408,8445665:0,0,0 -) -(1,219:1425408,8346993:723599,624927,98672 -(1,219:1425408,8445665:723599,723599,0 -[1,219:1425408,8445665:723599,723599,0 -(1,219:1425408,7722066:723599,0,0 -h1,219:1425408,7722066:0,0,0 -k1,219:2149007,7722066:723599 -g1,219:2149007,7722066 -) -] -) -) -(1,219:2149007,7722066:0,0,0 -) -g1,219:2405687,8346993 -) -g1,219:2405687,8346993 -) -g1,219:2405687,8346993 -x1,219:3500582,8346993 -g1,219:3757262,8346993 -x1,219:6580742,8346993 -g1,219:6837422,8346993 -x1,219:7757192,8346993 -g1,219:8013872,8346993 -x1,219:9083372,8346993 -g1,219:9340052,8346993 -x1,219:11029862,8346993 -x1,219:12291872,8346993 -x1,219:12612722,8346993 -g1,219:12869402,8346993 -x1,219:14110022,8346993 -g1,219:14366702,8346993 -x1,219:15436202,8346993 -g1,219:15692882,8346993 -x1,219:16334582,8346993 -x1,219:18238292,8346993 -g1,219:18494972,8346993 -x1,219:19012610,8346993 -g1,219:19269290,8346993 -x1,219:20770868,8346993 -g1,219:21027548,8346993 -x1,219:21776198,8346993 -x1,219:22524848,8346993 -g1,219:22781528,8346993 -x1,219:23466008,8346993 -g1,219:23722688,8346993 -x1,219:24967586,8346993 -g1,219:25224266,8346993 -x1,219:26037086,8346993 -x1,219:26422106,8346993 -x1,219:26571836,8346993 -k1,222:30785864,8346993:4214028 -g1,222:30785864,8346993 -) -(1,234:1425408,9887089:29360456,589824,196608 -(1,232:1425408,9887089:0,0,0 -g1,232:1425408,9887089 -g1,232:0,9887089 -g1,232:-256680,9887089 -(1,232:-256680,9887089:1425408,0,0 -k1,232:1168728,9887089:1425408 -) -g1,232:1425408,9887089 -) -g1,233:1425408,9887089 -(1,233:1425408,9887089:0,589824,196608 -k1,233:-2436856,9887089:-3862264 -x1,233:-2137396,9887089 -$1,233:-2137396,9887089 -x1,233:-1778586,9887089 -(1,233:-1778586,9626671:778615,322479,101945 -x1,233:-1032739,9626671 -) -$1,233:-999971,9887089 -x1,233:-720896,9887089 -r1,233:-720896,9887089:0,786432,196608 -g1,233:1425408,9887089 -g1,233:1425408,9887089 -) -(1,233:1425408,9887089:0,506811,0 -k1,233:442368,9887089:-983040 -(1,233:442368,9887089:983040,506811,0 -x1,233:1130496,9887089 -g1,233:1425408,9887089 -) -) -x1,233:3200505,9887089 -x1,233:3606915,9887089 -g1,233:3863595,9887089 -x1,233:4483905,9887089 -g1,233:4740585,9887089 -x1,233:5810085,9887089 -g1,233:6066765,9887089 -x1,233:7499895,9887089 -x1,233:9061365,9887089 -g1,233:9318045,9887089 -x1,233:10344765,9887089 -g1,233:10601445,9887089 -x1,233:13275195,9887089 -g1,233:13531875,9887089 -x1,233:15824883,9887089 -k1,234:30785864,9887089:14960981 -g1,234:30785864,9887089 -) -(1,242:1425408,11033969:29360456,671744,278527 -(1,242:1425408,11033969:24532581,671744,278527 -$1,242:1425408,11033969 -[1,242:1425408,11033969:24532581,671744,278527 -(1,242:1425408,11027412:24532581,665187,285084 -g1,235:1425408,11027412 -(1,238:1425408,11027412:4827873,665187,285084 -r1,235:1425408,11027412:0,950271,285084 -[1,238:1425408,11027412:4729569,665187,285084 -(1,238:1425408,11027412:4729569,665187,285084 -h1,237:1425408,11027412:0,0,0 -r1,237:1425408,11027412:0,950271,285084 -g1,237:1425408,11027412 -(1,237:1425408,11027412:723599,624927,98672 -(1,237:1425408,11126084:0,0,0 -) -(1,237:1425408,11027412:723599,624927,98672 -(1,237:1425408,11126084:723599,723599,0 -[1,237:1425408,11126084:723599,723599,0 -(1,237:1425408,10402485:723599,0,0 -h1,237:1425408,10402485:0,0,0 -k1,237:2149007,10402485:723599 -g1,237:2149007,10402485 -) -] -) -) -(1,237:2149007,10402485:0,0,0 -) -) -g1,237:2405687,11027412 -x1,237:3934936,11027412 -r1,238:3934936,11027412:0,285084,285084 -k1,238:5044957,11027412:1110021 -k1,238:6154977,11027412:1110020 -) -] -g1,238:6154977,11027412 -g1,238:6253281,11027412 -) -g1,238:6253281,11027412 -(1,239:6253281,11027412:4926177,665187,285084 -g1,238:6351585,11027412 -[1,239:6351585,11027412:4729569,665187,285084 -(1,239:6351585,11027412:4729569,665187,285084 -h1,238:6351585,11027412:0,0,0 -r1,238:6351585,11027412:0,950271,285084 -g1,238:6351585,11027412 -(1,238:6351585,11027412:723599,624927,98672 -(1,238:6351585,11126084:0,0,0 -) -(1,238:6351585,11027412:723599,624927,98672 -(1,238:6351585,11126084:723599,723599,0 -[1,238:6351585,11126084:723599,723599,0 -(1,238:6351585,10402485:723599,0,0 -h1,238:6351585,10402485:0,0,0 -k1,238:7075184,10402485:723599 -g1,238:7075184,10402485 -) -] -) -) -(1,238:7075184,10402485:0,0,0 -) -) -g1,238:7331864,11027412 -x1,238:9347804,11027412 -r1,239:9347804,11027412:0,285084,285084 -k1,239:10214479,11027412:866675 -k1,239:11081154,11027412:866675 -) -] -g1,239:11081154,11027412 -g1,239:11179458,11027412 -) -g1,239:11179458,11027412 -(1,240:11179458,11027412:4926177,665187,285084 -g1,239:11277762,11027412 -[1,240:11277762,11027412:4729569,665187,285084 -(1,240:11277762,11027412:4729569,665187,285084 -h1,239:11277762,11027412:0,0,0 -r1,239:11277762,11027412:0,950271,285084 -g1,239:11277762,11027412 -(1,239:11277762,11027412:723599,624927,98672 -(1,239:11277762,11126084:0,0,0 -) -(1,239:11277762,11027412:723599,624927,98672 -(1,239:11277762,11126084:723599,723599,0 -[1,239:11277762,11126084:723599,723599,0 -(1,239:11277762,10402485:723599,0,0 -h1,239:11277762,10402485:0,0,0 -k1,239:12001361,10402485:723599 -g1,239:12001361,10402485 -) -] -) -) -(1,239:12001361,10402485:0,0,0 -) -) -g1,239:12258041,11027412 -x1,239:12835298,11027412 -x1,239:13926188,11027412 -x1,239:14460938,11027412 -r1,240:14460938,11027412:0,285084,285084 -k1,240:15234135,11027412:773197 -k1,240:16007331,11027412:773196 -) -] -g1,240:16007331,11027412 -g1,240:16105635,11027412 -) -g1,240:16105635,11027412 -(1,241:16105635,11027412:4926177,665187,285084 -g1,240:16203939,11027412 -[1,241:16203939,11027412:4729569,665187,285084 -(1,241:16203939,11027412:4729569,665187,285084 -h1,240:16203939,11027412:0,0,0 -r1,240:16203939,11027412:0,950271,285084 -g1,240:16203939,11027412 -(1,240:16203939,11027412:723599,624927,98672 -(1,240:16203939,11126084:0,0,0 -) -(1,240:16203939,11027412:723599,624927,98672 -(1,240:16203939,11126084:723599,723599,0 -[1,240:16203939,11126084:723599,723599,0 -(1,240:16203939,10402485:723599,0,0 -h1,240:16203939,10402485:0,0,0 -k1,240:16927538,10402485:723599 -g1,240:16927538,10402485 -) -] -) -) -(1,240:16927538,10402485:0,0,0 -) -) -g1,240:17184218,11027412 -x1,240:19622678,11027412 -r1,241:19622678,11027412:0,285084,285084 -k1,241:20278093,11027412:655415 -k1,241:20933508,11027412:655415 -) -] -g1,241:20933508,11027412 -g1,241:21031812,11027412 -) -g1,241:21031812,11027412 -(1,242:21031812,11027412:4926177,665187,285084 -g1,241:21130116,11027412 -[1,242:21130116,11027412:4729569,665187,285084 -(1,242:21130116,11027412:4729569,665187,285084 -h1,241:21130116,11027412:0,0,0 -r1,241:21130116,11027412:0,950271,285084 -g1,241:21130116,11027412 -(1,241:21130116,11027412:723599,624927,98672 -(1,241:21130116,11126084:0,0,0 -) -(1,241:21130116,11027412:723599,624927,98672 -(1,241:21130116,11126084:723599,723599,0 -[1,241:21130116,11126084:723599,723599,0 -(1,241:21130116,10402485:723599,0,0 -h1,241:21130116,10402485:0,0,0 -k1,241:21853715,10402485:723599 -g1,241:21853715,10402485 -) -] -) -) -(1,241:21853715,10402485:0,0,0 -) -) -g1,241:22110395,11027412 -x1,241:23447134,11027412 -r1,242:23447134,11027412:0,285084,285084 -k1,242:24653410,11027412:1206276 -k1,242:25859685,11027412:1206275 -) -] -g1,242:25859685,11027412 -g1,242:25957989,11027412 -) -g1,242:25957989,11027412 -) -] -$1,242:25957989,11033969 -) -k1,242:30785864,11033969:4827875 -g1,242:30785864,11033969 -) -(1,282:1425408,12574065:29360456,589824,196608 -(1,280:1425408,12574065:0,0,0 -g1,280:1425408,12574065 -g1,280:0,12574065 -g1,280:-256680,12574065 -(1,280:-256680,12574065:1425408,0,0 -k1,280:1168728,12574065:1425408 -) -g1,280:1425408,12574065 -) -g1,281:1425408,12574065 -(1,281:1425408,12574065:0,589824,196608 -k1,281:-2436856,12574065:-3862264 -x1,281:-2137396,12574065 -$1,281:-2137396,12574065 -x1,281:-1778586,12574065 -(1,281:-1778586,12313647:778615,322479,101945 -x1,281:-1032739,12313647 -) -$1,281:-999971,12574065 -x1,281:-720896,12574065 -r1,281:-720896,12574065:0,786432,196608 -g1,281:1425408,12574065 -g1,281:1425408,12574065 -) -(1,281:1425408,12574065:0,506811,0 -k1,281:442368,12574065:-983040 -(1,281:442368,12574065:983040,506811,0 -x1,281:1130496,12574065 -g1,281:1425408,12574065 -) -) -x1,281:2926986,12574065 -g1,281:3183666,12574065 -x1,281:3701304,12574065 -g1,281:3957984,12574065 -x1,281:4343004,12574065 -g1,281:4599684,12574065 -x1,281:7406052,12574065 -g1,281:7662732,12574065 -x1,281:8218872,12574065 -x1,281:9609222,12574065 -g1,281:9865902,12574065 -$1,281:9865902,12574065 -x1,281:10250922,12574065 -$1,281:10250922,12574065 -g1,281:10507602,12574065 -x1,281:10935402,12574065 -x1,281:11983512,12574065 -x1,281:12779220,12574065 -k1,282:30785864,12574065:18006644 -g1,282:30785864,12574065 -) -(1,293:1425408,15400960:29360456,2564751,2171535 -$1,292:1425408,15400960 -[1,292:1425408,15400960:29360456,2564751,2171535 -(1,292:1425408,17572495:29360456,4736286,0 -h1,287:1425408,17572495:0,0,0 -[1,292:1425408,17572495:24723513,4736286,0 -(1,292:1425408,15467479:24723513,2631270,2105016 -(1,287:1425408,15467479:24723513,2631270,2105016 -(1,287:1425408,17572495:0,0,0 -) -(1,287:1425408,15467479:24723513,2631270,2105016 -(1,287:1425408,17572495:24723513,4736286,0 -[1,287:1425408,17572495:24723513,4736286,0 -(1,287:1425408,12836209:24723513,0,0 -h1,287:1425408,12836209:0,0,0 -k1,287:26148920,12836209:24723512 -g1,287:26148920,12836209 -) -] -) -) -(1,287:26148921,12836209:0,0,0 -) -) -g1,292:26148921,15467479 -g1,292:26148921,15467479 -) -] -k1,292:30785864,17572495:4636943 -g1,292:30785864,17572495 -) -] -$1,292:30785864,15400960 -g1,293:30785864,15400960 -g1,293:30785864,15400960 -) -(1,293:1425408,17352946:29360456,665187,285084 -r1,293:1425408,17352946:0,950271,285084 -(1,293:1425408,17352946:29360456,0,0 -(1,293:1425408,17352946:29360456,4736286,0 -[1,293:1425408,17352946:29360456,4736286,0 -(1,293:1425408,17444233:29360456,4630965,0 -h1,293:1425408,17444233:0,0,0 -k1,293:26345528,17444233:24920120 -(66,2:26345528,17444233:4183655,4630965,0 -(66,2:26345528,17444233:4183655,4630965,0 -) -) -g66,2:30785863,17444233 -g1,293:30785863,17444233 -g1,293:30785863,17444233 -) -] -) -) -g1,293:30785864,17352946 -) -(1,293:1425408,18303218:29360456,665187,285084 -r1,293:1425408,18303218:0,950271,285084 -k1,293:30785864,18303218:29360456 -g1,293:30785864,18303218 -) -(1,301:1425408,19646706:29360456,589824,196608 -(1,299:1425408,19646706:0,0,0 -g1,299:1425408,19646706 -g1,299:0,19646706 -g1,299:-256680,19646706 -(1,299:-256680,19646706:1425408,0,0 -k1,299:1168728,19646706:1425408 -) -g1,299:1425408,19646706 -) -g1,300:1425408,19646706 -(1,300:1425408,19646706:0,589824,196608 -k1,300:-2436856,19646706:-3862264 -x1,300:-2137396,19646706 -$1,300:-2137396,19646706 -x1,300:-1778586,19646706 -(1,300:-1778586,19386288:778615,322479,101945 -x1,300:-1032739,19386288 -) -$1,300:-999971,19646706 -x1,300:-720896,19646706 -r1,300:-720896,19646706:0,786432,196608 -g1,300:1425408,19646706 -g1,300:1425408,19646706 -) -(1,300:1425408,19646706:0,506811,0 -k1,300:442368,19646706:-983040 -(1,300:442368,19646706:983040,506811,0 -x1,300:1130496,19646706 -g1,300:1425408,19646706 -) -) -x1,300:2926986,19646706 -g1,300:3183666,19646706 -x1,300:3701304,19646706 -g1,300:3957984,19646706 -x1,300:4343004,19646706 -g1,300:4599684,19646706 -x1,300:7406052,19646706 -g1,300:7662732,19646706 -x1,300:8218872,19646706 -x1,300:9609222,19646706 -g1,300:9865902,19646706 -$1,300:9865902,19646706 -x1,300:10250922,19646706 -$1,300:10250922,19646706 -g1,300:10507602,19646706 -x1,300:10935402,19646706 -x1,300:11983512,19646706 -x1,300:12779220,19646706 -k1,301:30785864,19646706:18006644 -g1,301:30785864,19646706 -) -(1,312:1425408,23065637:29360456,3156787,2763571 -$1,311:1425408,23065637 -[1,311:1425408,23065637:29360456,3156787,2763571 -(1,311:1425408,25829208:29360456,5920358,0 -h1,307:1425408,25829208:0,0,0 -[1,311:1425408,25829208:24723513,5920358,0 -(1,311:1425408,23132156:24723513,3223306,2697052 -(1,307:1425408,23132156:24723513,3223306,2697052 -(1,307:1425408,25829208:0,0,0 -) -(1,307:1425408,23132156:24723513,3223306,2697052 -(1,307:1425408,25829208:24723513,5920358,0 -[1,307:1425408,25829208:24723513,5920358,0 -(1,307:1425408,19908850:24723513,0,0 -h1,307:1425408,19908850:0,0,0 -k1,307:26148920,19908850:24723512 -g1,307:26148920,19908850 -) -] -) -) -(1,307:26148921,19908850:0,0,0 -) -) -g1,311:26148921,23132156 -g1,311:26148921,23132156 -) -] -k1,311:30785864,25829208:4636943 -g1,311:30785864,25829208 -) -] -$1,311:30785864,23065637 -g1,312:30785864,23065637 -g1,312:30785864,23065637 -) -(1,312:1425408,25609659:29360456,665187,285084 -r1,312:1425408,25609659:0,950271,285084 -(1,312:1425408,25609659:29360456,0,0 -(1,312:1425408,25609659:29360456,5920358,0 -[1,312:1425408,25609659:29360456,5920358,0 -(1,312:1425408,24516874:29360456,4630965,0 -h1,312:1425408,24516874:0,0,0 -k1,312:26345528,24516874:24920120 -(68,2:26345528,24516874:4183655,4630965,0 -(68,2:26345528,24516874:4183655,4630965,0 -) -) -g68,2:30785863,24516874 -g1,312:30785863,24516874 -g1,312:30785863,24516874 -) -] -) -) -g1,312:30785864,25609659 -) -(1,312:1425408,26559931:29360456,665187,285084 -r1,312:1425408,26559931:0,950271,285084 -k1,312:30785864,26559931:29360456 -g1,312:30785864,26559931 -) -(1,320:1425408,27975370:29360456,671603,196608 -(1,319:1425408,27975370:0,0,0 -g1,319:1425408,27975370 -g1,319:0,27975370 -g1,319:-256680,27975370 -(1,319:-256680,27975370:1425408,0,0 -k1,319:1168728,27975370:1425408 -) -g1,319:1425408,27975370 -) -g1,319:1425408,27975370 -(1,319:1425408,27975370:0,671603,196608 -k1,319:-2795666,27975370:-4221074 -x1,319:-2496206,27975370 -$1,319:-2496206,27975370 -(1,319:-2496206,27975370:717620,462465,0 -x1,319:-1778586,27975370 -) -[1,319:-1778586,28068742:778615,764975,0 -(1,319:-1778586,27626246:778615,322479,101945 -x1,319:-1032739,27626246 -) -(1,319:-1778586,28068742:713624,225735,0 -x1,319:-1097730,28068742 -) -] -$1,319:-999971,27975370 -x1,319:-720896,27975370 -r1,319:-720896,27975370:0,868211,196608 -g1,319:1425408,27975370 -g1,319:1425408,27975370 -) -(1,319:1425408,27975370:0,506811,0 -k1,319:0,27975370:-1425408 -(1,319:0,27975370:1425408,506811,0 -x1,319:1130496,27975370 -g1,319:1425408,27975370 -) -) -x1,319:3290343,27975370 -x1,319:3910653,27975370 -g1,319:4167333,27975370 -x1,319:5236833,27975370 -x1,319:5643243,27975370 -g1,319:5899923,27975370 -x1,319:6520233,27975370 -g1,319:6776913,27975370 -x1,319:7846413,27975370 -g1,319:8103093,27975370 -x1,319:9536223,27975370 -x1,319:11097693,27975370 -g1,319:11354373,27975370 -x1,319:14678379,27975370 -k1,320:30785864,27975370:16107485 -g1,320:30785864,27975370 -) -(1,322:2708808,29122250:28077056,589824,196608 -(1,321:2708808,29122250:0,589824,196608 -g1,321:2708808,29122250 -g1,321:1682088,29122250 -g1,321:1425408,29122250 -(1,321:1425408,29122250:1026720,589824,196608 -g1,321:1425408,29122250 -(1,321:1425408,29122250:1026720,589824,196608 -k1,321:1439668,29122250:14260 -x1,321:1739128,29122250 -k1,321:1753388,29122250:14260 -x1,321:2138408,29122250 -k1,321:2152668,29122250:14260 -x1,321:2452128,29122250 -) -) -g1,321:2708808,29122250 -) -x1,321:4210386,29122250 -g1,321:4467066,29122250 -x1,321:4984704,29122250 -g1,321:5241384,29122250 -x1,321:5626404,29122250 -g1,321:5883084,29122250 -x1,321:8903352,29122250 -k1,322:30785864,29122250:21882512 -g1,322:30785864,29122250 -) -(1,337:2708808,31896485:28077056,2512091,2118874 -$1,336:2708808,31896485 -[1,336:2708808,31896485:28077056,2512091,2118874 -(1,336:2708808,34015359:28077056,4630965,0 -h1,332:2708808,34015359:0,0,0 -[1,336:2708808,34015359:23440113,4630965,0 -(1,336:2708808,31963004:23440113,2578610,2052355 -(1,332:2708808,31963004:23440113,2578610,2052355 -(1,332:2708808,34015359:0,0,0 -) -(1,332:2708808,31963004:23440113,2578610,2052355 -(1,332:2708808,34015359:23440113,4630965,0 -[1,332:2708808,34015359:23440113,4630965,0 -(1,332:2708808,29384394:23440113,0,0 -h1,332:2708808,29384394:0,0,0 -k1,332:26148920,29384394:23440112 -g1,332:26148920,29384394 -) -] -) -) -(1,332:26148921,29384394:0,0,0 -) -) -g1,336:26148921,31963004 -g1,336:26148921,31963004 -) -] -k1,336:30785864,34015359:4636943 -g1,336:30785864,34015359 -) -] -$1,336:30785864,31896485 -g1,337:30785864,31896485 -g1,337:30785864,31896485 -) -(1,337:2708808,33795810:28077056,665187,285084 -r1,337:2708808,33795810:0,950271,285084 -(1,337:2708808,33795810:28077056,0,0 -(1,337:2708808,33795810:28077056,4630965,0 -[1,337:2708808,33795810:28077056,4630965,0 -(1,337:2708808,33992418:28077056,4630965,0 -h1,337:2708808,33992418:0,0,0 -k1,337:26345528,33992418:23636720 -(70,2:26345528,33992418:4183655,4630965,0 -(70,2:26345528,33992418:4183655,4630965,0 -) -) -g70,2:30785863,33992418 -g1,337:30785863,33992418 -g1,337:30785863,33992418 -) -] -) -) -g1,337:30785864,33795810 -) -(1,337:2708808,34746082:28077056,665187,285084 -r1,337:2708808,34746082:0,950271,285084 -k1,337:30785864,34746082:28077056 -g1,337:30785864,34746082 -) -(1,340:2708808,35892962:28077056,589824,196608 -(1,339:2708808,35892962:0,589824,196608 -g1,339:2708808,35892962 -g1,339:1682088,35892962 -g1,339:1425408,35892962 -(1,339:1425408,35892962:1026720,589824,196608 -g1,339:1425408,35892962 -(1,339:1425408,35892962:1026720,589824,196608 -g1,339:1425408,35892962 -x1,339:1724868,35892962 -g1,339:1724868,35892962 -x1,339:2152668,35892962 -g1,339:2152668,35892962 -x1,339:2452128,35892962 -) -) -g1,339:2708808,35892962 -) -x1,339:4210386,35892962 -g1,339:4467066,35892962 -x1,339:4984704,35892962 -g1,339:5241384,35892962 -x1,339:5626404,35892962 -g1,339:5883084,35892962 -x1,339:8903352,35892962 -k1,340:30785864,35892962:21882512 -g1,340:30785864,35892962 -) -(1,345:2708808,38194341:28077056,2039235,1512980 -(1,340:2708808,38194341:28077056,2039235,1512980 -(1,340:2708808,39707321:0,0,0 -) -(1,340:2708808,38194341:28077056,2039235,1512980 -(1,340:2708808,39707321:28077056,3552215,0 -[1,340:2708808,39707321:28077056,3552215,0 -(1,340:2708808,36155106:28077056,0,0 -h1,340:2708808,36155106:0,0,0 -k1,340:30785864,36155106:28077056 -g1,340:30785864,36155106 -) -] -) -) -(1,340:30785864,36155106:0,0,0 -) -) -g1,345:30785864,38194341 -g1,345:30785864,38194341 -) -] -(1,357:0,42626580:30785864,0,0 -(1,357:0,42626580:30785864,0,0 -(1,357:0,42626580:0,0,0 -r1,357:0,42626580:0,0,0 -g1,357:30785864,42626580 -g1,357:30785864,42626580 -r1,357:30785864,42626580:0,0,0 -g1,357:31506760,42626580 -g1,357:31506760,42626580 -(1,357:31506760,42626580:2293760,0,0 -(1,357:31506760,43971707:2293760,1345127,951910 -$1,357:31506760,43971707 -[1,357:31506760,43971707:2293760,1345127,951910 -(1,357:31506760,43971707:2293760,1345127,951910 -h1,357:31506760,43971707:0,0,0 -(1,357:31506760,43971707:2293760,1345127,951910 -$1,357:31506760,43971707 -[1,357:31506760,43971707:2293760,1345127,951910 -(1,357:31506760,43635834:2293760,983040,285084 -g1,357:31506760,43635834 -(1,357:31506760,43635834:2293760,983040,285084 -r1,357:31506760,43635834:0,950271,285084 -r1,357:31532974,43635834:26214,1268124,285084 -g1,357:31532974,43635834 -k1,357:32653640,43635834:1120666 -r1,357:32653640,43635834:0,1268124,285084 -k1,357:33774306,43635834:1120666 -g1,357:33774306,43635834 -r1,357:33800520,43635834:26214,1268124,285084 -) -g1,357:33800520,43635834 -) -(1,357:31506760,44612319:2293760,665187,285084 -g1,357:31506760,44612319 -(1,357:31506760,44612319:2293760,665187,285084 -r1,357:31506760,44612319:0,950271,285084 -r1,357:31532974,44612319:26214,950271,285084 -g1,357:31532974,44612319 -g1,357:31532974,44612319 -(1,357:31532974,44612319:2241332,462465,139537 -k1,357:31754623,44612319:221649 -$1,357:31754623,44612319 -(1,357:31754623,44612319:717620,462465,0 -x1,357:32472243,44612319 -) -g1,357:32591844,44612319 -(1,357:32591844,44612319:960814,441393,139537 -(1,357:32591844,44612319:960814,441393,139537 -x1,357:33552658,44612319 -) -) -$1,357:33552658,44612319 -k1,357:33774306,44612319:221648 -) -g1,357:33774306,44612319 -g1,357:33774306,44612319 -r1,357:33800520,44612319:26214,950271,285084 -) -g1,357:33800520,44612319 -) -] -$1,357:33800520,43971707 -) -g1,357:33800520,43971707 -g1,357:33800520,43971707 -) -] -$1,357:33800520,43971707 -) -) -k1,357:0,42626580:-33800520 -) -g1,357:0,42626580 -k1,357:15392932,42626580:15392932 -k1,357:30785864,42626580:15392932 -) -) -] -] -] -!29873 -}3 -!10 -{4 -[1,430:0,42626580:30785864,42626580,0 -[1,430:0,0:0,0,0 -(1,430:0,-2433924:0,0,0 -k1,430:0,-2433924:65781 -) -] -[1,430:0,42626580:30785864,42626580,0 -[1,430:0,42626580:30785864,44994723,0 -[1,430:0,-1581711:30785864,786432,0 -(1,430:0,-1581711:30785864,589824,196608 -(1,430:0,-1581711:30785864,589824,196608 -r1,430:0,-1581711:0,786432,196608 -g1,430:0,-1581711 -g1,430:0,-1581711 -(1,430:0,-1581711:30785864,589824,196608 -g1,430:0,-1581711 -x1,430:2267340,-1581711 -k1,430:8668980,-1581711:6401640 -x1,430:9054000,-1581711 -g1,430:9310680,-1581711 -x1,430:9834599,-1581711 -x1,430:10925489,-1581711 -g1,430:11182169,-1581711 -x1,430:11567189,-1581711 -g1,430:11823869,-1581711 -x1,430:12444179,-1581711 -g1,430:12700859,-1581711 -x1,430:13085879,-1581711 -g1,430:13342559,-1581711 -x1,430:13727579,-1581711 -k1,430:20129219,-1581711:6401640 -$1,430:20129219,-1581711 -[1,430:20129219,-1581711:10656645,537395,157280 -(1,430:20129219,-1581711:10656645,537395,0 -(1,430:20129219,-1581711:10656645,537395,0 -(1,430:20129219,-1581711:10656645,537395,0 -x1,430:22289336,-1581711 -k1,430:30785864,-1581711:8496528 -) -) -) -] -$1,430:30785864,-1581711 -(1,430:30785864,-1581711:0,559146,164453 -(1,430:30785864,-1515930:0,624927,98672 -(1,430:30785864,-1515930:0,624927,98672 -k1,430:22546016,-1515930:-8239848 -(1,430:22546016,-1515930:8239848,624927,98672 -(1,430:22546016,-1417258:0,0,0 -) -(1,430:22546016,-1515930:8239848,624927,98672 -(1,430:22546016,-1417258:8239848,723599,0 -[1,430:22546016,-1417258:8239848,723599,0 -(1,430:22546016,-2140857:8239848,0,0 -h1,430:22546016,-2140857:0,0,0 -k1,430:30785864,-2140857:8239848 -g1,430:30785864,-2140857 -) -] -) -) -(1,430:30785864,-2140857:0,0,0 -) -) -) -) -) -g1,430:30785864,-1581711 -) -) -) -] -[1,430:0,41905684:30785864,42176675,0 -(1,359:1425408,515441:29360456,589824,196608 -(1,357:1425408,515441:0,0,0 -g1,357:1425408,515441 -g1,357:0,515441 -g1,357:-256680,515441 -(1,357:-256680,515441:1425408,0,0 -k1,357:1168728,515441:1425408 -) -g1,357:1425408,515441 -) -g1,357:1425408,515441 -(1,357:1425408,515441:0,589824,196608 -k1,357:-2795666,515441:-4221074 -x1,357:-2496206,515441 -$1,357:-2496206,515441 -(1,357:-2496206,515441:717620,462465,0 -x1,357:-1778586,515441 -) -(1,357:-1778586,255023:778615,322479,101945 -x1,357:-1032739,255023 -) -$1,357:-999971,515441 -x1,357:-720896,515441 -r1,357:-720896,515441:0,786432,196608 -g1,357:1425408,515441 -g1,357:1425408,515441 -) -(1,357:1425408,515441:0,506811,0 -k1,357:0,515441:-1425408 -(1,357:0,515441:1425408,506811,0 -x1,357:1130496,515441 -g1,357:1425408,515441 -) -) -x1,357:2858538,515441 -x1,357:3179388,515441 -g1,357:3436068,515441 -x1,357:4505568,515441 -x1,357:4911978,515441 -g1,357:5168658,515441 -x1,357:5788968,515441 -g1,357:6045648,515441 -x1,357:7115148,515441 -g1,357:7371828,515441 -x1,357:8804958,515441 -x1,357:10580328,515441 -g1,357:10922568,515441 -x1,357:11713725,515441 -x1,357:12740445,515441 -g1,357:12997125,515441 -g1,357:12997125,515441 -g1,357:12740445,515441 -g1,357:12997125,515441 -g1,357:12997125,515441 -x1,357:13809945,515441 -g1,357:14066625,515441 -x1,357:15136125,515441 -g1,357:15392805,515441 -x1,357:16547865,515441 -x1,357:16932885,515441 -g1,357:17189565,515441 -x1,357:17809875,515441 -g1,357:18066555,515441 -x1,357:19606635,515441 -g1,357:19863315,515441 -x1,357:20462235,515441 -k1,359:30785864,515441:10323629 -g1,359:30785864,515441 -) -(1,384:1425408,13155585:29360456,12279696,152916 -[1,384:1425408,13155585:14352548,12279696,0 -(1,364:2708808,1662321:13069148,589824,196608 -(1,363:2708808,1662321:0,589824,196608 -g1,363:2708808,1662321 -g1,363:1682088,1662321 -g1,363:1425408,1662321 -(1,363:1425408,1662321:1026720,589824,196608 -g1,363:1425408,1662321 -(1,363:1425408,1662321:1026720,589824,196608 -k1,363:1439668,1662321:14260 -x1,363:1739128,1662321 -k1,363:1753388,1662321:14260 -x1,363:2138408,1662321 -k1,363:2152668,1662321:14260 -x1,363:2452128,1662321 -) -) -g1,363:2708808,1662321 -) -x1,363:4210386,1662321 -k1,363:4528146,1662321:317760 -x1,363:5045784,1662321 -k1,363:5363543,1662321:317759 -x1,363:5748563,1662321 -k1,363:6066323,1662321:317760 -x1,363:7546511,1662321 -x1,363:9086591,1662321 -k1,363:9612070,1662321:525479 -x1,363:10499619,1662321 -k1,363:10817379,1662321:317760 -x1,363:12190617,1662321 -k1,363:12508376,1662321:317759 -x1,363:12914786,1662321 -x1,363:13706216,1662321 -k1,363:14023976,1662321:317760 -x1,363:15777956,1662321 -k1,363:15777956,1662321:0 -) -(1,364:2708808,2612593:13069148,546132,152916 -x1,364:4141938,2612593 -x1,363:4462788,2612593 -g1,363:4719468,2612593 -x1,363:5532288,2612593 -x1,363:5917308,2612593 -g1,363:6173988,2612593 -x1,363:6815688,2612593 -x1,363:8013528,2612593 -g1,363:8270208,2612593 -x1,363:9403605,2612593 -g1,363:9660285,2612593 -x1,363:10216425,2612593 -x1,363:11221755,2612593 -x1,363:11628165,2612593 -x1,363:12868785,2612593 -k1,364:15777956,2612593:2909171 -g1,364:15777956,2612593 -) -(1,368:2708808,5462315:13069148,2631270,2105016 -(1,365:2708808,5462315:13069148,2631270,2105016 -(1,365:2708808,7567331:0,0,0 -) -(1,365:2708808,5462315:13069148,2631270,2105016 -(1,365:2708808,7567331:13069148,4736286,0 -[1,365:2708808,7567331:13069148,4736286,0 -(1,365:2708808,2831045:13069148,0,0 -h1,365:2708808,2831045:0,0,0 -k1,365:15777956,2831045:13069148 -g1,365:15777956,2831045 -) -] -) -) -(1,365:15777956,2831045:0,0,0 -) -) -g1,368:15777956,5462315 -g1,368:15777956,5462315 -) -(1,370:2708808,8419299:13069148,589824,196608 -(1,369:2708808,8419299:0,589824,196608 -g1,369:2708808,8419299 -g1,369:1682088,8419299 -g1,369:1425408,8419299 -(1,369:1425408,8419299:1026720,589824,196608 -g1,369:1425408,8419299 -(1,369:1425408,8419299:1026720,589824,196608 -g1,369:1425408,8419299 -x1,369:1724868,8419299 -g1,369:1724868,8419299 -x1,369:2152668,8419299 -g1,369:2152668,8419299 -x1,369:2452128,8419299 -) -) -g1,369:2708808,8419299 -) -x1,369:4210386,8419299 -g1,369:4467066,8419299 -x1,369:4984704,8419299 -g1,369:5241384,8419299 -x1,369:5626404,8419299 -g1,369:5883084,8419299 -x1,369:7363272,8419299 -x1,369:8903352,8419299 -k1,370:15777956,8419299:6874604 -g1,370:15777956,8419299 -) -(1,373:2708808,11312713:13069148,2631270,2105016 -(1,370:2708808,11312713:13069148,2631270,2105016 -(1,370:2708808,13417729:0,0,0 -) -(1,370:2708808,11312713:13069148,2631270,2105016 -(1,370:2708808,13417729:13069148,4736286,0 -[1,370:2708808,13417729:13069148,4736286,0 -(1,370:2708808,8681443:13069148,0,0 -h1,370:2708808,8681443:0,0,0 -k1,370:15777956,8681443:13069148 -g1,370:15777956,8681443 -) -] -) -) -(1,370:15777956,8681443:0,0,0 -) -) -g1,373:15777956,11312713 -g1,373:15777956,11312713 -) -] -k1,384:16092529,13155585:314573 -r1,384:16118743,13155585:26214,12432612,152916 -k1,384:16433316,13155585:314573 -[1,384:16433316,13155585:14352548,12279696,0 -(1,375:17716716,1662321:13069148,589824,196608 -(1,374:17716716,1662321:0,589824,196608 -g1,374:17716716,1662321 -g1,374:16689996,1662321 -g1,374:16433316,1662321 -(1,374:16433316,1662321:1026720,589824,196608 -g1,374:16433316,1662321 -(1,374:16433316,1662321:1026720,589824,196608 -k1,374:16461836,1662321:28520 -x1,374:16761296,1662321 -k1,374:16789816,1662321:28520 -x1,374:17132056,1662321 -k1,374:17160576,1662321:28520 -x1,374:17460036,1662321 -) -) -g1,374:17716716,1662321 -) -x1,374:19218294,1662321 -g1,374:19474974,1662321 -x1,374:19992612,1662321 -g1,374:20249292,1662321 -x1,374:20634312,1662321 -g1,374:20890992,1662321 -x1,374:22371180,1662321 -x1,374:23911260,1662321 -k1,375:30785864,1662321:6874604 -g1,375:30785864,1662321 -) -(1,378:17716716,4555735:13069148,2631270,2105016 -(1,375:17716716,4555735:13069148,2631270,2105016 -(1,375:17716716,6660751:0,0,0 -) -(1,375:17716716,4555735:13069148,2631270,2105016 -(1,375:17716716,6660751:13069148,4736286,0 -[1,375:17716716,6660751:13069148,4736286,0 -(1,375:17716716,1924465:13069148,0,0 -h1,375:17716716,1924465:0,0,0 -k1,375:30785864,1924465:13069148 -g1,375:30785864,1924465 -) -] -) -) -(1,375:30785864,1924465:0,0,0 -) -) -g1,378:30785864,4555735 -g1,378:30785864,4555735 -) -(1,380:17716716,7512719:13069148,589824,196608 -(1,379:17716716,7512719:0,589824,196608 -g1,379:17716716,7512719 -g1,379:16689996,7512719 -g1,379:16433316,7512719 -(1,379:16433316,7512719:1026720,589824,196608 -g1,379:16433316,7512719 -(1,379:16433316,7512719:1026720,589824,196608 -g1,379:16433316,7512719 -x1,379:16732776,7512719 -g1,379:16732776,7512719 -x1,379:17160576,7512719 -g1,379:17160576,7512719 -x1,379:17460036,7512719 -) -) -g1,379:17716716,7512719 -) -x1,379:19218294,7512719 -g1,379:19474974,7512719 -x1,379:19992612,7512719 -g1,379:20249292,7512719 -x1,379:20634312,7512719 -g1,379:20890992,7512719 -x1,379:22371180,7512719 -x1,379:23911260,7512719 -k1,380:30785864,7512719:6874604 -g1,380:30785864,7512719 -) -(1,383:17716716,10406133:13069148,2631270,2105016 -(1,380:17716716,10406133:13069148,2631270,2105016 -(1,380:17716716,12511149:0,0,0 -) -(1,380:17716716,10406133:13069148,2631270,2105016 -(1,380:17716716,12511149:13069148,4736286,0 -[1,380:17716716,12511149:13069148,4736286,0 -(1,380:17716716,7774863:13069148,0,0 -h1,380:17716716,7774863:0,0,0 -k1,380:30785864,7774863:13069148 -g1,380:30785864,7774863 -) -] -) -) -(1,380:30785864,7774863:0,0,0 -) -) -g1,383:30785864,10406133 -g1,383:30785864,10406133 -) -] -(1,384:30785864,13155585:0,338603,152916 -h1,384:30785864,13155585:427800,338603,152916 -k1,384:30785864,13155585:-427800 -) -) -(1,388:0,14741154:30785864,26214,0 -h1,387:0,14741154:1155060,0,0 -(1,387:1155060,14741154:29360456,26214,0 -k1,387:5522052,14741154:4366992 -(1,387:5522052,14741154:20626472,26214,0 -r1,387:26148524,14741154:20626472,26214,0 -) -k1,387:30515516,14741154:4366992 -) -k1,388:30785864,14741154:270348 -g1,388:30785864,14741154 -) -(1,393:0,15990987:30785864,589824,196608 -g1,391:0,15990987 -(1,391:0,15990987:0,0,0 -g1,391:0,15990987 -g1,391:0,15990987 -) -x1,391:604388,15990987 -x1,391:1715315,15990987 -g1,391:2010227,15990987 -x1,391:2339728,15990987 -x1,391:2939565,15990987 -g1,391:3234477,15990987 -x1,391:3533937,15990987 -$1,391:3533937,15990987 -(1,391:3533937,15990987:770040,506811,0 -x1,391:4303977,15990987 -) -g1,391:4435047,15990987 -(1,391:4435047,15990987:2057718,521949,152916 -(1,391:4435047,15990987:2057718,521949,152916 -x1,391:4862847,15990987 -x1,391:5910957,15990987 -x1,391:6492765,15990987 -) -) -$1,391:6492765,15990987 -x1,391:6792225,15990987 -g1,391:7087137,15990987 -g1,391:7087137,15990987 -g1,391:7087137,15990987 -x1,391:8413317,15990987 -g1,392:8669997,15990987 -x1,392:10103127,15990987 -x1,392:11664597,15990987 -g1,392:11921277,15990987 -x1,392:12438915,15990987 -g1,392:12695595,15990987 -x1,392:13080615,15990987 -g1,392:13337295,15990987 -x1,392:15052773,15990987 -g1,392:15309453,15990987 -x1,392:17469843,15990987 -g1,392:17726523,15990987 -x1,392:18346833,15990987 -g1,392:18603513,15990987 -x1,392:22030191,15990987 -g1,392:22286871,15990987 -x1,392:25328529,15990987 -g1,392:25585209,15990987 -x1,392:28579809,15990987 -k1,393:30785864,15990987:2206055 -g1,393:30785864,15990987 -) -(1,397:1425408,17137867:29360456,589824,196608 -(1,395:1425408,17137867:0,0,0 -g1,395:1425408,17137867 -g1,395:0,17137867 -g1,395:-256680,17137867 -(1,395:-256680,17137867:1425408,0,0 -k1,395:1168728,17137867:1425408 -) -g1,395:1425408,17137867 -) -g1,396:1425408,17137867 -(1,396:1425408,17137867:0,589824,196608 -k1,396:-2436856,17137867:-3862264 -x1,396:-2137396,17137867 -$1,396:-2137396,17137867 -x1,396:-1778586,17137867 -(1,396:-1778586,16877449:778615,322479,101945 -x1,396:-1032739,16877449 -) -$1,396:-999971,17137867 -x1,396:-720896,17137867 -r1,396:-720896,17137867:0,786432,196608 -g1,396:1425408,17137867 -g1,396:1425408,17137867 -) -(1,396:1425408,17137867:0,506811,0 -k1,396:442368,17137867:-983040 -(1,396:442368,17137867:983040,506811,0 -x1,396:1130496,17137867 -g1,396:1425408,17137867 -) -) -x1,396:2926986,17137867 -g1,396:3183666,17137867 -x1,396:3701304,17137867 -g1,396:3957984,17137867 -x1,396:4343004,17137867 -g1,396:4599684,17137867 -x1,396:7619952,17137867 -k1,397:30785864,17137867:23165912 -g1,397:30785864,17137867 -) -(1,400:1425408,18847210:29360456,1447199,920944 -(1,397:1425408,18847210:29360456,1447199,920944 -(1,397:1425408,19768154:0,0,0 -) -(1,397:1425408,18847210:29360456,1447199,920944 -(1,397:1425408,19768154:29360456,2368143,0 -[1,397:1425408,19768154:29360456,2368143,0 -(1,397:1425408,17400011:29360456,0,0 -h1,397:1425408,17400011:0,0,0 -k1,397:30785864,17400011:29360456 -g1,397:30785864,17400011 -) -] -) -) -(1,397:30785864,17400011:0,0,0 -) -) -g1,400:30785864,18847210 -g1,400:30785864,18847210 -) -(1,404:1425408,20816730:29360456,589824,196608 -(1,402:1425408,20816730:0,0,0 -g1,402:1425408,20816730 -g1,402:0,20816730 -g1,402:-256680,20816730 -(1,402:-256680,20816730:1425408,0,0 -k1,402:1168728,20816730:1425408 -) -g1,402:1425408,20816730 -) -g1,403:1425408,20816730 -(1,403:1425408,20816730:0,589824,196608 -k1,403:-2436856,20816730:-3862264 -x1,403:-2137396,20816730 -$1,403:-2137396,20816730 -x1,403:-1778586,20816730 -(1,403:-1778586,20556312:778615,322479,101945 -x1,403:-1032739,20556312 -) -$1,403:-999971,20816730 -x1,403:-720896,20816730 -r1,403:-720896,20816730:0,786432,196608 -g1,403:1425408,20816730 -g1,403:1425408,20816730 -) -(1,403:1425408,20816730:0,506811,0 -k1,403:442368,20816730:-983040 -(1,403:442368,20816730:983040,506811,0 -x1,403:1130496,20816730 -g1,403:1425408,20816730 -) -) -x1,403:2926986,20816730 -g1,403:3183666,20816730 -x1,403:3701304,20816730 -g1,403:3957984,20816730 -x1,403:4343004,20816730 -g1,403:4599684,20816730 -x1,403:7619952,20816730 -k1,404:30785864,20816730:23165912 -g1,404:30785864,20816730 -) -(1,407:1425408,22526073:29360456,1447199,920944 -(1,404:1425408,22526073:29360456,1447199,920944 -(1,404:1425408,23447017:0,0,0 -) -(1,404:1425408,22526073:29360456,1447199,920944 -(1,404:1425408,23447017:29360456,2368143,0 -[1,404:1425408,23447017:29360456,2368143,0 -(1,404:1425408,21078874:29360456,0,0 -h1,404:1425408,21078874:0,0,0 -k1,404:30785864,21078874:29360456 -g1,404:30785864,21078874 -) -] -) -) -(1,404:30785864,21078874:0,0,0 -) -) -g1,407:30785864,22526073 -g1,407:30785864,22526073 -) -(1,411:1425408,24495593:29360456,589824,196608 -(1,409:1425408,24495593:0,0,0 -g1,409:1425408,24495593 -g1,409:0,24495593 -g1,409:-256680,24495593 -(1,409:-256680,24495593:1425408,0,0 -k1,409:1168728,24495593:1425408 -) -g1,409:1425408,24495593 -) -g1,410:1425408,24495593 -(1,410:1425408,24495593:0,589824,196608 -k1,410:-2436856,24495593:-3862264 -x1,410:-2137396,24495593 -$1,410:-2137396,24495593 -x1,410:-1778586,24495593 -(1,410:-1778586,24235175:778615,322479,101945 -x1,410:-1032739,24235175 -) -$1,410:-999971,24495593 -x1,410:-720896,24495593 -r1,410:-720896,24495593:0,786432,196608 -g1,410:1425408,24495593 -g1,410:1425408,24495593 -) -(1,410:1425408,24495593:0,506811,0 -k1,410:442368,24495593:-983040 -(1,410:442368,24495593:983040,506811,0 -x1,410:1130496,24495593 -g1,410:1425408,24495593 -) -) -x1,410:2926986,24495593 -g1,410:3183666,24495593 -x1,410:3701304,24495593 -g1,410:3957984,24495593 -x1,410:4343004,24495593 -g1,410:4599684,24495593 -x1,410:7619952,24495593 -k1,411:30785864,24495593:23165912 -g1,411:30785864,24495593 -) -(1,414:1425408,27389007:29360456,2631270,2105016 -(1,411:1425408,27389007:29360456,2631270,2105016 -(1,411:1425408,29494023:0,0,0 -) -(1,411:1425408,27389007:29360456,2631270,2105016 -(1,411:1425408,29494023:29360456,4736286,0 -[1,411:1425408,29494023:29360456,4736286,0 -(1,411:1425408,24757737:29360456,0,0 -h1,411:1425408,24757737:0,0,0 -k1,411:30785864,24757737:29360456 -g1,411:30785864,24757737 -) -] -) -) -(1,411:30785864,24757737:0,0,0 -) -) -g1,414:30785864,27389007 -g1,414:30785864,27389007 -) -(1,418:1425408,30542599:29360456,589824,196608 -(1,416:1425408,30542599:0,0,0 -g1,416:1425408,30542599 -g1,416:0,30542599 -g1,416:-256680,30542599 -(1,416:-256680,30542599:1425408,0,0 -k1,416:1168728,30542599:1425408 -) -g1,416:1425408,30542599 -) -g1,417:1425408,30542599 -(1,417:1425408,30542599:0,589824,196608 -k1,417:-2436856,30542599:-3862264 -x1,417:-2137396,30542599 -$1,417:-2137396,30542599 -x1,417:-1778586,30542599 -(1,417:-1778586,30282181:778615,322479,101945 -x1,417:-1032739,30282181 -) -$1,417:-999971,30542599 -x1,417:-720896,30542599 -r1,417:-720896,30542599:0,786432,196608 -g1,417:1425408,30542599 -g1,417:1425408,30542599 -) -(1,417:1425408,30542599:0,506811,0 -k1,417:442368,30542599:-983040 -(1,417:442368,30542599:983040,506811,0 -x1,417:1130496,30542599 -g1,417:1425408,30542599 -) -) -x1,417:2926986,30542599 -g1,417:3183666,30542599 -x1,417:3701304,30542599 -g1,417:3957984,30542599 -x1,417:4343004,30542599 -g1,417:4599684,30542599 -x1,417:7619952,30542599 -k1,418:30785864,30542599:23165912 -g1,418:30785864,30542599 -) -(1,421:1425408,33436013:29360456,2631270,2105016 -(1,418:1425408,33436013:29360456,2631270,2105016 -(1,418:1425408,35541029:0,0,0 -) -(1,418:1425408,33436013:29360456,2631270,2105016 -(1,418:1425408,35541029:29360456,4736286,0 -[1,418:1425408,35541029:29360456,4736286,0 -(1,418:1425408,30804743:29360456,0,0 -h1,418:1425408,30804743:0,0,0 -k1,418:30785864,30804743:29360456 -g1,418:30785864,30804743 -) -] -) -) -(1,418:30785864,30804743:0,0,0 -) -) -g1,421:30785864,33436013 -g1,421:30785864,33436013 -) -(1,425:1425408,36589605:29360456,589824,196608 -(1,423:1425408,36589605:0,0,0 -g1,423:1425408,36589605 -g1,423:0,36589605 -g1,423:-256680,36589605 -(1,423:-256680,36589605:1425408,0,0 -k1,423:1168728,36589605:1425408 -) -g1,423:1425408,36589605 -) -g1,424:1425408,36589605 -(1,424:1425408,36589605:0,589824,196608 -k1,424:-2795666,36589605:-4221074 -x1,424:-2496206,36589605 -$1,424:-2496206,36589605 -(1,424:-2496206,36589605:717620,462465,0 -x1,424:-1778586,36589605 -) -(1,424:-1778586,36329187:778615,322479,101945 -x1,424:-1032739,36329187 -) -$1,424:-999971,36589605 -x1,424:-720896,36589605 -r1,424:-720896,36589605:0,786432,196608 -g1,424:1425408,36589605 -g1,424:1425408,36589605 -) -(1,424:1425408,36589605:0,506811,0 -k1,424:442368,36589605:-983040 -(1,424:442368,36589605:983040,506811,0 -x1,424:1130496,36589605 -g1,424:1425408,36589605 -) -) -x1,424:2926986,36589605 -g1,424:3183666,36589605 -x1,424:3701304,36589605 -g1,424:3957984,36589605 -x1,424:4343004,36589605 -g1,424:4599684,36589605 -x1,424:7619952,36589605 -k1,425:30785864,36589605:23165912 -g1,425:30785864,36589605 -) -(1,428:1425408,39483019:29360456,2631270,2105016 -(1,425:1425408,39483019:29360456,2631270,2105016 -(1,425:1425408,41588035:0,0,0 -) -(1,425:1425408,39483019:29360456,2631270,2105016 -(1,425:1425408,41588035:29360456,4736286,0 -[1,425:1425408,41588035:29360456,4736286,0 -(1,425:1425408,36851749:29360456,0,0 -h1,425:1425408,36851749:0,0,0 -k1,425:30785864,36851749:29360456 -g1,425:30785864,36851749 -) -] -) -) -(1,425:30785864,36851749:0,0,0 -) -) -g1,428:30785864,39483019 -g1,428:30785864,39483019 -) -] -(1,430:0,42626580:30785864,0,0 -(1,430:0,42626580:30785864,0,0 -(1,430:0,42626580:0,0,0 -r1,430:0,42626580:0,0,0 -g1,430:30785864,42626580 -g1,430:30785864,42626580 -r1,430:30785864,42626580:0,0,0 -g1,430:31506760,42626580 -g1,430:31506760,42626580 -(1,430:31506760,42626580:2293760,0,0 -(1,430:31506760,43971707:2293760,1345127,951910 -$1,430:31506760,43971707 -[1,430:31506760,43971707:2293760,1345127,951910 -(1,430:31506760,43971707:2293760,1345127,951910 -h1,430:31506760,43971707:0,0,0 -(1,430:31506760,43971707:2293760,1345127,951910 -$1,430:31506760,43971707 -[1,430:31506760,43971707:2293760,1345127,951910 -(1,430:31506760,43635834:2293760,983040,285084 -g1,430:31506760,43635834 -(1,430:31506760,43635834:2293760,983040,285084 -r1,430:31506760,43635834:0,950271,285084 -r1,430:31532974,43635834:26214,1268124,285084 -g1,430:31532974,43635834 -k1,430:32653640,43635834:1120666 -r1,430:32653640,43635834:0,1268124,285084 -k1,430:33774306,43635834:1120666 -g1,430:33774306,43635834 -r1,430:33800520,43635834:26214,1268124,285084 -) -g1,430:33800520,43635834 -) -(1,430:31506760,44612319:2293760,665187,285084 -g1,430:31506760,44612319 -(1,430:31506760,44612319:2293760,665187,285084 -r1,430:31506760,44612319:0,950271,285084 -r1,430:31532974,44612319:26214,950271,285084 -g1,430:31532974,44612319 -g1,430:31532974,44612319 -(1,430:31532974,44612319:2241332,462465,139537 -k1,430:31754623,44612319:221649 -$1,430:31754623,44612319 -(1,430:31754623,44612319:717620,462465,0 -x1,430:32472243,44612319 -) -g1,430:32591844,44612319 -(1,430:32591844,44612319:960814,441393,139537 -(1,430:32591844,44612319:960814,441393,139537 -x1,430:33552658,44612319 -) -) -$1,430:33552658,44612319 -k1,430:33774306,44612319:221648 -) -g1,430:33774306,44612319 -g1,430:33774306,44612319 -r1,430:33800520,44612319:26214,950271,285084 -) -g1,430:33800520,44612319 -) -] -$1,430:33800520,43971707 -) -g1,430:33800520,43971707 -g1,430:33800520,43971707 -) -] -$1,430:33800520,43971707 -) -) -k1,430:0,42626580:-33800520 -) -g1,430:0,42626580 -k1,430:15392932,42626580:15392932 -k1,430:30785864,42626580:15392932 -) -) -] -] -] -!20154 -}4 -!10 -{5 -[1,445:0,42626580:30785864,42626580,0 -[1,445:0,0:0,0,0 -(1,445:0,-2433924:0,0,0 -k1,445:0,-2433924:65781 -) -] -[1,445:0,42626580:30785864,42626580,0 -[1,445:0,42626580:30785864,44994723,0 -[1,445:0,-1581711:30785864,786432,0 -(1,445:0,-1581711:30785864,589824,196608 -(1,445:0,-1581711:30785864,589824,196608 -r1,445:0,-1581711:0,786432,196608 -g1,445:0,-1581711 -g1,445:0,-1581711 -(1,445:0,-1581711:30785864,589824,196608 -g1,445:0,-1581711 -x1,445:2267340,-1581711 -k1,445:8668980,-1581711:6401640 -x1,445:9054000,-1581711 -g1,445:9310680,-1581711 -x1,445:9834599,-1581711 -x1,445:10925489,-1581711 -g1,445:11182169,-1581711 -x1,445:11567189,-1581711 -g1,445:11823869,-1581711 -x1,445:12444179,-1581711 -g1,445:12700859,-1581711 -x1,445:13085879,-1581711 -g1,445:13342559,-1581711 -x1,445:13727579,-1581711 -k1,445:20129219,-1581711:6401640 -$1,445:20129219,-1581711 -[1,445:20129219,-1581711:10656645,537395,157280 -(1,445:20129219,-1581711:10656645,537395,0 -(1,445:20129219,-1581711:10656645,537395,0 -(1,445:20129219,-1581711:10656645,537395,0 -x1,445:22289336,-1581711 -k1,445:30785864,-1581711:8496528 -) -) -) -] -$1,445:30785864,-1581711 -(1,445:30785864,-1581711:0,559146,164453 -(1,445:30785864,-1515930:0,624927,98672 -(1,445:30785864,-1515930:0,624927,98672 -k1,445:22546016,-1515930:-8239848 -(1,445:22546016,-1515930:8239848,624927,98672 -(1,445:22546016,-1417258:0,0,0 -) -(1,445:22546016,-1515930:8239848,624927,98672 -(1,445:22546016,-1417258:8239848,723599,0 -[1,445:22546016,-1417258:8239848,723599,0 -(1,445:22546016,-2140857:8239848,0,0 -h1,445:22546016,-2140857:0,0,0 -k1,445:30785864,-2140857:8239848 -g1,445:30785864,-2140857 -) -] -) -) -(1,445:30785864,-2140857:0,0,0 -) -) -) -) -) -g1,445:30785864,-1581711 -) -) -) -] -[1,445:0,41905684:30785864,42176675,0 -(1,432:1425408,515441:29360456,589824,196608 -(1,430:1425408,515441:0,0,0 -g1,430:1425408,515441 -g1,430:0,515441 -g1,430:-256680,515441 -(1,430:-256680,515441:1425408,0,0 -k1,430:1168728,515441:1425408 -) -g1,430:1425408,515441 -) -g1,431:1425408,515441 -(1,431:1425408,515441:0,589824,196608 -k1,431:-2436856,515441:-3862264 -x1,431:-2137396,515441 -$1,431:-2137396,515441 -x1,431:-1778586,515441 -(1,431:-1778586,255023:778615,322479,101945 -x1,431:-1032739,255023 -) -$1,431:-999971,515441 -x1,431:-720896,515441 -r1,431:-720896,515441:0,786432,196608 -g1,431:1425408,515441 -g1,431:1425408,515441 -) -(1,431:1425408,515441:0,506811,0 -k1,431:442368,515441:-983040 -(1,431:442368,515441:983040,506811,0 -x1,431:1130496,515441 -g1,431:1425408,515441 -) -) -x1,431:2926986,515441 -g1,431:3183666,515441 -x1,431:3701304,515441 -g1,431:3957984,515441 -x1,431:4343004,515441 -g1,431:4599684,515441 -x1,431:7619952,515441 -k1,432:30785864,515441:23165912 -g1,432:30785864,515441 -) -(1,435:1425408,3408855:29360456,2631270,2105016 -(1,432:1425408,3408855:29360456,2631270,2105016 -(1,432:1425408,5513871:0,0,0 -) -(1,432:1425408,3408855:29360456,2631270,2105016 -(1,432:1425408,5513871:29360456,4736286,0 -[1,432:1425408,5513871:29360456,4736286,0 -(1,432:1425408,777585:29360456,0,0 -h1,432:1425408,777585:0,0,0 -k1,432:30785864,777585:29360456 -g1,432:30785864,777585 -) -] -) -) -(1,432:30785864,777585:0,0,0 -) -) -g1,435:30785864,3408855 -g1,435:30785864,3408855 -) -(1,439:1425408,6562447:29360456,589824,196608 -(1,437:1425408,6562447:0,0,0 -g1,437:1425408,6562447 -g1,437:0,6562447 -g1,437:-256680,6562447 -(1,437:-256680,6562447:1425408,0,0 -k1,437:1168728,6562447:1425408 -) -g1,437:1425408,6562447 -) -g1,438:1425408,6562447 -(1,438:1425408,6562447:0,589824,196608 -k1,438:-2795666,6562447:-4221074 -x1,438:-2496206,6562447 -$1,438:-2496206,6562447 -(1,438:-2496206,6562447:717620,462465,0 -x1,438:-1778586,6562447 -) -(1,438:-1778586,6302029:778615,322479,101945 -x1,438:-1032739,6302029 -) -$1,438:-999971,6562447 -x1,438:-720896,6562447 -r1,438:-720896,6562447:0,786432,196608 -g1,438:1425408,6562447 -g1,438:1425408,6562447 -) -(1,438:1425408,6562447:0,506811,0 -k1,438:442368,6562447:-983040 -(1,438:442368,6562447:983040,506811,0 -x1,438:1130496,6562447 -g1,438:1425408,6562447 -) -) -x1,438:2926986,6562447 -g1,438:3183666,6562447 -x1,438:3701304,6562447 -g1,438:3957984,6562447 -x1,438:4343004,6562447 -g1,438:4599684,6562447 -x1,438:7619952,6562447 -k1,439:30785864,6562447:23165912 -g1,439:30785864,6562447 -) -(1,442:1425408,9455861:29360456,2631270,2105016 -(1,439:1425408,9455861:29360456,2631270,2105016 -(1,439:1425408,11560877:0,0,0 -) -(1,439:1425408,9455861:29360456,2631270,2105016 -(1,439:1425408,11560877:29360456,4736286,0 -[1,439:1425408,11560877:29360456,4736286,0 -(1,439:1425408,6824591:29360456,0,0 -h1,439:1425408,6824591:0,0,0 -k1,439:30785864,6824591:29360456 -g1,439:30785864,6824591 -) -] -) -) -(1,439:30785864,6824591:0,0,0 -) -) -g1,442:30785864,9455861 -g1,442:30785864,9455861 -) -] -(1,445:0,42626580:30785864,0,0 -(1,445:0,42626580:30785864,0,0 -(1,445:0,42626580:0,0,0 -r1,445:0,42626580:0,0,0 -g1,445:30785864,42626580 -g1,445:30785864,42626580 -r1,445:30785864,42626580:0,0,0 -g1,445:31506760,42626580 -g1,445:31506760,42626580 -(1,445:31506760,42626580:2293760,0,0 -(1,445:31506760,43971707:2293760,1345127,951910 -$1,445:31506760,43971707 -[1,445:31506760,43971707:2293760,1345127,951910 -(1,445:31506760,43971707:2293760,1345127,951910 -h1,445:31506760,43971707:0,0,0 -(1,445:31506760,43971707:2293760,1345127,951910 -$1,445:31506760,43971707 -[1,445:31506760,43971707:2293760,1345127,951910 -(1,445:31506760,43635834:2293760,983040,285084 -g1,445:31506760,43635834 -(1,445:31506760,43635834:2293760,983040,285084 -r1,445:31506760,43635834:0,950271,285084 -r1,445:31532974,43635834:26214,1268124,285084 -g1,445:31532974,43635834 -k1,445:32653640,43635834:1120666 -r1,445:32653640,43635834:0,1268124,285084 -k1,445:33774306,43635834:1120666 -g1,445:33774306,43635834 -r1,445:33800520,43635834:26214,1268124,285084 -) -g1,445:33800520,43635834 -) -(1,445:31506760,44612319:2293760,665187,285084 -g1,445:31506760,44612319 -(1,445:31506760,44612319:2293760,665187,285084 -r1,445:31506760,44612319:0,950271,285084 -r1,445:31532974,44612319:26214,950271,285084 -g1,445:31532974,44612319 -g1,445:31532974,44612319 -(1,445:31532974,44612319:2241332,462465,139537 -k1,445:31754623,44612319:221649 -$1,445:31754623,44612319 -(1,445:31754623,44612319:717620,462465,0 -x1,445:32472243,44612319 -) -g1,445:32591844,44612319 -(1,445:32591844,44612319:960814,441393,139537 -(1,445:32591844,44612319:960814,441393,139537 -x1,445:33552658,44612319 -) -) -$1,445:33552658,44612319 -k1,445:33774306,44612319:221648 -) -g1,445:33774306,44612319 -g1,445:33774306,44612319 -r1,445:33800520,44612319:26214,950271,285084 -) -g1,445:33800520,44612319 -) -] -$1,445:33800520,43971707 -) -g1,445:33800520,43971707 -g1,445:33800520,43971707 -) -] -$1,445:33800520,43971707 -) -) -k1,445:0,42626580:-33800520 -) -g1,445:0,42626580 -k1,445:15392932,42626580:15392932 -k1,445:30785864,42626580:15392932 -) -) -] -] -] -!6659 -}5 -Input:71:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.aux -!98 -Postamble: -Count:3699 -!26 -Post scriptum: diff --git a/texmf-dist/doc/latex/eqexam/examples/test01.tex b/texmf-dist/doc/latex/eqexam/examples/test01.tex index 9b08e9ea..102b7b61 100644 --- a/texmf-dist/doc/latex/eqexam/examples/test01.tex +++ b/texmf-dist/doc/latex/eqexam/examples/test01.tex @@ -2,9 +2,10 @@ \usepackage{amsmath} \usepackage{graphicx} \usepackage[% - online, % try commenting out this option to get a paper document - nosolutions, -% vspacewithsolns, +% online, % try commenting out this option to get a paper document +% nosolutions, +% answerkey, + vspacewithsolns, forcolorpaper, pointsonleft,totalsonright,noparttotals, coverpage,coverpagesumry=bypages @@ -34,6 +35,8 @@ \hfuzz = .7pt +\vspacewithkeyOn + \begin{document} \maketitle diff --git a/texmf-dist/doc/latex/eqexam/fortextbook.zip b/texmf-dist/doc/latex/eqexam/fortextbook.zip new file mode 100644 index 00000000..e3210cfd Binary files /dev/null and b/texmf-dist/doc/latex/eqexam/fortextbook.zip differ diff --git a/texmf-dist/doc/latex/eqexam/fortextbook/fortextbook.pdf b/texmf-dist/doc/latex/eqexam/fortextbook/fortextbook.pdf new file mode 100644 index 00000000..4619dc88 Binary files /dev/null and b/texmf-dist/doc/latex/eqexam/fortextbook/fortextbook.pdf differ diff --git a/texmf-dist/doc/latex/eqexam/script/eqAttach.asp b/texmf-dist/doc/latex/eqexam/script/eqAttach.asp new file mode 100644 index 00000000..f87f8b47 --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/script/eqAttach.asp @@ -0,0 +1,202 @@ +<%@ LANGUAGE = VBScript%> +<% +' Copyright 2005 D. P. Story +' All Rights Reserved +' See eqexamman.pdf for some documentation + +' NOTICE: This program can redistributed and/or modified under +' the terms of the LaTeX Project Public License +' Distributed from CTAN archives in directory +' macros/latex/base/lppl.txt; either version 1 of the +' License, or (at your option) any later version. + +' This script is offered "as is", no guarantees are extended. +' eqRecord should be extensively tested on your own system +' until you are satisfied with its functionality and +' reliability. +' +' Note: You need to edit one line below. Search this file for the line that +' contains the string "mySMTP". Replace this string with your SMTP server. + +Response.buffer = True + +Dim DebugTxt, DebugFDF +Dim ErcStatus : ErcStatus = "Problems Reported: " +DebugTxt = False +DebugFDF = False + +' Send FDF file +If DebugTxt Then + Response.ContentType = "text/html" + Response.Write "Debug Info" & "
" +Else + Response.ContentType = "application/vnd.fdf" +End If + +On error Resume Next + +Dim silentMode : silentMode = False +Dim stripPath : stripPath = False + +If Request.QueryString("silent").Count > 0 Then silentMode = True +If Request.QueryString("nopath").Count > 0 Then stripPath = True + +Rem Create an FDF object +Set FdfAcx = Server.CreateObject("FdfApp.FdfApp") +Set FDFout = FdfAcx.FDFCreate + +Rem Parse Incoming Data +Set FDFin = FdfAcx.FDFOpenFromBuf (Request.BinaryRead(Request.TotalBytes)) + +Dim cPDFPath, pos + +If stripPath Then + If DebugTxt Then Response.Write "stripPath is true " & "
" + cPDFPath = FDFin.FDFGetFile + pos = InStrRev( cPDFPath, "/") + If pos <> 0 Then + If DebugTxt Then Response.Write "pos = " & pos & "
" + cPDFPath = Mid(cPDFPath, pos + 1, Len(cPDFPath) - pos ) + If DebugTxt Then Response.Write "cPDFPath = " & cPDFPath & "
" + FDFin.FDFSetFile cPDFPath + End If +End If + +Rem Declare some variables +Dim cBuf +Dim cTime : cTime = Now +Dim eqMail, cMailTo, cMailFrom, cMailSubject +Dim cCourseName, cExam, cStudent, cSID, strMessage, cRetnMsg, eqTab, eqCR +eqTab = chr(9) +eqCR = chr(10) + +' Get Required Info ------------------- +' The only thing we really need is the email address to send this data to +cMailTo = FDFin.FDFGetValue("IdInfo.mailTo") +' cMailFrom = cMailTo + +' Get Optional Info ------ + +On error Resume Next +cCourseName = "" : cCourseName = Trim(FDFin.FDFGetValue("IdInfo.courseName")) + +On error Resume Next +cExam = "" : cExam = Trim(FDFin.FDFGetValue("IdInfo.examName")) + +On error Resume Next +cStudent = "" : cStudent = Trim(FDFin.FDFGetValue("IdInfo.Name")) + +On error Resume Next +cSID = "" : cSID = Trim(FDFin.FDFGetValue("IdInfo.SID")) + +On error Resume Next +cMailFrom = "" : cMailFrom = Trim(FDFin.FDFGetValue("IdInfo.email")) +If Trim(cMailFrom) = "" Then cMailFrom = cMailTo + +On error Resume Next +cMailSubject = "" : cMailSubject = FDFin.FDFGetValue("IdInfo.subject") +If Trim(cMailSubject) = "" Then cMailSubject = "Exam Results: " & cExam & " of " & cCourseName + +On error Resume Next +cRetnMsg = "" : cRetnMsg = Trim(FDFin.FDFGetValue("IdInfo.retnmsg")) + +strMessage = "Summary Information:" +If cCourseName <> "" Then strMessage = strMessage & eqCR & eqTab & "Subject: " & cCourseName +If cExam <> "" Then strMessage = strMessage & eqCR & eqTab & "Title: " & cExam +If cStudent <> "" Then strMessage = strMessage & eqCR & eqTab & "Name: " & cStudent +strMessage = strMessage & eqCR & eqTab & "TimeOfQuiz: " & cTime + +If Trim(cRetnMsg) = "" Then + cBuf = "Exam results successfully sent to your instructor!" +Else + cBuf = cRetnMsg +End If + +If DebugFDF Then cBuf = cBuf & " " & ErcStatus + +If Not silentMode Then FDFout.FDFSetStatus cBuf + +' Construct and send e-mail + +'CDONTS +' Set eqMail = CreateObject("CDONTS.NewMail") 'cdots + +' CDOSYS +Set eqMail = Server.CreateObject("CDO.Message") +eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 +eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mySMTP" +eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 +eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 +' eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0 +eqMail.Configuration.Fields.Update + +eqMail.To = cMailTo +' See if there is a comma in the cMailFrom string, if yes, then we have multiple addresses +' that we are sending to. We extract the first e-mail address as the one we will put in +' the eqMail.From address. +position = InStr(1,cMailFrom,",",0) +If position <> 0 Then cMailFrom = Trim(Mid(cMailFrom,1,position-1)) +eqMail.From = cMailFrom +eqMail.Subject = cMailSubject + +' CDOSSYS or CDONTS +eqMail.TextBody = strMessage +' eqMail.Body = strMessage 'cdots + +Dim strTempFile +Dim strTempFolder +Dim strTemp +Dim fso + +Set fso = CreateObject("Scripting.FileSystemObject") +Set strTempfolder = fso.GetSpecialFolder(2) +strTempFile = fso.GetTempName() +strTempFile = left(strTempFile, len(strTempFile)-4) +strTemp = strTempFolder & "\" & strTempFile & ".fdf" +FDFin.FDFSaveToFile strTemp + +If DebugTxt Then Response.Write "strTemp = " & strTemp & "
" + +' CDOSSYS or CDONTS +eqMail.AddAttachment strTemp +' eqMail.AttachFile strTemp 'cdots + +eqMail.Send +Set eqMail = Nothing +' Send back to the browser +Response.BinaryWrite FDFout.FDFSaveToBuf + +' Delete temporary file +fso.DeleteFile strTemp +Set fso = nothing + +FDFin.FDFClose +FDFout.FDFClose +Set FdfAcx = Nothing +Set FDFin = Nothing +Set FDFout = Nothing + +If DebugTxt Then + Response.Write strMessage +End If + +Sub RecordError(field) + If Err.Number <> 0 And DebugFDF Then + ErcStatus = ErcStatus & " "&field&": " & Err.Description + End If + If Err.Number <> 0 And DebugTxt Then + Response.Write "Set Error: "&field&": " & Err.Description & "
" + End If + Err.Clear +End Sub + +Sub ReportError(ByRef localErr) + DebugMsg "Err.Description: ", localErr.Description + DebugMsg "Err.Number: ", localErr.Number + localErr.Clear +End Sub + +Sub DebugMsg(myText, myEval) + If DebugTxt Then Response.Write myText & myEval &"
" +End Sub +%> -- cgit v1.2.3