/bd{bind def}bind def /ed{exch def}bd  /gs{gsave}bd  /gr{grestore}bd  /tr{translate}bd /sca{scale}bd  
/Sc{dup sca}bd  /np{newpath}bd  /m{np moveto}bd  /l{lineto}bd  /sl{stroke}bd  /ls{m l sl}bd 
/rl{rlineto}bd  /rm{rmoveto}bd  /slw{setlinewidth}bd  /r{rotate}bd  /srgb{setrgbcolor}bd  /s{show}bd  
/sg{setgray}bd  /sp{stringwidth pop}bd  /sc{dup sp -0.5 mul 0 rm s}bd /se{dup sp -1 mul 0 rm s}bd
/f{findfont exch scalefont setfont}bd /FS 12 def 
/PR{/Palatino-Roman f}bd  /PB{/Palatino-Bold f}bd  /PI{/Palatino-Italic f}bd  /Sy{/Symbol f}bd  /He{/Helvetica f}bd  
/L{FS PR s}bd /Lc{FS PR sc}bd /Le{FS PR se}bd /B{FS PB s}bd /Bc{FS PB sc}bd /I{FS PI s}bd /G{FS Sy s}bd /H{FS He s}bd
/fir{closepath gs fill gr}bd  /fr{sg fir}bd
/ind{/Z ed /Y ed /X ed /tt ed X Y rm Z Sc tt s /Z 1 Z div def Z Sc X Y neg rm}bd  
/ib{/U FS 12 div def U 0.8 mul -3 U mul 0.7 ind}bd  /it{/U FS 12 div def U 0.8 mul 4 U mul 0.7 ind}bd
/is1{1.25 1.25 sca}bd /ds1{0.8 0.8 sca}bd /is2{1.5625 1.5625 sca}bd /ds2{0.64 0.64 sca}bd  
/is3{2 2 sca}bd /ds3{0.5 0.5 sca}bd /is4{3.125 3.125 sca}bd /ds4{0.32 0.32 sca}bd /is5{4 4 sca}bd /ds5{0.25 0.25 sca}bd  
/Arr{/Xs ed /Xr ed /Y ed /X ed gs X Y m Xr r Xs Xs sca -2 -7 rl 4 0 rl -2 7 rl 0 fr gr}bd
/par{/f2 ed /f1 ed /x2 ed /x1 ed /ts ed /to ed /bo ed /lef ed /lex ed /str 20 string def /cx lex x2 x1 sub div def 
  /cf lef f2 f1 sub div def /tcx 0 ts sub to 0 gt {to sub} if bo abs sub def /tcf 0 to 0 gt {to sub} if bo abs 2 mul sub def }def
/parx{/nx ed /drx ed /rx ed /dr1 drx nx 1 add div def /r1 rx rx x1 sub dr1 div cvi dr1 mul sub def 
  /n1 x2 r1 sub dr1 div cvi 1 add def /n2 x2 rx sub drx div cvi 1 add def /r1 r1 x1 sub cx mul def 
  /dr1 dr1 cx mul def /r2 rx x1 sub cx mul def /dr2 drx cx mul def }def
/axx{0 0 lex 0 ls /x r1 def n1{x 0 x bo neg ls /x x dr1 add def}repeat /x r2 def n2{x 0 x to neg ls /x x dr2 add def}repeat 
  /x r2 def /v rx def n2{x tcx m ts He v str cvs sc /x x dr2 add def /v v drx add def v abs 1e-8 le {/v 0 def}if }repeat }def
/parf{/nf ed /drf ed /rf ed /dr1 drf nf 1 add div def /r1 rf rf f1 sub dr1 div cvi dr1 mul sub def 
  /n1 f2 r1 sub dr1 div cvi 1 add def /n2 f2 rf sub drf div cvi 1 add def /r1 r1 f1 sub cf mul def 
  /dr1 dr1 cf mul def /r2 rf f1 sub cf mul def /dr2 drf cf mul def }def 
/axf{0 0 0 lef ls /x r1 def n1{0 x bo neg x ls /x x dr1 add def}repeat /x r2 def n2{0 x to neg x ls 
  /x x dr2 add def}repeat /x r2 def /v rf def n2{tcf x ts 3 div sub m ts He v str cvs se 
  /x x dr2 add def /v v drf add def v abs 1e-8 le {/v 0 def}if }repeat }def
/figl{/c ed /na ed /a2 ed /a1 ed /na na 1 sub def /da a1 a2 sub na div def /k 0 def /a a2 def /v ed a x1 sub cx mul v c mul f1 sub cf mul m 
  na{/k k 1 add def /a a2 da k mul add def /v ed a x1 sub cx mul v c mul f1 sub cf mul l}repeat sl }def
/mark{/y ed /x ed /R 3 def x R add y m x y R 0 360 arc sl}def
/figm{/c ed /na ed /a2 ed /a1 ed /da a1 a2 sub na 1 sub div def /k 0 def /a a2 da sub def
  na{/k k 1 add def /a a2 da k mul add def /v ed a x1 sub cx mul v c mul f1 sub cf mul mark}repeat }def
/axx0{0 0 lex 0 ls /x r1 def n1{x 0 x bo neg ls /x x dr1 add def}repeat /x r2 def n2{x 0 x to neg ls /x x dr2 add def}repeat }def
/axx1{0 lef lex lef ls /x r1 def n1{x lef x bo lef add ls /x x dr1 add def}repeat /x r2 def n2{x lef x to lef add ls /x x dr2 add def}repeat }def
/axx2{0 lef lex lef ls /x r1 def n1{x lef x bo lef add ls /x x dr1 add def}repeat /x r2 def n2{x lef x to lef add ls /x x dr2 add def}repeat
  /x r2 def /v rx def n2{x lef to 2 mul add m ts He v str cvs sc /x x dr2 add def /v v drx add def}repeat }def
/axf0{0 0 0 lef ls /x r1 def n1{0 x bo neg x ls /x x dr1 add def}repeat /x r2 def n2{0 x to neg x ls /x x dr2 add def}repeat }def
/axf1{lex 0 lex lef ls /x r1 def n1{lex x bo lex add x ls /x x dr1 add def}repeat /x r2 def n2{lex x to lex add x ls /x x dr2 add def}repeat }def
/axf2{lex 0 lex lef ls /x r1 def n1{lex x bo lex add x ls /x x dr1 add def}repeat /x r2 def n2{lex x to lex add x ls /x x dr2 add def}repeat
  /x r2 def /v rf def n2{tcf neg lex add x ts 3 div sub m ts He v str cvs s /x x dr2 add def /v v drx add def}repeat }def
/axlf{/pro{ x 0 x lef ls /ft f3 def N{/Cu ft f1 sub cf mul def lef Cu sub Cu mul 0 gt{x Cu m tt 0 rl sl}if /n 2 def
  8{/cu n log cf mul Cu add def lef cu sub cu mul 0 gt{x cu m bt 0 rl sl}if /n n 1 add def}repeat /ft ft 1 add def} repeat }bd
  /f2 ed /f1 ed /ts ed /to ed /bo ed /lef ed /lex ed /str 20 string def /cf lef f2 f1 sub div def /f3 f1 cvi 1 sub def 
  /N f2 f3 sub cvi 1 add def /x 0 def /tt to neg def /bt bo neg def pro lex 0 gt {/x lex def /tt to def /bt bo def pro}if
  /ft f3 1 add def /N N 1 sub def /tss ts 0.7 mul floor def /s1 ts 24 div def N{/x s1 36 mul neg def /y ft f1 sub cf mul s1 10 mul sub def 
  x y m ts He (10)se /x x s1 add def /y y s1 12 mul add def x y m tss He ft str cvs s /ft ft 1 add def }repeat }bd
/axlx{/pro{ 0 y lex y ls /ft f3 def N{/Cu ft f1 sub cf mul def lex Cu sub Cu mul 0 gt{Cu y m 0 tt rl sl}if /n 2 def
  8{/cu n log cf mul Cu add def lex cu sub cu mul 0 gt{cu y m 0 bt rl sl}if /n n 1 add def}repeat /ft ft 1 add def} repeat }bd
  /f2 ed /f1 ed /ts ed /tt ed /bt ed /lex ed /str 20 string def /cf lex f2 f1 sub div def /f3 f1 cvi 1 sub def 
  /N f2 f3 sub cvi 1 add def /y 0 def pro /ft f3 1 add def /N N 1 sub def /tss ts 0.7 mul floor def /s1 ts 24 div def
  N{/y tt bt add def /x ft f1 sub cf mul s1 10 mul add def x y m ts He (10)se /y y s1 18 mul add def /x x s1 add def 
  x y m tss He ft str cvs s /ft ft 1 add def }repeat }bd
% X Y A S Arr  X,Y - point of apex, A - rotation angle, S - scaling
