%!PS-Adobe-2.0 %%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software %%Title: refman.dvi %%CreationDate: Thu Jul 18 23:26:37 2013 %%Pages: 3 %%PageOrder: Ascend %%Orientation: Landscape %%BoundingBox: 0 0 596 842 %%DocumentFonts: CMTT10 CMBX10 CMSSBX10 CMSY10 CMR10 CMSSI10 CMTI10 %%+ CMMI10 SkakNew-Figurine %%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -o refman.ps refman.dvi %DVIPSParameters: dpi=600 %DVIPSSource: TeX output 2013.07.18:2326 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat {BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B /M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ 0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: pstricks.pro 0 0 % $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $ % %% PostScript prologue for pstricks.tex. %% Version 1.12, 2012/02/12 %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. % % % Define the follwing gs-functions if not known, eg when using distiller % systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if systemdict /.setblendmode known not {/.setblendmode { pop } def } if systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if % /tx@Dict 200 dict def % the main PSTricks dictionary tx@Dict begin /ADict 25 dict def % The arrow dictionaray /CM { matrix currentmatrix } bind def /SLW /setlinewidth load def /CLW /currentlinewidth load def /CP /currentpoint load def /ED { exch def } bind def /L /lineto load def /T /translate load def /TMatrix { } def /RAngle { 0 } def /Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments /Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known /ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) /Div { dup 0 eq { pop } { div } ifelse } def % control the division /tan { dup cos abs 1.e-10 lt { pop 1.e10 } % return 1.e10 as infinit { dup sin exch cos div } ifelse % default sin/cos } def /Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees /Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root pop pop 0 }{ sqrt exch atan} ifelse } def /NET { neg exch neg exch T } def % change coordinate system to the negative one /Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter /Pyth2 { % Pythagoras, xA yA xB yB 3 -1 roll % xA xB yB yA sub % xA xB yB-yA 3 1 roll % yB-yA xA xB sub % yB-yA xA-xB Pyth } def /PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian /Rand { rand 4294967295 div } def % a real random number %----------------- hv added 20050516 --------------- /PiDiv2 1.57079632680 def /Pi 3.14159265359 def /TwoPi 6.28318530718 def /Euler 2.71828182846 def %/e Euler bind def % /RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees /DegtoRad { Pi mul 180 div } bind def % viceversa %----------------- hv end--------------------------- /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def % /PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } /pathforall load stopped { pop pop pop pop } if z } def % /STP { .996264 dup scale } def % BP/PT scaling /STV { SDict begin normalscale end STP } def % % /DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse /b ED % pattern should fit evenly in b dup /X ED % pattern array 0 get /y ED % length of first black segment /z 0 X {add} forall def % length of the full pattern %% Computation of the scaling factor as described by van Zandt: b a .5 sub 2 mul y mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div %%%% scaling factor on stack. /z ED %% now, z is the scaling factor false % for the length test below X { z mul } forall X astore %% modification TN 04-08-07 %%% Checking whether at least one dash in X has positive length: {0 gt or} forall { X 1 a sub y mul } { [ 1 0 ] 0 } ifelse setdash stroke } def % /DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt { /b b a div def }{ a 0 eq { /b b y sub def }{ a -3 eq { /b b y add def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if ] a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse setdash 1 setlinecap stroke } def % /SymbolLine { % on stack [ x y x y ... counttomark % number of elements 2 div cvi /n ED % n pairs /YA ED /XA ED % the start point n 1 sub { /YB ED /XB ED /XLength XB XA sub def /YLength YB YA sub def /PAngle YLength XLength Atan def /XYLength XLength YLength Pyth def %% for negative SymStep we calculate the distance SymStep 0 lt { %XYLength SymStep div abs cvi /nSym SymStep abs cvi def } { /nSym XYLength SymStep div cvi def } ifelse 0.5 setflat /Shift Symbol stringwidth pop 2 div def /deltaX XLength nSym div def /deltaY YLength nSym div def curveticks { XA YA moveto } { XA Shift sub YA Shift sub moveto } ifelse nSym { gsave curveticks { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED currentpoint translate rotAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if Symbol show } ifelse grestore deltaX deltaY rmoveto } repeat /YA YB def /XA XB def } repeat curveticks { XA YA moveto } { XA Shift sub YA Shift sub moveto } ifelse gsave curveticks { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED XA YA translate rotAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if Symbol show } ifelse grestore pop % delete the mark symbol } def % /LineFill { % hv ------------ patch 7 ------------- gsave abs /hatchWidthInc ED abs /hatchSepInc ED abs CLW add /a ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict /setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add hatchWidthInc 0 gt { CLW add } if def hatchSepInc 0 gt hatchWidthInc 0 gt or { /a a hatchSepInc add def CLW hatchWidthInc add SLW } if } repeat grestore pop pop } def % /DotFill {% on stack: dot radius /dotRadius ED abs CLW add /a ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 itransform pathbbox % llx lly urx ury of smallest bounding box /y2 ED /x2 ED /y1 ED /x1 ED y2 y1 sub a div 2 add cvi /Ny ED x2 x1 sub a div 2 add cvi /Nx ED clip newpath /yA y1 dotRadius add CLW add def /xA0 x1 dotRadius add CLW add def Ny { /xA xA0 def Nx { newpath xA yA dotRadius 0 360 arc SolidDot { gsave fill grestore } if stroke xA a add /xA ED } repeat yA a add /yA ED } repeat grestore } def % /PenroseFill {% on stack: scaling factor dup dup scale 1 exch div round /penroseFactor ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a Div cvi /x1 ED /y2 y2 y1 sub def clip newpath systemdict /setstrokeadjust known { true setstrokeadjust } if /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul} { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25 mul j l + S rmoveto}F i L j L stroke }F}F}F}F grestore pop pop } def % /TruchetFill { % on stack: scaling factor 10 dict begin dup dup scale 1 exch div round /penroseFactor ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a Div cvi /x1 ED /y2 y2 y1 sub def clip newpath systemdict /setstrokeadjust known { true setstrokeadjust } if /ma a neg def /ha a 2 div def /mha ha neg def /tile { rand dup 2 idiv 2 mul eq { 90 rotate } if mha mha moveto ha mha lineto ha ha lineto mha ha lineto % closepath .1 setlinewidth stroke contents } def /contents{ 0 ha moveto ha 0 lineto 0 mha moveto mha 0 lineto % 1 setlinewidth stroke } def /dotiling { f ma mul a f a mul { /i exch def f ma mul a f a mul { /j exch def gsave i j translate tile stroke grestore } for } for } def % /f 3 def 5 srand dotiling end % local user dict } def % /BeginArrow { ADict begin % hold it local, for end see EndArrow /@mtrx CM def gsave 2 copy T 2 index sub neg exch 3 index sub exch Atan rotate newpath } def % /EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict % /Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore } def % /ArrowD { % the sides are drawn as curves (hv 20071211) CLW mul add dup 2 div /w ED mul dup /h ED mul /Inset ED { 0 h T 1 -1 scale } if % changes the direction % we use y=w/h^2 * x^2 as equation for the control points % for the coordinates the arrow is seen from top to bottom % the bottom (tip) is (0;0) w neg h moveto % lower left of > w 9 div 4 mul neg h 3 div 2 mul w 9 div neg h 3 div 0 0 curveto % tip of > w 9 div h 3 div w 9 div 4 mul h 3 div 2 mul w h curveto % upper left of > w neg Inset neg rlineto % move to x=0 and inset gsave fill grestore } def % /Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 CLW moveto } def % /Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 CLW moveto } def % /RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW 2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } def % /SD { 0 360 arc fill } def % /EndDot { % DS is the dot size { /z DS def } { /z 0 def } ifelse % outer or inner dimen /b ED % the color definition 0 z DS SD b { 0 z DS CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def % /Shadow { [ { /moveto load } { /lineto load } { /curveto load } { /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto load } if ] cvx newpath 3 1 roll T exec } def % /NArray { % holds the coordinates and on top of stack the showpoints boolean /showpoints ED counttomark 2 div dup cvi /n ED % n 2 div on stack n eq not { exch pop } if % even numbers of points? delete one ] aload /Points ED showpoints not { Points aload pop } if % { ] aload /Points ED } % { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol } def % /Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def % /LineToYAxis { /Ox ED % Save the x origin value NArray % all x-y pairs on stack n { 2 copy moveto % go to current point Ox exch Lineto % line to y-axis pop % delete old x-value } repeat } def % /LineToXAxis{ /Oy ED % Save the y origin value NArray % all x-y pairs on stack n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def CP 2 copy moveto pop Oy Lineto n { 2 copy moveto pop Oy Lineto } repeat CP 4 2 roll ArrowB 2 copy moveto pop Oy L pop pop } if } def % /Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } ifelse { pop } repeat a } def % /CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq and { pop pop /n n 1 sub def } if } def % /Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto Lineto pop pop closepath } ifelse } def % /SymbolPolygon { % on stack [ x y x y ... counttomark % number of elements 2 add /m ED 2 copy m 2 roll % copy last two m 2 div cvi /n ED % n pairs /YA ED /XA ED % the start point n 1 sub { /YB ED /XB ED /XLength XB XA sub def /YLength YB YA sub def /PAngle YLength XLength Atan def /XYLength XLength YLength Pyth def /nSym XYLength SymStep Div cvi def /Shift Symbol stringwidth pop 2 Div def /deltaX XLength nSym Div def /deltaY YLength nSym Div def XA Shift sub YA Shift sub moveto nSym { gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if Symbol show grestore deltaX deltaY rmoveto } repeat % XB Shift sub YB Shift sub moveto Symbol show /YA YB def /XA XB def } repeat pop % delete the mark symbol } def % /Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx setmatrix } def % /Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % setmatrix } def setmatrix pop } def % DG/SR modification end % /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def % /CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def /y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul m mul neg def } def % /IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } def % /BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def /NC { CC x1 y1 x2 y2 x y curveto } def /EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def /BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def /NAC { x2 y2 x y curveto CC x1 y1 } def /EAC { x2 y2 x y ArrowB curveto pop pop } def % /OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def n { NC } repeat EOC } ifelse } def % /CurvePath { %% for negative SymStep we calculate the distance SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if 0.5 setflat flattenpath /z 0 def /z0 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def x1 Shift sub y1 Shift sub moveto gsave curveticks { x1 y1 translate startAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { startAngle rotate Symbol show } ifelse grestore /z0 z def } { /y ED /x ED PathLength@ z z0 sub SymStep ge { x Shift sub y Shift sub moveto gsave curveticks { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED x y translate rotAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if Symbol show } ifelse grestore /z0 z def } if /yOld y def /xOld x def } {} %% the lineto part { /y y2 def /x x2 def PathLength@ x Shift sub y Shift sub moveto gsave curveticks { y yOld sub x xOld sub Atan 180 sub /rotAngle ED x y translate rotAngle rotate 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto SymbolLinewidth setlinewidth stroke } { x Shift sub y Shift sub moveto rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if Symbol show } ifelse grestore } pathforall % curveticks % { gsave % x y translate rotAngle rotate % 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto % SymbolLinewidth setlinewidth stroke grestore % } if z } def % /OpenSymbolCurve { OpenCurve 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath } def % /AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload /Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def % /AltOpenSymbolCurve { AltCurve 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath } def % /ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } repeat closepath pop pop } ifelse } def % /ClosedSymbolCurve { ClosedCurve 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath } def % /SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def /ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def /SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def % /FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont } def % /Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto closepath } def % /OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse /b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } ifelse } def % /Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add /y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse } def % /BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def % /OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } ifelse } def % /OpenSymbolBezier { OpenBezier 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath } def % /ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def % /ClosedSymbolBezier { /f ED % save showpoints value 2 copy /yEnd ED /xEnd ED counttomark -2 roll 2 copy /yStart ED /xStart ED counttomark 2 roll f ClosedBezier 0.1 setflat /Shift Symbol stringwidth pop 2 div def CurvePath [ xEnd yEnd xStart yStart SymbolLine } def % /BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } def % /Parab { /y0 ED /x0 ED /y1 ED /x1 ED /dx x0 x1 sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def } def % /Parab1 { % 1 end | 0 SP /ySP ED /xSP ED /y1 ED /x1 ED /dx xSP x1 sub 3 div def /dy ySP y1 sub 3 div def newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto x1 ySP lineto closepath clip currentpoint newpath moveto xSP dx sub ySP dy add x1 y1 ArrowA xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def } def % /Grid { newpath /a 4 string def /b ED % psk@gridlabels in pt /c ED % { \pst@usecolor\psgridlabelcolor } /n ED % psk@griddots cvi dup 1 lt { pop 1 } if /s ED % \psk@subgriddiv s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs /dx ED dy div round dy mul % \pst@number\psxunit abs /y0 ED dx div round dx mul /x0 ED dy div round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def % /Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i w add def } repeat grestore gsave n 0 gt % DG/SR modification begin - Nov. 7, 1997 - Patch 1 %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } % DG/SR modification end { 2 setlinecap } ifelse /i y1 def /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt {z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g exch t L stroke /i i h add def } repeat grestore } def % /ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c mul neg d } def % /Ellipse { /rotAngle ED /mtrx CM def T rotAngle rotate scale 0 0 1 5 3 roll arc mtrx setmatrix } def % /ArcAdjust { %%%% Vincent Guirardel % given a target length (targetLength) and an initial angle (angle0) [in the stack], % let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0). % This computes an angle t such that (x0,y0) is at distance % targetLength from the point M(t)=(rx*cos(t),ry*sin(t)). % NOTE: this an absolute angle, it does not have to be added or substracted to angle0 % contrary to TvZ's code. % To achieve, this, one iterates the following process: start with some angle t, % compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]. % Now take t' (= new angle) so that (0,0) M(t') and M' are aligned. % % Another difference with TvZ's code is that we need d (=add/sub) to be defined. % the value of d = add/sub is used to know on which side we have to move. % It is only used in the initialisation of the angle before the iteration. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Input stack: 1: target length 2: initial angle % variables used : rx, ry, d (=add/sub) % /targetLength ED /angle0 ED /x0 rx angle0 cos mul def /y0 ry angle0 sin mul def % we are looking for an angle t such that (x0,y0) is at distance targetLength % from the point M(t)=(rx*cos(t),ry*sin(t))) %initialisation of angle (using 1st order approx = TvZ's code) targetLength 57.2958 mul angle0 sin rx mul dup mul angle0 cos ry mul dup mul add sqrt div % if initialisation angle is two large (more than 90 degrees) set it to 90 degrees % (if the ellipse is very curved at the point where we draw the arrow, % % the value can be much more than 360 degrees !) % this should avoid going on the wrong side (more than 180 degrees) or go near % a bad attractive point (at 180 degrees) dup 90 ge { pop 90 } if angle0 exch d % add or sub % maximum number of times to iterate the iterative procedure: % iterative procedure: takes an angle t on top of stack, computes a % better angle (and put it on top of stack) 30 { dup % compute distance D between (x0,y0) and M(t) dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt % if D almost equals targetLength, we stop dup targetLength sub abs 1e-5 le { pop exit } if % stack now contains D t % compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]: % M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 ) exch dup cos rx mul x0 sub exch sin ry mul y0 sub % stack contains: y(t)-y0, x(t)-x0, d 2 index Div targetLength mul y0 add ry Div exch 2 index Div targetLength mul x0 add rx Div % stack contains x(t')/rx , y(t')/ry , d % now compute t', and remove D from stack atan exch pop } repeat % we don't look at what happened... in particular, if targetLength is greater % than the diameter of the ellipse... % the final angle will be around /angle0 + 180. maybe we should treat this pathological case... % after iteration, stack contains an angle t such that M(t) is the tail of the arrow % to give back the result as a an angle relative to angle0 we could add the following line: % angle0 sub 0 exch d % % begin bug fix 2006-01-11 % we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180 %(we don't want to make the ellipse turn more or less than it should)... dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse % end bug fix } def % /EllipticArcArrow { /d ED % is add or sub /b ED % arrow procedure /a1 ED % angle gsave newpath 0 -1000 moveto clip % Set clippath far from arrow. newpath 0 1 0 0 b % Draw arrow to determine length. grestore % Length of arrow is on top of stack. Next 3 numbers are junk. % a1 exch ArcAdjust % Angular position of base of arrow. /a2 ED pop pop pop a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig a1 cos rx mul xOrig add % a1 sin ry mul yOrig add % % Now arrow tip coor and base coor are on stack. b pop pop pop pop % Draw arrow, and discard coordinates. a2 CLW 8 div % change value of d (test it by looking if `` 1 1 d '' gives 2 or not ) 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse ArcAdjust % resets original value of d 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap. } def %%------------------ tvz/DG/hv (2004-05-10) end -------------------%% % /Rot { CP CP translate 3 -1 roll neg rotate NET } def % /RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def } def % /RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def } def % /PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def /PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def /PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def % /Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse } def % /UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q { x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add exch } def % /BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible /IfVisible true def } if } { IfVisible { Invisible /IfVisible false def } if } ifelse } def % /InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def /Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def /IfVisible true def } def % %%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%% %%%%% ### bubblesort ### %% syntax : array bubblesort --> array2 trie par ordre croissant %% code de Bill Casselman %% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ /bubblesort { 4 dict begin /a exch def /n a length 1 sub def n 0 gt { % at this point only the n+1 items in the bottom of a remain to % the sorted largest item in that blocks is to be moved up into % position n n { 0 1 n 1 sub { /i exch def a i get a i 1 add get gt { % if a[i] > a[i+1] swap a[i] and a[i+1] a i 1 add a i get a i a i 1 add get % set new a[i] = old a[i+1] put % set new a[i+1] = old a[i] put } if } for /n n 1 sub def } repeat } if a end } def % % /concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 0 1 index { length add } forall string 0 3 2 roll { 3 copy putinterval length add }forall pop } bind def % /dot2comma {% on stack a string (...) 2 dict begin /Output exch def 0 1 Output length 1 sub { /Index exch def Output Index get 46 eq { Output Index 44 put } if } for Output end } def % end %-----------------------------------------------------------------------------% % % END pstricks.pro %%EndProcSet %%BeginProcSet: pst-algparser.pro 0 0 % $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $ %% %% PostScript prologue for PSTricks algorithm parser %% Version 0.04, 2011/10/21 %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. %% %%-----------------------------------------------------------------------------% % /AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez % /tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin % % PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13 % % 09/2011 DR factorial with ! added % % E->T|E+T % T->FS|T*FS % FS -> F | +FS | -FS % F->P|F^SF|P! % P->(E)|literal % literal->number|var|var[E]|func(params) % params->E|E,param % number->TOBEFINISHED % %% E expression, T term, SF signed factor, F factor, P power % %% parser % %% str % %% C->EE %% STR index -> STR index+lenExpr /AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def % %% analyze Expression List (separator , or | ) %% STR index -> STR index+lenExpr %% /AnalyzeListOfE { %% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar %% NextNonBlankChar dup 0 eq { pop exit } if %% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if %% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop %% AnalyzeListOfEPostHook %% } def /AnalyzeListOfE { /NotFirst false def { NextNonBlankChar pop AnalyzeExpr NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse dup Strlen eq { exit } if NextNonBlankChar dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if pop 1 add } loop AnalyzeListOfEPostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% E->T|E+T %% STR index -> STR index+lenExpr /AnalyzeExpr { AnalyzePreHook AnalyzeTerm IsEndingExpr { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop } ifelse AnalyzePostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% T->FS|T*FS %% STR index /AnalyzeTerm { AnalyzePreHook AnalyzeSignedFactor IsEndingTerm { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop } ifelse AnalyzePostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FS -> F | +FS | -FS %% STR index /AnalyzeSignedFactor { AnalyzePreHook 2 copy get dup IsUnaryOp { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp } { pop AnalyzeFactor } ifelse AnalyzePostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% F->P|F^P|P! %% STR index /AnalyzeFactor { AnalyzePreHook AnalyzePower IsEndingFactor { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } { { dup 33 eq%% is there a ! DR 09/2011 { pop 1 add NextNonBlankChar pop EvalFactorial } { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower } ifelse IsEndingFactor { pop exit } if } loop } ifelse AnalyzePostHook } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% P->(E)|literal %% STR index /AnalyzePower { %% depending of first char either a number, or a literal 2 copy get dup 40 eq%%an open par { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop } { AnalyzeLiteral } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STR index STR[index] -> STR index %/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def /AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% recognize + or - %% chr -> T/F /IsUnaryOp { dup 43 eq exch 45 eq or } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% a number can contain only : 0123456789. %% chr -> T/F /IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STR index -> STR index number %% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? %% STR index -> STR index' number /ReadNumber { exch dup 3 -1 roll dup 3 1 roll %%read mantissa { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop dup 101 eq exch 69 eq or %%% there is a "e" or "E" -> read exponant { 1 add 2 copy get dup IsUnaryOp { pop 1 add 2 copy get } if { IsNumber not { exit } if 1 add 2 copy get } loop } if dup 4 1 roll 3 -1 roll exch 1 index sub getinterval } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% a number can contain only : 0123456789. %% chr -> T/F /IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STR index -> STR index number %% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? %% STR index -> STR index' number /ReadCondOp { NextNonBlankChar 1 index 4 1 roll { IsCondOp not { exit } if 1 add 2 copy get } loop 2 copy 5 -1 roll exch 1 index sub getinterval 3 1 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% a literal can contain only : 0123456789. %% chr -> T/F /IsLiteral {% dup 48 ge exch dup 57 le 3 -1 roll and exch dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch dup 97 ge exch 122 le and or } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)? %% STR index -> literal STR index' nextchr /ReadLiteral { exch dup 3 -1 roll dup 3 1 roll %%read literal core { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% expr is ended by end of str or a clpar %% STR index -> STR index STR[index] T/F /IsEndingExpr {% 2 copy dup Strlen eq %% if end of str is reached -> end ! { pop pop 0 true } %% ending chr -> clpar, comma, |, <, >, =, !, {get dup dup 41 eq exch dup 124 eq exch dup 93 eq exch dup 44 eq exch dup 30 eq exch dup 60 ge exch 62 le and or or or or or} ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% expr is ended by end of str or a +- %% STR index -> STR index STR[index] T/F /IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% expr is ended by end of str or */ %% STR index -> STR index STR[index] T/F /IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% expr is ended by end of str or ^ %% STR index -> STR index STR[index] T/F /IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STR index -> STR index STR[index] /NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def /neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def %%%%%%%%%%%%%%%%%%%%%%%% %% DEBUG /BRK {false} def /BRKtrue {/BRK true def} def /BRKStop {BRK {BRKtoto} if } def /BRKEvalStop {BRK exch if } def /BRKBRK2true {BRK {BRK2true} if } def /BRK2 {false} def /BRK2true {/BRK2 true def} def /BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def end % %-------------------------------------------------------------------------------% % /tx@AlgToPs 12 dict def tx@AlgToPs begin % %% algExpr -> PSVector /AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def /EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def /InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def /Strlen 0 def /EvalListOfExpr {} def% /EvalNumber {% ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx exch 1 add array astore def NextNonBlankChar pop } def /EvalAddSub {% /ExpressionVector ExpressionVector aload length dup 5 add -1 roll 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def } def /EvalMulDiv {% /ExpressionVector ExpressionVector aload length dup 5 add -1 roll 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def } def /EvalPower {% /ExpressionVector ExpressionVector aload length dup 5 add -1 roll pop /exp cvx exch 1 add array astore def } def /EvalFactorial {% DR 09/2011 /ExpressionVector ExpressionVector aload length /fact cvx exch 1 add array astore def } def /EvalLiteral {% ReadLiteral dup 40 eq%%% there is an open par -> function call { pop 2 index dup (Sum) eq { EvalSum } { dup (IfTE) eq { EvalCond } { dup (Derive) eq { pop EvalDerive } { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse } { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def dup 91 eq%%% there is an open bracket -> vector element { pop 1 add NextNonBlankChar pop AnalyzeExpr /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add } { pop NextNonBlankChar pop } ifelse} ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% the derive function : Derive(n,f(x)) %% firstparindex lastparindex -> /EvalDerive { %% manage the function descripiton 1 add ReadNumber 3 1 roll NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if 1 add NextNonBlankChar pop 3 -1 roll cvi dup 0 eq { pop AnalyzeExpr 3 -1 roll pop 1 add } { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll { (x) tx@Derive begin Derive end } repeat ExpressionVector exch /ExpressionVector [] def AlgToPs aload length /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add 1 index length /Strlen exch def } ifelse } def /EvalSum {% pop 1 add NextNonBlankChar pop %% read the variable name ReadLiteral pop NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if %% read the initial value 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if %% read the increment value 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if %% read the limit value 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll 5 -1 roll 4 add array astore def %% keep ExpressionVector for later and create a new one for internal Sum computation ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def 1 add NextNonBlankChar pop AnalyzeExpr %% add each term /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add array astore def 3 -1 roll pop 1 add } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Convert to radians if trigo function call %% (name) -> /TrigoFunc { dup (cos) eq 1 index (sin) eq or exch (tan) eq or { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add array astore def } if } def /EvalCond {% pop 1 add AnalyzeCond NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if ExpressionVector 3 1 roll /ExpressionVector [] def 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if 1 add AnalyzeExpr NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if ExpressionVector /ExpressionVector 6 -1 roll aload length dup 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def 1 add 3 -1 roll pop } def %% CondOp STR index /EvalCondOp {% 3 -1 roll dup (=) eq { /eq } {% dup (<) eq { /lt } {% dup (>) eq { /gt } {% dup (>=) eq { /ge } {% dup (<=) eq { /ge } {% dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator } ifelse } ifelse } ifelse } ifelse } ifelse } ifelse cvx exch pop /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def /EvalUnaryOp { 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% H O O K S /AnalyzePreHook {} bind def /PreEvalHook {} bind def /AnalyzeListOfEPostHook {} bind def /AnalyzePostHook {} def /RollOp { 3 1 roll } bind def end %tx@CoreAnalyzerDict % %--------------------------------------------------------------------% % /tx@Derive 41 dict def tx@Derive begin %%increase ^^ for each function added %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% algExpr variable -> PSVector /Derive {% 10240 string 3 1 roll 0 3 1 roll /Variable exch def tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end } def /Strlen 0 def /InitParser { dup length /Strlen exch def 0 } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% algExpr variable index -> PSVector /DeriveIndexed {% 3 1 roll 10240 string 3 1 roll 0 3 1 roll /Variable exch def tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u,v)'=-(u',v') /EvalListOfExpr {% 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe 2 copy 7 -1 roll dup length 4 1 roll putinterval add 6 -2 roll pop pop 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (-u)'=-(u') /EvalUnaryOp { 4 -2 roll 4 index (0) eq { (0) StrConcat 7 -1 roll pop } { 7 -1 roll 45 eq { AddSub AddOpPar true } { false } ifelse 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse 2 copy pop 0 6 2 roll GetIntervalNewStr 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (number)'=0 /EvalNumber { ReadNumber (0) 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u+v)'=u'+v' /EvalAddSub {% 7 index dup (0) eq { pop true }%% du=0 nothing added { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false } ifelse 5 index dup (0) eq { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0 { exch { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added { 5 -2 roll 7 index 43 eq%%something yet added { AddAdd false } { AddSub AddOpPar true } ifelse } ifelse 11 1 roll 3 -1 roll StrConcat 10 -1 roll { AddClPar } if 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u*v)' or (u/v)' /EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u*v)'=u'*v+u*v' /EvalMul {% 4 -2 roll 7 index dup (0) eq { pop false }%%du=0 { (1) eq%%du=1 { false } { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if true }%%du!=0 ifelse 5 1 roll 5 index (0) eq { 5 -1 roll not { (0) StrConcat } if }%%dv=0 { 5 -1 roll { AddAdd } if 4 index (1) eq { 8 index StrConcat } { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } ifelse }%%dv!=0 ifelse 2 copy pop 0 6 2 roll GetIntervalNewStr mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u/v)'=(u'*v-u*v')/v^2 /EvalDiv {% 4 -2 roll 4 index (0) eq%%dv=0 -> u'/v { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse } { 7 index dup (0) eq { pop }%%du=0 { (1) eq%%du=1 { false } { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0 ifelse AddSub 4 index (1) eq { 8 index StrConcat } { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } ifelse %}%%dv!=0 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add } ifelse 2 copy pop 0 6 2 roll GetIntervalNewStr mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% str1 index str2 -> str1 index /StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def /GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u) /EvalPower {% 4 -2 roll 7 index (0) eq {%%if du=0 then (u^v)'=v'ln(u)u^v 4 index (0) eq { (0) StrConcat }%%if dv=0 then (u^v)'=0 { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse } {%%du!=0 4 index (0) eq {%%if dv=0 then (u^v)'=vu'u^(v-1) 5 index dup IsStrNumber { dup (0) eq { StrConcat } { dup dup (1) eq exch (1.0) eq or { StrConcat } { StrConcat 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1 { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006 (*\() StrConcat 8 index StrConcat (\)) StrConcat 5 index dup dup (2) eq exch (2.0) eq or { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse } { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat 5 index StrConcat (-1\)) StrConcat } ifelse } {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u) 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat 5 index StrConcat (-1\)+\() StrConcat 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if 8 index StrConcat (\)^\() StrConcat 5 index StrConcat (\)*ln\() StrConcat 8 index StrConcat AddClPar } ifelse } ifelse 2 copy pop 0 6 2 roll GetIntervalNewStr mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% No derivative for factorial ! only cst => null derivative /EvalFactorial {% DR 09/2011 4 index (0) eq { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll } { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% str -> true/false /IsStrNumber {% true exch { dup 48 lt exch dup 57 gt 3 -1 roll or exch dup 46 ne%%. exch dup 43 ne%%+ exch 45 ne%%- and and and { pop false } if } forall } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% literal switch -> func call, vector, variables /EvalLiteral {% ReadLiteral dup 40 eq%%% there is an open par -> function call { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec } { dup 91 eq%%% there is an open bracket -> vector element { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented } { pop EvalVariable } ifelse } ifelse } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% first last parpos Expr[first:parpos-1] -> /EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% (f(u))'=u'f'(u) /EvalFunc { 4 2 roll 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec 2 copy pop 0 6 2 roll GetIntervalNewStr mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Func derivative -> Eval /EvalFunc_sin {% PreCommonFunc { (cos\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_cos {% PreCommonFunc { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_tan {% PreCommonFunc { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if PostCommonFunc } def /EvalFunc_asin {% PreCommonFunc { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_acos {% PreCommonFunc { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_atg {% PreCommonFunc { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_ln {% PreCommonFunc { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_exp {% PreCommonFunc { (exp\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_EXP {% PreCommonFunc { (EXP\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_sqrt {% PreCommonFunc { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_Fact {% PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if PostCommonFunc } def /EvalFunc_sh {% PreCommonFunc { (ch\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_ch {% PreCommonFunc { (sh\() StrConcat 5 index StrConcat AddClPar } if PostCommonFunc } def /EvalFunc_th {% PreCommonFunc { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if PostCommonFunc } def /EvalFunc_Argsh {% PreCommonFunc { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_Argch {% PreCommonFunc { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if PostCommonFunc } def /EvalFunc_Argth {% PreCommonFunc { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if PostCommonFunc } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /PreCommonFunc { 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop 4 2 roll 4 index (0) eq { (0) StrConcat false } { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse } def /PostCommonFunc { 2 copy pop 0 6 2 roll GetIntervalNewStr mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def /EvalFunc_Derive {% 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% literal switch -> func call, vector, variables /EvalFunc_Sum {% 1 add NextNonBlankChar pop %% read the variable name ReadLiteral pop 3 -1 roll pop NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if %% read the initial value 1 add NextNonBlankChar pop ReadNumber pop 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if %% read the increment value 1 add NextNonBlankChar pop ReadNumber pop 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if %% read the limit value 1 add NextNonBlankChar pop ReadNumber pop 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat 4 index StrConcat AddClPar 2 copy pop 0 6 2 roll GetIntervalNewStr mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% literal switch -> func call, vector, variables /EvalFunc_IfTE {% 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if 1 add NextNonBlankChar pop dup 5 1 roll AnalyzeExpr NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar 2 copy pop 0 6 2 roll GetIntervalNewStr mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% advance in str until a comma is found (no error detection!) %% str index -> str index' /SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Convert to radians if trigo function call %% (name) -> /TrigoFunc { dup (cos) eq 1 index (sin) eq or exch (tan) eq or { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add array astore def } if } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% No derivative for condition.... /EvalCondOp { 3 -1 roll pop } bind def /PutIntervalOneAdd {putinterval 1 add} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add open parenthesis in string at the given index %% str index -> str index+1 /AddOpPar {2 copy (\() PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add close parenthesis in string at the given index %% str index -> str index+1 /AddClPar {2 copy (\)) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add 0 in string at the given index %% str index -> str index+1 /AddZero {2 copy (0) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add open parenthesis in string at the given index %% str index -> str index+1 /AddMul {2 copy (*) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add open parenthesis in string at the given index %% str index -> str index+1 /AddDiv {2 copy (/) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add a plus sign in string at the given index %% str index -> str index+1 /AddAdd {2 copy (+) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add a minus sign in string at the given index %% str index -> str index+1 /AddSub {2 copy (-) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add a pipe sign in string at the given index %% str index -> str index+1 /AddPipe {2 copy (|) PutIntervalOneAdd} bind def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% H O O K S /AnalyzePreHook { dup 5 1 roll } bind def /PreEvalHook {} def /AnalyzePostHook { 7 -1 roll pop } bind def /AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def /RollOp { 5 1 roll } bind def end%%%tx@CoreAnalyzerDict /tx@AddMathFunc 12 dict def tx@AddMathFunc begin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% NEW FUNC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2)) %% x -> theta /asin {% dup abs 1 gt { EQDFasinrangeerror } if dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad } def %% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x) %% x -> theta /acos {% dup abs 1 gt { EQDFacosrangeerror } if dup dup mul 1 exch sub sqrt exch atan DegtoRad } def %% function arctangent in radians %% x -> theta /atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def %% HYPERBOLIC FUNCTIONS /sh { dup Ex exch neg Ex sub 2 div } def /ch { dup Ex exch neg Ex add 2 div } def /th { dup sh exch ch div } def /Argsh { dup dup mul 1 add sqrt add ln } def /Argch { dup dup mul 1 sub sqrt add ln } def /Argth { dup 1 add exch 1 exch sub div ln 2 div } def %% modified exponential funtion for 0 %% x n -> x^n /Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def %% modified exponential funtion for 0 %% x -> e^x /Ex { Euler exch exp } bind def %% %% factorial function %% n -> n! /Fact { 1 exch 2 exch 1 exch { mul } for } bind def /fact { Fact } bind def /! { Fact } bind def end % % END pst-algparser.pro %%EndProcSet %%BeginProcSet: pst-tools.pro 0 0 % $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $ % %% PostScript tools prologue for pstricks.tex. %% Version 0.02, 2012/01/01 %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. % % /Pi2 1.57079632679489661925640 def /factorial { % n on stack, returns n! dup 0 eq { 1 }{ dup 1 gt { dup 1 sub factorial mul } if } ifelse } def % /MoverN { % m n on stack, returns the binomial coefficient m over n 2 dict begin /n exch def /m exch def n 0 eq { 1 }{ m n eq { 1 }{ m factorial n factorial m n sub factorial mul div } ifelse } ifelse end } def % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % subroutines for complex numbers, given as an array [a b] % which is a+bi = Real+i Imag % /cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] dup 0 get % [a1 b1] [a2 b2] a2 3 -1 roll % [a2 b2] a2 [a1 b1] dup 0 get % [a2 b2] a2 [a1 b1] a1 3 -1 roll % [a2 b2] [a1 b1] a1 a2 add % [a2 b2] [a1 b1] a1+a2 3 1 roll % a1+a2 [a2 b2] [a1 b1] 1 get % a1+a2 [a2 b2] b1 exch 1 get % a1+a2 b1 b2 add 2 array astore } def % /cxneg { % [a b] dup 1 get % [a b] b exch 0 get % b a neg exch neg % -a -b 2 array astore } def % /cxsub { cxneg cxadd } def % same as negative addition % % [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] /cxmul { % [a1 b1] [a2 b2] dup 0 get % [a1 b1] [a2 b2] a2 exch 1 get % [a1 b1] a2 b2 3 -1 roll % a2 b2 [a1 b1] dup 0 get % a2 b2 [a1 b1] a1 exch 1 get % a2 b2 a1 b1 dup % a2 b2 a1 b1 b1 5 -1 roll dup % b2 a1 b1 b1 a2 a2 3 1 roll mul % b2 a1 b1 a2 b1a2 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 4 -1 roll add % b1 a2 a1 b2 b3 4 2 roll mul % b1 b2 b3 a1a2 4 2 roll mul sub % b3 a3 exch 2 array astore } def % % [a b]^2 = [a^2-b^2 2ab] = [a2 b2] /cxsqr { % [a b] square root dup 0 get exch 1 get % a b dup dup mul % a b b^2 3 -1 roll % b b^2 a dup dup mul % b b^2 a a^2 3 -1 roll sub % b a a2 3 1 roll mul 2 mul % a2 b2 2 array astore } def % /cxsqrt { % [a b] % dup cxnorm sqrt /r exch def % cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 cxlog % log[a b] 2 cxrdiv % log[a b]/2 aload pop exch % b a 2.781 exch exp % b exp(a) exch cxconv exch % [Re +iIm] exp(a) cxrmul % } def % /cxarg { % [a b] aload pop % a b exch atan % arctan b/a DegtoRad % arg(z)=atan(b/a) } def % % log[a b] = [a^2-b^2 2ab] = [a2 b2] /cxlog { % [a b] dup % [a b][a b] cxnorm % [a b] |z| log % [a b] log|z| exch % log|z|[a b] cxarg % log|z| Theta cxmake2 % [log|z| Theta] } def % % square of magnitude of complex number /cxnorm2 { % [a b] dup 0 get exch 1 get % a b dup mul % a b^2 exch dup mul add % a^2+b^2 } def % /cxnorm { % [a b] cxnorm2 sqrt } def % /cxconj { % conjugent complex dup 0 get exch 1 get % a b neg 2 array astore % [a -b] } def % /cxre { 0 get } def % real value /cxim { 1 get } def % imag value % % 1/[a b] = ([a -b]/(a^2+b^2) /cxrecip { % [a b] dup cxnorm2 exch % n2 [a b] dup 0 get exch 1 get % n2 a b 3 -1 roll % a b n2 dup % a b n2 n2 4 -1 roll exch div % b n2 a/n2 3 1 roll div % a/n2 b/n2 neg 2 array astore } def % /cxmake1 { 0 2 array astore } def % make a complex number, real given /cxmake2 { 2 array astore } def % dito, both given % /cxdiv { cxrecip cxmul } def % % multiplikation by a real number /cxrmul { % [a b] r exch aload pop % r a b 3 -1 roll dup % a b r r 3 1 roll mul % a r b*r 3 1 roll mul % b*r a*r exch 2 array astore % [a*r b*r] } def % % division by a real number /cxrdiv { % [a b] r 1 exch div % [a b] 1/r cxrmul } def % % exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian /cxconv { % theta RadtoDeg dup sin exch cos cxmake2 } def %%%%% ### bubblesort ### %% syntax : array bubblesort --> array2 trie par ordre croissant %% code de Bill Casselman %% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ /bubblesort { % on stack must be an array [ ... ] 4 dict begin /a exch def /n a length 1 sub def n 0 gt { % at this point only the n+1 items in the bottom of a remain to % the sorted largest item in that blocks is to be moved up into % position n n { 0 1 n 1 sub { /i exch def a i get a i 1 add get gt { % if a[i] > a[i+1] swap a[i] and a[i+1] a i 1 add a i get a i a i 1 add get % set new a[i] = old a[i+1] put % set new a[i+1] = old a[i] put } if } for /n n 1 sub def } repeat } if a % return the sorted array end } def % /concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 0 1 index { length add } forall string 0 3 2 roll { 3 copy putinterval length add }forall pop } bind def % /dot2comma {% on stack a string (...) 2 dict begin /Output exch def 0 1 Output length 1 sub { /Index exch def Output Index get 46 eq { Output Index 44 put } if } for Output end } def % %-----------------------------------------------------------------------------% % END pst-tools.pro %%EndProcSet %%BeginProcSet: pst-dots.pro 0 0 % $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ % %% PostScript prologue for pstricks.tex. %% Version 2.02, 2009/06/16 %% %% For distribution, see pstricks.tex. %% %% Timothy Van Zandt %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. %% %% Modified by Etienne Riga - Dec. 16, 1999 %% Modified by Etienne Riga - 2005/01/01 (er) %% to add /Diamond, /SolidDiamond and /BoldDiamond %% Modified by Herbert Voss (hv) - 2008/04/17 % 10 dict dup begin % hold local /FontType 3 def /FontMatrix [.001 0 0 .001 0 0] def % /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph /Encoding 256 array def 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef Encoding % replace with given dot names dup (b) 0 get /Bullet put % get the numerical position of b in ASCII % % and save /Bullet at this place in Encoding dup (c) 0 get /Circle put dup (C) 0 get /BoldCircle put % 67 dup (u) 0 get /SolidTriangle put dup (t) 0 get /Triangle put dup (T) 0 get /BoldTriangle put dup (r) 0 get /SolidSquare put dup (s) 0 get /Square put dup (S) 0 get /BoldSquare put dup (q) 0 get /SolidPentagon put dup (p) 0 get /Pentagon put dup (P) 0 get /BoldPentagon put %%% dup (k) 0 get /Asterisk put dup (K) 0 get /BoldAsterisk put dup (J) 0 get /SolidAsterisk put dup (h) 0 get /Hexagon put dup (H) 0 get /BoldHexagon put dup (G) 0 get /SolidHexagon put dup (f) 0 get /Octogon put % 2008-04-18 hv dup (F) 0 get /BoldOctogon put % 2008-04-18 hv dup (g) 0 get /SolidOctogon put % 2008-04-18 hv dup (a) 0 get /Add put dup (A) 0 get /BoldAdd put % 65 dup (x) 0 get /Mul put dup (X) 0 get /BoldMul put dup (m) 0 get /Oplus put dup (M) 0 get /BOplus put dup (e) 0 get /SolidOplus put dup (n) 0 get /Otimes put dup (N) 0 get /BOtimes put dup (E) 0 get /SolidOtimes put dup (i) 0 get /Bar put dup (I) 0 get /BoldBar put dup (l) 0 get /SolidDiamond put dup (d) 0 get /Diamond put (D) 0 get /BoldDiamond put %%% /CharProcs 47 dict def CharProcs begin /CirclePath {0 0 500 0 360 arc closepath} def /Bullet {CirclePath fill} def /Circle {CirclePath .9 .9 scale CirclePath eofill} def /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def /SolidTriangle {TrianglePath fill} def /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def /SolidSquare {SquarePath fill} def /Square {SquarePath .89 .89 scale SquarePath eofill} def /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def /PentagonPath { -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto 0 574.7 lineto -546.6 177.6 lineto closepath } def /SolidPentagon {PentagonPath fill} def /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def %-------------- hv begin 2004/07/25 from: er 2003/03/24 /HexagonPath { 0 550 moveto -476 275 lineto -476 -275 lineto 0 -550 lineto 476 -275 lineto 476 275 lineto closepath } def /SolidHexagon {HexagonPath fill} def /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def % 2008-04-18 hv /OctogonPath { 550 dup 22.5 tan mul dup neg dup add /xMove exch def exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def /SolidOctogon { OctogonPath fill } def /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def % /AsteriskPath { 20 0 moveto 10 250 180 500 0 500 curveto -180 500 -10 250 -20 0 curveto closepath } def /Asterisk { AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill } def % /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def /BoldAsteriskPath { 50 30 cos 100 mul moveto Basterp 60 rotate Basterp 60 rotate Basterp 60 rotate Basterp 60 rotate Basterp 60 rotate Basterp closepath } def /BoldAsterisk {BoldAsteriskPath fill} def /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def /CrossPath { 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath } def /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath } def /Add {CrossPath fill} def /Mul {45 rotate CrossPath fill} def /BoldAdd {BoldCrossPath fill} def /BoldMul {45 rotate BoldCrossPath fill} def /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def /Bar {BarPath fill} def /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def /BoldBar {BoldBarPath fill} def /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def /SolidDiamond {DiamondPath fill} def /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def %%% /.notdef { } def end % /BuildGlyph { exch begin % Metrics 1 index get exec 0 0 0 % BBoxes 3 index get exec -1000 -1000 1000 1000 % -571.5 -742.5 571.5 742.5 setcachedevice CharProcs begin load exec end end } def % /BuildChar { 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def % end /PSTricksDotFont exch definefont pop % %% end %%EndProcSet %%BeginProcSet: pst-node.pro 0 0 % $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $ %% %% PostScript prologue for pst-node.tex. %% Version 1.13, 2011/11/21. %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory macros/latex/base/lppl.txt. % /tx@NodeDict 400 dict def tx@NodeDict begin tx@Dict begin % from main pstricks dict /T /translate load def /CP /currentpoint load def end /NewNode { % on stack: { x y } boolean N@name type InitXnode gsave NodeScale % a bugfix for xelatex, it's empty for dvips /next exch def % { x y } boolean N@name type dict dup % { x y } boolean N@name dict dict 3 1 roll def % { x y } boolean dict N@name dict def exch { dup 3 1 roll def } if % { x y } dict boolean begin % { x y } dict begin tx@Dict begin STV CP T exec % set scaling end /NodeMtrx CM def % save CM next % InitXNode end grestore } def % /InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def } def % /InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch Sin mul } def } def % /GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse } def % /InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED /NodePos { GetRnodePos } def } def % /DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup Cos mul exch Sin mul } def % /TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul } ifelse } def % /InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan sin def /NodePos { TriNodePos } def } def % /OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul } def % /GetCenter { begin X Y NodeMtrx transform CM itransform end } def % /XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } { 0 Dist Sin mul } ifelse } ifelse Do } def % /GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse } def % /AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse } def % /GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA AddOffset yA add /yA1 ED xA add /xA1 ED } def % /GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB AddOffset yB add /yB1 ED xB add /xB1 ED } def % /GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED } ifelse } def % /GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED } ifelse } def % /InitNC { /b ED /a ED % second and first node /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED /NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def % /LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def % /LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED % t floor dup n gt t floor dup n ge % to allow npos<= hv 2008-08-14 { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop } repeat LPutLine cleartomark } def % /BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def % /HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def } def /HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def /NAngle yyB yyA sub xxB xxA sub Atan def } def /HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def /HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def } ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd } def /VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def } def /VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def /NAngle yyB yyA sub xxB xxA sub Atan def } def /VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def /VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def } ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark VPosEnd } def /HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx def grestore exec /LPutVar /SaveLPutVar load def } def /NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { LPutVar VPutLine } def LPutVar } def % /NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop end } def % /NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan /AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } ifelse } def % /NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def % /NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % /NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % /NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % /NCDiag { /lineAngle ED GetEdgeA GetEdgeB GetArmA GetArmB mark lineAngle abs 0 gt { /xTemp xA2 10 add def /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def /dY1 yTemp yA2 sub def /dX1 xTemp xA2 sub def /dY2 yB2 yB1 sub def /dX2 xB2 xB1 sub def dX1 abs 0.01 lt { /m2 dY2 dX2 div def /xB2 xA2 def /yB2 xA2 xB1 sub m2 mul yB1 add def }{ dX2 abs 0.01 lt { /m1 dY1 dX1 div def /xB2 xB1 def /yB2 xB1 xA2 sub m1 mul yA2 add def }{% /m1 dY1 dX1 div def /m2 dY2 dX2 div def /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def /yB2 xB2 xA2 sub m1 mul yA2 add def } ifelse } ifelse } if ArmB 0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def % % GetEdgeA GetEdgeB GetArmA GetArmB mark % ArmB 0 ne { xB1 yB1 } if % xB2 yB2 xA2 yA2 % ArmA 0 ne { xA1 yA1 } if % tx@Dict begin false Line end % /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def % /LPutPos { LPutLines } def % /HPutPos { HPutLines } def % /VPutPos { VPutLines } def } def % /NCDiagg { /lineAngle ED GetEdgeA GetArmA lineAngle abs 0 gt { lineAngle } { yB yA2 sub xB xA2 sub Atan 180 add } ifelse /AngleB ED GetEdgeB mark lineAngle abs 0 gt { /dY2 yA2 yA1 sub def /dX2 xA2 xA1 sub def lineAngle abs 90 eq { /m2 dY2 dX2 div def /yA2 xB xA2 sub m2 mul yA2 add def /xA2 xB def }{ /m1 lineAngle dup sin exch cos div def % tan alpha dX2 abs 0.01 lt { /yA2 xA1 xB sub m1 mul yB add def /xA2 xA1 def }{% /m2 dY2 dX2 div def /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def /yA2 xA2 xB sub m1 mul yB add def } ifelse } ifelse } if xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def % % GetEdgeA GetArmA % yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED % GetEdgeB % mark % xB1 yB1 xA2 yA2 % ArmA 0 ne { xA1 yA1 } if % tx@Dict begin false Line end % /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def % /LPutPos { LPutLines } def % /HPutPos { HPutLines } def % /VPutPos { VPutLines } def } def % /NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def % % DG/SR modification begin - May 9, 1997 - Patch 1 %/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r %r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add %exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 %mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED % /NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED % DG/SR modification end } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r Div def /y ED /x ED } def % /NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB 180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def /LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos { xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar tx@Dict begin false Polygon end } def % /NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def /x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def 0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos { LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }{t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add add AngleB PtoC }{ t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub mul add dup 90 sub /NAngle ED PtoC }{ /NAngle AngleA 180 add def r 4 t sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def } def % /Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos { LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } { pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin /ArrowA { moveto } def /ArrowB { } def false Line closepath end } def % /LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg exch X sub neg exch moveto setmatrix CP grestore } def % /LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse LPutCoor } def % /HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } ifelse } ifelse s add flag { r add neg }{ l add } ifelse X add /X ED } def % /VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } def % % end % % END pst-node.pro %%EndProcSet %%BeginProcSet: texps.pro 0 0 %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro 0 0 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro 0 0 %! TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end %%EndProcSet TeXDict begin @defspecial /landplus90 true store @fedspecial end %%BeginFont: SkakNew-Figurine %!PS-AdobeFont-1.0: SkakNew-Figurine 001.003 %%CreationDate: Mon Feb 02 15:14:46 2009 %%VMusage: 120000 150000 11 dict begin /FontInfo 15 dict dup begin /version (001.003) readonly def /Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def /FullName (SkakNew-Figurine) readonly def /FamilyName (SkakNew-Figurine) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def /Weight (Regular) readonly def end readonly def /FontName /SkakNew-Figurine def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 78 /N put dup 88 /X put readonly def /PaintType 0 def /FontType 1 def /FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def /FontBBox {0 -114 1241 842} readonly def currentdict end currentfile eexec D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691 6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9 5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716 C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0 DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98 218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549 1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8 7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563 F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F 401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39 B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD 9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88 68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC 067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB 3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510 6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90 A73760A26EA9F28C74DA6FD1AEE7BD8F21404F8FC3215606F8E3838371563F7C 27C0833ED579C89FF32E4F2275FE27F5E70B4B6D62EBB0E0E26724A5B882D939 13C29A0FE8B6823CF7E0FD24EAFEE0B17FD81119F9E9E730F889E0E6A6BF83C4 C3AB5B3335202013A4C07D71EDCB645D75EBE01B6D98DF536ABDCEDFCFE0C622 333D69C242E78C42BDC2E33ABEAC4122F4596B941EEE41F2B753588999185585 F81C9AEDA32A0BD44F9524B9507F56322B2F69125FA7879FE893379DB4E9B623 4A4284E77EC96EB41BD5014C4D2C952C8B879ECDD46A7D6F765AF5CFDC63EB48 F3F635F1FD8DA05FBEDB7792CC93AE900A7E6D0D5E651DB84901133618EF2A2E 0171B1265CD7728C0BE06A039942CFBCE56565997574AAB2E4D872A51D8BF02B 8C9FF495D51DA88E25C017DA0BCFD68F818DBC70C21B0D1A5BFAA10D703FD9EA 70DB8A6D0713921E6A9F06D18EB8C923D578B49B56B957F2829078137A1654D7 07092331189B3832622448CAEA135A077CEEFD9F115DBCF8F8EFD10A7E9ACED8 465CAAB3C01D7DA2DA499E4356F15DC5F39D92C89652D2076DA4156E2F6FF1CC CD25F6103A1ADA4D804AF9713EDC2E735305BF84268AC987D25E618FF5830ABC 664C7D24F5BE04A94B10508F995F25551F09DDE397411C32DFE1DE7BB4B362EE F0E89BCC857F6A90A2E16A87B235EA5F907D242886828533DE028CAF26599169 51786065E65083F6E7998D450209A662EBBE0F47FE9F857830D0A53FB713BD10 1F617F1534AC91EF42C29F809333A085CF82E28FD4C4CE70E005C968FA255598 FB48DCDB10D59E0BDEA6E48DB2DC38A73D7DDA26E4DC6C20D789C9DE0FD07DBE 77C505C5481790BE351E82B2E71797BC63C4FD2E5A3D2200FC869C8731D1C4D4 52927DB2FB6A9A9D94E5A9B82386BD671317D335068F327B80A76B76821197ED 7477E1A0F3E825319F38B5B19D8D4254A568404F573503A98486EA3FE9D90B49 B8FB9A14C78C398FEE336C6C06D26094253CB3C05DE94D479246F98955525E5B D396DB0463D820EFE630E45FDE82A1AEC969005BBBECF953A4E4D36FEA40774E 257696BA1AA6893D8F50A739291882B49D194AA6CB52B6A9A5A0BA572D888611 1D820E39A37484CB2F59442267F69CE3A98AA183B301EF970EFE0CBA542946D2 B9A3376F2EDC866218B68FB3B04F95DAA1414BB2044863226EFBA073668EB743 D77E06DF99647DBDCCD31821EB3FAF7FE8492230D69863CBA258F0E0AB8D706E 32C3D545CFED4D6B3EC8D75B6D44B0CBD3D101217C9188711C50D7F96001B86D A6FDFD52372F09F7D4F9AD059B4C16E96F4E4B7956D7BC1A5202FCCD97F69580 EAE80A741927F939513C39258BEBC1336F60F2F9E1BB946CCB222BB5F7923A0E 54AB540082DD231B11E1F262EBAEA0E01E90D212BF3CBA3CBEED477CB1823C4E B98F9D1D10B4E036AD5E21504A2B9257C6A0183F194E9C048CB520DED328F39F 5BC23801CB9668D693FBA408A32D9FA99A47FB3B29D8 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMMI10 %!PS-AdobeFont-1.0: CMMI10 003.002 %%Title: CMMI10 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMMI10. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup /UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMMI10 def /FontBBox {-32 -250 1048 750 }readonly def /UniqueID 5087385 def /PaintType 0 def /FontInfo 10 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def /FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def /ascent 750 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 60 /less put dup 62 /greater put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2 1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C 7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B 0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085 EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37 404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133 78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE 88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4 C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88 98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760 E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44 143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3 981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490 88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285 4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683 FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F 347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04 B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733 F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA 29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66 36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12 048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0 80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C 9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B 75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E 4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC 74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355 E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097 EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D 543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883 710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6 EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F 7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93 03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2 01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89 500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208 AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE 1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915 85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C 4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1 6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F 55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18 085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02 BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951 2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1 991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125 6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754 E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80 E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1 B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3 4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65 1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7 8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6 AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051 E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD 38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3 7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751 2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27 DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D 22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6 8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB 44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90 D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A 42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E 0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE 66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6 E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1 6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E 1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10 B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B 897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40 A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3 F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126 2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6 51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3 598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F 87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE 178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6 4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78 7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6 AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6 3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379 337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547 C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5 DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA 7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD 6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC 98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355 821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4 C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886 7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6 B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16 A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325 23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3 969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10 3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B 9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725 1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239 B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966 95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7 FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE 44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986 FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4 E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA 633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D 6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD 375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2 6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7 EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156 DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891 D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538 D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4 9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B 9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6 B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0 D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF 8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93 FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26 B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F 00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50 909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49 5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF 7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0 C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1 BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37 BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D 4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075 94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1 F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9 E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA 92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0 63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271 B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9 5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E 86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0 AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180 3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC 35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD 155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580 AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255 E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F 226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496 9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B 8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B 919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7 9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0 523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7 88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D 2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66 B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D9173633D9B50449E0 F9026E7A4CC1A3694D6C030E5AE53C0DAAF90B0046E22E14FF2787AC8194C42A 4B8846856AFE4CA20940A4E53896A851344E2E5538B9550721332077A972C793 89CE532A20FA4A52F80B5D7EE0FF0915523A98E98B71B8ABB4D7F35DA6C05364 A8B3D5DA9B1716C5C4D4402847C5A9BDA2F668709D51041BD566B7E1E675DCEC 1AF4BD172F05A73329FBB30BC7D1D7EC85FEAF5CF1ED6BE70F7526E115381BF2 47D955C5032404DA2FD82824C73F530E15E157EF023A2D9B50F4516A611B3F99 3803C6EFE49E08AE983B4D15CE6699B5111C0A45913DE61EAC437709143AF4ED 0D5136428AEEEF3776F9BA48212963150132D63DB4098AC124EE86C3AC7138AF B90A504A1E15524BA2662D7E0FFD6377FF7CAA3B6113DAB8AF64837C4A99D99E A499EC597828133A4C6421E0707E7E978C9B2A459620D0CB189775816D1421C1 87110675A765C25DC2FB607ECCD8C53F705B406932F41A9DFE08 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont %%BeginFont: CMTI10 %!PS-AdobeFont-1.0: CMTI10 003.002 %%Title: CMTI10 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMTI10. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup /UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMTI10 def /FontBBox {-35 -250 1124 750 }readonly def /UniqueID 5000828 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTI10.) readonly def /FullName (CMTI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 110 /n put dup 111 /o put dup 116 /t put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C 02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D 46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A 4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E 2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD 8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC 32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF 118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA 8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A 30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF 0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D 9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC 8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F 42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F 7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C 0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB 8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A 21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA 206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B 55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E 9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F 220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D 981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F 337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B 1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC 100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A 1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB 72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D 310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB 865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B 301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E 2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A 44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F 03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD 9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F 821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B 9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E 81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C 6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C 392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F 464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA 147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB 61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C 2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C 7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C 9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D 8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B 02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF 9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD 751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A 40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A 0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E 8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 AFFD0B2B724EF0F28393F3DEFD59E05F83ED622EF1906B1A24A599C58E9CB8EA E9A28325A5DD621EDB3642FC06FFB416FB3029ADCFE5D7D23192C650FCD7D1F8 ED7AEDC7166E26191B12F8E56F060D2D08D41E533813A8D64E5B7F2F151EC8E7 E2333ACD6F78ACA804CD809616BE4342A5047C07E7421CCFAFA7B057B6F5A801 21254E447FB15A8D020E976D8544D374B3A5974A7F194FDB147A2350923DDABE 457B7AA8A2D05B2B993D1E3D64D048CEB465BDDB93249897B7470D7885E09640 0C493522A4B260106698DC076B24ED70A29B29ACAD8E0976BC0C4C647716BD75 A008490BD634504BD01639C0260C04DF791FFA51D5BD6DB0B4881071E7BEA3B3 B457217E778ABF7E5CDFFE6E0408A8414C68F7BB0D5E2DFD34798763D6EC004D 0C5E1CD575A379579F80E0036A8D3CE7C9A033D993567AF9959567FF8FC473C2 A2545ED18E039847BD1FEBA958F0C9E5CEBFBC3EA8301823629A588F77AFABB6 5309BAEF9A4E762A1C56434E83FD96ADF1129585E409D3148E4BF724A0E0FB52 8655FC71A34655C85F6D8A0CA2801A97547AA83ADF8C829D0392B985C9F2D60F 8105103B2EB1600189CD93ECAB2449CEBC5D364576B73EB26E8EC760AD31848F 065DDEC8D51DB284D7395A719237CF2262946EA7A90DBF818272ABD8799DAD3D 98FA7ED773708399D198399306D44717CCBF6030C5B68A5FA420B0132974120B D9C8A6FA8D096854AFBD4DF4E9188CA4D9CD3AFD65DA452D7B642DFA305F8627 2ED7406E4E11D522C3B700C1C5D51131D6A8813D89CBDC469AABB4E8EC4A5649 EA75095BEDED116B9CA61D884285A326F1527686A507912D8B44333032BB168D 58A2B5532A76142B3B7F2157D17E70FC65BEC4A9DF1830F40A19FDF862001A66 EF30F571470D58962352EBBEA70134564F6BFA8D0D3E5738875018EA87587137 990C1F817EEBC1C5EE77F4001F9B9AE40ECAB505BC87EB382E6D7D1328E391B5 6925F46E63D26EA1539FC422C4E7C70D6F8B3EC291709E3E38E4BF8A613D5973 FBF6EEA30CFCD0EADA75E9C148EA563A0EA36DBC72D99E72D3EC18EC 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont %%BeginFont: CMSSI10 %!PS-AdobeFont-1.0: CMSSI10 003.002 %%Title: CMSSI10 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMSSI10. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMSSI10 known{/CMSSI10 findfont dup/UniqueID known{dup /UniqueID get 5000810 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMSSI10 def /FontBBox {-97 -250 1077 759 }readonly def /UniqueID 5000810 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSSI10.) readonly def /FullName (CMSSI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -12 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 44 /comma put dup 45 /hyphen put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 53 /five put dup 56 /eight put dup 65 /A put dup 66 /B put dup 67 /C put dup 69 /E put dup 70 /F put dup 75 /K put dup 78 /N put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 91 /bracketleft put dup 93 /bracketright put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 121 /y put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7E94DF619E5D4CC604 78288A019B254A5A0A8E2D5ED465C9DB3CFEF0F444DA2A7DB2022495EA1B3FF8 BA3E769C503BAC77336BAAEFA8F7B4BCF9BD63253ABE621C7C696DDD22E0EDDE ABDE1706338BB5F604B4F42356E2A96751B8EAF1112A1BE30B618E7F7BAA96CC A264B5EA7138FD007E2CBE19B1F008AE13B47252D2956A06299FB28035624C39 08E9E5A4BC08DADE08861DB9940F6F0FA67E97E9A73C9F41525E865D0BF68F8B 6D48D1595EB69B3FF78F5F4B18470370BA219A010F9B5EA904289205DF20C7EC 91A2B866BA05251BD3D00FE5229CE2D2F220B6E25DA5B3C0EAC68979BB312E2C 532264814FF214CBD46C8B9C8E45878C9E28FF334C5CC7DF9D378EA5A37986DF 0450E2D5645371B8C577C28A008AB7A702E89FF337A17D05AFB0FDC55856AB3D FFF997FF51AAD70FED81A5D307FFBE26E862070E361DDF6D162934B7852D2FC2 F3FE611F218E28CE0B964BE311E59D8729C7C0FC2B2D5781F73C87D64E6388D1 D7798FE70E74E76368174F5E055FB8CDA3809536768B0E6028826436C7E6454E 895EB7E435FF8AA342BDAD46A2C7BE5FEC83B8AD16F2C773F55F58870E70F2D4 FFCA12D89B06A706CC204383C0238C17EFD01E0118FA4CB77681CB7260BBACE8 30C8E7B16669700F884F234C36EE9694841EDD4FE5644949AA28AE2745FACFDC CFEF1590F99B0DE494BB0851205DF4E7F2EB88CFF794DFA7958F6EC9197021DC D4C3590B2729779345143AF6C349CBD2F17AEDDDC23AA8F0998C27170C44FE2F 163C1E2FC314C6CE27D6CB497C3A12F6D10B92D699E1578C23B5D9A907EEA297 4BF7D5C4ADFACA310E61EBE5655745FDCC48B661CC2D3EC016A87632AE410B69 C2B98B87D3F46491EE8611E31CE17843B05C05924FA42FBAD7687003C14599DB 08D72670855271EA55082BBF6AC146D452C1531338138D9AAC7E4D2F0CA1FDAD 11E4CB830A9F38A83999F6F0ED15D12FA631B8604D4E3018E625C8BABD8E1075 93F5E17CAD3CADA2210088E71C02CC6654DB4E12F8C2B6B7EADE37E52FAD3FD5 83E45B62FC9B573A6068EF3B43856CD4B6C3E096BA93728B05AEE2BB96C60AEF 58214FD24DEFA63E3FA299289B211A57E4B0CE9EB58414FB78E20151BCED3F4A 9AE6B1D7ED559B3B619385AA8496D6F56D2B353E4B1BCCFA0A50247E283B1540 4300E1119F710664ED5DECAAE9087B8C0CBA63F3FA09F217757B8448D13648BD D16FEAB50D245C198EDF27C8628CC7BD02385EEB04AF8F4C76308BEF4D640C8D 6F2FDA7BED98F1498CEB1226F009BFAF6425265EC0D13FCACF4909B7495F4211 BA32B04A3B0BCBAC89D6A9088C47C47B4BAC36FB59D9B5D73B2E9E926A9DD183 1AE00AC58E9485379FC6DA119EEA3F6E478F22B60A464F192B2F43379407D4A8 795073B4309C27D8E945468055493D0204B4A57C39CFDC951A04E0288775FCFB DE3993852671BE697999C9831A33CADEA75B369C179EB8A807CFEEA5CD97BC55 1B0EE49DCC4B6BF4137124123626A5C91603B01B4E0AC759526C129F6AC5BE74 B77B4E431B596E29C17BCCD1CE8279E9C00DF7557AB25770FC9B02762D7EF141 84FFB4730BB8451A485F784A34647741D9B8D2127D158283E01B38BDC39BFA8D EAE249871ADB347827989E11FAC23F76C2389F8E883B01FFD1EA4968B44D1B1D 760A1FC8F79B50385D8327D6A6381923BE9A2FB8AB0CC6ACAAF5C7701C8F7BDC 81424F63D2CB312235AADD050FC4B71448EE02B7B25C82B6BFB070261919DC1E 32F5E6DD4C38691581D472C254BAF83D7F568016B5AFAEC895187E88AA4D05C8 FEBB3AEBC348AAB84907BC4D85C1F888ECAA5ED2714598384D7369F5FBA0B92B ACA0B6BCD2D22F9F10B27FBF11A8AF204794CED402A3597D2D469A99CE64BF1C 9242867251B8EFEC0001A1ED0F470A4346BCD9DA22C005A079EE1DE3E33970FE 56620C318D2FD3DD9DFBB773B4FEA7FEECEA9FA1923AD4B2F49DAFEF48E1C529 DBE9EC77299E02DEA39C7B91F9E4F6D68EB224F4555F53E66CD00326CCB5FBAE 70243CDD407BE63DF7BB85E70A99F8B58BEC1562C290D8E50666E1E4EAA484DD 487C567B7BBFEED34A65A6407E3D8925E3C667AF40DB0EFBAE2C07EBE60A83DD C1A02842861C994C4D314A87986CC94EE74DD4E29AA9E70F393CF956D3BE586B AC618055571DE00541BA60D022DB49CB62C13FFCB3932DFBFD2D52C8F0C72F1E 9337D95767E376B80AB35264405CC5C385ED6DC9F95535E00C5252DE66961AFC BC7C83ABFCFD5E0A055E37E7D261A19039D47EE792CA30EA673F80C48C0EEB20 DB21686ABD169A45DB94E35FF086C9946F51409E9E0836041081B04F861838C1 87157DB76A983928BB4122798551318EEB70A32C11A412FD56B7805BDA93AFCD B11D35FE799224AE30C3BD09D971AC651D06184FCE45D898D09685009DA35EC9 CAB63751F8241297562AE2FEB577AB074D36381B0E5FC0DD5572E3A3079B166F 56C42FBE6147FBDC7EC2ECF6380A70F87D1E44CFD02A70BB3AF4BD9D350C7B21 5DDFD4FE288F0D9EB2FF4C24612FA759B41D0854C04163DC973570B974BAD7B7 BF766AD59D543E808E8F56F831472ECFEECFA7BEA74CBCCB025AB04079AE0838 75852BDC83E1D723824761459DA6A8920A27282043C38BDDB43157A70D552072 400E84CED5FDFDA0F09DF94431956F304F6E92F3DE5F99874F995B467E2038A3 B9C787E650C4A31B2FEFF078BCAC93ACA5816F5DC3FCE322C9DDB15E34856182 BA15F2D56FF4E91573BD2D8B34767974BE928F10EDB3525C2B259F320DF99B88 87801826F2B6AAB2C178270B27730496C44CC83C8036EE6D7D33D6D4C0D871A3 62B7BBC8D8A4E86AEB2CAE76CC7B091B7DF5516EEF043C7D2727FE569B2E28FF F6BCC6FD3696A85CF5ED26571BFD346494CD6C0974BDE257EDD4A2C53C70FA89 C81F9D32F5CCBAB39A7C00A1BE116FA1254F291AD26C1DE4CBA27BC03C5E5561 8E960A7169F86C0DF884419ECAC607FA82B00CE0B41F7696B2C384582AF6A986 5A9FF800D3A1F4B6C2524F1A4300B9FCDAE2C2050B9882BE4F512FF539FA6BE4 C9577484EB323E7BFA5BDF628875A3634214B14947F7C16541CCE359F72A0E27 C0DB4CCD1653693F7D0BA68D02D5A61AB516173E794BBE4C2C3F34ED9C33BE3C 4A9E20A687498DA1DF7BCB1F6C595B90A5730A10070A54180318A1BD01844585 E78C6EA28EEACCDCB49F1CAF1D21EE97B1DF74523291FCE2ABFE2C000E8F061A 7CAEA494183B9261307CEAC6CD13B362130AE56A651DFACBBE7A6F6747CB61BF F94BF393769F2A1BD493E1E6502A3507416984FE0F7E509D901A106B857E2448 7284E7ECC2D316EC1C54EE4FD7DC9972DE33B46356E414C92CF8DF9E472F7FE6 7404362C8DFF6BE223B8886503A83A83348F7E9F88726CE068C904D45496494C 641E4443D9474344508ABACF3FF3424383D79A8BDFE6E9D9138E660EB3FFCDCF 8F4E01B24B3070E8B480064D946D0D200F4468EDDF7BDE9D3DAFF03B6D8165F4 0CCB584D542D40DC72554A7597A19EFF3BD72B8520EA71A51048F15E2CA53F3B C3432278CC19751B38AEB52534BE6CD9BBD489444D313F8C78C2C252AB25AE6A 5EC7D05F3FC21202C4B30A7FF9E1BDC6AE3F6B39B1E09F65E95292FBB1915D20 44D7212A60408FC0F5A2E957BCEBE93DDDAD35D05D23F7E58A3602FB3FC1D431 754A3A21F181C437437D7A22C402DC82275DE903E256979985B6E794B459FEFB 393317FE573DAA5416AC52AED36AE9E79040097E2BAF6A0C6CB68C346E4EB059 5E8A6AA1C751CA4A4094257C39ED48FE4414BE73B4E0BF6394FAC05CEEFD1C3A F5F5233CEB4625752057789ADF113E1E2F77F5B471A0AAA761AEB46CF37C2360 E701B0DCAE13D4583D8DA516BE2E264230DEEE5053AED15368B6CD81DB761A49 9987A07FC48E1EC246D04D80D86B32F7A093AA23B769B0DBC554EE48DA202C28 55847E3D36D80B7C8E779DFE6EAFE3EB35811A1EF80DC639195D5810D90B4DB9 6BABF8F4468AD92939567DEB43BB00CADB46964B73AE13ECC82C3A57A63A23A9 92A46206C70B027CE34FB81E6919828462F8C2166AEBE9663259CE5D4CD8084A 8BA479CDB203F1B0C3579B3E0B8B8E7AA616D798970A11423C391C25EAD95351 A46A856512518A92C7693B42BE92C2E375047E9DF8620B624AF8DCF2836FB1BA 801C822472AAF5AAA719038D3B53D0AE481753F2EC689394CFF9A911C42BE535 C5B4A187712D487C63A0C8607D67D1DBD0EE766B526184768A93416366B2CCF6 364F2D24B44021D0935CAEA289B120A613378399B53E2B50C11F67B7DC4BB1E5 861D745B7FA3C7906AD591765884FA7D746A19EF86C30309DE0F43D4747EA290 8E3C68BAF4D5F4C0C4E08DCA301E46AE3A0141A58074BA2EBBAD8B3F326C240E ABE33FA5AC689444E7E04B78C29E49D3A128567D08E712C5EC42EC1BD3D95E19 5A7337B8AB2AA410EF1C0EB31D5766575340016CE477CBA3478FB68A98362C60 18CDC9BA410A545AB339B2AAA2934222DA734F6A1AED9942B43B18BAF77FB63A 71059FA66EE04B76730B499FA022A52139BEFF9CA6CE3F9855C7706E3F804F6D D622A6929D049F921079DF979F31828C31A73CA0238C0D2F11BE2FD68F2228EF BDE9837348C10E9F08477F754F6343A39736386912D6BC865BE30D1862BACA23 0DF2061049CDF9F894D73A549C10E7BE7790043F9A642E4676F9DE2B934A7F8A 7B0917DDF3255E6FE122D88DBD80252D0C1C8047A13F835E3FCFBFC0AA1D92CD F1CAB8D1C673EBDC5601B84615F513E4D9FE1F8CBF2337C9FFCDDAC85B6922E0 0BCB0DEF0FA647E6828DED2F5B20F227AF3A792C0C63AD888D7AF39B10171FB1 A24840EDC55158FF3D8513C89F666A2DECB4AA4A1D46503919A4CFD911977DAE 4779F23271C23BDF14F4EF8352D9C66A7C24100C28CAD7BCD89E6E344EEE173F CF8BD462E1C67F06D73A9085A2AD1EA3DFCD19EB5FE217406771B80C8A3EE798 A4CBFAB9AA93672B8FC9D02014F7076FBB477A777867C6A6AF2E6FFE3CBF3917 1E4F68BCED22EC345F87A92480F4568006BAC16A2DAB940CB9F3462D254614B7 78ECD86F7C3B3A7DAF06DA2D790F353D9254133C38D668C38082D0CC1BDC226B 4A7EBB1460735A5CB04BCA4D71995483CDDC9EA7D3E070C00D5EA6DD4AB539E7 E5C8E436656C99F30B3B464E5BA6CF7025E098C1FDED8B76260ACF62D1A08DB1 F126517B05C47376D20C999565399B06CC686A817B226101AEE3644A706F3767 372117607576BC2B9AD2637DD13C76F9CF2A356F1B9101496868EA8875C94C3B D181936A02D5387D1C3C285F2DBEEA25457F6A74FF7E00449FA41878776C0DF7 C58FE07009574AE6B457F3BDE448E71CD04AC7E3C22E0CC8AF56B8B5611C4014 3CC20A39A5FA3D9F6A5599495BA0457109823CE71BAC2B7057AF826DC623213E A6738E640DAECF08E69FE365741CFF8858337131B53A0AF9E49C3655F62E367E DE824A37A5DA853E1DD5970EC07D3594A59DA1AA85D4FFE3E9E7745FA7FC7F2F AFD4B9405C7907F383A5149D4DEACA083B457151CDCE3BA5F0C350945E8B92A1 635239241B8FAF7704E3013EE5D21F421254F23194B537C36F8B673E70073189 8B2DE6C30159232A2D054AB8254A450759ACE9C0B94DE035D9D6E5024E8AB56B 644A5C3EF00A5B2EAC0F89C5FE8D7DEB9BC817EF1F87C2BBD956AFE4DD4B50C3 A3BA4931A32827E612DC3059E97069D3894234BAC0E9AA1DB7B7EEE7F97C648E 0B7E7012CA4977258733C72CE466A2EBA8F2B391BDB7652BC07C2343FC8A4B5F 7C6B926D1B751BFFC6FCFDFAB9CBFF6D630CFC8BF374DF4DFB4B0845237E1E0A E2D044324B4F05C8C96970451C9348E8AA6F1153EAC8BA1C57FFA09B3A181CF1 3EACE89F204BDBA7884FF6F90D1D0CB578DE1CDE56F526AB11F9DEC4FC09642C A68C8F1DD2EFC7BB301279F474967B1B10DD7FBA6B09B95E7B4D34F66CAAE07B F792BFE7755882FC790961FAD109A7C35258021DE25BB14410828F9122E01428 D72EDC917C835553A30FBCAE5D067266A205DDD3AF3A4734371426968A7BF7C7 9F48A5D91B596D765E15356F388E74D100B2243D230BFB33147BBCB298320930 000670CB15B7EE9C787EC751621851C3BD5EA6E70FDE66C9834189A9B0D796C4 1FA4179D594B7E8A39987A3DB806F337945A02DDD2B33D43F1E39FD20F41CA25 BA3B5ECD3B32F961F4A98BE40604BF61732690F3C8B247C6E381AED4F277788E 223F8EBECE8CBA7F48801118966E39D4EEEE3F04B254A87EB21C2E4B00F15AE6 F1E2E59DA6353A45BD0A5BF4B822D86E0E7237809C1F0129B83BA2DF82D5D54A 522697FD78DC73D8A75DC6BEE09FC523E5DDEA837BEDD90DEFCF214640DFD4E5 477FD73B86A08885AC44CEE72F0E27AA63A901F2DCC7C42EC261EDD9699A278B 507ABA7BE7101057297C6A3D67C37D61CA4015E7A46C30202617F3585D719309 7DFF48AF4FBDFC7DD9F66E9549B8B800DDFB2D8AD69B3C6D2C3410E982559191 93498926825E6A96A2CB12F8FD15F858AA28E4F9A9D1457D7B9AB16D9B9D4D45 8FD6853853DF5851C529D134CBE17C6B99A8286519535CC1368407909A5B3CF3 C75B4F86A40BD2EAB1918F03D93A283EB119A8F63E346E7502F0CFD12369B2B0 09A2AD610FD210E8CBAEF4C0498B0E53BF4EE1A00B0C067C113F88E5E000E6F4 FACE37B09D72B4242CD320E4F72F5E123E5578ACC48F604124A0A45559E1DCD9 B58D9EE14F3BC6B4452B9236F6A3CAD7FB7E7D5C949DF2875CE44537DBA8B1D4 C7ECEB76F55EA06D56209E0BAC984AD37A459B6C45B4D7F8B84CA66BF274F1D8 02BF247751733715BDCAFBD55854B0F436BCC787F66B44784838F56AA29F83B7 7D46F0D88835E45159413BEDFEC525BDEDE44291003D313CD2268E240C2388DC 37380A430557D988332DF505B16CE488AF68C8F8626B7EA790121D6ACB87D94C 83418919E0CAF58E41A3E036DF13D13C6B107500902A747CD7D7BF12235A766C 00539129C31EA3E738733C4E443698673AAF4E9588AFAFBD00577721011A12BA D556591A82E2739AC4234917DD7A850C05F595BD87E0F7719D42DCBD9D724C85 520006A9069E1CB2557D2F97D7A0C54AB564DC62759F793D60A4760854AFB05B AE445CB9131D0C14B6A6ADFE12DB225684D8254EFD295E7542031CCADC4B27E4 F579C84F35DC502F17DAD24C1775F15F505888F0C3E0FD42357ED07FB5076E78 E862016F7E5835CD5BAF87CECAC4BC92375B426E9512928E748E0328947B1844 E251F3A6E99BAA5B97045D1ACA798296D0CCEC2044E59F32075BB7CB7C636BDE 755916CB59C802761A99B211EEB550EF9BC14AADC70818D0053993C9F299B3D5 AB1427B463A4D76459385F036A95770A8157D225FB75B2C92CA39D1AE7411AD7 19AB8DEAABDE9A2F7530B474CC7119E4335AE12A9CE84BA7FA92AD46D6A7AD54 A676EF1B2B0F3A73E6FB24B20F9702ED522DB7BC30DD2212ED63C88128ED1FA3 7B05D70B0BD95BC58F1330343EAD91AED48EB4252314CA3B7FF921B61E040858 EB3F545F8A8ADD86FD770249BDAAD02613AD5A45C3997E33188E59E004E2255D BDC14AFFD80F49365D5006821F2A4A2F801820D4D1DA9D11F02CA514EED93425 742D97CC8F84E529FDE0BF4C6437A849A6630BD6760B31870D69C4C15EEA09E1 831354F7C4A70C5F04DDB4B27952C3745B76EE5B168F047E59360CDD5D084D3D BC8BA0C569C7DDE62033CE401D65C35DF34D2875D4E6E83E7854E73F44EDBADA 9368225C6160F4B0C4032A9800198C83EABDE656CFC1C1B65993D629A1BE0263 41D83EDDCD589F05D1135AE5FDF759260CAA81FFA75E52E7721686F09ED30B6F A7E3A8B23FD647A7156FC46A098835E130519E9B03D51BE72D93AFD1C8E26369 1003E8DECAB113FB42AFEC3EB1B58E4D4C57DA6A7EFF05766E9640AD6221244D 863351C7E11AAE874D2C37B6AD9F9324344621662E0F626F85F2466C4DD58751 8CF9D2ABFFE134E2281BEC8D06F7B41B1E46873EDDD6D5EE7953B988399A6C98 57B8186F02ED58B05FA74B94FD084CB58F31EBFD5EBC64404C2DAEF49047078B 06C8A968F278BA7BCA00EA900B268D520162BD000C1F8359A11D488DCE3E1240 72620E53A10E1A0B555FC30C8CC126593508297A962130FF121C9621988B5909 B8DAA24AD638AF9C9E4B9A8A99F13E8E0E1A1C7666BA3372C3432B5BD650F404 BA14C3E9EAF67AD47B14035E4555E73E38D51BE87D6819BBE989CAF6F7B670C5 B0D37784AA64A2F9636175C36B9997A071BDD275850A4F13A09FF65D57BA71AC 87EA99A7C3C898D707553AA905E009F13662C2CCB8A22A4D6A236642F9EB8BF5 65CFC666A8087C4B9D2B67E91911E03F9D9898B246E414AACB8CA8A22522A688 2F513EE7D3DA11312A2B33128BDD0D9611564C99CDD4218B6097B1A8D527250E D06D7A6E316CC400C43D101C708062E98B2E3E6F0C2B4843A7615CB8F7A62B41 1B6E77C241BB03BCB2A0FDF5C777A91F0B28330E00E9D2C9BF34F9861C47C420 B509E436C446CCEC37AE97A88E17EDFE1C1451E1F922E7D6BF1C07FCF5BA55E5 086C44F64DC8CF01E5B7329985500E0843243FAE19FFC776DD40D3CDFD3F3F5E 380A603BE26E115F1581FA37FDBCBC3F74BE8B7481B377258AB9883A9FAF4AE0 2BFB5505446BCA1A571E27A0D6DAAC312F7F5893A55D366E629237CD018458EA ECD90980C2E25FF13A928153E48347A50DBC46E60BC23F2AB1A25255C7C43B56 ACF69FE81D608DA6A4744E88A4E6B3BAD37085DCAC470CFF413429B3CB33647F DE74E89C657FB6E95DFF863F70B0FB9C9AEA84AD4026907A4F2F1F5B73394E54 5F24857D07F27C2B7F05565BF9B8227CCC870E578EDA8333B280CFAF6AB53FC5 986EF9B3DDD2F97418526B89F3C166735F1E9FB8DCDF274326E41A9475789638 29DB011B8508B09FF0D016ED1993382FD8B112AE89215955E34DC8117544FF86 9BBEDFD821636C4666D5F85A6285B4F072A6B2BB39983E940AA149335E5CA57C 9227EFDCAC25D1389D048192A848E2B57A0DADBD54D759E24B73CF56A580C38F 6C0A41FD898F28B86A7E35F1D9C6301237C35828229C43A10D5C2F624EE80616 CCD087884A919301754DB026DD7B5D0BF7F92FDD3663935D92716C0A6D73E432 55E60BCF8E257E2B16BFE9BCEB5E1CADB082EFF5BC8362760F9DBF482AC53550 DE8E7307CC94A17269F4E072C214C30965FF8001302A33A6682FF1B646E7FBD9 82FF696174772548F04BF5703272CC5243915C0BA12E1E16A8A13FF1CD91832D 14EFEB996D87395BE57985614DD69A438F06D3EA35C1984FFB124253DF153BF8 7A23E50A601A34E20EC2ED6060B4A305BFF150E99F8C1DFC5FD0B149AEA55338 4CEAB0B7673B8B33D18E2BDD3BFDE7A0B0269645E99D74B913CA74225D35F3F0 4B7B868BAA796203E6FC720E6CD5753ACCC84BE4A4693D83A216C3D2EBA24606 EC2AA7D30ACEE8DB8724D14D4DA28FD3D0BC8CAE5F05E8F667308D5D291DC1A0 6A04107B93A6F3BC4F5C43DD989CECCAE3C263F32E1D87BE884203FFF304CCFE AB8D782E001263982E436750E53C5A21BE7B9F25D6B6CE178C529CD741BC14C6 A9DD3CFBFBAAE1381BF375F622054AB84E487A9715EB718C09072EB43F173BEA EE0A3D981DF89F3E2911C8D0180B2FB117022CD3BD2728FD7A2B210D22863741 5B67D94A4512A6CBF00F451E27AED24BD1E94D2C33CC1F5BF10618840106C79C 0A70C547B6A739AA763B975C5AEEFAF3ED37DFCA33BEFBB6F17E8DE96E6E9D93 DDAAF22A7F369F9564E688729112E25BE2C8952B496196705B72AE20FD65DC7C 177B4564AB3F5E2C0D744209BCDC6E7D732071C9EB9F35386C29174C110D3714 00420597CE811D2A891F845029FAC350278A79641FC2E62D8EF85DC4DEAD6362 0945B22B25EA8ADA8AF3CDC1B907510BC028EEDEAC9EC1048B64B576D3B95FBB 0864D96DBFE6408C5E680717A4C6D6BEC5D997699DEAD866315D28483F96CDAA 490643EEAB079C47836DA0BE6EB432467BA84AAB278888E0E3520072AD999759 B3BB99066BCDDB347467C1185CDD9BE1B6EBBA0D1348D1F4E41A78FCDBA97AE8 D0A3A4619754685259ED1F24CDC39E36651307384467D51D7E15707B8C0EE506 1C9995949B334E4891E0107BFC45849AAD5D13CB0500106B9E35D30F4C201AC4 6C7F64C49DFF7921BF765BA7A840F757C192A21986765CC69A0B8B5678BA03EC 06392E18756AFE81DCDCF2303EBC515E7314A2F030D6D5982E971B6E76B75553 6EE103CAEC61923735BE23826E6188D2026B9BDE6D5EDCE539AABAEC01D390D7 1036913A7D9149AA8B386999B5A78B7EF5315A0A07D6125CB2A3E0C6A6FCBD0B 627325730E613C31937DA670530780EEA08AECA730C1246DA651357B7E4CF808 ECF5E9E2ECC28357E4F5857E21396BC04582D0CC7647049A830AEC277DA82E31 FD28E305C18C408AF4C2EAAD1A780BC7165494EED0B109E7A61265441D0FF0BF 716E3A275DDAEC49579CEEE0CAF3C1BDD39DE0E958848550405962DE23E298F8 EE78171374FB6D4ECC267AAE3A44E986CB5067958AEA67E2F5FAED6F3455395A C9D57CDAC571B5225619FBC801C322004589CB676D04CE4003E534FC74AA77FF 1A400A6888EE3A1F395D31CDC412C39B27A758835DA380D319A7C4586FA682DE 4C2C311F3CFA0AB281D2298B97053039AADA6136ACBD090582D552F7E5DC2335 2F3920C0B7AE12AEFEF44EBE0E5C46F1C8723DEC22F8D4A4081C88105D41D305 99F11751E1CDE4F9A4FD1DC5F46620B18ACF5273A0556B046C2CDF9272A6B093 9EDC8F4A07457095C29D741DA644540C97C8CD4DD6422931A875B7D508ADE031 30AE4E53B076358780D154B8DEC44CD4634415BD6F6A5ED4FB67B6C8BFE46E04 0825E942E3372DC12364DC4258D4581A53C84F7B40FB8C2AB487C40C076FB2E0 2119C09604DA55D04A3CD71A64FE3CC40630FCF4526CD23D9209C38A63CEB5DC 5A38AB584937F75DEC7849C7B87B986D2557EEC20A621101055EA371E13B0F44 695CBC4E1399DDC577E9B254F10144357C88F1F6FA97B2E7C589BFC16A4EED08 85B17967429FDCDC16A22EF656935BB2C5AD7C1F7730EE9CAAFDDC680A876555 0039AB74B913EDCA4B4847C9EC328BEEA65BB634FA3CB8A830E3D244C25ECADA 9C3F7B64242779AC2CB12A43A90994D3233D447EE89AA1439FEA5A924AB77B15 0321BC42C8129FDA3AB471AA002F9EC629E0E59D792A6EC43C7DC815C83BD7B3 E8859C3CF707C700300BF475F585B2E61599AB988728DE07E8FAD97794F7F72F FAE04D436AA069C28DA27482F62102FEDD78B0FBB3DEC60EEF6F3B34CAD38DA9 4C580279EDA8B9978315805539D3FA0F91E8FE31BCC0D841EEF75CD810F95714 19CF1FD5834AED4C2ED817B62E571D4C42971788692DD2C4323DAA4032323A2A 1F8E91BE8CAEB35992C890159DAF1EF50FC2A400CA13F716A694FAC7EB165714 68133A6889C968D989CF9A3130AB5DB9EB2403D07EA6B6A9790B31F54FD5D039 749D2B1D5BB579570600B5C051F83E2EECCAD8C087879270B60AA966C3FFE28B C8F7E805074D665524205E93B828909410FEC4494FE71D2935EA75B8231CD600 B13411538D73B2EDE351F5C135A4138F10EFBC2EFB255FA3583B90014BFC5476 5D9DF52DED61C7B8D1D03D2AE323E2F97448546BD4EEE26C24AFB1F0F07B461E 7DFF0C40040385B56080F2D4C0F9614450A26A73FF410FA05DAD6865E207E3D7 CA06CA08FACA85DA4BD5494E2F6E59040063AA4D5554DDA97AAAE956C340D46A 04A3D90448FA9C2E4D803525F04FEA55FA48FF888CA9859560F90EA2884F04BA EFA2ADC837D0C3BDD94AFC36171FB44FBF6C9410115348A4A0C3CBD799F05C60 AC944711AF4444B5C1B9A3A4D8486B036E8EB5E0A614FE46D0BD2C851AAE1A62 E6BC80F4DF23D2E8219D124D0EDA1A1AC4E0F6826F90583D1FCCE6072E3BDE39 D7AA16E0F84140812F906A63F1BD8693FE1F60259D3CF28BAEA60CA4F96A2243 C09331B283F4825A85FE23D27093A102335ED62571FDF43760A5C0B6780B8AFE BB793C128307E65058A06B9CCD1FBBBAAE2A761179C4C4E1AE06743178940C58 FD24711ACF0B16C0A1FE73AD4A2D43A7E986B3C401AEC31A1282BC489F8B2856 2671F43D11CC7120789CFF12384E8048502BA3C5550635FE41F4B53D2B14FD50 B4531FEACBDCBEBD7FA6F340732F0C820A5FFF7A1C505E9B82AA5E805CAE5E5A A979CB66A9821A8443D5A0C30C459ADE51B87B2088A12ABBDB85B12E8044F994 900FD73E924A4EE76A9FD4C5B72AE3278143C79CAF1C58993C575940A6CA1CB8 5DF299A27CC978DBFC845517A1F45DE76057CF1EB854044E1F0DEEC492842C13 C46509DCD78185EE8C702826BAD9988370CCF24C7EE4F64866BA4D61AA2CE114 153FA58F17B5EBC87EA46F2F23634ADA8957101340092A3703C3E7AD3A7C2C40 73FC655531DAE01E1901F71C2920F825D5BD2E60A8B4C4D05518C631CCEEA92D 729C8ADC9359D1C5B8CDC769D945A11E7B7B0B5A7136145DD77C84EFD04DDB7D AF1305234C5235D94FE416BB2DFD7342C8FF24B11A07295240C9E4519B4E3ABA 45582FE5007A008602885FFA8D0C0C6E4929724EC8A1B1919ACEE2A84BEF4E04 182BC6D6687784B6DE7FBC853AAE9A30F903FCED1D16EB9B5FF9DC1E5E6EDB2A D43F7E6497BBD11C5A668E6D76EB494790816FD4B3AD01F7FE4DCD3D045DA8E0 8D98B214195ECDA182F6052E443B71AB6EA5D68086449390B613C69D3A0DAFEB 2F29F4F306A47200CA7C1842E7F329A77F9D04EFF1636899B3CF49FAA3260ACC 9B278CB5E006A172134D2423396B476758B49C4B75E970F179936D2FF45887A4 04E9A6D932EC8AC7B3427F44D0085C80AA5FF08C8BC5FD470EC499AB11772920 8B1868513D048867337053C886F4D5048210BEDC4C589375CA9A1440414F2FB9 E80F9FD5729157E6DD07B2B0068F6AF9394E9C17252AB81FE68DEB609AD8A42E 50D5879D4D638EB76573BEDB6E78C3132F016BBC547D4391558D228FAFEE9A84 ACC27C6981A7294C55C87F6E3C4B4226C86D99D17E12FA91DF9CD0396B740874 7B3401AC08F2F3CDE7FFC1C95B8CC48D63AF009E4F6FA1D12576EDE381B150F4 0372997921D0E0B55C94169835A7091A4C335CEA972893D24386A1934F9DC7CF 31FB39CD70EC9E5D29D76BB9E12D3012F1B771D0B0F5E97C323332F4F89BECD0 DF217CE4C2B0FFC095FFF3DA9644FF0DF043562D3DB1E40D61D2236E43245232 F48C21CDF7E1E7C7B67B823784E45A178C724199532F5832916E44A0003A82A7 6119AFEA841CDE11182F04E133033CA72F75BD1C911D914455D9B1DE47B93E80 F74593BD8385E33064F7524BFE81BFA79544B1A2F7E96885054DEF9FC36B52DB 7ADEBC340616BCA96959170EECE50AB2961DCB39BAD3C648028803BB5DC10090 0F0AB818841F736B268E06EBC317A45905C9F723078561177D580BCEAD729328 4C987E6071267252AE217839E7213E96170EF8B24BEF73D40A65D501A63A5E7D 614F88F7B00A0BE3BBA4AC04F2704D9367231BC7D23C353A264E6191F67398F4 83FF7E7E9365B476138A083D378A4C448436542DA895CACA5F1A465A188F55EB B9BBFEA0AEFCEEAA5F2536AA8EE03ADE16A1A1B0B34E53ABAF34E4311FD26FC2 81557A04F4D890B6A1E26018FC3E28DD57E46109A30A5FB65AD121C182672DCD F45D1A738E62B64B4224FA20FD0F22E492548B07CE1F6CBA0966ED1D86914424 C0BCBE258E38F5A6972122856AD38F87840BBD154EDEE7DCD9BACB834E63AD7D 3862D8F37BDB71AC595D8378DFAC81BA749C7CB1687ADF5F05EC8A18A9C57075 D2D82275CC9B8150054526BD78284B43C6DC180468A386C655503A3EDE694FBC 7905C8DFBD8F573BAEB0839A3C85E9434F19BBB569827FBA207666FFD37F1BDC F0CC71A277FAA9E3C25B5D6E3D24AD9FEF1782169ECE7CB2A2095613095232FA 60CA70D962AFEEAB0199759B917D83DF7F695BAF5FB55DFF040C9E18F219D59B A0429CA824B655448210888BAB47F407E878EF29933577268FA8CF3BB764DEC8 0337BF121ECAFF024EC0EF18B56617CC47A7F7BD2030C6838D5DBB67675C7A79 D0772A8B515DCE57C04DF173CCD71159721672AE541B91A1BF7A45292D95FFCF 2062E7E4A01693750CDA8B9A09E742D96C0A9A17C5C39C0EAB3B1214182E7D55 873BCE23E46912F44EF6B9E3C7E50E340926C30A1FB1AB638EE15617301B4197 B85C1C703F9A54D51CA10FD6CFD0A7659899D0B3525A8608A437279160D49393 88E6E3FFBA88E5CCA8F833B6FBC30F32DF89E717347C464619E0EF172C72ADE9 628FC3F22F6FE185ED66D87C992823EE779316BD7016B42A8B31D5C08A4C77A0 24BEFDAA4FC771A54716DC19BA9A3FDE31A0127AF69730A5C038C96540980E34 A60C64683997CE491CAA40829171EE1799665B3DF16F8A3CF1E4391EA3FE2E55 41E19008BACD478B900CA9CA3553F854F6C506CA466D9CD85F77092EBAE37D77 B6217ADD9C1E70A20988F3DBCE74FA45B0FA5A850A051A216A090F69BCC1AA8A 2C5494E79DC7A74355D890F2E38301CBA018F73ACFCA9CA9FDD84D870A1174F7 D36FD7B1DF9B668CC8399924E5AAAB1C1D5EAEB66CA9A45DBE10073E35826ED9 863EA4B88CE8A3E0BDAE1A709F951230712B0402C670C17C886919154C974220 935E16E146ABCCDE8EB50E7E1D569C03E1D8CD3CA1D2CEF7C3D5596EF61471BD 0071EAC87F998209F6B77EF4FD8CBAF201F96BD911DAAD9AE38D4474B77F222E DCC9D0BADFEF1E5683884511DDE519ED77F655222C54FD3E6C6689AE542CBCAD 173D609CA323F55DEF622D8973FF50B0291D7B29D5AB1B922BB8DC0ED492A49D 3FF1590B5F01A87BC4E40D3A2978D09927DD0C7081F48C967EBCCC49A9DA5057 78CA0C 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont %%BeginFont: CMR10 %!PS-AdobeFont-1.0: CMR10 003.002 %%Title: CMR10 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMR10. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup /UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMR10 def /FontBBox {-40 -250 1009 750 }readonly def /UniqueID 5000793 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 33 /exclam put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 58 /colon put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 87 /W put dup 88 /X put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put dup 124 /emdash put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA 0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A 2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E 3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B 03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A 8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E 94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C 8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A 64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B 07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC 1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A 5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE 0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D 38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C 0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D 4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F 3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE 15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF 7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA 4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B 3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED 49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B 8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B 5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC 17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D 364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F 7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F 26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD 8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A 65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A 5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C 9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B 72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB 3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF 2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF 9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A 2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED 6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B 7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A 8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC 41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F 4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF 9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26 71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629 2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B 75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC 85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9 44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3 2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5 C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92 BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE AC1A283A5A9670ED2A2073826941E9AAD904A05CDB5B692AF725B6B9102574E2 461D2FAE65B7321C0093A2A34996C214331F7A91B4F74898E2FAD14576F81B1D 688DD9ADCABD51FF07C966B61B0118F09E24354A9F75277B03026CA1C783CF92 76255E2A560768B3A8764F0BBACFC2BCEBF870EC12EF096A2BE42692EA401E2A 3A12BA99AA66F8BEC315412BA9A17E6574742A624447122C877F80740924F346 0E22CA288DC767537CFC7236CB28E31AC2C563B89563D0A57F798CB843680E9A 26A03BAD01DA05792528BDD89944986C15BEF8D3E84C08B3CFD68AD25993B6A3 903A215F9BAE352E428CA0E862EBFCED059D65F3C47D22B2B8E48E97507E8399 AD4FC0BE438049A369F1C68E0430642B5CA02080DD55A96E34ACFAC469B18732 655CE5C09F9E499346B2E0DB6FCD5D64384C2F529685F91BFAED8E85CD5704A2 54E457F74B77B97BC47EBB0F292F8B9839D248B20DFA40ED6AC6C136A7451F9E 57FE699CD9F0CABE94AA602DD5F17214F05886AD032731EDA504B76A19DCB8C5 02B38C86D8D507AC17AA803E5A22632DD205AF07F8AE35EE4129EB0B37E20231 463C95CD9943F718E9635F8765BC693AA01D8B18E0318D56BE2225A82EAE9027 257F2186CF716C6853EC7389FDC1874319631E4C662C9C68868890B42D93A44F 4F90FF43CABCCE04E27E3D9DABF95CE121CA4B3389E3FAA8AD725CFCC84AA3BB 820A654E2172ADDF88F7AAE1EB3E34869AD5A9FEE87CB3C125AE6CC4F723DA9E 6E7040E6A0131184185A428C37E133A909D6CBEA24B0C9920CC4A8F933F7D7E7 1505B73C16EAE85FFBAD53C403EC4BCD0B75DF8008633BCACB1FF8C6275B0025 F5169291029FE697BD123AA4EF021B951DAEE133E2A1C17F6B89FAC0D0D8829B 994386AF7574278AAE385AD7B587A7E8E59EF92E6CC1D2BC815E17AC56D1946A 608EA2655E2E2A8DCCBE54353F36F4E774CF776840DD148024FB210E217E0852 031A7D7F36BF1B708F787EDD1CAA6A64AF0E4738E5785A13DDAEAD02B13FBD8E CAD50825E0805A6B7C6A9B3D9363DEE1FF11AD7311DE1E29EECC0B3B592C4E22 637826FEE4F51D273ED865B89F6E1A6A781D86A0C662DA545F41320F1BC615E4 2A6E79BAA8C8D4127BA30637E2548D045FDFCB7879A80950B920717296570932 E1456B873972DE35878B25BE36FD03D80D7F0FAF3C270451B5A9923E57A4F551 67FE8A2F947030413B8C42BDC2E33ABEAC4132883FC9107AD8C633ECBC2EC7B5 5F467F12BB61BF99669E3449EAADC717918F45CF83D8C5A955A34E87ADED2BFF B3A4972640A8BDB9A8A3593C10F20A118BA6B85CA52B36DF9185814B65B339B6 79F5830E4BDCCF6D32E9BB5B03E860B59A297D7DCF797C8F18CC0644CFED52DD 450B0D34EBA62E99CBD1AC1A0CB1E7BB27C347E379817760012E134F225CB1B8 A2C0F7339B45431179AB4CC2F2E6B107A0F419AF8DD2D9B46E1F8C42A3D70C7D DABE98B213EA221F1129ABDB9B85AD5549133EF4D6C4D74EB5448642FC41D20E 9994A1F6C35E1C0A7E812419A59B5310567A38E88190011E19389EC52BABD91F 477B06FE855C45A924199B057DAE78F8DE0451BE2D39031BCFA0FC4F604F7F00 EC0A18AF6E0C71CB53D01ACFCABB35BD34693C21BD24037CA7A96E3C66FB6A93 CD041D9A34FC79121E46873EDDD6D5EE7953B988399A6C9857B8186BCF91C21D 63B69BF99C8690A400D1CA2FE0E78ED83CB3D71908740B1CAEF5127D119986C6 0E8474360DD1D3A7ECF49D9E6EC014E952660E9E16109F9CC8170475C298C715 49E86B585CBD2B71DFAA94111B892DCA762BCE71DA37C609A831C2C5739F4629 05B1C1244304606C26777E858635C1A842070CF69B7333D58873663239C9397C 79645EE1471EB95D5ADDF0821009F5686D8E1027A7D7B9990F04DF98ADD8468A EF74790EA23BF76211CD865F328F54DBBEF0181E9379C2A199464C4E1550F7B9 6BD586A956F89B8C0E91891321A1DDDC6B39335C85E12121AC8CBABF042A6A15 7BBCC127E2E2011181E9DAA9C0E01D0F11FE571BD75E0493A03EF1D6982AC51B 003A4D5A6099CFD9D88FAC3D958013F8DE7F22E7FB13ED50BD3F26AA67B8FC1B 1350787B084ABDB846B808969D529740949C437A7DDFFD4C18A858C2ED18D068 E2C6C21E7D2A1403C4ACB7DE2DFA80E34A90B12646B3A5FECF77538CE55BF99A E121F495A9135BFF73C1A531D5F9AE0D448ECAC997FB83DD9C099B73ACAAF2F2 9B7AFB6D1710CB6E2D3C5E05D7A90B5BBF36845CD641E85C4F6D5103FD92791C A43F0AE5BE4ADCCE414B562824672DCBCBEBF7F69B2C513EDA46C9AAF35264F5 A590CE01ABC8EFFD9B0B6F1AA6DAE282D69E25CB2C0BB3B039CABA8FBA79D946 765AAD67418EBCC961ED8FF9D514EB7A5042D9D52A210969CF48AF899CF2272E 5D4A4C2001B71D52D3E83FFC086397EABA35C15A5B0610214F0A6CBAB285A0B9 DA9475D34528238F3697113D936DA8B01806128E41A91EE43C4EC19A0D63112D 71A72A8ABCF89071C9EB5BEBD2166E7CAE33C7522AA1AB43F5D26BB072F2540E 9612D605E39346DF44036D0E11020AF2C67BDE0D385104C7C0839389DF2DE45C 75BA94A27BD08AED6F66E7C536F6759ACC4C6FBF1E3B70E1A00E87EDA4C7B9E7 AA036CD174EAB0F5CBE249C234AC0A313FF090EC82E0BF9FBF432EF46FEE4E36 2E91A4B5F518445A66CE1C1B433FFE0DFA8F2BC135B4DEB7D540E46CD2824DDD A8CF5C7004C2A603DE8D88BC029D03BCECD2516B26D8C8D2A4F3F90F622382CC 9ABB385D300EAA72C74E18A9670D2576675EA38B6FB6CE8134B888F972723266 4259182202DB21A73395BCA830DFEC0A2252A1F976B7A48101ECA141ACD68FCF 7E1E3791E910896957AE263EC2EBA316F10AFE92048510BFB0D09B560FF43A19 CA43E66167AA9A49D8948ED4D54325986EE678833815E2F744AF97D7C02586ED B98FBE60B6F7491BCC891E8688AA96B495873B270AA3E60391407D31B5C62854 B3D276E1EF1B97C67A3A2A384C92029F3941F8768E3FBBEFF11615453BCB4D3A C46CE7AA1C6AEC94CBD224C35F11523178F724DB01EC7E67FCB37C0796597233 D90A21249238E0092A1708B1A968EB32FFE46340DC10B9EC7590C31F3DA4CB96 A4B4D3F47AC0B592C30DB09B415495635BDFF798B9CFBA71FFB5F4FCFB4ED010 74C776108CF5F166883E54D1FDBD0316F104DC95DDBD1FA5CC26D439A9687BD9 F33D19327646851E976E986092C6850FC3B010EE523352299DA2A2209688963B 35C3521EBE7C5497413D4BD74244CAA8BAE0E25601F2EDE3CF3F028E00965DEF CCE3E144F053F55B75BDE37DFB709A424799F8DF33D9271E20F0913AEB920AC0 3641019D7735DE32DC8120E63045002D044B71370D2195B07457A646A203D58B 74C3A4A0927374A0D87992244FDD432B79605E1591E19AD0E79B616787F348A0 66401EAA31ABFC926F03982C54D7D03E02278C3CDF154D1DCA305FD1D602269C 73C8B107D49B98E5E0C823066636932D3B9A492B777A5246BACE613DBC2CA3C0 30354B824DB613D561C49C85A31472E074183D3427FCA4CB60FBD2CF9261DCA3 EEED67EC08D704A5C76187E8FE00747407A1C3C0D2CD37814E058AC017CA546F 6C4C6B34EEA836994665A4E41C750E53E61A74BE0CF33EF1B7F5B2138AF50A52 AE4A7EAA8D51402EF8AD97296C73BD7041D048AB23E6A8DC8F1FB53400CF2CEB 91C815998B9080882620469AC4D0251F21FF313C69074164C253326CCDDFC28F B32AC6A369680233B5F65CD966D4A24C782DDC09305942D9D5334058573A75B7 2F5BB465941B59D8ECFC37031A9DE46A8FA9ECE13E0D01EB0532153D5C6216D9 C9F43ACAD6C5DAF01B737E30BF4312B139CCEF00722ACDA099D2E3B026BB1896 3A81D696FB4E01A4F028DC5EF2E073BD163C11B1D33DA05721E17313490F4CDE 233ED8AC7E69264270AF05EE7FD59641A99D3529DD3B8224D77F85FE0C0FA84E 5982631047678177BDB1EC93DF74839B0D2B28C3EC7D6505E47D6E76BD5C9CC6 EC08DB9DEC5670442C353BFF38589785CF58BD802870D89C85F9ED422C5FDE3D C0FF5DAD20F71DE5A8EA592AA84FB05F2673F4CA1A38DC169CC6B40412A7F5CD 26A041E7FD808475B0E9F612EC00075FA5D1419F9A6EE0D3DEF420127F7C3C3B 405D04931471FE89F97A171C4E8118331723BB811D3E9C54875B2146E9555BE7 87A8BA43CB32D81E9A0328E93EC7C5D9F10B663B4A29EFCF6A0C6CC0E315A83B AB96B42A9792F731C249271CC9FB13F198D4B2A61465C958D38C79FC41348ED9 C56652892C0BD2965A1F5B6132C363163D1F60CF7601DEE167F5F2576189EA61 289B87371E8089D21977D5E9611F4BE039132A78B7F60C1B896AE1214578E550 75B781E183F46FADAA2D1C235B021121ABE6D0F3F07AB62D3E9AA5858D29458C 9FD93DAA342F7EE545CC302E87B5781993A3571B347735CF8743EEE9BA042D9E 09F44EE4854F5312AC651BB7042A1DEB52F28334EDA5BE5A647C3C98BCB9E123 B8520BCACCEC7E44C1B460FF152DADAD834A4337A4F3ABD7BD597B4547380FAA E6D63A5452671713BCC9475BD6D9DF05E57E2CFA6521C575FEED4BDDF41F3DCD EF0A62D30B5D646E907407F6671708D2E93CB86E2E14E7A13680158B6369888E 623215498F8810A77688D932305700C0BAF6F531D0AF48CC858945C7AC4D2155 BACEA3DF2351DCA1E675A9164BD9E45715F46574FC956197B0DD7B3689184396 DA726793683C16CE628F19377CBDCA9497951EC5A5380DABFF783CA37491E90F E85599447DEA5FB3CB6C2EC95CBFFF9AD28992870613722CF009287F2618A354 56A0137B99EE21355A7A2950955D1483F5FEBD36CECB32C41E234840D6B3E15B 2B858BC442594669827B752E4F0C4C21E3120615A67A445EA6BB8E192215EFE5 B63E669303FD91D72612DC32427AEB32AD1F48CFA187C7D08E41191C9CBB1DE7 0DAB1289079E84AAC599CAF4692EC27C297C2F419D579A5B46B0EF83532AC9D6 854D8CA02890BA2948B126BB018E2FBEB9E96F3B52EC41A7776C5A35140F3893 EFF849FEA4963554D300193E89B3879BA0011B35EB850B78D70E85B5BF8C2C22 762B35F4478601FC3AB06413D6C26AD26D57934033B1AFF5245946F87B6D8307 B0BB18EB1C848C6F6C82D5AB21E42F25506C090F9B89CE5047476F2034FEEC96 E6C1847416A0543775F266E73D534E7773871FFAAF646D62315F5E3A47D09445 B18516E452AE332560A1793F80D9F65CF464223A9740A7291F8314EA87FC11EC E41D489A1C263A0B11C7D838FBD8C8E13DFA6F3CB88C163DD95749AEF53B2C52 18A0D7E64AA1ED89A7B7BFBE653CF5B287636A94809540D7197900BE39D18C7C D060BEC1843ADBDBD5AB1F8DA35720A7D4133C14C19C81BDA35BECD81AEBB4CA E45903E6D944386B92F56165F27CAF7B20F3440AE425E167D2CC79CD5307D190 8F288BE070103DB7B3C506BA455A223744CBB0D921B270DA922287758A6D3912 E32CF5EE0121CCBAB5DA252B4BABEF2C61908A21E2BA209750ABD4269034FF0F 3980002CF653AA398268E8E2560D32C090E3F6D90B77A87C08D82444D0AE000E 8CC562C0773B8E0AD16B9B82D177B6ACC21E91EA84CC8AE62F63EFF6D632F30C 27CA5B9A3E6EA20CC7BE934007F73B056E4CBB6041935806ADC46D9AC3AB7AD1 15041F513191DAC59745AFB67A821BF400F4C41EF7E1D056016248BA883E89B6 260C62AB9F70090D04D91DBCF3D315C9E13DC7141AE73174E152632252F22CFD DDA96F8B25840BF6C1FDEB6EAE57E6DDC58399EE8540614F2862475E273DA1E1 CAE15E7F9AF4C9A74A66BEC3854BEB1196A3E94E53E2C6BBD98C291719E53030 BBA9CBB1FAAE31389D324A0B00B9CB380694149D74EEA7186C27A87CE961E0DD 15B5D3C1E452E1E22AE11250737C5215D5F187B7739A5EAC13BDD829D1081131 AE6CBA39DA326A846711E5E33E9B31B082A6A7A7AECDC771B8F2380073A20803 4B14B7777705CA83AC0ECCA867C89FA4B2B654BC5EF0654DA81DE1D9B03729B8 0CB0873477B739476D4A23A81EFC63260FA461611960F689B94EE9C44982552B 02D710A283E84A67102B57B53942435D22F798F5B4F164CA3B17C20B9D94BE97 3BBF2D7C7220CC6D41C71E83A013104F5AA9F7E1353D115B622B5F5EFA95296A 0C97FD912206C8C7C467286A685F713FE527D94B04426DF78DD44A19DB94A158 5F66F8D1A93152E465827884CF5693C5B69C7AD7A104AB1A27FD74784F0378B1 2AA00C7B04FC5D788F0BA82C81DEC0CACE755181DF72E231D46B8E5A97C88681 0CD9F476FAD370FBB2668E48B31D55BB964A078D40ADA170A17263C32E35E40C 9C27F31BB31ACFA06261583D4224689D53B61A56E252F0A936BB747E0167EB64 18AF31F967DE4878F3B4B354A43F8A32B703424E9614F26D67F1D3B2BAC82C30 C25830F63614D85B362E0EDB01A2D46D8C16D6D154116EAA6310644BE814FCC1 E5594C05D6A7485F7433176651F1B8329AA5334CA26B3501654E770B3C00176B 4E34B6AB7502B668369F81BABAA8C34ACDF5C02D3A7B72A972D5F3631D12B3D8 04F5309F74D52FE491ADF7B0FD4C79D452478F055A5A7AED37B374190331C1E9 32795E40596E940DA034BF1BD6181A2E7D84DF61B4D1B72FDD793C064693DBE5 8152EEE1752C8B38F1A0AEB2089389CB7BF2C353334A805204DA8496B5344059 E30CD43DF34C5BD40FE52D9D90E2713F0CA5E0231E06423B6F62688EBA17C137 5C2DC50BECE8AE23D030FF1D8371DCCF73F1F8BA83B6FAF26FA8F675967EAF0F 4AB529600B0A1781FCDFBAAB30F9DD313E834EDFFB1F64512C1FE701098F77CD 8686F7BFA53730CD3BE819315492E77E135677EF09CC71B1A4DFFB8A491FA2C9 052783A8FE7BD599F8B1D47B3E440C6CD94DF036BB823110AF7F7EA4A09BCCCC B8093EECF3C734294704EC67269E3FE3E59DC6DD39DD5D0BED8080B2197BEED9 E164ED36CC893993A6484414DE23A4F59E4323C3E04C15A992BD7256F98F8113 2E3BE53E4F79C03BF22B934B64B7153E5EC55F0FED4E80940A1DF5ADFA515426 38A87F84FBBF73C0CA39C0FA920D784CB39E0A482868B102C93D68BF7D2321F7 3DF74F937A890A342025958C696919E885BEC8BD87889ECEC76D739460DFC5D6 357FEB46D7393341A4C50D4E99075883343516D912BEEE2C390F1536F13B2CED 965D302CAE3245F40EB6241068A36D0A63724AA3F8D618C4AB110D2E40B33CE4 918962E7D2C367D69C4B930C8D486C3A17EEBCA33BC20DE3EB505CF188091216 14BD6620BDB1CF205DF5CBEAE4830A480E1F616E14D022C92034E628848A1B17 8646CA6CAD8A94292781DA0754C4A117678089E04DEFF6BF2A3942656EEFDD0D E1E47F92E822BD83FB9C492B67137C4D01FCEC010A2019680A7B179FDB772223 932862E227D0B25249B5D5DA3CC1EA8C07BD0F89D723D2853D6ED3A2A504712E 53550F30F9CB9E587C16AF687A0F5F8D444C2AAAA08D270BAD2CF27F14B6A918 3803B204EE11FD092415B90633E98F3F73BA7BD790F084E337ABB96B056B3F24 6F061F9AF1C33D69FF08CD41000B9C8F592615E8AB55A05C9E68B7EE0B47644B 35239B81663A5E6A21848E7AEF7AE5FB1523DCA5496C277190FC32E4020AE860 B797EB58B8FC4ECFAF926B627FCCE7879FBDDDA998AEE234052AB98B6AEE3859 5CE50666C056B32A85DA0CEB5190B246B52A27E8F499989B384B6B0DDFDA82F9 48E0E8A7B3F1EEE51D66A0E2F6EDEF3D0E095446BA683851D0B89120918EF4E9 E5BAE8ABF8D0ED16BECC8A14AE5BAA50A6507512690D2DF6A339B703BE33D035 794EFE575ED176256C9CE036213A7D85ABE09D942F1A81D574E8CF5A5F289528 E630680B44CFD4379E15E6F8E10373AF66786767FA3BA060C0A60B6A6BD7DFB6 FBFFA93BB13F75B1148751D1EBEB4FEBBC4E5AB6CED0373EBB31819A3412E544 FFBB67EF665BFC7E09D4FFC65DF77538E2515C68DA5228107A5250C4E586391E 9F12EEF67ED37562D402E5539504F49435C6A8FC38D3E69325DF1C381CA3B18B 4BE3185DF2B0C95C1078F1A1BF01C5E6294A15F56874D348792FF90E5C150C18 BCA828B1059444B2EB9714779F128F503606AAC7E1BC04EBD0CD799D8DE68E68 5A26855C559F20576740910AC79CD410EDFDECCAAB44DB171DB6CDB0FCAE2978 3E078B7C99DE96543C338F2040C8483C8FAE98C21B7E8DD17C48082912B2A04C 580E9B9EB6784848C00BB1EAB3C6C08819B80E0F227EC8F4230EAAEAE8E95809 392E23E62D96F7F7024C75B312709B8F2ABE6BB23F57B5C52F41C934AC395EE4 DE5D574D44CDBAFE76C414AB9A57A5FB6B8B9652CA2FE6C2A8F9ED3B0F63C84A E13640A6EE2A32B2950F54B61EEDF443C3A5EC2A3748249DD2FA0426622BBD13 7B7F3A5E2C5CDC2F41C57A110705EFC67D28D26DD05FF4A75EB51AAD244F8CA2 04D4D6C2B97770B1CB1A31780BE0E2DB62B8E22CE7E8FBDC0D99AD3EAD3C9BC8 F6A1E01EA13DF95F15051F28909650EDD5CF2A39DFFE7BC67B814C3EC266F53E D8298B663E2E98E96B18EC7AC95CBF828E195AD9C2A816921E0DED82A9D002C1 DF25A3AD7DB63C076A64C40344350397869C01E70CDC0110EECE0C4A0CFB86ED 99892DEC28F4357C165569373DE0E518D7A6270E9BECD50BE18528261984E026 37E83516546DAF23579C03FF778DF6A5953B3229E46EAE38049EEC99AFCEF595 1305A40F82391CFF8DC915EA884B8F24386DED2DC26C28A403BB6D84417A38E0 BA9DCC37764F44E80B38439E12C85CAE8CD62C2672D74CA554FD16982CBBAA62 F05AC754DA56C395B64F66E609DAB1E7B869F293CAB2F8431A91315B81A8BDE6 7F564A054443472B8900FC9A096ABB404C016D2BBBBF08F538376EB6761375E4 690280C2A65AF639E6F884B0C6A98BE4D4F3241B29D6D90505B8C5458DC5DAF2 B71D37D3BF0E6B0C5982FD145FA7B1DEB84BA31F9CEEFF193E098AA125E63B22 037AC5F33A40740C97D869E9DE483E26EE6CC605D6D37C62C3EC5E2D70731B7C 1C1A810FCE38719CBF746B19A6B6407A82A5CA6CDE5579F331BD6D214600103F 2CB1DB5E4EA115A2B7FDBD4AD3711F76F0AF388A9C0842492692C9FF85311A99 2438A7BAB685F0B2D595356DF8900149D3DA7CA2B07D5CC1137196FD6DCEA0DF 9ED738DC0E4EBCD7E89B19CF453B751ACB6EF68623036CBF47D49012E2D05F0C C4133842495E939E3825F22804B6D40525DB77FACCFCD9686E19E8280B1B0FE9 97C741F3E31E8343F77A96D73680AC7D15FBEC9FCBDAC770C7074ECF9B9E27C2 A57CF6FADFE0A853E39C904FBA7E72A361726B359962FA59D3BD0239821E3334 E2A244E66440804188355C2F92C5B096FF20A9AAB29ECC193557ABE31C9AA46E A964F52EE49BF794083FAAB661F1A114A83550DE9DAEC62AC24BFE480AF01107 E7C0E1D17955049D48A4C82485E0AAED3855106DFFCC1EDDECB1F002E8C1BA6C 84628613FBAB88D412B456EA77B3ECC04F8F689086BB7F43F4CEEE2AAE3444F4 63C292726DDA4CAF38788B1293A733B4FF579B43C3C82739B7A12346B442CEAA DF67303018171991C7702B4319DD83367635BA74A5233BA0487820F95E037B1B DBA168CB85403096205F625E8E4BF3143CE998121A2022429B5F314508328199 60364E00D907D1F8F0D81F4896F6611F85AC2C2538E4158477ABA1B2C26DCEC4 75517A0A2400D35FB2D63518E33F23C5A4F7210D38AEB82542BFB6EB7E06BE80 EA27362B337D53F340B0ABB809CB20EEC536B9CBD9399D9B603C94509A050D31 A685B29F16F3F2ED4D8E715E1CB28F0E4D2897F7C1DD466AF64590F4AAAEB337 2E4154FCFBB5F5044D046811B66F16C2887F3220802589B3A6FD9819CE72307E 63EB146B4B76F24403DEA09456D8613A8236057D1B0FC6B0615DB595EE64FE13 22533431344B59D93BC85B572041C47FA26FAFD56023EEDCA2BD827E2AED7D25 BCA2547A6DDA7799741699E5B55C5F9D900FF10C9F9837A9636A47208122D144 B6EDBE1849A0FF8764066A277F9AC4F670657B2297FD202AB52A0DEE3F42C3F8 22D060E7E12B68655E7BE0FD98C8F9D9EA2BF6FFE8D56EBD3A475201BE41FD57 CB378D548E0F60C1B39DFA6FDAC87144701477B9D5D95C8F8221684CD1CF8410 8765B9E53345A7B4EB6D93A246F0AC92F2DFCA5608EB92B3D623DBC69899BB7C 20175C86EE09D92D2283CE74597B93E684111F97313C2CC1E607C1EE5D387200 A16A545C4207CB5A0853FFAAB66363A505D13F9455734A2E4AE72FCE46AD4953 60EB6D986792CF5865BEEBDD9628CD910E6305B9E537910C36FD2A4EFC35BD7D 75C8B2A3544FE04DE229A9F5613FBBF36AE361CDDAE57DE5C41AF3237DC67736 B4DAFC0AFEA42CD956E6B9B53D3A013986B49FA8BFB1D8E179BFEB990C439CBD E183F7B34462E0EF3F3FAE54C37A50A64C0423C61DEEC1201B57989FAFB71310 68921101D459C1E637092B31D2A9645742C236E019B65EB8CF51F0281F2AF327 45A9CDFFB267301075930E104A86F481958E3A1A97FB52B606950F5A663C1072 8B50D82DFE3CE783D1708C7BC1EE5429923889EF180BD52AE93C907B4DE30767 27084C5815D99CAF65EB5B17DD0BD989FC77885BB82D0F58B7FFDB8556062D14 F5B0E6B44C5467F1B0BFACF7D41B111DBF57A03D28FF4F7488AE938785F56C21 84FFA937ADA59F1ABD0EF17D05D0076F444EC3BA12E2E135B0EC8D61458BBA60 E44CD9AC676725D9E256A1A97C462E9685353FA83D1B12164DDF740D71DB4ACF E9647570736718BDA388244D96ED6F22ACA77316ACC455064A334049FE24CAC6 A031EAC85CAA93DD1CDFBA587818820A1AF7459EE70422024A7111D902068F83 9C9D431C6CF675FE99AD3DD83C941D86AA50DDC7A991FE7D7AC375142E1330C0 8160D2D92096E90B00631E609E77A6B19542D3D8C62FDE9901533D876285031B EF6DF462373B595EDFFC36E585621DF391EA65F7DF3EF92E2CD268F9368CA91A 46E040C184F9B9F4147F38CD0B55DAC9D5CBBDEA0F9A2E1627FB9D1BC8391553 122154028E7E48BA9B29244C1674A8D3BACF50C70C8B2C2EA06CC77FFDC3BC37 DD535985BA830172D0204028CCA20EC05F494E5EFB08A37584141C1222A4E214 9B69F1647CED393857B574E3F16C128EEB36750E88191E381D44835FF636827F EAA630E13B47C2C93FF668CB1F17B9ADFB497AC91FA84C78DCBF083587330523 811BD811CBD8E4FF4EB894C7396183087F8445A451BB8D5CF86515FFAC955548 E7BCF576E064604DCF9E142244EEF7B5561BCCEF28AC11F6AF8154FAFB8A75D9 F89BE523BAC02924C2099C316E331CFC39DF04B952067853692DD30CC84D3E53 9E55253BABB9662EFDA1D26007A117082048F15E7C809035014C5E4B546CEC44 C1F75A8FA429C7B567605F0F9C3A0ACB86C6AEB80D0EC6640EA518AEDC4ADE86 CDF9DC9DF91A1523C0D3FD6B532D07B72AED86742DFFDE8BE485E5CE0141CF2E F7DD73E2F0E4C14CA03F06F1D11EF523F72AA7913710624D1BD536FAC0BD73F8 C8B3E07C89D6AA0F28782D5FFF7E8BB3108485C51D0EFD13C7FCC532947843F3 72AF0C42F480BB0CCA42B642F47D97BB14E2F183B5E14CFD14B774CF506A8684 3E75715C44A5354A3D1C388DF88B5FF977BFB1EA0AFA6A9DB641DC86D3322E80 18491B35AE50C3DA3923A0998BFCDDA0B23B226F2F7266D530EC8B9FA8A3FEAA 54C6F30069F1F075F348B7207CC2A4D881F7268B79B064839320608126FF6A3D 9AC1E4FA459094363A03D6B43AE53D2B5E6692F65BB35B2500EC243DF50CB14A 8633DD76882E6883C19C7F06E1406DA82241BDB9F204C02BC2E7C5CA389FEFFF F842670BD9860530E7376108C089A67B07657932ED08098D84015360D1268865 E92644B365827C0ED09A1B2043F297C603143D57477D8F1777370D9417B8CCAA A29B707D61A273589AA16C9D854173DD8F0A384393A1DDF2F3DFBAE60DBAC13C 52FDDBB4521FB8AC6EAF0788ADD6414C1230E3A7F9426BB5CE7A755AC2D95987 4FDC1248E830DF7388FC7D459DBD219126ED47366297FF1A54950572FDD07A44 E9D6D28B569884E2E013C53EC0D36B6FBD675D62415B0C8B7F7E4387145F4F6B 6706847CDCB928701934132B84A25577680B36F76B0FA9DF164524BA090D97AC 65551A510C67ECF3258FB3BB2236439B2FA1AF55AB4AC70897E2F3B015D53344 2E218ACC544D88860FCFEE30577A9AE910F3093E397117F79FF6949595B9FA23 35FE83BB2D964310674BAF62144DC98A91EDADA24A85049B03B0F3D4FA9BC452 B51FBD53F07BEBE5CB31A9A06CCE0D3C99B9575854CF9F5595B56A90863642BE F3CE7A131083215226F3748E0F427ADD3C952C8982357ACD7CD7B6F5F4E48FA6 74C13E9154AC725E5AB161386FC2B2EB089064622CB4E96E5D55BCD90F5759F8 AB42B5C0FCC592363C839F683348AEAA0A20A0DAF1FBD75AC1233833E1995272 A3EC0DBC8E2DF182E44F9DEF9BC76804ED16305F8A431B757C0F5459C2C780AC 3451C86C9650B6A1A6922EA91C9D57945796E6141347D1B66005EBCC3B0A327A 90E16092E78B5F2D98632B99991AC4A127D4604914E113429635889965CE8B3A F587D96C71F213294DAB6560EF1913CABACDD05893531360C9FF47B42FB26349 17685C52DC0255357CA502AB8AF4B6F56331F44DB16319D401AF8374F88A2619 89FC1975C5AEAF11625F935B8A8D86FE7FA475AB8CEC2B023BDAB07D750E56D4 6A73D5F985098AE8EE5A90E0B177E48F9D6B522B869DFAB57BCCAD899A3107F5 66B70F9EED4C1A1B18BD1316034E69C4F6D2D71911577ED1E71C29277E208680 FC5461C8F746A8CE09BB2A83ECD32F2F16E7FE65505CD5371461AAF620EA7AFB A5E6B75A94BAE9DF3A64737FE596D7DED0E5DC8DCF4C32844B999E057AB3BDDE B344F9931F57B59B61A29A88687F83B36056CCEDF294BF50E4EF9EF1301B8FF9 09A6D0A9F82D0D1E077787BB1B8ECD8C90BAA891E7D8BE930E97F60F8D701E66 7B9B3BE513063B2B8CF5404B22855BEFFED8C74D762B45A75F606AE16BA0A7AA B7947C9A55FC77A9A1A2B6EDC05DC5E056D5A2400E0CB20D28648B152E4E049C 509D38C97550753CD8D47FE1AB02E6737913F8CEE99D40D075DE0C839BF4BCA2 98413EB9AAE34AF3F7CCE9ED39E3421AA0F101BA284DAB29624EA761B70EB436 D648FEF00EB1AC11ACE5054897BDE77E3371520032301CE52DB6B9E0393289B2 0F38B51E7E459C4BC65102E834B12B905227B0E83828CC83A5106F702F0C7890 10DD4AD72F4B46A107C222D38DE41A73F7E7CDD174EEB4E844160D80B8B30BB1 D7D4048E5F4BC0A40C37B2512709447C377D29754F33C51EF8BEF48CDA91BB94 0A3273D31BD51249577A2440919206A031F3685AEDC1DC219D81013BFF457A53 0BC8844CA44E513FB470B59846AA40A4127955BABE057B586555F018C131166D 11087267B05AC994CA6E4A120D7F4B83241550988CD20CCFC8AC30D4F7691BB8 74776B791AA81CBAE360E47C9D3E1AE6CC53ACE31AA52AE615864906AE7DF80F 806D1C1805D030209F38B908C179CE715FC3DE41E0DAE8EAE6021835E3271437 9A39BB9317E5959441B0C274C396A0A23BC559E9C487BE315D4218FCCB2F4B77 4177A43B78976D9A772D58F707A95E77F301D7789DEFE284EF1C921710524C68 D58C46DCFEF1AF5BED73CA78CC045C193CA472D316C4AA5F8171365626392397 7C5BDBFF28CA3CDFD75E4C4CF7836E8C5DADDC733AB5EB3B3011DA456B979544 151577F38DF3888F45330801FE208ECC29503191ADE4BB98C9BF2F2B0999772F 433F976168DBC18E928682C90108C38F54E9E2EC164A17899C88ADD7348D3E65 2BFFF124FFD09FF0355F7A30258359849AC8B955DD11D417CA487F3E7538F278 358E2CE00BAEB9FF195F542D2F5F7B09F8BF5F04BAC7976155C3A0DBEA415682 D20F267E76B0886865DB7F7D34B4CAED1A5CA8EA2CC276CB18F663FE570138B0 444F4E61DABADDBCE7D501BD4A9E06C947B93C44B028053D52F933FE4FD397A0 F1A43CAD67BE4B97069F84FCE6BF9085335FB7FE6A65420F93879A00ED5EC1D5 5166B6DD5A1F0BBBA087007B69F3431B400DD2AA8211283B9F26A97116BA13C5 2A96078B665AD62C60BC10E5A9748B2C7CF049F688CD1AFDAC13F82A6F2F5489 062C9DEE23435EAAF352C22EDFF7BE110938B52077A6E1306C90FFEDB6933CE1 384FFE323F92AAF5314AAB2B29BD85A2222275102ECAC3D7BA95913E317ADD3E 85053BE91937B2EFBA797583F59884D2EE1675F355A6EDA48DDB894CEBAB9DE9 70B50D1F2F02B033ACB7280D22A2E538FC8CD4A5C0F7E1184DC534869E707B35 5D257495423B03CFE7E00DF966CB5AC5D877CA87A377ADBF20271815570988F6 563163B440FA92B6C8D48DD818257B22C997CB2A9E3882D30D132E83037463E0 C1AE69D8F29DC825DF19C0F1DD2EEEEAB6F8E2C02D837D9D71BED1FF77327EEC 79738DF541913DDDC18DF5B5F75DF06A3037B078B288C197F12057CB0A418393 6557014E5FB2201F77EE19D1A1247577FCC26128300AEC98E69D73B86C622870 FCEF2E9AA65BB6BF2A790883DDB1D3C6B17747DCB177E6DE97D98B81DF5CFBE7 DD609CDAB8C2EFD920471013908BD8426A8F797371FF7A379ACFA1EA334397F7 E589BB9307AA7DBCB06FF7915DF8DD21783BFE27B679DE290EC0432048B3289E C1A6D07A355B8E4DE93CAD903EA3AF7D01BBAA1B57E2AD9806279FBA6743F3F0 976EFA1E424DEDA446CA1EEDC0557975DC0AEFCFCC1DF586E7E6DCB23A94AC1D D345FFB1194F23179355255D757DBB00FE9D09022963AD06D3DEB5DA2ED62F8F 53D63F4541EF8CD1570FF54E5CF93EEF7BAA0950FA0B564EC0F769531130A51F AAEA05F0637A988EBB1F615347B1FAF64E4A03A38C76F6846C8B8B8A7C02A54D A981D08A948049E8FAFB8B5226695974A3B69B79E45726392D398838012510BD 20875A839E7243CBDDA8BD71B2ECF2D02A9A3C73F5F859E2AB66E9992FC9F9B8 F6CDE75A0EF66FB252F3E18A7852FE2373722421D7AE7C37A6EBE5591EC81DC0 F79A89F76A94BF1B421CE8D1E5042452B582A46C2263E8961974CCAA1FC44CBE 8841D70C177694412822E894C7330D833BC0DB52A442E8BE93BF972DBFEF76D1 341E66FE8D9E973FCA21E7F06595B200845E0D53EE5C41600A6D9B127C5A90B3 3249FF9EF55343A77DC6071369FDCA3985BD8AF29CA7B739248C6290A279ED35 8D5ADC7D2B54426C90D94337472039AAC2C6DAC946617D9C7B5AD44AA702B6A7 E216C05DDF46B5741BA5E190008DFF1D952B3C7C18CA5AE940CB9265DD577C9C 65D7561A6790973B338194B5237B5D9948A86FDE27171A3BA227BF5443BDCEB4 F330604421130276C0D5C0AD3BF73076893929B7982C59E76E657172BC6E0BA1 5402E65D6812F1BD0DB84E9B28B9F86FA6708AF865170BFA902F717C30AF22DD DC6063C732A6F428C0930FAEFF1D2470D07AB6581D4B7DBBD6D9E246B5227BA9 8D399415D1A9068963D707C29504B8730E87D260984760C4C7B7E0B4AC08A96B B4909B3BE711FDC8581C8834EAFFCFE045B1D45A327EA56BF4A61EAFFAFD5F29 A99E798A521D8114490670E527BC95332DBF95DE70C076C137D3D5B0AC1B80BD C75F147276CF75AF31700C32F301848A6039F6F5A164CC33E4C8320706CE4148 855B50E3C37C4F8ED4CE7D79B796732724A0A8F2F828CB1DD315C636253FCF3D 6026D040A2D8BE827E39E7E0B06B1B0C4E7685BE712D925656D23317D0FAD0E6 3EBEA4DAC99574E813AF4F72501D78FB92A8A32F408C758F785EBE774458D65A E1C0699D9F64D0D6F462A49979BD6FCF474E97B4E0A7FB9206B33F7A59A17A5E 83794F56962D76B876D11CD33C610204905422080A852323A8834D981922AAAC 2D5F2BCB0A0BA66719B60B37801E203754E1785D185EA29513F3C9BE6191F255 72452B3698C34C32CDE4AEFC297530DBBB9E8F402FBA40C3D2E93BA0A6C911D8 D3B73AF2689026B2F255D95FA0F097430840CEBA3C00838CCECF62709DD989B3 8BC03B5A233DF75B7D1213329980CFCFB12A1360E9119B536CA3848C620F7645 5B20F2F4CF50B1139F1DB6903AB982845710838B729CEDB7836F1EE1809E80B2 6C85BF301606266F400204C11B430C89BAA234E6D354688EC1014A607B2C51B4 2E9F464124C8F862CF5758AD7CF1415B5DDAFCE95E8AC06FB0B847E0C0E26E07 4BD48BCE629C4D9BF6117DACC9A9972CD0CBFE537A86AA0E6C1A0D3635EF3AD4 D2DF2A0607C0019A3B7CC9292874ABECADFEA3F3DEB90A2D99517A35BC451831 7C673BBB207594EDA347E486C3F70EC67C55649BD4783EA351457683186BDA68 0794703B5B337E5C912707E4122CB2200EC7E672B0B13B3D0DA532D2F7087F32 05BA59D9C0BE703CD07CBF7A8C6EE352B1C4CF7CC990ADF8D81A672772807AEA BCEB36F56B59D8230C42647953A07169127F3E85B3CD2B2D3B2D06A940CCD5D3 BACE10C323F429126F5AE12739FDE06D9DC43183C48000BEE64228990E59D9F0 B282F6C574262E4622B2CA73405E82F418144ABA58E5C033AD0C0FEBEF8F330B F6970510A30E39212199729BFBEEB59B41D106B9C8C491C94D59FC570FD31858 FE93591098CBFFF2285604FD976CFFB42CB4E3E7BDF00FB502F59237381069E5 8ACD6FA8A324649434C09D08EBF19C7F02C11FDA51250502EE600EA717D41B5D 65EBF066867A98793E5C1360814308E4B74EE3510705C3A105527BC7379B8129 CE2ADF113BB01E9009E16CB43D886805437AE7BAEE8D109C4D529E6E816F7DDF A1EC3D79388DA5BD29DAA58AADFFC1B635F71D4280D2B1D5A9B62919F08EA188 264EADE8D32AA577415897DE9345C42308A90D507106B457CB841BAEECA71950 CF5091FFE041426108185EB7F58EB7F3D6C684FB216A6B8A4AA9715A93CAC34C 6D04D0ADB51AFE9B73054A41BDD7BB24BF4A1024278687CD3E343B8650B550FB B706205C4705507BC67423E7214B7EB04EEDD30B3FA29048BA3C0392C196B8E3 8BE3BA3E3360B7EFF8542CF72DD07FB73D081DF6B6E562D863E959B5972DFE80 3B7E68DFEB6CB76F52D27DCBC3286542D9EBA6F112F5C0C747A30500DF890462 18FA6023A59AD8690D5B665561EB70D54236782119D73879441DBD758C96C041 9A36E9EFF7E397AEC27F49BDC1B0FA9712DAA076344598AF7AC32008EAEBB9F4 0CFA76396A6678176BF27AB8AB22293AD9A13BDA7EA5FA85929735D5F5AFED43 A04794308C1A55BCE37F79482BD65D5AD1E47AC669EA276620386E6323031479 0060A65AB8756A92EC055CEFDC55BE91D24B4D7680A3A6EF4146FFF03F2E396F E8FD53B43EADAFF1A63ECF0D268A11F2B980E1DDB0E0A926919509712901FD04 4F3A3D6B69C9C081F089F66796D3559FFB24D0F977A1177F8B88A42469E7E5AF 0FF0E6EDA585E1095E6A9375BD675B202E24D76C86A7472CE931C39A9518620F 31F9CC61496C397A1A46C69FA1888DFDF4DC5424339744836CB1C0A13F013D73 D0C6BC868A8992EA2F747FB603CE960D43B48C4CADAA902FEF43372D5D1D92FE 7D143FBA8719B87AE4AA8D7BF8C1F65FB2CB2D603A722684D2FBD652D747CE86 2CD3C06E30B3566E444084682D76C854B7A997D157253CCFC757EA239EBF3A1E 728F64F3C092477F1C44C8D723454C4D98F2369FEFFA88B1D4DAE41FBDC7581B 60F3ECC73743D7B7E81E4DA90AC98CC9ACA77C8C7AF106C1C7145DC5D315D8D8 2E2017F203DF0A8298F4273AEAE0268C8518A3288EC8C56D4CCF898798FA3350 509335DD4D051015D94367B2D236C9E8F639578E3BBF140DEFBA03B813A4E7C0 FF078C21292D8388CC990D4598A90723CA6F9BE62C08F31256CAFB6043490966 7825417626E45CBEFDA8EFAEC8D03AB6185424C85963D80340D56A96D580A0B4 C8B69A054CE529CD9C36104694DF3B8BB5904F2581340557C3D668337A1EBCC9 3F282475F3CB81AD29B5E0753DB80463876F311E6C572A38B97E1CE6741E2025 4715B704DF7080D9FFDCC0412267548215190DAA9970887D990BC8D29A5F9E7D 4F59DEE71E0F936C9670318E90CC10EB63F3425E8CE88058DCD2CABA070FD78E C96E6DB7F554299D893F30806EF60DD0FB11A07A2DBD9EECC2E57546546A2550 2FE08B3BA75E5DC2E66C100A4D72C335DE605393675F8FE5927E9BD2DD24EEA0 7E991DB13B685AD13284E0CBB7A41DC6B7015219480FF73E0A676B3AF36DAF64 3FBA5F10E5B789C27EE99E9C689EE66519EEF26C7300E4D90DC9FF73A9A2F938 7F009E6211108052984CAE0F368C741A7ED2350363F148BDF963B1E31C55637E D1CBC916A5C8C5D6B30C5150A9A185CF001EB3FE363F7566B6937589B6EAF025 33163043D40433305D5D6C67B98CA049B0A4F1DBDA9F0A976F346D9B3D700785 6CD75048380B1C88FD441BA10B8F6630A9B3CB2E19484FCB6DF49BD628D46993 C68960091CE02B457DC31B04DA70E8972F3A347B83DD922B13778E4EDE3C5121 F411473C5B1669840BA412B7D5693E0B5F2A59CA51BCF84BA45F3F3837987709 EAF7AD5678C7DA763E23A0B7F3BF09F0F8F4E0D9A44BD4AA7A8DD46BD1878572 566FA20256649867525587AF615902407949DD45119526B2C3D29456192901DF C6E4A0209873EBF15A4A990A5E42E1E99999D535BFB68FCB1CF91AF9DD343B10 DC8B9A5432989BE7B4AB989476FBA0A6A645AC89751912DBC2BC6EF3D85D705F 9A7FD52FFC37BEBD42B388E73618D6A4CF61AB9CC08AE7E65BDD1C39EBC98ED9 183535A6F05DA10849978B1325CC654EF0E799E5B56446D797F423C7E5D1EA3F 22D801536A7B9EDFA7AD42C7C07EE168A78D116DEDBD7B3C4EAFBA5FFD7B1D83 0B400EBFFAF9B2432FC80C38E0A144CC731BABBE8F71E70720B1F6A9120B513B 2D6A3C54B82025296B46BD00A249A682D4353F84ACFEC7710D87905040508ACC 7A1A974BD03C1D 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont %%BeginFont: CMSY10 %!PS-AdobeFont-1.0: CMSY10 003.002 %%Title: CMSY10 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMSY10. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup /UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMSY10 def /FontBBox {-29 -960 1116 775 }readonly def /UniqueID 5096651 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 102 /braceleft put dup 103 /braceright put dup 106 /bar put dup 110 /backslash put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD 028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A 11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F 10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D 7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B 491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D 9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E 0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD 5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B 5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB 54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD 2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C 16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F 483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA 051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B 8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB 0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD 8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F 153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A 98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B 888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D 052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F 07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D 3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F 849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE 84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA 2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD 2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E 4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB 8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C 4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF 035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B 0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E 2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B 60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E 94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA 343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE 894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F 8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC 4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A 60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E 71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8 AB66A0899A135B400DA86109FFA7A6A6FDDD10F23FA4FB84C626402F2ADE388F 8E15FD1310A54E213599843C7E4F6320D2E6ACD58DFA107554985C62C277D580 6AAA79CCC71454992970B82C1EC19345B393A2D13A4F5110BA6AC7747674EF31 6A464E208F1A38FD21BF1F62E1DA0E31C3E687393FA84708A1063BAC1B5E2640 DFA4A30DC75B3347473A27915F6E9B3911C0228107405CBE945D5A92E25E8C65 F9129501B87E1A3E5572A24F2436C08C2D2FF1D1A9B11052AD1E15B69C9342CA A71281C67CC3EC0D070E3194BA9F01F68658F210974EDE91EB4B1C67F2DF1CA8 21C6594D49E7DE5ABD9CD93196989B7B5176E1C7F301C5163BE92DC79799757B 7CC33A6A525423164BC94F98256EC2CD929AAF141C1810BB3D302F83C1A49903 8C1EA4A568D9C3C27F3CEE245A9A4AE9A376EB2BD898C915B56DBD063054728B A69C0132640395A84760DE8D09CDC9CD54E3F5F268980C2860B66195045FF6E7 7508F5D23E6A51A2AE1E3C7058E3F4FCE6D8147E319FEB8A5836F7810AC8D5B9 F85F8135F813AC9F41E62BD1C10479BA112E79B080359E6CEEB2611323D69994 5913A228E0E1DE2847E4D50C4C63EAC9F884BC3683351FEC27274728B2727421 B6DABB1F89DD5CED4D4E75583E6A7CE327F89D70190BC917EA887E3DDD87C11E F838D58317721257F2CAC9E991BBDEF6ED51F0719CE1F0B4446596A78A0737B6 0802CD6B543FCC01ADAF847C21E6966A9B2FFFEBE545D3B2E8D24732E7C44C38 62C4999D769C15F24299D76A71DBB3178582A15CEAB6A8CF8F3E6B0E75BF73CE C5280880B7C88D6E9BD4B8D5A3B18CE41C681D6BC7C73CAACC7B533EEEE2B234 D38C22612FC6D2075E4303D8470FFC72BA88618D7FF7E138199232D1BCFD1F9D 0F 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont %%BeginFont: CMSSBX10 %!PS-AdobeFont-1.0: CMSSBX10 003.002 %%Title: CMSSBX10 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMSSBX10. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup /UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMSSBX10 def /FontBBox {-71 -250 1099 780 }readonly def /UniqueID 5000806 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSSBX10.) readonly def /FullName (CMSSBX10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put dup 44 /comma put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 71 /G put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 82 /R put dup 83 /S put dup 85 /U put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 121 /y put dup 122 /z put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7 02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F 5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C 6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080 DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB 5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264 BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC 5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA 3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902 8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076 1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4 0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B 50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78 33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389 C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649 4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A 90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B 847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3 A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844 3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2 BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2 58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460 9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0 7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15 ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1 C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0 0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4 513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2 71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91 82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3 B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7 5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81 59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3 026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753 D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE 99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0 9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195 6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3 00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21 1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445 FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF 59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358 24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6 954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5 9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA 48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F 527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629 1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6 DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215 BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D 4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8 9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418 19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6 B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A 21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8 4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3 2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38 68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9 FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4 09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7 847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82 C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879 E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8 FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222 64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D 282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A 84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633 C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF 17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8 AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18 FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D 8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A 566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9 4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C 4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD 87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5 F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5 93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042 69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509 02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E 8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F 2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72 9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5 A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9 F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184 6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F 8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0 EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F 4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404 5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80 E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20 FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05 3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F 0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D 66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6 E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7 1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658 51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253 31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E 139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F 17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9 3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2 6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1 7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072 61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5 EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7 0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679 6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD 8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4 3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3 7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6 77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD 1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909 970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE 24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0 449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4 97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2 8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562 88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105 8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699 469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57 B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB 7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B 1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6 A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F 8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED 1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0 0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F 80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5 5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606 C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8 A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1 C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F 3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123 B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3 2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45 6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409 B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8 06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD 928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328 1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA 2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3 61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7 4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C 1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146 171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583 C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E 1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE 06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16 898823B8E2739B4428E62CE0E41C291157F1886BF937B3D3B9B6DF0D0EAA38C7 D7F17D962490AF81157E76074422D746EBA97ECE803A205B482B03FB06D080D8 05CFE4868E62494AE445824BC127FB7367DD9F70B2168F2B8CA0CF190BB838C0 67563169C8454E5D0DA086467F1536F5E8A1E4D3E727B1688F745FFB4F9E56CE 4DF06341FC891C28C943B570A7A38C595E07707E41935285DFDCA777CE731DE6 B46EE9D1C3D61DB6EB8434F17B15274840BEB842587F3B9AED05B97988E18380 9095E88840F703E9BF997E8A666691909635B7CE630194962E4183C3838D9401 260A743CC9A7FC4713C309364EC95DE29F6D6E1FE8C348E25A878C7133EEA500 102E3952322F6337A44AC6070352D2594952A1234035388F5E4A9BA075B48F2B BB86E2FB3FADE2F7F18B865A1C5CC0DA17E34F9F8127A8D020AF96CCD64B5BB9 90D31E59E4B8258173740252A2667C765A7567788E9F64EE4F71E704C8F7037F 43BAA8BC434FD9680AA039F1DE6EB2DA3D71B47DF439558CB59EE04921B2E186 4F99469C7FB363F4D59CCBEEAFA09987B5978A87A278F8D21AE383FFC43C30B4 51DAB7F784178804D2BEB5031508FEB0ED5ECF846D99F9AF8DF98647196DEEBD 0EB21449B5C2CE51E49A07044356A8C6C8B9C3F3E00BAF3B3C58A4DDB1BB6711 98ADCD04C76640DE3524BD0622A445AD11BB43D8C4628D25551C686B0F7FB8E8 1951064B4E1834FF5CAA8BBA6DFC1B2F6E8A9A91B0267E96D73A17951D0CB96D 4B8F9CCEF3C84EAEC4CCC5C1E4B7D14AC0EFE5A42FF7077083405236F7B6BE76 A141F2C6ECF4A6CF8E183B5D71E7EA9D370D20A8FBFAC9AAB39662E6D1DE6DB7 00D37402DBAE9347BBF0D65ABB6224F5E5DA0FC52A80C3C2A0580D065DCECE2E FE228239DA44AE72F8730B607591F517CCA3BA9D94A72BFDE1AB707BF3B45F5C D26C958C757167ABA99BDE64A35AF5C80A1450986080788AF2E70979C4696B5B 057E03522CF0DF8CFE4F4ACFE7114AB435241AA75EACFF4131EB35987377FC45 32E001C04839E46FCE7C80C0AC8F720963876CE7947198C2DF6AC8869E15EC16 D6867AC12F40F7FC462E55952C1CFD9B01A7513A6C0D273E88B504BA4429CCFA E9B65D65F8B3CEA519DC3A48DDF2185AC8B1DF1AE3A3115352DC3C7E17413B20 5E111B8140646020648F9677A27019A909954D5C4C02366F97D8DE10A8EAB4F2 D6F6EC7137544FB6D10F9577490D9588B730FE9A349A7F13641DA4F0C6A8309C E5BC7E0E00B732FF41483EB5A5751A722648BC8C8C7996060C9118EB00C227C1 2BDE3E261A4CC4D74A0F20733C42AC4E1D88BA79AE7124C17057675387FD1E81 CF24F6AB1512B8A9AEA7FBB6E53D7DAF283BF863EB3DD7F9F55C21A04F1AAED8 7C854F0EB136FB76BB96D8503D6844B79000254377EF99CB72433AC6DB6C8CCF F47E4D44F2B4BCA4F750BE236F541C763CC890DBE03F39C90EF39A352FEDAE19 B261BCCA04AEC45E8C9D3276D4B5062522F44A925B555A6EA6E5F16C33474080 C50F068696F90B465620CCA8B2181CE92417030D00AAE28A85BB1A31B0FC5A91 404F77036F0EC33C21773C46EADBAAFF95C07F50083319EB83205F2B8137B343 02AC094DBCF0506C3CC757D3663A9C06B49FB9B251DCC4D2708499C877D26D03 4FDD5735D5EB233DE2C17258DF16DF6D4974916F5A6D014C600CF7AD18A3153A 39EF17B01F13524EE7DCAA5CCC0D80EEC526F59DABA970CB5651CD6E9E71BF4F 09F7356C2DB0A1DFE82C4C4969DA1CB1D0AE0E263A53B8F0529AB5BF0FC1F653 DEB838C8ED968AFA0BF8D9B7D51A645C95A415931AE587DA37213C0C51CD34C1 66A69B1FF7DA7E1A1BCF8496AB284E326786963B59D9A09C7AD30115FFF92536 FE458D70AE2DE5EFBC54763176A52565111C05A0E81468F58F5BC98E55C12193 DBEDEA09AFE84A9292983E882ECC6620278E7DDEC5C6D8FCA4AC3DB1FA0E39CE B198CBF6204C25A8BEEFB45D53FC0E6895B29AE2F95160723B11DCFC06E34E0A D4D216A8148F39767D142A14FA96E7F0B92DBB7886ADFB4E55B7A7B4719AFF55 0FFCB6C913D3D0A5287EE3E01476802F3996854E1C43C5136C6BF73ECA3092CE 5A42AB40AD6B235330ACF421637A07B4C473FE0F8373D3721C56699078D0737E A90587194647F24785B302C756C44D900E0286628A3C560715D504F578890B8D E836F9B058CE94DACA1E8D1F985B6FDFF6A333BC8FB9E0CDB5215E2157D7D044 56CA63DA9955A67AF2E74AA249E4F4E9A6740195F8F7F217B724DD78BF229051 CF865DEEF4DDA79B66C410C224CCE4E887184A706A278A6E280DAEC8A6DCB4F9 729E9FA77B7A71210D5E9FF8493C6731A2E06CCCAB2DDF2609462F7AE842CDAC 3B330E77DE11F8933D0047F2AE7C1511D91C9EFCDA71B665F941ECBB02C25A0B 9F93498EC1D4FF58630DA69C0EF224669A64764A2B7CE2AA28267A54EE7D6D30 3129BEB24FDB02F234C87DFED18F99AEA42292262E0250275E3CBD337FFF75C7 7A24D5FC81E9B92EF35EAF2C94D9DA8B7CDA46B4D5D04B05A8012549600C01FD 0A479208058DF898F9F2D66CC5800D3AAE341037684012239F852B33353B90EC A187BAF521E12266FAA1F2147B524C14719A22EE48ECD5C1904403F6D24B423C 6F2581355A55186009E57266D206DDED832CFF38AE62A7C4C2AF813A84B38867 EBC5AB8BFC2F6DD92ADD7C25EF6861A2E858CFD9E8071A927E8A6D21F32E1D2B 3841261A0A65453FE299AE9D9F92343FD3E59BF896BE4F8F5E37301E1FF54445 29A78ABADC532F573B3AA814A2B8E8F3BB7384C9B1E2CF076D6A4CD12735B732 D86A6060745C3F2259532F2F736121695C9E68DF2C492600351418EB5A898BA9 EA56103B5E362C368671D30A51312EA1ADC0D461FA7AD0AD0F1E12138DD4EF42 D95EE63303C802CF9323EB0BA982F0762222D2FAA808075BDC3C98E921F335E0 A165821C5D5D94B74C9A58085EB4F4BF49D6890F31D0A36188CFE1962C14D5C9 4E38FB3CA04CBBAD7DF0B93B54B73981C9CA5B0F29AD880B4DBCCAE5362BAC2A CFF5287031DA97EC29D758332CAB38B1FD366ADE966771B5AF7472B9CE45D1E1 4C8E7CCE80EAC82E3F862AED69465CD0A5BEE34490CD77F0B0AB6283D0211F2E AB4E11B8C82EA079623B4C72C5F515DC6328210AF19C3A7DFE965AAF74D505DC 22EBFBDBD9C9D60D6D78A00BFB189B951C63457EAA2EA85914C8B170EA410468 2E73B28DD36AC2BC59970500FA332488F1B926EBEB43F37CEE560190963D6862 0C8F7F9CBAFEA3855503B8BC04A75CA357C3415584E9A6E7AD11D3ACA0E48032 3263292DB49F5B2D68BF08438B2DD99B53CD91FF206FBC520CA93CBD1E94AFFC 57A10246AE461AF37E2A30DDB18766C17506A9913783A336C9DC4948E7B78CE4 F773A12606424260A6885E032BCF4499464C12ED15E0D01A2CDC28DADB8746A3 81D4AF22F02D075C5D2694363AB65E2383B629F572B6A3327507A5D0A0E3BDD5 8ACFB96368A60FFF7F1FDDB27FE8CCA96B64022E2FCB6F0BFDCE088C3A26D8DF DCFAAF3A2C3D404B7A6CA002C9DC171B02F806F0C9B7F571B5474F4D9318A005 AD6A983047B23BEE8F55C980A4255386BBA9B1DFC45374670EBDF72EEAB0E5B0 A3F2940FD70CE16F5F598C6B0F6A38048F2EA10F68D5F0C6FFBC07BCECBD0E3C 246A53B0483A0A9F1FAD2815B97CF5D3115B409DDFFEE27545D2772043025537 3D04EFA9EF5563F3E5F6379580EFB79941EA961E77D42B1C3CACE31BA462B82A DFDCAE87FDA2392032FD811DDDED35864E4A85EC61B68DC5A55361B3F3B54147 05F683DE5555BA3065BC0FF577624D6AF22120A795A9906AABFCE03E0399B7E9 31A53030B2014B57E32A2F2548C4BBD88D112D86819A74DCA21E4F24F9BC632F 4B6A07180796B05E1C329E3B137C476E7833F42516D71A7E6E8ACC3EFA2AD8B0 E243EEB86E8764BAD95237D0DE6DE8C96D5A850B6B4AADE1BDE62B7A29DADD01 D8AD258A291F98B57EB56A7E53CA2CA37E400FA52AD8EDA9992538B3DC69D5F7 55052DB9BE972F8CACF0F1820DF5672714597EBCBDA59BB8A91F8C9D353895F4 6FFB1301806BB3A194550C798CBA7F2E1799CC7AD8816C97F5D42DF44285AAF8 D94B22BA2DA93B961C3447A9E36E73E62C3158BAB675BC46BE0584140D58621C F80E5225EFD57459055CB5FC8D17E3FDBF1355A4FA515E39663EDEAA66BD677D E9FFABECF40E2836AA7CF8D7438C244BFAFB343D1866A5504D55F6B5219D0FEC 980B7B91C718AB802A8C3EF19D4C33550034D686D04385DA603A6A099C986622 00C64E39E27C95596652640F26938C248D1FA7F2ACAF5F0DDBC70F8C6DA2EC74 315C590692BEB807927B7A60F16061AEC0A57119A73D88FC3EACA1BE1537BC80 CC963B2FB7EADF916B506C78F32930FA2159F23B8F9C8FC73FC998C972128278 590F4000F567F85A6362284DAEDDE4E7996DF5F18FDD5985AA379CFC8D501F55 62F68333676C1A750B344A8C2950024AFFE8322B86BEB28B00B1A179F48B2A7A 3B814C840BD47852FA6EC5D1A6948BE58E5AD931A4CF3249BDD8C945CD9CC2E7 FA20A3A6DC3D5E43DD88B1A85003CFB546C6CE4E5278D0C60DB1D6200AD5FA32 682C9E3F4B5C95D0788CFB2E2BB042ED6BD0A9643F8B31DA412CE97F665FB356 08488ECEA5D18F6C38746545422F700150D32D86ED59AD1F7A32D185A38D555B 3992FE710B379B4CB6ED0612FAD4EB10EEE8B915E40545EC924BF0434AA2E15D E8958604E80F2EBA44CF0F3D0FA461A20BC31369FDF487BB8F820D226F1F5013 660B935F40F6FD5BA538780E569618F25120F26CB6903786F0D38E20F504AAB2 52D7170871A73C6C9FEAE12A0CDDFABB0D133EBD31598CB8D14A1559DB8CBFE4 301BB7B8C811D4612F91496FCFCAB7D110639F49BE71C3478EF633EBE6EE4ED8 B7AC835A975B2FF6684810BB0CF57BB88ED5FF8A00FD00F28F7D46F8BA089BCF F7CCF4DA30DEFB2330DBEBCF928875F40ACBCA8C815F7B3A64E297CF3FD626CC 47D247CCAB9B7B772BC934F0983E6643787AE1F50502B4D6DD3824F3963AEF8C 62353F8CC09FDFCBC69B3EF51F1B2CB8907B8E26E8792E22DC46B9A9F2CAD94D 0916F6FB3F189B5621D374878E636EFD089E81B7DA5C7F67131B267AAD36124D E3DC8BC08B7FEC1D8EFB873798613528E04B694780E2C4AD132B212D59CBCE57 EB0D92B5C590ACE21F79233FF8FAA9F03141F84CC59AEAB1622A76034539DF61 59DF9E448B7DDDAACBCBDC996CA2A2D2281A9FF9DC3085FAB099E0538174DA8A 480E6B2C82DB804FF228992270E1039CAE24FA6C7ECCF47FC8FE3DC93AF5CE5F FDDC9D104966B8C098232486727FFF7D7174451D1C559AB0AB4E75BC64785F74 2569C78EA16F0F516CE3065C483E6923656E924AD61027D7B2D33F2FD97B783B D7171AA6C02534543F76F56D0D397C8E981C0D32DF71845ECB1B0E8DE3A09FA6 A232C2B120A80FF68B779710493AF2EFBC22090C190AF97C4445BCB7690518C9 4E59517C36935BB565559D1F36A1F9B6C9B4773265EB63902568FF99E7CDCC8F 9AC8F6A1130294527F59187DD7E69A0412D5BD5AD4E1EE12C5A4A5E21E460D67 16A5F7279FCABCA3BEA9655A159036417018139F31C43D2B50F1EFE12DEF52FA 24BC855751201D413AD322E884CB4BD220725C53B4534084958FB53862A9CF34 996E9491B848A9827D1856E2F4E83BA71C15C2132B64967509802798A11089CB 47E0474D0D62AB4BC9AB39B7B41F93332B2B68BAC5979BD46403FA4B079B20F1 E36C5DC8CDAAE3C5D97A289538A8BFB7B2F425D94FBAB3632BD44064EE1FCC01 CACC75076BA87D29A4079B24C20E5AC57645B3BBA1D67FBDCDEB134FBA62E011 F50B8728B5DC0E0517EB39551A6DB31E332CEA857E8E5FD62C8204EA4061018D 83B9A441D730A05332FC7FA9DD10C9F785B14F4A6B9CD06CD0C3DE492FDD9B4E BFD04C5E38B10C2D12B10A1475B753E1E4906D4EA72C7F2ACEE0D69D0FDADC9F 982B151078F96328E9909A9C39F282028EAAA4CA6D95938D8BF9CD1034CF0501 9AB0CD7B19AEFFE54EA25BB0418DB5D068B68DCC68B45B2027C5D534B9D66984 CA6ADA7A52BA677F8DEFFE844656347B514ADB52AD0509FC0F9986D8D33311D6 C014E6B8BC0EA58721D9C4D92A55E8B973FE59BDD6DE5451280ACFB0C2FFF54D FC5184B2390C02BC342872366B98CFDC692111A5D2D5322AFED9C4049B1A5276 9283F09F362344DEABA5B5EFF2748964C3D3149A9DC92A4A7B66E1C8E3F2D3EF 075DF53BFBCF1790B255C7FA87B398CB4DCFDE1692673ACE41A49921A00F2E96 F2909E3C8DD7315CA1DC44A9F504084BF32B442B72566E9041BCEC2DCB2EEC02 532A7864D00CD9AF4676C0BF7ADD7F82AFD03E94062B2297B32EE22EC57E39FB 82A52D9E53F446CB7EB9E1372CF30C269C4CE5BC6ABED3887C679948711CE525 FCFF55A15AFCB88BD9B03DE2D4A8FCA7F1A5F75124677237E667DB4A19ECD57D 9FC9EDA5A7DE854C8C862AE0133C993D19643BC7ACF722FFE9CBE54987B09E21 BC24DF15E8669F1B89BB7606D791ADCAB5747F29DC814A33DAEA5E7E239F9ECD 08DA565A271B15BB9A0201B80999D067DD96AA2BC79B4C5FF94127F50C5C62B9 C0F805F54C5C11FE40952D962624DC8EB57C6494780926F0266AC161A7D6538B 5E536518D99D9397B37199ACCDC7E5D506782ACC9E455A4FF2EEBF6E32804402 6CD996ED3FD8D834B7BF693EE569320688672BCCCDB2CDC454A54D53D2F58F99 B6F3FE0AEFBEB573FC054159F73E5806B9EDDD6CA00B982159CAE4D6AA001322 1EE16D0A7F1249277EE4A12249864167F38DECCCEA91A86514425C2677589A51 CCBA755E7A82F864AC991071504DCE6C21253F3C952C4A8844826D2682168573 DDB07F5E27A4A5F5DCE16120B0AF579C546B73BB3003F0821A071EAF4DAE7BD8 79789F0F4B9198716F023A0B79E021F588D0E60E8B1BBCD4C4A0065582AA89E7 9097077CAA4A35D34BFE16290ED3443AB1ADB5468D78C3B3064E96BCFF71EFDB BA0AB8A4D2439A51F31591622B7766078FC2D5E7D6F727898A197E818992AC10 C6199531D60C8E8B10AE0974C979DAF7F30EA87C2A52A2394D49C8E76515F861 8B596E17FD9B599DFFBA26C8CFDECE79DE4F871859DE9D0682A68BAEDC176967 60F808C7FEF13F630E9307BD239914F8774A1B7072E27EF5D7F1DBB7AAF3D0C5 AA448D07F6808A5A72D5DBB9EAE4B9D906D256C1C5691386EBF0365DD89DAE47 66E2C29C10A1A3D1D17FFA107C5A8EFFBC7C8431A12536B464AC96CFC79BCD12 CE09467797C6C73097AF2A9A948244FA7D310F1EF9EA900DBFD80B822B5A7B1B 0AD222516C5BAA35AD8588597FDD75721BB4E23B4AE1F79835C8D6766A18CCDF F179A2510DA9DE4D5BFDFE44E315661D93E1634E7F043D9A04B6428D3B9AE1C4 F22CB3A3AC1978C93E0DDB57311825AD1FD13AFCCB67B2391E967555F9E3A3B2 4F453091A719A0CAE3CF514BC9B68ED65E928AEEA1E61BC9AEB1EABDE876522A 9ED439A92433CA8A95B441D19C1236F1B1EA69DCA366F92E4C3F0D4E1151CEF9 C083470E2F8202C06EDE655E14B239D6F5F4458E30414DC9A247A10932BEE664 946450341BD1BD5C3F5A6111D1BAD32EF1EB5ECE513335576A9089BC3DF2A586 7CB8CF140A3B9D181AEC90CD17999B37F1947926B2DC12DACC6652DB4E399C6E B878862850F2FF07B04A16FF88E81D97AD93BE222C39C9BCFD0473E04C26DA09 CEF8BA97B832790D52092DBD362C987D15D6B3E586 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont %%BeginFont: CMBX10 %!PS-AdobeFont-1.0: CMBX10 003.002 %%Title: CMBX10 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMBX10. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup /UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMBX10 def /FontBBox {-56 -250 1164 750 }readonly def /UniqueID 5000768 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX10.) readonly def /FullName (CMBX10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 46 /period put dup 49 /one put dup 50 /two put dup 101 /e put dup 105 /i put dup 110 /n put dup 111 /o put dup 114 /r put dup 115 /s put dup 118 /v put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA 0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A 6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6 39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8 407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4 F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF 285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33 DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185 53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108 74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2 2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89 8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D 718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61 C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B 03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2 767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09 FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377 547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A 3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62 57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10 9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84 1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4 822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB 1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B 28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893 9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B 80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7 D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356 582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89 4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB 323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC 2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717 0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1 9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F 9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237 E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814 9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45 8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96 BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921 5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928 6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711 86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990 0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713 6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05 64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377 879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B 63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE 2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667 9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317 47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387 9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB 6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2 BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238 4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751 125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E 37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6 EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E 7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986 410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E 8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0 064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9 28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B 3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759 8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5 E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08 EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4 A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0 0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9 24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373 73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7 213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501 3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6 B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82 FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9 42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE 4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B 8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10 CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D 13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D 52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493 FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3 760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5 5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58 0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6 E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974 A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED 16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C 25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8 B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B 45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE 4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06 05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00 63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B 35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75 BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40 70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71 169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3 EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441 FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC 6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9 05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30 69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D 813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70 EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552 19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340 1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024 D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D 8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6 17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24 96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8 14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668 4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635 5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE 027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215 A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96 BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551 66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD 92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F 93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613 83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963 093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6 30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C 1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9 DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE 6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F 9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183 BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8 5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB 6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133 BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548 DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A 5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2 913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E 243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609 51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4 C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239 E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945 942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589 3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348 A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060 6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB 926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9 E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D 08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26 8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E 42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88 C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0 BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3 6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D DC158DCD1C1BC03B83FF94C60B1DC71CE8A86B46DBE661C9F8F4677F8A2C7CF1 E41A91EBDA2304735147BE66CDFF2673F09D408297302124C127F0B35690CAE9 CE1679120CC4D582FB69550AD34A047DDFCD9D411724554CCED753DB52D6AA7B 22B0C55EB698ADDBB0F8ED15C971AEF113C74B9E25DA29199237B98DA4023665 C2A63A837E4CAB38F8DF37DBAB5DC80C0C3FA72C8A70DC76B5B36B2EEADDCE74 23CF794B66E4DD3B35BF99893789063BF7B01D5F186B2FDE518B2CF2EDE51F81 38244BC64548AC3433A80B86D6A0CA26D77F403C06D65B7394BF1FC7D06D37A5 E70ACD844E3367DE4DB71312CBB85ADD21D5A1F99BB8427F252D90ABB66D7154 EA5AF4A165DF6415A0880AE784071E6B3E2101F0B663DE14DB1ABF8B7CE0E6D9 D24F9CDD9F80028D37C9CB4067A28D41E879AEFECDA71F649EB3C250BFF809D8 1E427E3BF24E85C75F080D93E0314883988B3A4A2B72A1B4A3D2189AB6ECFFBB C58151AF05AE335200711ED945E18B4BBCE24A8A162BD9BB26137253BA8B5819 41E759A7CA7CBA129BAAD438E87189F2F6AE7C86F4EA099DEB23705A500332A7 4F141D8778EAF3910486B2EA25AAD16B60DD804D0E5BAB0FEBB77BC95EDED08D B8941E040D99E8F44E70FF842306ACCF65C0AC9673859DB9C3A724238CB8CE62 255BAF0145692EE3B52643A0DE3E667AD03EEF6C753F57E34AECAB0CFEC7B07A 150D7151E57BB3A026D50C7A88DF5F480147D87DFEFE463F76122EEB5128796E 46CB0AF4B537987C2ED552B37D83F393222659DB735F2A293159AD84AF082B95 6F1454471FC36D805485D619D58FC53FBD6E3F72660ABA559B91ECDEFB267268 86A75650C3919962B0139409A29F5E3FA70B901CD5D2C49144778CFFF1D5B63E 099C92AABDAA73D54689812279C95FB7A4F7E840DD53DD3197A4E6D3099446FA C0032FD40411E8F3300A8A8934B5216B01D916D41DDB32513DC4ACFCEFE43D6B 22FEF13D3567B047C6B35C477ACF2E172701FDB0FFFBE01DD58D7E54398EF4AF DA5A404E194BCC39BEADEE5C76D7CD1E602793B950256F25871A9760C80B1EB4 D1E1179C390BC240DA061C9D539B20F4FCFB72DD0C1E860DEA2988E749819787 F04BA7A9CC3EDBF9CDE46895FE31EF0F8DEB63E295E8826BF920C8FEAE3B2080 8C98DC43DB22C6537028798198E2D3B0453ED725B774686310F635AE6153D9E1 8A0514882D4CCFE9D2D2465513E42E548F64A50ED78AEC9D62E0F9CF61EBFC9E E8832D60E91796C916FAFE58F51818B80BBA52C1C06D94E602481654E5378C8D 137E3A872753CCDE4B2618C031CFB13EE91C91335441C434296DDEF61CDFBF8E 8FAF25DB3B6D6796FCCE2711938D605AAC00F0A58DD1A03FCE8732DE541E5E8A 41FC87E1FCA5CD9B5E8D63E7A7D6CEBA67D8A83EAFCF490DB7185AD55ED0F43F 9A1290E91C463895BD12E8A831DAD661E36E1B01ED4C112B8E1D0991D0294BB9 A13B7E9A8835B12A7133E834379B3477DAD425B7996592FB0395E3B4FEDADF4E 23A07F6C0E1387DD54F5C8BD071C4E9E4CC98BB16FD06B69192A2146790B67AA 56FADF3E66C9DE6A975007BF6EFC3BE05801B2FFB32162A41F22B8CEC7D01555 1B07AAD8C85C6196DC28076CF4C4A1C4569E58941EC067EC4C03A2F8D4D19690 C2AFC60AB75F8A618D455B3B13A9AAF2BD7442D393B3431CDD133C7C3BB39FB2 4F9C16AF9C4EFEE51EF298B5F6040755C8EC13E0CB4A7EF88E3592E577E044F4 2EC01203E8C0EDE2D696E60DFEE5F15D5EA092DCC4D49B12ED573CDE6BCD32FD 6801B199C3BD68C675412849099612EA52BCD504367D0DCCCF62D091D5276CE5 65DD41674FCE08A600644BA6809C10739E3DC03011481D2AD6D0270F9B030756 2905FC6B07D20248F857B32920AD49354FA7A748A71FC9BAE2F5714E57C8F6AA 9362E8A8C69E14731135956DDDCE694AA0656AE18670DAA3BC88E7A85599FC79 4A93D7F051F55968F63A8507C386FCB705BBF46AAE7CE33D950E79953DDE9F3B 04019CE057473CE62550F2DB9D317DCCAC277B9FDBCCA8E99A035B26D05EC9AB 5B3FDEEA5E6B5F589744DB14DA1B182397CF03F07D66C46A4BB5842DB2F4AB03 FD01A2657AE0E24179E719D6674DBBB512BA97E4085C23730EEBBBC2D1323B23 9944FC0727155B6A248DE14B83C7B313FE192599F5C1BE52AD65C5F78B048C00 28AFD0E5B70F8524CB12BC34CD34C3251813CE12B7620D9B713FC26F35AB339A BB48DD4EC07C9F30EF7E85931AED5B2CA6B68415E301B14680A3B9650D699C9A 592C464FE65352F56E7855FEEE8886025336AAF350CEFFCFACC48629586C7D5D F306BD03A3C8BB99996749691B0E9C8A3C32C3C394AE9B2E7E7CC48F7869C019 717E4F7691688FDB8B30E08C9681BAFB0F0EC7233746DAA9EFE32783C300FD83 731BF72F6C13EFF7AF02A722D5BFA4EA491DF016DEEEC4AA85D17812F9302EE8 C0D3169B31AF7034155870747FCA1150FF64B719550BB63C46244F0115F1CFD2 7B102E3AB251EB9FD654EF7057A74C206BE178320D01B4DF145D6DC515C88CCA 36F894B4EE4F16964E6C44133145FFFDA237FE9329F03A34955CD521F35DE66F 1E96F90A8FB2B785287A4A6D77D423F8B82923BCF82ED05DB98A2EED951E7A3A 24E661E7F98C07845CD85D5A41A317A9D1F5F14377D75506A966334C622CEA33 2147C7E17F4E7D1A3D592C795528D30A8F10854D497B84048CC3954B44D35852 7B20D9741AE93676CA3925E9D2221524FBE68BED4C64FF1B61A76FF8FEDDD552 F26F829E105E486C829264B058D390127F6F40CB8387218CD94EF127847A48B6 48FD0B691D5E1AB0CD9B4F53D76767CEBB5907ED1D486993131F24D58247DE6E D8D91F32EBED2672A3B75FACE3944869DE18407AB99EEF38F110610C982A4797 32DB1F8AC46237680ABAEAAD15FCC022B7E44A97CCFC95552FB1189648FCDB9B 4E11514A957757D2A7DE972650DB9E7822A7E76D06CA8843CEEFC991073DC00B B1B12F5F1FD47AF9F648A4883EDE733CD79552BE2C55747D7A733196FA6DCAEB E4C8059F524810E76A41D85840139298877221F8DD695404E083A59089A726F8 627C03F34D3497CB9A895D5B84664934FC4D65BC6B73CF85EA4ED9C2FA5127A5 1CF68FD2DCB05FFE2923670AEC10EFB838FF77A47366316DFAB72FA65617E1E1 1F6E58380B604CA1B1E67715D33A3405DB4C5BDA12D6BC74227FFD29102910A6 2F9B937CD016F3A2C486C0397CA068EF73F6745D4E07AE431935C86900995600 1CB414839555437CAA2596E7676EED3BD4C545BC36CBFBA3BA1C7FFE79A00837 C7DFC6CB623C871E204A2AB5880D33230F4D14DE16CF1379D6DBBF1F53A4AF06 079573D3CE3D7A70B9FCF6415E8161BCF58257C1D243EC2E0C788FD9013759B4 AE948304ACF34F0661254C4C0E9A795A7AE38D94CA85F0AB987BC6CD15782D3E 0A907EF1071494B3B43D3615675A9BF0A25A2E73283DDE5D92BAE6709F99AF03 F923F3B1759FA3857F76636634E05397AE767968ED4CF408AD2EABA2C58642D9 8F284D433AD44CE6D656AE33137CB508A718F2C6D6255A1BCDD5A8511F6D51BA 9929B3035FF57C27A39E08164F4D7FABCF7890A8D05CA70DF8343F630C406FCA 83ACBA24FB6EDF0966CED4754A6D5E5492E7C6D7E68199C72CD505B705D047B3 7BD0389BEFBA9FFAAC78B6814B1CEFD348CE29484BEF3A598DD4999F5423D0AF 7E21A589EC463F659591DFDF6482CAAA3605853256062EB72116573126F1507D CF280F96F425238C9D82D79D7CD399DB5F8F75FCB66645C65CC17FA55B4AC8FE B1CFA98C1A8BD360F943B9761203DDB59CDCAF6474107A53B880B69EB00419FC D8DF80A69949E9B431C524F8FC6C619D6B61BB35990323493358266FBA0DDBCC 242FF0D9759B6E9A190924BB180C2FC480AD23D3D1F968DB91CB7C898A5B6A31 6285A79B0FF893563999F00422F81D3C7BE97C850B177E32FBE823C3D59E3513 B895446BE443236ABD095D25589231F995BF177E03D35E12870B680CEF505645 8BE5B45860D905315BC27700F5C17D23B6224C27161748515E4D3D0CD17BDEAC F137048C626C3AE67867BD5488F6895BD9225BA59B6F41B00EBEF04483754FC1 09DFE918660EBC9E2E3682D3F3DB37231A086DA36C6F7B8D4A33F28792C259E4 572A425EC1761D3EB74D8B46DEA01A89B0376662CEFD2D632379EEC34D5DFCA1 94ACF58358B7D9F6B65DC32200E796531DE450654662753BB8241CC0600389EB 42FCECF23F7781B7985CD6BEDC5F3FEF7CD5A48EBD652ED5352C713E9D36D936 1BDA95D18DAD5E7E48C901F7C0BFBFECE431D937DFBF86A034B36E7F682E4BD1 E7F229341795ADDEC27BD550478DBC031DB8A1198C703E46FB2DC7F4BBB4412D 93C126E77D2461AB00C3FCE46BFD20F8F03F223B6B698D07258E7BE2FD1A3FB8 C8FA19011078B8A498F1972CEAC6B4E5A30553EF75A12F65918AAE593CB46C10 670C95387DD01F86935DC105E7B4ECB3C33F198B90D14433093DF9BC994A07D6 DAFB9FB081F123EE651C868F2ACD0B50B1AE66A64180106BCA4A5279B40D3CB8 C64E50D8506AE17B131D6F8D078C98BFD1260D731189BA6F6B411D7D250D4EBA AE115DABBA864901E69539643F53608DFEA8738645CF29CEF244C62509562164 666195274757A3A8269DCB600E81811AE932CA1C37814854BACBC0AEF9D75056 B8400563AE9EB767FE8478CDA103295B951C397136BF6CD87D0F5EBB4B00CA22 711D948F36AF201B749F979B0827D78D99B470B9385FB67BD2011C1DC5AF326F B7B08953FA7F0FBAEB12947BAE2C5F7FD30F410CD86C987888F3755674D5D4B9 51BD9D7C6C07EFA27F0A87BCCCA6895EC8676AE98C8B490BF565B6AA0CA274E5 A028B9D12E52C47B2564BF2F4484118D1E77E6B672582BA630A6B7D7A61EE5DA DA8B7D5BB579EE7E05E2EA92980364BD59A9DCC0BAAC3FB8DE34D8E1F9786933 721DD0A73C10EB61E1E1DF623E13EB0458996DA50E295EF15E804186EDE46608 BC4C8A0851887DC87D4EBC41CDD34ED1EEA66C7F30A9C890A95A65AF81168041 E421D2D5AA1D756FD5DD 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont %%BeginFont: CMTT10 %!PS-AdobeFont-1.0: CMTT10 003.002 %%Title: CMTT10 %Version: 003.002 %%CreationDate: Mon Jul 13 16:17:00 2009 %%Creator: David M. Jones %Copyright: Copyright (c) 1997, 2009 American Mathematical Society %Copyright: (), with Reserved Font Name CMTT10. % This Font Software is licensed under the SIL Open Font License, Version 1.1. % This license is in the accompanying file OFL.txt, and is also % available with a FAQ at: http://scripts.sil.org/OFL. %%EndComments FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup /UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse {save true}{false}ifelse}{false}ifelse 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def /FontName /CMTT10 def /FontBBox {-4 -233 537 696 }readonly def /UniqueID 5000832 def /PaintType 0 def /FontInfo 9 dict dup begin /version (003.002) readonly def /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT10.) readonly def /FullName (CMTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 45 /hyphen put dup 46 /period put dup 51 /three put dup 52 /four put dup 66 /B put dup 68 /D put dup 75 /K put dup 76 /L put dup 78 /N put dup 83 /S put dup 84 /T put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put readonly def currentdict end currentfile eexec D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA 0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3 7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260 6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89 14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0 0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397 3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4 BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0 FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB 556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F 8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673 125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787 A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77 4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC 56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178 E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F 15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385 2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9 05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390 6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD 04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728 C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4 70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA 4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473 62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364 240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D 69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2 ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84 121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4 0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A 0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157 D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C 550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844 CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A 9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4 FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F 7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06 E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6 50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A 2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05 9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2 44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE 49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9 385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091 8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011 6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0 E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE 484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29 4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0 0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C 6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F 5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C 1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3 909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8 BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506 CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0 2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0 CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08 EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811 0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6 9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4 21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0 7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F 52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7 F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429 067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431 C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937 5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B 0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC 2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714 56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957 F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F 0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D 67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046 EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7 CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8 9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5 9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0 C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861 327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203 F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC 60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4 B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5 0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F 1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1 DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D 55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C 7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E 75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5 E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149 8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB 8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914 54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0 49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9 CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0 34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276 1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA 6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4 E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD 4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD 2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934 3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE 97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570 A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF 639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4 D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615 E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2 1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3 F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780 5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5 4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50 664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844 4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8 35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04 1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6 01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A 5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82 2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0 DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507 39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1 C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665 99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481 7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8 6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184 5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38 6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81 E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9 39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81 7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5 ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77 6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882 2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230 1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41 06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE 5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A 288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E 7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F 759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E 03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A 6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859 314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266 74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D 906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36 673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901 931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390 E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1 4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136 2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE 251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71 7329622828B2785C1A8B26351BC7448C1719C88FE99BCB73F7DEA427FBFCDF4F 00EE079B0C712F7D2C8DF98D4830A9D8C8B70A8C5D54BC1DF3171135278BED55 DA1CF0E696B12935EB59B606AA3C0CC50C7A259AF32F4C81D9B39470D9993CBC 8644403D2833B34AF40511654F96BCE0064860F39849DC62E4A0693F75308FF5 FF450EC05F142D5E300D3850C66D432BA581D5D8DFA97D901589C53181CB5057 7FA8B2C95DF751A861DD1A614B2F32ABD284607F40B3462FB05C79DCBB586B43 B853D7F77AF5ED7AF2A913FB2CE66241C5102CAEC3992BEEF19A4F760E98EAF5 063E373A084CD6829DC18D063618B4AE443B35B63BFA956368397A69D41DD715 6C5ED849CFCB2825CCB577C1669626E2C87DE60D69559B3CB98FAA07F1893EE9 DAAAE01D549A252D77E79AD37BF64540DAF7FDF2FDF4017F94D9D89F1B6F249B CAAC5BF817A1979163F3A316640E382B501A6BE18C334DED469CA5643FD07D8F 6E37275108F7168F45BFB5024D4FFBDB140741D2C8AA4AF19F22592587A05FF0 A324A0DD415F312D653513ADE6EDE9E560BA16573295F6B3A0427A15A585A40D 5265A4CB711011332AAE28B05BE6E4B11B1B3C178225B2108D94089E6544907F DDC2496B0B36E2E8C1494640BC702AC192A3CF82B04FC836B9A8F2B42AD59DC3 77DB2F1D8B7F9C0DC9CB7BD85C3D2C7730AF276E6F22D1158896CA00870B4B64 B72731CE69E9A92BFCA929E0834456AA81EEDF26F58D771229C2A3A491455426 500E410A707ABAA26C2EBC0178A2DC6A24350823AAB33A391820EC085C6C7F35 65B4A26C6C28C08567BF5860D0930D7EACCC5227BCA1589504504DE109D1AAC3 9B97AB1FF22BF698E5C01C812B0C32F4F0110E37BEB86AC57D1842C8DD13102D 2AFFAE9B89C5965994D167E4008EEF6ECA04DF853985B8E7E5783D62CB82BD0B 1984EC07B99D887C2344393FA940D33B693F074E58FFB1B0CBBDD1263A9AEDB2 9E4B3D4C87EDB94FF5664A8B29A0FAFE5E61900FAC8F910C7F073FA7C227DEBE F9D38482DCFC5F6F6E6590E30852211E3953CD7AD902B72051DA4A839D61846C 633967FDE5A3C7F8E670E4BA0CD7D2227F5FFBE12A10FB29634CAD38F0B948CB 022868DD84BEBB8142D95D00364B969F8AA651DFD7BFC5FC1ED5CC71B9F43B5B E8837EA00B304EF419E41F0169D250AB650794B7BA5F7F92FA3FE7A7DF7F4EE6 D26D6C66A45541320F1BC615E42A90EBFF77422970D01D5A056E2D16DF2FC184 D547684B190468BFB7BF81602799930DE5E32CBC4CDB2199A47BBCC9753491EB 90F9FD2E532F971AAD224D6E9A5A869916E8F6A31EEEC01E83B18DE3C0BAA2B0 8F811A23E1897EFB01FAA2676E16FCF3BB0E6BBAFCF65D434E8A92A2CAC20ED1 7BF006616A3453365758F50534E6ED6794D38BE3C3E79047A38BCC6BEEE1B892 52A246887920976D383241758D0D5EA9018EB689C9F20EE15F98A4010CA4DD07 82520D170267CC9BB5EB439D43ACA47BC3DF2C96046816223BE4157F0A4307D1 18828992D032C341F9B8CDBFDEA3CBF8189CAC95333DBC8305E2D7B5D30DA9A2 E715D31B2A9F95A6306F7D5261C85D4A011886DDD520D8A429FCDCA476EDDFE1 5E63310A8BE3EDC46871AE21A24A0AC523379D9F2ADD4BFAFF031C32BBFFB33C 7C11726F5B7DB8A8D7F3E1C56E50C986D9DE03CCC5709F6D80ECEE69FB2D921E 6819C33950E7DF87FF3B51680A23603F2267173EDC0E27D2E91AF18427CA61F1 7DE1E2FE17E87E20B973635459474A064BBF94DB3DFFE16B447FFF69499F029D 2AA21FAC0ADB16ED438E9577B1DB34F9DA70EFF044F21E58E6CCBC63A6415ECD 55BE2301E115BF38212DC6A01F45384CC706BF6B6F85F1407BB061886BF564BD D888F397697A70416E36E9127419F27499232B36CE27F29A9BCF43FC7B4676DF 805447BD7AD01EB17C5D14F4E6B98F584664D911B0E64203D75D3911C3E60CF5 683BCDC2F4524323E067A69959FCFE3179134C3CA13ECEEA7A16305AA80B0CBF 0B5A64309B4D30CB87799DA576274B6896EA3FC5082386B939F6C6B628B89501 1B8DA347EE03B97FD19D4CC070A06FAA516DAAC180C7FA5CCEF819CFD86A06EF 122451DD2380BEC359FC48129FED52D8782A2D295FCC07346BE82080C78085AB 907493BFB424316E1AA433892A68A36C0A7E8FB0AEC8429706986B502216EE84 2B1B7EE5CFBF9B70964B3A8AB43FAF4980FBEFDDFBE9DC4CF11BE9CE560DD2C1 658D75329245640329667BDB2B79A6C97B54B8BFE82A1E6D7F3FE9433BC4B809 68AD1178A8DDBF0175562C2E450B9BF2902FE31CF600427C11D65BD670F22FEA 570C34D7C3320F4B0562FBC0AA2A4525AB8C8AC6D254E74DC132283448AF16E2 F6896603072ADB6CCE65BD6A3A5D23E96C0B0616DA2E2448F499AE49E8437431 EBF58521D5C9ACF119025B3EBCC8A2E60ADF67A1867B9E09A5A39270E37AC4E8 08834EA5E1F1409C0185280F62DD2CC436E9D88A6B89D36D0DCAEDE5018EF41C 5D418651E3B1EDFE3F14ED7BA85AA036C15338BDC24238BB910C11D23439CBBC 7CC32B387E42044765E800D817BFFF2D0818403A26D1ED01722E83609862BD36 44ED8993C4CBE39FBE830678A19912E7197A423405389974C5CE46B247AA0FBE DFBB823DDD3AA01A1B487324E304F996BBF6132EB91BC1D37E1D9D351DA60B65 08F49A8E959132D9929266498E6D409FDBD910BE7886D6172393058EA872F7D6 3258654378484F5700C33B474300FB97FD7DAC00B46C36448FE2DBFDE99043C9 E69434290C26AC940EA1D3D6433BC3EF7F2748F126BFFCE0AF7438B170502CBD EB3982F857D11869F41C4B4624238448EFF5A1FEABA071E9F7701FA7DCDDD053 008FFE748BEB9851EAD2D9A4C9C6B422548DA9E80C85B746408B794212E5BF33 63A7BD9BCFC1DBF4B3F47A82596075BDDED840436A6D487EA59EE1F031D2F369 5C5087A2F4232EDE2994914DA29155F292E9A75BAF7EF413888DF12274EFA541 405139C62EF85E7F14479E7D8C80DAC237C034AB6E55ADD91D7EA476932AE079 07D1B1454F424CFF149DEBCA8B8CB54B2FB900F1B1924443A85BB87581AC180B 181C09E46669C52C5BBC47E007174C5C3722A5EAA0C8F43F36429A5804997ACE 90D45F5E89A171AFB5FC5CA1075DABA918C3B0A45780F0BA276D794533BCC224 FD990347DC10307365919914E4B235D91FD6609820C578E77BF103C7D76A5C3A 026693A3834D9D286AA159AADA7D1C3CF5E5B078C27B4399B1B79177DF54231B D83337B400038A80286DAE1DEA5C1A0C9CCF8A427FB7A9D3C9F850D2328DB47A 624C0296013AF251918EE824878018A3048EEE1FF3BE6C3516B3742777A5C1D4 34F2BCC7AFC5E4E9F9F14F8567573E95E13AA99BE913021FC2D6526821C6A0B5 8808E1555A49AD087347116E6F068B8037575FCD1AE8F191CE1ADAFE01B1B25C 62A0A6F94AC26199811C7A46615AA20EABA3B8C7CEEE8C1273E59E12156FA535 50780F7707B23695100CBFC23DA2636FBBCF8F974B4B63B2FACB13CD9094006C EAE505D8A58107437BA59253D9BD9A431921C9B0D5FA31AB145E989D0488F073 A246A06DE64816BF3494EC3A25B1A7018000BE34C03B566BCC75735473808936 89001FD98067E231F6A17A1E6829DFE906D0F26BA8DAAB40EBD5460074555ACA 3D9A06A85A6BFCB9A89D9D895426FCC9E1786A3BBE8572FFA0ADFF4FA441B1F8 93A1F2825F83D0F39AAD50F81C9C502C4D2A389756BF7CD41F40B7E00DB971F3 1F79BFAFAD4F5C1DCCC295E9D7EE3E8C935B948F63A37BAC3A8C3395B768AF90 9D7A3BDE3614159D5BE42A302761E70913C419B8735DB8BD003C88A222AEE9B2 7ADEA0AA9867E56479A35B982CB227C30DBC0B17D89F8BB736AAAF64A85CC8FE D6F3F3C38F09982D6B9863B2AD1DD209F7D7CCC73C20EF069FC21A17A7F5DD8E 5E909B78A23D621B1B715AFFF927BA680DBFFD0FACA27A007D9B7A9D6149AF19 DB19133B02845DF2D5B41AC037D2F1E0207909DAAF7AB7AE4ECA6F1576E56B43 2B101E445F5DDE49CCC1E220951621D1B375B38AF2C8B8060C2AE4EC36BECC2B 8E48175BCDA6404B9A9776FDE9ADC7D846CFE341A490E4F84BF9C88EEB8CFA0C 71C7F9C70A166EB4A3D7B285DA39595CD5C58A91445D1FF01A1772D2C6A30924 CF4AE0A521DFDE9321AF5D9BD9BC88424C5CE13FC4BB9768848499204A1CE4FF 3E19E5CAA58870A24274A1E8B8B7FD81979448506B37A05FE47206F82F1DAF24 93745F328137A5FCD09950C59DBF30F335136ADAC47EE6DF56688BADE4BE7F93 FB60EF3C8046C68E7A5C1AF812E30F6E6A21B5E0195B6DC383ECAC0AA6BF76E3 8BC64B9F68E7F7EE86C91B6590C155CC793BEA88B7BC142439E8A554039AE55E EAE7456BC31486F997635D756B98AD011345E4F96361CA12B051F81B17DAEF91 1DD10F5CA9FCBDD6B371872D18EE12EA51D3E7C6BC0A188C47C2773ECF4441B7 AD94735E327264FD738137A23312C40648F125B75CB7ADFC904C00E72BD74B47 E5F5EB75CCDAE8B11CE33E468014DA1E87EF63BA7B898E61F03D414C8B67FA9E F5AB2C74903BC196D200E5E9DA2116DC5F6922F35A0AAC8CBB81AAAB95C1C337 64FBCCC1635FB1203A4D8F545189048DA98E7938B05C6A5468464ECD5E2512DC 1E7523890987ED095FAF98CE425474E813E5DF4C6EE9C0441A5DDB75E8C158D8 1649907A0A136D52288962B150E3749D993CE76C3F1376E0899E8C3B06767563 A71E0F94E611A71BBED10E4F00310BB1803FB3DA376892E57557E6B049AD4848 D205FE19358BDD9A78AD754BC39265E51DCD45F39DD45C9DC4EA3776C726C111 0CA3754CC7B2FF7067B0E86AB24417D8AB5CC849A80132816DBA63F8F8E266DF 66107F9533DDA3E0735E5F32AC1E39ACCE64E45F7958B9D69BF52F87B21781EA A7B1193BA98C4433407C56ADFFDCEAC621AB4B60C0C293BB158A8CBCBADF4F88 BFDAC62243F57757EC33990AD15E0C3F202661210AEF980C50F26786532AF1FD 162FD82D10CD1C130B8DD72FC7819EDDFB455548ADC5AEC93169E26130275557 A40E3A0507C33ABD1337B07546E470942FB1B44ED2D4B961FBFBA2DF21F8C4AF E90BAA5E8F73A090F63696CE0F5F2A78621B7A0BF579856DD6D2C4BC10392663 9B15EA5E63F0407962576373A6B462BA09394ED5E1D2F80DA13FBF3E77AC1992 2BFC86622B4E5F3F19B941B2E74CAD1674EF7656ECAD894C17D7F1EB8F616A08 5F940B8BA909EBF960B60FBA0C107C3B8473890125AA7FD77CB534E74F59AE7B BA364BC989382ED656A2512BFC5146DE7B11EDF42309163B94600861140F125D D0C0305C2DED435F98A9CD52C07EF2C8202DDBAD4F4CBCA1BB2A991BAB9261B6 C8949B70605D0B3FF8145CCBF3BC642A363E4D432BFA03F772CACF35CDE51CBA 5BB14B426DDCDF08E275786A9C1CF040A8945AC2FD369BC53F2262F1ADB27871 E711B7F0C67D2DB65A4FB892FA72F88BDF2DE1C3D3877BE6149A335519702830 F27F07EA02C921A73E44A4DEE6D4D11ED16C9DF2E914952865AB0F1A9E46FC43 4EC18296BD068870F1FB936B814B16E8C83200DC078DA0E856AF477AEEB3BE4F 4C98AD0BD79DAB678BC97E122664AEAC251192C3C6A0A02EF9FE7CF81EE3DAF6 BF9E8459B5128F2C270FC1C452701BEE026EC93BD3B1373612C37560D7E73DB5 88EA90EBCD1B78E579AC0983899B9C092A2D870C519F44DD29596F9DDD98944A BCBDF56BC16C02A3B34B39B422C51B6A003E8C31A7F552649913ED5B190EF3AA 5D9A285613ABB7A88212A5FE1FDB1E7E97615A94C79F7255C11AE7768FF3D795 43F3F9B0C5ECDF9715A1148DD3E9868372D3F8967D34FEE7A6E5ABCB3976AA59 D6C205C7652A54D2EC8A988EE20C4A675E4D422823FD8DBD93CB0EE12AD86C87 056903A7639D91572C54D193336F145E45E1C2B1E4C1348BDDD96B06773D6F23 2A424046A7AC21324A2A4C339C5F849A0189C91006CAC30600B3347919B41D62 01CB3103A5116818A1D986A49CD294D6A0D44894201C8DA852338DD7D177B719 EFC34429B60AE19D1CC1CC6E3C653C677CE6F0D175A2A4F33E509FA3AFED1C3F 27C2BE2ABD0D00CFAD4C28D8DCA9E8FEC4DF43C85EB11250498F3B6743023976 72B9FA7EEA0838AA5BF59349DAC852E1B712E0F42F6F95DE73EC1EE585B6D08B 3039232559B97270F88FDB8A9971757CD4F74088C8E4386BED2942137FC603CA 5C48A08AF753C720544DDBF419CBBFCC0094ED6E426A6914EDCDBFF782FE5904 986716E075C855002B5AE15C2E8DE58E70F94FCE9CB3F15EC963A84FEFDAD012 F7E49F220C9C7EB9F387D95091882C688F5A661ABD214C3AB891FD4865D734A5 42FF37007306AEE7883B5D229A41A20622BF12A06B907A938142CDBA5B2323A2 3FB3C5407F122AE2580772252716F1C249AB457EB21EA14C919C426D99A8C1A5 A71FB14516B931ADFEE851C106C32F9973F95644B141CE8B669663BE3B83FDBC BC7AE9C07DBC14EB54F98F657A62B3ADCAADB9C3D3985621B0CE816EC7538EAC 7AB801FA7C688C7925C3B69D93862244C625421ED707199D1E1DFF6000B0BC36 6251E989FA5A3584B32862DCC65ACC44444E9EC15D742A4A4E860936B4B18237 FEC4021295A1523DEB1B3596968FE7B65B18B04D73B3D331E18403A6E9FF8767 6D5BEF04E9D500932BCC6D47DFFAB2A1B12048A717D14C9A8C2416CA600D3EAA 22DF60124EC9E1A177498EEECDE88F9214CBCC14520DCA6EA0AEC710E345D10D DEE7ECDEA83810A6A9F5A8BC2655FB6ADE99CF1F3C9D2D6FB809016DBE406872 AEBD3F1A3DEE15E28FC00FEB73A075C85D2088CF1CDACA30BD55C9E2F7B4D2E1 6C3C59C6CD18384AA4D7618CD68022A3F9964D932C98351A9E26C6C8B150B8AA 91165D6E1D37C2E0D59760C917610BA3116867A0225191297E533991033EB770 28EF61050962894BECD66FDDD5EC8194279E5280025594CA2D24576B34B89103 18BFA198F06ED188B8341EB63A61FB11483754248C7D395A835E57C90618CF9C 962E7B59B0AA6319585E7AD5780C70F634607ED4889DFC82FA600996832D770C C75A1D1A58976A1222E6AE38354742C05F133FF64CF1464FB468A5212768DA0D 1AA4BDE59CE93FD594052BF8B476B5889ADF864D4347684775C778E838AD245D D04A5A0CA410949A02855F70E7C0C292D7C0BC7FC7BD58659C167B65ECCC1BEB D3BE173E7899AE4E1D03A5A96FF6C6E7B40D368CB23ECD3225C27A1A81B11C1C BABB8F3C63EC967AB3F5A43D7C3521F2526E2051DD950F00ED71E4E4BA26F747 E4CB2C607FD31D237DAC9E5BDDC4B076633909F4F50FA76DC152259140146C14 793FBFA0FCCFE05F29761CE7A8A0ECB677AFC17642A5067072557CCDCC56532B F1805AA83D4449A15293A75B559A55B7B6B27166746C81FC3D320291C0D88E2D FCBEE754190B5C3C00A35721BC469C4BF045D5695E827152D4FE496F593BAB40 E8305381E7E6615C14CDDBB962D84373508BC3764A52412383478C3760EC5B9A B28FB151E8F93C4CD097F2F5842D84AC330921C1AFCF3C978E81F6D6CC52CAEE D1C2080B644F32C97B9571B50DE6932901EF9F3C232AB9C5ACA7B9834558C2E2 62834B6DA12C3F6AB98CAA7537D5DEE061A7CB2BC0787517C75BECA2658A422F C69B8493B314F3531A8C24A86E3C7922DDC1FA642B69664AC0F79A8FE45429EB C52897FA3528BA6BBD3679DE7304A69A49BCC57D7E3463F32BCCE93CF501B524 03C1F1B08901EB3F0AADE811709AF1C53918874BD5A1F5FA8224E6E6E4BF2FFD 1F75848B67F57183BA93C051D5DF6CEDD84ADDC305185D12789EBBDCBA92058B A464D44049C7BDF71C67383A6DC38528D9B2B4328431C9FED18431855DB98AAE BC85C4CA37FDE476CE0F4EE25250462CC747477446BA6375CCD72647C3A62E27 759FE92621522A5815F02819F1F127805078D1945C6B5C91A09133C05E38CF15 11966BA0C0C1EDB2601DACCE3823FA8F0B7C147EECE12C27CA629DE958EE88C7 506FF8ACC164AE2F84263A84871664A411ECD21F38E580646DDA140824F78E2A CFA4F230256C8C6ACA374358D705EEB228FE6287590C09AB3945C5781282E983 531D2346F4F3F8A9D7DA641995E291E65493BB49D4C73D5848B771EBA7887C90 9EEA2ED6483AEE6B872A85ED677335A3444D643B1ACD8D8C7A28CC69CF436F29 CA1BB157E48C50A7C5285E6EF96E3462AFBAC03EA387B1C740A52F3286FE44C5 019771E29CB71E6A8DBA063966AA7E7809FEBED3D6DD8B59DB1148BAFD00070C 4348FA2C3D4C79D415465E2BB2AB7955D8AFC378EE7FF7AD30495425AA8E1CA7 26F94AD3E0CE97A54BDAB5541A66064C987A445AD31BD84B3956E7C7A7490BEC C71FB27CF47B1C1BBEF350B1A292AE42274EB8951E6317B22C44A6B41F5FFD8C EA0E2B153A55FD5959AB20563D0AF87834641F3E088D94BC83D918FF6C135FCC DFBCEE2C0D72A8D860824C6D5D49CA061A7FC66171206AC522801B88BD99981A 3F012715D19F9F75DC19C39E106EE07FFFD5902E6E650EEA932325FD0F3C06BD BDE3796DE7B2E4844273CBA2EF29BFD210168261C396ADBCA70F4D0B8895779C 099D09B84516A1494A25C4DCB93F1DAF7C616301A793E55308CDC1EA165AD12B 45C60F2E0131BD59951F840DAC5E316E4E287A6DD7CB39DB811DEF405F76D739 5FA11220DC99F4E773AD6E3AC8355E2F002DEFA280E1C9871B6E9A4D344400A8 E2C3B8B1270B0BBEB5D0D00A91FE1920CDC950CC041D73BCE70E19868132DD46 C042E2B5531B227A38794189273BEF0D0AEC976386D3A6E1A9E094D5FAD1F28E FC34357DE397C66809C369A42741F0F7495B49C27D630EE2424025A26E426F83 1E1463482E81D9759B16C5524CD32BA173512B85940776E27671C52DAD1CF777 A238A175654E87DFF60BA6DD49CD44726EF0D477698AE57741241FA90E362C82 E11C98E05BDF19AD96DC237B9336F4D672920A99C36BE42165244FFAD5796406 520349F098DE9C9D6F2368CF5B6318C5661D2ECA41B7118E9F27156EA140C2C6 941375A07DC940293E378FC0CC742FDB4A15C8C1A9DF90DD4E87A7CEAEFD6AE7 50A8755630AB66DB2812654ABB2D69041CF9F90B9A9C64F48FC5E12742169D 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark {restore}if %%EndFont TeXDict begin 55380987 39158274 1000 600 600 (refman.dvi) @start /Fa 167[50 9[75 78[{}2 83.022 /SkakNew-Figurine rf /Fb 193[65 1[65 60[{}2 83.022 /CMMI10 rf /Fc 139[28 4[42 47 110[{}3 83.022 /CMTI10 rf /Fd 134[38 1[57 38 43 30 32 28 43 43 42 43 66 20 41 1[20 43 42 25 37 43 37 43 40 3[24 1[24 7[46 54 61 53 1[59 2[58 4[47 50 1[53 55 55 8[42 2[42 3[42 42 42 1[28 23 31[45 12[{}44 83.022 /CMSSI10 rf /Fe 131[83 1[37 44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25 23 46 42 25 37 46 37 46 42 8[62 85 1[62 60 46 61 65 57 65 62 76 52 65 1[30 2[54 57 63 60 59 62 6[23 4[42 42 42 42 42 42 1[23 28 23 2[32 32 23 5[23 20[46 12[{}62 83.022 /CMR10 rf /Ff 145[42 3[23 2[42 42 102[{}4 83.022 /CMSY10 rf /Fg 133[47 50 1[74 50 56 40 42 37 1[56 55 56 86 25 53 1[25 56 55 33 51 56 49 56 52 11[76 1[61 2[70 1[79 97 5[73 2[79 70 67[{}31 99.6264 /CMSSBX10 rf /Fh 134[42 1[62 42 47 34 35 31 1[47 46 47 72 21 44 1[21 47 46 28 42 47 41 47 44 14[58 2[66 1[81 9[58 61 61 20[25 32[53 11[{}30 83.022 /CMSSBX10 rf /Fi 137[50 2[38 39 2[48 53 4[27 3[44 50[48 48 2[27 46[{}10 83.022 /CMBX10 rf /Fj 135[44 44 44 44 44 44 44 1[44 44 44 44 44 44 1[44 44 44 44 44 44 44 44 44 12[44 44 4[44 1[44 44 6[44 1[44 13[44 44 4[44 44 45[{}33 83.022 /CMTT10 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: a4 /setpagedevice where { pop << /PageSize [595 842] >> setpagedevice } { /a4 where { pop a4 } if } ifelse %%EndPaperSize @landscape end %%EndSetup %%Page: 1 1 TeXDict begin @landscape 1 0 bop 0 TeXcolorgray 2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p 452 -209 4912 4 v Black 452 -5 a tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end 452 -5 a 452 -5 a tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end 452 -5 a 0 TeXcolorgray 452 -5 a tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end 452 -5 a 0 TeXcolorgray 0 TeXcolorgray 83 x Fg(Up)s(dating)38 b(the)e(b)s(oa)m(rd)452 214 y Ff(n)p Fh(newgame)452 313 y Fe(Initialises)28 b(the)g(b)r(oard)e (to)i(the)g(op)r(ening)f(p)r(osition.)452 437 y Ff(n)p Fh(mainline)p Ff(f)p Fd(SAN)g(moves)p Ff(g)452 536 y Fe(Up)r(dates)33 b(the)h(b)r(oard)d(with)j(the)f Fd(SAN)g(moves)39 b Fe(and)32 b(t)n(yp)r(esets)h Fd(SAN)g(moves)452 636 y Fe(according)26 b(to)i(the)g(curren)n(t)e Ff(n)p Fh(mainlinest)m(yle) p Fe(.)452 759 y Ff(n)p Fh(hidemoves)p Ff(f)p Fd(SAN)h(moves)p Ff(g)452 859 y Fe(Up)r(dates)32 b(the)g(b)r(oard)e(with)i(the)g Fd(SAN)f(moves)38 b Fe(but)32 b(do)r(es)f Fc(not)39 b Fe(t)n(yp)r(eset)31 b(the)452 958 y(mo)n(v)n(es)37 b(|)i(this)g(is)f (useful)h(for)f(commen)n(ting)g(a)g(game)g(where)f(y)n(ou)h(w)n(an)n(t) 452 1058 y(to)29 b(fo)r(cus)h(on)f(a)f(certain)h(p)r(osition)g(after)g (some)f(mo)n(v)n(es)g(ha)n(v)n(e)g(already)g(b)r(een)452 1158 y(made.)452 1281 y Ff(n)p Fh(fenb)s(oa)m(rd)p Ff(f)p Fd(FEN)d(p)r(osition)p Ff(g)452 1380 y Fe(Initialises)35 b(the)g(b)r(oard)e(to)i(the)g(p)r(osition)f(describ)r(ed)h(with)g Fd(FEN)f(p)r(osition)q Fe(.)452 1480 y(The)28 b(format)f(of)h(a)f(FEN)g (p)r(osition)h(is:)452 1580 y Fb(<)p Fd(b)r(oa)n(rd)f(ro)n(ws)p Fb(>)g Fd(w)p Ff(j)p Fd(b)i Fb(<)p Fd(castling)d(options)p Fb(>)g(<)p Fd(en)h(passant)g(squa)n(re)p Fb(>)452 1679 y(<)p Fd(50)g(moves)g(counter)p Fb(>)f(<)p Fd(move)h(numb)r(er)p Fb(>)452 1779 y Fe(The)h(FEN)g(for)f(the)h(op)r(ening)f(p)r(osition)g (is)452 1879 y Fd(rnb)r(qkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR)452 1978 y(w)h(K)n(Qkq)e(-)i(0)f(1)452 2078 y Fe(Note:)42 b(the)30 b(50)g(mo)n(v)n(es)e(coun)n(ter)h(is)h(not)g(used)g(b)n(y)g (the)g Fj(skak)f Fe(game)g(engine,)452 2177 y(but)g(it)f(is)f(up)r (dated)h(to)g(sta)n(y)e(in)i(sync)g(with)g(external)e(programs.)p 0 TeXcolorgray 0 TeXcolorgray 452 2370 a Fg(Describing)37 b(moves)452 2600 y Ff(n)p Fh(va)m(riation)p Ff(f)p Fd(SAN)26 b(moves)p Ff(g)452 2699 y Fe(This)20 b(will)g(t)n(yp)r(eset)g Fd(SAN)g(moves)25 b Fe(using)19 b(the)h(curren)n(t)f Ff(n)p Fh(va)m(riationst)m(yle)p Fe(.)32 b(This)452 2799 y(command)c(undo)r(es)f(the)h(last)f(mo)n(v)n(e)g(so)g(y)n(ou)g(ha)n(v) n(e)f(to)h(start)g(one)h(ply)f(bac)n(k.)452 2922 y Ff(n)p Fh(va)m(riationcurrentt)p Ff(f)p Fd(SAN)d(moves)p Ff(g)452 3022 y Fe(Lik)n(e)j Ff(n)p Fh(va)m(riation)p Fe(,)f(but)i(do)r(es)f (not)h(undo)g(the)g(last)f(mo)n(v)n(e.)452 3145 y Ff(n)p Fh(continueva)m(riation)p Ff(f)p Fd(SAN)d(moves)p Ff(g)452 3245 y Fe(Con)n(tin)n(ues)j(the)h(v)-5 b(ariation)27 b(but)h(undo)r(es)f(the)h(last)g(mo)n(v)n(e)e(\014rst.)452 3368 y Ff(n)p Fh(continueva)m(riationcurrent)p Ff(f)p Fd(SAN)c(moves)p Ff(g)452 3468 y Fe(Con)n(tin)n(ues)27 b(the)h(v)-5 b(ariation)27 b(without)h(undoing)f(the)h(last)f(mo)n(v)n (e)g(\014rst.)p 0 TeXcolorgray 0 TeXcolorgray 2949 78 a Ff(n)p Fh(wmove)p Ff(f)p Fd(SAN)g(move)p Ff(g)2949 178 y Fe(T)n(yp)r(esets)36 b Fd(SAN)g(move)41 b Fe(using)36 b(the)g(curren)n(t)f Ff(n)p Fh(va)m(riationst)m(yle)p Fe(.)59 b(Example:)2949 278 y Ff(n)p Fj(wmove)p Ff(f)p Fj(Nf3)p Ff(g)23 b Fe(giv)n(es)k Fa(N)p Fe(f3.)2949 406 y Ff(n)p Fh(bmove)p Ff(f)p Fd(SAN)g(move)p Ff(g)2949 506 y Fe(T)n(yp)r(esets)44 b Fd(SAN)h(move)k Fe(using)44 b(the)h(curren)n(t)e Ff(n)p Fh(va)m(riationst)m(yle)f Fe(but)j(with)2949 605 y(.)14 b(.)g(.)g(\(or)42 b(something)f(similar)g (according)g(to)h(the)g(st)n(yle\))g(in)g(fron)n(t)g(of)g(the)2949 705 y(mo)n(v)n(e)35 b(|)h(can)g(b)r(e)g(used)g(to)f(describ)r(e)h(a)f (single)h(blac)n(k)f(mo)n(v)n(e.)60 b(Example:)2949 804 y Ff(n)p Fj(bmove)p Ff(f)p Fj(Nxd4)p Ff(g)23 b Fe(giv)n(es)j(.)14 b(.)g(.)g Fa(NX)p Fe(d4)2949 933 y Ff(n)p Fh(movecomment)p Ff(f)p Fd(Chess)25 b(moves)p Ff(g)2949 1032 y Fe(T)n(yp)r(esets)38 b(the)h Fd(Chess)e(moves)44 b Fe(using)38 b(the)h(curren)n(t)e Ff(n)p Fh(va)m(riationst)m(yle)p Fe(,)i(but)2949 1132 y(do)r(esn't)28 b(c)n(hec)n(k)f(for)g(mo)n(v)n(e)f(n)n(um)n(b)r(ers)h (lik)n(e)h Ff(n)p Fh(va)m(riation)d Fe(do)r(es.)p 0 TeXcolorgray 0 TeXcolorgray 2949 1335 a Fg(Sho)m(wing)37 b(the)f(b)s(oa)m(rd)2949 1474 y Ff(n)p Fh(sho)m(wb)s(oa)m(rd)2949 1573 y Fe(Sho)n(ws)27 b(the)h(curren)n(t)f(p)r(osition)g(from)h(whites)f(p)r(ersp)r(ectiv)n (e.)2949 1702 y Ff(n)p Fh(sho)m(winverseb)s(oa)m(rd)2949 1801 y Fe(Sho)n(ws)g(the)h(curren)n(t)f(p)r(osition)g(from)h(blac)n(ks) e(p)r(ersp)r(ectiv)n(e.)p 0 TeXcolorgray 0 TeXcolorgray 2949 2004 a Fg(St)m(yle)37 b(selection)2949 2143 y Ff(n)p Fh(st)m(yleA)2949 2243 y Fe(Cho)r(oses)27 b(the)h Fd(st)n(yleA)f Fe(for)g(t)n(yp)r(esetting)h(of)g(mo)n(v)n(es.)2949 2371 y Ff(n)p Fh(st)m(yleB)2949 2471 y Fe(Cho)r(oses)36 b(the)g Fd(st)n(yleB)43 b Fe(for)36 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n(es.)62 b(This)36 b(is)g(the)h(default)2949 2570 y(st)n(yle.)2949 2699 y Ff(n)p Fh(st)m(yleC)2949 2798 y Fe(Cho)r(oses)27 b(the)h Fd(st)n(yleC)37 b Fe(for)27 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n (es.)p 0 TeXcolorgray 0 TeXcolorgray 2949 3001 a Fg(Size)38 b(of)e(the)h(b)s(oa)m(rd)2949 3140 y Ff(n)p Fh(no)m(rmalb)s(oa)m(rd) 2949 3240 y Fe(The)19 b(default)g(size)f(of)h(the)g(b)r(oard)e(t)n(yp)r (eset)i(b)n(y)f(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands.)2949 3368 y Ff(n)p Fh(tinyb)s(oa)m(rd)2949 3468 y Fe(The)28 b Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h (b)r(e)g(t)n(yp)r(eset)g(in)f(a)h(tin)n(y)f(fon)n(t.)p 0 TeXcolorgray 2887 3717 a(1)p 0 TeXcolorgray eop end %%Page: 2 2 TeXDict begin @landscape 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p 452 -209 4912 4 v 0 TeXcolorgray 452 78 a Ff(n)p Fh(smallb)s(oa)m(rd) 452 178 y Fe(The)c Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h (b)r(e)g(t)n(yp)r(eset)g(in)f(a)h(small)f(fon)n(t.)452 305 y Ff(n)p Fh(la)m(rgeb)s(oa)m(rd)452 405 y Fe(The)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h(b)r(e)g(t)n(yp)r (eset)g(in)f(a)h(large)e(fon)n(t.)p 0 TeXcolorgray 0 TeXcolorgray 452 605 a Fg(Notation)38 b(and)e(mover)452 743 y Ff(n)p Fh(notationOn)452 843 y Fe(The)28 b Ff(n)p Fh(sho)m(wb)s(oa)m(rd)c Fe(commands)j(sho)n(w)f(rank)g(and)h(\014le)h (names.)36 b(This)27 b(is)g(the)452 943 y(default.)452 1070 y Ff(n)p Fh(notationO\013)452 1170 y Fe(The)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(sho)n(w)g(only)g(the)h(b)r(oard.) 452 1297 y Ff(n)p Fh(sho)m(wmoverOn)452 1397 y Fe(The)e Ff(n)p Fh(sho)m(wb)s(oa)m(rd)e Fe(commands)h(indicate)h(|)g(with)h(a)e (small)h(b)r(o)n(x)f(|)i(whic)n(h)452 1496 y(pla)n(y)n(er)32 b(has)g(to)g(mo)n(v)n(e.)52 b(Note:)47 b(this)33 b(only)f(w)n(orks)f (when)i(the)g(ps)g(option)g(is)452 1596 y(used.)452 1723 y Ff(n)p Fh(sho)m(wmoverO\013)452 1823 y Fe(The)28 b(dual)g(of)34 b Ff(n)p Fh(sho)m(wmoverOn)p Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 452 2023 a Fg(Selective)j(sho)m(wing)g(of)g(pieces)452 2161 y Ff(n)p Fh(sho)m(w)m(all)452 2261 y Fe(Mak)n(es)27 b(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(sho)n(w)g(all)g (pieces.)452 2388 y Ff(n)p Fh(sho)m(w)m(onlywhite)452 2488 y Fe(The)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h (only)f(sho)n(w)g(the)h(white)g(pieces.)452 2615 y Ff(n)p Fh(sho)m(w)m(onlyblack)452 2715 y Fe(The)g Ff(n)p Fh(sho)m(wb)s(oa)m (rd)d Fe(commands)i(will)h(only)f(sho)n(w)g(the)h(blac)n(k)e(pieces.) 452 2842 y Ff(n)p Fh(sho)m(w)m(onlypa)m(wns)452 2942 y Fe(The)i Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h(only)f (sho)n(w)g(the)h(pa)n(wns.)452 3069 y Ff(n)p Fh(sho)m(w)m(only)q Ff(f)p Fd(piece)e(names)p Ff(g)452 3169 y Fe(The)33 b(argumen)n(t)e Fd(piece)h(names)38 b Fe(is)32 b(a)g(comma)g(separated)f(list)h(of)h (names)e(of)452 3268 y(pieces)24 b(to)g(b)r(e)h(sho)n(wn)e(using)h(the) g Ff(n)p Fh(sho)m(wb)s(oa)m(rd)e Fe(commands.)35 b(White)25 b(pieces)452 3368 y(are)30 b(named)h Fd(K,Q,R,B,N,P)38 b Fe(and)30 b(blac)n(k's)g Fd(k,q,r,b,n,p)s Fe(.)47 b(Note:)c(called)31 b(with)452 3468 y(no)d(argumen)n(ts)e(all)h(pieces)h(are)e(sho)n(w)n (ed!)p 0 TeXcolorgray 0 TeXcolorgray 2949 78 a Ff(n)p Fh(sho)m(w)m(allbut)p Ff(f)p Fd(piece)f(names)p Ff(g)2949 178 y Fe(The)33 b(argumen)n(t)e Fd(piece)h(names)38 b Fe(is)32 b(a)g(comma)g(separated)f(list)h(of)h(names)e(of)2949 278 y(pieces)h(whic)n(h)f(will)h Fc(not)40 b Fe(b)r(e)32 b(sho)n(wn)f(when)h(using)f(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(com-)2949 377 y(mands.)37 b(Note:)g(called)27 b(with)h(an)g(empt)n (y)f(list)h(no)f(pieces)h(are)e(sho)n(wn!)p 0 TeXcolorgray 0 TeXcolorgray 2949 608 a Fg(Move)37 b(a)m(rro)m(ws)2949 760 y Ff(n)p Fh(p)m(rinta)m(rro)m(w)q Ff(f)p Fd(from)p Ff(gf)p Fd(to)p Ff(g)2949 860 y Fe(Dra)n(ws)27 b(an)h(arro)n(w)d(on)j (the)g(last)g(t)n(yp)r(eset)g(b)r(oard)f(from)g(the)h(square)f Fd(from)j Fe(to)2949 959 y(the)e(square)f Fd(to)5 b Fe(.)2949 1101 y Ff(n)p Fh(highlight)p Fd([ms])i Ff(f)p Fd(squa)n(re)25 b(list)p Ff(g)2949 1201 y Fe(The)j(comma)f(separated)f Fd(squa)n(re)h(list)32 b Fe(will)c(b)n(y)f(default)h(b)r(e)g(highligh)n (ted)f(us-)2949 1301 y(ing)k(a)g(thic)n(k)g(frame)f(on)h(the)g(last)g (t)n(yp)r(eset)g(b)r(oard.)46 b(The)31 b(optional)f(mark)n(er)2949 1400 y(sym)n(b)r(ol)f Fd(ms)36 b Fe(can)29 b(b)r(e)g(one)g(of)g(X,)h (x,)g(O)f(and)g(o)g(in)g(whic)n(h)g(case)g(a)g(cross)e(or)i(a)2949 1500 y(circle)e(is)h(used)f(to)h(highligh)n(t)f(the)h(square.)2949 1608 y Ff(n)p Fh(p)m(rintknightmove)p Ff(f)p Fd(from)p Ff(gf)p Fd(to)p Ff(g)2949 1708 y Fe(Dra)n(ws)f(a)g(b)r(en)n(t)h(arro)n (w)e(from)h(the)h(square)e Fd(from)j Fe(to)f(the)g(square)e Fd(to)5 b Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 2949 1939 a Fg(Customizations)2949 2091 y Ff(n)p Fh(newsk)m(aklanguage)p Ff(f)p Fd(language)p Ff(gf)p Fd(piecenames)p Ff(g)2949 2190 y Fe(De\014nes)52 b(a)e(new)i Fd(language)j Fe(for)50 b(the)i(input)f(of)g(SAN)h(mo)n(v)n(es.)105 b Fd(piece-)2949 2290 y(names)52 b Fe(are)45 b(the)h(upp)r(ercase)f(letters)g(used)h (for)f(the)h(pieces)g(in)g(the)g(or-)2949 2389 y(der)59 b(King,)66 b(Queen,)h(Ro)r(ok,)f(Bishop,)g(Knigh)n(t,)h(P)n(a)n(wn.)129 b(Example:)2949 2489 y Ff(n)p Fj(newskaklanguage)p Ff(f)o Fj(da)o(nis)o(h)p Ff(g)o(f)p Fj(K)o(DT)o(LSB)o Ff(g)28 b Fe(de\014nes)35 b Fd(danish)g Fe(as)f(a)g(new)h(in-)2949 2589 y(put)29 b(language.)2949 2731 y Ff(n)p Fh(sk)m(aklanguage)p Fd([language])2949 2830 y Fe(Cho)r(oses)e Fd(language)32 b Fe(as)26 b(new)i(input)g(language)e(|)i(defaults)g(to)f Fd(english)q Fe(.)2949 2972 y Ff(n)p Fh(mainlinest)m(yle)2949 3072 y Fe(Activ)-5 b(ates)34 b(the)f(t)n(yp)r(esetting)h(st)n(yle)e (for)h(the)h(mainline)f(|)g(this)h(command)2949 3172 y(can)28 b(b)r(e)g(rede\014ned)f(if)h(sp)r(ecial)f(requiremen)n(ts)g (for)g(the)h(t)n(yp)r(esetting)g(exists.)2949 3314 y Ff(n)p Fh(va)m(riationst)m(yle)2949 3413 y Fe(Similar)g(to)f Ff(n)p Fh(mainlinest)m(yle)g Fe(just)h(for)f(the)h(t)n(yp)r(esetting)g (of)g(v)-5 b(ariations.)p 0 TeXcolorgray 2887 3717 a(2)p 0 TeXcolorgray eop end %%Page: 3 3 TeXDict begin @landscape 3 2 bop 0 TeXcolorgray 0 TeXcolorgray 2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p 452 -209 4912 4 v 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 452 78 a Fg(Game)38 b(sto)m(rage)452 214 y Ff(n)p Fh(savegame)p Ff(f)p Fd(\014le)25 b(name)p Ff(g)452 313 y Fe(W)-7 b(rites)27 b(the)f(FEN)g(string)g(for)f(the)i(curren)n(t)e(p)r(osition)h(on)g(the) h(b)r(oard)e(to)h(the)452 413 y(\014le)i Fb(<)p Fj(file)42 b(name)p Fb(>)p Fj(.fen)452 534 y Ff(n)p Fh(loadgame)p Ff(f)p Fd(\014le)25 b(name)p Ff(g)452 633 y Fe(Load)i(the)h(p)r (osition)f(stored)g(in)h(the)g(\014le)g Fb(<)p Fj(file)41 b(name)p Fb(>)p Fj(.fen)452 754 y Ff(n)p Fh(sto)m(regame)p Ff(f)p Fd(name)p Ff(g)452 854 y Fe(Stores)27 b(the)h(curren)n(t)f(game) g(p)r(osition)g(using)h Fd(name)33 b Fe(as)27 b(reference.)452 975 y Ff(n)p Fh(resto)m(regame)p Ff(f)p Fd(name)p Ff(g)452 1074 y Fe(Restores)g(the)h(game)f(previously)f(sa)n(v)n(ed)g(using)i Ff(n)p Fh(sto)m(regame)p Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 452 1262 a Fg(P)m(ack)m(age)37 b(options)452 1398 y Fh(ps)i Fe(Includes)f(the)h Fj(ps-tricks)c Fe(pac)n(k)-5 b(age)37 b(in)i(order)e(to)h(mak)n(e)g(ornamen)n(ts)452 1497 y(on)g(the)g(b)r (oard.)66 b(Required)37 b(to)g(mak)n(e)g(the)h(follo)n(wing)f(commands) g(w)n(ork:)452 1597 y Ff(n)p Fh(sho)m(wmoverOn)p Fe(,)26 b Ff(n)p Fh(p)m(rinta)m(rro)m(w)q Fe(,)h Ff(n)p Fh(highlight)p Fe(,)e Ff(n)p Fh(p)m(rintknightmove)p Fe(.)452 1718 y Fh(pso\013)34 b Fe(Do)r(es)27 b Fc(not)36 b Fe(include)28 b(the)g Fj(ps-tricks)c Fe(pac)n(k)-5 b(age.)452 1838 y Fh(mover)29 b Fe(Issues)e(the)h Ff(n)p Fh(sho)m(wmoveOn)d Fe(command.)452 1959 y Fh(movero\013)34 b Fe(Issues)27 b(the)h Ff(n)p Fh(sho)m(wmoveOn)d Fe(command.)452 2080 y Fh(notation)g Fe(Issues)i(the)h Ff(n)p Fh(notationOn)c Fe(command.)452 2201 y Fh(english)41 b Fe(Mak)n(es)f(english)h(the)h (preferred)e(input)i(language)d(|)i(the)h(only)452 2301 y(de\014ned)28 b(language)e(at)i(the)g(momen)n(t.)452 2421 y Fh(st)m(yleA)g Fe(Cho)r(oses)f Ff(n)p Fh(st)m(yleA)g Fe(st)n(yle)g(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452 2542 y Fh(st)m(yleB)h Fe(Cho)r(oses)f Ff(n)p Fh(st)m(yleB)g Fe(st)n(yle)g(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452 2663 y Fh(st)m(yleC)i Fe(Cho)r(oses)d Ff(n)p Fh(st)m(yleC)i Fe(st)n(yle)f(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452 2784 y Fh(tiny)h Fe(The)g(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h(tin) n(y)g(size)f(fon)n(t.)452 2905 y Fh(small)h Fe(The)g(b)r(oard)e(is)i (sho)n(wn)f(using)g(the)h(small)f(size)h(fon)n(t.)452 3025 y Fh(no)m(rmal)f Fe(The)h(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h (normal)f(size)g(fon)n(t.)452 3146 y Fh(la)m(rge)h Fe(The)g(b)r(oard)f (is)g(sho)n(wn)g(using)g(the)h(large)e(size)i(fon)n(t.)452 3352 y(The)20 b(default)h(options)e(are)g Fh(notation,)i(no)m(rmal,)i (pso\013,)h(english,)g(movero\013,)452 3452 y(st)m(yleB)p Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 2887 3717 a(3)p 0 TeXcolorgray eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF