%!PS-Adobe-3.0 EPSF-3.0 %%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software %%Title: testps-fig1.dvi %%CreationDate: Tue Apr 01 22:39:21 2014 %%Pages: 1 %%PageOrder: Ascend %%BoundingBox: 101 519 281 699 %%DocumentFonts: CMR8 CMSY8 %%DocumentPaperSizes: Letter %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: DVIPS.EXE testps-fig1 %DVIPSParameters: dpi=600 %DVIPSSource: TeX output 2014.04.01:2239 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true 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/IEn 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 IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/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 A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 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/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat {BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/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{SS restore}B end %%EndProcSet %%BeginProcSet: pstricks.pro 0 0 % $Id: pstricks.pro 755 2013-03-09 08:48:58Z herbert $ % %% PostScript prologue for pstricks.tex. %% Version 1.15, 2012/10/18 %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. % % % Define the follwing gs-functions if not known, eg when using distiller % systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if systemdict /.setblendmode known not {/.setblendmode { pop } def } if systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if % /tx@Dict 200 dict def % the main PSTricks dictionary tx@Dict begin /ADict 25 dict def % The arrow dictionaray /CM { matrix currentmatrix } bind def /SLW /setlinewidth load def /CLW /currentlinewidth load def /CP /currentpoint load def /ED { exch def } bind def /L /lineto load def /T /translate load def /TMatrix { } def /RAngle { 0 } def /Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments /Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known /ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) /Div { dup 0 eq { pop } { div } ifelse } def % control the division /tan { dup cos abs 1.e-10 lt { pop 1.e10 } % return 1.e10 as infinit { dup sin exch cos div } ifelse % default sin/cos } def /Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees /Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root pop pop 0 }{ sqrt exch atan} ifelse } def /NET { neg exch neg exch T } def % change coordinate system to the negative one /Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter /Pyth2 { % Pythagoras, xA yA xB yB 3 -1 roll % xA xB yB yA sub % xA xB yB-yA 3 1 roll % yB-yA xA xB sub % yB-yA xA-xB Pyth } def /PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian /Rand { rand 4294967295 div } def % a real random number %----------------- hv added 20050516 --------------- /PiDiv2 1.57079632680 def /Pi 3.14159265359 def /TwoPi 6.28318530718 def /Euler 2.71828182846 def %/e Euler bind def % /RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees /DegtoRad { Pi mul 180 div } bind def % viceversa %----------------- hv end--------------------------- /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def % /PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } /pathforall load stopped { pop pop pop pop } if z } def % /STP { .996264 dup scale } def % BP/PT scaling /STV { SDict begin normalscale end STP } def % % /DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse /b ED % pattern should fit evenly in b dup /X ED % pattern array 0 get /y ED % length of first black segment /z 0 X {add} forall def % length of the full pattern %% Computation of the scaling factor as described by van Zandt: 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 %%%% scaling factor on stack. /z ED %% now, z is the scaling factor false % for the length test below X { z mul } forall X astore %% modification TN 04-08-07 %%% Checking whether at least one dash in X has positive length: {0 gt or} forall { X 1 a sub y mul } { [ 1 0 ] 0 } ifelse setdash stroke } def % /DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z 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 [ 0 b b z Div round Div dup 0 le { pop 1 } if ] a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse setdash 1 setlinecap stroke } def % /SymbolLine { % on stack [ x y x y ... counttomark % number of elements 2 div cvi /n ED % n pairs /YA ED /XA ED % the start point n 1 sub { /YB ED /XB ED /XLength XB XA sub def /YLength YB YA sub def /PAngle YLength XLength Atan def /XYLength XLength YLength Pyth def %% for negative SymStep we calculate the distance SymStep 0 lt { %XYLength SymStep div abs cvi /nSym SymStep abs cvi def } { /nSym XYLength SymStep div cvi def } ifelse 0.5 setflat /Shift Symbol stringwidth pop 2 div def /deltaX XLength nSym div def /deltaY YLength nSym div def curveticks { XA YA moveto } { XA Shift sub YA Shift sub moveto } ifelse nSym { gsave curveticks { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED currentpoint translate rotAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if Symbol show } ifelse grestore deltaX deltaY rmoveto } repeat /YA YB def /XA XB def } repeat curveticks { XA YA moveto } { XA Shift sub YA Shift sub moveto } ifelse gsave curveticks { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED XA YA translate rotAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if Symbol show } ifelse grestore pop % delete the mark symbol } def % /LineFill { % hv ------------ patch 7 ------------- gsave abs /hatchWidthInc ED abs /hatchSepInc ED abs CLW add /a ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a Div cvi /x1 ED /y2 y2 y1 sub def clipType % must be defined in pstricks.tex: clip -- eoclip newpath 2 setlinecap systemdict /setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add hatchWidthInc 0 gt { CLW add } if def hatchSepInc 0 gt hatchWidthInc 0 gt or { /a a hatchSepInc add def CLW hatchWidthInc add SLW } if } repeat grestore pop pop } def % /DotFill {% on stack: dot radius /dotRadius ED abs CLW add /a ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 itransform pathbbox % llx lly urx ury of smallest bounding box /y2 ED /x2 ED /y1 ED /x1 ED y2 y1 sub a div 2 add cvi /Ny ED x2 x1 sub a div 2 add cvi /Nx ED clipType % must be defined in pstricks.tex: clip -- eoclip newpath /yA y1 dotRadius add CLW add def /xA0 x1 dotRadius add CLW add def Ny { /xA xA0 def Nx { newpath xA yA dotRadius 0 360 arc SolidDot { gsave fill grestore } if stroke xA a add /xA ED } repeat yA a add /yA ED } repeat grestore } def % /PenroseFill {% on stack: scaling factor /Scale ED % 1 exch div round /penroseFactor ED % a 0 dtransform round exch round exch % 2 copy idtransform % exch Atan rotate % idtransform pop /a ED % .25 .25 itransform pathbbox % /y2 ED % a Div ceiling cvi /x2 ED /y1 ED % a Div cvi /x1 ED /y2 y2 y1 sub def clip newpath gsave 220 150 translate Scale dup scale systemdict /setstrokeadjust known { true setstrokeadjust } if /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul} { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25 mul j l + S rmoveto}F i L j L stroke }F}F}F}F grestore % pop pop } def % /PenroseFillA {% on stack: scaling factor, border color, kite color, dart color /Scale ED Scale dup scale /border_colour ED /kite_colour ED /dart_colour ED clip newpath gsave 100 100 translate 6 Scale 1 lt { 1 Scale dup add div mul cvi } if %%%% Number of iterations 10 %%%% Long side length in millimeters /border_width { L 0.06 mul }def %%%% Choose the scalefactor for the borders /L exch 25.4 div 72 mul def %%%% Conversion: mm -> inches -> points /f{-1 5 sqrt add 2 div}bind def %%%% The reciprocal of the golden ratio /l{L f mul}bind def %%%% Short side length l = L*f /Ll{L l add}bind def %%%% Ll = L + l /c{36 cos L mul}bind def %%%% c = L*cos(36) /s{36 sin L mul}bind def %%%% s = L*sin(36) /draw_tile { 0 0 moveto c s lineto 0 lineto gsave closepath gsave fill grestore 0 setlinewidth stroke grestore border_colour stroke } bind def /half_kite { dup dup 0 gt{ 1 sub gsave f f neg scale -36 rotate half_dart Ll 0 translate 144 rotate kite grestore } { kite_colour L draw_tile }ifelse pop } bind def /half_dart { dup dup 0 gt{ 1 sub gsave f f scale half_kite -144 rotate Ll neg 0 translate half_dart grestore } { dart_colour l draw_tile }ifelse pop } bind def /kite{ gsave half_kite 1 -1 scale half_kite grestore }bind def border_width setlinewidth 1 setlinejoin 1 setlinecap % 450 0 translate dup f exch neg exp dup scale 5 {kite 72 rotate } repeat stroke grestore } def % % /TruchetFill { % on stack: scaling factor 10 dict begin dup dup scale 1 exch div round /penroseFactor ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a Div cvi /x1 ED /y2 y2 y1 sub def clip newpath systemdict /setstrokeadjust known { true setstrokeadjust } if /ma a neg def /ha a 2 div def /mha ha neg def /tile { rand dup 2 idiv 2 mul eq { 90 rotate } if mha mha moveto ha mha lineto ha ha lineto mha ha lineto % closepath .1 setlinewidth stroke contents } def /contents{ 0 ha moveto ha 0 lineto 0 mha moveto mha 0 lineto % 1 setlinewidth stroke } def /dotiling { f ma mul a f a mul { /i exch def f ma mul a f a mul { /j exch def gsave i j translate tile stroke grestore } for } for } def % /f 3 def 5 srand dotiling end % local user dict } def % /BeginArrow { ADict begin % hold it local, for end see EndArrow /@mtrx CM def gsave 2 copy T 2 index sub neg exch 3 index sub exch Atan rotate newpath } def % /EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict % /Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore } def % /ArrowD { % the sides are drawn as curves (hv 20071211) CLW mul add dup 2 div /w ED mul dup /h ED mul /Inset ED { 0 h T 1 -1 scale } if % changes the direction % we use y=w/h^2 * x^2 as equation for the control points % for the coordinates the arrow is seen from top to bottom % the bottom (tip) is (0;0) w neg h moveto % lower left of > w 9 div 4 mul neg h 3 div 2 mul w 9 div neg h 3 div 0 0 curveto % tip of > w 9 div h 3 div w 9 div 4 mul h 3 div 2 mul w h curveto % upper left of > w neg Inset neg rlineto % move to x=0 and inset gsave fill grestore } def % /Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 CLW moveto } def % /Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 CLW moveto } def % /RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW 2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } def % /SD { 0 360 arc fill } def % /EndDot { % DS is the dot size { /z DS def } { /z 0 def } ifelse % outer or inner dimen /b ED % the color definition 0 z DS SD b { 0 z DS CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def % /Shadow { [ { /moveto load } { /lineto load } { /curveto load } { /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto load } if ] cvx newpath 3 1 roll T exec } def % /NArray { % holds the coordinates and on top of stack the showpoints boolean /showpoints ED counttomark 2 div dup cvi /n ED % n 2 div on stack n eq not { exch pop } if % even numbers of points? delete one ] aload /Points ED showpoints not { Points aload pop } if % { ] aload /Points ED } % { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol } def % /Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def % /LineToYAxis { /Ox ED % Save the x origin value NArray % all x-y pairs on stack n { 2 copy moveto % go to current point Ox exch Lineto % line to y-axis pop % delete old x-value } repeat } def % /LineToXAxis{ /Oy ED % Save the y origin value NArray % all x-y pairs on stack n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def CP 2 copy moveto pop Oy Lineto n { 2 copy moveto pop Oy Lineto } repeat CP 4 2 roll ArrowB 2 copy moveto pop Oy L 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 /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 % /SymbolPolygon { % on stack [ x y x y ... counttomark % number of elements 2 add /m ED 2 copy m 2 roll % copy last two m 2 div cvi /n ED % n pairs /YA ED /XA ED % the start point n 1 sub { /YB ED /XB ED /XLength XB XA sub def /YLength YB YA sub def /PAngle YLength XLength Atan def /XYLength XLength YLength Pyth def /nSym XYLength SymStep Div cvi def /Shift Symbol stringwidth pop 2 Div def /deltaX XLength nSym Div def /deltaY YLength nSym Div def XA Shift sub YA Shift sub moveto nSym { gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if Symbol show grestore deltaX deltaY rmoveto } repeat % XB Shift sub YB Shift sub moveto Symbol show /YA YB def /XA XB def } repeat pop % delete the mark symbol } def % /Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx setmatrix } def % /Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % setmatrix } def setmatrix pop } def % DG/SR modification end % /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def % /CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp mul dy1 l0 c exp 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 % /IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } def % /BOC { IC CC x2 y2 x1 y1 ArrowA CP 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 ArrowB 2 copy curveto } def /BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def /NAC { x2 y2 x y curveto CC x1 y1 } def /EAC { x2 y2 x y ArrowB 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 % /CurvePath { %% for negative SymStep we calculate the distance SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if 0.5 setflat flattenpath /z 0 def /z0 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def x1 Shift sub y1 Shift sub moveto gsave curveticks { x1 y1 translate startAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { startAngle rotate Symbol show } ifelse grestore /z0 z def } { /y ED /x ED PathLength@ z z0 sub SymStep ge { x Shift sub y Shift sub moveto gsave curveticks { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED x y translate rotAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if Symbol show } ifelse grestore /z0 z def } if /yOld y def /xOld x def } {} %% the lineto part { /y y2 def /x x2 def PathLength@ x Shift sub y Shift sub moveto gsave curveticks { y yOld sub x xOld sub Atan 180 sub /rotAngle ED x y translate rotAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { x Shift sub y Shift sub moveto rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if Symbol show } ifelse grestore } pathforall % curveticks % { gsave % x y translate rotAngle rotate % 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto % SymbolLinewidth setlinewidth stroke grestore % } if z } def % /OpenSymbolCurve { OpenCurve 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath } def % /AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload /Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def % /AltOpenSymbolCurve { AltCurve 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath } 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 % /ClosedSymbolCurve { ClosedCurve 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath } def % /SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def /ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def /SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def % /FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont } def % /Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto closepath } def % /OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse /b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } ifelse } def % /Frame { CLW mul /a ED 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 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse } def % /BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def % /OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } ifelse } def % /OpenSymbolBezier { OpenBezier 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath } def % /ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def % /ClosedSymbolBezier { /f ED % save showpoints value 2 copy /yEnd ED /xEnd ED counttomark -2 roll 2 copy /yStart ED /xStart ED counttomark 2 roll f ClosedBezier 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath [ xEnd yEnd xStart yStart SymbolLine } def % /BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } def % /Parab { /y0 ED /x0 ED /y1 ED /x1 ED /dx x0 x1 sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def } def % /Parab1 { % 1 end | 0 SP /ySP ED /xSP ED /y1 ED /x1 ED /dx xSP x1 sub 3 div def /dy ySP y1 sub 3 div def newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto x1 ySP lineto closepath clip currentpoint newpath moveto xSP dx sub ySP dy add x1 y1 ArrowA xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def } def % /Grid { newpath /a 4 string def /b ED % psk@gridlabels in pt /c ED % { \pst@usecolor\psgridlabelcolor } /n ED % psk@griddots cvi dup 1 lt { pop 1 } if /s ED % \psk@subgriddiv s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs /dx ED dy div round dy mul % \pst@number\psxunit abs /y0 ED dx div round dx mul /x0 ED dy div round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div round 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 systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i 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 dup t f moveto g t L stroke /i i w add def } repeat grestore gsave n 0 gt % DG/SR modification begin - Nov. 7, 1997 - Patch 1 %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } % DG/SR modification end { 2 setlinecap } ifelse /i y1 def /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i 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 dup f exch t moveto g exch t L stroke /i i h add def } repeat grestore } def % /ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c mul neg d } def % /Ellipse { /rotAngle ED /mtrx CM def T rotAngle rotate scale 0 0 1 5 3 roll arc mtrx setmatrix } def % /ArcAdjust { %%%% Vincent Guirardel % given a target length (targetLength) and an initial angle (angle0) [in the stack], % let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0). % This computes an angle t such that (x0,y0) is at distance % targetLength from the point M(t)=(rx*cos(t),ry*sin(t)). % NOTE: this an absolute angle, it does not have to be added or substracted to angle0 % contrary to TvZ's code. % To achieve, this, one iterates the following process: start with some angle t, % compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]. % Now take t' (= new angle) so that (0,0) M(t') and M' are aligned. % % Another difference with TvZ's code is that we need d (=add/sub) to be defined. % the value of d = add/sub is used to know on which side we have to move. % It is only used in the initialisation of the angle before the iteration. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Input stack: 1: target length 2: initial angle % variables used : rx, ry, d (=add/sub) % /targetLength ED /angle0 ED /x0 rx angle0 cos mul def /y0 ry angle0 sin mul def % we are looking for an angle t such that (x0,y0) is at distance targetLength % from the point M(t)=(rx*cos(t),ry*sin(t))) %initialisation of angle (using 1st order approx = TvZ's code) targetLength 57.2958 mul angle0 sin rx mul dup mul angle0 cos ry mul dup mul add sqrt div % if initialisation angle is two large (more than 90 degrees) set it to 90 degrees % (if the ellipse is very curved at the point where we draw the arrow, % % the value can be much more than 360 degrees !) % this should avoid going on the wrong side (more than 180 degrees) or go near % a bad attractive point (at 180 degrees) dup 90 ge { pop 90 } if angle0 exch d % add or sub % maximum number of times to iterate the iterative procedure: % iterative procedure: takes an angle t on top of stack, computes a % better angle (and put it on top of stack) 30 { dup % compute distance D between (x0,y0) and M(t) dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt % if D almost equals targetLength, we stop dup targetLength sub abs 1e-5 le { pop exit } if % stack now contains D t % compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]: % M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 ) exch dup cos rx mul x0 sub exch sin ry mul y0 sub % stack contains: y(t)-y0, x(t)-x0, d 2 index Div targetLength mul y0 add ry Div exch 2 index Div targetLength mul x0 add rx Div % stack contains x(t')/rx , y(t')/ry , d % now compute t', and remove D from stack atan exch pop } repeat % we don't look at what happened... in particular, if targetLength is greater % than the diameter of the ellipse... % the final angle will be around /angle0 + 180. maybe we should treat this pathological case... % after iteration, stack contains an angle t such that M(t) is the tail of the arrow % to give back the result as a an angle relative to angle0 we could add the following line: % angle0 sub 0 exch d % % begin bug fix 2006-01-11 % we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180 %(we don't want to make the ellipse turn more or less than it should)... dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse % end bug fix } def % /EllipticArcArrow { /d ED % is add or sub /b ED % arrow procedure /a1 ED % angle gsave newpath 0 -1000 moveto clip % Set clippath far from arrow. newpath 0 1 0 0 b % Draw arrow to determine length. grestore % Length of arrow is on top of stack. Next 3 numbers are junk. % a1 exch ArcAdjust % Angular position of base of arrow. /a2 ED pop pop pop a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig a1 cos rx mul xOrig add % a1 sin ry mul yOrig add % % Now arrow tip coor and base coor are on stack. b pop pop pop pop % Draw arrow, and discard coordinates. a2 CLW 8 div % change value of d (test it by looking if `` 1 1 d '' gives 2 or not ) 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse ArcAdjust % resets original value of d 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap. } def %%------------------ tvz/DG/hv (2004-05-10) end -------------------%% % /Rot { CP CP translate 3 -1 roll neg rotate NET } def % /RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def } def % /RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def } def % /PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def /PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def /PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def % /Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse } def % /UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q { x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add exch } def % /BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible /IfVisible true def } if } { IfVisible { Invisible /IfVisible false def } if } ifelse } def % /InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def /Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def /IfVisible true def } def % end %-----------------------------------------------------------------------------% % % END pstricks.pro %%EndProcSet %%BeginProcSet: pst-algparser.pro 0 0 % $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $ %% %% PostScript prologue for PSTricks algorithm parser %% Version 0.04, 2011/10/21 %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. %% %%-----------------------------------------------------------------------------% % /AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez % /tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin % % PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13 % % 09/2011 DR factorial with ! added % % E->T|E+T % T->FS|T*FS % FS -> F | +FS | -FS % F->P|F^SF|P! % P->(E)|literal % literal->number|var|var[E]|func(params) % params->E|E,param % number->TOBEFINISHED % %% E expression, T term, SF signed factor, F factor, P power % %% parser % %% str % %% C->EE %% STR index -> STR index+lenExpr /AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def % %% analyze Expression List (separator , or | ) %% STR index -> STR index+lenExpr %% /AnalyzeListOfE { %% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar %% NextNonBlankChar dup 0 eq { pop exit } if %% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if %% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop %% AnalyzeListOfEPostHook %% } def /AnalyzeListOfE { /NotFirst false def { NextNonBlankChar pop AnalyzeExpr NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse dup Strlen eq { exit } if NextNonBlankChar dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if pop 1 add } loop AnalyzeListOfEPostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% E->T|E+T %% STR index -> STR index+lenExpr /AnalyzeExpr { AnalyzePreHook AnalyzeTerm IsEndingExpr { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop } ifelse AnalyzePostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% T->FS|T*FS %% STR index /AnalyzeTerm { AnalyzePreHook AnalyzeSignedFactor IsEndingTerm { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop } ifelse AnalyzePostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FS -> F | +FS | -FS %% STR index /AnalyzeSignedFactor { AnalyzePreHook 2 copy get dup IsUnaryOp { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp } { pop AnalyzeFactor } ifelse AnalyzePostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% F->P|F^P|P! %% STR index /AnalyzeFactor { AnalyzePreHook AnalyzePower IsEndingFactor { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } { { dup 33 eq%% is there a ! DR 09/2011 { pop 1 add NextNonBlankChar pop EvalFactorial } { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower } ifelse IsEndingFactor { pop exit } if } loop } ifelse AnalyzePostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% P->(E)|literal %% STR index /AnalyzePower { %% depending of first char either a number, or a literal 2 copy get dup 40 eq%%an open par { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop } { AnalyzeLiteral } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STR index STR[index] -> STR index %/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def /AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% recognize + or - %% chr -> T/F /IsUnaryOp { dup 43 eq exch 45 eq or } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% a number can contain only : 0123456789. %% chr -> T/F /IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STR index -> STR index number %% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? %% STR index -> STR index' number /ReadNumber { exch dup 3 -1 roll dup 3 1 roll %%read mantissa { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop dup 101 eq exch 69 eq or %%% there is a "e" or "E" -> read exponant { 1 add 2 copy get dup IsUnaryOp { pop 1 add 2 copy get } if { IsNumber not { exit } if 1 add 2 copy get } loop } if dup 4 1 roll 3 -1 roll exch 1 index sub getinterval } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% a number can contain only : 0123456789. %% chr -> T/F /IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STR index -> STR index number %% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? %% STR index -> STR index' number /ReadCondOp { NextNonBlankChar 1 index 4 1 roll { IsCondOp not { exit } if 1 add 2 copy get } loop 2 copy 5 -1 roll exch 1 index sub getinterval 3 1 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% a literal can contain only : 0123456789. %% chr -> T/F /IsLiteral {% dup 48 ge exch dup 57 le 3 -1 roll and exch dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch dup 97 ge exch 122 le and or } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)? %% STR index -> literal STR index' nextchr /ReadLiteral { exch dup 3 -1 roll dup 3 1 roll %%read literal core { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% expr is ended by end of str or a clpar %% STR index -> STR index STR[index] T/F /IsEndingExpr {% 2 copy dup Strlen eq %% if end of str is reached -> end ! { pop pop 0 true } %% ending chr -> clpar, comma, |, <, >, =, !, {get dup dup 41 eq exch dup 124 eq exch dup 93 eq exch dup 44 eq exch dup 30 eq exch dup 60 ge exch 62 le and or or or or or} ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% expr is ended by end of str or a +- %% STR index -> STR index STR[index] T/F /IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% expr is ended by end of str or */ %% STR index -> STR index STR[index] T/F /IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% expr is ended by end of str or ^ %% STR index -> STR index STR[index] T/F /IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STR index -> STR index STR[index] /NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def /neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def %%%%%%%%%%%%%%%%%%%%%%%% %% DEBUG /BRK {false} def /BRKtrue {/BRK true def} def /BRKStop {BRK {BRKtoto} if } def /BRKEvalStop {BRK exch if } def /BRKBRK2true {BRK {BRK2true} if } def /BRK2 {false} def /BRK2true {/BRK2 true def} def /BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def end % %-------------------------------------------------------------------------------% % /tx@AlgToPs 12 dict def tx@AlgToPs begin % %% algExpr -> PSVector /AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def /EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def /InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def /Strlen 0 def /EvalListOfExpr {} def% /EvalNumber {% ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx exch 1 add array astore def NextNonBlankChar pop } def /EvalAddSub {% /ExpressionVector ExpressionVector aload length dup 5 add -1 roll 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def } def /EvalMulDiv {% /ExpressionVector ExpressionVector aload length dup 5 add -1 roll 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def } def /EvalPower {% /ExpressionVector ExpressionVector aload length dup 5 add -1 roll pop /exp cvx exch 1 add array astore def } def /EvalFactorial {% DR 09/2011 /ExpressionVector ExpressionVector aload length /fact cvx exch 1 add array astore def } def /EvalLiteral {% ReadLiteral dup 40 eq%%% there is an open par -> function call { pop 2 index dup (Sum) eq { EvalSum } { dup (IfTE) eq { EvalCond } { dup (Derive) eq { pop EvalDerive } { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse } { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def dup 91 eq%%% there is an open bracket -> vector element { pop 1 add NextNonBlankChar pop AnalyzeExpr /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add } { pop NextNonBlankChar pop } ifelse} ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% the derive function : Derive(n,f(x)) %% firstparindex lastparindex -> /EvalDerive { %% manage the function descripiton 1 add ReadNumber 3 1 roll NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if 1 add NextNonBlankChar pop 3 -1 roll cvi dup 0 eq { pop AnalyzeExpr 3 -1 roll pop 1 add } { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll { (x) tx@Derive begin Derive end } repeat ExpressionVector exch /ExpressionVector [] def AlgToPs aload length /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add 1 index length /Strlen exch def } ifelse } def /EvalSum {% pop 1 add NextNonBlankChar pop %% read the variable name ReadLiteral pop NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if %% read the initial value 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if %% read the increment value 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if %% read the limit value 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll 5 -1 roll 4 add array astore def %% keep ExpressionVector for later and create a new one for internal Sum computation ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def 1 add NextNonBlankChar pop AnalyzeExpr %% add each term /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add array astore def 3 -1 roll pop 1 add } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Convert to radians if trigo function call %% (name) -> /TrigoFunc { dup (cos) eq 1 index (sin) eq or exch (tan) eq or { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add array astore def } if } def /EvalCond {% pop 1 add AnalyzeCond NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if ExpressionVector 3 1 roll /ExpressionVector [] def 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if 1 add AnalyzeExpr NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if ExpressionVector /ExpressionVector 6 -1 roll aload length dup 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def 1 add 3 -1 roll pop } def %% CondOp STR index /EvalCondOp {% 3 -1 roll dup (=) eq { /eq } {% dup (<) eq { /lt } {% dup (>) eq { /gt } {% dup (>=) eq { /ge } {% dup (<=) eq { /ge } {% dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator } ifelse } ifelse } ifelse } ifelse } ifelse } ifelse cvx exch pop /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def /EvalUnaryOp { 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% H O O K S /AnalyzePreHook {} bind def /PreEvalHook {} bind def /AnalyzeListOfEPostHook {} bind def /AnalyzePostHook {} def /RollOp { 3 1 roll } bind def end %tx@CoreAnalyzerDict % %--------------------------------------------------------------------% % /tx@Derive 41 dict def tx@Derive begin %%increase ^^ for each function added %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% algExpr variable -> PSVector /Derive {% 10240 string 3 1 roll 0 3 1 roll /Variable exch def tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end } def /Strlen 0 def /InitParser { dup length /Strlen exch def 0 } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% algExpr variable index -> PSVector /DeriveIndexed {% 3 1 roll 10240 string 3 1 roll 0 3 1 roll /Variable exch def tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u,v)'=-(u',v') /EvalListOfExpr {% 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe 2 copy 7 -1 roll dup length 4 1 roll putinterval add 6 -2 roll pop pop 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (-u)'=-(u') /EvalUnaryOp { 4 -2 roll 4 index (0) eq { (0) StrConcat 7 -1 roll pop } { 7 -1 roll 45 eq { AddSub AddOpPar true } { false } ifelse 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse 2 copy pop 0 6 2 roll GetIntervalNewStr 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (number)'=0 /EvalNumber { ReadNumber (0) 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u+v)'=u'+v' /EvalAddSub {% 7 index dup (0) eq { pop true }%% du=0 nothing added { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false } ifelse 5 index dup (0) eq { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0 { exch { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added { 5 -2 roll 7 index 43 eq%%something yet added { AddAdd false } { AddSub AddOpPar true } ifelse } ifelse 11 1 roll 3 -1 roll StrConcat 10 -1 roll { AddClPar } if 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u*v)' or (u/v)' /EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u*v)'=u'*v+u*v' /EvalMul {% 4 -2 roll 7 index dup (0) eq { pop false }%%du=0 { (1) eq%%du=1 { false } { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if true }%%du!=0 ifelse 5 1 roll 5 index (0) eq { 5 -1 roll not { (0) StrConcat } if }%%dv=0 { 5 -1 roll { AddAdd } if 4 index (1) eq { 8 index StrConcat } { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } ifelse }%%dv!=0 ifelse 2 copy pop 0 6 2 roll GetIntervalNewStr mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u/v)'=(u'*v-u*v')/v^2 /EvalDiv {% 4 -2 roll 4 index (0) eq%%dv=0 -> u'/v { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse } { 7 index dup (0) eq { pop }%%du=0 { (1) eq%%du=1 { false } { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0 ifelse AddSub 4 index (1) eq { 8 index StrConcat } { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } ifelse %}%%dv!=0 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add } ifelse 2 copy pop 0 6 2 roll GetIntervalNewStr mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% str1 index str2 -> str1 index /StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def /GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u) /EvalPower {% 4 -2 roll 7 index (0) eq {%%if du=0 then (u^v)'=v'ln(u)u^v 4 index (0) eq { (0) StrConcat }%%if dv=0 then (u^v)'=0 { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse } {%%du!=0 4 index (0) eq {%%if dv=0 then (u^v)'=vu'u^(v-1) 5 index dup IsStrNumber { dup (0) eq { StrConcat } { dup dup (1) eq exch (1.0) eq or { StrConcat } { StrConcat 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1 { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006 (*\() StrConcat 8 index StrConcat (\)) StrConcat 5 index dup dup (2) eq exch (2.0) eq or { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse } { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat 5 index StrConcat (-1\)) StrConcat } ifelse } {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u) 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat 5 index StrConcat (-1\)+\() StrConcat 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if 8 index StrConcat (\)^\() StrConcat 5 index StrConcat (\)*ln\() StrConcat 8 index StrConcat AddClPar } ifelse } ifelse 2 copy pop 0 6 2 roll GetIntervalNewStr mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% No derivative for factorial ! only cst => null derivative /EvalFactorial {% DR 09/2011 4 index (0) eq { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll } { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% str -> true/false /IsStrNumber {% true exch { dup 48 lt exch dup 57 gt 3 -1 roll or exch dup 46 ne%%. exch dup 43 ne%%+ exch 45 ne%%- and and and { pop false } if } forall } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% literal switch -> func call, vector, variables /EvalLiteral {% ReadLiteral dup 40 eq%%% there is an open par -> function call { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec } { dup 91 eq%%% there is an open bracket -> vector element { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented } { pop EvalVariable } ifelse } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% first last parpos Expr[first:parpos-1] -> /EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (f(u))'=u'f'(u) /EvalFunc { 4 2 roll 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec 2 copy pop 0 6 2 roll GetIntervalNewStr mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Func derivative -> Eval /EvalFunc_sin {% PreCommonFunc { (cos\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_cos {% PreCommonFunc { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_tan {% PreCommonFunc { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if PostCommonFunc } def /EvalFunc_asin {% PreCommonFunc { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_acos {% PreCommonFunc { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_atg {% PreCommonFunc { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_ln {% PreCommonFunc { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_exp {% PreCommonFunc { (exp\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_EXP {% PreCommonFunc { (EXP\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_sqrt {% PreCommonFunc { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_Fact {% PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if PostCommonFunc } def /EvalFunc_sh {% PreCommonFunc { (ch\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_ch {% PreCommonFunc { (sh\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_th {% PreCommonFunc { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if PostCommonFunc } def /EvalFunc_Argsh {% PreCommonFunc { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_Argch {% PreCommonFunc { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_Argth {% PreCommonFunc { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /PreCommonFunc { 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop 4 2 roll 4 index (0) eq { (0) StrConcat false } { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse } def /PostCommonFunc { 2 copy pop 0 6 2 roll GetIntervalNewStr mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def /EvalFunc_Derive {% 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% literal switch -> func call, vector, variables /EvalFunc_Sum {% 1 add NextNonBlankChar pop %% read the variable name ReadLiteral pop 3 -1 roll pop NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if %% read the initial value 1 add NextNonBlankChar pop ReadNumber pop 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if %% read the increment value 1 add NextNonBlankChar pop ReadNumber pop 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if %% read the limit value 1 add NextNonBlankChar pop ReadNumber pop 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat 4 index StrConcat AddClPar 2 copy pop 0 6 2 roll GetIntervalNewStr mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% literal switch -> func call, vector, variables /EvalFunc_IfTE {% 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if 1 add NextNonBlankChar pop dup 5 1 roll AnalyzeExpr NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar 2 copy pop 0 6 2 roll GetIntervalNewStr mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% advance in str until a comma is found (no error detection!) %% str index -> str index' /SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Convert to radians if trigo function call %% (name) -> /TrigoFunc { dup (cos) eq 1 index (sin) eq or exch (tan) eq or { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add array astore def } if } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% No derivative for condition.... /EvalCondOp { 3 -1 roll pop } bind def /PutIntervalOneAdd {putinterval 1 add} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add open parenthesis in string at the given index %% str index -> str index+1 /AddOpPar {2 copy (\() PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add close parenthesis in string at the given index %% str index -> str index+1 /AddClPar {2 copy (\)) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add 0 in string at the given index %% str index -> str index+1 /AddZero {2 copy (0) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add open parenthesis in string at the given index %% str index -> str index+1 /AddMul {2 copy (*) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add open parenthesis in string at the given index %% str index -> str index+1 /AddDiv {2 copy (/) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add a plus sign in string at the given index %% str index -> str index+1 /AddAdd {2 copy (+) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add a minus sign in string at the given index %% str index -> str index+1 /AddSub {2 copy (-) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add a pipe sign in string at the given index %% str index -> str index+1 /AddPipe {2 copy (|) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% H O O K S /AnalyzePreHook { dup 5 1 roll } bind def /PreEvalHook {} def /AnalyzePostHook { 7 -1 roll pop } bind def /AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def /RollOp { 5 1 roll } bind def end%%%tx@CoreAnalyzerDict /tx@AddMathFunc 12 dict def tx@AddMathFunc begin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% NEW FUNC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2)) %% x -> theta /asin {% dup abs 1 gt { EQDFasinrangeerror } if dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad } def %% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x) %% x -> theta /acos {% dup abs 1 gt { EQDFacosrangeerror } if dup dup mul 1 exch sub sqrt exch atan DegtoRad } def %% function arctangent in radians %% x -> theta /atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def %% HYPERBOLIC FUNCTIONS /sh { dup Ex exch neg Ex sub 2 div } def /ch { dup Ex exch neg Ex add 2 div } def /th { dup sh exch ch div } def /Argsh { dup dup mul 1 add sqrt add ln } def /Argch { dup dup mul 1 sub sqrt add ln } def /Argth { dup 1 add exch 1 exch sub div ln 2 div } def %% modified exponential funtion for 0 %% x n -> x^n /Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def %% modified exponential funtion for 0 %% x -> e^x /Ex { Euler exch exp } bind def %% %% factorial function %% n -> n! /Fact { 1 exch 2 exch 1 exch { mul } for } bind def /fact { Fact } bind def /! { Fact } bind def end % % END pst-algparser.pro %%EndProcSet %%BeginProcSet: pst-tools.pro 0 0 % $Id: pst-tools.pro 713 2012-10-16 14:25:00Z herbert $ % %% PostScript tools prologue for pstricks.tex. %% Version 0.03, 2012/10/16 %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. % % /Pi2 1.57079632679489661925640 def /factorial { % n on stack, returns n! dup 0 eq { 1 }{ dup 1 gt { dup 1 sub factorial mul } if } ifelse } def % /MoverN { % m n on stack, returns the binomial coefficient m over n 2 dict begin /n exch def /m exch def n 0 eq { 1 }{ m n eq { 1 }{ m factorial n factorial m n sub factorial mul div } ifelse } ifelse end } def % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % subroutines for complex numbers, given as an array [a b] % which is a+bi = Real+i Imag % /cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] dup 0 get % [a1 b1] [a2 b2] a2 3 -1 roll % [a2 b2] a2 [a1 b1] dup 0 get % [a2 b2] a2 [a1 b1] a1 3 -1 roll % [a2 b2] [a1 b1] a1 a2 add % [a2 b2] [a1 b1] a1+a2 3 1 roll % a1+a2 [a2 b2] [a1 b1] 1 get % a1+a2 [a2 b2] b1 exch 1 get % a1+a2 b1 b2 add 2 array astore } def % /cxneg { % [a b] dup 1 get % [a b] b exch 0 get % b a neg exch neg % -a -b 2 array astore } def % /cxsub { cxneg cxadd } def % same as negative addition % % [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] /cxmul { % [a1 b1] [a2 b2] dup 0 get % [a1 b1] [a2 b2] a2 exch 1 get % [a1 b1] a2 b2 3 -1 roll % a2 b2 [a1 b1] dup 0 get % a2 b2 [a1 b1] a1 exch 1 get % a2 b2 a1 b1 dup % a2 b2 a1 b1 b1 5 -1 roll dup % b2 a1 b1 b1 a2 a2 3 1 roll mul % b2 a1 b1 a2 b1a2 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 4 -1 roll add % b1 a2 a1 b2 b3 4 2 roll mul % b1 b2 b3 a1a2 4 2 roll mul sub % b3 a3 exch 2 array astore } def % % [a b]^2 = [a^2-b^2 2ab] = [a2 b2] /cxsqr { % [a b] square root dup 0 get exch 1 get % a b dup dup mul % a b b^2 3 -1 roll % b b^2 a dup dup mul % b b^2 a a^2 3 -1 roll sub % b a a2 3 1 roll mul 2 mul % a2 b2 2 array astore } def % /cxsqrt { % [a b] % dup cxnorm sqrt /r exch def % cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 cxlog % log[a b] 2 cxrdiv % log[a b]/2 aload pop exch % b a 2.781 exch exp % b exp(a) exch cxconv exch % [Re +iIm] exp(a) cxrmul % } def % /cxarg { % [a b] aload pop % a b exch atan % arctan b/a DegtoRad % arg(z)=atan(b/a) } def % % log[a b] = [a^2-b^2 2ab] = [a2 b2] /cxlog { % [a b] dup % [a b][a b] cxnorm % [a b] |z| log % [a b] log|z| exch % log|z|[a b] cxarg % log|z| Theta cxmake2 % [log|z| Theta] } def % % square of magnitude of complex number /cxnorm2 { % [a b] dup 0 get exch 1 get % a b dup mul % a b^2 exch dup mul add % a^2+b^2 } def % /cxnorm { % [a b] cxnorm2 sqrt } def % /cxconj { % conjugent complex dup 0 get exch 1 get % a b neg 2 array astore % [a -b] } def % /cxre { 0 get } def % real value /cxim { 1 get } def % imag value % % 1/[a b] = ([a -b]/(a^2+b^2) /cxrecip { % [a b] dup cxnorm2 exch % n2 [a b] dup 0 get exch 1 get % n2 a b 3 -1 roll % a b n2 dup % a b n2 n2 4 -1 roll exch div % b n2 a/n2 3 1 roll div % a/n2 b/n2 neg 2 array astore } def % /cxmake1 { 0 2 array astore } def % make a complex number, real given /cxmake2 { 2 array astore } def % dito, both given % /cxdiv { cxrecip cxmul } def % % multiplikation by a real number /cxrmul { % [a b] r exch aload pop % r a b 3 -1 roll dup % a b r r 3 1 roll mul % a r b*r 3 1 roll mul % b*r a*r exch 2 array astore % [a*r b*r] } def % % division by a real number /cxrdiv { % [a b] r 1 exch div % [a b] 1/r cxrmul } def % % exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian /cxconv { % theta RadtoDeg dup sin exch cos cxmake2 } def %%%%% ### bubblesort ### %% syntax : array bubblesort --> array2 trie par ordre croissant %% code de Bill Casselman %% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ /bubblesort { % on stack must be an array [ ... ] 4 dict begin /a exch def /n a length 1 sub def n 0 gt { % at this point only the n+1 items in the bottom of a remain to % the sorted largest item in that blocks is to be moved up into % position n n { 0 1 n 1 sub { /i exch def a i get a i 1 add get gt { % if a[i] > a[i+1] swap a[i] and a[i+1] a i 1 add a i get a i a i 1 add get % set new a[i] = old a[i+1] put % set new a[i+1] = old a[i] put } if } for /n n 1 sub def } repeat } if a % return the sorted array end } def % /concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 0 1 index { length add } forall string 0 3 2 roll { 3 copy putinterval length add }forall pop } bind def % /dot2comma {% on stack a string (...) 2 dict begin /Output exch def 0 1 Output length 1 sub { /Index exch def Output Index get 46 eq { Output Index 44 put } if } for Output end } def % /rightTrim { dup length 1 sub -1 0 { /i exch def dup i get 32 ne { exit } if } for 0 i 1 add getinterval dup length string copy } bind def /psStringwidth /stringwidth load def /psShow /show load def %/stringwidth{ rightTrim psStringwidth } bind def %/show { rightTrim psShow } bind def %-----------------------------------------------------------------------------% % END pst-tools.pro %%EndProcSet %%BeginProcSet: pst-dots.pro 0 0 % $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ % %% PostScript prologue for pstricks.tex. %% Version 2.02, 2009/06/16 %% %% For distribution, see pstricks.tex. %% %% Timothy Van Zandt %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. %% %% Modified by Etienne Riga - Dec. 16, 1999 %% Modified by Etienne Riga - 2005/01/01 (er) %% to add /Diamond, /SolidDiamond and /BoldDiamond %% Modified by Herbert Voss (hv) - 2008/04/17 % 10 dict dup begin % hold local /FontType 3 def /FontMatrix [.001 0 0 .001 0 0] def % /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph /Encoding 256 array def 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef Encoding % replace with given dot names dup (b) 0 get /Bullet put % get the numerical position of b in ASCII % % and save /Bullet at this place in Encoding dup (c) 0 get /Circle put dup (C) 0 get /BoldCircle put % 67 dup (u) 0 get /SolidTriangle put dup (t) 0 get /Triangle put dup (T) 0 get /BoldTriangle put dup (r) 0 get /SolidSquare put dup (s) 0 get /Square put dup (S) 0 get /BoldSquare put dup (q) 0 get /SolidPentagon put dup (p) 0 get /Pentagon put dup (P) 0 get /BoldPentagon put %%% dup (k) 0 get /Asterisk put dup (K) 0 get /BoldAsterisk put dup (J) 0 get /SolidAsterisk put dup (h) 0 get /Hexagon put dup (H) 0 get /BoldHexagon put dup (G) 0 get /SolidHexagon put dup (f) 0 get /Octogon put % 2008-04-18 hv dup (F) 0 get /BoldOctogon put % 2008-04-18 hv dup (g) 0 get /SolidOctogon put % 2008-04-18 hv dup (a) 0 get /Add put dup (A) 0 get /BoldAdd put % 65 dup (x) 0 get /Mul put dup (X) 0 get /BoldMul put dup (m) 0 get /Oplus put dup (M) 0 get /BOplus put dup (e) 0 get /SolidOplus put dup (n) 0 get /Otimes put dup (N) 0 get /BOtimes put dup (E) 0 get /SolidOtimes put dup (i) 0 get /Bar put dup (I) 0 get /BoldBar put dup (l) 0 get /SolidDiamond put dup (d) 0 get /Diamond put (D) 0 get /BoldDiamond put %%% /CharProcs 47 dict def CharProcs begin /CirclePath {0 0 500 0 360 arc closepath} def /Bullet {CirclePath fill} def /Circle {CirclePath .9 .9 scale CirclePath eofill} def /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def /SolidTriangle {TrianglePath fill} def /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def /SolidSquare {SquarePath fill} def /Square {SquarePath .89 .89 scale SquarePath eofill} def /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def /PentagonPath { -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto 0 574.7 lineto -546.6 177.6 lineto closepath } def /SolidPentagon {PentagonPath fill} def /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def %-------------- hv begin 2004/07/25 from: er 2003/03/24 /HexagonPath { 0 550 moveto -476 275 lineto -476 -275 lineto 0 -550 lineto 476 -275 lineto 476 275 lineto closepath } def /SolidHexagon {HexagonPath fill} def /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def % 2008-04-18 hv /OctogonPath { 550 dup 22.5 tan mul dup neg dup add /xMove exch def exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def /SolidOctogon { OctogonPath fill } def /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def % /AsteriskPath { 20 0 moveto 10 250 180 500 0 500 curveto -180 500 -10 250 -20 0 curveto closepath } def /Asterisk { AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill } def % /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def /BoldAsteriskPath { 50 30 cos 100 mul moveto Basterp 60 rotate Basterp 60 rotate Basterp 60 rotate Basterp 60 rotate Basterp 60 rotate Basterp closepath } def /BoldAsterisk {BoldAsteriskPath fill} def /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def /CrossPath { 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath } def /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath } def /Add {CrossPath fill} def /Mul {45 rotate CrossPath fill} def /BoldAdd {BoldCrossPath fill} def /BoldMul {45 rotate BoldCrossPath fill} def /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def /Bar {BarPath fill} def /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def /BoldBar {BoldBarPath fill} def /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def /SolidDiamond {DiamondPath fill} def /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def %%% /.notdef { } def end % /BuildGlyph { exch begin % Metrics 1 index get exec 0 0 0 % BBoxes 3 index get exec -1000 -1000 1000 1000 % -571.5 -742.5 571.5 742.5 setcachedevice CharProcs begin load exec end end } def % /BuildChar { 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def % end /PSTricksDotFont exch definefont pop % %% end %%EndProcSet %%BeginProcSet: pst-coil.pro 0 0 %!ps % PostScript prologue for pst-coil.tex. % Version 1.03, 2010/02/01 % For distribution, see pstricks.tex. % /tx@CoilDict 40 dict def tx@CoilDict begin /CoilLoop { /t ED t sin AspectSin mul t 180 div AspectCos mul add t cos lineto } def /Coil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /ArmB ED /ArmA ED /h ED /w ED /y1 ED /x1 ED /y0 ED /x0 ED x0 y0 translate y1 y0 sub x1 x0 sub 2 copy Pyth /TotalLength ED Atan rotate /BeginAngle ArmA AspectCos Div w h mul Div 360 mul def /EndAngle TotalLength ArmB sub AspectCos Div w h mul Div 360 mul def 1 0 0 0 ArrowA ArmA 0 lineto /mtrx CM def w h mul 2 Div w 2 Div scale BeginAngle Inc EndAngle { CoilLoop } for EndAngle CoilLoop mtrx setmatrix TotalLength ArmB sub 0 lineto CP % DG/SR modification begin - Jun. 2, 1998 - Patch 1 (from Michael Vulis) % TotalLength 0 ArrowB lineto } def TotalLength 0 ArrowB lineto pop pop pop pop } def % DG/SR modification end % /Sin { /Func ED /PointsPerPeriod ED /ArmB ED /ArmA ED /Amplitude ED /roundValue ED /relativePeriod ED /Periods ED /y1 ED /x1 ED /y0 ED /x0 ED x0 y0 translate y1 y0 sub x1 x0 sub 2 copy Pyth dup /TotalLength ED ArmA sub ArmB sub /SinLength ED Atan rotate 1 0 0 0 ArrowA ArmA 0 lineto /mtrx CM def relativePeriod {} { SinLength Periods div roundValue { cvi } if /Periods ED } ifelse /dxStep SinLength 360 div def % the default step for x pos /xStep 360 PointsPerPeriod div def % the step for the for loop 1 xStep 360 { % PointsPerPeriod times dup dxStep mul ArmA add exch % x pos and value for the func Periods mul Func Amplitude mul lineto } for mtrx setmatrix TotalLength ArmB sub 0 lineto CP TotalLength 0 ArrowB lineto pop pop pop pop } def % /AltCoil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /h ED /w ED /EndAngle ED /BeginAngle ED /mtrx CM def w h mul 2 Div w 2 Div scale BeginAngle sin AspectSin mul BeginAngle 180 div AspectCos mul add BeginAngle cos /lineto load stopped { moveto } if BeginAngle Inc EndAngle { CoilLoop } for EndAngle CoilLoop mtrx setmatrix } def /ZigZag { /ArmB ED /ArmA ED 2 div /w ED w mul /h ED /y1 ED /x1 ED /y0 ED /x0 ED x1 y1 translate y0 y1 sub x0 x1 sub 2 copy Pyth /TotalLength ED Atan rotate TotalLength ArmA sub ArmB sub dup h div cvi /n ED n h mul sub 2 div dup ArmA add /ArmA ED ArmB add /ArmB ED /x ArmB h 2 div add def mark 0 0 ArmB 0 n { x w /w w neg def /x x h add def } repeat TotalLength ArmA sub 0 TotalLength 0 } def % end % END pst-coil.pro %%EndProcSet %%BeginProcSet: pst-node.pro 0 0 % $Id: pst-node.pro 805 2013-07-11 13:18:11Z herbert $ %% %% PostScript prologue for pst-node.tex. %% Version 1.14, 2012/09/18. %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. % tx@Dict begin % from main pstricks dict /T /translate load def /CP /currentpoint load def % /startGlobal { true setglobal globaldict begin } bind def % /endGlobal { end false setglobal } bind def end /tx@NodeDict 400 dict def tx@NodeDict begin /NewNode { % on stack: { x y } boolean N@name type InitXnode gsave NodeScale % a bugfix for xelatex, it's empty for dvips /next exch def % { x y } boolean N@name type dict dup % { x y } boolean N@name dict dict 3 1 roll def % { x y } boolean dict N@name dict def exch { dup 3 1 roll def } if % { x y } dict boolean begin % { x y } dict begin tx@Dict begin STV CP T exec % set scaling end /NodeMtrx CM def % save CM next % InitXNode end grestore } def % /InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def } def % /InitCnode { /r ED /Y ED /X ED /NodePos { 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 { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED /NodePos { GetRnodePos } def } def % /DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup Cos mul exch Sin mul } def % /TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul } ifelse } def % /InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan sin def /NodePos { TriNodePos } def } def % /OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul } def % /GetCenter { begin X Y NodeMtrx transform CM itransform end } def % /XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } { 0 Dist Sin mul } ifelse } ifelse Do } def % /GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse } def % /AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse } def % /GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA AddOffset yA add /yA1 ED xA add /xA1 ED } def % /GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB AddOffset yB add /yB1 ED xB add /xB1 ED } def % /GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED } ifelse } def % /GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED } ifelse } def % /InitNC { /b ED /a ED % second and first node /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED /NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def % /LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def % /LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED % t floor dup n gt t floor dup n ge % to allow npos<= hv 2008-08-14 { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop } repeat LPutLine cleartomark } 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 /NAngle ED /Y ED /X ED } def % /HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def } def /HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def /NAngle yyB yyA sub xxB xxA sub Atan def } def /HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def /HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def } ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd } def /VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def } def /VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def /NAngle yyB yyA sub xxB xxA sub Atan def } def /VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def /VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def } ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark VPosEnd } def /HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx def grestore exec /LPutVar /SaveLPutVar load def } def /NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { LPutVar VPutLine } def LPutVar } def % /NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop end } def % /NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan /AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } ifelse } def % /NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def % /NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % /NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % /NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % /NCDiag { /lineAngle ED GetEdgeA GetEdgeB GetArmA GetArmB mark lineAngle abs 0 gt { /xTemp xA2 10 add def /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def /dY1 yTemp yA2 sub def /dX1 xTemp xA2 sub def /dY2 yB2 yB1 sub def /dX2 xB2 xB1 sub def dX1 abs 0.01 lt { /m2 dY2 dX2 div def /xB2 xA2 def /yB2 xA2 xB1 sub m2 mul yB1 add def }{ dX2 abs 0.01 lt { /m1 dY1 dX1 div def /xB2 xB1 def /yB2 xB1 xA2 sub m1 mul yA2 add def }{% /m1 dY1 dX1 div def /m2 dY2 dX2 div def /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def /yB2 xB2 xA2 sub m1 mul yA2 add def } ifelse } ifelse } if ArmB 0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def % % GetEdgeA GetEdgeB GetArmA GetArmB mark % ArmB 0 ne { xB1 yB1 } if % xB2 yB2 xA2 yA2 % ArmA 0 ne { xA1 yA1 } if % tx@Dict begin false Line end % /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def % /LPutPos { LPutLines } def % /HPutPos { HPutLines } def % /VPutPos { VPutLines } def } def % /NCDiagg { /lineAngle ED GetEdgeA GetArmA lineAngle abs 0 gt { lineAngle } { yB yA2 sub xB xA2 sub Atan 180 add } ifelse /AngleB ED GetEdgeB mark lineAngle abs 0 gt { /dY2 yA2 yA1 sub def /dX2 xA2 xA1 sub def lineAngle abs 90 eq { /m2 dY2 dX2 div def /yA2 xB xA2 sub m2 mul yA2 add def /xA2 xB def }{ /m1 lineAngle dup sin exch cos div def % tan alpha dX2 abs 0.01 lt { /yA2 xA1 xB sub m1 mul yB add def /xA2 xA1 def }{% /m2 dY2 dX2 div def /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def /yA2 xA2 xB sub m1 mul yB add def } ifelse } ifelse } if xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def % % GetEdgeA GetArmA % yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED % GetEdgeB % mark % xB1 yB1 xA2 yA2 % ArmA 0 ne { xA1 yA1 } if % tx@Dict begin false Line end % /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def % /LPutPos { LPutLines } def % /HPutPos { HPutLines } def % /VPutPos { VPutLines } def } def % /NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % % DG/SR modification begin - May 9, 1997 - Patch 1 %/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r %r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add %exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 %mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED % /NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED % DG/SR modification end } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r Div def /y ED /x ED } def % /NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB 180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def /LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos { xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar tx@Dict begin false Polygon end } def % /NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def /x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def 0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos { LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }{t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add add AngleB PtoC }{ t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub mul add dup 90 sub /NAngle ED PtoC }{ /NAngle AngleA 180 add def r 4 t sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def } def % /Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos { LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } { pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin /ArrowA { moveto } def /ArrowB { } def false Line closepath end } def % /LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg exch X sub neg exch moveto setmatrix CP grestore } def % /LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse LPutCoor } def % /HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } ifelse } ifelse s add flag { r add neg }{ l add } ifelse X add /X ED } def % /VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } def % % end % % END pst-node.pro %%EndProcSet %%BeginProcSet: pst-math.pro 0 0 % -*- Mode: Postscript -*- % pst-math.pro --- PostScript header file pst-math.pro % % Author : Christophe JORSSEN % Author : Herbert Voß % Created the : Sat 20 March 2004 % Last Mod : $Date: 2010/10/02 $ % Version : 0.62 $ % /PI 3.14159265359 def /ENeperian 2.71828182846 def % /DegToRad {PI mul 180 div} bind def /RadToDeg {180 mul PI div} bind def % /COS {RadToDeg cos} bind def /SIN {RadToDeg sin} bind def /TAN {dup SIN exch COS Div} bind def /tan {dup sin exch cos Div} bind def /ATAN {neg -1 atan 180 sub DegToRad} bind def /ACOS {dup dup mul neg 1 add sqrt exch atan DegToRad} bind def /acos {dup dup mul neg 1 add sqrt exch atan} bind def /ASIN {neg dup dup mul neg 1 add sqrt neg atan 180 sub DegToRad} bind def /asin {neg dup dup mul neg 1 add sqrt neg atan 180 sub} bind def % /EXP {ENeperian exch exp} bind def % /COSH {dup EXP exch neg EXP add 2 div} bind def /SINH {dup EXP exch neg EXP sub 2 div} bind def /TANH {dup SINH exch COSH div} bind def /ACOSH {dup dup mul 1 sub sqrt add ln} bind def /ASINH {dup dup mul 1 add sqrt add ln} bind def /ATANH {dup 1 add exch neg 1 add Div ln 2 div} bind def % %/SINC {dup SIN exch Div} bind def /SINC { dup 0 eq { pop 1 } { dup SIN exch div } ifelse } bind def /GAUSS {dup mul 2 mul dup 4 -2 roll sub dup mul exch div neg EXP exch PI mul sqrt div} bind def % /GAMMA { 2 dict begin % hv 2007-08-30 /z exch def 1.000000000190015 % p(0) 0 1 5 { % on stack is 0 1 2 3 4 5 dup % n-1 n-1 [ 76.18009172947146 -86.50532032941677 24.0140982483091 -1.231739572450155 0.1208650973866179E-2 -0.5395239384953E-5 ] exch get exch % p(n) n-1 1 add z add div % p(n)/(z+n) add % build the sum } for Pi 2 mul sqrt z div mul z 5.5 add z 0.5 add exp mul ENeperian z 5.5 add neg exp mul end } bind def % /GAMMALN {dup dup dup 5.5 add dup ln 3 -1 roll .5 add mul sub neg 1.000000000190015 0 1 5 { [76.18009172947146 -86.50532032941677 24.0140982483091 -1.231739572450155 .1208650973866179E-2 -.5395239384953E-5 2.5066282746310005] exch get 4 -1 roll 1 add dup 5 1 roll div add} for 4 -1 roll div 2.5066282746310005 mul ln add exch pop} bind def /BETA {2 copy add GAMMALN neg exch GAMMALN 3 -1 roll GAMMALN EXP} bind def % /HORNER {aload length dup 2 add -1 roll exch 1 sub { dup 4 1 roll mul add exch } repeat pop } bind def % /BESSEL_J0 {dup abs 8 lt { dup mul dup [57568490574 -13362590354 651619640.7 -11214424.18 77392.33017 -184.9052456] HORNER exch [57568490411 1029532985 9494680.718 59272.64853 267.8532712 1] HORNER Div} {abs dup .636619772 exch div sqrt exch dup .785398164 sub exch 8 exch div dup dup mul dup [1 -1.098628627E-2 .2734510407E-4 -.2073370639E-5 .2093887211E-6] HORNER 3 index COS mul exch [-.1562499995E-1 .1430488765E-3 -.6911147651E-5 .7621095161E-6 -.934945152E-7] HORNER 4 -1 roll SIN mul 3 -1 roll mul neg add mul} ifelse} bind def % /BESSEL_Y0 {dup 8 lt { dup dup mul dup [-2957821389 7062834065 -512359803.6 10879881.29 -86327.92757 228.4622733] HORNER exch [40076544269 745249964.8 7189466.438 47447.26470 226.1030244 1] HORNER Div exch dup ln exch BESSEL_J0 .636619772 mul mul add} {dup .636619772 exch div sqrt exch dup .785398164 sub exch 8 exch div dup dup mul dup [1 -.1098628627E-2 .2734510407E-4 -.2073370639E-5 .2093887211E-6] HORNER 3 index SIN mul exch [-.1562499995E-1 .1430488765E-3 -.6911147651E-5 .7621095161E-6 -.934945152E-7] HORNER 4 -1 roll COS mul 3 -1 roll mul add mul} ifelse} bind def % /BESSEL_J1 {dup abs 8 lt { dup dup mul dup 3 -2 roll [72362614232 -7895059235 242396853.1 -2972611.439 15704.48260 -30.16036606] HORNER mul exch [144725228442 2300535178 18583304.74 99447.43394 376.9991397 1] HORNER Div} {dup abs dup .636619772 exch div sqrt exch dup 2.356194491 sub exch 8 exch div dup dup mul dup [1 .183105E-2 -.3516396496E-4 .2457520174E-5 -.240337019E-6] HORNER 3 index COS mul exch [.04687499995 6.2002690873E-3 .8449199096E-5 -.88228987E-6 .105787412E-6] HORNER 4 -1 roll SIN mul 3 -1 roll mul neg add mul exch dup abs Div mul} ifelse} bind def % /BESSEL_Y1 {dup 8 lt { dup dup dup mul dup [-.4900604943E13 .1275274390E13 -.5153428139E11 .7349264551E9 -.4237922726E7 .8511937935E4] HORNER exch [.2499580570E14 .4244419664E12 .3733650367E10 .2245904002E8 .1020426050E6 .3549632885E3 1] HORNER Div mul exch dup dup ln exch BESSEL_J1 mul exch 1 exch div sub .636619772 mul add} {dup .636619772 exch div sqrt exch dup 2.356194491 sub exch 8 exch div dup dup mul dup [1 .183105E-2 -.3516396496E-4 .2457520174E-5 -.240337019E-6] HORNER 3 index SIN mul exch [.04687499995 -.2002690873E-3 .8449199096E-5 6.88228987E-6 .105787412E-6] HORNER 4 -1 roll COS mul 3 -1 roll mul add mul} ifelse} bind def % % En cours... /BESSEL_Yn {dup 0 eq {pop BESSEL_Y0}{dup 1 eq {pop BESSEL_Y1}{ exch dup BESSEL_Y0 exch dup BESSEL_Y1 exch 2 exch Div { mul 3 -1 roll mul 2 index sub pstack} for } ifelse } ifelse } bind def % /SIMPSON { 1 dict begin %% on stack a b var f ierr Dominik Rodriguez 3 index 5 index sub % compute h 1 % a b var f ierr h n 4 index 7 index def 3 index exec % a b var f ierr h n f(a) 5 index 7 index def 4 index exec add % a b var f ierr h n f(a)+f(b) 5 index 8 index 4 index 2 div add def 4 index exec % a b var f ierr h n f(a)+f(b) f(a+h/2) exch 1 index 4 mul add 0 % a b var f ierr h n old=f(a+h/2) Estim=f(a)+f(b)+4f(a+h/2) NbLoop { % a b var f ierr h n old Estim NbLoop 5 -1 roll 2 div dup 6 1 roll % h<-h/2 5 -1 roll 2 mul 5 1 roll % n<-2n % a b var f ierr h n old Estim NbLoop h 2 div 10 index add 0 % a b var f ierr h n old Estim NbLoop a+h/2 Cumul 5 index { 1 index 10 index exch def 8 index exec add exch 6 index add exch } repeat % a b var f ierr h n old Estim NbLoop a+nh/2 Cumul exch pop % a b var f ierr h n old Estim NbLoop New 2 index 1 index 4 mul 6 -1 roll 2 mul sub sub % a b var f ierr h n Estim NbLoop New Diff 4 -1 roll 2 mul 1 index sub 4 1 roll % a b var f ierr h n Estim NbLoop New Diff exch 4 1 roll % a b var f ierr h n old Estim NbLoop Diff 5 index 6 div mul abs 6 index lt { exit } if 1 add dup 9 eq { exit } if } loop % a b var f ierr h n old Estim NbLoop exch 5 -1 roll 6 div mul mark 10 2 roll cleartomark end } def % ------------------------------------ math stuff ---------------------------------- % % Matrix A in arrays of rows A[[row1][row2]...] % with [row1]=[a11 a12 ... b1] % returns on stack solution vector X=[x1 x2 ... xn] /SolveLinEqSystem { % on stack matrix M=[A,b] (A*x=b) 10 dict begin % hold all ocal /A exch def /Rows A length def % Rows = number of rows /Cols A 0 get length def % Cols = number of columns /Index [ 0 1 Rows 1 sub { } for ] def % Index = [0 1 2 ... Rows-1] /col 0 def /row 0 def /PR Rows array def % PR[c] = pivot row for row row { % starts the loop, find pivot entry in row r col Cols ge row Rows ge or { exit } if % col < Cols and row < Rows else exit /pRow row def % pRow = pivot row /max A row get col get abs def % get A[row[col]], first A[0,0] row 1 add 1 Rows 1 sub { % starts for loop 1 1 Rows-1 /j exch def % index counter /x A j get col get abs def % get A[j[r]] x max gt { % x>max, then save position /pRow j def /max x def } if } for % now we have the row with biggest A[0,1] % with pRow = the pivot row max 0 gt { % swap entries pRow and row in i /tmp Index row get def Index row Index pRow get put Index pRow tmp put % and columns pRow and row in A /tmp A row get def A row A pRow get put A pRow tmp put % pivot /row0 A row get def % the pivoting row /p0 row0 col get def % the pivot value row 1 add 1 Rows 1 sub { % start for loop /j exch def /c1 A j get def /p c1 col get p0 div def c1 col p put % subtract (p1/p0)*row[i] from row[j] col 1 add 1 Cols 1 sub { % start for loop /i exch def c1 dup i exch % c1 i c1 i get row0 i get p mul sub put } for } for PR row col put /col col 1 add def /row row 1 add def }{ % all zero entries /row row 1 add def % continue loop with same row } ifelse } loop /X A def % solution vector A Rows 1 sub get dup Cols 1 sub get exch Cols 2 sub get div X Rows 1 sub 3 -1 roll put % X[n] Rows 2 sub -1 0 { % for loop to calculate X[i] /xi exch def % current index A xi get % i-th row /Axi exch def /sum 0 def Cols 2 sub -1 xi 1 add { /n exch def /sum sum Axi n get X n get mul add def } for Axi Cols 1 sub get % b=Axi[Cols-1] sum sub % b-sum Axi xi get div % b-sum / Axi[xi] X xi 3 -1 roll put % X[xi] } for X end } def % /c@_0 2.515517 def /c@_1 0.802853 def /c@_2 0.010328 def /d@_1 1.432788 def /d@_2 0.189269 def /d@_3 0.001308 def /norminv { 5 dict begin neg 1 add 1 exch div ln 2 mul sqrt /t exch def /t2 t dup mul def /t3 t2 t mul def c@_0 c@_1 t mul add c@_2 t2 mul add 1 d@_1 t mul add d@_2 t2 mul add d@_3 t3 mul add div neg t add end } def %end{norminv Michael Sharpe} % % % END pst-math.pro %%EndProcSet %%BeginProcSet: pst-3d.pro 0 0 %% $Id: pst-3d.pro 247 2010-01-04 22:45:42Z herbert $ % PostScript prologue for pst-3d.tex. % Version 0.01, 2010/01/01 % /tx@3Ddict 300 dict def tx@3Ddict begin % /SetMatrixThreeD { dup sin /e ED cos /f ED /p3 ED /p2 ED /p1 ED p1 0 eq { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def p3 p2 abs } { p2 0 eq { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def p3 p1 abs } { p1 dup mul p2 dup mul add sqrt dup p1 exch div /a ED p2 exch div neg /b ED p3 p1 a div } ifelse } ifelse atan dup sin /c ED cos /d ED /Matrix3D [ b f mul c a mul e mul sub a f mul c b mul e mul add d e mul b e mul neg c a mul f mul sub a e mul neg c b mul f mul add d f mul ] def } def % /ProjThreeD { /z ED /y ED /x ED Matrix3D aload pop z mul exch y mul add exch x mul add 4 1 roll z mul exch y mul add exch x mul add exch } def % /SetMatrixEmbed { SetMatrixThreeD Matrix3D aload pop /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED SetMatrixThreeD [ Matrix3D aload pop z3 mul exch z2 mul add exch z1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul add Matrix3D aload pop x3 mul exch x2 mul add exch x1 mul add 4 1 roll x3 mul exch x2 mul add exch x1 mul add 3 -1 roll 3 -1 roll 4 -1 roll 8 -3 roll 3 copy x3 mul exch x2 mul add exch x1 mul add 4 1 roll z3 mul exch z2 mul add exch z1 mul add ] concat } def % /TMSave { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def } def % /TMRestore { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def % /TMChange { TMSave /cp [ currentpoint ] cvx def % ??? Check this later. CM CP T STV CM matrix invertmatrix % Inv(M') matrix concatmatrix % M Inv(M') exch exec concat cp moveto } def % end % of tx@3Ddict %% %% End of file `pst-3d.pro'. %%EndProcSet %%BeginProcSet: pstricks-add.pro 0 0 %% $Id: pstricks-add.pro 328 2010-05-24 15:56:43Z herbert $ % PostScript prologue for pstricks-add.tex. % Version 0.23, 2009/12/17 % /tx@addDict 410 dict def tx@addDict begin %% realtime srand % set random generator % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /GTriangle { gsave /mtrx CM def /colorA ED /colorB ED /colorC ED % save the colors /yA ED /xA ED % save the origin xA yA translate rotate % \psk@gangle /yB ED /xB ED /yC ED /xC ED % save other coordinates /ds [ % save data in a array 0 0 0 colorA aload pop % fd x y xr xg xb 0 xB xA sub yB yA sub colorB aload pop 0 xC xA sub yC yA sub colorC aload pop % 1 xC xB add yB colorA aload pop % for use with 4 points ABCD ] def newpath << /ShadingType 4 % single Gouraud /ColorSpace [ /DeviceRGB ] /DataSource ds >> shfill closepath mtrx setmatrix grestore} def % /RGBtoCMYK { % on stack r g b -> C M Y K 3 dict begin /Blue ED /Green ED /Red ED 1 Red sub % Cyan 1 Green sub % Magenta 1 Blue sub % Yellow 0 % Black end } def % /CMYKtoGRAY { % on stack c m y k -> gray exch 0.11 mul add exch 0.59 mul add exch 0.3 mul add dup 1 gt { pop 1 } if neg 1 add } def % /RGBtoGRAY { % on stack r g b -> gray 0.11 mul exch 0.59 mul add exch 0.3 mul add } def % /HSBtoGRAY { 6 dict begin /b exch def /s exch def 6 mul dup cvi dup /i exch def sub /f exch def /F [[0 1 f sub 1][f 0 1][1 0 1 f sub][1 f 0][1 f sub 1 0][0 1 f][0 1 1]] def F i get { s mul neg 1 add b mul} forall 0.11 mul exch 0.59 mul add exch 0.3 mul add end } def % %% convertisseur longueur d'onde ->R,G,B Manuel Luque %% lambda max=780 nanometres %% lambda min=380 nanometres %% adaptation de : %% http://www.physics.sfasu.edu/astro/color.html %% www.efg2.com/lab % /Gamma 0.8 def /calculateRGB { lambda 379 le {/Red 0 def /Green 0 def /Blue 0 def} if lambda 781 ge {/Red 0 def /Green 0 def /Blue 0 def} if lambda 380 ge {lambda 439 le { /R {lambda 440 sub neg 440 380 sub div} def /Red R factor mul Gamma exp def /G 0 def /Green G factor mul Gamma exp def /B 1 def /Blue B factor mul Gamma exp def} if } if lambda 440 ge { lambda 489 le { /G {lambda 440 sub 490 440 sub div} def /Green G factor mul Gamma exp def /R 0 def /Red 0 def /B 1 def /Blue B factor mul Gamma exp def } if } if lambda 490 ge {lambda 509 le { /B {lambda 510 sub neg 510 490 sub div} def /Blue B factor mul Gamma exp def /R 0 def /Red 0 def /G 1 def /Green G factor mul Gamma exp def } if } if lambda 510 ge {lambda 579 le { /R {lambda 510 sub 580 510 sub div } def /Red R factor mul Gamma exp def /Blue 0 def /G 1 def /Green G factor mul Gamma exp def } if } if lambda 580 ge {lambda 644 le { /G {lambda 645 sub neg 645 580 sub div } def /Green G factor mul Gamma exp def /Blue 0 def /R 1 def /Red R factor mul Gamma exp def } if } if lambda 645 ge { lambda 780 le { /Red 1 factor mul Gamma exp def /Blue 0 def /Green 0 def } if } if } def % /factor { lambda 380 ge {lambda 419 le { 0.3 0.7 lambda 380 sub mul 420 380 sub div add} if } if lambda 420 ge {lambda 700 le { 1 } if } if lambda 701 ge {lambda 780 le { 0.3 0.7 780 lambda sub mul 780 700 sub div add} if } if } def % /wavelengthToRGB { % the wavelength in nm must be on top of the stack cvi /lambda exch def % no floating point here calculateRGB } def % now the colors are saved in Red Green Blue % /wavelengthToGRAY { % the wavelength in nm must be on top of the stack cvi /lambda exch def % no floating point here calculateRGB Red Green Blue RGBtoGRAY } def % now the gray color is on the stack % /wavelengthToCMYK { % the wavelength in nm must be on top of the stack cvi /lambda exch def % no floating point here gsave calculateRGB Red Green Blue RGBtoCMYK /Black ED /Yellow ED /Magenta ED /Cyan ED grestore } def % now the colors are saved in Cyan Magenta Yellow Black % /axfill { 8 dict begin /xw exch def /nl exch def /C1 exch def /y1 exch def/x1 exch def /C0 exch def /y0 exch def/x0 exch def << /ShadingType 2 /ColorSpace /DeviceRGB /Coords [ x0 y0 x1 y1 ] /EmulatorHints [ xw 2 div dup ] /Function << /FunctionType 2 /Domain [0 1] /C0 C0 /C1 C1 /N 1 >> >> shfill end } bind def % %/amplHand {.8} def %/dtHand 2 def /varHand { rand sin amplHand mul add } def /MovetoByHand { moveto } def %/MovetoByHand { /y0 ED /x0 ED x0 y0 moveto } def /LinetoByHand { 4 dict begin /y1 ED /x1 ED currentpoint /y0 ED /x0 ED x0 x1 sub dup mul y0 y1 sub dup mul add sqrt /dEnd ED 0 dtHand dEnd { dup x1 x0 sub mul dEnd div x0 add varHand exch y1 y0 sub mul dEnd div y0 add varHand lineto } for % /x0 x1 def /y0 y1 def end } def % end % % END pstricks-add.pro %%EndProcSet %%BeginProcSet: pst-func.pro 0 0 %% $Id: pst-func.pro 355 2010-06-21 10:02:44Z herbert $ %% %% This is file `pst-func.pro', %% %% IMPORTANT NOTICE: %% %% Package `pst-func' %% %% Herbert Voss %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. %% %% DESCRIPTION: %% `pst-func' is a PSTricks package to plot special math functions %% %% %% version 0.13 / 2010-06-21 Herbert Voss % /tx@FuncDict 100 dict def tx@FuncDict begin % /eps1 1.0e-05 def /eps2 1.0e-04 def /eps8 1.0e-08 def /Pi2 1.57079632679489661925640 def /CEuler 0.5772156649 def % Euler-Mascheroni constant % /factorial { % n on stack, returns n! dup 0 eq { 1 }{ dup 1 gt { dup 1 sub factorial mul } if } ifelse } def % /MoverN { % m n on stack, returns the binomial coefficient m over n 2 dict begin /n exch def /m exch def n 0 eq { 1 }{ m n eq { 1 }{ m factorial n factorial m n sub factorial mul div } ifelse } ifelse end } def % /Pascal [ [ 1 ] % 0 [ 1 1 ] % 1 [ 1 2 1 ] % 2 [ 1 3 3 1 ] % 3 [ 1 4 6 4 1 ] % 4 [ 1 5 10 10 5 1 ] % 5 [ 1 6 15 20 15 6 1 ] % 6 [ 1 7 21 35 35 21 7 1 ] % 7 [ 1 8 28 56 70 56 28 8 1 ] % 8 [ 1 9 36 84 126 126 84 36 9 1 ] % 9 ] def % /GetBezierCoor { % t on stack 10 dict begin % hold all local /t ED /t1 1 t sub def % t1=1-t /Coeff Pascal BezierType get def % get the coefficients 0 0 % initial values for x y BezierType -1 0 { % BezierType,...,2,1,0 /I ED % I=BezierType,...,2,1,0 /J BezierType I sub def % J=0,1,2,...,BezierType /T t I exp Coeff J get mul def % coeff(J)*t^I /T1 t1 J exp def % t1^J Points I dup add 1 add get % y(2*I+1) T mul T1 mul add % the y coordinate exch % y x Points I dup add get % x(2*I) T mul T1 mul add % the x coordinate exch % x y } for % x y on stack end } def % /BezierCurve { % on stack [ coors psk@plotpoints BezierType % 10 dict begin /BezierType ED 1 exch div /epsilon ED ] /Points ED % yi xi ... y3 x3 y2 x2 y1 x1 y0 x0 epsilon GetBezierCoor % next Bezier point Points 0 get Points 1 get % starting point ArrowA moveto epsilon epsilon 1 { /t ED t GetBezierCoor t 0.9999 lt { lineto }{ 1 epsilon sub GetBezierCoor 4 2 roll ArrowB pop pop pop pop } ifelse } for % end } def % /Bernstein { % on stack tStart tEnd plotpoints i n 12 dict begin % hold all local /envelope ED % plot envelope? /n ED /i ED /ni n i sub def /epsilon ED % step=1/plotpoints /tEnd ED /tStart ED % % B_{i,n}(t)=\binom{n}{i}t^i(1-t)^{n-i} (Bernstein) % f_n(x)=\frac{1}{\sqrt{\pi n\cdot x(1-x)}} (envelope) % n i MoverN /noveri ED % \binom{n}{i} [ % for the array of points tStart epsilon tEnd { dup dup /t ED % leave one on stack neg 1 add /t1 ED % t1=1-t envelope { t t1 mul 4 mul Pi2 mul n mul sqrt 1 exch Div } % envelope { noveri t i exp mul t1 ni exp mul } ifelse % t f(t) ScreenCoor % convert to screen coor } for end false /Lineto /lineto load def Line } def % /Si { % integral sin from 0 to x (arg on stack) /arg exch def /Sum arg def /sign -1 def /index 3 def { arg index exp index div index factorial div sign mul dup abs eps8 lt { pop exit } if Sum add /Sum exch def /sign sign neg def /index index 2 add def } loop Sum } def /si { % integral sin from x to infty -> si(x)=Si(x)-pi/2 Si Pi2 sub } def /Ci { % integral cosin from x to infty (arg on stack) abs /arg exch def arg 0 eq { 0 } { /argExp 1 def /fact 1 def /Sum CEuler arg ln add def /sign -1 def /index 2 def { /argExp argExp arg arg mul mul def /fact fact index 1 sub index mul mul def argExp index div fact div sign mul dup abs exch Sum add /Sum exch def eps8 lt { exit } if /sign sign neg def /index index 2 add def } loop Sum } ifelse } def /ci { % integral cosin from x to infty -> ci(x)=-Ci(x)+ln(x)+CEuler dup Ci neg exch abs ln add CEuler add } def % /MaxIter 255 def /func { coeff Derivation FuncValue } def /func' { coeff Derivation 1 add FuncValue } def /func'' { coeff Derivation 2 add FuncValue } def % /NewtonMehrfach {% the start value must be on top of the stack /Nx exch def /Iter 0 def { /Iter Iter 1 add def Nx func /F exch def % f(Nx) F abs eps2 lt { exit } if Nx func' /FS exch def % f'(Nx) FS 0 eq { /FS 1.0e-06 def } if Nx func'' /F2S exch def % f''(Nx) 1.0 1.0 F F2S mul FS dup mul div sub div /J exch def J F mul FS div /Diff exch def /Nx Nx Diff sub def Diff abs eps1 lt Iter MaxIter gt or { exit } if } loop Nx % the returned value ist the zero point } def /Steffensen {% the start value must be on top of the stack /y0 exch def % the start value /Iter 0 def { y0 func /F exch def F abs eps2 lt { exit } if y0 F sub /Phi exch def Phi func /F2 exch def F2 abs eps2 le { exit }{ Phi y0 sub dup mul Phi F2 sub 2 Phi mul sub y0 add Div /Diff exch def y0 Diff sub /y0 exch def Diff abs eps1 le { exit } if } ifelse /Iter Iter 1 add def Iter MaxIter gt { exit } if } loop y0 % the returned value ist the zero point } def % /Horner {% x [coeff] must be on top of the stack aload length dup 2 add -1 roll exch 1 sub { dup 4 1 roll mul add exch } repeat pop % the y value is on top of the stack } def % /FuncValue {% x [coeff] Derivation must be on top of the stack { aload % a0 a1 a2 ... a(n-1) [array] length % a0 a1 a2 ... a(n-1) n 1 sub /grad exch def % a0 a1 a2 ... a(n-1) grad -1 1 { % for n=grad step -1 until 1 /n exch def % Laufvariable speichern n % a0 a1 a2 ... a(n-1) n mul % a0 a1 a2 ... a(n-1)*n grad 1 add % a0 a1 a2 ... a(n-1)*n grad+1 1 roll % an*na0 a1 a2 ... a(n-2) } for pop % loesche a0 grad array astore % [ a1 a2 ... a(n-2)] } repeat Horner } def % /FindZeros { % dxN dxZ must be on top of the stack (x0..x1 the intervall) => [] 12 dict begin /dxZ exch def /dxN exch def /pstZeros [] def x0 dxZ x1 { % suche Nullstellen /xWert exch def xWert NewtonMehrfach %xWert Steffensen /xNull exch def pstZeros aload length /Laenge exch def % now test if value is a new one Laenge 0 eq { xNull 1 } { /newZero true def Laenge { xNull sub abs dxN lt { /newZero false def } if } repeat pstZeros aload pop newZero { xNull Laenge 1 add } { Laenge } ifelse } ifelse array astore /pstZeros exch def } for pstZeros % the end array is now on the stack end } def % /Simpson { % on stack must be a b M --- simple version --- % /SFunc must be defined /M ED /b ED /a ED /h b a sub M 2 mul div def /s1 0 def /s2 0 def 1 1 M { /k exch def /x k 2 mul 1 sub h mul a add def /s1 s1 x SFunc add def } for 1 1 M 1 sub { /k exch def /x k 2 mul h mul a add def /s2 s2 x SFunc add def } for /I a SFunc b SFunc add s1 4 mul add s2 2 mul add 3 div h mul def } def % /LogGamma { 5 dict begin % z on stack /z ED /sum 0 def /k 1 def { z k div dup 1 add ln sub dup abs eps8 lt { pop exit } if sum add /sum exch def /k k 1 add def } loop sum z ln sub CEuler z mul sub end } def % /ChebyshevT { 5 dict begin % z on stack /xtmp exch def /n exch def 0 0 1 n .5 mul floor { /k exch def xtmp xtmp mul 1 sub k exp xtmp n 2 k mul sub exp mul n 2 k mul MoverN mul add } for end } def % /ChebyshevU {5 dict begin % z on stack /xtmp exch def /n exch def 0 0 1 n .5 mul floor { /k exch def xtmp xtmp mul 1 sub k exp xtmp n 2 k mul sub exp mul n 1 add 2 k mul 1 add MoverN mul add } for end } def % % subroutines for complex numbers, given as an array [a b] % which is a+bi = Real+i Imag % /cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] dup 0 get % [a1 b1] [a2 b2] a2 3 -1 roll % [a2 b2] a2 [a1 b1] dup 0 get % [a2 b2] a2 [a1 b1] a1 3 -1 roll % [a2 b2] [a1 b1] a1 a2 add % [a2 b2] [a1 b1] a1+a2 3 1 roll % a1+a2 [a2 b2] [a1 b1] 1 get % a1+a2 [a2 b2] b1 exch 1 get % a1+a2 b1 b2 add 2 array astore } def % /cxneg { % [a b] dup 1 get % [a b] b exch 0 get % b a neg exch neg % -a -b 2 array astore } def % /cxsub { cxneg cxadd } def % same as negative addition % % [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] /cxmul { % [a1 b1] [a2 b2] dup 0 get % [a1 b1] [a2 b2] a2 exch 1 get % [a1 b1] a2 b2 3 -1 roll % a2 b2 [a1 b1] dup 0 get % a2 b2 [a1 b1] a1 exch 1 get % a2 b2 a1 b1 dup % a2 b2 a1 b1 b1 5 -1 roll dup % b2 a1 b1 b1 a2 a2 3 1 roll mul % b2 a1 b1 a2 b1a2 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 4 -1 roll add % b1 a2 a1 b2 b3 4 2 roll mul % b1 b2 b3 a1a2 4 2 roll mul sub % b3 a3 exch 2 array astore } def % % [a b]^2 = [a^2-b^2 2ab] = [a2 b2] /cxsqr { % [a b] square root dup 0 get exch 1 get % a b dup dup mul % a b b^2 3 -1 roll % b b^2 a dup dup mul % b b^2 a a^2 3 -1 roll sub % b a a2 3 1 roll mul 2 mul % a2 b2 2 array astore } def % /cxsqrt { % [a b] % dup cxnorm sqrt /r exch def % cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 cxlog % log[a b] 2 cxrdiv % log[a b]/2 aload pop exch % b a 2.781 exch exp % b exp(a) exch cxconv exch % [Re +iIm] exp(a) cxrmul % } def % /cxarg { % [a b] aload pop % a b exch atan % arctan b/a DegtoRad % arg(z)=atan(b/a) } def % % log[a b] = [a^2-b^2 2ab] = [a2 b2] /cxlog { % [a b] dup % [a b][a b] cxnorm % [a b] |z| log % [a b] log|z| exch % log|z|[a b] cxarg % log|z| Theta cxmake2 % [log|z| Theta] } def % % square of magnitude of complex number /cxnorm2 { % [a b] dup 0 get exch 1 get % a b dup mul % a b^2 exch dup mul add % a^2+b^2 } def % /cxnorm { % [a b] cxnorm2 sqrt } def % /cxconj { % conjugent complex dup 0 get exch 1 get % a b neg 2 array astore % [a -b] } def % /cxre { 0 get } def % real value /cxim { 1 get } def % imag value % % 1/[a b] = ([a -b]/(a^2+b^2) /cxrecip { % [a b] dup cxnorm2 exch % n2 [a b] dup 0 get exch 1 get % n2 a b 3 -1 roll % a b n2 dup % a b n2 n2 4 -1 roll exch div % b n2 a/n2 3 1 roll div % a/n2 b/n2 neg 2 array astore } def % /cxmake1 { 0 2 array astore } def % make a complex number, real given /cxmake2 { 2 array astore } def % dito, both given % /cxdiv { cxrecip cxmul } def % % multiplikation by a real number /cxrmul { % [a b] r exch aload pop % r a b 3 -1 roll dup % a b r r 3 1 roll mul % a r b*r 3 1 roll mul % b*r a*r exch 2 array astore % [a*r b*r] } def % % division by a real number /cxrdiv { % [a b] r 1 exch div % [a b] 1/r cxrmul } def % % exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian /cxconv { % theta RadtoDeg dup sin exch cos cxmake2 } def % end %%EndProcSet %%BeginProcSet: texps.pro 0 0 %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro 0 0 %! 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 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end 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 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true 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/setpagedevice{pop}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 count/ocount X/dcount countdictstack N} N/@setspecial{CLIP 1 eq{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 rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ pop}repeat countdictstack dcount sub{end}repeat grestore 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 %%BeginProcSet: color.pro 0 0 %! TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end %%EndProcSet %%BeginFont: CMSY8 %!PS-AdobeFont-1.0: CMSY8 003.002 %%Title: CMSY8 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMSY8. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup /UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMSY8 def /FontBBox {-30 -955 1185 779 }readonly def /UniqueID 5096649 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def /FullName (CMSY8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /minus put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD 028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED 516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F 67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F 81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD 1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A 579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C 1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC 82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E 08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD 72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E 02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D 07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C 1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED 55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF 22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D 6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD 15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC 3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E 9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D 6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C 08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B 893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D 8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A 3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B 167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF 0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D 628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC 1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D 289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C 42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B 9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA 9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A 3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C 5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA 058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D 74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F 46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B 3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A 1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A 310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C 2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD 8E24F52934 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont %%BeginFont: CMR8 %!PS-AdobeFont-1.0: CMR8 003.002 %%Title: CMR8 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMR8. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup /UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMR8 def /FontBBox {-36 -250 1070 750 }readonly def /UniqueID 5000791 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def /FullName (CMR8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 49 /one put dup 50 /two put dup 51 /three put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA 0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B 8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF 27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF 18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB 7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D 25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB 16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C 74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE 37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D 7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD 3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B 49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B 29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F 2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E 293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D 136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB 46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF 2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B 0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF 6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C 72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE 6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B 70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA 09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E 36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B 9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A 893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE 0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F 3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF 4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E 015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A 167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F 9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D 947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B 6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE 276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF 809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF 76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF 94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E 1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C 06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC 6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF 145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F 2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC 78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB 7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED 6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE 91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA 3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D 5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A 0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE 63150A652A07E2AD6080FFA6DC62C23A735C8A062333 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) @start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 35 49[{}3 66.4176 /CMR8 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin end %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop 0 TeXcolorgray Black 165 192 a /pssetRGBcolor /setrgbcolor load def /pssetCMYKcolor /setcmykcolor load def /pssetGraycolor /setgray load def 165 192 a 165 192 a tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end 165 192 a 165 192 a tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end 165 192 a 0 TeXcolorgray 165 192 a tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end 165 192 a 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-3.00))^2))*(sin(-3.00)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-3.00))^2))*(sin(-2.6)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-3.00))^2))*(sin(-2.2)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-3.00))^2))*(sin(-1.8)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-3.00))^2))*(sin(-1.4)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-3.00))^2))*(sin(-1.0)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-3.00))^2))*(sin(-0.6)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-3.00))^2))*(sin(-0.2)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-3.00))^2))*(sin(0.2)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-3.00))^2))*(sin(0.6)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-3.00))^2))*(sin(1.0)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-3.00))^2))*(sin(1.4)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-3.00))^2))*(sin(1.8)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-3.00))^2))*(sin(2.2)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-3.00))^2))*(sin(2.6)*cos(-3.00)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.6))^2))*(sin(-3.00)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.6))^2))*(sin(-2.6)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.6))^2))*(sin(-2.2)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.6))^2))*(sin(-1.8)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.6))^2))*(sin(-1.4)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.6))^2))*(sin(-1.0)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.6))^2))*(sin(-0.6)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.6))^2))*(sin(-0.2)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.6))^2))*(sin(0.2)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.6))^2))*(sin(0.6)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.6))^2))*(sin(1.0)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.6))^2))*(sin(1.4)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.6))^2))*(sin(1.8)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.6))^2))*(sin(2.2)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.6))^2))*(sin(2.6)*cos(-2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.2))^2))*(sin(-3.00)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.2))^2))*(sin(-2.6)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.2))^2))*(sin(-2.2)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.2))^2))*(sin(-1.8)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.2))^2))*(sin(-1.4)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.2))^2))*(sin(-1.0)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.2))^2))*(sin(-0.6)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.2))^2))*(sin(-0.2)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.2))^2))*(sin(0.2)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.2))^2))*(sin(0.6)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.2))^2))*(sin(1.0)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.2))^2))*(sin(1.4)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.2))^2))*(sin(1.8)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.2))^2))*(sin(2.2)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.2))^2))*(sin(2.6)*cos(-2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.8))^2))*(sin(-3.00)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.8))^2))*(sin(-2.6)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.8))^2))*(sin(-2.2)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.8))^2))*(sin(-1.8)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.8))^2))*(sin(-1.4)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.8))^2))*(sin(-1.0)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.8))^2))*(sin(-0.6)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.8))^2))*(sin(-0.2)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.8))^2))*(sin(0.2)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.8))^2))*(sin(0.6)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.8))^2))*(sin(1.0)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.8))^2))*(sin(1.4)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.8))^2))*(sin(1.8)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.8))^2))*(sin(2.2)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.8))^2))*(sin(2.6)*cos(-1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.4))^2))*(sin(-3.00)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.4))^2))*(sin(-2.6)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.4))^2))*(sin(-2.2)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.4))^2))*(sin(-1.8)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.4))^2))*(sin(-1.4)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.4))^2))*(sin(-1.0)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.4))^2))*(sin(-0.6)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.4))^2))*(sin(-0.2)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.4))^2))*(sin(0.2)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.4))^2))*(sin(0.6)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.4))^2))*(sin(1.0)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.4))^2))*(sin(1.4)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.4))^2))*(sin(1.8)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.4))^2))*(sin(2.2)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.4))^2))*(sin(2.6)*cos(-1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.0))^2))*(sin(-3.00)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.0))^2))*(sin(-2.6)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.6 0.6 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.0))^2))*(sin(-2.2)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.0))^2))*(sin(-1.8)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.0))^2))*(sin(-1.4)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.0))^2))*(sin(-1.0)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.0))^2))*(sin(-0.6)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.0))^2))*(sin(-0.2)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.0))^2))*(sin(0.2)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.0))^2))*(sin(0.6)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.0))^2))*(sin(1.0)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.0))^2))*(sin(1.4)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.0))^2))*(sin(1.8)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.0))^2))*(sin(2.2)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.0))^2))*(sin(2.6)*cos(-1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.6 0.6 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.6))^2))*(sin(-3.00)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.6))^2))*(sin(-2.6)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.6))^2))*(sin(-2.2)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.6))^2))*(sin(-1.8)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.6))^2))*(sin(-1.4)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.6))^2))*(sin(-1.0)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.6))^2))*(sin(-0.6)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.6))^2))*(sin(-0.2)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.6))^2))*(sin(0.2)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.6))^2))*(sin(0.6)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.6))^2))*(sin(1.0)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.6))^2))*(sin(1.4)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.6))^2))*(sin(1.8)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.6))^2))*(sin(2.2)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.6))^2))*(sin(2.6)*cos(-0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.2))^2))*(sin(-3.00)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.2))^2))*(sin(-2.6)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.2))^2))*(sin(-2.2)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.2))^2))*(sin(-1.8)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.2))^2))*(sin(-1.4)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.2))^2))*(sin(-1.0)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.2))^2))*(sin(-0.6)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.2))^2))*(sin(-0.2)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.2))^2))*(sin(0.2)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.2))^2))*(sin(0.6)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.2))^2))*(sin(1.0)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.2))^2))*(sin(1.4)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.2))^2))*(sin(1.8)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.2))^2))*(sin(2.2)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.2))^2))*(sin(2.6)*cos(-0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.2))^2))*(sin(-3.00)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.2))^2))*(sin(-2.6)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.2))^2))*(sin(-2.2)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.2))^2))*(sin(-1.8)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.2))^2))*(sin(-1.4)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.2))^2))*(sin(-1.0)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.2))^2))*(sin(-0.6)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.2))^2))*(sin(-0.2)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.2))^2))*(sin(0.2)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.2))^2))*(sin(0.6)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.2))^2))*(sin(1.0)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.2))^2))*(sin(1.4)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.2))^2))*(sin(1.8)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.2))^2))*(sin(2.2)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.2))^2))*(sin(2.6)*cos(0.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.6))^2))*(sin(-3.00)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.6))^2))*(sin(-2.6)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.6))^2))*(sin(-2.2)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.6))^2))*(sin(-1.8)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.6))^2))*(sin(-1.4)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.6))^2))*(sin(-1.0)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.6))^2))*(sin(-0.6)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.6))^2))*(sin(-0.2)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.6))^2))*(sin(0.2)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.6))^2))*(sin(0.6)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.6))^2))*(sin(1.0)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.6))^2))*(sin(1.4)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.6))^2))*(sin(1.8)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.6))^2))*(sin(2.2)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.6))^2))*(sin(2.6)*cos(0.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.0))^2))*(sin(-3.00)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.0))^2))*(sin(-2.6)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.6 0.6 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.0))^2))*(sin(-2.2)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.0))^2))*(sin(-1.8)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.0))^2))*(sin(-1.4)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.0))^2))*(sin(-1.0)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.0))^2))*(sin(-0.6)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.0))^2))*(sin(-0.2)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.0))^2))*(sin(0.2)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.0))^2))*(sin(0.6)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.0))^2))*(sin(1.0)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.0))^2))*(sin(1.4)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.0))^2))*(sin(1.8)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.0))^2))*(sin(2.2)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.0))^2))*(sin(2.6)*cos(1.0)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.6 0.6 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.4))^2))*(sin(-3.00)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.4))^2))*(sin(-2.6)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.4))^2))*(sin(-2.2)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.4))^2))*(sin(-1.8)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.4))^2))*(sin(-1.4)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.4))^2))*(sin(-1.0)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.4))^2))*(sin(-0.6)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.4))^2))*(sin(-0.2)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.4))^2))*(sin(0.2)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.4))^2))*(sin(0.6)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.4))^2))*(sin(1.0)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.4))^2))*(sin(1.4)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.4))^2))*(sin(1.8)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.4))^2))*(sin(2.2)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.4))^2))*(sin(2.6)*cos(1.4)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.8))^2))*(sin(-3.00)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.8))^2))*(sin(-2.6)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.8))^2))*(sin(-2.2)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.8))^2))*(sin(-1.8)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.8))^2))*(sin(-1.4)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.8))^2))*(sin(-1.0)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.8))^2))*(sin(-0.6)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.8))^2))*(sin(-0.2)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.8))^2))*(sin(0.2)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.8))^2))*(sin(0.6)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.8))^2))*(sin(1.0)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.8))^2))*(sin(1.4)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.8))^2))*(sin(1.8)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.8))^2))*(sin(2.2)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.7 0.7 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.8))^2))*(sin(2.6)*cos(1.8)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.2))^2))*(sin(-3.00)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.2))^2))*(sin(-2.6)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.2))^2))*(sin(-2.2)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.2))^2))*(sin(-1.8)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.2))^2))*(sin(-1.4)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.2))^2))*(sin(-1.0)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.2))^2))*(sin(-0.6)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.2))^2))*(sin(-0.2)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.2))^2))*(sin(0.2)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.9 0.9 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.2))^2))*(sin(0.6)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.2))^2))*(sin(1.0)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.2))^2))*(sin(1.4)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.2))^2))*(sin(1.8)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.1 0.1 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.2))^2))*(sin(2.2)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.2))^2))*(sin(2.6)*cos(2.2)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.5 0.5 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.6))^2))*(sin(-3.00)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.6))^2))*(sin(-2.6)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.6))^2))*(sin(-2.2)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.6))^2))*(sin(-1.8)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.6))^2))*(sin(-1.4)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.6))^2))*(sin(-1.0)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.6))^2))*(sin(-0.6)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.6))^2))*(sin(-0.2)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.6))^2))*(sin(0.2)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.8 0.8 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.6))^2))*(sin(0.6)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.2 0.2 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.6))^2))*(sin(1.0)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.6))^2))*(sin(1.4)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.6))^2))*(sin(1.8)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.6))^2))*(sin(2.2)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0 0 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 998 901 a tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def 998 901 a 998 901 a tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.6))^2))*(sin(2.6)*cos(2.6)) ) AlgParser cvx def end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a 998 901 a tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} def NewNode end end 998 901 a @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.8 SLW 1 0.3 0.3 setrgbcolor 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /showOrigin true def 88.35017 0 -85.5 0 ArrowA CP 4 2 roll ArrowB 2 copy /yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false and exch 2 lt true and or { /viceversa -85.5 88.35017 gt { true }{ false } ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline 85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo 1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse 0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth 0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { 0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add } ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin 0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT dx log mul add def x abs MaxValue abs le { false { x minTickline moveto x maxTickline lineto } { x tickstart STsize mul moveto x tickend STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le { false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin { gsave false { cntTick minTickline moveto cntTick maxTickline lineto } { cntTick tickstart moveto cntTick tickend lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse { /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT dx log mul add def x abs MinValue abs le { false { x minTickline moveto x maxTickline lineto } { x tickstart STsize mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart moveto cntTick tickend lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def } ifelse } for } if end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy /yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false } ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline 88.35017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo 1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse 0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth 0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { 0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add } ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin 0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT dx log mul add def x abs MaxValue abs le { false { x minTickline exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin { gsave false { cntTick minTickline exch moveto cntTick maxTickline exch lineto } { cntTick tickstart exch moveto cntTick tickend exch lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse { /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT dx log mul add def x abs MinValue abs le { false { x minTickline exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def } ifelse } for } if end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial @beginspecial @setspecial tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 2 roll ArrowB L pop pop } if gsave 0.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end @endspecial 930 685 a Fb(1)930 449 y(2)875 1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray 0 TeXcolorgray eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF