From 32d0671418a3cc6ad0465b06539ed54d96f77784 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 13 Jul 2017 09:30:28 +0900 Subject: add artthreads cntdwn ecards fc-arith fldigigal --- texmf-dist/doc/latex/artthreads/README.md | 27 + texmf-dist/doc/latex/artthreads/article_tech.tex | 109 + texmf-dist/doc/latex/artthreads/article_tst.tex | 78 + texmf-dist/doc/latex/artthreads/artthreads_man.pdf | Bin 0 -> 141045 bytes texmf-dist/doc/latex/artthreads/artthreads_man.tex | 434 + texmf-dist/doc/latex/cntdwn/README | 46 + texmf-dist/doc/latex/cntdwn/cntdwn_man.pdf | Bin 0 -> 101623 bytes texmf-dist/doc/latex/cntdwn/cntdwn_man.tex | 743 ++ texmf-dist/doc/latex/ecards/README.md | 29 + texmf-dist/doc/latex/ecards/ecardsman.pdf | Bin 0 -> 331739 bytes texmf-dist/doc/latex/ecards/examples/ecardstst.tex | 237 + .../doc/latex/ecards/examples/ecardstst_nohint.tex | 243 + .../doc/latex/ecards/examples/graphics/uakron.bb | 5 + .../doc/latex/ecards/examples/graphics/uakron.eps | Bin 0 -> 167526 bytes .../doc/latex/ecards/examples/graphics/uakron.jpg | Bin 0 -> 9388 bytes .../doc/latex/ecards/examples/graphics/uakron.pdf | Bin 0 -> 12567 bytes .../doc/latex/ecards/examples/graphics/uakron.png | Bin 0 -> 130265 bytes .../doc/latex/ecards/examples/presidents/gw1.bb | 5 + .../doc/latex/ecards/examples/presidents/gw1.eps | Bin 0 -> 138380 bytes .../doc/latex/ecards/examples/presidents/gw1.jpg | Bin 0 -> 16176 bytes .../doc/latex/ecards/examples/presidents/gw1.pdf | Bin 0 -> 18445 bytes .../doc/latex/ecards/examples/presidents/gw1.png | Bin 0 -> 349707 bytes .../doc/latex/ecards/examples/presidents/ja2.bb | 5 + .../doc/latex/ecards/examples/presidents/ja2.eps | Bin 0 -> 137216 bytes .../doc/latex/ecards/examples/presidents/ja2.jpg | Bin 0 -> 63418 bytes .../doc/latex/ecards/examples/presidents/ja2.pdf | Bin 0 -> 65705 bytes .../doc/latex/ecards/examples/presidents/ja2.png | Bin 0 -> 850726 bytes .../doc/latex/ecards/examples/presidents/ja6.bb | 5 + .../doc/latex/ecards/examples/presidents/ja6.eps | Bin 0 -> 143504 bytes .../doc/latex/ecards/examples/presidents/ja6.jpg | Bin 0 -> 12734 bytes .../doc/latex/ecards/examples/presidents/ja6.pdf | Bin 0 -> 15015 bytes .../doc/latex/ecards/examples/presidents/ja6.png | Bin 0 -> 318286 bytes .../doc/latex/ecards/examples/presidents/jm4.bb | 5 + .../doc/latex/ecards/examples/presidents/jm4.eps | Bin 0 -> 151136 bytes .../doc/latex/ecards/examples/presidents/jm4.jpg | Bin 0 -> 8790 bytes .../doc/latex/ecards/examples/presidents/jm4.pdf | Bin 0 -> 11058 bytes .../doc/latex/ecards/examples/presidents/jm4.png | Bin 0 -> 156178 bytes .../doc/latex/ecards/examples/presidents/jm5.bb | 5 + .../doc/latex/ecards/examples/presidents/jm5.eps | Bin 0 -> 148208 bytes .../doc/latex/ecards/examples/presidents/jm5.jpg | Bin 0 -> 10723 bytes .../doc/latex/ecards/examples/presidents/jm5.pdf | Bin 0 -> 12992 bytes .../doc/latex/ecards/examples/presidents/jm5.png | Bin 0 -> 233754 bytes .../doc/latex/ecards/examples/presidents/tj3.bb | 5 + .../doc/latex/ecards/examples/presidents/tj3.eps | Bin 0 -> 143599 bytes .../doc/latex/ecards/examples/presidents/tj3.jpg | Bin 0 -> 10705 bytes .../doc/latex/ecards/examples/presidents/tj3.pdf | Bin 0 -> 12986 bytes .../doc/latex/ecards/examples/presidents/tj3.png | Bin 0 -> 265139 bytes texmf-dist/doc/latex/fc-arith/README.md | 32 + .../doc/latex/fc-arith/examples/fc-acrobat.pdf | Bin 0 -> 143465 bytes .../doc/latex/fc-arith/examples/fc-acrobat.tex | 134 + .../doc/latex/fc-arith/examples/fc-noacrobat.tex | 120 + .../latex/fc-arith/examples/graphics/fc_icons.pdf | Bin 0 -> 13404 bytes .../fc-arith/examples/graphics/nwfsc_logo.eps | 8518 ++++++++++++++++++++ .../fc-arith/examples/graphics/nwfsc_logo.pdf | Bin 0 -> 15087 bytes texmf-dist/doc/latex/fc-arith/fc_arithman.pdf | Bin 0 -> 1106738 bytes texmf-dist/doc/latex/fldigigal/README | 24 + .../doc/latex/fldigigal/digis/Chrysanthemum.jpg | Bin 0 -> 879394 bytes texmf-dist/doc/latex/fldigigal/digis/Desert.jpg | Bin 0 -> 845941 bytes .../doc/latex/fldigigal/digis/Hydrangeas.jpg | Bin 0 -> 595284 bytes texmf-dist/doc/latex/fldigigal/digis/Jellyfish.jpg | Bin 0 -> 775702 bytes texmf-dist/doc/latex/fldigigal/digis/Koala.jpg | Bin 0 -> 780831 bytes .../doc/latex/fldigigal/digis/Lighthouse.jpg | Bin 0 -> 561276 bytes texmf-dist/doc/latex/fldigigal/digis/Penguins.jpg | Bin 0 -> 777835 bytes texmf-dist/doc/latex/fldigigal/digis/Tulips.jpg | Bin 0 -> 620888 bytes texmf-dist/doc/latex/fldigigal/fdg_demo.tex | 59 + texmf-dist/doc/latex/fldigigal/fdg_demo_fit.tex | 60 + texmf-dist/doc/latex/fldigigal/fdg_man.pdf | Bin 0 -> 205291 bytes texmf-dist/doc/latex/fldigigal/fdg_man.tex | 407 + texmf-dist/doc/latex/fldigigal/fldigigal.dvi | Bin 0 -> 28376 bytes 69 files changed, 11335 insertions(+) create mode 100644 texmf-dist/doc/latex/artthreads/README.md create mode 100644 texmf-dist/doc/latex/artthreads/article_tech.tex create mode 100644 texmf-dist/doc/latex/artthreads/article_tst.tex create mode 100644 texmf-dist/doc/latex/artthreads/artthreads_man.pdf create mode 100644 texmf-dist/doc/latex/artthreads/artthreads_man.tex create mode 100644 texmf-dist/doc/latex/cntdwn/README create mode 100644 texmf-dist/doc/latex/cntdwn/cntdwn_man.pdf create mode 100644 texmf-dist/doc/latex/cntdwn/cntdwn_man.tex create mode 100644 texmf-dist/doc/latex/ecards/README.md create mode 100644 texmf-dist/doc/latex/ecards/ecardsman.pdf create mode 100644 texmf-dist/doc/latex/ecards/examples/ecardstst.tex create mode 100644 texmf-dist/doc/latex/ecards/examples/ecardstst_nohint.tex create mode 100644 texmf-dist/doc/latex/ecards/examples/graphics/uakron.bb create mode 100644 texmf-dist/doc/latex/ecards/examples/graphics/uakron.eps create mode 100644 texmf-dist/doc/latex/ecards/examples/graphics/uakron.jpg create mode 100644 texmf-dist/doc/latex/ecards/examples/graphics/uakron.pdf create mode 100644 texmf-dist/doc/latex/ecards/examples/graphics/uakron.png create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/gw1.bb create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/gw1.eps create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/gw1.jpg create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/gw1.pdf create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/gw1.png create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja2.bb create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja2.eps create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja2.jpg create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja2.pdf create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja2.png create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja6.bb create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja6.eps create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja6.jpg create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja6.pdf create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/ja6.png create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm4.bb create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm4.eps create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm4.jpg create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm4.pdf create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm4.png create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm5.bb create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm5.eps create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm5.jpg create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm5.pdf create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/jm5.png create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/tj3.bb create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/tj3.eps create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/tj3.jpg create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/tj3.pdf create mode 100644 texmf-dist/doc/latex/ecards/examples/presidents/tj3.png create mode 100644 texmf-dist/doc/latex/fc-arith/README.md create mode 100644 texmf-dist/doc/latex/fc-arith/examples/fc-acrobat.pdf create mode 100644 texmf-dist/doc/latex/fc-arith/examples/fc-acrobat.tex create mode 100644 texmf-dist/doc/latex/fc-arith/examples/fc-noacrobat.tex create mode 100644 texmf-dist/doc/latex/fc-arith/examples/graphics/fc_icons.pdf create mode 100644 texmf-dist/doc/latex/fc-arith/examples/graphics/nwfsc_logo.eps create mode 100644 texmf-dist/doc/latex/fc-arith/examples/graphics/nwfsc_logo.pdf create mode 100644 texmf-dist/doc/latex/fc-arith/fc_arithman.pdf create mode 100644 texmf-dist/doc/latex/fldigigal/README create mode 100644 texmf-dist/doc/latex/fldigigal/digis/Chrysanthemum.jpg create mode 100644 texmf-dist/doc/latex/fldigigal/digis/Desert.jpg create mode 100644 texmf-dist/doc/latex/fldigigal/digis/Hydrangeas.jpg create mode 100644 texmf-dist/doc/latex/fldigigal/digis/Jellyfish.jpg create mode 100644 texmf-dist/doc/latex/fldigigal/digis/Koala.jpg create mode 100644 texmf-dist/doc/latex/fldigigal/digis/Lighthouse.jpg create mode 100644 texmf-dist/doc/latex/fldigigal/digis/Penguins.jpg create mode 100644 texmf-dist/doc/latex/fldigigal/digis/Tulips.jpg create mode 100644 texmf-dist/doc/latex/fldigigal/fdg_demo.tex create mode 100644 texmf-dist/doc/latex/fldigigal/fdg_demo_fit.tex create mode 100644 texmf-dist/doc/latex/fldigigal/fdg_man.pdf create mode 100644 texmf-dist/doc/latex/fldigigal/fdg_man.tex create mode 100644 texmf-dist/doc/latex/fldigigal/fldigigal.dvi (limited to 'texmf-dist/doc') diff --git a/texmf-dist/doc/latex/artthreads/README.md b/texmf-dist/doc/latex/artthreads/README.md new file mode 100644 index 00000000..d3cb0470 --- /dev/null +++ b/texmf-dist/doc/latex/artthreads/README.md @@ -0,0 +1,27 @@ +The artthreads Package +Author: D. P. Story +Version: v1.1 +Dated: 2016/04/09 + +Through the commands of the artthreads package, create PDF article threads, +a concept/feature of Adobe Reader/Acrobat that has been around since the +product's beginning. The use of article threads typically only makes sense in +a document in which the text is in a multi-column format. + +Set the article threads after the composition of the document is completed. +The method of setting the threads is very visual not automatic as in the +threadcol package of Scott Patkin (available for pdftex only). + +The artthreads package supports all drivers: dvips, pdflatex (which includes +lualatex), dvipdfm, dvipdfmx, and xelatex. + +Unpack the distribution by latexing artthreads.ins. + +Enjoy. + +D. P. Story +www.acrotex.net +dpstory@uakron.edu +dpstory@acrotex.net + + diff --git a/texmf-dist/doc/latex/artthreads/article_tech.tex b/texmf-dist/doc/latex/artthreads/article_tech.tex new file mode 100644 index 00000000..10505b3c --- /dev/null +++ b/texmf-dist/doc/latex/artthreads/article_tech.tex @@ -0,0 +1,109 @@ +\documentclass{article} +\usepackage[forcolorpaper]{web} +\usepackage[!viewMagWin,!preview]{artthreads} +\usepackage{fancyvrb} +\usepackage{multicol} + +\useFullWidthForPaper % from web +\providecommand{\cs}[1]{\texttt{\char`\\#1}} + +% A selection of pushbutton actions for articles +\def\toggleArticlePane{\pushButton[ + \CA{Article}\A{\Named{ShowHideArticles}}]{TAPBtn}{}{11bp}} +\def\toggleArticlePaneRead{\pushButton[ + \CA{Article}\A{\Named{ShowHideArticles} + \Next{/S/Thread/D(\threadTitle)}}]{TAPRBtn}{}{11bp}} +\def\showArticlePane{\pushButton[ + \CA{Article}\A{\Named{ArticleThreads}}]{SAPBtn}{}{11bp}} +\def\showArticlePaneRead{\pushButton[ + \CA{Article}\A{\Named{ArticleThreads} + \Next{/S/Thread /D(\threadTitle)}}]{SAPRBtn}{}{11bp}} +% Links may be used as well, here is only one such, this link below is hard-wired +% modify as needed. +%\setLink[\A{/S/Thread/D(Methodology)}]{Read Article} + +\setAddToBorder{addtow=4bp,addtoh=4bp} + +\begin{document} + +%\noindent +%The two article threads: \setLink[\A{/S/Thread/D(Lipsum)}]{Read Lipsum} +%and \setLink[\Color{red}\A{/S/Thread/D(more Lipsum)}]{Read more Lipsum}. + + +\noindent +Below is a description of the \setLink[\linktxtcolor{red}\A{/S/Thread/D(Methodology)}]{methodology} +for developing article threads. You +may compile this document using any of the usual drivers (options +\texttt{dvips}, \texttt{pdftex}, \texttt{xetex}, \texttt{dvipdfm}, \texttt{dvipdfmx}). +Play around with various combinations of \texttt{preview}, \texttt{!preview}, +\texttt{viewMagWin}, and \texttt{!viewMagWin}. + +\setThreadInfo{ + title=Methodology, + author=D. P. Story, + subject=Article thread test, + keywords={AeB, PDF, LaTeX} +} + +\begin{multicols}{2} +\noindent\bArticle{lift=\baselineskip,width=\linewidth,height=4in+2\baselineskip}\indent +There are two places to begin a thread: (1) at the very beginning of a paragraph; +and (2) from within a paragraph. Method~(1) is preferred. We began this paragraph +with +\begin{Verbatim}[xleftmargin=\parindent,fontsize=\small] +\noindent\bArticle{lift=\baselineskip, + width=\linewidth, + height=4in+2\baselineskip}\indent +There are two places... +\end{Verbatim} +Place article threads after you've finished composing your document. While +placing threads, one or both of the options \texttt{preview} or +\texttt{viewMagWin} should be in effect. In a \textsf{DVI} viewer, we can see +the bounding rectangles. We can see its too low, too long and so on. For +users of \textsf{pdflatex}, \textsf{xelatex}, etc., view your documents in +the \textsf{DVI} previewer first (or view them as a \textsf{PDF}). I've used +\texttt{lift=\string\baselineskip} to raise up the thread rectangle by that +mount to enclose the first line. The value of \texttt{width} is usually +\cs{linewidth}, but the value of \texttt{height} may have to be adjusted, in +this example, I've ``tweaked'' the \texttt{4in} by +\texttt{2\string\baselineskip}. + +Naturally, after you're satisfied, you then remove \texttt{preview} and +\texttt{viewMagWin} or change them to \texttt{!preview} and +\texttt{!viewMagWin}. Method~(2): Another possible location is from within a +paragraph, here, we continue the current thread using the \cs{cArticle} +command in conjunction with the \cs{vadjust} {\TeX} +primitive\vadjust{\noindent +\cArticle{lift=2\baselineskip,width=\linewidth,height=4in+2\baselineskip}}. +Between the end of the word `primitive' and the period (.) ending the +sentence, I've place +\begin{Verbatim}[xleftmargin=\parindent,fontsize=\small] +primitive\vadjust{\noindent + \cArticle{lift=2\baselineskip, + width=\linewidth, + height=4in+2\baselineskip}}. + Between the ... +\end{Verbatim} +The value of \texttt{lift=2\string\baselineskip} we chosen because the +original positioning of the thread rectangle was too low by about two lines. +The value of \texttt{height} was chosen to cover the paragraph once the +complete paragraph was composed. + +Of course, in this example, it was unnecessary to insert the \cs{cArticle} +mid-paragraph, it would have been better placed at the beginning of a +paragraph and `lifting' more. Placing \cs{cArticle} mid-paragraph is useful +for multi-column formats. When the paragraph flows from the first column the +second column, use the \cs{vadjust} technique to cover the portion of the +text that flows to the right column. + +By the way, notice the use of \cs{noindent}, this is +oftentimes needed to position the article thread in the left margin of the +text block. +\end{multicols} + +\noindent +Adding text to the columns will change the positions of the article threads, for +this reason, the threads need to be inserted after the document is finished. + +\end{document} diff --git a/texmf-dist/doc/latex/artthreads/article_tst.tex b/texmf-dist/doc/latex/artthreads/article_tst.tex new file mode 100644 index 00000000..6333cf24 --- /dev/null +++ b/texmf-dist/doc/latex/artthreads/article_tst.tex @@ -0,0 +1,78 @@ +\documentclass{article} +\usepackage[dvipsone,!viewMagWin,!preview]{artthreads} +\usepackage{multicol,lipsum} +\hypersetup{colorlinks} + +% A selection of pushbutton actions for articles +\def\toggleArticlePane{\pushButton[ + \CA{Article}\A{\Named{ShowHideArticles}}]{TAPBtn}{}{11bp}} +\def\toggleArticlePaneRead{\pushButton[ + \CA{Article}\A{\Named{ShowHideArticles} + \Next{/S/Thread/D(\threadTitle)}}]{TAPRBtn}{}{11bp}} +\def\showArticlePane{\pushButton[ + \CA{Article}\A{\Named{ArticleThreads}}]{SAPBtn}{}{11bp}} +\def\showArticlePaneRead{\pushButton[ + \CA{Article}\A{\Named{ArticleThreads} + \Next{/S/Thread /D(\threadTitle)}}]{SAPRBtn}{}{11bp}} +% Links may be used as well, here is only one such, this link below is hard-wired +% modify as needed. +%\setLink[\A{/S/Thread/D(Lipsum)}]{Read Article} + +\setAddToBorder{addtow=10bp,addtoh=10bp} + +\begin{document} + +\noindent +The two article threads: \setLink[\A{/S/Thread/D(Lipsum)}]{Read Lipsum} +and \setLink[\A{/S/Thread/D(more Lipsum)}]{Read more Lipsum}. + + +\setThreadInfo{title=Lipsum,author=D. P. Story,subject=Article thread test,keywords={AeB, PDF, LaTeX}}% + +\raggedcolumns +\begin{multicols}{2} +\noindent\makebox[0pt][r]{\showArticlePaneRead\kern11bp}% +\bArticle{lift=\baselineskip,width=\linewidth,height=\textheight}% +This is a series of paragraphs to fill the multi-columns of this document. It is imperative +that we have a lot of text to fill these columns, but I fear that I don't know what to write. + +Well, here goes. \lipsum[2] + +That went well, more? \lipsum[4] + +Ok, I have the hang of it now. \lipsum[6] + +\noindent\cArticle{lift=9\baselineskip,width=\linewidth,height=\textheight}\indent +Continuing now with \lipsum[8] + +I'm on a roll, \lipsum[10] + +\end{multicols} + +\newpage + +\noindent +Same `article' but broken down into smaller pieces as an exercise. + +\setThreadInfo{title=more Lipsum,author=D. P. Story,subject=Article thread test,keywords={AeB, PDF, LaTeX}}% +\begin{multicols}{2}\previewtrue % locally turn on preview +\noindent\bArticle{lift=\baselineskip,width=\linewidth,height=3in+3\baselineskip}% +This is a series of paragraphs to fill the multi-columns of this document. It is imperative +that we have a lot of text to fill these columns, but I fear that I don't know what to write. + +Well, here goes. \lipsum[2] + +\noindent\cArticle{lift=\baselineskip,width=\linewidth,height=4in-2\baselineskip}\indent +That went well, more? \lipsum[4] + +Ok, I have the hang of it now. \lipsum[6] + +\noindent\cArticle{lift=9\baselineskip,width=\linewidth,height=4in+2\baselineskip}\indent +Continuing now with \lipsum[8] + +\noindent\cArticle{lift=\baselineskip,width=\linewidth,height=3in-\baselineskip}\indent +I'm on a roll, \lipsum[10] + +\end{multicols} + +\end{document} diff --git a/texmf-dist/doc/latex/artthreads/artthreads_man.pdf b/texmf-dist/doc/latex/artthreads/artthreads_man.pdf new file mode 100644 index 00000000..5420d548 Binary files /dev/null and b/texmf-dist/doc/latex/artthreads/artthreads_man.pdf differ diff --git a/texmf-dist/doc/latex/artthreads/artthreads_man.tex b/texmf-dist/doc/latex/artthreads/artthreads_man.tex new file mode 100644 index 00000000..93967ebf --- /dev/null +++ b/texmf-dist/doc/latex/artthreads/artthreads_man.tex @@ -0,0 +1,434 @@ +\documentclass{article} +\usepackage[fleqn]{amsmath} +\usepackage[ + web={centertitlepage,designv,forcolorpaper,tight*,latextoc,pro}, + eforms,aebxmp +]{aeb_pro} +\usepackage{graphicx,array,fancyvrb} +\usepackage{aeb_mlink} +%\usepackage{myriadpro} +%\usepackage{calibri} +\usepackage[altbullet]{lucidbry} + +\usepackage[dvipsone,!viewMagWin,!preview]{artthreads} +\usepackage{lipsum,multicol} +\raggedcolumns + +\makeatletter +\renewenvironment{quote}[1][] + {\def\@rgi{#1}\ifx\@rgi\@empty + \let\rghtm\@empty\else\def\rghtm{\rightmargin\leftmargin}\fi + \list{}{\rghtm} %{\rightmargin\leftmargin}% + \item\relax} + {\endlist} +\makeatother +\renewcommand{\hproportionwebtitle}{.8} + +%\usepackage{makeidx} +%\makeindex +\usepackage{acroman} + + +\usepackage[active]{srcltx} + +\urlstyle{tt} + +%\def\tutpath{doc/tutorial} +%\def\tutpathi{tutorial} +%\def\expath{../examples} + +\DeclareDocInfo +{ + university={\AcroTeX.Net}, + title={The \textsf{artthreads} Package + \texorpdfstring{\\[1ex]\Large}{: }Creating article threads for multi-column documents}, + author={D. P. Story}, + email={dpstory@acrotex.net}, + subject=Documentation for artthreads package, + talksite={\url{www.acrotex.net}}, + version={1.0}, + Keywords={LaTeX, article threads, multi-column documents, AcroTeX}, + copyrightStatus=True, + copyrightNotice={Copyright (C) \the\year, D. P. Story}, + copyrightInfoURL={http://www.acrotex.net} +} + +\universityLayout{fontsize=Large} +\titleLayout{fontsize=LARGE} +\authorLayout{fontsize=Large} +\tocLayout{fontsize=Large,color=aeb} +\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb} +\subsectionLayout{indent=-31.25pt,color=aeb} +\subsubsectionLayout{indent=0pt,color=aeb} +\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}} + +\optionalPageMatter{% +\begin{center} +\fcolorbox{blue}{webyellow}{ +\begin{minipage}{.67\linewidth}% +\textbf{\textcolor{red}{Stop!}} Before you read this documentation, take a moment to change +your preferences: On your menu system if \app{Adobe Acrobat/Reader}, select \textsf{Edit\,>\,\penalty0Preferences\,>\,\penalty0General}, and \emph{clear +the checkbox} for the item named \textsf{Make Hand tool select text \& +images}, as listed under \textsf{Basic Tools} on that dialog box. +(\textsf{Ctrl+K} or \textsf{Command+K} is the shortcut to the Preferences +dialog box on \app{Windows} and \app{Mac OS}, respectively.) This makes reading an article thread +much easier. Look for the hand icon with a down arrow on it.\hfill\dps +\end{minipage}} +\end{center} +} + + +\begin{docassembly} +\addWatermarkFromFile({ + bOnTop:false, + cDIPath:"C:/Users/Public/Documents/ManualBGs/Manual_BG_Print_AeB.pdf" +}); +\executeSave(); +\end{docassembly} + +\begin{document} + +\maketitle + +\selectColors{linkColor=black} +\tableofcontents +\selectColors{linkColor=webgreen} + +\setAddToBorder{addtow=5bp,addtoh=0bp} + +\newcommand\showArtPanel[1][Article]{\pushButton[ + \CA{#1}\A{\Named{ArticleThreads} + \Next{/S/Thread /D(\threadTitle)}}]{Btn}{}{11bp}} + + +\section{Introduction} + +\setThreadInfo{title=Introduction,author=D. P. Story, + subject=Introduction to article threads,keywords={AeB, PDF, LaTeX}}% + + +\begin{multicols}{2} +\noindent\makebox[0pt][r]{\showArtPanel[Intro]\relax\kern11bp}% +\bArticle{lift=\baselineskip,width=\linewidth,height=2.5in}% +\noindent Through the commands of the \pkg{artthreads} package, you can +create \textit{article threads}, a concept/feature of \app{Adobe +Reader/Acrobat} that has been around since the product's beginning. The use +of article threads typically only makes sense in a document in which the text +is in a multi-column format, or, perhaps, a single narrow column. + +When a document uses a multiple column format, it is often difficult, or at +the very least inconvenient, to read it. When document page is fit into the viewing +window, the text may be two small to read. This requires the reader, that's +you, to adjust the magnification (zoom) level of the page to fit a column of +text comfortably in the application window.\vadjust{\noindent +\cArticle{lift=2\baselineskip,width=\linewidth,height=2.5in}} +Once the column is fitted, additional navigation is needed to move the window +view down one column, then up to the top of the next column. Think of trying +to read a digital newspaper with many columns. Such navigation is tedious and +distracts from reading the information begin presented. + +Set the article threads after the composition of the document is completed. +The method of setting the threads is \emph{very visual} not automatic as in +the \pkg{threadcol} package of Scott Patkin. + +\end{multicols} + +\section{Navigating an article thread} + +\setThreadInfo{title=Navigation,author=D. P. Story, + subject=Navigation to article threads,keywords={AeB, PDF, LaTeX}}% + +\begin{multicols}{2} +\noindent\makebox[0pt][r]{\showArtPanel[Navigate]\kern11bp}% +\bArticle{lift=\baselineskip,width=\linewidth,height=4.2in}% +\noindent Perhaps you noticed the `Intro' button on exhibit in this previous +section or the `Navigate' button in this section as well. Clicking these +buttons reveals the \textsf{Article} panel in the left-hand navigation pane. +Listed there are all the articles created for this documentation. +Right-clicking on any of the listed article names brings up a context menu; +select \textsf{Read Article} to begin reading or choose \textsf{Properties} +to see the thread info, which (may) include the title, author, subject, and +keywords. + +\paragraph*{Begin an article thread.} There are two of ways to begin +reading a thread: (1)~first open the \textsf{Article} pane +(\textsf{View\,\penalty0>\penalty0\,\penalty0Show/Hide\,\penalty0>\,\penalty0Navigation +Panes\,>\,Articles}), left-click an article title and select \textsf{Read +Article}, or simple double-click an article title; or (2) place your mouse +pointer over text, if it changes to a hand with an arrow on it, the text is +part of an article thread, simply click on it to begin. + +\paragraph*{Navigating a thread.} Once you have initiated \textsf{Read +Article}, you can navigate through the article thread using any of the +following methods\vadjust{\noindent +\cArticle{lift=2\baselineskip,width=\linewidth,height=4.2in}}: (1)~click in +an area when the mouse is a hand icon with an arrow on it to move forward +(shift-click to move back); (2) press the \textsf{Enter} key to move forward +(or shift+\textsf{Enter} to move back); or (3) the page down (or page up) +keys will also move you around within the thread. + +There may be problems in getting the hand icon with the arrow on it to +appear, if this is the case, open the \textsf{Preferences} menu, +\textsf{Edit\,>\,\penalty0Preferences\,>\,\penalty0General}, and \emph{clear +the checkbox} for the item named \textsf{Make Hand tool select text \& +images}, as listed under \textsf{Basic Tools} on that dialog box. +(\textsf{Ctrl+K} or \textsf{Command+K} is the shortcut to the Preferences +dialog box on \app{Windows} and \app{Mac OS}, respectively.) + +\paragraph*{Exploring threads.} Now that you have explored the operation of +article threads and see how they work, the next thing to do is to see how +they are created with the \pkg{artthreads} package. +\end{multicols} + +\section{Creating article threads} + +We begin by including the \pkg{artthreads} package in your document. +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\usepackage[!ameta(options)]{artthreads} +\end{Verbatim} +The \pkg{artthreads} package brings in the \pkg{fitr} package +(\url{http://ctan.org/pkg/fitr}), many commands from that package are used. +In fact, the same set of package options are used. + +\setThreadInfo{title=Package options,author=D. P. Story, + subject=options of the artthreads package,keywords={AeB, PDF, LaTeX}}% + + +\paragraph*{Package options.} +The package has ten options: six driver options and four viewing +options. +\begin{multicols}{2}\previewtrue\viewMagWintrue +\setAddToBorder{addtow=10bp,addtoh=10bp} +\begin{itemize} +\item \bArticle{lift=\baselineskip,width=\linewidth,height=2.5in}% + \textbf{Driver Options:} These are \texttt{dvips} (the default), + \texttt{dvipsone}, and \texttt{pdftex} (which includes the use of + \textsf{lualatex}), \texttt{dvipdfm}, \texttt{dvipdfmx}, and + \texttt{xetex}. If you specify one of the first two, it is assumed that + you are using \textsf{Adobe Distiller} as your PDF creator. + + The \textsf{fitr} package checks whether the \textsf{web} package is + loaded, if so, its uses the driver used by \textsf{web}; otherwise + \textsf{fitr} auto-detects for \textsf{pdftex} and \textsf{xetex}. If + no driver is passed, and neither \textsf{pdftex} nor \textsf{xetex} are + detected, then \textsf{dvips} is the default driver. + +\setAddToBorder{addtow=0bp,addtoh=0bp} + + \item \cArticle{lift=\baselineskip,width=\linewidth,height=2.5in}% + \textbf{Viewing Options:} When you specify \texttt{preview}, the + bounding boxes for the article threads are shown in the + dvi-previewer (or the PDF document); you can turn off this preview + by specifying \texttt{!preview} (or removing \texttt{preview} + entirely from the option list). The other option type is + \texttt{viewMagWin}, when this option the viewing window, a + rectangular region, becomes visible in the dvi-previewer (or in the + PDF document); specifying \texttt{!viewMagWin} turns off this type + of preview. + +%\item[] The effects of the viewing options will be illustrated later in this +%document, see \autoref{previewEx} on page~\pageref*{previewEx}. +\end{itemize} +\end{multicols} +You'll notice the two rectangular regions around the left column. The inner +one is made visible by the \texttt{preview} option (or locally by +\cs{previewtrue}), you can see that it covers `precisely' the text of the +item. The outer rectangle is exposed by the \texttt{viewMagWin} option (or +locally by \cs{viewMagWintrue}). When you view the thread -- and you do not +define an `extra' border around the viewing area -- the inner rectangle is +use. The text in this inner rectangle may not be entirely adequate for +reading as it is very `tight' around the text. It is for this reason, we +expand the viewing area by a specified amount. Compare the reading comfort of +the left column verses the right column. (Try viewing the column thread with +a narrow application window.) + +You may have also that the viewer returns to the same page view the page was +in prior to reading the thread. + +\paragraph*{The article info.} The specifications for an article thread require +it to have a title, and to optionally have key-values for author, subject, and keywords. +\bVerb\takeMeasure{\string\setThreadInfo\{title=\ameta{text},author=\ameta{text},}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\setThreadInfo{title=!ameta(text),author=!ameta(text), +!qquad(subject=!ameta(text),keywords={!ameta(list)})} +\end{dCmd} +\endgroup\noindent If no value of \texttt{title} is provided, \pkg{artthreads} uses +a generated value of \texttt{thread-\ameta{num}}. The \cs{setThreadInfo} +command must appear prior to the opening the thread (see \cs{bArticle} below) +to which it applies, if it does not, a {\LaTeX} error occurs. The drivers +\opt{dvips}, \opt{dvipsone}, \opt{xetex} (\opt{dvipdfm}, \opt{dvipdfmx}) +support all four keys; however, \opt{pdftex} only supports the \texttt{title} +key. + +\paragraph*{The article thread commands.} There is one command +(\cs{bArticle}) for beginning an article thread, and another (\cs{cArticle}) +to continue that thread. +\bVerb\takeMeasure{\string\bArticle\darg{\meta{KV-pairs}}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\bArticle{!meta(KV-pairs)} +\cArticle{!meta(KV-pairs)} +\end{dCmd} +\endgroup\noindent Before illustrating \cs{bArticle} and \cs{cArticle}, the +\meta{KV-pairs} are described first. +\begin{itemize} +\item \texttt{width=\ameta{length}}: The value of \opt{width} sets the + width of the thread to \ameta{length}; \ameta{length} is usually, but + not always, \cs{linewidth}. Dimension arithmetic is supported with the + value of \opt{width} (\texttt{width=\cs{linewidth}\,+\,3pt}, for + example). + +\item \texttt{height=\ameta{length}}: The value of \opt{height} sets the + height of the thread to \ameta{length}. As with the \opt{width} key, + dimension arithmetic is supported by \opt{height}; for + example, \texttt{height=3in\,+\,2\cs{baselineskip}}. + +\item \texttt{lift=\ameta{length}}: This key-value lifts (raises) the + article thread window up (or down) by an amount of \ameta{length}; for + example, \texttt{lift=15pt} (or \texttt{lift=-15pt}). The default is a + lift of \texttt{0pt}. Dimension arithmetic is supported. + +\item \texttt{shift=\ameta{length}}: The amount of horizontal shift of the + article thread; positive to the right, negative to the left. For + example, \texttt{shift=-1in} shifts the button/viewing window 1 inch to + the left. The default is \texttt{0pt}. Dimension arithmetic is supported. +\end{itemize} +One last command before the examples. + +\paragraph*{Setting the expanded (add to) border.} It is often convenient to +set the basic thread dimensions (\texttt{width=\cs{linewidth},height=3in}), +but is harder to expand and position the thread to a wider or higher thread +region. Use the \cs{setAddToBorder} command to expand, or add to, the +dimensions of the thread rectangular dimensions. +\bVerb\takeMeasure{\string\setAddToBorder\darg{addtow=\ameta{length},addtoh=\ameta{length}}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\setAddToBorder{addtow=!ameta(length),addtoh=!ameta(length)} +\end{dCmd} +\endgroup\noindent The \opt{addtow} key adds \ameta{length} to the left and right +sides of the rectangular boundary of the thread; \opt{addtoh} adds +\ameta{length} to the top and bottom of the rectangular boundary of the +thread. The default dimensions for these two keys are \texttt{0pt}. +\begin{multicols}{2}\setThreadInfo{title=Illustrate \string\\setAddToBorder}% +\noindent\setAddToBorder{addtow=10bp,addtoh=10bp}\previewtrue\viewMagWintrue +{\small\verb|\setAddToBorder{addtow=10bp,|\\ +\null\qquad\verb|addtoh=10bp}|}\\\vadjust{\noindent\bArticle{lift=3\baselineskip,width=\linewidth,height=6\baselineskip}} +In this column we've set a \texttt{10bp} border around the thread. When you click +on the reading area, the viewer should zoom to the width of the wider rectangle. +\vfill +\columnbreak +\noindent\setAddToBorder{addtow=4bp,addtoh=4bp}\previewtrue\viewMagWintrue +{\small\verb|\setAddToBorder{addtow=4bp,|\\ +\null\qquad\verb|addtoh=4bp}|}\\\vadjust{\noindent\cArticle{lift=3\baselineskip,width=\linewidth,height=6\baselineskip}} +In this column, we've set a \texttt{4bp} border. Again, when you click on the +reading area, the viewer should zoom to the width of the wider rectangle. +\end{multicols} +\newtopic\noindent\textbf{Tip:} The values of \opt{addtow} and \opt{addtoh} should be in big +points (\texttt{bp}) for greater accuracy as these are converted to +Postscript or PDF dimensions, depending on the driver. + +\paragraph*{Methodology with examples.} Now we've come to final part of this +documentation, a description of the methodology, accompanied by examples. As +pointed out early in this documentation, the method for applying the article +threads is very visual. Compose your document content first, and then insert the +document threads. Page~\arabic{page} +\begin{center}\previewtrue\viewMagWintrue +\begin{minipage}{.8\linewidth}\parindent=20pt\relax +We illustrate the techniques in a single column of goodly width. +First we declare our add to border dimension and article info +\begin{Verbatim}[fontsize=\small] +\setAddToBorder{addtow=4bp,addtoh=4bp} +\setThreadInfo{title=Methodology,author=D. P. Story} +\end{Verbatim} +There are two places to begin a thread: (1) at the very beginning of a paragraph; +and (2) from within a paragraph. Method~(1) is preferred. We begin the next paragraph +with +\begin{Verbatim}[fontsize=\small] +\noindent\bArticle{lift=\baselineskip, + width=\linewidth,height=1in+3\baselineskip}% +Now we begin our deep thoughts... +\end{Verbatim} +\setAddToBorder{addtow=4bp,addtoh=4bp} +\setThreadInfo{title=Methodology,author=D. P. Story} +\noindent\bArticle{lift=\baselineskip,width=\linewidth,height=1in+3\baselineskip}% +Now we begin our deep thoughts. During this development phase, the options +\opt{preview} and \opt{viewMagWin} should be in effect. In a \EXT{DVI} +viewer, we can see the bounding rectangles. We can see its too low, too long +and so on. For users of \app{pdflatex}, \app{xelatex}, etc., view your +documents in the \EXT{DVI} previewer first (or view them as a \EXT{PDF}). +I've used \texttt{lift=\string\baselineskip} to raise up the thread rectangle +by that mount to enclose the first line. The value of \opt{width} is usually +\cs{linewidth}, but the value of \opt{height} may have to be adjusted, in this +example, I've ``tweaked'' the \texttt{1in} by \texttt{3\string\baselineskip}. + +\newtopic Naturally, after you're satisfied, you then remove +\opt{preview} and \opt{viewMagWin} or change them to +\opt{!preview} and \opt{!viewMagWin}. Another possible location is from within +a paragraph, here, we continue the previous thread using the \cs{cArticle} command +in conjunction with the \cs{vadjust} {\TeX} primitive\vadjust{\noindent +\cArticle{lift=5\baselineskip,width=\linewidth,height=2in+\baselineskip}}. +Between the end of the word `primitive' and the period (.) ending the sentence, I've place +\begin{Verbatim}[fontsize=\small] +primitive\vadjust{\noindent\cArticle{lift=5\baselineskip, + width=\linewidth,height=2in+\baselineskip}}. Between the +\end{Verbatim} +The value of \texttt{lift=5\string\baselineskip} we chosen because the +original positioning of the thread rectangle was too low by about five lines. +The value of \texttt{height} was chosen to cover the paragraph once the +complete paragraph was composed. + +\previewfalse\viewMagWinfalse +We now declare \verb|\previewfalse\viewMagWinfalse|. + +\noindent\cArticle{lift=\baselineskip,width=\linewidth,height=.5in+3\baselineskip}\indent +Of course, in this example, it was entirely unnecessary to insert the +\cs{cArticle} mid-paragraph, it would have been better placed at the +beginning of the paragraph. Placing \cs{cArticle} mid-paragraph is useful for +multi-column formats. When the paragraph flows from the first column the +second column, use the \cs{vadjust} technique to cover the portion of the +text that flows to the right column. +\end{minipage} +\end{center} +By the way, notice the use of \cs{noindent}, this is +oftentimes needed to position the article thread in the left margin of the +text block. + +\paragraph*{The demo file.} The demo file \texttt{article\_tech.tex} +reproduces the discussion on methods, it is found in the \texttt{examples} +folder. + + +\setThreadInfo{title=Final Thread,{author=D. P. Story, Ph.D.}} + +\newtopic\noindent In this documentation, I've covered the content with many article threads; normally, +for multi-column content, one thread per column is sufficient. +\begin{multicols}{2} %\previewtrue +\noindent\bArticle{lift=\baselineskip,width=\linewidth,height=6.7in}\indent +\lipsum[2] + +\lipsum[4] + +\lipsum[6] + +\noindent\cArticle{lift=3\baselineskip,width=\linewidth,height=6.7in}\indent +\lipsum[7] + +\lipsum[10] + +\lipsum[12] + +\noindent\cArticle{lift=10\baselineskip,width=\linewidth,height=4in-\baselineskip}\indent +\lipsum[14] + +\noindent\cArticle{lift=8\baselineskip,width=\linewidth,height=4in-\baselineskip}\indent +\lipsum[16] + +\end{multicols} + +\paragraph*{The demo file.} The demo file for this package is \texttt{article\_tst.tex}, +available in the \texttt{examples} folder. + + +\section{My retirement} + +Now, I simply must get back to it. \dps + +\end{document} diff --git a/texmf-dist/doc/latex/cntdwn/README b/texmf-dist/doc/latex/cntdwn/README new file mode 100644 index 00000000..1b7c1eae --- /dev/null +++ b/texmf-dist/doc/latex/cntdwn/README @@ -0,0 +1,46 @@ +The cntdwn package +Dated: 2014/11/26 + +Version v.6 fixes a problem brought on by hyperref. The latter package +removes underscores from field names. We have a workaround for that. + +New: The original version, v.3, had a simple way of calculating the number +of years (based on 365 days to the year) for a long countdown. This was +not a problem for counts less than one year, or for counts that spanned +several years that did not include leap years. This version, v.5, takes +into account the presence of leap years and now gives a correct year, day, +hour, minute, and second representation of the time difference between the +current time and the target event. In v.5a, a new key-value +pair,autorunenabled, is added; for the long countdown, +autorunenabled=false suppresses the autorun feature and can be +dynamically turned on or off using JavaScript. + +The cntdwn package provides three sets of timers: + +1. A short countdown (or count up) to an event. (Short being defined as + less than a day.) The short countdown is designed for talks or + presentations. There are three notification times, to announce to the + speaker and audience that time is running out. +2. A long countdown to an event in the (distant) future. There are three + notifications leading up to the main event (when counter reaches 0 seconds), and + three notifications following the main event. +3. Clock counters. The cntdwn package allows you to create a clocks that + display time and date. Clocks can show local time or time in any + foreign time zone. + +Extensive customizations are possible, either by redefining commands, or +creating your own JavaScript functions (using the eforms package) to +handler the various notification time events. + +Requirements: The eforms and hyperref packages. + +Simple examples of each type accompany the distribution, advanced examples +have been published on my AeB Blog site +http://www.math.uakron.edu/~dpstory/aebblog.html + +Now, I simply must get back to my retirement. + +Dr. D. P. Story +www.acrotex.net +dpstory@uakron.edu +dpstory@acrotex.net diff --git a/texmf-dist/doc/latex/cntdwn/cntdwn_man.pdf b/texmf-dist/doc/latex/cntdwn/cntdwn_man.pdf new file mode 100644 index 00000000..67326906 Binary files /dev/null and b/texmf-dist/doc/latex/cntdwn/cntdwn_man.pdf differ diff --git a/texmf-dist/doc/latex/cntdwn/cntdwn_man.tex b/texmf-dist/doc/latex/cntdwn/cntdwn_man.tex new file mode 100644 index 00000000..4948e6bd --- /dev/null +++ b/texmf-dist/doc/latex/cntdwn/cntdwn_man.tex @@ -0,0 +1,743 @@ +% makeindex < aebpro_man.idx > aebpro_man.ind +\documentclass{article} +%\usepackage[fleqn]{amsmath} +\usepackage[ + web={centertitlepage,designv,tight, + forcolorpaper,latextoc,pro},%usesf, + eforms,aebxmp +]{aeb_pro} +%\usepackage{multicol} +\usepackage{array} +\usepackage[altbullet]{lucidbry} +\usepackage[shortcount,longcount]{cntdwn} +%\usepackage[usecmtt]{myriadpro} + +%\DeclareInitView +%{% +% layoutmag={mag=100}, +%% windowoptions={fit} +%} + + +\usepackage{makeidx} +\makeindex +\usepackage{acroman} + +\usepackage[active]{srcltx} + +\def\expath{../examples} + +\urlstyle{rm} + +%\def\tutpath{doc/tutorial} +%\def\tutpathi{tutorial} + +\DeclareDocInfo +{ + university={\AcroTeX.Net}, + title={The \texorpdfstring{\textsf{cntdwn} Package\\[1em]}{: } + Creating short and long countdowns}, + author={D. P. Story}, + email={dpstory@acrotex.net}, + subject={Creating short and long countdowns}, + talksite={\url{www.acrotex.net}}, + version={1.0}, + keywords={countdown timer}, + copyrightStatus=True, + copyrightNotice={Copyright (C) \the\year, D. P. Story}, + copyrightInfoURL={http://www.acrotex.net} +} + +\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}% + \kern-.6em \hbox{$\mathcal S$}}$} + +\universityLayout{fontsize=Large} +\titleLayout{fontsize=LARGE} +\authorLayout{fontsize=Large} +\tocLayout{fontsize=Large,color=aeb} +\sectionLayout{indent=-40pt,fontsize=large,color=aeb,afterskip=1sp} +\subsectionLayout{indent=-20pt,color=aeb,afterskip=1sp} +\subsubsectionLayout{indent=0pt,color=aeb,afterskip=1sp} +\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}} + +\newenvironment{eqComments}[1][\strut]{\smallskip\leftskip-\labelwidth +\item[]\textbf{\textcolor{blue}{#1}}}{\par\smallskip} + +%-------------------- +\setShortCntDwn{Timer1}{% + length=1*\minutes, + notify1=45*\seconds, + notify2=30*\seconds, + notify3=15*\seconds +} +\setLongCntDwn{NewYearsLocal}{% + date=2011/01/01, + time=00:01:00, +} +\setLongCntDwn{NewYearsCET}{% + date=2011/01/01, + time=00:01:00, + tzoffset=+0100 +} +\setClockTimer{LocalClock}{} +\setClockTimer{CESTClock}{tzoffset=+0200} +%-------------------- + + +%\pagestyle{empty} +\parindent0pt\parskip\medskipamount + +\definePath\bgPath{"C:/Users/Public/Documents/ManualBGs/Manual_BG_Print_AeB.pdf"} +\begin{docassembly} +\addWatermarkFromFile({ + bOnTop:false, + cDIPath:\bgPath +}); +\executeSave(); +\end{docassembly} + +\begin{document} + +\maketitle + +\selectColors{linkColor=black} +\tableofcontents +\selectColors{linkColor=webgreen} + +\section{Introduction}\label{s:intro} + +The \textsf{cntdwn} package provides two types of countdowns, short and +long. +\begin{itemize} + \item A short countdown, accessed through the \texttt{shortcount} + option, is a countdown (or count-up) that is for a relatively short time + period (less than a day). Such a countdown is designed for a talk (or + presentation). + \item A long countdown, accessed through the \texttt{longcount} + option, is a countdown to a distant event, perhaps many days or even + years in the future. + \item As a bonus of long countdown, a clocks can be defined for local + or time zones. +\end{itemize} +Each type of countdown (clocks excepted) has several events: (1) the main event, which is the +target of the countdown; (2) pre-events, events that occur \textit{before} the +occurrence of the main event; and (3) post-events, events that occur \textit{after} the +occurrence of the main event. Each event occurs at a definable instant in +time, and may have a (JavaScript) action associated with the event. + +\section{Requirements and Sample files} + +The \textsf{cntdwn} requires the \textsf{eforms} package, part of AeB (the +{\AcroTeX} eDucation Bundle), and, of course, the \textsf{hyperref} package. + +The PDFs need to be viewed in Adobe Reader (or Acrobat), not some other nonconforming +PDF viewer that does not support document level JavaScript. + +Basic examples are provided in the \texttt{examples} folder; advanced +examples can be found, in time, on my \href{http://www.math.uakron.edu/~dpstory/aebblog.html}{{\AEB} Blog} site, +\url{http://www.math.uakron.edu/~dpstory/aebblog.html}. + +\section{The short countdown}\label{s:short} + +To input the code for the short count, type either\\[6pt] +\hspace*{20pt}\verb!\usepackage{cntdwn}! or +\verb!\usepackage[shortcount]{cntdwn}!\\[6pt] +in the preamble. + +We begin with an example of the default behavior of a short countdown:\\[6pt] +\hspace*{20pt}\cntdwnDisplay{Timer1}{.5in}{11bp} +\cntdwnStartT{Timer1}{11bp}{11bp} +\cntdwnPauseT{Timer1}{11bp}{11bp} +\cntdwnStopT{Timer1}{11bp}{11bp}\\[6pt] +To start the countdown, press the Start button (the second form field from +the left). The left-most field is a text field, the others are buttons. +The original idea behind this behavior was that this seemed a nice way to +do a count for a talk: (1) at a preselected time (45 seconds in this +example) the first button would turn green indicating to the speaker that +time is running out; (2) a little later, the second notification signal +appears, a yellow button (at 30 seconds); at a third notification time, +the third button starts blinking red (at 15 seconds), this tells the +speaker to wrap it up; (4) finally, at the end of the defined length of +the timer, the third button stops blinking indicating that the speaker's +time is up. + +The buttons also play roles as controls over the counter, the three +buttons are \textbf{Start}, \textbf{Pause}, and \textbf{Stop}. The user can press the \textbf{Pause} button to +pause the count (without taking away from his/her time), then restart it +by pressing the \textbf{Start} button. + +The code for the above countdown consisted to two sets of lines. In the +preamble, we find, +\begin{verbatim} + \setShortCntDwn{Timer1}{% + length=1*\minutes, + notify1=45*\seconds, + notify2=30*\seconds, + notify3=15*\seconds + } +\end{verbatim} +This defines a timer name \texttt{Timer1}, with key-value pairs give +above. The length of the countdown is 1 minutes, following by the +defining of three notification times. The mean of these key-values is +clear in light of the above example. + +The second line of code is the laying down of the timers themselves. +\begin{verbatim} + \cntdwnDisplay{Timer1}{.5in}{11bp} + \cntdwnStartT{Timer1}{11bp}{11bp} + \cntdwnPauseT{Timer1}{11bp}{11bp} + \cntdwnStopT{Timer1}{11bp}{11bp} +\end{verbatim} +The first argument of each is the name of the timer to use, +\texttt{Timer1}, in this case. All of these form fields are optional; if +none is included in the document, the timer ticks away +silently.\footnote{Why would anyone do this, you might ask?} + +\subsection{Using \texorpdfstring{\protect\cs{setShortCntDwn}}{\CMD{setShortCntDwn}} +in the preamble} + +For each short countdown timer, the \cs{setShortCntDwn} must be used to +define the properties of the timer. +\begin{dCmd*}{.6\linewidth} +\setShortCntDwn{}{} +\end{dCmd*} +\CmdDescription The command defines the properties of the countdown. +Internally, the command defines macros \cs{seconds}, \cs{minutes}, +and \cs{hours}. For key-value pairs that take a time as its value, use +these commands to define the time value, for example, 20~minutes should be +denoted \texttt{20*\cs{minutes}} (use \texttt{*} for multiplication); for +1~minute and 30~seconds, you can type either \texttt{1*\cs{minutes}+\texttt{30*\cs{seconds}}} +or, alternatively, \texttt{1.5*\cs{minutes}}; and so on. + +\PD The first parameter \texttt{} is a name you assign the timer. The +name must be unique among all timer names defined in the document. The +second parameter consists of key-value pairs, described below. +\KVP The second parameter takes several key-value pairs. +\begin{itemize} + \item \texttt{length}: The length of the countdown, the default is 20 + minutes. (\texttt{20*\cs{minutes}}) + \item \texttt{stopwatch}: A Boolean, which if \texttt{true}, the counter counts up, like + a stopwatch; he default is \texttt{false}, in this case the + counter counts down. If stopwatch is not in the list of + parameters, the counter counts down. + \item \texttt{onfinish}: A choice key that determines the behavior of + the counter when it reaches the main time event. Possible values + are \texttt{stop} (the default) and \texttt{continue}. If + \texttt{onfinish=continue}, the clock continues to count even + after the main time has been attained. + \item \texttt{endmsg}: When the timer reaches the main time event, + the default behavior of the timer is to write a message to a + text field created by the \cs{cntdwnEndTarget} command. The + default message is ``This ends the Presentation, any + questions?'' This message can be changed for this timer using + the \texttt{endmsg} key. To globally change the message, + redefine the command \cs{cnddwnDefaultEndMsg}. The + redefinition of this command must occur before the expansion + of any \cs{setShortCntDwn} command. +\end{itemize} +The next three keys take time as a value. Use the special macros +\cs{hours}, \cs{minutes}, and \cs{seconds}, as explained above. +\begin{itemize} + \item \texttt{notify1}: The first notification time; the time + before/after the main time event. The time is a prior time if + the counter is counting down; and is a post time if the + counter is counting up (\texttt{stopwatch=true}). The default is + \texttt{5*\cs{minutes}}. + \item \texttt{notify2}: The second notification time; the time + before/after the main time event. The time is a prior time if + the counter is counting down; and is a post time if the + counter is counting up (\texttt{stopwatch=true}). The default is + \texttt{3*\cs{minutes}}. + \item \texttt{notify3}: The third notification time; the time + before/after the main time event. The time is a prior time if + the counter is counting down; and is a post time if the + counter is counting up (\texttt{stopwatch=true}). The default is + \texttt{1*\cs{minutes}}. +\end{itemize} +If \texttt{stopwatch=false}, the default, the counter is counting down to +the main time event (at time 0 seconds); in this case \texttt{notify1 > +notify2 > notify3}. If \texttt{stopwatch=false}, the counter is counting +up to the main time event (at time \texttt{length}); in this case +\texttt{notify1 < notify2 < notify3}. If these restrictions are not met, +the timer and notification may not be as expected. + +The next four keys concern the actions that are taken at the four +notification times (\texttt{notify1}, \texttt{notify2}, \texttt{notify3}, +and the main time event). These actions are in the form of JavaScript +functions, which may be re-defined by the document author to obtain custom +behaviors. +\begin{itemize} + \item \texttt{event1}: A JavaScript function (which the document + author can create) to handle the first notification event. The default + event turns the \textbf{Start} button green and causes a beep to sound. + \item \texttt{event2}: A JavaScript function (which the document + author can create) to handle the second notification event. The default + event turns the \textbf{Pause} button yellow and causes a beep to sound. + \item \texttt{event3}: A JavaScript function (which the document + author can create) to handle the third notification event. The default + event causes the \textbf{Stop} button to blink red and causes a beep to sound. + \item \texttt{endEvent}: When main time is reached (time 0 or + \texttt{length}), this function turns the \texttt{Stop} button to solid red + (non-blinking), and writes a message to the text field created by the + command \cs{cntdwnEndTarget}. + \item \texttt{startcolor}: The color used by the default \texttt{event1} function + to color the \textbf{Start} button. The color is a JavaScript color; the + default is \texttt{color.green}. + \item \texttt{pausecolor}: The color used by the default \texttt{event2} function + to color the \textbf{Pause} button. The color is a JavaScript color; the + default is \texttt{color.yellow}. + \item \texttt{stopcolor}: The color used by the default \texttt{event3} and + \texttt{endEvent} functions to color the \textbf{Stop} button. + The color is a JavaScript color; the default is \texttt{color.red}. + \item \texttt{autorun}: A Boolean that determines whether the count + begins when the page containing the counter is opened. The default is + \texttt{false}. + \item \texttt{refreshrate}: The refresh rate of the counter, the + default is 1000 (milliseconds). +\end{itemize} + +\subsection{Commands that go in the body} + +The main field for the counter is \cs{cntdwnDisplay}, and it has three +supporting fields \cs{cntdwnStartT}, \cs{cntdwnPauseT}, and +\cs{cntdwnStopT}. + +\begin{dCmd*}{\linewidth} +\cntdwnDisplay[]{}{}{} +\cntdwnStartT[]{t_name}{}{} +\cntdwnPauseT[]{t_name}{}{} +\cntdwnStopT[]{t_name}{}{} +\end{dCmd*} +\PD The first optional parameter is used to change the appearance of the +fields (these fields use the \textsf{eforms} package). The second +parameter is the name of a timer (\texttt{}) that has already been +defined by \cs{setShortCntDwn}. The last two parameters sets the width and +height of the form fields. +\CmdDescription All four of these fields are optional (no JavaScript +exceptions are thrown if they do not exist). \cs{cntdwnDisplay} show the +countdown of the timer; \cs{cntdwnStartT} is the start button, +\cs{cntdwnPauseT} is the pause button, and \cs{cntdwnStopT} is the stop +button. The capital letter \texttt{T} indicates that these buttons are the +\texttt{T}arget of the default event functions. Below, we describe +non-target start, pause, and stop buttons. + +When the timer reaches it main time event (time 0 for a +countdown clock, and time \texttt{length} for a count-up clock), the default +endEvent writes message to the multiline text field created by +\cs{cntdwnEndTarget}. + +\begin{dCmd*}{\linewidth} +\cntdwnEndTarget[]{t_name}{}{} +\end{dCmd*} +\PD The four parameters are the same as described above for the +\cs{cntdwnDisplay} field, for example. This field is optional, if it does +not exist, no exception is thrown.\footnote{Actually, an exception is +thrown, but it is ``caught'' so no harm is done.} + +The \textsf{cntdwn} package also provides three form field buttons for +starting, pausing, and stopping the target count. The parameters are the +same as those of the `\texttt{T}' counterparts. +\begin{dCmd*}{\linewidth} +\cntdwnStart[]{t_name}{}{} +\cntdwnPause[]{t_name}{}{} +\cntdwnStop[]{t_name}{}{} +\end{dCmd*} + +\section{The long countdown}\label{s:long} + +A long countdown is one where the main countdown event is in the distant +future. Since a short countdown is designed for less than one day, a long +countdown is for times greater than a day. + +As an example, let us countdown to New Year's Day, which is 1~second after +midnight.\\[6pt] +\hspace*{20pt}\lcntdwnDisplay{NewYearsLocal}{3.5in}{11bp}\\[6pt] +This countdown is in \emph{local time}. No matter where you are in the +world, in whatever time zone, the countdown reflect the time until your +New Year's Day. + +The time until my friend J\"{u}rgen celebrates New Year's Day is shown +below:\\[6pt] +\hspace*{20pt}\lcntdwnDisplay{NewYearsCET}{3.5in}{11bp}\\[6pt] +Note that there is a difference in the count between the two counters, probably in +the hour position; this is due difference between his timezone offset, and yours. +This counter gives the time until my friend celebrates +the New Year; it should read the same throughout the world, for he +celebrates at a unique time in the world. + +As with the short countdown, to obtain such clocks we must set the +clocks parameters in the preamble (using the \cs{setLongCntDwn} command), +and place the countdown clock anywhere we like in the body of the +document (using \cs{lcntdwnDisplay}). + +In the preamble, we have + +\begin{verbatim} + \setLongCntDwn{NewYearsLocal}{% + date=2011/01/01, + time=00:01:00, + } + \setLongCntDwn{NewYearsCEST}{% + date=2011/01/01, + time=00:01:00, + tzoffset=+0100 + } +\end{verbatim} +The first one sets the parameters of the local clock. The \texttt{date} and \texttt{time} +are specified in the obvious way. We set the counter to run and pause +automatically. The parameters for the Central European New Year clock are the same, +with one exception; I've included a value for the \texttt{tzoffset} key +(time zone offset), this is \texttt{+0100} (in Germany during the Winter). + +In the body of the document, we place the countdown clocks, +\begin{verbatim} + \lcntdwnDisplay{NewYearsLocal}{3.5in}{11bp} + ... + \lcntdwnDisplay{NewYearsCET}{3.5in}{11bp} +\end{verbatim} +As with the short count, we reference the counter parameters through the +name of the counter, as defined using \cs{setLongCntDwn}. + +\subsection{Using \texorpdfstring{\protect\cs{setLongCntDwn}}{\CMD{setShortCntDwn}} +in the preamble} + +For each long countdown timer, the \cs{setLongCntDwn} must be used to +define the properties of the timer. +\begin{dCmd*}{.6\linewidth} +\setLongCntDwn{}{} +\end{dCmd*} +\CmdDescription The command defines the properties of the countdown. +Internally, the command defines macros \cs{seconds}, \cs{minutes}, +\cs{hours}, \cs{weeks}, and \cs{years}. For key-value pairs that take a time as its value, use +these commands to define the time value, for example, 20 minutes should be +denoted \texttt{20*\cs{minutes}} (use \texttt{*} for multiplication); for +2 weeks and 3 days, you can type either \texttt{2*\cs{weeks}+\texttt{3*\cs{days}}} +or \texttt{13*\cs{days}}; and so on. + +\PD The first parameter \texttt{} is a name you assign the timer. The +name must be unique among all timer names defined in the document. The +second parameter consists of key-value pairs, described below. +\KVP The second parameter takes several key-value pairs. +\begin{itemize} + \item \texttt{date}: The date of the event. The value of the \texttt{date} key + has the form \texttt{YYYY/MM/DD}. If \texttt{date} key is not specified then + the default date of \texttt{1970/01/01} is used and a warning message is + written to the log. Valid variations on the \texttt{date} key are + \texttt{YYYY} (in which case the default month and day values are + used, \texttt{YYYY/01/01}, and \texttt{YYYY/MM} (again, the + default day is used \texttt{YYYY/MM/01}). Year must be specified with + four numbers, and the month and day with two numbers. (The first month + is 01.) + \item \texttt{time}: The time of the event on the specified date. The + format for the value of time is \texttt{HH:mm:SS} (hours, minutes, + seconds). All time components are specified with two digits, if + specified at all. The default value of \texttt{00} is taken for any + missing component. If no \texttt{time} is specified then + \texttt{00:00:00} is used; if \texttt{HH} only is specified, then the + value for time is \texttt{HH:00:00}; if \texttt{HH:mm} is specified, + then the value of time is \texttt{00:mm:00}. + \item \texttt{tzoffset}: The time zone offset of the time of the + event. If \texttt{tzoffset} is not specified, then time is interpreted + as local time. The format for \texttt{tzoffset} is \texttt{Z|OHHmm}, + where \texttt{Z} means that local time is equal to UT (Universal + Time). For the \texttt{OHHmm} pattern, the \texttt{O} is \texttt{+} (plus) or + \texttt{-} (minus); a \texttt{+} (plus) means that local time is later than + UT, and a \texttt{-} (minus) means that local time is earlier than UT. For + example CST (Central Standard Time) is \texttt{-0600} while CET (Central European Time) is + \texttt{+0100}. See \url{http://www.timeanddate.com} for time zone + information. \texttt{HH} is the number of hours offset from UT and \texttt{mm} is the + number of minutes (some time zones are measured in hours and minutes, + for example, Australian Central Standard Time is \texttt{+0930}). + \item \texttt{refreshrate}: The refresh rate of the counter, the + default is 1000 (milliseconds). + \item \texttt{autorun}: A Boolean that determines whether the count + begins when the page containing the counter is opened. The default is + \texttt{true}. + \item \texttt{autopause}: A Boolean that determines whether the count + is paused when the page containing the counter is closed. The default is + \texttt{true}. + \item \texttt{autorunenabled}: A Boolean that enables the \texttt{autorun} + feature. The default value of this key is \texttt{true}. The purpose + of this key-value is to turn off \texttt{autorun} dynamically (through + JavaScript). The timer object that keeps all timer information has a + key named \texttt{bAutorunEnabled}. If the name of the timer is + \texttt{MyTimer}, and you execute + \texttt{\_oMyTimer.bAutorunEnabled=false}, the timer, if already paused, + \emph{will not start} (automatically) when the page containing the timer is + opened again. For an example of usage, see the file + \texttt{armistice\_day.pdf}, titled ``The cntdwn Package: Handling Notification Events for the Long Countdown + Timer, Remembrance Day,'' available on the \href{http://www.math.uakron.edu/~dpstory/aebblog.html}{AeB Blog site}. + \item \texttt{notify1}, \texttt{notify2}, \texttt{notify3}: + Leading up to the main time event are three \emph{pre-events} that + occur at times \texttt{notify1 > notify2 > notify3} + \emph{before} the main event. These are the first, second, and + third notification event times. The times are relative to the main + event, so if \texttt{notify1=1*\string\weeks}, then the + first notification event occurs 1 week \emph{before} the + main event. + \item \texttt{notify5}, \texttt{notify6}, \texttt{notify7}: + Following the main time event are three \emph{post-events} + that occur at times \texttt{notify5 < notify6 > notify7} + \emph{after} the main event. These are the fifth, sixth, and + seventh notification event times.\footnote{You may ask about + the fourth notification event, that event is the main time + event, the event that occurs when the countdown reaches 0.} + The times are relative to the main event, so if + \texttt{notify5=5*\string\hours}, then the fifth notification + event (the first after the main event) occurs 5 hours + \emph{after} the main event. + \item \texttt{eventhandler}: When the timer reaches any of the + seven notification times, a event handler function is + launched, the default function is \texttt{\_NoOpt}. The + \texttt{\_NoOpt} does nothing. The document author ca define + his/her own event handler using this key. + + An event handler should take three parameters \texttt{doc}, + \texttt{cTimer}, and \texttt{nEvent}. Use the \texttt{insDLJS} environment + to define your custom handler. A very simple example is +\begin{verbatim} +\begin{insDLJS}[myEventHandler]{dps}{My Event Handlers} +function myEventHandler (doc,cTimer,nEvent) { + console.show(); + console.println("Event number " + nEvent + " just occurred); +} +\end{insDLJS} +\end{verbatim} +and type \texttt{eventhandler=myEventHandle} as part of the +key-values of \cs{set\-Long\-Cnt\-Dwn}. + \item \texttt{endtimecolor}: When main time event is reached (0 + seconds), the color of the display is changed to the JavaScript color + determined by this key. The default is \texttt{color.red}. + \item \texttt{displayfunc}: This JavaScript function displays the + count; the default display function is \texttt{\_defaultLDisplayFunc}, + it takes parameters\vspace{3pt} +\begin{Verbatim}[fontsize=\small] +function _defaultLDisplayFunc(f,nYears,nDays,nHours,nMinutes,nSeconds) +\end{Verbatim} +where \texttt{f} is the field object of the display field, the meaning of +the other parameters is obvious. + +The default display function uses the strings year, years, day, days, +hours, hour, minutes, minute, seconds, second. For localization of these +strings, the document author may redefine the commands +\begin{dCmd*}{.6\linewidth} +\newcommand{\cntdwnYear}{year} +\newcommand{\cntdwnYears}{years} +\newcommand{\cntdwnDay}{day} +\newcommand{\cntdwnDays}{day} +\newcommand{\cntdwnHour}{hour} +\newcommand{\cntdwnHours}{hours} +\newcommand{\cntdwnMinute}{minute} +\newcommand{\cntdwnMinutes}{minutes} +\newcommand{\cntdwnSecond}{second} +\newcommand{\cntdwnSeconds}{seconds} +\end{dCmd*} + \item \texttt{onfinish}: A choice key that determines the behavior + of the counter when it reaches the main time event. Possible + values are \texttt{stop} and \texttt{continue} (the default). + If \texttt{onfinish=stop}, the clock stops the count + when main event time is attained (when the timer reaches 0 + seconds). + \item \texttt{endmsg}: When the timer reaches the main time event + and \texttt{onfinish=stop}, the default behavior + is to write a message to a text field created by the + \cs{lcntdwnDisplay} command. The default message is ``The time + has expired.'' This message can be changed for this timer using + the \texttt{endmsg} key. To globally change the message, + redefine the command \cs{lcnddwnDefaultEndMsg}. The + redefinition of this command must occur before the expansion + of any \cs{setLongCntDwn} command. +\end{itemize} + +\subsection{Commands that go in the body} + +In the body of the document there are several commands used with the long +countdown timer. + +\begin{dCmd*}{\linewidth} +\lcntdwnDisplay[]{}{}{} +\end{dCmd*} + +\CmdDescription The command creates a text field that holds the current +countdown. + +\PD The first optional parameter is used to change the appearance of the +field (these field use the \textsf{eforms} package). The second +parameter is the name of a timer (\texttt{}) that has already been +defined by \cs{setLongCntDwn}. The last two parameters sets the width and +height of the form fields. + +\begin{dCmd*}{\linewidth} +\lcntdwnToggle[]{}{}{} +\end{dCmd*} + +\CmdDescription The command creates a push button field that is used to +toggle the count on and off (start and pause). Normally, this button is +not needed, but there may be situations that it may be useful. + +\PD The first optional parameter is used to change the appearance of the +field (these field use the \textsf{eforms} package). The second +parameter is the name of a timer (\texttt{}) that has already been +defined by \cs{setLongCntDwn}. The last two parameters sets the width and +height of the form fields. + +\newtopic For example, the button \kern1bp\lcntdwnToggle{NewYearsLocal}{11bp}{11bp}\kern1bp +\lcntdwnDisplay{NewYearsLocal}{2.5in}{11bp}\space\kern1bp +will toggle the New Years Day counter. + +The verbatim listing is as follows: +\begin{Verbatim}[fontsize=\small] +For example, the button \lcntdwnToggle{NewYearsLocal}{11bp}{11bp}\kern1bp +\lcntdwnDisplay{NewYearsLocal}{2.5in}{11bp} will toggle the New Years +Day counter. +\end{Verbatim} + +\subsection{The clock timer} + +I was just getting to wrap up this package, when I decided that it +wouldn't be too much trouble to define clock timers. I include the code in +as part of the \texttt{longcount} option because the code for the clock is +derived from the \texttt{longcount} count. Multiple clocks can be +activated at once, both clocks in the local time zone, as well as other +time zones, as shown below. + +\begin{tabular}{rcc} +&\textbf{Time}&\textbf{Date}\\[3bp] +Local Time:& +\cntdwnclocktime{LocalClock}{1in}{11bp}& +\cntdwnclockdate{LocalClock}{1in}{11bp}\\[3bp] +CEST:& +\cntdwnclocktime{CESTClock}{1in}{11bp}& +\cntdwnclockdate{CESTClock}{1in}{11bp}% +\end{tabular} + +\newtopic\textbf{Note:} +You can specify the time zone you want your clock to function in, there +is, however, no way to automatically adjust time zone when there is a +change from standard to/from summer time.\footnote{The statement has +limited truth to it. If the dates are known when a given time zone changes +UT offsets (between standard and summer/daylight savings time), you can +write some JavaScript to make this adjustment dynamically. The problem is +the dates/times may change from year to year. The ultimate solution is +have access to a time/date database/server.} + +For these two clocks, we need to execute the command \cs{setClockTimer} in +the preamble. +\begin{verbatim} + \setClockTimer{LocalClock}{} + \setClockTimer{CESTClock}{tzoffset=+0200} +\end{verbatim} +The first parameter is the name of the clock and the second takes +key-value pairs. For the \texttt{LocalClock}, we take the defaults, +for the \texttt{CESTClock}, we set the time zone offset from UTC to CEST +(Central European Summer Time). + +The code for the clocks themselves that appear above follows: + +\begin{verbatim} +\begin{tabular}{rcc} +&\textbf{Time}&\textbf{Date}\\[3bp] +Local Time:& +\cntdwnclocktime{LocalClock}{1in}{11bp}& +\cntdwnclockdate{LocalClock}{1in}{11bp}\\[3bp] +CEST:& +\cntdwnclocktime{CESTClock}{1in}{11bp}& +\cntdwnclockdate{CESTClock}{1in}{11bp}% +\end{tabular} +\end{verbatim} +The current time is displayed by \cs{cntdwnclocktime} and the date is +displayed by \cs{cntdwnclockdate}. + +\subsubsection{Using \texorpdfstring{\protect\cs{setClockTimer}}{\CMD{setClockTimer}} +in the preamble} + +For each clock , the \cs{setClockTimer} must be used to +define the properties of the clock. +\begin{dCmd*}{.6\linewidth} +\setClockTimer{}{} +\end{dCmd*} +\CmdDescription The command defines the properties of the clock. + +\PD The first parameter \texttt{} is a name you assign the clock. The +name must be unique among all timer names defined in the document. The +second parameter consists of key-value pairs, described below. +\KVP The second parameter takes several key-value pairs. +\begin{itemize} + \item \texttt{tzoffset}: The time zone offset of the time of the + event. If \texttt{tzoffset} is not specified, then time is interpreted + as local time. The format for \texttt{tzoffset} is \texttt{Z|OHHmm}, + where \texttt{Z} means that local time is equal to UT (Universal + Time). For the \texttt{OHHmm} pattern, the \texttt{O} is \texttt{+} (plus) or + \texttt{-} (minus); a \texttt{+} (plus) means that local time is later than + UT, and a \texttt{-} (minus) means that local time is earlier than UT. For + example CST (Central Standard Time) is \texttt{-0600} while CET (Central European Time) is + \texttt{+0100}. See \url{http://www.timeanddate.com} for time zone + information. \texttt{HH} is the number of hours offset from UT and \texttt{mm} is the + number of minutes (some time zones are measured in hours and minutes, + for example, Australian Central Standard Time is \texttt{+0930}). + \item \texttt{refreshrate}: The refresh rate of the counter, the + default is 1000 (milliseconds). + \item \texttt{autorun}: A Boolean that determines whether the count + begins when the page containing the counter is opened. The default is + \texttt{true}. + \item \texttt{autopause}: A Boolean that determines whether the count + is paused when the page containing the counter is closed. The default is + \texttt{true}. + \item \texttt{currtimefunc}: When a long count is active, \textsf{cntdwn} + provides the current time and date. The document author can design + a custom display through this key. The default value of this key is + \texttt{\_defaultTimeDateFunc}, the definition of which is +\begin{verbatim} +function _defaultTimeDateFunc(oTime,cTimer) { + try{ this.getField(cTimer+".clock.time").value + =util.printd("H:MM:ss",oTime); } catch(e) {}; + try { this.getField(cTimer+".clock.date").value= + util.printd("mm/dd/yyyy", oTime); } catch(e) {}; +\end{verbatim} +where \texttt{oTime} is the Date object containing current time/date. +\end{itemize} + + +\subsubsection{Commands that go in the body} + +In the body of the document there are several commands used with the long +countdown timer. + +\begin{dCmd*}{\linewidth} +\cntdwnclocktime[]{}{}{} +\cntdwnclockdate[]{}{}{} +\end{dCmd*} + +\CmdDescription Each command creates a read-only text field, the first +displays the time, and second displays the date. +countdown. + +\PD The first optional parameter is used to change the appearance of the +field (these field use the \textsf{eforms} package). The second +parameter is the name of a timer (\texttt{}) that has already been +defined by \cs{setClockTimer}. The last two parameters sets the width and +height of the form fields. + +\begin{dCmd*}{\linewidth} +\clockToggle[]{}{}{} +\end{dCmd*} + +\CmdDescription The command creates a push button field that is used to +toggle the clock on and off (start and pause). Normally, this button is +not needed, but there may be situations that it may be useful. + +\PD The first optional parameter is used to change the appearance of the +field (these field use the \textsf{eforms} package). The second +parameter is the name of a timer (\texttt{}) that has already been +defined by \cs{setClockTimer}. The last two parameters sets the width and +height of the form fields. + +\newtopic\textbf{Note:} It is easy to create a single button to toggle all +clocks, or a selection of clocks, but this button is not provided with +this package. + +\bigskip + +That's all for now, I simply must get back to my retirement. {\dps} + +\end{document} diff --git a/texmf-dist/doc/latex/ecards/README.md b/texmf-dist/doc/latex/ecards/README.md new file mode 100644 index 00000000..e330320c --- /dev/null +++ b/texmf-dist/doc/latex/ecards/README.md @@ -0,0 +1,29 @@ +eCards Package +Author: D. P. Story +Dated: 2016/09/03 + +The ecards package for LaTeX enables you to create a series of +electronic (flash) cards. The demo file for this package is named +ecardstst.pdf. The document author provides questions, hints and +answers to a series of questions. Users can test their knowledge +by responding to the questions. The questions are delivered in +random order. + +What's new (2016/09/03): Improved documentation. + +What's new (2016/08/02): The last revision was in 2003, and since then +there have been many changes in exerquiz. This revision brings ecards into +harmony with exerquiz (dated 2016/04/18 or later). Additionally, several new +commands are created to help customize the cards. + +Note: This package requires the AcroTeX eDucation Bundle, exerquiz dated 2016/04/18 +or later. + +Enjoy! + +Now, I simply must get back to my retirement. + +D. P. Story +www.acrotex.net +dpstory@uakron.edu +dpstory@acrotex.net diff --git a/texmf-dist/doc/latex/ecards/ecardsman.pdf b/texmf-dist/doc/latex/ecards/ecardsman.pdf new file mode 100644 index 00000000..d2403a23 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/ecardsman.pdf differ diff --git a/texmf-dist/doc/latex/ecards/examples/ecardstst.tex b/texmf-dist/doc/latex/ecards/examples/ecardstst.tex new file mode 100644 index 00000000..5f997346 --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/ecardstst.tex @@ -0,0 +1,237 @@ +\documentclass{article} +\usepackage[fleqn]{amsmath} +\usepackage{graphicx} +% Use these three for on screen presentation. +\usepackage[tight,rightpanel]{web} %,usetemplates,rightpanel +\usepackage{exerquiz} +\usepackage[memLogo]{ecards} % ,notrandomized + +% Use these three to get a listing of all questions, hints, and answers; useful +% for checking your work. +%\usepackage[forpaper,tight]{web} % ,usetemplates +%\usepackage[solutionsafter,proofing]{exerquiz} +%\usepackage[memLogo,listing]{ecards} + +% begin Web commands +\margins{.25in}{.25in}{24pt}{.25in} % left,right,top, bottom +\screensize{3.72in}{366.24bp} +\subject{Electronic Flash Cards} +\keywords{Flash Cards, LaTeX, PDF} +\university{% +% + THE UNIVERSITY OF AKRON\\ + Theoretical and Applied Mathematics +% +} +\email{dpstory@uakron.edu} +\version{2.0} +\copyrightyears{\the\year} +\author{D. P. Story} +\title{The U.S. Presidents by Number\texorpdfstring{\\}{,} Numbers 1--6} +\norevisionLabel + +\definecolor{logoblue}{rgb}{0,0,0.267} +\panelBgColor{logoblue} + +\renewcommand\hproportionwebtitle{.9} +\newcommand\aebLogo{% + \parbox{1.75in}{\large\color{red}\textsl{eCards: U.S. Presidents}\\ + \small\smash{\raisebox{3pt}{\color{blue}\textsl{{Acro\!\TeX} eDucation Bundle}\hfill}}}} + +\makeatletter +\ifecListing\else + \ifnum\@panelconfig>0\relax + \optionalPageMatter{\par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{webyellow}{ + \begin{minipage}{.85\linewidth} + \textbf{\textcolor{red}{Instructions:}} + Click on the \textcolor{webblue}{Begin} button to view the + first randomly selected card. Click on \textcolor{webblue}{FS} to view + the flash cards in full screen mode (works only outside a web browser). The + \textcolor{webblue}{Home} button on the first page goes to the + \textbf{\textcolor{red}{Acro\!\TeX}} home page; otherwise, the + \textcolor{webblue}{Home} button returns to this page. + The \textcolor{webblue}{Close} button closes the document (use + outside a web browser).\par\smallskip + \textbf{\textcolor{red}{Source:}} + \href{http://www.whitehouse.gov/history/presidents/}% + {The White House Presidents Page}\par\smallskip + \end{minipage}} + \end{center} + } + \else + \optionalPageMatter{\par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{webyellow}{ + \begin{minipage}{.67\linewidth} + Click on the \textcolor{webblue}{Begin} button to view the + first randomly selected card. Click on + \textcolor{webblue}{FS} to put the viewer into full screen + mode (use outside a web browser). The check box on the + right toggles the delivery of the cards between random + and natural order; a check means random + order.\par\smallskip + \centering + \Begin\ \FullScreen\ \ToggleOrder + \end{minipage}} + \end{center} + } + \fi +\fi + +\makeatother +% end Web commands +% begin ecards commands +\ecLogoLink{http://www.uakron.edu/} +\cardsFinishedMsg{You've seen all the Presidents, at least the ones presented + in these cards.} +\renewcommand\noHintJSAction{app.alert("No hints provided!")} +% end ecards commands + +\renewcommand{\pressBeginMsg}{Press the \"Begin\" + button to begin viewing the cards.} + + +\def\rescale{.4} % common re-scaling parameter for presidents +\parindent0pt + +\begin{document} + +\maketitle + +\ifecListing + \begin{center}\Large\bfseries + Listing of Questions, Hints, and Answers + \end{center}\bigskip +\fi + +\begin{card} + Who was the first President of the United States? +\begin{response} + \begin{hint} + Legend has it, he chopped down the cherry tree and couldn't tell a lie. + \end{hint} + \begin{answer} + \ifecListing + George Washington (1789-1797) + \else\centering + \includegraphics[scale=\rescale]{presidents/gw1}\\ + George Washington\\ + 1789-1797 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + Who was the second President of the United States? +\begin{response} + \begin{hint} + He was Washington's Vice President. + \end{hint} + \begin{answer} + \ifecListing + John Adams (1797-1801) + \else\centering + \includegraphics[scale=\rescale]{presidents/ja2}\\ + John Adams\\ + 1797-1801 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + Who was the third President of the United States? + \begin{multiChoice}{2} + \Ans0 Geo. Washington &\Ans0 Ben Franklin \\ + \Ans1 Thomas Jefferson &\Ans0 James Madison + \end{multiChoice} +\begin{response} + \begin{hint} + He was one of the authors of the Declaration of Independence. + \begin{multiChoice}{2} + \Ans0 Geo. Washington &\Ans0 Ben Franklin \\ + \Ans1 Thomas Jefferson &\Ans0 James Madison + \end{multiChoice} + \end{hint} + \begin{answer} + \ifecListing + Thomas Jefferson (1801-1809) + \else\centering + \includegraphics[scale=\rescale]{presidents/tj3}\\ + Thomas Jefferson\\ + 1801-1809 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + \raggedright + Who was the fourth President of the United States? \ifecListing\newline\fi + \begin{fillIn} + \RespBoxTxt[\rectW{1.5in}]{0}{0}{2}{James Madison}{Madison} + \end{fillIn} +\begin{response} + \begin{hint}\raggedright + He coauthored the \textsl{Federalists Essays} along with + John Jay and Alexander Hamilton. + \begin{fillIn} + \RespBoxTxt[\rectW{1.5in}]{0}{0}{2}{James Madison}{Madison} + \end{fillIn} + \end{hint} + \begin{answer} + \ifecListing + James Madison (1809-1817) + \else\centering + \includegraphics[scale=\rescale]{presidents/jm4}\\ + James Madison\\ + 1809-1817 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + Who was the fifth President of the United States? +\begin{response} + \begin{hint} + In foreign affairs, this President proclaimed a doctrine that + bears his name, ``\dots the American continents'', he stated, ``by the + free and independent condition which they have assumed and + maintain, are henceforth not to be considered as subjects for + future colonization by any European Power.'' + \end{hint} + \begin{answer} + \ifecListing + James Monroe (1817-1825) + \else\centering + \includegraphics[scale=\rescale]{presidents/jm5}\\ + James Monroe\\ + 1817-1825 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + Who was the sixth President of the United States? +\begin{response} + \begin{hint} + He was the first President who was the son of a President. + \end{hint} + \begin{answer} + \ifecListing + John Quincy Adams (1825-1829) + \else\centering + \includegraphics[scale=\rescale]{presidents/ja6}\\ + John Quincy Adams\\ + 1825-1829 + \fi + \end{answer} +\end{response} +\end{card} + +\end{document} diff --git a/texmf-dist/doc/latex/ecards/examples/ecardstst_nohint.tex b/texmf-dist/doc/latex/ecards/examples/ecardstst_nohint.tex new file mode 100644 index 00000000..526c526a --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/ecardstst_nohint.tex @@ -0,0 +1,243 @@ +% +% In this file, we test the nohints option and the \useHints +% +\documentclass{article} +\usepackage{amsmath} +\usepackage{graphicx} +% Use these three for onscreen presentation. +\usepackage[tight,rightpanel]{web} %,usetemplates,rightpanel,leftpanel +\usepackage{exerquiz} +\usepackage[memLogo,nohints]{ecards} + +% Use these three to get a listing of all questions, hints, and answers; useful +% for checking your work. +%\usepackage[forpaper,tight]{web} % ,usetemplates +%\usepackage[solutionsafter,proofing]{exerquiz} +%\usepackage[memLogo,listing]{ecards} + +% begin Web commands +\margins{.25in}{.25in}{24pt}{.25in} % left,right,top, bottom +\screensize{3.72in}{366.24bp} +\subject{Electronic Flash Cards} +\keywords{Flash Cards, LaTeX, PDF} +\university{THE UNIVERSITY OF AKRON\\ + Theoretical and Applied Mathematics} +\email{dpstory@uakron.edu} +\version{2.0} +\copyrightyears{\the\year} +\author{D. P. Story} +\title{The U.S. Presidents by Number\texorpdfstring{\\}{,} Numbers 1--6} + +\norevisionLabel + +\definecolor{logoblue}{rgb}{0,0,0.267} +\panelBgColor{logoblue} + +\renewcommand\hproportionwebtitle{.9} + +\newcommand\aebLogo{\parbox{1.75in}{\large \color{red}\textsl{eCards: U.S. Presidents}\\ + \small\smash{\raisebox{3pt}{\color{blue}\textsl{Acro\!\TeX{} eDucation Bundle}\hfill}}}} + +\makeatletter +\ifecListing\else + \ifnum\@panelconfig>0\relax + \optionalPageMatter{\par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{webyellow}{ + \begin{minipage}{.85\linewidth} + \textbf{\textcolor{red}{Instructions:}} + Click on the \textcolor{webblue}{Begin} button to view the + first randomly selected card. Click on \textcolor{webblue}{FS} to view + the flash cards in full screen mode (works only outside a web browser). The + \textcolor{webblue}{Home} button on the first page goes to the + \textbf{\textcolor{red}{Acro\!\TeX}} home page; otherwise, the + \textcolor{webblue}{Home} button returns to this page. + The \textcolor{webblue}{Close} button closes the document (use + outside a web browser).\par\smallskip + \textbf{\textcolor{red}{Source:}} + \href{http://www.whitehouse.gov/history/presidents/}% + {The White House Presidents Page}\par\smallskip + \end{minipage}} + \end{center} + } + \else + \optionalPageMatter{\par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{webyellow}{ + \begin{minipage}{.67\linewidth} + Click on the \textcolor{webblue}{Begin} button to view the + first randomly selected card. Click on + \textcolor{webblue}{FS} to put the viewer into full screen + mode (use outside a web browser). The check box on the + right toggles the delivery of the cards between random + and natural order; a check means random + order.\par\smallskip + \centering + \Begin\ \FullScreen\ \ToggleOrder + \end{minipage}} + \end{center} + } + \fi +\fi +\makeatother +% end Web commands + +% begin ecards commands +\ecLogoLink{http://www.uakron.edu/} +\cardsFinishedMsg{You've seen all the Presidents, at least the ones presented + in these cards.} +\renewcommand\noHintJSAction{app.alert("No hint provided for this question!")} +% end ecards commands + +\def\rescale{.4} % common re-scaling parameter for presidents +\parindent0pt + + +\begin{document} + +\maketitle + +\ifecListing + \begin{center}\Large\bfseries + Listing of Questions, Hints, and Answers + \end{center}\bigskip +\fi + +% This card should have no hint, which is the default with the nohints option +\begin{card} + Who was the first President of the United States? + \begin{response} + \begin{hint} + Legend has it, he chopped down the cherry tree and couldn't tell a lie. + \end{hint} + \begin{answer} + \ifecListing + George Washington (1789-1797) + \else\centering + \includegraphics[scale=\rescale]{presidents/gw1}\\ + George Washington\\ + 1789-1797 + \fi + \end{answer} + \end{response} +\end{card} + +% Start using hints by default +\useHints + +\begin{card} + Who was the second President of the United States? + \begin{response} + \begin{hint} + He was Washington's Vice President. + \end{hint} + \begin{answer} + \ifecListing + John Adams (1797-1801) + \else\centering + \includegraphics[scale=\rescale]{presidents/ja2}\\ + John Adams\\ + 1797-1801 + \fi + \end{answer} + \end{response} +\end{card} + +% local override +\begin{card}[nohint] + Who was the third President of the United States? + \begin{multiChoice}{2} + \Ans0 Geo. Washington &\Ans0 Ben Franklin \\ + \Ans1 Thomas Jefferson &\Ans0 James Madison + \end{multiChoice} + \begin{response} + \begin{hint} + He was one of the authors of the Declaration of Independence. + \begin{multiChoice}{2} + \Ans0 Geo. Washington &\Ans0 Ben Franklin \\ + \Ans1 Thomas Jefferson &\Ans0 James Madison + \end{multiChoice} + \end{hint} + \begin{answer} + \ifecListing + Thomas Jefferson (1801-1809) + \else\centering + \includegraphics[scale=\rescale]{presidents/tj3}\\ + Thomas Jefferson\\ + 1801-1809 + \fi + \end{answer} + \end{response} +\end{card} + +% this cards should have a hint, since \useHints is now the default +\begin{card} + \raggedright Who was the fourth President of the United States? \ifecListing\newline\fi + \begin{fillIn} + \RespBoxTxt{0}{0}{2}{James Madison}{Madison} + \end{fillIn} + \begin{response} + \begin{hint}\raggedright + He coauthored the \textsl{Federalists Essays} along with + John Jay and Alexander Hamilton. + \begin{fillIn} + \RespBoxTxt{0}{0}{2}{James Madison}{Madison} + \end{fillIn} + \end{hint} + \begin{answer} + \ifecListing + James Madison (1809-1817) + \else\centering + \includegraphics[scale=\rescale]{presidents/jm4}\\ + James Madison\\ + 1809-1817 + \fi + \end{answer} + \end{response} +\end{card} + +% back to ho hints as the default +\useNoHints + +\begin{card} + Who was the fifth President of the United States? + \begin{response} + \begin{hint} + In foreign affairs, this President proclaimed a doctrine that + bears his name, ``\dots the American continents'', he stated, ``by the + free and independent condition which they have assumed and + maintain, are henceforth not to be considered as subjects for + future colonization by any European Power.'' + \end{hint} + \begin{answer} + \ifecListing + James Monroe (1817-1825) + \else\centering + \includegraphics[scale=\rescale]{presidents/jm5}\\ + James Monroe\\ + 1817-1825 + \fi + \end{answer} + \end{response} +\end{card} + +% local override +\begin{card}[hint] + Who was the sixth President of the United States? + \begin{response} + \begin{hint} + He was the first President who was the son of a President. + \end{hint} + \begin{answer} + \ifecListing + John Quincy Adams (1825-1829) + \else\centering + \includegraphics[scale=\rescale]{presidents/ja6}\\ + John Quincy Adams\\ + 1825-1829 + \fi + \end{answer} + \end{response} +\end{card} + +\end{document} diff --git a/texmf-dist/doc/latex/ecards/examples/graphics/uakron.bb b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.bb new file mode 100644 index 00000000..e00464d0 --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.bb @@ -0,0 +1,5 @@ +%%Title: uakron.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 124 124 +%%CreationDate: Fri Jul 29 05:04:04 2016 + diff --git a/texmf-dist/doc/latex/ecards/examples/graphics/uakron.eps b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.eps new file mode 100644 index 00000000..935fd694 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.eps differ diff --git a/texmf-dist/doc/latex/ecards/examples/graphics/uakron.jpg b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.jpg new file mode 100644 index 00000000..aa1165f5 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.jpg differ diff --git a/texmf-dist/doc/latex/ecards/examples/graphics/uakron.pdf b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.pdf new file mode 100644 index 00000000..b802baca Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.pdf differ diff --git a/texmf-dist/doc/latex/ecards/examples/graphics/uakron.png b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.png new file mode 100644 index 00000000..82c46089 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/graphics/uakron.png differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/gw1.bb b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.bb new file mode 100644 index 00000000..4ca97df5 --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.bb @@ -0,0 +1,5 @@ +%%Title: gw1.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 178 259 +%%CreationDate: Fri Jul 29 05:12:40 2016 + diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/gw1.eps b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.eps new file mode 100644 index 00000000..9e8c86f0 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.eps differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/gw1.jpg b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.jpg new file mode 100644 index 00000000..3fcbf885 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.jpg differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/gw1.pdf b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.pdf new file mode 100644 index 00000000..2e54ef71 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.pdf differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/gw1.png b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.png new file mode 100644 index 00000000..796c2b26 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/gw1.png differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja2.bb b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.bb new file mode 100644 index 00000000..1ba54b5b --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.bb @@ -0,0 +1,5 @@ +%%Title: ja2.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 193 262 +%%CreationDate: Fri Jul 29 05:13:54 2016 + diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja2.eps b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.eps new file mode 100644 index 00000000..2f9c8ffb Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.eps differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja2.jpg b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.jpg new file mode 100644 index 00000000..a3b53c66 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.jpg differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja2.pdf b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.pdf new file mode 100644 index 00000000..db0ba8d9 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.pdf differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja2.png b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.png new file mode 100644 index 00000000..f5a648b0 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/ja2.png differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja6.bb b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.bb new file mode 100644 index 00000000..48865757 --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.bb @@ -0,0 +1,5 @@ +%%Title: ja6.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 179 256 +%%CreationDate: Fri Jul 29 05:14:07 2016 + diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja6.eps b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.eps new file mode 100644 index 00000000..46716f96 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.eps differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja6.jpg b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.jpg new file mode 100644 index 00000000..5935bbb0 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.jpg differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja6.pdf b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.pdf new file mode 100644 index 00000000..4698214b Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.pdf differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/ja6.png b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.png new file mode 100644 index 00000000..fed5e3e7 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/ja6.png differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm4.bb b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.bb new file mode 100644 index 00000000..9d9d5094 --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.bb @@ -0,0 +1,5 @@ +%%Title: jm4.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 178 261 +%%CreationDate: Fri Jul 29 05:14:17 2016 + diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm4.eps b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.eps new file mode 100644 index 00000000..eeb3113d Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.eps differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm4.jpg b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.jpg new file mode 100644 index 00000000..dc4d2585 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.jpg differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm4.pdf b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.pdf new file mode 100644 index 00000000..70b37487 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.pdf differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm4.png b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.png new file mode 100644 index 00000000..ccc4aea3 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/jm4.png differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm5.bb b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.bb new file mode 100644 index 00000000..6787f051 --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.bb @@ -0,0 +1,5 @@ +%%Title: jm5.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 171 260 +%%CreationDate: Fri Jul 29 05:14:28 2016 + diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm5.eps b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.eps new file mode 100644 index 00000000..342d3deb Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.eps differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm5.jpg b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.jpg new file mode 100644 index 00000000..bba5e98b Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.jpg differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm5.pdf b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.pdf new file mode 100644 index 00000000..b3f35edf Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.pdf differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/jm5.png b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.png new file mode 100644 index 00000000..1f5d8fdc Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/jm5.png differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/tj3.bb b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.bb new file mode 100644 index 00000000..ac3efd23 --- /dev/null +++ b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.bb @@ -0,0 +1,5 @@ +%%Title: tj3.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 174 256 +%%CreationDate: Fri Jul 29 05:14:49 2016 + diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/tj3.eps b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.eps new file mode 100644 index 00000000..48266737 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.eps differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/tj3.jpg b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.jpg new file mode 100644 index 00000000..8fc75c7d Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.jpg differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/tj3.pdf b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.pdf new file mode 100644 index 00000000..d2d7493d Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.pdf differ diff --git a/texmf-dist/doc/latex/ecards/examples/presidents/tj3.png b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.png new file mode 100644 index 00000000..78aa51b7 Binary files /dev/null and b/texmf-dist/doc/latex/ecards/examples/presidents/tj3.png differ diff --git a/texmf-dist/doc/latex/fc-arith/README.md b/texmf-dist/doc/latex/fc-arith/README.md new file mode 100644 index 00000000..e55c34dd --- /dev/null +++ b/texmf-dist/doc/latex/fc-arith/README.md @@ -0,0 +1,32 @@ +The fc_arith Package +Author: D. P. Story +Dated: 2017-01-16 + +fc_arith is a LaTeX package used to create an arithmetic flash card. +Addition, subtraction, multiplication, and division problems are randomly +generated. There is a menu system for setting the intervals from which to randomly +draw numbers, and the number of decimal places these numbers should have. The user +can optionally compete against the clock, and awarded points as a function of how +fast the problem is correctly solved. + +The flash card created by fc_arith can be customized in many ways. Design and build +your own flash card using any of the standard PDF creators. + +What's New (2017/01/16) Require eforms dated 2017/01/15 to incorporate \olBdry into code. + +What's New (2016/12/10): All the standard PDF creators can build the demo file +fc_noacrobat.tex. If you own the Acrobat application, you can also build +fc_acrobat.tex using any workflow (dvips/distiller, pdflatex, lualatex, and xelatex). +Additional commands are defined to localize virtually strings the package uses. A +redefined menu environment (MenuFC) is more flexible than the old one. Fixed a lot +of bugs found by my greatest user and tester J. Gilg. + +Requirements are + 1. The eforms package (version 2.5c or later, 2010/03/21 or later), and + is available from the acrotex bundle (http://ctan.org/pkg/acrotex) + 2. The popupmenu package (http://ctan.org/pkg/popupmenu) + +D. P. Story +dpstory at uakron dot edu +dpstory at acrotex dot net + diff --git a/texmf-dist/doc/latex/fc-arith/examples/fc-acrobat.pdf b/texmf-dist/doc/latex/fc-arith/examples/fc-acrobat.pdf new file mode 100644 index 00000000..9263fc5b Binary files /dev/null and b/texmf-dist/doc/latex/fc-arith/examples/fc-acrobat.pdf differ diff --git a/texmf-dist/doc/latex/fc-arith/examples/fc-acrobat.tex b/texmf-dist/doc/latex/fc-arith/examples/fc-acrobat.tex new file mode 100644 index 00000000..235b9431 --- /dev/null +++ b/texmf-dist/doc/latex/fc-arith/examples/fc-acrobat.tex @@ -0,0 +1,134 @@ +\documentclass{article} +% +% This file can be built in one of two wayd, each method requires the Acrobat application, however +% (1) Using Adobe Distiller: latex, convert DVI to PS, and distill +% (1) Using pdflatex, luatex, xelatex: insert the useacrobat option into the option list +% of aeb_pro (2016/12/10 or later) +\usepackage[ + web={usetemplates,pro,usesf}, + useacrobat, + eforms +]{aeb_pro} %[2016/12/10] +\usepackage{fc_arith} +\margins{.25in}{.25in}{.25in}{.25in} +\screensize{4.3in+25bp}{4.4in} +\textBgColor{webyellow} +\makePDasXOn + +\DeclareDocInfo +{ + university={\AcroTeX.Net}, + title={PDF Flash Card: Arithmetic}, + author={D. P. Story, AcroTeX.Net, Northwest Florida State College, The University of Akron}, + email={dpstory@acrotex.net}, + subject={Practice elementary arithmetic operations}, + talksite={\url{www.acrotex.net}}, + version={1.0}, + keywords={AcroTeX.Net, arithmetic, flash cards}, + copyrightStatus=True, + copyrightNotice={Copyright (C) \the\year, D. P. Story}, + copyrightInfoURL={http://www.acrotex.net} +} +\DeclareInitView{windowoptions={showtitle}} + +% +% Set the ranges of the operations +% +\DeclareArithParams +{% + addT={[2,20]},addB={[5,30]}, + subT={[1,5]},subB={[5,10]}, + mulT={[1,12]},mulB={[1,10]}, + divQ={[1,4]},divB={[1,10]}, +} + +% +% Optionally insert a logo in the upper right corner using \rheader (part of the running header). +% +\rheader{\parbox[t]{.5in}{\kern0pt\includegraphics[width=\linewidth]{graphics/nwfsc_logo}}} + +\begin{MenuFC} + \fcOptionsMenuItem + \fcToggleKeypadMenuItem + \fcMouseKPMenuItem + \fcTouchKPMenuItem + \fcAboutFC +\end{MenuFC} + +% Import and place icon appearances +\declareMultiImages +{% + {path=graphics/fc_icons.pdf,page=0,placement=StartAgain} + {path=graphics/fc_icons.pdf,page=1,placement=[1]StartAgain} + {path=graphics/fc_icons.pdf,page=2,placement=NewProblem} + {path=graphics/fc_icons.pdf,page=3,placement=[1]NewProblem} +} + +\begin{docassembly} +\insertPreDocAssembly +\end{docassembly} + +\parskip0pt\parindent0pt%\previewtrue + +\begin{document} + +\begin{center} + +{% + \LARGE\bfseries\color{blue}PDF Flash Cards\\[1ex]Elementary Arithmetic +} + +% +% The arithmetic problem, \arithProb: top, bottom and operation. This command is REQUIRED. +% This command generates three text fields stacked so that form a standard arithmetic +% problem: top +% op bot +% + +\arithProb + +% +% \alertbox is a text field where a right or wrong message is written--REQUIRED +% \startAgain clears the statistics field, re-initializes a variables--REQUIRED +% \inputRegion is where the user enters his/her answer--REQUIRED +% \Keypad allows user to enter answer with mouse--OPTIONAL +% \newCard random selects a new arithmetic problem (add, sub, mul, div) depending on the +% combo box \cbOperation, described below. +% +% These components can be moved around to a new design, thought I don't know what that would +% be. I have no imagination for design myself. + +% when using xetex, we have to squeeze things together to make everything fit on one page +\ifxetex\vskip-2bp\fi +\mbox{\vbox{\smash{\alertbox}\startAgain}\fcSep\inputRegion\fcSep\vbox{\smash{\raisebox{0bp}{\Keypad}}\newCard}}% + +\medskip +% +% \cbTiming is combo box use to set a time limit on answer the problem--OPTIONAL +% There is also a package option, notimedscores, that removes timing calculations +% from the PDF, no statistics, no alerts. The option notimedscores makes the combo +% box created y \cbTiming into a readonly field. +% +% \ansField is the field the user enters his/her answer into---REQUIRED +% \cbOperation a combo box to select what operation to use---REQUIRED + +% see xetex comments above +\ifxetex\vskip-2bp\fi +\mbox{\cbTiming\fcSep\ansField\fcSep\cbOperation} + +\medskip + +% +% This calculation computes the width of the previous row of fields, and sets \cs{fcWidth}, +% a dimension in this package, to that width. +% +\settowidth{\fcWidth}{\cbTiming\fcSep\ansField\fcSep\cbOperation} +% +% \statsFields is a collection of text fields to display user statistics---OPTIONAL +% +% see xetex comments above +\ifxetex\vskip-2bp\fi +\makebox[\fcWidth][s]{\statsFields} + +\end{center} +\end{document} \ No newline at end of file diff --git a/texmf-dist/doc/latex/fc-arith/examples/fc-noacrobat.tex b/texmf-dist/doc/latex/fc-arith/examples/fc-noacrobat.tex new file mode 100644 index 00000000..793a1b45 --- /dev/null +++ b/texmf-dist/doc/latex/fc-arith/examples/fc-noacrobat.tex @@ -0,0 +1,120 @@ +\documentclass{article} +\usepackage[usetemplates,pro,usesf]{web} +\usepackage{eforms} +\usepackage{fc_arith} % showkeypadlink +\margins{.25in}{.25in}{.25in}{.25in} +\screensize{4.3in+25bp}{4.4in} +\textBgColor{webyellow} + +\DeclareDocInfo +{ + university={\AcroTeX.Net}, + title={PDF Flash Card: Arithmetic}, + author={D. P. Story, AcroTeX.Net, Northwest Florida State College, The University of Akron}, + email={dpstory@acrotex.net}, + subject={Practice elementary arithmetic operations}, + talksite={\url{www.acrotex.net}}, + version={1.0}, + keywords={AcroTeX.Net, arithmetic, flash cards}, +} + +\DeclareArithParams +{% + addT={[2,20]},addB={[5,30]}, + subT={[1,5]},subB={[5,10]}, + mulT={[1,12]},mulB={[1,10]}, + divQ={[1,4]},divB={[1,10]} +} + +% +% Optionally insert a logo in the upper right corner using \rheader (part of the running header. +% +\rheader{\parbox[t]{.5in}{\kern0pt\includegraphics[width=\linewidth]{graphics/nwfsc_logo}}} + +\begin{MenuFC} + \fcOptionsMenuItem + \fcToggleKeypadMenuItem + \fcMouseKPMenuItem + \fcTouchKPMenuItem + \item{title=AcroTeX.Net Home,return=acrotexhome} + \item{title=AcroTeX.Net Blog,return=acrotexblog} + \fcAboutFC +\end{MenuFC} + +% In this example, when processCustomFcMenu is called n should be 5. An arbitrary +% list of menu items may be specified and processed in this way. +\begin{insDLJS}{cmfc}{Custom Menu Events} +function processCustomFcMenu(n) { + switch(n) { + case "acrotexhome": + app.launchURL("http://www.acrotex.net",false); + break; + case "acrotexblog": + app.launchURL("http://blog.acrotex.net",false); + break; + } +} +\end{insDLJS} + + +\parskip0pt\parindent0pt + +\begin{document} + +\begin{center} + +{% + \LARGE\bfseries\color{blue}PDF Flash Cards\\[1ex]Elementary Arithmetic +} + +% +% The arithmetic problem, \arithProb: top, bottom and operation. This command is REQUIRED. +% This command generates three text fields stacked so that form a standard arithmetic +% problem: top +% op bot +% + +\arithProb + +% +% \alertbox is a text field where a right or wrong message is written--REQUIRED +% \startAgain clears the statistics field, re-initializes a variables--REQUIRED +% \inputRegion is where the user enters his/her answer--REQUIRED +% \Keypad allows user to enter answer with mouse--OPTIONAL +% \newCard random selects a new arithmetic problem (add, sub, mul, div) depending on the +% combo box \cbOperation, described below. +% +% These components can be moved around to a new design, thought I don't know what that would +% be. I have no imagination for design myself. + +\ifxetex\vskip-4bp\fi +\mbox{\vbox{\smash{\alertbox}\startAgain}\fcSep\inputRegion\fcSep\vbox{\smash{\raisebox{0bp}{\Keypad}}\newCard}}% + +\medskip +% +% \cbTiming is combo box use to set a time limit on answer the problem--OPTIONAL +% There is also a package option, notimedscores, that removes timing calculations +% from the PDF, no statistics, no alerts. The option notimedscores makes the combo +% box created y \cbTiming into a readonly field. +% +% \ansField is the field the user enters his/her answer into---REQUIRED +% \cbOperation a combo box to select what operation to use---REQUIRED + +\ifxetex\vskip-4bp\fi +\mbox{\cbTiming\fcSep\ansField\fcSep\cbOperation} + +\medskip + +% +% This calculation computes the width of the previous row of fields, and sets \cs{fcWidth}, +% a dimension in this package, to that width. +% +\settowidth{\fcWidth}{\cbTiming\fcSep\ansField\fcSep\cbOperation} +% +% \statsFields is a collection of text fields to display user statistics---OPTIONAL +% +\ifxetex\vskip-4bp\fi +\makebox[\fcWidth][s]{\statsFields} + +\end{center} +\end{document} \ No newline at end of file diff --git a/texmf-dist/doc/latex/fc-arith/examples/graphics/fc_icons.pdf b/texmf-dist/doc/latex/fc-arith/examples/graphics/fc_icons.pdf new file mode 100644 index 00000000..f09ef44f Binary files /dev/null and b/texmf-dist/doc/latex/fc-arith/examples/graphics/fc_icons.pdf differ diff --git a/texmf-dist/doc/latex/fc-arith/examples/graphics/nwfsc_logo.eps b/texmf-dist/doc/latex/fc-arith/examples/graphics/nwfsc_logo.eps new file mode 100644 index 00000000..7f28723c --- /dev/null +++ b/texmf-dist/doc/latex/fc-arith/examples/graphics/nwfsc_logo.eps @@ -0,0 +1,8518 @@ +%!PS-Adobe-3.1 EPSF-3.0 +%ADO_DSC_Encoding: Windows Roman +%%Title: A9R88CD.tmp.pdf +%%Creator: Adobe Acrobat 9.0.0 +%%For: Donald Story +%%CreationDate: 09/29/2008, 3:43:37 PM +%%BoundingBox: 0 0 78 74 +%%HiResBoundingBox: 0 0 77.2364 73.4901 +%%CropBox: 0 0 77.2364 73.4901 +%%LanguageLevel: 2 +%%DocumentNeededResources: (atend) +%%DocumentSuppliedResources: (atend) +%%DocumentNeededFeatures: (atend) +%%DocumentSuppliedFeatures: (atend) +%%DocumentData: Clean7Bit +%%Pages: (atend) +%%DocumentProcessColors: Cyan Magenta Yellow 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 setblackgeneration + dup null eq{pop/AGMCORE_currentucr load}{/Procedure get_res}ifelse setundercolorremoval +}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 + 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}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} 842 (% &end XMP packet& %) ReadBypdfmark_5_string + + + + + + + + + + + + + + + + + + + + + + + + + +% &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 -73.49 translate +pgsv +[1 0 0 1 0 0 ]ct +gsave +np +gsave +0 0 mo +0 73.49 li +77.2363 73.49 li +77.2363 0 li +cp +clp +[1 0 0 1 0 0 ]ct +80.99 73.49 mo +0 73.49 li +0 0 li +80.99 0 li +80.99 73.49 li +false sop +gsave +/0 +[/DeviceCMYK] /CSA add_res +/0 /CSA get_res setcolorspace +clp +[1 0 0 -1 0 73.49 ]ct +[82.4898 0 0 74.9898 -.749907 -.749892 ]ct +snap_to_device +Adobe_AGM_Image/AGMIMG_fl cf /ASCII85Decode fl /RunLengthDecode filter ddf +<< +/T 1 +/W 110 +/H 100 +/M[110 0 0 -100 0 100 ] +/BC 8 +/D[0 1 0 1 0 1 0 1 ] +/DS [ +[AGMIMG_fl 110 string /rs cvx /pop cvx] cvx +[AGMIMG_fl 110 string /rs cvx /pop cvx] cvx +[AGMIMG_fl 110 string /rs cvx /pop cvx] cvx +[AGMIMG_fl 110 string /rs cvx /pop cvx] cvx +] +/O 3 +>> +%%BeginBinary: 1 +img +(pC-IZF%!F['[!C[&pI;ZELX=['['A[']S6"0er2Yj\poZLP7+['R!B['[0DpTjk,rj)X+BD_`@YHP17 +['[0H['-jDX/iV3Y6hV@['[$@['[-Erj2U0!OK*1Y5kltZh^iqZNmkCYHYC@Z`j22#I:\CZEgm:@/L!C +TqS6XVl-DhW2$5gT:`'YTr4Z_W2$,bVkp6hVZ*ClV?!IkUB%.[VYR(YV?a#qUSXicVPEsa#Gn;qV5:,^ +>5S@=VP^K/`PoX0aLT1@St=WKVU`)kft4B'`P91e_#D(Q^q[Ll\\#WM_#(qC^%&lC`P9$u_Ss=&q7m6M +^r=('d$?-Y!#VoCYd1XCZa@*B['Zs;['HmBYI([@YdCe3ZNIG7Y-@B$q6L"+oWne0Z`paB['R"2ZN.B3 +ZN7+>qu@Y=YHY7<['R-HYI([;X0f+7[BR$FYHYC@ZEjJ9riuR2ZMgs,ZLG3rYjo%%['Hm>"15GAYPGL0 +ZEppDZF-W=qu@Y/TqeH^Vl$>iUSau^T;\T[Vk^,fUSF]aV5=0grhTXmV>[.hV=:AXV=CDfVkp/bVPg;d +q5+:kVPg8e!iV\oqu@Y4VQIPN`PB@3\\d$kT%UfSe[<9I]*jNq7Z=6#K=Hi +]u%b(]D95I^VIh'^X/8qqu@#0['dBNZa@*G!4Mj5"Lb\I[^5t?rjDm9['TV9"1,AAZe)Ph[^9;g=aj'rn.P,g""HmbL"f7g%NtoebRnoeHagY +bL"tsg!KQJ#M%M\e^`\@&cS\%&mB\,j%JrO)a0C]"/E[C*3B['[!>Z*1RBZ*:I>['0G4$*UM+q6f+e"h(eF\$'QE!"uWE['d9KYd(R>[BR'HYdLgF +[/RH8Z*C[=rj2a7Yd+28la?Pnn[/A(rjDd5p9b+3YdLmBY@@D0s/,do"K/2sVPX3h!N2goW;idnW;idp +W9pM\Vtm:]VZ<[pVuN^hVZs)uVl-Jf?2O[E^qe%7aOStt_S+.HbKJVi^sL0Ge^`C-g"=us`R*>mkgfL_ +rRLSk!87A%s4R+r#2._\e_-oWqu@A5YI(gJ[^3C&@rAYctL=Y->=A['6^9YdLmAriZX8['d9KY-GCA[-b9s[.1R"[-tC)['dl4R.Z*D:$f\4^!g"I7pf\+g*f\59:`Pp$Ad+I(!_SXLH +e]Z/5d.kf[g%j1obPBfkbPolfb5foab6H>HbKJV70DkePYHP=Brj2s>\?rWI['m?OrjMd4"1,GCZiIN2 +[/[Q6[f['[!?A,H<1USF`cVl'Ej!N;dlW;`^HW9pM` +VuEXpVt$\dUL*iu)n!*(g"!sig>UT']@koZg"YB:J3e_8[7f\4F#f\"p.ec+;$g"4p_e_8^1g""g0pY#f(g=k2a2#I=nYHPIE[(<]%'r8:H +Za[HD=W`^6\@8uTYHY@A[f*Q7Za@+C[^NTNZgkEuZgY7$[JmN6ZaKV9#ICeGZa7-EC&@u0YSaaNYBgqR +YHY@:XeJN2K!);\YdCU;[B?\3[/RH8Z*:I;pU0t,rNu+&q6UC7[B[*H['d15[0[&nHQ#bA*% +[C*,p19\*gWF\J(="n3fY,HY(:K'DhY-:8M7S4k%4#p]Q=WWR)YHa]l0mB?i.Wr,$XfZNG['[#)3KS\9 +:Kp%QYHWm^8iotZAMlJG,XasS9X(Y,[C!/HquH_m%B-5&Vf2\?P,G7WVl,.I0)hb$SRFfg<%DFOVk.rb +92IZZVkZL26:`1m2`4m9<>pRbW2PtN/TI.Q-ZH#_VkIl)W$.p%2MlZ%9348CW2P>D7Q=5C@PTf9+@/4E +8Y`5^W2QIrqu@nR]t`7R_Vl=3!+te[BR0%3$\Wq]=::ClW2HM&#*c$- +#]$?:Ve[3;Vl6OF=K%Z&99k^R[U:[bAQSl4Y5!Q$X[^irE)DJV/#_]e# +D@EYW\%[\)VnTUF]7(9k]OtHYdCWW%AL)18/J5,NC5'LYc`%1Y-4c4 +)dKPQYHOK92heE:ZE^^iA:4kTfDjl6=@XlJ'k-3.*,iS!-#!*%\+ +aOqC1HeIEZ!1)V,rW"1VjV%XHj-'HEiPO:-AcMfajkdc2^YrAs'Aggag<81%fs*"(!!'B=['m?K[^^lN +[(2h;#ck[l4Lp.GTXqM;[][5u#a;CrB==[6S$]Q1[YY0b\?iQRIK3DM>#];X$`g_EN9['6sFYH;k&[&oW'$DstK1cDL\!LBps['$U7 +H4#D.$dW2GR]#+DE.0rK!kN2NSPW2$;4#(N9M=/Q+a6APQ=2PtU"Pc(CW +VeZ?)8P;KU(CHV/VKiB%W'kob"cB35Dl9M.#q0FL@&U#M"pAnDW26GjO9p62q5=:"quAOi_V32Sg>qu7iP=.*&-)_0!&4TV!/B4d,lgBl!$sc.9B6'f +i8M9J!"8i3g"7VO!#OAA^Y.OO!%-dJg=aR$g=XJ)quB-jZF76L[^_&X[C(aiiF/?c1_[&nWYSZ]B* +X`4i8YGnD+A-f'9YG`.CW%k3R%UQ=kUpRD7%n)t7IBKcVQRiaMF0;pRY+#rOXgPF;YHYF>Y[[M1s/#[m +&#OA*W2HSK#Tf1q6Dn>qL]459Vk^/D"+6pZ,%)fIVl-JlVfW')W2HSlCC?&pSXQHa"e2EfS.Jtt/XrXG +>GEX8W2?I"6'QG7W2HPR.0+8bW!'#\$@/QGVu`YuquCED^"Cu\g>h3X!!$PN!87_Z6/^JNhQ>g$ +!%PY^!!WE'gYUW)h];c0f[\^7&-,M*R>/Zb!/]ajNrT?L!0#Y4"M"M`g#:H]!,3Drf\>Fc!!!\bd+I8c +!%$OLg=b05d+YTTqu@&/ZF76LZako_ZW4H@^7,?SI8%/:#C3hf[(*EPGmL:S"`Co%"cKh![^_/!U:.S? +\98:]\[JrYJHr*a]!b<[F)e_%ALDA.[^XD5YSXIM +[B4g>[B?p?O:!1L6Ec7RCTXhJYcpj(CC6]@#@OZT#CWk]Y-!'YRBWm!X_/0CYHG+3EseSDXg(5;ARr$I +=X7BZYI(O;#\C0CYHG:@Xfs_bTWPT)SI9YF['d9G['@!>B)DW7V5:,hVl6M93rZ'"VhkU"Bg8MI#%sg3 +VPp>hB*OWu"C.mB"F$`AW2FbB23=c7W2=&3Su8NcVeu^)Vl6IX+(8QUW)XsG=/W!pUBG#'Vk^2gW2HRM +!1'L\Vj%F+Vl6NkVu`PuquAjm^"V,hd,,lEd+HP&7fWN"!9#g9%,]dUftH5N!-,jU"Q0jl+lV,,hAuZ' +g>UcC#QU1Nf\5n!!hQE]@bZWhq7u0Fl1m+B`K")aOSttg"P,Q3;`bN +Za7$F[C!N!4gVT,[()\;#"6&4-5!Ak[^NlQ1.8aT#_ot%?NZP&[_%(qWj]C>]7(Wu[^NQTK*%pY\@I_- +$`1DEV?.-d\?r]M$?$Tg[^WT?ZaRKJ#*u^+\>B7b]=>?LZideDX)7b7?F-uF[B[*BG;Ze5YdCNr%gY8# +XWeCYY-5(4Y:Mc;W!mmPX]#I\Xg,!L$Dao/YH;d]W3rhgI,$!sO,W2PuYVl--jJu>QFPlQ'+qPXFb@Jg-* +^^S*,g=bC$!79]X_V\)e!);D/!!&VNg=kYc!!)#E!#jnS!!"k4iSkLNJ_o%iiXc*Rg=k6>(BAU3g#"7Z +!+t*GB`J,^imles!!_KBg!FWPhVt+,2VZsFE<%6Ern.Iug"=Z44T#3YZk'LL\[HYnX15XG\@J(=0"+ci +Uc&sH['Z;q<3!X'!dM/`YY#1R]!uV`R^f`5\8MP>]m$7f +W2HBt18h(KV]uPIVl6MV"t?L6BpNLAV5@'ESuATcFp_`WW2QVmVl6Pg?2O[kbKJG_^Yd`O!/':`_Vs?? +!!(a4@K6BQ_V%EZ!.j3,!".B8])VgIi8+S:5N9c@h?EsEikOF("TW/ng=]"#,EALE28[C![^``RLF+ldA5'Fg1-ScW&XBu:['4s6BVr/C +['m?J\$'ND!<035YHYF,=X83nZ*gsCYFf4+['-?>82*D?Juu/^Hm_.I[B6WB8o'u,*c7s_[AueDF/ZFL +YYQN[W3EM6;ie&bYHWLoYHY:8GTnhA=$j-=/2g10M63qgY\l!rTX;,7YdLmBY5i&0!,/4*W2HSmPZ8iG +Tr=lfVl,ecU8XuY@mqq6?@/BCVKF+GOJo(P?UeXl?5[FKW2Q=V+`luVbi,GW2$;:Br@o. +VfNq1;,fcYFX]+<>_8oQVk[rT=I,naVl6MlW1mSq!"ciWg>LZ-CB=JQUY=8Oj5=eY"f^27L'[bY3!Lh, +hngE7!+=14\HW$@Ba+PHT%_P_!!![r^uMNs!"+qCj4+,ohV#Np,nJ__g=mPH!!*-$g)g4n&d1)Pf[[)7 +!!7;rd+-k#d+PBPqu@83YdCpI['QsCW404EZ`q%?[LTCI\@8iOYHkLF[^*9LY=>q+Ye.?I['R-BYd1aE +YILsC\@AlPY.1XA['mQM\?r`P]"58W['R['[9N['-U=\[/ZO['R6FC&@rdYHP=; +['d6B[A'h-YHk@8Y-5+1YcY(8ZEUR@Xg,+;Y->1;YH>(5['I*CYct::YctJlYHY.8['-[7[C!0AYckI< +[B6X>YdC^%3ri[KMYHP1:YdL[=Xg#19['d*@[BHg=Z`gd@YHb:=Y-kL<[JmYcb=?[BR'HYHMF5!<8toVuW^pVuEV)VPpAjVl6JkVl6MkW2?KkVuWaoW;`[tVPg>j +VZ*IsUSt)fW2KWn"fJ8sV5C0hW!&loW2HQjW!9,sW2QVlW;`[qVPsHk$)j`"Vl6MlW1mSq!#`bpd*'ei +d+R=5j2fs._V2fPg=a?sg=bHF0\O=^d*(+riS!5Df]:uFiS*AH^uNu"Z/Xf\fu;.fg"#$7]tiRQg"G)k +d+Hn/g'3[C+]EfYuLd +$K9XQd+-k#d+PBPqu?i*ZaR7?ZN[_C[C3NQrNmQQ[(!HO[C!BM['mENZ`ppC9*0:#?q7*&Z`^@8rNnJg +]",#FVQ[A<[]m6EXKT"7[^rlU\#Z^7ZFI6BYcb16ZF%-M\$WHL[^WEJ[(!BK[^Yck73YI(L@[BR'HYHMF5!!K0rVl-EkW!TB#Vl-JlVPgAkrhogpqku9J +W2?>gUHJ]iIo/7kW26/XW2QVlW26GjTq%@AW2HPgW1olWW1g,eW2QVbUS"B]V4RX\$`0f"VPpDhW2HSe +VuEV!Vl6MlW1mSq!$]4ogXX*dd+Qt'hV6`,_UZi^aOo5$g;r"%aOo8$^q872!(?ko0*)&gfY=,Dd*'DY +ftH>$VN5Mlg#:\tfVtC9aJ7JLg=bMS[@Y(b^RVF:Z)t^_hVm/<^"V5oU"e8Rd+-k#d+PBPqu?f%YIFM= +/[Vjk[^EKL[C*#?"6oK +X15UFRl=NG[&eKu?t)c*>a)M+rj3-EULU10['R-J['R6FC&@r4YHP,.YnXRQ[BQpD[BZm<[B?gC['6j? +YckG5[3i,cYc_OBYHG'rYI0K@2Q3j_Y-4t">;5I86D@ZW2>A&99?*DAKF]H4[Mkm!iDoprhg0d;jF;ZW2HSlW2QFrqu?eqVV(n%9>]'+ +g=j`ng=Y**fY>VKftZ8$g;VUhe_8R6j9G[^jl'7ob=Va7O4r7=g#?lN!!WW-!EA(5M&63m!<<1[in2+: +!!$EJS-f5s!WE'20>QSg`RWgQ!H-WAd+-k#d+JH!0`1n[YctUDZaI-L[^?`plJXqs72\@.G#O1)6d9FXe#\@/cV +JcLtG['R-J['R6FC&@r;YHP+9[B['BZ*cX"[C!3H[C!0G['QpCYctO?Z*^m@['HfT%B6J3[BH^3*]1() +ZECQ+U7U#FkF +iY;GFikj'mg==R'WA+5M"1,>@\Gii8[HOt:\9f*j]=$/%VJ]J[rBa +"g5DCZnGIh[(2_-VRa:J\UX['\[T,U5RK6W\?rTL[C!9HC&@r:Za7$C[C*BH[HY%LX_eoIXgG7=Y-/g4 +Y-PF=Zl;oGXg#"2Y9#!sY*oc@XfXemXKT"<.8$bMXV-d"SZf0!YB'_WXfnk43=ROAYl;$5Z*^pF@Jg*. +VP^;jVuEUpVs1,^Ve?g0rhp4&W2CItVkp;hW#&5.V^JF@U)G2RViV1%Vl2]\TVnZc-:k)4VhtP?Vl6Mk +D#e(DW2HIL#q5\L"/`#o>l4R-^qeXVe]ZY"e`kaJh@0I#j2fm'f\c`0i4m7fa8c5#hrEDHW;lq>j'Vj$ +hVnM8U#X#C!!(ZghFdi_j5AnV&HE*og"sLC!"%T:bL"Gd_U-(MquHc'!OTB9ZiIMtZjXEd!+KP'E4!*a +-V+0E0t<8GS%Gl1[^`qN"e3'%#EQL16Vt7u\[*8P[^N]5!M?a-ZF7/!&ZrLKMcG`AP.A""[f3T5C&@r: +Za7$C[C*BH[J.'"ZjX!I!EE8[A$iGD,X)+02hD6pXg#.8YcUS(OKYAcK!)4;7^'5%ZPuBW2QVk(IJ,!&q^:FW2HJjW%&:LVPnZ-Gm8_qrhostW2QOtqu@#<^tIDkbLtV"l.Ha,#64c+ +!!^PI_sHZaM,X\$`]/ +"erN8[^Wkd!MQs2?&#j;8@H";['m?KY%mk7#d^kEYdLmGZ*ii'26LQtO.U<$YH>2X40PiqX_7a-YHG:: +YHH!WUJ#B3@W#\;*W"OR_O/JnQW2Eo'Ni8jNEi(!A +VZ*LrVl6Ph!+#L&#f+7/g"":!g=>H@5NE(M6Yd2;g>C6W!86,Rh?a1%i7Q5bg#>F#*oheO"OLHT0]:^# +g&M-+g=S(Z>N+;pf]!&7Bq1jTBt\@K&UZR8_^[(;e.Tt@\?['s]ZVn/o5=+N45X1#LE['R-CC]"/4N8`F+e^2LI +1].4TZa7$Krj2[5kd3.SJe4uk['m?I[NA5S[C3Z0!,K +?j<@.QjR`7Hk1V/YdLka8$0,&Pl[;T['[!<5p!D8<\0MjHjEfXYI1aF!jo1@qu?ksVPpGkrhogpkbo_E +%@j>pVl6Gi)*k*uW2G(E=f/-qW2QV!".,pH#&0uY$?`9GVu\#/rh^Tm!0=%VVl-CT)Q9Q4.?&b!"B;:s +W2HSmUKm]s#f+7/g"":!g=>H@8(\OVO5&@BbIuX1!9;ecj"165jiGEnbMr^*Hf\B1&)&0,*o>Vtb5_P" +^u8)i>MdH?j50h:g#2r3:bWpj!or7_`R*;G0DkePZa7$Krj2[5n$Mqu8%W[FYIh0M[(3ag5.J24VmJYn +Vn'CH];.*"\%8FAPe4V%"-L4*[j+n_\@J+2QFaT9[ZWA"]YW%eLEVl-JkOX=HBW2PpbJZ,J0 +"+C0H!?4N-VZM\VK)MSUIOK67W#gkqVl*N+T_t_hUKm]s#f+7/g"":!g=>H@/)ga5UZ0/CaPPhT!8lbl +H,oscGi7Q7iF2ckg#-WG1udQr!%[$eirB)=i>^WG!&ilriS,pa)WJg<:#b$a!W\qHf\+s3[4M4U"1,>@ +\Gii8[HOt[\k!!l\?iQL\u-SqR%o^Y\>qA#J?PiE6X?k,\!@;,[^W\8!J.JP%l^Q#[tY/fYH+IO3G,_. +DA]@^[L0I-!.h2[\$WQHC&@r:Za7$C[C*BH[HY%gYW2bp-HW.G:OW2QUT")am"$ne!IW,`)2Tph*_0NY-M>SNS)VZVGMDO^U'!M`ot +!!pBUg"Fp!g"P!Og%*fdhuEa>hpB?qi,\ku4CBN>fo,n2&[?+X!!'Rhferg1g=b0[!#3%f!!%c3fbshj +VLr=o!!;-5"9?6$W\?pNT8Rbtg +\$rfQH;&R\YIh/p8r/(&>*u_%JP0N]G$nmS]"*u-@&LQA[]a:%R'a?0['+3A!!op;['6sG['@%'Ziuh" +8nFX!riZWh<^]ta8o(]6Zit535?1U8riRcYCdMj.YcY9T5C.EI:Q)K^F?ru.B2r*#YHNXUV87nfuW+S=W;GM]>W!6m!AX&sfVB'V=FDjfF +K;bP_4]G9g;,rRQVg_99QD^UYUK&murMTal?2O[.^qeXVe]ZY"e`ka(9mZ +!!!$"/cOB>a:/+VCUN-<(]YTl!!#(6XV:a:!=/]-;A.pJ/H>fmi5"!Q!WY:)fuqRD0`1nQZa7$Krj2[5 +la.21[^`ZT]!SiQZadBN\$iaD[iVlc\@8fO[_&lQ[^3EO]!o2Q\@B/R[^`rY[(!KR\G`iF\@/`P\@T5X +\$WNS[^Z7C!4Dp3C]"/j +W2HMjW;`[sVPpDjrhogpr29drVl-DiVuEV@USt)gUSk#gW2HSlVPgAkVl6PlV5L8iVl$DkVPpAjVl6Pl +UL*iu#f+7/g"":!g=>ZFrmaWpg=a:"jOq`2^u@\Gii8[Hk1/[C3TT['[9N[^`KIZapCN[^WTQ +['mC?[O&8h[^NQN[C!-G\$rfQYe%9QZadHM[C3KM\$rcPY-tdGZEq$Krj2m9['R-KY%RY4#d^kEYdLmG +Z*j&-rj::Xfnt:Yd(O>YHbI;Y-GC< +Yd(R>Z`^I<[/IB7['$KZFrm_\9g=bH(aP5A"ft#)K +i7Qc9d+QtJg)/SugX+U,hSn4&e[=8df\4EYi7lr3g#9aGg'lZef\4ldg>U_u^t@9Gfu;Lge^3"%Tdfm> +"1,>@\Gii8[Hk1+[C3TL]=YYa['ot@$+%+IZa@-C\$WC;ZnAej[^irY[^`fR[(*TRYI(XE['d6J\$iWM +Za[9JZa@*K]!SWJ[(*WS['R3ID>XD6ZNde@[C*BH[I:L%[/dK2YSsXHXg#49['d9KYI1[CZ*1@=YI1dF +['d*@Y5YOGZ*1=;['6a;YdCa>[B[$BY->7>[B?pEZaI0DYI(L<[/R94[C*3DBD_`4VP^;jVuEUpVt[.c +W;`^oW!K/sVPpGkW2QWmW!B/sW2$;hUSn'h!iMckrhfdoVu3IuVk^,dW2HSjrhojpVuEV"VP^8hW2HMf +qPXInV-s3$#f+7/g"":!g=>ZFrm_2+g=`Ugj?);Qe_&R*aO&Ve^W"p;g"!^bbLtRlg8W`^hVR5Nf\+@! +g"N^J^t@2k^Y7>o^r=[Qd)*TK`S'1d\_@&9"kq/Hg:o]H!!BR6[(-+B!4D."(:CT\\>u*g[^NNR\@8iU +[^W]R\@K&T1V1$(\@B#R\?r-*Q_p[k]!f&W\?rZS['R?Q[^TV8QkY7\"@YdLa=[C*-@ +YI1RZFrm_S6 +g=bJH5t0M]^u=8)aPYb*rn]NjgY(WDj4W,<^#$V?:cWZDj5AYJhV$H5i7634j4i,;hV$i?j4WDMg>g`6 +g"tH8gXX9rYlH][!!BR6[(-+B!4D."/[`$sWGe/lR&-IIS"6piX1>!nURRjMXIH)\[C3ZLKRoGU@[jj* +S!BYY\=obuZl,C7[^N6#U8GB-U83pA'Ycsj2MiE^e +Q]mMo[BHI0RZ3bsPa\V6SX?[bXflkhMMbDpYbI59QE@BYS[>f3Oeo4aW.gY3YcaC`Jr6b7Pb"8B['@!@ +X^M&,"K&&pW2KWn!2o:arhoao!14O.K8##BNf/^NVkKQWOG/dPMiaNdP`GaA-DPNtJqHsWVjE3kN2W\9 +P,>1VM41B@SUZ`cVl5Z=I"S2mMis0mrMTaj>5S@+^qeXVe]ZY"eaM2jeJ-`kfmX,d4Zm=U9gq_*VM@ +\Gii8[Hk1G[C3T31on0XR"l]JQa_N[[[W^[>F;(>4c#T:\%.;_Uq""0Y*:2WRu^En[r,Za[\lET\@%&U +PGYRFB:+m>X/\R(S#`p(['m/Qqu@#/Za?sE[C!3Hn$N)%2R0KjMCtj2P)FQ)MMeTY>d9BO6Vi].H8U#1 +Y-4sR4.EFUR'2<]OFfu>Y@(A6Yb4"2Xg*(/'8E-`JQn%eI&Ec%?BD%kZ*gd>@f-3/VP^;jVuEUpVsgS` +VuEV_K.3CiMM#seJqL">=Jgq05YZrmF>@onW2QV930C,;O/%8=LjML&W*E6!Vj95jVl4VlJ!?^T=+c!F +S!c6>Lmk9@VZNck?2O[.^qeXVe]ZY"eaM2jeOnQLff9%uj%DEP!&cjj'*@,_56([G<#u#Z7G-;N*WT[. +i*!TI$q2TF%G:jbg"pcM0](M%!&/2j-NZ=_*fPXM"@\'ug==ob1Ah+SZa7$Krj2^6[-Y.l[C3TR-8qR1 +\=tUd\Z]HlVRX<>H+:JO17bSV[(0R'\%/oXY;_BO]8.K7BN)LQXXBLI[t?]>[J]Y1ASZoWN1ZFIBN +['+3A!!op;['6sG['@%.ZiIK4[/dK2YXTfjR'*W\.'9\W<@4??Y"EK3XbeTlYHP=8SGW1kkeVl+VRW)uHcVk5)cW2FSgQ_ooiP,G4KVku.\Q)1CWVPp1nqu@#< +^tIDkbLtV"n(I]j*ST6#g&M+Ujl0JEhrD*F!--lV!".WC2#p:[gY(F7!Jq1+l_H%!6>3AiS^:- +4Q,69!.2Rp!+b3PPM3kR%;rl0DkePZa7$Krj2[5la/:P[^`iN5T6`6ShI7[N,BnF\[Gd]\@R\D +Odihe\P"]hZa[KE)54LMWtqFQA%3JaZne2\]8I\oUmN"+\Z9nOZo)`iX1,UG\$'TF!!op;['6sG['@%- +[/RHtZ*:I7YW3W%Xck38Y'sb%:Tq$$@'?_`*e]TW[')bHXgP=7U)99&YGN)'B3)4AZn.BEXaM1FS;S5k +Xef^($FDKpO/T4c['-]Dqu?ksVPpGkrhogpn#65`rhpg6UGWdXVMcdoVg)Jf9rFj`?)OTH)L[C>W2Dd- +rhq! +O4`.,fsNX6!!BR6[(-+B!4DR.o!CWW\$I'A];?UU\mpkR+fDkP>e.D*5-M?"[^VJCICZqnVG1%$]ne\[ +A5BhGXZDr^\q`PZ[&Y$m]<<-E[PsBKZim_C[]aBB!!op;['6sG['@%'ZiQZ#4gc5eY+H]AX]C$q*hf`1 +;6I$O2Qa?oYHWg(DQU+GT0l/OY'Mk*=%'0oX#,m>YBW(1[&=g]XfiY,YVLq2[0*\:X^M&,"K&&pW2KWn +!2o([&s9)j(PATL(oO<2Hu9jhVb'U\0;j+PTr=ofVh#_"Vl-;S5XhWLF"jOl6)UWQ0SlX)F#BnpSePt< +U(rTa/q0atVuEUqTj%?o#f+7/g"":!g=>H@,@]][!'91V!7g!..MMl.huEc8h^/>uaO&Z$1]S'Di4Eb) +!$gF^*!"mu!9)Y'!(5Z%)Z\ODQ2hKUW;oZL!%lC;e^3%&UFH*@"1,>@\Gii8[HOtSLjb>%ZaQ&QZ^GU= +\4;(X?ZrlbM)C'N['R9NKO&MJHE!BNJVeoA[WXcqO.\aPMkPVZNtRV[QplU`<2Qi^D3Ufu\@8oND>XA> +Za7$C[C*BH[HY%eH>eCCZ`o08Z]/7mYAHn]es['Qm>F])[jCnctsF*r%aY\5kFJX8B%I$en. +JVC=f4`l'BTAeo?fj]5BUY+;D`LJd_!!BR6[(-+B!4D$t*P&Ve\?rQO\@/lVYI(jK +\%9)U['mKQ\$NWPYI;"@[LT^P\$icU[^3HP]!f&V\,NfC\%/rRY.M$I]!SjF\c&u9ZiR@Gqu@#/Za?sE +[C!3Hl*N%EY-+n6Yct76Yck7;YHG%3YHkR@Xfeh7XgPC:Y->16Z*gd=Y->(7YHY.3YPt[?YHb=6YdL[; +[C!-FZ*(76YckIA['+$e]$4=2#I=U +Za7$Krj2[5kd1Dp\$R![ZF@3E[^3?L]!SWMZaR6LY-t^E\$iZMrj3iV[]m*J['[6I[^3?M\$*0F\$NHN +['mY-bF['-[=YdCVjYHG7?Y-54< +[C*BHYck@:['d0HYdLmBYctOCYdLjA['-mE['6d:[Bd!DZ*gsGZ*:EBqu?ksVPpGkrhogpl)4i^Vl-Ji +W2HEiV@f`(W2$8eW2HShW2HPlVl6GirhostUSXofr29gtW2HDgW2KTm"/i)rVuEUrVkpZF'V9"gGDB +Y-2=4!!K0rW2QWnVuWakW:6_kVkp>iVl6MgVuEV#Vl6AgW2QVkVuEUpVYm>%VPpGkW2$8hVl6PkV5U0d +W!];uW2HSmVPpGiVuXA>Za7$C[C*BH[HY't[3)ZY[BHa;Y->=@[BR$B['['DY-Y=9YHP=;Ycb4[_[BZs>[BQjB[Bm-C +['6g>Y-bF@[C!dVl-Jg +USt,hW2QSkVPp5fW2HPlVZ*LqV5U?jW!0&qW2?Jirhogprhojm@/L!1^qeXVe]ZY"e`kaTbKJGig=18YckC?Yd(F?Yd(R@Jg*.VP^;jVuEUpVspY[W!B2pV5L8h +W29Hk!2fao!2ogp#,\>sW2QSkqksLmr2BXnrhp("W2QVmW2HEiW",]&W2?JjW2QVmW2HSf>l4R-^qeXV +e]ZY"e`k`nf[/Tf^"_8XfY%:=rn0Rf\4<`bM(V!d+Hn$g=s6l +f\+'oaMQfQd*U=rg""cN/GoJVSXlIQU7eBeXgkmP])B;QZE((.VP^/hWjKCM^:qV,rk8?=r2U44]t_># +`1ER#Z+\*T`rEjT]%s^uZa@0JZa[,Pqu@/7\$WEK[Bcj9Unk#jrM:%%XKJ_3ZF%6U_S=E]"7jR&$i7; +XJVkjWiEG<]=u#!`r<[O[f!<:[D'Jna2adCWj07Url,#U_7JI0#ICeG['R6FC&@r>\$r`L[^EEAY,%kn +Wr8aoV@K]1Y-P@?]=Yqp^V.=p^Ab25Yl(p;Z)jn&UnkiC]=+i=rhBOnW3P0c#IUtD[C*3A@f-37Za6m< +Y-G49Z*h!BY5PU;['R$BYct7)URI^CSXl:@WMoruW2TWj$`L)-Xfnq%TqeKbXT#F'XkTcYVl6MlW1mSq +!"?icdacdneCN1%fA#'Yf`fsVf%/@#rmLkkqp,2qs4[D%#hn.hg="EpcI2jHgt;VV!nuA_h:W%[e_8R# +fr6\'!^q-\GSt;j]Z+A!"rm3"9c,@5rWN!;5\@BDm`Pod2^pgSMVl-u3Vkg&]St;g^ +Yct:-U8%Unjg59!['m?J\$'ND!#E,U[]QR'S!o_4TV8Bl\%TJf\[JcDU]-l4UT_8D`Q-$5^:h4dZa-m@ +['[?V^r!t)_8=.0`PKC"Z`p[9ZF@=0[.^j3[C*6H[BHcCqu@M2W2Zl%['[6N[^*3AX/VqlUSXidW3$!$ +"0A8hSGnoSTDYMfUnj`XrgaRgR[oq.5VP9gD +Zj3qE[^MP`Q-$tZQ$$KXK8_:\%92a]tD1t +_SjF4_83UeYct78\$t>'#IUtD[C*3A@f-3AW2Q\sYI([E\@/]KY,eOuV5'laW2QfsXokc#St,eIrM0:e +!Mc@iU7qRW&"8rXS"-"BTrG)pXg,+3XPg#]Vl6MlW1mSq!#EGge_&R$da6:ce^`F+eBlRje^rR)cMl#l +cHah_b/h[&g&9P)aj&93e,IStbK@uQcICJ!f`TjUe'm:/#LM#Te^3!K0`1nd]tM1j['6g@Z*^mO]u7k2 +ahG3lZ*CA.VuNLkWr9%!YlD63_@ODi\$**>W2QVqZ+7HW\$#\,s.f4nm^*5*['m?J\$'ND!#DrK[]m0N +[^m(cTDtS_V%oc"U7\-MQ^=55TVAB` +Y,ee2ZEg[;i2?jXW2HSmU0[Zss1]9!g""['m3H]!euV['Zs;VP]rV]tqP& +_oDYm#f"-d]=GJk`PNV3]tLbYXf\k<]"u8(aN297]t(DQX0]+;Z*CXAiNrit[BR'HYHMF5!#D3!USt)e +VPg;iW2cl!XK\q"R[TY4R/NQTU&UnfV>m%bSc>>]V$a)rU8"6MR[9A2SI;*bW2Ql"YctF=YHQl_#,eDt +W2QFrqu@MI^Xh)gbh(Oug"G09f\"X#cHXVWbK9_,'[Y4Ue(*!jaihlPc-4Dag=t3-c--+,$-^`BeD&a3 +f@8=Kdeqe\fa#mSg==R'WA+5M#fO[%`5fX-^qT]Q'!ACBZ)k%3Z*:I8Y-"h,X/W(bqNVPVR@U(NYI1m` +bK%?,VPsKis/>t%s17a-qm#n##ICeG['R6FC&@r:\@B)V]=55U\,3NFZa7?Y\[f/WYct73WMublUSGU# +_%+>r]=5&GVkT?;Q(OkX[f3i;[f^:q7g[BQY0VuNarXm`4YV?a&tW2HSmU0[Zs#e[guf?MFgg!]cNs47h/ +d+-[uf@ej/f@8'!npX]t(\^[]m!_@q\[\oKZ*UaC['I*K[^W?*OH"d*:-^p! +/ghke(_m_u')iIZ*?QFN.l'"C;J^c>Q*A-F`lu9;]=YbirNlO2s0_[0q5jCo"LPSH['TnDY\X.:(q@)g +\\,Vg[^s#UXK8A!USOKQX1cBkfBh`$%dMZc\Y#+OPFJMY\[f>aqmHI/q6]t.q7$[:Z*:UBY-;F6!!o$^ +StDRGTVePEVP^DqZF.3M\$r]BW2Hl3g[3nB`k8gkQ'IPpNf8gOT:D:=VRF\$fY=esZb!rc^U:2:St;IB +rM]aopSdVYqksOj?Mjd@]=Z;:`Pp6VbgkA!f\"X!e^`1!da#qDTlgZG5:76V$4$_8!rN'8"9er7%2p]S +IAF@-B3@tr +3A2Tq'G1fe%1NdW&.oKc&f_T%)'0tJ7TN`.Lp4Y2_TK[4]Xkhk[C!72eN[5!:kF%LNae.6:%CPcMRBbIb?n['[6M +\+d9*XSJt'['dEN[(!8Tqu?`-&%T6U\#QC'WNsCW_o9gLl1=o^rqc0SnFH2DoCVbUpBU?[l0A'@r;QZp +%HYX;Xf/,3\?WHLZ*1A*[/%9.\-KCGYdCd?Y[dS2&Y#8aV4t&nYHG.4Xf/+pYdW@BbcmOrNg?&oOHPlu +R[]e-OckurR[p%CU8"6IP)=sKJq8oQ^XU-#TV\NcWLTNXVl00cnYQ,]!Ma!!!#<2\eCr?lg=Oun`lu`P +`O_m++qXt[quI$("U5;C&J>j&(`OSB-R^Gp.jcGW&e+mC!!*383+f/3h:TofcI^e#e_:#U!6Fuhq:5;l +!SQ3+f`Kg.1].5/Za76V^qIIp\#Q$^N-]&F>:L^6&e56S$3ptZ-nmS@4[__18l/AbI1lUL*iu'sY$qgY'?X +f\#$4dDrPOAjlt,!W`?#!#Ye?$lC?D2e6N;DL$Y^Kkt[IDJ8G+Yc2T=^lB%R%h(&]W8*=['d=@[hlBVXJhqf +TWbJfMfN3!2^B\*6ZSL2`jboR!k,PFq6]stq54J)[CETN\$0ZG!"#X(Xf/4tXg?'f!9sF]!r`0!rr+GE +oB5`)dD3,aSt<$bVP^)^St;RMV5gZ&[C)s4\&[.bn+Zh\s8V;tP)lgGZid_?Yd+#2q7HI@#ILb?['[!? +A,HCN1cmQUo^f,[C*?I['[6KrjNZMZa-g=Y-,1@ZDsFXLk(#. +PI%FNF!2oOhq4mbYqksOj?Mjd5^:rCTg"+^%a318h1`$>o!##A8$5b6VG`Si>db!%"eC<($e^aZK +!S,a=f%&9udacgi["qX-$j6\E5,H]TbLtRiaOU:Dq:YSmq8`TigA]b,fW?t-!<0Yl\@T#LRsSmQ82qt2 +#RLhI)_3s;l.6%Q:Fiq\5[^rj;L5q7$[:Z*:UBY-;F6!\qksOj?Mjd5bfnJbgY(B/VJ]'W&-`17!"8l1 +%3nPsYJJH3g=b$TeGn/#f)F/?f%8F"da?ImfA"m#YC9Ln%0Hu(P/Yf$g=aioaNMd&g%j+meH+@Wrn.A* +XY]kTs3DP-W/GId5qWud%h0*g+=_YcIZ9nlXK]7Frk8HB[C-"Js1&'4)mQZV^;\(4aKr4UY-5:G]=")J +>"1=u0sJ$n[f3W6Zh_!(Wqie&['dEN[(!8Tqu?n`P*N<"nG<.grr2rt]u1B/c+ps%[Cs8h]tVA"_>^_> +[Jm`Z]tM"dZEgR5`Po[0[]ZI'Vm4G#jS/]SYI(O<[C!m=iT,=5oU8"K\Vl,rNSt;dWYck:@_PNZj`9F&rVuWahW:?Y[ +Vu`Z"qu@&@_p$WFSSU7t"8r65!X9'8F.^=qdaZjic-4JZbg+N5gAfk*eH4+Ee,Ieqd/V5fbnJ[\h;6r4 +VH5&U&L>!0g=k)uaO'b9q:#/i!SQ3+f`Kg.1].4kd*Tq:M-N\3)A`qo$kjj;2NF#gR\-4LX15\=^&kaN +[Jmoa[C*0?YHY7=^r++2aL/F[YH5+A\ZqWbI8`9V)lp3M\$uLH[(,q=q5X7i#ILnK['[UEorr2os&'`&-]=kkl]=bel^qmn(_>^n\^:h:r]u.e%[&pR5XM):?Ykb[']DoM=^'D$MYdCd?Y[dS2+MPRtX/)JMKQWB;Q'.cIe* +Yd;*beEQMimI0]Dqu6Tlrri;orr9_7WKpZa!"c*-VkoT!F,u9T\'qphWNi>KW"l2b[Yp!@YHP:9Xf8:t +WMQ,]URI@+rf%GVS=Q=JVPpMSI?12+Y.&$@!!L!Kg;6&P!!`ZI8;kU=e^rL-*no<$g">!)_G2gF;l87( +f$;e#gtU)YOX_7_#m:;1rW)ou$3C;6!WiZV[FhcAqu@;H`5@jI/h/hM=F-=A_8r:CppB%f"LYVDZaB_A +-cF,D>ut'aT;8ELG"b7^/MoRS7o!)j>[:W<;bTSH3[c!s7X_>OEVoeJTV/%#p%%MGqu50VW0j0m_<82s +ZiIB1[/dT5YU>p,nEolJe[rK&b3/g)rpTFHnEfN)iT9"Ri9BOrm.:5ImetJ;SQl!lri?R"O`YH&TY.k> +YICX'S(OY?Vl9Nl-aL:JLkqatTW"i_UpQ\@AqYttO-Q3)TpqLfC"T\`OV:iI=quH`7 +%@:Hc4$cDiOI*>nbb(TYZlc`c\&u[SG?.^bQ`R'/?q!(:4[;A(:L.pgJV],1Cg7e&&SmPFf\,fX1Ub&?r@@R$knSrp&1UZFA?;l1b)T#l<`9e]c=llhgPY"4"6C>PnI$X:MD5 +TVJBU_:>]hYHkpJS=S<2"/i)rVuEVB]!@s+R=C0jVl,K$Ed*>*d*gRm_mZeQXKAb<`RE8of"AApXerC7 +qu@>@]@Y;\,oo'[][#$Zb/_cTg"G%2e]Z.dg=b-$eBP!j.VR#X]P]P<$PORQ=(6B6VRO+R_6p"sF`(A= ++XKdthmkTA!"c*-Vm*:kQ^t7^YH+_D`lc*c[-=ss[2QE[[ABh<_5r#m;G'P\@s3j#XL,CI]"Ynq_YqRS +aTnN)P*s%u[r2*D&BMr0[(+/r\Z;a2[C)d)XKgWhr3QL4[/R<:['?mI[\9J'f^\t@%K#A>ai:WoZ*(4, +Vkp6gT)G,`YI_N^S"-0Xqu@:qR%:"KV5(5uYd(70YHOn"fr+nKqPXLqWNWH5X-/O1VOim*MjUB>VuEXn +Ws#Z2Xf\f+Xp;8?YH>4?Y@@D0$G*gng"*mJcI^\!rRCqj^tIBAe_0rU(YRNre(*.-fSiit7QWe.CR`>r +e_8d1fDaA)e'lgre,Ic#e]l=`eCgr\qu@;,W2Hl)T:i-bZ)k",`5BX3fsCmg[CE]Srj3uJX2Vu]QYTGj +8m$h6TVJHm[(W['?p:Wi2lqT)bJ]Rg64+]"+<#TO.Nr$(73PUnjc\Xg,)7ZE(%-XJhoDW;`\* +WN!82WgolMR&R6aStDgXrhostXf\\+rius:ZEUO8['H[2[C32Jqu@;@]Zo'ZdF6Xrf$qpof%/dFc`5Ka;bf.EAd)sSR +_TKg+\)t'gZn8et[C!NnUW2QDbVP0c]UnFT`YHP&9Wh?#bWhuVfU7n-JrgaFjTq\3m]G;(!"d&caN2WB`QHNQbJ_0<`4!,+ZlQT_['[9MWi!#*Z*::5Zb+5t`kA@Obfn/F^U:>K +rN$C2YdLpH[^WNFWhF)'!<9>7[B$O6Yb@ecTrG0%]YqM:Zlc]`Yd(UDYcbOO]!f/\]="uKUSOik^:U/8 +XL#CL]tXH^$c'Qk\tPmoX/iG3B`%iCR$aPATqS<^XK8G"VP'KKS>`C?W#hk8W2HPlW2$,aVP^2cV5C2p +YH=h"UT:JoV5']VSc,&dT:_dN[^WWJZ*0p1qu@;,W79G9^=UoUa4/_ndDa8Umb-s['?eq[g==a-f[S9p +f@A*nf%Ad.ci2;qe'cOgbg$.6rQGYpcHt%jeCW:&eZUt1!"d/ib."IQXK]1Wdb*3ua0rG4[.UdPa%ZB +`l?!7S"$jprNuI,rj2sA^qQhLUSPa7Z%Su/NfV4O-EdARY`Z_jUuXgkmIW1BKLTZ`'FcS=d-oVPa!a#c4DpY-5=@`,#8N&A5['e&T8EbK%oM +`l?6Nc->/!o@XGrce$e'g<.Rag]#=uc-O_ffDXD"g]#k3e^)Urf[JBO1&M"_USFQf[FE[M_7-n^[]HRM +`mM-pU8"nd)]qV:/_o0L0_8*j] +UX?F^`l>^*]"5Yk[\oR_UV4joWiE,+'=YWf]tD"g[]ld*TtS+AZF-j6@/L!9T:_gLTW+r_R@'A1R[p"Q +YL09ZS"$(DU8"9PUT1T(XItrJriQ:&WViS"Vl?f$ZEg*qW2HZtWj$"2!"co[d+-L\ajA/Pb0A2WcdgRn +fdFqbd*U7jd*U@kaiViT`PpTdg=Oj%d*U1fe(*.+e^_plgXk!.Yqu:X#c"/hYdN!0c,'Fhs0hs/s2NHn +-_d??Z*q*DY.r*/e]b:gS@Z;@Y,7h_StDXNW3EkK^ppnd\uW*6B`%iA`l>d)]qV:/_o0L0_8*j]U\M4M +ZmWl5]tM"g^V@4TR[U"bbKHocX0]:J]tM(k\[J`BTqT04Y-PI,SgT:i0`Ssbt5R[Te`S"QFKU7\'QWj/h1TU;,GXoYT&r1sk#WNE>/ZCdegVlQi%A,H<<^VA.Gd)3uPai_cNc-O_de^iFO +fdFqbd*U7jd*U@kaiViT`PpTdg=Oj%d*U1fe(*.+e^_plgXk!.Yqu:X%)p3(Z*ha!\[fGgb0'^X!2e/N +rOMsCrPnrU\H');Y5bm/])95O['Zp9VkTp'`4EIr_7=L^!"b?XR'43)[_]u"_6p\d^pgVs[/IQ8[f*6. +ZFRRG^]1\@Z2Ca([/[ZD]YD4o]X>DETU/gZ!"clY\uMF%Ssbq6R\6=GT<,9EW;WIjU]%+mV4s^`TDb_d +WXbu+V59r\Tq.dMTXD#7B)DW/_%4B-f?hXac,e,QdF$:de'udurRCkurR1i!eC4EDs4RG,r7he8g""X$ +d*TkXg!S7!Y;6"U%)p3(Z*ha!\[fGgb0'^X!N*6P[/IQ8^\u1S_R[,SY5bm/])95O['Zp9VkTp'`4EIr +_7=L^!"b?XR'43)[_]u"_6p\d^pgW<[,\Ol\c9,:WrfT;])KJE[/[E/XU__F\[fAf^V%4e]Utj`=o872 +^:q1YTW"HMQ^XA9TV%jXYhl>NW;WIjU]%+mV4s^`TDb_dWXbu+V59r\Tq.dMTXD#7B)DW?_84FKd)jPW +aNVlUdEg.feButJeGn+udfS+Me,I_og&Kh)g^`#je^`*pd)aGadF-UL1Ah+`YHP7$SYicmW2m2Faf_e\ +^[_Bf&rOr9M!6"iVrPT#V^[0!nP +^])(P_7dCirOr6BrOMm[_Bf&rP&E=!"c!' +VS'mc_T'^;_l'E=Z^R?F[-Y0s[0!nP^])(P_7dCirOr6BrOMmnOpRV\^SXuFHT=(o0Ac)N>`l?TWbKJ,P`lZEOdF[!sd*^PDd/qbA +cMl#fblZ2=df%JkdJ_Mld0\+D`lciWe(1f]qu?i*Za@7AZiIM6ZjF+HZa@0JZa[,Pqu@#/Za?sE[C!3H +WO)o<[BR'HYHMF5!<8ntW2QWnVuW`oW!9/uVl6Pg?2O[.^qeXVe]ZY"eb@b'fa#mSg==R'WA+5M"1,>@ +\Gii8[H4d6Zj3qE[^E?_V#1@e_8R#fr6\'!!BR6 +[(-+B!4CCbe$K@d['m?J\$'ND!!op;['6sG['@$Y[,eS![C*6H[BHcCqu?ksVPpGkrhogp[A`_r#,eDt +W2QFrqu@#<^tIDkbLtV"WS%F$e_8R#!njP,qu?i*Za@7AZiIM4Zj3qE[^@ +\Gii8[EZ)6Zj3qE[^@\Gii:[C!<@Zj3qE[^@\Gii8[J$u6Zj3qE[^[.gp4Za@0JZa[,Pqu@#/Za?sE[C!3HWO)l;[BR'HYHIq8qu?ksVPpGkrhogpW2KouW2HSm +U0[Zs#f+7/g"":!g=?#PZ.TB/e_8R#fr6\'!!BR6[(-+B!4D!s_R'QS['m?J\$'ND!!op;['6sG['@$j +[*uAe[C*6H[BHcCqu?ksVPpGkrhogp`i.pr#,eDtW2QFrqu@#<^tIDkbLtV"[Ft6+#LM#Te^3!K0`1nQ +Za7$Krj2[5W3c]6['m?J!k5@Iqu@#/Za?sE[C!3HWO)o<[BR'HYHMF5!!K0rW2QWnVuW`oW!9/uVl6Pg +?2O[.^qeXVe]ZY"eaV8'fa#mSg==R'WA+5M"1,>@\Gii8[GJ:6Zj3qE[^B>_q>:Ae_8R#fr6\'!!fd6ZF-sAZEr)de?K7\XgYRH]!lST!!g$D['@'N['R]Z +jgGE(\?NBIXf>h-!!]6pVl$>fVm<2nVZ3LkVu``%qu?u=_V*Snd+R'Mf*0aVg+*?Mjd-TV/'VUnORNUq2;>^ + +%%EndBinary +grestore +np +grestore +grestore +pgrs +%%PageTrailer +[ +[/CSA [/0 ]] +] del_res +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/fc-arith/examples/graphics/nwfsc_logo.pdf b/texmf-dist/doc/latex/fc-arith/examples/graphics/nwfsc_logo.pdf new file mode 100644 index 00000000..262d86fc Binary files /dev/null and b/texmf-dist/doc/latex/fc-arith/examples/graphics/nwfsc_logo.pdf differ diff --git a/texmf-dist/doc/latex/fc-arith/fc_arithman.pdf b/texmf-dist/doc/latex/fc-arith/fc_arithman.pdf new file mode 100644 index 00000000..3b8dc44e Binary files /dev/null and b/texmf-dist/doc/latex/fc-arith/fc_arithman.pdf differ diff --git a/texmf-dist/doc/latex/fldigigal/README b/texmf-dist/doc/latex/fldigigal/README new file mode 100644 index 00000000..6e2ebb7d --- /dev/null +++ b/texmf-dist/doc/latex/fldigigal/README @@ -0,0 +1,24 @@ +The fldigigal package +Dated: 12/28/10 + +The fldigigal package uses the rmannot package (Adobe Distiller workflow +required) to create, what I am calling, an AcroTeX Flash Digital Gallery; +that is, a Flash slide show that displays a series of digitals (PNG, JPG, +GIF). The document author describes the digitals (path and caption) from +the LaTeX source, on compilation, fldigigal write an XML file, which +Distiller embeds in the PDF. The digitals may be embedded in the PDF, or +reside on the Internet (reducing filesize). Three layouts of are offered +at this time: vertical thumbnails, horizontal thumbnails, or no +thumbnails. + +The home page for this package is + +http://www.math.uakron.edu/~dpstory/fldigigal.html + +Now, I simply must get back to my retirement. + +Dr. D. P. Story +www.acrotex.net +dpstory@uakron.edu +dpstory@acrotex.net +12/28/10 diff --git a/texmf-dist/doc/latex/fldigigal/digis/Chrysanthemum.jpg b/texmf-dist/doc/latex/fldigigal/digis/Chrysanthemum.jpg new file mode 100644 index 00000000..757c2a62 Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/digis/Chrysanthemum.jpg differ diff --git a/texmf-dist/doc/latex/fldigigal/digis/Desert.jpg b/texmf-dist/doc/latex/fldigigal/digis/Desert.jpg new file mode 100644 index 00000000..0b88c913 Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/digis/Desert.jpg differ diff --git a/texmf-dist/doc/latex/fldigigal/digis/Hydrangeas.jpg b/texmf-dist/doc/latex/fldigigal/digis/Hydrangeas.jpg new file mode 100644 index 00000000..a587c965 Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/digis/Hydrangeas.jpg differ diff --git a/texmf-dist/doc/latex/fldigigal/digis/Jellyfish.jpg b/texmf-dist/doc/latex/fldigigal/digis/Jellyfish.jpg new file mode 100644 index 00000000..fa4fd411 Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/digis/Jellyfish.jpg differ diff --git a/texmf-dist/doc/latex/fldigigal/digis/Koala.jpg b/texmf-dist/doc/latex/fldigigal/digis/Koala.jpg new file mode 100644 index 00000000..78704a09 Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/digis/Koala.jpg differ diff --git a/texmf-dist/doc/latex/fldigigal/digis/Lighthouse.jpg b/texmf-dist/doc/latex/fldigigal/digis/Lighthouse.jpg new file mode 100644 index 00000000..494be09b Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/digis/Lighthouse.jpg differ diff --git a/texmf-dist/doc/latex/fldigigal/digis/Penguins.jpg b/texmf-dist/doc/latex/fldigigal/digis/Penguins.jpg new file mode 100644 index 00000000..030ab8a6 Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/digis/Penguins.jpg differ diff --git a/texmf-dist/doc/latex/fldigigal/digis/Tulips.jpg b/texmf-dist/doc/latex/fldigigal/digis/Tulips.jpg new file mode 100644 index 00000000..54c51eb6 Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/digis/Tulips.jpg differ diff --git a/texmf-dist/doc/latex/fldigigal/fdg_demo.tex b/texmf-dist/doc/latex/fldigigal/fdg_demo.tex new file mode 100644 index 00000000..6b2251f1 --- /dev/null +++ b/texmf-dist/doc/latex/fldigigal/fdg_demo.tex @@ -0,0 +1,59 @@ +\documentclass{article} +\usepackage[% + web={pro,tight,usesf,designiv},eforms, + graphicxsp={showembeds} +]{aeb_pro} +\usepackage{rmannot} +\usepackage{fldigigal} + +\DeclareDocInfo +{ + title={An \texorpdfstring{\AcroTeX}{AcroTeX} Flash Digital Gallery}, + author=D. P. Story, + university=From the Desktop of One D. P. Story, + email=dpstory@acrotex.net, + subject={An example of the AcroTeX Flash Digital Gallery}, + keywords={AcroTeX, Adobe Flash, rmannot, fldigigal package}, + talksite=\url{http://www.acrotex.net}, + talkdate={\today}, + copyrightStatus=True, + copyrightNotice={Copyright (C) 2010, D. P. Story}, + copyrightInfoURL=http://www.acrotex.net +} +\talkdateLabel{Published:} + +\def\AcroTeX{Acro\!\TeX} + +\definePath{\pathToSource}{% + C:/Users/Public/Documents/My TeX Files/tex/% + latex/aeb/aebpro/fldigigal/examples} +\definePath{\digisOnline}{% + http://www.math.uakron.edu/~dpstory/photos/pa_demo} +\definePath{\digisLocal}{\pathToSource/digis} + +\fdgXmlList[showcount]{myDigis} +{% + \image{path=\digisOnline/Chrysanthemum.jpg, + caption=Jürgen\'s Chrysanthemum,online} + \image{path=\digisOnline/Desert.jpg,caption=Desert,online} + \image{path=\digisOnline/Hydrangeas.jpg,caption=Hydrangeas,online} + \image{path=\digisOnline/Jellyfish.jpg,caption=Jellyfish,online} + \image{path=\digisOnline/Koala.jpg,caption=Koala,online} + \image{path=\digisOnline/Lighthouse.jpg,caption=Lighthouse,online} + \image{path=\digisOnline/Penguins.jpg,caption=Penguins,online} + \image{path=\digisOnline/Tulips.jpg,caption=Tulips,online} +} + +\parindent=0pt\parskip6pt\pagestyle{empty} + +\begin{document} + +\begin{center} +\resizebox{.9\linewidth}{!} +{% + \fgRmAnnot[galleryopts={gallery=vthumbs1,captionalign=center}, + posternote={Flash Digital Gallery},enabled=pageopen + ]{myDigis} +} +\end{center} +\end{document} diff --git a/texmf-dist/doc/latex/fldigigal/fdg_demo_fit.tex b/texmf-dist/doc/latex/fldigigal/fdg_demo_fit.tex new file mode 100644 index 00000000..48e417c8 --- /dev/null +++ b/texmf-dist/doc/latex/fldigigal/fdg_demo_fit.tex @@ -0,0 +1,60 @@ +\documentclass{article} +\usepackage[% + web={pro,tight,usesf}, + eforms,graphicxsp={showembeds} +]{aeb_pro} +\usepackage{rmannot} +\usepackage{fldigigal} + +\margins{0in}{0in}{0in}{0in} % left,right,top, bottom +\screensize{240bp}{320bp} % height, width + + +\DeclareDocInfo +{ + title={An \texorpdfstring{\AcroTeX}{AcroTeX} Flash Digital Gallery}, + author=D. P. Story, + university=From the Desktop of One D. P. Story, + email=dpstory@acrotex.net, + subject={An example of the AcroTeX Flash Digital Gallery}, + keywords={AcroTeX, Adobe Flash, rmannot, fldigigal package}, + talksite=\url{http://www.acrotex.net}, + talkdate={\today}, + copyrightStatus=True, + copyrightNotice={Copyright (C) 2010, D. P. Story}, + copyrightInfoURL=http://www.acrotex.net +} +\talkdateLabel{Published:} + +\def\AcroTeX{Acro\!\TeX} + +\definePath{\pathToSource}{% + C:/Users/Public/Documents/My TeX Files/tex/% + latex/aeb/aebpro/fldigigal/examples} +\definePath{\digisOnline}{% + http://www.math.uakron.edu/~dpstory/photos/pa_demo} +\definePath{\digisLocal}{\pathToSource/digis} + +\fdgXmlList{myDigis} +{% + \image{path=\digisOnline/Chrysanthemum.jpg, + caption=J\iso{252}rgen\'s Chrysanthemum,online} + \image{path=\digisOnline/Desert.jpg,caption=Desert,online} + \image{path=\digisOnline/Hydrangeas.jpg,caption=Hydrangeas,online} + \image{path=\digisOnline/Jellyfish.jpg,caption=Jellyfish,online} + \image{path=\digisOnline/Koala.jpg,caption=Koala,online} + \image{path=\digisOnline/Lighthouse.jpg,caption=Lighthouse,online} + \image{path=\digisOnline/Penguins.jpg,caption=Penguins,online} + \image{path=\digisOnline/Tulips.jpg,caption=Tulips,online} +} + +\parindent=0pt\parskip0pt\pagestyle{empty} + +\begin{document} + +\fgRmAnnot[% + galleryopts={gallery=vthumbs1,auto=false}, + posternote={Flash Digital Gallery},enabled=pageopen +]{myDigis} + +\end{document} diff --git a/texmf-dist/doc/latex/fldigigal/fdg_man.pdf b/texmf-dist/doc/latex/fldigigal/fdg_man.pdf new file mode 100644 index 00000000..e99b1d9d Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/fdg_man.pdf differ diff --git a/texmf-dist/doc/latex/fldigigal/fdg_man.tex b/texmf-dist/doc/latex/fldigigal/fdg_man.tex new file mode 100644 index 00000000..2665aef5 --- /dev/null +++ b/texmf-dist/doc/latex/fldigigal/fdg_man.tex @@ -0,0 +1,407 @@ +% makeindex < aebpro_man.idx > aebpro_man.ind +\documentclass{article} +\usepackage[fleqn]{amsmath} +\usepackage[ + web={centertitlepage,designv,tight,usetemplates,%usesf, + forcolorpaper,latextoc,pro}, + eforms,aebxmp,graphicxsp={showembeds} +]{aeb_pro} +\usepackage{rmannot} +\usepackage{fldigigal} + +%\usepackage{multicol} +\usepackage{aeb_mlink} +\usepackage{array} +\usepackage[altbullet]{lucidbry} +%\usepackage{myriadpro} + +\usepackage{makeidx} +\makeindex +\usepackage{acroman} + +\usepackage[inactive]{srcltx} + +\def\expath{../examples} + +\urlstyle{tt} + +\makeatletter +\renewcommand{\paragraph} + {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt}{\bfseries}} +\makeatother + +\DeclareDocInfo +{ + university={\AcroTeX.Net}, + title={The \texorpdfstring{\textsf{fldigigal} Package\\[1em]}{: } + Creating Flash Digital Galleries}, + author={D. P. Story}, + email={dpstory@acrotex.net}, + subject={Creating Flash Digital Galleries}, + talksite={\url{www.acrotex.net}}, + version={1.0}, + keywords={AcroTeX, PDF, Flash Photo Gallery, rmannot}, + copyrightStatus=True, + copyrightNotice={Copyright (C) \the\year, D. P. Story}, + copyrightInfoURL={http://www.acrotex.net} +} + +\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}% + \kern-.6em \hbox{$\mathcal S$}}$} + +\universityLayout{fontsize=Large} +\titleLayout{fontsize=LARGE} +\authorLayout{fontsize=Large} +\tocLayout{fontsize=Large,color=aeb} +\sectionLayout{indent=-40pt,fontsize=large,color=aeb,afterskip=1sp} +\subsectionLayout{indent=-20pt,color=aeb,afterskip=1sp} +\subsubsectionLayout{indent=0pt,color=aeb,afterskip=1sp} +\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}} + +\newenvironment{eqComments}[1][\strut]{\smallskip\leftskip-\labelwidth +\item[]\textbf{\textcolor{blue}{#1}}}{\par\smallskip} + +%----------fldigigal-------------- +\definePath{\pathToSource}{% + C:/Users/Public/Documents/My TeX Files/tex/% + latex/aeb/aebpro/fldigigal/examples} +\definePath{\digisOnline}{% + http://www.math.uakron.edu/~dpstory/photos/pa_demo} +\definePath{\digisLocal}{\pathToSource/digis} + +\fdgXmlList{myDigis} +{% + \image{path=\digisOnline/Chrysanthemum.jpg,caption=Jürgen\'s Chrysanthemum,online} %\iso{252} + \image{path=\digisOnline/Desert.jpg,caption=Desert,online} + \image{path=\digisOnline/Hydrangeas.jpg,caption=Hydrangeas,online} + \image{path=\digisOnline/Jellyfish.jpg,caption=Jellyfish,online} + \image{path=\digisOnline/Koala.jpg,caption=Koala,online} + \image{path=\digisOnline/Lighthouse.jpg,caption=Lighthouse,online} + \image{path=\digisOnline/Penguins.jpg,caption=Penguins,online} + \image{path=\digisOnline/Tulips.jpg,caption=Tulips,online} +} +%---------fldigigal--------------------- + +%\pagestyle{empty} +\parindent0pt\parskip\medskipamount + +\definePath\bgPath{"C:/Users/Public/Documents/ManualBGs/Manual_BG_Print_AeB.pdf"} +\begin{docassembly} +\addWatermarkFromFile({ + bOnTop:false, + cDIPath:\bgPath +}); +\executeSave(); +\end{docassembly} + +\begin{document} + +\maketitle + +\selectColors{linkColor=black} +\tableofcontents +\selectColors{linkColor=webgreen} + +\section{Introduction}\label{s:intro} + +The \textsf{fldigigal} package is the third application of \textsf{rmannot}; +the others are the {\AcroFLeX} and \textsf{yt4pdf} packages. + +The \emph{Flash Digital Gallery} distribution consists of a {\LaTeX} +package, \textsf{fldigigal}, several \textsf{SWF} files, a small collection +of digital photos, and sample files. The purpose of this distribution is +to provide a convenient way to create a Flash slideshow. The distribution +offers several design layouts of the slideshow, called \emph{galleries}. +Below is an example of a slideshow created by \textsf{fldigigal} using +source code from this document. +\begin{center}%\previewtrue +\resizebox{.9\linewidth}{!} +{% + \fgRmAnnot[galleryopts={gallery=vthumbs1,auto=false,captionalign=center}, + posternote={Flash Digital Gallery},enabled=pageopen + ]{myDigis} +} +\end{center} +The photos themselves may be embedded in the PDF file (increasing the +file size), or may be referenced with an URL. The gallery can be manually +operated, or set to change photos at a regular interval. + +There are steps for creating a flash digital gallery: +\begin{enumerate} + \item In the preamble of your document, specify the digitals (PNG, + JPG, GIF) you want displayed in you gallery. This is entered by + using the \cs{fdgXmlList} command. See the section + \Nameref{fdgXmlList} for details. + \item In the body of the document, create a Rich Media Annotation (RMA) + using the command \cs{fgRmAnnot}, defined in \textsf{fldigigal}. For + details of this command, see the section + \Nameref{fgRmAnnot}. +\end{enumerate} + + + +\section{Requirements} + +This package is part of \textsf{AeB Pro}, which means Acrobat Distiller is +used to create the PDF; the package requires \textsf{rmannot}, which +creates rich media annotations. Therefore, we require +\begin{equation*} + \boxed{\text{\large\bfseries Adobe Acrobat, version 9.0 or later}} +\end{equation*} +To use this package, the document author must have AeB and AeB Pro +installed, as well as \textsf{rmannot}. The manual for \textsf{rmannot} +needs to be read closely to install it properly and for it to function correctly. + +\section{Configuring your installation} + +In addition to configuring the \textsf{rmannot} package correctly, the +\textsf{fldigigal} package needs configuring as well. The \textsf{fldigigal} +comes with a configuration file \texttt{fldigigal.cfg}. Open this file in +your favorite editor to see +\begin{Verbatim}[fontsize=\small] +% fldigigal config file. Delete the \endinput below and replace the path +% provided with the path to the swf folder of your fldigigal installation. +% This path is used to locate the fldigigal SWF files. +\endinput +\renewcommand{\fdgFolder}{C:/Users/Public/Documents/My TeX Files/% + tex/latex/aeb/aebpro/fldigigal/swf} +\end{Verbatim} +Edit this file so that \cs{fdgFolder} points to the \texttt{swf} folder on +your computer. + +\section{In the Preamble: Populating the +\texorpdfstring{\protect\cs{fdgXmlList}}{\CMD{fdgXmlList}} +Command}\label{fdgXmlList} + +The {\AcroTeX} Flash Gallery SWF files take several arguments that are +passed to it using \texttt{FlashVars}; one such variable is a reference to +an XML file that contains the paths and captions to the digital files. +When I began developing the package, the XML file was just hand-written in +an editor; when I started to write the package, I included the +\cs{fdgXmlList} command which writes the XML file as the source file is +compiled. + +At the bare minimum, the preamble must include a definition for +\cs{pathToSource} and the \cs{fdgXmlList} command. + +The definition of \cs{pathToSource} should be made using the +\cs{definePath} command, defined in the \textsf{eforms} package. +Here is one such definition to a sample file in this distribution. +\begin{Verbatim}[xleftmargin=20pt,fontsize=\small] +\definePath{\pathToSource}{% + C:/Users/Public/Documents/My TeX Files/tex/% + latex/aeb/aebpro/fldigigal/examples} +\end{Verbatim} +The \textsf{fldigigal} uses the Adobe Distiller to create the PDF file. +Distiller only works with absolute file references; so, Distiller needs to +know the location of XML file that is to be written by the \cs{fdgXmlList} +command. \emph{This definition is required}. + +Another (optional, but recommended) definition is the path to the digital +files. The photos may reside on your local hard drive, or on the Internet. +In the example that follows, we illustrate the method of defining the +paths; one for a local hard drive, the other for photos found online. +\begin{Verbatim}[xleftmargin=20pt,fontsize=\small] +\definePath{\digisOnline}{% + http://www.math.uakron.edu/~dpstory/photos/pa_demo} +\definePath{\digisLocal}{\pathToSource/digis} +\end{Verbatim} +These paths may then be conveniently included in the \texttt{path} key +of the \cs{image} command, see below. + +\begin{dCmd*}{.67\linewidth} +\fdgXmlList[]{}{% + \image{...} + \image{...} + ... + \image{...} +} +\end{dCmd*} +\CmdDescription When the source document compiles, this command writes an +XML file to the source file's folder. The XML is later embedded in the PDF +file when the file is distilled. +\PD The command has three arguments, the first is optional. +\begin{itemize} + \item[\texttt{[\#1]}] The optional argument labeled above as + \texttt{[]} may include only two (Boolean) key-value + pairs: \texttt{showcounts} and \texttt{nowrite}. + \begin{itemize} + \item \texttt{showcounts} When this key appears as \texttt{showcount} or as + \texttt{showcount=true}, a count and a total count of the number of + photos appearing in the gallery is displayed in the title bar. + The count appears as (1 of 8), for example, but this can be + redefined by the command \cs{fdgcntOf}. The default definition + is\medskip +\begin{Verbatim}[xleftmargin=20pt,fontsize=\small] +\newcommand{\fdgcntOf}[1]{\space(#1 of \fdg@numDigis)} +\end{Verbatim} +\par\medskip The default is that no count is written to the title bar of the gallery. + \item \texttt{nowrite} You optionally include this key in the list + if the XML has already been written to your source folder; however, if + you change options, or change the key-value pairs of the \cs{image} + commands, you will need to re-write the XML by removing the \texttt{nowrite} + option. + \end{itemize} + \item[\texttt{\#2}] The second parameter, \texttt{}, is a + unique name for the gallery being created with the photos; for + example \texttt{myVacation2010}. The name should follow the + rules of a JavaScript variable. + \item[\texttt{\#3}] The third argument consists of a series of + \cs{image} commands, each command takes three key-value pairs. + \begin{itemize} + \item \texttt{path}: The path to the digital file, the path may be + that to a digital file on your hard drive, or on the Internet. + A digital file may be a \textsf{JPG}, \textsf{PNG}, or \textsf{GIF} file. + \emph{This key is required}. + \item \texttt{caption}: The (short) descriptive string to be + displayed along with the associated photo. This key is optional, + if not present, the filename of the digital file is displayed. See + the optional key-values \texttt{nocaptions} and \texttt{nocaptionstext} of + \cs{fgRmAnnot}. + \item \texttt{online}: Use this key to indicate that the + \texttt{path} key is an \textsf{URL}, and refers to a resource on the + Internet. If this key is not present, it is assumed that path + points to a file on the local hard drive, and Distiller will get + that file and embed it in the PDF. If Distiller does not find the + file, distillation is aborted and a message is written to the + distiller long which suggests that it cannot find the file. + \end{itemize} +\end{itemize} +Below is an example of the \cs{fdgXmlList} used for this document, I've +modified the first two entries by removing the \texttt{online} key, and +replacing \cs{digiOnline} with \cs{digisLocal} to demonstrate how you +reference each type. (The definitions of \cs{digiOnline} and +\cs{digisLocal} appeared earlier.) For this definition below, two files +will be embedded (the first two), all others are online and the gallery +will get them from the Internet. +\begin{Verbatim}[numbers=left,xleftmargin=20pt,fontsize=\small] +\fdgXmlList{myDigis} +{% + \image{path=\digisLocal/Chrysanthemum.jpg, + caption=Jürgen\'s Chrysanthemum} + \image{path=\digisLocal/Desert.jpg,caption=Desert} + \image{path=\digisOnline/Hydrangeas.jpg,caption=Hydrangeas,online} + \image{path=\digisOnline/Jellyfish.jpg,caption=Jellyfish,online} + \image{path=\digisOnline/Koala.jpg,caption=Koala,online} + \image{path=\digisOnline/Lighthouse.jpg,caption=Lighthouse,online} + \image{path=\digisOnline/Penguins.jpg,caption=Penguins,online} + \image{path=\digisOnline/Tulips.jpg,caption=Tulips,online} +} +\end{Verbatim} +One comment is needed, refer to line~(3). I've included my friend, +J\"{u}rgen, name value of the \texttt{caption} key to demonstrate how to +use special latin-1 characters. The u-umlaut (ü) may be entered by your +keyboard, as I have, or by special command \verb!\iso{252}!, +which expands to `\makeatletter\texttt{\fdg@iso{252}}\makeatother'. The +interested user is referred to these two online documents. +\begin{align*} +&\text{\footnotesize\url{http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references}}\\ +&\text{\footnotesize\url{http://www.html-entities.com/}} +\end{align*} +The \verb!\iso{}! command expands to \verb!&#;!, see above +\textsf{URLs} to determine the correct value of the \texttt{} to get +the desired glyph. + +The second comment concerns the single apostrophe (\texttt{'}). The +captions are enclosed in single quotes, so if you want an apostrophe, you +must use the the character entity `\verb!'!', or you can use +\verb!\'!, as I did above. This special command, redefined within a group, +expands to `\verb!'!'. Thus, we can write \verb!Jürgen\'s!, or +\verb!Jürgen's!, or \verb!J\iso{252}rgen's!, etc. If you want to +use an ampersand, use `\verb!&!'. + +OK, that's it for the preamble; on to \cs{fgRmAnnot}! + +\section{In the Body: Create a Gallery with +\texorpdfstring{\protect\cs{fgRmAnnot}}{\CMD{fgRmAnnot}}}\label{fgRmAnnot} + +To create a flash gallery of photos, use the command \cs{fgRmAnnot}, its definition +uses the command \cs{rmAnnot}, which is defined in the \textsf{rmannot} package. +\begin{dCmd*}{.5\linewidth} +\fgRmAnnot[]{} +\end{dCmd*} +\PD +\begin{enumerate} + \item The first (optional) parameter is used to pass the key-value pairs of the + \cs{rmAnnot} command. Additionally, the \texttt{galleryopts} key is + recognized by the \cs{fgRmAnnot} command. The value of the \texttt{galleryopts} key + consists of key-value pairs that customize the gallery. + \begin{itemize} + \item \texttt{gallery}: The value of this key determines the layout of the gallery. + Permissible choices are \texttt{vthumbs1} (vertical thumbnails on the left), + \texttt{hthumbs1} (horizontal thumbnails below digital), and + \texttt{nothumbs1} (no thumbnails, the caption bar is a multiline + text field so longer captions may be displayed). More designs are + possible, as my skill in + Flash Professional Pro CS5 increases. The default is + \texttt{vthumbs1}. + \item \texttt{trans}: This key determines the transition effects. + Possible values are \texttt{Blinds}, \texttt{Fade}, + \texttt{Fly}, \texttt{Iris}, \texttt{Photo}, + \texttt{PixelDissolve}, \texttt{Rotate}, \texttt{Squeeze}, + \texttt{Wipe}, \texttt{Zoom}, \texttt{Random}. The default is + \texttt{Random}. + \item \texttt{auto}: If true, the gallery will automatically + display the list of photos at a regular interval. The user can + stop the automatic display by pressing the pause button. The + default is \texttt{auto=true}. + \item \texttt{delay}: The delay, in seconds, between the automatic display of + photos. The default is 6 (seconds). + \item \texttt{captionalign} The alignment of the text in the caption bar. Possible choces + are \texttt{left} (the default), \texttt{right}, and + \texttt{center}. This key-value pair is ignored for + \texttt{gallery=nothumbs1}. + \item \texttt{nocaptions}: A Boolean key, which if \texttt{true}, + the caption strings are not displayed in the caption bar. + \item \texttt{nocaptionstext}: If the \texttt{nocaptions} key is + passed, you can populate the caption bar with a static string. + Thus, \texttt{nocaptionstext=Hi Mom!} displays the string `Hi Mom' in + the caption bar for each and every photo. + \end{itemize} + + \item[] See the manual for the \textsf{rmannot} package for more details on the + key-value pairs that can be passed through the optional first + parameter. + + \item The \texttt{} argument matches the \texttt{} + argument of a \cs{fdgXmlList} declared in the preamble. +\end{enumerate} + +The example that appeared earlier in this manual has code + +\begin{Verbatim}[numbers=left,xleftmargin=20pt,fontsize=\small] +\resizebox{.9\linewidth}{!} +{% + \fgRmAnnot[% + galleryopts={gallery=vthumbs1,auto=false,captionalign=center}, + posternote={Flash Digital Gallery},enabled=pageopen + ]{myDigis} +} +\end{Verbatim} +Line~(1) shows how the gallery may be resized used using \cs{resizebox} +(or by using \cs{scalebox}). In line~(3) we have the \cs{fgRmAnnot} +command that creates the digital gallery. In line~(4), we specify some of the +\texttt{galleryopts} key-value pairs. The other key-value pairs (outside +the scope of \texttt{galleryopts} are \cs{rmAnnot} key-value pairs. +The second argument, the \texttt{} argument is shown in line~(6). +This name matches the name declared earlier in the preamble in an +\cs{fdgXmlList} command. + +\section{Sample files} + +The following are the sample files shipped with \textsf{fldigigal}: +\begin{itemize} + \item \texttt{fdg\_demo.tex} lays out the basic structure for creating + a \emph{{\AcroTeX} Flash Digital Gallery}. You can experiment with + this file by changing the options. + \item \texttt{fdg\_demo\_fit.tex} demonstrates how to have a one-page + gallery whose size matches the size of the page. +\end{itemize} +Advanced examples \href{http://www.math.uakron.edu/~dpstory/aebblog.html}{AeB Blog site}. + + +\bigskip + +That's all for now, I simply must get back to my retirement. {\dps} + +\end{document} diff --git a/texmf-dist/doc/latex/fldigigal/fldigigal.dvi b/texmf-dist/doc/latex/fldigigal/fldigigal.dvi new file mode 100644 index 00000000..4aa66bc1 Binary files /dev/null and b/texmf-dist/doc/latex/fldigigal/fldigigal.dvi differ -- cgit v1.2.3