home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!stanford.edu!rutgers!princeton!zandtwerk.Princeton.EDU!tvz
- From: tvz@Princeton.EDU (Timothy Van Zandt)
- Newsgroups: comp.sys.next.software
- Subject: Announcing PSTricks v0.91: PostScript Macros for Generic TeX
- Keywords: PostScript
- Message-ID: <1992Aug23.174022.26467@Princeton.EDU>
- Date: 23 Aug 92 17:40:22 GMT
- Sender: news@Princeton.EDU (USENET News System)
- Organization: Princeton University
- Lines: 1337
- Originator: tvz@zandtwerk.Princeton.EDU
- Nntp-Posting-Host: zandtwerk.princeton.edu
-
-
- The most important change in v0.91 is that the \dbox macro has been
- replaced by a collection of very powerful and flexible node
- connection macros, which are good for trees, mathematical
- diagrams, and connecting information.
-
- There are also some new graphics objects, including an arc
- object that allows arrowsheads, various curve interpolation
- objects, and some plotting macros.
-
- For those who are are not familiar with it, PSTricks is a kitchen
- sink of PostScript-based TeX macros. Among other things, it is probably
- the most powerful TeX drawing package around. It can be used with
- most TeX macro packages, including Plain TeX, LaTeX, AmS-TeX
- and AmS-LaTeX.
-
- There is nothing NeXT-specific about PSTricks, but because of DPS
- and TeXview, the NeXT is the perfect platform for using PSTricks.
- PSTricks was developed on a NeXT as well. PSTricks puts InstantTeX
- to good use, since when drawing diagrams it is very nice to have
- instant feedback.
-
- Attached are a read-me file, and the TeX input and PostScript output
- for a test file, to give you a taste of the package.
-
- PSTricks is available via anonymous ftp from the /pub directory
- at Princeton.EDU. You should also pick up pstricks.bug from the
- same place. Despite the warning at the beginning of the readme
- file, this release has proved to be stable.
-
- Tim
- ---
- Timothy Van Zandt (609)258-4050 tvz@Princeton.EDU (NeXTMail)
- Dept. of Economics, Princeton University, Princeton, NJ 08544
-
-
-
- ***********************************************************************
- **** "readme" file for PSTricks package, v0.91, 92/06/17 ****
- ***********************************************************************
-
- Warning: This is a particularly unstable and preliminary release.
-
- COPYRIGHT 1992, by Timothy Van Zandt, tvz@Princeton.EDU
-
- DESCRIPTION:
-
- pstricks.tex is an extensive collection of PostScript macros that is
- compatible with most TeX macro packages, including Plain TeX , LaTeX
- and AmS-LaTeX. Included are macros for color, graphics, rotation,
- trees and overlays. It has several special features:
- * There is a wide variety of graphics (picture drawing) macros, with
- a flexible interface and with color support. All lines and outlines
- can be solid, dotted or dashed. Lines and curves can have arrowheads,
- t-bars, brackets or circles on the ends. Regions can be filled
- with solid colors, lines or crosshatch.
- * There is support for polar and cartesian coordinate systems.
- * There are macros for plots.
- * Nested rotations can be made with respect to the physical page.
- * There is flexible node macros, useful for trees, mathematical
- diagrams, and linking information of any kind.
- * There is a powerful loop macro that is useful for making pictures.
- * There are macros for coloring or shading the cells of tables.
- PSTricks lets you have your cake (TeX) and eat it too (PostScript)!
-
- FILES:
-
- Inputs:
- pstricks.tex : The main macro file, for use with a header file.
- pstricks.sty : The same as pstricks.tex, but the .sty extension.
- pstricks.con : The configuration file for pstricks.tex.
-
- Documentation:
- pst-usr1.ps : User's Guide, part I.
- pst-usr2.ps : User's Guide, part II.
- pst-test.tex : A test file.
- pst-read.me : This file.
-
- Sources:
- pstricks.doc : Documentation and code for pstricks.tex.
- pst-code.tex : For typesetting pstricks.doc.
- pst-user.tex : User's Guide.
- tvz-hax.sty : Macros for printing documentation.
- 2up.tex : More macros for printing documentation.
- npsfont.sty : Used for printing the User's Guide.
- pst-make.tex : For making a stripped input file and header file.
-
- Header:
- pstricks.pro : A PostScript prologue (for use with dvips).
-
- INSTALLATION FOR USERS OF ROKICKI'S DVIPS:
-
- 1. Put the three input files where your TeX looks for inputs.
-
- 2. Put the file pstricks.pro where dvips looks for inputs.
- Probably /usr/lib/tex/ps on unix systems.
-
- 3. Print pst-usr1.ps and pst-usr2.ps, which is the User's Guide
- for pstricks.tex. The last few pages of pst-usr2.ps
- are a Quick Reference.
-
- 4. Have fun!
-
- INSTALLATION FOR USERS OF OTHER DVI-TO-PS DRIVERS:
-
- PSTricks has only been tested extensively with Rokicki's dvips.
- However, it should be able to adapted to other drivers with
- similar capabilities.
-
- 1. Print the User's Guide.
-
- 2. Use pstricks.doc as your input file for now (rather than pstricks.tex).
-
- 3. Examine the configuration file pstricks.con. Uncomment
- the \iffalse...\fi surrounding the commands for dvips.
- Try to define the required commands appropriately for you driver,
- but don't use a header file yet (i.e., leave \pstheader
- undefined).
-
- 3. Run pst-test.tex through Plain TeX until you get things to work
- as well as possible. You may not be able to use all of PSTricks features,
- but if you can define \pstverb and \pstunit, you at least can use
- all the graphics objects.
-
- 4. When satisfied, run pst-make with Plain TeX or LaTeX. Put the
- file pstricks.tex that is generated where you TeX looks for inputs,
- along with pstricks.con and pstricks.sty. If you opt to generate
- and use a header file, put this where your dvi driver looks for
- such a beast. Then define \pstheader properly in the configuration
- file. PSTRicks works much more quickly and generates smaller
- PostScript files when used with the header file.
-
- UPGRADING FROM PREVIOUS VERSIONS:
-
- Much has changed. You should reinstall the package in its entirety.
- As previously announced, \dbox and \rotate have been removed. \psput
- has been replaced by \rput, with new syntax. However, the command
- \OldPsput defines \psput to work with the old syntax; the command
- \NewPsput defines \psput to work with the new syntax. See the
- "Changes" section below for more information.
-
- TIPS FOR HACKERS:
-
- The file pstricks.doc contains the documentation and code, using
- Frank Mittelbach's doc system. You can typeset this, if desired,
- by running LaTeX on pst-code.tex. See pst-code.tex for details.
- (However, the commentary is currently out of date.)
-
- If you want to modify the internals of PSTricks, don't use a
- PostScript header file (i.e., don't use \pstheader in pstricks.con)
- and use pstricks.doc as your input file. This allows you to modify
- both the TeX and the PostScript macros.
-
- When you don't expect to make more changes for a while, run
- pst-make to generate a new compact macro file and a new
- PostScript header file (if desired). If using a header file,
- don't forget to defined \pstheader in pstricks.con.
-
- USING PSTRICKS WITH SUN' PAGEVIEW/NEWSPRINT/OPENWINDOWS
-
- Sun's PageView/NeWSPrint/OpenWindows have many bugs,
- especially with the wrong combination of versions.
- Workarounds for several of these have been coded into
- PSTricks. However, arrows may sometimes do odd things
- when used in landscape mode with dvips. Report other problems
- to tvz@Princeton.
-
- GETTING PSTRICKS
-
- The PSTricks package is available from the /pub directory at
- Princeton.EDU, and at other archives.
-
- A bug list pstricks.bug is kept up-to-date on Princeton.EDU.
-
- Send requests to get on or off a mailing list for PSTricks to
- tvz@Princeton.
-
- PSTRICKS.TEX AND SEMINAR.STY
-
- The PSTricks package grew out of macros originally written for the
- Seminar package. seminar.sty is a LaTeX style for slides and notes.
- seminar.sty, combined with pstricks.tex and your favorite macros for
- inclusion of EPS files, make a complete TeX presentation software package.
-
- PSTricks v0.91 works with seminar.sty version 0.92, and maybe later
- versions as well. The Seminar package is also available from
- Princeton.EDU, and perhaps from wherever else you got PSTricks.
-
- ACKNOWLEDGEMENTS:
-
- The author is thankful to Frank Mittelbach for his documentation system.
-
- The algorithm in the \psdoodle macro was adapted from a C program by
- Shamim Zvonko Mohamed.
-
- The basic idea for the node macros is from Emma Pease's tree-dvips.sty.
-
- COPYING:
-
- Copying of part or all of any file in the pstricks package
- is allowed under the following conditions only:
- (1) You may freely distribute unchanged copies of the files. Please
- include the documentation when you do so.
- (2) You may modify a renamed copy of any file, but only for personal
- use or use within an organization.
- (3) You may copy fragments from the files, for personal use or for use
- in a macro package for distribution, as long as credit is given
- where credit is due.
-
- You are NOT ALLOWED to take money for the distribution or use of
- these files or modified versions or fragments thereof, except for
- a nominal charge for copying etc.
-
- BUGS:
-
- Too many to list, and who knows what they are anyway. These files are all
- preliminary and unstable. Not for use as children's sleepware.
-
- Please report bugs, enhancements and other comments, especially positive
- or negative experiences with DVI-to-PS converters and previewers, to
-
- Timothy Van Zandt, tvz@Princeton.edu.
-
- Thanks.
-
- CHANGES:
-
- Policy: These macros are preliminary, but future incompatible changes
- to the user interface will be minimized. (A promise broken once already.)
-
- Key: In listings below,
- + means addition,
- * means change,
- ! means change that may cause problems with old files.
-
- v.9: Much internal code was changed, and additional features were added.
- See the User's Guide for details.
-
- ! The syntax of \dline has changed several times.
-
- ! With \multido, the backslash should now be included with variable
- names in the variable declarations.
-
- * Memory stats with LaTeX's article style:
- 40179 words of memory
- 2740 multiletter control
-
-
- v.91:
-
- * In spite of the many new features, the input file is smaller in bytes,
- and runs significantly faster (at least if used with a header file).
- The macros use up slightly more words of memory, and significantly
- more command sequences. Here are the stats with LaTeX's article
- style:
- 41586 words of memory
- 2966 multiletter control sequences
-
- ! \dbox and \rotate eliminated.
-
- ! \psput replaced by \rput, with new syntax:
- OLD: \psput[angle]<ref point>(x,y){stuff}
- NEW: \rput[ref point]{angle}(x,y){stuff}
- \OldPsput sets up \psput with the old syntax (this may disappear some
- day; keep it in a safe place if you expect to need it for a long time).
-
- ! System for specifying angles for nested rotations with \psput has changed.
- OLD: p0{angle}, p1{angle}, p2{angle}, etc.
- NEW: *angle works like p0{angle}; p1{angle} capability eliminated.
- N, S, E and W have same meaning as before.
-
- ! enddotsize parameter changed to dotsize.
-
- ! For specifying the origin as the baseline for the \pspicture
- environment, leave the optional argument [] empty (rather than
- [o]).
-
- ! B is not allowed as the y-coordinate when setting the reference point
- in \rput using coordinates. E.g., [Bl] and [B] are OK, but [.3,B] is
- not.
-
- * \sunpatch not needed anymore.
-
- * PostScript header file (if being used) is included at the beginning,
- rather than on demand.
-
- + cornersize parameter added, for specifying whether radius of corners
- in \psframe and related box macros is given in relative terms (using
- framearc) or absolute terms (using linearc).
-
- + \psclip and \clipbox macros added.
-
- + \Cartesian and \Polar commands added, for switching coordinate
- systems.
-
- + border=dim parameter added, for giving appearance of one line
- crossing over another.
-
- + showpoints=bool parameter added. If true, a dot is placed at appropriate
- coordinates.
-
- + \psdots graphics object added.
-
- + \psarc graphics object added.
-
- + \parabola graphics object added.
-
- + \pscurve, \psccurve, \psecurve, \psdoodle, \psedoodle, and \pscdoodle
- graphics objects added.
-
- + \qline and \qdisk graphics objects added.
-
- + \psplot, \parametericplot and \listplot graphics objects added.
-
- + node connection (e.g., tree) macros added!!
-
- %%%%%%%%%%%%%%%%%%%%%% END pst-read.me %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
- %%%%%%%%%%%%%%%%%%% pst-test.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %% Test file for pstricks.tex, v0.91 and maybe later versions.
- %%
- %% Run with Plain TeX.
- %%
- %% PAGE 1: Pure graphics objects. These us \psunit and \pstverb.
- %%
- \input pstricks
-
- \newpsobject{mygrid}{psgrid}{subgriddiv=1,griddots=10,gridlabels=7pt}
- \hbox{}\vfill
-
- \pspicture(-1,-1)(9,2)\mygrid
- \psline[linewidth=1.5pt,linestyle=dotted]{**-)}(2.5,1.5)
- \psline[linewidth=2pt,linestyle=dashed,
- linearc=.5,linecolor=gray]{|->}(3,-.5)(5.5,1.8)(7,-1)
- \qline(9,-1)(8,2)
- \endpspicture
-
- \vfill
-
- \pspicture(-1,-1)(9,2)\mygrid
- \qdisk(0,0){1}
- \pswedge[linecolor=gray,fillstyle=solid]{.8}{0}{70}
- \pscircle[linewidth=2pt,linestyle=dashed](4,.5){1.5}
- \psellipse[fillstyle=crosshatch*,fillcolor=lightgray]
- (7.5,.5)(1,1.5)
- \endpspicture
-
- \vfill
-
- \pspicture(-1,-1)(9,3)\mygrid
- \parabola*(0,0)(1,3)
- \Cartesian(.01,1)
- \parabola{<->}(900,3)(600,-1)
- \endpspicture
-
- \vfill
-
- \eject
-
- %% PAGE 2: Color (using \pstVerb) and rotation (using \pstVerb and \pstrotate).
-
- \hbox{}\vfill
-
- Here is {\gray some gray text }
-
- \vskip 1cm
- Here is a lightgray line:{\lightgray \hrulefill}
-
- \vskip 1cm
- And a dark gray blob:
-
- {\darkgray \hrule height 1cm width 5 cm }
- \vfill
-
- \centerline{
- \rotateleft{Left} \rotatedown{Down} \rotateright{Right}
- \scalebox{2}{Big} \scalebox{1,-1}{Flip}}
-
- \vfill
-
- \rput[l]{-45}{This runs diagonally down and to the right}
- \rput{45}(2in,0){This runs up to the right}
-
- \vfill
-
- \eject
-
- %% PAGE 3: Nodes and node connections. These use \pstVerb, \pstverbscale,
- %% and maybe \pstrotate.
-
- \hbox{}\vfill
-
- $$\matrix{&\rnode{a}{$A$}\cr\noalign{\vskip 2cm}%
- \rnode{b}{$B$}\qquad&\rnode{c}{$C$}\cr}$$
-
- \psset{nodesep=3pt}
- \ncline{->}{a}{b}\Mput[r]{$f$}
- \ncline{->}{a}{c}\Mput[l]{$g$}
- \ncline[linestyle=dotted]{->}{b}{c}\Mput[t]{$h$}
-
- \vfill
-
- \pspicture(0,-1)(7.5,1)
- \pnode{a}
- \cnodeput(1.5,0){b}{0}
- \cnodeput(3,0){c}{1}
- \cnodeput(4.5,0){d}{2}
- \cnodeput(6,0){e}{3}
- \psset{arrows=->,nodesep=0}
- \pslabelsep=3pt
- \ncline{a}{b}\Mput[b]{start}
- \ncline{b}{c}\Mput[t]{a}
- \ncline{c}{d}\Mput[b]{b}
- \ncline{d}{e}\Mput[b]{b}
- \psset{arm=.6,linearc=.4,angleA=0,angleB=90}
- \ncangles{b}{b}\Lput[r](1.5){b}
- \ncangles{e}{b}\Lput[r](1.5){b}
- \psset{angleB=-90}
- \ncangles{c}{c}\Lput[r](1.5){a}
- \ncangles{d}{c}\Lput[r](1.5){a}
- \ncangles{e}{c}\Lput[r](1.5){a}
- \endpspicture
-
- \vfill
-
- \pspicture(0.4,.2)(9.8,6.2)
- \rput(2,6){\rnode{G}{\psframebox{GOAT}}}
- \rput(2,.5){\rnode{I}{\psframebox{GOAT}}}
- \ncangles[angleA=90, angleB=180, nodesepB=3pt, linearc=3pt,
- armA=2cm]{<-**}{I}{G}
- \lput*(2.5){Doom}
- \Lput[l](.5){Zoom}
- {\Polar
- \rput{10}(7,30){\rnode{A}{\psframebox{Polar Coor}}}
- \rput(5,10){\rnode{B}{\psframebox{Polar Coor}}}}%
- \ncline{->}{A}{B}
- \mput{\pnode{Y}}
- \cnodeput[linewidth=1.5pt](9.5,6){H}{H}
- \cnodeput[linewidth=1.5pt](8,1){M}{M}
- \newpsobject{myarc}{ncarc}{nodesep=3pt,offset=2pt,arrows=->}
- \myarc{H}{M}\mput*{r}
- \myarc{M}{H}\mput*{l}\lput(.75){\pnode{Z}}
- \nccurve[angleA=135, angleB=135, ncurv=1.8]{Z}{Y}\Lput[b]{:D}{Doom}
- \endpspicture
-
- \vfill
-
- \bye
- %%%%%%%%%%%%%%%%%%%%%%%%%%%% END pst-test.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
- %!PS-Adobe-2.0
- %%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
- %%Title: pst-test.dvi
- %%Pages: 3 1
- %%BoundingBox: 0 0 612 792
- %%EndComments
- %%BeginProcSet: tex.pro
- /TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
- load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
- isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
- Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
- round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
- N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
- /vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{
- statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N
- /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin
- /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array
- /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2
- array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}
- B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont
- setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup
- length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{
- ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B
- /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0
- N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S
- dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
- ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
- ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}
- imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr
- put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf
- div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook
- known{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore
- showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
- known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256
- array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N
- /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X
- /rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0
- 7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
- TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
- -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{
- moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{
- S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B
- /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w
- }B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
- a}B /bos{/SS save N}B /eos{clear SS restore}B end
- %%EndProcSet
- %%BeginProcSet: pstricks.pro
- /tx@Dict 200 dict def tx@Dict begin
- /ADict 25 dict def /cm { matrix currentmatrix } def
- /slw { setlinewidth } def /clw { currentlinewidth} def
- /cp { currentpoint } def /ed { exch def } def
- /stp { .996264 dup scale } def
- /stv { SDict begin normalscale end .996264 dup scale } def
- /Setvmtrx { gsave matrix identmatrix setmatrix stv /vmtrx cm def grestore }
- def
- /PtoC { 2 copy cos mul 3 1 roll sin mul } def
- /Div { dup 0 eq { pop } { div } ifelse } def
- /Atan { /atan load stopped { pop pop 0 } if } def
- /DotSize { clw mul add mul 2 div /DS ed } def
- /SD { 0 360 arc closepath fill } def
- /SQ { /r ed r r moveto r r neg lineto r neg r neg lineto r neg r lineto
- closepath fill } def
- /ST { /y ed /x ed x y moveto x neg y lineto 0 x lineto closepath fill } def
- /SP { /r ed gsave 0 r moveto 4 { 72 rotate 0 r lineto } repeat closepath fill
- grestore } def
- /Plus { /r ed r 0 moveto r neg 0 lineto stroke 0 r moveto 0 r neg lineto
- stroke } def
- /NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch cvi
- def } def
- /Dots { NArray n 1 gt { DotB /n n 2 sub def } { /n n 1 sub def } ifelse n {
- Dot } repeat n 0 ge { DotA } if } def
- /Line { NArray n 0 eq not { n 1 eq { 0 0 4 2 roll /n 2 def } if ArrowB moveto
- /n n 2 sub def n { Lineto } repeat cp 4 2 roll ArrowA lineto pop pop } if }
- def
- /Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } ifelse {
- pop } repeat a } def
- /CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq and {
- pop pop /n n 1 sub def } if } def
- /Polygon { NArray n 2 eq { 0 0 6 2 roll /n 3 def } if n 3 lt { n { pop pop }
- repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ed /x0 ed /y1 ed /x1
- ed x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2
- sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto Lineto pop pop
- closepath } ifelse } def
- /Pyth { dup mul exch dup mul add sqrt } def
- /DoodCCa { /y ed /x ed 2 copy y sub /dy1 ed x sub /dx1 ed /l1 dx1 dy1 Pyth def
- } def
- /DoodCC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1
- def DoodCCa /dx dx0 l1 mul dx1 l0 mul add def /dy dy0 l1 mul dy1 l0 mul add
- def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div
- 2 div def /x2 x l0 dx mul m mul sub def /y2 y l0 dy mul m mul sub def /dx l1
- dx mul m mul neg def /dy l1 dy mul m mul neg def } def
- /DoodIC { /a a 2 mul 3 div 45 cos b exp div def DoodCCa /dx 0 def /dy 0 def }
- def
- /CurveIC { /y ed /x ed /dx 0 def /dy 0 def } def
- /CurveCC { /x1 x dx sub def /y1 y dy sub def /dx x 5 index sub 2 div r mul def
- /dy y 4 index sub 2 div r mul def /y ed /x ed /x2 x dx add def /y2 y dy add
- def } def
- /BOC { IC CC x2 y2 x1 y1 ArrowB 2 copy moveto 4 2 roll x y curveto } def
- /NC { CC x1 y1 x2 y2 x y curveto } def
- /EOC { x dx sub y dy sub 4 2 roll ArrowA 2 copy curveto } def
- /BAC { IC CC x y moveto CC x1 y1 cp ArrowB moveto } def
- /NAC { x2 y2 x y curveto CC x1 y1 } def
- /EAC { x2 y2 x y ArrowA curveto pop pop } def
- /OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def n {
- NC } repeat EOC } ifelse } def
- /AltCurve { NArray n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n {
- NAC } repeat EAC } ifelse } def
- /ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed }
- if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } repeat closepath pop
- pop } ifelse } def
- /PathLength { flattenpath /z 0 def { /y1 ed /x1 ed /y2 y1 def /x2 x1 def } {
- /y ed /x ed /z z y y1 sub dup mul x x1 sub dup mul add sqrt add def /y1 y def
- /x1 x def } {} { /y y2 def /x x2 def /z z y y1 sub dup mul x x1 sub dup mul
- add sqrt add def /y1 y def /x1 x def } pathforall z } def
- /DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def
- PathLength } ifelse /b ed /x ed /y ed /z y x add def b a .5 sub 2 mul y mul
- sub z div round z mul a .5 sub 2 mul y mul add b exch div dup /y exch y mul
- def /x exch x mul def y x 2 array astore 1 a sub y mul setdash stroke } def
- /DotLine { /b PathLength def /a ed /x ed /y clw def /z y x add def a 0 gt { /b
- b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add def } if }
- ifelse } ifelse /c b z div round def b c z mul sub c div x add y add 0 exch 2
- array astore a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1
- setlinecap stroke } def
- /LineFill { gsave clip /a ed pathbbox exch /x2 ed a div ceiling exch a div
- floor dup a mul 0 exch translate sub 1 add cvi /y ed /x1 ed newpath 2
- setlinecap y {x1 0 moveto x2 0 lineto stroke 0 a translate} repeat grestore }
- def
- /BeginArrow { ADict begin gsave /y1 ed /x1 ed /y2 ed /x2 ed /dy y2 y1 sub def
- /dx x2 x1 sub def x1 y1 translate /angle dx neg dy Atan def angle rotate
- newpath } def
- /EndArrow { angle neg rotate x1 neg y1 neg translate x2 y2 cp grestore end }
- def
- /Arrow { clw mul add 4 -1 roll mul dup 2 div /w ed mul dup /h ed mul /a ed w
- neg h moveto 0 0 lineto w h lineto w neg a neg rlineto gsave fill grestore }
- def
- /Tbar { clw mul add exch pop mul 2 div /z ed z neg clw 2 div moveto z 2 mul 0
- rlineto stroke 0 clw moveto } def
- /Bracket { clw mul add 3 -1 roll mul dup clw sub 2 div /z ed mul /a ed z neg a
- moveto z neg clw 2 div lineto z clw 2 div lineto z a lineto stroke 0 clw
- moveto } def
- /RoundBracket { clw mul add 3 -1 roll mul dup 2 div clw 8 div sub /z ed mul
- clw 2 div sub /a ed a z lt { z dup mul a dup mul add a 2 mul Div dup a sub z
- exch Atan /a ed /z ed } { /a 90 def } ifelse 0 z clw 2 div add z 270 a sub 270
- a add arc stroke 0 clw moveto } def
- /EndDot { DotSize { /z DS def } { /z 0 def } ifelse /b ed 0 z DS SD b { 0 z DS
- clw sub SD } if 0 DS z add clw 4 div sub moveto } def
- /Frame { /a .5 clw mul def 3 -1 roll 2 copy gt { exch } if a sub /y2 ed a add
- /y1 ed 2 copy gt { exch } if a sub /x2 ed a add /x1 ed x1 x2 eq y1 y2 eq or {
- pop pop x1 y1 moveto x2 y2 lineto } { /b y1 y2 sub abs x1 x2 sub abs 2 copy gt
- {exch pop} {pop} ifelse 2 div a sub def { b mul /b ed } { dup b lt { /b ed } {
- pop } ifelse } ifelse x1 y1 y2 add 2 div moveto x1 y2 x1 x2 add 2 div y2 b
- arcto 4 {pop} repeat x2 y2 x2 y1 y2 add 2 div b arcto 4 {pop} repeat x2 y1 x1
- x2 add 2 div y1 b arcto 4 {pop} repeat x1 y1 x1 y1 y2 add 2 div b arcto 4
- {pop} repeat closepath } ifelse } def
- /Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 sub 3
- div def /dy y0 y1 sub 3 div def x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB
- moveto x0 dx sub y0 dy add x1 y1 ArrowA curveto /Points [ x1 y1 x0 y0 x0 2 mul
- x1 sub y1 ] def } def
- /Grid { /a { ( ) } def /b ed /d ed /n ed /c ed c div /cy ed c div /cx ed cy
- div cvi /y ed cx div cvi /x ed cy div cvi /y2 ed cx div cvi /x2 ed cy div cvi
- /y1 ed cx div cvi /x1 ed /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1
- sub 0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div clw 2 div add def
- /Helvetica findfont b scalefont setfont /b b .95 mul clw 2 div add def } if
- gsave n 0 gt { 1 setlinecap [ 0 cy n div ] 0 setdash } { 2 setlinecap } ifelse
- /c x1 def /i 500 w mul x1 add def /e y cy mul def /f y1 cy mul def /g y2 cy
- mul def x1 cx mul 0 translate { newpath 0 e moveto b 0 gt { gsave d c a cvs
- dup stringwidth pop /z2 ed w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}
- {z1} ifelse rmoveto show grestore } if 0 f moveto 0 g lineto stroke cx w mul 0
- translate c x2 eq c i eq or {exit} if /c c w add def } loop grestore gsave n 0
- gt { 0 setlinecap [ 0 cx n div ] 0 setdash } { 2 setlinecap } ifelse /c y1 def
- /i 500 h mul y1 add def /e x cx mul def /f x1 cx mul def /g x2 cx mul def 0 y1
- cy mul translate { newpath e 0 moveto b 0 gt { gsave d c a cvs dup stringwidth
- pop /z2 ed w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt {z1} {b neg} ifelse
- rmoveto show grestore } if f 0 moveto g 0 lineto stroke 0 cy h mul translate c
- y2 eq c i eq or {exit} if /c c h add def } loop grestore } def
- /ArcArrow { /d ed /@b ed /a ed /TDict 2 dict def TDict begin /stroke { } def
- /fill { } def gsave 0 1 0 0 @b grestore end c mul /e ed pop pop pop /f clw 8
- div c mul neg def r a e d PtoC r a PtoC @b 4 { pop } repeat a e d f d } def
- /ArcPoints { /Points [ r 3 index PtoC 0 0 r 8 index PtoC ] def } def
- /Ellipse { /b ed /a ed /y ed /x ed /y0 ed /x0 ed x0 y0 translate /mtrx cm def
- x y scale 0 0 1 a b arc mtrx setmatrix /Points [ 0 0 ] def } def
- /ScalePoints { /y ed /x ed counttomark dup dup cvi eq not { exch pop } if /m
- exch def /n m 2 div cvi def n { y mul m 1 roll x mul m 1 roll } repeat } def
- /Scale { cp cp translate 4 2 roll scale neg exch neg exch translate } def
- /Rot { cp cp translate 3 -1 roll neg rotate neg exch neg exch translate } def
- /Tr { Setvmtrx vmtrx transform translate } def
- /ClipBox { /mtrx cm def stv /a ed /b ed /c ed 0 c neg rmoveto a 0 rlineto 0 b
- c add rlineto a neg 0 rlineto closepath clip newpath mtrx setmatrix } def
- /GetCoor { nodeA begin x y mtrxf transform cm itransform end nodeB begin x y
- mtrxf transform cm itransform end } def
- /GetAngle { GetCoor 3 -1 roll sub 3 1 roll sub neg Atan } def
- /GetDPos { angle 1 0 mtrxf dtransform cm idtransform exch atan sub dup sin
- /@sin ed cos /@cos ed getpos y add exch x add exch mtrxf transform cm
- itransform offset angle cos mul add exch offset angle sin mul sub exch } def
- /GetPos { nodeA begin /angle angleA def /offset offsetA def /nodesep nodesepA
- def GetDPos end /y1 ed /x1 ed nodeB begin /angle angleB def /offset offsetB
- def /nodesep nodesepB def GetDPos end /y2 ed /x2 ed } def
- /GetDist { x1 x2 sub y1 y2 sub Pyth } def
- /InitPnode { /y ed /x ed /getpos { nodesep @cos mul nodesep @sin mul } def }
- def
- /InitCnode { /y ed /x ed /getpos { nodesep r add dup @cos mul exch @sin mul }
- def } def
- /GetRnodePos { @cos 0 gt { /dx r nodesep add def } { /dx l nodesep sub def }
- ifelse @sin 0 gt { /dy u nodesep add def } { /dy d nodesep sub def } ifelse dx
- @sin mul abs dy @cos mul abs gt { dy @cos mul @sin div dy } { dx dup @sin mul
- @cos div } ifelse } def
- /InitRnode { /r ed r mul neg /l ed /r r l add def /x l neg def { neg /d ed /u
- ed /y 0 def } { neg /y ed y sub /u ed u mul neg /d ed /u u d add def /y y d
- sub def } ifelse /getpos { GetRnodePos } def } def
- /InitNC { tx@Dict nodeA known tx@Dict nodeB known and dup { /nodeA nodeA load
- def /nodeB nodeB load def } if } def
- /LineMP { 4 copy 1 t sub mul exch t mul add 3 1 roll 1 t sub mul exch t mul
- add exch 6 2 roll sub 3 1 roll sub Atan } def
- /NCLine { GetAngle /angleA ed /angleB angleA 180 add def GetPos x2 y2 x1 y1
- ArrowA 4 2 roll ArrowB moveto lineto /lvar [ x2 x1 y2 y1 ] cvx def /lpos {
- lvar LineMP } def } def
- /NCCoor { /lvar [ GetCoor 3 1 roll 4 1 roll ] cvx def /lpos { lvar LineMP }
- def } def
- /BezierMidpoint { /y3 ed /x3 ed /y2 ed /x2 ed /y1 ed /x1 ed /y0 ed /x0 ed /t
- ed /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub
- def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0
- sub cy sub by sub def ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay
- t 3 exp mul by t t mul mul add cy t mul add y0 add 3 ay t t mul mul mul 2 by t
- mul mul add cy add 3 ax t t mul mul mul 2 bx t mul mul add cx add atan } def
- /GetArms { /x1a armA angleA cos mul x1 add def /y1a armA angleA sin mul y1 add
- def /x2a armB angleB cos mul x2 add def /y2a armB angleB sin mul y2 add def }
- def
- /NCCurve { GetPos GetDist 2 div dup 3 -1 roll mul /armA ed mul /armB ed
- GetArms /lvar [ x1a y1a x1 y1 ArrowA 4 2 roll x2a y2a x2 y2 ArrowB ] cvx def
- lvar moveto 6 2 roll 4 2 roll curveto /lpos { t lvar BezierMidpoint } def }
- def
- /AnglesMP { lvar t 3 gt { /t t 3 sub def } { t 2 gt { /t t 2 sub def 10 -2
- roll } { t 1 gt { /t t 1 sub def 10 -4 roll } { 10 4 roll } ifelse } ifelse }
- ifelse 6 { pop } repeat 3 -1 roll exch LineMP } def
- /NCAngles { GetPos GetArms /mtrx angleA matrix rotate def x1a y1a mtrx
- transform pop x2a y2a mtrx transform exch pop mtrx itransform /y0 ed /x0 ed [
- armA 0 ne { x1 y1 } if x1a y1a x0 y0 x2a y2a armB 0 ne { x2 y2 } if ] Line
- /lvar [ x2 y2 x2a y2a x0 y0 x1a y1a x1 y1 ] cvx def /lpos { AnglesMP } def }
- def
- /NCAngle { GetPos /x2a armB angleB cos mul x2 add def /y2a armB angleB sin mul
- y2 add def /mtrx angleA matrix rotate def x2a y2a mtrx transform pop x1 y1
- mtrx transform exch pop mtrx itransform /y0 ed /x0 ed [ x1 y1 x0 y0 x2a y2a
- armB 0 ne { x2 y2 } if ] Line /lvar [ x2 y2 x2 y2 x2a y2a x0 y0 x1 y1 ] cvx
- def /lpos { AnglesMP } def } def
- /NCBar { GetPos GetArms /mtrx angleA matrix rotate def x1a y1a mtrx transform
- pop x2a y2a mtrx transform pop sub dup 0 mtrx itransform 3 -1 roll 0 gt { /y2a
- exch y2a add def /x2a exch x2a add def } { /y1a exch neg y1a add def /x2a exch
- neg x2a add def } ifelse [ x1 y1 x1a y1a x2a y2a x2 y2 ] Line /lvar [ x2 y2 x2
- y2 x2a y2a x1a y1a x1 y1 ] cvx def /lpos { lvar AnglesMP } def } def
- /NCDiag { GetPos GetArms [ x1 y1 x1a y1a x2a y2a x2 y2 ] Line /lvar [ x2 y2 x2
- y2 x2a y2a x1a y1a x1 y1] cvx def /lpos { AnglesMP } def } def
- /LLPut { /lmtrx cm def /langle 0 def tx@Dict /lpos known { Setvmtrx lpos
- /langle ed vmtrx transform cp 3 -1 roll sub neg 3 1 roll sub exch translate }
- { pop } ifelse } def
- /LPut { /lmtrx cm def tx@Dict /lpos known { Setvmtrx lpos pop vmtrx transform
- cp 3 -1 roll sub neg 3 1 roll sub exch translate } if } def
- /BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { cp OLUnit translate
- moveto /IfVisible true def } if } { IfVisible { cp OLUnit neg exch neg exch
- translate moveto /IfVisible false def } if } ifelse } def
- /InitOL { Setvmtrx /OLUnit [ 2890.79999 dup vmtrx dtransform ] cvx def /BOL {
- BeginOL } def /IfVisible true def } def
- end
- %%EndProcSet
- %%BeginProcSet: special.pro
- TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs
- 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP false N /BBcalc false N
- /p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{
- @scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true
- N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X}
- B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B
- /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type
- /dicttype eq{md begin /letter{}N /note{}N /legal{}N /od{txpose 1 0 mtx
- defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{
- itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2
- roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll
- itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array
- astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{
- PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR
- pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
- get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
- not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if
- yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270
- rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get
- ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not
- and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip
- not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}
- ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy
- TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if}
- if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{
- DVImag dup scale}if}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save
- N userdict maxlength dict begin /magscale false def normalscale currentpoint
- TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
- /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx
- sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx
- psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N
- /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly
- psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll
- S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end
- psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave
- normalscale currentpoint TR @SpecialDefaults}N /@setspecial{CLIP{newpath 0 0
- moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR
- hsc vsc scale ang rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg
- TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{grestore
- clear SpecialSave restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B
- /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1
- setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY
- moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix
- currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix
- setmatrix}N end
- %%EndProcSet
- TeXDict begin 1000 300 300 @start /Fa 6 105 df<00000C0000000C0000001C0000001C
- 0000003C0000007C0000005C0000009C0000008E0000010E0000010E0000020E0000040E000004
- 0E0000080E0000080E0000100E0000200E00003FFE000040070000400700008007000100070001
- 0007000200070002000700060007001E000700FF807FF01C1D7F9C1F>65
- D<01FFFF00003C01C0003800E0003800F0003800700038007000700070007000F0007000F00070
- 01E000E003C000E0078000E01F0000FFFC0001C00F0001C0078001C003C001C003C0038003C003
- 8003C0038003C0038003C0070007800700070007000E0007001C000E007800FFFFC0001C1C7E9B
- 1F>I<0001F808000E061800380138006000F001C0007003800070070000300F0000200E000020
- 1C0000203C0000203C000000780000007800000078000000F0000000F0000000F0000000F00000
- 00F0000100F0000100F0000100700002007000020030000400380008001C0010000E0060000701
- 800000FE00001D1E7E9C1E>I<0001E0000630000E78000CF0001C60001C00001C00001C00003C
- 0000380000380003FFC000380000380000700000700000700000700000700000E00000E00000E0
- 0000E00000E00001C00001C00001C00001C00001C000018000038000038000630000F30000F600
- 00E4000078000015257E9C14>102 D<007180018B800307800607800E07000C07001C07001C07
- 00380E00380E00380E00380E00381C00381C00381C00183C0008F8000738000038000038000070
- 00607000F06000F0E000E180007E0000111A7F9114>I<0FC00001C00001C00003800003800003
- 80000380000700000700000700000700000E3E000EC3000F03800E03801E03801C03801C03801C
- 0380380700380700380700380E00700E20700E20701C20701C40E00C80600700131D7E9C18>I
- E /Fb 40 122 df<03C00C301818300C300C700E60066006E007E007E007E007E007E007E007E0
- 07E007E007E007E007E00760066006700E300C300C18180C3007E0101D7E9B15>48
- D<030007003F00C700070007000700070007000700070007000700070007000700070007000700
- 07000700070007000700070007000F80FFF80D1C7C9B15>I<07C01830201C400C400EF00FF80F
- F807F8077007000F000E000E001C001C00380070006000C00180030006010C01180110023FFE7F
- FEFFFE101C7E9B15>I<07E01830201C201C781E780E781E381E001C001C00180030006007E000
- 30001C001C000E000F000F700FF80FF80FF80FF00E401C201C183007E0101D7E9B15>I<60F0F0
- 600000000000000000000060F0F06004127C910C>58 D<000600000006000000060000000F0000
- 000F0000000F00000017800000178000001780000023C0000023C0000023C0000041E0000041E0
- 000041E0000080F0000080F0000180F8000100780001FFF80003007C0002003C0002003C000600
- 3E0004001E0004001E000C001F001E001F00FF80FFF01C1D7F9C1F>65 D<FFFFC00F00F00F0038
- 0F003C0F001C0F001E0F001E0F001E0F001E0F001C0F003C0F00780F01F00FFFE00F00780F003C
- 0F001E0F000E0F000F0F000F0F000F0F000F0F000F0F001E0F001E0F003C0F0078FFFFE0181C7E
- 9B1D>I<001F808000E0618001801980070007800E0003801C0003801C00018038000180780000
- 807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000
- 0000700000807800008078000080380000801C0001001C0001000E000200070004000180080000
- E03000001FC000191E7E9C1E>I<FFFFC0000F00F0000F003C000F000E000F0007000F0007000F
- 0003800F0003C00F0001C00F0001C00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E0
- 0F0001E00F0001E00F0001C00F0001C00F0003C00F0003800F0007800F0007000F000E000F001C
- 000F007000FFFFC0001B1C7E9B20>I<FFFFF80F00780F00180F00080F00080F000C0F00040F00
- 040F02040F02000F02000F02000F06000FFE000F06000F02000F02000F02000F02000F00000F00
- 000F00000F00000F00000F00000F00000F8000FFF800161C7E9B1B>70 D<001F808000E0618001
- 801980070007800E0003801C0003801C00018038000180780000807800008070000080F0000000
- F0000000F0000000F0000000F0000000F0000000F000FFF0F0000F807000078078000780780007
- 80380007801C0007801C0007800E00078007000B800180118000E06080001F80001C1E7E9C21>
- I<FFF3FFC00F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F00
- 3C000F003C000F003C000F003C000FFFFC000F003C000F003C000F003C000F003C000F003C000F
- 003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C00FFF3FFC01A1C7E9B
- 1F>I<FFF8000F80000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000
- 0F00000F00000F00000F00000F00000F00000F00080F00080F00080F00180F00180F00100F0030
- 0F00700F01F0FFFFF0151C7E9B1A>76 D<FF8000FF800F8000F8000F8000F8000BC00178000BC0
- 0178000BC001780009E002780009E002780008F004780008F004780008F0047800087808780008
- 780878000878087800083C107800083C107800083C107800081E207800081E207800081E207800
- 080F407800080F40780008078078000807807800080780780008030078001C03007800FF8307FF
- 80211C7E9B26>I<003F800000E0E0000380380007001C000E000E001C0007003C000780380003
- 80780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F000
- 01E0F00001E0700001C0780003C0780003C0380003803C0007801C0007000E000E0007001C0003
- 80380000E0E000003F80001B1E7E9C20>79 D<FFFF800F00E00F00780F003C0F001C0F001E0F00
- 1E0F001E0F001E0F001E0F001C0F003C0F00780F00E00FFF800F00000F00000F00000F00000F00
- 000F00000F00000F00000F00000F00000F00000F0000FFF000171C7E9B1C>I<FFFF00000F01E0
- 000F0078000F003C000F001C000F001E000F001E000F001E000F001E000F001C000F003C000F00
- 78000F01E0000FFF00000F03C0000F00E0000F00F0000F0078000F0078000F0078000F0078000F
- 0078000F0078000F0078100F0078100F0038100F003C20FFF01C20000007C01C1D7E9B1F>82
- D<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F0020000F
- 0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
- 0F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B
- 1E>84 D<7FFFF07C01F07001E06003C06003C0400780400F80400F00401E00001E00003C00007C
- 0000780000F00000F00001E00003E00003C0100780100780100F00101F00301E00203C00203C00
- 607800E0F803E0FFFFE0141C7E9B19>90 D<1FC000307000783800781C00301C00001C00001C00
- 01FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>
- 97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C00
- 1D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01C0
- 1C01801E030019060010F800131D7F9C17>I<003F000007000007000007000007000007000007
- 0000070000070000070000070003E7000C1700180F00300700700700600700E00700E00700E007
- 00E00700E00700E00700600700700700300700180F000C370007C7E0131D7E9C17>100
- D<03E00C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C1803E00F12
- 7F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E00
- 0E000E000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38
- C01C3880181800381C00381C00381C00381C001818001C38000C300013C0001000003000001800
- 001FF8001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C
- 7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C
- 7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
- 03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C00180000000000000000000000
- 00000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF
- 80091D7F9C0C>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C
- 00001C3FC01C0F001C0C001C08001C10001C20001C40001CE0001DE0001E70001C78001C38001C
- 3C001C1C001C0E001C0F001C0F80FF9FE0131D7F9C16>107 D<FC001C001C001C001C001C001C
- 001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00
- 1C001C00FF80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C
- 01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00
- 1C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D
- 03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
- 03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001C0E001C0
- E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F00012127F9115>I<FC7C
- 001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01
- C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C0000FF8000131A
- 7F9117>I<FCE01D301E781E781C301C001C001C001C001C001C001C001C001C001C001C001C00
- FFC00D127F9110>114 D<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018
- C018E010D0608FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C00
- 1C001C001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C
- 03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
- 07800C07800E1B8003E3F014127F9117>I<FF3FCFE03C0F03801C0701801C0701001C0B01000E
- 0B82000E0B82000E1182000711C4000711C4000720C40003A0E80003A0E80003C0680001C07000
- 01C0700001803000008020001B127F911E>119 D<7F8FF00F03800F030007020003840001C800
- 01D80000F00000700000780000F800009C00010E00020E000607000403801E07C0FF0FF8151280
- 9116>I<FF07E03C03801C01001C01000E02000E020007040007040007040003880003880003D8
- 0001D00001D00000E00000E00000E000004000004000008000008000F08000F10000F300006600
- 003C0000131A7F9116>I E end
- %%EndProlog
- %%BeginSetup
- %%Feature: *Resolution 300
- TeXDict begin
- %%EndSetup
- %%Page: 1 1
- bop 201 641 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray gsave 0.8 slw 0 setgray -28.45274
- -28.45274 256.07469 56.90549 -28.45274 -28.45274 28.45274 28.45274
- 1 10 { 0. setgray } 7.0 Grid grestore end
- @endspecial @beginspecial
- @setspecial
- tx@Dict begin stp 1.5 slw 0 setgray /ArrowA { BeginArrow {false}
- true 1. 1.0 3. EndDot EndArrow } def /ArrowB { BeginArrow 1. 0.4 1.0
- 4. RoundBracket EndArrow } def [ 71.13185 42.67911 ] /Lineto { lineto
- } def Line gsave 0 setgray 3.0 -1 -2 add DotLine grestore end
- @endspecial @beginspecial @setspecial
- tx@Dict begin stp 2.0 slw 0.5 setgray /ArrowA { BeginArrow 1. 0.4
- 1.0 4. Tbar EndArrow } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2
- Arrow EndArrow } def [ 85.35823 -14.22636 156.49008 51.21501 199.1692
- -28.45274 ] /r 14.22636 def /Lineto { Arcto } def Line gsave 0.5
- setgray 5.0 3.0 -1 -2 add DashLine grestore end
- @endspecial
- @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 256.07469 -28.45274 moveto 227.62195
- 56.90549 lineto 0 setlinecap stroke end
- @endspecial 717 x @beginspecial
- @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray gsave 0.8 slw 0 setgray -28.45274
- -28.45274 256.07469 56.90549 -28.45274 -28.45274 28.45274 28.45274
- 1 10 { 0. setgray } 7.0 Grid grestore end
- @endspecial @beginspecial @setspecial
- tx@Dict begin stp 0 setgray 0.0 0.0 28.45274 SD end
- @endspecial
- @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0.5 setgray 0.0 0.0 translate newpath 0
- 0 newpath moveto /r 22.76227 clw 2 div sub def 0 0 r 0. 70. arc closepath
- gsave 1. setgray fill grestore gsave 0.5 setgray 0 setlinecap stroke
- grestore end
- @endspecial @beginspecial @setspecial
- tx@Dict begin stp 2.0 slw 0 setgray 113.81097 14.22636 42.67911 clw
- 2 div sub 0 360 arc closepath gsave 0 setgray 5.0 3.0 4 DashLine
- grestore end
-
- @endspecial @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 213.39557 14.22636 28.45274 42.67911
- 0 360 Ellipse gsave 0.75 setgray fill grestore gsave 45. rotate 0.8
- slw 0 setgray 5.0 LineFill grestore gsave 90 rotate gsave 45. rotate
- 0.8 slw 0 setgray 5.0 LineFill grestore grestore gsave 0 setgray
- 0 setlinecap stroke grestore end
- @endspecial 835 x
- @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray gsave 0.8 slw 0 setgray -28.45274
- -28.45274 256.07469 85.35823 -28.45274 -28.45274 28.45274 28.45274
- 1 10 { 0. setgray } 7.0 Grid grestore end
- @endspecial @beginspecial @setspecial
- tx@Dict begin stp 0.0 slw 0 setgray /ArrowA { } def /ArrowB { }
- def 0.0 0.0 28.45274 85.35823 Parab gsave 0 setgray fill grestore
- gsave 0 setgray grestore end
-
- @endspecial @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray /ArrowA { BeginArrow 1. 0.3 1.4
- 1.0 3.2 Arrow EndArrow } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2
- Arrow EndArrow } def 255.92651 85.35823 170.61768 -28.45274 Parab
- gsave 0 setgray 0 setlinecap stroke grestore end
- @endspecial 965 2770
- a Fb(1)p eop
- %%Page: 2 2
- bop 83 583 a Fb(Here)15 b(is)f
- 0.5 setgray
- 223 583 a Fb(some)f(gra)o(y)g(text)i
- 0 setgray
- 83 751 a Fb(Here)g(is)f(a)f(ligh)o(tgra)o(y)g
- (line:)p 0.75 setgray
- 509 751 1443 2 v 1952 751 a
- 0 setgray
- 83 919 a Fb(And)h(a)g(dark)g(gra)o(y)f(blob:)0 927 y
- 0.25 setgray
- 0 1045 591 119 v 0 1045 a
- 0 setgray
- 786 1637 a
- tx@Dict begin 90 Rot end
- 786 1637 a Fb(Left)-73 b
- tx@Dict begin -90 Rot end
- 904 1637 a
- tx@Dict begin 180 Rot end
- 904 1666 a Fb(Do)o(wn)904 1637 y
- tx@Dict begin -180 Rot end
- 955 1637 a
- tx@Dict begin -90 Rot end
- 854 1666 a Fb(Righ)o(t)955 1637 y
- tx@Dict begin 90 Rot end
- 982 1637 a
- tx@Dict begin 2. 2. Scale end
- 982 1637 a Fb(Big)-62 b
- tx@Dict begin 1 2. div 1 2. div Scale end
- 1134 1637 a
- tx@Dict begin 1. -1. Scale end
- 1134 1637 a Fb(Flip)-74 b
- tx@Dict begin 1 1. div 1 -1. div Scale end
- 83 2179 a
- tx@Dict begin -45. Rot end
- 83 2189 a Fb(This)14 b(runs)g(diagonally)e(do)o(wn)h(and)h(to)g(the)g(righ)o
- (t)83 2179 y
- tx@Dict begin -45. neg Rot end
- 683 2179 a
- tx@Dict begin 45. Rot end
- 455 2189 a Fb(This)g(runs)g(up)g(to)g(the)h(righ)o(t)683 2179
- y
- tx@Dict begin 45. neg Rot end
- 965 2770 a Fb(2)p eop
- %%Page: 3 3
- bop 1038 379 a
-
- tx@Dict begin gsave stv cp translate /node@a 18 dict def node@a begin /mtrxf
- cm def .5 6.83331 0.0 false .5 7.50002 InitRnode end grestore end
- 1038 379 a Fa(A)880 665 y
-
- tx@Dict begin gsave stv cp translate /node@b 18 dict def node@b begin /mtrxf
- cm def .5 6.83331 0.0 false .5 8.0868 InitRnode end grestore end
- 880 665 a Fa(B)127 b
-
- tx@Dict begin gsave stv cp translate /node@c 18 dict def node@c begin /mtrxf
- cm def .5 6.83331 0.0 false .5 7.86249 InitRnode end grestore end
- 1038 665 a Fa(C)0 708 y
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 3.0 def /nodesepB 3.0 def /nodeA /node@a def /nodeB /node@b def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def NCLine gsave 0 setgray 0 setlinecap stroke grestore } if
- grestore end
- 0 708 a
- tx@Dict begin /t 0.5 def LLPut end
- -46 719 a Fa(f)0 708 y
- tx@Dict begin lmtrx setmatrix end
- 0 708 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 3.0 def /nodesepB 3.0 def /nodeA /node@a def /nodeB /node@c def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def NCLine gsave 0 setgray 0 setlinecap stroke grestore } if
- grestore end
- 0 708 a
- tx@Dict begin /t 0.5 def LLPut end
- 21 713 a Fa(g)0 708 y
- tx@Dict begin lmtrx setmatrix end
- 0 708 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 3.0 def /nodesepB 3.0 def /nodeA /node@b def /nodeB /node@c def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def NCLine gsave 0 setgray 3.0 0 -2 add DotLine grestore } if
- grestore end
- 0 708 a
- tx@Dict begin /t 0.5 def LLPut end
- -12 758 a Fa(h)0 708 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv cp translate /node@a 10 dict def node@a begin /mtrxf
- cm def 0.0 0.0 InitPnode end grestore end
- 260 1083 a
-
- tx@Dict begin gsave stv cp translate /node@b 12 dict def node@b begin /mtrxf
- cm def /r 5.00002 2 div 6.44444 0.0 add 2 div Pyth 3.0 add 1.0 add def 0 0
- InitCnode end grestore end
- 260 1083 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 0 0 5.00002 2 div 6.44444 0.0
- add 2 div Pyth 3.0 add clw 2 div add 0 360 arc closepath gsave 0 setgray
- 0 setlinecap stroke grestore end
- @endspecial 250 1096
- a Fb(0)437 1083 y
-
- tx@Dict begin gsave stv cp translate /node@c 12 dict def node@c begin /mtrxf
- cm def /r 5.00002 2 div 6.44444 0.0 add 2 div Pyth 3.0 add 1.0 add def 0 0
- InitCnode end grestore end
- 437 1083 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 0 0 5.00002 2 div 6.44444 0.0
- add 2 div Pyth 3.0 add clw 2 div add 0 360 arc closepath gsave 0 setgray
- 0 setlinecap stroke grestore end
- @endspecial 427 1096
- a Fb(1)615 1083 y
-
- tx@Dict begin gsave stv cp translate /node@d 12 dict def node@d begin /mtrxf
- cm def /r 5.00002 2 div 6.44444 0.0 add 2 div Pyth 3.0 add 1.0 add def 0 0
- InitCnode end grestore end
- 615 1083 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 0 0 5.00002 2 div 6.44444 0.0
- add 2 div Pyth 3.0 add clw 2 div add 0 360 arc closepath gsave 0 setgray
- 0 setlinecap stroke grestore end
- @endspecial 605 1096
- a Fb(2)792 1083 y
-
- tx@Dict begin gsave stv cp translate /node@e 12 dict def node@e begin /mtrxf
- cm def /r 5.00002 2 div 6.44444 0.0 add 2 div Pyth 3.0 add 1.0 add def 0 0
- InitCnode end grestore end
- 792 1083 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 0 0 5.00002 2 div 6.44444 0.0
- add 2 div Pyth 3.0 add clw 2 div add 0 360 arc closepath gsave 0 setgray
- 0 setlinecap stroke grestore end
- @endspecial 782 1096
- a Fb(3)83 1083 y
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@a def /nodeB /node@b def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def NCLine gsave 0 setgray 0 setlinecap stroke grestore } if
- grestore end
- 83 1083 a
- tx@Dict begin /t 0.5 def LLPut end
- 40 1070 a Fb(start)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@b def /nodeB /node@c def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def NCLine gsave 0 setgray 0 setlinecap stroke grestore } if
- grestore end
- 83 1083 a
- tx@Dict begin /t 0.5 def LLPut end
- 73 1113 a Fb(a)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@c def /nodeB /node@d def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def NCLine gsave 0 setgray 0 setlinecap stroke grestore } if
- grestore end
- 83 1083 a
- tx@Dict begin /t 0.5 def LLPut end
- 71 1070 a Fb(b)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@d def /nodeB /node@e def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def NCLine gsave 0 setgray 0 setlinecap stroke grestore } if
- grestore end
- 83 1083 a
- tx@Dict begin /t 0.5 def LLPut end
- 71 1070 a Fb(b)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@b def /nodeB /node@b def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def /r 11.38092 def /Lineto { Arcto } def /angleA 0. def /angleB
- 90. def /armA 17.07181 def /armB 17.07181 def NCAngles gsave 0 setgray 0
- setlinecap stroke grestore } if grestore end
- 83 1083 a
- tx@Dict begin /t 1.5 def LLPut end
- 47 1097 a Fb(b)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@e def /nodeB /node@b def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def /r 11.38092 def /Lineto { Arcto } def /angleA 0. def /angleB
- 90. def /armA 17.07181 def /armB 17.07181 def NCAngles gsave 0 setgray 0
- setlinecap stroke grestore } if grestore end
- 83 1083 a
- tx@Dict begin /t 1.5 def LLPut end
- 47 1097 a Fb(b)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@c def /nodeB /node@c def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def /r 11.38092 def /Lineto { Arcto } def /angleA 0. def /angleB
- -90. def /armA 17.07181 def /armB 17.07181 def NCAngles gsave 0 setgray 0
- setlinecap stroke grestore } if grestore end
- 83 1083 a
- tx@Dict begin /t 1.5 def LLPut end
- 50 1092 a Fb(a)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@d def /nodeB /node@c def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def /r 11.38092 def /Lineto { Arcto } def /angleA 0. def /angleB
- -90. def /armA 17.07181 def /armB 17.07181 def NCAngles gsave 0 setgray 0
- setlinecap stroke grestore } if grestore end
- 83 1083 a
- tx@Dict begin /t 1.5 def LLPut end
- 50 1092 a Fb(a)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 83 1083 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 0.0 def /nodesepB 0.0 def /nodeA /node@e def /nodeB /node@c def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def /r 11.38092 def /Lineto { Arcto } def /angleA 0. def /angleB
- -90. def /armA 17.07181 def /armB 17.07181 def NCAngles gsave 0 setgray 0
- setlinecap stroke grestore } if grestore end
- 83 1083 a
- tx@Dict begin /t 1.5 def LLPut end
- 50 1092 a Fb(a)83 1083 y
- tx@Dict begin lmtrx setmatrix end
- 195 1495 a
-
- tx@Dict begin gsave stv cp translate /node@G 18 dict def node@G begin /mtrxf
- cm def .5 10.83331 4.0 false .5 37.23615 InitRnode end grestore end
- 195 1512 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 0. true 0.0 0.0 37.23615 14.83331
- Frame gsave 0 setgray 0 setlinecap stroke grestore end
- @endspecial 211 1495
- a Fb(GO)o(A)m(T)195 2145 y
-
- tx@Dict begin gsave stv cp translate /node@I 18 dict def node@I begin /mtrxf
- cm def .5 10.83331 4.0 false .5 37.23615 InitRnode end grestore end
- 195 2161 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 0. true 0.0 0.0 37.23615 14.83331
- Frame gsave 0 setgray 0 setlinecap stroke grestore end
- @endspecial 211 2145
- a Fb(GO)o(A)m(T)36 2189 y
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 3.0 def /nodesepB 3.0 def /nodeA /node@I def /nodeB /node@G def
- InitNC { /ArrowA { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow EndArrow } def /ArrowB
- { BeginArrow {false} true 1. 1.0 3. EndDot EndArrow } def /r 3.0 def /Lineto {
- Arcto } def /angleA 90. def /angleB 180. def /armA 56.9055 def /armB 10.0 def
- NCAngles gsave 0 setgray 0 setlinecap stroke grestore } if grestore end
- 36 2189 a
- tx@Dict begin /t 2.5 def LLPut end
- -35 2220 a @beginspecial @setspecial
- tx@Dict begin stp 0.0 slw 1. setgray 0. true 0.0 0.0 34.25008 14.83331
- Frame gsave 1. setgray fill grestore gsave 1. setgray grestore end
- @endspecial -19 2204
- a Fb(Do)q(om)36 2189 y
- tx@Dict begin lmtrx setmatrix end
- 36 2189 a
- tx@Dict begin /t 0.5 def LLPut end
- 57 2204 a Fb(Zo)q(om)36 2189 y
- tx@Dict begin lmtrx setmatrix end
- 36 2189 a
- tx@Dict begin 199.1692 30. PtoC Tr end
- 36 2189 a
- tx@Dict begin 10. Rot end
- -80 2204 a
-
- tx@Dict begin gsave stv cp translate /node@A 18 dict def node@A begin /mtrxf
- cm def .5 10.94444 4.0 false .5 55.97232 InitRnode end grestore end
- -80 2220 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 0. true 0.0 0.0 55.97232 14.94444
- Frame gsave 0 setgray 0 setlinecap stroke grestore end
- @endspecial -64 2204
- a Fb(P)o(olar)13 b(Co)q(or)36 2189 y
- tx@Dict begin 10. neg Rot end
- 36 2189 a
- tx@Dict begin 199.1692 30. PtoC neg exch neg exch Tr end
- 36 2189 a
- tx@Dict begin 142.26372 10. PtoC Tr end
- -80 2204 a
-
- tx@Dict begin gsave stv cp translate /node@B 18 dict def node@B begin /mtrxf
- cm def .5 10.94444 4.0 false .5 55.97232 InitRnode end grestore end
- -80 2220 a @beginspecial @setspecial
- tx@Dict begin stp 1.0 slw 0 setgray 0. true 0.0 0.0 55.97232 14.94444
- Frame gsave 0 setgray 0 setlinecap stroke grestore end
- @endspecial -64 2204
- a Fb(P)o(olar)g(Co)q(or)36 2189 y
- tx@Dict begin 142.26372 10. PtoC neg exch neg exch Tr end
- 36 2189 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 3.0 def /nodesepB 3.0 def /nodeA /node@A def /nodeB /node@B def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def NCLine gsave 0 setgray 0 setlinecap stroke grestore } if
- grestore end
- 36 2189 a
- tx@Dict begin /t 0.5 def LLPut end
- 36 2189 a
-
- tx@Dict begin gsave stv cp translate /node@Y 10 dict def node@Y begin /mtrxf
- cm def 0.0 0.0 InitPnode end grestore end
- 36 2189 a
- tx@Dict begin lmtrx setmatrix end
- 1158 1481 a
-
- tx@Dict begin gsave stv cp translate /node@H 12 dict def node@H begin /mtrxf
- cm def /r 7.50002 2 div 6.83331 0.0 add 2 div Pyth 3.0 add 1.5 add def 0 0
- InitCnode end grestore end
- 1158 1481 a @beginspecial @setspecial
- tx@Dict begin stp 1.5 slw 0 setgray 0 0 7.50002 2 div 6.83331 0.0
- add 2 div Pyth 3.0 add clw 2 div add 0 360 arc closepath gsave 0 setgray
- 0 setlinecap stroke grestore end
- @endspecial 1142 1495
- a Fb(H)981 2071 y
-
- tx@Dict begin gsave stv cp translate /node@M 12 dict def node@M begin /mtrxf
- cm def /r 9.16669 2 div 6.83331 0.0 add 2 div Pyth 3.0 add 1.5 add def 0 0
- InitCnode end grestore end
- 981 2071 a @beginspecial @setspecial
- tx@Dict begin stp 1.5 slw 0 setgray 0 0 9.16669 2 div 6.83331 0.0
- add 2 div Pyth 3.0 add clw 2 div add 0 360 arc closepath gsave 0 setgray
- 0 setlinecap stroke grestore end
- @endspecial 962 2085
- a Fb(M)36 2189 y
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 2.0 def /offsetB 2.0 neg
- def /nodesepA 3.0 def /nodesepB 3.0 def /nodeA /node@H def /nodeB /node@M def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def GetAngle dup 8. add /angleA ed 8. sub 180 add /angleB ed 0.67
- 0.67 NCCurve gsave 0 setgray 0 setlinecap stroke grestore } if grestore end
- 36 2189 a
- tx@Dict begin /t 0.5 def LLPut end
- 11 2215 a @beginspecial @setspecial
- tx@Dict begin stp 0.0 slw 1. setgray 0. true 0.0 0.0 11.91667 12.30554
- Frame gsave 1. setgray fill grestore gsave 1. setgray grestore end
- @endspecial 28 2198 a
- Fb(r)36 2189 y
- tx@Dict begin lmtrx setmatrix end
- 36 2189 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 2.0 def /offsetB 2.0 neg
- def /nodesepA 3.0 def /nodesepB 3.0 def /nodeA /node@M def /nodeB /node@H def
- InitNC { /ArrowA { } def /ArrowB { BeginArrow 1. 0.3 1.4 1.0 3.2 Arrow
- EndArrow } def GetAngle dup 8. add /angleA ed 8. sub 180 add /angleB ed 0.67
- 0.67 NCCurve gsave 0 setgray 0 setlinecap stroke grestore } if grestore end
- 36 2189 a
- tx@Dict begin /t 0.5 def LLPut end
- 14 2220 a @beginspecial @setspecial
- tx@Dict begin stp 0.0 slw 1. setgray 0. true 0.0 0.0 10.77779 14.94444
- Frame gsave 1. setgray fill grestore gsave 1. setgray grestore end
- @endspecial 30 2204 a
- Fb(l)36 2189 y
- tx@Dict begin lmtrx setmatrix end
- 36 2189 a
- tx@Dict begin /t 0.75 def LLPut end
- 36 2189 a
-
- tx@Dict begin gsave stv cp translate /node@Z 10 dict def node@Z begin /mtrxf
- cm def 0.0 0.0 InitPnode end grestore end
- 36 2189 a
- tx@Dict begin lmtrx setmatrix end
- 36 2189 a
-
- tx@Dict begin gsave stv 1.0 slw 0 setgray /offsetA 0.0 def /offsetB 0.0 neg
- def /nodesepA 3.0 def /nodesepB 3.0 def /nodeA /node@Z def /nodeB /node@Y def
- InitNC { /ArrowA { } def /ArrowB { } def /angleA 135. def /angleB 135. def 1.8
- 1.8 NCCurve gsave 0 setgray 0 setlinecap stroke grestore } if grestore end
- 36 2189 a
- tx@Dict begin /t 0.5 def LLPut end
- 36 2189 a
- tx@Dict begin langle 180 add Rot end
- -19 2169 a Fb(Do)q(om)36 2189 y
- tx@Dict begin langle 180 add neg Rot end
- 36 2189 a
- tx@Dict begin lmtrx setmatrix end
- 965 2770 a Fb(3)p eop
- %%Trailer
- end
- userdict /end-hook known{end-hook}if
- %%EOF
- --
- Timothy Van Zandt (609)258-4050 tvz@Princeton.EDU (NeXTMail)
- Dept. of Economics, Princeton University, Princeton, NJ 08544
-
-
- --
- Timothy Van Zandt (609)258-4050 tvz@Princeton.EDU (NeXTMail)
- Dept. of Economics, Princeton University, Princeton, NJ 08544
-