(original) (raw)

%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: All.dvi %%Pages: 3 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips All.dvi -pp 53-55 -o akhavi.ps %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2000.11.09:1118 %%BeginProcSet: texc.pro %! /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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/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 /p{show}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 %! % PostScript prologue for pstricks.tex. % Version 97 patch 3, 98/06/01 % For distribution, see pstricks.tex. % /tx@Dict 200 dict def tx@Dict begin /ADict 25 dict def /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 /Atan { /atan load stopped { pop pop 0 } if } def /Div { dup 0 eq { pop } { div } ifelse } def /NET { neg exch neg exch T } def /Pyth { dup mul exch dup mul add sqrt } def /PtoC { 2 copy cos mul 3 1 roll sin mul } def /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 /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 /x ED /y ED /z y x add def b a .5 sub 2 mul y mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul /y ED x mul /x ED x 0 gt y 0 gt and { [ y 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 /LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 % DG/SR modification begin - Dec. 12, 1997 - Patch 2 %itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a % DG/SR modification end Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict /setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } % def a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore pop pop } def % DG/SR modification end /BeginArrow { ADict begin /@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 /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 /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 { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def /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 { aload length 2 div dup dup cvi eq not { exch pop } if /n exch cvi def } def /NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } 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 /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 /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 % DG modification begin - Jan. 15, 1997 %/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { %pop } { 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 } ifelse mark 0 d w neg d 0 h w d 0 %d /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 /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 /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 /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 /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 /ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat closepath } ifelse } 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 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 sub 3 div def /dy y0 y1 sub 3 div def x0 dx 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 /Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if /dx ED dy div round dy mul /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 { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def /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-dots.pro %!PS-Adobe-2.0 %%Title: Dot Font for PSTricks 97 - Version 97, 93/05/07. %%Creator: Timothy Van Zandt tvz@princeton.edu %%Creation Date: May 7, 1993 10 dict dup begin /FontType 3 def /FontMatrix [ .001 0 0 .001 0 0 ] def /FontBBox [ 0 0 0 0 ] def /Encoding 256 array def 0 1 255 { Encoding exch /.notdef put } for Encoding dup (b) 0 get /Bullet put dup (c) 0 get /Circle put dup (C) 0 get /BoldCircle put 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 (P) 0 get /BoldPentagon put /Metrics 13 dict def Metrics begin /Bullet 1000 def /Circle 1000 def /BoldCircle 1000 def /SolidTriangle 1344 def /Triangle 1344 def /BoldTriangle 1344 def /SolidSquare 886 def /Square 886 def /BoldSquare 886 def /SolidPentagon 1093.2 def /Pentagon 1093.2 def /BoldPentagon 1093.2 def /.notdef 0 def end /BBoxes 13 dict def BBoxes begin /Circle { -550 -550 550 550 } def /BoldCircle /Circle load def /Bullet /Circle load def /Triangle { -571.5 -330 571.5 660 } def /BoldTriangle /Triangle load def /SolidTriangle /Triangle load def /Square { -450 -450 450 450 } def /BoldSquare /Square load def /SolidSquare /Square load def /Pentagon { -546.6 -465 546.6 574.7 } def /BoldPentagon /Pentagon load def /SolidPentagon /Pentagon load def /.notdef { 0 0 0 0 } def end /CharProcs 20 dict def CharProcs begin /Adjust { 2 copy dtransform floor .5 add exch floor .5 add exch idtransform 3 -1 roll div 3 1 roll exch div exch scale } def /CirclePath { 0 0 500 0 360 arc closepath } def /Bullet { 500 500 Adjust CirclePath fill } def /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def /BoldCircle { 500 500 Adjust CirclePath .8 .8 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 /.notdef { } def end /BuildGlyph { exch begin Metrics 1 index get exec 0 BBoxes 3 index get exec 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 pst-dots.pro %%EndProcSet %%BeginProcSet: pst-node.pro %! % PostScript prologue for pst-node.tex. % Version 97 patch 1, 97/05/09. % For distribution, see pstricks.tex. % /tx@NodeDict 400 dict def tx@NodeDict begin tx@Dict begin /T /translate load def end /NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def } if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next 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 /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 { 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 { 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 { 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: special.pro %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 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/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/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 TeXDict begin 39158280 55380996 1000 600 600 (All.dvi) @start %DVIPSBitmapFont: Fa cmr6 6 1 /Fa 1 51 df50 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmmi6 6 1 /Fb 1 111 df<000F13FC381FC3FF3931C707803861EC0301F813C0EAC1F0A213E03903 C00780A3EC0F00EA0780A2EC1E041506D80F00130C143C15181538001EEB1C70EC1FE000 0CEB07801F177D9526>110 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmmi9 9 9 /Fc 9 113 df<1303130F137FEA7FFFB5FC13BFEA003FB3A6497E007FB51280A319227A A126>49 DI52 D<14FE903807FF80011F13E090383F00F0017C13 703901F801F8EBF003EA03E01207EA0FC0EC01F04848C7FCA248C8FCA35A127EEB07F0EB 1FFC38FE381F9038700F809038E007C039FFC003E0018013F0EC01F8130015FC1400A248 14FEA5127EA4127F6C14FCA26C1301018013F8000F14F0EBC0030007EB07E03903E00FC0 3901F81F806CB51200EB3FFCEB0FE01F347DB126>54 D56 DI102 D104 D<011F131F90397FC07FE09039E3E1E0F09039C3E380783A01C1F7007CD981FE133CD983 FC133E00035BEB03F0163FEA0707120600025B1200010F147F167E5CA2011F14FE16FC5C A2013FEB01F8A291380003F016E0491307ED0FC002801380ED1F009038FFC03E9038FEE0 F89038FC7FE0EC1F80000190C8FCA25BA21203A25BA21207A25BB57EA3283083A027> 112 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmex10 10.95 2 /Fd 2 20 df<17F01601EE03E0EE07C0EE0F80EE1F00163E5E16FC4B5A4B5A4B5A5E150F 4B5A4BC7FCA2157E5D14015D4A5AA24A5A140F5D141F5D143F4AC8FCA214FEA2495AA249 5AA2495AA3495AA2495AA3495AA349C9FCA25B5BA312015BA21203A25BA21207A25BA212 0FA35BA2121FA45BA2123FA65B127FAA48CAFCB3AE6C7EAA123F7FA6121FA27FA4120FA2 7FA31207A27FA21203A27FA21201A27F1200A37F7FA26D7EA36D7EA36D7EA26D7EA36D7E A26D7EA26D7EA2147FA26E7E141F81140F8114076E7EA26E7E811400157E81A26F7E6F7E 1507826F7E6F7E6F7E167C8282EE0F80EE07C0EE03E0EE01F016002CDA6D8343>18 D<12F07E127C7E7E6C7E6C7E6C7E7F6C7E6C7E137E133E133F6D7E6D7EA26D7E6D7E8013 016D7EA2147E147F8081141F816E7EA26E7EA26E7EA26E7EA26E7EA3157FA26F7EA36F7E A36F7EA2821507A3821503A282A21501A282A21500A282A382A21780A4163FA217C0A616 1F17E0AAEE0FF0B3AEEE1FE0AA17C0163FA61780A2167FA41700A25EA35EA21501A25EA2 1503A25EA215075EA3150F5EA24B5AA34B5AA34BC7FCA215FEA34A5AA24A5AA24A5AA24A 5AA24A5A5D143F92C8FC5C147E5CA2495A13035C495A495AA2495A49C9FC133E137E5B48 5A485A5B485A485A48CAFC123E5A5A5A2CDA7D8343>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmsl8 8 28 /Fe 28 122 df<120FEA1F80EA3FC0A5121E120012011380A2120313005A120E5A5A5A5A 5A0A157B8714>44 D<123C127E12FFA312FEA212380808798714>46 D<4B7E1503150782150FA2151FA2ED37E0A21567A2EDC7F0EC01C31583EC0303A202067F 1501140CA2141882EC3000147014605C167E495AA249B512FE820106C7123FA25B131C01 18158049141FA25BA201E015C00001150F0003151FD80FF0EC3FE0D87FFC0103B5FC12FF 302F7EAE35>65 D<48B712F0A23A000FF0000F6D48130116001770130F4A1430A5131F91 38800180A21700A21503013F91C7FC4A5A151F91B5FCA2EC003F49130E137E1506A401FE 5B4990C8FCA512015BA41203487EB512F0A22C2D7DAC2E>70 D<48B512F05D26000FF0C7 FC6D5AA3130F5CA5131F5CA5133F91C8FCA55B137EA31603160613FE5B160E160CA2161C 00011518491438167816F8ED01F0000314070007143FB712E0A2282D7DAC2C>76 D<48B612F016FE3B000FF0003F806D48EB0FC0EE07E0EE03F0010F15F84A1301A217FCA3 011FEC03F85CA217F0160717E0013FEC0FC091C7EA1F80EE7E00ED03FC91B512E093C7FC 49C9FC137EA513FE5BA512015BA412031207B512E0A22E2D7DAC30>80 D<48B67E16F03A000FF001FC903907E0003FEE1F80EE0FC0010F15E04A1307A217F0A301 1FEC0FE05C17C0161F1780EE3F00013F147E91380001F8ED0FE091B512804BC7FC913800 1F80496D7E017E6D7E150382A313FE5BA5000114075B170316F817070003020313060007 160EB539E001FC3C9238007FF0C9EA0FC0302E7CAC34>82 D<001FB712FEA29039C003F8 00010049133E003C161E0038160E140700305CA25A170CA2140F485CA2C71500A3141F5D A5143F92C8FCA55C147EA514FE5CA41301497E0003B512FE5D2F2D79AC33>84 D97 D<13F8123F5B12031201A312035BA512075BA2EBC1FC9038C7FF809038DE07E0390FF801 F09038F000F849137C5B49137E153E121F90C7FC153FA3157F48147E123EA315FCA2007E EB01F8127CEC03F0007E14E0EC07C0007FEB0F8039F3803F0038E1C0FC38C0FFF038003F 80202F79AD27>IIII<9138FC03E0903907FF1FF090391F07FC7890393E03F07090 397C01E02001F8EBF000A23801F0001401120313E0A34A5AA20001495A01F05B000049C7 FC3801F83E3803BFF8EB87E048C9FCA47FEBFFFE6CEBFFC06C80000714F8381F0003003E EB00FC48147C0078143C12F85AA2157C157800785C007C495A6CEB07C0260FC03FC7FC38 03FFFC38007FE0252D7F9D23>103 DI<1307EB1FC0133FA41480EB0E0090C7FCA8133EEA07FEA21200137CA513FC5BA512 015BA512035BA41207A2EAFFFEA2122E7EAD14>I<1407EC1FC0143FA41580EC0E0091C7 FCA8141FEB07FFA2EB007F143EA4147EA2147CA414FCA25CA41301A25CA41303A25CA413 075CA21220EAF80F00FC5BA24848C7FC133E485AEA7FF0EA0FC01A3C84AD16>III<90263E03F8EB3F803C07FE1FFE01FFE0913A7C1F07C1F000 00903AE00F8E00F8D97DC0139C90277F8007F8137C02005B017E5C030F14FC494A13F8A2 495CA40001021F130149020013F0A500034A130349013E14E0A40007027E1307A23CFFFE 0FFFE0FFFEA2371E7E9D3C>I<90383E07F03907FE1FFCEC783E0000EBE01FEB7DC09039 7F800F801400137E017C131F01FC1400A25BA35D120149133EA4157E120349137CA40007 14FCA23AFFFE1FFFC0A2221E7E9D27>II<90387C0FC03907FC3FE0EC71F03800FDE3EB7983137B90387F01E0017EC7 FCA25BA25BA412015BA512035BA41207A2B5FCA21C1E7E9D1C>114 D<90380FF0C0EB7FFD3801F00F3803C007380780031580EA0F001401A2EB8003A201E0C7 FC13FE3807FFE06C13F86C7F6C6C7EEB07FFEB007F0030131F1580140F00701400A21278 A2141E007C5B00FE5B38F701F038E3FFC000C090C7FC1A207E9E1C>I<1318A25BA21370 A213F0A2485A12031207121FB512F0A23807E0005BA5120F5BA5121F90C7FCA214C0A338 3F0180123EA3130314006C5AEA0F0EEA07FCEA01F0142A7AA81B>II<3AFFFC01 FF80A23A1FE000FE006C48137815700007146015E05D6C6C485AA24AC7FC5CEBF0060001 5BA25C13F800005B147014606D5A137CEB7D80137F91C8FC7F133E133CA21318211E7A9C 25>I<3A03FFF007FEA23A007F8003F890393F0001E016C06D1480ED03001480010F1306 150E150C6E5A13075D1570ECE06001035BA2ECE18014F1D901F3C7FC14F714F614FC1300 5CA214701460A25C13015C49C8FC1278EAFC06130E130C485A485AEAE0E0EA7FC0001FC9 FC272B809C25>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmsy8 8 1 /Ff 1 1 df0 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmmi8 8 7 /Fg 7 117 df<15C0140114031580A214071500A25C140EA2141E141CA2143C14381478 1470A214F05CA213015CA213035C130791C7FCA25B130EA2131E131CA2133C1338A21378 137013F05BA212015BA212035BA2120790C8FC5A120EA2121E121CA2123C1238A2127812 70A212F05AA21A437CB123>61 D97 D<13F8121FA21201A25BA21203A25BA21207A25BA2120FEBC7E0EB9FF8 EBB83C381FF01EEBE01F13C09038800F80EA3F00A2123EA2007E131FA2127CA2143F00FC 14005AA2147EA2147C14FC5C387801F01303495A383C0F806C48C7FCEA0FFCEA03F0192F 7DAD1E>I<15E0EC01F01403A3EC01C091C7FCA9147CEB03FE9038078F80EB0E07131C01 3813C01330EB700F0160138013E013C0EB801F13001500A25CA2143EA2147EA2147CA214 FCA25CA21301A25CA21303A25CA2130700385BEAFC0F5C49C7FCEAF83EEAF0F8EA7FF0EA 1F801C3B81AC1D>106 D<3907C007E0391FE03FF83918F8783E393879E01E39307B801F 38707F00126013FEEAE0FC12C05B00815C0001143E5BA20003147E157C5B15FC0007ECF8 081618EBC00115F0000F1538913803E0300180147016E0001F010113C015E390C7EAFF00 000E143E251F7E9D2B>110 D<90387C01F89038FE07FE3901CF8E0F3A03879C0780D907 B813C0000713F000069038E003E0EB0FC0000E1380120CA2D8081F130712001400A24913 0F16C0133EA2017EEB1F80A2017C14005D01FC133E5D15FC6D485A3901FF03E09038FB87 C0D9F1FFC7FCEBF0FC000390C8FCA25BA21207A25BA2120FA2EAFFFCA2232B829D24> 112 D<130E131FA25BA2133EA2137EA2137CA213FCA2B512F8A23801F800A25BA21203A2 5BA21207A25BA2120FA25BA2001F1310143013001470146014E0381E01C0EB0380381F07 00EA0F0EEA07FCEA01F0152B7EA919>116 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmsy10 10.95 8 /Fh 8 113 df<007FB812F8B912FCA26C17F83604789847>0 D<121EEA7F80A2EAFFC0A4 EA7F80A2EA1E000A0A799B19>I8 D<1818187CEF01FCEF07F8EF1FF0EF7F C0933801FF00EE07FCEE1FF0EE7FC04B48C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC 1FF0EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC5AEA 7F80EA3FE0EA0FF8EA03FEC66C7EEB3FE0EB0FF8EB03FE903800FF80EC3FE0EC0FF8EC03 FE913800FF80ED3FE0ED0FF8ED03FE923800FF80EE3FE0EE0FF8EE03FE933800FF80EF3F E0EF0FF8EF03FC170018381800AE007FB812F8B912FCA26C17F8364878B947>20 D<126012F812FEEA7F80EA3FE0EA0FF8EA03FEC66C7EEB3FE0EB0FF8EB03FE903800FF80 EC3FE0EC0FF8EC03FE913800FF80ED3FE0ED0FF8ED03FE923800FF80EE3FE0EE0FF8EE03 FE933800FF80EF3FE0EF0FF8EF03FC1701EF07F8EF1FF0EF7FC0933801FF00EE07FCEE1F F0EE7FC04B48C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07 FCEB1FF0EB7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC12FC1270CCFCAE007FB812F8B9 12FCA26C17F8364878B947>I<0207B512E0023F14F049B6FC4915E0D90FFCC8FCEB1FE0 017FC9FC13FEEA01F8485A485A5B485A121F90CAFC123EA25AA21278A212F8A25AA2B812 E017F0A217E000F0CAFCA27EA21278A2127CA27EA27E7F120F6C7E7F6C7E6C7EEA00FE13 7FEB1FE0EB0FFC0103B612E06D15F0EB003F020714E02C3678B13D>50 D<173F933803FFC0040F7F043F7F93B5FC4B80ED03E092380FC03F92381F801FED3F004B 130F15FE4A5A604A485C020715804B91C7FC020F91C8FC5D141FA24A5AA34A5AA34ACAFC A3495AA313035CA3495AA3130F5CA3131F5CA25C133FA2495AF0078091C9121F01FEEE3F 0018FF2601FFFE5D48D9FFE0130103FE5C489139FFE003F804FE5B4892B55AD81F811680 263F001F92C7FC007E010114FC00F8D9001F13F000E00201138039427DBF3F>76 D<1A03F207801A0FA2F21F00A21A3EA262A262A24F5AA24F5AA24F5AA24F5AA24FC7FCA2 193EA261A261A24E5AA24E5AA24E5AA24E5AA24EC8FCA2183EA260A260A24D5A131C017C 5E01FE15031201D807FF4B5A120E484C5A00787FD8E07F4BC9FC00C07FD8003F153E8001 1F5D80010F5D8001074A5A8001034A5AA26E495A13016E495A7F6F48CAFC147FEDC03E14 3F6F5A141F6F5A140FEDF1F015F9913807FBE015FF6E5BA26E5BA26E90CBFCA2157EA215 3C1538495B7B834C>112 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmsl12 12 7 /Fi 7 119 df<170C171C173C173E177EA217FEA21601835EA21606A24C7FA2EE187FA2 1630A204607F173F16C0A2ED018084ED0300171F1506A25D844B130FA25D157003608015 E04B130714015D140392C77F02061403A2020FB6FCA24A810218C712034A1401A25CA24A 8183495AA249C9FC851306187F5B131CA2013C83137CEA01FE2607FF80913801FFF0007F 01E0027FEBFFC0B5FCA242477DC649>65 D97 D104 D<143C14FEEB01FFA25B A3EB01FE14FCEB00781400ADEB03F8EA01FFA3EA000F130714F0A5130F14E0A5131F14C0 A5133F1480A5137F1400A55B5BA31201487EB512F8A318437DC21C>I107 DI118 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj cmtt8 8 17 /Fj 17 117 df<123E127FEAFF80A5EA7F00123E0909738823>46 DI<123E127FEAFF80A5EA7F00123EC7FCAB 123E127FEAFF80A5EA7F00123E091D739C23>58 D<3803FF80000F13E04813F8487F80EB 80FFEC3F80381F001FC7FC140F14FF137F0003B5FC120F5A387FF00F130012FCA25A141F 7E6C133F387F81FF90B512FC6C14FE7E000713C73901FE01FC1F1D7D9C23>97 D101 D<147F903801FFC0010713E05B5BEB3F CF140F90383E07C091C7FCA4007FB51280B612C0A36C1480D8003EC7FCB3383FFFFE487F A36C5B1B297EA823>III<133813FEA5133890C7 FCA6EA7FFC487EA3127FEA003EB3387FFFFEB6FCA36C13FE182A7AA923>I108 D<397E1F01F039FF7FC7FC9038FFEFFE14FF6C80390FE1FE1FEBC1FC01C07FEB80F8A2EB 00F0AE3A7FE3FE3FE026FFF3FF13F0A3267FE3FE13E0241D819C23>I<38FF81FCEBC7FF 01DF138090B512C0A23907FE0FE0EBF807EBF00313E0A313C0AD39FFFE1FFF5CA380201D 7F9C23>I<133F3801FFE0487F487F487F381FC0FE383F807F383E001F007E1480007C13 0F00FC14C0481307A66C130FA2007C1480007E131F6CEB3F006D5A381FE1FE6CB45A6C5B 6C5B6C5BD8003FC7FC1A1D7C9C23>I<38FF81FCEBC7FF01DF13C090B512E015F03907FE 0FF8EBF8039038F001FCEBE000A249137EA2153EA5157E7F15FC7F14019038F803F89038 FE0FF090B5FC15E001DF138001CF1300EBC3F801C0C7FCAAEAFFFEA51F2C7F9C23>I<39 7FF00FE039FFF87FF8ECFFFC13FB6CB5FCC613F8ECC078EC800091C7FC5BA25BA35BAA38 7FFFFCB57EA36C5B1E1D7E9C23>114 D<3801FF9C000F13FE5A127FA2EAFF0000FC137E 48133EA26C131C6C1300EA7FF0383FFF80000F13E06C13F838007FFCEB01FEEB007F0070 133F00F8131F7E143F7E38FF80FFEBFFFE14FC14F814F000701380181D7B9C23>I<1370 13F8A7007FB51280B612C0A36C1480D800F8C7FCACEC01C0EC03E0A3EBFC07140F9038FE 1FC0EB7FFF158090383FFE00EB0FFCEB07F01B257EA423>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk msbm10 10.95 2 /Fk 2 91 df<007FB612FCB812C06C16F83B03E007C07FFE0000903A0F001F7F80020E90 38078FC093380383E0EFC0F0040113788484EFE00E1600180F84A760180E0401131EEFC0 1C183C04035BEF81F093380787E093381F7FC04BB5C7FC020FB512FC17C004F7C8FC9139 0E1C078092381E03C0ED0E01030F7FED078003037FEEC078923801E0380300133C707EEE 780EEE380F93383C0780EE1E03040E7F93380F01E093380780F004031370EFC078706C7E 04007F717E943878078094383803C00003D90F8090383C01E0007FB500FE90381FFFFCB6 806C823E3E7EBD39>82 D<0003B812F05AA2903B0FFC001C01E0D93FC0013C13C0D80F7E C7EA7803D80EF802701380D80FE0ECF00749903901E00F0049ECC00E90C70003131E4C5A 001E0207133892380F0078001C020E1370031E13F04B485AC800385BED780303705BEDF0 074A4848C7FCEDC00E0203131E4A485AED00384A1378020E1370021E13F04A485A02385B EC7803913870078002F090C8FC49485AECC00E0103131E49485AEC0038491378010E0170 1406011E01F0140E49485A01385BD97803151E49485A01E090C8FC000149153CEBC00E00 03011E157C48484815FCEB00384801781401000E49EC03DC001E49EC0F9CD83C01ED1F3C 003849EC7E38D87803EC01F8484848EB1FF0B912F8A3373E7DBD41>90 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmsl10 10.95 17 /Fl 17 122 df<013FB812E0A3903A007FF000016E48EB003F180F4B14071803A3180114 7F4B15C0A514FF92C71270A395C7FC17F0495D5C160116031607161F49B65AA39138FC00 3F160F160701075D4A1303A5010F4AC8FC5C93C9FCA4131F5CA5133F5CA3137FEBFFF0B6 12F8A33B3E7DBD3B>70 D<013FB612FEEFFFE018F8903B007FF0000FFC6E48EB01FF7113 804BEC7FC0183F19E0F01FF0A2147F5D19F8A402FFED3FF092C8FCA219E0A2F07FC05B4A EDFF8019004D5A4D5AEF0FF80103ED3FE04A903801FF8091B648C7FC17F002FCCAFCA213 075CA5130F5CA5131F5CA5133F5CA3137F497EB612E0A25D3D3E7DBD3E>80 D<9238FF80070207EBE00F021FEBF81E91387F00FE02FCEB1F3ED903F0EB0FFE49481307 494813034AEB01FC49C7FC491400133E137E177C491578A57F1770A26D1500808080EB7F FEECFFE06D13FEEDFFC06D14F06D14FC010380010080143F02031480DA003F13C0150315 00EE7FE0163F161FA2160F121CA31607160F003C16C0A31780003E151F1700007E5D007F 153E6D5C16FC01E0495AD87DF0495AD8FCFCEB0FC03AF87F803F8027F01FFFFEC7FCD8E0 0713F839C0007FC030427BBF33>83 D97 DI101 D<147FEB3FFFA313017FA25CA513015CA513 035CA4ED07F80107EB1FFF9139F0781FC09138F1E00F9139F38007E0ECF70002FE14F049 5A5CA25CA24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B4915 00A300015D486C491380B5D8F87F13FCA32E3F7DBE33>104 D<1478EB01FE130314FFA2 5B14FE130314FCEB00F01400ACEB03F8EA01FF14F0A2EA001F130FA314E0A5131F14C0A5 133F1480A5137F1400A55B5BA4EA03FF007F13F0A2B5FC183E7DBD1A>II< 143FEB1FFF5BA213017FA214FEA5130114FCA5130314F8A5130714F0A5130F14E0A5131F 14C0A5133F1480A5137F1400A55B5BA4EA03FF007F13F8A2B5FC183F7DBE1A>108 D<902707F007F8EB03FCD803FFD91FFF90380FFF80913CE0781FC03C0FE09126E1E00FEB F0073E001FE38007E1C003F090260FE700EBE38002EEDAF70013F802FC14FE02D85C14F8 4A5CA24A5C011F020F14074A4A14F0A5013F021F140F4A4A14E0A5017F023F141F91C749 14C0A549027F143F4992C71380A300014B147F486C496DEBFFC0B5D8F87FD9FC3F13FEA3 47287DA74C>I111 D<91387F01FE903A7FFF0FFFC09139FE3E 03F09238F801F8903A03FFE000FE6D49137F4B7F92C713804A15C04A141FA218E0A20103 150F5C18F0A3171F010716E05CA3173F18C0130F4A147F1880A2EFFF004C5A011F5D1603 4C5A6E495AEE1FC06E495AD93FDC017EC7FC91388F01F8913883FFE0028090C8FC92C9FC 137FA291CAFCA45BA25BA31201487EB512F8A3343A81A733>I<903907F01F80D803FFEB 7FE09138E1E1F09138E387F839001FE707EB0FE614EE02FC13F002D813E09138F801804A C7FCA25C131FA25CA4133F5CA5137F91C8FCA55B5BA31201487EB512FEA325287EA724> 114 D116 D<01FE147F00FFEC7FFF4914FEA20007140300031401A34914FCA4150312074914F8A415 07120F4914F0A4150F121F4914E0A2151FA3153F4914C0157F15FFEC01DF3A0FC003BFE0 9138073FFF3803F01E3801FFF826003FE01380282977A733>I<90B539E007FFF05E18E0 902707FE000313006D48EB01FC705A5F01014A5A5F16036E5C0100140794C7FC160E805E 805E1678ED8070023F13F05EED81C015C191381FC38015C793C8FC15EF15EEEC0FFCA25D A26E5AA25DA26E5A5DA24AC9FC5C140E141E141C5C121C003F5B5A485B495A130300FE5B 4848CAFCEA701EEA783CEA3FF0EA0FC0343A80A630>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fm cmmi10 10.95 23 /Fm 23 122 df11 DI<15FCEC03FF91 380F87C091383E03E0EC7C0102F813F01301903903F000F8495A010F14FC5C495A133F91 C7FC4914FE13FEA212015B12034913011207A25B000F15FC1503121F5BA21507003F15F8 90B6FCA33A7FC0000FF05BA2151F16E048C7FCA2ED3FC0A2481580157F1600A215FEA24A 5AA24A5A007E5C14075D4A5A003E5C141F4AC7FC6C137E5C380F81F03807C3E03801FF80 D8007EC8FC27417DBF2B>18 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919> 58 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313 005A120E5A1218123812300B1C798919>I<183818FC1703EF0FF8EF3FE0EFFF80933803 FE00EE0FF8EE3FE0EEFF80DB03FEC7FCED0FF8ED3FE0EDFF80DA03FEC8FCEC0FF8EC3FE0 ECFF80D903FEC9FCEB0FF8EB3FE0EBFF80D803FECAFCEA0FF8EA3FE0EA7F8000FECBFCA2 EA7F80EA3FE0EA0FF8EA03FEC66C7EEB3FE0EB0FF8EB03FE903800FF80EC3FE0EC0FF8EC 03FE913800FF80ED3FE0ED0FF8ED03FE923800FF80EE3FE0EE0FF8EE03FE933800FF80EF 3FE0EF0FF8EF03FC17001838363678B147>II<49B912C0A3D9000190C71201F000 3F4B151F190F1A80020316075DA314075D1A00A2140F4B1307A24D5B021F020E130E4B92 C7FC171EA2023F5C5D177CEE01FC4AB55AA3ED800302FF6D5A92C7FCA3495D5C19380401 147801034B13704A16F093C85AA2010716014A5E180361010F16074A4BC7FCA260011F16 3E4A157E60013F15014D5A4A140F017F15FFB95AA260423E7DBD43>69 D<49B600C090387FFFF896B5FC5FD900010180C7000F130093C813F84B16E01A804FC7FC 0203163C4B15F84E5AF003C002074B5A4B021FC8FC183E1878020F5D4BEB03E0EF07804D C9FC021F143E4B5B17F04C5A023F1307EDC00F4C7E163F027FEBFFF8ED81EFED83CF9238 8F87FC9138FF9F0792383C03FE15784B6C7E4913E0158092C77F5C01036F7E5C717EA213 074A6E7EA2717E130F4A6E7EA284011F15035C717E133F855C496C4A13E0B600E0017F13 FFA34D3E7DBD4D>75 D<49B56C93B512C050148062D90001F18000704B90C7FC03DF5F1A 0E1A1D1403039FEE39FC1A711A739126078FE015E3030F5FF101C3F10387140F020E9338 0707F0A2F10E0F021E161C91261C07F05E1938F1701F143C023804E05BA2953801C03F02 78ED038091267003F85EF00700060E137F14F002E04B91C8FCA24E5B01015E4A6C6C5D60 943801C00113030280DA03805BA294380700030107150E91C700FE5D5F1907495D010E4B 5CA24D130F011E6E5A011C60705A013C171F017C92C7FC01FE027E5DD803FF4D7EB500FC 017C017FB512E0167804385E5A3E7CBD58>77 D<151EED7F80913801F1C0EC03C1EC07C0 ED80E0EC0F005C141E91383E01C0147CA214F81503D901F01380A21303ECE00701071400 5D90380FC00EA2151E90381F801C153C5D133F4A5A5D140149485A017E5B14074AC7FCEB FE1E13FC5C5C5C3801F9E0EBFBC0A2EBFF8091C8FC5B5B5B5BA212031207120F121F123D 127800F0140300E0EC0780C66CEB0F000178131E157C6D13F04A5A90381E0F80D90FFEC7 FCEB03F823417FBF26>96 DII100 DI<143C14FEA21301A314FCEB00701400AD13 7E3801FF803803C7C0EA0703000F13E0120E121C13071238A2EA780F007013C0A2EAF01F 14801200133F14005B137EA213FE5BA212015B0003130E13F0A20007131EEBE01CA2143C EBC0381478147014E013C13803E3C03801FF00EA007C173E7EBC1F>105 DI<01F8EB0FF0D803FEEB3FFC3A078F80F03E3A0F0F83C01F3B0E07C7800F80001C EBCF0002FE80003C5B00385B495A127800705BA200F049131F011F5D00005BA2163F013F 92C7FC91C7FC5E167E5B017E14FE5EA201FE0101EB03804914F8A203031307000103F013 005B170E16E000035E49153C17385F0007913801F1E0496DB45AD801C0023FC7FC31297E A737>110 D112 D<147014FC1301A25CA21303A25CA21307A25CA2130FA25CA2007FB512F0B6FC15E0 39001F8000133FA291C7FCA25BA2137EA213FEA25BA21201A25BA21203A25BA21207EC01 C013E01403000F1480A2EBC0071500140E141E5C000713385C3803E1E03801FF80D8003E C7FC1C3A7EB821>116 D<137C48B4EC03802603C7C0EB0FC0EA0703000F7F000E151F12 1C010715801238163FEA780F0070491400A2D8F01F5C5C0000157E133F91C712FEA2495C 137E150113FE495CA215030001161C4914F0A21507173CEEE038150F031F137800001670 6D133F017C017313F0017E01E313E0903A3F03C1F1C0903A0FFF007F80D901FCEB1F002E 297EA734>I120 D<137C48B4EC03802603C7C0EB0FC0EA0703000F7F00 0E151F001C168013071238163FD8780F150000705BA2D8F01F5C4A137E1200133F91C712 FE5E5B137E150113FE495CA2150300015D5BA215075EA2150F151F00005D6D133F017C13 7F017E13FF90393F03DF8090380FFF1FEB01FC90C7123F93C7FCA25DD80380137ED80FE0 13FE001F5C4A5AA24848485A4A5A6CC6485A001C495A001E49C8FC000E137C380781F038 03FFC0C648C9FC2A3B7EA72D>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fn cmti10 10.95 17 /Fn 17 121 df<902601FFFE020FB5FC496D5CA2D900016D010013C04AEE3F00193E7014 1C193CEC07BFDB3FE01438151F1978020F7FDA0E0F15708219F0EC1E07021C6D5CA20303 1401023C7FDA38015DA2701303EC7800027002805BA2047F130702F014C04A013F91C7FC A2715A0101141F4AECF00EA2040F131E010315F84A151C1607EFFC3C0107140391C71438 17FE040113784915FF010E16708218F0131E011C6F5AA2173F133C01385E171F137813F8 486C6F5AEA07FEB500F01407A295C8FC483E7BBD44>78 D<49B77E18F018FC903B0003FE 0003FEEF00FF4BEC7F80F03FC00207151F19E05DA2020F16F0A25DA2141FF03FE05DA202 3F16C0187F4B1580A2027FEDFF00604B495A4D5A02FF4A5A4D5A92C7EA3FC04CB4C7FC49 90B512FC17E04ACAFCA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA213 7FA25C497EB67EA33C3E7BBD3E>80 D<147E49B47E903907C1C38090391F80EFC090383F 00FF017E137F4914804848133F485AA248481400120F5B001F5C157E485AA215FE007F5C 90C7FCA21401485C5AA21403EDF0385AA21407EDE078020F1370127C021F13F0007E013F 13E0003E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800FC133E252977A7 2E>97 D99 DII104 D<1478EB01FCA21303A314F8EB00E01400AD137C48B4FC3803 8F80EA0707000E13C0121E121CEA3C0F1238A2EA781F00701380A2EAF03F140012005B13 7E13FE5BA212015BA212035B1438120713E0000F1378EBC070A214F0EB80E0A2EB81C013 83148038078700EA03FEEA00F8163E79BC1C>I108 DIII<903903E0 01F890390FF807FE903A1E7C1E0F80903A1C3E3C07C0013C137801389038E003E0EB783F 017001C013F0ED80019038F07F0001E015F8147E1603000113FEA2C75AA20101140717F0 5CA20103140F17E05CA20107EC1FC0A24A1480163F010F15005E167E5E131F4B5A6E485A 4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9FCA2137EA213FEA25BA21201A25BA2 1203A2387FFFE0B5FCA22D3A80A72E>I114 DII<903903F001F890390FFC07FE90393C1E0E0F9026780F1C138001F0EBB83FD801E013F8 9039C007F07FEA0380000714E0D9000F140048151C000E4AC7FCA2001E131FA2C75BA214 3F92C8FCA35C147EA314FE4A131CA30101143C001E1538003F491378D87F811470018314 F000FF5D9039077801C039FE0F7C033A7C0E3C078027783C1E1EC7FC391FF80FFC3907E0 03F029297CA72A>120 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fo cmbx10 10 11 /Fo 11 122 df66 D97 D<13FFB5FCA412077EAF4AB47E020F13F002 3F13FC9138FE03FFDAF00013804AEB7FC00280EB3FE091C713F0EE1FF8A217FC160FA217 FEAA17FCA3EE1FF8A217F06E133F6EEB7FE06E14C0903AFDF001FF80903AF8FC07FE0090 39F03FFFF8D9E00F13E0D9C00390C7FC2F3A7EB935>I<161FD907FEEBFFC090387FFFE3 48B6EAEFE02607FE07138F260FF801131F48486C138F003F15CF4990387FC7C0EEC00000 7F81A6003F5DA26D13FF001F5D6C6C4890C7FC3907FE07FE48B512F86D13E0261E07FEC8 FC90CAFCA2123E123F7F6C7E90B512F8EDFF8016E06C15F86C816C815A001F81393FC000 0F48C8138048157F5A163FA36C157F6C16006D5C6C6C495AD81FF0EB07FCD807FEEB3FF0 0001B612C06C6C91C7FC010713F02B377DA530>103 D<13FFB5FCA412077EAFED7FC091 3803FFF8020F13FE91381F03FFDA3C01138014784A7E4A14C05CA25CA291C7FCB3A3B5D8 FC3F13FFA4303A7DB935>II<13FFB5FCA412077EB3B3ACB512FCA416 3A7DB91B>108 D<903801FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48 486D7E48486D7EA2003F81491303007F81A300FF1680A9007F1600A3003F5D6D1307001F 5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA4 30>111 D<9039FF01FF80B5000F13F0023F13FC9138FE07FFDAF00113800007496C13C0 6C0180EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17FC161FA217F8163F17F06E137F 6E14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8020F13E0020390C7FC91C9FCAC B512FCA42F357EA435>I<9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8FFC00007 5B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA427>114 D121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fp cmr8 8 40 /Fp 40 124 df<13031307130E131C1338137013F0EA01E013C01203EA0780A2EA0F00A2 121EA35AA45AA512F8A25AAB7EA21278A57EA47EA37EA2EA0780A2EA03C0120113E0EA00 F013701338131C130E1307130310437AB11B>40 D<12C07E12707E7E7E120FEA07801203 13C0EA01E0A2EA00F0A21378A3133CA4131EA5131FA2130FAB131FA2131EA5133CA41378 A313F0A2EA01E0A2EA03C013801207EA0F00120E5A5A5A5A5A10437CB11B>I<123C127E B4FCA21380A2127F123D1201A312031300A25A1206120E5A5A5A126009157A8714>44 D<123C127E12FFA4127E123C08087A8714>46 D48 D<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387FFFFEA2172C7AAB23>III<140EA2141E143EA2147E14FEA2EB01BE1303143E13 06130E130C131813381330136013E013C0EA0180120313001206120E120C5A123812305A 12E0B612FCA2C7EA3E00A9147F90381FFFFCA21E2D7EAC23>I<000CEB0180380FC01F90 B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7FF8380DE07C380F801F01001380 000E130F000CEB07C0C713E0A2140315F0A4127812FCA448EB07E012E0006014C0007013 0F6C14806CEB1F006C133E380780F83801FFE038007F801C2D7DAB23>I57 D<4A7E4A7EA34A7EA24A7EA3EC1BF81419A2EC30FCA2EC70FEEC60 7EA24A7EA349486C7EA2010380EC000FA201066D7EA3496D7EA2011FB57EA29038180001 496D7EA349147EA201E0147F4980A20001ED1F801203000716C0D80FF0EC3FE0D8FFFC01 03B5FCA2302F7EAE35>65 D67 D70 D73 D76 D78 D82 D<90383F80303901FFF0703807C07C390F000EF0 001E13074813034813011400127000F01470A315307EA26C1400127E127FEA3FE013FE38 1FFFE06C13FC6C13FF00011480D8003F13E013039038003FF0EC07F81401140015FC157C 12C0153CA37EA215787E6C14706C14F06CEB01E039F78003C039E3F00F0038E07FFE38C0 0FF01E2F7CAD27>I85 D<13FF000713C0380F01F0381C00F8003F137C80 A2143F001E7FC7FCA4EB07FF137F3801FE1FEA07F0EA1FC0EA3F80EA7F00127E00FE1406 5AA3143F7E007E137F007FEBEF8C391F83C7FC390FFF03F83901FC01E01F207D9E23>97 DI<15F8141FA214011400ACEB0FE0EB7F F83801F81E3803E0073807C003380F8001EA1F00481300123E127EA25AA9127C127EA200 3E13017EEB8003000F13073903E00EFC3A01F03CFFC038007FF090391FC0F800222F7EAD 27>100 DI<013F13F89038FFC3FE3903E1FF1E 3807807C000F140C391F003E00A2003E7FA76C133EA26C6C5A00071378380FE1F0380CFF C0D81C3FC7FC90C8FCA3121E121F380FFFF814FF6C14C04814F0391E0007F84813004814 7C12F848143CA46C147C007C14F86CEB01F06CEB03E03907E01F803901FFFE0038003FF0 1F2D7E9D23>103 DII107 DI<2607C07FEB07F03BFFC3FFC03FFC903AC783F0783F3C0FCE01F8E01F803B07 DC00F9C00F01F8D9FF8013C04990387F000749137EA249137CB2486C01FEEB0FE03CFFFE 0FFFE0FFFEA2371E7E9D3C>I<3807C0FE39FFC3FF809038C703E0390FDE01F0EA07F849 6C7EA25BA25BB2486C487E3AFFFE1FFFC0A2221E7E9D27>II<3807C0FE39FFC7FF809038CF03E0390FDC01F03907F800FC49137E49133E4913 3FED1F80A3ED0FC0A8151F1680A2ED3F00A26D137E6D137C5D9038FC01F09038CE07E090 38C7FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA2222B7E9D27>I<380781F838FF87FEEB 8E3FEA0F9CEA07B813B0EBF01EEBE000A45BB0487EB5FCA2181E7E9D1C>114 D<3801FE183807FFB8381E01F8EA3C00481378481338A21418A27E7EB41300EA7FF06CB4 FC6C13C06C13F0000113F838001FFC130138C0007E143EA26C131EA27EA26C133CA26C13 7838FF01F038E3FFC000C0130017207E9E1C>I<1360A413E0A312011203A21207121FB5 12F0A23803E000AF1418A714383801F03014703800F860EB3FE0EB0F80152A7FA81B>I< 3AFFFC01FFC0A23A0FE0007E000007147C15380003143015706C6C1360A26C6C5BA39038 7C0180A26D48C7FCA2EB3F07EB1F06A2EB0F8CA214DCEB07D8A2EB03F0A36D5AA26D5A22 1E7F9C25>118 D<3AFFFC01FFC0A23A0FE0007E000007147C1538000314306D13700001 1460A26C6C5BA2EBFC01017C5BEB7E03013E90C7FCA2EB1F06A2148EEB0F8CA2EB07D8A2 EB03F0A36D5AA26D5AA2495AA2130391C8FC1278EAFC06A25B131CEA7838EA7070EA3FE0 EA0F80222B7F9C25>121 D<003FB51280A2EB003F003C14000038137E00305BEA700100 605B495A495A130F00005B495A49C7FC5B137E9038FC0180EA01F8120313F03807E003EA 0FC0001F1400138048485A007E5B00FE133FB6FCA2191D7E9C1F>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fq cmti9 9 32 /Fq 32 122 df39 D44 DI57 D<161C163CA2167C16FCA21501821503A2ED077E150F150E151CA21538A2157015F0 15E0EC01C0A2913803807F82EC0700A2140E141E141C5CA25CA25C49B6FCA25B91388000 3F49C7EA1F80A2130E131E131C133C13385B13F05B12011203D80FF0EC3FC0D8FFFE9038 07FFFEA32F367BB539>65 D67 D<0107B712F05B18E0903A003F80001F1707170392C7FC17015C18C0147EA214FEA24A13 0EA20101EC1E03041C13804A91C7FC163C13035E9138F001F891B5FC5B5EECE001150013 0F5E5C1707011F01015BEEC00E0280141E92C7121C133F173C91C812381778495DA2017E 14014C5A01FE14074C5A49141F00014AB45A007FB7FCB8FC94C7FC34337CB234>69 D<0107B512C05BA29026003FC0C7FC5DA292C8FCA25CA2147EA214FEA25CA21301A25CA2 1303A25CA21307A25CA2130FA25C17E0011F140117C05C1603013F1580160791C7FCEE0F 005B5E017E143EA201FE5CED01FC4913030001EC1FF8007FB6FCB7FC5E2B337CB230>76 D<902607FFC0ED7FFC4917FF81D9003F4B1300611803023BED077CA2027BED0EFC610273 151C1838DAF1F01439F071F014E118E10101ED01C36102C1EC0383EF070301031607050E 5BEC80F8171C0107ED380F6102001470A249EDE01FDC01C090C7FC130EEE0380011E017C 5C933807003E011C140EA2013C4A137E187C01385C5E017816FC6F485B1370ED3FC001F0 EC80016000011500D807F81503277FFF803E90B512C0B5EB3C01151C46337BB245>I<90 2607FF8090383FFFC0496D5BA2D9001F913803F8004A6C6D5A6060EC3BF0027B140360EC 71F8A202F11407DAF0FC91C7FC14E0A20101017E5B170E14C0810103151EEE801CEC801F A20107ECC03C030F1338140016E049010713781770010E14F01503011E15F0705A011C13 01A2013C14FD03005B133816FF0178147F5F0170143FA213F070C8FC1201EA07F8267FFF 807FB5140EA23A337BB239>I<913901FC018091380FFF03023F13C791387E07EF903A01 F801FF0049487E4A7F495A4948133E131F91C7FC5B013E143CA3137E1638A293C7FC137F A26D7E14E014FE90381FFFC06D13F86D7F01017F6D6C7E020F7F1400153F6F7E150FA412 0EA2001E5D121CA2151F003C92C7FCA2003E143E5D127E007F5C6D485A9038C007E039F3 F80FC000F0B5C8FC38E03FFC38C00FF029377AB42B>83 D<0003B812C05A1880903AF800 FC003F260FC001141F0180150F01005B001EEE07001403121C003C4A5BA200380107140E 127800705CA2020F141E00F0161CC74990C7FCA2141FA25DA2143FA292C9FCA25CA2147E A214FEA25CA21301A25CA21303A25CA21307A25C497E001FB512F05AA2323374B237>I< EB03F0EB0FF890383E1C6090387C0FF0EBF807EA01F0EA03E00007EB03E0EA0FC0A2381F 800715C0EA3F00A2140F481480127EA2141F00FE14005A1506EC3F07EC3E0F150E147E00 7C141EECFE1CEB01FCD83C03133C393E07BE38391F0E1E783907FC0FF03901F003C02022 78A027>97 D<137EEA0FFE121F5B1200A35BA21201A25BA21203A25BA21207A2EBC3E0EB CFF8380FDC3EEBF81F497E01E01380EA1FC0138015C013005AA2123EA2007E131F158012 7CA2143F00FC14005AA2147EA25CA2387801F85C495A6C485A495A6C48C7FCEA0FFCEA03 F01A3578B323>I<14FCEB07FF90381F078090383E03C0EBFC013801F8033803F0073807 E00F13C0120F391F80070091C7FC48C8FCA35A127EA312FE5AA4007C14C0EC01E0A2EC03 C06CEB0F80EC1F006C137C380F81F03803FFC0C648C7FC1B2278A023>III<151FED7FC0EDF0E0020113F0EC03E3A2EC 07C316E0EDC1C091380FC0005DA4141F92C7FCA45C143E90381FFFFEA3D9007EC7FC147C A414FC5CA513015CA413035CA413075CA3130FA25CA3131F91C8FCA35B133E1238EA7E3C A2EAFE7812FC485AEA78E0EA3FC0000FC9FC244582B418>I<143FECFF80903803E1E690 3807C0FF90380F807FEB1F00133E017E133F49133EA24848137EA24848137CA215FC1207 4913F8A21401A2D80FC013F0A21403120715E01407140F141F3903E03FC00001137FEBF0 FF38007FCF90381F0F801300141FA21500A25C143E1238007E137E5C00FE5B48485A3878 03E0387C0F80D81FFFC7FCEA07F820317CA023>III<133FEA07FF5A13FEEA007EA3137CA213FCA213F8A21201A213F0A21203A213E0A2 1207A213C0A2120FA21380A2121FA21300A25AA2123EA2127EA2127C1318EAFC1C133CEA F838A21378137012F013F0EAF8E01279EA3FC0EA0F00103579B314>108 D<2703C003F8137F3C0FF00FFE01FFC03C1E783C1F07C1E03C1C7CF00F8F01F03B3C3DE0 079E0026383FC001FC7FD97F805B007001005B5E137ED8F0FC90380FC00100E05FD860F8 148012000001021F130360491400A200034A13076049013E130FF081800007027EEC83C0 051F138049017C1403A2000F02FC1407053E130049495CEF1E0E001F01015D183C010049 EB0FF0000E6D48EB03E03A227AA03F>I<3903C007F0390FF01FFC391E787C1E391C7CF0 1F393C3DE00F26383FC01380EB7F8000781300EA707EA2D8F0FC131F00E01500EA60F812 0000015C153E5BA20003147E157C4913FCEDF8180007153C0201133801C013F0A2000F15 78EDE070018014F016E0001FECE1C015E390C7EAFF00000E143E26227AA02B>I<14FCEB 07FF90381F07C090383E03E09038FC01F0EA01F83903F000F8485A5B120F484813FCA248 C7FCA214014814F8127EA2140300FE14F05AA2EC07E0A2007CEB0FC01580141FEC3F006C 137E5C381F01F0380F83E03803FF80D800FCC7FC1E2278A027>I<011E137C90387F81FF 9039F3C387C09039E3EF03E03901E1FE01D9C1FC13F0EBC3F8000313F0018314F814E0EA 07871307000313C01200010F130316F01480A2011F130716E01400A249EB0FC0A2013EEB 1F80A2017EEB3F00017F133E5D5D9038FF81F09038FDC3E09038F8FF80027EC7FC000190 C8FCA25BA21203A25BA21207A25BB5FCA325307FA027>I<3903C00FC0390FF03FF0391E 78F078391C7DE03C393C3FC0FC00381380EB7F00007814F8D8707E13701500EAF0FC12E0 EA60F812001201A25BA21203A25BA21207A25BA2120FA25BA2121FA290C8FC120E1E227A A020>114 DI<1303EB0F80 A3131FA21400A25BA2133EA2137EA2137C387FFFF8A2B5FC3800F800A21201A25BA21203 A25BA21207A25BA2120FA25B1460001F13F014E01300130114C01303001E1380EB07005B EA0F1EEA07F8EA01E015307AAE19>II<011F137C90387FC1FF3A 01E1E787803A03C0F703C0903880FE0FEA07004813FC000E1580001E9038F80700001C91 C7FC1301003C5B1218120013035CA31307A25C1506010F130F150E14800038141ED87C1F 131C00FC143C1538013F5B39F07FC0E03970F3C3C0393FE1FF80260F807EC7FC22227CA0 23>120 D<13F0D803FC1307D80F1E130F000E141F121C123C0038143FD8783E133E1270 A2017E137ED8F07C137CEA60FCC65A15FC000114F85BA21401000314F013E0A2140315E0 EA07C0A20003130715C0EBE00F141F0001133F9038F07F8038007FEFEB1F8FEB001F1500 A25C003E133E007E137E147C5C007C5BEA7001495A38380780D83C1FC7FCEA0FFCEA07F0 20317AA025>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fr cmr10 10.95 78 /Fr 78 124 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907 F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7 FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11 DIII<133E133F137F13FFA2EA01FEEA03FCEA07 F813F0EA0FE0EA1FC01380EA3E005A5A1270122010116EBE2D>19 D25 D<001E130F397F803FC000FF137F01C013E0A201E013F0A3 007F133F391E600F3000001300A401E01370491360A3000114E04913C000031301010013 80481303000EEB070048130E0018130C0038131C003013181C1C7DBE2D>34 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A 120E5A1218123812300B1C79BE19>39 D<1430147014E0EB01C0EB03801307EB0F00131E 133E133C5B13F85B12015B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C 12FCB2127C127EA6123E123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F13 3E131E7FEB07801303EB01C0EB00E014701430145A77C323>I<12C07E12707E7E121E7E 6C7E7F12036C7E7F12007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A613 0314F0B214E01307A614C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B 485A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<1506150FB3A9007FB912E0BA12 F0A26C18E0C8000FC9FCB3A915063C3C7BB447>43 D<121EEA7F8012FF13C0A213E0A312 7FEA1E601200A413E013C0A312011380120313005A120E5A1218123812300B1C798919> II<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>I48 DIII<150E151E153EA2157EA215FE1401A21403EC077E1406140E14 1CA214381470A214E0EB01C0A2EB0380EB0700A2130E5BA25B5BA25B5B1201485A90C7FC 5A120E120C121C5AA25A5AB8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403 D80780131F01F813FE90B5FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE90380FFF 8090383E03E090387001F8496C7E49137E497F90C713800006141FC813C0A216E0150FA3 16F0A3120C127F7F12FFA416E090C7121F12FC007015C012780038EC3F80123C6CEC7F00 001F14FE6C6C485A6C6C485A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D>II<1238123C123F90B612FCA316F85A16 F016E00078C712010070EC03C0ED078016005D48141E151C153C5DC8127015F04A5A5D14 034A5A92C7FC5C141EA25CA2147C147814F8A213015C1303A31307A3130F5CA2131FA613 3FAA6D5A0107C8FC26407BBD2D>III<121EEA7F80A2EAFF C0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779A619>I< 121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121E127FEAFF80A213C0A4127F121E12 00A412011380A3120313005A1206120E120C121C5A1230A20A3979A619>I<007FB912E0 BA12F0A26C18E0CDFCAE007FB912E0BA12F0A26C18E03C167BA147>61 D<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC15C3A291380381FEA34AC6 7EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA349486D7E91B6FCA24981913880 0001A249C87EA24982010E157FA2011E82011C153FA2013C820138151FA2017882170F13 FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>65 DIIIIIIII76 D78 DII82 DI<003FB91280A3903AF0007FE001018090393FC0003F48C7ED1FC000 7E1707127C00781703A300701701A548EF00E0A5C81600B3B14B7E4B7E0107B612FEA33B 3D7DBC42>IIII89 D91 D<486C13C00003130101 001380481303000EEB070048130E0018130C0038131C003013180070133800601330A300 E01370481360A400CFEB678039FFC07FE001E013F0A3007F133FA2003F131F01C013E039 0F0007801C1C73BE2D>II96 DII<49B4FC010F13E090383F00F8017C131E4848131F4848137F 0007ECFF80485A5B121FA24848EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003FEC01 C07F001F140316806C6C13076C6C14000003140E6C6C131E6C6C137890383F01F090380F FFC0D901FEC7FC222A7DA828>IIII<167C903903F801FF903A1F FF078F8090397E0FDE1F9038F803F83803F001A23B07E000FC0600000F6EC7FC49137E00 1F147FA8000F147E6D13FE00075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB 03F80006CAFC120EA3120FA27F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001F FC48C7EA01FE003E140048157E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C49 5AD803F0EB0FC0D800FE017FC7FC90383FFFFC010313C0293D7EA82D>III<1478EB01FEA2EB03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147F B3B3A5123E127F38FF807E14FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801 FC00185185BD1C>III<2701F8 01FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B7803F03C01F80007903BE001 F87000FC2603F9C06D487F000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3 A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FF C091381E07E091387803F000079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF 5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14FF010713E090381F81F89038 7E007E01F8131F4848EB0F804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FC A248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C 6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D> I<3901FC03FC00FF90381FFF8091387C0FE09039FDE003F03A07FFC001FC6C496C7E6C90 C7127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580 EE7F007F6E13FE9138C001F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891C9FCAD 487EB512F8A32D3A7EA733>I<02FF131C0107EBC03C90381F80F090397F00387C01FC13 1CD803F8130E4848EB0FFC150748481303121F485A1501485AA448C7FCAA6C7EA36C7EA2 001F14036C7E15076C6C130F6C7E6C6C133DD8007E137990383F81F190380FFFC1903801 FE0190C7FCAD4B7E92B512F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787CECE1FE 3807F9C100031381EA01FB1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287E A724>I<90383FC0603901FFF8E03807C03F381F000F003E1307003C1303127C00781301 12F81400A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13 E0010313F0EB001FEC0FF800E01303A214017E1400A27E15F07E14016C14E06CEB03C090 3880078039F3E01F0038E0FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA213FCA2 120112031207001FB512C0B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB7F0301 3F138090381F8700EB07FEEB01F81B397EB723>IIIIII<001FB61280A2EBE0000180140049485A001E495A121C4A5A003C495A141F 00385C4A5A147F5D4AC7FCC6485AA2495A495A130F5C495A90393FC00380A2EB7F80EBFF 005A5B484813071207491400485A48485BA248485B4848137F00FF495A90B6FCA221277E A628>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fs cmr9 9 68 /Fs 68 128 df14 D<137813FCA212011203EA07F813E0EA0FC0EA1F801300123C5A5A12400E0E71B326>19 D<6C132000E013E0EAF803383E0F80381F1F00EA0FFE6C5AEA01F06C5A1340130A77AF26 >I23 D<14C01301EB0380EB0F00130E5B133C5B5BA2485A485AA212075B120F90C7FC5AA2 121E123EA3123C127CA55AB0127CA5123C123EA3121E121FA27E7F12077F1203A26C7E6C 7EA213787F131C7F130FEB0380EB01C01300124A79B71E>40 D<12C07E1270123C121C7E 120F6C7E6C7EA26C7E6C7EA27F1378137C133C133EA2131E131FA37F1480A5EB07C0B0EB 0F80A514005BA3131E133EA2133C137C137813F85BA2485A485AA2485A48C7FC120E5A12 3C12705A5A124A7CB71E>I<156015F0B3A4007FB812C0B912E0A26C17C0C800F0C8FCB3 A4156033327CAB3C>43 D<123C127EB4FCA21380A2127F123D1201A412031300A25A1206 120E120C121C5A5A126009177A8715>I<123C127E12FFA4127E123C08087A8715>46 D<13075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E007FB51280A319327AB126> 49 DIII<000C14C0380FC00F90B5128015005C5C14F014C0D80C18C7FC90C8 FCA9EB0FC0EB7FF8EBF07C380FC03F9038001F80EC0FC0120E000CEB07E0A2C713F01403 A215F8A41218127E12FEA315F0140712F8006014E01270EC0FC06C131F003C14806CEB7F 00380F80FE3807FFF8000113E038003F801D347CB126>I<14FE903807FF80011F13E090 383F00F0017C13703901F801F8EBF003EA03E01207EA0FC0EC01F04848C7FCA248C8FCA3 5A127EEB07F0EB1FFC38FE381F9038700F809038E007C039FFC003E0018013F0EC01F813 0015FC1400A24814FEA5127EA4127F6C14FCA26C1301018013F8000F14F0EBC0030007EB 07E03903E00FC03901F81F806CB51200EB3FFCEB0FE01F347DB126>I<1230123C003FB6 FCA34814FEA215FC0070C7123800601430157015E04814C01401EC0380C7EA0700140614 0E5C141814385CA25CA2495A1303A3495AA2130FA3131F91C7FCA25BA55BA9131C20347C B126>III<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A6C7EA202707FEC601F A202E07FECC00FA2D901807F1507A249486C7EA301066D7EA2010E80010FB5FCA2498001 18C77EA24981163FA2496E7EA3496E7EA20001821607487ED81FF04A7ED8FFFE49B512E0 A333367DB53A>65 DII< B77E16F016FE3A01FE0001FF00009138003FC0EE0FE0707E707E707E707E177E177FEF3F 80A2EF1FC0A3EF0FE0A418F0AA18E0A3171F18C0A21880173F18005F17FE5F4C5AEE07F0 4C5AEE3FC000014AB45AB748C7FC16F8168034337EB23B>IIIIII<017F B5FCA39038003FE0EC1FC0B3B1127EB4FCA4EC3F805A0060140000705B6C13FE6C485A38 0F03F03803FFC0C690C7FC20357DB227>IIIII80 D82 D<90381FE00390387FFC0748B5FC3907F01FCF390F8003FF48C7FC003E80814880A20078 8000F880A46C80A27E92C7FC127F13C0EA3FF013FF6C13F06C13FF6C14C06C14F0C68001 3F7F01037F9038003FFF140302001380157F153FED1FC0150F12C0A21507A37EA26CEC0F 80A26C15006C5C6C143E6C147E01C05B39F1FC03F800E0B512E0011F138026C003FEC7FC 22377CB42B>I<007FB712FEA390398007F001D87C00EC003E0078161E0070160EA20060 160600E01607A3481603A6C71500B3AB4A7E011FB512FCA330337DB237>IIII89 D91 D93 D97 DII<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003BF39 07E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B6C6C 4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>III<151F90391FC07F809039FFF8E3C03901F07FC73907E03F033A0FC01F8380 9039800F8000001F80EB00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF07C380E FFF8380C1FC0001CC9FCA3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F000100 3EEB007F4880ED1F8048140FA56C141F007C15006C143E6C5C390FC001F83903F007E0C6 B51280D91FFCC7FC22337EA126>III107 DI<2703F01FE013FF00FF 90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7003F387FD803FE147049 6D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041>I<3903F0 1FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3486CEB7F 80B538C7FFFCA326217EA02B>II<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F804914C049 130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F80160001FF13FC 9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I<3803E07C 38FFE1FF9038E38F809038E71FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512 E0A31A217FA01E>114 DI<13 30A51370A313F0A21201A212031207381FFFFEB5FCA23803F000AF1403A814073801F806 A23800FC0EEB7E1CEB1FF8EB07E0182F7FAD1E>IIIII<3A7FFF807F F8A33A07F8001FC00003EC0F800001EC070015066C6C5BA26D131C017E1318A26D5BA2EC 8070011F1360ECC0E0010F5BA2903807E180A214F3010390C7FC14FBEB01FEA26D5AA314 78A21430A25CA214E05CA2495A1278D8FC03C8FCA21306130EEA701CEA7838EA1FF0EA0F C025307F9F29>I<003FB512F0A2EB000F003C14E00038EB1FC00030EB3F800070137F15 00006013FE495A13035CC6485A495AA2495A495A49C7FC153013FE485A12035B48481370 485A001F14604913E0485A387F000348130F90B5FCA21C207E9F22>II<001C1370387F01FC00FF13FEA4007F13FC381C0070170879B226>127 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ft cmbx12 12 20 /Ft 20 118 df65 D76 D80 D82 D<003FBA12E0A59026FE000FEB8003D87FE09338003F F049171F90C71607A2007E1803007C1801A300781800A400F819F8481978A5C81700B3B3 A20107B8FCA545437CC24E>84 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007F F84848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6 FC1307013F13F19038FFFC01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA2 6D5B6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007 D90FFCC9FC322F7DAD36>97 D99 DII103 DI< 137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0 EA7FFFA512037EB3AFB6FCA518467CC520>I108 D<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512 E002816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E00 7F6C019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512 FEA5572D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91 388F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA537 2D7CAC3E>II<90387F807F B53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0FFC 9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC00049133F48C7121F127E00FE 140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC6C800003806C15 806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27EA26C15C06C141FA2 6DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C >III E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 %%EndSetup %%Page: 53 1 53 0 bop 0 46 a Fp(Algorithms)22 b(Seminar)g(1999{2000,)0 129 y(F.)h(Ch)n(yzak)i(\(ed.\),)f(INRIA,)g(\(2000\),)h(pp.)e(53{55.) 2825 47 y(Av)l(ailable)h(online)g(at)g(the)g(URL)2825 130 y Fj(http://algo.inria.fr/se)q(min)q(ars/)q Fp(.)228 564 y Ft(Threshold)37 b(Phenomena)h(in)f(Random)g(Lattices)g(and)h (Reduction)f(Algorithms)1718 816 y Fi(Ali)31 b(Akha)m(vi)1377 952 y Fr(GREYC,)g(Univ)m(ersit)m(\023)-43 b(e)30 b(de)h(Caen)1594 1150 y(No)m(v)m(em)m(b)s(er)g(8,)g(1999)1345 1349 y Fl(Summary)e(b)m(y) h(Philipp)s(e)d(Fla)5 b(jolet)100 1625 y Fr(By)28 b(a)h Fn(lattic)-5 b(e)36 b Fr(is)28 b(mean)m(t)h(here)f(the)h(set)g(of)f (all)g(linear)e(com)m(binations)i(of)h(a)f(\014nite)g(collection)g(of)g (v)m(ectors)i(in)d Fk(R)3847 1592 y Fg(n)0 1733 y Fr(tak)m(en)k(with)f (in)m(teger)g(co)s(e\016cien)m(ts,)1539 1866 y Fh(L)25 b Fr(=)g Fk(Z)p Fm(e)1830 1880 y Fp(1)1885 1866 y Fh(\010)20 b(\001)15 b(\001)g(\001)21 b(\010)f Fk(Z)p Fm(e)2300 1880 y Fg(p)2336 1866 y Fm(:)0 2017 y Fr(One)43 b(ma)m(y)h(think)d(of)j (a)g(lattice)f(as)h(a)f(regular)g(arrangemen)m(t)h(of)g(p)s(oin)m(ts)e (in)g(space,)47 b(somewhat)d(lik)m(e)e(atoms)0 2125 y(comp)s(osing)36 b(a)h(crystal)g(in)f Fk(R)1011 2092 y Fp(3)1057 2125 y Fr(.)60 b(Giv)m(en)37 b(the)g(generating)g(family)e(\()p Fm(e)2387 2139 y Fg(j)2424 2125 y Fr(\),)k(there)e(is)f(great)i(in)m (terest)f(in)f(\014nding)f(a)0 2233 y(\\go)s(o)s(d")27 b(basis)e(of)h(the)h(lattice.)39 b(By)27 b(this)e(is)g(mean)m(t)i(a)f (basis)f(that)i(is)e(\\almost")i(orthogonal)g(and)e(is)h(formed)f(with) 0 2341 y(v)m(ectors)j(of)f(\\small")f(length.)39 b(The)26 b(pro)s(cess)h(of)g(constructing)f(a)h(\\go)s(o)s(d")g(basis)f(from)g (a)h(sk)m(ew)m(ed)h(one)f(is)f(referred)0 2449 y(to)31 b(as)g(lattice)g([basis])e(reduction.)100 2557 y(Lattice)37 b(reduction)e(is)h(of)g(structural)g(in)m(terest)g(in)f(v)-5 b(arious)36 b(branc)m(hes)g(of)g(n)m(um)m(b)s(er)f(theory)-8 b(.)60 b(F)-8 b(or)37 b(instance,)0 2665 y(reduction)32 b(in)f(dimension)g(2)i(is)f(completely)h(solv)m(ed)f(b)m(y)h(a)g(metho) s(d)g(due)f(to)i(Gau\031.)49 b(This)31 b(en)m(tails)h(a)h(complete)0 2773 y(classi\014cation)i(of)g(binary)f(quadratic)h(forms)g(with)g(in)m (teger)h(co)s(e\016cien)m(ts,)i(a)e(fact)g(that)h(has)e(n)m(umerous)g (impli-)0 2881 y(cations)g(in)f(the)h(analysis)f(of)h(quadratic)f (irrationals)f(and)h(in)g(the)h(represen)m(tation)g(of)g(in)m(tegers)h (b)m(y)e(quadratic)0 2989 y(forms)c(\(cf.)h(for)f(example)g(P)m(ell's)g (equation,)g Fm(x)1595 2956 y Fp(2)1655 2989 y Fh(\000)20 b Fm(dy)1841 2956 y Fp(2)1906 2989 y Fr(=)k(1.\))100 3097 y(The)e(algorithmic)g(and)h(computational)f(questions)h(that)g (stem)h(from)e(lattice)i(reduction)e(are)i(of)f(ev)m(en)h(greater)0 3204 y(applicabilit)m(y)-8 b(.)54 b(In)35 b(all)f(generalit)m(y)-8 b(,)38 b(the)e Fn(exact)44 b Fr(optimization)35 b(problem)f(\(i.e.,)k (\014nding)33 b(the)j(\\b)s(est")g(basis,)g(for)0 3312 y(instance,)23 b(the)f(one)f(formed)g(b)m(y)h(v)m(ectors)g(of)g (strictly)e(minimal)f(lengths\))i(is)f Fn(NP)9 b Fr(-complete,)24 b(hence)e(computation-)0 3420 y(ally)i(in)m(tractable)h(ev)m(en)h(in)e (relativ)m(ely)g(lo)m(w)h(dimensions.)37 b(Ho)m(w)m(ev)m(er,)28 b(as)d(is)g(usual)e(in)h(this)g(range)i(of)f(optimization)0 3528 y(problems,)34 b Fn(appr)-5 b(oximate)45 b Fr(solutions)33 b(ma)m(y)i(b)s(e)f(found)f(at)j(a)f(reasonable)f(cost.)55 b(In)34 b(fact,)i(a)f(ma)5 b(jor)35 b(adv)-5 b(ance)35 b(in)0 3636 y(this)26 b(area)i(is)e(due)h(to)h(Lenstra,)g(Lenstra,)g (and)f(Lo)m(v\023)-45 b(asz)28 b([4)q(])f(who)g(w)m(ere)h(the)f (\014rst)g(to)h(giv)m(e)g(a)f(p)s(olynomial)e(appro)m(x-)0 3744 y(imation)33 b(algorithm)f(\(nic)m(knamed)h(the)h(`LLL')f (algorithm\);)i(this)e(algorithm)f(applies)g(in)g(all)h(dimensions)e (and)0 3852 y(is)d(of)h(p)s(olynomial)e(time)i(complexit)m(y)-8 b(.)40 b(A)30 b(sp)s(ectacular)e(consequence)i(w)m(as)g(to)g(pro)m (vide)e(\(for)h(the)g(\014rst)g(time\))g(an)0 3961 y(algorithm)i(that)h (factorizes)g(univ)-5 b(ariate)31 b(p)s(olynomials)d(o)m(v)m(er)33 b(the)f(rationals)f(in)f(p)s(olynomial)f(time.)3462 3926 y Fp(1)3541 3961 y Fr(The)j(LLL)0 4069 y(algorithm)37 b(tak)m(es)j(its)d(inspiration)e(from)j(the)g(classical)f(Gram{Sc)m (hmidt)g(orthogonalization)h(pro)s(cess,)i(with)0 4177 y(the)33 b(imp)s(ortan)m(t)g(mo)s(di\014cation)e(that)j (orthogonalization)g(co)s(e\016cien)m(ts)g(m)m(ust)f(b)s(e)f(appro)m (ximated)h(b)m(y)g(in)m(tegers,)0 4285 y(while)27 b(the)j(algorithm)e (striv)m(es)h(to)h(k)m(eep)g(v)m(ectors)h(of)e(a)h(\\reasonable")g (length.)40 b(This)27 b(results)h(b)s(oth)h(in)f(a)i(default)0 4393 y(of)h(orthogonalit)m(y)f(and)g(a)h(default)e(of)i(minimalit)m(y)d (as)i(regards)g(the)h(basis)e(that)i(is)f(constructed.)100 4501 y(Since)d(1982,)32 b(the)d(LLL)f(algorithm)g(has)g(found)g(inn)m (umerable)e(consequences)j(in)f(v)-5 b(arious)28 b(branc)m(hes)g(of)h (com-)0 4609 y(putational)g(n)m(um)m(b)s(er)g(theory)-8 b(,)31 b(computer)g(algebra,)f(cryptograph)m(y)-8 b(,)31 b(and)f(com)m(binatorial)f(optimization.)3673 4573 y Fa(2)3743 4609 y Fr(The)p 0 4727 499 4 v 100 4797 a Fp(1)135 4826 y Fs(The)j(authors)g(of)h([4])f(pro)r(ceed)g(as)h(follo)n(ws.)55 b(Let)32 b Fc(f)40 b Fs(b)r(e)32 b(the)f(initial)i(p)r(olynomial)f (\(with)g(in)n(teger)g(co)r(e\016cien)n(ts\))h(and)e Fc(h)h Fs(b)r(e)g(an)0 4917 y(irreducible)f(factor)i(of)e Fc(f)60 b Fs(mo)r(d)25 b Fc(p)1012 4886 y Fb(n)1054 4917 y Fs(.)50 b(The)31 b(set)h(of)f(p)r(olynomials)h(of)g(degree)f(one)g (whic)n(h)g(reduce)g(mo)r(dulo)f Fc(p)3215 4886 y Fb(n)3288 4917 y Fs(to)i(a)f(m)n(ultiple)f(of)i Fc(h)0 5009 y Fs(is)d(a)g (lattice,)i(and)d(this)g(lattice)i(con)n(tains)f(a)g(v)n(ector)f(of)i (\(relativ)n(ely\))e(short)h(length)g(if)g(and)f(only)g(if)i(it)e(con)n (tains)h(a)g(m)n(ultiple)f(of)h(the)0 5100 y(irreducible)d(factor)h(of) f Fc(f)34 b Fs(corresp)r(onding)27 b(to)f Fc(h)p Fs(.)100 5162 y Fa(2)130 5191 y Fs(An)31 b(example)g(of)i(application)g(at)g (the)e(crossroads)j(of)f(com)n(binatorial)g(optimization)f(and)g (cryptograph)n(y)f(is)i(the)e(Knapsac)n(k)0 5283 y(Problem.)p eop %%Page: 54 2 54 1 bop 0 66 a Fp(54)142 b Fe(Threshold)23 b(Phenomena)i(in)e(Random)g (Lattices)i(and)f(Reduction)h(Algorithms)0 266 y Fr(sup)s(erb)31 b(b)s(o)s(ok)i(of)h(v)m(on)f(zur)g(Gathen)h(and)f(Gerhard)g([5)q(])g (dev)m(otes)i(Chapters)e(16)h(and)f(17)h(to)g(the)g(question)f(and)0 374 y(o\013ers)e(a)f(v)m(ery)h(readable)f(accoun)m(t.)100 482 y(The)25 b(talk)h(presen)m(ts)g(t)m(w)m(o)h(new)e(notions)g(of)h (reduction)f(that)i(are)f(structurally)e(w)m(eak)m(er)j(than)f(LLL)f (reduction.)0 589 y(These)33 b(are)g(called)f(Gram)h(reduction)f(and)g (Sc)m(hmidt)g(reduction.)47 b(Regarding)33 b(the)g(algorithms)f(asso)s (ciated)h(to)0 697 y(these)c(reductions,)g(not)g(m)m(uc)m(h)g(gain)f (is)g(p)s(erceptible)f(in)h(the)h(w)m(orst)g(case)h(when)e(compared)h (to)g(LLL)g(reduction.)0 805 y(Ho)m(w)m(ev)m(er,)34 b(in)m(teresting)c (di\013erences)h(start)h(app)s(earing)e(in)g(the)h(a)m(v)m(erage)j (case.)45 b(In)30 b(con)m(trast,)j(the)f(relaxation)f(of)0 913 y(constrain)m(ts)37 b(a\013orded)f(b)m(y)h(Gram)f(or)h(Sc)m(hmidt)e (reduction)h(brings)e(measurable)i(b)s(ene\014ts)g(in)f(man)m(y)i (cases)g(to)0 1021 y(b)s(e)30 b(encoun)m(tered)i(in)d(practice.)43 b(W)-8 b(e)32 b(refer)e(to)i(Akha)m(vi's)f(Ph.D.)g(thesis)f(and)g(esp)s (ecially)f(to)j(his)d(pap)s(er)h([1)q(])h(for)g(a)0 1129 y(precise)f(description)e(of)j(the)f(algorithms)f(in)m(v)m(olv)m(ed.)41 b(In)30 b(what)g(follo)m(ws,)g(w)m(e)g(fo)s(cus)g(on)g(mo)s(delling)e (issues.)100 1237 y(A)40 b(simple)d(and)j(natural)e(mo)s(del)h(of)h (what)g(a)g Fn(r)-5 b(andom)44 b(lattic)-5 b(e)47 b Fr(is)39 b(can)h(b)s(e)g(describ)s(ed)d(as)j(follo)m(ws:)59 b(tak)m(e)42 b(a)0 1345 y(system)d(of)h Fm(p)f Fr(v)m(ectors)i(\()p Fm(e)903 1359 y Fp(1)943 1345 y Fm(;)15 b(:)g(:)g(:)h(;)f(e)1186 1359 y Fg(p)1227 1345 y Fr(\))39 b(c)m(ho)s(osen)h(uniformly)d(and)h (indep)s(enden)m(tly)f(inside)g(the)i(unit)f(ball)g(of)h Fk(R)3847 1312 y Fg(n)0 1453 y Fr(\(with)31 b Fm(n)c Fh(\025)g Fm(p)p Fr(\).)44 b(Let)33 b Fm(`)777 1467 y Fg(j)845 1453 y Fr(denote)f(the)g(length)f(of)g(the)h Fm(j)5 b Fr(th)32 b(elemen)m(t)h(of)e(the)h(orthogonalized)g(v)m (ersion)f(according)0 1561 y(to)43 b(the)f(classical)f(Gram{Sc)m(hmidt) h(pro)s(cedure)f(\(in)g(the)h(real)g(domain\).)75 b(Daud)m(\023)-43 b(e)43 b(and)f(V)-8 b(all)m(\023)-43 b(ee)43 b(ha)m(v)m(e)h(sho)m(wn)0 1669 y(that)37 b(eac)m(h)i Fm(`)453 1683 y Fg(j)526 1669 y Fr(has)d(a)i(distribution)33 b(that)k(is)f(asymptotically)g(of)h(the) g(Beta)i(t)m(yp)s(e,)g(with)c(probabilit)m(y)g(densit)m(y)0 1786 y(prop)s(ortional)c(to)i Fm(u)691 1753 y Fg(n)p Ff(\000)p Fg(j)825 1786 y Fr(\(1)23 b Fh(\000)e Fm(u)1072 1753 y Fp(2)1112 1786 y Fr(\))1147 1753 y Fp(\()p Fg(j)t Ff(\000)p Fp(1\))p Fg(=)p Fp(2)1399 1786 y Fr(;)34 b(see)g([3].)48 b(A)33 b(consequence)g(of)g(the)g(estimates)g(of)g([3)q(])g(is)f(the)g (follo)m(wing)0 1894 y(upp)s(er)22 b(b)s(ound)f(for)j(the)f(exp)s (ected)i(n)m(um)m(b)s(er)d Fm(E)5 b Fr(\()p Fm(K)i Fr(\))24 b(of)g(iterations)f(of)h(the)g(LLL)f(algorithm)g(o)m(v)m(er)i(inputs)c (b)s(ounded)0 2002 y(from)30 b(ab)s(o)m(v)m(e)h(b)m(y)g Fm(M)10 b Fr(,)1066 2231 y Fm(E)5 b Fr(\()p Fm(K)i Fr(\))26 b Fh(\024)1460 2170 y Fm(n)1515 2137 y Fp(2)p 1424 2210 166 4 v 1424 2294 a Fr(log)17 b Fm(t)1615 2103 y Fd(\022)1692 2170 y Fr(log)f Fm(n)p 1692 2210 188 4 v 1762 2294 a Fr(2)1909 2231 y(+)k(3)2045 2103 y Fd(\023)2132 2231 y Fr(+)g Fm(n)g Fr(+)g(3)p Fm(n)2489 2194 y Fp(2)2538 2170 y Fr(log)2656 2192 y Fg(t)2701 2170 y Fm(M)p 2538 2210 261 4 v 2564 2298 a(M)2662 2271 y Fp(1)p Fg(=)p Fp(3)2809 2231 y Fm(:)0 2479 y Fr(\(There)37 b Fm(t)f Fh(2)g Fr(\(1)p Fm(;)15 b Fr(2\))39 b(is)d(a)i(con)m(trol)f(parameter)h (whic)m(h)e(in\015uences)f(the)i(p)s(erformance)g(of)g(the)g(reduction) f(algo-)0 2587 y(rithm.\))j(This)29 b(result)g(implies)f(an)i(upp)s(er) f(b)s(ound)f(on)i(the)h(n)m(um)m(b)s(er)e(of)h(iterations)g(of)h(the)f (order)g(of)h Fm(n)3539 2554 y Fp(2)3593 2587 y Fr(log)16 b Fm(n)p Fr(.)100 2695 y(Akha)m(vi)40 b(impro)m(v)m(es)g(the)g (estimates)i(of)e([3)q(].)71 b(The)40 b(noticeable)g(fact)h(here)g(is)e (the)i(presence)f(of)h Fn(thr)-5 b(esholds)p Fr(.)0 2803 y(Consider)20 b(a)h(large)h(dimension)d Fm(n)i Fr(together)i(with)d (the)h(lengths)g(of)g(the)h Fm(a)p Fr(th)f(and)g Fm(b)p Fr(th)g(\(standard)g(Gram{Sc)m(hmidt\))0 2911 y(orthogonalized)30 b(v)m(ectors)i(in)d Fk(R)1086 2878 y Fg(n)1139 2911 y Fr(.)41 b(Then)29 b(one)i(has)f(\(Theorem)g(8)h(of)f([1)q(]\):)145 3070 y(1.)42 b(If)29 b Fm(a)c Fr(=)g Fm(\013n)17 b Fr(+)g Fm(i)30 b Fr(and)e Fm(b)d Fr(=)g Fm(\014)5 b(n)17 b Fr(+)g Fm(j)35 b Fr(with)27 b(\014xed)h(0)e Fm(<)f(\013)h(<)f(\014)30 b(<)25 b Fr(1,)30 b(then)f(the)g(ratio)g Fm(`)3080 3085 y Fg(b)3114 3070 y Fm(=`)3197 3084 y Fg(a)3268 3070 y Fr(exhibits)e(a)i(sharp)257 3178 y(threshold:)38 b(the)28 b(random)g(v)-5 b(ariable)26 b Fm(`)1553 3193 y Fg(b)1588 3178 y Fm(=`)1671 3192 y Fg(a)1741 3178 y Fr(is)h(with)f(high)h (probabilit)m(y)e(concen)m(trated)30 b(around)d(its)h(mean,)257 3288 y(namely)i Fm(\022)616 3302 y Fp(0)680 3288 y Fr(:=)802 3217 y Fh(p)p 877 3217 231 4 v 892 3288 a Fr(1)21 b Fh(\000)f Fm(\013=)1152 3219 y Fh(p)p 1229 3219 228 4 v 1244 3288 a Fr(1)h Fh(\000)e Fm(\014)6 b Fr(.)145 3396 y(2.)42 b(If)31 b Fm(a)c Fr(=)f Fm(n)20 b Fh(\000)h Fm(i)31 b Fr(and)f Fm(b)d Fr(=)f Fm(n)21 b Fh(\000)f Fm(j)5 b Fr(,)32 b(then)f(the)g(ratio)h Fm(`)1978 3411 y Fg(b)2012 3396 y Fm(=`)2095 3410 y Fg(a)2168 3396 y Fr(is)e(go)m(v)m(erned)i(b)m(y)f (a)h(mo)s(di\014ed)d(Beta)k(distribution)257 3504 y(\(that)f(admits)d (a)i(con)m(tin)m(uous)f(densit)m(y\).)0 3664 y(These)37 b(results)f(quan)m(tify)h(precisely)f(the)h(\\ev)m(olution")h(of)f(the) h(lengths)e(of)i(v)m(ectors)h(during)c(the)i(orthogonal-)0 3772 y(ization)h(pro)s(cess.)65 b(They)38 b(describ)s(e)f(in)h(fact)h (t)m(w)m(o)h(regimes,)h(one)d(with)g(sharp)f(thresholds)g(is)h(relativ) m(e)g(to)i(the)0 3880 y(\\initial")33 b(steps)h(of)h(the)g(pro)s(cess)f (while)f(the)i(other)g(with)e(con)m(tin)m(uous)h(transitions)f(describ) s(es)g(what)i(happ)s(ens)0 3988 y(at)c(the)g(end.)100 4095 y(T)-8 b(ec)m(hnically)g(,)32 b(the)h(geometry)h(of)f(the)g (problem)e(leads)h(to)h(m)m(ultidimensional)c(in)m(tegrals)j(that)h (one)g(needs)f(to)0 4203 y(estimate)24 b(asymptotically)-8 b(.)38 b(The)23 b(metho)s(d)f(of)i(c)m(hoice)g(here)f(is)f(the)i (Laplace)f(metho)s(d)g(for)g(in)m(tegrals)g(as)g(describ)s(ed)0 4311 y(for)i(instance)g(in)f([2)q(].)39 b(The)25 b(general)h(metho)s(d) f(needs)g(to)h(b)s(e)f(amended)g(for)g(the)h(case)g(at)g(hand)f(and)f (Akha)m(vi)i(o\013ers)0 4419 y(in)k([1)q(])i(a)f(v)-5 b(aluable)31 b(discussion)e(of)i(the)h(asymptotics)g(of)f (2-dimensional)f(Laplace)h(in)m(tegrals)g(when)g(tak)m(en)i(o)m(v)m(er) 0 4527 y(p)s(olygonal)23 b(domains.)38 b(Naturally)-8 b(,)25 b(the)g(discussion)d(bases)j(itself)f(on)g(whether)g(the)h (maxim)m(um)f(of)h(the)f(in)m(tegrand)0 4635 y(lies)36 b(inside,)h(on)h(the)f(b)s(oundary)-8 b(,)38 b(or)f(outside)g(of)h(the) f(in)m(tegration)h(domain.)61 b(The)37 b(net)g(result)f(is)h(the)h (precise)0 4743 y(quan)m(ti\014cation)30 b(summarized)f(ab)s(o)m(v)m (e.)100 4851 y(Finally)-8 b(,)33 b(the)h(estimates)h(are)f(put)g(to)g (use)g(in)f(order)g(to)i(analyse)f(three)g(reduction)f(metho)s(ds,)h (in)f(the)h(sense)0 4959 y(of)d(Siegel,)e(Gram,)i(and)f(Sc)m(hmidt.)39 b(It)31 b(turns)e(out)h(that,)i(b)m(y)e(relaxing)f(the)h(LLL)g (conditions,)f(the)i(new)f(reduced)0 5067 y(bases)j(are)g(obtained)f (faster)i(\(see)g(Theorem)e(9)h(of)h([1])f(for)g(precise)f(statemen)m (ts\).)51 b(An)32 b(exp)s(erimen)m(tal)g(study)g(is)0 5175 y(conducted)d(that)h(supp)s(orts)d(the)i(theoretical)h(results.)39 b(First,)29 b(under)e(the)j(uniform)d(mo)s(del,)h(there)h(is)g(little)f (loss)0 5283 y(in)35 b(the)h(qualit)m(y)f(of)h(the)h(bases)f(pro)s (duced.)56 b(Next)36 b(the)h(reduction)e(of)h(lattices)g(asso)s(ciated) g(with)f(the)h(\\Subset)p eop %%Page: 55 3 55 2 bop 2553 66 a Fe(A.)23 b(Akha)n(vi,)h(summary)d(b)n(y)j(Ph.)f(Fla) t(jolet)141 b Fp(55)0 266 y Fr(Sum")21 b(problem)f(are)i(considered:)35 b(these)22 b(are)h(of)e(cryptographic)h(relev)-5 b(ance)22 b(\(in)e(connection)i(with)f(the)g(Sc)m(hnorr{)0 374 y(Euc)m(hner)f(system\))i(and)f(Akha)m(vi)g(rep)s(orts)f(computational) h(gains)g(b)m(y)g(a)g(factor)h(in)e(the)i(range)f(2{5,)k(while)19 b(the)i(new)0 482 y(reduced)29 b(bases)g(obtained)g(pro)m(v)m(e)h(to)g (b)s(e)f(of)h(a)g(qualit)m(y)e(comparable)i(to)g(what)f(classical)g (reduction)f(algorithms)0 589 y(pro)m(vide.)1682 765 y Fo(Bibliograph)m(y)0 910 y Fs([1])39 b(Akha)n(vi)21 b(\(Ali\).)i({)f(Threshold)h(phenomena)d(in)i(random)f(lattices)j(and)d (e\016cien)n(t)i(reduction)e(algorithms.)i(In)f(Ne)l(\024)-34 b(set)l(\024)g(ril)23 b(\(Jarosla)n(v\))119 1001 y(\(editor\),)37 b Fq(A)n(lgorithms,)g(ESA'99)p Fs(.)d Fq(L)l(e)l(ctur)l(e)j(Notes)f(in) f(Computer)h(Scienc)l(e)p Fs(,)h(v)n(ol.)d(1643,)k(pp.)33 b(476{489.)k({)d(Springer,)i(Berlin,)119 1093 y Fc(1999)r Fs(.)26 b(Pro)r(ceedings)h(of)g(the)e(7th)g(Ann)n(ual)g(Europ)r(ean)h (Symp)r(osium,)e(Prague,)j(Czec)n(h)f(Republic,)f(July)h(1999.)0 1184 y([2])39 b(Bleistein)34 b(\(Norman\))c(and)i(Handelsman)e(\(Ric)n (hard)i(A.\).)g({)g Fq(Asymptotic)i(exp)l(ansions)h(of)e(inte)l(gr)l (als)p Fs(.)g({)f(Do)n(v)n(er)g(Publications)119 1275 y(Inc.,)26 b(New)g(Y)-6 b(ork,)25 b Fc(1986)r Fs(,)h(xvi+425p.)g(A)f (reprin)n(t)g(of)h(the)g(second)g(Holt,)g(Rinehart)f(and)g(Winston)h (edition,)g(1975.)0 1367 y([3])39 b(Daud)n(\023)-36 b(e)21 b(\(Herv)n(\023)-36 b(e\))19 b(and)i(V)-6 b(all)n(\023)-36 b(ee)21 b(\(Brigitte\).)h({)f(An)f(upp)r(er)g(b)r(ound)g(on)g(the)g(a)n (v)n(erage)i(n)n(um)n(b)r(er)d(of)i(iterations)h(of)f(the)g(LLL)f (algorithm.)119 1458 y Fq(The)l(or)l(etic)l(al)29 b(Computer)f(Scienc)l (e)p Fs(,)f(v)n(ol.)e(123,)i(n)1495 1464 y(\027)1552 1458 y(1,)f Fc(1994)r Fs(,)f(pp.)g(95{115.)j({)d(Num)n(b)r(er)e(theory) -6 b(,)25 b(com)n(binatorics)h(and)f(applications)119 1549 y(to)h(computer)f(science)h(\(Marseille,)j(1991\).)0 1641 y([4])39 b(Lenstra)26 b(\(A.)g(K.\),)f(Lenstra)h(\(H.)f(W.,)h (Jr.\),)h(and)e(Lo)n(v\023)-38 b(asz)26 b(\(L.\).)g({)g(F)-6 b(actoring)26 b(p)r(olynomials)g(with)g(rational)h(co)r(e\016cien)n (ts.)g Fq(Math-)119 1732 y(ematische)i(A)n(nnalen)p Fs(,)e(v)n(ol.)f (261,)h(n)1131 1738 y(\027)1188 1732 y(4,)f Fc(1982)r Fs(,)g(pp.)f(515{534.)0 1823 y([5])39 b(v)n(on)33 b(zur)f(Gathen)h (\(Joac)n(him\))g(and)f(Gerhard)h(\(J)r(\177)-41 b(urgen\).)34 b({)g Fq(Mo)l(dern)h(c)l(omputer)h(algebr)l(a)p Fs(.)e({)f(Cam)n (bridge)g(Univ)n(ersit)n(y)f(Press,)119 1914 y(New)26 b(Y)-6 b(ork,)25 b Fc(1999)r Fs(,)h(xiv+753p.)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF/tvz@princeton.edu