diff --git a/doc/old_not_used_instructions/lab1.pdf b/doc/old_not_used_instructions/lab1.pdf deleted file mode 100755 index 2979ef724bf7ab106ea8f7c4604be25c2a84f1c2..0000000000000000000000000000000000000000 Binary files a/doc/old_not_used_instructions/lab1.pdf and /dev/null differ diff --git a/doc/old_not_used_instructions/lab1.ps b/doc/old_not_used_instructions/lab1.ps deleted file mode 100644 index 36e116cd69a9236cbdd9ab774bbc1d0540607e15..0000000000000000000000000000000000000000 --- a/doc/old_not_used_instructions/lab1.ps +++ /dev/null @@ -1,2421 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software -%%Title: lab1.dvi -%%Pages: 4 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentPaperSizes: A4 -%%EndComments -%DVIPSCommandLine: dvips -o lab1.ps lab1.dvi -%DVIPSParameters: dpi=600, comments removed -%DVIPSSource: TeX output 1998.01.18:1155 -%%BeginProcSet: tex.pro -/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N -/X{S N}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{dup dup 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 /IE 0 N /ctr 0 N /df-tail{ -/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N -string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N -end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ -/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] -N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup -length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ -128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub -get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data -dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N -/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup -/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx -0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff -setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff -.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} -if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup -length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ -cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin -0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup 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 -/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for -65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 -0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V -{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 -getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} -ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false -RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 -false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform -round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg -rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail -{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} -B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ -4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ -p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p -a}B /bos{/SS save N}B /eos{SS restore}B end -%%EndProcSet -TeXDict begin 39158280 55380996 1000 600 600 (lab1.dvi) -@start /Fa 1 16 df<000FE000007FFC0000FFFE0003FFFF8007FFFFC00FFFFFE01FFF -FFF03FFFFFF83FFFFFF87FFFFFFC7FFFFFFC7FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFF -FFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFF83FFF -FFF81FFFFFF00FFFFFE007FFFFC003FFFF8000FFFE00007FFC00000FE0001F207BA42A> -15 D E /Fb 19 120 df<00003C00000000FC00000001FC0000000FFC0000007FFC0000 -FFFFFC0000FFFFFC0000FFFFFC0000FFFFFC0000FF9FFC0000001FFC0000001FFC000000 -1FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001F -FC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC -0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC00 -00001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000 -001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC000000 -1FFC0000001FFC00007FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF802137 -79B630>49 D<000FFC0000007FFFC00001FFFFF00007FFFFFC000FFFFFFE001FC07FFF80 -3F801FFF807FE007FFC07FF007FFE0FFF003FFF0FFF801FFF0FFF801FFF0FFF800FFF8FF -F800FFF8FFF800FFF87FF000FFF87FF000FFF83FE000FFF80F8000FFF8000000FFF80000 -00FFF0000001FFF0000001FFF0000001FFE0000003FFC0000003FFC0000007FF8000000F -FF0000000FFE0000001FF80000003FF00000007FE0000000FF80000000FF00000001FE00 -000003F800000007F000F8000FE000F8001FC000F8003F8000F8007E0001F800FC0001F0 -01F80001F003F00003F003FFFFFFF007FFFFFFF00FFFFFFFF01FFFFFFFF03FFFFFFFF07F -FFFFFFF0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE025377BB630>I< -07801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE007800000000000000000 -0000000000000000000007801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE0 -07800E257AA41B>58 D<FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFF -F0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE0 -00007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0 -00007FFC000003FFE000FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFF -F0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF044397DB84B>72 D<000000FFF800000000 -000FFFFF80000000007FFFFFF000000001FFFFFFFC00000007FFE03FFF0000001FFF0007 -FFC000003FFC0001FFE000007FF80000FFF00000FFF000007FF80001FFE000003FFC0003 -FFC000001FFE0007FF8000000FFF0007FF8000000FFF000FFF00000007FF800FFF000000 -07FF801FFF00000007FFC01FFE00000003FFC03FFE00000003FFE03FFE00000003FFE03F -FE00000003FFE07FFE00000003FFF07FFC00000001FFF07FFC00000001FFF07FFC000000 -01FFF0FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FF -FC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC000000 -01FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF87FFC00000001FFF07F -FC00000001FFF07FFC00000001FFF07FFE00000003FFF03FFE00000003FFE03FFE000000 -03FFE03FFE00000003FFE01FFF00000007FFC01FFF00000007FFC00FFF001FC007FF8007 -FF807FF00FFF0007FF80FFF80FFF0003FFC1FFFC1FFE0001FFE3F07E3FFC0000FFF3E01F -7FF800007FFBC00FFFF000003FFFC00FFFE000001FFFE007FFC0000007FFF03FFF000000 -01FFFFFFFC000000007FFFFFF8000800000FFFFFFC001C000000FFFBFE001C0000000001 -FF807C0000000001FFFFFC0000000001FFFFFC0000000000FFFFFC0000000000FFFFF800 -00000000FFFFF800000000007FFFF800000000007FFFF000000000007FFFF00000000000 -3FFFE000000000003FFFE000000000001FFFC000000000000FFF80000000000007FF0000 -0000000001FC003E4A7BB948>81 D<003FFE00000003FFFFE000000FFFFFF800001FFFFF -FE00003FF007FF00003FF803FF80003FF801FFC0003FF800FFC0003FF800FFE0003FF800 -7FE0001FF0007FE0000FE0007FE0000380007FE0000000007FE0000000007FE0000000FF -FFE000000FFFFFE00000FFFFFFE00003FFFC7FE0000FFFC07FE0001FFE007FE0003FFC00 -7FE0007FF8007FE0007FF0007FE000FFF0007FE000FFE0007FE000FFE0007FE000FFE000 -7FE000FFE000FFE000FFF000FFE0007FF001FFE0007FF803FFF0003FFC0FFFFFC01FFFFF -3FFFC007FFFE1FFFC003FFF80FFFC0007FC003FFC02A257DA42E>97 -D<000000007F800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF -8000000003FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF -8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF -8000000001FF8000000001FF8000000001FF800003FF01FF80001FFFF1FF80007FFFFDFF -8001FFFFFFFF8003FFC07FFF8007FF000FFF800FFE0007FF801FFC0003FF803FF80001FF -803FF80001FF807FF80001FF807FF00001FF807FF00001FF80FFF00001FF80FFF00001FF -80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF -80FFF00001FF80FFF00001FF80FFF00001FF807FF00001FF807FF00001FF807FF80001FF -803FF80001FF803FF80003FF801FFC0007FF800FFC000FFF8007FE001FFFC003FF80FFFF -FE01FFFFFFFFFE007FFFF9FFFE001FFFC1FFFE0003FE01FFFE2F3A7DB935>100 -D<0003FF8000001FFFF000007FFFFC0001FFFFFE0003FF83FF8007FE00FF800FFC007FC0 -1FFC003FE01FF8003FE03FF8001FF03FF8001FF07FF0001FF07FF0001FF87FF0000FF8FF -F0000FF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFF0000000FFF0000000FFF0 -000000FFF00000007FF00000007FF00000007FF80000003FF80000003FF80000F81FFC00 -00F80FFC0001F80FFE0003F007FF8007E001FFF03FE000FFFFFF80007FFFFF00000FFFFC -000001FFE00025257DA42C>I<00000FF8000000FFFE000007FFFF00001FFFFF80003FF8 -FF80007FE1FFC000FFC1FFC001FF81FFC001FF81FFC003FF81FFC003FF00FF8003FF00FF -8003FF003E0003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000 -03FF00000003FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000003 -FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF -00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00 -000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF0000 -0003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE0000 -FFFFFE0000FFFFFE0000FFFFFE0000223A7DB91D>I<000000003F000007FE00FF80007F -FFE3FFC001FFFFFFFFE003FFFFFFDFE00FFE07FF1FE01FF801FF9FE01FF801FF9FE03FF0 -00FFCFC03FF000FFC7807FF000FFE0007FF000FFE0007FF000FFE0007FF000FFE0007FF0 -00FFE0007FF000FFE0007FF000FFE0003FF000FFC0003FF000FFC0001FF801FF80001FF8 -01FF80000FFE07FF000007FFFFFC00000FFFFFF800000F7FFFE000001F07FE0000001F00 -000000001F00000000001F00000000001F80000000001FC0000000001FFFFFF800001FFF -FFFF80001FFFFFFFE0000FFFFFFFF8000FFFFFFFFC0007FFFFFFFE0003FFFFFFFE000FFF -FFFFFF003FFFFFFFFF007FC0000FFF807F800001FF80FF000000FF80FF0000007F80FF00 -00007F80FF0000007F80FF800000FF807F800000FF007FC00001FF003FF00007FE001FFE -003FFC0007FFFFFFF00001FFFFFFC000007FFFFF00000007FFF000002B377DA530>I<00 -FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007 -FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003 -FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003 -FF0000000003FF0000000003FF0000000003FF007FC00003FF03FFF80003FF0FFFFE0003 -FF1FFFFF0003FF3F03FF8003FF7801FF8003FFF001FF8003FFE000FFC003FFC000FFC003 -FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFF -FFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB935>I<01F80003FC00 -07FE000FFF001FFF801FFF801FFF801FFF801FFF801FFF800FFF0007FE0003FC0001F800 -00000000000000000000000000000000000000000000000000FF007FFF007FFF007FFF00 -7FFF007FFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8153B7DBA1B>I<00FF -00FFFF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF -0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF -0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF -0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF -0003FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFCFFFFFC163A7DB91B>108 -D<00FE007FC000FFFE03FFF800FFFE0FFFFE00FFFE1FFFFF00FFFE3F03FF80FFFE7801FF -8007FEF001FF8003FFE000FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFF -FFFFFFFC3FFFFF30257DA435>110 D<0001FFC00000000FFFF80000007FFFFF000000FF -FFFF800003FF80FFE00007FE003FF0000FFC001FF8001FF8000FFC001FF8000FFC003FF0 -0007FE003FF00007FE007FF00007FF007FF00007FF007FF00007FF00FFF00007FF80FFF0 -0007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF0 -0007FF80FFF00007FF807FF00007FF007FF00007FF007FF00007FF003FF00007FE003FF8 -000FFE001FF8000FFC001FF8000FFC000FFC001FF80007FE003FF00003FF80FFE00001FF -FFFFC000007FFFFF0000001FFFFC00000001FFC0000029257DA430>I<003FF03803FFFE -F80FFFFFF81FFFFFF83FC00FF87F0003F87F0001F8FE0001F8FE0000F8FE0000F8FF0000 -F8FF800000FFF80000FFFFE0007FFFFC007FFFFF003FFFFFC01FFFFFF00FFFFFF803FFFF -F800FFFFFC001FFFFC00007FFE000007FEF80003FEF80001FEFC0000FEFC0000FEFE0000 -FEFE0000FCFF0001FCFF8003F8FFF00FF8FFFFFFF0FFFFFFC0F8FFFF00E01FF8001F257D -A426>115 D<001F0000001F0000001F0000001F0000001F0000003F0000003F0000003F -0000003F0000007F0000007F000000FF000000FF000001FF000003FF000007FF00001FFF -FFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE003FF000003FF000003FF000003FF000003FF -000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF -000003FF000003FF000003FF000003FF00F803FF00F803FF00F803FF00F803FF00F803FF -00F803FF00F803FF00F803FF81F801FF81F001FFC3E000FFFFE0007FFFC0001FFF000003 -FC001D357EB425>I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC0FFFF00 -3FFFC0FFFF003FFFC007FF0001FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00 -00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00 -00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00 -00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0001FFC003FF00 -01FFC003FF0003FFC003FF0007FFC001FF800FFFE001FFC03FFFFF00FFFFFCFFFF007FFF -F8FFFF001FFFE0FFFF0003FF00FFFF30257DA435>I<FFFFF1FFFF807FFFFFFFF1FFFF80 -7FFFFFFFF1FFFF807FFFFFFFF1FFFF807FFFFFFFF1FFFF807FFF07FF000FF80007E003FF -0007FC0007C003FF0007FC000FC001FF8007FC000F8001FF8007FE000F8001FFC00FFE00 -1F8000FFC00FFF001F0000FFC01FFF003F00007FE01FFF003E00007FE01FFF803E00007F -F03FFF807E00003FF03E7FC07C00003FF07E7FC0FC00001FF87C3FC0F800001FF87C3FE0 -F800001FFCFC3FE1F800000FFCF81FF1F000000FFDF81FF1F000000FFFF00FF3F0000007 -FFF00FFBE0000007FFF00FFFE0000003FFE007FFC0000003FFE007FFC0000003FFC003FF -C0000001FFC003FF80000001FFC003FF80000000FF8001FF00000000FF8001FF00000000 -FF8001FF000000007F0000FE000000007F0000FE000000003E00007C000040257EA445> -119 D E /Fc 62 125 df<07C00FE01FF01FF81FF81FFC1FFC0FFC07FC00FC00FC00FC00 -FC00FC01FC01F803F803F807F00FF01FE03FC07FC0FF80FF007C0038000E1B72B22C>39 -D<0000780000FC0003FC0007FC000FF8001FF0003FC0007F8000FF0001FE0001FC0003FC -0003F80007F0000FF0000FE0001FE0001FC0001FC0003F80003F80003F80007F00007F00 -007F00007F0000FF0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 -00FE0000FE0000FE0000FF00007F00007F00007F00007F00003F80003F80003F80001FC0 -001FC0001FE0000FE0000FF00007F00003F80003FC0001FC0001FE0000FF00007F80003F -C0001FF0000FF80007FC0003FC0000FC000078164272B92C>I<780000FC0000FF0000FF -80007FC0003FE0000FF00007F80003FC0001FE0000FE0000FF00007F00003F80003FC000 -1FC0001FE0000FE0000FE00007F00007F00007F00003F80003F80003F80003F80003FC00 -01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00 -03FC0003F80003F80003F80003F80007F00007F00007F0000FE0000FE0001FE0001FC000 -3FC0003F80007F0000FF0000FE0001FE0003FC0007F8000FF0003FE0007FC000FF8000FF -0000FC0000780000164279B92C>I<000380000007C000000FE000000FE000000FE00000 -0FE000000FE000300FE018FC0FE07EFF0FE1FEFF8FE3FEFFEFEFFEFFFFFFFE7FFFFFFC1F -FFFFF00FFFFFE003FFFF8000FFFE0000FFFE0003FFFF800FFFFFE01FFFFFF07FFFFFFCFF -FFFFFEFFEFEFFEFF8FE3FEFF0FE1FEFC0FE07E300FE018000FE000000FE000000FE00000 -0FE000000FE0000007C000000380001F247AAA2C>I<00007800000000FC00000000FC00 -000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000 -0000FC00000000FC00000000FC00000000FC00000000FC00000000FC00007FFFFFFFF0FF -FFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF00000FC00000000FC00000000 -FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC -00000000FC00000000FC00000000FC00000000FC00000000FC0000000078000025267DAB -2C>I<07C00FF01FF83FFC3FFC3FFE3FFE3FFE1FFE0FFE07FE007E00FE00FC01FC03F80F -F83FF07FE0FFC0FF807F0038000F17728A2C>I<7FFFFFFF00FFFFFFFF80FFFFFFFF80FF -FFFFFF80FFFFFFFF807FFFFFFF0021067B9B2C>I<1F003F807FC0FFE0FFE0FFE0FFE0FF -E07FC03F801F000B0B708A2C>I<00000007000000000F800000001F800000001F800000 -003F800000003F000000007F000000007E00000000FE00000000FC00000001FC00000001 -F800000003F800000003F000000003F000000007F000000007E00000000FE00000000FC0 -0000001FC00000001F800000003F800000003F000000007F000000007E00000000FE0000 -0000FC00000000FC00000001FC00000001F800000003F800000003F000000007F0000000 -07E00000000FE00000000FC00000001FC00000001F800000001F800000003F800000003F -000000007F000000007E00000000FE00000000FC00000001FC00000001F800000003F800 -000003F000000007F000000007E000000007E00000000FE00000000FC00000001FC00000 -001F800000003F800000003F000000007F000000007E00000000FE00000000FC00000000 -FC00000000F800000000780000000021417BB92C>I<0001FC0000000FFF8000001FFFC0 -00007FFFF00000FFFFF80001FFFFFC0003FF07FE0003FC01FE0007F800FF000FF0007F80 -0FE0003F801FC0001FC01FC0001FC03F80000FE03F80000FE03F80000FE07F000007F07F -000007F07F000007F07F000007F0FE000003F8FE000003F8FE000003F8FE000003F8FE00 -0003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE0000 -03F8FF000007F87F000007F07F000007F07F000007F07F80000FF03F80000FE03F80000F -E03FC0001FE01FC0001FC01FE0003FC00FE0003F800FF0007F8007F800FF0003FC01FE00 -03FF07FE0001FFFFFC0000FFFFF800007FFFF000001FFFC000000FFF80000001FC000025 -357DB32C>I<000380000007C000000FC000000FC000001FC000003FC000003FC000007F -C00001FFC00003FFC0007FFFC000FFFFC000FFFFC000FFDFC000FF9FC0007E1FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC0007FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D34 -78B32C>I<000FF80000007FFF000001FFFFE00007FFFFF0000FFFFFF8001FFFFFFC003F -F01FFE003FC003FF007F8000FF807F00007F80FF00003FC0FE00001FC0FF00001FE0FF00 -001FE0FF00000FE0FF00000FE07E00000FE03C00000FE00000000FE00000000FE0000000 -1FE00000001FC00000001FC00000003FC00000007F800000007F80000000FF00000001FE -00000003FE00000007FC0000000FF80000001FF00000003FE0000000FFC0000001FF8000 -0003FE00000007FC0000000FF80000003FF00000007FC0000000FF80000001FF00000003 -FE0007C007FC000FE01FF0000FE03FE0000FE07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFF -FFFFE0FFFFFFFFE07FFFFFFFC023347CB32C>I<000FFC0000007FFF800001FFFFE00007 -FFFFF0000FFFFFFC001FFFFFFE001FF807FE003FE001FF003FC000FF003FC0007F803FC0 -003F803FC0003F801F80003F800F00003F800000003F800000007F800000007F00000000 -FF00000001FE00000007FE0000003FFC00001FFFF800003FFFF000003FFFE000003FFFE0 -00003FFFF800001FFFFC00000007FE00000001FF00000000FF800000007F800000003FC0 -0000001FC00000001FE00000000FE00000000FE00000000FE03C00000FE07E00000FE0FF -00000FE0FF00001FE0FF00001FC0FF00003FC0FF00007F807F8000FF807FC001FF003FF8 -07FF001FFFFFFE000FFFFFFC0007FFFFF00003FFFFE000007FFF8000000FFC000023357C -B32C>I<00000FF80000000FFC0000001FFC0000003FFC0000003FFC0000007FFC000000 -FEFC000000FEFC000001FCFC000003F8FC000003F8FC000007F0FC00000FE0FC00000FE0 -FC00001FC0FC00003F80FC00003F80FC00007F00FC0000FE00FC0000FE00FC0001FC00FC -0003F800FC0003F800FC0007F000FC000FF000FC000FE000FC001FC000FC003FC000FC00 -3F8000FC007F0000FC00FF0000FC00FFFFFFFFFCFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFF -FFFFFFFE7FFFFFFFFC000000FC00000000FC00000000FC00000000FC00000000FC000000 -00FC00000000FC00000000FC00000000FC0000007FFFF80000FFFFFC0000FFFFFC0000FF -FFFC0000FFFFFC00007FFFF827347EB32C>I<0FFFFFFE001FFFFFFF001FFFFFFF001FFF -FFFF001FFFFFFF001FFFFFFE001FC00000001FC00000001FC00000001FC00000001FC000 -00001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000 -001FC3FE00001FDFFF80001FFFFFE0001FFFFFF8001FFFFFFC001FFFFFFE001FFE07FF00 -1FF001FF001FE0007F801FC0003F801F80003FC00F00001FC00000001FC00000001FE000 -00000FE00000000FE00000000FE01800000FE07E00000FE0FF00000FE0FF00001FE0FF00 -001FC0FF00003FC0FE00003FC0FF00007F807F8000FF007FC003FF003FF80FFE001FFFFF -FC000FFFFFF80007FFFFF00003FFFFC00000FFFF0000001FF8000023347CB22C>I<0000 -3FC0000001FFF8000007FFFC00001FFFFE00003FFFFF00007FFFFF0000FFE07F8001FF80 -7F8003FE007F8007FC007F8007F8007F800FF0003F001FE0001E001FC00000003FC00000 -003F800000003F800000007F800000007F003000007F07FF80007F3FFFE000FF7FFFF000 -FFFFFFF800FFFFFFFC00FFFFFFFE00FFF803FF00FFF000FF80FFC0007F80FF80003FC0FF -80003FC0FF00001FC0FF00001FE0FF00000FE0FF00000FE0FF00000FE07F00000FE07F00 -000FE07F00000FE07F00000FE03F80001FE03F80001FC03FC0001FC01FC0003FC01FE000 -7F800FF000FF800FF801FF0007FE07FE0003FFFFFC0001FFFFF80000FFFFF000007FFFE0 -00001FFF80000007FC000023357CB32C>I<7C00000000FFFFFFFFC0FFFFFFFFE0FFFFFF -FFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FE00007F80FE0000FF00FE0001FE007C0003FC -00000003F800000007F80000000FF00000001FE00000001FC00000003FC00000003F8000 -00007F800000007F00000000FE00000001FE00000001FC00000001FC00000003F8000000 -03F800000007F800000007F000000007F00000000FE00000000FE00000000FE00000001F -C00000001FC00000001FC00000001FC00000003F800000003F800000003F800000003F80 -0000003F800000007F800000007F000000007F000000007F000000007F000000007F0000 -00007F000000007F000000007F000000007F000000003E000000001C00000023357CB32C ->I<0007FC0000003FFF800000FFFFE00003FFFFF80007FFFFFC000FFFFFFE001FFC07FF -001FF001FF003FE000FF803FC0007F807F80003FC07F00001FC07F00001FC07F00001FC0 -7F00001FC07F00001FC07F80003FC03F80003F803FC0007F801FE000FF000FF803FE0007 -FFFFFC0001FFFFF00000FFFFE000001FFF000000FFFFE00001FFFFF00007FFBFFC000FF8 -03FE001FE000FF003FC0007F803F80003F807F00001FC07F00001FC0FE00000FE0FE0000 -0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FF00001FE07F00001FC07F80003F -C07F80003FC03FC0007F801FF001FF001FFC07FF000FFFFFFE0007FFFFFC0001FFFFF000 -00FFFFE000003FFF80000007FC000023357CB32C>I<0007FC0000003FFF0000007FFFC0 -0001FFFFE00003FFFFF00007FFFFF8000FFE0FFC001FF003FE003FE001FE003FC000FF00 -7F80007F007F00007F807F00003F80FF00003F80FE00001FC0FE00001FC0FE00001FC0FE -00001FC0FE00001FE0FE00001FE0FE00001FE0FF00001FE07F00001FE07F80003FE07F80 -003FE03FC0007FE03FE001FFE01FF803FFE00FFFFFFFE007FFFFFFE003FFFFFFE001FFFF -CFE000FFFF9FE0003FFC1FC00001801FC00000001FC00000003FC00000003F800000007F -800000007F000F0000FF001F8001FE003FC001FE003FC003FC003FC007F8003FC01FF800 -3FE07FF0001FFFFFE0001FFFFFC0000FFFFF000007FFFE000001FFF80000007FC0000023 -357CB32C>I<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000000000000000000 -00000000000000000000000000000000000000001F003F807FC0FFE0FFE0FFE0FFE0FFE0 -7FC03F801F000B2470A32C>I<00000007000000001F800000003F80000000FF80000003 -FF80000007FF0000001FFC0000003FF8000000FFE0000001FF80000007FF0000000FFC00 -00003FF80000007FE0000001FFC0000003FF0000000FFE0000001FF80000007FF0000000 -FFC0000000FF80000000FF80000000FFC00000007FF00000001FF80000000FFE00000003 -FF00000001FFC00000007FE00000003FF80000000FFC00000007FF00000001FF80000000 -FFE00000003FF80000001FFC00000007FF00000003FF80000000FF800000003F80000000 -1F800000000700212A7BAD2C>60 D<7FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FF -FFFFFFF83FFFFFFFF0000000000000000000000000000000000000000000000000000000 -000000000000000000000000003FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFF -FFF87FFFFFFFF025147DA22C>I<7000000000FC00000000FE00000000FF80000000FFE0 -0000007FF00000001FFC0000000FFE00000003FF80000000FFC00000007FF00000001FF8 -0000000FFE00000003FF00000001FFC00000007FE00000003FF80000000FFC00000007FF -00000001FF80000000FF80000000FF80000001FF80000007FF0000000FFC0000003FF800 -00007FE0000001FFC0000003FF0000000FFE0000001FF80000007FF0000000FFC0000003 -FF8000000FFE0000001FFC0000007FF0000000FFE0000000FF80000000FE00000000FC00 -0000007000000000212A7BAD2C>I<0000FE00000001FF00000001FF00000003FF800000 -03FF80000003FF80000003FF80000003FF80000007EFC0000007EFC0000007EFC0000007 -EFC000000FEFE000000FEFE000000FC7E000000FC7E000000FC7E000001FC7F000001FC7 -F000001FC7F000001F83F000001F83F000003F83F800003F83F800003F83F800003F83F8 -00007F01FC00007F01FC00007F01FC00007F01FC00007F01FC0000FE00FE0000FE00FE00 -00FE00FE0000FFFFFE0001FFFFFF0001FFFFFF0001FFFFFF0001FFFFFF0001FFFFFF0003 -FC007F8003F8003F8003F8003F8003F8003F8003F8003F8007F0001FC07FFF01FFFCFFFF -83FFFEFFFF83FFFEFFFF83FFFEFFFF83FFFE7FFF01FFFC27347EB32C>65 -D<7FFFFFE0007FFFFFFC00FFFFFFFE00FFFFFFFF807FFFFFFFC07FFFFFFFC003F8003FE0 -03F8001FF003F8000FF003F80007F003F80007F803F80003F803F80003F803F80003F803 -F80003F803F80003F803F80007F803F80007F003F8000FF003F8001FE003F8003FC003FF -FFFF8003FFFFFF0003FFFFFE0003FFFFFE0003FFFFFF8003FFFFFFC003F8007FE003F800 -0FF003F80007F803F80003F803F80001FC03F80001FC03F80000FE03F80000FE03F80000 -FE03F80000FE03F80000FE03F80000FE03F80001FE03F80001FC03F80003FC03F80007FC -03F8000FF803F8003FF87FFFFFFFF07FFFFFFFE0FFFFFFFFC0FFFFFFFF807FFFFFFE007F -FFFFF80027337FB22C>I<0000FF00F00007FFE0F8000FFFF9F8003FFFFFF8007FFFFFF8 -00FFFFFFF801FFC1FFF803FF007FF807FC003FF807F8001FF80FF0000FF80FE00007F81F -E00007F81FC00007F83FC00003F83F800003F87F800003F87F000003F87F000001F07F00 -000000FF00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 -0000FE00000000FE00000000FE00000000FE00000000FE00000000FF000000007F000000 -007F000000007F000001F07F800003F83F800003F83FC00003F81FC00003F81FE00007F8 -0FE00007F00FF00007F007F8000FF007FC001FE003FF003FE001FFC0FFC000FFFFFF8000 -7FFFFF00003FFFFE00000FFFF8000007FFE0000000FF000025357DB32C>I<7FFFFF8000 -FFFFFFE000FFFFFFF800FFFFFFFC00FFFFFFFE007FFFFFFF0007F003FF8007F000FFC007 -F0003FC007F0001FE007F0001FF007F0000FF007F00007F007F00007F807F00003F807F0 -0003FC07F00001FC07F00001FC07F00001FC07F00001FC07F00000FE07F00000FE07F000 -00FE07F00000FE07F00000FE07F00000FE07F00000FE07F00000FE07F00000FE07F00000 -FE07F00000FE07F00001FE07F00001FC07F00001FC07F00001FC07F00003FC07F00003F8 -07F00007F807F00007F807F0000FF007F0000FF007F0001FE007F0003FE007F000FFC007 -F003FF807FFFFFFF00FFFFFFFE00FFFFFFFC00FFFFFFF800FFFFFFE0007FFFFF80002733 -7FB22C>I<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFFFFFC7FFFFFFFFC03 -F80001FC03F80001FC03F80001FC03F80001FC03F80001FC03F80001FC03F80001FC03F8 -0000F803F800000003F800000003F800000003F800F80003F801FC0003F801FC0003F801 -FC0003F801FC0003FFFFFC0003FFFFFC0003FFFFFC0003FFFFFC0003FFFFFC0003FFFFFC -0003F801FC0003F801FC0003F801FC0003F801FC0003F800F80003F800000003F8000000 -03F800000003F800003E03F800007F03F800007F03F800007F03F800007F03F800007F03 -F800007F03F800007F03F800007F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFF7FFFFFFFFE28337FB22C>I<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFF -FFFFFFFC7FFFFFFFFC03F80001FC03F80001FC03F80001FC03F80001FC03F80001FC03F8 -0001FC03F80001FC03F80000F803F800000003F800000003F800000003F800F80003F801 -FC0003F801FC0003F801FC0003F801FC0003FFFFFC0003FFFFFC0003FFFFFC0003FFFFFC -0003FFFFFC0003FFFFFC0003F801FC0003F801FC0003F801FC0003F801FC0003F800F800 -03F800000003F800000003F800000003F800000003F800000003F800000003F800000003 -F800000003F800000003F800000003F800000003F80000007FFFF00000FFFFF00000FFFF -F80000FFFFF80000FFFFF000007FFFF0000026337EB22C>I<0001FC0780000FFF87C000 -1FFFCFC0007FFFFFC000FFFFFFC001FFFFFFC003FF87FFC003FE01FFC007F800FFC00FF0 -007FC00FF0007FC01FE0003FC01FC0003FC03FC0003FC03F80001FC03F80001FC07F8000 -1FC07F00001FC07F00000F807F00000000FF00000000FE00000000FE00000000FE000000 -00FE00000000FE00000000FE00000000FE00000000FE00000000FE0007FFF8FE000FFFFC -FE000FFFFCFF000FFFFC7F000FFFFC7F0007FFF87F00001FC07F80001FC03F80003FC03F -80003FC03FC0003FC01FC0003FC01FE0007FC00FF0007FC00FF000FFC007F800FFC003FE -01FFC003FF07FFC001FFFFFFC000FFFFFFC0007FFFFFC0001FFFDFC0000FFF0F800001FC -000026357DB32C>I<7FF00007FF00FFF8000FFF80FFFC001FFF80FFFC001FFF80FFFC00 -1FFF807FFE003FFF000FFE003FF8000FDE003DF8000FDF007DF8000FDF007DF8000FDF00 -7DF8000FDF00FDF8000FCF80F9F8000FCF80F9F8000FCF80F9F8000FCFC1F9F8000FCFC1 -F9F8000FC7C1F1F8000FC7C1F1F8000FC7E3F1F8000FC7E3F1F8000FC3E3E1F8000FC3E3 -E1F8000FC3F7E1F8000FC1F7C1F8000FC1F7C1F8000FC1F7C1F8000FC1FF81F8000FC0FF -81F8000FC0FF81F8000FC0FF81F8000FC07F01F8000FC07F01F8000FC03E01F8000FC000 -01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC000 -01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8007FF8000FFF00FFFC00 -1FFF80FFFC001FFF80FFFC001FFF80FFFC001FFF807FF8000FFF0029337FB22C>77 -D<7FF800FFFCFFFC01FFFEFFFE01FFFEFFFE01FFFEFFFE01FFFE7FFF00FFFC07FF000FC0 -07EF000FC007EF800FC007EF800FC007E7800FC007E7C00FC007E7C00FC007E7C00FC007 -E7E00FC007E3E00FC007E3E00FC007E3F00FC007E1F00FC007E1F00FC007E1F80FC007E1 -F80FC007E0F80FC007E0FC0FC007E0FC0FC007E07C0FC007E07E0FC007E07E0FC007E03E -0FC007E03F0FC007E03F0FC007E01F0FC007E01F0FC007E01F8FC007E00F8FC007E00F8F -C007E00FCFC007E007CFC007E007CFC007E007CFC007E003CFC007E003EFC007E003EFC0 -07E001EFC007E001FFC07FFE01FFC0FFFF00FFC0FFFF00FFC0FFFF00FFC0FFFF007FC07F -FE003F8027337EB22C>I<7FFFFFE000FFFFFFFC00FFFFFFFE00FFFFFFFF80FFFFFFFFC0 -7FFFFFFFE003F800FFE003F8001FF003F8000FF003F80007F803F80003F803F80003FC03 -F80001FC03F80001FC03F80001FC03F80001FC03F80001FC03F80001FC03F80001FC03F8 -0003FC03F80003F803F80007F803F8000FF003F8001FF003F800FFE003FFFFFFE003FFFF -FFC003FFFFFF8003FFFFFE0003FFFFFC0003FFFFE00003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F800000003F800000003F80000007FFFC00000FFFFE00000FFFFE00000FF -FFE00000FFFFE000007FFFC0000026337FB22C>80 D<7FFFFC000000FFFFFF800000FFFF -FFE00000FFFFFFF80000FFFFFFFC00007FFFFFFE000007F00FFE000007F001FF000007F0 -00FF800007F0007F800007F0003F800007F0003FC00007F0001FC00007F0001FC00007F0 -001FC00007F0001FC00007F0003FC00007F0003F800007F0007F800007F000FF800007F0 -01FF000007F00FFE000007FFFFFE000007FFFFFC000007FFFFF8000007FFFFF0000007FF -FFF8000007FFFFFC000007F007FC000007F003FE000007F000FE000007F000FF000007F0 -007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0 -007F000007F0007F000007F0007F1F0007F0007F3F8007F0007F3F8007F0007F3F8007F0 -007F3F807FFF003FBF80FFFF803FFF00FFFF801FFF00FFFF801FFF00FFFF800FFE007FFF -0007FC0000000001F00029347EB22C>82 D<001FF80F00007FFF0F8001FFFFDF8007FFFF -FF800FFFFFFF801FFFFFFF803FF01FFF803FC003FF807F8001FF807F0000FF80FF00007F -80FE00007F80FE00007F80FE00003F80FE00003F80FE00003F80FF00001F00FF00000000 -7F800000007FC00000003FF00000003FFF0000001FFFF000000FFFFF000007FFFFE00003 -FFFFF00000FFFFFC00001FFFFE000001FFFF0000001FFF00000001FF800000007FC00000 -003FC00000001FC00000001FE00000001FE07C00000FE0FE00000FE0FE00000FE0FE0000 -0FE0FE00000FE0FF00001FE0FF00001FC0FF80003FC0FFC0003F80FFE000FF80FFFE03FF -00FFFFFFFE00FFFFFFFE00FFFFFFF800FDFFFFF000F83FFFC0007807FF000023357CB32C ->I<7FFFFFFFFCFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFE00FE00 -FEFE00FE00FEFE00FE00FEFE00FE00FEFE00FE00FEFE00FE00FEFE00FE00FE7C00FE007C -0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000 -00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000 -FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE -00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00 -000000FE00000000FE0000007FFFFC00007FFFFC0000FFFFFE0000FFFFFE00007FFFFC00 -007FFFFC0027337EB22C>I<7FFFC01FFFF0FFFFE03FFFF8FFFFE03FFFF8FFFFE03FFFF8 -FFFFE03FFFF87FFFC01FFFF003F80000FE0003F80000FE0003F80000FE0003F80000FE00 -03F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE00 -03F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE00 -03F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE00 -03F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE00 -03F80000FE0003F80000FE0003F80000FE0003F80000FE0003FC0001FE0001FC0001FC00 -01FC0001FC0000FE0003F80000FF0007F800007F800FF000007FC01FF000003FF07FE000 -001FFFFFC000000FFFFF80000007FFFF00000003FFFE00000000FFF8000000003FE00000 -2D3481B22C>I<000E0000003F800000FFE00003FFF8000FFFFE003FFFFF80FFFFFFE0FF -F1FFE0FFE0FFE0FF803FE0FE000FE0780003C0200000801B0D78B22C>94 -D<01FFF0000007FFFE00001FFFFF80001FFFFFE0003FFFFFF0003FFFFFF8003FC01FF800 -3FC007FC001F8003FC00060001FE00000000FE00000000FE0000000FFE000007FFFE0000 -7FFFFE0001FFFFFE0007FFFFFE001FFFFFFE003FFFF8FE003FFC00FE007FE000FE00FF80 -00FE00FF0000FE00FE0000FE00FE0000FE00FE0000FE00FF0001FE00FF0003FE007F8007 -FE007FE03FFE003FFFFFFFFC1FFFFFFFFE0FFFFFFFFE07FFFF7FFE01FFFC3FFE007FC00F -FC27247CA32C>97 D<7FF8000000FFFC000000FFFC000000FFFC000000FFFC0000007FFC -00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00 -000001FC00000001FC00000001FC0FF00001FC7FFE0001FDFFFF0001FFFFFFC001FFFFFF -E001FFFFFFF001FFF03FF001FFC00FF801FF8007FC01FF0003FC01FE0001FE01FC0000FE -01FC0000FE01FC0000FF01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F01 -FC00007F01FC00007F01FC00007F01FC0000FF01FE0000FE01FE0001FE01FF0001FE01FF -0003FC01FF8007FC01FFC00FF801FFF03FF001FFFFFFE001FFFFFFC001FFFFFF8001FDFF -FF0001FC7FFC0000F80FF000283380B22C>I<0003FFF000001FFFFC00007FFFFF0000FF -FFFF0003FFFFFF8007FFFFFF800FFF007F800FF8007F801FF0003F003FC0000C003FC000 -00007F800000007F000000007F00000000FF00000000FE00000000FE00000000FE000000 -00FE00000000FE00000000FE00000000FF000000007F000000007F000000007F80000F80 -3FC0001FC03FE0001FC01FF0003FC00FFC007F800FFF81FF8007FFFFFF0003FFFFFE0000 -FFFFFC00007FFFF800001FFFE0000003FF000022247BA32C>I<00000FFF0000001FFF80 -00001FFF8000001FFF8000001FFF8000000FFF800000003F800000003F800000003F8000 -00003F800000003F800000003F800000003F800000003F800000003F80000FF83F80003F -FE3F8000FFFFBF8001FFFFFF8003FFFFFF8007FFFFFF800FFC0FFF801FF003FF803FE000 -FF803FC0007F807F80007F807F80003F807F00003F80FF00003F80FE00003F80FE00003F -80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FF00003F80 -7F00007F807F00007F807F8000FF803FC001FF803FE003FF801FF007FF800FFC1FFF800F -FFFFFFFE07FFFFFFFF03FFFFBFFF00FFFF3FFF007FFC3FFF000FF01FFE28337DB22C>I< -0003FE0000001FFFC000007FFFF00001FFFFF80003FFFFFC0007FFFFFE000FFE03FF001F -F800FF801FE0007F803FC0003FC03F80001FC07F80001FC07F00001FE07F00000FE0FFFF -FFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FE00000000FF0000 -00007F000000007F800000007F800007C03FC0000FE03FE0000FE01FF8001FE00FFC003F -C007FF80FFC007FFFFFF8001FFFFFF0000FFFFFE00003FFFFC00000FFFF0000001FF8000 -23247CA32C>I<000007F80000003FFE000000FFFF000001FFFF800003FFFF800007FFFF -80000FF87F80000FF03F00001FE03F00001FC00000001FC00000001FC00000001FC00000 -001FC00000001FC000007FFFFFFE00FFFFFFFF00FFFFFFFF00FFFFFFFF00FFFFFFFF007F -FFFFFE00001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001F -C00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0 -0000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000 -00001FC00000001FC00000001FC000007FFFFFF000FFFFFFF800FFFFFFF800FFFFFFF800 -FFFFFFF8007FFFFFF00021337DB22C>I<00000003F00007F81FFC001FFE7FFE007FFFFF -FF00FFFFFFFF01FFFFFFFF03FFFFFE7F07FE1FF87E07F807F83E0FF003FC000FE001FC00 -1FE001FE001FC000FE001FC000FE001FC000FE001FC000FE001FC000FE001FE001FE000F -E001FC000FF003FC0007F807F80007FE1FF80007FFFFF00007FFFFE0000FFFFFC0000FFF -FF80000FDFFE00000FC7F800000FC00000000FC00000000FE000000007FFFFE00007FFFF -FE0007FFFFFF800FFFFFFFE01FFFFFFFF03FFFFFFFF83FC0003FF87F000003FC7E000001 -FCFE000000FEFC0000007EFC0000007EFC0000007EFC0000007EFE000000FE7F000001FC -7F800003FC3FE0000FF83FFE00FFF81FFFFFFFF00FFFFFFFE003FFFFFF8000FFFFFE0000 -3FFFF8000003FF800028387EA42C>I<7FF800000000FFFC00000000FFFC00000000FFFC -00000000FFFC000000007FFC0000000001FC0000000001FC0000000001FC0000000001FC -0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC -07F8000001FC3FFE000001FCFFFF800001FFFFFFC00001FFFFFFC00001FFFFFFE00001FF -F81FE00001FFE00FF00001FF8007F00001FF0007F00001FE0007F00001FE0007F00001FE -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0007FFF -F07FFFC0FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE07FFFF07FFFC02B33 -80B22C>I<00038000000FE000000FE000001FF000001FF000001FF000000FE000000FE0 -0000038000000000000000000000000000000000000000000000000000000000007FFFE0 -007FFFF000FFFFF000FFFFF0007FFFF0007FFFF0000007F0000007F0000007F0000007F0 -000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 -000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 -000007F0000007F0007FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE20347A -B32C>I<7FF0000000FFF8000000FFF8000000FFF8000000FFF80000007FF800000001F8 -00000001F800000001F800000001F800000001F800000001F800000001F800000001F800 -000001F800000001F83FFFF801F83FFFFC01F87FFFFC01F87FFFFC01F83FFFFC01F83FFF -F801F801FE0001F803FC0001F807F80001F80FF00001F81FE00001F83FC00001F87F8000 -01F8FF000001F9FE000001FBFE000001FFFF000001FFFF800001FFFFC00001FFDFC00001 -FF8FE00001FF0FF00001FE07F00001FC03F80001F801FC0001F801FE0001F800FE0001F8 -007F0001F8007F8001F8003FC07FFFE0FFFEFFFFE1FFFFFFFFF1FFFFFFFFF1FFFFFFFFE1 -FFFF7FFFE0FFFE28337FB22C>107 D<7FFFF00000FFFFF80000FFFFF80000FFFFF80000 -FFFFF800007FFFF800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F800000003F800000003F800000003F800000003F800000003F800000003 -F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8 -00000003F800000003F800000003F800000003F800000003F800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800007FFFFFFFC0FFFFFFFFE0FF -FFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFC023337CB22C>I<7FC1F803F0007FE7FE0F -FC00FFFFFF3FFE00FFFFFF7FFE007FFFFFFFFF007FFFFFFFFF0007FE1FFC3F8007FC1FF8 -3F8007F80FF01F8007F00FE01F8007F00FE01F8007F00FE01F8007E00FC01F8007E00FC0 -1F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC0 -1F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC0 -1F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F807FFE1FFC3FF87FFE3FFC -7FF8FFFF3FFE7FFCFFFF3FFE7FFC7FFE3FFC7FF87FFE1FFC3FF82E2481A32C>I<7FF807 -F80000FFFC3FFE0000FFFCFFFF8000FFFFFFFFC000FFFFFFFFC0007FFFFFFFE00001FFF8 -1FE00001FFE00FF00001FF8007F00001FF0007F00001FE0007F00001FE0007F00001FE00 -07F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC00 -07F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC00 -07F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0007FFFF0 -7FFFC0FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE07FFFF07FFFC02B2480 -A32C>I<0007FC0000001FFF0000007FFFC00001FFFFF00003FFFFF80007FFFFFC000FFC -07FE001FF001FF001FE000FF003FC0007F803F80003F807F00001FC07F00001FC07F0000 -1FC0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000F -E0FF00001FE07F00001FC07F00001FC07F80003FC03F80003F803FC0007F801FE000FF00 -1FF803FF000FFE0FFE0007FFFFFC0003FFFFF80001FFFFF000007FFFC000001FFF000000 -07FC000023247CA32C>I<7FF80FF000FFFC7FFE00FFFDFFFF00FFFFFFFFC0FFFFFFFFE0 -7FFFFFFFF001FFF03FF001FFC00FF801FF8007FC01FF0003FC01FE0001FE01FC0000FE01 -FC0000FE01FC0000FF01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F01FC -00007F01FC00007F01FC00007F01FC0000FF01FE0000FE01FE0001FE01FF0001FE01FF00 -03FC01FF8007FC01FFC00FF801FFF03FF001FFFFFFE001FFFFFFC001FFFFFF8001FDFFFF -0001FC7FFC0001FC0FF00001FC00000001FC00000001FC00000001FC00000001FC000000 -01FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000007F -FFF00000FFFFF80000FFFFF80000FFFFF80000FFFFF800007FFFF00000283680A32C>I< -7FFF003FC0FFFF81FFF0FFFF87FFF8FFFF9FFFF8FFFFBFFFFC7FFFFFFFFC003FFFE3FC00 -3FFF03FC003FFE01F8003FFC0060003FF80000003FF00000003FE00000003FE00000003F -C00000003FC00000003FC00000003F800000003F800000003F800000003F800000003F80 -0000003F800000003F800000003F800000003F800000003F800000003F800000003F8000 -00003F8000007FFFFFF000FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF8007FFFFFF000 -26247EA32C>114 D<003FF8F003FFFFF80FFFFFF81FFFFFF83FFFFFF87FFFFFF87FC01F -F8FF0007F8FC0003F8FC0003F8FC0003F8FE0001F0FF8000007FFC00003FFFF0003FFFFF -000FFFFFC007FFFFF000FFFFF8000FFFFC00007FFE000003FE7C0000FFFE00007FFE0000 -3FFF00003FFF00003FFF80007FFFC000FEFFF007FEFFFFFFFCFFFFFFFCFFFFFFF8FFFFFF -E0F8FFFF80781FFC0020247AA32C>I<001F000000003F800000003F800000003F800000 -003F800000003F800000003F800000003F800000003F800000003F8000007FFFFFFF00FF -FFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF00003F800000003F800000003F -800000003F800000003F800000003F800000003F800000003F800000003F800000003F80 -0000003F800000003F800000003F800000003F800000003F800000003F800380003F800F -E0003F800FE0003F800FE0003F800FE0003F801FE0003FC01FC0001FC03FC0001FF07FC0 -000FFFFF80000FFFFF000007FFFE000003FFFC000001FFF00000003FC000232E7EAD2C> -I<7FF801FFE000FFFC03FFF000FFFC03FFF000FFFC03FFF000FFFC03FFF0007FFC01FFF0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC000FF00001FC001FF00001FC003FF00001FF00FFF0 -0000FFFFFFFFC000FFFFFFFFE0007FFFFFFFE0003FFFFFFFE0001FFFE7FFE00003FF03FF -C02B2480A32C>I<7FFF83FFFCFFFF83FFFEFFFFC7FFFEFFFFC7FFFEFFFF83FFFE7FFF83 -FFFC03F0001F8003F8003F8001F8003F0001F8003F0001FC007F0000FC007E0000FC007E -0000FE00FE00007E00FC00007E00FC00007E00FC00003F01F800003F01F800003F01F800 -003F83F800001F83F000001F83F000001FC7F000000FC7E000000FC7E000000FC7E00000 -07EFC0000007EFC0000007FFC0000003FF80000003FF80000003FF80000001FF00000001 -FF00000000FE000027247EA32C>I<7FFF80FFFF007FFFC1FFFF00FFFFC1FFFF80FFFFC1 -FFFF807FFFC1FFFF007FFF80FFFF0007E00003F00007E00003F00007E00003F00007E000 -03F00007E00003F00007E00003F00003F00007E00003F00007E00003F07F07E00003F0FF -87E00003F0FF87E00003F0FF87E00001F1FFC7C00001F1FFC7C00001F9FFCFC00001F9F7 -CFC00001F9F7CFC00001F9F7CFC00001FBF7EFC00000FBE3EF800000FBE3EF800000FBE3 -EF800000FBE3EF800000FFE3FF800000FFC1FF8000007FC1FF0000007FC1FF0000007FC1 -FF0000007F80FF0000003F007E000029247FA32C>I<3FFF83FFF87FFF87FFF87FFFC7FF -FC7FFFC7FFFC7FFF87FFF83FFF83FFF800FE01FC00007F03F800003F83F800003F87F000 -001FCFE000000FEFC0000007FFC0000007FF80000003FF00000001FF00000000FE000000 -00FC00000000FE00000001FF00000003FF00000007FF80000007EFC000000FCFE000001F -C7E000001F83F000003F03F800007F01FC0000FE00FC0000FC00FE007FFF83FFFCFFFFC7 -FFFCFFFFC7FFFEFFFFC7FFFEFFFFC7FFFC7FFF83FFFC27247EA32C>I<7FFF83FFFCFFFF -C3FFFEFFFFC7FFFEFFFFC7FFFEFFFFC3FFFE7FFF83FFFC03F8001F8001F8003F8001FC00 -3F0000FC003F0000FC007F0000FE007E00007E007E00007E007E00007F00FC00003F00FC -00003F00FC00003F81F800001F81F800001F81F800000FC1F800000FC3F000000FC3F000 -0007E3F0000007E3E0000007E7E0000003E7E0000003F7C0000001F7C0000001FFC00000 -01FF80000000FF80000000FF80000000FF000000007F000000007F000000007E00000000 -7E000000007E00000000FE00000000FC00000000FC00000001FC00000C01F800003F03F8 -00007F87F000007F8FF000007F1FE000007FFFC000007FFFC000003FFF8000001FFE0000 -000FFC00000007F000000027367EA32C>I<78FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC -FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC -FCFCFCFCFCFCFCFCFCFC7806416DB92C>124 D E /Fd 55 123 df<000007F800000000 -3FFE00000001FFFF80000007FC0FC000000FE003E000001FC007E000003F800FF000007F -001FF00000FE001FF00000FE001FF00001FE001FF00001FC001FF00001FC000FE00001FC -0001000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC -0000000001FC0000000001FC0000000001FC0007F000FFFFFFFFF000FFFFFFFFF000FFFF -FFFFF000FFFFFFFFF00001FC001FF00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00003FC0007F8007FFF -E0FFFFC07FFFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC02A3B7FBA2E>12 -D<000007FC000000007FFF70000001FFFFF0000007FC0FF000000FE01FF000001FC01FF0 -00003F801FF000007F001FF00000FE001FF00000FE001FF00001FE0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000FFFFFFFFF0 -00FFFFFFFFF000FFFFFFFFF000FFFFFFFFF00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0003FE000FF8007FFFF1FFFFC07FFFF1FFFFC07FFFF1FFFFC07FFFF1FFFFC02A3B7FBA2E ->I<0000E00001E00003C0000780000F00001F00003E00007C00007C0000F80001F00001 -F00003E00003E00007E00007C0000FC0000F80000F80001F80001F80001F00003F00003F -00003F00003E00007E00007E00007E00007E00007E00007C0000FC0000FC0000FC0000FC -0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC -0000FC0000FC00007C00007E00007E00007E00007E00007E00003E00003F00003F00003F -00001F00001F80001F80000F80000F80000FC00007C00007E00003E00003E00001F00001 -F00000F800007C00007C00003E00001F00000F000007800003C00001E00000E0135278BD -20>40 D<E00000F000007800003C00001E00001F00000F800007C00007C00003E00001F0 -0001F00000F80000F80000FC00007C00007E00003E00003E00003F00003F00001F00001F -80001F80001F80000F80000FC0000FC0000FC0000FC0000FC00007C00007E00007E00007 -E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007 -E00007E00007E00007E00007C0000FC0000FC0000FC0000FC0000FC0000F80001F80001F -80001F80001F00003F00003F00003E00003E00007E00007C0000FC0000F80000F80001F0 -0001F00003E00007C00007C0000F80001F00001E00003C0000780000F00000E000001352 -7CBD20>I<00000030000000000000780000000000007800000000000078000000000000 -780000000000007800000000000078000000000000780000000000007800000000000078 -000000000000780000000000007800000000000078000000000000780000000000007800 -000000000078000000000000780000000000007800000000000078000000000000780000 -000000007800000000000078000000000000780000000000007800000000000078000000 -7FFFFFFFFFFFF8FFFFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF80000007800000000 -000078000000000000780000000000007800000000000078000000000000780000000000 -007800000000000078000000000000780000000000007800000000000078000000000000 -780000000000007800000000000078000000000000780000000000007800000000000078 -000000000000780000000000007800000000000078000000000000780000000000007800 -000000000078000000000000780000000000003000000036367BAF41>43 -D<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01EE000E000E000E001E001C001C003C003 -C0038007800F000F001E003C00780030000B1A7A8917>I<FFFFFCFFFFFCFFFFFCFFFFFC -FFFFFCFFFFFC16067F941C>I<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A7A -8917>I<0001C0000003C0000007C000001FC00000FFC000FFFFC000FFFFC000FFFFC000 -FF1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000003FE0007FFFFFF0 -7FFFFFF07FFFFFF07FFFFFF01C3879B72A>49 D<000FF00000007FFE000001FFFF800007 -FFFFC0000FE07FF0001F801FF8001F000FFC003E0007FC007C0003FE00780003FF007E00 -01FF00FF8001FF00FFC000FF80FFC000FF80FFC000FF80FFC000FF80FFC000FF80FFC000 -FF807F8000FF801E0000FF80000000FF80000000FF00000001FF00000001FF00000003FE -00000003FE00000007FC00000007F80000000FF00000000FF00000001FE00000003FC000 -00007F800000007E00000000FC00000001F800000003F000000007E00000000FC0000000 -0F800000001F000000003E000380007C00038000F800038001F000078003E000070007C0 -0007000F800007000F00000F001FFFFFFF003FFFFFFF007FFFFFFF00FFFFFFFE00FFFFFF -FE00FFFFFFFE00FFFFFFFE0021387CB72A>I<0007F80000003FFF0000007FFFC00001FF -FFE00003F80FF80007C007FC000F8003FC000F8003FE000FE001FE001FF001FF001FF001 -FF001FF001FF001FF801FF001FF001FF001FF001FF000FE001FF0003C001FE00000003FE -00000003FE00000003FC00000007F800000007F80000000FF00000001FE00000007F8000 -001FFE0000001FF80000001FFF800000000FE000000007F000000003FC00000001FE0000 -0001FF00000000FF80000000FF80000000FFC00000007FC00000007FE00000007FE00000 -007FE01E00007FE07F80007FE0FFC0007FE0FFC0007FE0FFC0007FE0FFC0007FC0FFC000 -FFC0FF8000FFC07F8000FF807E0001FF807E0001FF003F0003FE001F8007FC000FF00FF8 -0007FFFFF00001FFFFC000007FFF0000000FF80000233A7DB72A>I<0000007800000000 -F800000000F800000001F800000003F800000003F800000007F80000000FF80000000FF8 -0000001FF80000003FF80000003BF80000007BF8000000F3F8000000E3F8000001E3F800 -0003C3F800000383F800000783F800000F03F800000E03F800001E03F800003C03F80000 -3803F800007803F80000F003F80000E003F80001E003F80003C003F800038003F8000780 -03F8000F0003F8000E0003F8001E0003F8003C0003F800380003F800780003F800F00003 -F800FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8000003F800000003F800000003F8 -00000003F800000003F800000003F800000003F800000003F800000003F800000003F800 -000007FC000003FFFFF80003FFFFF80003FFFFF80003FFFFF825397EB82A>I<1E007F80 -7F80FFC0FFC0FFC0FFC07F807F801E000000000000000000000000000000000000000000 -0000000000000000000000001E007F807F80FFC0FFC0FFC0FFC07F807F801E000A247AA3 -17>58 D<0000007C0000000000007C0000000000007C000000000000FE000000000000FE -000000000000FE000000000001FF000000000001FF000000000001FF000000000003FF80 -0000000003FF800000000003FF800000000007FFC00000000007BFC00000000007BFC000 -0000000FBFE0000000000F1FE0000000000F1FE0000000001F1FF0000000001E0FF00000 -00001E0FF0000000003E0FF8000000003C07F8000000003C07F8000000007C07FC000000 -007803FC000000007803FC000000007803FC00000000F001FE00000000F001FE00000000 -F001FE00000001E000FF00000001E000FF00000001E000FF00000003C0007F80000003C0 -007F80000003C0007F8000000780003FC0000007FFFFFFC0000007FFFFFFC000000FFFFF -FFE000000FFFFFFFE000000F00001FE000001F00000FF000001E00000FF000001E00000F -F000003E00000FF800003C000007F800003C000007F800007C000007FC000078000003FC -000078000003FC0000F8000003FE0000F8000001FE0001FC000001FE000FFF000003FF00 -FFFFE000FFFFFEFFFFE000FFFFFEFFFFE000FFFFFEFFFFE000FFFFFE373C7DBB3E>65 -D<FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFFFF0000FFFFFFFFFFC00001FF00007FE000 -00FF00003FF00000FF00000FF80000FF00000FFC0000FF000007FC0000FF000007FE0000 -FF000003FE0000FF000003FF0000FF000003FF0000FF000003FF0000FF000003FF0000FF -000003FF0000FF000003FF0000FF000003FF0000FF000003FE0000FF000007FE0000FF00 -0007FC0000FF00000FF80000FF00001FF80000FF00003FF00000FF00007FC00000FF0003 -FF800000FFFFFFFE000000FFFFFFFE000000FFFFFFFF800000FF00003FE00000FF00000F -F00000FF000007FC0000FF000003FC0000FF000003FE0000FF000001FF0000FF000001FF -8000FF000000FF8000FF000000FF8000FF000000FFC000FF000000FFC000FF000000FFC0 -00FF000000FFC000FF000000FFC000FF000000FFC000FF000000FFC000FF000000FF8000 -FF000001FF8000FF000001FF8000FF000003FF0000FF000007FE0000FF00000FFE0000FF -00001FFC0001FF00007FF800FFFFFFFFFFE000FFFFFFFFFFC000FFFFFFFFFF0000FFFFFF -FFF8000032397DB83B>I<000001FF00038000000FFFE0038000007FFFF807800001FFFF -FE0F800007FF807F1F80000FFC000FBF80001FF00007FF80003FE00003FF80007FC00001 -FF8000FF800000FF8001FF0000007F8003FE0000007F8007FC0000003F8007FC0000003F -800FF80000001F801FF80000001F801FF00000000F801FF00000000F803FF00000000F80 -3FE00000000F807FE000000007807FE000000007807FE000000007807FC00000000780FF -C00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0 -0000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000 -00000000FFC00000000000FFC000000000007FC000000000007FE000000003807FE00000 -0003807FE000000003803FE000000003803FF000000003801FF000000007801FF0000000 -07001FF800000007000FF80000000F0007FC0000000F0007FC0000001E0003FE0000001E -0001FF0000003C0000FF8000007800007FC00000F800003FE00001F000001FF00003E000 -000FFC0007C0000007FF803F80000001FFFFFE000000007FFFFC000000000FFFF0000000 -0001FF000000313D7BBA3C>I<FFFFFFFFC00000FFFFFFFFF80000FFFFFFFFFE0000FFFF -FFFFFF800001FF0001FFE00000FF00003FF00000FF00000FF80000FF000007FC0000FF00 -0001FE0000FF000001FF0000FF000000FF0000FF0000007F8000FF0000007FC000FF0000 -003FC000FF0000003FE000FF0000001FE000FF0000001FF000FF0000001FF000FF000000 -0FF000FF0000000FF800FF0000000FF800FF0000000FF800FF0000000FF800FF0000000F -FC00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC -00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC00 -FF0000000FFC00FF0000000FF800FF0000000FF800FF0000000FF800FF0000000FF800FF -0000001FF000FF0000001FF000FF0000001FE000FF0000001FE000FF0000003FC000FF00 -00003FC000FF0000007F8000FF000000FF8000FF000000FF0000FF000001FE0000FF0000 -03FC0000FF00000FF80000FF00003FF00001FF0001FFE000FFFFFFFFFF8000FFFFFFFFFF -0000FFFFFFFFF80000FFFFFFFFC0000036397DB83F>I<FFFFFFFFFFFC00FFFFFFFFFFFC -00FFFFFFFFFFFC00FFFFFFFFFFFC0001FF00000FFC0000FF000001FE0000FF000000FE00 -00FF0000007E0000FF0000003E0000FF0000001E0000FF0000001E0000FF0000000E0000 -FF0000000E0000FF0000000E0000FF0000000E0000FF0001C00F0000FF0001C0070000FF -0001C0070000FF0001C0070000FF0001C0070000FF0001C0000000FF0003C0000000FF00 -03C0000000FF0007C0000000FF001FC0000000FFFFFFC0000000FFFFFFC0000000FFFFFF -C0000000FFFFFFC0000000FF001FC0000000FF0007C0000000FF0003C0000000FF0003C0 -000000FF0001C0000000FF0001C000E000FF0001C000E000FF0001C000E000FF0001C000 -E000FF0001C001C000FF00000001C000FF00000001C000FF00000001C000FF00000001C0 -00FF00000003C000FF00000003C000FF000000038000FF000000078000FF000000078000 -FF0000000F8000FF0000001F8000FF0000003F8000FF000000FF8001FF00000FFF80FFFF -FFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF0033397DB839>I<FFFFFF -FFFFF8FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF801FF00001FF800FF000003FC00FF00 -0001FC00FF000000FC00FF0000007C00FF0000003C00FF0000003C00FF0000001C00FF00 -00001C00FF0000001C00FF0000001C00FF0000001E00FF0003800E00FF0003800E00FF00 -03800E00FF0003800E00FF0003800000FF0003800000FF0007800000FF0007800000FF00 -0F800000FF003F800000FFFFFF800000FFFFFF800000FFFFFF800000FFFFFF800000FF00 -3F800000FF000F800000FF0007800000FF0007800000FF0003800000FF0003800000FF00 -03800000FF0003800000FF0003800000FF0003800000FF0000000000FF0000000000FF00 -00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00 -00000000FF0000000000FF0000000000FF0000000001FF80000000FFFFFFC00000FFFFFF -C00000FFFFFFC00000FFFFFFC000002F397DB836>I<FFFFFF01FFFFFEFFFFFF01FFFFFE -FFFFFF01FFFFFEFFFFFF01FFFFFE01FF800003FF0000FF000001FE0000FF000001FE0000 -FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF -000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF00 -0001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF0000 -01FE0000FF000001FE0000FF000001FE0000FFFFFFFFFE0000FFFFFFFFFE0000FFFFFFFF -FE0000FFFFFFFFFE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE -0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE00 -00FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000 -FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF -000001FE0000FF000001FE0000FF000001FE0000FF000001FE0001FF800003FF00FFFFFF -01FFFFFEFFFFFF01FFFFFEFFFFFF01FFFFFEFFFFFF01FFFFFE37397DB83E>72 -D<FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC000FFC000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F800000FFC000FFFFFF -C0FFFFFFC0FFFFFFC0FFFFFFC01A397EB81E>I<FFFFFFE00000FFFFFFE00000FFFFFFE0 -0000FFFFFFE0000001FF8000000000FF0000000000FF0000000000FF0000000000FF0000 -000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000 -000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000 -000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000 -000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000 -000000FF0000000000FF0000003800FF0000003800FF0000003800FF0000003800FF0000 -003800FF0000007800FF0000007000FF0000007000FF0000007000FF0000007000FF0000 -00F000FF000000F000FF000001F000FF000001F000FF000003F000FF000007F000FF0000 -0FF000FF00003FE001FF0001FFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFF -FFE02D397DB834>76 D<000003FF00000000001FFFE000000000FFFFFC00000001FE01FE -00000007F8007F8000000FE0001FC000003FC0000FF000007F800007F80000FF000003FC -0001FE000001FE0001FC000000FE0003FC000000FF0007F80000007F8007F80000007F80 -0FF00000003FC00FF00000003FC01FF00000003FE01FE00000001FE03FE00000001FF03F -E00000001FF03FE00000001FF07FE00000001FF87FC00000000FF87FC00000000FF87FC0 -0000000FF8FFC00000000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC000 -00000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC00000 -000FFCFFC00000000FFCFFC00000000FFC7FC00000000FF87FE00000001FF87FE0000000 -1FF87FE00000001FF83FE00000001FF03FE00000001FF01FF00000003FE01FF00000003F -E01FF00000003FE00FF80000007FC007F80000007F8007FC000000FF8003FC000000FF00 -01FE000001FE0001FE000001FE0000FF000003FC00007F800007F800003FC0000FF00000 -1FF0003FE0000007F8007F80000003FF03FF00000000FFFFFC000000001FFFE000000000 -03FF000000363D7BBA41>79 D<FFFFFFFFC000FFFFFFFFF800FFFFFFFFFE00FFFFFFFFFF -8001FF0001FFC000FF00003FE000FF00001FF000FF00000FF800FF000007FC00FF000007 -FC00FF000003FE00FF000003FE00FF000003FF00FF000003FF00FF000003FF00FF000003 -FF00FF000003FF00FF000003FF00FF000003FF00FF000003FF00FF000003FE00FF000003 -FE00FF000007FC00FF000007FC00FF00000FF800FF00001FF000FF00003FE000FF0001FF -C000FFFFFFFF0000FFFFFFFC0000FFFFFFF00000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0001FF80000000FFFFFF000000FFFFFF000000FFFFFF000000FFFFFF00000030397DB839 ->I<FFFFFFFE00000000FFFFFFFFE0000000FFFFFFFFF8000000FFFFFFFFFE00000001FF -0007FF80000000FF0000FFC0000000FF00003FE0000000FF00001FF0000000FF00000FF8 -000000FF00000FF8000000FF000007FC000000FF000007FC000000FF000007FE000000FF -000007FE000000FF000007FE000000FF000007FE000000FF000007FE000000FF000007FE -000000FF000007FE000000FF000007FC000000FF00000FFC000000FF00000FF8000000FF -00000FF0000000FF00001FE0000000FF00003FC0000000FF0000FF80000000FF0007FE00 -000000FFFFFFF800000000FFFFFFE000000000FFFFFFC000000000FF000FF000000000FF -0003F800000000FF0001FC00000000FF0000FE00000000FF00007F00000000FF00007F80 -000000FF00007F80000000FF00003FC0000000FF00003FC0000000FF00003FC0000000FF -00003FC0000000FF00003FE0000000FF00003FE0000000FF00003FE0000000FF00003FF0 -000000FF00003FF0000000FF00003FF0000000FF00003FF0000000FF00003FF8038000FF -00003FF8038000FF00003FF8038000FF00001FFC038001FF80001FFC0780FFFFFF000FFC -0700FFFFFF0007FE0F00FFFFFF0003FF1E00FFFFFF0001FFFE0000000000007FFC000000 -0000000FF000393B7DB83D>82 D<000FF801C0003FFE01C000FFFF83C003FFFFE7C007F8 -07FFC00FE001FFC01FC0007FC03F80003FC03F00001FC07E00000FC07E00000FC07C0000 -07C0FC000007C0FC000003C0FC000003C0FC000003C0FC000001C0FE000001C0FE000001 -C0FF000001C0FF800000007FC00000007FE00000007FF80000003FFF8000001FFFF80000 -1FFFFF80000FFFFFE00007FFFFF80003FFFFFE0000FFFFFF00003FFFFF800007FFFFC000 -007FFFC0000007FFE00000007FE00000003FF00000001FF00000000FF000000007F80000 -0003F8E0000003F8E0000003F8E0000001F8E0000001F8E0000001F8F0000001F8F00000 -01F8F0000001F0F8000003F0FC000003F0FC000007E0FE000007E0FF00000FC0FFC0001F -C0FFF0003F80FFFE00FF00F8FFFFFE00F03FFFF800E00FFFE000E001FF0000253D7CBA2E ->I<3FFFFFFFFFFFE03FFFFFFFFFFFE03FFFFFFFFFFFE03FFFFFFFFFFFE03FE001FE003F -E07F0001FE0007F07E0001FE0003F07C0001FE0001F0780001FE0000F0780001FE0000F0 -780001FE000070700001FE000070700001FE000070700001FE000070700001FE000070F0 -0001FE000078E00001FE000038E00001FE000038E00001FE000038E00001FE0000380000 -01FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001 -FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE -000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE00 -0000000001FE000000000001FE000000000001FE000000000001FE000000000001FE0000 -00000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000 -000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000 -0001FE000000000003FF000000001FFFFFFFE000001FFFFFFFE000001FFFFFFFE000001F -FFFFFFE00035397DB83C>I<FFFFFF001FFFFEFFFFFF001FFFFEFFFFFF001FFFFEFFFFFF -001FFFFE01FF800000FFC000FF0000003F0000FF0000001E0000FF0000001E0000FF0000 -001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF000000 -1E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E -0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E00 -00FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000 -FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF -0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF00 -00001E0000FF0000001E0000FF0000001E0000FF0000003E00007F0000003C00007F8000 -003C00007F8000003C00003F8000007C00003FC000007800001FC00000F800001FE00001 -F000000FE00001F0000007F00003E0000003F80007C0000001FE001F80000000FF80FF00 -0000007FFFFE000000001FFFF80000000007FFE00000000000FF000000373B7DB83E>I< -FFFFFE0000FFFFE0FFFFFE0000FFFFE0FFFFFE0000FFFFE0FFFFFE0000FFFFE001FFE000 -001FFC00007FC000000FF000007FC000000FC000003FE000000F8000001FF000000F8000 -001FF000001F0000000FF800001E0000000FF800003E00000007FC00003C00000003FE00 -007C00000003FE0000F800000001FF0000F800000001FF0001F000000000FF8001E00000 -00007FC003E0000000007FC003C0000000003FE007C0000000003FE00F80000000001FF0 -0F80000000000FF81F00000000000FF81E000000000007FC3E000000000007FC3C000000 -000003FE7C000000000001FFF8000000000001FFF0000000000000FFF0000000000000FF -E00000000000007FE00000000000003FC00000000000003FC00000000000003FC0000000 -0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F -C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000 -0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F -C00000000000003FC00000000000003FC00000000000007FE000000000003FFFFFC00000 -00003FFFFFC0000000003FFFFFC0000000003FFFFFC000003B397FB83E>89 -D<003FE0000001FFFC000007FFFF00000FC03F80001F801FE0003FC00FF0003FE007F000 -3FE003F8003FE003F8003FE003FC003FE001FC001FC001FC00020001FC00000001FC0000 -0001FC00000001FC000003FFFC00001FFFFC0000FFFFFC0003FF81FC0007FC01FC001FF0 -01FC003FE001FC003FC001FC007FC001FC007F8001FC00FF8001FC1CFF0001FC1CFF0001 -FC1CFF0001FC1CFF0003FC1CFF0003FC1C7F8007FC1C7FC00FFC1C3FC01E7E381FF07C7F -F80FFFF83FF003FFE03FE0007F800F8026277DA52A>97 D<03F8000000FFF8000000FFF8 -000000FFF8000000FFF80000000FF800000003F800000003F800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F80FE00003F87FFC0003F9FFFF00 -03FBE03F8003FF801FC003FF000FE003FE0007F003FC0003F803F80003F803F80001FC03 -F80001FC03F80001FE03F80000FE03F80000FE03F80000FF03F80000FF03F80000FF03F8 -0000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F800 -00FE03F80001FE03F80001FE03F80001FC03F80001FC03FC0003F803FC0003F803FE0007 -F003FF000FE003E7801FC003E3E07F8003C1FFFE0003807FF80000001FC000283B7EB92E ->I<0003FC00001FFF80007FFFE001FE03F003F801F807F003FC0FE007FC0FE007FC1FC0 -07FC3FC007FC3F8007FC7F8003F87F8000407F0000007F000000FF000000FF000000FF00 -0000FF000000FF000000FF000000FF000000FF000000FF000000FF0000007F8000007F80 -00007F8000003F80000E3FC0000E1FC0001E1FE0001C0FF0003C07F8007803FC00F001FF -03E0007FFFC0001FFF000007F8001F277DA525>I<0000001FC0000007FFC0000007FFC0 -000007FFC0000007FFC00000007FC00000001FC00000001FC00000001FC00000001FC000 -00001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000 -001FC00000001FC00000001FC00000001FC00007F81FC0001FFE1FC0007FFF9FC001FE07 -FFC003F801FFC007F0007FC00FE0007FC01FC0003FC01FC0001FC03F80001FC03F80001F -C07F80001FC07F80001FC07F00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0 -FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC07F00001FC07F -00001FC07F80001FC03F80001FC03F80001FC01FC0003FC01FC0003FC00FE0007FC007F0 -00FFF003F801FFFF01FC07DFFF00FFFF1FFF003FFE1FFF0007F01FC0283B7DB92E>I<00 -07F800001FFF00007FFFC001FC0FE003F807F007F003F80FE001F81FC001FC1FC000FC3F -8000FE3F80007E7F80007E7F00007F7F00007FFF00007FFF00007FFFFFFFFFFFFFFFFFFF -FFFFFFFF000000FF000000FF000000FF000000FF0000007F0000007F0000007F8000007F -8000003F8000073FC000071FC0000F0FE0000E07F0001E07F8003C01FC007800FF01F000 -7FFFE0001FFF800003FC0020277EA525>I<00007F000001FFC00007FFE0001FC7F0003F -8FF8007F0FF800FE0FF801FC0FF801FC0FF801FC07F003F803E003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -0000FFFFFC00FFFFFC00FFFFFC00FFFFFC0003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000007FC0000FFFFF800FFFFF800FFFFF800FFFF -F8001D3B7FBA19>I<00000003E0000FF00FF8003FFC3FFC00FFFF7CFC03F81FF0FC07F0 -0FE0FC0FE007F0FC0FC003F0301FC003F8001F8001F8003F8001FC003F8001FC003F8001 -FC003F8001FC003F8001FC003F8001FC003F8001FC001F8001F8001FC003F8000FC003F0 -000FE007F00007F00FE00007F81FC0000FFFFF00000F3FFC00001E0FF000001E00000000 -1E000000001E000000001F000000001F000000001F800000000FFFFFC0000FFFFFF80007 -FFFFFE0007FFFFFF8007FFFFFFC00FFFFFFFE01F80007FF03F00000FF07E000007F07E00 -0003F8FC000003F8FC000001F8FC000001F8FC000001F8FC000001F8FE000003F87F0000 -07F03F000007E03FC0001FE00FE0003F8007FC01FF0001FFFFFC00007FFFF0000007FF00 -0026387EA52A>I<03F800000000FFF800000000FFF800000000FFF800000000FFF80000 -00000FF80000000003F80000000003F80000000003F80000000003F80000000003F80000 -000003F80000000003F80000000003F80000000003F80000000003F80000000003F80000 -000003F80000000003F80000000003F80000000003F80000000003F807F0000003F83FFC -000003F8FFFF000003F9F07F800003FBC03FC00003FF801FC00003FF001FC00003FE000F -E00003FE000FE00003FC000FE00003FC000FE00003FC000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00007FC000FF000FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80293A7EB9 -2E>I<03C0000FF0000FF0001FF8001FF8001FF8001FF8000FF0000FF00003C000000000 -00000000000000000000000000000000000000000000000001F800FFF800FFF800FFF800 -FFF80007F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80007F800FFFFE0FFFFE0FFFFE0FFFFE013387EB718>I<0000 -F00003FC0003FC0007FE0007FE0007FE0007FE0003FC0003FC0000F00000000000000000 -000000000000000000000000000000000000000000FE007FFE007FFE007FFE007FFE0003 -FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 -FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 -FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 -FE1C00FE7F00FEFF80FEFF81FCFF81FCFF81F8FF83F87F07F07E0FE03FFFC00FFF0003F8 -00174985B719>I<03F8000000FFF8000000FFF8000000FFF8000000FFF80000000FF800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F800000003F803FFFC03F803FFFC03F803FFFC03F803FFFC03F801FF8003 -F800FE0003F801F80003F801F00003F803C00003F807800003F80F000003F81E000003F8 -7C000003F8FC000003F9FC000003FBFE000003FFFF000003FFFF000003FF3F800003FC3F -C00003F81FC00003F80FE00003F80FF00003F807F80003F803F80003F803FC0003F801FE -0003F800FE0003F800FF0003F8007F8003F8007FC007FC007FE0FFFFE1FFFFFFFFE1FFFF -FFFFE1FFFFFFFFE1FFFF283A7EB92C>I<03F800FFF800FFF800FFF800FFF8000FF80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80007FC00FF -FFE0FFFFE0FFFFE0FFFFE0133A7EB918>I<03F807F8000FF00000FFF83FFE007FFC0000 -FFF87FFF80FFFF0000FFF9F03FC3E07F8000FFFBC01FE7803FC0000FFF800FEF001FC000 -03FF000FFE001FC00003FE0007FC000FE00003FE0007FC000FE00003FC0007F8000FE000 -03FC0007F8000FE00003FC0007F8000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00007FC000FF8001FF000FFFFE1FFFFC3FFFF80 -FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF8041257EA446>I<03F8 -07F00000FFF83FFC0000FFF8FFFF0000FFF9F07F8000FFFBC03FC0000FFF801FC00003FF -001FC00003FE000FE00003FE000FE00003FC000FE00003FC000FE00003FC000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00007FC000FF000FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80FFFF -E1FFFF8029257EA42E>I<0003FE0000000FFF8000003FFFE00000FE03F80001F800FC00 -03F0007E0007E0003F000FC0001F801FC0001FC01F80000FC03F80000FE03F80000FE07F -000007F07F000007F07F000007F07F000007F0FF000007F8FF000007F8FF000007F8FF00 -0007F8FF000007F8FF000007F8FF000007F8FF000007F8FF000007F87F000007F07F0000 -07F07F80000FF03F80000FE03F80000FE01FC0001FC00FC0001F800FE0003F8007F0007F -0003F800FE0000FE03F800007FFFF000001FFFC0000003FE000025277EA52A>I<03F80F -E000FFF87FFC00FFF9FFFF00FFFBE07F80FFFF801FC007FF000FE003FE000FF003FC0007 -F803F80003F803F80003FC03F80003FC03F80001FE03F80001FE03F80001FE03F80000FF -03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03 -F80000FF03F80000FF03F80001FE03F80001FE03F80001FE03F80003FC03F80003FC03FC -0007F803FC0007F803FE000FF003FF001FE003FF803FC003FBE07F8003F9FFFE0003F87F -F80003F81FC00003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000007FC000000FFFFE00000FFFFE00000 -FFFFE00000FFFFE0000028357EA42E>I<0003F801C0001FFE03C0007FFF83C001FE07C7 -C003FC01E7C007F800FFC00FF0007FC01FE0007FC01FE0003FC03FC0003FC03FC0001FC0 -7F80001FC07F80001FC07F80001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF -00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC07F80001FC07F80 -001FC07F80001FC03FC0001FC03FC0003FC01FC0003FC01FE0007FC00FF000FFC007F000 -FFC003F803FFC001FE0FDFC000FFFF1FC0003FFC1FC00007F01FC00000001FC00000001F -C00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0 -0000001FC00000003FE0000007FFFF000007FFFF000007FFFF000007FFFF28357DA42C> -I<03F03F00FFF0FFC0FFF1FFE0FFF3CFF0FFF78FF00FFF0FF003FE0FF003FE0FF003FE07 -E003FC018003FC000003FC000003F8000003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000003F8000003F8000007FC0000FFFFF800FFFFF800FFFFF8 -00FFFFF8001C257EA421>I<00FF870003FFEF000FFFFF001F80FF003E003F007C001F00 -7C000F00F8000F00F8000700F8000700FC000700FC000700FE000000FF8000007FF80000 -7FFF80003FFFE0003FFFF8001FFFFC0007FFFE0001FFFF00007FFF800003FF8000007FC0 -E0001FC0E0000FC0E0000FC0F00007C0F00007C0F00007C0F80007C0F8000780FC000F80 -FE000F80FF001F00FFC07E00FBFFFC00F1FFF000E07F80001A277DA521>I<001C000000 -1C0000001C0000001C0000001C0000003C0000003C0000003C0000007C0000007C000000 -7C000000FC000001FC000003FC000007FC00001FFFFF00FFFFFF00FFFFFF00FFFFFF0001 -FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001 -FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC01C001 -FC01C001FC01C001FC01C001FC01C001FC01C001FC01C001FC01C001FC01C000FE038000 -FE0380007F0780007F8F00003FFE00000FFC000003F0001A347FB220>I<03F8000FE000 -FFF803FFE000FFF803FFE000FFF803FFE000FFF803FFE0000FF8003FE00003F8000FE000 -03F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE000 -03F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE000 -03F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE000 -03F8000FE00003F8000FE00003F8001FE00003F8001FE00003F8001FE00003F8003FE000 -01F8003FE00001FC007FF80001FC00FFFF8000FE03EFFF80007FFFCFFF80001FFF0FFF80 -0003FC0FE00029267EA42E>I<FFFFC07FFEFFFFC07FFEFFFFC07FFEFFFFC07FFE07FC00 -1FF003F80007C003FC00078001FC00070001FC00070001FE000F0000FE000E0000FE000E -00007F001C00007F001C00007F803C00003F803800003F803800001FC07000001FC07000 -001FE07000000FE0E000000FE0E000000FF1E0000007F1C0000007F1C0000003FB800000 -03FB80000003FF80000001FF00000001FF00000001FF00000000FE00000000FE00000000 -7C000000007C000000007C0000000038000027257EA32C>I<FFFF8FFFF07FFEFFFF8FFF -F07FFEFFFF8FFFF07FFEFFFF8FFFF07FFE07F800FF000FF007F8007F0007C003F8007F00 -07C003F8003F00038003FC003F80078001FC007F80070001FC007F80070001FE007FC00F -0000FE00FFC00E0000FE00EFC00E0000FF00EFE01E00007F01EFE01C00007F01C7E01C00 -007F81C7F03C00003F83C7F03800003F8383F03800001FC383F87000001FC701F8700000 -1FC701F87000000FE701FCE000000FEE00FCE000000FEE00FCE0000007FE00FFC0000007 -FC007FC0000007FC007FC0000003FC007F80000003F8003F80000003F8003F80000001F8 -003F00000001F0001F00000001F0001F00000000F0001E00000000E0000E000037257EA3 -3C>I<FFFFC0FFFF00FFFFC0FFFF00FFFFC0FFFF00FFFFC0FFFF0001FF007FE00000FF00 -3F0000007F003E0000003F803C0000003FC0780000001FC0F00000000FE0E00000000FF1 -E000000007FBC000000003FF8000000001FF0000000001FF0000000000FE00000000007F -00000000007F80000000007FC000000000FFC000000001FFE000000001CFF000000003C7 -F00000000783F80000000F03FC0000000E01FC0000001E00FE0000003C00FF0000007C00 -7F800001FC003F800007FC007FE000FFFF01FFFF80FFFF01FFFF80FFFF01FFFF80FFFF01 -FFFF8029247FA32C>I<FFFFC07FFEFFFFC07FFEFFFFC07FFEFFFFC07FFE07FC001FF003 -F80007C003FC00078001FC00070001FC00070000FE000E0000FE000E0000FF001E00007F -001C00007F001C00003F803800003F803800003FC07800001FC07000001FC07000001FE0 -F000000FE0E000000FF0E0000007F1C0000007F1C0000007FBC0000003FB80000003FB80 -000001FF00000001FF00000001FF00000000FE00000000FE000000007C000000007C0000 -00007C0000000038000000003800000000780000000070000000007000000000E0000000 -00E000007E01E000007E01C00000FF03C00000FF03800000FF07800000FF0F0000007E1E -000000783C0000003FF80000001FF00000000FC000000027357EA32C>I<3FFFFFFC3FFF -FFFC3FFFFFFC3FC007F83E000FF83C000FF03C001FE038003FE078007FC078007F807000 -FF007001FF007001FE007003FC007007FC000007F800000FF000001FF000003FE000003F -C000007F800E00FF800E00FF000E01FE000E03FE000E03FC001E07F8001E0FF8001E1FF0 -001C1FE0003C3FC0007C7FC000FC7F8003FCFFFFFFFCFFFFFFFCFFFFFFFC1F247EA325> -I E /Fe 40 121 df<000000007FFE0000000000001FFFFFC00000000000FFFFFFF00000 -000007FFFFFFF8000000001FFFFFFFFC000000007FFFE00FFE00000000FFFE0001FF0000 -0001FFF00003FF80000003FFE00007FF80000007FF80000FFFC000000FFF00001FFFC000 -001FFE00001FFFC000003FFE00001FFFC000003FFC00001FFFC000003FFC00003FFFE000 -007FF800001FFFC000007FF800001FFFC000007FF800001FFFC000007FF800000FFF8000 -007FF800000FFF8000007FF8000007FF0000007FF8000001FC0000007FF8000000000000 -007FF8000000000000007FF8000000000000007FF8000000000000007FF8000000000000 -007FF8000000000000007FF8000000000000007FF8000000000000007FF80003FFFFE000 -FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE000 -FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE000007FFC000007FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE0007FFFFFFC03FFFFFFE0 -7FFFFFFC03FFFFFFE07FFFFFFC03FFFFFFE07FFFFFFC03FFFFFFE07FFFFFFC03FFFFFFE0 -7FFFFFFC03FFFFFFE043547DD34B>12 D<FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFF -F0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0 -FFFFFFFFF0240C7FA02D>45 D<0000003C00000000007E0000000001FE0000000007FE00 -0000001FFE00000000FFFE00000007FFFE000003FFFFFE0000FFFFFFFE0000FFFFFFFE00 -00FFFFFFFE0000FFFF7FFE0000FFF87FFE0000FC007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE00007FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFF -FE7FFFFFFFFFFE7FFFFFFFFFFE2F4E76CD43>49 D<00003FFE0000000003FFFFE0000000 -1FFFFFFC0000007FFFFFFF000000FFFFFFFFC00001FFFFFFFFE00007FF807FFFF0000FFC -001FFFF8001FF00007FFFC001FE00001FFFE003FF00000FFFF007FFC0000FFFF807FFE00 -007FFF807FFF00003FFFC0FFFF00003FFFC0FFFF80003FFFE0FFFF80001FFFE0FFFF8000 -1FFFE0FFFF80001FFFF0FFFF80001FFFF0FFFF80000FFFF07FFF00000FFFF07FFF00000F -FFF03FFE00000FFFF01FFC00000FFFF00FF800000FFFF003E000001FFFF0000000001FFF -E0000000001FFFE0000000001FFFE0000000003FFFC0000000003FFFC0000000003FFF80 -000000007FFF80000000007FFF0000000000FFFE0000000000FFFE0000000001FFFC0000 -000001FFF80000000003FFF00000000007FFE0000000000FFFC0000000000FFF80000000 -001FFE00000000003FFC00000000007FF80000000000FFF00000000000FFC00000000001 -FF800000000003FF000000000007FC00000000000FF80003F000001FF00003F000003FE0 -0003F000007FC00003F00000FF000007E00001FE000007E00003FC000007E00007F80000 -07E00007F0000007E0000FE000000FE0001F8000000FE0003F0000001FE0007FFFFFFFFF -E000FFFFFFFFFFC001FFFFFFFFFFC003FFFFFFFFFFC007FFFFFFFFFFC00FFFFFFFFFFFC0 -1FFFFFFFFFFFC03FFFFFFFFFFFC07FFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFF80FF -FFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80344E79CD43>I<0000 -0FFF8000000000FFFFFC00000007FFFFFF0000001FFFFFFFC000003FFFFFFFF000007FF8 -07FFF80000FFC001FFFC0001FE0000FFFE0003FC00007FFF0007FE00003FFF800FFF8000 -3FFFC00FFFC0003FFFC00FFFC0001FFFC01FFFE0001FFFE01FFFE0001FFFE01FFFE0001F -FFE01FFFF0001FFFE01FFFF0001FFFE01FFFE0001FFFE01FFFE0001FFFE00FFFE0003FFF -E00FFFC0003FFFC007FF80003FFFC003FF00003FFFC000FE00007FFF80000000007FFF80 -000000007FFF0000000000FFFE0000000000FFFC0000000001FFF80000000003FFF00000 -000007FFE0000000001FFFC000000000FFFF80000000FFFFFE00000000FFFFF800000000 -FFFFC000000000FFFFFC00000000FFFFFF800000000007FFF00000000001FFFC00000000 -007FFE00000000003FFF00000000003FFF80000000001FFFC0000000001FFFE000000000 -0FFFF0000000000FFFF8000000000FFFF80000000007FFFC0000000007FFFC0000000007 -FFFC01E0000007FFFE0FFC000007FFFE1FFE000007FFFE3FFF000007FFFE7FFF800007FF -FE7FFF800007FFFEFFFFC00007FFFEFFFFC00007FFFEFFFFC00007FFFEFFFFC00007FFFC -FFFFC00007FFFCFFFFC0000FFFFCFFFFC0000FFFF87FFF80000FFFF87FFF80000FFFF07F -FF00001FFFF03FFE00001FFFE01FF800003FFFC01FFC00007FFF800FFF0001FFFF0007FF -F007FFFE0003FFFFFFFFFC0000FFFFFFFFF000003FFFFFFFE000000FFFFFFF00000003FF -FFFC000000001FFF800000374F7ACD43>I<00000000007E00000000000000FF00000000 -000001FF00000000000003FF00000000000003FF00000000000007FF0000000000000FFF -0000000000001FFF0000000000001FFF0000000000003FFF0000000000007FFF00000000 -0000FFFF000000000001FFFF000000000001FFFF000000000003FFFF000000000007FFFF -00000000000FFFFF00000000000FFFFF00000000001FFFFF00000000003FBFFF00000000 -007F3FFF0000000000FE3FFF0000000000FE3FFF0000000001FC3FFF0000000003F83FFF -0000000007F03FFF0000000007E03FFF000000000FE03FFF000000001FC03FFF00000000 -3F803FFF000000007F003FFF000000007F003FFF00000000FE003FFF00000001FC003FFF -00000003F8003FFF00000003F0003FFF00000007F0003FFF0000000FE0003FFF0000001F -C0003FFF0000003F80003FFF0000003F80003FFF0000007F00003FFF000000FE00003FFF -000001FC00003FFF000001F800003FFF000003F800003FFF000007F000003FFF00000FE0 -00003FFF00001FC000003FFF00001FC000003FFF00003F8000003FFF00007F0000003FFF -0000FE0000003FFF0000FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFF -FFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0000000007FFF0000000000007FFF -0000000000007FFF0000000000007FFF0000000000007FFF0000000000007FFF00000000 -00007FFF0000000000007FFF0000000000007FFF0000000000007FFF0000000000007FFF -0000000000007FFF0000000000007FFF0000000000007FFF000000000FFFFFFFFFC00000 -0FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFF -FFC03A4F7CCE43>I<07000000000E0007E00000007E0007FC000003FE0007FFE000FFFE -0007FFFFFFFFFE0007FFFFFFFFFC0007FFFFFFFFF80007FFFFFFFFF00007FFFFFFFFE000 -07FFFFFFFFC00007FFFFFFFF800007FFFFFFFF000007FFFFFFFE000007FFFFFFF8000007 -FFFFFFE0000007FFFFFF80000007FFFFFE00000007FFFFF000000007F0FC0000000007F0 -000000000007F0000000000007F0000000000007F0000000000007F0000000000007F000 -0000000007F0000000000007F0000000000007F0000000000007F0000000000007F00FFF -00000007F07FFFF0000007F1FFFFFE000007F7FFFFFF800007FFFFFFFFC00007FFF807FF -E00007FFC001FFF00007FE0000FFF80007FC00007FFC0007F800007FFE0007F000003FFF -0007E000003FFF8003C000003FFF80000000003FFFC0000000001FFFC0000000001FFFE0 -000000001FFFE0000000001FFFE0000000001FFFE0000000001FFFF0000000001FFFF000 -0000001FFFF007E000001FFFF01FF800001FFFF03FFC00001FFFF07FFE00001FFFF07FFE -00001FFFF0FFFF00001FFFF0FFFF00001FFFF0FFFF00001FFFF0FFFF00001FFFE0FFFF00 -001FFFE0FFFF00001FFFE0FFFE00001FFFE0FFFE00003FFFC07FFC00003FFFC07FF80000 -3FFF807FE000007FFF803F8000007FFF001FC00000FFFE001FE00000FFFC000FF80003FF -F80007FE0007FFF00003FFC03FFFE00001FFFFFFFFC00000FFFFFFFF0000007FFFFFFE00 -00001FFFFFF800000007FFFFC0000000007FF8000000344F79CD43>I<0000000FFF0000 -000000FFFFE000000007FFFFF00000001FFFFFFC0000007FFFFFFE000001FFFE03FF0000 -03FFE000FF800007FF80003F80000FFF0000FFC0001FFE0003FFC0003FFC0007FFE0007F -F80007FFE000FFF0000FFFE001FFF0000FFFE001FFE0000FFFE003FFE0000FFFE007FFC0 -000FFFE007FFC0000FFFE00FFFC00007FFC00FFF800007FFC01FFF800003FF801FFF8000 -00FE001FFF80000000003FFF80000000003FFF80000000003FFF00000000007FFF000000 -00007FFF00000000007FFF007FF000007FFF03FFFE00007FFF07FFFF8000FFFF0FFFFFE0 -00FFFF1FFFFFF000FFFF3F81FFFC00FFFF7E003FFE00FFFFF8001FFF00FFFFF8000FFF80 -FFFFF00007FF80FFFFE00007FFC0FFFFE00007FFE0FFFFC00007FFE0FFFFC00003FFF0FF -FFC00003FFF0FFFF800003FFF8FFFF800003FFF8FFFF800003FFF8FFFF800003FFF8FFFF -000003FFFCFFFF000003FFFCFFFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF00 -0003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC3FFF000003FFFC3FFF0000 -03FFFC3FFF000003FFFC3FFF000003FFFC1FFF800003FFF81FFF800003FFF81FFF800003 -FFF80FFF800003FFF00FFF800003FFF007FF800007FFF007FFC00007FFE003FFC00007FF -C001FFE0000FFFC001FFF0000FFF8000FFF8001FFF00007FFC003FFE00003FFF01FFFC00 -001FFFFFFFF800000FFFFFFFF0000003FFFFFFC0000000FFFFFF000000003FFFFC000000 -0007FFC00000364F7ACD43>I<03F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFF -C0FFFFC0FFFFC0FFFFC0FFFFC07FFF807FFF803FFF001FFE000FFC0003F0000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000003F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFF -C0FFFFC0FFFFC0FFFFC07FFF807FFF803FFF001FFE000FFC0003F000123577B425>58 -D<0000000003FFFC000003C0000000007FFFFFC00007C000000007FFFFFFF8000FC00000 -003FFFFFFFFE001FC0000000FFFFFFFFFF803FC0000003FFFFFFFFFFC07FC000000FFFFF -F001FFF0FFC000003FFFFE00003FF9FFC000007FFFF000000FFFFFC00001FFFFC0000003 -FFFFC00003FFFF00000000FFFFC00007FFFC000000007FFFC0000FFFF8000000003FFFC0 -001FFFE0000000001FFFC0003FFFC0000000000FFFC0007FFF800000000007FFC000FFFF -000000000003FFC001FFFF000000000003FFC001FFFE000000000001FFC003FFFE000000 -000001FFC003FFFC000000000000FFC007FFF8000000000000FFC00FFFF8000000000000 -7FC00FFFF80000000000007FC01FFFF00000000000003FC01FFFF00000000000003FC01F -FFF00000000000003FC03FFFE00000000000003FC03FFFE00000000000001FC03FFFE000 -00000000001FC07FFFE00000000000001FC07FFFE00000000000001FC07FFFE000000000 -000000007FFFC000000000000000007FFFC00000000000000000FFFFC000000000000000 -00FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000000000FFFF -C00000000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000 -000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000 -000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000000000 -7FFFC000000000000000007FFFC000000000000000007FFFE000000000000000007FFFE0 -00000000000000007FFFE00000000000000FC03FFFE00000000000000FC03FFFE0000000 -0000000FC03FFFE00000000000000FC01FFFF00000000000000FC01FFFF0000000000000 -0FC01FFFF00000000000001FC00FFFF80000000000001F800FFFF80000000000001F8007 -FFFC0000000000003F8003FFFC0000000000003F8003FFFE0000000000003F0001FFFE00 -00000000007F0001FFFF000000000000FE0000FFFF800000000000FE00007FFF80000000 -0001FC00003FFFC00000000003F800001FFFE00000000007F800000FFFF8000000000FF0 -000007FFFC000000001FE0000003FFFF000000007FC0000001FFFFC0000000FF80000000 -7FFFF0000003FF000000003FFFFE00001FFE000000000FFFFFF001FFF80000000003FFFF -FFFFFFF00000000000FFFFFFFFFFC000000000003FFFFFFFFF00000000000007FFFFFFFC -000000000000007FFFFFE00000000000000003FFFC00000000525479D261>67 -D<FFFFFFFFFFFFFF8000000000FFFFFFFFFFFFFFFC00000000FFFFFFFFFFFFFFFF800000 -00FFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFFC000000FFFFFFFFFFFFFFFFFF0000 -000007FFF800000FFFFFC000000007FFF8000000FFFFE000000007FFF80000001FFFF800 -000007FFF800000007FFFC00000007FFF800000003FFFE00000007FFF800000000FFFF00 -000007FFF8000000007FFF80000007FFF8000000003FFFC0000007FFF8000000001FFFC0 -000007FFF8000000000FFFE0000007FFF80000000007FFF0000007FFF80000000007FFF8 -000007FFF80000000003FFF8000007FFF80000000003FFFC000007FFF80000000001FFFC -000007FFF80000000001FFFE000007FFF80000000001FFFE000007FFF80000000000FFFF -000007FFF80000000000FFFF000007FFF80000000000FFFF000007FFF800000000007FFF -800007FFF800000000007FFF800007FFF800000000007FFF800007FFF800000000007FFF -C00007FFF800000000007FFFC00007FFF800000000007FFFC00007FFF800000000007FFF -C00007FFF800000000007FFFC00007FFF800000000007FFFE00007FFF800000000007FFF -E00007FFF800000000003FFFE00007FFF800000000003FFFE00007FFF800000000003FFF -E00007FFF800000000003FFFE00007FFF800000000003FFFE00007FFF800000000003FFF -E00007FFF800000000003FFFE00007FFF800000000003FFFE00007FFF800000000003FFF -E00007FFF800000000003FFFE00007FFF800000000003FFFE00007FFF800000000007FFF -E00007FFF800000000007FFFE00007FFF800000000007FFFC00007FFF800000000007FFF -C00007FFF800000000007FFFC00007FFF800000000007FFFC00007FFF800000000007FFF -C00007FFF800000000007FFF800007FFF800000000007FFF800007FFF80000000000FFFF -800007FFF80000000000FFFF000007FFF80000000000FFFF000007FFF80000000000FFFF -000007FFF80000000001FFFE000007FFF80000000001FFFE000007FFF80000000001FFFC -000007FFF80000000003FFFC000007FFF80000000007FFF8000007FFF80000000007FFF0 -000007FFF8000000000FFFF0000007FFF8000000001FFFE0000007FFF8000000003FFFC0 -000007FFF8000000007FFF80000007FFF800000000FFFF00000007FFF800000001FFFE00 -000007FFF800000007FFFC00000007FFF80000001FFFF800000007FFF8000000FFFFF000 -000007FFF800000FFFFFC00000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFE0000 -00FFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFC000000 -00FFFFFFFFFFFFFF80000000005B527CD167>I<FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFF -FFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFF -FFFFFFFFFFFFFFC00007FFFC000003FFFFC00007FFFC0000003FFFC00007FFFC0000000F -FFC00007FFFC00000003FFC00007FFFC00000001FFC00007FFFC00000000FFC00007FFFC -000000007FC00007FFFC000000003FC00007FFFC000000001FC00007FFFC000000001FE0 -0007FFFC000000000FE00007FFFC000000000FE00007FFFC000000000FE00007FFFC0000 -000007E00007FFFC0000000007E00007FFFC0000000007E00007FFFC0000FC0007E00007 -FFFC0000FC0007E00007FFFC0000FC0007F00007FFFC0000FC0003F00007FFFC0000FC00 -03F00007FFFC0000FC0003F00007FFFC0000FC0003F00007FFFC0001FC0000000007FFFC -0001FC0000000007FFFC0001FC0000000007FFFC0003FC0000000007FFFC0007FC000000 -0007FFFC000FFC0000000007FFFC007FFC0000000007FFFFFFFFFC0000000007FFFFFFFF -FC0000000007FFFFFFFFFC0000000007FFFFFFFFFC0000000007FFFFFFFFFC0000000007 -FFFFFFFFFC0000000007FFFC007FFC0000000007FFFC000FFC0000000007FFFC0007FC00 -00000007FFFC0003FC0000000007FFFC0001FC0000000007FFFC0001FC0000000007FFFC -0001FC00007E0007FFFC0000FC00007E0007FFFC0000FC00007E0007FFFC0000FC0000FC -0007FFFC0000FC0000FC0007FFFC0000FC0000FC0007FFFC0000FC0000FC0007FFFC0000 -FC0000FC0007FFFC0000000001FC0007FFFC0000000001FC0007FFFC0000000001F80007 -FFFC0000000001F80007FFFC0000000003F80007FFFC0000000003F80007FFFC00000000 -03F80007FFFC0000000007F80007FFFC0000000007F00007FFFC000000000FF00007FFFC -000000000FF00007FFFC000000001FF00007FFFC000000003FF00007FFFC000000007FF0 -0007FFFC00000000FFF00007FFFC00000003FFE00007FFFC00000007FFE00007FFFC0000 -003FFFE00007FFFC000003FFFFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFE0FFFF -FFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF -FFC04F517CD058>I<FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFF -FFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFF000007FF -FC00000FFFFF000007FFFC000000FFFF000007FFFC0000001FFF000007FFFC0000000FFF -000007FFFC00000003FF000007FFFC00000001FF000007FFFC00000001FF000007FFFC00 -000000FF000007FFFC000000007F000007FFFC000000007F800007FFFC000000003F8000 -07FFFC000000003F800007FFFC000000003F800007FFFC000000001F800007FFFC000000 -001F800007FFFC000000001F800007FFFC000000001F800007FFFC0001F8001F800007FF -FC0001F8001FC00007FFFC0001F8000FC00007FFFC0001F8000FC00007FFFC0001F8000F -C00007FFFC0001F8000FC00007FFFC0001F80000000007FFFC0003F80000000007FFFC00 -03F80000000007FFFC0003F80000000007FFFC0007F80000000007FFFC000FF800000000 -07FFFC001FF80000000007FFFC00FFF80000000007FFFFFFFFF80000000007FFFFFFFFF8 -0000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FF -FFFFFFF80000000007FFFC00FFF80000000007FFFC001FF80000000007FFFC000FF80000 -000007FFFC0007F80000000007FFFC0003F80000000007FFFC0003F80000000007FFFC00 -03F80000000007FFFC0001F80000000007FFFC0001F80000000007FFFC0001F800000000 -07FFFC0001F80000000007FFFC0001F80000000007FFFC0001F80000000007FFFC0001F8 -0000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FF -FC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000 -000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC00 -00000000000007FFFC0000000000000007FFFC0000000000000007FFFC00000000000000 -07FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC000000 -000000FFFFFFFFFFFC00000000FFFFFFFFFFFC00000000FFFFFFFFFFFC00000000FFFFFF -FFFFFC00000000FFFFFFFFFFFC00000000FFFFFFFFFFFC000000004A517CD055>I<FFFF -FFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE00007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007 -FFFC00000007FFFC00000007FFFC00000007FFFC0000FFFFFFFFFFE0FFFFFFFFFFE0FFFF -FFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02B527DD132>73 -D<FFFFFFFFFFFFFF000000FFFFFFFFFFFFFFF80000FFFFFFFFFFFFFFFF0000FFFFFFFFFF -FFFFFFC000FFFFFFFFFFFFFFFFF000FFFFFFFFFFFFFFFFFC000007FFF800001FFFFE0000 -07FFF8000003FFFF800007FFF8000000FFFFC00007FFF80000003FFFE00007FFF8000000 -1FFFF00007FFF80000000FFFF00007FFF80000000FFFF80007FFF800000007FFF80007FF -F800000007FFFC0007FFF800000007FFFC0007FFF800000003FFFE0007FFF800000003FF -FE0007FFF800000003FFFE0007FFF800000003FFFF0007FFF800000003FFFF0007FFF800 -000003FFFF0007FFF800000003FFFF0007FFF800000003FFFF0007FFF800000003FFFF00 -07FFF800000003FFFF0007FFF800000003FFFF0007FFF800000003FFFF0007FFF8000000 -03FFFE0007FFF800000003FFFE0007FFF800000003FFFE0007FFF800000007FFFC0007FF -F800000007FFFC0007FFF800000007FFF80007FFF80000000FFFF80007FFF80000000FFF -F00007FFF80000001FFFE00007FFF80000003FFFC00007FFF8000000FFFF800007FFF800 -0003FFFF000007FFF800001FFFFE000007FFFFFFFFFFFFF8000007FFFFFFFFFFFFF00000 -07FFFFFFFFFFFF80000007FFFFFFFFFFFE00000007FFFFFFFFFFE000000007FFFC000000 -0000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FF -FC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000 -000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC00 -00000000000007FFFC0000000000000007FFFC0000000000000007FFFC00000000000000 -07FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC000000 -0000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FF -FC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000 -000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC00 -0000000000FFFFFFFFFFE000000000FFFFFFFFFFE000000000FFFFFFFFFFE000000000FF -FFFFFFFFE000000000FFFFFFFFFFE000000000FFFFFFFFFFE00000000050527CD15C>80 -D<000000000FFFC00000000000000003FFFFFF000000000000001FFFFFFFE00000000000 -00FFFFFFFFFC000000000003FFFFFFFFFF00000000000FFFFC00FFFFC0000000003FFFC0 -000FFFF0000000007FFF000003FFF800000001FFFC000000FFFE00000003FFF80000007F -FF00000007FFE00000001FFF8000000FFFC00000000FFFC000001FFF8000000007FFE000 -003FFF0000000003FFF000007FFF0000000003FFF80000FFFE0000000001FFFC0000FFFC -0000000000FFFC0001FFFC0000000000FFFE0003FFF800000000007FFF0003FFF8000000 -00007FFF0007FFF000000000003FFF8007FFF000000000003FFF800FFFF000000000003F -FFC00FFFE000000000001FFFC01FFFE000000000001FFFE01FFFE000000000001FFFE01F -FFC000000000000FFFE03FFFC000000000000FFFF03FFFC000000000000FFFF03FFFC000 -000000000FFFF07FFFC000000000000FFFF87FFFC000000000000FFFF87FFF8000000000 -0007FFF87FFF80000000000007FFF87FFF80000000000007FFF8FFFF80000000000007FF -FCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF -80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF800000 -00000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF800000000000 -07FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFC -FFFF80000000000007FFFC7FFF80000000000007FFF87FFF80000000000007FFF87FFF80 -000000000007FFF87FFFC000000000000FFFF87FFFC000000000000FFFF83FFFC0000000 -00000FFFF03FFFC000000000000FFFF03FFFC000000000000FFFF01FFFE000000000001F -FFE01FFFE000000000001FFFE01FFFE000000000001FFFE00FFFE000000000001FFFC00F -FFF000000000003FFFC007FFF000000000003FFF8007FFF80001FE00007FFF8003FFF800 -07FF80007FFF0001FFFC001FFFE000FFFE0001FFFC003FFFF000FFFE0000FFFE007FFFF8 -01FFFC00007FFE00FF03FC01FFF800003FFF01FC00FE03FFF000001FFF81F8007F07FFE0 -00000FFFC1F8003F8FFFC0000007FFE1F0001F9FFF80000003FFF9F0001FFFFF00000001 -FFFDF8000FFFFE00000000FFFFF8000FFFFC000000003FFFFC000FFFF0000000000FFFFF -00FFFFC00000000003FFFFFFFFFF000000000000FFFFFFFFFC0000000000001FFFFFFFFE -00000C00000003FFFFFFFE00001E000000001FFFE3FF00001E00000000000001FF80003E -00000000000001FFC0003E00000000000001FFE0007E00000000000001FFF807FE000000 -00000001FFFFFFFE00000000000000FFFFFFFE00000000000000FFFFFFFC000000000000 -00FFFFFFFC000000000000007FFFFFFC000000000000007FFFFFFC000000000000007FFF -FFF8000000000000007FFFFFF8000000000000003FFFFFF8000000000000003FFFFFF000 -0000000000001FFFFFE0000000000000001FFFFFE0000000000000000FFFFFC000000000 -00000007FFFF800000000000000003FFFF000000000000000001FFFE0000000000000000 -007FF80000000000000000001FE000576A79D265>I<FFFFFFFFFFFFF00000000000FFFF -FFFFFFFFFF8000000000FFFFFFFFFFFFFFF800000000FFFFFFFFFFFFFFFF00000000FFFF -FFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFF00000000007FFF800007FFFF80000000007 -FFF800000FFFFE0000000007FFF8000003FFFF0000000007FFF8000000FFFF8000000007 -FFF80000007FFFC000000007FFF80000003FFFC000000007FFF80000001FFFE000000007 -FFF80000001FFFF000000007FFF80000001FFFF000000007FFF80000000FFFF800000007 -FFF80000000FFFF800000007FFF80000000FFFF800000007FFF80000000FFFFC00000007 -FFF80000000FFFFC00000007FFF80000000FFFFC00000007FFF80000000FFFFC00000007 -FFF80000000FFFFC00000007FFF80000000FFFFC00000007FFF80000000FFFFC00000007 -FFF80000000FFFFC00000007FFF80000000FFFF800000007FFF80000000FFFF800000007 -FFF80000000FFFF800000007FFF80000001FFFF000000007FFF80000001FFFE000000007 -FFF80000003FFFE000000007FFF80000003FFFC000000007FFF80000007FFF8000000007 -FFF8000000FFFF0000000007FFF8000003FFFE0000000007FFF800000FFFFC0000000007 -FFF80000FFFFF00000000007FFFFFFFFFFFFC00000000007FFFFFFFFFFFF000000000007 -FFFFFFFFFFF8000000000007FFFFFFFFFFF8000000000007FFFFFFFFFFFE000000000007 -FFF80003FFFF000000000007FFF80000FFFFC00000000007FFF800003FFFE00000000007 -FFF800001FFFF00000000007FFF800000FFFF80000000007FFF800000FFFFC0000000007 -FFF8000007FFFC0000000007FFF8000003FFFE0000000007FFF8000003FFFE0000000007 -FFF8000003FFFE0000000007FFF8000001FFFF0000000007FFF8000001FFFF0000000007 -FFF8000001FFFF0000000007FFF8000001FFFF0000000007FFF8000001FFFF0000000007 -FFF8000001FFFF0000000007FFF8000001FFFF0000000007FFF8000001FFFF0000000007 -FFF8000001FFFF8000000007FFF8000001FFFF8000000007FFF8000001FFFF8000000007 -FFF8000001FFFF8000000007FFF8000001FFFF8000000007FFF8000001FFFF8000000007 -FFF8000001FFFF8000000007FFF8000001FFFF80003C0007FFF8000001FFFFC0007E0007 -FFF8000001FFFFC0007E0007FFF8000001FFFFC0007E0007FFF8000000FFFFE000FE0007 -FFF8000000FFFFE000FE0007FFF80000007FFFF000FC0007FFF80000007FFFF001FCFFFF -FFFFFFC0003FFFF803FCFFFFFFFFFFC0001FFFFE0FF8FFFFFFFFFFC00007FFFFFFF0FFFF -FFFFFFC00003FFFFFFE0FFFFFFFFFFC00000FFFFFFC0FFFFFFFFFFC000001FFFFF000000 -00000000000000FFFC005F537CD164>I<00000FFF80000F000000FFFFF8001F000007FF -FFFF003F00001FFFFFFFC07F00003FFFFFFFF0FF0000FFFFFFFFF9FF0001FFFC00FFFFFF -0003FFE0000FFFFF0007FF800003FFFF0007FF000000FFFF000FFE0000003FFF001FFC00 -00001FFF001FF80000000FFF003FF800000007FF003FF800000003FF007FF000000001FF -007FF000000001FF007FF000000000FF00FFF000000000FF00FFF000000000FF00FFF000 -0000007F00FFF8000000007F00FFF8000000007F00FFFC000000003F00FFFC000000003F -00FFFE000000003F00FFFF000000003F00FFFF800000000000FFFFE000000000007FFFFC -00000000007FFFFFE0000000007FFFFFFE000000003FFFFFFFF00000003FFFFFFFFF0000 -001FFFFFFFFFE000001FFFFFFFFFFC00000FFFFFFFFFFE000007FFFFFFFFFF800003FFFF -FFFFFFC00003FFFFFFFFFFE00001FFFFFFFFFFF000007FFFFFFFFFF800003FFFFFFFFFFC -00001FFFFFFFFFFE000007FFFFFFFFFF000001FFFFFFFFFF0000007FFFFFFFFF80000007 -FFFFFFFFC00000003FFFFFFFC000000003FFFFFFC0000000001FFFFFE00000000001FFFF -E000000000007FFFE000000000001FFFF000000000000FFFF0000000000007FFF0000000 -000007FFF07C0000000003FFF0FC0000000001FFF0FC0000000001FFF0FC0000000001FF -F0FC0000000000FFF0FC0000000000FFF0FE0000000000FFF0FE0000000000FFE0FE0000 -000000FFE0FF0000000000FFE0FF0000000000FFE0FF8000000001FFC0FF8000000001FF -C0FFC000000001FF80FFE000000003FF80FFF800000003FF00FFFC00000007FF00FFFF00 -00000FFE00FFFFC000001FFC00FFFFF800007FF800FFFFFFC003FFF000FF9FFFFFFFFFE0 -00FF0FFFFFFFFFC000FE03FFFFFFFF0000FC007FFFFFFC0000F8000FFFFFF00000F00000 -7FFF0000003C5479D24B>I<FFFFFFFFFFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFC -FFFFFFFFFFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFC -FFFFFFFFFFE00007FFFFFFFC0007FFFC00000000007FC0000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F8000 -0007FFFC00000000007F80000007FFFC00000000007F80000003FFFC00000000007F0000 -0003FFFE00000000007F00000003FFFE0000000000FF00000001FFFE0000000000FF0000 -0001FFFE0000000001FE00000000FFFF0000000001FE00000000FFFF0000000003FC0000 -00007FFF8000000003FC000000007FFF8000000007F8000000003FFFC00000000FF80000 -00001FFFE00000001FF0000000000FFFF00000003FE00000000007FFF8000000FFC00000 -000003FFFC000003FF800000000001FFFF80000FFF0000000000007FFFF001FFFE000000 -0000003FFFFFFFFFF80000000000000FFFFFFFFFF000000000000003FFFFFFFFC0000000 -000000007FFFFFFF00000000000000000FFFFFF80000000000000000007FFF8000000000 -5E537CD167>85 D<FFFFFFFFFF0000003FFFFFFEFFFFFFFFFF0000003FFFFFFEFFFFFFFF -FF0000003FFFFFFEFFFFFFFFFF0000003FFFFFFEFFFFFFFFFF0000003FFFFFFEFFFFFFFF -FF0000003FFFFFFE001FFFF800000000001FF800000FFFF800000000000FE000000FFFFC -00000000001FE000000FFFFC00000000001FE0000007FFFE00000000001FC0000007FFFE -00000000003FC0000003FFFF00000000003F80000003FFFF00000000007F80000001FFFF -00000000007F00000001FFFF8000000000FF00000001FFFF8000000000FF00000000FFFF -C000000000FE00000000FFFFC000000001FE000000007FFFE000000001FC000000007FFF -E000000003FC000000003FFFE000000003F8000000003FFFF000000007F8000000003FFF -F000000007F8000000001FFFF800000007F0000000001FFFF80000000FF0000000000FFF -FC0000000FE0000000000FFFFC0000001FE00000000007FFFC0000001FC00000000007FF -FE0000003FC00000000007FFFE0000003FC00000000003FFFF0000003F800000000003FF -FF0000007F800000000001FFFF8000007F000000000001FFFF800000FF000000000001FF -FF800000FF000000000000FFFFC00001FE000000000000FFFFC00001FE0000000000007F -FFE00001FC0000000000007FFFE00003FC0000000000003FFFE00003F80000000000003F -FFF00007F80000000000003FFFF00007F80000000000001FFFF8000FF00000000000001F -FFF8000FF00000000000000FFFFC000FE00000000000000FFFFC001FE000000000000007 -FFFC001FC000000000000007FFFE003FC000000000000007FFFE003FC000000000000003 -FFFF003F8000000000000003FFFF007F8000000000000001FFFF807F0000000000000001 -FFFF80FF0000000000000000FFFF80FE0000000000000000FFFFC1FE0000000000000000 -FFFFC1FE00000000000000007FFFE1FC00000000000000007FFFE3FC0000000000000000 -3FFFF3F800000000000000003FFFF7F800000000000000001FFFF7F00000000000000000 -1FFFFFF000000000000000001FFFFFF000000000000000000FFFFFE00000000000000000 -0FFFFFE0000000000000000007FFFFC0000000000000000007FFFFC00000000000000000 -03FFFF80000000000000000003FFFF80000000000000000003FFFF800000000000000000 -01FFFF00000000000000000001FFFF00000000000000000000FFFE000000000000000000 -00FFFE000000000000000000007FFC000000000000000000007FFC000000000000000000 -007FFC000000000000000000003FF8000000000000000000003FF8000000000000000000 -001FF0000000000000000000001FF0000000000000000000000FE000000000005F537DD1 -66>I<FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFF -F0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FF -FFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0003FFF -F00000003FFFF0000000003FE000001FFFF00000001FFFF0000000001F8000001FFFF000 -00001FFFF8000000001F8000001FFFF80000001FFFF8000000003F8000000FFFF8000000 -0FFFF8000000003F0000000FFFFC0000000FFFFC000000003F0000000FFFFC00000007FF -FC000000007F00000007FFFC00000007FFFC000000007E00000007FFFE00000007FFFE00 -000000FE00000003FFFE00000003FFFE00000000FC00000003FFFE00000003FFFF000000 -00FC00000003FFFF00000003FFFF00000001FC00000001FFFF00000001FFFF00000001F8 -00000001FFFF80000003FFFF80000001F800000001FFFF80000003FFFF80000003F80000 -0000FFFF80000003FFFF80000003F000000000FFFFC0000007FFFFC0000007F000000000 -7FFFC0000007FFFFC0000007E0000000007FFFC0000007FFFFE0000007E0000000007FFF -E000000FFFFFE000000FE0000000003FFFE000000FFFFFE000000FC0000000003FFFF000 -001FFFFFF000000FC0000000003FFFF000001F9FFFF000001FC0000000001FFFF000001F -9FFFF000001F80000000001FFFF800003F9FFFF800003F80000000000FFFF800003F0FFF -F800003F00000000000FFFF800003F0FFFFC00003F00000000000FFFFC00007F0FFFFC00 -007F000000000007FFFC00007E07FFFC00007E000000000007FFFE0000FE07FFFE00007E -000000000007FFFE0000FE07FFFE0000FE000000000003FFFE0000FC03FFFE0000FC0000 -00000003FFFF0001FC03FFFF0001FC000000000003FFFF0001F801FFFF0001FC00000000 -0001FFFF0001F801FFFF8001F8000000000001FFFF8003F801FFFF8003F8000000000000 -FFFF8003F000FFFF8003F0000000000000FFFFC007F000FFFFC003F0000000000000FFFF -C007F000FFFFC007F00000000000007FFFC007E0007FFFC007E00000000000007FFFE00F -E0007FFFE00FE00000000000007FFFE00FC0003FFFE00FE00000000000003FFFE00FC000 -3FFFF00FC00000000000003FFFF01FC0003FFFF01FC00000000000001FFFF01F80001FFF -F01F800000000000001FFFF81F80001FFFF81F800000000000001FFFF83F80001FFFF83F -800000000000000FFFF83F00000FFFF83F000000000000000FFFFC7F00000FFFFC3F0000 -00000000000FFFFC7E000007FFFC7F0000000000000007FFFC7E000007FFFE7E00000000 -00000007FFFEFE000007FFFEFE0000000000000003FFFEFC000003FFFEFC000000000000 -0003FFFFFC000003FFFFFC0000000000000003FFFFFC000003FFFFFC0000000000000001 -FFFFF8000001FFFFF80000000000000001FFFFF8000001FFFFF80000000000000001FFFF -F0000000FFFFF80000000000000000FFFFF0000000FFFFF00000000000000000FFFFF000 -0000FFFFF000000000000000007FFFE00000007FFFE000000000000000007FFFE0000000 -7FFFE000000000000000007FFFE00000007FFFE000000000000000003FFFC00000003FFF -C000000000000000003FFFC00000003FFFC000000000000000003FFF800000001FFFC000 -000000000000001FFF800000001FFF8000000000000000001FFF800000001FFF80000000 -00000000000FFF000000000FFF0000000000000000000FFF000000000FFF000000000000 -0000000FFF000000000FFF00000000000000000007FE0000000007FE0000000000000000 -0007FE0000000007FE00000000000000000007FC0000000003FE00000000000000000003 -FC0000000003FC00000000000000000003FC0000000003FC00000000000000000001F800 -00000001F8000000000084537DD18B>I<00003FFF800000000007FFFFF8000000001FFF -FFFF000000007FFFFFFFC0000000FFFFFFFFE0000001FFE007FFF8000003FF8001FFFC00 -0007FFC0007FFE000007FFC0003FFF00000FFFE0003FFF00000FFFE0001FFF80000FFFE0 -000FFF80000FFFE0000FFFC0000FFFE0000FFFC0000FFFE00007FFE00007FFC00007FFE0 -0007FFC00007FFE00003FF800007FFE00000FE000007FFE0000000000007FFE000000000 -0007FFE0000000000007FFE0000000000007FFE00000000003FFFFE000000003FFFFFFE0 -0000003FFFFFFFE0000003FFFFFFFFE000000FFFFFFFFFE000007FFFFC07FFE00000FFFF -C007FFE00003FFFE0007FFE00007FFF80007FFE0000FFFE00007FFE0001FFFC00007FFE0 -003FFF800007FFE0003FFF000007FFE0007FFE000007FFE0007FFE000007FFE000FFFE00 -0007FFE000FFFC000007FFE000FFFC000007FFE000FFFC000007FFE000FFFC00000FFFE0 -00FFFC00000FFFE000FFFE00000FFFE0007FFE00001FFFE0007FFE00003FFFE0007FFF00 -007FFFF0003FFF8000FDFFFC001FFFC003F9FFFFE00FFFF81FF1FFFFF007FFFFFFE0FFFF -F001FFFFFFC07FFFF000FFFFFF001FFFF0001FFFFC0007FFE00001FFC0000000003C387C -B641>97 D<003FF8000000000000FFFFF8000000000000FFFFF8000000000000FFFFF800 -0000000000FFFFF8000000000000FFFFF8000000000000FFFFF800000000000003FFF800 -000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800 -000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800 -000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800 -000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800 -000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800 -000000000000FFF800000000000000FFF8007FF800000000FFF807FFFF80000000FFF83F -FFFFE0000000FFF8FFFFFFF8000000FFF9FFFFFFFE000000FFFFFF80FFFF000000FFFFF8 -001FFF800000FFFFE00007FFC00000FFFFC00003FFE00000FFFF000001FFF00000FFFE00 -0000FFF80000FFFC0000007FFC0000FFFC0000007FFC0000FFFC0000007FFE0000FFFC00 -00003FFE0000FFFC0000003FFF0000FFFC0000003FFF0000FFFC0000003FFF8000FFFC00 -00001FFF8000FFFC0000001FFF8000FFFC0000001FFF8000FFFC0000001FFFC000FFFC00 -00001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC00 -00001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC00 -00001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC00 -00001FFF8000FFFC0000001FFF8000FFFC0000001FFF8000FFFC0000003FFF0000FFFC00 -00003FFF0000FFFC0000003FFF0000FFFC0000003FFE0000FFFC0000007FFE0000FFFC00 -00007FFC0000FFFE000000FFF80000FFFF000000FFF80000FFFF000001FFF00000FFFFC0 -0003FFE00000FFFFE0000FFFC00000FFE7F8003FFF800000FFC3FF01FFFF000000FF81FF -FFFFFC000000FF00FFFFFFF0000000FE003FFFFFC0000000FC000FFFFF00000000000000 -FFF000000042547CD24B>I<000001FFF8000000001FFFFF80000000FFFFFFE0000003FF -FFFFF800000FFFFFFFFC00001FFFC01FFE00007FFE0007FF0000FFFC000FFF8001FFF000 -0FFF8003FFE0001FFFC003FFE0001FFFC007FFC0001FFFC00FFFC0001FFFC00FFF80001F -FFC01FFF80001FFFC01FFF00000FFF803FFF00000FFF803FFF000007FF007FFF000001FC -007FFE00000000007FFE00000000007FFE0000000000FFFE0000000000FFFE0000000000 -FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FF -FE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE -00000000007FFE00000000007FFF00000000007FFF00000000003FFF00000000003FFF00 -000000003FFF80000007E01FFF80000007E01FFFC000000FE00FFFC000000FC007FFE000 -001FC007FFE000001F8003FFF000003F8001FFF800007F0000FFFE0000FE00007FFF8003 -FC00003FFFF01FF800000FFFFFFFF0000003FFFFFFE0000000FFFFFF800000003FFFFE00 -00000001FFE0000033387CB63C>I<000000000001FFC0000000000007FFFFC000000000 -0007FFFFC0000000000007FFFFC0000000000007FFFFC0000000000007FFFFC000000000 -0007FFFFC00000000000001FFFC000000000000007FFC000000000000007FFC000000000 -000007FFC000000000000007FFC000000000000007FFC000000000000007FFC000000000 -000007FFC000000000000007FFC000000000000007FFC000000000000007FFC000000000 -000007FFC000000000000007FFC000000000000007FFC000000000000007FFC000000000 -000007FFC000000000000007FFC000000000000007FFC000000000000007FFC000000000 -000007FFC000000000000007FFC000000000000007FFC000000003FFC007FFC00000003F -FFFC07FFC0000001FFFFFF07FFC0000007FFFFFFC7FFC000000FFFFFFFF7FFC000003FFF -E03FFFFFC000007FFF0007FFFFC00000FFFC0001FFFFC00001FFF000007FFFC00003FFE0 -00003FFFC00007FFC000001FFFC00007FFC000000FFFC0000FFF8000000FFFC0001FFF80 -00000FFFC0001FFF0000000FFFC0003FFF0000000FFFC0003FFF0000000FFFC0003FFF00 -00000FFFC0007FFE0000000FFFC0007FFE0000000FFFC0007FFE0000000FFFC000FFFE00 -00000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE00 -00000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE00 -00000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE00 -00000FFFC0007FFE0000000FFFC0007FFE0000000FFFC0007FFE0000000FFFC0007FFF00 -00000FFFC0003FFF0000000FFFC0003FFF0000000FFFC0001FFF0000000FFFC0001FFF80 -00000FFFC0000FFF8000001FFFC0000FFF8000001FFFC00007FFC000003FFFC00003FFE0 -00007FFFC00001FFF00000FFFFC00000FFF80003FFFFF000007FFE000FFFFFFFC0003FFF -C07FFFFFFFC0001FFFFFFFCFFFFFC00007FFFFFF8FFFFFC00001FFFFFE0FFFFFC000007F -FFF80FFFFFC0000007FF800FFE000042547CD24B>I<000003FFC0000000003FFFFC0000 -0001FFFFFF00000007FFFFFFC000000FFFFFFFE000003FFF81FFF800007FFC007FFC0000 -FFF8001FFE0001FFF0000FFE0003FFE0000FFF0007FFC00007FF800FFFC00007FF800FFF -800003FFC01FFF800003FFC01FFF000001FFC03FFF000001FFE03FFF000001FFE07FFF00 -0001FFE07FFF000000FFE07FFE000000FFF07FFE000000FFF0FFFE000000FFF0FFFE0000 -00FFF0FFFE000000FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFF -FFF0FFFFFFFFFFFFE0FFFE0000000000FFFE0000000000FFFE0000000000FFFE00000000 -00FFFE0000000000FFFE00000000007FFE00000000007FFF00000000007FFF0000000000 -3FFF00000000003FFF00000000003FFF00000001E01FFF80000003F01FFF80000007F00F -FFC0000007F007FFC000000FE007FFE000000FE003FFF000001FC001FFF800003FC000FF -FC0000FF80007FFF0003FF00001FFFE01FFE00000FFFFFFFF8000003FFFFFFF0000000FF -FFFFC00000001FFFFE0000000001FFF0000034387CB63D>I<00003FFF0000FF000001FF -FFE007FF80000FFFFFFC3FFFC0003FFFFFFF7FFFE0007FFFFFFFFFFFF000FFF807FFFF3F -F001FFE001FFF87FF003FF80007FF03FF007FF80007FF83FF00FFF00003FFC3FE00FFF00 -003FFC1FC01FFF00003FFE07801FFE00001FFE00001FFE00001FFE00003FFE00001FFF00 -003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00 -001FFF00003FFE00001FFF00003FFE00001FFF00001FFE00001FFE00001FFE00001FFE00 -001FFF00003FFE00000FFF00003FFC00000FFF00003FFC000007FF80007FF8000003FF80 -007FF0000001FFE001FFE0000000FFF807FFC0000001FFFFFFFF80000003FFFFFFFF0000 -0003EFFFFFFC00000007E1FFFFE000000007C03FFF000000000FC00000000000000FC000 -00000000000FC00000000000000FE00000000000000FE00000000000000FF00000000000 -000FF80000000000000FFE0000000000000FFFFFFFFF0000000FFFFFFFFFF800000FFFFF -FFFFFF000007FFFFFFFFFFC00007FFFFFFFFFFE00003FFFFFFFFFFF00003FFFFFFFFFFF8 -0001FFFFFFFFFFFC0000FFFFFFFFFFFE0001FFFFFFFFFFFF0007FFFFFFFFFFFF000FFFFF -FFFFFFFF801FFE000003FFFF803FF80000003FFF807FF00000000FFFC07FF000000003FF -C0FFE000000003FFC0FFE000000001FFC0FFE000000001FFC0FFE000000001FFC0FFE000 -000001FFC0FFE000000001FFC0FFF000000003FFC07FF000000003FF807FF800000007FF -803FFC0000000FFF001FFE0000001FFE000FFF8000007FFC0007FFE00001FFF80003FFFE -001FFFF00001FFFFFFFFFFE000007FFFFFFFFF8000000FFFFFFFFC00000001FFFFFFE000 -0000000FFFFC0000003C4F7CB543>103 D<003F000000FFC00001FFE00003FFF00007FF -F8000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC0007FF -F80003FFF00001FFE00000FFC000003F0000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000001FF800FFFF -F800FFFFF800FFFFF800FFFFF800FFFFF800FFFFF80001FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF800FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C547BD326> -105 D<003FF80000000000FFFFF80000000000FFFFF80000000000FFFFF80000000000FF -FFF80000000000FFFFF80000000000FFFFF8000000000003FFF8000000000000FFF80000 -00000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000 -FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80000 -00000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000 -FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80000 -00000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80007FFFFF800 -FFF80007FFFFF800FFF80007FFFFF800FFF80007FFFFF800FFF80007FFFFF800FFF80007 -FFFFF800FFF800007FF00000FFF800007FE00000FFF80000FF800000FFF80001FF000000 -FFF80007FE000000FFF8000FFC000000FFF8001FF0000000FFF8003FE0000000FFF800FF -C0000000FFF801FF80000000FFF803FF00000000FFF807FC00000000FFF80FF800000000 -FFF83FF000000000FFF87FF000000000FFF8FFF800000000FFF9FFFC00000000FFFBFFFE -00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF80000000FFFFFFFFC0000000 -FFFF9FFFE0000000FFFF0FFFE0000000FFFE0FFFF0000000FFF807FFF8000000FFF803FF -FC000000FFF801FFFC000000FFF800FFFE000000FFF800FFFF000000FFF8007FFF800000 -FFF8003FFF800000FFF8001FFFC00000FFF8001FFFE00000FFF8000FFFF00000FFF80007 -FFF80000FFF80003FFF80000FFF80003FFFC0000FFF80001FFFE0000FFF80000FFFF0000 -FFF80000FFFF80FFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFFF807 -FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFFFF40537CD247>107 -D<001FF800FFFFF800FFFFF800FFFFF800FFFFF800FFFFF800FFFFF80001FFF80000FFF8 -0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8 -0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8 -0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8 -0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8 -0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8 -0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8 -0000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF8 -0000FFF80000FFF80000FFF80000FFF80000FFF800FFFFFFF8FFFFFFF8FFFFFFF8FFFFFF -F8FFFFFFF8FFFFFFF81D537BD226>I<003FF8001FFE000000FFF00000FFFFF800FFFFE0 -0007FFFF0000FFFFF803FFFFF8001FFFFFC000FFFFF80FFFFFFC007FFFFFE000FFFFF81F -FFFFFE00FFFFFFF000FFFFF83FE07FFF01FF03FFF800FFFFF87F001FFF83F800FFFC0003 -FFF8FC001FFF87E000FFFC0000FFF9F8000FFFCFC0007FFE0000FFFBE0000FFFDF00007F -FE0000FFFFE0000FFFFF00007FFE0000FFFFC00007FFFE00003FFF0000FFFF800007FFFC -00003FFF0000FFFF000007FFF800003FFF0000FFFF000007FFF800003FFF0000FFFF0000 -07FFF800003FFF0000FFFE000007FFF000003FFF0000FFFE000007FFF000003FFF0000FF -FE000007FFF000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF -0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000 -003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007 -FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC -000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF00 -00FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE00000 -3FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FF -E000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC00 -0007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000 -FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003F -FF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF00FFFFFFFC07FFFFFF -E03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07 -FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFF6836 -7BB571>I<003FF8001FFE000000FFFFF800FFFFC00000FFFFF803FFFFF00000FFFFF80F -FFFFF80000FFFFF81FFFFFFC0000FFFFF83FE0FFFE0000FFFFF87F003FFF000003FFF8FC -003FFF000000FFF9F0001FFF800000FFFBE0001FFF800000FFFFC0001FFF800000FFFFC0 -000FFFC00000FFFF80000FFFC00000FFFF00000FFFC00000FFFF00000FFFC00000FFFE00 -000FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC000FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC -0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC042367BB54B>I<000001FFE000 -000000001FFFFE0000000000FFFFFFC000000003FFFFFFF00000000FFFFFFFFC0000001F -FF807FFE0000007FFC000FFF800000FFF80007FFC00001FFE00001FFE00003FFC00000FF -F00003FFC00000FFF00007FF8000007FF8000FFF8000007FFC000FFF0000003FFC001FFF -0000003FFE001FFF0000003FFE003FFF0000003FFF003FFE0000001FFF003FFE0000001F -FF007FFE0000001FFF807FFE0000001FFF807FFE0000001FFF807FFE0000001FFF80FFFE -0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001F -FFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE -0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC07FFE0000001FFF807FFE0000001F -FF807FFE0000001FFF803FFE0000001FFF003FFF0000003FFF003FFF0000003FFF001FFF -0000003FFE001FFF0000003FFE000FFF8000007FFC000FFF8000007FFC0007FFC00000FF -F80003FFC00000FFF00001FFE00001FFE00000FFF80007FFC000007FFC000FFF8000003F -FF807FFF0000000FFFFFFFFC00000007FFFFFFF800000000FFFFFFC0000000003FFFFF00 -0000000001FFE00000003A387CB643>I<003FF8007FF8000000FFFFF807FFFF800000FF -FFF83FFFFFE00000FFFFF8FFFFFFF80000FFFFF9FFFFFFFE0000FFFFFFFF80FFFF0000FF -FFFFF8003FFF800001FFFFE0000FFFC00000FFFFC00007FFE00000FFFF000003FFF00000 -FFFE000001FFF80000FFFC000001FFFC0000FFFC000000FFFC0000FFFC000000FFFE0000 -FFFC0000007FFE0000FFFC0000007FFF0000FFFC0000007FFF0000FFFC0000003FFF8000 -FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000001FFFC000 -FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000 -FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000 -FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000 -FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF0000 -FFFC0000007FFF0000FFFC0000007FFF0000FFFC0000007FFE0000FFFC000000FFFE0000 -FFFC000000FFFC0000FFFE000001FFF80000FFFF000003FFF80000FFFF000007FFF00000 -FFFFC0000FFFE00000FFFFE0001FFFC00000FFFFF8007FFF800000FFFFFF01FFFF000000 -FFFDFFFFFFFC000000FFFCFFFFFFF0000000FFFC3FFFFFC0000000FFFC0FFFFF00000000 -FFFC00FFF000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000 -FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000 -FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000 -FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000 -FFFC000000000000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000FF -FFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000424D7CB54B>I<000001 -FFC00007C00000003FFFF8000FC0000000FFFFFE001FC0000003FFFFFF801FC000000FFF -FFFFC03FC000003FFFE03FE07FC000007FFF8007F07FC00000FFFE0003F8FFC00001FFFC -0001FDFFC00003FFF80000FFFFC00007FFF000007FFFC00007FFE000003FFFC0000FFFC0 -00003FFFC0001FFFC000001FFFC0001FFF8000001FFFC0003FFF8000000FFFC0003FFF80 -00000FFFC0003FFF00000007FFC0007FFF00000007FFC0007FFF00000007FFC0007FFF00 -000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00 -000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00 -000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00 -000007FFC000FFFE00000007FFC0007FFF00000007FFC0007FFF00000007FFC0007FFF00 -000007FFC0007FFF00000007FFC0003FFF80000007FFC0003FFF80000007FFC0001FFF80 -00000FFFC0001FFFC000001FFFC0000FFFC000001FFFC0000FFFE000003FFFC00007FFE0 -00007FFFC00003FFF00000FFFFC00001FFF80001FFFFC00000FFFC0003FFFFC000007FFF -000FFFFFC000003FFFC07FEFFFC000001FFFFFFFCFFFC0000007FFFFFF0FFFC0000001FF -FFFE0FFFC00000007FFFF00FFFC000000007FF800FFFC00000000000000FFFC000000000 -00000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000000 -00000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000000 -00000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000000 -00000FFFC00000000000000FFFC00000000000000FFFC000000000000FFFFFFFC0000000 -000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000 -000FFFFFFFC0424D7CB547>I<003FF007FC00FFFFF01FFF80FFFFF07FFFE0FFFFF0FFFF -F0FFFFF1FFFFF8FFFFF1FC7FFCFFFFF3F07FFC03FFF7E0FFFE00FFF7C0FFFE00FFFF80FF -FE00FFFF80FFFE00FFFF00FFFE00FFFF00FFFE00FFFE007FFC00FFFE007FFC00FFFE003F -F800FFFC000FE000FFFC00000000FFFC00000000FFFC00000000FFFC00000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF8000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE00 -00FFFFFFFE0000FFFFFFFE00002F367CB537>I<0003FFF00F00003FFFFE3F0000FFFFFF -FF0001FFFFFFFF0007FFFFFFFF000FFF003FFF001FF80007FF003FE00003FF003FC00000 -FF007FC00000FF007F8000007F007F8000007F00FF8000003F00FF8000003F00FFC00000 -3F00FFC000003F00FFE000003F00FFF800000000FFFF00000000FFFFF00000007FFFFFC0 -00007FFFFFFC00007FFFFFFF80003FFFFFFFE0001FFFFFFFF0000FFFFFFFF80007FFFFFF -FE0003FFFFFFFF0001FFFFFFFF80007FFFFFFF80001FFFFFFFC00007FFFFFFE000003FFF -FFE0000001FFFFE00000000FFFF000000003FFF07C000000FFF0FC0000007FF0FC000000 -3FF0FE0000003FF0FE0000001FF0FE0000001FF0FF0000001FF0FF0000001FE0FF800000 -1FE0FFC000003FE0FFE000003FC0FFF000007FC0FFF80000FF80FFFE0003FF00FFFFC01F -FE00FFFFFFFFFC00FF7FFFFFF800FE1FFFFFE000F807FFFF8000F000FFF800002C387CB6 -35>I<00007E00000000007E00000000007E00000000007E00000000007E00000000007E -0000000000FE0000000000FE0000000000FE0000000000FE0000000001FE0000000001FE -0000000001FE0000000003FE0000000003FE0000000007FE0000000007FE000000000FFE -000000001FFE000000003FFE000000007FFE00000000FFFE00000003FFFE0000000FFFFF -FFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE -000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE -000FC0003FFE001F80003FFF001F80003FFF003F80001FFF803F00001FFF807F00000FFF -E0FE000007FFFFFC000003FFFFF8000000FFFFF00000003FFFC000000007FF00002A4D7E -CB34>I<001FFC000001FFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000F -FFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC00003FFFC0000 -3FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -1FFFC00000FFFC00001FFFC00000FFFC00001FFFC00000FFFC00003FFFC00000FFFC0000 -3FFFC00000FFFC00007FFFC000007FFC0000FFFFC000007FFC0000FFFFC000003FFE0003 -F7FFF000003FFF0007E7FFFFC0001FFFC03FC7FFFFC0000FFFFFFF87FFFFC00007FFFFFF -07FFFFC00001FFFFFE07FFFFC000007FFFF807FFFFC0000007FFC007FF000042377BB54B ->I<7FFFFFF800FFFFFE007FFFFFF800FFFFFE007FFFFFF800FFFFFE007FFFFFF800FFFF -FE007FFFFFF800FFFFFE007FFFFFF800FFFFFE00003FFF80000FFC0000001FFFC0000FF0 -0000000FFFE0001FE00000000FFFE0003FC000000007FFF0007F8000000003FFF8007F00 -00000001FFFC00FF0000000000FFFE01FE0000000000FFFE03FC00000000007FFF07F800 -000000003FFF8FF000000000001FFFCFE000000000000FFFFFE000000000000FFFFFC000 -0000000007FFFF80000000000003FFFF00000000000001FFFE00000000000001FFFE0000 -0000000000FFFE000000000000007FFF000000000000003FFF800000000000001FFFC000 -00000000003FFFC00000000000007FFFE00000000000007FFFF0000000000000FFFFF800 -0000000001FFFFFC000000000003FDFFFC000000000007F8FFFE00000000000FF07FFF00 -000000000FE03FFF80000000001FE01FFFC0000000003FC01FFFC0000000007F800FFFE0 -00000000FF0007FFF000000001FE0003FFF800000003FC0001FFFC00000003F80001FFFC -00000007F80000FFFE0000000FF000007FFF0000003FF000003FFF8000FFFFFF0003FFFF -FFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFF -FFC0FFFFFF0003FFFFFFC042357EB447>120 D E /Ff 26 121 df<FFFFFFFFF0FFFFFF -FFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0240880A2 -2B>45 D<000001C00000000003C00000000007C0000000000FC0000000003FC000000000 -FFC000000003FFC00000000FFFC0000001FFFFC00000FFFFFFC00000FFFF7FC00000FFFC -7FC00000FFF07FC00000FE007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000000 -7FC0000000007FC0000000007FC0000000007FC000000000FFE000000007FFFC0000FFFF -FFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02B5E74DD42>49 -D<0F803FE07FF07FF0FFF8FFF8FFF8FFF8FFF87FF07FF03FE00F80000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000F803FE07FF07FF0FF -F8FFF8FFF8FFF8FFF87FF07FF03FE00F800D3E75BD24>58 D<00000000000F0000000000 -0000000000001F80000000000000000000001F80000000000000000000001F8000000000 -0000000000003FC0000000000000000000003FC0000000000000000000003FC000000000 -0000000000007FE0000000000000000000007FE0000000000000000000007FE000000000 -000000000000FFF000000000000000000000FFF000000000000000000000FFF000000000 -000000000001FFF800000000000000000001FFF800000000000000000003FFFC00000000 -000000000003CFFC00000000000000000003CFFC00000000000000000007CFFE00000000 -00000000000787FE0000000000000000000787FE0000000000000000000F87FF00000000 -00000000000F03FF0000000000000000000F03FF0000000000000000001F03FF80000000 -00000000001E01FF8000000000000000001E01FF8000000000000000003E01FFC0000000 -00000000003C00FFC000000000000000003C00FFC000000000000000007C00FFE0000000 -000000000078007FE0000000000000000078007FE00000000000000000F0007FF0000000 -0000000000F0003FF00000000000000000F0003FF00000000000000001E0003FF8000000 -0000000001E0001FF80000000000000001E0001FF80000000000000003C0000FFC000000 -0000000003C0000FFC0000000000000007C0000FFE0000000000000007800007FE000000 -0000000007800007FE000000000000000F800007FF000000000000000F000003FF000000 -000000000F000003FF000000000000001F000003FF800000000000001E000001FF800000 -000000001E000001FF800000000000003E000001FFC00000000000003C000000FFC00000 -000000003C000000FFC00000000000007C000000FFE0000000000000780000007FE00000 -00000000780000007FE0000000000000F00000007FF0000000000000F00000003FF00000 -00000000F00000003FF0000000000001E00000003FF8000000000001E00000001FF80000 -00000001E00000001FF8000000000003C00000001FFC000000000003FFFFFFFFFFFC0000 -00000007FFFFFFFFFFFE000000000007FFFFFFFFFFFE000000000007FFFFFFFFFFFE0000 -0000000FFFFFFFFFFFFF00000000000F0000000003FF00000000000F0000000003FF0000 -0000001F0000000003FF80000000001E0000000001FF80000000001E0000000001FF8000 -0000003E0000000001FFC0000000003C0000000000FFC0000000003C0000000000FFC000 -0000007C0000000000FFE0000000007800000000007FE0000000007800000000007FE000 -000000F000000000007FF000000000F000000000003FF000000000F000000000003FF000 -000001E000000000003FF800000001E000000000001FF800000001E000000000001FF800 -000003C000000000001FFC00000003C000000000000FFC00000007C000000000000FFE00 -00000780000000000007FE0000000780000000000007FE0000000F80000000000007FF00 -00001F80000000000003FF0000003FC0000000000003FF0000007FC0000000000003FF80 -0000FFF0000000000007FFC00007FFF800000000001FFFF000FFFFFF8000000007FFFFFF -F0FFFFFF8000000007FFFFFFF0FFFFFF8000000007FFFFFFF0FFFFFF8000000007FFFFFF -F0FFFFFF8000000007FFFFFFF05C657DE463>65 D<FFFFFFFFFFFFF000000000FFFFFFFF -FFFFFF00000000FFFFFFFFFFFFFFE0000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFF -FE000000007FFC000000FFFF800000003FF80000000FFFC00000001FF800000001FFF000 -00001FF8000000007FF80000001FF8000000001FFC0000001FF8000000000FFE0000001F -F80000000007FF0000001FF80000000001FF8000001FF80000000000FFC000001FF80000 -0000007FE000001FF800000000003FF000001FF800000000003FF000001FF80000000000 -1FF800001FF800000000000FFC00001FF8000000000007FC00001FF8000000000007FE00 -001FF8000000000003FF00001FF8000000000003FF00001FF8000000000001FF80001FF8 -000000000001FF80001FF8000000000000FFC0001FF8000000000000FFC0001FF8000000 -000000FFE0001FF80000000000007FE0001FF80000000000007FE0001FF8000000000000 -7FF0001FF80000000000007FF0001FF80000000000003FF0001FF80000000000003FF800 -1FF80000000000003FF8001FF80000000000003FF8001FF80000000000003FFC001FF800 -00000000001FFC001FF80000000000001FFC001FF80000000000001FFC001FF800000000 -00001FFC001FF80000000000001FFC001FF80000000000001FFE001FF80000000000001F -FE001FF80000000000001FFE001FF80000000000001FFE001FF80000000000001FFE001F -F80000000000001FFE001FF80000000000001FFE001FF80000000000001FFE001FF80000 -000000001FFE001FF80000000000001FFE001FF80000000000001FFE001FF80000000000 -001FFE001FF80000000000001FFE001FF80000000000001FFE001FF80000000000001FFE -001FF80000000000001FFC001FF80000000000001FFC001FF80000000000001FFC001FF8 -0000000000001FFC001FF80000000000001FFC001FF80000000000003FFC001FF8000000 -0000003FF8001FF80000000000003FF8001FF80000000000003FF8001FF8000000000000 -3FF8001FF80000000000007FF0001FF80000000000007FF0001FF80000000000007FE000 -1FF80000000000007FE0001FF8000000000000FFE0001FF8000000000000FFC0001FF800 -0000000000FFC0001FF8000000000001FF80001FF8000000000001FF80001FF800000000 -0003FF00001FF8000000000003FF00001FF8000000000007FE00001FF800000000000FFC -00001FF800000000000FFC00001FF800000000001FF800001FF800000000003FF000001F -F800000000007FE000001FF80000000000FFC000001FF80000000001FFC000001FF80000 -000003FF8000001FF80000000007FF0000001FF8000000001FFC0000001FF8000000007F -F80000001FF800000001FFF00000003FF80000000FFFC00000007FFC000000FFFF800000 -FFFFFFFFFFFFFFFE000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFE0000000FFFFFF -FFFFFFFF00000000FFFFFFFFFFFFF000000000576279E165>68 D<FFFFFFFFFFFFFFFFFF -80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFF -FFFFFFFF80007FFC00000003FFFF80003FF8000000003FFFC0001FF80000000007FFC000 -1FF80000000001FFC0001FF80000000000FFC0001FF800000000007FC0001FF800000000 -003FC0001FF800000000001FC0001FF800000000000FC0001FF800000000000FC0001FF8 -000000000007C0001FF8000000000007C0001FF8000000000007E0001FF8000000000003 -E0001FF8000000000003E0001FF8000000000003E0001FF8000000000001E0001FF80000 -00000001E0001FF8000000000001E0001FF8000000000001E0001FF8000000000001E000 -1FF8000000000001E0001FF8000000000001E0001FF8000000F00000F0001FF8000000F0 -0000F0001FF8000000F00000F0001FF8000000F00000F0001FF8000000F00000F0001FF8 -000000F0000000001FF8000000F0000000001FF8000000F0000000001FF8000001F00000 -00001FF8000001F0000000001FF8000001F0000000001FF8000001F0000000001FF80000 -03F0000000001FF8000007F0000000001FF800000FF0000000001FF800001FF000000000 -1FF80000FFF0000000001FFFFFFFFFF0000000001FFFFFFFFFF0000000001FFFFFFFFFF0 -000000001FFFFFFFFFF0000000001FFFFFFFFFF0000000001FF80000FFF0000000001FF8 -00001FF0000000001FF800000FF0000000001FF8000007F0000000001FF8000003F00000 -00001FF8000001F0000000001FF8000001F0000000001FF8000001F0000000001FF80000 -01F0000000001FF8000000F0000000001FF8000000F000001E001FF8000000F000001E00 -1FF8000000F000001E001FF8000000F000001E001FF8000000F000003C001FF8000000F0 -00003C001FF8000000F000003C001FF80000000000003C001FF80000000000003C001FF8 -0000000000003C001FF80000000000007C001FF800000000000078001FF8000000000000 -78001FF800000000000078001FF800000000000078001FF8000000000000F8001FF80000 -00000000F8001FF8000000000000F8001FF8000000000001F8001FF8000000000001F000 -1FF8000000000001F0001FF8000000000003F0001FF8000000000003F0001FF800000000 -0007F0001FF8000000000007F0001FF800000000000FF0001FF800000000001FF0001FF8 -00000000003FE0001FF800000000007FE0001FF80000000001FFE0001FF80000000007FF -E0003FF8000000003FFFE0007FFC00000007FFFFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFF -FFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC04F -6279E15A>I<0000000000FFF0000001C000000000000FFFFF000001C00000000000FFFF -FFE00003C00000000003FFFFFFF80003C0000000000FFFFFFFFE0007C0000000003FFFE0 -03FF0007C000000000FFFE00003FC00FC000000003FFF000000FE01FC000000007FFC000 -0003F01FC00000000FFF00000001F83FC00000003FFC000000007C3FC00000007FF80000 -00003E7FC0000000FFE0000000001FFFC0000001FFC0000000000FFFC0000003FF800000 -000007FFC0000007FF000000000007FFC000000FFE000000000003FFC000001FFC000000 -000001FFC000001FF8000000000001FFC000003FF8000000000000FFC000007FF0000000 -0000007FC00000FFE00000000000007FC00000FFE00000000000003FC00001FFC0000000 -0000003FC00001FFC00000000000001FC00003FF800000000000001FC00003FF80000000 -0000001FC00007FF000000000000000FC00007FF000000000000000FC0000FFE00000000 -0000000FC0000FFE0000000000000007C0001FFE0000000000000007C0001FFC00000000 -00000007C0001FFC0000000000000007C0003FFC0000000000000007C0003FFC00000000 -00000003C0003FF80000000000000003C0003FF80000000000000003C0007FF800000000 -00000003C0007FF8000000000000000000007FF8000000000000000000007FF800000000 -0000000000007FF000000000000000000000FFF000000000000000000000FFF000000000 -000000000000FFF000000000000000000000FFF000000000000000000000FFF000000000 -000000000000FFF000000000000000000000FFF000000000000000000000FFF000000000 -000000000000FFF000000000000000000000FFF000000000000000000000FFF000000000 -000000000000FFF000000000000000000000FFF000000000000000000000FFF000000000 -000000000000FFF000000000000000000000FFF0000000000000000000007FF000000000 -0000000000007FF8000000000000000000007FF80000000001FFFFFFFFE07FF800000000 -01FFFFFFFFE07FF80000000001FFFFFFFFE03FF80000000001FFFFFFFFE03FF800000000 -01FFFFFFFFE03FFC0000000000000FFFF0003FFC00000000000001FFE0001FFC00000000 -000000FFC0001FFE00000000000000FFC0001FFE00000000000000FFC0000FFE00000000 -000000FFC0000FFF00000000000000FFC00007FF00000000000000FFC00007FF00000000 -000000FFC00003FF80000000000000FFC00003FF80000000000000FFC00001FFC0000000 -000000FFC00001FFC0000000000000FFC00000FFE0000000000000FFC00000FFF0000000 -000000FFC000007FF0000000000000FFC000003FF8000000000000FFC000001FFC000000 -000000FFC000001FFE000000000000FFC000000FFE000000000000FFC0000007FF000000 -000001FFC0000003FF800000000001FFC0000001FFE00000000003FFC0000000FFF00000 -000003FFC00000007FF80000000007FFC00000003FFE000000000FBFC00000000FFF0000 -00001F9FC000000007FFC00000007F1FC000000003FFF8000001FE0FC000000000FFFF00 -0007F807C0000000003FFFF000FFF007C0000000000FFFFFFFFFC003C00000000003FFFF -FFFF0001C00000000000FFFFFFFC0000C000000000000FFFFFE0000000000000000000FF -FC00000000005B667AE368>71 D<FFFFFFFFFFFFC0000000FFFFFFFFFFFFFE000000FFFF -FFFFFFFFFFC00000FFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFFC0000007FFC000001FFFE -0000003FF80000001FFF8000001FF800000003FFC000001FF800000000FFE000001FF800 -0000007FF000001FF8000000003FF800001FF8000000001FFC00001FF8000000000FFE00 -001FF80000000007FF00001FF80000000003FF00001FF80000000003FF80001FF8000000 -0003FF80001FF80000000001FFC0001FF80000000001FFC0001FF80000000001FFE0001F -F80000000000FFE0001FF80000000000FFE0001FF80000000000FFF0001FF80000000000 -FFF0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FFF0001FF800 -00000000FFF0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FFF0 -001FF80000000000FFF0001FF80000000000FFE0001FF80000000001FFE0001FF8000000 -0001FFE0001FF80000000001FFC0001FF80000000001FFC0001FF80000000003FF80001F -F80000000003FF80001FF80000000003FF00001FF80000000007FE00001FF8000000000F -FE00001FF8000000001FFC00001FF8000000003FF800001FF8000000007FF000001FF800 -000000FFE000001FF800000003FF8000001FF80000001FFF0000001FF8000001FFFC0000 -001FFFFFFFFFFFF00000001FFFFFFFFFFFC00000001FFFFFFFFFFE000000001FFFFFFFFF -C0000000001FF800000000000000001FF800000000000000001FF800000000000000001F -F800000000000000001FF800000000000000001FF800000000000000001FF80000000000 -0000001FF800000000000000001FF800000000000000001FF800000000000000001FF800 -000000000000001FF800000000000000001FF800000000000000001FF800000000000000 -001FF800000000000000001FF800000000000000001FF800000000000000001FF8000000 -00000000001FF800000000000000001FF800000000000000001FF800000000000000001F -F800000000000000001FF800000000000000001FF800000000000000001FF80000000000 -0000001FF800000000000000001FF800000000000000001FF800000000000000001FF800 -000000000000001FF800000000000000001FF800000000000000001FF800000000000000 -001FF800000000000000001FF800000000000000001FF800000000000000001FF8000000 -00000000001FF800000000000000001FF800000000000000003FFC00000000000000007F -FE00000000000000FFFFFFFF000000000000FFFFFFFF000000000000FFFFFFFF00000000 -0000FFFFFFFF000000000000FFFFFFFF0000000000004C6279E15A>80 -D<3FFFFFFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFFFFFFF83FFF -FFFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFFFFFFF83FFFC00003FFC00007FFF83FFE000001 -FF8000007FF83FF0000001FF8000001FF87FE0000001FF8000000FFC7FC0000001FF8000 -0003FC7F80000001FF80000001FC7F00000001FF80000001FC7E00000001FF80000000FC -7E00000001FF80000000FC7E00000001FF800000007C7C00000001FF800000007C7C0000 -0001FF800000007C7C00000001FF800000007C7800000001FF800000003C7800000001FF -800000003C7800000001FF800000003C7800000001FF800000003C7800000001FF800000 -003C7800000001FF800000003C7800000001FF800000003CF800000001FF800000003EF0 -00000001FF800000001EF000000001FF800000001EF000000001FF800000001EF0000000 -01FF800000001EF000000001FF800000001EF000000001FF800000001EF000000001FF80 -0000001E0000000001FF80000000000000000001FF80000000000000000001FF80000000 -000000000001FF80000000000000000001FF80000000000000000001FF80000000000000 -000001FF80000000000000000001FF80000000000000000001FF80000000000000000001 -FF80000000000000000001FF80000000000000000001FF80000000000000000001FF8000 -0000000000000001FF80000000000000000001FF80000000000000000001FF8000000000 -0000000001FF80000000000000000001FF80000000000000000001FF8000000000000000 -0001FF80000000000000000001FF80000000000000000001FF80000000000000000001FF -80000000000000000001FF80000000000000000001FF80000000000000000001FF800000 -00000000000001FF80000000000000000001FF80000000000000000001FF800000000000 -00000001FF80000000000000000001FF80000000000000000001FF800000000000000000 -01FF80000000000000000001FF80000000000000000001FF80000000000000000001FF80 -000000000000000001FF80000000000000000001FF80000000000000000001FF80000000 -000000000001FF80000000000000000001FF80000000000000000001FF80000000000000 -000001FF80000000000000000001FF80000000000000000001FF80000000000000000001 -FF80000000000000000001FF80000000000000000001FF80000000000000000001FF8000 -0000000000000001FF80000000000000000001FF80000000000000000001FF8000000000 -0000000001FF80000000000000000001FF80000000000000000001FF8000000000000000 -0001FF80000000000000000001FF80000000000000000001FF80000000000000000003FF -C000000000000000000FFFF000000000000001FFFFFFFFFF800000000001FFFFFFFFFF80 -0000000001FFFFFFFFFF800000000001FFFFFFFFFF800000000001FFFFFFFFFF80000057 -627CE160>84 D<00001FF8000000000001FFFF000000000007FFFFE0000000001FE01FF8 -000000003F0003FC000000007C0001FF00000000F80000FF80000001F000007FC0000003 -E000003FE0000007C000001FF0000007C000001FF0000007F800000FF800000FFC00000F -F800000FFE000007FC00000FFE000007FC00000FFE000007FC00000FFE000003FE00000F -FE000003FE00000FFE000003FE000007FC000003FE000001F0000003FE00000000000003 -FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE000000 -00000003FE000000000003FFFE0000000000FFFFFE000000000FFFFFFE000000007FFF03 -FE00000003FFE003FE0000000FFF0003FE0000003FFC0003FE0000007FF00003FE000001 -FFC00003FE000003FF800003FE000007FF000003FE00000FFE000003FE00000FFC000003 -FE00001FF8000003FE00003FF8000003FE00003FF0000003FE00007FF0000003FE00F07F -E0000003FE00F07FE0000003FE00F0FFE0000003FE00F0FFC0000003FE00F0FFC0000003 -FE00F0FFC0000007FE00F0FFC0000007FE00F0FFC0000007FE00F0FFC000000FFE00F0FF -E000000FFE00F07FE000001FFE00F07FE000003DFE00F03FF0000038FE00E03FF8000078 -FF01E01FFC0000F0FF01E00FFE0003E07F83C007FF0007C07FC7C001FFC03F003FFF8000 -7FFFFC001FFF00001FFFF0000FFC000001FF800003F0003C417BBF42>97 -D<0003E000000000000007FFE0000000000000FFFFE0000000000000FFFFE00000000000 -00FFFFE0000000000000FFFFE0000000000000FFFFE000000000000001FFE00000000000 -00007FE0000000000000007FE0000000000000003FE0000000000000003FE00000000000 -00003FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000 -00003FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000 -00003FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000 -00003FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000 -00003FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000 -00003FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000 -00003FE0000000000000003FE0007FC0000000003FE007FFFC000000003FE01FFFFF0000 -00003FE07F007FC00000003FE1F8001FF00000003FE3E00007F80000003FE7C00003FC00 -00003FEF800001FE0000003FFE000000FF0000003FFE0000007F8000003FFC0000003FC0 -00003FF80000001FE000003FF00000001FE000003FF00000000FF000003FE00000000FF8 -00003FE000000007F800003FE000000007FC00003FE000000007FC00003FE000000003FE -00003FE000000003FE00003FE000000003FE00003FE000000003FF00003FE000000003FF -00003FE000000001FF00003FE000000001FF00003FE000000001FF80003FE000000001FF -80003FE000000001FF80003FE000000001FF80003FE000000001FF80003FE000000001FF -80003FE000000001FF80003FE000000001FF80003FE000000001FF80003FE000000001FF -80003FE000000001FF80003FE000000001FF80003FE000000001FF80003FE000000001FF -00003FE000000001FF00003FE000000003FF00003FE000000003FF00003FE000000003FF -00003FE000000003FE00003FE000000003FE00003FE000000007FC00003FE000000007FC -00003FE000000007FC00003FE00000000FF800003FE00000000FF000003FF00000001FF0 -00003FF00000001FE000003FF80000003FC000003FFC0000007FC000003FFC0000007F80 -00003F9E000000FF0000003F8F000001FE0000003F07800007FC0000003F03E0000FF000 -00003E01F0003FE00000003E00FE01FF800000003E003FFFFE000000003C000FFFF80000 -0000000000FF8000000041657DE349>I<000001FF80000000000FFFF8000000003FFFFE -00000000FF807F80000003FC000FE0000007F00003F000001FE00000F800003FC000007C -00007F8000003E0000FF0000001F0001FF0000001F0001FE000000FF0003FC000001FF80 -07FC000003FF8007F8000003FF800FF8000003FF800FF8000003FF801FF0000003FF801F -F0000003FF803FF0000001FF003FE00000007C003FE000000000007FE000000000007FE0 -00000000007FE000000000007FC00000000000FFC00000000000FFC00000000000FFC000 -00000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000 -000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0000000 -00007FC000000000007FE000000000007FE000000000007FE000000000007FE000000000 -003FE000000000003FF000000000003FF000000000001FF000000003C01FF800000003C0 -0FF800000007C00FFC000000078007FC000000078003FE0000000F8003FE0000000F0001 -FF0000001F0000FF8000003E00007FC000003C00003FE000007800001FF00000F000000F -F80003E0000003FE0007C0000000FF803F800000003FFFFE000000000FFFF80000000001 -FF80000032417CBF3A>I<0000000000003E000000000000007FFE0000000000000FFFFE -0000000000000FFFFE0000000000000FFFFE0000000000000FFFFE0000000000000FFFFE -000000000000001FFE0000000000000007FE0000000000000007FE0000000000000003FE -0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003FE -0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003FE -0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003FE -0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003FE -0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003FE -0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003FE -0000000000000003FE0000000000000003FE0000000000FFC003FE000000000FFFF803FE -000000003FFFFE03FE00000000FFC03F83FE00000003FE0007C3FE00000007F80001F3FE -0000001FE00000FBFE0000003FC000007FFE0000007F8000003FFE000000FF0000001FFE -000001FF0000000FFE000001FE0000000FFE000003FC00000007FE000007FC00000007FE -000007F800000003FE00000FF800000003FE00001FF000000003FE00001FF000000003FE -00001FF000000003FE00003FE000000003FE00003FE000000003FE00007FE000000003FE -00007FE000000003FE00007FE000000003FE00007FC000000003FE00007FC000000003FE -0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE -0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE -0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE -0000FFC000000003FE00007FC000000003FE00007FC000000003FE00007FE000000003FE -00007FE000000003FE00003FE000000003FE00003FE000000003FE00003FE000000003FE -00001FF000000003FE00001FF000000003FE00000FF000000003FE00000FF800000007FE -000007F800000007FE000003FC0000000FFE000003FC0000000FFE000001FE0000001FFE -000000FF0000003FFE0000007F8000007FFF0000003FC00000FBFF0000001FE00001F3FF -C000000FF00007E3FFFF800007FC000F83FFFF800001FF007F03FFFF8000007FFFFC03FF -FF8000001FFFF003FFFF80000001FF0003FE000041657CE349>I<000001FF0000000000 -1FFFF0000000007FFFFC00000001FF01FF00000003F8007FC000000FF0001FE000001FC0 -000FF000003F800007F800007F000007FC0000FF000003FC0001FE000001FE0003FC0000 -01FE0003FC000000FF0007F8000000FF000FF8000000FF800FF00000007F801FF0000000 -7F801FF00000007FC01FE00000007FC03FE00000003FC03FE00000003FC07FE00000003F -E07FE00000003FE07FE00000003FE07FC00000003FE07FC00000003FE0FFC00000003FE0 -FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFC00000000000FFC00000000000FF -C00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0 -0000000000FFC000000000007FC000000000007FE000000000007FE000000000007FE000 -000000003FE000000000003FE000000000003FF000000000001FF000000000001FF00000 -0001E00FF800000001E00FF800000003E007F800000003C007FC00000003C003FC000000 -07C001FE0000000F8000FF0000000F0000FF8000001F00007FC000003E00003FE000007C -00000FF00000F8000007F80001F0000003FE0007E0000000FFC03F800000003FFFFE0000 -000007FFF80000000000FFC0000033417DBF3A>I<0000000000003F80000003FC0001FF -E000003FFFC007FFF00000FFFFF01FC3F00003FE07FC7E03F80007F000FEF803F8000FE0 -007FF007F8001FC0003FE003F8003F80001FC003F0007F80001FE000E000FF00000FF000 -0000FF00000FF0000001FE000007F8000001FE000007F8000003FE000007FC000003FC00 -0003FC000003FC000003FC000007FC000003FE000007FC000003FE000007FC000003FE00 -0007FC000003FE000007FC000003FE000007FC000003FE000007FC000003FE000007FC00 -0003FE000007FC000003FE000007FC000003FE000003FC000003FC000003FC000003FC00 -0003FE000007FC000001FE000007F8000001FE000007F8000000FF00000FF0000000FF00 -000FF00000007F80001FE00000003F80001FC00000001FC0003F800000003FE0007F0000 -00007FF000FE000000007BFE07FC00000000F0FFFFF000000000F03FFFC000000001E003 -FC0000000001E000000000000001E000000000000001E000000000000001E00000000000 -0001E000000000000003E000000000000003F000000000000001F000000000000001F800 -000000000001F800000000000001FC00000000000001FF00000000000000FFFFFFFE0000 -0000FFFFFFFFF00000007FFFFFFFFE0000003FFFFFFFFF8000003FFFFFFFFFE000000FFF -FFFFFFF000001FFFFFFFFFFC00007FFFFFFFFFFE0001FF000001FFFE0003F80000001FFF -000FF000000003FF800FE000000001FF801FC000000000FFC03F80000000007FC07F8000 -0000003FC07F00000000001FE07F00000000001FE0FE00000000001FE0FE00000000000F -E0FE00000000000FE0FE00000000000FE0FE00000000000FE0FE00000000000FE0FE0000 -0000000FE07F00000000001FC07F00000000001FC07F80000000003FC03F80000000003F -801FC0000000007F001FE000000000FF000FF000000001FE0003FC00000007F80001FE00 -00000FF00000FF8000003FE000003FF00001FF8000000FFF001FFE00000001FFFFFFF000 -0000003FFFFF800000000003FFF80000003D5E7DBF42>103 D<003E000000FF800001FF -C00001FFC00003FFE00003FFE00003FFE00003FFE00003FFE00001FFC00001FFC00000FF -8000003E0000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000003E00007FFE0007FFFE0007FFFE0007FFFE0007FFFE0007FFF -E00001FFE000007FE000007FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000007FE00000FFF800FFFFFFF0FFFFFFF0FFFF -FFF0FFFFFFF0FFFFFFF01C5F7DDE24>105 D<0003E0003FF0000000FFC000000007FFE0 -01FFFE000007FFF8000000FFFFE00FFFFF80003FFFFE000000FFFFE01F807FE0007E01FF -800000FFFFE07C001FF001F0007FC00000FFFFE0F8000FF803E0003FE00000FFFFE1E000 -07FC0780001FF0000001FFE3C00003FE0F00000FF80000007FE7800003FE1E00000FF800 -00007FE7000001FF1C000007FC0000003FEF000001FF3C000007FC0000003FFE000001FF -78000007FC0000003FFC000001FF70000007FC0000003FFC000000FFF0000003FE000000 -3FF8000000FFE0000003FE0000003FF8000000FFE0000003FE0000003FF8000000FFE000 -0003FE0000003FF0000000FFC0000003FE0000003FF0000000FFC0000003FE0000003FF0 -000000FFC0000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003 -FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE00000 -00FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE00 -00003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF -80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE000000 -3FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF8000 -0003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0 -000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003 -FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE00000 -00FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE00 -00003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF -80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE000000 -3FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF8000 -0003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0 -000000FF80000003FE0000007FF0000001FFC0000007FF000000FFF8000003FFE000000F -FF8000FFFFFFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80FFFFFFF803 -FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF -80693F7DBE70>109 D<0003E0007FE000000007FFE003FFFC000000FFFFE00FFFFF0000 -00FFFFE03F80FFC00000FFFFE07C003FE00000FFFFE0F0001FF00000FFFFE1E0000FF800 -0001FFE3C00007FC0000007FE7800007FC0000007FEF000003FE0000003FEE000003FE00 -00003FFE000003FE0000003FFC000003FE0000003FFC000001FF0000003FF8000001FF00 -00003FF8000001FF0000003FF0000001FF0000003FF0000001FF0000003FF0000001FF00 -00003FF0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000007FF0000003FF800000FFF8000007FFC000FFFFFFF807FFFFFF -C0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFF -C0423F7DBE49>I<000000FFE0000000000007FFFC00000000003FFFFF8000000000FF80 -3FE000000001FC0007F000000007F00001FC0000000FE00000FE0000001FC000007F0000 -003F8000003F8000007F0000001FC00000FE0000000FE00001FC00000007F00003FC0000 -0007F80003F800000003F80007F800000003FC0007F000000001FC000FF000000001FE00 -1FF000000001FF001FE000000000FF001FE000000000FF003FE000000000FF803FE00000 -0000FF803FE000000000FF807FC0000000007FC07FC0000000007FC07FC0000000007FC0 -7FC0000000007FC0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC00000 -00007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0 -FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE07FC00000 -00007FC07FC0000000007FC07FC0000000007FC07FE000000000FFC03FE000000000FF80 -3FE000000000FF803FE000000000FF801FE000000000FF001FF000000001FF000FF00000 -0001FE000FF000000001FE0007F800000003FC0007F800000003FC0003FC00000007F800 -01FC00000007F00000FE0000000FE00000FF0000001FE000007F8000003FC000003FC000 -007F8000000FE00000FE00000007F80003FC00000003FE000FF800000000FF803FE00000 -00003FFFFF800000000007FFFC000000000000FFE00000003B417DBF42>I<0003E0007F -C000000007FFE007FFFC000000FFFFE01FFFFF000000FFFFE07F00FFC00000FFFFE1F800 -1FF00000FFFFE3E0000FF80000FFFFE7C00007FC000001FFEF800003FE0000007FFE0000 -01FF0000003FFE000000FF8000003FFC0000007FC000003FF80000007FE000003FF00000 -003FE000003FF00000001FF000003FE00000001FF800003FE00000000FF800003FE00000 -000FFC00003FE00000000FFC00003FE000000007FE00003FE000000007FE00003FE00000 -0007FE00003FE000000003FF00003FE000000003FF00003FE000000003FF00003FE00000 -0003FF00003FE000000003FF80003FE000000001FF80003FE000000001FF80003FE00000 -0001FF80003FE000000001FF80003FE000000001FF80003FE000000001FF80003FE00000 -0001FF80003FE000000001FF80003FE000000001FF80003FE000000001FF80003FE00000 -0001FF80003FE000000001FF80003FE000000003FF00003FE000000003FF00003FE00000 -0003FF00003FE000000003FF00003FE000000003FF00003FE000000007FE00003FE00000 -0007FE00003FE000000007FC00003FE00000000FFC00003FE00000000FFC00003FE00000 -001FF800003FE00000001FF000003FF00000003FF000003FF00000003FE000003FF80000 -007FC000003FFC000000FFC000003FFC000000FF8000003FFE000001FF0000003FEF0000 -03FE0000003FE7800007FC0000003FE3E0001FF00000003FE1F0003FE00000003FE0FE01 -FF800000003FE03FFFFE000000003FE00FFFF8000000003FE000FF80000000003FE00000 -00000000003FE0000000000000003FE0000000000000003FE0000000000000003FE00000 -00000000003FE0000000000000003FE0000000000000003FE0000000000000003FE00000 -00000000003FE0000000000000003FE0000000000000003FE0000000000000003FE00000 -00000000003FE0000000000000003FE0000000000000003FE0000000000000003FE00000 -00000000003FE0000000000000003FE0000000000000003FE0000000000000007FF00000 -0000000000FFF8000000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF800 -00000000FFFFFFF80000000000FFFFFFF80000000000415B7DBE49>I<0003C001FC0007 -FFC007FF80FFFFC01FFFC0FFFFC07E07E0FFFFC0F81FF0FFFFC1F01FF8FFFFC3C03FF801 -FFC3803FF8007FC7803FF8007FCF003FF8003FCE003FF8003FDE001FF0003FDC000FE000 -3FDC000380003FFC000000003FF8000000003FF8000000003FF8000000003FF000000000 -3FF0000000003FF0000000003FF0000000003FF0000000003FE0000000003FE000000000 -3FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000000 -3FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000000 -3FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000000 -3FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000000 -3FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000000 -3FE0000000007FF000000000FFFC000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FF -FFFFFE0000FFFFFFFE00002D3F7DBE33>114 D<0000FFE00380000FFFFC0380003FFFFF -078000FF001FCF8003F80007FF8007E00001FF800F800000FF801F8000007F803F000000 -3F803E0000003F807E0000001F807C0000001F807C0000000F80FC0000000F80FC000000 -0F80FC0000000F80FE0000000780FE0000000780FE0000000780FF0000000780FF800000 -07807FC0000007807FF0000000007FFC000000003FFF800000003FFFFC0000001FFFFFE0 -00000FFFFFFE000007FFFFFF800003FFFFFFE00000FFFFFFF800003FFFFFFC00000FFFFF -FE000003FFFFFF0000001FFFFF80000000FFFFC00000000FFFE000000001FFE000000000 -7FF0F00000003FF0F00000001FF0F00000000FF8F800000007F8F800000007F8F8000000 -03F8F800000003F8FC00000001F8FC00000001F8FC00000001F8FE00000001F8FE000000 -01F8FE00000001F0FF00000003F0FF00000003F0FF80000003E0FFC0000007E0FFC00000 -07C0FFE000000F80FFF000001F80FCFC00007F00F83E0000FC00F81FC00FF800F007FFFF -E000E001FFFF0000E0003FF800002D417DBF34>I<000078000000000078000000000078 -0000000000780000000000780000000000780000000000780000000000F80000000000F8 -0000000000F80000000000F80000000000F80000000000F80000000001F80000000001F8 -0000000001F80000000003F80000000003F80000000007F80000000007F8000000000FF8 -000000000FF8000000001FF8000000003FF8000000007FF800000000FFF800000003FFFF -FFFF000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00000FF8000000000FF8 -000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8 -000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8 -000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8 -000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8 -000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8 -0001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF8 -0001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF8 -0001E0000FF80001E00007F80003C00007FC0003C00007FC0003C00007FC0007C00003FE -0007800003FE0007800001FF000F000000FF801E0000007FC03E0000003FE07C0000000F -FFF800000003FFE0000000007F80002B597FD733>I<0003E00000001F000007FFE00000 -3FFF0000FFFFE00007FFFF0000FFFFE00007FFFF0000FFFFE00007FFFF0000FFFFE00007 -FFFF0000FFFFE00007FFFF000001FFE000000FFF0000007FE0000003FF0000007FE00000 -03FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -01FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -01FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -01FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -01FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -01FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -01FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -01FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -01FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE00000 -03FF0000003FE0000003FF0000003FE0000003FF0000003FE0000003FF0000003FE00000 -07FF0000003FE0000007FF0000001FE000000FFF0000001FE000000FFF0000001FF00000 -1FFF0000001FF000001DFF0000000FF000003DFF8000000FF8000079FF80000007F80000 -F1FFE0000003FC0001E1FFFFC00001FE0007C1FFFFC00000FFC01F81FFFFC000003FFFFE -01FFFFC000000FFFF801FFFFC0000000FFC001FF000042407DBE49>I<FFFFFFC03FFFFF -E001FFFFF8FFFFFFC03FFFFFE001FFFFF8FFFFFFC03FFFFFE001FFFFF8FFFFFFC03FFFFF -E001FFFFF8FFFFFFC03FFFFFE001FFFFF801FFF80000FFFC00003FFF8000FFE000003FF0 -00000FFE00007FE000003FF0000007F800007FE000001FF0000003F800003FE000001FF0 -000003F000003FE000000FF0000003E000003FF000000FF8000003E000001FF000000FF8 -000003C000001FF000000FF8000003C000001FF800000FFC000007C000000FF800001FFC -0000078000000FF800001FFC0000078000000FFC00001FFE00000F80000007FC00003FFE -00000F00000007FC00003DFE00000F00000007FE00003DFF00001F00000003FE00007DFF -00001E00000003FE000078FF00001E00000003FF000078FF80003E00000001FF0000F8FF -80003C00000001FF0000F07F80003C00000001FF8000F07FC0007C00000000FF8001F07F -C0007800000000FF8001E03FC0007800000000FFC001E03FE000F8000000007FC003E03F -E000F0000000007FC003C01FE000F0000000007FE003C01FF001F0000000003FE007C01F -F001E0000000003FE007800FF001E0000000003FF007800FF803E0000000001FF00F800F -F803C0000000001FF00F0007F803C0000000001FF80F0007FC07C0000000000FF81F0007 -FC0780000000000FF81E0003FC0780000000000FFC1E0003FE0F800000000007FC3E0003 -FE0F000000000007FC3C0001FE0F000000000007FE3C0001FF1F000000000003FE7C0001 -FF1E000000000003FE780000FF1E000000000003FF780000FFBE000000000001FFF80000 -FFBC000000000001FFF000007FBC000000000001FFF000007FFC000000000000FFF00000 -7FF8000000000000FFE000003FF8000000000000FFE000003FF80000000000007FE00000 -3FF00000000000007FC000001FF00000000000007FC000001FF00000000000003FC00000 -1FE00000000000003F8000000FE00000000000003F8000000FE00000000000001F800000 -0FC00000000000001F00000007C00000000000000F00000007800000005D3F7FBD60> -119 D<7FFFFFE0001FFFFFE07FFFFFE0001FFFFFE07FFFFFE0001FFFFFE07FFFFFE0001F -FFFFE07FFFFFE0001FFFFFE0007FFF800007FFFC00001FFF000003FFC000000FFE000003 -FF00000007FE000003FC00000003FF000003F800000001FF800003F000000001FFC00007 -E000000000FFC00007C0000000007FE0000F80000000003FF0001F00000000003FF0001F -00000000001FF8003E00000000000FFC007C000000000007FE00F8000000000007FE00F8 -000000000003FF01F0000000000001FF83E0000000000000FFC7C0000000000000FFC7C0 -0000000000007FEF800000000000003FFF000000000000001FFE000000000000001FFE00 -0000000000000FFC0000000000000007FE0000000000000007FF0000000000000003FF00 -00000000000003FF8000000000000007FFC00000000000000FFFC00000000000001F7FE0 -0000000000001F3FF00000000000003E1FF80000000000007C1FF8000000000000F80FFC -000000000000F807FE000000000001F003FF000000000003E003FF000000000007C001FF -800000000007C000FFC0000000000F80007FE0000000001F00007FE0000000003E00003F -F0000000003E00001FF8000000007C00001FFC00000000F800000FFC00000001F8000007 -FE00000003F8000003FF0000000FF8000003FF8000001FF8000003FF8000007FF8000003 -FFE00007FFFC000007FFF800FFFFFE00001FFFFFF8FFFFFE00001FFFFFF8FFFFFE00001F -FFFFF8FFFFFE00001FFFFFF8FFFFFE00001FFFFFF8453E80BD46>I -E end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%PaperSize: A4 - -%%EndSetup -%%Page: 1 1 -1 0 bop 523 880 a Ff(Programming)40 b(Exercise)j(1:)58 -b(A)l(ttribute)44 b(Grammars)1208 1063 y(and)g(T)-11 -b(op-Do)l(wn)44 b(P)l(arsing)440 1661 y Fe(1)135 b(In)l(tro)t(duction) -440 1843 y Fd(Although)40 b(not)i(as)f(\015exible)e(as)i(b)r(ottom-up)f -(parsers,)j(top-do)n(wn)e(parsers)e(can)i(easily)440 -1942 y(b)r(e)d(implemen)n(ted)c(b)n(y)j(hand,)j(and)d(as)g(suc)n(h)g -(they)h(ma)n(y)d(b)r(e)j(more)e(con)n(v)n(enien)n(t)f(than)j(a)440 -2042 y(b)r(ottom-up)24 b(parsers.)34 b(In)25 b(this)f(exercise)f(y)n -(ou)h(will)e(sp)r(ecify)i(a)h(language)d(of)j(mathematical)440 -2142 y(expressions)k(using)h(an)i(attribute)f(grammar,)e(and)i(then)i -(write)d(a)h(top-do)n(wn)g(parser)f(to)440 2241 y(calculate)25 -b(the)j(v)-5 b(alue)26 b(of)i(expressions)d(in)i(the)h(language.)565 -2341 y(The)20 b(language)e(consists)g(of)j(n)n(um)n(b)r(ers,)f(sym)n(b) -r(olic)d(constan)n(ts,)k(single-argumen)n(t)15 b(func-)440 -2441 y(tions,)22 b(one)h(unary)e(and)i(\014v)n(e)f(binary)f(op)r -(erators.)33 b(A)23 b(grammar)c(for)j(the)h(language)d(is)h(giv)n(en) -440 2540 y(b)r(elo)n(w,)27 b(but)i(this)e(grammar)e(is)i(not)h -(suitable)e(for)i(implemen)n(tation)23 b(using)k(a)g(top-do)r(o)n(wn) -440 2640 y(tec)n(hnique)g(since)f(it)h(is)g(am)n(biguous)d(and)j(con)n -(tains)f(left)h(recursion.)440 2823 y Fc(S)43 b(->)g(E)g(<end)f(of)h -(line>)e(S)261 b(Single)42 b(expression)527 2922 y(|)87 -b(<end)42 b(of)h(file>)433 b(No)43 b(more)f(input)440 -3022 y(E)h(->)g(E)g(+)g(E)784 b(Addition)527 3121 y(|)87 -b(E)43 b(-)g(E)784 b(Subtraction)527 3221 y(|)87 b(E)43 -b(*)g(E)784 b(Multiplication)527 3321 y(|)87 b(E)43 b(/)g(E)784 -b(Division)527 3420 y(|)87 b(E)43 b(^)g(E)784 b(Exponentiation)527 -3520 y(|)87 b(-)43 b(E)871 b(Unary)42 b(minus)527 3620 -y(|)87 b(\()43 b(E)g(\))784 b(Grouping)527 3719 y(|)87 -b(id)43 b(\()g(E)g(\))653 b(Function)41 b(call)527 3819 -y(|)87 b(id)914 b(Symbolic)41 b(constant)527 3918 y(|)87 -b(num)870 b(Numeric)41 b(value)440 4193 y Fe(2)135 b(Requiremen)l(ts) -440 4375 y Fd(Rewrite)35 b(the)h(grammar)c(in)j(the)h(previous)e -(section)h(so)g(that)h(the)g(precedence)g(and)f(as-)440 -4474 y(so)r(ciativit)n(y)30 b(of)j(all)f(op)r(erators)g(b)r(ecomes)g -(ob)n(vious.)53 b(Y)-7 b(our)33 b(grammar)d(ma)n(y)i(con)n(tain)g(left) -440 4574 y(recursion.)66 b(The)38 b(op)r(erator)f(precedence)g(is)g -(unary)h(negation)e(b)r(efore)i(exp)r(onen)n(tiation)440 -4674 y(b)r(efore)31 b(m)n(ultiplication)25 b(and)31 b(division,)e(b)r -(efore)i(addition)e(and)j(subtraction.)46 b(Addition,)440 -4773 y(subtraction,)25 b(m)n(ultiplication)c(and)27 b(division)c(are)j -(left)g(asso)r(ciateiv)n(e.)33 b(Exp)r(onen)n(tiation)23 -b(is)440 4873 y(righ)n(t-asso)r(ciativ)n(e.)565 4973 -y(Eliminate)d(left)k(recursion)f(from)g(y)n(our)g(grammar)e(and)k -(revise)d(it)j(so)f(it)g(is)f(suitable)g(for)440 5072 -y(implemen)n(tation)16 b(in)k(a)g(predictiv)n(e)e(top-do)n(wn)i -(parser.)33 b(Add)21 b(attributes)f(to)g(the)h(grammar)440 -5172 y(that)28 b(sp)r(ecify)f(the)h(seman)n(tics)d(of)i(the)h -(language.)565 5271 y(Implemen)n(t)35 b(y)n(our)h(attribute)h(grammar)c -(in)k(a)g(C++)g(class)e(named)i Fc(Parser)p Fd(.)64 b(The)440 -5371 y(P)n(arser)32 b(class)g(should)h(con)n(tain)g(a)g(metho)r(d)h -(named)f Fc(Parse)g Fd(that)h(returns)g(the)g(v)-5 b(alue)33 -b(of)1851 5662 y(1)p eop -%%Page: 2 2 -2 1 bop 440 531 a Fd(a)38 b(single)e(statemen)n(t)i(in)f(the)i -(language.)67 b(Y)-7 b(our)38 b(in)n(terpreter)f(should)g(understand)h -(the)440 631 y(follo)n(wing)24 b(sym)n(b)r(olic)g(constan)n(ts)i(and)i -(functions:)440 790 y Fc(pi)435 b(3.14159265)440 890 -y(e)479 b(2.71828183)440 989 y(ln\(\))347 b(Natural)41 -b(logarithm)440 1089 y(log\(\))303 b(Base)42 b(10)h(logarithm)440 -1189 y(exp\(\))303 b(Powers)41 b(of)i(e)440 1288 y(sin\(\))303 -b(Sine)440 1388 y(cos\(\))g(Cosine)440 1487 y(tan\(\))g(Tangent)440 -1587 y(arcsin\(\))171 b(Arc)42 b(sine)440 1687 y(arccos\(\))171 -b(Arc)42 b(cosine)440 1786 y(arctan\(\))171 b(Arc)42 -b(tangent)440 1945 y Fd(All)d(the)i(functions)f(are)g(a)n(v)-5 -b(ailable)36 b(in)k(the)h(standard)f(math)g(library)-7 -b(.)72 b(See)41 b(the)g(Unix)440 2045 y(man)n(ual)25 -b(pages)h(for)h(details.)565 2145 y(Implemen)n(t)18 b(error)i(reco)n(v) -n(ery)e(in)j(y)n(our)f(parser.)33 b(The)22 b(simplest)c(form)i(of)i -(error)d(reco)n(v)n(ery)440 2244 y(is)35 b(to)h(scan)f(tok)n(ens)h(to)g -(the)g(end)g(of)g(a)g(line)e(and)i(then)h(resume)d(parsing.)60 -b(F)-7 b(eel)36 b(free)f(to)440 2344 y(implemen)n(t)24 -b(a)j(smarter)f(error)f(reco)n(v)n(ery)g(strategy)-7 -b(.)440 2543 y Fb(Hand)32 b(in)f(the)h(follo)m(wing:)565 -2702 y Fa(\017)41 b Fd(The)f(grammars)c(pro)r(duced)41 -b(in)f(eac)n(h)f(step.)76 b(There)40 b(should)f(b)r(e)i(one)g(with)f -(left)648 2802 y(recursion)25 b(and)i(one)g(with)g(attributes)g(that)h -(is)e(free)i(of)f(left)g(recursion.)565 2965 y Fa(\017)41 -b Fd(Prin)n(touts)25 b(of)j(all)d(the)j(\014les)e(y)n(ou)h(mo)r -(di\014ed)f(or)h(created.)565 3127 y Fa(\017)41 b Fd(Answ)n(ers)26 -b(to)i(the)g(questions)e(in)h(the)g(next)h(section.)565 -3290 y Fa(\017)41 b Fd(T)-7 b(est)27 b(data)h(that)g(sho)n(w)f(that)h -(the)g(program)d(w)n(orks)h(as)i(sp)r(eci\014ed.)36 b(Be)28 -b(sure)f(to)h(test)648 3389 y(error)22 b(reco)n(v)n(ery)-7 -b(,)22 b(b)r(oth)i(from)f(parser)f(and)i(scanner)f(errors.)33 -b(Be)24 b(sure)f(to)h(c)n(hec)n(k)f(that)648 3489 y(error)35 -b(reco)n(v)n(ery)g(do)r(es)j(not)g(in)n(terfere)e(with)h(the)h(next)g -(input)f(line.)66 b(Chec)n(k)37 b(that)648 3589 y(precedence)27 -b(and)g(asso)r(ciativit)n(y)c(rules)j(are)h(follo)n(w)n(ed.)440 -3862 y Fe(3)135 b(Questions)440 4044 y Fb(Question)46 -b(1)83 b Fd(De\014ne)42 b(a)f(regular)e(expression)g(for)i(n)n(umeric)d -(constan)n(ts.)78 b(It)42 b(should)440 4143 y(allo)n(w)26 -b(in)n(tegers,)i(n)n(um)n(b)r(ers)g(with)h(a)g(fractional)d(part)j(and) -g(n)n(um)n(b)r(ers)f(with)h(an)g(exp)r(onen)n(t.)440 -4243 y(A)22 b(n)n(um)n(b)r(er)f(con)n(taining)e(a)i(decimal)e(p)r(oin)n -(t)i(m)n(ust)g(ha)n(v)n(e)g(at)g(least)g(one)g(digit)f(b)r(efore)i(or)f -(after)440 4342 y(the)k(decimal)d(p)r(oin)n(t)i(\(or)h(b)r(oth\).)36 -b(The)25 b(exp)r(onen)n(t)g(ma)n(y)e(ha)n(v)n(e)h(a)h(sign,)f(plus)g -(or)g(min)n(us,)g(and)440 4442 y(is)i(alw)n(a)n(ys)f(an)i(in)n(teger.) -440 4616 y Fc(Allowed)1087 b(Not)42 b(Allowed)440 4716 -y(1234)1219 b(A123)440 4815 y(3.14)g(.)440 4915 y(.112)g(112.a)440 -5015 y(112.)g(1E2.3)440 5114 y(12.34)1175 b(2.3e3.)440 -5214 y(34E-23)1131 b(23E)42 b(54)440 5313 y(34.E+3)440 -5413 y(2.2e5)1851 5662 y Fd(2)p eop -%%Page: 3 3 -3 2 bop 440 531 a Fb(Question)31 b(2)83 b Fd(Construct)28 -b(a)g(DF)-9 b(A)29 b(that)g(accepts)e(the)i(same)e(language)f(as)h(the) -i(regular)440 631 y(expression)e(y)n(ou)h(de\014ned)h(in)f(the)i -(previous)d(question.)39 b(Suggest)28 b(ho)n(w)h(to)g(implemen)n(ta)c -(a)440 731 y(scanner)i(based)g(on)g(y)n(our)f(DF)-9 b(A.)440 -1005 y Fe(4)135 b(Supp)t(orting)43 b(Programs)440 1187 -y Fd(The)35 b(\014les)g Fc(lab1.cc)d Fd(and)k Fc(lab1.hh)c -Fd(con)n(tain)i(a)h(sk)n(eleton)f(for)g(the)i(parser)e(class)g(and)h(a) -440 1287 y(class)d(called)g Fc(Trace)g Fd(that)i(can)g(b)r(e)g(used)g -(to)g(trace)f(in)n(v)n(o)r(cation)e(of)j(functions.)55 -b(See)34 b(the)440 1386 y Fc(Parser)28 b Fd(metho)r(d)i(for)f(an)h -(example)e(of)i(ho)n(w)g(to)g(use)g(it.)45 b(Ob)5 b(jects)29 -b(of)i(the)f(class)f(prin)n(t)g(an)440 1486 y(en)n(try)e(message)e -(when)j(created)f(and)g(an)h(exit)e(message)f(when)j(destro)n(y)n(ed.) -565 1585 y(The)33 b(\014les)g Fc(lex.cc)e Fd(and)j Fc(lex.hh)d -Fd(con)n(tain)h(a)i(scanner)e(class.)54 b(T)-7 b(o)33 -b(use)h(it)f(create)g(an)440 1685 y(ob)5 b(ject)21 b(of)f(t)n(yp)r(e)h -Fc(Scanner)d Fd(and)j(call)d(its)i Fc(Scan)f Fd(metho)r(d)i(to)f(get)h -(a)f(tok)n(en.)34 b(T)-7 b(ok)n(ens)20 b(returned)440 -1785 y(are)30 b(of)h(t)n(yp)r(e)g Fc(Token)p Fd(.)44 -b(See)31 b(the)g(commen)n(ts)e(in)h Fc(lex.hh)e Fd(for)j(a)f -(description)e(of)j(ho)n(w)f(they)440 1884 y(w)n(ork.)565 -1984 y(The)24 b(\014le)f Fc(main.cc)f Fd(con)n(tains)g(a)i(sample)e -(main)h(program.)32 b(Y)-7 b(ou)25 b(ma)n(y)d(ha)n(v)n(e)i(to)g(mo)r -(dify)440 2084 y(it)j(dep)r(ending)g(on)g(ho)n(w)g(y)n(ou)g(c)n(ho)r -(ose)f(to)i(rep)r(ort)f(errors)e(from)h(y)n(our)h(parser.)565 -2183 y(If)18 b(the)h(scanner)e(encoun)n(ters)h(an)g(error)e(it)i(will)e -(thro)n(w)h(an)h(ob)5 b(ject)18 b(of)h(t)n(yp)r(e)f Fc(ScannerError)p -Fd(.)440 2283 y(Y)-7 b(our)37 b(main)e(pro)r(ogram)f(should)i(catc)n(h) -h(this)f(exception)g(\(the)i(sample)d(main)g(program)440 -2383 y(do)r(es\),)21 b(prin)n(t)c(an)i(error)e(message)g(\(y)n(ou)h -(can)h(prin)n(t)e(a)i Fc(ScannerError)14 b Fd(ob)5 b(ject)19 -b(using)e(stream)440 2482 y(op)r(erators\))26 b(and)h(then)h(p)r -(erform)f(error)e(reco)n(v)n(ery)-7 b(.)440 2757 y Fe(5)135 -b(Extra)45 b(Credit)g(W)-11 b(ork:)60 b(User-De\014ned)45 -b(V)-11 b(ariables)440 2939 y Fd(Implemen)n(t)30 b(user-de\014ned)h(v) --5 b(ariables)29 b(according)g(to)j(the)g(follo)n(wing)c(grammar)g(\(E) -k(is)f(as)440 3038 y(b)r(efore\):)440 3204 y Fc(S)305 -b(->)86 b(Assign)41 b(|)i(E)440 3304 y(Assign)85 b(->)h(id)43 -b(':=')f(E)565 3470 y Fd(After)20 b(an)g(assignmen)n(t,)f(a)h(v)-5 -b(ariable)17 b(m)n(ust)j(b)r(e)g(usable)f(in)h(the)h(same)d(w)n(a)n(y)h -(as)h(a)g(sym)n(b)r(olic)440 3569 y(constan)n(t)j(in)g(the)h(basic)e -(exercise.)33 b(The)23 b(prede\014ned)h(constan)n(ts)e(should)h(b)r(e)h -(implemen)n(ted)440 3669 y(in)30 b(the)i(same)d(w)n(a)n(y)h(as)g -(user-de\014ned)h(v)-5 b(ariables,)28 b(but)k(m)n(ust)e(not)h(b)r(e)h -(c)n(hangeable)c(b)n(y)j(the)440 3769 y(user.)565 3868 -y(The)20 b(scanner)f(is)h(already)e(capable)g(of)j(recognizing)16 -b(an)k(assigmen)n(t)e(op)r(erator,)i(so)g(there)440 3968 -y(should)26 b(b)r(e)i(no)g(need)f(to)h(mo)r(dify)e(it.)565 -4068 y(T)-7 b(o)31 b(receiv)n(e)f(credit)h(for)h(this)f(assignmen)n(t)e -(y)n(ou)j(m)n(ust)f(implemen)n(t)e(a)i(reasonably)e(ef-)440 -4167 y(\014cien)n(t)k(sym)n(b)r(ol)f(table.)55 b(Lo)r(okup,)35 -b(insertion)d(and)i(deletion)e(should)h(b)r(e)h(constan)n(t)g(time)440 -4267 y(op)r(erations.)g(Solutions)23 b(with)i(a)h(simple)d(link)n(ed)g -(list)h(and)i(linear)c(searc)n(h)j(are)f(not)i(accept-)440 -4366 y(able.)440 4566 y(Hand)i(in)f(y)n(our)f(revised)g(grammars,)d -(implemen)n(tations)g(and)k(test)h(sets.)440 4840 y Fe(6)135 -b(Extra)45 b(Credit)g(W)-11 b(ork:)60 b(User-De\014ned)45 -b(F)-11 b(unctions)440 5022 y Fd(Implemen)n(t)25 b(user-de\014ned)i -(functions)g(according)e(to)i(the)h(examples)d(b)r(elo)n(w:)440 -5188 y Fc(Expression:)39 b(f\(x\))j(:=)h(sin\(x\))e(*)i(sin\(x\))440 -5288 y(Expression:)c(f\(1\))440 5387 y(Result:)215 b(0.70807342)1851 -5662 y Fd(3)p eop -%%Page: 4 4 -4 3 bop 440 531 a Fc(Expression:)39 b(g\(x,y\))i(:=)i(sin\(x\))e(*)i -(cos\(y\))440 631 y(Expression:)c(g\(1,2\))440 731 y(Result:)215 -b(-0.35017549)565 897 y Fd(T)-7 b(o)26 b(do)g(this)g(y)n(ou)g(will)d -(ha)n(v)n(e)j(to)g(revise)f(the)i(grammar)22 b(to)27 -b(allo)n(w)c(function)j(de\014nitions)440 996 y(and)20 -b(calls)d(to)j(functions)f(with)h(more)e(than)i(one)g(argumen)n(t.)32 -b(Y)-7 b(ou)20 b(will)d(also)h(need)i(a)g(sym)n(b)r(ol)440 -1096 y(table)27 b(that)g(ful\014lls)f(the)i(requiremen)n(ts)c(of)k(the) -g(previous)d(extra)i(credit)f(exercise.)565 1196 y(The)e(prede\014ned)g -(functions)f(are)g(to)h(b)r(e)h(implemen)n(ted)20 b(using)j(the)i(same) -d(mec)n(hanisms)440 1295 y(as)27 b(user-de\014ned)g(functions,)g(but)h -(the)g(user)f(is)f(not)i(allo)n(w)n(ed)c(to)k(rede\014ned)f(them.)440 -1494 y(Hand)h(in)f(y)n(our)f(revised)g(grammars,)d(implemen)n(tations)g -(and)k(test)h(sets.)1851 5662 y(4)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/doc/old_not_used_instructions/lab2.pdf b/doc/old_not_used_instructions/lab2.pdf deleted file mode 100755 index ad397bfe1e3ee03fe95ffa8a38e07c1e2e36027d..0000000000000000000000000000000000000000 Binary files a/doc/old_not_used_instructions/lab2.pdf and /dev/null differ diff --git a/doc/old_not_used_instructions/lab2.ps b/doc/old_not_used_instructions/lab2.ps deleted file mode 100644 index 5110b4a6fd168856fb4743f63e390c4a3886e645..0000000000000000000000000000000000000000 --- a/doc/old_not_used_instructions/lab2.ps +++ /dev/null @@ -1,2219 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software -%%Title: lab2.dvi -%%Pages: 3 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentPaperSizes: A4 -%%EndComments -%DVIPSCommandLine: dvips -o lab2.ps lab2.dvi -%DVIPSParameters: dpi=600, comments removed -%DVIPSSource: TeX output 1998.01.18:1155 -%%BeginProcSet: tex.pro -/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N -/X{S N}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{dup dup 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 /IE 0 N /ctr 0 N /df-tail{ -/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N -string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N -end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ -/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] -N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup -length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ -128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub -get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data -dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N -/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup -/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx -0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff -setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff -.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} -if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup -length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ -cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin -0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup 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 -/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for -65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 -0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V -{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 -getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} -ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false -RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 -false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform -round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg -rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail -{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} -B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ -4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ -p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p -a}B /bos{/SS save N}B /eos{SS restore}B end -%%EndProcSet -TeXDict begin 39158280 55380996 1000 600 600 (lab2.dvi) -@start /Fa 1 16 df<000FE000007FFC0000FFFE0003FFFF8007FFFFC00FFFFFE01FFF -FFF03FFFFFF83FFFFFF87FFFFFFC7FFFFFFC7FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFF -FFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFF83FFF -FFF81FFFFFF00FFFFFE007FFFFC003FFFF8000FFFE00007FFC00000FE0001F207BA42A> -15 D E /Fb 31 122 df<000001FFC00000003FFFF8000001FFFFFC000007FFFFFE0000 -1FFF00FF00003FF800FF8000FFE001FF8000FFC003FF8001FF8003FF8003FF8003FF8003 -FF0007FFC003FF0003FF8003FF0003FF8003FF0003FF8003FF0001FF0003FF00007C0003 -FF0000000003FF0000000003FF0000000003FF0000000003FF003FFFC0FFFFFFFFFFC0FF -FFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF30 -3A7EB935>12 D<FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FF -FFFF80FFFFFF8019097F9620>45 D<07801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7F -F83FF01FE007800E0E7A8D1B>I<00003C00000000FC00000001FC0000000FFC0000007F -FC0000FFFFFC0000FFFFFC0000FFFFFC0000FFFFFC0000FF9FFC0000001FFC0000001FFC -0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC00 -00001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000 -001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC000000 -1FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001F -FC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC -0000001FFC0000001FFC00007FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF -80213779B630>49 D<000FFC0000007FFFC00001FFFFF00007FFFFFC000FFFFFFE001FC0 -7FFF803F801FFF807FE007FFC07FF007FFE0FFF003FFF0FFF801FFF0FFF801FFF0FFF800 -FFF8FFF800FFF8FFF800FFF87FF000FFF87FF000FFF83FE000FFF80F8000FFF8000000FF -F8000000FFF0000001FFF0000001FFF0000001FFE0000003FFC0000003FFC0000007FF80 -00000FFF0000000FFE0000001FF80000003FF00000007FE0000000FF80000000FF000000 -01FE00000003F800000007F000F8000FE000F8001FC000F8003F8000F8007E0001F800FC -0001F001F80001F003F00003F003FFFFFFF007FFFFFFF00FFFFFFFF01FFFFFFFF03FFFFF -FFF07FFFFFFFF0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE025377BB6 -30>I<07801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE007800000000000 -0000000000000000000000000007801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83F -F01FE007800E257AA41B>58 D<FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFF -FFFFFFFFC0FFFFFFFFFFFFC0007FFC0007FFE0007FFC0000FFE0007FFC00003FE0007FFC -00001FE0007FFC00000FE0007FFC000007E0007FFC000007E0007FFC000007E0007FFC00 -0003E0007FFC000003E0007FFC000003E0007FFC007C03F0007FFC007C01F0007FFC007C -01F0007FFC007C01F0007FFC007C01F0007FFC007C0000007FFC00FC0000007FFC00FC00 -00007FFC01FC0000007FFC07FC0000007FFFFFFC0000007FFFFFFC0000007FFFFFFC0000 -007FFFFFFC0000007FFFFFFC0000007FFC07FC0000007FFC01FC0000007FFC00FC000000 -7FFC00FC0000007FFC007C0000007FFC007C0000007FFC007C0000007FFC007C0000007F -FC007C0000007FFC007C0000007FFC00000000007FFC00000000007FFC00000000007FFC -00000000007FFC00000000007FFC00000000007FFC00000000007FFC00000000007FFC00 -000000007FFC00000000007FFC00000000FFFFFFFF800000FFFFFFFF800000FFFFFFFF80 -0000FFFFFFFF800000FFFFFFFF80000034397DB83C>70 D<FFFFFFFE07FFFFFFF0FFFFFF -FE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFF -FFFFFFFFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFF -FFFFFFFFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC -000003FFE000007FFC000003FFE000007FFC000003FFE000FFFFFFFE07FFFFFFF0FFFFFF -FE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF044397D -B84B>72 D<FFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE007FFC00007FFC00007FFC -00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC -00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC -00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC -00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC -00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00007FFC00FFFFFF -FEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE1F397EB824>I<000000FFF800000000000FFF -FF80000000007FFFFFF000000001FFFFFFFC00000007FFE03FFF0000001FFF0007FFC000 -003FFC0001FFE000007FF80000FFF00000FFF000007FF80001FFE000003FFC0003FFC000 -001FFE0007FF8000000FFF0007FF8000000FFF000FFF00000007FF800FFF00000007FF80 -1FFF00000007FFC01FFE00000003FFC03FFE00000003FFE03FFE00000003FFE03FFE0000 -0003FFE07FFE00000003FFF07FFC00000001FFF07FFC00000001FFF07FFC00000001FFF0 -FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC0000 -0001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8 -FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF87FFC00000001FFF07FFC0000 -0001FFF07FFC00000001FFF07FFE00000003FFF03FFE00000003FFE03FFE00000003FFE0 -3FFE00000003FFE01FFF00000007FFC01FFF00000007FFC00FFF001FC007FF8007FF807F -F00FFF0007FF80FFF80FFF0003FFC1FFFC1FFE0001FFE3F07E3FFC0000FFF3E01F7FF800 -007FFBC00FFFF000003FFFC00FFFE000001FFFE007FFC0000007FFF03FFF00000001FFFF -FFFC000000007FFFFFF8000800000FFFFFFC001C000000FFFBFE001C0000000001FF807C -0000000001FFFFFC0000000001FFFFFC0000000000FFFFFC0000000000FFFFF800000000 -00FFFFF800000000007FFFF800000000007FFFF000000000007FFFF000000000003FFFE0 -00000000003FFFE000000000001FFFC000000000000FFF80000000000007FF0000000000 -0001FC003E4A7BB948>81 D<003FFE00000003FFFFE000000FFFFFF800001FFFFFFE0000 -3FF007FF00003FF803FF80003FF801FFC0003FF800FFC0003FF800FFE0003FF8007FE000 -1FF0007FE0000FE0007FE0000380007FE0000000007FE0000000007FE0000000FFFFE000 -000FFFFFE00000FFFFFFE00003FFFC7FE0000FFFC07FE0001FFE007FE0003FFC007FE000 -7FF8007FE0007FF0007FE000FFF0007FE000FFE0007FE000FFE0007FE000FFE0007FE000 -FFE000FFE000FFF000FFE0007FF001FFE0007FF803FFF0003FFC0FFFFFC01FFFFF3FFFC0 -07FFFE1FFFC003FFF80FFFC0007FC003FFC02A257DA42E>97 D<00FF00000000FFFF0000 -0000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF0000000003FF0000 -000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000 -000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000 -000003FF0000000003FF00FF800003FF0FFFF80003FF3FFFFE0003FFFFFFFF0003FFFE03 -FFC003FFF000FFE003FFC0007FE003FF80007FF003FF00003FF803FF00003FF803FF0000 -3FFC03FF00001FFC03FF00001FFC03FF00001FFE03FF00001FFE03FF00001FFE03FF0000 -1FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF0000 -1FFE03FF00001FFC03FF00001FFC03FF00001FFC03FF00003FFC03FF00003FF803FF8000 -3FF803FF80007FF003FFE000FFE003FFF001FFC003FDFC07FF8003F8FFFFFF0003F83FFF -FC0003F00FFFF00003E001FF00002F3A7EB935>I<000000007F800000007FFF80000000 -7FFF800000007FFF800000007FFF800000007FFF8000000003FF8000000001FF80000000 -01FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF80000000 -01FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF80000000 -01FF800003FF01FF80001FFFF1FF80007FFFFDFF8001FFFFFFFF8003FFC07FFF8007FF00 -0FFF800FFE0007FF801FFC0003FF803FF80001FF803FF80001FF807FF80001FF807FF000 -01FF807FF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF000 -01FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF000 -01FF807FF00001FF807FF00001FF807FF80001FF803FF80001FF803FF80003FF801FFC00 -07FF800FFC000FFF8007FE001FFFC003FF80FFFFFE01FFFFFFFFFE007FFFF9FFFE001FFF -C1FFFE0003FE01FFFE2F3A7DB935>100 D<0003FF8000001FFFF000007FFFFC0001FFFF -FE0003FF83FF8007FE00FF800FFC007FC01FFC003FE01FF8003FE03FF8001FF03FF8001F -F07FF0001FF07FF0001FF87FF0000FF8FFF0000FF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8 -FFFFFFFFF8FFF0000000FFF0000000FFF0000000FFF00000007FF00000007FF00000007F -F80000003FF80000003FF80000F81FFC0000F80FFC0001F80FFE0003F007FF8007E001FF -F03FE000FFFFFF80007FFFFF00000FFFFC000001FFE00025257DA42C>I<00000FF80000 -00FFFE000007FFFF00001FFFFF80003FF8FF80007FE1FFC000FFC1FFC001FF81FFC001FF -81FFC003FF81FFC003FF00FF8003FF00FF8003FF003E0003FF00000003FF00000003FF00 -000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFF0000FFFFFF00 -00FFFFFF0000FFFFFF0000FFFFFF000003FF00000003FF00000003FF00000003FF000000 -03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003 -FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF -00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00 -000003FF000000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE0000223A7DB9 -1D>I<000000003F000007FE00FF80007FFFE3FFC001FFFFFFFFE003FFFFFFDFE00FFE07 -FF1FE01FF801FF9FE01FF801FF9FE03FF000FFCFC03FF000FFC7807FF000FFE0007FF000 -FFE0007FF000FFE0007FF000FFE0007FF000FFE0007FF000FFE0007FF000FFE0003FF000 -FFC0003FF000FFC0001FF801FF80001FF801FF80000FFE07FF000007FFFFFC00000FFFFF -F800000F7FFFE000001F07FE0000001F00000000001F00000000001F00000000001F8000 -0000001FC0000000001FFFFFF800001FFFFFFF80001FFFFFFFE0000FFFFFFFF8000FFFFF -FFFC0007FFFFFFFE0003FFFFFFFE000FFFFFFFFF003FFFFFFFFF007FC0000FFF807F8000 -01FF80FF000000FF80FF0000007F80FF0000007F80FF0000007F80FF800000FF807F8000 -00FF007FC00001FF003FF00007FE001FFE003FFC0007FFFFFFF00001FFFFFFC000007FFF -FF00000007FFF000002B377DA530>I<00FF00000000FFFF00000000FFFF00000000FFFF -00000000FFFF00000000FFFF0000000007FF0000000003FF0000000003FF0000000003FF -0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF -0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF -007FC00003FF03FFF80003FF0FFFFE0003FF1FFFFF0003FF3F03FF8003FF7801FF8003FF -F001FF8003FFE000FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FFC003FF -0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF -0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF -0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF -0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFF -FC3FFFFF303A7DB935>I<01F80003FC0007FE000FFF001FFF801FFF801FFF801FFF801F -FF801FFF800FFF0007FE0003FC0001F80000000000000000000000000000000000000000 -000000000000FF007FFF007FFF007FFF007FFF007FFF0007FF0003FF0003FF0003FF0003 -FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 -FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFF8FFFFF8FF -FFF8FFFFF8FFFFF8153B7DBA1B>I<00FF00FFFF00FFFF00FFFF00FFFF00FFFF0007FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFFCFFFFFC -FFFFFCFFFFFCFFFFFC163A7DB91B>108 D<00FE007FE0000FFC0000FFFE01FFFC003FFF -8000FFFE07FFFF00FFFFE000FFFE1FFFFF83FFFFF000FFFE3F03FF87E07FF000FFFE7C01 -FFCF803FF80007FEF000FFDE001FF80003FFE0007FFC000FFC0003FFC0007FF8000FFC00 -03FFC0007FF8000FFC0003FF80007FF0000FFC0003FF80007FF0000FFC0003FF00007FE0 -000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF -00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000F -FC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF0000 -7FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00 -03FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0 -000FFC0003FF00007FE0000FFC00FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFF -FC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF04C257DA451>I<00 -FE007FC000FFFE03FFF800FFFE0FFFFE00FFFE1FFFFF00FFFE3F03FF80FFFE7801FF8007 -FEF001FF8003FFE000FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFF -FFFC3FFFFF30257DA435>I<0001FFC00000000FFFF80000007FFFFF000000FFFFFF8000 -03FF80FFE00007FE003FF0000FFC001FF8001FF8000FFC001FF8000FFC003FF00007FE00 -3FF00007FE007FF00007FF007FF00007FF007FF00007FF00FFF00007FF80FFF00007FF80 -FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80 -FFF00007FF807FF00007FF007FF00007FF007FF00007FF003FF00007FE003FF8000FFE00 -1FF8000FFC001FF8000FFC000FFC001FF80007FE003FF00003FF80FFE00001FFFFFFC000 -007FFFFF0000001FFFFC00000001FFC0000029257DA430>I<00FF00FF8000FFFF0FFFF8 -00FFFF3FFFFE00FFFFFFFFFF00FFFFFE07FFC0FFFFF001FFE003FFC000FFE003FF8000FF -F003FF00007FF803FF00007FF803FF00003FFC03FF00003FFC03FF00003FFC03FF00001F -FE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001F -FE03FF00001FFE03FF00001FFE03FF00001FFE03FF00003FFC03FF00003FFC03FF00003F -FC03FF00003FFC03FF00007FF803FF80007FF803FF8000FFF003FFE001FFE003FFF003FF -C003FFFC0FFF8003FFFFFFFF0003FF3FFFFC0003FF0FFFF00003FF01FF000003FF000000 -0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000 -0003FF0000000003FF0000000003FF0000000003FF00000000FFFFFC000000FFFFFC0000 -00FFFFFC000000FFFFFC000000FFFFFC0000002F357EA435>I<00FE07F000FFFE1FFC00 -FFFE3FFF00FFFE7FFF80FFFEF8FF80FFFFF1FFC007FFE1FFC003FFC1FFC003FFC1FFC003 -FF81FFC003FF80FF8003FF807F0003FF801C0003FF00000003FF00000003FF00000003FF -00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00 -000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF0000 -0003FF000000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE000022257EA427 ->114 D<003FF03803FFFEF80FFFFFF81FFFFFF83FC00FF87F0003F87F0001F8FE0001F8 -FE0000F8FE0000F8FF0000F8FF800000FFF80000FFFFE0007FFFFC007FFFFF003FFFFFC0 -1FFFFFF00FFFFFF803FFFFF800FFFFFC001FFFFC00007FFE000007FEF80003FEF80001FE -FC0000FEFC0000FEFE0000FEFE0000FCFF0001FCFF8003F8FFF00FF8FFFFFFF0FFFFFFC0 -F8FFFF00E01FF8001F257DA426>I<001F0000001F0000001F0000001F0000001F000000 -3F0000003F0000003F0000003F0000007F0000007F000000FF000000FF000001FF000003 -FF000007FF00001FFFFFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE003FF000003FF000003 -FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003 -FF000003FF000003FF000003FF000003FF000003FF000003FF00F803FF00F803FF00F803 -FF00F803FF00F803FF00F803FF00F803FF00F803FF81F801FF81F001FFC3E000FFFFE000 -7FFFC0001FFF000003FC001D357EB425>I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0 -FFFF003FFFC0FFFF003FFFC0FFFF003FFFC007FF0001FFC003FF0000FFC003FF0000FFC0 -03FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0 -03FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0 -03FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0 -03FF0001FFC003FF0001FFC003FF0003FFC003FF0007FFC001FF800FFFE001FFC03FFFFF -00FFFFFCFFFF007FFFF8FFFF001FFFE0FFFF0003FF00FFFF30257DA435>I<FFFFF003FF -F8FFFFF003FFF8FFFFF003FFF8FFFFF003FFF8FFFFF003FFF803FF00003E0003FF80007E -0001FF80007C0001FFC000FC0000FFC000F80000FFE001F800007FE001F000007FE001F0 -00007FF003F000003FF003E000003FF807E000001FF807C000001FFC0FC000000FFC0F80 -00000FFC1F80000007FE1F00000007FE1F00000007FF3F00000003FF3E00000003FFFE00 -000001FFFC00000001FFFC00000000FFF800000000FFF800000000FFF8000000007FF000 -0000007FF0000000003FE0000000003FE0000000001FC0000000001FC0000000000F8000 -002D257EA432>I<FFFFF1FFFF807FFFFFFFF1FFFF807FFFFFFFF1FFFF807FFFFFFFF1FF -FF807FFFFFFFF1FFFF807FFF07FF000FF80007E003FF0007FC0007C003FF0007FC000FC0 -01FF8007FC000F8001FF8007FE000F8001FFC00FFE001F8000FFC00FFF001F0000FFC01F -FF003F00007FE01FFF003E00007FE01FFF803E00007FF03FFF807E00003FF03E7FC07C00 -003FF07E7FC0FC00001FF87C3FC0F800001FF87C3FE0F800001FFCFC3FE1F800000FFCF8 -1FF1F000000FFDF81FF1F000000FFFF00FF3F0000007FFF00FFBE0000007FFF00FFFE000 -0003FFE007FFC0000003FFE007FFC0000003FFC003FFC0000001FFC003FF80000001FFC0 -03FF80000000FF8001FF00000000FF8001FF00000000FF8001FF000000007F0000FE0000 -00007F0000FE000000003E00007C000040257EA445>I<FFFFF01FFFF0FFFFF01FFFF0FF -FFF01FFFF0FFFFF01FFFF0FFFFF01FFFF001FFC007F00000FFC007E000007FE00FC00000 -3FF01F8000003FF83F8000001FFC7F0000000FFCFE00000007FFFC00000003FFF8000000 -03FFF000000001FFE000000000FFE0000000007FE0000000003FF0000000003FF8000000 -007FFC00000000FFFC00000001FFFE00000003FBFF00000007F3FF80000007E1FFC00000 -0FC0FFC000001F807FE000003F803FF000007F003FF80000FE001FFC0000FC000FFC00FF -FF803FFFF8FFFF803FFFF8FFFF803FFFF8FFFF803FFFF8FFFF803FFFF82D257EA432>I< -FFFFF003FFF8FFFFF003FFF8FFFFF003FFF8FFFFF003FFF8FFFFF003FFF803FF00003E00 -03FF80007E0001FF80007C0001FFC000FC0000FFC000F80000FFE001F800007FE001F000 -007FE001F000007FF003F000003FF003E000003FF807E000001FF807C000001FFC0FC000 -000FFC0F8000000FFC1F80000007FE1F00000007FE1F00000007FF3F00000003FF3E0000 -0003FFFE00000001FFFC00000001FFFC00000000FFF800000000FFF800000000FFF80000 -00007FF0000000007FF0000000003FE0000000003FE0000000001FC0000000001FC00000 -00000F80000000000F80000000001F80000000001F00000000003F0000003F003E000000 -7F807E000000FFC07C000000FFC0FC000000FFC0F8000000F801F8000000FC07F0000000 -7E1FE00000007FFFC00000003FFF000000001FFE0000000007F0000000002D357EA432> -I E /Fc 4 121 df<00000FFC000000007FFFC0000003FFFFF0000007FFFFFC00001FFF -FFFE00003FFFFFFF00007FFFFFFF8000FFFFFFFFC001FFFC07FFE003FFE001FFF007FF80 -007FF007FF00003FF80FFE00001FF81FFC00000FFC1FF800000FFC3FF0000007FE3FF000 -0007FE7FE0000003FE7FE0000003FE7FC0000003FF7FC0000003FFFFC0000001FFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFEFFFFFFFFFFFEFF8000000000FFC000000000FFC0000000007FC0000000007FE000 -0000007FE0000000003FF0000000003FF0000000FE3FF8000000FE1FFC000001FF0FFE00 -0001FF0FFF000003FF07FF800007FF03FFE0000FFE03FFF8003FFC01FFFF00FFFC00FFFF -FFFFF8007FFFFFFFF0003FFFFFFFE0000FFFFFFFC00007FFFFFF800001FFFFFE0000003F -FFF000000003FF800030367AB43E>101 D<00000000FFC000000007FFF00000001FFFF8 -0000007FFFFC000001FFFFFE000003FFFFFF000007FFFFFF00000FFFFFFF00000FFF07FF -00001FFC07FF00003FF003FE00003FF001FC00007FE000F800007FC0000000007FC00000 -00007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000 -00007FC0000000007FC000003FFFFFFFFFF07FFFFFFFFFF0FFFFFFFFFFF8FFFFFFFFFFF8 -FFFFFFFFFFF8FFFFFFFFFFF87FFFFFFFFFF07FFFFFFFFFF000007FC0000000007FC00000 -00007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000 -00007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000 -00007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000 -00007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000 -00007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000 -00007FC0000000007FC0000000007FC000003FFFFFFFFF803FFFFFFFFF807FFFFFFFFFC0 -7FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC03FFFFFFFFF803FFFFFFFFF80304A7CC93E> -I<7FFFFFE00000FFFFFFE00000FFFFFFF00000FFFFFFF00000FFFFFFF00000FFFFFFF000 -00FFFFFFF000007FFFFFF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF0000000001FF000 -0000001FF0000000001FF0000000001FF0000000001FF0000000001FF000007FFFFFFFFF -FCFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFF -FE7FFFFFFFFFFC2F4979C83E>108 D<3FFFFF03FFFFF03FFFFF03FFFFF07FFFFF87FFFF -F87FFFFF87FFFFF87FFFFF87FFFFF87FFFFF87FFFFF83FFFFF03FFFFF03FFFFF03FFFFF0 -001FF0003FE000000FF8007FC000000FFC00FFC0000007FE00FF80000003FE01FF000000 -01FF03FE00000000FF87FE00000000FFC7FC000000007FCFF8000000003FFFF000000000 -1FFFF0000000001FFFE0000000000FFFC00000000007FF800000000003FF800000000003 -FF000000000001FE000000000001FF000000000003FF000000000007FF80000000000FFF -C0000000000FFFE0000000001FFFF0000000003FCFF0000000003FC7F8000000007F87FC -00000000FF03FE00000001FF01FE00000001FE01FF00000003FC00FF80000007FC007FC0 -00000FF8007FC000000FF0003FE000001FF0001FF000003FE0000FF8003FFFFE00FFFFF8 -7FFFFF01FFFFFCFFFFFF03FFFFFEFFFFFF03FFFFFEFFFFFF03FFFFFEFFFFFF03FFFFFE7F -FFFF01FFFFFC3FFFFE00FFFFF837337DB23E>120 D E /Fd 38 127 -df<000380000007C000000FE000000FE000000FE000000FE000000FE000300FE018FC0F -E07EFF0FE1FEFF8FE3FEFFEFEFFEFFFFFFFE7FFFFFFC1FFFFFF00FFFFFE003FFFF8000FF -FE0000FFFE0003FFFF800FFFFFE01FFFFFF07FFFFFFCFFFFFFFEFFEFEFFEFF8FE3FEFF0F -E1FEFC0FE07E300FE018000FE000000FE000000FE000000FE000000FE0000007C0000003 -80001F247AAA2C>42 D<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807F -FFFFFF0021067B9B2C>45 D<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B0B -708A2C>I<00000007000000000F800000001F800000001F800000003F800000003F0000 -00007F000000007E00000000FE00000000FC00000001FC00000001F800000003F8000000 -03F000000003F000000007F000000007E00000000FE00000000FC00000001FC00000001F -800000003F800000003F000000007F000000007E00000000FE00000000FC00000000FC00 -000001FC00000001F800000003F800000003F000000007F000000007E00000000FE00000 -000FC00000001FC00000001F800000001F800000003F800000003F000000007F00000000 -7E00000000FE00000000FC00000001FC00000001F800000003F800000003F000000007F0 -00000007E000000007E00000000FE00000000FC00000001FC00000001F800000003F8000 -00003F000000007F000000007E00000000FE00000000FC00000000FC00000000F8000000 -00780000000021417BB92C>I<000380000007C000000FC000000FC000001FC000003FC0 -00003FC000007FC00001FFC00003FFC0007FFFC000FFFFC000FFFFC000FFDFC000FF9FC0 -007E1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0 -00001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0 -00001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0 -00001FC000001FC000001FC000001FC0007FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF8FFFFFF -F87FFFFFF01D3478B32C>49 D<000FF80000007FFF000001FFFFE00007FFFFF0000FFFFF -F8001FFFFFFC003FF01FFE003FC003FF007F8000FF807F00007F80FF00003FC0FE00001F -C0FF00001FE0FF00001FE0FF00000FE0FF00000FE07E00000FE03C00000FE00000000FE0 -0000000FE00000001FE00000001FC00000001FC00000003FC00000007F800000007F8000 -0000FF00000001FE00000003FE00000007FC0000000FF80000001FF00000003FE0000000 -FFC0000001FF80000003FE00000007FC0000000FF80000003FF00000007FC0000000FF80 -000001FF00000003FE0007C007FC000FE01FF0000FE03FE0000FE07FFFFFFFE0FFFFFFFF -E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFC023347CB32C>I<000FFC0000007FFF -800001FFFFE00007FFFFF0000FFFFFFC001FFFFFFE001FF807FE003FE001FF003FC000FF -003FC0007F803FC0003F803FC0003F801F80003F800F00003F800000003F800000007F80 -0000007F00000000FF00000001FE00000007FE0000003FFC00001FFFF800003FFFF00000 -3FFFE000003FFFE000003FFFF800001FFFFC00000007FE00000001FF00000000FF800000 -007F800000003FC00000001FC00000001FE00000000FE00000000FE00000000FE03C0000 -0FE07E00000FE0FF00000FE0FF00001FE0FF00001FC0FF00003FC0FF00007F807F8000FF -807FC001FF003FF807FF001FFFFFFE000FFFFFFC0007FFFFF00003FFFFE000007FFF8000 -000FFC000023357CB32C>I<00000FF80000000FFC0000001FFC0000003FFC0000003FFC -0000007FFC000000FEFC000000FEFC000001FCFC000003F8FC000003F8FC000007F0FC00 -000FE0FC00000FE0FC00001FC0FC00003F80FC00003F80FC00007F00FC0000FE00FC0000 -FE00FC0001FC00FC0003F800FC0003F800FC0007F000FC000FF000FC000FE000FC001FC0 -00FC003FC000FC003F8000FC007F0000FC00FF0000FC00FFFFFFFFFCFFFFFFFFFEFFFFFF -FFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC000000FC00000000FC00000000FC00000000FC -00000000FC00000000FC00000000FC00000000FC00000000FC0000007FFFF80000FFFFFC -0000FFFFFC0000FFFFFC0000FFFFFC00007FFFF827347EB32C>I<0000FE00000001FF00 -000001FF00000003FF80000003FF80000003FF80000003FF80000003FF80000007EFC000 -0007EFC0000007EFC0000007EFC000000FEFE000000FEFE000000FC7E000000FC7E00000 -0FC7E000001FC7F000001FC7F000001FC7F000001F83F000001F83F000003F83F800003F -83F800003F83F800003F83F800007F01FC00007F01FC00007F01FC00007F01FC00007F01 -FC0000FE00FE0000FE00FE0000FE00FE0000FFFFFE0001FFFFFF0001FFFFFF0001FFFFFF -0001FFFFFF0001FFFFFF0003FC007F8003F8003F8003F8003F8003F8003F8003F8003F80 -07F0001FC07FFF01FFFCFFFF83FFFEFFFF83FFFEFFFF83FFFEFFFF83FFFE7FFF01FFFC27 -347EB32C>65 D<7FFFFF8000FFFFFFE000FFFFFFF800FFFFFFFC00FFFFFFFE007FFFFFFF -0007F003FF8007F000FFC007F0003FC007F0001FE007F0001FF007F0000FF007F00007F0 -07F00007F807F00003F807F00003FC07F00001FC07F00001FC07F00001FC07F00001FC07 -F00000FE07F00000FE07F00000FE07F00000FE07F00000FE07F00000FE07F00000FE07F0 -0000FE07F00000FE07F00000FE07F00000FE07F00001FE07F00001FC07F00001FC07F000 -01FC07F00003FC07F00003F807F00007F807F00007F807F0000FF007F0000FF007F0001F -E007F0003FE007F000FFC007F003FF807FFFFFFF00FFFFFFFE00FFFFFFFC00FFFFFFF800 -FFFFFFE0007FFFFF800027337FB22C>68 D<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFF -FFFCFFFFFFFFFC7FFFFFFFFC03F80001FC03F80001FC03F80001FC03F80001FC03F80001 -FC03F80001FC03F80001FC03F80000F803F800000003F800000003F800000003F800F800 -03F801FC0003F801FC0003F801FC0003F801FC0003FFFFFC0003FFFFFC0003FFFFFC0003 -FFFFFC0003FFFFFC0003FFFFFC0003F801FC0003F801FC0003F801FC0003F801FC0003F8 -00F80003F800000003F800000003F800000003F800003E03F800007F03F800007F03F800 -007F03F800007F03F800007F03F800007F03F800007F03F800007F7FFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFE28337FB22C>I<0001FC0780000FFF -87C0001FFFCFC0007FFFFFC000FFFFFFC001FFFFFFC003FF87FFC003FE01FFC007F800FF -C00FF0007FC00FF0007FC01FE0003FC01FC0003FC03FC0003FC03F80001FC03F80001FC0 -7F80001FC07F00001FC07F00000F807F00000000FF00000000FE00000000FE00000000FE -00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0007FFF8FE00 -0FFFFCFE000FFFFCFF000FFFFC7F000FFFFC7F0007FFF87F00001FC07F80001FC03F8000 -3FC03F80003FC03FC0003FC01FC0003FC01FE0007FC00FF0007FC00FF000FFC007F800FF -C003FE01FFC003FF07FFC001FFFFFFC000FFFFFFC0007FFFFFC0001FFFDFC0000FFF0F80 -0001FC000026357DB32C>71 D<7FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFF -FC000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0 -00000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0 -00000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0 -00000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0 -00000FE000000FE000000FE0007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFF -FC1F337AB22C>73 D<7FFFF00000FFFFF80000FFFFF80000FFFFF80000FFFFF800007FFF -F0000003F800000003F800000003F800000003F800000003F800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F800000003F800000003F800000003F800000003F800000003F800000003 -F800000003F800000003F80000F803F80001FC03F80001FC03F80001FC03F80001FC03F8 -0001FC03F80001FC03F80001FC03F80001FC7FFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFF -FFFCFFFFFFFFFC7FFFFFFFF826337EB22C>76 D<7FF800FFFCFFFC01FFFEFFFE01FFFEFF -FE01FFFEFFFE01FFFE7FFF00FFFC07FF000FC007EF000FC007EF800FC007EF800FC007E7 -800FC007E7C00FC007E7C00FC007E7C00FC007E7E00FC007E3E00FC007E3E00FC007E3F0 -0FC007E1F00FC007E1F00FC007E1F80FC007E1F80FC007E0F80FC007E0FC0FC007E0FC0F -C007E07C0FC007E07E0FC007E07E0FC007E03E0FC007E03F0FC007E03F0FC007E01F0FC0 -07E01F0FC007E01F8FC007E00F8FC007E00F8FC007E00FCFC007E007CFC007E007CFC007 -E007CFC007E003CFC007E003EFC007E003EFC007E001EFC007E001FFC07FFE01FFC0FFFF -00FFC0FFFF00FFC0FFFF00FFC0FFFF007FC07FFE003F8027337EB22C>78 -D<7FFFFC000000FFFFFF800000FFFFFFE00000FFFFFFF80000FFFFFFFC00007FFFFFFE00 -0007F00FFE000007F001FF000007F000FF800007F0007F800007F0003F800007F0003FC0 -0007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0003FC00007F0003F80 -0007F0007F800007F000FF800007F001FF000007F00FFE000007FFFFFE000007FFFFFC00 -0007FFFFF8000007FFFFF0000007FFFFF8000007FFFFFC000007F007FC000007F003FE00 -0007F000FE000007F000FF000007F0007F000007F0007F000007F0007F000007F0007F00 -0007F0007F000007F0007F000007F0007F000007F0007F000007F0007F1F0007F0007F3F -8007F0007F3F8007F0007F3F8007F0007F3F807FFF003FBF80FFFF803FFF00FFFF801FFF -00FFFF801FFF00FFFF800FFE007FFF0007FC0000000001F00029347EB22C>82 -D<7FFFFFFFFCFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFE00FE00FE -FE00FE00FEFE00FE00FEFE00FE00FEFE00FE00FEFE00FE00FEFE00FE00FE7C00FE007C00 -00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000 -FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE -00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00 -000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 -0000FE00000000FE0000007FFFFC00007FFFFC0000FFFFFE0000FFFFFE00007FFFFC0000 -7FFFFC0027337EB22C>84 D<01FFF0000007FFFE00001FFFFF80001FFFFFE0003FFFFFF0 -003FFFFFF8003FC01FF8003FC007FC001F8003FC00060001FE00000000FE00000000FE00 -00000FFE000007FFFE00007FFFFE0001FFFFFE0007FFFFFE001FFFFFFE003FFFF8FE003F -FC00FE007FE000FE00FF8000FE00FF0000FE00FE0000FE00FE0000FE00FE0000FE00FF00 -01FE00FF0003FE007F8007FE007FE03FFE003FFFFFFFFC1FFFFFFFFE0FFFFFFFFE07FFFF -7FFE01FFFC3FFE007FC00FFC27247CA32C>97 D<7FF8000000FFFC000000FFFC000000FF -FC000000FFFC0000007FFC00000001FC00000001FC00000001FC00000001FC00000001FC -00000001FC00000001FC00000001FC00000001FC00000001FC0FF00001FC7FFE0001FDFF -FF0001FFFFFFC001FFFFFFE001FFFFFFF001FFF03FF001FFC00FF801FF8007FC01FF0003 -FC01FE0001FE01FC0000FE01FC0000FE01FC0000FF01FC00007F01FC00007F01FC00007F -01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F01FC0000FF01FE0000FE01 -FE0001FE01FF0001FE01FF0003FC01FF8007FC01FFC00FF801FFF03FF001FFFFFFE001FF -FFFFC001FFFFFF8001FDFFFF0001FC7FFC0000F80FF000283380B22C>I<0003FFF00000 -1FFFFC00007FFFFF0000FFFFFF0003FFFFFF8007FFFFFF800FFF007F800FF8007F801FF0 -003F003FC0000C003FC00000007F800000007F000000007F00000000FF00000000FE0000 -0000FE00000000FE00000000FE00000000FE00000000FE00000000FF000000007F000000 -007F000000007F80000F803FC0001FC03FE0001FC01FF0003FC00FFC007F800FFF81FF80 -07FFFFFF0003FFFFFE0000FFFFFC00007FFFF800001FFFE0000003FF000022247BA32C> -I<00000FFF0000001FFF8000001FFF8000001FFF8000001FFF8000000FFF800000003F80 -0000003F800000003F800000003F800000003F800000003F800000003F800000003F8000 -00003F80000FF83F80003FFE3F8000FFFFBF8001FFFFFF8003FFFFFF8007FFFFFF800FFC -0FFF801FF003FF803FE000FF803FC0007F807F80007F807F80003F807F00003F80FF0000 -3F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F -80FE00003F80FF00003F807F00007F807F00007F807F8000FF803FC001FF803FE003FF80 -1FF007FF800FFC1FFF800FFFFFFFFE07FFFFFFFF03FFFFBFFF00FFFF3FFF007FFC3FFF00 -0FF01FFE28337DB22C>I<0003FE0000001FFFC000007FFFF00001FFFFF80003FFFFFC00 -07FFFFFE000FFE03FF001FF800FF801FE0007F803FC0003FC03F80001FC07F80001FC07F -00001FE07F00000FE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFF -FFFFC0FE00000000FF000000007F000000007F800000007F800007C03FC0000FE03FE000 -0FE01FF8001FE00FFC003FC007FF80FFC007FFFFFF8001FFFFFF0000FFFFFE00003FFFFC -00000FFFF0000001FF800023247CA32C>I<000007F80000003FFE000000FFFF000001FF -FF800003FFFF800007FFFF80000FF87F80000FF03F00001FE03F00001FC00000001FC000 -00001FC00000001FC00000001FC00000001FC000007FFFFFFE00FFFFFFFF00FFFFFFFF00 -FFFFFFFF00FFFFFFFF007FFFFFFE00001FC00000001FC00000001FC00000001FC0000000 -1FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001F -C00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0 -0000001FC00000001FC00000001FC00000001FC00000001FC000007FFFFFF000FFFFFFF8 -00FFFFFFF800FFFFFFF800FFFFFFF8007FFFFFF00021337DB22C>I<00000003F00007F8 -1FFC001FFE7FFE007FFFFFFF00FFFFFFFF01FFFFFFFF03FFFFFE7F07FE1FF87E07F807F8 -3E0FF003FC000FE001FC001FE001FE001FC000FE001FC000FE001FC000FE001FC000FE00 -1FC000FE001FE001FE000FE001FC000FF003FC0007F807F80007FE1FF80007FFFFF00007 -FFFFE0000FFFFFC0000FFFFF80000FDFFE00000FC7F800000FC00000000FC00000000FE0 -00000007FFFFE00007FFFFFE0007FFFFFF800FFFFFFFE01FFFFFFFF03FFFFFFFF83FC000 -3FF87F000003FC7E000001FCFE000000FEFC0000007EFC0000007EFC0000007EFC000000 -7EFE000000FE7F000001FC7F800003FC3FE0000FF83FFE00FFF81FFFFFFFF00FFFFFFFE0 -03FFFFFF8000FFFFFE00003FFFF8000003FF800028387EA42C>I<00038000000FE00000 -0FE000001FF000001FF000001FF000000FE000000FE00000038000000000000000000000 -000000000000000000000000000000000000007FFFE0007FFFF000FFFFF000FFFFF0007F -FFF0007FFFF0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000 -07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000 -07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0007FFFFFFEFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE20347AB32C>105 -D<7FF0000000FFF8000000FFF8000000FFF8000000FFF80000007FF800000001F8000000 -01F800000001F800000001F800000001F800000001F800000001F800000001F800000001 -F800000001F83FFFF801F83FFFFC01F87FFFFC01F87FFFFC01F83FFFFC01F83FFFF801F8 -01FE0001F803FC0001F807F80001F80FF00001F81FE00001F83FC00001F87F800001F8FF -000001F9FE000001FBFE000001FFFF000001FFFF800001FFFFC00001FFDFC00001FF8FE0 -0001FF0FF00001FE07F00001FC03F80001F801FC0001F801FE0001F800FE0001F8007F00 -01F8007F8001F8003FC07FFFE0FFFEFFFFE1FFFFFFFFF1FFFFFFFFF1FFFFFFFFE1FFFF7F -FFE0FFFE28337FB22C>107 D<7FFFF00000FFFFF80000FFFFF80000FFFFF80000FFFFF8 -00007FFFF800000003F800000003F800000003F800000003F800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F800000003F800000003F800000003F800000003F800000003F800000003 -F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8 -00000003F800000003F800000003F800000003F800007FFFFFFFC0FFFFFFFFE0FFFFFFFF -E0FFFFFFFFE0FFFFFFFFE07FFFFFFFC023337CB22C>I<7FC1F803F0007FE7FE0FFC00FF -FFFF3FFE00FFFFFF7FFE007FFFFFFFFF007FFFFFFFFF0007FE1FFC3F8007FC1FF83F8007 -F80FF01F8007F00FE01F8007F00FE01F8007F00FE01F8007E00FC01F8007E00FC01F8007 -E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007 -E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007 -E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F807FFE1FFC3FF87FFE3FFC7FF8FF -FF3FFE7FFCFFFF3FFE7FFC7FFE3FFC7FF87FFE1FFC3FF82E2481A32C>I<7FF807F80000 -FFFC3FFE0000FFFCFFFF8000FFFFFFFFC000FFFFFFFFC0007FFFFFFFE00001FFF81FE000 -01FFE00FF00001FF8007F00001FF0007F00001FE0007F00001FE0007F00001FE0007F000 -01FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000 -01FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000 -01FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0007FFFF07FFFC0 -FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE07FFFF07FFFC02B2480A32C> -I<0007FC0000001FFF0000007FFFC00001FFFFF00003FFFFF80007FFFFFC000FFC07FE00 -1FF001FF001FE000FF003FC0007F803F80003F807F00001FC07F00001FC07F00001FC0FE -00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FF00 -001FE07F00001FC07F00001FC07F80003FC03F80003F803FC0007F801FE000FF001FF803 -FF000FFE0FFE0007FFFFFC0003FFFFF80001FFFFF000007FFFC000001FFF00000007FC00 -0023247CA32C>I<7FF80FF000FFFC7FFE00FFFDFFFF00FFFFFFFFC0FFFFFFFFE07FFFFF -FFF001FFF03FF001FFC00FF801FF8007FC01FF0003FC01FE0001FE01FC0000FE01FC0000 -FE01FC0000FF01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F -01FC00007F01FC00007F01FC0000FF01FE0000FE01FE0001FE01FF0001FE01FF0003FC01 -FF8007FC01FFC00FF801FFF03FF001FFFFFFE001FFFFFFC001FFFFFF8001FDFFFF0001FC -7FFC0001FC0FF00001FC00000001FC00000001FC00000001FC00000001FC00000001FC00 -000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000007FFFF000 -00FFFFF80000FFFFF80000FFFFF80000FFFFF800007FFFF00000283680A32C>I<7FFF00 -3FC0FFFF81FFF0FFFF87FFF8FFFF9FFFF8FFFFBFFFFC7FFFFFFFFC003FFFE3FC003FFF03 -FC003FFE01F8003FFC0060003FF80000003FF00000003FE00000003FE00000003FC00000 -003FC00000003FC00000003F800000003F800000003F800000003F800000003F80000000 -3F800000003F800000003F800000003F800000003F800000003F800000003F800000003F -8000007FFFFFF000FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF8007FFFFFF00026247E -A32C>114 D<003FF8F003FFFFF80FFFFFF81FFFFFF83FFFFFF87FFFFFF87FC01FF8FF00 -07F8FC0003F8FC0003F8FC0003F8FE0001F0FF8000007FFC00003FFFF0003FFFFF000FFF -FFC007FFFFF000FFFFF8000FFFFC00007FFE000003FE7C0000FFFE00007FFE00003FFF00 -003FFF00003FFF80007FFFC000FEFFF007FEFFFFFFFCFFFFFFFCFFFFFFF8FFFFFFE0F8FF -FF80781FFC0020247AA32C>I<001F000000003F800000003F800000003F800000003F80 -0000003F800000003F800000003F800000003F800000003F8000007FFFFFFF00FFFFFFFF -80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF00003F800000003F800000003F800000 -003F800000003F800000003F800000003F800000003F800000003F800000003F80000000 -3F800000003F800000003F800000003F800000003F800000003F800380003F800FE0003F -800FE0003F800FE0003F800FE0003F801FE0003FC01FC0001FC03FC0001FF07FC0000FFF -FF80000FFFFF000007FFFE000003FFFC000001FFF00000003FC000232E7EAD2C>I<7FF8 -01FFE000FFFC03FFF000FFFC03FFF000FFFC03FFF000FFFC03FFF0007FFC01FFF00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC000FF00001FC001FF00001FC003FF00001FF00FFF00000FF -FFFFFFC000FFFFFFFFE0007FFFFFFFE0003FFFFFFFE0001FFFE7FFE00003FF03FFC02B24 -80A32C>I<3FFF83FFF87FFF87FFF87FFFC7FFFC7FFFC7FFFC7FFF87FFF83FFF83FFF800 -FE01FC00007F03F800003F83F800003F87F000001FCFE000000FEFC0000007FFC0000007 -FF80000003FF00000001FF00000000FE00000000FC00000000FE00000001FF00000003FF -00000007FF80000007EFC000000FCFE000001FC7E000001F83F000003F03F800007F01FC -0000FE00FC0000FC00FE007FFF83FFFCFFFFC7FFFCFFFFC7FFFEFFFFC7FFFEFFFFC7FFFC -7FFF83FFFC27247EA32C>120 D<7FFF83FFFCFFFFC3FFFEFFFFC7FFFEFFFFC7FFFEFFFF -C3FFFE7FFF83FFFC03F8001F8001F8003F8001FC003F0000FC003F0000FC007F0000FE00 -7E00007E007E00007E007E00007F00FC00003F00FC00003F00FC00003F81F800001F81F8 -00001F81F800000FC1F800000FC3F000000FC3F0000007E3F0000007E3E0000007E7E000 -0003E7E0000003F7C0000001F7C0000001FFC0000001FF80000000FF80000000FF800000 -00FF000000007F000000007F000000007E000000007E000000007E00000000FE00000000 -FC00000000FC00000001FC00000C01F800003F03F800007F87F000007F8FF000007F1FE0 -00007FFFC000007FFFC000003FFF8000001FFE0000000FFC00000007F000000027367EA3 -2C>I<00F800E003FE01F007FF03F81FFF87F83FFFFFF87FFFFFF0FFFFFFE0FF0FFFC0FE -07FF007C03FE003800F8001D0B79B22C>126 D E /Fe 66 124 df<000007FC00FE0000 -003FFF03FF800001FFFF8FFFC00007FC07FF8FE0000FE007FF1FF0001FC00FFE1FF0003F -801FFC1FF0007F001FF81FF000FE001FF81FF000FE001FF80FE001FE000FF007C001FC00 -07F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007 -F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0 -000001FC0007F00000FFFFFFFFFFF800FFFFFFFFFFF800FFFFFFFFFFF800FFFFFFFFFFF8 -0001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F00000 -01FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001 -FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC -0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC00 -07F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007 -F0000001FC0007F0000003FC0007F800007FFFE0FFFFF0007FFFE0FFFFF0007FFFE0FFFF -F0007FFFE0FFFFF000343B7FBA30>11 D<000007F8000000003FFE00000001FFFF800000 -07FC0FC000000FE003E000001FC007E000003F800FF000007F001FF00000FE001FF00000 -FE001FF00001FE001FF00001FC001FF00001FC000FE00001FC0001000001FC0000000001 -FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001 -FC0000000001FC0007F000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF00001 -FC001FF00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00003FC0007F8007FFFE0FFFFC07FFFE0FFFFC07F -FFE0FFFFC07FFFE0FFFFC02A3B7FBA2E>I<000007FC000000007FFF70000001FFFFF000 -0007FC0FF000000FE01FF000001FC01FF000003F801FF000007F001FF00000FE001FF000 -00FE001FF00001FE0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000 -01FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000 -01FC0007F00001FC0007F000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF000 -01FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000 -01FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000 -01FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000 -01FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000 -01FC0007F00001FC0007F00001FC0007F00003FE000FF8007FFFF1FFFFC07FFFF1FFFFC0 -7FFFF1FFFFC07FFFF1FFFFC02A3B7FBA2E>I<1E000F007F803FC0FF807FC0FFC07FE0FF -C07FE0FFE07FF0FFE07FF0FFE07FF07FE03FF01EE00F7000E0007000E0007000E0007001 -E000F001C000E001C000E003C001E003C001E0038001C0078003C00F0007800E0007001E -000F003C001E0078003C00300018001C1A7DB92A>34 D<1E007F80FF80FFC0FFC0FFE0FF -E0FFE07FE01EE000E000E000E001E001C001C003C003C0038007800F000F001E003C0078 -0030000B1A7AB917>39 D<0000E00001E00003C0000780000F00001F00003E00007C0000 -7C0000F80001F00001F00003E00003E00007E00007C0000FC0000F80000F80001F80001F -80001F00003F00003F00003F00003E00007E00007E00007E00007E00007E00007C0000FC -0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC -0000FC0000FC0000FC0000FC0000FC00007C00007E00007E00007E00007E00007E00003E -00003F00003F00003F00001F00001F80001F80000F80000F80000FC00007C00007E00003 -E00003E00001F00001F00000F800007C00007C00003E00001F00000F000007800003C000 -01E00000E0135278BD20>I<E00000F000007800003C00001E00001F00000F800007C000 -07C00003E00001F00001F00000F80000F80000FC00007C00007E00003E00003E00003F00 -003F00001F00001F80001F80001F80000F80000FC0000FC0000FC0000FC0000FC00007C0 -0007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E0 -0007E00007E00007E00007E00007E00007E00007C0000FC0000FC0000FC0000FC0000FC0 -000F80001F80001F80001F80001F00003F00003F00003E00003E00007E00007C0000FC00 -00F80000F80001F00001F00003E00007C00007C0000F80001F00001E00003C0000780000 -F00000E0000013527CBD20>I<0000003000000000000078000000000000780000000000 -007800000000000078000000000000780000000000007800000000000078000000000000 -780000000000007800000000000078000000000000780000000000007800000000000078 -000000000000780000000000007800000000000078000000000000780000000000007800 -000000000078000000000000780000000000007800000000000078000000000000780000 -00000000780000007FFFFFFFFFFFF8FFFFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF8 -000000780000000000007800000000000078000000000000780000000000007800000000 -000078000000000000780000000000007800000000000078000000000000780000000000 -007800000000000078000000000000780000000000007800000000000078000000000000 -780000000000007800000000000078000000000000780000000000007800000000000078 -0000000000007800000000000078000000000000780000000000003000000036367BAF41 ->43 D<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01EE000E000E000E001E001C001C003 -C003C0038007800F000F001E003C00780030000B1A7A8917>I<FFFFFCFFFFFCFFFFFCFF -FFFCFFFFFCFFFFFC16067F941C>I<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A -0A7A8917>I<0003F80000001FFF0000007FFFC00000FE0FE00001F803F00003F001F800 -07E000FC000FC0007E000FC0007E001F80003F001F80003F003F80003F803F80003F803F -00001F807F00001FC07F00001FC07F00001FC07F00001FC07F00001FC07F00001FC0FF00 -001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF0000 -1FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001F -E0FF00001FE0FF00001FE0FF00001FE0FF00001FE07F00001FC07F00001FC07F00001FC0 -7F00001FC07F00001FC03F80003F803F80003F803F80003F801F80003F001F80003F000F -C0007E000FC0007E0007E000FC0003F001F80001F803F00000FE0FE000007FFFC000001F -FF00000003F80000233A7DB72A>48 D<0001C0000003C0000007C000001FC00000FFC000 -FFFFC000FFFFC000FFFFC000FF1FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000003FE0007FFFFFF07FFFFFF07FFFFFF07FFFFFF01C3879B72A>I<000FF00000 -007FFE000001FFFF800007FFFFC0000FE07FF0001F801FF8001F000FFC003E0007FC007C -0003FE00780003FF007E0001FF00FF8001FF00FFC000FF80FFC000FF80FFC000FF80FFC0 -00FF80FFC000FF80FFC000FF807F8000FF801E0000FF80000000FF80000000FF00000001 -FF00000001FF00000003FE00000003FE00000007FC00000007F80000000FF00000000FF0 -0000001FE00000003FC00000007F800000007E00000000FC00000001F800000003F00000 -0007E00000000FC00000000F800000001F000000003E000380007C00038000F800038001 -F000078003E000070007C00007000F800007000F00000F001FFFFFFF003FFFFFFF007FFF -FFFF00FFFFFFFE00FFFFFFFE00FFFFFFFE00FFFFFFFE0021387CB72A>I<0007F8000000 -3FFF0000007FFFC00001FFFFE00003F80FF80007C007FC000F8003FC000F8003FE000FE0 -01FE001FF001FF001FF001FF001FF001FF001FF801FF001FF001FF001FF001FF000FE001 -FF0003C001FE00000003FE00000003FE00000003FC00000007F800000007F80000000FF0 -0000001FE00000007F8000001FFE0000001FF80000001FFF800000000FE000000007F000 -000003FC00000001FE00000001FF00000000FF80000000FF80000000FFC00000007FC000 -00007FE00000007FE00000007FE01E00007FE07F80007FE0FFC0007FE0FFC0007FE0FFC0 -007FE0FFC0007FC0FFC000FFC0FF8000FFC07F8000FF807E0001FF807E0001FF003F0003 -FE001F8007FC000FF00FF80007FFFFF00001FFFFC000007FFF0000000FF80000233A7DB7 -2A>I<0C00000C000F00003C000FF003FC000FFFFFF8000FFFFFF0000FFFFFE0000FFFFF -C0000FFFFF80000FFFFE00000FFFF800000FFFC000000F000000000F000000000F000000 -000F000000000F000000000F000000000F000000000F000000000F000000000F00000000 -0F07F800000F1FFE00000F7FFF80000FF80FE0000FE007F0000FC003F8000F8001F8000F -0001FC000E0000FE00000000FE00000000FF000000007F000000007F000000007F800000 -007F800000007F800000007F803E00007F807F00007F80FF80007F80FF80007F80FF8000 -7F80FF80007F80FF80007F00FF0000FF00FE0000FF00700000FE00780001FE007C0001FC -003C0003F8001E0007F8001F800FF0000FE03FE00007FFFF800001FFFF0000007FFC0000 -001FE00000213A7CB72A>53 D<00003FC0000001FFF0000007FFFC00000FFFFE00003FE0 -3F00007F800F0000FE003F8001FC007F8003F800FF8003F800FF8007F000FF800FF000FF -800FE0007F001FE0003E001FC00000003FC00000003FC00000003FC00000007FC0000000 -7F802000007F83FF00007F8FFFC000FF9FFFF000FFBC03F800FFF801FC00FFF000FE00FF -F000FE00FFE0007F00FFE0007F80FFC0007F80FFC0003FC0FFC0003FC0FFC0003FC0FF80 -003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE07F80003FE07F80003FE07F8000 -3FE07F80003FE07F80003FE03F80003FE03FC0003FC03FC0003FC01FC0003FC01FC0007F -801FC0007F800FE0007F0007E000FE0007F001FE0003F803FC0001FE07F80000FFFFF000 -003FFFC000001FFF00000003FC0000233A7DB72A>I<38000000003C000000003F000000 -003FFFFFFFE03FFFFFFFE03FFFFFFFE03FFFFFFFE07FFFFFFFC07FFFFFFFC07FFFFFFF80 -7800001F007000001E007000003E007000007C00F000007800E00000F800E00001F000E0 -0003E000000003C000000007C00000000F800000000F000000001F000000003E00000000 -3C000000007C00000000FC00000000F800000001F800000001F000000003F000000003F0 -00000003F000000007E000000007E00000000FE00000000FE00000000FE00000001FE000 -00001FE00000001FC00000001FC00000003FC00000003FC00000003FC00000003FC00000 -003FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC0000000 -7FC00000007FC00000007FC00000007FC00000003F800000000E000000233B7BB82A>I< -0003F80000001FFF0000007FFFC00000FFFFE00003FC07F00007F803F8000FF001FC000F -E000FE001FC000FE003FC0007F003FC0007F007F80007F807F80007F807F80003F80FF80 -003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FE0FF8000 -3FE0FF80003FE0FF80003FE0FF80003FE07F80007FE07F80007FE07F80007FE03FC0007F -E03FC000FFE01FC000FFE00FE001FFE00FE001FFE007F003FFE003F807BFE001FFFF3FE0 -007FFE3FC0001FF83FC00000803FC00000003FC00000007F800000007F800000007F8000 -00007F000F80007F001FC000FE003FE000FE003FE001FC003FE001FC003FE003F8003FC0 -07F0003F800FE0001E001FC0001FC07F80000FFFFF000007FFFC000001FFF00000003FC0 -0000233A7DB72A>57 D<1E007F807F80FFC0FFC0FFC0FFC07F807F801E00000000000000 -00000000000000000000000000000000000000000000000000001E007F807F80FFC0FFC0 -FFC0FFC07F807F801E000A247AA317>I<1E007F807F80FFC0FFC0FFC0FFC07F807F801E -0000000000000000000000000000000000000000000000000000000000000000001E007F -00FF80FF80FFC0FFC0FFC0FFC07FC01FC001C001C001C001C003C003800380078007000F -000E001E003C003C00780030000A347AA317>I<003FF00001FFFE0007FFFF800FC03FC0 -1E000FF03C0007F0780007F87E0003F8FF0003FCFF8003FCFF8003FCFF8003FCFF8003FC -FF8003FC7F0007FC1C0007F8000007F800000FF000001FE000003FC000007F0000007E00 -0000FC000001F8000001F0000001F0000003E0000003C0000003C0000007800000078000 -000700000007000000070000000700000007000000070000000700000007000000070000 -000700000000000000000000000000000000000000000000000000000000000000000000 -000F0000003FC000003FC000007FE000007FE000007FE000007FE000003FC000003FC000 -000F00001E3B7CBA27>63 D<0000007C0000000000007C0000000000007C000000000000 -FE000000000000FE000000000000FE000000000001FF000000000001FF000000000001FF -000000000003FF800000000003FF800000000003FF800000000007FFC00000000007BFC0 -0000000007BFC0000000000FBFE0000000000F1FE0000000000F1FE0000000001F1FF000 -0000001E0FF0000000001E0FF0000000003E0FF8000000003C07F8000000003C07F80000 -00007C07FC000000007803FC000000007803FC000000007803FC00000000F001FE000000 -00F001FE00000000F001FE00000001E000FF00000001E000FF00000001E000FF00000003 -C0007F80000003C0007F80000003C0007F8000000780003FC0000007FFFFFFC0000007FF -FFFFC000000FFFFFFFE000000FFFFFFFE000000F00001FE000001F00000FF000001E0000 -0FF000001E00000FF000003E00000FF800003C000007F800003C000007F800007C000007 -FC000078000003FC000078000003FC0000F8000003FE0000F8000001FE0001FC000001FE -000FFF000003FF00FFFFE000FFFFFEFFFFE000FFFFFEFFFFE000FFFFFEFFFFE000FFFFFE -373C7DBB3E>65 D<FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFFFF0000FFFFFFFFFFC000 -01FF00007FE00000FF00003FF00000FF00000FF80000FF00000FFC0000FF000007FC0000 -FF000007FE0000FF000003FE0000FF000003FF0000FF000003FF0000FF000003FF0000FF -000003FF0000FF000003FF0000FF000003FF0000FF000003FF0000FF000003FE0000FF00 -0007FE0000FF000007FC0000FF00000FF80000FF00001FF80000FF00003FF00000FF0000 -7FC00000FF0003FF800000FFFFFFFE000000FFFFFFFE000000FFFFFFFF800000FF00003F -E00000FF00000FF00000FF000007FC0000FF000003FC0000FF000003FE0000FF000001FF -0000FF000001FF8000FF000000FF8000FF000000FF8000FF000000FFC000FF000000FFC0 -00FF000000FFC000FF000000FFC000FF000000FFC000FF000000FFC000FF000000FFC000 -FF000000FF8000FF000001FF8000FF000001FF8000FF000003FF0000FF000007FE0000FF -00000FFE0000FF00001FFC0001FF00007FF800FFFFFFFFFFE000FFFFFFFFFFC000FFFFFF -FFFF0000FFFFFFFFF8000032397DB83B>I<000001FF00038000000FFFE0038000007FFF -F807800001FFFFFE0F800007FF807F1F80000FFC000FBF80001FF00007FF80003FE00003 -FF80007FC00001FF8000FF800000FF8001FF0000007F8003FE0000007F8007FC0000003F -8007FC0000003F800FF80000001F801FF80000001F801FF00000000F801FF00000000F80 -3FF00000000F803FE00000000F807FE000000007807FE000000007807FE000000007807F -C00000000780FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0 -0000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000 -00000000FFC00000000000FFC00000000000FFC000000000007FC000000000007FE00000 -0003807FE000000003807FE000000003803FE000000003803FF000000003801FF0000000 -07801FF000000007001FF800000007000FF80000000F0007FC0000000F0007FC0000001E -0003FE0000001E0001FF0000003C0000FF8000007800007FC00000F800003FE00001F000 -001FF00003E000000FFC0007C0000007FF803F80000001FFFFFE000000007FFFFC000000 -000FFFF00000000001FF000000313D7BBA3C>I<FFFFFFFFC00000FFFFFFFFF80000FFFF -FFFFFE0000FFFFFFFFFF800001FF0001FFE00000FF00003FF00000FF00000FF80000FF00 -0007FC0000FF000001FE0000FF000001FF0000FF000000FF0000FF0000007F8000FF0000 -007FC000FF0000003FC000FF0000003FE000FF0000001FE000FF0000001FF000FF000000 -1FF000FF0000000FF000FF0000000FF800FF0000000FF800FF0000000FF800FF0000000F -F800FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC -00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC00 -FF0000000FFC00FF0000000FFC00FF0000000FF800FF0000000FF800FF0000000FF800FF -0000000FF800FF0000001FF000FF0000001FF000FF0000001FE000FF0000001FE000FF00 -00003FC000FF0000003FC000FF0000007F8000FF000000FF8000FF000000FF0000FF0000 -01FE0000FF000003FC0000FF00000FF80000FF00003FF00001FF0001FFE000FFFFFFFFFF -8000FFFFFFFFFF0000FFFFFFFFF80000FFFFFFFFC0000036397DB83F>I<FFFFFFFFFFFC -00FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC0001FF00000FFC0000FF000001FE00 -00FF000000FE0000FF0000007E0000FF0000003E0000FF0000001E0000FF0000001E0000 -FF0000000E0000FF0000000E0000FF0000000E0000FF0000000E0000FF0001C00F0000FF -0001C0070000FF0001C0070000FF0001C0070000FF0001C0070000FF0001C0000000FF00 -03C0000000FF0003C0000000FF0007C0000000FF001FC0000000FFFFFFC0000000FFFFFF -C0000000FFFFFFC0000000FFFFFFC0000000FF001FC0000000FF0007C0000000FF0003C0 -000000FF0003C0000000FF0001C0000000FF0001C000E000FF0001C000E000FF0001C000 -E000FF0001C000E000FF0001C001C000FF00000001C000FF00000001C000FF00000001C0 -00FF00000001C000FF00000003C000FF00000003C000FF000000038000FF000000078000 -FF000000078000FF0000000F8000FF0000001F8000FF0000003F8000FF000000FF8001FF -00000FFF80FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF0033397D -B839>I<FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF801FF00001FF800FF -000003FC00FF000001FC00FF000000FC00FF0000007C00FF0000003C00FF0000003C00FF -0000001C00FF0000001C00FF0000001C00FF0000001C00FF0000001E00FF0003800E00FF -0003800E00FF0003800E00FF0003800E00FF0003800000FF0003800000FF0007800000FF -0007800000FF000F800000FF003F800000FFFFFF800000FFFFFF800000FFFFFF800000FF -FFFF800000FF003F800000FF000F800000FF0007800000FF0007800000FF0003800000FF -0003800000FF0003800000FF0003800000FF0003800000FF0003800000FF0000000000FF -0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF -0000000000FF0000000000FF0000000000FF0000000000FF0000000001FF80000000FFFF -FFC00000FFFFFFC00000FFFFFFC00000FFFFFFC000002F397DB836>I<FFFFFFC0FFFFFF -C0FFFFFFC0FFFFFFC000FFC000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 -00007F8000007F8000007F8000007F8000007F800000FFC000FFFFFFC0FFFFFFC0FFFFFF -C0FFFFFFC01A397EB81E>73 D<003FFFFFE0003FFFFFE0003FFFFFE0003FFFFFE000000F -FC00000007F800000007F800000007F800000007F800000007F800000007F800000007F8 -00000007F800000007F800000007F800000007F800000007F800000007F800000007F800 -000007F800000007F800000007F800000007F800000007F800000007F800000007F80000 -0007F800000007F800000007F800000007F800000007F800000007F800000007F8000000 -07F800000007F800000007F800000007F800000007F800000007F800000007F800000007 -F800000007F800000007F8003F0007F8007F8007F800FFC007F800FFC007F800FFC007F8 -00FFC007F800FFC00FF000FF800FF0007F001FE0007C001FE0003E003FC0001F007F8000 -0FC0FF000007FFFC000001FFF00000003FC00000233B7DB82B>I<FFFF00000FFFFEFFFF -80000FFFFEFFFFC0000FFFFEFFFFC0000FFFFE00FFE000007FC000FFF000001F0000FFF0 -00000E0000EFF800000E0000E7FC00000E0000E7FC00000E0000E3FE00000E0000E1FF00 -000E0000E1FF00000E0000E0FF80000E0000E07FC0000E0000E07FC0000E0000E03FE000 -0E0000E03FE0000E0000E01FF0000E0000E00FF8000E0000E00FF8000E0000E007FC000E -0000E003FE000E0000E003FE000E0000E001FF000E0000E000FF800E0000E000FF800E00 -00E0007FC00E0000E0003FE00E0000E0003FE00E0000E0001FF00E0000E0000FF80E0000 -E0000FF80E0000E00007FC0E0000E00003FE0E0000E00003FE0E0000E00001FF0E0000E0 -0000FF8E0000E00000FF8E0000E000007FCE0000E000003FEE0000E000003FEE0000E000 -001FFE0000E000001FFE0000E000000FFE0000E0000007FE0000E0000007FE0000E00000 -03FE0000E0000001FE0000E0000001FE0000E0000000FE0001F00000007E0007FC000000 -7E00FFFFE000003E00FFFFE000001E00FFFFE000001E00FFFFE000000E0037397DB83E> -78 D<000003FF00000000001FFFE000000000FFFFFC00000001FE01FE00000007F8007F -8000000FE0001FC000003FC0000FF000007F800007F80000FF000003FC0001FE000001FE -0001FC000000FE0003FC000000FF0007F80000007F8007F80000007F800FF00000003FC0 -0FF00000003FC01FF00000003FE01FE00000001FE03FE00000001FF03FE00000001FF03F -E00000001FF07FE00000001FF87FC00000000FF87FC00000000FF87FC00000000FF8FFC0 -0000000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC000 -00000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC00000 -000FFCFFC00000000FFC7FC00000000FF87FE00000001FF87FE00000001FF87FE0000000 -1FF83FE00000001FF03FE00000001FF01FF00000003FE01FF00000003FE01FF00000003F -E00FF80000007FC007F80000007F8007FC000000FF8003FC000000FF0001FE000001FE00 -01FE000001FE0000FF000003FC00007F800007F800003FC0000FF000001FF0003FE00000 -07F8007F80000003FF03FF00000000FFFFFC000000001FFFE00000000003FF000000363D -7BBA41>I<FFFFFFFE00000000FFFFFFFFE0000000FFFFFFFFF8000000FFFFFFFFFE0000 -0001FF0007FF80000000FF0000FFC0000000FF00003FE0000000FF00001FF0000000FF00 -000FF8000000FF00000FF8000000FF000007FC000000FF000007FC000000FF000007FE00 -0000FF000007FE000000FF000007FE000000FF000007FE000000FF000007FE000000FF00 -0007FE000000FF000007FE000000FF000007FC000000FF00000FFC000000FF00000FF800 -0000FF00000FF0000000FF00001FE0000000FF00003FC0000000FF0000FF80000000FF00 -07FE00000000FFFFFFF800000000FFFFFFE000000000FFFFFFC000000000FF000FF00000 -0000FF0003F800000000FF0001FC00000000FF0000FE00000000FF00007F00000000FF00 -007F80000000FF00007F80000000FF00003FC0000000FF00003FC0000000FF00003FC000 -0000FF00003FC0000000FF00003FE0000000FF00003FE0000000FF00003FE0000000FF00 -003FF0000000FF00003FF0000000FF00003FF0000000FF00003FF0000000FF00003FF803 -8000FF00003FF8038000FF00003FF8038000FF00001FFC038001FF80001FFC0780FFFFFF -000FFC0700FFFFFF0007FE0F00FFFFFF0003FF1E00FFFFFF0001FFFE0000000000007FFC -0000000000000FF000393B7DB83D>82 D<000FF801C0003FFE01C000FFFF83C003FFFFE7 -C007F807FFC00FE001FFC01FC0007FC03F80003FC03F00001FC07E00000FC07E00000FC0 -7C000007C0FC000007C0FC000003C0FC000003C0FC000003C0FC000001C0FE000001C0FE -000001C0FF000001C0FF800000007FC00000007FE00000007FF80000003FFF8000001FFF -F800001FFFFF80000FFFFFE00007FFFFF80003FFFFFE0000FFFFFF00003FFFFF800007FF -FFC000007FFFC0000007FFE00000007FE00000003FF00000001FF00000000FF000000007 -F800000003F8E0000003F8E0000003F8E0000001F8E0000001F8E0000001F8F0000001F8 -F0000001F8F0000001F0F8000003F0FC000003F0FC000007E0FE000007E0FF00000FC0FF -C0001FC0FFF0003F80FFFE00FF00F8FFFFFE00F03FFFF800E00FFFE000E001FF0000253D -7CBA2E>I<3FFFFFFFFFFFE03FFFFFFFFFFFE03FFFFFFFFFFFE03FFFFFFFFFFFE03FE001 -FE003FE07F0001FE0007F07E0001FE0003F07C0001FE0001F0780001FE0000F0780001FE -0000F0780001FE000070700001FE000070700001FE000070700001FE000070700001FE00 -0070F00001FE000078E00001FE000038E00001FE000038E00001FE000038E00001FE0000 -38000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000 -000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000 -0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000 -01FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001 -FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE -000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE00 -0000000001FE000000000003FF000000001FFFFFFFE000001FFFFFFFE000001FFFFFFFE0 -00001FFFFFFFE00035397DB83C>I<FFFFFF001FFFFEFFFFFF001FFFFEFFFFFF001FFFFE -FFFFFF001FFFFE01FF800000FFC000FF0000003F0000FF0000001E0000FF0000001E0000 -FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF -0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF00 -00001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000 -001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF000000 -1E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E -0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E00 -00FF0000001E0000FF0000001E0000FF0000001E0000FF0000003E00007F0000003C0000 -7F8000003C00007F8000003C00003F8000007C00003FC000007800001FC00000F800001F -E00001F000000FE00001F0000007F00003E0000003F80007C0000001FE001F80000000FF -80FF000000007FFFFE000000001FFFF80000000007FFE00000000000FF000000373B7DB8 -3E>I<FFFFFE01FFFFFC01FFFFC0FFFFFE01FFFFFC01FFFFC0FFFFFE01FFFFFC01FFFFC0 -FFFFFE01FFFFFC01FFFFC001FF800003FF00001FF80000FF000003FE000007E00000FF00 -0001FE000003C00000FF000001FE000003C000007F800001FF0000038000007F800001FF -0000038000007F800001FF0000038000003FC00001FF0000070000003FC00003FF800007 -0000003FC00003FF8000070000003FE00003FF80000F0000001FE000073FC0000E000000 -1FE000073FC0000E0000001FF000073FC0001E0000000FF0000F3FE0001C0000000FF000 -0E1FE0001C0000000FF0000E1FE0001C00000007F8001E1FF0003800000007F8001C0FF0 -003800000007F8001C0FF0003800000003FC001C0FF0007000000003FC003807F8007000 -000003FC003807F8007000000003FE003807F800F000000001FE007003FC00E000000001 -FE007003FC00E000000001FE007003FC00E000000000FF00F003FE01C000000000FF00E0 -01FE01C000000000FF00E001FE01C0000000007F80E001FE0380000000007F81C000FF03 -80000000007F81C000FF0380000000007FC1C000FF0780000000003FC380007F87000000 -00003FC380007F8700000000003FE380007F8F00000000001FE780007FCE00000000001F -E700003FCE00000000001FE700003FCE00000000000FFF00003FFC00000000000FFE0000 -1FFC00000000000FFE00001FFC000000000007FE00001FF8000000000007FC00000FF800 -0000000007FC00000FF8000000000007FC00000FF8000000000003F8000007F000000000 -0003F8000007F0000000000003F8000007F0000000000001F8000007E0000000000001F0 -000003E0000000000001F0000003E0000000000000F0000003C0000000000000E0000001 -C0000000523B7FB855>87 D<FFFFFE0000FFFFE0FFFFFE0000FFFFE0FFFFFE0000FFFFE0 -FFFFFE0000FFFFE001FFE000001FFC00007FC000000FF000007FC000000FC000003FE000 -000F8000001FF000000F8000001FF000001F0000000FF800001E0000000FF800003E0000 -0007FC00003C00000003FE00007C00000003FE0000F800000001FF0000F800000001FF00 -01F000000000FF8001E0000000007FC003E0000000007FC003C0000000003FE007C00000 -00003FE00F80000000001FF00F80000000000FF81F00000000000FF81E000000000007FC -3E000000000007FC3C000000000003FE7C000000000001FFF8000000000001FFF0000000 -000000FFF0000000000000FFE00000000000007FE00000000000003FC00000000000003F -C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000 -0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F -C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000 -0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000007F -E000000000003FFFFFC0000000003FFFFFC0000000003FFFFFC0000000003FFFFFC00000 -3B397FB83E>89 D<018000C003C001E0078003C00F0007800E0007001E000F003C001E00 -38001C0078003C0078003C007000380070003800F0007800E0007000E0007000E0007000 -EF007780FFC07FE0FFE07FF0FFE07FF0FFE07FF07FE03FF07FE03FF03FE01FF03FC01FE0 -0F0007801C1A76B92A>92 D<018003C007800F001E001E003C0038007800780070007000 -F000E000E000E000EF00FFC0FFE0FFE0FFE07FE07FE03FE03FC00F000B1A7BB917>96 -D<003FE0000001FFFC000007FFFF00000FC03F80001F801FE0003FC00FF0003FE007F000 -3FE003F8003FE003F8003FE003FC003FE001FC001FC001FC00020001FC00000001FC0000 -0001FC00000001FC000003FFFC00001FFFFC0000FFFFFC0003FF81FC0007FC01FC001FF0 -01FC003FE001FC003FC001FC007FC001FC007F8001FC00FF8001FC1CFF0001FC1CFF0001 -FC1CFF0001FC1CFF0003FC1CFF0003FC1C7F8007FC1C7FC00FFC1C3FC01E7E381FF07C7F -F80FFFF83FF003FFE03FE0007F800F8026277DA52A>I<03F8000000FFF8000000FFF800 -0000FFF8000000FFF80000000FF800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F800000003F800000003F800000003F80FE00003F87FFC0003F9FFFF0003 -FBE03F8003FF801FC003FF000FE003FE0007F003FC0003F803F80003F803F80001FC03F8 -0001FC03F80001FE03F80000FE03F80000FE03F80000FF03F80000FF03F80000FF03F800 -00FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000 -FE03F80001FE03F80001FE03F80001FC03F80001FC03FC0003F803FC0003F803FE0007F0 -03FF000FE003E7801FC003E3E07F8003C1FFFE0003807FF80000001FC000283B7EB92E> -I<0003FC00001FFF80007FFFE001FE03F003F801F807F003FC0FE007FC0FE007FC1FC007 -FC3FC007FC3F8007FC7F8003F87F8000407F0000007F000000FF000000FF000000FF0000 -00FF000000FF000000FF000000FF000000FF000000FF000000FF0000007F8000007F8000 -007F8000003F80000E3FC0000E1FC0001E1FE0001C0FF0003C07F8007803FC00F001FF03 -E0007FFFC0001FFF000007F8001F277DA525>I<0000001FC0000007FFC0000007FFC000 -0007FFC0000007FFC00000007FC00000001FC00000001FC00000001FC00000001FC00000 -001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000000 -1FC00000001FC00000001FC00000001FC00007F81FC0001FFE1FC0007FFF9FC001FE07FF -C003F801FFC007F0007FC00FE0007FC01FC0003FC01FC0001FC03F80001FC03F80001FC0 -7F80001FC07F80001FC07F00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF -00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC07F00001FC07F00 -001FC07F80001FC03F80001FC03F80001FC01FC0003FC01FC0003FC00FE0007FC007F000 -FFF003F801FFFF01FC07DFFF00FFFF1FFF003FFE1FFF0007F01FC0283B7DB92E>I<0007 -F800001FFF00007FFFC001FC0FE003F807F007F003F80FE001F81FC001FC1FC000FC3F80 -00FE3F80007E7F80007E7F00007F7F00007FFF00007FFF00007FFFFFFFFFFFFFFFFFFFFF -FFFFFF000000FF000000FF000000FF000000FF0000007F0000007F0000007F8000007F80 -00003F8000073FC000071FC0000F0FE0000E07F0001E07F8003C01FC007800FF01F0007F -FFE0001FFF800003FC0020277EA525>I<00007F000001FFC00007FFE0001FC7F0003F8F -F8007F0FF800FE0FF801FC0FF801FC0FF801FC07F003F803E003F8000003F8000003F800 -0003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800 -00FFFFFC00FFFFFC00FFFFFC00FFFFFC0003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000003F8000007FC0000FFFFF800FFFFF800FFFFF800FFFFF8 -001D3B7FBA19>I<00000003E0000FF00FF8003FFC3FFC00FFFF7CFC03F81FF0FC07F00F -E0FC0FE007F0FC0FC003F0301FC003F8001F8001F8003F8001FC003F8001FC003F8001FC -003F8001FC003F8001FC003F8001FC003F8001FC001F8001F8001FC003F8000FC003F000 -0FE007F00007F00FE00007F81FC0000FFFFF00000F3FFC00001E0FF000001E000000001E -000000001E000000001F000000001F000000001F800000000FFFFFC0000FFFFFF80007FF -FFFE0007FFFFFF8007FFFFFFC00FFFFFFFE01F80007FF03F00000FF07E000007F07E0000 -03F8FC000003F8FC000001F8FC000001F8FC000001F8FC000001F8FE000003F87F000007 -F03F000007E03FC0001FE00FE0003F8007FC01FF0001FFFFFC00007FFFF0000007FF0000 -26387EA52A>I<03F800000000FFF800000000FFF800000000FFF800000000FFF8000000 -000FF80000000003F80000000003F80000000003F80000000003F80000000003F8000000 -0003F80000000003F80000000003F80000000003F80000000003F80000000003F8000000 -0003F80000000003F80000000003F80000000003F80000000003F807F0000003F83FFC00 -0003F8FFFF000003F9F07F800003FBC03FC00003FF801FC00003FF001FC00003FE000FE0 -0003FE000FE00003FC000FE00003FC000FE00003FC000FE00003F8000FE00003F8000FE0 -0003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE0 -0003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE0 -0003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE0 -0007FC000FF000FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80293A7EB92E ->I<03C0000FF0000FF0001FF8001FF8001FF8001FF8000FF0000FF00003C00000000000 -000000000000000000000000000000000000000000000001F800FFF800FFF800FFF800FF -F80007F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80007F800FFFFE0FFFFE0FFFFE0FFFFE013387EB718>I<03F800 -0000FFF8000000FFF8000000FFF8000000FFF80000000FF800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F800000003F800000003F800000003F800000003F800000003F800000003 -F803FFFC03F803FFFC03F803FFFC03F803FFFC03F801FF8003F800FE0003F801F80003F8 -01F00003F803C00003F807800003F80F000003F81E000003F87C000003F8FC000003F9FC -000003FBFE000003FFFF000003FFFF000003FF3F800003FC3FC00003F81FC00003F80FE0 -0003F80FF00003F807F80003F803F80003F803FC0003F801FE0003F800FE0003F800FF00 -03F8007F8003F8007FC007FC007FE0FFFFE1FFFFFFFFE1FFFFFFFFE1FFFFFFFFE1FFFF28 -3A7EB92C>107 D<03F800FFF800FFF800FFF800FFF8000FF80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80007FC00FFFFE0FFFFE0FFFFE0FF -FFE0133A7EB918>I<03F807F8000FF00000FFF83FFE007FFC0000FFF87FFF80FFFF0000 -FFF9F03FC3E07F8000FFFBC01FE7803FC0000FFF800FEF001FC00003FF000FFE001FC000 -03FE0007FC000FE00003FE0007FC000FE00003FC0007F8000FE00003FC0007F8000FE000 -03FC0007F8000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE000 -03F80007F0000FE00007FC000FF8001FF000FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF80 -FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF8041257EA446>I<03F807F00000FFF83FFC00 -00FFF8FFFF0000FFF9F07F8000FFFBC03FC0000FFF801FC00003FF001FC00003FE000FE0 -0003FE000FE00003FC000FE00003FC000FE00003FC000FE00003F8000FE00003F8000FE0 -0003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE0 -0003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE0 -0003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE0 -0007FC000FF000FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF8029257EA42E ->I<0003FE0000000FFF8000003FFFE00000FE03F80001F800FC0003F0007E0007E0003F -000FC0001F801FC0001FC01F80000FC03F80000FE03F80000FE07F000007F07F000007F0 -7F000007F07F000007F0FF000007F8FF000007F8FF000007F8FF000007F8FF000007F8FF -000007F8FF000007F8FF000007F8FF000007F87F000007F07F000007F07F80000FF03F80 -000FE03F80000FE01FC0001FC00FC0001F800FE0003F8007F0007F0003F800FE0000FE03 -F800007FFFF000001FFFC0000003FE000025277EA52A>I<03F80FE000FFF87FFC00FFF9 -FFFF00FFFBE07F80FFFF801FC007FF000FE003FE000FF003FC0007F803F80003F803F800 -03FC03F80003FC03F80001FE03F80001FE03F80001FE03F80000FF03F80000FF03F80000 -FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF -03F80001FE03F80001FE03F80001FE03F80003FC03F80003FC03FC0007F803FC0007F803 -FE000FF003FF001FE003FF803FC003FBE07F8003F9FFFE0003F87FF80003F81FC00003F8 -00000003F800000003F800000003F800000003F800000003F800000003F800000003F800 -000003F800000003F800000007FC000000FFFFE00000FFFFE00000FFFFE00000FFFFE000 -0028357EA42E>I<0003F801C0001FFE03C0007FFF83C001FE07C7C003FC01E7C007F800 -FFC00FF0007FC01FE0007FC01FE0003FC03FC0003FC03FC0001FC07F80001FC07F80001F -C07F80001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0 -FF00001FC0FF00001FC0FF00001FC0FF00001FC07F80001FC07F80001FC07F80001FC03F -C0001FC03FC0003FC01FC0003FC01FE0007FC00FF000FFC007F000FFC003F803FFC001FE -0FDFC000FFFF1FC0003FFC1FC00007F01FC00000001FC00000001FC00000001FC0000000 -1FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000003F -E0000007FFFF000007FFFF000007FFFF000007FFFF28357DA42C>I<03F03F00FFF0FFC0 -FFF1FFE0FFF3CFF0FFF78FF00FFF0FF003FE0FF003FE0FF003FE07E003FC018003FC0000 -03FC000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000 -03F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000 -03F8000003F8000003F8000007FC0000FFFFF800FFFFF800FFFFF800FFFFF8001C257EA4 -21>I<00FF870003FFEF000FFFFF001F80FF003E003F007C001F007C000F00F8000F00F8 -000700F8000700FC000700FC000700FE000000FF8000007FF800007FFF80003FFFE0003F -FFF8001FFFFC0007FFFE0001FFFF00007FFF800003FF8000007FC0E0001FC0E0000FC0E0 -000FC0F00007C0F00007C0F00007C0F80007C0F8000780FC000F80FE000F80FF001F00FF -C07E00FBFFFC00F1FFF000E07F80001A277DA521>I<001C0000001C0000001C0000001C -0000001C0000003C0000003C0000003C0000007C0000007C0000007C000000FC000001FC -000003FC000007FC00001FFFFF00FFFFFF00FFFFFF00FFFFFF0001FC000001FC000001FC -000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC -000001FC000001FC000001FC000001FC000001FC000001FC01C001FC01C001FC01C001FC -01C001FC01C001FC01C001FC01C001FC01C001FC01C000FE038000FE0380007F0780007F -8F00003FFE00000FFC000003F0001A347FB220>I<03F8000FE000FFF803FFE000FFF803 -FFE000FFF803FFE000FFF803FFE0000FF8003FE00003F8000FE00003F8000FE00003F800 -0FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F800 -0FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F800 -0FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F800 -0FE00003F8001FE00003F8001FE00003F8001FE00003F8003FE00001F8003FE00001FC00 -7FF80001FC00FFFF8000FE03EFFF80007FFFCFFF80001FFF0FFF800003FC0FE00029267E -A42E>I<FFFFC07FFEFFFFC07FFEFFFFC07FFEFFFFC07FFE07FC001FF003F80007C003FC -00078001FC00070001FC00070001FE000F0000FE000E0000FE000E00007F001C00007F00 -1C00007F803C00003F803800003F803800001FC07000001FC07000001FE07000000FE0E0 -00000FE0E000000FF1E0000007F1C0000007F1C0000003FB80000003FB80000003FF8000 -0001FF00000001FF00000001FF00000000FE00000000FE000000007C000000007C000000 -007C0000000038000027257EA32C>I<FFFF8FFFF07FFEFFFF8FFFF07FFEFFFF8FFFF07F -FEFFFF8FFFF07FFE07F800FF000FF007F8007F0007C003F8007F0007C003F8003F000380 -03FC003F80078001FC007F80070001FC007F80070001FE007FC00F0000FE00FFC00E0000 -FE00EFC00E0000FF00EFE01E00007F01EFE01C00007F01C7E01C00007F81C7F03C00003F -83C7F03800003F8383F03800001FC383F87000001FC701F87000001FC701F87000000FE7 -01FCE000000FEE00FCE000000FEE00FCE0000007FE00FFC0000007FC007FC0000007FC00 -7FC0000003FC007F80000003F8003F80000003F8003F80000001F8003F00000001F0001F -00000001F0001F00000000F0001E00000000E0000E000037257EA33C>I<FFFFC0FFFF00 -FFFFC0FFFF00FFFFC0FFFF00FFFFC0FFFF0001FF007FE00000FF003F0000007F003E0000 -003F803C0000003FC0780000001FC0F00000000FE0E00000000FF1E000000007FBC00000 -0003FF8000000001FF0000000001FF0000000000FE00000000007F00000000007F800000 -00007FC000000000FFC000000001FFE000000001CFF000000003C7F00000000783F80000 -000F03FC0000000E01FC0000001E00FE0000003C00FF0000007C007F800001FC003F8000 -07FC007FE000FFFF01FFFF80FFFF01FFFF80FFFF01FFFF80FFFF01FFFF8029247FA32C> -I<FFFFC07FFEFFFFC07FFEFFFFC07FFEFFFFC07FFE07FC001FF003F80007C003FC000780 -01FC00070001FC00070000FE000E0000FE000E0000FF001E00007F001C00007F001C0000 -3F803800003F803800003FC07800001FC07000001FC07000001FE0F000000FE0E000000F -F0E0000007F1C0000007F1C0000007FBC0000003FB80000003FB80000001FF00000001FF -00000001FF00000000FE00000000FE000000007C000000007C000000007C000000003800 -0000003800000000780000000070000000007000000000E000000000E000007E01E00000 -7E01C00000FF03C00000FF03800000FF07800000FF0F0000007E1E000000783C0000003F -F80000001FF00000000FC000000027357EA32C>I<3FFFFFFC3FFFFFFC3FFFFFFC3FC007 -F83E000FF83C000FF03C001FE038003FE078007FC078007F807000FF007001FF007001FE -007003FC007007FC000007F800000FF000001FF000003FE000003FC000007F800E00FF80 -0E00FF000E01FE000E03FE000E03FC001E07F8001E0FF8001E1FF0001C1FE0003C3FC000 -7C7FC000FC7F8003FCFFFFFFFCFFFFFFFCFFFFFFFC1F247EA325>I<FFFFFFFFFF80FFFF -FFFFFF80FFFFFFFFFF80290380972A>I E /Ff 36 121 df<0000003C00000000007E00 -00000001FE0000000007FE000000001FFE00000000FFFE00000007FFFE000003FFFFFE00 -00FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFF7FFE0000FFF87FFE0000FC007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE00007FFFFFFFFFFE7FFFFFFFFF -FE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE2F4E76CD43>49 -D<00003FFE0000000003FFFFE00000001FFFFFFC0000007FFFFFFF000000FFFFFFFFC000 -01FFFFFFFFE00007FF807FFFF0000FFC001FFFF8001FF00007FFFC001FE00001FFFE003F -F00000FFFF007FFC0000FFFF807FFE00007FFF807FFF00003FFFC0FFFF00003FFFC0FFFF -80003FFFE0FFFF80001FFFE0FFFF80001FFFE0FFFF80001FFFF0FFFF80001FFFF0FFFF80 -000FFFF07FFF00000FFFF07FFF00000FFFF03FFE00000FFFF01FFC00000FFFF00FF80000 -0FFFF003E000001FFFF0000000001FFFE0000000001FFFE0000000001FFFE0000000003F -FFC0000000003FFFC0000000003FFF80000000007FFF80000000007FFF0000000000FFFE -0000000000FFFE0000000001FFFC0000000001FFF80000000003FFF00000000007FFE000 -0000000FFFC0000000000FFF80000000001FFE00000000003FFC00000000007FF8000000 -0000FFF00000000000FFC00000000001FF800000000003FF000000000007FC0000000000 -0FF80003F000001FF00003F000003FE00003F000007FC00003F00000FF000007E00001FE -000007E00003FC000007E00007F8000007E00007F0000007E0000FE000000FE0001F8000 -000FE0003F0000001FE0007FFFFFFFFFE000FFFFFFFFFFC001FFFFFFFFFFC003FFFFFFFF -FFC007FFFFFFFFFFC00FFFFFFFFFFFC01FFFFFFFFFFFC03FFFFFFFFFFFC07FFFFFFFFFFF -C0FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80 -FFFFFFFFFFFF80344E79CD43>I<00000FFF8000000000FFFFFC00000007FFFFFF000000 -1FFFFFFFC000003FFFFFFFF000007FF807FFF80000FFC001FFFC0001FE0000FFFE0003FC -00007FFF0007FE00003FFF800FFF80003FFFC00FFFC0003FFFC00FFFC0001FFFC01FFFE0 -001FFFE01FFFE0001FFFE01FFFE0001FFFE01FFFF0001FFFE01FFFF0001FFFE01FFFE000 -1FFFE01FFFE0001FFFE00FFFE0003FFFE00FFFC0003FFFC007FF80003FFFC003FF00003F -FFC000FE00007FFF80000000007FFF80000000007FFF0000000000FFFE0000000000FFFC -0000000001FFF80000000003FFF00000000007FFE0000000001FFFC000000000FFFF8000 -0000FFFFFE00000000FFFFF800000000FFFFC000000000FFFFFC00000000FFFFFF800000 -000007FFF00000000001FFFC00000000007FFE00000000003FFF00000000003FFF800000 -00001FFFC0000000001FFFE0000000000FFFF0000000000FFFF8000000000FFFF8000000 -0007FFFC0000000007FFFC0000000007FFFC01E0000007FFFE0FFC000007FFFE1FFE0000 -07FFFE3FFF000007FFFE7FFF800007FFFE7FFF800007FFFEFFFFC00007FFFEFFFFC00007 -FFFEFFFFC00007FFFEFFFFC00007FFFCFFFFC00007FFFCFFFFC0000FFFFCFFFFC0000FFF -F87FFF80000FFFF87FFF80000FFFF07FFF00001FFFF03FFE00001FFFE01FF800003FFFC0 -1FFC00007FFF800FFF0001FFFF0007FFF007FFFE0003FFFFFFFFFC0000FFFFFFFFF00000 -3FFFFFFFE000000FFFFFFF00000003FFFFFC000000001FFF800000374F7ACD43>I<0000 -0000007E00000000000000FF00000000000001FF00000000000003FF00000000000003FF -00000000000007FF0000000000000FFF0000000000001FFF0000000000001FFF00000000 -00003FFF0000000000007FFF000000000000FFFF000000000001FFFF000000000001FFFF -000000000003FFFF000000000007FFFF00000000000FFFFF00000000000FFFFF00000000 -001FFFFF00000000003FBFFF00000000007F3FFF0000000000FE3FFF0000000000FE3FFF -0000000001FC3FFF0000000003F83FFF0000000007F03FFF0000000007E03FFF00000000 -0FE03FFF000000001FC03FFF000000003F803FFF000000007F003FFF000000007F003FFF -00000000FE003FFF00000001FC003FFF00000003F8003FFF00000003F0003FFF00000007 -F0003FFF0000000FE0003FFF0000001FC0003FFF0000003F80003FFF0000003F80003FFF -0000007F00003FFF000000FE00003FFF000001FC00003FFF000001F800003FFF000003F8 -00003FFF000007F000003FFF00000FE000003FFF00001FC000003FFF00001FC000003FFF -00003F8000003FFF00007F0000003FFF0000FE0000003FFF0000FFFFFFFFFFFFFFC0FFFF -FFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFF -FFC0000000007FFF0000000000007FFF0000000000007FFF0000000000007FFF00000000 -00007FFF0000000000007FFF0000000000007FFF0000000000007FFF0000000000007FFF -0000000000007FFF0000000000007FFF0000000000007FFF0000000000007FFF00000000 -00007FFF000000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFF -FFC000000FFFFFFFFFC000000FFFFFFFFFC03A4F7CCE43>I<07000000000E0007E00000 -007E0007FC000003FE0007FFE000FFFE0007FFFFFFFFFE0007FFFFFFFFFC0007FFFFFFFF -F80007FFFFFFFFF00007FFFFFFFFE00007FFFFFFFFC00007FFFFFFFF800007FFFFFFFF00 -0007FFFFFFFE000007FFFFFFF8000007FFFFFFE0000007FFFFFF80000007FFFFFE000000 -07FFFFF000000007F0FC0000000007F0000000000007F0000000000007F0000000000007 -F0000000000007F0000000000007F0000000000007F0000000000007F0000000000007F0 -000000000007F0000000000007F00FFF00000007F07FFFF0000007F1FFFFFE000007F7FF -FFFF800007FFFFFFFFC00007FFF807FFE00007FFC001FFF00007FE0000FFF80007FC0000 -7FFC0007F800007FFE0007F000003FFF0007E000003FFF8003C000003FFF80000000003F -FFC0000000001FFFC0000000001FFFE0000000001FFFE0000000001FFFE0000000001FFF -E0000000001FFFF0000000001FFFF0000000001FFFF007E000001FFFF01FF800001FFFF0 -3FFC00001FFFF07FFE00001FFFF07FFE00001FFFF0FFFF00001FFFF0FFFF00001FFFF0FF -FF00001FFFF0FFFF00001FFFE0FFFF00001FFFE0FFFF00001FFFE0FFFE00001FFFE0FFFE -00003FFFC07FFC00003FFFC07FF800003FFF807FE000007FFF803F8000007FFF001FC000 -00FFFE001FE00000FFFC000FF80003FFF80007FE0007FFF00003FFC03FFFE00001FFFFFF -FFC00000FFFFFFFF0000007FFFFFFE0000001FFFFFF800000007FFFFC0000000007FF800 -0000344F79CD43>I<0000000FFF0000000000FFFFE000000007FFFFF00000001FFFFFFC -0000007FFFFFFE000001FFFE03FF000003FFE000FF800007FF80003F80000FFF0000FFC0 -001FFE0003FFC0003FFC0007FFE0007FF80007FFE000FFF0000FFFE001FFF0000FFFE001 -FFE0000FFFE003FFE0000FFFE007FFC0000FFFE007FFC0000FFFE00FFFC00007FFC00FFF -800007FFC01FFF800003FF801FFF800000FE001FFF80000000003FFF80000000003FFF80 -000000003FFF00000000007FFF00000000007FFF00000000007FFF007FF000007FFF03FF -FE00007FFF07FFFF8000FFFF0FFFFFE000FFFF1FFFFFF000FFFF3F81FFFC00FFFF7E003F -FE00FFFFF8001FFF00FFFFF8000FFF80FFFFF00007FF80FFFFE00007FFC0FFFFE00007FF -E0FFFFC00007FFE0FFFFC00003FFF0FFFFC00003FFF0FFFF800003FFF8FFFF800003FFF8 -FFFF800003FFF8FFFF800003FFF8FFFF000003FFFCFFFF000003FFFCFFFF000003FFFC7F -FF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF -000003FFFC3FFF000003FFFC3FFF000003FFFC3FFF000003FFFC3FFF000003FFFC1FFF80 -0003FFF81FFF800003FFF81FFF800003FFF80FFF800003FFF00FFF800003FFF007FF8000 -07FFF007FFC00007FFE003FFC00007FFC001FFE0000FFFC001FFF0000FFF8000FFF8001F -FF00007FFC003FFE00003FFF01FFFC00001FFFFFFFF800000FFFFFFFF0000003FFFFFFC0 -000000FFFFFF000000003FFFFC0000000007FFC00000364F7ACD43>I<1F800000000000 -001FC00000000000001FE00000000000001FFFC000000000001FFFFFFFFFFFFF801FFFFF -FFFFFFFF801FFFFFFFFFFFFF801FFFFFFFFFFFFF801FFFFFFFFFFFFF803FFFFFFFFFFFFF -803FFFFFFFFFFFFF003FFFFFFFFFFFFE003FFFFFFFFFFFFC003FFFFFFFFFFFF8003FFFFF -FFFFFFF0003FFFFFFFFFFFF0003FFFFFFFFFFFE0003FFFFFFFFFFFC0007FFFFFFFFFFF80 -007F80000000FF00007F00000001FE00007F00000003FE00007E00000007FC00007E0000 -000FF800007E0000000FF000007E0000001FE000007E0000003FE00000FC0000007FC000 -00FC000000FF800000FC000001FF000000FC000001FE00000000000003FC000000000000 -07FC0000000000000FF80000000000000FF00000000000001FF00000000000003FE00000 -000000003FE00000000000007FC00000000000007FC0000000000000FFC0000000000001 -FF80000000000001FF80000000000003FF80000000000003FF00000000000007FF000000 -00000007FF0000000000000FFF0000000000000FFF0000000000000FFE0000000000001F -FE0000000000001FFE0000000000001FFE0000000000003FFE0000000000003FFE000000 -0000003FFE0000000000007FFE0000000000007FFC0000000000007FFC0000000000007F -FC000000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC000000 -000000FFFC000000000000FFFC000000000001FFFC000000000001FFFC000000000001FF -FC000000000001FFFC000000000001FFFC000000000001FFFC000000000001FFFC000000 -000001FFFC000000000001FFFC000000000001FFFC000000000001FFFC000000000001FF -FC000000000000FFF80000000000007FF00000000000003FE00000000000000F80000000 -00395279D043>I<03F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FF -FFC0FFFFC0FFFFC07FFF807FFF803FFF001FFE000FFC0003F00000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000003F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FF -FFC0FFFFC07FFF807FFF803FFF001FFE000FFC0003F000123577B425>58 -D<0000000003FFFC000003C0000000007FFFFFC00007C000000007FFFFFFF8000FC00000 -003FFFFFFFFE001FC0000000FFFFFFFFFF803FC0000003FFFFFFFFFFC07FC000000FFFFF -F001FFF0FFC000003FFFFE00003FF9FFC000007FFFF000000FFFFFC00001FFFFC0000003 -FFFFC00003FFFF00000000FFFFC00007FFFC000000007FFFC0000FFFF8000000003FFFC0 -001FFFE0000000001FFFC0003FFFC0000000000FFFC0007FFF800000000007FFC000FFFF -000000000003FFC001FFFF000000000003FFC001FFFE000000000001FFC003FFFE000000 -000001FFC003FFFC000000000000FFC007FFF8000000000000FFC00FFFF8000000000000 -7FC00FFFF80000000000007FC01FFFF00000000000003FC01FFFF00000000000003FC01F -FFF00000000000003FC03FFFE00000000000003FC03FFFE00000000000001FC03FFFE000 -00000000001FC07FFFE00000000000001FC07FFFE00000000000001FC07FFFE000000000 -000000007FFFC000000000000000007FFFC00000000000000000FFFFC000000000000000 -00FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000000000FFFF -C00000000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000 -000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000 -000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000000000 -7FFFC000000000000000007FFFC000000000000000007FFFE000000000000000007FFFE0 -00000000000000007FFFE00000000000000FC03FFFE00000000000000FC03FFFE0000000 -0000000FC03FFFE00000000000000FC01FFFF00000000000000FC01FFFF0000000000000 -0FC01FFFF00000000000001FC00FFFF80000000000001F800FFFF80000000000001F8007 -FFFC0000000000003F8003FFFC0000000000003F8003FFFE0000000000003F0001FFFE00 -00000000007F0001FFFF000000000000FE0000FFFF800000000000FE00007FFF80000000 -0001FC00003FFFC00000000003F800001FFFE00000000007F800000FFFF8000000000FF0 -000007FFFC000000001FE0000003FFFF000000007FC0000001FFFFC0000000FF80000000 -7FFFF0000003FF000000003FFFFE00001FFE000000000FFFFFF001FFF80000000003FFFF -FFFFFFF00000000000FFFFFFFFFFC000000000003FFFFFFFFF00000000000007FFFFFFFC -000000000000007FFFFFE00000000000000003FFFC00000000525479D261>67 -D<FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFF -FFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFFC00007FFFC000003FFFFC000 -07FFFC0000003FFFC00007FFFC0000000FFFC00007FFFC00000003FFC00007FFFC000000 -01FFC00007FFFC00000000FFC00007FFFC000000007FC00007FFFC000000003FC00007FF -FC000000001FC00007FFFC000000001FE00007FFFC000000000FE00007FFFC000000000F -E00007FFFC000000000FE00007FFFC0000000007E00007FFFC0000000007E00007FFFC00 -00000007E00007FFFC0000FC0007E00007FFFC0000FC0007E00007FFFC0000FC0007F000 -07FFFC0000FC0003F00007FFFC0000FC0003F00007FFFC0000FC0003F00007FFFC0000FC -0003F00007FFFC0001FC0000000007FFFC0001FC0000000007FFFC0001FC0000000007FF -FC0003FC0000000007FFFC0007FC0000000007FFFC000FFC0000000007FFFC007FFC0000 -000007FFFFFFFFFC0000000007FFFFFFFFFC0000000007FFFFFFFFFC0000000007FFFFFF -FFFC0000000007FFFFFFFFFC0000000007FFFFFFFFFC0000000007FFFC007FFC00000000 -07FFFC000FFC0000000007FFFC0007FC0000000007FFFC0003FC0000000007FFFC0001FC -0000000007FFFC0001FC0000000007FFFC0001FC00007E0007FFFC0000FC00007E0007FF -FC0000FC00007E0007FFFC0000FC0000FC0007FFFC0000FC0000FC0007FFFC0000FC0000 -FC0007FFFC0000FC0000FC0007FFFC0000FC0000FC0007FFFC0000000001FC0007FFFC00 -00000001FC0007FFFC0000000001F80007FFFC0000000001F80007FFFC0000000003F800 -07FFFC0000000003F80007FFFC0000000003F80007FFFC0000000007F80007FFFC000000 -0007F00007FFFC000000000FF00007FFFC000000000FF00007FFFC000000001FF00007FF -FC000000003FF00007FFFC000000007FF00007FFFC00000000FFF00007FFFC00000003FF -E00007FFFC00000007FFE00007FFFC0000003FFFE00007FFFC000003FFFFE0FFFFFFFFFF -FFFFFFFFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FF -FFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC04F517CD058>69 D<0000000003FFFC0000 -03C000000000007FFFFFC00007C00000000007FFFFFFF8000FC0000000003FFFFFFFFE00 -1FC000000000FFFFFFFFFF803FC000000003FFFFFFFFFFC07FC00000000FFFFFF001FFF0 -FFC00000003FFFFE00003FF9FFC00000007FFFF000000FFFFFC0000001FFFFC0000003FF -FFC0000003FFFF00000000FFFFC0000007FFFC000000007FFFC000000FFFF8000000003F -FFC000001FFFE0000000001FFFC000003FFFC0000000000FFFC000007FFF800000000007 -FFC00000FFFF000000000003FFC00001FFFF000000000003FFC00001FFFE000000000001 -FFC00003FFFE000000000001FFC00003FFFC000000000000FFC00007FFF8000000000000 -FFC0000FFFF80000000000007FC0000FFFF80000000000007FC0001FFFF0000000000000 -3FC0001FFFF00000000000003FC0001FFFF00000000000003FC0003FFFE0000000000000 -3FC0003FFFE00000000000001FC0003FFFE00000000000001FC0007FFFE0000000000000 -1FC0007FFFE00000000000001FC0007FFFE00000000000000000007FFFC0000000000000 -0000007FFFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000 -000000FFFFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000 -000000FFFFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000 -000000FFFFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000 -000000FFFFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000 -0000007FFFC0000000FFFFFFFFFFE07FFFC0000000FFFFFFFFFFE07FFFE0000000FFFFFF -FFFFE07FFFE0000000FFFFFFFFFFE07FFFE0000000FFFFFFFFFFE03FFFE0000000FFFFFF -FFFFE03FFFE000000000007FFFC0003FFFE000000000007FFFC0001FFFF000000000007F -FFC0001FFFF000000000007FFFC0001FFFF000000000007FFFC0000FFFF800000000007F -FFC0000FFFF800000000007FFFC00007FFFC00000000007FFFC00003FFFC00000000007F -FFC00003FFFE00000000007FFFC00001FFFE00000000007FFFC00001FFFF00000000007F -FFC00000FFFF80000000007FFFC000007FFF80000000007FFFC000003FFFC0000000007F -FFC000001FFFE0000000007FFFC000000FFFF800000000FFFFC0000007FFFC00000000FF -FFC0000003FFFF00000001FFFFC0000001FFFFC0000003FFFFC00000007FFFF0000007FF -FFC00000003FFFFE00001FFFFFC00000000FFFFFF001FFF3FFC000000003FFFFFFFFFFE1 -FFC000000000FFFFFFFFFFC07FC0000000003FFFFFFFFF001FC00000000007FFFFFFFC00 -07C000000000007FFFFFE00001C0000000000003FFFE00000000005B5479D26A>71 -D<FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFF -E00007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC0000FFFFFFFFFFE0FFFFFFFFFF -E0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02B527DD132>73 -D<000000000FFFC00000000000000003FFFFFF000000000000001FFFFFFFE00000000000 -00FFFFFFFFFC000000000003FFFFFFFFFF00000000000FFFFC00FFFFC0000000003FFFC0 -000FFFF0000000007FFF000003FFF800000001FFFC000000FFFE00000003FFF80000007F -FF00000007FFE00000001FFF8000000FFFC00000000FFFC000001FFF8000000007FFE000 -003FFF0000000003FFF000007FFF0000000003FFF80000FFFE0000000001FFFC0000FFFC -0000000000FFFC0001FFFC0000000000FFFE0003FFF800000000007FFF0003FFF8000000 -00007FFF0007FFF000000000003FFF8007FFF000000000003FFF800FFFF000000000003F -FFC00FFFE000000000001FFFC01FFFE000000000001FFFE01FFFE000000000001FFFE01F -FFC000000000000FFFE03FFFC000000000000FFFF03FFFC000000000000FFFF03FFFC000 -000000000FFFF07FFFC000000000000FFFF87FFFC000000000000FFFF87FFF8000000000 -0007FFF87FFF80000000000007FFF87FFF80000000000007FFF8FFFF80000000000007FF -FCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF -80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF800000 -00000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF800000000000 -07FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFC -FFFF80000000000007FFFC7FFF80000000000007FFF87FFF80000000000007FFF87FFF80 -000000000007FFF87FFFC000000000000FFFF87FFFC000000000000FFFF83FFFC0000000 -00000FFFF03FFFC000000000000FFFF03FFFC000000000000FFFF01FFFE000000000001F -FFE01FFFE000000000001FFFE01FFFE000000000001FFFE00FFFE000000000001FFFC00F -FFF000000000003FFFC007FFF000000000003FFF8007FFF80001FE00007FFF8003FFF800 -07FF80007FFF0001FFFC001FFFE000FFFE0001FFFC003FFFF000FFFE0000FFFE007FFFF8 -01FFFC00007FFE00FF03FC01FFF800003FFF01FC00FE03FFF000001FFF81F8007F07FFE0 -00000FFFC1F8003F8FFFC0000007FFE1F0001F9FFF80000003FFF9F0001FFFFF00000001 -FFFDF8000FFFFE00000000FFFFF8000FFFFC000000003FFFFC000FFFF0000000000FFFFF -00FFFFC00000000003FFFFFFFFFF000000000000FFFFFFFFFC0000000000001FFFFFFFFE -00000C00000003FFFFFFFE00001E000000001FFFE3FF00001E00000000000001FF80003E -00000000000001FFC0003E00000000000001FFE0007E00000000000001FFF807FE000000 -00000001FFFFFFFE00000000000000FFFFFFFE00000000000000FFFFFFFC000000000000 -00FFFFFFFC000000000000007FFFFFFC000000000000007FFFFFFC000000000000007FFF -FFF8000000000000007FFFFFF8000000000000003FFFFFF8000000000000003FFFFFF000 -0000000000001FFFFFE0000000000000001FFFFFE0000000000000000FFFFFC000000000 -00000007FFFF800000000000000003FFFF000000000000000001FFFE0000000000000000 -007FF80000000000000000001FE000576A79D265>81 D<FFFFFFFFFFFFF00000000000FF -FFFFFFFFFFFF8000000000FFFFFFFFFFFFFFF800000000FFFFFFFFFFFFFFFF00000000FF -FFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFF00000000007FFF800007FFFF800000000 -07FFF800000FFFFE0000000007FFF8000003FFFF0000000007FFF8000000FFFF80000000 -07FFF80000007FFFC000000007FFF80000003FFFC000000007FFF80000001FFFE0000000 -07FFF80000001FFFF000000007FFF80000001FFFF000000007FFF80000000FFFF8000000 -07FFF80000000FFFF800000007FFF80000000FFFF800000007FFF80000000FFFFC000000 -07FFF80000000FFFFC00000007FFF80000000FFFFC00000007FFF80000000FFFFC000000 -07FFF80000000FFFFC00000007FFF80000000FFFFC00000007FFF80000000FFFFC000000 -07FFF80000000FFFFC00000007FFF80000000FFFF800000007FFF80000000FFFF8000000 -07FFF80000000FFFF800000007FFF80000001FFFF000000007FFF80000001FFFE0000000 -07FFF80000003FFFE000000007FFF80000003FFFC000000007FFF80000007FFF80000000 -07FFF8000000FFFF0000000007FFF8000003FFFE0000000007FFF800000FFFFC00000000 -07FFF80000FFFFF00000000007FFFFFFFFFFFFC00000000007FFFFFFFFFFFF0000000000 -07FFFFFFFFFFF8000000000007FFFFFFFFFFF8000000000007FFFFFFFFFFFE0000000000 -07FFF80003FFFF000000000007FFF80000FFFFC00000000007FFF800003FFFE000000000 -07FFF800001FFFF00000000007FFF800000FFFF80000000007FFF800000FFFFC00000000 -07FFF8000007FFFC0000000007FFF8000003FFFE0000000007FFF8000003FFFE00000000 -07FFF8000003FFFE0000000007FFF8000001FFFF0000000007FFF8000001FFFF00000000 -07FFF8000001FFFF0000000007FFF8000001FFFF0000000007FFF8000001FFFF00000000 -07FFF8000001FFFF0000000007FFF8000001FFFF0000000007FFF8000001FFFF00000000 -07FFF8000001FFFF8000000007FFF8000001FFFF8000000007FFF8000001FFFF80000000 -07FFF8000001FFFF8000000007FFF8000001FFFF8000000007FFF8000001FFFF80000000 -07FFF8000001FFFF8000000007FFF8000001FFFF80003C0007FFF8000001FFFFC0007E00 -07FFF8000001FFFFC0007E0007FFF8000001FFFFC0007E0007FFF8000000FFFFE000FE00 -07FFF8000000FFFFE000FE0007FFF80000007FFFF000FC0007FFF80000007FFFF001FCFF -FFFFFFFFC0003FFFF803FCFFFFFFFFFFC0001FFFFE0FF8FFFFFFFFFFC00007FFFFFFF0FF -FFFFFFFFC00003FFFFFFE0FFFFFFFFFFC00000FFFFFFC0FFFFFFFFFFC000001FFFFF0000 -0000000000000000FFFC005F537CD164>I<00000FFF80000F000000FFFFF8001F000007 -FFFFFF003F00001FFFFFFFC07F00003FFFFFFFF0FF0000FFFFFFFFF9FF0001FFFC00FFFF -FF0003FFE0000FFFFF0007FF800003FFFF0007FF000000FFFF000FFE0000003FFF001FFC -0000001FFF001FF80000000FFF003FF800000007FF003FF800000003FF007FF000000001 -FF007FF000000001FF007FF000000000FF00FFF000000000FF00FFF000000000FF00FFF0 -000000007F00FFF8000000007F00FFF8000000007F00FFFC000000003F00FFFC00000000 -3F00FFFE000000003F00FFFF000000003F00FFFF800000000000FFFFE000000000007FFF -FC00000000007FFFFFE0000000007FFFFFFE000000003FFFFFFFF00000003FFFFFFFFF00 -00001FFFFFFFFFE000001FFFFFFFFFFC00000FFFFFFFFFFE000007FFFFFFFFFF800003FF -FFFFFFFFC00003FFFFFFFFFFE00001FFFFFFFFFFF000007FFFFFFFFFF800003FFFFFFFFF -FC00001FFFFFFFFFFE000007FFFFFFFFFF000001FFFFFFFFFF0000007FFFFFFFFF800000 -07FFFFFFFFC00000003FFFFFFFC000000003FFFFFFC0000000001FFFFFE00000000001FF -FFE000000000007FFFE000000000001FFFF000000000000FFFF0000000000007FFF00000 -00000007FFF07C0000000003FFF0FC0000000001FFF0FC0000000001FFF0FC0000000001 -FFF0FC0000000000FFF0FC0000000000FFF0FE0000000000FFF0FE0000000000FFE0FE00 -00000000FFE0FF0000000000FFE0FF0000000000FFE0FF8000000001FFC0FF8000000001 -FFC0FFC000000001FF80FFE000000003FF80FFF800000003FF00FFFC00000007FF00FFFF -0000000FFE00FFFFC000001FFC00FFFFF800007FF800FFFFFFC003FFF000FF9FFFFFFFFF -E000FF0FFFFFFFFFC000FE03FFFFFFFF0000FC007FFFFFFC0000F8000FFFFFF00000F000 -007FFF0000003C5479D24B>I<3FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803F -FFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFF -FFFFFFFFFFFF803FFFE0007FFFC000FFFF807FFE00007FFFC0000FFFC07FF800007FFFC0 -0003FFC07FF000007FFFC00001FFC07FE000007FFFC00000FFC07FC000007FFFC000007F -C07F8000007FFFC000003FC07F8000007FFFC000003FC07F0000007FFFC000001FC07F00 -00007FFFC000001FC07F0000007FFFC000001FC07E0000007FFFC000000FC07E0000007F -FFC000000FC07E0000007FFFC000000FC07E0000007FFFC000000FC07E0000007FFFC000 -000FC0FE0000007FFFC000000FE0FC0000007FFFC0000007E0FC0000007FFFC0000007E0 -FC0000007FFFC0000007E0FC0000007FFFC0000007E0FC0000007FFFC0000007E0FC0000 -007FFFC0000007E0000000007FFFC000000000000000007FFFC000000000000000007FFF -C000000000000000007FFFC000000000000000007FFFC000000000000000007FFFC00000 -0000000000007FFFC000000000000000007FFFC000000000000000007FFFC00000000000 -0000007FFFC000000000000000007FFFC000000000000000007FFFC00000000000000000 -7FFFC000000000000000007FFFC000000000000000007FFFC000000000000000007FFFC0 -00000000000000007FFFC000000000000000007FFFC000000000000000007FFFC0000000 -00000000007FFFC000000000000000007FFFC000000000000000007FFFC0000000000000 -00007FFFC000000000000000007FFFC000000000000000007FFFC000000000000000007F -FFC000000000000000007FFFC000000000000000007FFFC000000000000000007FFFC000 -000000000000007FFFC000000000000000007FFFC000000000000000007FFFC000000000 -000000007FFFC000000000000000007FFFC000000000000000007FFFC000000000000000 -007FFFC000000000000000007FFFC000000000000000007FFFC000000000000000007FFF -C000000000000000007FFFC000000000000000007FFFC000000000000000007FFFC00000 -0000000000007FFFC000000000000000007FFFC000000000000000007FFFC00000000000 -0000007FFFC0000000000001FFFFFFFFFFFFF000000001FFFFFFFFFFFFF000000001FFFF -FFFFFFFFF000000001FFFFFFFFFFFFF000000001FFFFFFFFFFFFF000000001FFFFFFFFFF -FFF0000053517BD05E>I<FFFFFFFFFFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFCFF -FFFFFFFFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFCFF -FFFFFFFFE00007FFFFFFFC0007FFFC00000000007FC0000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000003F80000007FFFC00000000003F80000007FFFC00000000003F800000 -07FFFC00000000007F80000007FFFC00000000007F80000003FFFC00000000007F000000 -03FFFE00000000007F00000003FFFE0000000000FF00000001FFFE0000000000FF000000 -01FFFE0000000001FE00000000FFFF0000000001FE00000000FFFF0000000003FC000000 -007FFF8000000003FC000000007FFF8000000007F8000000003FFFC00000000FF8000000 -001FFFE00000001FF0000000000FFFF00000003FE00000000007FFF8000000FFC0000000 -0003FFFC000003FF800000000001FFFF80000FFF0000000000007FFFF001FFFE00000000 -00003FFFFFFFFFF80000000000000FFFFFFFFFF000000000000003FFFFFFFFC000000000 -0000007FFFFFFF00000000000000000FFFFFF80000000000000000007FFF80000000005E -537CD167>I<FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001 -FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFF -FFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0 -003FFFF00000003FFFF0000000003FE000001FFFF00000001FFFF0000000001F8000001F -FFF00000001FFFF8000000001F8000001FFFF80000001FFFF8000000003F8000000FFFF8 -0000000FFFF8000000003F0000000FFFFC0000000FFFFC000000003F0000000FFFFC0000 -0007FFFC000000007F00000007FFFC00000007FFFC000000007E00000007FFFE00000007 -FFFE00000000FE00000003FFFE00000003FFFE00000000FC00000003FFFE00000003FFFF -00000000FC00000003FFFF00000003FFFF00000001FC00000001FFFF00000001FFFF0000 -0001F800000001FFFF80000003FFFF80000001F800000001FFFF80000003FFFF80000003 -F800000000FFFF80000003FFFF80000003F000000000FFFFC0000007FFFFC0000007F000 -0000007FFFC0000007FFFFC0000007E0000000007FFFC0000007FFFFE0000007E0000000 -007FFFE000000FFFFFE000000FE0000000003FFFE000000FFFFFE000000FC0000000003F -FFF000001FFFFFF000000FC0000000003FFFF000001F9FFFF000001FC0000000001FFFF0 -00001F9FFFF000001F80000000001FFFF800003F9FFFF800003F80000000000FFFF80000 -3F0FFFF800003F00000000000FFFF800003F0FFFFC00003F00000000000FFFFC00007F0F -FFFC00007F000000000007FFFC00007E07FFFC00007E000000000007FFFE0000FE07FFFE -00007E000000000007FFFE0000FE07FFFE0000FE000000000003FFFE0000FC03FFFE0000 -FC000000000003FFFF0001FC03FFFF0001FC000000000003FFFF0001F801FFFF0001FC00 -0000000001FFFF0001F801FFFF8001F8000000000001FFFF8003F801FFFF8003F8000000 -000000FFFF8003F000FFFF8003F0000000000000FFFFC007F000FFFFC003F00000000000 -00FFFFC007F000FFFFC007F00000000000007FFFC007E0007FFFC007E00000000000007F -FFE00FE0007FFFE00FE00000000000007FFFE00FC0003FFFE00FE00000000000003FFFE0 -0FC0003FFFF00FC00000000000003FFFF01FC0003FFFF01FC00000000000001FFFF01F80 -001FFFF01F800000000000001FFFF81F80001FFFF81F800000000000001FFFF83F80001F -FFF83F800000000000000FFFF83F00000FFFF83F000000000000000FFFFC7F00000FFFFC -3F000000000000000FFFFC7E000007FFFC7F0000000000000007FFFC7E000007FFFE7E00 -00000000000007FFFEFE000007FFFEFE0000000000000003FFFEFC000003FFFEFC000000 -0000000003FFFFFC000003FFFFFC0000000000000003FFFFFC000003FFFFFC0000000000 -000001FFFFF8000001FFFFF80000000000000001FFFFF8000001FFFFF800000000000000 -01FFFFF0000000FFFFF80000000000000000FFFFF0000000FFFFF00000000000000000FF -FFF0000000FFFFF000000000000000007FFFE00000007FFFE000000000000000007FFFE0 -0000007FFFE000000000000000007FFFE00000007FFFE000000000000000003FFFC00000 -003FFFC000000000000000003FFFC00000003FFFC000000000000000003FFF800000001F -FFC000000000000000001FFF800000001FFF8000000000000000001FFF800000001FFF80 -00000000000000000FFF000000000FFF0000000000000000000FFF000000000FFF000000 -0000000000000FFF000000000FFF00000000000000000007FE0000000007FE0000000000 -0000000007FE0000000007FE00000000000000000007FC0000000003FE00000000000000 -000003FC0000000003FC00000000000000000003FC0000000003FC000000000000000000 -01F80000000001F8000000000084537DD18B>87 D<00003FFF800000000007FFFFF80000 -00001FFFFFFF000000007FFFFFFFC0000000FFFFFFFFE0000001FFE007FFF8000003FF80 -01FFFC000007FFC0007FFE000007FFC0003FFF00000FFFE0003FFF00000FFFE0001FFF80 -000FFFE0000FFF80000FFFE0000FFFC0000FFFE0000FFFC0000FFFE00007FFE00007FFC0 -0007FFE00007FFC00007FFE00003FF800007FFE00000FE000007FFE0000000000007FFE0 -000000000007FFE0000000000007FFE0000000000007FFE00000000003FFFFE000000003 -FFFFFFE00000003FFFFFFFE0000003FFFFFFFFE000000FFFFFFFFFE000007FFFFC07FFE0 -0000FFFFC007FFE00003FFFE0007FFE00007FFF80007FFE0000FFFE00007FFE0001FFFC0 -0007FFE0003FFF800007FFE0003FFF000007FFE0007FFE000007FFE0007FFE000007FFE0 -00FFFE000007FFE000FFFC000007FFE000FFFC000007FFE000FFFC000007FFE000FFFC00 -000FFFE000FFFC00000FFFE000FFFE00000FFFE0007FFE00001FFFE0007FFE00003FFFE0 -007FFF00007FFFF0003FFF8000FDFFFC001FFFC003F9FFFFE00FFFF81FF1FFFFF007FFFF -FFE0FFFFF001FFFFFFC07FFFF000FFFFFF001FFFF0001FFFFC0007FFE00001FFC0000000 -003C387CB641>97 D<000001FFF8000000001FFFFF80000000FFFFFFE0000003FFFFFFF8 -00000FFFFFFFFC00001FFFC01FFE00007FFE0007FF0000FFFC000FFF8001FFF0000FFF80 -03FFE0001FFFC003FFE0001FFFC007FFC0001FFFC00FFFC0001FFFC00FFF80001FFFC01F -FF80001FFFC01FFF00000FFF803FFF00000FFF803FFF000007FF007FFF000001FC007FFE -00000000007FFE00000000007FFE0000000000FFFE0000000000FFFE0000000000FFFE00 -00000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000 -000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE000000 -00007FFE00000000007FFF00000000007FFF00000000003FFF00000000003FFF00000000 -003FFF80000007E01FFF80000007E01FFFC000000FE00FFFC000000FC007FFE000001FC0 -07FFE000001F8003FFF000003F8001FFF800007F0000FFFE0000FE00007FFF8003FC0000 -3FFFF01FF800000FFFFFFFF0000003FFFFFFE0000000FFFFFF800000003FFFFE00000000 -01FFE0000033387CB63C>99 D<000000000001FFC0000000000007FFFFC0000000000007 -FFFFC0000000000007FFFFC0000000000007FFFFC0000000000007FFFFC0000000000007 -FFFFC00000000000001FFFC000000000000007FFC000000000000007FFC0000000000000 -07FFC000000000000007FFC000000000000007FFC000000000000007FFC0000000000000 -07FFC000000000000007FFC000000000000007FFC000000000000007FFC0000000000000 -07FFC000000000000007FFC000000000000007FFC000000000000007FFC0000000000000 -07FFC000000000000007FFC000000000000007FFC000000000000007FFC0000000000000 -07FFC000000000000007FFC000000000000007FFC000000003FFC007FFC00000003FFFFC -07FFC0000001FFFFFF07FFC0000007FFFFFFC7FFC000000FFFFFFFF7FFC000003FFFE03F -FFFFC000007FFF0007FFFFC00000FFFC0001FFFFC00001FFF000007FFFC00003FFE00000 -3FFFC00007FFC000001FFFC00007FFC000000FFFC0000FFF8000000FFFC0001FFF800000 -0FFFC0001FFF0000000FFFC0003FFF0000000FFFC0003FFF0000000FFFC0003FFF000000 -0FFFC0007FFE0000000FFFC0007FFE0000000FFFC0007FFE0000000FFFC000FFFE000000 -0FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE000000 -0FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE000000 -0FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE000000 -0FFFC0007FFE0000000FFFC0007FFE0000000FFFC0007FFE0000000FFFC0007FFF000000 -0FFFC0003FFF0000000FFFC0003FFF0000000FFFC0001FFF0000000FFFC0001FFF800000 -0FFFC0000FFF8000001FFFC0000FFF8000001FFFC00007FFC000003FFFC00003FFE00000 -7FFFC00001FFF00000FFFFC00000FFF80003FFFFF000007FFE000FFFFFFFC0003FFFC07F -FFFFFFC0001FFFFFFFCFFFFFC00007FFFFFF8FFFFFC00001FFFFFE0FFFFFC000007FFFF8 -0FFFFFC0000007FF800FFE000042547CD24B>I<000003FFC0000000003FFFFC00000001 -FFFFFF00000007FFFFFFC000000FFFFFFFE000003FFF81FFF800007FFC007FFC0000FFF8 -001FFE0001FFF0000FFE0003FFE0000FFF0007FFC00007FF800FFFC00007FF800FFF8000 -03FFC01FFF800003FFC01FFF000001FFC03FFF000001FFE03FFF000001FFE07FFF000001 -FFE07FFF000000FFE07FFE000000FFF07FFE000000FFF0FFFE000000FFF0FFFE000000FF -F0FFFE000000FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0 -FFFFFFFFFFFFE0FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FF -FE0000000000FFFE00000000007FFE00000000007FFF00000000007FFF00000000003FFF -00000000003FFF00000000003FFF00000001E01FFF80000003F01FFF80000007F00FFFC0 -000007F007FFC000000FE007FFE000000FE003FFF000001FC001FFF800003FC000FFFC00 -00FF80007FFF0003FF00001FFFE01FFE00000FFFFFFFF8000003FFFFFFF0000000FFFFFF -C00000001FFFFE0000000001FFF0000034387CB63D>I<00003FFF0000FF000001FFFFE0 -07FF80000FFFFFFC3FFFC0003FFFFFFF7FFFE0007FFFFFFFFFFFF000FFF807FFFF3FF001 -FFE001FFF87FF003FF80007FF03FF007FF80007FF83FF00FFF00003FFC3FE00FFF00003F -FC1FC01FFF00003FFE07801FFE00001FFE00001FFE00001FFE00003FFE00001FFF00003F -FE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001F -FF00003FFE00001FFF00003FFE00001FFF00001FFE00001FFE00001FFE00001FFE00001F -FF00003FFE00000FFF00003FFC00000FFF00003FFC000007FF80007FF8000003FF80007F -F0000001FFE001FFE0000000FFF807FFC0000001FFFFFFFF80000003FFFFFFFF00000003 -EFFFFFFC00000007E1FFFFE000000007C03FFF000000000FC00000000000000FC0000000 -0000000FC00000000000000FE00000000000000FE00000000000000FF00000000000000F -F80000000000000FFE0000000000000FFFFFFFFF0000000FFFFFFFFFF800000FFFFFFFFF -FF000007FFFFFFFFFFC00007FFFFFFFFFFE00003FFFFFFFFFFF00003FFFFFFFFFFF80001 -FFFFFFFFFFFC0000FFFFFFFFFFFE0001FFFFFFFFFFFF0007FFFFFFFFFFFF000FFFFFFFFF -FFFF801FFE000003FFFF803FF80000003FFF807FF00000000FFFC07FF000000003FFC0FF -E000000003FFC0FFE000000001FFC0FFE000000001FFC0FFE000000001FFC0FFE0000000 -01FFC0FFE000000001FFC0FFF000000003FFC07FF000000003FF807FF800000007FF803F -FC0000000FFF001FFE0000001FFE000FFF8000007FFC0007FFE00001FFF80003FFFE001F -FFF00001FFFFFFFFFFE000007FFFFFFFFF8000000FFFFFFFFC00000001FFFFFFE0000000 -000FFFFC0000003C4F7CB543>103 D<003FF8000000000000FFFFF8000000000000FFFF -F8000000000000FFFFF8000000000000FFFFF8000000000000FFFFF8000000000000FFFF -F800000000000003FFF800000000000000FFF800000000000000FFF800000000000000FF -F800000000000000FFF800000000000000FFF800000000000000FFF800000000000000FF -F800000000000000FFF800000000000000FFF800000000000000FFF800000000000000FF -F800000000000000FFF800000000000000FFF800000000000000FFF800000000000000FF -F800000000000000FFF800000000000000FFF800000000000000FFF800000000000000FF -F800000000000000FFF800000000000000FFF800000000000000FFF8001FFE00000000FF -F800FFFFC0000000FFF803FFFFF0000000FFF80FFFFFF8000000FFF81FFFFFFC000000FF -F83FE0FFFE000000FFF87F003FFF000000FFF8FC003FFF000000FFF9F0001FFF800000FF -FBE0001FFF800000FFFFC0001FFF800000FFFFC0000FFFC00000FFFF80000FFFC00000FF -FF00000FFFC00000FFFF00000FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FF -FE00000FFFC00000FFFE00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FF -FC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FF -FC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FF -FC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FF -FC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FF -FC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FF -FC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FF -FC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC000FFFFFFFC0FFFFFFFC0FFFF -FFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFF -FFFC0FFFFFFFC042537BD24B>I<003F000000FFC00001FFE00003FFF00007FFF8000FFF -FC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC0007FFF80003FF -F00001FFE00000FFC000003F000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000001FF800FFFFF800FFFF -F800FFFFF800FFFFF800FFFFF800FFFFF80001FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F800FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C547BD326>I<003FF8 -0000000000FFFFF80000000000FFFFF80000000000FFFFF80000000000FFFFF800000000 -00FFFFF80000000000FFFFF8000000000003FFF8000000000000FFF8000000000000FFF8 -000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF800000000 -0000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8 -000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF800000000 -0000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8 -000000000000FFF8000000000000FFF8000000000000FFF80007FFFFF800FFF80007FFFF -F800FFF80007FFFFF800FFF80007FFFFF800FFF80007FFFFF800FFF80007FFFFF800FFF8 -00007FF00000FFF800007FE00000FFF80000FF800000FFF80001FF000000FFF80007FE00 -0000FFF8000FFC000000FFF8001FF0000000FFF8003FE0000000FFF800FFC0000000FFF8 -01FF80000000FFF803FF00000000FFF807FC00000000FFF80FF800000000FFF83FF00000 -0000FFF87FF000000000FFF8FFF800000000FFF9FFFC00000000FFFBFFFE00000000FFFF -FFFF00000000FFFFFFFF00000000FFFFFFFF80000000FFFFFFFFC0000000FFFF9FFFE000 -0000FFFF0FFFE0000000FFFE0FFFF0000000FFF807FFF8000000FFF803FFFC000000FFF8 -01FFFC000000FFF800FFFE000000FFF800FFFF000000FFF8007FFF800000FFF8003FFF80 -0000FFF8001FFFC00000FFF8001FFFE00000FFF8000FFFF00000FFF80007FFF80000FFF8 -0003FFF80000FFF80003FFFC0000FFF80001FFFE0000FFF80000FFFF0000FFF80000FFFF -80FFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFF -F807FFFFFFFFFFFFF807FFFFFF40537CD247>107 D<003FF8001FFE000000FFF00000FF -FFF800FFFFE00007FFFF0000FFFFF803FFFFF8001FFFFFC000FFFFF80FFFFFFC007FFFFF -E000FFFFF81FFFFFFE00FFFFFFF000FFFFF83FE07FFF01FF03FFF800FFFFF87F001FFF83 -F800FFFC0003FFF8FC001FFF87E000FFFC0000FFF9F8000FFFCFC0007FFE0000FFFBE000 -0FFFDF00007FFE0000FFFFE0000FFFFF00007FFE0000FFFFC00007FFFE00003FFF0000FF -FF800007FFFC00003FFF0000FFFF000007FFF800003FFF0000FFFF000007FFF800003FFF -0000FFFF000007FFF800003FFF0000FFFE000007FFF000003FFF0000FFFE000007FFF000 -003FFF0000FFFE000007FFF000003FFF0000FFFC000007FFE000003FFF0000FFFC000007 -FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC -000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF00 -00FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE00000 -3FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FF -E000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC00 -0007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000 -FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003F -FF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE0 -00003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC0000 -07FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF00FFFF -FFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFF -FFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE0 -3FFFFFFF68367BB571>109 D<003FF8001FFE000000FFFFF800FFFFC00000FFFFF803FF -FFF00000FFFFF80FFFFFF80000FFFFF81FFFFFFC0000FFFFF83FE0FFFE0000FFFFF87F00 -3FFF000003FFF8FC003FFF000000FFF9F0001FFF800000FFFBE0001FFF800000FFFFC000 -1FFF800000FFFFC0000FFFC00000FFFF80000FFFC00000FFFF00000FFFC00000FFFF0000 -0FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFE0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC000FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0F -FFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC042367BB54B ->I<000001FFE000000000001FFFFE0000000000FFFFFFC000000003FFFFFFF00000000F -FFFFFFFC0000001FFF807FFE0000007FFC000FFF800000FFF80007FFC00001FFE00001FF -E00003FFC00000FFF00003FFC00000FFF00007FF8000007FF8000FFF8000007FFC000FFF -0000003FFC001FFF0000003FFE001FFF0000003FFE003FFF0000003FFF003FFE0000001F -FF003FFE0000001FFF007FFE0000001FFF807FFE0000001FFF807FFE0000001FFF807FFE -0000001FFF80FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001F -FFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE -0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC07FFE0000001F -FF807FFE0000001FFF807FFE0000001FFF803FFE0000001FFF003FFF0000003FFF003FFF -0000003FFF001FFF0000003FFE001FFF0000003FFE000FFF8000007FFC000FFF8000007F -FC0007FFC00000FFF80003FFC00000FFF00001FFE00001FFE00000FFF80007FFC000007F -FC000FFF8000003FFF807FFF0000000FFFFFFFFC00000007FFFFFFF800000000FFFFFFC0 -000000003FFFFF000000000001FFE00000003A387CB643>I<003FF8007FF8000000FFFF -F807FFFF800000FFFFF83FFFFFE00000FFFFF8FFFFFFF80000FFFFF9FFFFFFFE0000FFFF -FFFF80FFFF0000FFFFFFF8003FFF800001FFFFE0000FFFC00000FFFFC00007FFE00000FF -FF000003FFF00000FFFE000001FFF80000FFFC000001FFFC0000FFFC000000FFFC0000FF -FC000000FFFE0000FFFC0000007FFE0000FFFC0000007FFF0000FFFC0000007FFF0000FF -FC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF8000FF -FC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FF -FC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FF -FC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FF -FC0000001FFFC000FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF8000FF -FC0000003FFF0000FFFC0000007FFF0000FFFC0000007FFF0000FFFC0000007FFE0000FF -FC000000FFFE0000FFFC000000FFFC0000FFFE000001FFF80000FFFF000003FFF80000FF -FF000007FFF00000FFFFC0000FFFE00000FFFFE0001FFFC00000FFFFF8007FFF800000FF -FFFF01FFFF000000FFFDFFFFFFFC000000FFFCFFFFFFF0000000FFFC3FFFFFC0000000FF -FC0FFFFF00000000FFFC00FFF000000000FFFC00000000000000FFFC00000000000000FF -FC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FF -FC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FF -FC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FF -FC00000000000000FFFC000000000000FFFFFFFC0000000000FFFFFFFC0000000000FFFF -FFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000424D -7CB54B>I<000001FFC00007C00000003FFFF8000FC0000000FFFFFE001FC0000003FFFF -FF801FC000000FFFFFFFC03FC000003FFFE03FE07FC000007FFF8007F07FC00000FFFE00 -03F8FFC00001FFFC0001FDFFC00003FFF80000FFFFC00007FFF000007FFFC00007FFE000 -003FFFC0000FFFC000003FFFC0001FFFC000001FFFC0001FFF8000001FFFC0003FFF8000 -000FFFC0003FFF8000000FFFC0003FFF00000007FFC0007FFF00000007FFC0007FFF0000 -0007FFC0007FFF00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE0000 -0007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE0000 -0007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE0000 -0007FFC000FFFE00000007FFC000FFFE00000007FFC0007FFF00000007FFC0007FFF0000 -0007FFC0007FFF00000007FFC0007FFF00000007FFC0003FFF80000007FFC0003FFF8000 -0007FFC0001FFF8000000FFFC0001FFFC000001FFFC0000FFFC000001FFFC0000FFFE000 -003FFFC00007FFE000007FFFC00003FFF00000FFFFC00001FFF80001FFFFC00000FFFC00 -03FFFFC000007FFF000FFFFFC000003FFFC07FEFFFC000001FFFFFFFCFFFC0000007FFFF -FF0FFFC0000001FFFFFE0FFFC00000007FFFF00FFFC000000007FF800FFFC00000000000 -000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000 -000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000 -000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000 -000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000 -0FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC000000000 -0FFFFFFFC0000000000FFFFFFFC0424D7CB547>I<003FF007FC00FFFFF01FFF80FFFFF0 -7FFFE0FFFFF0FFFFF0FFFFF1FFFFF8FFFFF1FC7FFCFFFFF3F07FFC03FFF7E0FFFE00FFF7 -C0FFFE00FFFF80FFFE00FFFF80FFFE00FFFF00FFFE00FFFF00FFFE00FFFE007FFC00FFFE -007FFC00FFFE003FF800FFFC000FE000FFFC00000000FFFC00000000FFFC00000000FFFC -00000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8 -00000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8 -00000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8 -00000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8 -00000000FFF800000000FFF800000000FFF8000000FFFFFFFE0000FFFFFFFE0000FFFFFF -FE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE00002F367CB537>I<0003FFF00F00003F -FFFE3F0000FFFFFFFF0001FFFFFFFF0007FFFFFFFF000FFF003FFF001FF80007FF003FE0 -0003FF003FC00000FF007FC00000FF007F8000007F007F8000007F00FF8000003F00FF80 -00003F00FFC000003F00FFC000003F00FFE000003F00FFF800000000FFFF00000000FFFF -F00000007FFFFFC000007FFFFFFC00007FFFFFFF80003FFFFFFFE0001FFFFFFFF0000FFF -FFFFF80007FFFFFFFE0003FFFFFFFF0001FFFFFFFF80007FFFFFFF80001FFFFFFFC00007 -FFFFFFE000003FFFFFE0000001FFFFE00000000FFFF000000003FFF07C000000FFF0FC00 -00007FF0FC0000003FF0FE0000003FF0FE0000001FF0FE0000001FF0FF0000001FF0FF00 -00001FE0FF8000001FE0FFC000003FE0FFE000003FC0FFF000007FC0FFF80000FF80FFFE -0003FF00FFFFC01FFE00FFFFFFFFFC00FF7FFFFFF800FE1FFFFFE000F807FFFF8000F000 -FFF800002C387CB635>I<00007E00000000007E00000000007E00000000007E00000000 -007E00000000007E0000000000FE0000000000FE0000000000FE0000000000FE00000000 -01FE0000000001FE0000000001FE0000000003FE0000000003FE0000000007FE00000000 -07FE000000000FFE000000001FFE000000003FFE000000007FFE00000000FFFE00000003 -FFFE0000000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FF -FFFFFFFF00007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000 -7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000 -7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000 -7FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00000000 -7FFE000000007FFE000000007FFE000000007FFE000FC0007FFE000FC0007FFE000FC000 -7FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC000 -7FFE000FC0007FFE000FC0003FFE001F80003FFF001F80003FFF003F80001FFF803F0000 -1FFF807F00000FFFE0FE000007FFFFFC000003FFFFF8000000FFFFF00000003FFFC00000 -0007FF00002A4D7ECB34>I<001FFC000001FFC000FFFFFC000FFFFFC000FFFFFC000FFF -FFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFF -FFC00003FFFC00003FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000F -FFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000F -FFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000F -FFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000F -FFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000F -FFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000F -FFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000F -FFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000F -FFC00000FFFC00001FFFC00000FFFC00001FFFC00000FFFC00001FFFC00000FFFC00003F -FFC00000FFFC00003FFFC00000FFFC00007FFFC000007FFC0000FFFFC000007FFC0000FF -FFC000003FFE0003F7FFF000003FFF0007E7FFFFC0001FFFC03FC7FFFFC0000FFFFFFF87 -FFFFC00007FFFFFF07FFFFC00001FFFFFE07FFFFC000007FFFF807FFFFC0000007FFC007 -FF000042377BB54B>I<7FFFFFF800FFFFFE007FFFFFF800FFFFFE007FFFFFF800FFFFFE -007FFFFFF800FFFFFE007FFFFFF800FFFFFE007FFFFFF800FFFFFE00003FFF80000FFC00 -00001FFFC0000FF00000000FFFE0001FE00000000FFFE0003FC000000007FFF0007F8000 -000003FFF8007F0000000001FFFC00FF0000000000FFFE01FE0000000000FFFE03FC0000 -0000007FFF07F800000000003FFF8FF000000000001FFFCFE000000000000FFFFFE00000 -0000000FFFFFC0000000000007FFFF80000000000003FFFF00000000000001FFFE000000 -00000001FFFE00000000000000FFFE000000000000007FFF000000000000003FFF800000 -000000001FFFC00000000000003FFFC00000000000007FFFE00000000000007FFFF00000 -00000000FFFFF8000000000001FFFFFC000000000003FDFFFC000000000007F8FFFE0000 -0000000FF07FFF00000000000FE03FFF80000000001FE01FFFC0000000003FC01FFFC000 -0000007F800FFFE000000000FF0007FFF000000001FE0003FFF800000003FC0001FFFC00 -000003F80001FFFC00000007F80000FFFE0000000FF000007FFF0000003FF000003FFF80 -00FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFF -C0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC042357EB447>120 -D E /Fg 19 121 df<000000003FF000000000000003FFFE0000000000001FFFFF800000 -000000FFE01FE00000000003FE0003F00000000007F80000F8000000001FF000007C0000 -00003FE000003E000000007FC00000FE00000000FF800003FE00000001FF000003FF0000 -0003FE000007FF00000003FE000007FF00000007FC000007FF0000000FFC000007FF0000 -000FF8000007FF0000000FF8000003FE0000001FF8000001FC0000001FF0000000700000 -001FF0000000000000001FF0000000000000001FF0000000000000001FF0000000000000 -001FF0000000000000001FF0000000000000001FF0000000000000001FF0000000000000 -001FF0000000000000001FF0000000000000001FF0000000000000001FF0000000000000 -001FF0000000000000001FF0000000000000001FF0000000000000001FF0000000000000 -001FF0000000000000001FF0000000000000001FF0000000000000001FF0000001FF0000 -FFFFFFFFFFFFFF0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFF0000 -FFFFFFFFFFFFFF0000001FF000000FFF0000001FF0000003FF0000001FF0000003FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000 -001FF0000001FF0000001FF0000001FF0000001FF0000001FF0000003FF8000003FF8000 -007FFC000007FFC0007FFFFFFC07FFFFFFC07FFFFFFC07FFFFFFC07FFFFFFC07FFFFFFC0 -7FFFFFFC07FFFFFFC07FFFFFFC07FFFFFFC042657EE448>12 D<00000FFE00000000007F -FFE000000003FFFFF80000000FFFFFFE0000001FFFFFFF8000003FC01FFFE00000FE0003 -FFF00001F80000FFF80003F000003FFC0003E000001FFE0007C000000FFF000F80000007 -FF800F00000003FF801F00000003FFC01E00000001FFC03E00000000FFE03C00000000FF -E07C00000000FFF078000000007FF078000000007FF078000000007FF0FF800000003FF8 -FFE00000003FF8FFE00000003FF8FFF00000003FF8FFF00000003FF8FFF00000003FF8FF -F00000003FF8FFF00000003FF8FFF00000003FF87FE00000003FF83FC00000003FF80600 -0000003FF000000000007FF000000000007FF000000000007FF000000000007FE0000000 -0000FFE00000000000FFE00000000001FFC00000000001FFC00000000001FF8000000000 -03FF000000000003FF000000000007FE00000000000FFC00000000000FFC00000000001F -F800000000001FF000000000003FE000000000007FC000000000007F800000000000FF00 -0000000001FF000000000003FE000000000007FC000000000007F000000000000FE00000 -0000001FC000000000003F8000000000007F000000000000FE000000000000FC00000000 -0001F8000000000003F0000000000007E000000000000FC000000000001F800000000000 -3F0000000000007E0000000000007C000000000000F8000000780001F0000000780003E0 -000000780007C000000078000F80000000F0001F00000000F0003E00000000F0003C0000 -0000F0007800000000F000F000000001F001E000000001F003E000000001E007C0000000 -03E00F8000000007E01FFFFFFFFFFFE01FFFFFFFFFFFE03FFFFFFFFFFFE07FFFFFFFFFFF -E0FFFFFFFFFFFFE0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0 -355E7ADD42>50 D<0F803FE07FF07FF0FFF8FFF8FFF8FFF8FFF87FF07FF03FE00F800000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000F80 -3FE07FF07FF0FFF8FFF8FFF8FFF8FFF87FF07FF03FE00F800D3E75BD24>58 -D<FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFF -FFFFFFFF80FFFFFFFFFFFFFFFFFF80007FFC00000003FFFF80003FF8000000003FFFC000 -1FF80000000007FFC0001FF80000000001FFC0001FF80000000000FFC0001FF800000000 -007FC0001FF800000000003FC0001FF800000000001FC0001FF800000000000FC0001FF8 -00000000000FC0001FF8000000000007C0001FF8000000000007C0001FF8000000000007 -E0001FF8000000000003E0001FF8000000000003E0001FF8000000000003E0001FF80000 -00000001E0001FF8000000000001E0001FF8000000000001E0001FF8000000000001E000 -1FF8000000000001E0001FF8000000000001E0001FF8000000000001E0001FF8000000F0 -0000F0001FF8000000F00000F0001FF8000000F00000F0001FF8000000F00000F0001FF8 -000000F00000F0001FF8000000F0000000001FF8000000F0000000001FF8000000F00000 -00001FF8000001F0000000001FF8000001F0000000001FF8000001F0000000001FF80000 -01F0000000001FF8000003F0000000001FF8000007F0000000001FF800000FF000000000 -1FF800001FF0000000001FF80000FFF0000000001FFFFFFFFFF0000000001FFFFFFFFFF0 -000000001FFFFFFFFFF0000000001FFFFFFFFFF0000000001FFFFFFFFFF0000000001FF8 -0000FFF0000000001FF800001FF0000000001FF800000FF0000000001FF8000007F00000 -00001FF8000003F0000000001FF8000001F0000000001FF8000001F0000000001FF80000 -01F0000000001FF8000001F0000000001FF8000000F0000000001FF8000000F000001E00 -1FF8000000F000001E001FF8000000F000001E001FF8000000F000001E001FF8000000F0 -00003C001FF8000000F000003C001FF8000000F000003C001FF80000000000003C001FF8 -0000000000003C001FF80000000000003C001FF80000000000007C001FF8000000000000 -78001FF800000000000078001FF800000000000078001FF800000000000078001FF80000 -00000000F8001FF8000000000000F8001FF8000000000000F8001FF8000000000001F800 -1FF8000000000001F0001FF8000000000001F0001FF8000000000003F0001FF800000000 -0003F0001FF8000000000007F0001FF8000000000007F0001FF800000000000FF0001FF8 -00000000001FF0001FF800000000003FE0001FF800000000007FE0001FF80000000001FF -E0001FF80000000007FFE0003FF8000000003FFFE0007FFC00000007FFFFE0FFFFFFFFFF -FFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FF -FFFFFFFFFFFFFFFFC04F6279E15A>69 D<FFFFFFFFFFFFC0000000FFFFFFFFFFFFFE0000 -00FFFFFFFFFFFFFFC00000FFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFFC0000007FFC0000 -01FFFE0000003FF80000001FFF8000001FF800000003FFC000001FF800000000FFE00000 -1FF8000000007FF000001FF8000000003FF800001FF8000000001FFC00001FF800000000 -0FFE00001FF80000000007FF00001FF80000000003FF00001FF80000000003FF80001FF8 -0000000003FF80001FF80000000001FFC0001FF80000000001FFC0001FF80000000001FF -E0001FF80000000000FFE0001FF80000000000FFE0001FF80000000000FFF0001FF80000 -000000FFF0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FFF000 -1FF80000000000FFF0001FF80000000000FFF0001FF80000000000FFF0001FF800000000 -00FFF0001FF80000000000FFF0001FF80000000000FFE0001FF80000000001FFE0001FF8 -0000000001FFE0001FF80000000001FFC0001FF80000000001FFC0001FF80000000003FF -80001FF80000000003FF80001FF80000000003FF00001FF80000000007FE00001FF80000 -00000FFE00001FF8000000001FFC00001FF8000000003FF800001FF8000000007FF00000 -1FF800000000FFE000001FF800000003FF8000001FF80000001FFF0000001FF8000001FF -FC0000001FFFFFFFFFFFF00000001FFFFFFFFFFFC00000001FFFFFFFFFFE000000001FFF -FFFFFFC0000000001FF800000000000000001FF800000000000000001FF8000000000000 -00001FF800000000000000001FF800000000000000001FF800000000000000001FF80000 -0000000000001FF800000000000000001FF800000000000000001FF80000000000000000 -1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000 -000000001FF800000000000000001FF800000000000000001FF800000000000000001FF8 -00000000000000001FF800000000000000001FF800000000000000001FF8000000000000 -00001FF800000000000000001FF800000000000000001FF800000000000000001FF80000 -0000000000001FF800000000000000001FF800000000000000001FF80000000000000000 -1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000 -000000001FF800000000000000001FF800000000000000001FF800000000000000001FF8 -00000000000000001FF800000000000000001FF800000000000000003FFC000000000000 -00007FFE00000000000000FFFFFFFF000000000000FFFFFFFF000000000000FFFFFFFF00 -0000000000FFFFFFFF000000000000FFFFFFFF0000000000004C6279E15A>80 -D<000007FF0000070000003FFFF00007000001FFFFFC000F000007FFFFFF000F00000FFF -FFFFC01F00003FFC00FFF01F00007FE0000FF83F0000FF800003FC3F0001FF000000FE7F -0003FC0000007F7F0007F80000003FFF000FF00000001FFF000FF00000000FFF001FE000 -000007FF001FC000000003FF003FC000000003FF003F8000000001FF007F8000000000FF -007F8000000000FF007F80000000007F007F00000000007F00FF00000000007F00FF0000 -0000003F00FF00000000003F00FF00000000003F00FF00000000001F00FF00000000001F -00FF80000000001F00FF80000000001F00FF80000000001F00FF80000000000F00FFC000 -0000000F007FC0000000000F007FE0000000000F007FF00000000000003FF00000000000 -003FF80000000000003FFC0000000000001FFF0000000000001FFF8000000000000FFFE0 -000000000007FFFC000000000007FFFFC00000000003FFFFF80000000001FFFFFF800000 -0000FFFFFFF8000000007FFFFFFF800000001FFFFFFFE00000000FFFFFFFF800000003FF -FFFFFE00000000FFFFFFFF800000001FFFFFFFC000000001FFFFFFE0000000003FFFFFF0 -0000000003FFFFF800000000003FFFFC000000000003FFFE0000000000007FFE00000000 -00001FFF0000000000000FFF80000000000007FF80000000000003FFC0000000000001FF -C0000000000000FFC0000000000000FFE00000000000007FE00000000000003FE0000000 -0000003FE0F000000000003FF0F000000000001FF0F000000000001FF0F000000000001F -F0F000000000000FF0F000000000000FF0F000000000000FF0F800000000000FF0F80000 -0000000FF0F800000000000FF0F800000000000FF0FC00000000000FF0FC00000000000F -E0FE00000000001FE0FE00000000001FE0FF00000000001FC0FF00000000003FC0FF8000 -0000003FC0FF80000000003F80FFC0000000007F80FFE000000000FF00FFF000000000FF -00FFF800000001FE00FFFC00000003FC00FEFF00000007F800FE7FC000000FF800FC1FF0 -00001FF000FC0FFE00007FE000F807FFE003FF8000F801FFFFFFFF0000F0007FFFFFFC00 -00F0001FFFFFF00000E00003FFFFC00000E000001FFE0000003C667AE349>83 -D<00001FF8000000000001FFFF000000000007FFFFE0000000001FE01FF8000000003F00 -03FC000000007C0001FF00000000F80000FF80000001F000007FC0000003E000003FE000 -0007C000001FF0000007C000001FF0000007F800000FF800000FFC00000FF800000FFE00 -0007FC00000FFE000007FC00000FFE000007FC00000FFE000003FE00000FFE000003FE00 -000FFE000003FE000007FC000003FE000001F0000003FE00000000000003FE0000000000 -0003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00 -0000000003FFFE0000000000FFFFFE000000000FFFFFFE000000007FFF03FE00000003FF -E003FE0000000FFF0003FE0000003FFC0003FE0000007FF00003FE000001FFC00003FE00 -0003FF800003FE000007FF000003FE00000FFE000003FE00000FFC000003FE00001FF800 -0003FE00003FF8000003FE00003FF0000003FE00007FF0000003FE00F07FE0000003FE00 -F07FE0000003FE00F0FFE0000003FE00F0FFC0000003FE00F0FFC0000003FE00F0FFC000 -0007FE00F0FFC0000007FE00F0FFC0000007FE00F0FFC000000FFE00F0FFE000000FFE00 -F07FE000001FFE00F07FE000003DFE00F03FF0000038FE00E03FF8000078FF01E01FFC00 -00F0FF01E00FFE0003E07F83C007FF0007C07FC7C001FFC03F003FFF80007FFFFC001FFF -00001FFFF0000FFC000001FF800003F0003C417BBF42>97 D<000001FF80000000000FFF -F8000000003FFFFE00000000FF807F80000003FC000FE0000007F00003F000001FE00000 -F800003FC000007C00007F8000003E0000FF0000001F0001FF0000001F0001FE000000FF -0003FC000001FF8007FC000003FF8007F8000003FF800FF8000003FF800FF8000003FF80 -1FF0000003FF801FF0000003FF803FF0000001FF003FE00000007C003FE000000000007F -E000000000007FE000000000007FE000000000007FC00000000000FFC00000000000FFC0 -0000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000 -00000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000 -000000FFC000000000007FC000000000007FE000000000007FE000000000007FE0000000 -00007FE000000000003FE000000000003FF000000000003FF000000000001FF000000003 -C01FF800000003C00FF800000007C00FFC000000078007FC000000078003FE0000000F80 -03FE0000000F0001FF0000001F0000FF8000003E00007FC000003C00003FE00000780000 -1FF00000F000000FF80003E0000003FE0007C0000000FF803F800000003FFFFE00000000 -0FFFF80000000001FF80000032417CBF3A>99 D<000001FF00000000001FFFF000000000 -7FFFFC00000001FF01FF00000003F8007FC000000FF0001FE000001FC0000FF000003F80 -0007F800007F000007FC0000FF000003FC0001FE000001FE0003FC000001FE0003FC0000 -00FF0007F8000000FF000FF8000000FF800FF00000007F801FF00000007F801FF0000000 -7FC01FE00000007FC03FE00000003FC03FE00000003FC07FE00000003FE07FE00000003F -E07FE00000003FE07FC00000003FE07FC00000003FE0FFC00000003FE0FFFFFFFFFFFFE0 -FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFC00000000000FFC00000000000FFC00000000000FF -C00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0 -00000000007FC000000000007FE000000000007FE000000000007FE000000000003FE000 -000000003FE000000000003FF000000000001FF000000000001FF000000001E00FF80000 -0001E00FF800000003E007F800000003C007FC00000003C003FC00000007C001FE000000 -0F8000FF0000000F0000FF8000001F00007FC000003E00003FE000007C00000FF00000F8 -000007F80001F0000003FE0007E0000000FFC03F800000003FFFFE0000000007FFF80000 -000000FFC0000033417DBF3A>101 D<0000000000003F80000003FC0001FFE000003FFF -C007FFF00000FFFFF01FC3F00003FE07FC7E03F80007F000FEF803F8000FE0007FF007F8 -001FC0003FE003F8003F80001FC003F0007F80001FE000E000FF00000FF0000000FF0000 -0FF0000001FE000007F8000001FE000007F8000003FE000007FC000003FC000003FC0000 -03FC000003FC000007FC000003FE000007FC000003FE000007FC000003FE000007FC0000 -03FE000007FC000003FE000007FC000003FE000007FC000003FE000007FC000003FE0000 -07FC000003FE000007FC000003FE000003FC000003FC000003FC000003FC000003FE0000 -07FC000001FE000007F8000001FE000007F8000000FF00000FF0000000FF00000FF00000 -007F80001FE00000003F80001FC00000001FC0003F800000003FE0007F000000007FF000 -FE000000007BFE07FC00000000F0FFFFF000000000F03FFFC000000001E003FC00000000 -01E000000000000001E000000000000001E000000000000001E000000000000001E00000 -0000000003E000000000000003F000000000000001F000000000000001F8000000000000 -01F800000000000001FC00000000000001FF00000000000000FFFFFFFE00000000FFFFFF -FFF00000007FFFFFFFFE0000003FFFFFFFFF8000003FFFFFFFFFE000000FFFFFFFFFF000 -001FFFFFFFFFFC00007FFFFFFFFFFE0001FF000001FFFE0003F80000001FFF000FF00000 -0003FF800FE000000001FF801FC000000000FFC03F80000000007FC07F80000000003FC0 -7F00000000001FE07F00000000001FE0FE00000000001FE0FE00000000000FE0FE000000 -00000FE0FE00000000000FE0FE00000000000FE0FE00000000000FE0FE00000000000FE0 -7F00000000001FC07F00000000001FC07F80000000003FC03F80000000003F801FC00000 -00007F001FE000000000FF000FF000000001FE0003FC00000007F80001FE0000000FF000 -00FF8000003FE000003FF00001FF8000000FFF001FFE00000001FFFFFFF0000000003FFF -FF800000000003FFF80000003D5E7DBF42>103 D<003E000000FF800001FFC00001FFC0 -0003FFE00003FFE00003FFE00003FFE00003FFE00001FFC00001FFC00000FF8000003E00 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000003E00007FFE0007FFFE0007FFFE0007FFFE0007FFFE0007FFFE00001FFE0 -00007FE000007FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE0 -00003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE0 -00003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE0 -00003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE0 -00003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE0 -00003FE000003FE000003FE000007FE00000FFF800FFFFFFF0FFFFFFF0FFFFFFF0FFFFFF -F0FFFFFFF01C5F7DDE24>105 D<0003E0003FF0000000FFC000000007FFE001FFFE0000 -07FFF8000000FFFFE00FFFFF80003FFFFE000000FFFFE01F807FE0007E01FF800000FFFF -E07C001FF001F0007FC00000FFFFE0F8000FF803E0003FE00000FFFFE1E00007FC078000 -1FF0000001FFE3C00003FE0F00000FF80000007FE7800003FE1E00000FF80000007FE700 -0001FF1C000007FC0000003FEF000001FF3C000007FC0000003FFE000001FF78000007FC -0000003FFC000001FF70000007FC0000003FFC000000FFF0000003FE0000003FF8000000 -FFE0000003FE0000003FF8000000FFE0000003FE0000003FF8000000FFE0000003FE0000 -003FF0000000FFC0000003FE0000003FF0000000FFC0000003FE0000003FF0000000FFC0 -000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003F -E0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF800000 -03FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE000 -0000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE -0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000 -FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000 -003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80 -000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003F -E0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF800000 -03FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE000 -0000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE -0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000 -FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000 -003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80 -000003FE0000007FF0000001FFC0000007FF000000FFF8000003FFE000000FFF8000FFFF -FFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00F -FFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80693F7DBE -70>109 D<0003E0007FE000000007FFE003FFFC000000FFFFE00FFFFF000000FFFFE03F -80FFC00000FFFFE07C003FE00000FFFFE0F0001FF00000FFFFE1E0000FF8000001FFE3C0 -0007FC0000007FE7800007FC0000007FEF000003FE0000003FEE000003FE0000003FFE00 -0003FE0000003FFC000003FE0000003FFC000001FF0000003FF8000001FF0000003FF800 -0001FF0000003FF0000001FF0000003FF0000001FF0000003FF0000001FF0000003FF000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE000 -0001FF0000007FF0000003FF800000FFF8000007FFC000FFFFFFF807FFFFFFC0FFFFFFF8 -07FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0423F7DBE -49>I<000000FFE0000000000007FFFC00000000003FFFFF8000000000FF803FE0000000 -01FC0007F000000007F00001FC0000000FE00000FE0000001FC000007F0000003F800000 -3F8000007F0000001FC00000FE0000000FE00001FC00000007F00003FC00000007F80003 -F800000003F80007F800000003FC0007F000000001FC000FF000000001FE001FF0000000 -01FF001FE000000000FF001FE000000000FF003FE000000000FF803FE000000000FF803F -E000000000FF807FC0000000007FC07FC0000000007FC07FC0000000007FC07FC0000000 -007FC0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FF -C0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000 -007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE07FC0000000007FC07F -C0000000007FC07FC0000000007FC07FE000000000FFC03FE000000000FF803FE0000000 -00FF803FE000000000FF801FE000000000FF001FF000000001FF000FF000000001FE000F -F000000001FE0007F800000003FC0007F800000003FC0003FC00000007F80001FC000000 -07F00000FE0000000FE00000FF0000001FE000007F8000003FC000003FC000007F800000 -0FE00000FE00000007F80003FC00000003FE000FF800000000FF803FE0000000003FFFFF -800000000007FFFC000000000000FFE00000003B417DBF42>I<0003E0007FC000000007 -FFE007FFFC000000FFFFE01FFFFF000000FFFFE07F00FFC00000FFFFE1F8001FF00000FF -FFE3E0000FF80000FFFFE7C00007FC000001FFEF800003FE0000007FFE000001FF000000 -3FFE000000FF8000003FFC0000007FC000003FF80000007FE000003FF00000003FE00000 -3FF00000001FF000003FE00000001FF800003FE00000000FF800003FE00000000FFC0000 -3FE00000000FFC00003FE000000007FE00003FE000000007FE00003FE000000007FE0000 -3FE000000003FF00003FE000000003FF00003FE000000003FF00003FE000000003FF0000 -3FE000000003FF80003FE000000001FF80003FE000000001FF80003FE000000001FF8000 -3FE000000001FF80003FE000000001FF80003FE000000001FF80003FE000000001FF8000 -3FE000000001FF80003FE000000001FF80003FE000000001FF80003FE000000001FF8000 -3FE000000001FF80003FE000000003FF00003FE000000003FF00003FE000000003FF0000 -3FE000000003FF00003FE000000003FF00003FE000000007FE00003FE000000007FE0000 -3FE000000007FC00003FE00000000FFC00003FE00000000FFC00003FE00000001FF80000 -3FE00000001FF000003FF00000003FF000003FF00000003FE000003FF80000007FC00000 -3FFC000000FFC000003FFC000000FF8000003FFE000001FF0000003FEF000003FE000000 -3FE7800007FC0000003FE3E0001FF00000003FE1F0003FE00000003FE0FE01FF80000000 -3FE03FFFFE000000003FE00FFFF8000000003FE000FF80000000003FE000000000000000 -3FE0000000000000003FE0000000000000003FE0000000000000003FE000000000000000 -3FE0000000000000003FE0000000000000003FE0000000000000003FE000000000000000 -3FE0000000000000003FE0000000000000003FE0000000000000003FE000000000000000 -3FE0000000000000003FE0000000000000003FE0000000000000003FE000000000000000 -3FE0000000000000003FE0000000000000003FE0000000000000007FF000000000000000 -FFF8000000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000FF -FFFFF80000000000FFFFFFF80000000000415B7DBE49>I<0003C001FC0007FFC007FF80 -FFFFC01FFFC0FFFFC07E07E0FFFFC0F81FF0FFFFC1F01FF8FFFFC3C03FF801FFC3803FF8 -007FC7803FF8007FCF003FF8003FCE003FF8003FDE001FF0003FDC000FE0003FDC000380 -003FFC000000003FF8000000003FF8000000003FF8000000003FF0000000003FF0000000 -003FF0000000003FF0000000003FF0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -007FF000000000FFFC000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000 -FFFFFFFE00002D3F7DBE33>114 D<0000FFE00380000FFFFC0380003FFFFF078000FF00 -1FCF8003F80007FF8007E00001FF800F800000FF801F8000007F803F0000003F803E0000 -003F807E0000001F807C0000001F807C0000000F80FC0000000F80FC0000000F80FC0000 -000F80FE0000000780FE0000000780FE0000000780FF0000000780FF80000007807FC000 -0007807FF0000000007FFC000000003FFF800000003FFFFC0000001FFFFFE000000FFFFF -FE000007FFFFFF800003FFFFFFE00000FFFFFFF800003FFFFFFC00000FFFFFFE000003FF -FFFF0000001FFFFF80000000FFFFC00000000FFFE000000001FFE0000000007FF0F00000 -003FF0F00000001FF0F00000000FF8F800000007F8F800000007F8F800000003F8F80000 -0003F8FC00000001F8FC00000001F8FC00000001F8FE00000001F8FE00000001F8FE0000 -0001F0FF00000003F0FF00000003F0FF80000003E0FFC0000007E0FFC0000007C0FFE000 -000F80FFF000001F80FCFC00007F00F83E0000FC00F81FC00FF800F007FFFFE000E001FF -FF0000E0003FF800002D417DBF34>I<0000780000000000780000000000780000000000 -780000000000780000000000780000000000780000000000F80000000000F80000000000 -F80000000000F80000000000F80000000000F80000000001F80000000001F80000000001 -F80000000003F80000000003F80000000007F80000000007F8000000000FF8000000000F -F8000000001FF8000000003FF8000000007FF800000000FFF800000003FFFFFFFF000FFF -FFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80001E0000F -F80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000F -F80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000F -F80001E00007F80003C00007FC0003C00007FC0003C00007FC0007C00003FE0007800003 -FE0007800001FF000F000000FF801E0000007FC03E0000003FE07C0000000FFFF8000000 -03FFE0000000007F80002B597FD733>I<7FFFFFE0001FFFFFE07FFFFFE0001FFFFFE07F -FFFFE0001FFFFFE07FFFFFE0001FFFFFE07FFFFFE0001FFFFFE0007FFF800007FFFC0000 -1FFF000003FFC000000FFE000003FF00000007FE000003FC00000003FF000003F8000000 -01FF800003F000000001FFC00007E000000000FFC00007C0000000007FE0000F80000000 -003FF0001F00000000003FF0001F00000000001FF8003E00000000000FFC007C00000000 -0007FE00F8000000000007FE00F8000000000003FF01F0000000000001FF83E000000000 -0000FFC7C0000000000000FFC7C00000000000007FEF800000000000003FFF0000000000 -00001FFE000000000000001FFE000000000000000FFC0000000000000007FE0000000000 -000007FF0000000000000003FF0000000000000003FF8000000000000007FFC000000000 -00000FFFC00000000000001F7FE00000000000001F3FF00000000000003E1FF800000000 -00007C1FF8000000000000F80FFC000000000000F807FE000000000001F003FF00000000 -0003E003FF000000000007C001FF800000000007C000FFC0000000000F80007FE0000000 -001F00007FE0000000003E00003FF0000000003E00001FF8000000007C00001FFC000000 -00F800000FFC00000001F8000007FE00000003F8000003FF0000000FF8000003FF800000 -1FF8000003FF8000007FF8000003FFE00007FFFC000007FFF800FFFFFE00001FFFFFF8FF -FFFE00001FFFFFF8FFFFFE00001FFFFFF8FFFFFE00001FFFFFF8FFFFFE00001FFFFFF845 -3E80BD46>120 D E end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%PaperSize: A4 - -%%EndSetup -%%Page: 1 1 -1 0 bop 509 880 a Fg(Programming)40 b(Exercise)j(2:)58 -b(Scanner)45 b(Sp)t(eci\014cation)440 1478 y Ff(1)135 -b(In)l(tro)t(duction)440 1660 y Fe(The)20 b(scanner)f(is)g(the)i(part)f -(of)g(the)g(compiler)d(resp)r(onsible)g(for)j(grouping)e(c)n(haracters) -g(in)h(the)440 1760 y(input)28 b(stream)e(in)n(to)h(tok)n(ens)g(whic)n -(h)g(are)g(used)g(b)n(y)h(the)g(parser.)37 b(A)28 b(t)n(ypical)e -(scanner)g(for)i(a)440 1859 y(programming)20 b(language)j(will)f -(recognize)h(tok)n(ens)h(suc)n(h)h(as)g(reserv)n(ed)e(w)n(ords,)i(iden) -n(ti\014ers,)440 1959 y(n)n(umeric)g(constan)n(ts,)i(strings)f(and)h -(op)r(erators.)565 2059 y(One)38 b(of)h(the)h(simplest)c(w)n(a)n(ys)h -(of)i(implemen)n(ting)c(a)j(scanner)g(is)g(to)h(use)g(a)f(scanner)440 -2158 y(generator.)43 b(There)30 b(are)f(n)n(umerous)f(suc)n(h)i(to)r -(ols)f(a)n(v)-5 b(ailable.)41 b(F)-7 b(or)30 b(this)f(exercise)g(y)n -(ou)g(will)440 2258 y(use)e Fd(flex)p Fe(,)g(whic)n(h)f(stands)h(for)g -(\\F)-7 b(ast)27 b Fd(lex)p Fe(".)440 2533 y Ff(2)135 -b(Using)46 b Fc(flex)440 2714 y Fe(In)34 b(order)e(to)i(use)f -Fd(flex)f Fe(y)n(ou)h(will)e(need)j(to)f(ha)n(v)n(e)f(the)i -Fd(prog/gnu)d Fe(mo)r(dule)h(loaded.)53 b(A)n(t)440 2814 -y(a)35 b(Unix)g(prompt,)h(t)n(yp)r(e)g Fd(module)41 b(list)p -Fe(,)36 b(and)f(see)h(if)41 b Fd(prog/gnu)32 b Fe(is)j(listed.)59 -b(If)36 b(it's)e(not)440 2914 y(listed,)25 b(t)n(yp)r(e)h -Fd(module)41 b(add)h(prog/gnu)23 b Fe(and)j Fd(module)41 -b(initadd)f(prog/gnu)23 b Fe(to)j(load)e(the)440 3013 -y(mo)r(dule)i(in)h(the)h(curren)n(t)e(shell)g(and)h(the)h(next)g(time)e -(y)n(ou)h(log)f(in.)565 3113 y(F)-7 b(ull)22 b(do)r(cumen)n(tation)f -(for)i Fd(flex)e Fe(is)i(a)n(v)-5 b(ailable)19 b(as)k(a)g(man)f(page.) -35 b(Just)23 b(t)n(yp)r(e)h Fd(man)42 b(flex)440 3212 -y Fe(at)26 b(a)f(Unix)g(prompt)f(to)i(see)f(the)h(do)r(cumen)n(tation.) -34 b(Y)-7 b(ou)25 b(can)h(also)d(read)i(the)h(do)r(cumen)n(ta-)440 -3312 y(tion)k(for)g Fd(lex)p Fe(,)h(a)n(v)-5 b(ailable)26 -b(in)k(the)h(Solaris)d(Answ)n(erBo)r(ok.)44 b(There)30 -b(are)g(a)h(few)g(di\013erences)440 3412 y(b)r(et)n(w)n(een)d -Fd(lex)e Fe(and)h Fd(flex)p Fe(,)g(but)h(not)f(to)r(o)h(man)n(y)-7 -b(.)440 3686 y Ff(3)135 b(The)44 b(Generated)i(Scanner)440 -3868 y Fe(When)28 b(y)n(ou)e(compile)e(a)j(scanner)f(sp)r -(eci\014cation)e(using)j Fd(flex)p Fe(,)f(a)h(function)f(named)g -Fd(yylex)440 3968 y Fe(is)34 b(generated.)60 b(The)36 -b(default)f(de\014nition)f(of)h(this)g(function)g(tak)n(es)g(no)g -(argumen)n(ts)f(and)440 4067 y(returns)27 b(an)g(in)n(teger,)f(whic)n -(h)g(represen)n(ts)h(the)h(scanned)f(tok)n(en.)565 4167 -y(T)-7 b(ok)n(ens)22 b(are)h(usually)e(n)n(um)n(b)r(ered)h(from)g(257)h -(and)g(up,)i(since)d(that)i(allo)n(ws)c(the)k(scanner)440 -4267 y(to)k(return)f(an)n(y)g(single)e(c)n(haracter)g(as)i(a)h(tok)n -(en.)36 b(In)28 b Fd(scanner.l)c Fe(the)k(\014nal)e(rule)h(uses)g(this) -440 4366 y(feature;)g(an)n(y)g(unmatc)n(hed)g(c)n(haracters)e(are)i -(returned)g(as)g(tok)n(ens.)565 4466 y(The)41 b(generated)f(scanner)h -(also)e(includes)g(a)i(n)n(um)n(b)r(er)g(of)g(imp)r(ortan)n(t)e(global) -f(v)-5 b(ari-)440 4566 y(ables)28 b(and)h(utilit)n(y)e(functions.)42 -b(The)30 b(ones)f(that)h(y)n(ou)f(will)d(encoun)n(ter)j(are)g(the)h(v) --5 b(ariables)440 4665 y Fd(yylineno)p Fe(,)24 b Fd(yyin)p -Fe(,)j Fd(yytext)e Fe(and)i(the)h(function)f Fd(yyterminate)p -Fe(.)440 4848 y Fb(yylineno)41 b Fe(This)36 b(v)-5 b(ariable)34 -b(holds)h(the)j(n)n(um)n(b)r(er)d(of)i(the)g(curren)n(t)g(line)e(of)i -(input.)64 b(It)37 b(is)648 4947 y(useful)d(for)h(error)f(rep)r -(orting,)h(but)h(slo)n(ws)d(the)j(scanner)f(do)n(wn)g(somewhat,)g(so)g -(in)648 5047 y(order)23 b(to)h(use)g(it,)h(it)f(has)g(to)g(b)r(e)h -(explicitly)c(enabled)i(using)g(command-line)d(options)648 -5147 y(or)26 b(the)i Fd(yylineno)d Fe(declaration)f(in)j(the)h(scanner) -e(sp)r(eci\014cation.)440 5313 y Fb(yyin)42 b Fe(This)26 -b(v)-5 b(ariable)25 b(holds)h(the)i(\014le)f(p)r(oin)n(ter)f(from)g -(whic)n(h)h Fd(yylex)f Fe(reads)g(its)h(input.)1851 5662 -y(1)p eop -%%Page: 2 2 -2 1 bop 440 531 a Fb(yytext)43 b Fe(This)20 b(is)h(a)g(c)n(haracter)e -(arra)n(y)h(con)n(taining)e(the)k(c)n(haracters)d(that)j(w)n(ere)f -(recognized)648 631 y(as)27 b(a)g(tok)n(en.)440 797 y -Fb(yyterminate)41 b Fe(This)24 b(function)h(terminates)e(the)i -(scanning)f(pro)r(cess)g(and)h(causes)f Fd(yylex)648 -897 y Fe(to)g(return)g(0.)35 b(It)25 b(can)f(b)r(e)g(called)e(in)i(an)n -(y)g(action,)f(and)h(is)f(the)i(default)f(action)f(at)h(the)648 -996 y(end)j(of)h(\014le.)440 1271 y Ff(4)135 b(The)44 -b(T)-11 b(ok)l(ens)440 1453 y Fe(Y)k(our)41 b(scanner)f(m)n(ust)h(to)g -(skip)g(commen)n(ts,)h(b)r(oth)g(single-line)37 b(C++)j(commen)n(ts)g -(and)440 1552 y(m)n(ultiline)35 b(C)k(st)n(yle)f(commen)n(ts.)70 -b(If)39 b(the)h(scanner)e(sees)h Fd(/*)g Fe(within)f(a)g(C)i(commen)n -(t)d(it)440 1652 y(has)23 b(to)g(prin)n(t)f(a)h(w)n(arning)d(message.) -33 b(If)24 b(the)g(end)f(of)g(\014le)f(is)h(encoun)n(tered)f(within)g -(a)h(C)g(st)n(yle)440 1752 y(commen)n(t,)j(y)n(our)g(scanner)g(m)n(ust) -h(prin)n(t)g(an)g(error)e(message)h(and)h(then)h(terminate.)440 -1967 y Fb(Floating-p)s(oin)m(t)43 b(n)m(um)m(b)s(ers)82 -b Fe(consist)37 b(of)i(an)f(in)n(teger)f(part)h(follo)n(w)n(ed)e(b)n(y) -i(a)g(p)r(erio)r(d,)440 2067 y(a)f(decimal)e(part)i(and)h(an)g(exp)r -(onen)n(t.)67 b(The)38 b(in)n(teger)e(and)i(decimal)c(parts)j(are)g -(simply)440 2167 y(sequences)d(of)h(digits.)57 b(The)36 -b(exp)r(onen)n(t)e(part)h(consists)e(of)i(the)h(c)n(haracter)d(`E')h -(follo)n(w)n(ed)440 2266 y(b)n(y)28 b(an)h(optional)d(sign)h(and)i(a)f -(sequence)g(of)h(digits.)38 b(Either)27 b(the)i(in)n(teger)e(or)g(the)j -(decimal)440 2366 y(part)35 b(\(or)g(b)r(oth\))h(m)n(ust)f(b)r(e)h(giv) -n(en.)58 b(The)36 b(exp)r(onen)n(t)f(is)g(optional.)57 -b(If)36 b(the)g(in)n(teger)e(part)440 2465 y(and)28 b(exp)r(onen)n(t)g -(are)e(b)r(oth)j(giv)n(en,)d(the)i(decimal)d(p)r(oin)n(t)i(and)h -(decimal)d(part)i(are)g(optional.)440 2565 y(These)34 -b(are)f(some)g(v)-5 b(alid)32 b(\015oating-p)r(oin)n(t)f(n)n(um)n(b)r -(ers:)49 b Fd(1.1)p Fe(,)35 b Fd(.1)p Fe(,)g Fd(1.)p -Fe(,)g Fd(1E2)p Fe(,)g Fd(2E-3)p Fe(,)f Fd(.1E-4)p Fe(.)440 -2665 y(When)28 b(y)n(our)f(scanner)f(recognizes)f(a)i(\015oating-p)r -(oin)n(t)e(n)n(um)n(b)r(er)h(it)h(should)f(return)h Fd(REAL)p -Fe(.)440 2881 y Fb(In)m(tegers)83 b Fe(are)40 b(simply)e(sequences)i -(of)h(digits)e(that)i(are)f(not)h(part)g(of)g(iden)n(ti\014ers)d(or)440 -2980 y(\015oating-p)r(oin)n(t)g(n)n(um)n(b)r(ers.)75 -b(When)42 b(y)n(our)e(scanner)f(recognizes)g(an)h(in)n(teger)f(it)i -(should)440 3080 y(return)27 b Fd(INTEGER)p Fe(.)440 -3296 y Fb(Iden)m(ti\014ers)83 b Fe(m)n(ust)25 b(start)h(with)g(a)g -(letter,)g(follo)n(w)n(ed)d(b)n(y)j(an)n(y)g(n)n(um)n(b)r(er)f(of)h -(digits,)f(letters)440 3395 y(or)j(underscore)f(c)n(haracters.)37 -b(When)29 b(y)n(our)f(scanner)f(recognizes)f(an)i(iden)n(ti\014er)f(it) -h(should)440 3495 y(return)f Fd(ID)p Fe(.)440 3769 y -Ff(5)135 b(Requiremen)l(ts)440 3951 y Fe(Y)-7 b(ou)30 -b(are)e(to)h(\014nish)g(the)h(scanner)e(sp)r(eci\014cation)g(in)g -Fd(scanner.l)e Fe(b)n(y)j(adding)f(rules)g(for)h(C)440 -4051 y(and)d(C++)g(st)n(yle)f(commen)n(ts,)f(iden)n(ti\014ers,)g(in)n -(tegers)h(and)h(reals.)34 b(Compile)23 b(y)n(our)i(scanner)440 -4150 y(using)g(the)i(command)d Fd(make)42 b(scanner)p -Fe(.)34 b(This)25 b(generates)g(a)h(program)e(named)h -Fd(scanner)p Fe(,)440 4250 y(whic)n(h)i(y)n(ou)f(can)i(use)f(to)g(test) -h(y)n(our)f(scanner.)565 4350 y(Run)g(y)n(our)f(scanner)g(on)h(the)h -(\014les)e(in)h Fd(~komp/lab2/test)21 b Fe(and)27 b(c)n(hec)n(k)f(that) -i(it)f(gener-)440 4449 y(ates)g(the)h(correct)e(output.)440 -4649 y Fb(Hand)32 b(in)f(the)h(follo)m(wing:)565 4815 -y Fa(\017)41 b Fe(The)27 b(scanner)g(sp)r(eci\014cation,)e(with)i(y)n -(our)f(c)n(hanges)h(clearly)d(mark)n(ed.)565 4981 y Fa(\017)41 -b Fe(Answ)n(ers)26 b(to)i(the)g(questions)e(in)h(the)g(next)h(section.) -565 5147 y Fa(\017)41 b Fe(T)-7 b(est)27 b(data)g(that)h(sho)n(w)f -(that)h(the)g(scanner)e(w)n(orks)g(as)h(sp)r(eci\014ed.)1851 -5662 y(2)p eop -%%Page: 3 3 -3 2 bop 440 531 a Ff(6)135 b(Questions)440 713 y Fb(Question)46 -b(1)83 b Fe(A)41 b(scanner)f(generator)e(translates)h(the)i(regular)e -(expressions)f(in)i(the)440 813 y(input)24 b(in)n(to)g(deterministic)c -(or)k(nondeterministic)c(\014nite)25 b(automata,)e(whic)n(h)g(is)h -(then)h(sim-)440 912 y(ulated)i(to)g(recogize)e(tok)n(ens)i(in)g(the)h -(input.)565 1012 y(Sections)j(3.6{3.9)f(in)h(the)i(textb)r(o)r(ok)f -(describ)r(es)f(ho)n(w)h(a)g(scanner)f(generator)f(w)n(orks.)440 -1112 y(Use)i(the)f(tec)n(hniques)g(in)f(3.7)h(to)g(con)n(v)n(ert)f(y)n -(our)h(regular)d(expression)h(for)i(\015oating-p)r(oin)n(t)440 -1211 y(n)n(um)n(b)r(ers)h(in)n(to)g(an)g(NF)-9 b(A,)34 -b(then)g(use)f(the)h(tec)n(hiques)d(from)h(section)g(3.6)g(to)h(con)n -(v)n(ert)f(the)440 1311 y(NF)-9 b(A)30 b(in)n(to)e(a)h(DF)-9 -b(A.)30 b(Finally)d(use)i(the)h(tec)n(hnique)e(describ)r(ed)g(in)h -(section)f(3.9)h(to)g(con)n(v)n(ert)440 1411 y(the)f(regular)d -(expression)g(directly)g(in)n(to)i(a)g(DF)-9 b(A.)440 -1626 y Fb(Question)24 b(2)83 b Fe(Are)22 b(the)g(DF)-9 -b(As)23 b(y)n(ou)e(created)g(in)h(question)e(1)i(minimal?)30 -b(If)23 b(they)f(are)f(not,)440 1726 y(use)27 b(the)h(tec)n(hniques)f -(in)g(section)f(3.9)h(to)g(create)g(minimal)c(DF)-9 b(As)28 -b(for)f(b)r(oth)h(automata.)440 2001 y Ff(7)135 b(Extra)45 -b(Credit)g(W)-11 b(ork:)60 b(Regexp)46 b(matc)l(her)440 -2182 y Fe(Implemen)n(t)35 b(a)i(program)d(that)j(coun)n(ts)g(the)g(n)n -(um)n(b)r(er)f(of)h(matc)n(hes)f(of)h(a)g(user-supplied)440 -2282 y(regular)24 b(expression)g(in)i(a)h(\014le.)35 -b(Optionally)-7 b(,)24 b(implemen)n(t)f(a)j(simple)e(v)n(ersion)g(of)j -(the)g(Unix)440 2382 y Fd(grep)f Fe(utilit)n(y)-7 b(.)565 -2481 y(Y)g(our)25 b(program)d(is)i(to)i(con)n(v)n(ert)e(the)i(regular)c -(expression)h(in)n(to)i(an)g(NF)-9 b(A)26 b(or)e(DF)-9 -b(A)27 b(\(the)440 2581 y(c)n(hoice)f(is)g(y)n(ours\),)h(whic)n(h)f(is) -h(then)h(sim)n(ulated)c(to)k(p)r(erform)e(the)i(searc)n(h.)440 -2780 y Fb(Hand)k(in)f(y)m(our)i(implemen)m(tation)28 -b(and)k(an)m(y)h(test)f(data)h(y)m(ou)f(ha)m(v)m(e)h(used.)1851 -5662 y Fe(3)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/doc/old_not_used_instructions/lab3.pdf b/doc/old_not_used_instructions/lab3.pdf deleted file mode 100755 index 21b3434683812b23d853f0895bd352fa80449134..0000000000000000000000000000000000000000 Binary files a/doc/old_not_used_instructions/lab3.pdf and /dev/null differ diff --git a/doc/old_not_used_instructions/lab3.ps b/doc/old_not_used_instructions/lab3.ps deleted file mode 100644 index 255fd89c799bced3ace89e27329c966a78f7a853..0000000000000000000000000000000000000000 --- a/doc/old_not_used_instructions/lab3.ps +++ /dev/null @@ -1,2100 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software -%%Title: lab3.dvi -%%Pages: 3 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentPaperSizes: A4 -%%EndComments -%DVIPSCommandLine: dvips -o lab3.ps lab3.dvi -%DVIPSParameters: dpi=600, comments removed -%DVIPSSource: TeX output 1997.10.21:1501 -%%BeginProcSet: tex.pro -/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N -/X{S N}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{dup dup 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 /IE 0 N /ctr 0 N /df-tail{ -/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N -string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N -end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ -/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] -N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup -length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ -128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub -get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data -dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N -/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup -/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx -0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff -setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff -.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} -if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup -length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ -cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin -0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup 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 -/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for -65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 -0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V -{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 -getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} -ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false -RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 -false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform -round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg -rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail -{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} -B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ -4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ -p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p -a}B /bos{/SS save N}B /eos{SS restore}B end -%%EndProcSet -TeXDict begin 39158280 55380996 1000 600 600 (lab3.dvi) -@start /Fa 1 16 df<000FE000007FFC0000FFFE0003FFFF8007FFFFC00FFFFFE01FFF -FFF03FFFFFF83FFFFFF87FFFFFFC7FFFFFFC7FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFF -FFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFF83FFF -FFF81FFFFFF00FFFFFE007FFFFC003FFFF8000FFFE00007FFC00000FE0001F207BA42A> -15 D E /Fb 27 122 df<07801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01F -E007800E0E7A8D1B>46 D<00003C00000000FC00000001FC0000000FFC0000007FFC0000 -FFFFFC0000FFFFFC0000FFFFFC0000FFFFFC0000FF9FFC0000001FFC0000001FFC000000 -1FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001F -FC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC -0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC00 -00001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000 -001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC000000 -1FFC0000001FFC00007FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF802137 -79B630>49 D<000FFC0000007FFFC00001FFFFF00007FFFFFC000FFFFFFE001FC07FFF80 -3F801FFF807FE007FFC07FF007FFE0FFF003FFF0FFF801FFF0FFF801FFF0FFF800FFF8FF -F800FFF8FFF800FFF87FF000FFF87FF000FFF83FE000FFF80F8000FFF8000000FFF80000 -00FFF0000001FFF0000001FFF0000001FFE0000003FFC0000003FFC0000007FF8000000F -FF0000000FFE0000001FF80000003FF00000007FE0000000FF80000000FF00000001FE00 -000003F800000007F000F8000FE000F8001FC000F8003F8000F8007E0001F800FC0001F0 -01F80001F003F00003F003FFFFFFF007FFFFFFF00FFFFFFFF01FFFFFFFF03FFFFFFFF07F -FFFFFFF0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE025377BB630>I< -0003FF0000001FFFE000007FFFFC0000FFFFFE0003FC07FF8007F003FFC007E003FFC00F -F801FFE00FFC01FFE01FFE01FFF01FFE01FFF01FFE01FFF01FFF01FFF01FFE01FFF01FFE -01FFF01FFE01FFF00FFC01FFE007F803FFE001E003FFC0000003FFC0000007FF80000007 -FF0000000FFE0000003FF800000FFFF000000FFFC000000FFFF000000FFFFC00000007FF -00000003FFC0000001FFE0000000FFF0000000FFF8000000FFFC0000007FFC0000007FFC -0FC0007FFE3FF0007FFE7FF8007FFE7FF8007FFEFFFC007FFEFFFC007FFEFFFC007FFEFF -FC007FFEFFFC007FFCFFFC00FFFC7FF800FFF87FF000FFF83FE001FFF03FC003FFE01FF8 -07FFC00FFFFFFF8003FFFFFF0001FFFFFC00003FFFE0000007FF000027387CB630>I<07 -801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE00780000000000000000000 -00000000000000000007801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE007 -800E257AA41B>58 D<FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0 -FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE000 -007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000 -007FFC000003FFE000FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0 -FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF044397DB84B>72 D<000000FFF80000000000 -0FFFFF80000000007FFFFFF000000001FFFFFFFC00000007FFE03FFF0000001FFF0007FF -C000003FFC0001FFE000007FF80000FFF00000FFF000007FF80001FFE000003FFC0003FF -C000001FFE0007FF8000000FFF0007FF8000000FFF000FFF00000007FF800FFF00000007 -FF801FFF00000007FFC01FFE00000003FFC03FFE00000003FFE03FFE00000003FFE03FFE -00000003FFE07FFE00000003FFF07FFC00000001FFF07FFC00000001FFF07FFC00000001 -FFF0FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC -00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001 -FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF87FFC00000001FFF07FFC -00000001FFF07FFC00000001FFF07FFE00000003FFF03FFE00000003FFE03FFE00000003 -FFE03FFE00000003FFE01FFF00000007FFC01FFF00000007FFC00FFF001FC007FF8007FF -807FF00FFF0007FF80FFF80FFF0003FFC1FFFC1FFE0001FFE3F07E3FFC0000FFF3E01F7F -F800007FFBC00FFFF000003FFFC00FFFE000001FFFE007FFC0000007FFF03FFF00000001 -FFFFFFFC000000007FFFFFF8000800000FFFFFFC001C000000FFFBFE001C0000000001FF -807C0000000001FFFFFC0000000001FFFFFC0000000000FFFFFC0000000000FFFFF80000 -000000FFFFF800000000007FFFF800000000007FFFF000000000007FFFF000000000003F -FFE000000000003FFFE000000000001FFFC000000000000FFF80000000000007FF000000 -00000001FC003E4A7BB948>81 D<003FFE00000003FFFFE000000FFFFFF800001FFFFFFE -00003FF007FF00003FF803FF80003FF801FFC0003FF800FFC0003FF800FFE0003FF8007F -E0001FF0007FE0000FE0007FE0000380007FE0000000007FE0000000007FE0000000FFFF -E000000FFFFFE00000FFFFFFE00003FFFC7FE0000FFFC07FE0001FFE007FE0003FFC007F -E0007FF8007FE0007FF0007FE000FFF0007FE000FFE0007FE000FFE0007FE000FFE0007F -E000FFE000FFE000FFF000FFE0007FF001FFE0007FF803FFF0003FFC0FFFFFC01FFFFF3F -FFC007FFFE1FFFC003FFF80FFFC0007FC003FFC02A257DA42E>97 -D<0001FFC000000FFFFC00007FFFFF0000FFFFFF8003FF80FFC007FF01FFC00FFE01FFC0 -1FFC01FFC01FF801FFC03FF801FFC03FF800FF807FF0007F007FF0001C007FF0000000FF -F0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0 -000000FFF00000007FF00000007FF80000007FF80000003FF80000003FFC0003E01FFC00 -03E01FFE0007E00FFF000FC007FF801F8003FFE03F8000FFFFFE00007FFFFC00000FFFF0 -000001FF800023257DA42A>99 D<000000007F800000007FFF800000007FFF800000007F -FF800000007FFF800000007FFF8000000003FF8000000001FF8000000001FF8000000001 -FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001 -FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800003FF01 -FF80001FFFF1FF80007FFFFDFF8001FFFFFFFF8003FFC07FFF8007FF000FFF800FFE0007 -FF801FFC0003FF803FF80001FF803FF80001FF807FF80001FF807FF00001FF807FF00001 -FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001 -FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF807FF00001 -FF807FF00001FF807FF80001FF803FF80001FF803FF80003FF801FFC0007FF800FFC000F -FF8007FE001FFFC003FF80FFFFFE01FFFFFFFFFE007FFFF9FFFE001FFFC1FFFE0003FE01 -FFFE2F3A7DB935>I<0003FF8000001FFFF000007FFFFC0001FFFFFE0003FF83FF8007FE -00FF800FFC007FC01FFC003FE01FF8003FE03FF8001FF03FF8001FF07FF0001FF07FF000 -1FF87FF0000FF8FFF0000FF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFF00000 -00FFF0000000FFF0000000FFF00000007FF00000007FF00000007FF80000003FF8000000 -3FF80000F81FFC0000F80FFC0001F80FFE0003F007FF8007E001FFF03FE000FFFFFF8000 -7FFFFF00000FFFFC000001FFE00025257DA42C>I<00000FF8000000FFFE000007FFFF00 -001FFFFF80003FF8FF80007FE1FFC000FFC1FFC001FF81FFC001FF81FFC003FF81FFC003 -FF00FF8003FF00FF8003FF003E0003FF00000003FF00000003FF00000003FF00000003FF -00000003FF00000003FF00000003FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF -0000FFFFFF000003FF00000003FF00000003FF00000003FF00000003FF00000003FF0000 -0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000 -03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003 -FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFF -FE0000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE0000223A7DB91D>I<000000003F00 -0007FE00FF80007FFFE3FFC001FFFFFFFFE003FFFFFFDFE00FFE07FF1FE01FF801FF9FE0 -1FF801FF9FE03FF000FFCFC03FF000FFC7807FF000FFE0007FF000FFE0007FF000FFE000 -7FF000FFE0007FF000FFE0007FF000FFE0007FF000FFE0003FF000FFC0003FF000FFC000 -1FF801FF80001FF801FF80000FFE07FF000007FFFFFC00000FFFFFF800000F7FFFE00000 -1F07FE0000001F00000000001F00000000001F00000000001F80000000001FC000000000 -1FFFFFF800001FFFFFFF80001FFFFFFFE0000FFFFFFFF8000FFFFFFFFC0007FFFFFFFE00 -03FFFFFFFE000FFFFFFFFF003FFFFFFFFF007FC0000FFF807F800001FF80FF000000FF80 -FF0000007F80FF0000007F80FF0000007F80FF800000FF807F800000FF007FC00001FF00 -3FF00007FE001FFE003FFC0007FFFFFFF00001FFFFFFC000007FFFFF00000007FFF00000 -2B377DA530>I<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF000000 -00FFFF0000000007FF0000000003FF0000000003FF0000000003FF0000000003FF000000 -0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000 -0003FF0000000003FF0000000003FF0000000003FF0000000003FF007FC00003FF03FFF8 -0003FF0FFFFE0003FF1FFFFF0003FF3F03FF8003FF7801FF8003FFF001FF8003FFE000FF -C003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF -C0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB935 ->I<01F80003FC0007FE000FFF001FFF801FFF801FFF801FFF801FFF801FFF800FFF0007 -FE0003FC0001F80000000000000000000000000000000000000000000000000000FF007F -FF007FFF007FFF007FFF007FFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003 -FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 -FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8FFFFF815 -3B7DBA1B>I<00FF00FFFF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFCFFFFFC -163A7DB91B>108 D<00FE007FE0000FFC0000FFFE01FFFC003FFF8000FFFE07FFFF00FF -FFE000FFFE1FFFFF83FFFFF000FFFE3F03FF87E07FF000FFFE7C01FFCF803FF80007FEF0 -00FFDE001FF80003FFE0007FFC000FFC0003FFC0007FF8000FFC0003FFC0007FF8000FFC -0003FF80007FF0000FFC0003FF80007FF0000FFC0003FF00007FE0000FFC0003FF00007F -E0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003 -FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE000 -0FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00 -007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC -0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007F -E0000FFC00FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FF -FFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF04C257DA451>I<00FE007FC000FFFE03FF -F800FFFE0FFFFE00FFFE1FFFFF00FFFE3F03FF80FFFE7801FF8007FEF001FF8003FFE000 -FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF30257DA4 -35>I<0001FFC00000000FFFF80000007FFFFF000000FFFFFF800003FF80FFE00007FE00 -3FF0000FFC001FF8001FF8000FFC001FF8000FFC003FF00007FE003FF00007FE007FF000 -07FF007FF00007FF007FF00007FF00FFF00007FF80FFF00007FF80FFF00007FF80FFF000 -07FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF807FF000 -07FF007FF00007FF007FF00007FF003FF00007FE003FF8000FFE001FF8000FFC001FF800 -0FFC000FFC001FF80007FE003FF00003FF80FFE00001FFFFFFC000007FFFFF0000001FFF -FC00000001FFC0000029257DA430>I<00FF00FF8000FFFF0FFFF800FFFF3FFFFE00FFFF -FFFFFF00FFFFFE07FFC0FFFFF001FFE003FFC000FFE003FF8000FFF003FF00007FF803FF -00007FF803FF00003FFC03FF00003FFC03FF00003FFC03FF00001FFE03FF00001FFE03FF -00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF -00001FFE03FF00001FFE03FF00003FFC03FF00003FFC03FF00003FFC03FF00003FFC03FF -00007FF803FF80007FF803FF8000FFF003FFE001FFE003FFF003FFC003FFFC0FFF8003FF -FFFFFF0003FF3FFFFC0003FF0FFFF00003FF01FF000003FF0000000003FF0000000003FF -0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF -0000000003FF0000000003FF00000000FFFFFC000000FFFFFC000000FFFFFC000000FFFF -FC000000FFFFFC0000002F357EA435>I<00FE07F000FFFE1FFC00FFFE3FFF00FFFE7FFF -80FFFEF8FF80FFFFF1FFC007FFE1FFC003FFC1FFC003FFC1FFC003FF81FFC003FF80FF80 -03FF807F0003FF801C0003FF00000003FF00000003FF00000003FF00000003FF00000003 -FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF -00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE -0000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE000022257EA427>114 -D<003FF03803FFFEF80FFFFFF81FFFFFF83FC00FF87F0003F87F0001F8FE0001F8FE0000 -F8FE0000F8FF0000F8FF800000FFF80000FFFFE0007FFFFC007FFFFF003FFFFFC01FFFFF -F00FFFFFF803FFFFF800FFFFFC001FFFFC00007FFE000007FEF80003FEF80001FEFC0000 -FEFC0000FEFE0000FEFE0000FCFF0001FCFF8003F8FFF00FF8FFFFFFF0FFFFFFC0F8FFFF -00E01FF8001F257DA426>I<001F0000001F0000001F0000001F0000001F0000003F0000 -003F0000003F0000003F0000007F0000007F000000FF000000FF000001FF000003FF0000 -07FF00001FFFFFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE003FF000003FF000003FF0000 -03FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0000 -03FF000003FF000003FF000003FF000003FF000003FF00F803FF00F803FF00F803FF00F8 -03FF00F803FF00F803FF00F803FF00F803FF81F801FF81F001FFC3E000FFFFE0007FFFC0 -001FFF000003FC001D357EB425>I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0FFFF00 -3FFFC0FFFF003FFFC0FFFF003FFFC007FF0001FFC003FF0000FFC003FF0000FFC003FF00 -00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00 -00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00 -00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00 -01FFC003FF0001FFC003FF0003FFC003FF0007FFC001FF800FFFE001FFC03FFFFF00FFFF -FCFFFF007FFFF8FFFF001FFFE0FFFF0003FF00FFFF30257DA435>I<FFFFF1FFFF807FFF -FFFFF1FFFF807FFFFFFFF1FFFF807FFFFFFFF1FFFF807FFFFFFFF1FFFF807FFF07FF000F -F80007E003FF0007FC0007C003FF0007FC000FC001FF8007FC000F8001FF8007FE000F80 -01FFC00FFE001F8000FFC00FFF001F0000FFC01FFF003F00007FE01FFF003E00007FE01F -FF803E00007FF03FFF807E00003FF03E7FC07C00003FF07E7FC0FC00001FF87C3FC0F800 -001FF87C3FE0F800001FFCFC3FE1F800000FFCF81FF1F000000FFDF81FF1F000000FFFF0 -0FF3F0000007FFF00FFBE0000007FFF00FFFE0000003FFE007FFC0000003FFE007FFC000 -0003FFC003FFC0000001FFC003FF80000001FFC003FF80000000FF8001FF00000000FF80 -01FF00000000FF8001FF000000007F0000FE000000007F0000FE000000003E00007C0000 -40257EA445>119 D<FFFFF01FFFF0FFFFF01FFFF0FFFFF01FFFF0FFFFF01FFFF0FFFFF0 -1FFFF001FFC007F00000FFC007E000007FE00FC000003FF01F8000003FF83F8000001FFC -7F0000000FFCFE00000007FFFC00000003FFF800000003FFF000000001FFE000000000FF -E0000000007FE0000000003FF0000000003FF8000000007FFC00000000FFFC00000001FF -FE00000003FBFF00000007F3FF80000007E1FFC000000FC0FFC000001F807FE000003F80 -3FF000007F003FF80000FE001FFC0000FC000FFC00FFFF803FFFF8FFFF803FFFF8FFFF80 -3FFFF8FFFF803FFFF8FFFF803FFFF82D257EA432>I<FFFFF003FFF8FFFFF003FFF8FFFF -F003FFF8FFFFF003FFF8FFFFF003FFF803FF00003E0003FF80007E0001FF80007C0001FF -C000FC0000FFC000F80000FFE001F800007FE001F000007FE001F000007FF003F000003F -F003E000003FF807E000001FF807C000001FFC0FC000000FFC0F8000000FFC1F80000007 -FE1F00000007FE1F00000007FF3F00000003FF3E00000003FFFE00000001FFFC00000001 -FFFC00000000FFF800000000FFF800000000FFF8000000007FF0000000007FF000000000 -3FE0000000003FE0000000001FC0000000001FC0000000000F80000000000F8000000000 -1F80000000001F00000000003F0000003F003E0000007F807E000000FFC07C000000FFC0 -FC000000FFC0F8000000F801F8000000FC07F00000007E1FE00000007FFFC00000003FFF -000000001FFE0000000007F0000000002D357EA432>I E /Fc 5 -116 df<3FFFC0000000007FFFC000000000FFFFE000000000FFFFE000000000FFFFE000 -000000FFFFE0000000007FFFE0000000003FFFE000000000003FE000000000003FE00000 -0000003FE000000000003FE000000000003FE000000000003FE000000000003FE0000000 -00003FE000000000003FE000000000003FE000000000003FE000000000003FE000000000 -003FE000000000003FE007FE0000003FE03FFFC000003FE0FFFFE000003FE3FFFFF80000 -3FE7FFFFFC00003FFFFFFFFE00003FFFFFFFFF00003FFFFFFFFF80003FFFF80FFFC0003F -FFC003FFE0003FFF0000FFF0003FFE00007FF0003FFC00003FF8003FF800001FF8003FF0 -00000FFC003FF000000FFC003FE0000007FC003FE0000007FE003FE0000003FE003FE000 -0003FE003FE0000003FF003FE0000003FF003FE0000001FF003FE0000001FF003FE00000 -01FF003FE0000001FF003FE0000001FF003FE0000001FF003FE0000001FF003FE0000001 -FF003FE0000001FF003FE0000003FF003FE0000003FE003FE0000003FE003FE0000007FE -003FF0000007FE003FF0000007FC003FF800000FFC003FF800001FF8003FFC00001FF800 -3FFC00003FF0003FFE00007FF0003FFF0001FFE0003FFFC003FFC0003FFFF01FFFC0003F -FFFFFFFF80003FFFFFFFFF00003FEFFFFFFE00003FE7FFFFFC00003FE3FFFFF000001FC0 -FFFFC000000FC03FFF00000000000FF80000384A7FC83E>98 D<00001E00000000007F80 -00000000FFC000000001FFE000000001FFE000000001FFE000000001FFE000000001FFE0 -00000001FFE000000000FFC0000000007F80000000001E00000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000003FFFFFC000007FFFFFC000007FFFFFE0 -00007FFFFFE000007FFFFFE000007FFFFFE000007FFFFFE000003FFFFFE0000000003FE0 -000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0 -000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0 -000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0 -000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0 -000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0 -000000003FE0000000003FE0000000003FE0000000003FE000007FFFFFFFFFC0FFFFFFFF -FFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE07FFFFFFF -FFC02B4A76C93E>105 D<00000007FE0000003FFFC03FFF8000007FFFC0FFFFE00000FF -FFE3FFFFF00000FFFFE7FFFFF80000FFFFEFFFFFFC0000FFFFFFFFFFFE00007FFFFFFFFF -FE00003FFFFFF80FFF0000003FFFC003FF0000003FFF8001FF0000003FFE0001FF800000 -3FFE0001FF8000003FFC0000FF8000003FF80000FF8000003FF80000FF8000003FF00000 -FF8000003FF00000FF8000003FF00000FF8000003FE00000FF8000003FE00000FF800000 -3FE00000FF8000003FE00000FF8000003FE00000FF8000003FE00000FF8000003FE00000 -FF8000003FE00000FF8000003FE00000FF8000003FE00000FF8000003FE00000FF800000 -3FE00000FF8000003FE00000FF8000003FE00000FF8000003FE00000FF8000003FE00000 -FF8000003FE00000FF8000003FE00000FF8000003FE00000FF8000003FE00000FF800000 -3FE00000FF8000003FE00000FF8000003FE00000FF8000003FE00000FF8000003FE00000 -FF80003FFFFFE03FFFFF807FFFFFF07FFFFFC0FFFFFFF87FFFFFE0FFFFFFF87FFFFFE0FF -FFFFF87FFFFFE0FFFFFFF87FFFFFE07FFFFFF07FFFFFC03FFFFFE03FFFFF803B347FB33E ->110 D<00000FF800000000007FFF0000000003FFFFE000000007FFFFF00000001FFFFF -FC0000003FFFFFFE0000007FFFFFFF000000FFFFFFFF800001FFF80FFFC00003FFC001FF -E00007FF8000FFF00007FE00003FF0000FFC00001FF8001FF800000FFC001FF800000FFC -003FF0000007FE003FE0000003FE003FE0000003FE007FE0000003FF007FC0000001FF00 -7FC0000001FF007FC0000001FF00FF80000000FF80FF80000000FF80FF80000000FF80FF -80000000FF80FF80000000FF80FF80000000FF80FF80000000FF80FF80000000FF80FF80 -000000FF80FFC0000001FF80FFC0000001FF807FC0000001FF007FC0000001FF007FE000 -0003FF007FE0000003FF003FF0000007FE003FF0000007FE001FF800000FFC001FFC0000 -1FFC000FFE00003FF8000FFF00007FF80007FF8000FFF00003FFE003FFE00001FFF80FFF -C00001FFFFFFFFC00000FFFFFFFF8000003FFFFFFE0000001FFFFFFC0000000FFFFFF800 -000003FFFFE000000000FFFF80000000000FF800000031367AB43E>I<0001FFF00F0000 -1FFFFE1F8000FFFFFFBF8001FFFFFFFF8007FFFFFFFF800FFFFFFFFF801FFFFFFFFF803F -FFFFFFFF803FFE003FFF807FF00007FF807FC00003FF80FF800001FF80FF000000FF80FF -000000FF80FF000000FF80FF000000FF80FF000000FF80FF8000007F007FE0000000007F -F8000000003FFF800000003FFFFC0000001FFFFFF000000FFFFFFF000003FFFFFFC00001 -FFFFFFF000007FFFFFF800000FFFFFFE000001FFFFFF00000007FFFF800000001FFFC000 -000003FFC000000000FFE03F0000003FE07F8000001FF0FF8000001FF0FF8000000FF0FF -C000000FF0FFC000000FF0FFC000000FF0FFE000000FF0FFF000001FF0FFF000003FE0FF -FC00007FE0FFFE0001FFC0FFFFC00FFFC0FFFFFFFFFF80FFFFFFFFFF00FFFFFFFFFE00FF -FFFFFFFC00FE7FFFFFF800FE1FFFFFE000FC07FFFF80007800FFF800002C3677B43E> -115 D E /Fd 47 125 df<07C00FE01FF01FF81FF81FFC1FFC0FFC07FC00FC00FC00FC00 -FC00FC01FC01F803F803F807F00FF01FE03FC07FC0FF80FF007C0038000E1B72B22C>39 -D<0000780000FC0003FC0007FC000FF8001FF0003FC0007F8000FF0001FE0001FC0003FC -0003F80007F0000FF0000FE0001FE0001FC0001FC0003F80003F80003F80007F00007F00 -007F00007F0000FF0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 -00FE0000FE0000FE0000FF00007F00007F00007F00007F00003F80003F80003F80001FC0 -001FC0001FE0000FE0000FF00007F00003F80003FC0001FC0001FE0000FF00007F80003F -C0001FF0000FF80007FC0003FC0000FC000078164272B92C>I<780000FC0000FF0000FF -80007FC0003FE0000FF00007F80003FC0001FE0000FE0000FF00007F00003F80003FC000 -1FC0001FE0000FE0000FE00007F00007F00007F00003F80003F80003F80003F80003FC00 -01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00 -03FC0003F80003F80003F80003F80007F00007F00007F0000FE0000FE0001FE0001FC000 -3FC0003F80007F0000FF0000FE0001FE0003FC0007F8000FF0003FE0007FC000FF8000FF -0000FC0000780000164279B92C>I<000380000007C000000FE000000FE000000FE00000 -0FE000000FE000300FE018FC0FE07EFF0FE1FEFF8FE3FEFFEFEFFEFFFFFFFE7FFFFFFC1F -FFFFF00FFFFFE003FFFF8000FFFE0000FFFE0003FFFF800FFFFFE01FFFFFF07FFFFFFCFF -FFFFFEFFEFEFFEFF8FE3FEFF0FE1FEFC0FE07E300FE018000FE000000FE000000FE00000 -0FE000000FE0000007C000000380001F247AAA2C>I<00007800000000FC00000000FC00 -000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000 -0000FC00000000FC00000000FC00000000FC00000000FC00000000FC00007FFFFFFFF0FF -FFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF00000FC00000000FC00000000 -FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC -00000000FC00000000FC00000000FC00000000FC00000000FC0000000078000025267DAB -2C>I<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF0021067B -9B2C>45 D<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B0B708A2C>I<0000 -0007000000000F800000001F800000001F800000003F800000003F000000007F00000000 -7E00000000FE00000000FC00000001FC00000001F800000003F800000003F000000003F0 -00000007F000000007E00000000FE00000000FC00000001FC00000001F800000003F8000 -00003F000000007F000000007E00000000FE00000000FC00000000FC00000001FC000000 -01F800000003F800000003F000000007F000000007E00000000FE00000000FC00000001F -C00000001F800000001F800000003F800000003F000000007F000000007E00000000FE00 -000000FC00000001FC00000001F800000003F800000003F000000007F000000007E00000 -0007E00000000FE00000000FC00000001FC00000001F800000003F800000003F00000000 -7F000000007E00000000FE00000000FC00000000FC00000000F800000000780000000021 -417BB92C>I<000380000007C000000FC000000FC000001FC000003FC000003FC000007F -C00001FFC00003FFC0007FFFC000FFFFC000FFFFC000FFDFC000FF9FC0007E1FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC0007FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D34 -78B32C>49 D<000FF80000007FFF000001FFFFE00007FFFFF0000FFFFFF8001FFFFFFC00 -3FF01FFE003FC003FF007F8000FF807F00007F80FF00003FC0FE00001FC0FF00001FE0FF -00001FE0FF00000FE0FF00000FE07E00000FE03C00000FE00000000FE00000000FE00000 -001FE00000001FC00000001FC00000003FC00000007F800000007F80000000FF00000001 -FE00000003FE00000007FC0000000FF80000001FF00000003FE0000000FFC0000001FF80 -000003FE00000007FC0000000FF80000003FF00000007FC0000000FF80000001FF000000 -03FE0007C007FC000FE01FF0000FE03FE0000FE07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FF -FFFFFFE0FFFFFFFFE07FFFFFFFC023347CB32C>I<000FFC0000007FFF800001FFFFE000 -07FFFFF0000FFFFFFC001FFFFFFE001FF807FE003FE001FF003FC000FF003FC0007F803F -C0003F803FC0003F801F80003F800F00003F800000003F800000007F800000007F000000 -00FF00000001FE00000007FE0000003FFC00001FFFF800003FFFF000003FFFE000003FFF -E000003FFFF800001FFFFC00000007FE00000001FF00000000FF800000007F800000003F -C00000001FC00000001FE00000000FE00000000FE00000000FE03C00000FE07E00000FE0 -FF00000FE0FF00001FE0FF00001FC0FF00003FC0FF00007F807F8000FF807FC001FF003F -F807FF001FFFFFFE000FFFFFFC0007FFFFF00003FFFFE000007FFF8000000FFC00002335 -7CB32C>I<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F00000000000000000000 -000000000000000000000000000000000000001F003F807FC0FFE0FFE0FFE0FFE0FFE07F -C03F801F000B2470A32C>58 D<07C00FE01FF03FF83FF83FF83FF83FF81FF00FE007C000 -00000000000000000000000000000000000000000000000000000007C00FE01FF03FF03F -F83FF83FF83FF81FF80FF807F801F803F803F007F00FE01FE03FC07FC0FF80FF007E0038 -000D3072A32C>I<7FFFFFE0007FFFFFFC00FFFFFFFE00FFFFFFFF807FFFFFFFC07FFFFF -FFC003F8003FE003F8001FF003F8000FF003F80007F003F80007F803F80003F803F80003 -F803F80003F803F80003F803F80003F803F80007F803F80007F003F8000FF003F8001FE0 -03F8003FC003FFFFFF8003FFFFFF0003FFFFFE0003FFFFFE0003FFFFFF8003FFFFFFC003 -F8007FE003F8000FF003F80007F803F80003F803F80001FC03F80001FC03F80000FE03F8 -0000FE03F80000FE03F80000FE03F80000FE03F80000FE03F80001FE03F80001FC03F800 -03FC03F80007FC03F8000FF803F8003FF87FFFFFFFF07FFFFFFFE0FFFFFFFFC0FFFFFFFF -807FFFFFFE007FFFFFF80027337FB22C>66 D<0000FF00F00007FFE0F8000FFFF9F8003F -FFFFF8007FFFFFF800FFFFFFF801FFC1FFF803FF007FF807FC003FF807F8001FF80FF000 -0FF80FE00007F81FE00007F81FC00007F83FC00003F83F800003F87F800003F87F000003 -F87F000001F07F00000000FF00000000FE00000000FE00000000FE00000000FE00000000 -FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FF -000000007F000000007F000000007F000001F07F800003F83F800003F83FC00003F81FC0 -0003F81FE00007F80FE00007F00FF00007F007F8000FF007FC001FE003FF003FE001FFC0 -FFC000FFFFFF80007FFFFF00003FFFFE00000FFFF8000007FFE0000000FF000025357DB3 -2C>I<7FFFFF8000FFFFFFE000FFFFFFF800FFFFFFFC00FFFFFFFE007FFFFFFF0007F003 -FF8007F000FFC007F0003FC007F0001FE007F0001FF007F0000FF007F00007F007F00007 -F807F00003F807F00003FC07F00001FC07F00001FC07F00001FC07F00001FC07F00000FE -07F00000FE07F00000FE07F00000FE07F00000FE07F00000FE07F00000FE07F00000FE07 -F00000FE07F00000FE07F00000FE07F00001FE07F00001FC07F00001FC07F00001FC07F0 -0003FC07F00003F807F00007F807F00007F807F0000FF007F0000FF007F0001FE007F000 -3FE007F000FFC007F003FF807FFFFFFF00FFFFFFFE00FFFFFFFC00FFFFFFF800FFFFFFE0 -007FFFFF800027337FB22C>I<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFF -FFFC7FFFFFFFFC03F80001FC03F80001FC03F80001FC03F80001FC03F80001FC03F80001 -FC03F80001FC03F80000F803F800000003F800000003F800000003F800F80003F801FC00 -03F801FC0003F801FC0003F801FC0003FFFFFC0003FFFFFC0003FFFFFC0003FFFFFC0003 -FFFFFC0003FFFFFC0003F801FC0003F801FC0003F801FC0003F801FC0003F800F80003F8 -00000003F800000003F800000003F800003E03F800007F03F800007F03F800007F03F800 -007F03F800007F03F800007F03F800007F03F800007F7FFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFE28337FB22C>I<0001FC0780000FFF87C0001FFF -CFC0007FFFFFC000FFFFFFC001FFFFFFC003FF87FFC003FE01FFC007F800FFC00FF0007F -C00FF0007FC01FE0003FC01FC0003FC03FC0003FC03F80001FC03F80001FC07F80001FC0 -7F00001FC07F00000F807F00000000FF00000000FE00000000FE00000000FE00000000FE -00000000FE00000000FE00000000FE00000000FE00000000FE0007FFF8FE000FFFFCFE00 -0FFFFCFF000FFFFC7F000FFFFC7F0007FFF87F00001FC07F80001FC03F80003FC03F8000 -3FC03FC0003FC01FC0003FC01FE0007FC00FF0007FC00FF000FFC007F800FFC003FE01FF -C003FF07FFC001FFFFFFC000FFFFFFC0007FFFFFC0001FFFDFC0000FFF0F800001FC0000 -26357DB32C>71 D<7FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC000FE000 -000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000 -000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000 -000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000 -000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000 -000FE000000FE0007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F337AB2 -2C>73 D<7FF00007FF00FFF8000FFF80FFFC001FFF80FFFC001FFF80FFFC001FFF807FFE -003FFF000FFE003FF8000FDE003DF8000FDF007DF8000FDF007DF8000FDF007DF8000FDF -00FDF8000FCF80F9F8000FCF80F9F8000FCF80F9F8000FCFC1F9F8000FCFC1F9F8000FC7 -C1F1F8000FC7C1F1F8000FC7E3F1F8000FC7E3F1F8000FC3E3E1F8000FC3E3E1F8000FC3 -F7E1F8000FC1F7C1F8000FC1F7C1F8000FC1F7C1F8000FC1FF81F8000FC0FF81F8000FC0 -FF81F8000FC0FF81F8000FC07F01F8000FC07F01F8000FC03E01F8000FC00001F8000FC0 -0001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0 -0001F8000FC00001F8000FC00001F8000FC00001F8007FF8000FFF00FFFC001FFF80FFFC -001FFF80FFFC001FFF80FFFC001FFF807FF8000FFF0029337FB22C>77 -D<7FF800FFFCFFFC01FFFEFFFE01FFFEFFFE01FFFEFFFE01FFFE7FFF00FFFC07FF000FC0 -07EF000FC007EF800FC007EF800FC007E7800FC007E7C00FC007E7C00FC007E7C00FC007 -E7E00FC007E3E00FC007E3E00FC007E3F00FC007E1F00FC007E1F00FC007E1F80FC007E1 -F80FC007E0F80FC007E0FC0FC007E0FC0FC007E07C0FC007E07E0FC007E07E0FC007E03E -0FC007E03F0FC007E03F0FC007E01F0FC007E01F0FC007E01F8FC007E00F8FC007E00F8F -C007E00FCFC007E007CFC007E007CFC007E007CFC007E003CFC007E003EFC007E003EFC0 -07E001EFC007E001FFC07FFE01FFC0FFFF00FFC0FFFF00FFC0FFFF00FFC0FFFF007FC07F -FE003F8027337EB22C>I<7FFFFC000000FFFFFF800000FFFFFFE00000FFFFFFF80000FF -FFFFFC00007FFFFFFE000007F00FFE000007F001FF000007F000FF800007F0007F800007 -F0003F800007F0003FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007 -F0003FC00007F0003F800007F0007F800007F000FF800007F001FF000007F00FFE000007 -FFFFFE000007FFFFFC000007FFFFF8000007FFFFF0000007FFFFF8000007FFFFFC000007 -F007FC000007F003FE000007F000FE000007F000FF000007F0007F000007F0007F000007 -F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007F0007F000007 -F0007F1F0007F0007F3F8007F0007F3F8007F0007F3F8007F0007F3F807FFF003FBF80FF -FF803FFF00FFFF801FFF00FFFF801FFF00FFFF800FFE007FFF0007FC0000000001F00029 -347EB22C>82 D<001FF80F00007FFF0F8001FFFFDF8007FFFFFF800FFFFFFF801FFFFFFF -803FF01FFF803FC003FF807F8001FF807F0000FF80FF00007F80FE00007F80FE00007F80 -FE00003F80FE00003F80FE00003F80FF00001F00FF000000007F800000007FC00000003F -F00000003FFF0000001FFFF000000FFFFF000007FFFFE00003FFFFF00000FFFFFC00001F -FFFE000001FFFF0000001FFF00000001FF800000007FC00000003FC00000001FC0000000 -1FE00000001FE07C00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FF00001F -E0FF00001FC0FF80003FC0FFC0003F80FFE000FF80FFFE03FF00FFFFFFFE00FFFFFFFE00 -FFFFFFF800FDFFFFF000F83FFFC0007807FF000023357CB32C>I<7FFFFFFFFCFFFFFFFF -FEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFE00FE00FEFE00FE00FEFE00FE00FE -FE00FE00FEFE00FE00FEFE00FE00FEFE00FE00FE7C00FE007C0000FE00000000FE000000 -00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000 -FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE -00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00 -000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 -007FFFFC00007FFFFC0000FFFFFE0000FFFFFE00007FFFFC00007FFFFC0027337EB22C> -I<7FFFC01FFFF0FFFFE03FFFF8FFFFE03FFFF8FFFFE03FFFF8FFFFE03FFFF87FFFC01FFF -F003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE -0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE -0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE -0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE -0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE -0003F80000FE0003F80000FE0003FC0001FE0001FC0001FC0001FC0001FC0000FE0003F8 -0000FF0007F800007F800FF000007FC01FF000003FF07FE000001FFFFFC000000FFFFF80 -000007FFFF00000003FFFE00000000FFF8000000003FE000002D3481B22C>I<01FFF000 -0007FFFE00001FFFFF80001FFFFFE0003FFFFFF0003FFFFFF8003FC01FF8003FC007FC00 -1F8003FC00060001FE00000000FE00000000FE0000000FFE000007FFFE00007FFFFE0001 -FFFFFE0007FFFFFE001FFFFFFE003FFFF8FE003FFC00FE007FE000FE00FF8000FE00FF00 -00FE00FE0000FE00FE0000FE00FE0000FE00FF0001FE00FF0003FE007F8007FE007FE03F -FE003FFFFFFFFC1FFFFFFFFE0FFFFFFFFE07FFFF7FFE01FFFC3FFE007FC00FFC27247CA3 -2C>97 D<7FF8000000FFFC000000FFFC000000FFFC000000FFFC0000007FFC00000001FC -00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00 -000001FC00000001FC0FF00001FC7FFE0001FDFFFF0001FFFFFFC001FFFFFFE001FFFFFF -F001FFF03FF001FFC00FF801FF8007FC01FF0003FC01FE0001FE01FC0000FE01FC0000FE -01FC0000FF01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F01 -FC00007F01FC00007F01FC0000FF01FE0000FE01FE0001FE01FF0001FE01FF0003FC01FF -8007FC01FFC00FF801FFF03FF001FFFFFFE001FFFFFFC001FFFFFF8001FDFFFF0001FC7F -FC0000F80FF000283380B22C>I<0003FFF000001FFFFC00007FFFFF0000FFFFFF0003FF -FFFF8007FFFFFF800FFF007F800FF8007F801FF0003F003FC0000C003FC00000007F8000 -00007F000000007F00000000FF00000000FE00000000FE00000000FE00000000FE000000 -00FE00000000FE00000000FF000000007F000000007F000000007F80000F803FC0001FC0 -3FE0001FC01FF0003FC00FFC007F800FFF81FF8007FFFFFF0003FFFFFE0000FFFFFC0000 -7FFFF800001FFFE0000003FF000022247BA32C>I<00000FFF0000001FFF8000001FFF80 -00001FFF8000001FFF8000000FFF800000003F800000003F800000003F800000003F8000 -00003F800000003F800000003F800000003F800000003F80000FF83F80003FFE3F8000FF -FFBF8001FFFFFF8003FFFFFF8007FFFFFF800FFC0FFF801FF003FF803FE000FF803FC000 -7F807F80007F807F80003F807F00003F80FF00003F80FE00003F80FE00003F80FE00003F -80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FF00003F807F00007F80 -7F00007F807F8000FF803FC001FF803FE003FF801FF007FF800FFC1FFF800FFFFFFFFE07 -FFFFFFFF03FFFFBFFF00FFFF3FFF007FFC3FFF000FF01FFE28337DB22C>I<0003FE0000 -001FFFC000007FFFF00001FFFFF80003FFFFFC0007FFFFFE000FFE03FF001FF800FF801F -E0007F803FC0003FC03F80001FC07F80001FC07F00001FE07F00000FE0FFFFFFFFE0FFFF -FFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FE00000000FF000000007F0000 -00007F800000007F800007C03FC0000FE03FE0000FE01FF8001FE00FFC003FC007FF80FF -C007FFFFFF8001FFFFFF0000FFFFFE00003FFFFC00000FFFF0000001FF800023247CA32C ->I<000007F80000003FFE000000FFFF000001FFFF800003FFFF800007FFFF80000FF87F -80000FF03F00001FE03F00001FC00000001FC00000001FC00000001FC00000001FC00000 -001FC000007FFFFFFE00FFFFFFFF00FFFFFFFF00FFFFFFFF00FFFFFFFF007FFFFFFE0000 -1FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001F -C00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0 -0000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000 -00001FC00000001FC000007FFFFFF000FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF800 -7FFFFFF00021337DB22C>I<00000003F00007F81FFC001FFE7FFE007FFFFFFF00FFFFFF -FF01FFFFFFFF03FFFFFE7F07FE1FF87E07F807F83E0FF003FC000FE001FC001FE001FE00 -1FC000FE001FC000FE001FC000FE001FC000FE001FC000FE001FE001FE000FE001FC000F -F003FC0007F807F80007FE1FF80007FFFFF00007FFFFE0000FFFFFC0000FFFFF80000FDF -FE00000FC7F800000FC00000000FC00000000FE000000007FFFFE00007FFFFFE0007FFFF -FF800FFFFFFFE01FFFFFFFF03FFFFFFFF83FC0003FF87F000003FC7E000001FCFE000000 -FEFC0000007EFC0000007EFC0000007EFC0000007EFE000000FE7F000001FC7F800003FC -3FE0000FF83FFE00FFF81FFFFFFFF00FFFFFFFE003FFFFFF8000FFFFFE00003FFFF80000 -03FF800028387EA42C>I<7FF800000000FFFC00000000FFFC00000000FFFC00000000FF -FC000000007FFC0000000001FC0000000001FC0000000001FC0000000001FC0000000001 -FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC07F8000001 -FC3FFE000001FCFFFF800001FFFFFFC00001FFFFFFC00001FFFFFFE00001FFF81FE00001 -FFE00FF00001FF8007F00001FF0007F00001FE0007F00001FE0007F00001FE0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0007FFFF07FFFC0FF -FFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE07FFFF07FFFC02B3380B22C>I< -00038000000FE000000FE000001FF000001FF000001FF000000FE000000FE00000038000 -000000000000000000000000000000000000000000000000000000007FFFE0007FFFF000 -FFFFF000FFFFF0007FFFF0007FFFF0000007F0000007F0000007F0000007F0000007F000 -0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 -0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 -0007F0007FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE20347AB32C>I<7F -F0000000FFF8000000FFF8000000FFF8000000FFF80000007FF800000001F800000001F8 -00000001F800000001F800000001F800000001F800000001F800000001F800000001F800 -000001F83FFFF801F83FFFFC01F87FFFFC01F87FFFFC01F83FFFFC01F83FFFF801F801FE -0001F803FC0001F807F80001F80FF00001F81FE00001F83FC00001F87F800001F8FF0000 -01F9FE000001FBFE000001FFFF000001FFFF800001FFFFC00001FFDFC00001FF8FE00001 -FF0FF00001FE07F00001FC03F80001F801FC0001F801FE0001F800FE0001F8007F0001F8 -007F8001F8003FC07FFFE0FFFEFFFFE1FFFFFFFFF1FFFFFFFFF1FFFFFFFFE1FFFF7FFFE0 -FFFE28337FB22C>107 D<7FFFF00000FFFFF80000FFFFF80000FFFFF80000FFFFF80000 -7FFFF800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F800000003F800000003F800000003F800000003F800000003F800000003 -F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8 -00000003F800000003F800000003F800000003F800000003F800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800007FFFFFFFC0FFFFFFFFE0FFFFFFFFE0FF -FFFFFFE0FFFFFFFFE07FFFFFFFC023337CB22C>I<7FC1F803F0007FE7FE0FFC00FFFFFF -3FFE00FFFFFF7FFE007FFFFFFFFF007FFFFFFFFF0007FE1FFC3F8007FC1FF83F8007F80F -F01F8007F00FE01F8007F00FE01F8007F00FE01F8007E00FC01F8007E00FC01F8007E00F -C01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00F -C01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00F -C01F8007E00FC01F8007E00FC01F8007E00FC01F807FFE1FFC3FF87FFE3FFC7FF8FFFF3F -FE7FFCFFFF3FFE7FFC7FFE3FFC7FF87FFE1FFC3FF82E2481A32C>I<7FF807F80000FFFC -3FFE0000FFFCFFFF8000FFFFFFFFC000FFFFFFFFC0007FFFFFFFE00001FFF81FE00001FF -E00FF00001FF8007F00001FF0007F00001FE0007F00001FE0007F00001FE0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0007FFFF07FFFC0FFFF -F8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE07FFFF07FFFC02B2480A32C>I<00 -07FC0000001FFF0000007FFFC00001FFFFF00003FFFFF80007FFFFFC000FFC07FE001FF0 -01FF001FE000FF003FC0007F803F80003F807F00001FC07F00001FC07F00001FC0FE0000 -0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FF00001F -E07F00001FC07F00001FC07F80003FC03F80003F803FC0007F801FE000FF001FF803FF00 -0FFE0FFE0007FFFFFC0003FFFFF80001FFFFF000007FFFC000001FFF00000007FC000023 -247CA32C>I<7FF80FF000FFFC7FFE00FFFDFFFF00FFFFFFFFC0FFFFFFFFE07FFFFFFFF0 -01FFF03FF001FFC00FF801FF8007FC01FF0003FC01FE0001FE01FC0000FE01FC0000FE01 -FC0000FF01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F01FC00007F01FC -00007F01FC00007F01FC0000FF01FE0000FE01FE0001FE01FF0001FE01FF0003FC01FF80 -07FC01FFC00FF801FFF03FF001FFFFFFE001FFFFFFC001FFFFFF8001FDFFFF0001FC7FFC -0001FC0FF00001FC00000001FC00000001FC00000001FC00000001FC00000001FC000000 -01FC00000001FC00000001FC00000001FC00000001FC00000001FC0000007FFFF00000FF -FFF80000FFFFF80000FFFFF80000FFFFF800007FFFF00000283680A32C>I<7FFF003FC0 -FFFF81FFF0FFFF87FFF8FFFF9FFFF8FFFFBFFFFC7FFFFFFFFC003FFFE3FC003FFF03FC00 -3FFE01F8003FFC0060003FF80000003FF00000003FE00000003FE00000003FC00000003F -C00000003FC00000003F800000003F800000003F800000003F800000003F800000003F80 -0000003F800000003F800000003F800000003F800000003F800000003F800000003F8000 -007FFFFFF000FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF8007FFFFFF00026247EA32C ->114 D<003FF8F003FFFFF80FFFFFF81FFFFFF83FFFFFF87FFFFFF87FC01FF8FF0007F8 -FC0003F8FC0003F8FC0003F8FE0001F0FF8000007FFC00003FFFF0003FFFFF000FFFFFC0 -07FFFFF000FFFFF8000FFFFC00007FFE000003FE7C0000FFFE00007FFE00003FFF00003F -FF00003FFF80007FFFC000FEFFF007FEFFFFFFFCFFFFFFFCFFFFFFF8FFFFFFE0F8FFFF80 -781FFC0020247AA32C>I<001F000000003F800000003F800000003F800000003F800000 -003F800000003F800000003F800000003F800000003F8000007FFFFFFF00FFFFFFFF80FF -FFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF00003F800000003F800000003F800000003F -800000003F800000003F800000003F800000003F800000003F800000003F800000003F80 -0000003F800000003F800000003F800000003F800000003F800380003F800FE0003F800F -E0003F800FE0003F800FE0003F801FE0003FC01FC0001FC03FC0001FF07FC0000FFFFF80 -000FFFFF000007FFFE000003FFFC000001FFF00000003FC000232E7EAD2C>I<7FF801FF -E000FFFC03FFF000FFFC03FFF000FFFC03FFF000FFFC03FFF0007FFC01FFF00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007 -F00001FC0007F00001FC000FF00001FC001FF00001FC003FF00001FF00FFF00000FFFFFF -FFC000FFFFFFFFE0007FFFFFFFE0003FFFFFFFE0001FFFE7FFE00003FF03FFC02B2480A3 -2C>I<3FFF83FFF87FFF87FFF87FFFC7FFFC7FFFC7FFFC7FFF87FFF83FFF83FFF800FE01 -FC00007F03F800003F83F800003F87F000001FCFE000000FEFC0000007FFC0000007FF80 -000003FF00000001FF00000000FE00000000FC00000000FE00000001FF00000003FF0000 -0007FF80000007EFC000000FCFE000001FC7E000001F83F000003F03F800007F01FC0000 -FE00FC0000FC00FE007FFF83FFFCFFFFC7FFFCFFFFC7FFFEFFFFC7FFFEFFFFC7FFFC7FFF -83FFFC27247EA32C>120 D<7FFF83FFFCFFFFC3FFFEFFFFC7FFFEFFFFC7FFFEFFFFC3FF -FE7FFF83FFFC03F8001F8001F8003F8001FC003F0000FC003F0000FC007F0000FE007E00 -007E007E00007E007E00007F00FC00003F00FC00003F00FC00003F81F800001F81F80000 -1F81F800000FC1F800000FC3F000000FC3F0000007E3F0000007E3E0000007E7E0000003 -E7E0000003F7C0000001F7C0000001FFC0000001FF80000000FF80000000FF80000000FF -000000007F000000007F000000007E000000007E000000007E00000000FE00000000FC00 -000000FC00000001FC00000C01F800003F03F800007F87F000007F8FF000007F1FE00000 -7FFFC000007FFFC000003FFF8000001FFE0000000FFC00000007F000000027367EA32C> -I<78FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC -FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC7806416DB92C> -124 D E /Fe 54 122 df<000007FC00FE0000003FFF03FF800001FFFF8FFFC00007FC07 -FF8FE0000FE007FF1FF0001FC00FFE1FF0003F801FFC1FF0007F001FF81FF000FE001FF8 -1FF000FE001FF80FE001FE000FF007C001FC0007F0000001FC0007F0000001FC0007F000 -0001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F00000 -01FC0007F0000001FC0007F0000001FC0007F0000001FC0007F00000FFFFFFFFFFF800FF -FFFFFFFFF800FFFFFFFFFFF800FFFFFFFFFFF80001FC0007F0000001FC0007F0000001FC -0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC00 -07F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007 -F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0 -000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F000 -0001FC0007F0000001FC0007F0000001FC0007F0000001FC0007F0000003FC0007F80000 -7FFFE0FFFFF0007FFFE0FFFFF0007FFFE0FFFFF0007FFFE0FFFFF000343B7FBA30>11 -D<000007F8000000003FFE00000001FFFF80000007FC0FC000000FE003E000001FC007E0 -00003F800FF000007F001FF00000FE001FF00000FE001FF00001FE001FF00001FC001FF0 -0001FC000FE00001FC0001000001FC0000000001FC0000000001FC0000000001FC000000 -0001FC0000000001FC0000000001FC0000000001FC0000000001FC0007F000FFFFFFFFF0 -00FFFFFFFFF000FFFFFFFFF000FFFFFFFFF00001FC001FF00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F0 -0003FC0007F8007FFFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC02A3B7FBA2E ->I<000007FC000000007FFF70000001FFFFF0000007FC0FF000000FE01FF000001FC01F -F000003F801FF000007F001FF00000FE001FF00000FE001FF00001FE0007F00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F000FFFFFFFF -F000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF00001FC0007F00001FC0007F00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007 -F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007 -F00003FE000FF8007FFFF1FFFFC07FFFF1FFFFC07FFFF1FFFFC07FFFF1FFFFC02A3B7FBA -2E>I<000007FC000FF0000000003FFF007FFC00000001FFFFC3FFFF00000003FC07EFF8 -1F8000000FF001FFC007C000001FC003FF800FC000003F800FFF001FE000007F000FFE00 -3FE00000FF000FFC003FE00000FE000FFC003FE00001FE000FFC003FE00001FC000FF800 -3FE00001FC0007F8001FC00001FC0003F80002000001FC0003F80000000001FC0003F800 -00000001FC0003F80000000001FC0003F80000000001FC0003F80000000001FC0003F800 -00000001FC0003F80000000001FC0003F80000000001FC0003F8000FE000FFFFFFFFFFFF -FFE000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE00001FC0003F800 -3FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F800 -0FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F800 -0FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F800 -0FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F800 -0FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F800 -0FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F800 -0FE00001FC0003F8000FE00001FC0003F8000FE00003FE0007FC001FF0007FFFF0FFFFE3 -FFFF807FFFF0FFFFE3FFFF807FFFF0FFFFE3FFFF807FFFF0FFFFE3FFFF80413B7FBA45> -I<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01EE000E000E000E001E001C001C003C003 -C0038007800F000F001E003C00780030000B1A7AB917>39 D<0000E00001E00003C00007 -80000F00001F00003E00007C00007C0000F80001F00001F00003E00003E00007E00007C0 -000FC0000F80000F80001F80001F80001F00003F00003F00003F00003E00007E00007E00 -007E00007E00007E00007C0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00 -00FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00 -007E00007E00007E00007E00003E00003F00003F00003F00001F00001F80001F80000F80 -000F80000FC00007C00007E00003E00003E00001F00001F00000F800007C00007C00003E -00001F00000F000007800003C00001E00000E0135278BD20>I<E00000F000007800003C -00001E00001F00000F800007C00007C00003E00001F00001F00000F80000F80000FC0000 -7C00007E00003E00003E00003F00003F00001F00001F80001F80001F80000F80000FC000 -0FC0000FC0000FC0000FC00007C00007E00007E00007E00007E00007E00007E00007E000 -07E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007C000 -0FC0000FC0000FC0000FC0000FC0000F80001F80001F80001F80001F00003F00003F0000 -3E00003E00007E00007C0000FC0000F80000F80001F00001F00003E00007C00007C0000F -80001F00001E00003C0000780000F00000E0000013527CBD20>I<1E007F80FF80FFC0FF -C0FFE0FFE0FFE07FE01EE000E000E000E001E001C001C003C003C0038007800F000F001E -003C00780030000B1A7A8917>44 D<FFFFFCFFFFFCFFFFFCFFFFFCFFFFFCFFFFFC16067F -941C>I<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A7A8917>I<0003F8000000 -1FFF0000007FFFC00000FE0FE00001F803F00003F001F80007E000FC000FC0007E000FC0 -007E001F80003F001F80003F003F80003F803F80003F803F00001F807F00001FC07F0000 -1FC07F00001FC07F00001FC07F00001FC07F00001FC0FF00001FE0FF00001FE0FF00001F -E0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0 -FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF -00001FE0FF00001FE07F00001FC07F00001FC07F00001FC07F00001FC07F00001FC03F80 -003F803F80003F803F80003F801F80003F001F80003F000FC0007E000FC0007E0007E000 -FC0003F001F80001F803F00000FE0FE000007FFFC000001FFF00000003F80000233A7DB7 -2A>48 D<0001C0000003C0000007C000001FC00000FFC000FFFFC000FFFFC000FFFFC000 -FF1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000 -001FC000001FC000001FC000001FC000001FC000001FC000001FC000003FE0007FFFFFF0 -7FFFFFF07FFFFFF07FFFFFF01C3879B72A>I<000FF00000007FFE000001FFFF800007FF -FFC0000FE07FF0001F801FF8001F000FFC003E0007FC007C0003FE00780003FF007E0001 -FF00FF8001FF00FFC000FF80FFC000FF80FFC000FF80FFC000FF80FFC000FF80FFC000FF -807F8000FF801E0000FF80000000FF80000000FF00000001FF00000001FF00000003FE00 -000003FE00000007FC00000007F80000000FF00000000FF00000001FE00000003FC00000 -007F800000007E00000000FC00000001F800000003F000000007E00000000FC00000000F -800000001F000000003E000380007C00038000F800038001F000078003E000070007C000 -07000F800007000F00000F001FFFFFFF003FFFFFFF007FFFFFFF00FFFFFFFE00FFFFFFFE -00FFFFFFFE00FFFFFFFE0021387CB72A>I<0007F80000003FFF0000007FFFC00001FFFF -E00003F80FF80007C007FC000F8003FC000F8003FE000FE001FE001FF001FF001FF001FF -001FF001FF001FF801FF001FF001FF001FF001FF000FE001FF0003C001FE00000003FE00 -000003FE00000003FC00000007F800000007F80000000FF00000001FE00000007F800000 -1FFE0000001FF80000001FFF800000000FE000000007F000000003FC00000001FE000000 -01FF00000000FF80000000FF80000000FFC00000007FC00000007FE00000007FE0000000 -7FE01E00007FE07F80007FE0FFC0007FE0FFC0007FE0FFC0007FE0FFC0007FC0FFC000FF -C0FF8000FFC07F8000FF807E0001FF807E0001FF003F0003FE001F8007FC000FF00FF800 -07FFFFF00001FFFFC000007FFF0000000FF80000233A7DB72A>I<003FF00001FFFE0007 -FFFF800FC03FC01E000FF03C0007F0780007F87E0003F8FF0003FCFF8003FCFF8003FCFF -8003FCFF8003FCFF8003FC7F0007FC1C0007F8000007F800000FF000001FE000003FC000 -007F0000007E000000FC000001F8000001F0000001F0000003E0000003C0000003C00000 -078000000780000007000000070000000700000007000000070000000700000007000000 -070000000700000007000000000000000000000000000000000000000000000000000000 -00000000000000000F0000003FC000003FC000007FE000007FE000007FE000007FE00000 -3FC000003FC000000F00001E3B7CBA27>63 D<0000007C0000000000007C000000000000 -7C000000000000FE000000000000FE000000000000FE000000000001FF000000000001FF -000000000001FF000000000003FF800000000003FF800000000003FF800000000007FFC0 -0000000007BFC00000000007BFC0000000000FBFE0000000000F1FE0000000000F1FE000 -0000001F1FF0000000001E0FF0000000001E0FF0000000003E0FF8000000003C07F80000 -00003C07F8000000007C07FC000000007803FC000000007803FC000000007803FC000000 -00F001FE00000000F001FE00000000F001FE00000001E000FF00000001E000FF00000001 -E000FF00000003C0007F80000003C0007F80000003C0007F8000000780003FC0000007FF -FFFFC0000007FFFFFFC000000FFFFFFFE000000FFFFFFFE000000F00001FE000001F0000 -0FF000001E00000FF000001E00000FF000003E00000FF800003C000007F800003C000007 -F800007C000007FC000078000003FC000078000003FC0000F8000003FE0000F8000001FE -0001FC000001FE000FFF000003FF00FFFFE000FFFFFEFFFFE000FFFFFEFFFFE000FFFFFE -FFFFE000FFFFFE373C7DBB3E>65 D<FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFFFF0000 -FFFFFFFFFFC00001FF00007FE00000FF00003FF00000FF00000FF80000FF00000FFC0000 -FF000007FC0000FF000007FE0000FF000003FE0000FF000003FF0000FF000003FF0000FF -000003FF0000FF000003FF0000FF000003FF0000FF000003FF0000FF000003FF0000FF00 -0003FE0000FF000007FE0000FF000007FC0000FF00000FF80000FF00001FF80000FF0000 -3FF00000FF00007FC00000FF0003FF800000FFFFFFFE000000FFFFFFFE000000FFFFFFFF -800000FF00003FE00000FF00000FF00000FF000007FC0000FF000003FC0000FF000003FE -0000FF000001FF0000FF000001FF8000FF000000FF8000FF000000FF8000FF000000FFC0 -00FF000000FFC000FF000000FFC000FF000000FFC000FF000000FFC000FF000000FFC000 -FF000000FFC000FF000000FF8000FF000001FF8000FF000001FF8000FF000003FF0000FF -000007FE0000FF00000FFE0000FF00001FFC0001FF00007FF800FFFFFFFFFFE000FFFFFF -FFFFC000FFFFFFFFFF0000FFFFFFFFF8000032397DB83B>I<000001FF00038000000FFF -E0038000007FFFF807800001FFFFFE0F800007FF807F1F80000FFC000FBF80001FF00007 -FF80003FE00003FF80007FC00001FF8000FF800000FF8001FF0000007F8003FE0000007F -8007FC0000003F8007FC0000003F800FF80000001F801FF80000001F801FF00000000F80 -1FF00000000F803FF00000000F803FE00000000F807FE000000007807FE000000007807F -E000000007807FC00000000780FFC00000000000FFC00000000000FFC00000000000FFC0 -0000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000 -00000000FFC00000000000FFC00000000000FFC00000000000FFC000000000007FC00000 -0000007FE000000003807FE000000003807FE000000003803FE000000003803FF0000000 -03801FF000000007801FF000000007001FF800000007000FF80000000F0007FC0000000F -0007FC0000001E0003FE0000001E0001FF0000003C0000FF8000007800007FC00000F800 -003FE00001F000001FF00003E000000FFC0007C0000007FF803F80000001FFFFFE000000 -007FFFFC000000000FFFF00000000001FF000000313D7BBA3C>I<FFFFFFFFC00000FFFF -FFFFF80000FFFFFFFFFE0000FFFFFFFFFF800001FF0001FFE00000FF00003FF00000FF00 -000FF80000FF000007FC0000FF000001FE0000FF000001FF0000FF000000FF0000FF0000 -007F8000FF0000007FC000FF0000003FC000FF0000003FE000FF0000001FE000FF000000 -1FF000FF0000001FF000FF0000000FF000FF0000000FF800FF0000000FF800FF0000000F -F800FF0000000FF800FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC -00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FFC00 -FF0000000FFC00FF0000000FFC00FF0000000FFC00FF0000000FF800FF0000000FF800FF -0000000FF800FF0000000FF800FF0000001FF000FF0000001FF000FF0000001FE000FF00 -00001FE000FF0000003FC000FF0000003FC000FF0000007F8000FF000000FF8000FF0000 -00FF0000FF000001FE0000FF000003FC0000FF00000FF80000FF00003FF00001FF0001FF -E000FFFFFFFFFF8000FFFFFFFFFF0000FFFFFFFFF80000FFFFFFFFC0000036397DB83F> -I<FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF801FF00001FF800FF000003 -FC00FF000001FC00FF000000FC00FF0000007C00FF0000003C00FF0000003C00FF000000 -1C00FF0000001C00FF0000001C00FF0000001C00FF0000001E00FF0003800E00FF000380 -0E00FF0003800E00FF0003800E00FF0003800000FF0003800000FF0007800000FF000780 -0000FF000F800000FF003F800000FFFFFF800000FFFFFF800000FFFFFF800000FFFFFF80 -0000FF003F800000FF000F800000FF0007800000FF0007800000FF0003800000FF000380 -0000FF0003800000FF0003800000FF0003800000FF0003800000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000001FF80000000FFFFFFC000 -00FFFFFFC00000FFFFFFC00000FFFFFFC000002F397DB836>70 D<FFFFFFC0FFFFFFC0FF -FFFFC0FFFFFFC000FFC000007F8000007F8000007F8000007F8000007F8000007F800000 -7F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000 -7F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000 -7F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000 -7F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000 -7F8000007F8000007F8000007F8000007F800000FFC000FFFFFFC0FFFFFFC0FFFFFFC0FF -FFFFC01A397EB81E>73 D<FFFFFFE00000FFFFFFE00000FFFFFFE00000FFFFFFE0000001 -FF8000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 -FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 -FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 -FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 -FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000 -FF0000003800FF0000003800FF0000003800FF0000003800FF0000003800FF0000007800 -FF0000007000FF0000007000FF0000007000FF0000007000FF000000F000FF000000F000 -FF000001F000FF000001F000FF000003F000FF000007F000FF00000FF000FF00003FE001 -FF0001FFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02D397DB834>76 -D<FFFF800000000FFFF8FFFF800000000FFFF8FFFF800000000FFFF8FFFFC00000001FFF -F801FFC00000001FFC0000EFE00000003BF80000EFE00000003BF80000EFE00000003BF8 -0000E7F000000073F80000E7F000000073F80000E7F000000073F80000E3F8000000E3F8 -0000E3F8000000E3F80000E1FC000001C3F80000E1FC000001C3F80000E1FC000001C3F8 -0000E0FE00000383F80000E0FE00000383F80000E0FE00000383F80000E07F00000703F8 -0000E07F00000703F80000E03F80000E03F80000E03F80000E03F80000E03F80000E03F8 -0000E01FC0001C03F80000E01FC0001C03F80000E01FC0001C03F80000E00FE0003803F8 -0000E00FE0003803F80000E007F0007003F80000E007F0007003F80000E007F0007003F8 -0000E003F800E003F80000E003F800E003F80000E001FC01C003F80000E001FC01C003F8 -0000E001FC01C003F80000E000FE038003F80000E000FE038003F80000E000FE038003F8 -0000E0007F070003F80000E0007F070003F80000E0003F8E0003F80000E0003F8E0003F8 -0000E0003F8E0003F80000E0001FDC0003F80000E0001FDC0003F80000E0001FDC0003F8 -0000E0000FF80003F80000E0000FF80003F80000E00007F00003F80001F00007F00003F8 -0007FC0007F00007FC00FFFFE003E003FFFFF8FFFFE003E003FFFFF8FFFFE003E003FFFF -F8FFFFE001C003FFFFF845397DB84C>I<000003FF00000000001FFFE000000000FFFFFC -00000001FE01FE00000007F8007F8000000FE0001FC000003FC0000FF000007F800007F8 -0000FF000003FC0001FE000001FE0001FC000000FE0003FC000000FF0007F80000007F80 -07F80000007F800FF00000003FC00FF00000003FC01FF00000003FE01FE00000001FE03F -E00000001FF03FE00000001FF03FE00000001FF07FE00000001FF87FC00000000FF87FC0 -0000000FF87FC00000000FF8FFC00000000FFCFFC00000000FFCFFC00000000FFCFFC000 -00000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFCFFC00000 -000FFCFFC00000000FFCFFC00000000FFCFFC00000000FFC7FC00000000FF87FE0000000 -1FF87FE00000001FF87FE00000001FF83FE00000001FF03FE00000001FF01FF00000003F -E01FF00000003FE01FF00000003FE00FF80000007FC007F80000007F8007FC000000FF80 -03FC000000FF0001FE000001FE0001FE000001FE0000FF000003FC00007F800007F80000 -3FC0000FF000001FF0003FE0000007F8007F80000003FF03FF00000000FFFFFC00000000 -1FFFE00000000003FF000000363D7BBA41>79 D<FFFFFFFE00000000FFFFFFFFE0000000 -FFFFFFFFF8000000FFFFFFFFFE00000001FF0007FF80000000FF0000FFC0000000FF0000 -3FE0000000FF00001FF0000000FF00000FF8000000FF00000FF8000000FF000007FC0000 -00FF000007FC000000FF000007FE000000FF000007FE000000FF000007FE000000FF0000 -07FE000000FF000007FE000000FF000007FE000000FF000007FE000000FF000007FC0000 -00FF00000FFC000000FF00000FF8000000FF00000FF0000000FF00001FE0000000FF0000 -3FC0000000FF0000FF80000000FF0007FE00000000FFFFFFF800000000FFFFFFE0000000 -00FFFFFFC000000000FF000FF000000000FF0003F800000000FF0001FC00000000FF0000 -FE00000000FF00007F00000000FF00007F80000000FF00007F80000000FF00003FC00000 -00FF00003FC0000000FF00003FC0000000FF00003FC0000000FF00003FE0000000FF0000 -3FE0000000FF00003FE0000000FF00003FF0000000FF00003FF0000000FF00003FF00000 -00FF00003FF0000000FF00003FF8038000FF00003FF8038000FF00003FF8038000FF0000 -1FFC038001FF80001FFC0780FFFFFF000FFC0700FFFFFF0007FE0F00FFFFFF0003FF1E00 -FFFFFF0001FFFE0000000000007FFC0000000000000FF000393B7DB83D>82 -D<000FF801C0003FFE01C000FFFF83C003FFFFE7C007F807FFC00FE001FFC01FC0007FC0 -3F80003FC03F00001FC07E00000FC07E00000FC07C000007C0FC000007C0FC000003C0FC -000003C0FC000003C0FC000001C0FE000001C0FE000001C0FF000001C0FF800000007FC0 -0000007FE00000007FF80000003FFF8000001FFFF800001FFFFF80000FFFFFE00007FFFF -F80003FFFFFE0000FFFFFF00003FFFFF800007FFFFC000007FFFC0000007FFE00000007F -E00000003FF00000001FF00000000FF000000007F800000003F8E0000003F8E0000003F8 -E0000001F8E0000001F8E0000001F8F0000001F8F0000001F8F0000001F0F8000003F0FC -000003F0FC000007E0FE000007E0FF00000FC0FFC0001FC0FFF0003F80FFFE00FF00F8FF -FFFE00F03FFFF800E00FFFE000E001FF0000253D7CBA2E>I<3FFFFFFFFFFFE03FFFFFFF -FFFFE03FFFFFFFFFFFE03FFFFFFFFFFFE03FE001FE003FE07F0001FE0007F07E0001FE00 -03F07C0001FE0001F0780001FE0000F0780001FE0000F0780001FE000070700001FE0000 -70700001FE000070700001FE000070700001FE000070F00001FE000078E00001FE000038 -E00001FE000038E00001FE000038E00001FE000038000001FE000000000001FE00000000 -0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000 -01FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001 -FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE -000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE00 -0000000001FE000000000001FE000000000001FE000000000001FE000000000001FE0000 -00000001FE000000000001FE000000000001FE000000000001FE000000000003FF000000 -001FFFFFFFE000001FFFFFFFE000001FFFFFFFE000001FFFFFFFE00035397DB83C>I<FF -FFFF001FFFFEFFFFFF001FFFFEFFFFFF001FFFFEFFFFFF001FFFFE01FF800000FFC000FF -0000003F0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF00 -00001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000 -001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF000000 -1E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E -0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E00 -00FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000 -FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF0000001E0000FF -0000001E0000FF0000003E00007F0000003C00007F8000003C00007F8000003C00003F80 -00007C00003FC000007800001FC00000F800001FE00001F000000FE00001F0000007F000 -03E0000003F80007C0000001FE001F80000000FF80FF000000007FFFFE000000001FFFF8 -0000000007FFE00000000000FF000000373B7DB83E>I<FFFFFE01FFFFFC01FFFFC0FFFF -FE01FFFFFC01FFFFC0FFFFFE01FFFFFC01FFFFC0FFFFFE01FFFFFC01FFFFC001FF800003 -FF00001FF80000FF000003FE000007E00000FF000001FE000003C00000FF000001FE0000 -03C000007F800001FF0000038000007F800001FF0000038000007F800001FF0000038000 -003FC00001FF0000070000003FC00003FF8000070000003FC00003FF8000070000003FE0 -0003FF80000F0000001FE000073FC0000E0000001FE000073FC0000E0000001FF000073F -C0001E0000000FF0000F3FE0001C0000000FF0000E1FE0001C0000000FF0000E1FE0001C -00000007F8001E1FF0003800000007F8001C0FF0003800000007F8001C0FF00038000000 -03FC001C0FF0007000000003FC003807F8007000000003FC003807F8007000000003FE00 -3807F800F000000001FE007003FC00E000000001FE007003FC00E000000001FE007003FC -00E000000000FF00F003FE01C000000000FF00E001FE01C000000000FF00E001FE01C000 -0000007F80E001FE0380000000007F81C000FF0380000000007F81C000FF038000000000 -7FC1C000FF0780000000003FC380007F8700000000003FC380007F8700000000003FE380 -007F8F00000000001FE780007FCE00000000001FE700003FCE00000000001FE700003FCE -00000000000FFF00003FFC00000000000FFE00001FFC00000000000FFE00001FFC000000 -000007FE00001FF8000000000007FC00000FF8000000000007FC00000FF8000000000007 -FC00000FF8000000000003F8000007F0000000000003F8000007F0000000000003F80000 -07F0000000000001F8000007E0000000000001F0000003E0000000000001F0000003E000 -0000000000F0000003C0000000000000E0000001C0000000523B7FB855>87 -D<FFFFFE0000FFFFE0FFFFFE0000FFFFE0FFFFFE0000FFFFE0FFFFFE0000FFFFE001FFE0 -00001FFC00007FC000000FF000007FC000000FC000003FE000000F8000001FF000000F80 -00001FF000001F0000000FF800001E0000000FF800003E00000007FC00003C00000003FE -00007C00000003FE0000F800000001FF0000F800000001FF0001F000000000FF8001E000 -0000007FC003E0000000007FC003C0000000003FE007C0000000003FE00F80000000001F -F00F80000000000FF81F00000000000FF81E000000000007FC3E000000000007FC3C0000 -00000003FE7C000000000001FFF8000000000001FFF0000000000000FFF0000000000000 -FFE00000000000007FE00000000000003FC00000000000003FC00000000000003FC00000 -000000003FC00000000000003FC00000000000003FC00000000000003FC0000000000000 -3FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000 -000000003FC00000000000003FC00000000000003FC00000000000003FC0000000000000 -3FC00000000000003FC00000000000003FC00000000000007FE000000000003FFFFFC000 -0000003FFFFFC0000000003FFFFFC0000000003FFFFFC000003B397FB83E>89 -D<003FE0000001FFFC000007FFFF00000FC03F80001F801FE0003FC00FF0003FE007F000 -3FE003F8003FE003F8003FE003FC003FE001FC001FC001FC00020001FC00000001FC0000 -0001FC00000001FC000003FFFC00001FFFFC0000FFFFFC0003FF81FC0007FC01FC001FF0 -01FC003FE001FC003FC001FC007FC001FC007F8001FC00FF8001FC1CFF0001FC1CFF0001 -FC1CFF0001FC1CFF0003FC1CFF0003FC1C7F8007FC1C7FC00FFC1C3FC01E7E381FF07C7F -F80FFFF83FF003FFE03FE0007F800F8026277DA52A>97 D<03F8000000FFF8000000FFF8 -000000FFF8000000FFF80000000FF800000003F800000003F800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F80FE00003F87FFC0003F9FFFF00 -03FBE03F8003FF801FC003FF000FE003FE0007F003FC0003F803F80003F803F80001FC03 -F80001FC03F80001FE03F80000FE03F80000FE03F80000FF03F80000FF03F80000FF03F8 -0000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F800 -00FE03F80001FE03F80001FE03F80001FC03F80001FC03FC0003F803FC0003F803FE0007 -F003FF000FE003E7801FC003E3E07F8003C1FFFE0003807FF80000001FC000283B7EB92E ->I<0003FC00001FFF80007FFFE001FE03F003F801F807F003FC0FE007FC0FE007FC1FC0 -07FC3FC007FC3F8007FC7F8003F87F8000407F0000007F000000FF000000FF000000FF00 -0000FF000000FF000000FF000000FF000000FF000000FF000000FF0000007F8000007F80 -00007F8000003F80000E3FC0000E1FC0001E1FE0001C0FF0003C07F8007803FC00F001FF -03E0007FFFC0001FFF000007F8001F277DA525>I<0000001FC0000007FFC0000007FFC0 -000007FFC0000007FFC00000007FC00000001FC00000001FC00000001FC00000001FC000 -00001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000 -001FC00000001FC00000001FC00000001FC00007F81FC0001FFE1FC0007FFF9FC001FE07 -FFC003F801FFC007F0007FC00FE0007FC01FC0003FC01FC0001FC03F80001FC03F80001F -C07F80001FC07F80001FC07F00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0 -FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC07F00001FC07F -00001FC07F80001FC03F80001FC03F80001FC01FC0003FC01FC0003FC00FE0007FC007F0 -00FFF003F801FFFF01FC07DFFF00FFFF1FFF003FFE1FFF0007F01FC0283B7DB92E>I<00 -07F800001FFF00007FFFC001FC0FE003F807F007F003F80FE001F81FC001FC1FC000FC3F -8000FE3F80007E7F80007E7F00007F7F00007FFF00007FFF00007FFFFFFFFFFFFFFFFFFF -FFFFFFFF000000FF000000FF000000FF000000FF0000007F0000007F0000007F8000007F -8000003F8000073FC000071FC0000F0FE0000E07F0001E07F8003C01FC007800FF01F000 -7FFFE0001FFF800003FC0020277EA525>I<00007F000001FFC00007FFE0001FC7F0003F -8FF8007F0FF800FE0FF801FC0FF801FC0FF801FC07F003F803E003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -0000FFFFFC00FFFFFC00FFFFFC00FFFFFC0003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000007FC0000FFFFF800FFFFF800FFFFF800FFFF -F8001D3B7FBA19>I<00000003E0000FF00FF8003FFC3FFC00FFFF7CFC03F81FF0FC07F0 -0FE0FC0FE007F0FC0FC003F0301FC003F8001F8001F8003F8001FC003F8001FC003F8001 -FC003F8001FC003F8001FC003F8001FC003F8001FC001F8001F8001FC003F8000FC003F0 -000FE007F00007F00FE00007F81FC0000FFFFF00000F3FFC00001E0FF000001E00000000 -1E000000001E000000001F000000001F000000001F800000000FFFFFC0000FFFFFF80007 -FFFFFE0007FFFFFF8007FFFFFFC00FFFFFFFE01F80007FF03F00000FF07E000007F07E00 -0003F8FC000003F8FC000001F8FC000001F8FC000001F8FC000001F8FE000003F87F0000 -07F03F000007E03FC0001FE00FE0003F8007FC01FF0001FFFFFC00007FFFF0000007FF00 -0026387EA52A>I<03F800000000FFF800000000FFF800000000FFF800000000FFF80000 -00000FF80000000003F80000000003F80000000003F80000000003F80000000003F80000 -000003F80000000003F80000000003F80000000003F80000000003F80000000003F80000 -000003F80000000003F80000000003F80000000003F80000000003F807F0000003F83FFC -000003F8FFFF000003F9F07F800003FBC03FC00003FF801FC00003FF001FC00003FE000F -E00003FE000FE00003FC000FE00003FC000FE00003FC000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00007FC000FF000FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80293A7EB9 -2E>I<03C0000FF0000FF0001FF8001FF8001FF8001FF8000FF0000FF00003C000000000 -00000000000000000000000000000000000000000000000001F800FFF800FFF800FFF800 -FFF80007F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80007F800FFFFE0FFFFE0FFFFE0FFFFE013387EB718>I<03F8 -000000FFF8000000FFF8000000FFF8000000FFF80000000FF800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F803FFFC03F803FFFC03F803FFFC03F803FFFC03F801FF8003F800FE0003F801F80003 -F801F00003F803C00003F807800003F80F000003F81E000003F87C000003F8FC000003F9 -FC000003FBFE000003FFFF000003FFFF000003FF3F800003FC3FC00003F81FC00003F80F -E00003F80FF00003F807F80003F803F80003F803FC0003F801FE0003F800FE0003F800FF -0003F8007F8003F8007FC007FC007FE0FFFFE1FFFFFFFFE1FFFFFFFFE1FFFFFFFFE1FFFF -283A7EB92C>107 D<03F800FFF800FFF800FFF800FFF8000FF80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80007FC00FFFFE0FFFFE0FFFFE0 -FFFFE0133A7EB918>I<03F807F8000FF00000FFF83FFE007FFC0000FFF87FFF80FFFF00 -00FFF9F03FC3E07F8000FFFBC01FE7803FC0000FFF800FEF001FC00003FF000FFE001FC0 -0003FE0007FC000FE00003FE0007FC000FE00003FC0007F8000FE00003FC0007F8000FE0 -0003FC0007F8000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00007FC000FF8001FF000FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF -80FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF8041257EA446>I<03F807F00000FFF83FFC -0000FFF8FFFF0000FFF9F07F8000FFFBC03FC0000FFF801FC00003FF001FC00003FE000F -E00003FE000FE00003FC000FE00003FC000FE00003FC000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00007FC000FF000FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF8029257EA4 -2E>I<0003FE0000000FFF8000003FFFE00000FE03F80001F800FC0003F0007E0007E000 -3F000FC0001F801FC0001FC01F80000FC03F80000FE03F80000FE07F000007F07F000007 -F07F000007F07F000007F0FF000007F8FF000007F8FF000007F8FF000007F8FF000007F8 -FF000007F8FF000007F8FF000007F8FF000007F87F000007F07F000007F07F80000FF03F -80000FE03F80000FE01FC0001FC00FC0001F800FE0003F8007F0007F0003F800FE0000FE -03F800007FFFF000001FFFC0000003FE000025277EA52A>I<03F80FE000FFF87FFC00FF -F9FFFF00FFFBE07F80FFFF801FC007FF000FE003FE000FF003FC0007F803F80003F803F8 -0003FC03F80003FC03F80001FE03F80001FE03F80001FE03F80000FF03F80000FF03F800 -00FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000 -FF03F80001FE03F80001FE03F80001FE03F80003FC03F80003FC03FC0007F803FC0007F8 -03FE000FF003FF001FE003FF803FC003FBE07F8003F9FFFE0003F87FF80003F81FC00003 -F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8 -00000003F800000003F800000007FC000000FFFFE00000FFFFE00000FFFFE00000FFFFE0 -000028357EA42E>I<0003F801C0001FFE03C0007FFF83C001FE07C7C003FC01E7C007F8 -00FFC00FF0007FC01FE0007FC01FE0003FC03FC0003FC03FC0001FC07F80001FC07F8000 -1FC07F80001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001F -C0FF00001FC0FF00001FC0FF00001FC0FF00001FC07F80001FC07F80001FC07F80001FC0 -3FC0001FC03FC0003FC01FC0003FC01FE0007FC00FF000FFC007F000FFC003F803FFC001 -FE0FDFC000FFFF1FC0003FFC1FC00007F01FC00000001FC00000001FC00000001FC00000 -001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000000 -3FE0000007FFFF000007FFFF000007FFFF000007FFFF28357DA42C>I<03F03F00FFF0FF -C0FFF1FFE0FFF3CFF0FFF78FF00FFF0FF003FE0FF003FE0FF003FE07E003FC018003FC00 -0003FC000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000007FC0000FFFFF800FFFFF800FFFFF800FFFFF8001C257E -A421>I<00FF870003FFEF000FFFFF001F80FF003E003F007C001F007C000F00F8000F00 -F8000700F8000700FC000700FC000700FE000000FF8000007FF800007FFF80003FFFE000 -3FFFF8001FFFFC0007FFFE0001FFFF00007FFF800003FF8000007FC0E0001FC0E0000FC0 -E0000FC0F00007C0F00007C0F00007C0F80007C0F8000780FC000F80FE000F80FF001F00 -FFC07E00FBFFFC00F1FFF000E07F80001A277DA521>I<001C0000001C0000001C000000 -1C0000001C0000003C0000003C0000003C0000007C0000007C0000007C000000FC000001 -FC000003FC000007FC00001FFFFF00FFFFFF00FFFFFF00FFFFFF0001FC000001FC000001 -FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001 -FC000001FC000001FC000001FC000001FC000001FC000001FC01C001FC01C001FC01C001 -FC01C001FC01C001FC01C001FC01C001FC01C001FC01C000FE038000FE0380007F078000 -7F8F00003FFE00000FFC000003F0001A347FB220>I<03F8000FE000FFF803FFE000FFF8 -03FFE000FFF803FFE000FFF803FFE0000FF8003FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8001FE00003F8001FE00003F8001FE00003F8003FE00001F8003FE00001FC -007FF80001FC00FFFF8000FE03EFFF80007FFFCFFF80001FFF0FFF800003FC0FE0002926 -7EA42E>I<FFFFC07FFEFFFFC07FFEFFFFC07FFEFFFFC07FFE07FC001FF003F80007C003 -FC00078001FC00070001FC00070001FE000F0000FE000E0000FE000E00007F001C00007F -001C00007F803C00003F803800003F803800001FC07000001FC07000001FE07000000FE0 -E000000FE0E000000FF1E0000007F1C0000007F1C0000003FB80000003FB80000003FF80 -000001FF00000001FF00000001FF00000000FE00000000FE000000007C000000007C0000 -00007C0000000038000027257EA32C>I<FFFF8FFFF07FFEFFFF8FFFF07FFEFFFF8FFFF0 -7FFEFFFF8FFFF07FFE07F800FF000FF007F8007F0007C003F8007F0007C003F8003F0003 -8003FC003F80078001FC007F80070001FC007F80070001FE007FC00F0000FE00FFC00E00 -00FE00EFC00E0000FF00EFE01E00007F01EFE01C00007F01C7E01C00007F81C7F03C0000 -3F83C7F03800003F8383F03800001FC383F87000001FC701F87000001FC701F87000000F -E701FCE000000FEE00FCE000000FEE00FCE0000007FE00FFC0000007FC007FC0000007FC -007FC0000003FC007F80000003F8003F80000003F8003F80000001F8003F00000001F000 -1F00000001F0001F00000000F0001E00000000E0000E000037257EA33C>I<FFFFC0FFFF -00FFFFC0FFFF00FFFFC0FFFF00FFFFC0FFFF0001FF007FE00000FF003F0000007F003E00 -00003F803C0000003FC0780000001FC0F00000000FE0E00000000FF1E000000007FBC000 -000003FF8000000001FF0000000001FF0000000000FE00000000007F00000000007F8000 -0000007FC000000000FFC000000001FFE000000001CFF000000003C7F00000000783F800 -00000F03FC0000000E01FC0000001E00FE0000003C00FF0000007C007F800001FC003F80 -0007FC007FE000FFFF01FFFF80FFFF01FFFF80FFFF01FFFF80FFFF01FFFF8029247FA32C ->I<FFFFC07FFEFFFFC07FFEFFFFC07FFEFFFFC07FFE07FC001FF003F80007C003FC0007 -8001FC00070001FC00070000FE000E0000FE000E0000FF001E00007F001C00007F001C00 -003F803800003F803800003FC07800001FC07000001FC07000001FE0F000000FE0E00000 -0FF0E0000007F1C0000007F1C0000007FBC0000003FB80000003FB80000001FF00000001 -FF00000001FF00000000FE00000000FE000000007C000000007C000000007C0000000038 -000000003800000000780000000070000000007000000000E000000000E000007E01E000 -007E01C00000FF03C00000FF03800000FF07800000FF0F0000007E1E000000783C000000 -3FF80000001FF00000000FC000000027357EA32C>I E /Ff 35 121 -df<0000003C00000000007E0000000001FE0000000007FE000000001FFE00000000FFFE -00000007FFFE000003FFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFF7FFE -0000FFF87FFE0000FC007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -00007FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFF -FFFE2F4E76CD43>49 D<00003FFE0000000003FFFFE00000001FFFFFFC0000007FFFFFFF -000000FFFFFFFFC00001FFFFFFFFE00007FF807FFFF0000FFC001FFFF8001FF00007FFFC -001FE00001FFFE003FF00000FFFF007FFC0000FFFF807FFE00007FFF807FFF00003FFFC0 -FFFF00003FFFC0FFFF80003FFFE0FFFF80001FFFE0FFFF80001FFFE0FFFF80001FFFF0FF -FF80001FFFF0FFFF80000FFFF07FFF00000FFFF07FFF00000FFFF03FFE00000FFFF01FFC -00000FFFF00FF800000FFFF003E000001FFFF0000000001FFFE0000000001FFFE0000000 -001FFFE0000000003FFFC0000000003FFFC0000000003FFF80000000007FFF8000000000 -7FFF0000000000FFFE0000000000FFFE0000000001FFFC0000000001FFF80000000003FF -F00000000007FFE0000000000FFFC0000000000FFF80000000001FFE00000000003FFC00 -000000007FF80000000000FFF00000000000FFC00000000001FF800000000003FF000000 -000007FC00000000000FF80003F000001FF00003F000003FE00003F000007FC00003F000 -00FF000007E00001FE000007E00003FC000007E00007F8000007E00007F0000007E0000F -E000000FE0001F8000000FE0003F0000001FE0007FFFFFFFFFE000FFFFFFFFFFC001FFFF -FFFFFFC003FFFFFFFFFFC007FFFFFFFFFFC00FFFFFFFFFFFC01FFFFFFFFFFFC03FFFFFFF -FFFFC07FFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFF -FF80FFFFFFFFFFFF80FFFFFFFFFFFF80344E79CD43>I<00000FFF8000000000FFFFFC00 -000007FFFFFF0000001FFFFFFFC000003FFFFFFFF000007FF807FFF80000FFC001FFFC00 -01FE0000FFFE0003FC00007FFF0007FE00003FFF800FFF80003FFFC00FFFC0003FFFC00F -FFC0001FFFC01FFFE0001FFFE01FFFE0001FFFE01FFFE0001FFFE01FFFF0001FFFE01FFF -F0001FFFE01FFFE0001FFFE01FFFE0001FFFE00FFFE0003FFFE00FFFC0003FFFC007FF80 -003FFFC003FF00003FFFC000FE00007FFF80000000007FFF80000000007FFF0000000000 -FFFE0000000000FFFC0000000001FFF80000000003FFF00000000007FFE0000000001FFF -C000000000FFFF80000000FFFFFE00000000FFFFF800000000FFFFC000000000FFFFFC00 -000000FFFFFF800000000007FFF00000000001FFFC00000000007FFE00000000003FFF00 -000000003FFF80000000001FFFC0000000001FFFE0000000000FFFF0000000000FFFF800 -0000000FFFF80000000007FFFC0000000007FFFC0000000007FFFC01E0000007FFFE0FFC -000007FFFE1FFE000007FFFE3FFF000007FFFE7FFF800007FFFE7FFF800007FFFEFFFFC0 -0007FFFEFFFFC00007FFFEFFFFC00007FFFEFFFFC00007FFFCFFFFC00007FFFCFFFFC000 -0FFFFCFFFFC0000FFFF87FFF80000FFFF87FFF80000FFFF07FFF00001FFFF03FFE00001F -FFE01FF800003FFFC01FFC00007FFF800FFF0001FFFF0007FFF007FFFE0003FFFFFFFFFC -0000FFFFFFFFF000003FFFFFFFE000000FFFFFFF00000003FFFFFC000000001FFF800000 -374F7ACD43>I<00000000007E00000000000000FF00000000000001FF00000000000003 -FF00000000000003FF00000000000007FF0000000000000FFF0000000000001FFF000000 -0000001FFF0000000000003FFF0000000000007FFF000000000000FFFF000000000001FF -FF000000000001FFFF000000000003FFFF000000000007FFFF00000000000FFFFF000000 -00000FFFFF00000000001FFFFF00000000003FBFFF00000000007F3FFF0000000000FE3F -FF0000000000FE3FFF0000000001FC3FFF0000000003F83FFF0000000007F03FFF000000 -0007E03FFF000000000FE03FFF000000001FC03FFF000000003F803FFF000000007F003F -FF000000007F003FFF00000000FE003FFF00000001FC003FFF00000003F8003FFF000000 -03F0003FFF00000007F0003FFF0000000FE0003FFF0000001FC0003FFF0000003F80003F -FF0000003F80003FFF0000007F00003FFF000000FE00003FFF000001FC00003FFF000001 -F800003FFF000003F800003FFF000007F000003FFF00000FE000003FFF00001FC000003F -FF00001FC000003FFF00003F8000003FFF00007F0000003FFF0000FE0000003FFF0000FF -FFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFF -FFFFC0FFFFFFFFFFFFFFC0000000007FFF0000000000007FFF0000000000007FFF000000 -0000007FFF0000000000007FFF0000000000007FFF0000000000007FFF0000000000007F -FF0000000000007FFF0000000000007FFF0000000000007FFF0000000000007FFF000000 -0000007FFF0000000000007FFF000000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFF -FFFFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC03A4F7CCE43>I<0700 -0000000E0007E00000007E0007FC000003FE0007FFE000FFFE0007FFFFFFFFFE0007FFFF -FFFFFC0007FFFFFFFFF80007FFFFFFFFF00007FFFFFFFFE00007FFFFFFFFC00007FFFFFF -FF800007FFFFFFFF000007FFFFFFFE000007FFFFFFF8000007FFFFFFE0000007FFFFFF80 -000007FFFFFE00000007FFFFF000000007F0FC0000000007F0000000000007F000000000 -0007F0000000000007F0000000000007F0000000000007F0000000000007F00000000000 -07F0000000000007F0000000000007F0000000000007F00FFF00000007F07FFFF0000007 -F1FFFFFE000007F7FFFFFF800007FFFFFFFFC00007FFF807FFE00007FFC001FFF00007FE -0000FFF80007FC00007FFC0007F800007FFE0007F000003FFF0007E000003FFF8003C000 -003FFF80000000003FFFC0000000001FFFC0000000001FFFE0000000001FFFE000000000 -1FFFE0000000001FFFE0000000001FFFF0000000001FFFF0000000001FFFF007E000001F -FFF01FF800001FFFF03FFC00001FFFF07FFE00001FFFF07FFE00001FFFF0FFFF00001FFF -F0FFFF00001FFFF0FFFF00001FFFF0FFFF00001FFFE0FFFF00001FFFE0FFFF00001FFFE0 -FFFE00001FFFE0FFFE00003FFFC07FFC00003FFFC07FF800003FFF807FE000007FFF803F -8000007FFF001FC00000FFFE001FE00000FFFC000FF80003FFF80007FE0007FFF00003FF -C03FFFE00001FFFFFFFFC00000FFFFFFFF0000007FFFFFFE0000001FFFFFF800000007FF -FFC0000000007FF8000000344F79CD43>I<0000000FFF0000000000FFFFE000000007FF -FFF00000001FFFFFFC0000007FFFFFFE000001FFFE03FF000003FFE000FF800007FF8000 -3F80000FFF0000FFC0001FFE0003FFC0003FFC0007FFE0007FF80007FFE000FFF0000FFF -E001FFF0000FFFE001FFE0000FFFE003FFE0000FFFE007FFC0000FFFE007FFC0000FFFE0 -0FFFC00007FFC00FFF800007FFC01FFF800003FF801FFF800000FE001FFF80000000003F -FF80000000003FFF80000000003FFF00000000007FFF00000000007FFF00000000007FFF -007FF000007FFF03FFFE00007FFF07FFFF8000FFFF0FFFFFE000FFFF1FFFFFF000FFFF3F -81FFFC00FFFF7E003FFE00FFFFF8001FFF00FFFFF8000FFF80FFFFF00007FF80FFFFE000 -07FFC0FFFFE00007FFE0FFFFC00007FFE0FFFFC00003FFF0FFFFC00003FFF0FFFF800003 -FFF8FFFF800003FFF8FFFF800003FFF8FFFF800003FFF8FFFF000003FFFCFFFF000003FF -FCFFFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC -7FFF000003FFFC7FFF000003FFFC3FFF000003FFFC3FFF000003FFFC3FFF000003FFFC3F -FF000003FFFC1FFF800003FFF81FFF800003FFF81FFF800003FFF80FFF800003FFF00FFF -800003FFF007FF800007FFF007FFC00007FFE003FFC00007FFC001FFE0000FFFC001FFF0 -000FFF8000FFF8001FFF00007FFC003FFE00003FFF01FFFC00001FFFFFFFF800000FFFFF -FFF0000003FFFFFFC0000000FFFFFF000000003FFFFC0000000007FFC00000364F7ACD43 ->I<03F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FF -FFC07FFF807FFF803FFF001FFE000FFC0003F00000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000003 -F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07F -FF807FFF803FFF001FFE000FFC0003F000123577B425>58 D<0000000003FFFC000003C0 -000000007FFFFFC00007C000000007FFFFFFF8000FC00000003FFFFFFFFE001FC0000000 -FFFFFFFFFF803FC0000003FFFFFFFFFFC07FC000000FFFFFF001FFF0FFC000003FFFFE00 -003FF9FFC000007FFFF000000FFFFFC00001FFFFC0000003FFFFC00003FFFF00000000FF -FFC00007FFFC000000007FFFC0000FFFF8000000003FFFC0001FFFE0000000001FFFC000 -3FFFC0000000000FFFC0007FFF800000000007FFC000FFFF000000000003FFC001FFFF00 -0000000003FFC001FFFE000000000001FFC003FFFE000000000001FFC003FFFC00000000 -0000FFC007FFF8000000000000FFC00FFFF80000000000007FC00FFFF80000000000007F -C01FFFF00000000000003FC01FFFF00000000000003FC01FFFF00000000000003FC03FFF -E00000000000003FC03FFFE00000000000001FC03FFFE00000000000001FC07FFFE00000 -000000001FC07FFFE00000000000001FC07FFFE000000000000000007FFFC00000000000 -0000007FFFC00000000000000000FFFFC00000000000000000FFFFC00000000000000000 -FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC0 -0000000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC0000000 -0000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC0000000000000 -0000FFFFC00000000000000000FFFFC000000000000000007FFFC000000000000000007F -FFC000000000000000007FFFE000000000000000007FFFE000000000000000007FFFE000 -00000000000FC03FFFE00000000000000FC03FFFE00000000000000FC03FFFE000000000 -00000FC01FFFF00000000000000FC01FFFF00000000000000FC01FFFF00000000000001F -C00FFFF80000000000001F800FFFF80000000000001F8007FFFC0000000000003F8003FF -FC0000000000003F8003FFFE0000000000003F0001FFFE0000000000007F0001FFFF0000 -00000000FE0000FFFF800000000000FE00007FFF800000000001FC00003FFFC000000000 -03F800001FFFE00000000007F800000FFFF8000000000FF0000007FFFC000000001FE000 -0003FFFF000000007FC0000001FFFFC0000000FF800000007FFFF0000003FF000000003F -FFFE00001FFE000000000FFFFFF001FFF80000000003FFFFFFFFFFF00000000000FFFFFF -FFFFC000000000003FFFFFFFFF00000000000007FFFFFFFC000000000000007FFFFFE000 -00000000000003FFFC00000000525479D261>67 D<FFFFFFFFFFFFFFFFFF80FFFFFFFFFF -FFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FF -FFFFFFFFFFFFFFFFC00007FFFC000003FFFFC00007FFFC0000003FFFC00007FFFC000000 -0FFFC00007FFFC00000003FFC00007FFFC00000001FFC00007FFFC00000000FFC00007FF -FC000000007FC00007FFFC000000003FC00007FFFC000000001FC00007FFFC000000001F -E00007FFFC000000000FE00007FFFC000000000FE00007FFFC000000000FE00007FFFC00 -00000007E00007FFFC0000000007E00007FFFC0000000007E00007FFFC0000FC0007E000 -07FFFC0000FC0007E00007FFFC0000FC0007F00007FFFC0000FC0003F00007FFFC0000FC -0003F00007FFFC0000FC0003F00007FFFC0000FC0003F00007FFFC0001FC0000000007FF -FC0001FC0000000007FFFC0001FC0000000007FFFC0003FC0000000007FFFC0007FC0000 -000007FFFC000FFC0000000007FFFC007FFC0000000007FFFFFFFFFC0000000007FFFFFF -FFFC0000000007FFFFFFFFFC0000000007FFFFFFFFFC0000000007FFFFFFFFFC00000000 -07FFFFFFFFFC0000000007FFFC007FFC0000000007FFFC000FFC0000000007FFFC0007FC -0000000007FFFC0003FC0000000007FFFC0001FC0000000007FFFC0001FC0000000007FF -FC0001FC00007E0007FFFC0000FC00007E0007FFFC0000FC00007E0007FFFC0000FC0000 -FC0007FFFC0000FC0000FC0007FFFC0000FC0000FC0007FFFC0000FC0000FC0007FFFC00 -00FC0000FC0007FFFC0000000001FC0007FFFC0000000001FC0007FFFC0000000001F800 -07FFFC0000000001F80007FFFC0000000003F80007FFFC0000000003F80007FFFC000000 -0003F80007FFFC0000000007F80007FFFC0000000007F00007FFFC000000000FF00007FF -FC000000000FF00007FFFC000000001FF00007FFFC000000003FF00007FFFC000000007F -F00007FFFC00000000FFF00007FFFC00000003FFE00007FFFC00000007FFE00007FFFC00 -00003FFFE00007FFFC000003FFFFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFE0FF -FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFF -FFFFC04F517CD058>69 D<0000000003FFFC000003C000000000007FFFFFC00007C00000 -000007FFFFFFF8000FC0000000003FFFFFFFFE001FC000000000FFFFFFFFFF803FC00000 -0003FFFFFFFFFFC07FC00000000FFFFFF001FFF0FFC00000003FFFFE00003FF9FFC00000 -007FFFF000000FFFFFC0000001FFFFC0000003FFFFC0000003FFFF00000000FFFFC00000 -07FFFC000000007FFFC000000FFFF8000000003FFFC000001FFFE0000000001FFFC00000 -3FFFC0000000000FFFC000007FFF800000000007FFC00000FFFF000000000003FFC00001 -FFFF000000000003FFC00001FFFE000000000001FFC00003FFFE000000000001FFC00003 -FFFC000000000000FFC00007FFF8000000000000FFC0000FFFF80000000000007FC0000F -FFF80000000000007FC0001FFFF00000000000003FC0001FFFF00000000000003FC0001F -FFF00000000000003FC0003FFFE00000000000003FC0003FFFE00000000000001FC0003F -FFE00000000000001FC0007FFFE00000000000001FC0007FFFE00000000000001FC0007F -FFE00000000000000000007FFFC00000000000000000007FFFC0000000000000000000FF -FFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000000000FF -FFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000000000FF -FFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000000000FF -FFC0000000000000000000FFFFC0000000000000000000FFFFC0000000000000000000FF -FFC0000000000000000000FFFFC00000000000000000007FFFC0000000FFFFFFFFFFE07F -FFC0000000FFFFFFFFFFE07FFFE0000000FFFFFFFFFFE07FFFE0000000FFFFFFFFFFE07F -FFE0000000FFFFFFFFFFE03FFFE0000000FFFFFFFFFFE03FFFE000000000007FFFC0003F -FFE000000000007FFFC0001FFFF000000000007FFFC0001FFFF000000000007FFFC0001F -FFF000000000007FFFC0000FFFF800000000007FFFC0000FFFF800000000007FFFC00007 -FFFC00000000007FFFC00003FFFC00000000007FFFC00003FFFE00000000007FFFC00001 -FFFE00000000007FFFC00001FFFF00000000007FFFC00000FFFF80000000007FFFC00000 -7FFF80000000007FFFC000003FFFC0000000007FFFC000001FFFE0000000007FFFC00000 -0FFFF800000000FFFFC0000007FFFC00000000FFFFC0000003FFFF00000001FFFFC00000 -01FFFFC0000003FFFFC00000007FFFF0000007FFFFC00000003FFFFE00001FFFFFC00000 -000FFFFFF001FFF3FFC000000003FFFFFFFFFFE1FFC000000000FFFFFFFFFFC07FC00000 -00003FFFFFFFFF001FC00000000007FFFFFFFC0007C000000000007FFFFFE00001C00000 -00000003FFFE00000000005B5479D26A>71 D<FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFF -E0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE00007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00 -000007FFFC0000FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFF -E0FFFFFFFFFFE02B527DD132>73 D<FFFFFFFFFFFC000000FFFFFFFFFFFC000000FFFFFF -FFFFFC000000FFFFFFFFFFFC000000FFFFFFFFFFFC000000FFFFFFFFFFFC0000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000007FF -FC00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000FC0007FF -FC00000000FC0007FFFC00000000FC0007FFFC00000000FC0007FFFC00000000FC0007FF -FC00000001F80007FFFC00000001F80007FFFC00000001F80007FFFC00000001F80007FF -FC00000001F80007FFFC00000003F80007FFFC00000003F80007FFFC00000003F80007FF -FC00000007F80007FFFC00000007F80007FFFC00000007F80007FFFC0000000FF00007FF -FC0000000FF00007FFFC0000001FF00007FFFC0000003FF00007FFFC0000007FF00007FF -FC000000FFF00007FFFC000001FFF00007FFFC000003FFF00007FFFC00000FFFF00007FF -FC00003FFFF00007FFFC0003FFFFF0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFF -FFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE046527C -D151>76 D<FFFFFFFFFFFFFF000000FFFFFFFFFFFFFFF80000FFFFFFFFFFFFFFFF0000FF -FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFFFF000FFFFFFFFFFFFFFFFFC000007FFF800001F -FFFE000007FFF8000003FFFF800007FFF8000000FFFFC00007FFF80000003FFFE00007FF -F80000001FFFF00007FFF80000000FFFF00007FFF80000000FFFF80007FFF800000007FF -F80007FFF800000007FFFC0007FFF800000007FFFC0007FFF800000003FFFE0007FFF800 -000003FFFE0007FFF800000003FFFE0007FFF800000003FFFF0007FFF800000003FFFF00 -07FFF800000003FFFF0007FFF800000003FFFF0007FFF800000003FFFF0007FFF8000000 -03FFFF0007FFF800000003FFFF0007FFF800000003FFFF0007FFF800000003FFFF0007FF -F800000003FFFE0007FFF800000003FFFE0007FFF800000003FFFE0007FFF800000007FF -FC0007FFF800000007FFFC0007FFF800000007FFF80007FFF80000000FFFF80007FFF800 -00000FFFF00007FFF80000001FFFE00007FFF80000003FFFC00007FFF8000000FFFF8000 -07FFF8000003FFFF000007FFF800001FFFFE000007FFFFFFFFFFFFF8000007FFFFFFFFFF -FFF0000007FFFFFFFFFFFF80000007FFFFFFFFFFFE00000007FFFFFFFFFFE000000007FF -FC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000 -000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC00 -00000000000007FFFC0000000000000007FFFC0000000000000007FFFC00000000000000 -07FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC000000 -0000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FF -FC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000 -000007FFFC0000000000000007FFFC0000000000000007FFFC0000000000000007FFFC00 -00000000000007FFFC0000000000000007FFFC0000000000000007FFFC00000000000000 -07FFFC000000000000FFFFFFFFFFE000000000FFFFFFFFFFE000000000FFFFFFFFFFE000 -000000FFFFFFFFFFE000000000FFFFFFFFFFE000000000FFFFFFFFFFE00000000050527C -D15C>80 D<000000000FFFC00000000000000003FFFFFF000000000000001FFFFFFFE000 -0000000000FFFFFFFFFC000000000003FFFFFFFFFF00000000000FFFFC00FFFFC0000000 -003FFFC0000FFFF0000000007FFF000003FFF800000001FFFC000000FFFE00000003FFF8 -0000007FFF00000007FFE00000001FFF8000000FFFC00000000FFFC000001FFF80000000 -07FFE000003FFF0000000003FFF000007FFF0000000003FFF80000FFFE0000000001FFFC -0000FFFC0000000000FFFC0001FFFC0000000000FFFE0003FFF800000000007FFF0003FF -F800000000007FFF0007FFF000000000003FFF8007FFF000000000003FFF800FFFF00000 -0000003FFFC00FFFE000000000001FFFC01FFFE000000000001FFFE01FFFE00000000000 -1FFFE01FFFC000000000000FFFE03FFFC000000000000FFFF03FFFC000000000000FFFF0 -3FFFC000000000000FFFF07FFFC000000000000FFFF87FFFC000000000000FFFF87FFF80 -000000000007FFF87FFF80000000000007FFF87FFF80000000000007FFF8FFFF80000000 -000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007 -FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFF -FF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF8000 -0000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF8000000000 -0007FFFCFFFF80000000000007FFFC7FFF80000000000007FFF87FFF80000000000007FF -F87FFF80000000000007FFF87FFFC000000000000FFFF87FFFC000000000000FFFF83FFF -C000000000000FFFF03FFFC000000000000FFFF03FFFC000000000000FFFF01FFFE00000 -0000001FFFE01FFFE000000000001FFFE01FFFE000000000001FFFE00FFFE00000000000 -1FFFC00FFFF000000000003FFFC007FFF000000000003FFF8007FFF80001FE00007FFF80 -03FFF80007FF80007FFF0001FFFC001FFFE000FFFE0001FFFC003FFFF000FFFE0000FFFE -007FFFF801FFFC00007FFE00FF03FC01FFF800003FFF01FC00FE03FFF000001FFF81F800 -7F07FFE000000FFFC1F8003F8FFFC0000007FFE1F0001F9FFF80000003FFF9F0001FFFFF -00000001FFFDF8000FFFFE00000000FFFFF8000FFFFC000000003FFFFC000FFFF0000000 -000FFFFF00FFFFC00000000003FFFFFFFFFF000000000000FFFFFFFFFC0000000000001F -FFFFFFFE00000C00000003FFFFFFFE00001E000000001FFFE3FF00001E00000000000001 -FF80003E00000000000001FFC0003E00000000000001FFE0007E00000000000001FFF807 -FE00000000000001FFFFFFFE00000000000000FFFFFFFE00000000000000FFFFFFFC0000 -0000000000FFFFFFFC000000000000007FFFFFFC000000000000007FFFFFFC0000000000 -00007FFFFFF8000000000000007FFFFFF8000000000000003FFFFFF8000000000000003F -FFFFF0000000000000001FFFFFE0000000000000001FFFFFE0000000000000000FFFFFC0 -0000000000000007FFFF800000000000000003FFFF000000000000000001FFFE00000000 -00000000007FF80000000000000000001FE000576A79D265>I<FFFFFFFFFFFFF0000000 -0000FFFFFFFFFFFFFF8000000000FFFFFFFFFFFFFFF800000000FFFFFFFFFFFFFFFF0000 -0000FFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFF00000000007FFF800007FFFF800 -00000007FFF800000FFFFE0000000007FFF8000003FFFF0000000007FFF8000000FFFF80 -00000007FFF80000007FFFC000000007FFF80000003FFFC000000007FFF80000001FFFE0 -00000007FFF80000001FFFF000000007FFF80000001FFFF000000007FFF80000000FFFF8 -00000007FFF80000000FFFF800000007FFF80000000FFFF800000007FFF80000000FFFFC -00000007FFF80000000FFFFC00000007FFF80000000FFFFC00000007FFF80000000FFFFC -00000007FFF80000000FFFFC00000007FFF80000000FFFFC00000007FFF80000000FFFFC -00000007FFF80000000FFFFC00000007FFF80000000FFFF800000007FFF80000000FFFF8 -00000007FFF80000000FFFF800000007FFF80000001FFFF000000007FFF80000001FFFE0 -00000007FFF80000003FFFE000000007FFF80000003FFFC000000007FFF80000007FFF80 -00000007FFF8000000FFFF0000000007FFF8000003FFFE0000000007FFF800000FFFFC00 -00000007FFF80000FFFFF00000000007FFFFFFFFFFFFC00000000007FFFFFFFFFFFF0000 -00000007FFFFFFFFFFF8000000000007FFFFFFFFFFF8000000000007FFFFFFFFFFFE0000 -00000007FFF80003FFFF000000000007FFF80000FFFFC00000000007FFF800003FFFE000 -00000007FFF800001FFFF00000000007FFF800000FFFF80000000007FFF800000FFFFC00 -00000007FFF8000007FFFC0000000007FFF8000003FFFE0000000007FFF8000003FFFE00 -00000007FFF8000003FFFE0000000007FFF8000001FFFF0000000007FFF8000001FFFF00 -00000007FFF8000001FFFF0000000007FFF8000001FFFF0000000007FFF8000001FFFF00 -00000007FFF8000001FFFF0000000007FFF8000001FFFF0000000007FFF8000001FFFF00 -00000007FFF8000001FFFF8000000007FFF8000001FFFF8000000007FFF8000001FFFF80 -00000007FFF8000001FFFF8000000007FFF8000001FFFF8000000007FFF8000001FFFF80 -00000007FFF8000001FFFF8000000007FFF8000001FFFF80003C0007FFF8000001FFFFC0 -007E0007FFF8000001FFFFC0007E0007FFF8000001FFFFC0007E0007FFF8000000FFFFE0 -00FE0007FFF8000000FFFFE000FE0007FFF80000007FFFF000FC0007FFF80000007FFFF0 -01FCFFFFFFFFFFC0003FFFF803FCFFFFFFFFFFC0001FFFFE0FF8FFFFFFFFFFC00007FFFF -FFF0FFFFFFFFFFC00003FFFFFFE0FFFFFFFFFFC00000FFFFFFC0FFFFFFFFFFC000001FFF -FF00000000000000000000FFFC005F537CD164>I<3FFFFFFFFFFFFFFFFFFF803FFFFFFF -FFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFF -FFFFFF803FFFFFFFFFFFFFFFFFFF803FFFE0007FFFC000FFFF807FFE00007FFFC0000FFF -C07FF800007FFFC00003FFC07FF000007FFFC00001FFC07FE000007FFFC00000FFC07FC0 -00007FFFC000007FC07F8000007FFFC000003FC07F8000007FFFC000003FC07F0000007F -FFC000001FC07F0000007FFFC000001FC07F0000007FFFC000001FC07E0000007FFFC000 -000FC07E0000007FFFC000000FC07E0000007FFFC000000FC07E0000007FFFC000000FC0 -7E0000007FFFC000000FC0FE0000007FFFC000000FE0FC0000007FFFC0000007E0FC0000 -007FFFC0000007E0FC0000007FFFC0000007E0FC0000007FFFC0000007E0FC0000007FFF -C0000007E0FC0000007FFFC0000007E0000000007FFFC000000000000000007FFFC00000 -0000000000007FFFC000000000000000007FFFC000000000000000007FFFC00000000000 -0000007FFFC000000000000000007FFFC000000000000000007FFFC00000000000000000 -7FFFC000000000000000007FFFC000000000000000007FFFC000000000000000007FFFC0 -00000000000000007FFFC000000000000000007FFFC000000000000000007FFFC0000000 -00000000007FFFC000000000000000007FFFC000000000000000007FFFC0000000000000 -00007FFFC000000000000000007FFFC000000000000000007FFFC000000000000000007F -FFC000000000000000007FFFC000000000000000007FFFC000000000000000007FFFC000 -000000000000007FFFC000000000000000007FFFC000000000000000007FFFC000000000 -000000007FFFC000000000000000007FFFC000000000000000007FFFC000000000000000 -007FFFC000000000000000007FFFC000000000000000007FFFC000000000000000007FFF -C000000000000000007FFFC000000000000000007FFFC000000000000000007FFFC00000 -0000000000007FFFC000000000000000007FFFC000000000000000007FFFC00000000000 -0000007FFFC000000000000000007FFFC000000000000000007FFFC00000000000000000 -7FFFC000000000000000007FFFC0000000000001FFFFFFFFFFFFF000000001FFFFFFFFFF -FFF000000001FFFFFFFFFFFFF000000001FFFFFFFFFFFFF000000001FFFFFFFFFFFFF000 -000001FFFFFFFFFFFFF0000053517BD05E>84 D<FFFFFFFFFFE00007FFFFFFFCFFFFFFFF -FFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFCFFFFFFFF -FFE00007FFFFFFFCFFFFFFFFFFE00007FFFFFFFC0007FFFC00000000007FC0000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000003F80000007FFFC00000000003F80000007FFFC -00000000003F80000007FFFC00000000007F80000007FFFC00000000007F80000003FFFC -00000000007F00000003FFFE00000000007F00000003FFFE0000000000FF00000001FFFE -0000000000FF00000001FFFE0000000001FE00000000FFFF0000000001FE00000000FFFF -0000000003FC000000007FFF8000000003FC000000007FFF8000000007F8000000003FFF -C00000000FF8000000001FFFE00000001FF0000000000FFFF00000003FE00000000007FF -F8000000FFC00000000003FFFC000003FF800000000001FFFF80000FFF0000000000007F -FFF001FFFE0000000000003FFFFFFFFFF80000000000000FFFFFFFFFF000000000000003 -FFFFFFFFC0000000000000007FFFFFFF00000000000000000FFFFFF80000000000000000 -007FFF80000000005E537CD167>I<FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFF -FE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00 -FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFF -FFFFFE0001FFFFFFF0003FFFF00000003FFFF0000000003FE000001FFFF00000001FFFF0 -000000001F8000001FFFF00000001FFFF8000000001F8000001FFFF80000001FFFF80000 -00003F8000000FFFF80000000FFFF8000000003F0000000FFFFC0000000FFFFC00000000 -3F0000000FFFFC00000007FFFC000000007F00000007FFFC00000007FFFC000000007E00 -000007FFFE00000007FFFE00000000FE00000003FFFE00000003FFFE00000000FC000000 -03FFFE00000003FFFF00000000FC00000003FFFF00000003FFFF00000001FC00000001FF -FF00000001FFFF00000001F800000001FFFF80000003FFFF80000001F800000001FFFF80 -000003FFFF80000003F800000000FFFF80000003FFFF80000003F000000000FFFFC00000 -07FFFFC0000007F0000000007FFFC0000007FFFFC0000007E0000000007FFFC0000007FF -FFE0000007E0000000007FFFE000000FFFFFE000000FE0000000003FFFE000000FFFFFE0 -00000FC0000000003FFFF000001FFFFFF000000FC0000000003FFFF000001F9FFFF00000 -1FC0000000001FFFF000001F9FFFF000001F80000000001FFFF800003F9FFFF800003F80 -000000000FFFF800003F0FFFF800003F00000000000FFFF800003F0FFFFC00003F000000 -00000FFFFC00007F0FFFFC00007F000000000007FFFC00007E07FFFC00007E0000000000 -07FFFE0000FE07FFFE00007E000000000007FFFE0000FE07FFFE0000FE000000000003FF -FE0000FC03FFFE0000FC000000000003FFFF0001FC03FFFF0001FC000000000003FFFF00 -01F801FFFF0001FC000000000001FFFF0001F801FFFF8001F8000000000001FFFF8003F8 -01FFFF8003F8000000000000FFFF8003F000FFFF8003F0000000000000FFFFC007F000FF -FFC003F0000000000000FFFFC007F000FFFFC007F00000000000007FFFC007E0007FFFC0 -07E00000000000007FFFE00FE0007FFFE00FE00000000000007FFFE00FC0003FFFE00FE0 -0000000000003FFFE00FC0003FFFF00FC00000000000003FFFF01FC0003FFFF01FC00000 -000000001FFFF01F80001FFFF01F800000000000001FFFF81F80001FFFF81F8000000000 -00001FFFF83F80001FFFF83F800000000000000FFFF83F00000FFFF83F00000000000000 -0FFFFC7F00000FFFFC3F000000000000000FFFFC7E000007FFFC7F0000000000000007FF -FC7E000007FFFE7E0000000000000007FFFEFE000007FFFEFE0000000000000003FFFEFC -000003FFFEFC0000000000000003FFFFFC000003FFFFFC0000000000000003FFFFFC0000 -03FFFFFC0000000000000001FFFFF8000001FFFFF80000000000000001FFFFF8000001FF -FFF80000000000000001FFFFF0000000FFFFF80000000000000000FFFFF0000000FFFFF0 -0000000000000000FFFFF0000000FFFFF000000000000000007FFFE00000007FFFE00000 -0000000000007FFFE00000007FFFE000000000000000007FFFE00000007FFFE000000000 -000000003FFFC00000003FFFC000000000000000003FFFC00000003FFFC0000000000000 -00003FFF800000001FFFC000000000000000001FFF800000001FFF800000000000000000 -1FFF800000001FFF8000000000000000000FFF000000000FFF0000000000000000000FFF -000000000FFF0000000000000000000FFF000000000FFF00000000000000000007FE0000 -000007FE00000000000000000007FE0000000007FE00000000000000000007FC00000000 -03FE00000000000000000003FC0000000003FC00000000000000000003FC0000000003FC -00000000000000000001F80000000001F8000000000084537DD18B>87 -D<00003FFF800000000007FFFFF8000000001FFFFFFF000000007FFFFFFFC0000000FFFF -FFFFE0000001FFE007FFF8000003FF8001FFFC000007FFC0007FFE000007FFC0003FFF00 -000FFFE0003FFF00000FFFE0001FFF80000FFFE0000FFF80000FFFE0000FFFC0000FFFE0 -000FFFC0000FFFE00007FFE00007FFC00007FFE00007FFC00007FFE00003FF800007FFE0 -0000FE000007FFE0000000000007FFE0000000000007FFE0000000000007FFE000000000 -0007FFE00000000003FFFFE000000003FFFFFFE00000003FFFFFFFE0000003FFFFFFFFE0 -00000FFFFFFFFFE000007FFFFC07FFE00000FFFFC007FFE00003FFFE0007FFE00007FFF8 -0007FFE0000FFFE00007FFE0001FFFC00007FFE0003FFF800007FFE0003FFF000007FFE0 -007FFE000007FFE0007FFE000007FFE000FFFE000007FFE000FFFC000007FFE000FFFC00 -0007FFE000FFFC000007FFE000FFFC00000FFFE000FFFC00000FFFE000FFFE00000FFFE0 -007FFE00001FFFE0007FFE00003FFFE0007FFF00007FFFF0003FFF8000FDFFFC001FFFC0 -03F9FFFFE00FFFF81FF1FFFFF007FFFFFFE0FFFFF001FFFFFFC07FFFF000FFFFFF001FFF -F0001FFFFC0007FFE00001FFC0000000003C387CB641>97 D<000001FFF8000000001FFF -FF80000000FFFFFFE0000003FFFFFFF800000FFFFFFFFC00001FFFC01FFE00007FFE0007 -FF0000FFFC000FFF8001FFF0000FFF8003FFE0001FFFC003FFE0001FFFC007FFC0001FFF -C00FFFC0001FFFC00FFF80001FFFC01FFF80001FFFC01FFF00000FFF803FFF00000FFF80 -3FFF000007FF007FFF000001FC007FFE00000000007FFE00000000007FFE0000000000FF -FE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE -0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00 -00000000FFFE0000000000FFFE00000000007FFE00000000007FFF00000000007FFF0000 -0000003FFF00000000003FFF00000000003FFF80000007E01FFF80000007E01FFFC00000 -0FE00FFFC000000FC007FFE000001FC007FFE000001F8003FFF000003F8001FFF800007F -0000FFFE0000FE00007FFF8003FC00003FFFF01FF800000FFFFFFFF0000003FFFFFFE000 -0000FFFFFF800000003FFFFE0000000001FFE0000033387CB63C>99 -D<000000000001FFC0000000000007FFFFC0000000000007FFFFC0000000000007FFFFC0 -000000000007FFFFC0000000000007FFFFC0000000000007FFFFC00000000000001FFFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000003FFC007FFC00000003FFFFC07FFC0000001FFFFFF07FFC0 -000007FFFFFFC7FFC000000FFFFFFFF7FFC000003FFFE03FFFFFC000007FFF0007FFFFC0 -0000FFFC0001FFFFC00001FFF000007FFFC00003FFE000003FFFC00007FFC000001FFFC0 -0007FFC000000FFFC0000FFF8000000FFFC0001FFF8000000FFFC0001FFF0000000FFFC0 -003FFF0000000FFFC0003FFF0000000FFFC0003FFF0000000FFFC0007FFE0000000FFFC0 -007FFE0000000FFFC0007FFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC0 -00FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC0 -00FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC0 -00FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC0007FFE0000000FFFC0 -007FFE0000000FFFC0007FFE0000000FFFC0007FFF0000000FFFC0003FFF0000000FFFC0 -003FFF0000000FFFC0001FFF0000000FFFC0001FFF8000000FFFC0000FFF8000001FFFC0 -000FFF8000001FFFC00007FFC000003FFFC00003FFE000007FFFC00001FFF00000FFFFC0 -0000FFF80003FFFFF000007FFE000FFFFFFFC0003FFFC07FFFFFFFC0001FFFFFFFCFFFFF -C00007FFFFFF8FFFFFC00001FFFFFE0FFFFFC000007FFFF80FFFFFC0000007FF800FFE00 -0042547CD24B>I<000003FFC0000000003FFFFC00000001FFFFFF00000007FFFFFFC000 -000FFFFFFFE000003FFF81FFF800007FFC007FFC0000FFF8001FFE0001FFF0000FFE0003 -FFE0000FFF0007FFC00007FF800FFFC00007FF800FFF800003FFC01FFF800003FFC01FFF -000001FFC03FFF000001FFE03FFF000001FFE07FFF000001FFE07FFF000000FFE07FFE00 -0000FFF07FFE000000FFF0FFFE000000FFF0FFFE000000FFF0FFFE000000FFF0FFFFFFFF -FFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFE0FFFE000000 -0000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00000000 -007FFE00000000007FFF00000000007FFF00000000003FFF00000000003FFF0000000000 -3FFF00000001E01FFF80000003F01FFF80000007F00FFFC0000007F007FFC000000FE007 -FFE000000FE003FFF000001FC001FFF800003FC000FFFC0000FF80007FFF0003FF00001F -FFE01FFE00000FFFFFFFF8000003FFFFFFF0000000FFFFFFC00000001FFFFE0000000001 -FFF0000034387CB63D>I<00003FFF0000FF000001FFFFE007FF80000FFFFFFC3FFFC000 -3FFFFFFF7FFFE0007FFFFFFFFFFFF000FFF807FFFF3FF001FFE001FFF87FF003FF80007F -F03FF007FF80007FF83FF00FFF00003FFC3FE00FFF00003FFC1FC01FFF00003FFE07801F -FE00001FFE00001FFE00001FFE00003FFE00001FFF00003FFE00001FFF00003FFE00001F -FF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003F -FE00001FFF00001FFE00001FFE00001FFE00001FFE00001FFF00003FFE00000FFF00003F -FC00000FFF00003FFC000007FF80007FF8000003FF80007FF0000001FFE001FFE0000000 -FFF807FFC0000001FFFFFFFF80000003FFFFFFFF00000003EFFFFFFC00000007E1FFFFE0 -00000007C03FFF000000000FC00000000000000FC00000000000000FC00000000000000F -E00000000000000FE00000000000000FF00000000000000FF80000000000000FFE000000 -0000000FFFFFFFFF0000000FFFFFFFFFF800000FFFFFFFFFFF000007FFFFFFFFFFC00007 -FFFFFFFFFFE00003FFFFFFFFFFF00003FFFFFFFFFFF80001FFFFFFFFFFFC0000FFFFFFFF -FFFE0001FFFFFFFFFFFF0007FFFFFFFFFFFF000FFFFFFFFFFFFF801FFE000003FFFF803F -F80000003FFF807FF00000000FFFC07FF000000003FFC0FFE000000003FFC0FFE0000000 -01FFC0FFE000000001FFC0FFE000000001FFC0FFE000000001FFC0FFE000000001FFC0FF -F000000003FFC07FF000000003FF807FF800000007FF803FFC0000000FFF001FFE000000 -1FFE000FFF8000007FFC0007FFE00001FFF80003FFFE001FFFF00001FFFFFFFFFFE00000 -7FFFFFFFFF8000000FFFFFFFFC00000001FFFFFFE0000000000FFFFC0000003C4F7CB543 ->103 D<003FF8000000000000FFFFF8000000000000FFFFF8000000000000FFFFF80000 -00000000FFFFF8000000000000FFFFF8000000000000FFFFF800000000000003FFF80000 -0000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000 -0000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000 -0000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000 -0000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000 -0000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000 -0000000000FFF800000000000000FFF8001FFE00000000FFF800FFFFC0000000FFF803FF -FFF0000000FFF80FFFFFF8000000FFF81FFFFFFC000000FFF83FE0FFFE000000FFF87F00 -3FFF000000FFF8FC003FFF000000FFF9F0001FFF800000FFFBE0001FFF800000FFFFC000 -1FFF800000FFFFC0000FFFC00000FFFF80000FFFC00000FFFF00000FFFC00000FFFF0000 -0FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFE0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC000FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0F -FFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC042537BD24B ->I<003F000000FFC00001FFE00003FFF00007FFF8000FFFFC000FFFFC000FFFFC000FFF -FC000FFFFC000FFFFC000FFFFC000FFFFC0007FFF80003FFF00001FFE00000FFC000003F -000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000001FF800FFFFF800FFFFF800FFFFF800FFFFF800FFFF -F800FFFFF80001FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FF -F80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800FFFFFFF0FFFFFFF0FFFF -FFF0FFFFFFF0FFFFFFF0FFFFFFF01C547BD326>I<003FF80000000000FFFFF800000000 -00FFFFF80000000000FFFFF80000000000FFFFF80000000000FFFFF80000000000FFFFF8 -000000000003FFF8000000000000FFF8000000000000FFF8000000000000FFF800000000 -0000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8 -000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF800000000 -0000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8 -000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF800000000 -0000FFF8000000000000FFF80007FFFFF800FFF80007FFFFF800FFF80007FFFFF800FFF8 -0007FFFFF800FFF80007FFFFF800FFF80007FFFFF800FFF800007FF00000FFF800007FE0 -0000FFF80000FF800000FFF80001FF000000FFF80007FE000000FFF8000FFC000000FFF8 -001FF0000000FFF8003FE0000000FFF800FFC0000000FFF801FF80000000FFF803FF0000 -0000FFF807FC00000000FFF80FF800000000FFF83FF000000000FFF87FF000000000FFF8 -FFF800000000FFF9FFFC00000000FFFBFFFE00000000FFFFFFFF00000000FFFFFFFF0000 -0000FFFFFFFF80000000FFFFFFFFC0000000FFFF9FFFE0000000FFFF0FFFE0000000FFFE -0FFFF0000000FFF807FFF8000000FFF803FFFC000000FFF801FFFC000000FFF800FFFE00 -0000FFF800FFFF000000FFF8007FFF800000FFF8003FFF800000FFF8001FFFC00000FFF8 -001FFFE00000FFF8000FFFF00000FFF80007FFF80000FFF80003FFF80000FFF80003FFFC -0000FFF80001FFFE0000FFF80000FFFF0000FFF80000FFFF80FFFFFFF807FFFFFFFFFFFF -F807FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFF -FF40537CD247>107 D<003FF8001FFE000000FFF00000FFFFF800FFFFE00007FFFF0000 -FFFFF803FFFFF8001FFFFFC000FFFFF80FFFFFFC007FFFFFE000FFFFF81FFFFFFE00FFFF -FFF000FFFFF83FE07FFF01FF03FFF800FFFFF87F001FFF83F800FFFC0003FFF8FC001FFF -87E000FFFC0000FFF9F8000FFFCFC0007FFE0000FFFBE0000FFFDF00007FFE0000FFFFE0 -000FFFFF00007FFE0000FFFFC00007FFFE00003FFF0000FFFF800007FFFC00003FFF0000 -FFFF000007FFF800003FFF0000FFFF000007FFF800003FFF0000FFFF000007FFF800003F -FF0000FFFE000007FFF000003FFF0000FFFE000007FFF000003FFF0000FFFE000007FFF0 -00003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC0000 -07FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FF -FC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF -0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000 -003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007 -FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC -000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF00 -00FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE00000 -3FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FF -E000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC00 -0007FFE000003FFF0000FFFC000007FFE000003FFF00FFFFFFFC07FFFFFFE03FFFFFFFFF -FFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFF -FFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFF68367BB571>109 -D<003FF8001FFE000000FFFFF800FFFFC00000FFFFF803FFFFF00000FFFFF80FFFFFF800 -00FFFFF81FFFFFFC0000FFFFF83FE0FFFE0000FFFFF87F003FFF000003FFF8FC003FFF00 -0000FFF9F0001FFF800000FFFBE0001FFF800000FFFFC0001FFF800000FFFFC0000FFFC0 -0000FFFF80000FFFC00000FFFF00000FFFC00000FFFF00000FFFC00000FFFE00000FFFC0 -0000FFFE00000FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -00FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFF -C0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC042367BB54B>I<000001FFE00000000000 -1FFFFE0000000000FFFFFFC000000003FFFFFFF00000000FFFFFFFFC0000001FFF807FFE -0000007FFC000FFF800000FFF80007FFC00001FFE00001FFE00003FFC00000FFF00003FF -C00000FFF00007FF8000007FF8000FFF8000007FFC000FFF0000003FFC001FFF0000003F -FE001FFF0000003FFE003FFF0000003FFF003FFE0000001FFF003FFE0000001FFF007FFE -0000001FFF807FFE0000001FFF807FFE0000001FFF807FFE0000001FFF80FFFE0000001F -FFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE -0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001F -FFC0FFFE0000001FFFC0FFFE0000001FFFC07FFE0000001FFF807FFE0000001FFF807FFE -0000001FFF803FFE0000001FFF003FFF0000003FFF003FFF0000003FFF001FFF0000003F -FE001FFF0000003FFE000FFF8000007FFC000FFF8000007FFC0007FFC00000FFF80003FF -C00000FFF00001FFE00001FFE00000FFF80007FFC000007FFC000FFF8000003FFF807FFF -0000000FFFFFFFFC00000007FFFFFFF800000000FFFFFFC0000000003FFFFF0000000000 -01FFE00000003A387CB643>I<000001FFC00007C00000003FFFF8000FC0000000FFFFFE -001FC0000003FFFFFF801FC000000FFFFFFFC03FC000003FFFE03FE07FC000007FFF8007 -F07FC00000FFFE0003F8FFC00001FFFC0001FDFFC00003FFF80000FFFFC00007FFF00000 -7FFFC00007FFE000003FFFC0000FFFC000003FFFC0001FFFC000001FFFC0001FFF800000 -1FFFC0003FFF8000000FFFC0003FFF8000000FFFC0003FFF00000007FFC0007FFF000000 -07FFC0007FFF00000007FFC0007FFF00000007FFC000FFFE00000007FFC000FFFE000000 -07FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE000000 -07FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE000000 -07FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC0007FFF000000 -07FFC0007FFF00000007FFC0007FFF00000007FFC0007FFF00000007FFC0003FFF800000 -07FFC0003FFF80000007FFC0001FFF8000000FFFC0001FFFC000001FFFC0000FFFC00000 -1FFFC0000FFFE000003FFFC00007FFE000007FFFC00003FFF00000FFFFC00001FFF80001 -FFFFC00000FFFC0003FFFFC000007FFF000FFFFFC000003FFFC07FEFFFC000001FFFFFFF -CFFFC0000007FFFFFF0FFFC0000001FFFFFE0FFFC00000007FFFF00FFFC000000007FF80 -0FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC0000000000000 -0FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC0000000000000 -0FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC0000000000000 -0FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC0000000000000 -0FFFC000000000000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000F -FFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0424D7CB547>113 -D<003FF007FC00FFFFF01FFF80FFFFF07FFFE0FFFFF0FFFFF0FFFFF1FFFFF8FFFFF1FC7F -FCFFFFF3F07FFC03FFF7E0FFFE00FFF7C0FFFE00FFFF80FFFE00FFFF80FFFE00FFFF00FF -FE00FFFF00FFFE00FFFE007FFC00FFFE007FFC00FFFE003FF800FFFC000FE000FFFC0000 -0000FFFC00000000FFFC00000000FFFC00000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -00FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE00 -002F367CB537>I<0003FFF00F00003FFFFE3F0000FFFFFFFF0001FFFFFFFF0007FFFFFF -FF000FFF003FFF001FF80007FF003FE00003FF003FC00000FF007FC00000FF007F800000 -7F007F8000007F00FF8000003F00FF8000003F00FFC000003F00FFC000003F00FFE00000 -3F00FFF800000000FFFF00000000FFFFF00000007FFFFFC000007FFFFFFC00007FFFFFFF -80003FFFFFFFE0001FFFFFFFF0000FFFFFFFF80007FFFFFFFE0003FFFFFFFF0001FFFFFF -FF80007FFFFFFF80001FFFFFFFC00007FFFFFFE000003FFFFFE0000001FFFFE00000000F -FFF000000003FFF07C000000FFF0FC0000007FF0FC0000003FF0FE0000003FF0FE000000 -1FF0FE0000001FF0FF0000001FF0FF0000001FE0FF8000001FE0FFC000003FE0FFE00000 -3FC0FFF000007FC0FFF80000FF80FFFE0003FF00FFFFC01FFE00FFFFFFFFFC00FF7FFFFF -F800FE1FFFFFE000F807FFFF8000F000FFF800002C387CB635>I<00007E00000000007E -00000000007E00000000007E00000000007E00000000007E0000000000FE0000000000FE -0000000000FE0000000000FE0000000001FE0000000001FE0000000001FE0000000003FE -0000000003FE0000000007FE0000000007FE000000000FFE000000001FFE000000003FFE -000000007FFE00000000FFFE00000003FFFE0000000FFFFFFFFF00FFFFFFFFFF00FFFFFF -FFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE -000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0003FFE001F80003FFF -001F80003FFF003F80001FFF803F00001FFF807F00000FFFE0FE000007FFFFFC000003FF -FFF8000000FFFFF00000003FFFC000000007FF00002A4D7ECB34>I<001FFC000001FFC0 -00FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC0 -00FFFFFC000FFFFFC000FFFFFC000FFFFFC00003FFFC00003FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0 -0000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00001FFFC00000FFFC00001FFFC0 -0000FFFC00001FFFC00000FFFC00003FFFC00000FFFC00003FFFC00000FFFC00007FFFC0 -00007FFC0000FFFFC000007FFC0000FFFFC000003FFE0003F7FFF000003FFF0007E7FFFF -C0001FFFC03FC7FFFFC0000FFFFFFF87FFFFC00007FFFFFF07FFFFC00001FFFFFE07FFFF -C000007FFFF807FFFFC0000007FFC007FF000042377BB54B>I<7FFFFFF800FFFFFE007F -FFFFF800FFFFFE007FFFFFF800FFFFFE007FFFFFF800FFFFFE007FFFFFF800FFFFFE007F -FFFFF800FFFFFE00003FFF80000FFC0000001FFFC0000FF00000000FFFE0001FE0000000 -0FFFE0003FC000000007FFF0007F8000000003FFF8007F0000000001FFFC00FF00000000 -00FFFE01FE0000000000FFFE03FC00000000007FFF07F800000000003FFF8FF000000000 -001FFFCFE000000000000FFFFFE000000000000FFFFFC0000000000007FFFF8000000000 -0003FFFF00000000000001FFFE00000000000001FFFE00000000000000FFFE0000000000 -00007FFF000000000000003FFF800000000000001FFFC00000000000003FFFC000000000 -00007FFFE00000000000007FFFF0000000000000FFFFF8000000000001FFFFFC00000000 -0003FDFFFC000000000007F8FFFE00000000000FF07FFF00000000000FE03FFF80000000 -001FE01FFFC0000000003FC01FFFC0000000007F800FFFE000000000FF0007FFF0000000 -01FE0003FFF800000003FC0001FFFC00000003F80001FFFC00000007F80000FFFE000000 -0FF000007FFF0000003FF000003FFF8000FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FF -FFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC042 -357EB447>120 D E /Fg 17 121 df<000003FF80000000003FFFF000000001FFFFFE00 -000007FFFFFF8000001FFFFFFFE000003FFC01FFF000007FC0003FFC0000FE00000FFE00 -01FC000007FF0003F0000003FF0007E0000003FF8007C0000001FFC00F80000000FFC00F -80000000FFE00FF0000000FFE01FF80000007FE01FFC0000007FF01FFC0000007FF01FFC -0000007FF01FFE0000007FF01FFC0000007FF01FFC0000007FF00FFC0000007FF007F800 -00007FF001E00000007FF00000000000FFE00000000000FFE00000000000FFE000000000 -00FFC00000000001FFC00000000001FFC00000000001FF800000000003FF000000000003 -FF000000000007FE00000000000FFC00000000000FF800000000001FF000000000003FE0 -00000000007F800000000001FF000000000007FC0000000001FFF000000000FFFFC00000 -0000FFFF8000000000FFFFF8000000000001FE0000000000007F8000000000001FE00000 -0000000FF8000000000007FC000000000003FE000000000001FF000000000001FF800000 -000000FFC00000000000FFE000000000007FF000000000007FF000000000003FF8000000 -00003FF800000000003FFC00000000003FFC00000000001FFC00000000001FFC00000000 -001FFE00000000001FFE06000000001FFE1F800000001FFE7FE00000001FFE7FE0000000 -1FFEFFF00000001FFEFFF00000001FFEFFF00000001FFEFFF00000001FFEFFF00000001F -FCFFE00000003FFCFFE00000003FFC7F800000003FFC78000000003FF87C000000007FF8 -7C000000007FF03E000000007FF03F00000000FFE01F80000001FFE00F80000001FFC00F -E0000003FF8007F0000007FF0003F800000FFE0001FE00001FFC0000FFC0007FF800003F -FC01FFF000001FFFFFFFC0000007FFFFFF80000001FFFFFE000000003FFFF00000000003 -FF00000037607BDD42>51 D<0F803FE07FF07FF0FFF8FFF8FFF8FFF8FFF87FF07FF03FE0 -0F8000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -00000F803FE07FF07FF0FFF8FFF8FFF8FFF8FFF87FF07FF03FE00F800D3E75BD24>58 -D<FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFF -FFFFFFFF80FFFFFFFFFFFFFFFFFF80007FFC00000003FFFF80003FF8000000003FFFC000 -1FF80000000007FFC0001FF80000000001FFC0001FF80000000000FFC0001FF800000000 -007FC0001FF800000000003FC0001FF800000000001FC0001FF800000000000FC0001FF8 -00000000000FC0001FF8000000000007C0001FF8000000000007C0001FF8000000000007 -E0001FF8000000000003E0001FF8000000000003E0001FF8000000000003E0001FF80000 -00000001E0001FF8000000000001E0001FF8000000000001E0001FF8000000000001E000 -1FF8000000000001E0001FF8000000000001E0001FF8000000000001E0001FF8000000F0 -0000F0001FF8000000F00000F0001FF8000000F00000F0001FF8000000F00000F0001FF8 -000000F00000F0001FF8000000F0000000001FF8000000F0000000001FF8000000F00000 -00001FF8000001F0000000001FF8000001F0000000001FF8000001F0000000001FF80000 -01F0000000001FF8000003F0000000001FF8000007F0000000001FF800000FF000000000 -1FF800001FF0000000001FF80000FFF0000000001FFFFFFFFFF0000000001FFFFFFFFFF0 -000000001FFFFFFFFFF0000000001FFFFFFFFFF0000000001FFFFFFFFFF0000000001FF8 -0000FFF0000000001FF800001FF0000000001FF800000FF0000000001FF8000007F00000 -00001FF8000003F0000000001FF8000001F0000000001FF8000001F0000000001FF80000 -01F0000000001FF8000001F0000000001FF8000000F0000000001FF8000000F000001E00 -1FF8000000F000001E001FF8000000F000001E001FF8000000F000001E001FF8000000F0 -00003C001FF8000000F000003C001FF8000000F000003C001FF80000000000003C001FF8 -0000000000003C001FF80000000000003C001FF80000000000007C001FF8000000000000 -78001FF800000000000078001FF800000000000078001FF800000000000078001FF80000 -00000000F8001FF8000000000000F8001FF8000000000000F8001FF8000000000001F800 -1FF8000000000001F0001FF8000000000001F0001FF8000000000003F0001FF800000000 -0003F0001FF8000000000007F0001FF8000000000007F0001FF800000000000FF0001FF8 -00000000001FF0001FF800000000003FE0001FF800000000007FE0001FF80000000001FF -E0001FF80000000007FFE0003FF8000000003FFFE0007FFC00000007FFFFE0FFFFFFFFFF -FFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FF -FFFFFFFFFFFFFFFFC04F6279E15A>69 D<0000000000FFF0000001C000000000000FFFFF -000001C00000000000FFFFFFE00003C00000000003FFFFFFF80003C0000000000FFFFFFF -FE0007C0000000003FFFE003FF0007C000000000FFFE00003FC00FC000000003FFF00000 -0FE01FC000000007FFC0000003F01FC00000000FFF00000001F83FC00000003FFC000000 -007C3FC00000007FF8000000003E7FC0000000FFE0000000001FFFC0000001FFC0000000 -000FFFC0000003FF800000000007FFC0000007FF000000000007FFC000000FFE00000000 -0003FFC000001FFC000000000001FFC000001FF8000000000001FFC000003FF800000000 -0000FFC000007FF00000000000007FC00000FFE00000000000007FC00000FFE000000000 -00003FC00001FFC00000000000003FC00001FFC00000000000001FC00003FF8000000000 -00001FC00003FF800000000000001FC00007FF000000000000000FC00007FF0000000000 -00000FC0000FFE000000000000000FC0000FFE0000000000000007C0001FFE0000000000 -000007C0001FFC0000000000000007C0001FFC0000000000000007C0003FFC0000000000 -000007C0003FFC0000000000000003C0003FF80000000000000003C0003FF80000000000 -000003C0007FF80000000000000003C0007FF8000000000000000000007FF80000000000 -00000000007FF8000000000000000000007FF000000000000000000000FFF00000000000 -0000000000FFF000000000000000000000FFF000000000000000000000FFF00000000000 -0000000000FFF000000000000000000000FFF000000000000000000000FFF00000000000 -0000000000FFF000000000000000000000FFF000000000000000000000FFF00000000000 -0000000000FFF000000000000000000000FFF000000000000000000000FFF00000000000 -0000000000FFF000000000000000000000FFF000000000000000000000FFF00000000000 -00000000007FF0000000000000000000007FF8000000000000000000007FF80000000001 -FFFFFFFFE07FF80000000001FFFFFFFFE07FF80000000001FFFFFFFFE03FF80000000001 -FFFFFFFFE03FF80000000001FFFFFFFFE03FFC0000000000000FFFF0003FFC0000000000 -0001FFE0001FFC00000000000000FFC0001FFE00000000000000FFC0001FFE0000000000 -0000FFC0000FFE00000000000000FFC0000FFF00000000000000FFC00007FF0000000000 -0000FFC00007FF00000000000000FFC00003FF80000000000000FFC00003FF8000000000 -0000FFC00001FFC0000000000000FFC00001FFC0000000000000FFC00000FFE000000000 -0000FFC00000FFF0000000000000FFC000007FF0000000000000FFC000003FF800000000 -0000FFC000001FFC000000000000FFC000001FFE000000000000FFC000000FFE00000000 -0000FFC0000007FF000000000001FFC0000003FF800000000001FFC0000001FFE0000000 -0003FFC0000000FFF00000000003FFC00000007FF80000000007FFC00000003FFE000000 -000FBFC00000000FFF000000001F9FC000000007FFC00000007F1FC000000003FFF80000 -01FE0FC000000000FFFF000007F807C0000000003FFFF000FFF007C0000000000FFFFFFF -FFC003C00000000003FFFFFFFF0001C00000000000FFFFFFFC0000C000000000000FFFFF -E0000000000000000000FFFC00000000005B667AE368>71 D<FFFFFFFFFFFFC0000000FF -FFFFFFFFFFFE000000FFFFFFFFFFFFFFC00000FFFFFFFFFFFFFFF00000FFFFFFFFFFFFFF -FC0000007FFC000001FFFE0000003FF80000001FFF8000001FF800000003FFC000001FF8 -00000000FFE000001FF8000000007FF000001FF8000000003FF800001FF8000000001FFC -00001FF8000000000FFE00001FF80000000007FF00001FF80000000003FF00001FF80000 -000003FF80001FF80000000003FF80001FF80000000001FFC0001FF80000000001FFC000 -1FF80000000001FFE0001FF80000000000FFE0001FF80000000000FFE0001FF800000000 -00FFF0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FFF0001FF8 -0000000000FFF0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FF -F0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FFE0001FF80000 -000001FFE0001FF80000000001FFE0001FF80000000001FFC0001FF80000000001FFC000 -1FF80000000003FF80001FF80000000003FF80001FF80000000003FF00001FF800000000 -07FE00001FF8000000000FFE00001FF8000000001FFC00001FF8000000003FF800001FF8 -000000007FF000001FF800000000FFE000001FF800000003FF8000001FF80000001FFF00 -00001FF8000001FFFC0000001FFFFFFFFFFFF00000001FFFFFFFFFFFC00000001FFFFFFF -FFFE000000001FFFFFFFFFC0000000001FF800000000000000001FF80000000000000000 -1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000 -000000001FF800000000000000001FF800000000000000001FF800000000000000001FF8 -00000000000000001FF800000000000000001FF800000000000000001FF8000000000000 -00001FF800000000000000001FF800000000000000001FF800000000000000001FF80000 -0000000000001FF800000000000000001FF800000000000000001FF80000000000000000 -1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000 -000000001FF800000000000000001FF800000000000000001FF800000000000000001FF8 -00000000000000001FF800000000000000001FF800000000000000001FF8000000000000 -00001FF800000000000000001FF800000000000000001FF800000000000000001FF80000 -0000000000001FF800000000000000001FF800000000000000001FF80000000000000000 -3FFC00000000000000007FFE00000000000000FFFFFFFF000000000000FFFFFFFF000000 -000000FFFFFFFF000000000000FFFFFFFF000000000000FFFFFFFF0000000000004C6279 -E15A>80 D<00001FF8000000000001FFFF000000000007FFFFE0000000001FE01FF80000 -00003F0003FC000000007C0001FF00000000F80000FF80000001F000007FC0000003E000 -003FE0000007C000001FF0000007C000001FF0000007F800000FF800000FFC00000FF800 -000FFE000007FC00000FFE000007FC00000FFE000007FC00000FFE000003FE00000FFE00 -0003FE00000FFE000003FE000007FC000003FE000001F0000003FE00000000000003FE00 -000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000 -0003FE000000000003FFFE0000000000FFFFFE000000000FFFFFFE000000007FFF03FE00 -000003FFE003FE0000000FFF0003FE0000003FFC0003FE0000007FF00003FE000001FFC0 -0003FE000003FF800003FE000007FF000003FE00000FFE000003FE00000FFC000003FE00 -001FF8000003FE00003FF8000003FE00003FF0000003FE00007FF0000003FE00F07FE000 -0003FE00F07FE0000003FE00F0FFE0000003FE00F0FFC0000003FE00F0FFC0000003FE00 -F0FFC0000007FE00F0FFC0000007FE00F0FFC0000007FE00F0FFC000000FFE00F0FFE000 -000FFE00F07FE000001FFE00F07FE000003DFE00F03FF0000038FE00E03FF8000078FF01 -E01FFC0000F0FF01E00FFE0003E07F83C007FF0007C07FC7C001FFC03F003FFF80007FFF -FC001FFF00001FFFF0000FFC000001FF800003F0003C417BBF42>97 -D<000001FF80000000000FFFF8000000003FFFFE00000000FF807F80000003FC000FE000 -0007F00003F000001FE00000F800003FC000007C00007F8000003E0000FF0000001F0001 -FF0000001F0001FE000000FF0003FC000001FF8007FC000003FF8007F8000003FF800FF8 -000003FF800FF8000003FF801FF0000003FF801FF0000003FF803FF0000001FF003FE000 -00007C003FE000000000007FE000000000007FE000000000007FE000000000007FC00000 -000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0000000 -0000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000000000 -00FFC00000000000FFC00000000000FFC000000000007FC000000000007FE00000000000 -7FE000000000007FE000000000007FE000000000003FE000000000003FF000000000003F -F000000000001FF000000003C01FF800000003C00FF800000007C00FFC000000078007FC -000000078003FE0000000F8003FE0000000F0001FF0000001F0000FF8000003E00007FC0 -00003C00003FE000007800001FF00000F000000FF80003E0000003FE0007C0000000FF80 -3F800000003FFFFE000000000FFFF80000000001FF80000032417CBF3A>99 -D<000001FF00000000001FFFF0000000007FFFFC00000001FF01FF00000003F8007FC000 -000FF0001FE000001FC0000FF000003F800007F800007F000007FC0000FF000003FC0001 -FE000001FE0003FC000001FE0003FC000000FF0007F8000000FF000FF8000000FF800FF0 -0000007F801FF00000007F801FF00000007FC01FE00000007FC03FE00000003FC03FE000 -00003FC07FE00000003FE07FE00000003FE07FE00000003FE07FC00000003FE07FC00000 -003FE0FFC00000003FE0FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFC0000000 -0000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000000000 -00FFC00000000000FFC00000000000FFC000000000007FC000000000007FE00000000000 -7FE000000000007FE000000000003FE000000000003FE000000000003FF000000000001F -F000000000001FF000000001E00FF800000001E00FF800000003E007F800000003C007FC -00000003C003FC00000007C001FE0000000F8000FF0000000F0000FF8000001F00007FC0 -00003E00003FE000007C00000FF00000F8000007F80001F0000003FE0007E0000000FFC0 -3F800000003FFFFE0000000007FFF80000000000FFC0000033417DBF3A>101 -D<0000000000003F80000003FC0001FFE000003FFFC007FFF00000FFFFF01FC3F00003FE -07FC7E03F80007F000FEF803F8000FE0007FF007F8001FC0003FE003F8003F80001FC003 -F0007F80001FE000E000FF00000FF0000000FF00000FF0000001FE000007F8000001FE00 -0007F8000003FE000007FC000003FC000003FC000003FC000003FC000007FC000003FE00 -0007FC000003FE000007FC000003FE000007FC000003FE000007FC000003FE000007FC00 -0003FE000007FC000003FE000007FC000003FE000007FC000003FE000007FC000003FE00 -0003FC000003FC000003FC000003FC000003FE000007FC000001FE000007F8000001FE00 -0007F8000000FF00000FF0000000FF00000FF00000007F80001FE00000003F80001FC000 -00001FC0003F800000003FE0007F000000007FF000FE000000007BFE07FC00000000F0FF -FFF000000000F03FFFC000000001E003FC0000000001E000000000000001E00000000000 -0001E000000000000001E000000000000001E000000000000003E000000000000003F000 -000000000001F000000000000001F800000000000001F800000000000001FC0000000000 -0001FF00000000000000FFFFFFFE00000000FFFFFFFFF00000007FFFFFFFFE0000003FFF -FFFFFF8000003FFFFFFFFFE000000FFFFFFFFFF000001FFFFFFFFFFC00007FFFFFFFFFFE -0001FF000001FFFE0003F80000001FFF000FF000000003FF800FE000000001FF801FC000 -000000FFC03F80000000007FC07F80000000003FC07F00000000001FE07F00000000001F -E0FE00000000001FE0FE00000000000FE0FE00000000000FE0FE00000000000FE0FE0000 -0000000FE0FE00000000000FE0FE00000000000FE07F00000000001FC07F00000000001F -C07F80000000003FC03F80000000003F801FC0000000007F001FE000000000FF000FF000 -000001FE0003FC00000007F80001FE0000000FF00000FF8000003FE000003FF00001FF80 -00000FFF001FFE00000001FFFFFFF0000000003FFFFF800000000003FFF80000003D5E7D -BF42>103 D<003E000000FF800001FFC00001FFC00003FFE00003FFE00003FFE00003FF -E00003FFE00001FFC00001FFC00000FF8000003E00000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000003E00007FFE0007FFF -E0007FFFE0007FFFE0007FFFE0007FFFE00001FFE000007FE000007FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000007F -E00000FFF800FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C5F7DDE24>105 -D<0003E0003FF0000000FFC000000007FFE001FFFE000007FFF8000000FFFFE00FFFFF80 -003FFFFE000000FFFFE01F807FE0007E01FF800000FFFFE07C001FF001F0007FC00000FF -FFE0F8000FF803E0003FE00000FFFFE1E00007FC0780001FF0000001FFE3C00003FE0F00 -000FF80000007FE7800003FE1E00000FF80000007FE7000001FF1C000007FC0000003FEF -000001FF3C000007FC0000003FFE000001FF78000007FC0000003FFC000001FF70000007 -FC0000003FFC000000FFF0000003FE0000003FF8000000FFE0000003FE0000003FF80000 -00FFE0000003FE0000003FF8000000FFE0000003FE0000003FF0000000FFC0000003FE00 -00003FF0000000FFC0000003FE0000003FF0000000FFC0000003FE0000003FE0000000FF -80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE000000 -3FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF8000 -0003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0 -000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003 -FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE00000 -00FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE00 -00003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF -80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE000000 -3FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF8000 -0003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0 -000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003 -FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE00000 -00FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE00 -00003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000007FF0000001FF -C0000007FF000000FFF8000003FFE000000FFF8000FFFFFFF803FFFFFFE00FFFFFFF80FF -FFFFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE0 -0FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80693F7DBE70>109 -D<0003E0007FE000000007FFE003FFFC000000FFFFE00FFFFF000000FFFFE03F80FFC000 -00FFFFE07C003FE00000FFFFE0F0001FF00000FFFFE1E0000FF8000001FFE3C00007FC00 -00007FE7800007FC0000007FEF000003FE0000003FEE000003FE0000003FFE000003FE00 -00003FFC000003FE0000003FFC000001FF0000003FF8000001FF0000003FF8000001FF00 -00003FF0000001FF0000003FF0000001FF0000003FF0000001FF0000003FF0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF00 -00007FF0000003FF800000FFF8000007FFC000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFF -C0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0423F7DBE49>I<00 -0000FFE0000000000007FFFC00000000003FFFFF8000000000FF803FE000000001FC0007 -F000000007F00001FC0000000FE00000FE0000001FC000007F0000003F8000003F800000 -7F0000001FC00000FE0000000FE00001FC00000007F00003FC00000007F80003F8000000 -03F80007F800000003FC0007F000000001FC000FF000000001FE001FF000000001FF001F -E000000000FF001FE000000000FF003FE000000000FF803FE000000000FF803FE0000000 -00FF807FC0000000007FC07FC0000000007FC07FC0000000007FC07FC0000000007FC0FF -C0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000 -007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FF -C0000000007FE0FFC0000000007FE0FFC0000000007FE07FC0000000007FC07FC0000000 -007FC07FC0000000007FC07FE000000000FFC03FE000000000FF803FE000000000FF803F -E000000000FF801FE000000000FF001FF000000001FF000FF000000001FE000FF0000000 -01FE0007F800000003FC0007F800000003FC0003FC00000007F80001FC00000007F00000 -FE0000000FE00000FF0000001FE000007F8000003FC000003FC000007F8000000FE00000 -FE00000007F80003FC00000003FE000FF800000000FF803FE0000000003FFFFF80000000 -0007FFFC000000000000FFE00000003B417DBF42>I<0003C001FC0007FFC007FF80FFFF -C01FFFC0FFFFC07E07E0FFFFC0F81FF0FFFFC1F01FF8FFFFC3C03FF801FFC3803FF8007F -C7803FF8007FCF003FF8003FCE003FF8003FDE001FF0003FDC000FE0003FDC000380003F -FC000000003FF8000000003FF8000000003FF8000000003FF0000000003FF0000000003F -F0000000003FF0000000003FF0000000003FE0000000003FE0000000003FE0000000003F -E0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003F -E0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003F -E0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003F -E0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003F -E0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000007F -F000000000FFFC000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFF -FFFE00002D3F7DBE33>114 D<0000FFE00380000FFFFC0380003FFFFF078000FF001FCF -8003F80007FF8007E00001FF800F800000FF801F8000007F803F0000003F803E0000003F -807E0000001F807C0000001F807C0000000F80FC0000000F80FC0000000F80FC0000000F -80FE0000000780FE0000000780FE0000000780FF0000000780FF80000007807FC0000007 -807FF0000000007FFC000000003FFF800000003FFFFC0000001FFFFFE000000FFFFFFE00 -0007FFFFFF800003FFFFFFE00000FFFFFFF800003FFFFFFC00000FFFFFFE000003FFFFFF -0000001FFFFF80000000FFFFC00000000FFFE000000001FFE0000000007FF0F00000003F -F0F00000001FF0F00000000FF8F800000007F8F800000007F8F800000003F8F800000003 -F8FC00000001F8FC00000001F8FC00000001F8FE00000001F8FE00000001F8FE00000001 -F0FF00000003F0FF00000003F0FF80000003E0FFC0000007E0FFC0000007C0FFE000000F -80FFF000001F80FCFC00007F00F83E0000FC00F81FC00FF800F007FFFFE000E001FFFF00 -00E0003FF800002D417DBF34>I<00007800000000007800000000007800000000007800 -00000000780000000000780000000000780000000000F80000000000F80000000000F800 -00000000F80000000000F80000000000F80000000001F80000000001F80000000001F800 -00000003F80000000003F80000000007F80000000007F8000000000FF8000000000FF800 -0000001FF8000000003FF8000000007FF800000000FFF800000003FFFFFFFF000FFFFFFF -FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00000FF8000000000FF8000000000FF800 -0000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF800 -0000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF800 -0000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF800 -0000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF800 -0000000FF8000000000FF8000000000FF8000000000FF8000000000FF80001E0000FF800 -01E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF800 -01E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF800 -01E00007F80003C00007FC0003C00007FC0003C00007FC0007C00003FE0007800003FE00 -07800001FF000F000000FF801E0000007FC03E0000003FE07C0000000FFFF800000003FF -E0000000007F80002B597FD733>I<7FFFFFE0001FFFFFE07FFFFFE0001FFFFFE07FFFFF -E0001FFFFFE07FFFFFE0001FFFFFE07FFFFFE0001FFFFFE0007FFF800007FFFC00001FFF -000003FFC000000FFE000003FF00000007FE000003FC00000003FF000003F800000001FF -800003F000000001FFC00007E000000000FFC00007C0000000007FE0000F80000000003F -F0001F00000000003FF0001F00000000001FF8003E00000000000FFC007C000000000007 -FE00F8000000000007FE00F8000000000003FF01F0000000000001FF83E0000000000000 -FFC7C0000000000000FFC7C00000000000007FEF800000000000003FFF00000000000000 -1FFE000000000000001FFE000000000000000FFC0000000000000007FE00000000000000 -07FF0000000000000003FF0000000000000003FF8000000000000007FFC0000000000000 -0FFFC00000000000001F7FE00000000000001F3FF00000000000003E1FF8000000000000 -7C1FF8000000000000F80FFC000000000000F807FE000000000001F003FF000000000003 -E003FF000000000007C001FF800000000007C000FFC0000000000F80007FE0000000001F -00007FE0000000003E00003FF0000000003E00001FF8000000007C00001FFC00000000F8 -00000FFC00000001F8000007FE00000003F8000003FF0000000FF8000003FF8000001FF8 -000003FF8000007FF8000003FFE00007FFFC000007FFF800FFFFFE00001FFFFFF8FFFFFE -00001FFFFFF8FFFFFE00001FFFFFF8FFFFFE00001FFFFFF8FFFFFE00001FFFFFF8453E80 -BD46>120 D E end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%PaperSize: A4 - -%%EndSetup -%%Page: 1 1 -1 0 bop 601 880 a Fg(Programming)40 b(Exercise)j(3:)58 -b(P)l(arser)43 b(Generators)440 1477 y Ff(1)135 b(In)l(tro)t(duction) -440 1658 y Fe(The)30 b(purp)r(ose)f(of)h(a)g(parser)e(generator)g(is)h -(to)g(create)g(a)h(parser)e(from)h(a)g(language)f(sp)r(eci-)440 -1758 y(\014cation.)36 b(A)28 b(language)d(sp)r(eci\014cation)g(is)h(m)n -(uc)n(h)h(easier)e(to)j(create)e(and)i(main)n(tain)c(than)k(a)440 -1858 y(hand-written)e(parser,)g(whic)n(h)h(is)f(the)i(main)e(reason)g -(for)h(using)f(parser)g(generators.)565 1957 y(There)f(are)f(a)h(wide)g -(v)-5 b(ariet)n(y)23 b(of)j(parser)d(generators)h(a)n(v)-5 -b(ailable.)31 b(Most)26 b(a)n(v)-5 b(ailable)21 b(to)r(ols)440 -2057 y(generate)28 b(LALR)h(parsers,)f(but)i(there)f(are)f(general)f -(LR\(k\))j(and)f(LL\(k\))h(parser)d(genera-)440 2156 -y(tors)j(a)n(v)-5 b(ailable)27 b(as)k(w)n(ell.)46 b(In)31 -b(this)g(exercise)e(y)n(ou)h(will)f(use)i Fd(bison)p -Fe(,)f(an)h(LALR\(1\))h(parser)440 2256 y(generator.)440 -2529 y Ff(2)135 b(Using)46 b Fc(bison)440 2711 y Fe(In)31 -b(order)f(to)h(use)g Fd(bison)e Fe(y)n(ou)h(will)e(ha)n(v)n(e)i(to)h -(ha)n(v)n(e)f(the)h Fd(prog/gnu)d Fe(mo)r(dule)i(loaded.)45 -b(A)n(t)440 2810 y(a)35 b(Unix)g(prompt,)h(t)n(yp)r(e)g -Fd(module)41 b(list)p Fe(,)36 b(and)f(see)h(if)41 b Fd(prog/gnu)32 -b Fe(is)j(listed.)59 b(If)36 b(it's)e(not)440 2910 y(listed,)25 -b(t)n(yp)r(e)h Fd(module)41 b(add)h(prog/gnu)23 b Fe(and)j -Fd(module)41 b(initadd)f(prog/gnu)23 b Fe(to)j(load)e(the)440 -3010 y(mo)r(dule)i(in)h(the)h(curren)n(t)e(shell)g(and)h(the)h(next)g -(time)e(y)n(ou)h(log)f(in.)565 3109 y(F)-7 b(ull)24 b(do)r(cumen)n -(tation)g(for)i Fd(bison)e Fe(is)h(a)n(v)-5 b(ailable)21 -b(as)26 b(an)g(info)f(do)r(cumen)n(t.)35 b(T)-7 b(o)26 -b(view)f(the)440 3209 y(do)r(cumen)n(tation,)32 b(start)h -Fd(emacs)p Fe(,)g(t)n(yp)r(e)g Fd(C-h)42 b(i)p Fe(,)35 -b(and)d(select)h(the)g(en)n(try)g(en)n(titled)e Fd(bison)p -Fe(.)440 3308 y(The)20 b(Solaris)d(Answ)n(erBo)r(ok)h(con)n(tains)g(do) -r(cumen)n(tation)f(for)j Fd(yacc)p Fe(,)g(whic)n(h)f(is)f(v)n(ery)h -(similar,)440 3408 y(but)28 b(not)g(iden)n(tical,)c(to)k -Fd(bison)p Fe(.)440 3681 y Ff(3)135 b(The)44 b(Generated)i(P)l(arser) -440 3863 y Fe(When)23 b(y)n(ou)f(compile)d(a)j(parser)f(sp)r -(eci\014cation)f(with)h Fd(bison)p Fe(,)h(a)g(function)g(named)f -Fd(yyparse)440 3962 y Fe(is)27 b(created.)39 b(This)28 -b(function)g(in)g(turn)h(calls)c Fd(yylex)i Fe(to)h(retriev)n(e)f(tok)n -(ens)g(from)h(the)g(input,)440 4062 y(and)f Fd(yyerror)e -Fe(to)j(rep)r(ort)f(errors.)565 4161 y(Y)-7 b(ou)19 b(can)g(pro)n(vide) -f Fd(yylex)f Fe(b)n(y)j(up)r(dating)e(the)i(rules)e(in)h -Fd(scanner.l)d Fe(to)k(matc)n(h)e(the)i(ones)440 4261 -y(y)n(ou)26 b(wrote)g(in)f(the)i(previous)e(exercise.)34 -b(A)27 b(v)n(ersion)d(of)33 b Fd(yyerror)24 b Fe(is)h(already)f -(supplied)h(in)440 4361 y Fd(parser.y)p Fe(.)440 4633 -y Ff(4)135 b(Requiremen)l(ts)440 4815 y Fe(Y)-7 b(ou)27 -b(are)e(to)i(write)e(the)i(sp)r(eci\014cations)d(for)i(expressions,)e -(conditions)h(and)h(function)g(def-)440 4915 y(initions.)33 -b(Mak)n(e)25 b(sure)g(that)h(b)r(oth)g(c)n(hildren)d(of)i(an)g(op)r -(erator)f(no)r(de)i(ha)n(v)n(e)e(the)i(same)e(t)n(yp)r(e.)440 -5015 y(Y)-7 b(ou)23 b(ma)n(y)f(need)h(to)g(insert)f Fd(IntegerToReal)c -Fe(no)r(des)23 b(in)g(some)f(cases,)h(to)g(con)n(v)n(ert)f(in)n(tegers) -440 5114 y(to)27 b(\015oating-p)r(oin)n(t)e(n)n(um)n(b)r(ers.)565 -5214 y(Y)-7 b(ou)34 b(also)e(need)i(to)g(augmen)n(t)f(the)h(grammar)c -(with)k(error)e(pro)r(ductions.)55 b(After)35 b(an)440 -5313 y(error)23 b(o)r(ccurs,)i(parsing)d(of)j(statemen)n(ts)f(should)g -(b)r(e)h(resumed)f(after)h(the)g(next)g(semicolon.)440 -5413 y(Y)-7 b(ou)28 b(ma)n(y)e(insert)g(other)h(error)f(pro)r(ductions) -g(if)h(y)n(ou)f(w)n(an)n(t)h(to.)1851 5662 y(1)p eop -%%Page: 2 2 -2 1 bop 440 631 a Fb(Hand)32 b(in)f(the)h(follo)m(wing:)565 -806 y Fa(\017)41 b Fe(A)28 b(listing)c(of)34 b Fd(parser.y)24 -b Fe(with)k(y)n(our)e(c)n(hanges)g(clearly)e(mark)n(ed.)565 -969 y Fa(\017)41 b Fe(Listings)32 b(of)i(an)n(y)g(other)f(\014les)h(y)n -(ou)f(ha)n(v)n(e)h(mo)r(di\014ed,)g(with)g(y)n(our)f(c)n(hanges)h -(clearly)648 1069 y(mark)n(ed.)565 1232 y Fa(\017)41 -b Fe(Answ)n(ers)26 b(to)i(the)g(questions)e(in)h(the)g(next)h(section.) -440 1506 y Ff(5)135 b(Questions)440 1687 y Fb(Question)21 -b(1)83 b Fe(Construct)19 b(the)h(canonical)c(set)k(of)f(LR\(0\))h -(items)e(for)h(the)g(follo)n(wing)d(gram-)440 1787 y(mar.)53 -b(Can)33 b(the)h(grammar)c(b)r(e)k(used)g(to)f(construct)g(an)g(SLR)h -(parser?)54 b(If)34 b(not,)h(explain)440 1887 y(wh)n(y)27 -b(and)h(construct)f(a)g(new)h(grammar)23 b(that)28 b(accepts)f(the)h -(same)e(language)f(and)j(can)f(b)r(e)440 1986 y(used)h(to)f(construct)g -(an)g(SLR)h(parser.)440 2162 y Fd(block)129 b(:)h(BEGIN)42 -b(decs)f(';')i(stmts)e(END)789 2261 y(;)440 2361 y(decs)173 -b(:)130 b(DEC)789 2461 y(|)g(DEC)42 b(';')h(decs)789 -2560 y(;)440 2660 y(stmts)129 b(:)h(STMT)789 2759 y(|)g(STMT)42 -b(';')g(stmts)789 2859 y(;)440 3074 y Fb(Question)g(2)83 -b Fe(Sho)n(w)38 b(ho)n(w)f(an)h(LR)g(parser)f(parses)f(the)j(string)e -Fd(1)43 b(+)g(\(2)g(-)g(3\))38 b Fe(using)440 3173 y(the)28 -b(grammar)c(b)r(elo)n(w.)35 b(Assume)27 b(that)h Fd(NUMBER)d -Fe(is)i(the)h(tok)n(en)f(returned)g(for)g(all)f(n)n(umeric)440 -3273 y(constan)n(ts.)36 b(Demonstrate)26 b(eac)n(h)h(step)g(in)g(the)h -(parsing)e(pro)r(cess.)440 3448 y Fd(expr)173 b(:)130 -b(expr)42 b('+')g(term)789 3548 y(|)130 b(expr)42 b('-')g(term)789 -3647 y(|)130 b(term)789 3747 y(;)440 3847 y(term)173 -b(:)130 b(term)42 b('*')g(factor)789 3946 y(|)130 b(term)42 -b('/')g(factor)789 4046 y(|)130 b(factor)789 4146 y(;)440 -4245 y(factor)85 b(:)130 b(NUMBER)789 4345 y(|)g('\(')42 -b(expr)g('\)')789 4444 y(;)440 4659 y Fb(Question)35 -b(3)83 b Fe(What)33 b(is)d(the)j(di\013erence)e(b)r(et)n(w)n(een)h(an)f -(LR\(0\))h(and)g(an)g(LR\(1\))g(parser.)440 4759 y(Mak)n(e)e(up)h(an)f -(example)f(grammar)d(and)31 b(input)g(to)f(demonstrate)f(the)i -(di\013erence)f(in)g(op-)440 4858 y(eration.)440 5132 -y Ff(6)135 b(Extra)45 b(Credit)g(W)-11 b(ork:)60 b(LR)45 -b(P)l(arser)h(Generator)440 5313 y Fe(W)-7 b(rite)35 -b(a)g(program)d(that)j(can)g(read)g(a)g(grammar)c(from)j(a)h(\014le)g -(and)g(construct)g(parsing)440 5413 y(tables)j(for)g(that)h(grammar.)66 -b(Y)-7 b(our)39 b(program)c(m)n(ust)j(construct)h(tables)e(su\016cien)n -(t)h(for)1851 5662 y(2)p eop -%%Page: 3 3 -3 2 bop 440 531 a Fe(parsing)30 b(using)g(SLR\(1\),)k(LALR\(1\))e(or)g -(LR\(1\).)50 b(It)32 b(m)n(ust)g(b)r(e)g(capable)e(of)i(prin)n(ting)e -(the)440 631 y(sets)39 b(of)g(LR)g(items,)h(FIRST)g(and)e(F)n(OLLO)n(W) -g(sets,)k(lo)r(ok)-5 b(ahead)37 b(sets)i(and)g(an)n(y)f(other)440 -731 y(information)24 b(needed)k(in)f(the)h(parsing)d(pro)r(cess.)440 -930 y Fb(Hand)32 b(in)f(y)m(our)i(program)e(co)s(de)h(and)g(some)d -(grammar)i(examples.)1851 5662 y Fe(3)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/doc/old_not_used_instructions/lab4.pdf b/doc/old_not_used_instructions/lab4.pdf deleted file mode 100755 index afde48d2db883506be07d2f58d12bb268748a48d..0000000000000000000000000000000000000000 Binary files a/doc/old_not_used_instructions/lab4.pdf and /dev/null differ diff --git a/doc/old_not_used_instructions/lab4.ps b/doc/old_not_used_instructions/lab4.ps deleted file mode 100644 index 5c80b002f10fb08527649261fbd1444a6abf3ba5..0000000000000000000000000000000000000000 --- a/doc/old_not_used_instructions/lab4.ps +++ /dev/null @@ -1,1636 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software -%%Title: lab4.dvi -%%Pages: 2 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentPaperSizes: A4 -%%EndComments -%DVIPSCommandLine: dvips -o lab4.ps lab4.dvi -%DVIPSParameters: dpi=600, comments removed -%DVIPSSource: TeX output 1997.10.21:1501 -%%BeginProcSet: tex.pro -/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N -/X{S N}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{dup dup 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 /IE 0 N /ctr 0 N /df-tail{ -/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N -string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N -end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ -/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] -N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup -length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ -128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub -get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data -dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N -/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup -/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx -0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff -setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff -.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} -if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup -length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ -cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin -0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup 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 -/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for -65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 -0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V -{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 -getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} -ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false -RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 -false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform -round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg -rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail -{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} -B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ -4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ -p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p -a}B /bos{/SS save N}B /eos{SS restore}B end -%%EndProcSet -TeXDict begin 39158280 55380996 1000 600 600 (lab4.dvi) -@start /Fa 1 16 df<000FE000007FFC0000FFFE0003FFFF8007FFFFC00FFFFFE01FFF -FFF03FFFFFF83FFFFFF87FFFFFFC7FFFFFFC7FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFF -FFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFF83FFF -FFF81FFFFFF00FFFFFE007FFFFC003FFFF8000FFFE00007FFC00000FE0001F207BA42A> -15 D E /Fb 27 122 df<000001FFC00000003FFFF8000001FFFFFC000007FFFFFE0000 -1FFF00FF00003FF800FF8000FFE001FF8000FFC003FF8001FF8003FF8003FF8003FF8003 -FF0007FFC003FF0003FF8003FF0003FF8003FF0003FF8003FF0001FF0003FF00007C0003 -FF0000000003FF0000000003FF0000000003FF0000000003FF003FFFC0FFFFFFFFFFC0FF -FFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003 -FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF30 -3A7EB935>12 D<07801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE007800E -0E7A8D1B>46 D<00003C00000000FC00000001FC0000000FFC0000007FFC0000FFFFFC00 -00FFFFFC0000FFFFFC0000FFFFFC0000FF9FFC0000001FFC0000001FFC0000001FFC0000 -001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC000000 -1FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001F -FC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC -0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC00 -00001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000 -001FFC00007FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF80213779B630> -49 D<000FFC0000007FFFC00001FFFFF00007FFFFFC000FFFFFFE001FC07FFF803F801F -FF807FE007FFC07FF007FFE0FFF003FFF0FFF801FFF0FFF801FFF0FFF800FFF8FFF800FF -F8FFF800FFF87FF000FFF87FF000FFF83FE000FFF80F8000FFF8000000FFF8000000FFF0 -000001FFF0000001FFF0000001FFE0000003FFC0000003FFC0000007FF8000000FFF0000 -000FFE0000001FF80000003FF00000007FE0000000FF80000000FF00000001FE00000003 -F800000007F000F8000FE000F8001FC000F8003F8000F8007E0001F800FC0001F001F800 -01F003F00003F003FFFFFFF007FFFFFFF00FFFFFFFF01FFFFFFFF03FFFFFFFF07FFFFFFF -F0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE025377BB630>I<07801F -E03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE007800000000000000000000000 -0000000000000007801FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE007800E -257AA41B>58 D<FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFF -FFFE07FFFFFFF0FFFFFFFE07FFFFFFF0007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE000007F -FFFFFFFFFFE000007FFFFFFFFFFFE000007FFFFFFFFFFFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000007FFC000003FFE000007FFC000003FFE000007FFC000003FFE000007F -FC000003FFE000FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFFFFFE07FFFFFFF0FFFF -FFFE07FFFFFFF0FFFFFFFE07FFFFFFF044397DB84B>72 D<000000FFF800000000000FFF -FF80000000007FFFFFF000000001FFFFFFFC00000007FFE03FFF0000001FFF0007FFC000 -003FFC0001FFE000007FF80000FFF00000FFF000007FF80001FFE000003FFC0003FFC000 -001FFE0007FF8000000FFF0007FF8000000FFF000FFF00000007FF800FFF00000007FF80 -1FFF00000007FFC01FFE00000003FFC03FFE00000003FFE03FFE00000003FFE03FFE0000 -0003FFE07FFE00000003FFF07FFC00000001FFF07FFC00000001FFF07FFC00000001FFF0 -FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC0000 -0001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF8 -FFFC00000001FFF8FFFC00000001FFF8FFFC00000001FFF87FFC00000001FFF07FFC0000 -0001FFF07FFC00000001FFF07FFE00000003FFF03FFE00000003FFE03FFE00000003FFE0 -3FFE00000003FFE01FFF00000007FFC01FFF00000007FFC00FFF001FC007FF8007FF807F -F00FFF0007FF80FFF80FFF0003FFC1FFFC1FFE0001FFE3F07E3FFC0000FFF3E01F7FF800 -007FFBC00FFFF000003FFFC00FFFE000001FFFE007FFC0000007FFF03FFF00000001FFFF -FFFC000000007FFFFFF8000800000FFFFFFC001C000000FFFBFE001C0000000001FF807C -0000000001FFFFFC0000000001FFFFFC0000000000FFFFFC0000000000FFFFF800000000 -00FFFFF800000000007FFFF800000000007FFFF000000000007FFFF000000000003FFFE0 -00000000003FFFE000000000001FFFC000000000000FFF80000000000007FF0000000000 -0001FC003E4A7BB948>81 D<003FFE00000003FFFFE000000FFFFFF800001FFFFFFE0000 -3FF007FF00003FF803FF80003FF801FFC0003FF800FFC0003FF800FFE0003FF8007FE000 -1FF0007FE0000FE0007FE0000380007FE0000000007FE0000000007FE0000000FFFFE000 -000FFFFFE00000FFFFFFE00003FFFC7FE0000FFFC07FE0001FFE007FE0003FFC007FE000 -7FF8007FE0007FF0007FE000FFF0007FE000FFE0007FE000FFE0007FE000FFE0007FE000 -FFE000FFE000FFF000FFE0007FF001FFE0007FF803FFF0003FFC0FFFFFC01FFFFF3FFFC0 -07FFFE1FFFC003FFF80FFFC0007FC003FFC02A257DA42E>97 D<0001FFC000000FFFFC00 -007FFFFF0000FFFFFF8003FF80FFC007FF01FFC00FFE01FFC01FFC01FFC01FF801FFC03F -F801FFC03FF800FF807FF0007F007FF0001C007FF0000000FFF0000000FFF0000000FFF0 -000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF00000007FF000 -00007FF80000007FF80000003FF80000003FFC0003E01FFC0003E01FFE0007E00FFF000F -C007FF801F8003FFE03F8000FFFFFE00007FFFFC00000FFFF0000001FF800023257DA42A ->99 D<000000007F800000007FFF800000007FFF800000007FFF800000007FFF80000000 -7FFF8000000003FF8000000001FF8000000001FF8000000001FF8000000001FF80000000 -01FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF80000000 -01FF8000000001FF8000000001FF8000000001FF800003FF01FF80001FFFF1FF80007FFF -FDFF8001FFFFFFFF8003FFC07FFF8007FF000FFF800FFE0007FF801FFC0003FF803FF800 -01FF803FF80001FF807FF80001FF807FF00001FF807FF00001FF80FFF00001FF80FFF000 -01FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF00001FF80FFF000 -01FF80FFF00001FF80FFF00001FF80FFF00001FF807FF00001FF807FF00001FF807FF800 -01FF803FF80001FF803FF80003FF801FFC0007FF800FFC000FFF8007FE001FFFC003FF80 -FFFFFE01FFFFFFFFFE007FFFF9FFFE001FFFC1FFFE0003FE01FFFE2F3A7DB935>I<0003 -FF8000001FFFF000007FFFFC0001FFFFFE0003FF83FF8007FE00FF800FFC007FC01FFC00 -3FE01FF8003FE03FF8001FF03FF8001FF07FF0001FF07FF0001FF87FF0000FF8FFF0000F -F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFF0000000FFF0000000FFF0000000 -FFF00000007FF00000007FF00000007FF80000003FF80000003FF80000F81FFC0000F80F -FC0001F80FFE0003F007FF8007E001FFF03FE000FFFFFF80007FFFFF00000FFFFC000001 -FFE00025257DA42C>I<00000FF8000000FFFE000007FFFF00001FFFFF80003FF8FF8000 -7FE1FFC000FFC1FFC001FF81FFC001FF81FFC003FF81FFC003FF00FF8003FF00FF8003FF -003E0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00 -000003FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000003FF0000 -0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000 -03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003 -FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF -00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE0000FFFFFE -0000FFFFFE0000FFFFFE0000223A7DB91D>I<000000003F000007FE00FF80007FFFE3FF -C001FFFFFFFFE003FFFFFFDFE00FFE07FF1FE01FF801FF9FE01FF801FF9FE03FF000FFCF -C03FF000FFC7807FF000FFE0007FF000FFE0007FF000FFE0007FF000FFE0007FF000FFE0 -007FF000FFE0007FF000FFE0003FF000FFC0003FF000FFC0001FF801FF80001FF801FF80 -000FFE07FF000007FFFFFC00000FFFFFF800000F7FFFE000001F07FE0000001F00000000 -001F00000000001F00000000001F80000000001FC0000000001FFFFFF800001FFFFFFF80 -001FFFFFFFE0000FFFFFFFF8000FFFFFFFFC0007FFFFFFFE0003FFFFFFFE000FFFFFFFFF -003FFFFFFFFF007FC0000FFF807F800001FF80FF000000FF80FF0000007F80FF0000007F -80FF0000007F80FF800000FF807F800000FF007FC00001FF003FF00007FE001FFE003FFC -0007FFFFFFF00001FFFFFFC000007FFFFF00000007FFF000002B377DA530>I<00FF0000 -0000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF0000 -000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000 -000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000 -000003FF0000000003FF0000000003FF007FC00003FF03FFF80003FF0FFFFE0003FF1FFF -FF0003FF3F03FF8003FF7801FF8003FFF001FF8003FFE000FFC003FFC000FFC003FFC000 -FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3F -FFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB935>I<01F80003FC0007FE00 -0FFF001FFF801FFF801FFF801FFF801FFF801FFF800FFF0007FE0003FC0001F800000000 -00000000000000000000000000000000000000000000FF007FFF007FFF007FFF007FFF00 -7FFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00 -03FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8153B7DBA1B>I<00FF000000 -00FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF000000 -0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000 -0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000 -0003FF0000000003FF0000000003FF003FFFE003FF003FFFE003FF003FFFE003FF003FFF -E003FF003FFFE003FF000FF00003FF001FE00003FF003FC00003FF007F000003FF00FE00 -0003FF03FC000003FF07F8000003FF0FF0000003FF1FC0000003FF3FC0000003FFFFE000 -0003FFFFF0000003FFFFF8000003FFFFFC000003FFFFFC000003FFCFFE000003FF8FFF00 -0003FF07FF800003FE03FF800003FE01FFC00003FE00FFE00003FE00FFF00003FE007FF0 -0003FE003FF80003FE001FFC0003FE001FFE0003FE000FFE00FFFFF83FFFF8FFFFF83FFF -F8FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF82D3A7EB932>107 -D<00FF00FFFF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF -0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF -0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF -0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF -0003FF0003FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFCFFFFFC163A7DB91B ->I<00FE007FE0000FFC0000FFFE01FFFC003FFF8000FFFE07FFFF00FFFFE000FFFE1FFF -FF83FFFFF000FFFE3F03FF87E07FF000FFFE7C01FFCF803FF80007FEF000FFDE001FF800 -03FFE0007FFC000FFC0003FFC0007FF8000FFC0003FFC0007FF8000FFC0003FF80007FF0 -000FFC0003FF80007FF0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF -00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000F -FC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF0000 -7FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00 -03FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0 -000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00FFFF -FC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FF -FFF0FFFFFC1FFFFF83FFFFF04C257DA451>I<00FE007FC000FFFE03FFF800FFFE0FFFFE -00FFFE1FFFFF00FFFE3F03FF80FFFE7801FF8007FEF001FF8003FFE000FFC003FFC000FF -C003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF -C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFF -FFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF30257DA435>I<0001FFC0 -0000000FFFF80000007FFFFF000000FFFFFF800003FF80FFE00007FE003FF0000FFC001F -F8001FF8000FFC001FF8000FFC003FF00007FE003FF00007FE007FF00007FF007FF00007 -FF007FF00007FF00FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007 -FF80FFF00007FF80FFF00007FF80FFF00007FF80FFF00007FF807FF00007FF007FF00007 -FF007FF00007FF003FF00007FE003FF8000FFE001FF8000FFC001FF8000FFC000FFC001F -F80007FE003FF00003FF80FFE00001FFFFFFC000007FFFFF0000001FFFFC00000001FFC0 -000029257DA430>I<00FF00FF8000FFFF0FFFF800FFFF3FFFFE00FFFFFFFFFF00FFFFFE -07FFC0FFFFF001FFE003FFC000FFE003FF8000FFF003FF00007FF803FF00007FF803FF00 -003FFC03FF00003FFC03FF00003FFC03FF00001FFE03FF00001FFE03FF00001FFE03FF00 -001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00001FFE03FF00 -001FFE03FF00003FFC03FF00003FFC03FF00003FFC03FF00003FFC03FF00007FF803FF80 -007FF803FF8000FFF003FFE001FFE003FFF003FFC003FFFC0FFF8003FFFFFFFF0003FF3F -FFFC0003FF0FFFF00003FF01FF000003FF0000000003FF0000000003FF0000000003FF00 -00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00 -00000003FF00000000FFFFFC000000FFFFFC000000FFFFFC000000FFFFFC000000FFFFFC -0000002F357EA435>I<00FE07F000FFFE1FFC00FFFE3FFF00FFFE7FFF80FFFEF8FF80FF -FFF1FFC007FFE1FFC003FFC1FFC003FFC1FFC003FF81FFC003FF80FF8003FF807F0003FF -801C0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00 -000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF0000 -0003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE0000 -FFFFFE0000FFFFFE0000FFFFFE000022257EA427>114 D<003FF03803FFFEF80FFFFFF8 -1FFFFFF83FC00FF87F0003F87F0001F8FE0001F8FE0000F8FE0000F8FF0000F8FF800000 -FFF80000FFFFE0007FFFFC007FFFFF003FFFFFC01FFFFFF00FFFFFF803FFFFF800FFFFFC -001FFFFC00007FFE000007FEF80003FEF80001FEFC0000FEFC0000FEFE0000FEFE0000FC -FF0001FCFF8003F8FFF00FF8FFFFFFF0FFFFFFC0F8FFFF00E01FF8001F257DA426>I<00 -1F0000001F0000001F0000001F0000001F0000003F0000003F0000003F0000003F000000 -7F0000007F000000FF000000FF000001FF000003FF000007FF00001FFFFFE0FFFFFFE0FF -FFFFE0FFFFFFE0FFFFFFE003FF000003FF000003FF000003FF000003FF000003FF000003 -FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003 -FF000003FF000003FF00F803FF00F803FF00F803FF00F803FF00F803FF00F803FF00F803 -FF00F803FF81F801FF81F001FFC3E000FFFFE0007FFFC0001FFF000003FC001D357EB425 ->I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC0FFFF003F -FFC007FF0001FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000 -FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0001FFC003FF0001FFC003FF0003 -FFC003FF0007FFC001FF800FFFE001FFC03FFFFF00FFFFFCFFFF007FFFF8FFFF001FFFE0 -FFFF0003FF00FFFF30257DA435>I<FFFFF1FFFF807FFFFFFFF1FFFF807FFFFFFFF1FFFF -807FFFFFFFF1FFFF807FFFFFFFF1FFFF807FFF07FF000FF80007E003FF0007FC0007C003 -FF0007FC000FC001FF8007FC000F8001FF8007FE000F8001FFC00FFE001F8000FFC00FFF -001F0000FFC01FFF003F00007FE01FFF003E00007FE01FFF803E00007FF03FFF807E0000 -3FF03E7FC07C00003FF07E7FC0FC00001FF87C3FC0F800001FF87C3FE0F800001FFCFC3F -E1F800000FFCF81FF1F000000FFDF81FF1F000000FFFF00FF3F0000007FFF00FFBE00000 -07FFF00FFFE0000003FFE007FFC0000003FFE007FFC0000003FFC003FFC0000001FFC003 -FF80000001FFC003FF80000000FF8001FF00000000FF8001FF00000000FF8001FF000000 -007F0000FE000000007F0000FE000000003E00007C000040257EA445>119 -D<FFFFF003FFF8FFFFF003FFF8FFFFF003FFF8FFFFF003FFF8FFFFF003FFF803FF00003E -0003FF80007E0001FF80007C0001FFC000FC0000FFC000F80000FFE001F800007FE001F0 -00007FE001F000007FF003F000003FF003E000003FF807E000001FF807C000001FFC0FC0 -00000FFC0F8000000FFC1F80000007FE1F00000007FE1F00000007FF3F00000003FF3E00 -000003FFFE00000001FFFC00000001FFFC00000000FFF800000000FFF800000000FFF800 -0000007FF0000000007FF0000000003FE0000000003FE0000000001FC0000000001FC000 -0000000F80000000000F80000000001F80000000001F00000000003F0000003F003E0000 -007F807E000000FFC07C000000FFC0FC000000FFC0F8000000F801F8000000FC07F00000 -007E1FE00000007FFFC00000003FFF000000001FFE0000000007F0000000002D357EA432 ->121 D E /Fc 16 122 df<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B0B -708A2C>46 D<7FFFFFE0007FFFFFFC00FFFFFFFE00FFFFFFFF807FFFFFFFC07FFFFFFFC0 -03F8003FE003F8001FF003F8000FF003F80007F003F80007F803F80003F803F80003F803 -F80003F803F80003F803F80003F803F80007F803F80007F003F8000FF003F8001FE003F8 -003FC003FFFFFF8003FFFFFF0003FFFFFE0003FFFFFE0003FFFFFF8003FFFFFFC003F800 -7FE003F8000FF003F80007F803F80003F803F80001FC03F80001FC03F80000FE03F80000 -FE03F80000FE03F80000FE03F80000FE03F80000FE03F80001FE03F80001FC03F80003FC -03F80007FC03F8000FF803F8003FF87FFFFFFFF07FFFFFFFE0FFFFFFFFC0FFFFFFFF807F -FFFFFE007FFFFFF80027337FB22C>66 D<0000FF00F00007FFE0F8000FFFF9F8003FFFFF -F8007FFFFFF800FFFFFFF801FFC1FFF803FF007FF807FC003FF807F8001FF80FF0000FF8 -0FE00007F81FE00007F81FC00007F83FC00003F83F800003F87F800003F87F000003F87F -000001F07F00000000FF00000000FE00000000FE00000000FE00000000FE00000000FE00 -000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FF0000 -00007F000000007F000000007F000001F07F800003F83F800003F83FC00003F81FC00003 -F81FE00007F80FE00007F00FF00007F007F8000FF007FC001FE003FF003FE001FFC0FFC0 -00FFFFFF80007FFFFF00003FFFFE00000FFFF8000007FFE0000000FF000025357DB32C> -I<0001FC0780000FFF87C0001FFFCFC0007FFFFFC000FFFFFFC001FFFFFFC003FF87FFC0 -03FE01FFC007F800FFC00FF0007FC00FF0007FC01FE0003FC01FC0003FC03FC0003FC03F -80001FC03F80001FC07F80001FC07F00001FC07F00000F807F00000000FF00000000FE00 -000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 -0000FE0007FFF8FE000FFFFCFE000FFFFCFF000FFFFC7F000FFFFC7F0007FFF87F00001F -C07F80001FC03F80003FC03F80003FC03FC0003FC01FC0003FC01FE0007FC00FF0007FC0 -0FF000FFC007F800FFC003FE01FFC003FF07FFC001FFFFFFC000FFFFFFC0007FFFFFC000 -1FFFDFC0000FFF0F800001FC000026357DB32C>71 D<01FFF0000007FFFE00001FFFFF80 -001FFFFFE0003FFFFFF0003FFFFFF8003FC01FF8003FC007FC001F8003FC00060001FE00 -000000FE00000000FE0000000FFE000007FFFE00007FFFFE0001FFFFFE0007FFFFFE001F -FFFFFE003FFFF8FE003FFC00FE007FE000FE00FF8000FE00FF0000FE00FE0000FE00FE00 -00FE00FE0000FE00FF0001FE00FF0003FE007F8007FE007FE03FFE003FFFFFFFFC1FFFFF -FFFE0FFFFFFFFE07FFFF7FFE01FFFC3FFE007FC00FFC27247CA32C>97 -D<0003FFF000001FFFFC00007FFFFF0000FFFFFF0003FFFFFF8007FFFFFF800FFF007F80 -0FF8007F801FF0003F003FC0000C003FC00000007F800000007F000000007F00000000FF -00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FF00 -0000007F000000007F000000007F80000F803FC0001FC03FE0001FC01FF0003FC00FFC00 -7F800FFF81FF8007FFFFFF0003FFFFFE0000FFFFFC00007FFFF800001FFFE0000003FF00 -0022247BA32C>99 D<00000FFF0000001FFF8000001FFF8000001FFF8000001FFF800000 -0FFF800000003F800000003F800000003F800000003F800000003F800000003F80000000 -3F800000003F800000003F80000FF83F80003FFE3F8000FFFFBF8001FFFFFF8003FFFFFF -8007FFFFFF800FFC0FFF801FF003FF803FE000FF803FC0007F807F80007F807F80003F80 -7F00003F80FF00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE -00003F80FE00003F80FE00003F80FF00003F807F00007F807F00007F807F8000FF803FC0 -01FF803FE003FF801FF007FF800FFC1FFF800FFFFFFFFE07FFFFFFFF03FFFFBFFF00FFFF -3FFF007FFC3FFF000FF01FFE28337DB22C>I<0003FE0000001FFFC000007FFFF00001FF -FFF80003FFFFFC0007FFFFFE000FFE03FF001FF800FF801FE0007F803FC0003FC03F8000 -1FC07F80001FC07F00001FE07F00000FE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFF -E0FFFFFFFFE0FFFFFFFFC0FE00000000FF000000007F000000007F800000007F800007C0 -3FC0000FE03FE0000FE01FF8001FE00FFC003FC007FF80FFC007FFFFFF8001FFFFFF0000 -FFFFFE00003FFFFC00000FFFF0000001FF800023247CA32C>I<00000003F00007F81FFC -001FFE7FFE007FFFFFFF00FFFFFFFF01FFFFFFFF03FFFFFE7F07FE1FF87E07F807F83E0F -F003FC000FE001FC001FE001FE001FC000FE001FC000FE001FC000FE001FC000FE001FC0 -00FE001FE001FE000FE001FC000FF003FC0007F807F80007FE1FF80007FFFFF00007FFFF -E0000FFFFFC0000FFFFF80000FDFFE00000FC7F800000FC00000000FC00000000FE00000 -0007FFFFE00007FFFFFE0007FFFFFF800FFFFFFFE01FFFFFFFF03FFFFFFFF83FC0003FF8 -7F000003FC7E000001FCFE000000FEFC0000007EFC0000007EFC0000007EFC0000007EFE -000000FE7F000001FC7F800003FC3FE0000FF83FFE00FFF81FFFFFFFF00FFFFFFFE003FF -FFFF8000FFFFFE00003FFFF8000003FF800028387EA42C>103 D<00038000000FE00000 -0FE000001FF000001FF000001FF000000FE000000FE00000038000000000000000000000 -000000000000000000000000000000000000007FFFE0007FFFF000FFFFF000FFFFF0007F -FFF0007FFFF0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000 -07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000 -07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0007FFFFFFEFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE20347AB32C>105 -D<7FC1F803F0007FE7FE0FFC00FFFFFF3FFE00FFFFFF7FFE007FFFFFFFFF007FFFFFFFFF -0007FE1FFC3F8007FC1FF83F8007F80FF01F8007F00FE01F8007F00FE01F8007F00FE01F -8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F -8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F -8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F8007E00FC01F -807FFE1FFC3FF87FFE3FFC7FF8FFFF3FFE7FFCFFFF3FFE7FFC7FFE3FFC7FF87FFE1FFC3F -F82E2481A32C>109 D<7FF807F80000FFFC3FFE0000FFFCFFFF8000FFFFFFFFC000FFFF -FFFFC0007FFFFFFFE00001FFF81FE00001FFE00FF00001FF8007F00001FF0007F00001FE -0007F00001FE0007F00001FE0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC -0007F00001FC0007F0007FFFF07FFFC0FFFFF8FFFFE0FFFFF8FFFFE0FFFFF8FFFFE0FFFF -F8FFFFE07FFFF07FFFC02B2480A32C>I<0007FC0000001FFF0000007FFFC00001FFFFF0 -0003FFFFF80007FFFFFC000FFC07FE001FF001FF001FE000FF003FC0007F803F80003F80 -7F00001FC07F00001FC07F00001FC0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE -00000FE0FE00000FE0FE00000FE0FF00001FE07F00001FC07F00001FC07F80003FC03F80 -003F803FC0007F801FE000FF001FF803FF000FFE0FFE0007FFFFFC0003FFFFF80001FFFF -F000007FFFC000001FFF00000007FC000023247CA32C>I<7FFF003FC0FFFF81FFF0FFFF -87FFF8FFFF9FFFF8FFFFBFFFFC7FFFFFFFFC003FFFE3FC003FFF03FC003FFE01F8003FFC -0060003FF80000003FF00000003FE00000003FE00000003FC00000003FC00000003FC000 -00003F800000003F800000003F800000003F800000003F800000003F800000003F800000 -003F800000003F800000003F800000003F800000003F800000003F8000007FFFFFF000FF -FFFFF800FFFFFFF800FFFFFFF800FFFFFFF8007FFFFFF00026247EA32C>114 -D<001F000000003F800000003F800000003F800000003F800000003F800000003F800000 -003F800000003F800000003F8000007FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FF -FFFFFF807FFFFFFF00003F800000003F800000003F800000003F800000003F800000003F -800000003F800000003F800000003F800000003F800000003F800000003F800000003F80 -0000003F800000003F800000003F800380003F800FE0003F800FE0003F800FE0003F800F -E0003F801FE0003FC01FC0001FC03FC0001FF07FC0000FFFFF80000FFFFF000007FFFE00 -0003FFFC000001FFF00000003FC000232E7EAD2C>116 D<7FFF83FFFCFFFFC3FFFEFFFF -C7FFFEFFFFC7FFFEFFFFC3FFFE7FFF83FFFC03F8001F8001F8003F8001FC003F0000FC00 -3F0000FC007F0000FE007E00007E007E00007E007E00007F00FC00003F00FC00003F00FC -00003F81F800001F81F800001F81F800000FC1F800000FC3F000000FC3F0000007E3F000 -0007E3E0000007E7E0000003E7E0000003F7C0000001F7C0000001FFC0000001FF800000 -00FF80000000FF80000000FF000000007F000000007F000000007E000000007E00000000 -7E00000000FE00000000FC00000000FC00000001FC00000C01F800003F03F800007F87F0 -00007F8FF000007F1FE000007FFFC000007FFFC000003FFF8000001FFE0000000FFC0000 -0007F000000027367EA32C>121 D E /Fd 44 122 df<000007F8000000003FFE000000 -01FFFF80000007FC0FC000000FE003E000001FC007E000003F800FF000007F001FF00000 -FE001FF00000FE001FF00001FE001FF00001FC001FF00001FC000FE00001FC0001000001 -FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001 -FC0000000001FC0000000001FC0007F000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF000FF -FFFFFFF00001FC001FF00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001 -FC0007F00001FC0007F00001FC0007F00001FC0007F00003FC0007F8007FFFE0FFFFC07F -FFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC02A3B7FBA2E>12 D<000007FC000FF000000000 -3FFF007FFC00000001FFFFC3FFFF00000003FC07EFF81F8000000FF001FFC007C000001F -C003FF800FC000003F800FFF001FE000007F000FFE003FE00000FF000FFC003FE00000FE -000FFC003FE00001FE000FFC003FE00001FC000FF8003FE00001FC0007F8001FC00001FC -0003F80002000001FC0003F80000000001FC0003F80000000001FC0003F80000000001FC -0003F80000000001FC0003F80000000001FC0003F80000000001FC0003F80000000001FC -0003F80000000001FC0003F8000FE000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE000FFFF -FFFFFFFFFFE000FFFFFFFFFFFFFFE00001FC0003F8003FE00001FC0003F8000FE00001FC -0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC -0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC -0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC -0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC -0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC -0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC0003F8000FE00001FC -0003F8000FE00003FE0007FC001FF0007FFFF0FFFFE3FFFF807FFFF0FFFFE3FFFF807FFF -F0FFFFE3FFFF807FFFF0FFFFE3FFFF80413B7FBA45>14 D<0000E00001E00003C0000780 -000F00001F00003E00007C00007C0000F80001F00001F00003E00003E00007E00007C000 -0FC0000F80000F80001F80001F80001F00003F00003F00003F00003E00007E00007E0000 -7E00007E00007E00007C0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000 -FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E0000 -7E00007E00007E00007E00003E00003F00003F00003F00001F00001F80001F80000F8000 -0F80000FC00007C00007E00003E00003E00001F00001F00000F800007C00007C00003E00 -001F00000F000007800003C00001E00000E0135278BD20>40 D<E00000F000007800003C -00001E00001F00000F800007C00007C00003E00001F00001F00000F80000F80000FC0000 -7C00007E00003E00003E00003F00003F00001F00001F80001F80001F80000F80000FC000 -0FC0000FC0000FC0000FC00007C00007E00007E00007E00007E00007E00007E00007E000 -07E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007C000 -0FC0000FC0000FC0000FC0000FC0000F80001F80001F80001F80001F00003F00003F0000 -3E00003E00007E00007C0000FC0000F80000F80001F00001F00003E00007C00007C0000F -80001F00001E00003C0000780000F00000E0000013527CBD20>I<1E007F80FF80FFC0FF -C0FFE0FFE0FFE07FE01EE000E000E000E001E001C001C003C003C0038007800F000F001E -003C00780030000B1A7A8917>44 D<FFFFFCFFFFFCFFFFFCFFFFFCFFFFFCFFFFFC16067F -941C>I<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A7A8917>I<0001C0000003 -C0000007C000001FC00000FFC000FFFFC000FFFFC000FFFFC000FF1FC000001FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001F -C000001FC000001FC000001FC000001FC000003FE0007FFFFFF07FFFFFF07FFFFFF07FFF -FFF01C3879B72A>49 D<000FF00000007FFE000001FFFF800007FFFFC0000FE07FF0001F -801FF8001F000FFC003E0007FC007C0003FE00780003FF007E0001FF00FF8001FF00FFC0 -00FF80FFC000FF80FFC000FF80FFC000FF80FFC000FF80FFC000FF807F8000FF801E0000 -FF80000000FF80000000FF00000001FF00000001FF00000003FE00000003FE00000007FC -00000007F80000000FF00000000FF00000001FE00000003FC00000007F800000007E0000 -0000FC00000001F800000003F000000007E00000000FC00000000F800000001F00000000 -3E000380007C00038000F800038001F000078003E000070007C00007000F800007000F00 -000F001FFFFFFF003FFFFFFF007FFFFFFF00FFFFFFFE00FFFFFFFE00FFFFFFFE00FFFFFF -FE0021387CB72A>I<0000007C0000000000007C0000000000007C000000000000FE0000 -00000000FE000000000000FE000000000001FF000000000001FF000000000001FF000000 -000003FF800000000003FF800000000003FF800000000007FFC00000000007BFC0000000 -0007BFC0000000000FBFE0000000000F1FE0000000000F1FE0000000001F1FF000000000 -1E0FF0000000001E0FF0000000003E0FF8000000003C07F8000000003C07F8000000007C -07FC000000007803FC000000007803FC000000007803FC00000000F001FE00000000F001 -FE00000000F001FE00000001E000FF00000001E000FF00000001E000FF00000003C0007F -80000003C0007F80000003C0007F8000000780003FC0000007FFFFFFC0000007FFFFFFC0 -00000FFFFFFFE000000FFFFFFFE000000F00001FE000001F00000FF000001E00000FF000 -001E00000FF000003E00000FF800003C000007F800003C000007F800007C000007FC0000 -78000003FC000078000003FC0000F8000003FE0000F8000001FE0001FC000001FE000FFF -000003FF00FFFFE000FFFFFEFFFFE000FFFFFEFFFFE000FFFFFEFFFFE000FFFFFE373C7D -BB3E>65 D<000001FF00038000000FFFE0038000007FFFF807800001FFFFFE0F800007FF -807F1F80000FFC000FBF80001FF00007FF80003FE00003FF80007FC00001FF8000FF8000 -00FF8001FF0000007F8003FE0000007F8007FC0000003F8007FC0000003F800FF8000000 -1F801FF80000001F801FF00000000F801FF00000000F803FF00000000F803FE00000000F -807FE000000007807FE000000007807FE000000007807FC00000000780FFC00000000000 -FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FF -C00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0 -0000000000FFC000000000007FC000000000007FE000000003807FE000000003807FE000 -000003803FE000000003803FF000000003801FF000000007801FF000000007001FF80000 -0007000FF80000000F0007FC0000000F0007FC0000001E0003FE0000001E0001FF000000 -3C0000FF8000007800007FC00000F800003FE00001F000001FF00003E000000FFC0007C0 -000007FF803F80000001FFFFFE000000007FFFFC000000000FFFF00000000001FF000000 -313D7BBA3C>67 D<FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC00 -01FF00000FFC0000FF000001FE0000FF000000FE0000FF0000007E0000FF0000003E0000 -FF0000001E0000FF0000001E0000FF0000000E0000FF0000000E0000FF0000000E0000FF -0000000E0000FF0001C00F0000FF0001C0070000FF0001C0070000FF0001C0070000FF00 -01C0070000FF0001C0000000FF0003C0000000FF0003C0000000FF0007C0000000FF001F -C0000000FFFFFFC0000000FFFFFFC0000000FFFFFFC0000000FFFFFFC0000000FF001FC0 -000000FF0007C0000000FF0003C0000000FF0003C0000000FF0001C0000000FF0001C000 -E000FF0001C000E000FF0001C000E000FF0001C000E000FF0001C001C000FF00000001C0 -00FF00000001C000FF00000001C000FF00000001C000FF00000003C000FF00000003C000 -FF000000038000FF000000078000FF000000078000FF0000000F8000FF0000001F8000FF -0000003F8000FF000000FF8001FF00000FFF80FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFF -FFFFFF00FFFFFFFFFFFF0033397DB839>69 D<FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFF -F8FFFFFFFFFFF801FF00001FF800FF000003FC00FF000001FC00FF000000FC00FF000000 -7C00FF0000003C00FF0000003C00FF0000001C00FF0000001C00FF0000001C00FF000000 -1C00FF0000001E00FF0003800E00FF0003800E00FF0003800E00FF0003800E00FF000380 -0000FF0003800000FF0007800000FF0007800000FF000F800000FF003F800000FFFFFF80 -0000FFFFFF800000FFFFFF800000FFFFFF800000FF003F800000FF000F800000FF000780 -0000FF0007800000FF0003800000FF0003800000FF0003800000FF0003800000FF000380 -0000FF0003800000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000001FF80000000FFFFFFC00000FFFFFFC00000FFFFFFC00000FFFFFFC000 -002F397DB836>I<000000FF8001C000000FFFF001C000003FFFFC03C00000FFFFFF07C0 -0003FFC03F8FC0000FFE000FDFC0001FF80003FFC0003FE00001FFC0007FC00000FFC000 -FF8000007FC001FF0000003FC003FE0000003FC007FC0000001FC007FC0000001FC00FF8 -0000000FC00FF80000000FC01FF000000007C01FF000000007C03FF000000007C03FE000 -000007C07FE000000003C07FE000000003C07FE000000003C07FC000000003C0FFC00000 -000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0000000 -0000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000000000 -00FFC00000FFFFFFFFC00000FFFFFF7FC00000FFFFFF7FE00000FFFFFF7FE00000007FC0 -7FE00000003FC03FE00000003FC03FF00000003FC01FF00000003FC01FF00000003FC00F -F80000003FC00FF80000003FC007FC0000003FC007FC0000003FC003FE0000003FC001FF -0000003FC000FF8000007FC0007FC000007FC0003FE00000FFC0001FF80001FFC0000FFE -0003F7C00003FFC01FE3C00000FFFFFF81C000003FFFFE00C000000FFFF80000000000FF -C00000383D7CBA41>I<FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC000FFC000007F8000007F -8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F -8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F -8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F -8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F -8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F -800000FFC000FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC01A397EB81E>73 -D<FFFFFFE00000FFFFFFE00000FFFFFFE00000FFFFFFE0000001FF8000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 -0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000003800FF000000 -3800FF0000003800FF0000003800FF0000003800FF0000007800FF0000007000FF000000 -7000FF0000007000FF0000007000FF000000F000FF000000F000FF000001F000FF000001 -F000FF000003F000FF000007F000FF00000FF000FF00003FE001FF0001FFE0FFFFFFFFFF -E0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02D397DB834>76 D<000FF801C0003FFE01 -C000FFFF83C003FFFFE7C007F807FFC00FE001FFC01FC0007FC03F80003FC03F00001FC0 -7E00000FC07E00000FC07C000007C0FC000007C0FC000003C0FC000003C0FC000003C0FC -000001C0FE000001C0FE000001C0FF000001C0FF800000007FC00000007FE00000007FF8 -0000003FFF8000001FFFF800001FFFFF80000FFFFFE00007FFFFF80003FFFFFE0000FFFF -FF00003FFFFF800007FFFFC000007FFFC0000007FFE00000007FE00000003FF00000001F -F00000000FF000000007F800000003F8E0000003F8E0000003F8E0000001F8E0000001F8 -E0000001F8F0000001F8F0000001F8F0000001F0F8000003F0FC000003F0FC000007E0FE -000007E0FF00000FC0FFC0001FC0FFF0003F80FFFE00FF00F8FFFFFE00F03FFFF800E00F -FFE000E001FF0000253D7CBA2E>83 D<3FFFFFFFFFFFE03FFFFFFFFFFFE03FFFFFFFFFFF -E03FFFFFFFFFFFE03FE001FE003FE07F0001FE0007F07E0001FE0003F07C0001FE0001F0 -780001FE0000F0780001FE0000F0780001FE000070700001FE000070700001FE00007070 -0001FE000070700001FE000070F00001FE000078E00001FE000038E00001FE000038E000 -01FE000038E00001FE000038000001FE000000000001FE000000000001FE000000000001 -FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE -000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE00 -0000000001FE000000000001FE000000000001FE000000000001FE000000000001FE0000 -00000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000 -000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000 -0001FE000000000001FE000000000001FE000000000003FF000000001FFFFFFFE000001F -FFFFFFE000001FFFFFFFE000001FFFFFFFE00035397DB83C>I<FFFFFE01FFFFFC01FFFF -C0FFFFFE01FFFFFC01FFFFC0FFFFFE01FFFFFC01FFFFC0FFFFFE01FFFFFC01FFFFC001FF -800003FF00001FF80000FF000003FE000007E00000FF000001FE000003C00000FF000001 -FE000003C000007F800001FF0000038000007F800001FF0000038000007F800001FF0000 -038000003FC00001FF0000070000003FC00003FF8000070000003FC00003FF8000070000 -003FE00003FF80000F0000001FE000073FC0000E0000001FE000073FC0000E0000001FF0 -00073FC0001E0000000FF0000F3FE0001C0000000FF0000E1FE0001C0000000FF0000E1F -E0001C00000007F8001E1FF0003800000007F8001C0FF0003800000007F8001C0FF00038 -00000003FC001C0FF0007000000003FC003807F8007000000003FC003807F80070000000 -03FE003807F800F000000001FE007003FC00E000000001FE007003FC00E000000001FE00 -7003FC00E000000000FF00F003FE01C000000000FF00E001FE01C000000000FF00E001FE -01C0000000007F80E001FE0380000000007F81C000FF0380000000007F81C000FF038000 -0000007FC1C000FF0780000000003FC380007F8700000000003FC380007F870000000000 -3FE380007F8F00000000001FE780007FCE00000000001FE700003FCE00000000001FE700 -003FCE00000000000FFF00003FFC00000000000FFE00001FFC00000000000FFE00001FFC -000000000007FE00001FF8000000000007FC00000FF8000000000007FC00000FF8000000 -000007FC00000FF8000000000003F8000007F0000000000003F8000007F0000000000003 -F8000007F0000000000001F8000007E0000000000001F0000003E0000000000001F00000 -03E0000000000000F0000003C0000000000000E0000001C0000000523B7FB855>87 -D<FFFFFE0000FFFFE0FFFFFE0000FFFFE0FFFFFE0000FFFFE0FFFFFE0000FFFFE001FFE0 -00001FFC00007FC000000FF000007FC000000FC000003FE000000F8000001FF000000F80 -00001FF000001F0000000FF800001E0000000FF800003E00000007FC00003C00000003FE -00007C00000003FE0000F800000001FF0000F800000001FF0001F000000000FF8001E000 -0000007FC003E0000000007FC003C0000000003FE007C0000000003FE00F80000000001F -F00F80000000000FF81F00000000000FF81E000000000007FC3E000000000007FC3C0000 -00000003FE7C000000000001FFF8000000000001FFF0000000000000FFF0000000000000 -FFE00000000000007FE00000000000003FC00000000000003FC00000000000003FC00000 -000000003FC00000000000003FC00000000000003FC00000000000003FC0000000000000 -3FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000 -000000003FC00000000000003FC00000000000003FC00000000000003FC0000000000000 -3FC00000000000003FC00000000000003FC00000000000007FE000000000003FFFFFC000 -0000003FFFFFC0000000003FFFFFC0000000003FFFFFC000003B397FB83E>89 -D<003FE0000001FFFC000007FFFF00000FC03F80001F801FE0003FC00FF0003FE007F000 -3FE003F8003FE003F8003FE003FC003FE001FC001FC001FC00020001FC00000001FC0000 -0001FC00000001FC000003FFFC00001FFFFC0000FFFFFC0003FF81FC0007FC01FC001FF0 -01FC003FE001FC003FC001FC007FC001FC007F8001FC00FF8001FC1CFF0001FC1CFF0001 -FC1CFF0001FC1CFF0003FC1CFF0003FC1C7F8007FC1C7FC00FFC1C3FC01E7E381FF07C7F -F80FFFF83FF003FFE03FE0007F800F8026277DA52A>97 D<03F8000000FFF8000000FFF8 -000000FFF8000000FFF80000000FF800000003F800000003F800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F80FE00003F87FFC0003F9FFFF00 -03FBE03F8003FF801FC003FF000FE003FE0007F003FC0003F803F80003F803F80001FC03 -F80001FC03F80001FE03F80000FE03F80000FE03F80000FF03F80000FF03F80000FF03F8 -0000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F800 -00FE03F80001FE03F80001FE03F80001FC03F80001FC03FC0003F803FC0003F803FE0007 -F003FF000FE003E7801FC003E3E07F8003C1FFFE0003807FF80000001FC000283B7EB92E ->I<0003FC00001FFF80007FFFE001FE03F003F801F807F003FC0FE007FC0FE007FC1FC0 -07FC3FC007FC3F8007FC7F8003F87F8000407F0000007F000000FF000000FF000000FF00 -0000FF000000FF000000FF000000FF000000FF000000FF000000FF0000007F8000007F80 -00007F8000003F80000E3FC0000E1FC0001E1FE0001C0FF0003C07F8007803FC00F001FF -03E0007FFFC0001FFF000007F8001F277DA525>I<0000001FC0000007FFC0000007FFC0 -000007FFC0000007FFC00000007FC00000001FC00000001FC00000001FC00000001FC000 -00001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000 -001FC00000001FC00000001FC00000001FC00007F81FC0001FFE1FC0007FFF9FC001FE07 -FFC003F801FFC007F0007FC00FE0007FC01FC0003FC01FC0001FC03F80001FC03F80001F -C07F80001FC07F80001FC07F00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0 -FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC07F00001FC07F -00001FC07F80001FC03F80001FC03F80001FC01FC0003FC01FC0003FC00FE0007FC007F0 -00FFF003F801FFFF01FC07DFFF00FFFF1FFF003FFE1FFF0007F01FC0283B7DB92E>I<00 -07F800001FFF00007FFFC001FC0FE003F807F007F003F80FE001F81FC001FC1FC000FC3F -8000FE3F80007E7F80007E7F00007F7F00007FFF00007FFF00007FFFFFFFFFFFFFFFFFFF -FFFFFFFF000000FF000000FF000000FF000000FF0000007F0000007F0000007F8000007F -8000003F8000073FC000071FC0000F0FE0000E07F0001E07F8003C01FC007800FF01F000 -7FFFE0001FFF800003FC0020277EA525>I<00007F000001FFC00007FFE0001FC7F0003F -8FF8007F0FF800FE0FF801FC0FF801FC0FF801FC07F003F803E003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -0000FFFFFC00FFFFFC00FFFFFC00FFFFFC0003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8 -000003F8000003F8000003F8000003F8000007FC0000FFFFF800FFFFF800FFFFF800FFFF -F8001D3B7FBA19>I<00000003E0000FF00FF8003FFC3FFC00FFFF7CFC03F81FF0FC07F0 -0FE0FC0FE007F0FC0FC003F0301FC003F8001F8001F8003F8001FC003F8001FC003F8001 -FC003F8001FC003F8001FC003F8001FC003F8001FC001F8001F8001FC003F8000FC003F0 -000FE007F00007F00FE00007F81FC0000FFFFF00000F3FFC00001E0FF000001E00000000 -1E000000001E000000001F000000001F000000001F800000000FFFFFC0000FFFFFF80007 -FFFFFE0007FFFFFF8007FFFFFFC00FFFFFFFE01F80007FF03F00000FF07E000007F07E00 -0003F8FC000003F8FC000001F8FC000001F8FC000001F8FC000001F8FE000003F87F0000 -07F03F000007E03FC0001FE00FE0003F8007FC01FF0001FFFFFC00007FFFF0000007FF00 -0026387EA52A>I<03F800000000FFF800000000FFF800000000FFF800000000FFF80000 -00000FF80000000003F80000000003F80000000003F80000000003F80000000003F80000 -000003F80000000003F80000000003F80000000003F80000000003F80000000003F80000 -000003F80000000003F80000000003F80000000003F80000000003F807F0000003F83FFC -000003F8FFFF000003F9F07F800003FBC03FC00003FF801FC00003FF001FC00003FE000F -E00003FE000FE00003FC000FE00003FC000FE00003FC000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00007FC000FF000FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80293A7EB9 -2E>I<03C0000FF0000FF0001FF8001FF8001FF8001FF8000FF0000FF00003C000000000 -00000000000000000000000000000000000000000000000001F800FFF800FFF800FFF800 -FFF80007F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80007F800FFFFE0FFFFE0FFFFE0FFFFE013387EB718>I<03F8 -000000FFF8000000FFF8000000FFF8000000FFF80000000FF800000003F800000003F800 -000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F803FFFC03F803FFFC03F803FFFC03F803FFFC03F801FF8003F800FE0003F801F80003 -F801F00003F803C00003F807800003F80F000003F81E000003F87C000003F8FC000003F9 -FC000003FBFE000003FFFF000003FFFF000003FF3F800003FC3FC00003F81FC00003F80F -E00003F80FF00003F807F80003F803F80003F803FC0003F801FE0003F800FE0003F800FF -0003F8007F8003F8007FC007FC007FE0FFFFE1FFFFFFFFE1FFFFFFFFE1FFFFFFFFE1FFFF -283A7EB92C>107 D<03F800FFF800FFF800FFF800FFF8000FF80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800 -03F80003F80003F80003F80003F80003F80003F80003F80007FC00FFFFE0FFFFE0FFFFE0 -FFFFE0133A7EB918>I<03F807F8000FF00000FFF83FFE007FFC0000FFF87FFF80FFFF00 -00FFF9F03FC3E07F8000FFFBC01FE7803FC0000FFF800FEF001FC00003FF000FFE001FC0 -0003FE0007FC000FE00003FE0007FC000FE00003FC0007F8000FE00003FC0007F8000FE0 -0003FC0007F8000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00003F80007F0000FE00003F80007F0000FE00003F80007F0000FE0 -0003F80007F0000FE00007FC000FF8001FF000FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF -80FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF8041257EA446>I<03F807F00000FFF83FFC -0000FFF8FFFF0000FFF9F07F8000FFFBC03FC0000FFF801FC00003FF001FC00003FE000F -E00003FE000FE00003FC000FE00003FC000FE00003FC000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000F -E00007FC000FF000FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF80FFFFE1FFFF8029257EA4 -2E>I<0003FE0000000FFF8000003FFFE00000FE03F80001F800FC0003F0007E0007E000 -3F000FC0001F801FC0001FC01F80000FC03F80000FE03F80000FE07F000007F07F000007 -F07F000007F07F000007F0FF000007F8FF000007F8FF000007F8FF000007F8FF000007F8 -FF000007F8FF000007F8FF000007F8FF000007F87F000007F07F000007F07F80000FF03F -80000FE03F80000FE01FC0001FC00FC0001F800FE0003F8007F0007F0003F800FE0000FE -03F800007FFFF000001FFFC0000003FE000025277EA52A>I<03F80FE000FFF87FFC00FF -F9FFFF00FFFBE07F80FFFF801FC007FF000FE003FE000FF003FC0007F803F80003F803F8 -0003FC03F80003FC03F80001FE03F80001FE03F80001FE03F80000FF03F80000FF03F800 -00FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03F80000 -FF03F80001FE03F80001FE03F80001FE03F80003FC03F80003FC03FC0007F803FC0007F8 -03FE000FF003FF001FE003FF803FC003FBE07F8003F9FFFE0003F87FF80003F81FC00003 -F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8 -00000003F800000003F800000007FC000000FFFFE00000FFFFE00000FFFFE00000FFFFE0 -000028357EA42E>I<0003F801C0001FFE03C0007FFF83C001FE07C7C003FC01E7C007F8 -00FFC00FF0007FC01FE0007FC01FE0003FC03FC0003FC03FC0001FC07F80001FC07F8000 -1FC07F80001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001FC0FF00001F -C0FF00001FC0FF00001FC0FF00001FC0FF00001FC07F80001FC07F80001FC07F80001FC0 -3FC0001FC03FC0003FC01FC0003FC01FE0007FC00FF000FFC007F000FFC003F803FFC001 -FE0FDFC000FFFF1FC0003FFC1FC00007F01FC00000001FC00000001FC00000001FC00000 -001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000000 -3FE0000007FFFF000007FFFF000007FFFF000007FFFF28357DA42C>I<03F03F00FFF0FF -C0FFF1FFE0FFF3CFF0FFF78FF00FFF0FF003FE0FF003FE0FF003FE07E003FC018003FC00 -0003FC000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800 -0003F8000003F8000003F8000007FC0000FFFFF800FFFFF800FFFFF800FFFFF8001C257E -A421>I<00FF870003FFEF000FFFFF001F80FF003E003F007C001F007C000F00F8000F00 -F8000700F8000700FC000700FC000700FE000000FF8000007FF800007FFF80003FFFE000 -3FFFF8001FFFFC0007FFFE0001FFFF00007FFF800003FF8000007FC0E0001FC0E0000FC0 -E0000FC0F00007C0F00007C0F00007C0F80007C0F8000780FC000F80FE000F80FF001F00 -FFC07E00FBFFFC00F1FFF000E07F80001A277DA521>I<001C0000001C0000001C000000 -1C0000001C0000003C0000003C0000003C0000007C0000007C0000007C000000FC000001 -FC000003FC000007FC00001FFFFF00FFFFFF00FFFFFF00FFFFFF0001FC000001FC000001 -FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001 -FC000001FC000001FC000001FC000001FC000001FC000001FC01C001FC01C001FC01C001 -FC01C001FC01C001FC01C001FC01C001FC01C001FC01C000FE038000FE0380007F078000 -7F8F00003FFE00000FFC000003F0001A347FB220>I<03F8000FE000FFF803FFE000FFF8 -03FFE000FFF803FFE000FFF803FFE0000FF8003FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE00003F8 -000FE00003F8001FE00003F8001FE00003F8001FE00003F8003FE00001F8003FE00001FC -007FF80001FC00FFFF8000FE03EFFF80007FFFCFFF80001FFF0FFF800003FC0FE0002926 -7EA42E>I<FFFFC07FFEFFFFC07FFEFFFFC07FFEFFFFC07FFE07FC001FF003F80007C003 -FC00078001FC00070001FC00070001FE000F0000FE000E0000FE000E00007F001C00007F -001C00007F803C00003F803800003F803800001FC07000001FC07000001FE07000000FE0 -E000000FE0E000000FF1E0000007F1C0000007F1C0000003FB80000003FB80000003FF80 -000001FF00000001FF00000001FF00000000FE00000000FE000000007C000000007C0000 -00007C0000000038000027257EA32C>I<FFFF8FFFF07FFEFFFF8FFFF07FFEFFFF8FFFF0 -7FFEFFFF8FFFF07FFE07F800FF000FF007F8007F0007C003F8007F0007C003F8003F0003 -8003FC003F80078001FC007F80070001FC007F80070001FE007FC00F0000FE00FFC00E00 -00FE00EFC00E0000FF00EFE01E00007F01EFE01C00007F01C7E01C00007F81C7F03C0000 -3F83C7F03800003F8383F03800001FC383F87000001FC701F87000001FC701F87000000F -E701FCE000000FEE00FCE000000FEE00FCE0000007FE00FFC0000007FC007FC0000007FC -007FC0000003FC007F80000003F8003F80000003F8003F80000001F8003F00000001F000 -1F00000001F0001F00000000F0001E00000000E0000E000037257EA33C>I<FFFFC0FFFF -00FFFFC0FFFF00FFFFC0FFFF00FFFFC0FFFF0001FF007FE00000FF003F0000007F003E00 -00003F803C0000003FC0780000001FC0F00000000FE0E00000000FF1E000000007FBC000 -000003FF8000000001FF0000000001FF0000000000FE00000000007F00000000007F8000 -0000007FC000000000FFC000000001FFE000000001CFF000000003C7F00000000783F800 -00000F03FC0000000E01FC0000001E00FE0000003C00FF0000007C007F800001FC003F80 -0007FC007FE000FFFF01FFFF80FFFF01FFFF80FFFF01FFFF80FFFF01FFFF8029247FA32C ->I<FFFFC07FFEFFFFC07FFEFFFFC07FFEFFFFC07FFE07FC001FF003F80007C003FC0007 -8001FC00070001FC00070000FE000E0000FE000E0000FF001E00007F001C00007F001C00 -003F803800003F803800003FC07800001FC07000001FC07000001FE0F000000FE0E00000 -0FF0E0000007F1C0000007F1C0000007FBC0000003FB80000003FB80000001FF00000001 -FF00000001FF00000000FE00000000FE000000007C000000007C000000007C0000000038 -000000003800000000780000000070000000007000000000E000000000E000007E01E000 -007E01C00000FF03C00000FF03800000FF07800000FF0F0000007E1E000000783C000000 -3FF80000001FF00000000FC000000027357EA32C>I E /Fe 29 121 -df<FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFF -F0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0240C7FA02D>45 -D<0000003C00000000007E0000000001FE0000000007FE000000001FFE00000000FFFE00 -000007FFFE000003FFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFF7FFE00 -00FFF87FFE0000FC007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00 -007FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFF -FE2F4E76CD43>49 D<00003FFE0000000003FFFFE00000001FFFFFFC0000007FFFFFFF00 -0000FFFFFFFFC00001FFFFFFFFE00007FF807FFFF0000FFC001FFFF8001FF00007FFFC00 -1FE00001FFFE003FF00000FFFF007FFC0000FFFF807FFE00007FFF807FFF00003FFFC0FF -FF00003FFFC0FFFF80003FFFE0FFFF80001FFFE0FFFF80001FFFE0FFFF80001FFFF0FFFF -80001FFFF0FFFF80000FFFF07FFF00000FFFF07FFF00000FFFF03FFE00000FFFF01FFC00 -000FFFF00FF800000FFFF003E000001FFFF0000000001FFFE0000000001FFFE000000000 -1FFFE0000000003FFFC0000000003FFFC0000000003FFF80000000007FFF80000000007F -FF0000000000FFFE0000000000FFFE0000000001FFFC0000000001FFF80000000003FFF0 -0000000007FFE0000000000FFFC0000000000FFF80000000001FFE00000000003FFC0000 -0000007FF80000000000FFF00000000000FFC00000000001FF800000000003FF00000000 -0007FC00000000000FF80003F000001FF00003F000003FE00003F000007FC00003F00000 -FF000007E00001FE000007E00003FC000007E00007F8000007E00007F0000007E0000FE0 -00000FE0001F8000000FE0003F0000001FE0007FFFFFFFFFE000FFFFFFFFFFC001FFFFFF -FFFFC003FFFFFFFFFFC007FFFFFFFFFFC00FFFFFFFFFFFC01FFFFFFFFFFFC03FFFFFFFFF -FFC07FFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF -80FFFFFFFFFFFF80FFFFFFFFFFFF80344E79CD43>I<00000FFF8000000000FFFFFC0000 -0007FFFFFF0000001FFFFFFFC000003FFFFFFFF000007FF807FFF80000FFC001FFFC0001 -FE0000FFFE0003FC00007FFF0007FE00003FFF800FFF80003FFFC00FFFC0003FFFC00FFF -C0001FFFC01FFFE0001FFFE01FFFE0001FFFE01FFFE0001FFFE01FFFF0001FFFE01FFFF0 -001FFFE01FFFE0001FFFE01FFFE0001FFFE00FFFE0003FFFE00FFFC0003FFFC007FF8000 -3FFFC003FF00003FFFC000FE00007FFF80000000007FFF80000000007FFF0000000000FF -FE0000000000FFFC0000000001FFF80000000003FFF00000000007FFE0000000001FFFC0 -00000000FFFF80000000FFFFFE00000000FFFFF800000000FFFFC000000000FFFFFC0000 -0000FFFFFF800000000007FFF00000000001FFFC00000000007FFE00000000003FFF0000 -0000003FFF80000000001FFFC0000000001FFFE0000000000FFFF0000000000FFFF80000 -00000FFFF80000000007FFFC0000000007FFFC0000000007FFFC01E0000007FFFE0FFC00 -0007FFFE1FFE000007FFFE3FFF000007FFFE7FFF800007FFFE7FFF800007FFFEFFFFC000 -07FFFEFFFFC00007FFFEFFFFC00007FFFEFFFFC00007FFFCFFFFC00007FFFCFFFFC0000F -FFFCFFFFC0000FFFF87FFF80000FFFF87FFF80000FFFF07FFF00001FFFF03FFE00001FFF -E01FF800003FFFC01FFC00007FFF800FFF0001FFFF0007FFF007FFFE0003FFFFFFFFFC00 -00FFFFFFFFF000003FFFFFFFE000000FFFFFFF00000003FFFFFC000000001FFF80000037 -4F7ACD43>I<00000000007E00000000000000FF00000000000001FF00000000000003FF -00000000000003FF00000000000007FF0000000000000FFF0000000000001FFF00000000 -00001FFF0000000000003FFF0000000000007FFF000000000000FFFF000000000001FFFF -000000000001FFFF000000000003FFFF000000000007FFFF00000000000FFFFF00000000 -000FFFFF00000000001FFFFF00000000003FBFFF00000000007F3FFF0000000000FE3FFF -0000000000FE3FFF0000000001FC3FFF0000000003F83FFF0000000007F03FFF00000000 -07E03FFF000000000FE03FFF000000001FC03FFF000000003F803FFF000000007F003FFF -000000007F003FFF00000000FE003FFF00000001FC003FFF00000003F8003FFF00000003 -F0003FFF00000007F0003FFF0000000FE0003FFF0000001FC0003FFF0000003F80003FFF -0000003F80003FFF0000007F00003FFF000000FE00003FFF000001FC00003FFF000001F8 -00003FFF000003F800003FFF000007F000003FFF00000FE000003FFF00001FC000003FFF -00001FC000003FFF00003F8000003FFF00007F0000003FFF0000FE0000003FFF0000FFFF -FFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFF -FFC0FFFFFFFFFFFFFFC0000000007FFF0000000000007FFF0000000000007FFF00000000 -00007FFF0000000000007FFF0000000000007FFF0000000000007FFF0000000000007FFF -0000000000007FFF0000000000007FFF0000000000007FFF0000000000007FFF00000000 -00007FFF0000000000007FFF000000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFF -FFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC03A4F7CCE43>I<03F000 -0FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF80 -7FFF803FFF001FFE000FFC0003F000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000003F0000FFC00 -1FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF807FFF80 -3FFF001FFE000FFC0003F000123577B425>58 D<0000000003FFFC000003C0000000007F -FFFFC00007C000000007FFFFFFF8000FC00000003FFFFFFFFE001FC0000000FFFFFFFFFF -803FC0000003FFFFFFFFFFC07FC000000FFFFFF001FFF0FFC000003FFFFE00003FF9FFC0 -00007FFFF000000FFFFFC00001FFFFC0000003FFFFC00003FFFF00000000FFFFC00007FF -FC000000007FFFC0000FFFF8000000003FFFC0001FFFE0000000001FFFC0003FFFC00000 -00000FFFC0007FFF800000000007FFC000FFFF000000000003FFC001FFFF000000000003 -FFC001FFFE000000000001FFC003FFFE000000000001FFC003FFFC000000000000FFC007 -FFF8000000000000FFC00FFFF80000000000007FC00FFFF80000000000007FC01FFFF000 -00000000003FC01FFFF00000000000003FC01FFFF00000000000003FC03FFFE000000000 -00003FC03FFFE00000000000001FC03FFFE00000000000001FC07FFFE00000000000001F -C07FFFE00000000000001FC07FFFE000000000000000007FFFC000000000000000007FFF -C00000000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000 -000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000 -000000FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000000000 -FFFFC00000000000000000FFFFC00000000000000000FFFFC00000000000000000FFFFC0 -0000000000000000FFFFC000000000000000007FFFC000000000000000007FFFC0000000 -00000000007FFFE000000000000000007FFFE000000000000000007FFFE0000000000000 -0FC03FFFE00000000000000FC03FFFE00000000000000FC03FFFE00000000000000FC01F -FFF00000000000000FC01FFFF00000000000000FC01FFFF00000000000001FC00FFFF800 -00000000001F800FFFF80000000000001F8007FFFC0000000000003F8003FFFC00000000 -00003F8003FFFE0000000000003F0001FFFE0000000000007F0001FFFF000000000000FE -0000FFFF800000000000FE00007FFF800000000001FC00003FFFC00000000003F800001F -FFE00000000007F800000FFFF8000000000FF0000007FFFC000000001FE0000003FFFF00 -0000007FC0000001FFFFC0000000FF800000007FFFF0000003FF000000003FFFFE00001F -FE000000000FFFFFF001FFF80000000003FFFFFFFFFFF00000000000FFFFFFFFFFC00000 -0000003FFFFFFFFF00000000000007FFFFFFFC000000000000007FFFFFE0000000000000 -0003FFFC00000000525479D261>67 D<FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80 -FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFF -FFFFFFC00007FFFC000003FFFFC00007FFFC0000003FFFC00007FFFC0000000FFFC00007 -FFFC00000003FFC00007FFFC00000001FFC00007FFFC00000000FFC00007FFFC00000000 -7FC00007FFFC000000003FC00007FFFC000000001FC00007FFFC000000001FE00007FFFC -000000000FE00007FFFC000000000FE00007FFFC000000000FE00007FFFC0000000007E0 -0007FFFC0000000007E00007FFFC0000000007E00007FFFC0000FC0007E00007FFFC0000 -FC0007E00007FFFC0000FC0007F00007FFFC0000FC0003F00007FFFC0000FC0003F00007 -FFFC0000FC0003F00007FFFC0000FC0003F00007FFFC0001FC0000000007FFFC0001FC00 -00000007FFFC0001FC0000000007FFFC0003FC0000000007FFFC0007FC0000000007FFFC -000FFC0000000007FFFC007FFC0000000007FFFFFFFFFC0000000007FFFFFFFFFC000000 -0007FFFFFFFFFC0000000007FFFFFFFFFC0000000007FFFFFFFFFC0000000007FFFFFFFF -FC0000000007FFFC007FFC0000000007FFFC000FFC0000000007FFFC0007FC0000000007 -FFFC0003FC0000000007FFFC0001FC0000000007FFFC0001FC0000000007FFFC0001FC00 -007E0007FFFC0000FC00007E0007FFFC0000FC00007E0007FFFC0000FC0000FC0007FFFC -0000FC0000FC0007FFFC0000FC0000FC0007FFFC0000FC0000FC0007FFFC0000FC0000FC -0007FFFC0000000001FC0007FFFC0000000001FC0007FFFC0000000001F80007FFFC0000 -000001F80007FFFC0000000003F80007FFFC0000000003F80007FFFC0000000003F80007 -FFFC0000000007F80007FFFC0000000007F00007FFFC000000000FF00007FFFC00000000 -0FF00007FFFC000000001FF00007FFFC000000003FF00007FFFC000000007FF00007FFFC -00000000FFF00007FFFC00000003FFE00007FFFC00000007FFE00007FFFC0000003FFFE0 -0007FFFC000003FFFFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFF -FFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC04F51 -7CD058>69 D<FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0 -FFFFFFFFFFE00007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000 -0007FFFC00000007FFFC00000007FFFC00000007FFFC00000007FFFC0000FFFFFFFFFFE0 -FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02B527DD132> -73 D<000000000FFFC00000000000000003FFFFFF000000000000001FFFFFFFE0000000 -000000FFFFFFFFFC000000000003FFFFFFFFFF00000000000FFFFC00FFFFC0000000003F -FFC0000FFFF0000000007FFF000003FFF800000001FFFC000000FFFE00000003FFF80000 -007FFF00000007FFE00000001FFF8000000FFFC00000000FFFC000001FFF8000000007FF -E000003FFF0000000003FFF000007FFF0000000003FFF80000FFFE0000000001FFFC0000 -FFFC0000000000FFFC0001FFFC0000000000FFFE0003FFF800000000007FFF0003FFF800 -000000007FFF0007FFF000000000003FFF8007FFF000000000003FFF800FFFF000000000 -003FFFC00FFFE000000000001FFFC01FFFE000000000001FFFE01FFFE000000000001FFF -E01FFFC000000000000FFFE03FFFC000000000000FFFF03FFFC000000000000FFFF03FFF -C000000000000FFFF07FFFC000000000000FFFF87FFFC000000000000FFFF87FFF800000 -00000007FFF87FFF80000000000007FFF87FFF80000000000007FFF8FFFF800000000000 -07FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFC -FFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80 -000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000 -000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007 -FFFCFFFF80000000000007FFFC7FFF80000000000007FFF87FFF80000000000007FFF87F -FF80000000000007FFF87FFFC000000000000FFFF87FFFC000000000000FFFF83FFFC000 -000000000FFFF03FFFC000000000000FFFF03FFFC000000000000FFFF01FFFE000000000 -001FFFE01FFFE000000000001FFFE01FFFE000000000001FFFE00FFFE000000000001FFF -C00FFFF000000000003FFFC007FFF000000000003FFF8007FFF80001FE00007FFF8003FF -F80007FF80007FFF0001FFFC001FFFE000FFFE0001FFFC003FFFF000FFFE0000FFFE007F -FFF801FFFC00007FFE00FF03FC01FFF800003FFF01FC00FE03FFF000001FFF81F8007F07 -FFE000000FFFC1F8003F8FFFC0000007FFE1F0001F9FFF80000003FFF9F0001FFFFF0000 -0001FFFDF8000FFFFE00000000FFFFF8000FFFFC000000003FFFFC000FFFF0000000000F -FFFF00FFFFC00000000003FFFFFFFFFF000000000000FFFFFFFFFC0000000000001FFFFF -FFFE00000C00000003FFFFFFFE00001E000000001FFFE3FF00001E00000000000001FF80 -003E00000000000001FFC0003E00000000000001FFE0007E00000000000001FFF807FE00 -000000000001FFFFFFFE00000000000000FFFFFFFE00000000000000FFFFFFFC00000000 -000000FFFFFFFC000000000000007FFFFFFC000000000000007FFFFFFC00000000000000 -7FFFFFF8000000000000007FFFFFF8000000000000003FFFFFF8000000000000003FFFFF -F0000000000000001FFFFFE0000000000000001FFFFFE0000000000000000FFFFFC00000 -000000000007FFFF800000000000000003FFFF000000000000000001FFFE000000000000 -0000007FF80000000000000000001FE000576A79D265>81 D<FFFFFFFFFFFFF000000000 -00FFFFFFFFFFFFFF8000000000FFFFFFFFFFFFFFF800000000FFFFFFFFFFFFFFFF000000 -00FFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFF00000000007FFF800007FFFF80000 -000007FFF800000FFFFE0000000007FFF8000003FFFF0000000007FFF8000000FFFF8000 -000007FFF80000007FFFC000000007FFF80000003FFFC000000007FFF80000001FFFE000 -000007FFF80000001FFFF000000007FFF80000001FFFF000000007FFF80000000FFFF800 -000007FFF80000000FFFF800000007FFF80000000FFFF800000007FFF80000000FFFFC00 -000007FFF80000000FFFFC00000007FFF80000000FFFFC00000007FFF80000000FFFFC00 -000007FFF80000000FFFFC00000007FFF80000000FFFFC00000007FFF80000000FFFFC00 -000007FFF80000000FFFFC00000007FFF80000000FFFF800000007FFF80000000FFFF800 -000007FFF80000000FFFF800000007FFF80000001FFFF000000007FFF80000001FFFE000 -000007FFF80000003FFFE000000007FFF80000003FFFC000000007FFF80000007FFF8000 -000007FFF8000000FFFF0000000007FFF8000003FFFE0000000007FFF800000FFFFC0000 -000007FFF80000FFFFF00000000007FFFFFFFFFFFFC00000000007FFFFFFFFFFFF000000 -000007FFFFFFFFFFF8000000000007FFFFFFFFFFF8000000000007FFFFFFFFFFFE000000 -000007FFF80003FFFF000000000007FFF80000FFFFC00000000007FFF800003FFFE00000 -000007FFF800001FFFF00000000007FFF800000FFFF80000000007FFF800000FFFFC0000 -000007FFF8000007FFFC0000000007FFF8000003FFFE0000000007FFF8000003FFFE0000 -000007FFF8000003FFFE0000000007FFF8000001FFFF0000000007FFF8000001FFFF0000 -000007FFF8000001FFFF0000000007FFF8000001FFFF0000000007FFF8000001FFFF0000 -000007FFF8000001FFFF0000000007FFF8000001FFFF0000000007FFF8000001FFFF0000 -000007FFF8000001FFFF8000000007FFF8000001FFFF8000000007FFF8000001FFFF8000 -000007FFF8000001FFFF8000000007FFF8000001FFFF8000000007FFF8000001FFFF8000 -000007FFF8000001FFFF8000000007FFF8000001FFFF80003C0007FFF8000001FFFFC000 -7E0007FFF8000001FFFFC0007E0007FFF8000001FFFFC0007E0007FFF8000000FFFFE000 -FE0007FFF8000000FFFFE000FE0007FFF80000007FFFF000FC0007FFF80000007FFFF001 -FCFFFFFFFFFFC0003FFFF803FCFFFFFFFFFFC0001FFFFE0FF8FFFFFFFFFFC00007FFFFFF -F0FFFFFFFFFFC00003FFFFFFE0FFFFFFFFFFC00000FFFFFFC0FFFFFFFFFFC000001FFFFF -00000000000000000000FFFC005F537CD164>I<FFFFFFFFFE00FFFFFFFFFE0001FFFFFF -F0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FF -FFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFFFFFE00FFFFFFFFFE0001FFFFFFF0FFFFFF -FFFE00FFFFFFFFFE0001FFFFFFF0003FFFF00000003FFFF0000000003FE000001FFFF000 -00001FFFF0000000001F8000001FFFF00000001FFFF8000000001F8000001FFFF8000000 -1FFFF8000000003F8000000FFFF80000000FFFF8000000003F0000000FFFFC0000000FFF -FC000000003F0000000FFFFC00000007FFFC000000007F00000007FFFC00000007FFFC00 -0000007E00000007FFFE00000007FFFE00000000FE00000003FFFE00000003FFFE000000 -00FC00000003FFFE00000003FFFF00000000FC00000003FFFF00000003FFFF00000001FC -00000001FFFF00000001FFFF00000001F800000001FFFF80000003FFFF80000001F80000 -0001FFFF80000003FFFF80000003F800000000FFFF80000003FFFF80000003F000000000 -FFFFC0000007FFFFC0000007F0000000007FFFC0000007FFFFC0000007E0000000007FFF -C0000007FFFFE0000007E0000000007FFFE000000FFFFFE000000FE0000000003FFFE000 -000FFFFFE000000FC0000000003FFFF000001FFFFFF000000FC0000000003FFFF000001F -9FFFF000001FC0000000001FFFF000001F9FFFF000001F80000000001FFFF800003F9FFF -F800003F80000000000FFFF800003F0FFFF800003F00000000000FFFF800003F0FFFFC00 -003F00000000000FFFFC00007F0FFFFC00007F000000000007FFFC00007E07FFFC00007E -000000000007FFFE0000FE07FFFE00007E000000000007FFFE0000FE07FFFE0000FE0000 -00000003FFFE0000FC03FFFE0000FC000000000003FFFF0001FC03FFFF0001FC00000000 -0003FFFF0001F801FFFF0001FC000000000001FFFF0001F801FFFF8001F8000000000001 -FFFF8003F801FFFF8003F8000000000000FFFF8003F000FFFF8003F0000000000000FFFF -C007F000FFFFC003F0000000000000FFFFC007F000FFFFC007F00000000000007FFFC007 -E0007FFFC007E00000000000007FFFE00FE0007FFFE00FE00000000000007FFFE00FC000 -3FFFE00FE00000000000003FFFE00FC0003FFFF00FC00000000000003FFFF01FC0003FFF -F01FC00000000000001FFFF01F80001FFFF01F800000000000001FFFF81F80001FFFF81F -800000000000001FFFF83F80001FFFF83F800000000000000FFFF83F00000FFFF83F0000 -00000000000FFFFC7F00000FFFFC3F000000000000000FFFFC7E000007FFFC7F00000000 -00000007FFFC7E000007FFFE7E0000000000000007FFFEFE000007FFFEFE000000000000 -0003FFFEFC000003FFFEFC0000000000000003FFFFFC000003FFFFFC0000000000000003 -FFFFFC000003FFFFFC0000000000000001FFFFF8000001FFFFF80000000000000001FFFF -F8000001FFFFF80000000000000001FFFFF0000000FFFFF80000000000000000FFFFF000 -0000FFFFF00000000000000000FFFFF0000000FFFFF000000000000000007FFFE0000000 -7FFFE000000000000000007FFFE00000007FFFE000000000000000007FFFE00000007FFF -E000000000000000003FFFC00000003FFFC000000000000000003FFFC00000003FFFC000 -000000000000003FFF800000001FFFC000000000000000001FFF800000001FFF80000000 -00000000001FFF800000001FFF8000000000000000000FFF000000000FFF000000000000 -0000000FFF000000000FFF0000000000000000000FFF000000000FFF0000000000000000 -0007FE0000000007FE00000000000000000007FE0000000007FE00000000000000000007 -FC0000000003FE00000000000000000003FC0000000003FC00000000000000000003FC00 -00000003FC00000000000000000001F80000000001F8000000000084537DD18B>87 -D<00003FFF800000000007FFFFF8000000001FFFFFFF000000007FFFFFFFC0000000FFFF -FFFFE0000001FFE007FFF8000003FF8001FFFC000007FFC0007FFE000007FFC0003FFF00 -000FFFE0003FFF00000FFFE0001FFF80000FFFE0000FFF80000FFFE0000FFFC0000FFFE0 -000FFFC0000FFFE00007FFE00007FFC00007FFE00007FFC00007FFE00003FF800007FFE0 -0000FE000007FFE0000000000007FFE0000000000007FFE0000000000007FFE000000000 -0007FFE00000000003FFFFE000000003FFFFFFE00000003FFFFFFFE0000003FFFFFFFFE0 -00000FFFFFFFFFE000007FFFFC07FFE00000FFFFC007FFE00003FFFE0007FFE00007FFF8 -0007FFE0000FFFE00007FFE0001FFFC00007FFE0003FFF800007FFE0003FFF000007FFE0 -007FFE000007FFE0007FFE000007FFE000FFFE000007FFE000FFFC000007FFE000FFFC00 -0007FFE000FFFC000007FFE000FFFC00000FFFE000FFFC00000FFFE000FFFE00000FFFE0 -007FFE00001FFFE0007FFE00003FFFE0007FFF00007FFFF0003FFF8000FDFFFC001FFFC0 -03F9FFFFE00FFFF81FF1FFFFF007FFFFFFE0FFFFF001FFFFFFC07FFFF000FFFFFF001FFF -F0001FFFFC0007FFE00001FFC0000000003C387CB641>97 D<000001FFF8000000001FFF -FF80000000FFFFFFE0000003FFFFFFF800000FFFFFFFFC00001FFFC01FFE00007FFE0007 -FF0000FFFC000FFF8001FFF0000FFF8003FFE0001FFFC003FFE0001FFFC007FFC0001FFF -C00FFFC0001FFFC00FFF80001FFFC01FFF80001FFFC01FFF00000FFF803FFF00000FFF80 -3FFF000007FF007FFF000001FC007FFE00000000007FFE00000000007FFE0000000000FF -FE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE -0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00 -00000000FFFE0000000000FFFE00000000007FFE00000000007FFF00000000007FFF0000 -0000003FFF00000000003FFF00000000003FFF80000007E01FFF80000007E01FFFC00000 -0FE00FFFC000000FC007FFE000001FC007FFE000001F8003FFF000003F8001FFF800007F -0000FFFE0000FE00007FFF8003FC00003FFFF01FF800000FFFFFFFF0000003FFFFFFE000 -0000FFFFFF800000003FFFFE0000000001FFE0000033387CB63C>99 -D<000000000001FFC0000000000007FFFFC0000000000007FFFFC0000000000007FFFFC0 -000000000007FFFFC0000000000007FFFFC0000000000007FFFFC00000000000001FFFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000000000007FFC000000000000007FFC000000000000007FFC0 -00000000000007FFC000000003FFC007FFC00000003FFFFC07FFC0000001FFFFFF07FFC0 -000007FFFFFFC7FFC000000FFFFFFFF7FFC000003FFFE03FFFFFC000007FFF0007FFFFC0 -0000FFFC0001FFFFC00001FFF000007FFFC00003FFE000003FFFC00007FFC000001FFFC0 -0007FFC000000FFFC0000FFF8000000FFFC0001FFF8000000FFFC0001FFF0000000FFFC0 -003FFF0000000FFFC0003FFF0000000FFFC0003FFF0000000FFFC0007FFE0000000FFFC0 -007FFE0000000FFFC0007FFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC0 -00FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC0 -00FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC0 -00FFFE0000000FFFC000FFFE0000000FFFC000FFFE0000000FFFC0007FFE0000000FFFC0 -007FFE0000000FFFC0007FFE0000000FFFC0007FFF0000000FFFC0003FFF0000000FFFC0 -003FFF0000000FFFC0001FFF0000000FFFC0001FFF8000000FFFC0000FFF8000001FFFC0 -000FFF8000001FFFC00007FFC000003FFFC00003FFE000007FFFC00001FFF00000FFFFC0 -0000FFF80003FFFFF000007FFE000FFFFFFFC0003FFFC07FFFFFFFC0001FFFFFFFCFFFFF -C00007FFFFFF8FFFFFC00001FFFFFE0FFFFFC000007FFFF80FFFFFC0000007FF800FFE00 -0042547CD24B>I<000003FFC0000000003FFFFC00000001FFFFFF00000007FFFFFFC000 -000FFFFFFFE000003FFF81FFF800007FFC007FFC0000FFF8001FFE0001FFF0000FFE0003 -FFE0000FFF0007FFC00007FF800FFFC00007FF800FFF800003FFC01FFF800003FFC01FFF -000001FFC03FFF000001FFE03FFF000001FFE07FFF000001FFE07FFF000000FFE07FFE00 -0000FFF07FFE000000FFF0FFFE000000FFF0FFFE000000FFF0FFFE000000FFF0FFFFFFFF -FFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFE0FFFE000000 -0000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00000000 -007FFE00000000007FFF00000000007FFF00000000003FFF00000000003FFF0000000000 -3FFF00000001E01FFF80000003F01FFF80000007F00FFFC0000007F007FFC000000FE007 -FFE000000FE003FFF000001FC001FFF800003FC000FFFC0000FF80007FFF0003FF00001F -FFE01FFE00000FFFFFFFF8000003FFFFFFF0000000FFFFFFC00000001FFFFE0000000001 -FFF0000034387CB63D>I<00003FFF0000FF000001FFFFE007FF80000FFFFFFC3FFFC000 -3FFFFFFF7FFFE0007FFFFFFFFFFFF000FFF807FFFF3FF001FFE001FFF87FF003FF80007F -F03FF007FF80007FF83FF00FFF00003FFC3FE00FFF00003FFC1FC01FFF00003FFE07801F -FE00001FFE00001FFE00001FFE00003FFE00001FFF00003FFE00001FFF00003FFE00001F -FF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003F -FE00001FFF00001FFE00001FFE00001FFE00001FFE00001FFF00003FFE00000FFF00003F -FC00000FFF00003FFC000007FF80007FF8000003FF80007FF0000001FFE001FFE0000000 -FFF807FFC0000001FFFFFFFF80000003FFFFFFFF00000003EFFFFFFC00000007E1FFFFE0 -00000007C03FFF000000000FC00000000000000FC00000000000000FC00000000000000F -E00000000000000FE00000000000000FF00000000000000FF80000000000000FFE000000 -0000000FFFFFFFFF0000000FFFFFFFFFF800000FFFFFFFFFFF000007FFFFFFFFFFC00007 -FFFFFFFFFFE00003FFFFFFFFFFF00003FFFFFFFFFFF80001FFFFFFFFFFFC0000FFFFFFFF -FFFE0001FFFFFFFFFFFF0007FFFFFFFFFFFF000FFFFFFFFFFFFF801FFE000003FFFF803F -F80000003FFF807FF00000000FFFC07FF000000003FFC0FFE000000003FFC0FFE0000000 -01FFC0FFE000000001FFC0FFE000000001FFC0FFE000000001FFC0FFE000000001FFC0FF -F000000003FFC07FF000000003FF807FF800000007FF803FFC0000000FFF001FFE000000 -1FFE000FFF8000007FFC0007FFE00001FFF80003FFFE001FFFF00001FFFFFFFFFFE00000 -7FFFFFFFFF8000000FFFFFFFFC00000001FFFFFFE0000000000FFFFC0000003C4F7CB543 ->103 D<003F000000FFC00001FFE00003FFF00007FFF8000FFFFC000FFFFC000FFFFC00 -0FFFFC000FFFFC000FFFFC000FFFFC000FFFFC0007FFF80003FFF00001FFE00000FFC000 -003F00000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000001FF800FFFFF800FFFFF800FFFFF800FFFFF800 -FFFFF800FFFFF80001FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800 -00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800 -00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800 -00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800 -00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800FFFFFFF0FFFFFFF0 -FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C547BD326>105 D<003FF80000000000FFFFF8 -0000000000FFFFF80000000000FFFFF80000000000FFFFF80000000000FFFFF800000000 -00FFFFF8000000000003FFF8000000000000FFF8000000000000FFF8000000000000FFF8 -000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF800000000 -0000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8 -000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF800000000 -0000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8 -000000000000FFF8000000000000FFF80007FFFFF800FFF80007FFFFF800FFF80007FFFF -F800FFF80007FFFFF800FFF80007FFFFF800FFF80007FFFFF800FFF800007FF00000FFF8 -00007FE00000FFF80000FF800000FFF80001FF000000FFF80007FE000000FFF8000FFC00 -0000FFF8001FF0000000FFF8003FE0000000FFF800FFC0000000FFF801FF80000000FFF8 -03FF00000000FFF807FC00000000FFF80FF800000000FFF83FF000000000FFF87FF00000 -0000FFF8FFF800000000FFF9FFFC00000000FFFBFFFE00000000FFFFFFFF00000000FFFF -FFFF00000000FFFFFFFF80000000FFFFFFFFC0000000FFFF9FFFE0000000FFFF0FFFE000 -0000FFFE0FFFF0000000FFF807FFF8000000FFF803FFFC000000FFF801FFFC000000FFF8 -00FFFE000000FFF800FFFF000000FFF8007FFF800000FFF8003FFF800000FFF8001FFFC0 -0000FFF8001FFFE00000FFF8000FFFF00000FFF80007FFF80000FFF80003FFF80000FFF8 -0003FFFC0000FFF80001FFFE0000FFF80000FFFF0000FFF80000FFFF80FFFFFFF807FFFF -FFFFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFFF807FFFFFFFFFFFF -F807FFFFFF40537CD247>107 D<003FF8001FFE000000FFF00000FFFFF800FFFFE00007 -FFFF0000FFFFF803FFFFF8001FFFFFC000FFFFF80FFFFFFC007FFFFFE000FFFFF81FFFFF -FE00FFFFFFF000FFFFF83FE07FFF01FF03FFF800FFFFF87F001FFF83F800FFFC0003FFF8 -FC001FFF87E000FFFC0000FFF9F8000FFFCFC0007FFE0000FFFBE0000FFFDF00007FFE00 -00FFFFE0000FFFFF00007FFE0000FFFFC00007FFFE00003FFF0000FFFF800007FFFC0000 -3FFF0000FFFF000007FFF800003FFF0000FFFF000007FFF800003FFF0000FFFF000007FF -F800003FFF0000FFFE000007FFF000003FFF0000FFFE000007FFF000003FFF0000FFFE00 -0007FFF000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000 -FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003F -FF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE0 -00003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC0000 -07FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FF -FC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF -0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000 -003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007 -FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC -000007FFE000003FFF0000FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF00 -00FFFC000007FFE000003FFF0000FFFC000007FFE000003FFF00FFFFFFFC07FFFFFFE03F -FFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFF -FFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFFFFFFFFFC07FFFFFFE03FFFFFFF68367BB5 -71>109 D<003FF8001FFE000000FFFFF800FFFFC00000FFFFF803FFFFF00000FFFFF80F -FFFFF80000FFFFF81FFFFFFC0000FFFFF83FE0FFFE0000FFFFF87F003FFF000003FFF8FC -003FFF000000FFF9F0001FFF800000FFFBE0001FFF800000FFFFC0001FFF800000FFFFC0 -000FFFC00000FFFF80000FFFC00000FFFF00000FFFC00000FFFF00000FFFC00000FFFE00 -000FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFE00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00 -000FFFC000FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC -0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC0FFFFFFFC042367BB54B>I<000001FFE000 -000000001FFFFE0000000000FFFFFFC000000003FFFFFFF00000000FFFFFFFFC0000001F -FF807FFE0000007FFC000FFF800000FFF80007FFC00001FFE00001FFE00003FFC00000FF -F00003FFC00000FFF00007FF8000007FF8000FFF8000007FFC000FFF0000003FFC001FFF -0000003FFE001FFF0000003FFE003FFF0000003FFF003FFE0000001FFF003FFE0000001F -FF007FFE0000001FFF807FFE0000001FFF807FFE0000001FFF807FFE0000001FFF80FFFE -0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001F -FFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE -0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC07FFE0000001FFF807FFE0000001F -FF807FFE0000001FFF803FFE0000001FFF003FFF0000003FFF003FFF0000003FFF001FFF -0000003FFE001FFF0000003FFE000FFF8000007FFC000FFF8000007FFC0007FFC00000FF -F80003FFC00000FFF00001FFE00001FFE00000FFF80007FFC000007FFC000FFF8000003F -FF807FFF0000000FFFFFFFFC00000007FFFFFFF800000000FFFFFFC0000000003FFFFF00 -0000000001FFE00000003A387CB643>I<003FF8007FF8000000FFFFF807FFFF800000FF -FFF83FFFFFE00000FFFFF8FFFFFFF80000FFFFF9FFFFFFFE0000FFFFFFFF80FFFF0000FF -FFFFF8003FFF800001FFFFE0000FFFC00000FFFFC00007FFE00000FFFF000003FFF00000 -FFFE000001FFF80000FFFC000001FFFC0000FFFC000000FFFC0000FFFC000000FFFE0000 -FFFC0000007FFE0000FFFC0000007FFF0000FFFC0000007FFF0000FFFC0000003FFF8000 -FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000001FFFC000 -FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000 -FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000 -FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000FFFC0000001FFFC000 -FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF8000FFFC0000003FFF0000 -FFFC0000007FFF0000FFFC0000007FFF0000FFFC0000007FFE0000FFFC000000FFFE0000 -FFFC000000FFFC0000FFFE000001FFF80000FFFF000003FFF80000FFFF000007FFF00000 -FFFFC0000FFFE00000FFFFE0001FFFC00000FFFFF8007FFF800000FFFFFF01FFFF000000 -FFFDFFFFFFFC000000FFFCFFFFFFF0000000FFFC3FFFFFC0000000FFFC0FFFFF00000000 -FFFC00FFF000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000 -FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000 -FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000 -FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000 -FFFC000000000000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000FF -FFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000424D7CB54B>I<000001 -FFC00007C00000003FFFF8000FC0000000FFFFFE001FC0000003FFFFFF801FC000000FFF -FFFFC03FC000003FFFE03FE07FC000007FFF8007F07FC00000FFFE0003F8FFC00001FFFC -0001FDFFC00003FFF80000FFFFC00007FFF000007FFFC00007FFE000003FFFC0000FFFC0 -00003FFFC0001FFFC000001FFFC0001FFF8000001FFFC0003FFF8000000FFFC0003FFF80 -00000FFFC0003FFF00000007FFC0007FFF00000007FFC0007FFF00000007FFC0007FFF00 -000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00 -000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00 -000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00000007FFC000FFFE00 -000007FFC000FFFE00000007FFC0007FFF00000007FFC0007FFF00000007FFC0007FFF00 -000007FFC0007FFF00000007FFC0003FFF80000007FFC0003FFF80000007FFC0001FFF80 -00000FFFC0001FFFC000001FFFC0000FFFC000001FFFC0000FFFE000003FFFC00007FFE0 -00007FFFC00003FFF00000FFFFC00001FFF80001FFFFC00000FFFC0003FFFFC000007FFF -000FFFFFC000003FFFC07FEFFFC000001FFFFFFFCFFFC0000007FFFFFF0FFFC0000001FF -FFFE0FFFC00000007FFFF00FFFC000000007FF800FFFC00000000000000FFFC000000000 -00000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000000 -00000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000000 -00000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000000 -00000FFFC00000000000000FFFC00000000000000FFFC000000000000FFFFFFFC0000000 -000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000000FFFFFFFC0000000 -000FFFFFFFC0424D7CB547>I<003FF007FC00FFFFF01FFF80FFFFF07FFFE0FFFFF0FFFF -F0FFFFF1FFFFF8FFFFF1FC7FFCFFFFF3F07FFC03FFF7E0FFFE00FFF7C0FFFE00FFFF80FF -FE00FFFF80FFFE00FFFF00FFFE00FFFF00FFFE00FFFE007FFC00FFFE007FFC00FFFE003F -F800FFFC000FE000FFFC00000000FFFC00000000FFFC00000000FFFC00000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000 -0000FFF800000000FFF8000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE00 -00FFFFFFFE0000FFFFFFFE00002F367CB537>I<0003FFF00F00003FFFFE3F0000FFFFFF -FF0001FFFFFFFF0007FFFFFFFF000FFF003FFF001FF80007FF003FE00003FF003FC00000 -FF007FC00000FF007F8000007F007F8000007F00FF8000003F00FF8000003F00FFC00000 -3F00FFC000003F00FFE000003F00FFF800000000FFFF00000000FFFFF00000007FFFFFC0 -00007FFFFFFC00007FFFFFFF80003FFFFFFFE0001FFFFFFFF0000FFFFFFFF80007FFFFFF -FE0003FFFFFFFF0001FFFFFFFF80007FFFFFFF80001FFFFFFFC00007FFFFFFE000003FFF -FFE0000001FFFFE00000000FFFF000000003FFF07C000000FFF0FC0000007FF0FC000000 -3FF0FE0000003FF0FE0000001FF0FE0000001FF0FF0000001FF0FF0000001FE0FF800000 -1FE0FFC000003FE0FFE000003FC0FFF000007FC0FFF80000FF80FFFE0003FF00FFFFC01F -FE00FFFFFFFFFC00FF7FFFFFF800FE1FFFFFE000F807FFFF8000F000FFF800002C387CB6 -35>I<00007E00000000007E00000000007E00000000007E00000000007E00000000007E -0000000000FE0000000000FE0000000000FE0000000000FE0000000001FE0000000001FE -0000000001FE0000000003FE0000000003FE0000000007FE0000000007FE000000000FFE -000000001FFE000000003FFE000000007FFE00000000FFFE00000003FFFE0000000FFFFF -FFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE -000000007FFE000000007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE -000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE000FC0007FFE -000FC0003FFE001F80003FFF001F80003FFF003F80001FFF803F00001FFF807F00000FFF -E0FE000007FFFFFC000003FFFFF8000000FFFFF00000003FFFC000000007FF00002A4D7E -CB34>I<001FFC000001FFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000F -FFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC000FFFFFC00003FFFC0000 -3FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -0FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC00000FFFC0000 -1FFFC00000FFFC00001FFFC00000FFFC00001FFFC00000FFFC00003FFFC00000FFFC0000 -3FFFC00000FFFC00007FFFC000007FFC0000FFFFC000007FFC0000FFFFC000003FFE0003 -F7FFF000003FFF0007E7FFFFC0001FFFC03FC7FFFFC0000FFFFFFF87FFFFC00007FFFFFF -07FFFFC00001FFFFFE07FFFFC000007FFFF807FFFFC0000007FFC007FF000042377BB54B ->I<7FFFFFF800FFFFFE007FFFFFF800FFFFFE007FFFFFF800FFFFFE007FFFFFF800FFFF -FE007FFFFFF800FFFFFE007FFFFFF800FFFFFE00003FFF80000FFC0000001FFFC0000FF0 -0000000FFFE0001FE00000000FFFE0003FC000000007FFF0007F8000000003FFF8007F00 -00000001FFFC00FF0000000000FFFE01FE0000000000FFFE03FC00000000007FFF07F800 -000000003FFF8FF000000000001FFFCFE000000000000FFFFFE000000000000FFFFFC000 -0000000007FFFF80000000000003FFFF00000000000001FFFE00000000000001FFFE0000 -0000000000FFFE000000000000007FFF000000000000003FFF800000000000001FFFC000 -00000000003FFFC00000000000007FFFE00000000000007FFFF0000000000000FFFFF800 -0000000001FFFFFC000000000003FDFFFC000000000007F8FFFE00000000000FF07FFF00 -000000000FE03FFF80000000001FE01FFFC0000000003FC01FFFC0000000007F800FFFE0 -00000000FF0007FFF000000001FE0003FFF800000003FC0001FFFC00000003F80001FFFC -00000007F80000FFFE0000000FF000007FFF0000003FF000003FFF8000FFFFFF0003FFFF -FFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFFFFC0FFFFFF0003FFFF -FFC0FFFFFF0003FFFFFFC042357EB447>120 D E /Ff 20 121 df<0000000000780000 -0000000000F800000000000001F800000000000001F800000000000003F8000000000000 -03F800000000000007F80000000000000FF80000000000000FF80000000000001FF80000 -000000003FF80000000000003FF80000000000007FF8000000000000FFF8000000000000 -FFF8000000000001EFF8000000000001EFF8000000000003CFF80000000000078FF80000 -000000078FF800000000000F0FF800000000001E0FF800000000001E0FF800000000003C -0FF800000000003C0FF80000000000780FF80000000000F00FF80000000000F00FF80000 -000001E00FF80000000003C00FF80000000003C00FF80000000007800FF8000000000F80 -0FF8000000000F000FF8000000001E000FF8000000001E000FF8000000003C000FF80000 -000078000FF80000000078000FF800000000F0000FF800000001E0000FF800000001E000 -0FF800000003C0000FF800000003C0000FF80000000780000FF80000000F00000FF80000 -000F00000FF80000001E00000FF80000003C00000FF80000003C00000FF8000000780000 -0FF80000007800000FF8000000F000000FF8000001E000000FF8000001E000000FF80000 -03C000000FF80000078000000FF80000078000000FF800000F0000000FF800001E000000 -0FF800001E0000000FF800003C0000000FF800003C0000000FF80000780000000FF80000 -F00000000FF80000FFFFFFFFFFFFFFE0FFFFFFFFFFFFFFE0FFFFFFFFFFFFFFE0FFFFFFFF -FFFFFFE0FFFFFFFFFFFFFFE0000000000FF80000000000000FF80000000000000FF80000 -000000000FF80000000000000FF80000000000000FF80000000000000FF8000000000000 -0FF80000000000000FF80000000000000FF80000000000000FF80000000000000FF80000 -000000000FF80000000000000FF80000000000000FF80000000000000FF8000000000000 -0FF80000000000000FF80000000000001FFC0000000000007FFF0000000001FFFFFFFFC0 -000001FFFFFFFFC0000001FFFFFFFFC0000001FFFFFFFFC0000001FFFFFFFFC03B5F7DDE -42>52 D<0F803FE07FF07FF0FFF8FFF8FFF8FFF8FFF87FF07FF03FE00F80000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000F803FE07FF0 -7FF0FFF8FFF8FFF8FFF8FFF87FF07FF03FE00F800D3E75BD24>58 -D<00000000007FF8000000E0000000000FFFFF800000E0000000007FFFFFE00001E00000 -0003FFFFFFF80001E00000000FFFFFFFFE0003E00000003FFFF001FF8003E0000000FFFE -00001FC007E0000001FFF0000007F00FE0000007FFC0000001F80FE000000FFF00000000 -FC1FE000001FFC000000007E1FE000007FF8000000001F3FE00000FFF0000000000FFFE0 -0001FFC00000000007FFE00003FF800000000007FFE00007FF000000000003FFE0000FFE -000000000001FFE0000FFC000000000000FFE0001FFC000000000000FFE0003FF8000000 -0000007FE0007FF00000000000003FE0007FE00000000000003FE000FFE0000000000000 -1FE001FFC00000000000001FE001FFC00000000000001FE003FF800000000000000FE003 -FF800000000000000FE007FF0000000000000007E007FF0000000000000007E00FFE0000 -000000000007E00FFE0000000000000003E01FFE0000000000000003E01FFC0000000000 -000003E01FFC0000000000000003E03FFC0000000000000003E03FFC0000000000000001 -E03FF80000000000000001E03FF80000000000000001E07FF80000000000000001E07FF8 -0000000000000000007FF80000000000000000007FF80000000000000000007FF0000000 -000000000000FFF0000000000000000000FFF0000000000000000000FFF0000000000000 -000000FFF0000000000000000000FFF0000000000000000000FFF0000000000000000000 -FFF0000000000000000000FFF0000000000000000000FFF0000000000000000000FFF000 -0000000000000000FFF0000000000000000000FFF0000000000000000000FFF000000000 -0000000000FFF0000000000000000000FFF0000000000000000000FFF000000000000000 -00007FF00000000000000000007FF80000000000000000007FF80000000000000000007F -F80000000000000000007FF80000000000000000003FF80000000000000000003FF80000 -000000000001E03FFC0000000000000001E03FFC0000000000000001E01FFC0000000000 -000001E01FFE0000000000000001E01FFE0000000000000001E00FFE0000000000000003 -E00FFF0000000000000003C007FF0000000000000003C007FF0000000000000003C003FF -8000000000000003C003FF8000000000000007C001FFC0000000000000078001FFC00000 -000000000F8000FFE00000000000000F80007FE00000000000000F00007FF00000000000 -001F00003FF80000000000003E00001FFC0000000000003E00000FFC0000000000007C00 -000FFE000000000000F8000007FF000000000000F8000003FF800000000001F0000001FF -C00000000003E0000000FFF00000000007C00000007FF8000000000FC00000001FFE0000 -00001F800000000FFF000000007F0000000007FFC0000000FC0000000001FFF0000003F8 -0000000000FFFE00001FF000000000003FFFF001FFC000000000000FFFFFFFFF00000000 -000003FFFFFFFC000000000000007FFFFFF0000000000000000FFFFF8000000000000000 -007FF80000000053667AE360>67 D<FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FF -FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80007FFC00000003 -FFFF80003FF8000000003FFFC0001FF80000000007FFC0001FF80000000001FFC0001FF8 -0000000000FFC0001FF800000000007FC0001FF800000000003FC0001FF800000000001F -C0001FF800000000000FC0001FF800000000000FC0001FF8000000000007C0001FF80000 -00000007C0001FF8000000000007E0001FF8000000000003E0001FF8000000000003E000 -1FF8000000000003E0001FF8000000000001E0001FF8000000000001E0001FF800000000 -0001E0001FF8000000000001E0001FF8000000000001E0001FF8000000000001E0001FF8 -000000000001E0001FF8000000F00000F0001FF8000000F00000F0001FF8000000F00000 -F0001FF8000000F00000F0001FF8000000F00000F0001FF8000000F0000000001FF80000 -00F0000000001FF8000000F0000000001FF8000001F0000000001FF8000001F000000000 -1FF8000001F0000000001FF8000001F0000000001FF8000003F0000000001FF8000007F0 -000000001FF800000FF0000000001FF800001FF0000000001FF80000FFF0000000001FFF -FFFFFFF0000000001FFFFFFFFFF0000000001FFFFFFFFFF0000000001FFFFFFFFFF00000 -00001FFFFFFFFFF0000000001FF80000FFF0000000001FF800001FF0000000001FF80000 -0FF0000000001FF8000007F0000000001FF8000003F0000000001FF8000001F000000000 -1FF8000001F0000000001FF8000001F0000000001FF8000001F0000000001FF8000000F0 -000000001FF8000000F000001E001FF8000000F000001E001FF8000000F000001E001FF8 -000000F000001E001FF8000000F000003C001FF8000000F000003C001FF8000000F00000 -3C001FF80000000000003C001FF80000000000003C001FF80000000000003C001FF80000 -000000007C001FF800000000000078001FF800000000000078001FF80000000000007800 -1FF800000000000078001FF8000000000000F8001FF8000000000000F8001FF800000000 -0000F8001FF8000000000001F8001FF8000000000001F0001FF8000000000001F0001FF8 -000000000003F0001FF8000000000003F0001FF8000000000007F0001FF8000000000007 -F0001FF800000000000FF0001FF800000000001FF0001FF800000000003FE0001FF80000 -0000007FE0001FF80000000001FFE0001FF80000000007FFE0003FF8000000003FFFE000 -7FFC00000007FFFFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFF -FFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC04F6279E15A>69 -D<0000000000FFF0000001C000000000000FFFFF000001C00000000000FFFFFFE00003C0 -0000000003FFFFFFF80003C0000000000FFFFFFFFE0007C0000000003FFFE003FF0007C0 -00000000FFFE00003FC00FC000000003FFF000000FE01FC000000007FFC0000003F01FC0 -0000000FFF00000001F83FC00000003FFC000000007C3FC00000007FF8000000003E7FC0 -000000FFE0000000001FFFC0000001FFC0000000000FFFC0000003FF800000000007FFC0 -000007FF000000000007FFC000000FFE000000000003FFC000001FFC000000000001FFC0 -00001FF8000000000001FFC000003FF8000000000000FFC000007FF00000000000007FC0 -0000FFE00000000000007FC00000FFE00000000000003FC00001FFC00000000000003FC0 -0001FFC00000000000001FC00003FF800000000000001FC00003FF800000000000001FC0 -0007FF000000000000000FC00007FF000000000000000FC0000FFE000000000000000FC0 -000FFE0000000000000007C0001FFE0000000000000007C0001FFC0000000000000007C0 -001FFC0000000000000007C0003FFC0000000000000007C0003FFC0000000000000003C0 -003FF80000000000000003C0003FF80000000000000003C0007FF80000000000000003C0 -007FF8000000000000000000007FF8000000000000000000007FF8000000000000000000 -007FF000000000000000000000FFF000000000000000000000FFF0000000000000000000 -00FFF000000000000000000000FFF000000000000000000000FFF0000000000000000000 -00FFF000000000000000000000FFF000000000000000000000FFF0000000000000000000 -00FFF000000000000000000000FFF000000000000000000000FFF0000000000000000000 -00FFF000000000000000000000FFF000000000000000000000FFF0000000000000000000 -00FFF000000000000000000000FFF0000000000000000000007FF0000000000000000000 -007FF8000000000000000000007FF80000000001FFFFFFFFE07FF80000000001FFFFFFFF -E07FF80000000001FFFFFFFFE03FF80000000001FFFFFFFFE03FF80000000001FFFFFFFF -E03FFC0000000000000FFFF0003FFC00000000000001FFE0001FFC00000000000000FFC0 -001FFE00000000000000FFC0001FFE00000000000000FFC0000FFE00000000000000FFC0 -000FFF00000000000000FFC00007FF00000000000000FFC00007FF00000000000000FFC0 -0003FF80000000000000FFC00003FF80000000000000FFC00001FFC0000000000000FFC0 -0001FFC0000000000000FFC00000FFE0000000000000FFC00000FFF0000000000000FFC0 -00007FF0000000000000FFC000003FF8000000000000FFC000001FFC000000000000FFC0 -00001FFE000000000000FFC000000FFE000000000000FFC0000007FF000000000001FFC0 -000003FF800000000001FFC0000001FFE00000000003FFC0000000FFF00000000003FFC0 -0000007FF80000000007FFC00000003FFE000000000FBFC00000000FFF000000001F9FC0 -00000007FFC00000007F1FC000000003FFF8000001FE0FC000000000FFFF000007F807C0 -000000003FFFF000FFF007C0000000000FFFFFFFFFC003C00000000003FFFFFFFF0001C0 -0000000000FFFFFFFC0000C000000000000FFFFFE0000000000000000000FFFC00000000 -005B667AE368>71 D<FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0003F -FF0000001FFE0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC -0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC00 -00000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000 -000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC000000 -0FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000F -FC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC -0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC00 -00000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000 -000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC000000 -0FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000F -FC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC -0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000001FFE00 -00003FFF0000FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC022627AE12F ->73 D<FFFFFFFFFFFFC0000000FFFFFFFFFFFFFE000000FFFFFFFFFFFFFFC00000FFFFFF -FFFFFFFFF00000FFFFFFFFFFFFFFFC0000007FFC000001FFFE0000003FF80000001FFF80 -00001FF800000003FFC000001FF800000000FFE000001FF8000000007FF000001FF80000 -00003FF800001FF8000000001FFC00001FF8000000000FFE00001FF80000000007FF0000 -1FF80000000003FF00001FF80000000003FF80001FF80000000003FF80001FF800000000 -01FFC0001FF80000000001FFC0001FF80000000001FFE0001FF80000000000FFE0001FF8 -0000000000FFE0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FF -F0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FFF0001FF80000 -000000FFF0001FF80000000000FFF0001FF80000000000FFF0001FF80000000000FFF000 -1FF80000000000FFE0001FF80000000001FFE0001FF80000000001FFE0001FF800000000 -01FFC0001FF80000000001FFC0001FF80000000003FF80001FF80000000003FF80001FF8 -0000000003FF00001FF80000000007FE00001FF8000000000FFE00001FF8000000001FFC -00001FF8000000003FF800001FF8000000007FF000001FF800000000FFE000001FF80000 -0003FF8000001FF80000001FFF0000001FF8000001FFFC0000001FFFFFFFFFFFF0000000 -1FFFFFFFFFFFC00000001FFFFFFFFFFE000000001FFFFFFFFFC0000000001FF800000000 -000000001FF800000000000000001FF800000000000000001FF800000000000000001FF8 -00000000000000001FF800000000000000001FF800000000000000001FF8000000000000 -00001FF800000000000000001FF800000000000000001FF800000000000000001FF80000 -0000000000001FF800000000000000001FF800000000000000001FF80000000000000000 -1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000 -000000001FF800000000000000001FF800000000000000001FF800000000000000001FF8 -00000000000000001FF800000000000000001FF800000000000000001FF8000000000000 -00001FF800000000000000001FF800000000000000001FF800000000000000001FF80000 -0000000000001FF800000000000000001FF800000000000000001FF80000000000000000 -1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000 -000000001FF800000000000000003FFC00000000000000007FFE00000000000000FFFFFF -FF000000000000FFFFFFFF000000000000FFFFFFFF000000000000FFFFFFFF0000000000 -00FFFFFFFF0000000000004C6279E15A>80 D<00001FF8000000000001FFFF0000000000 -07FFFFE0000000001FE01FF8000000003F0003FC000000007C0001FF00000000F80000FF -80000001F000007FC0000003E000003FE0000007C000001FF0000007C000001FF0000007 -F800000FF800000FFC00000FF800000FFE000007FC00000FFE000007FC00000FFE000007 -FC00000FFE000003FE00000FFE000003FE00000FFE000003FE000007FC000003FE000001 -F0000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003 -FE00000000000003FE00000000000003FE000000000003FFFE0000000000FFFFFE000000 -000FFFFFFE000000007FFF03FE00000003FFE003FE0000000FFF0003FE0000003FFC0003 -FE0000007FF00003FE000001FFC00003FE000003FF800003FE000007FF000003FE00000F -FE000003FE00000FFC000003FE00001FF8000003FE00003FF8000003FE00003FF0000003 -FE00007FF0000003FE00F07FE0000003FE00F07FE0000003FE00F0FFE0000003FE00F0FF -C0000003FE00F0FFC0000003FE00F0FFC0000007FE00F0FFC0000007FE00F0FFC0000007 -FE00F0FFC000000FFE00F0FFE000000FFE00F07FE000001FFE00F07FE000003DFE00F03F -F0000038FE00E03FF8000078FF01E01FFC0000F0FF01E00FFE0003E07F83C007FF0007C0 -7FC7C001FFC03F003FFF80007FFFFC001FFF00001FFFF0000FFC000001FF800003F0003C -417BBF42>97 D<000001FF80000000000FFFF8000000003FFFFE00000000FF807F800000 -03FC000FE0000007F00003F000001FE00000F800003FC000007C00007F8000003E0000FF -0000001F0001FF0000001F0001FE000000FF0003FC000001FF8007FC000003FF8007F800 -0003FF800FF8000003FF800FF8000003FF801FF0000003FF801FF0000003FF803FF00000 -01FF003FE00000007C003FE000000000007FE000000000007FE000000000007FE0000000 -00007FC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000000000 -00FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000 -FFC00000000000FFC00000000000FFC00000000000FFC000000000007FC000000000007F -E000000000007FE000000000007FE000000000007FE000000000003FE000000000003FF0 -00000000003FF000000000001FF000000003C01FF800000003C00FF800000007C00FFC00 -0000078007FC000000078003FE0000000F8003FE0000000F0001FF0000001F0000FF8000 -003E00007FC000003C00003FE000007800001FF00000F000000FF80003E0000003FE0007 -C0000000FF803F800000003FFFFE000000000FFFF80000000001FF80000032417CBF3A> -99 D<0000000000003E000000000000007FFE0000000000000FFFFE0000000000000FFF -FE0000000000000FFFFE0000000000000FFFFE0000000000000FFFFE000000000000001F -FE0000000000000007FE0000000000000007FE0000000000000003FE0000000000000003 -FE0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003 -FE0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003 -FE0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003 -FE0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003 -FE0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003 -FE0000000000000003FE0000000000000003FE0000000000000003FE0000000000000003 -FE0000000000000003FE0000000000FFC003FE000000000FFFF803FE000000003FFFFE03 -FE00000000FFC03F83FE00000003FE0007C3FE00000007F80001F3FE0000001FE00000FB -FE0000003FC000007FFE0000007F8000003FFE000000FF0000001FFE000001FF0000000F -FE000001FE0000000FFE000003FC00000007FE000007FC00000007FE000007F800000003 -FE00000FF800000003FE00001FF000000003FE00001FF000000003FE00001FF000000003 -FE00003FE000000003FE00003FE000000003FE00007FE000000003FE00007FE000000003 -FE00007FE000000003FE00007FC000000003FE00007FC000000003FE0000FFC000000003 -FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003 -FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003 -FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003FE0000FFC000000003 -FE00007FC000000003FE00007FC000000003FE00007FE000000003FE00007FE000000003 -FE00003FE000000003FE00003FE000000003FE00003FE000000003FE00001FF000000003 -FE00001FF000000003FE00000FF000000003FE00000FF800000007FE000007F800000007 -FE000003FC0000000FFE000003FC0000000FFE000001FE0000001FFE000000FF0000003F -FE0000007F8000007FFF0000003FC00000FBFF0000001FE00001F3FFC000000FF00007E3 -FFFF800007FC000F83FFFF800001FF007F03FFFF8000007FFFFC03FFFF8000001FFFF003 -FFFF80000001FF0003FE000041657CE349>I<000001FF00000000001FFFF0000000007F -FFFC00000001FF01FF00000003F8007FC000000FF0001FE000001FC0000FF000003F8000 -07F800007F000007FC0000FF000003FC0001FE000001FE0003FC000001FE0003FC000000 -FF0007F8000000FF000FF8000000FF800FF00000007F801FF00000007F801FF00000007F -C01FE00000007FC03FE00000003FC03FE00000003FC07FE00000003FE07FE00000003FE0 -7FE00000003FE07FC00000003FE07FC00000003FE0FFC00000003FE0FFFFFFFFFFFFE0FF -FFFFFFFFFFE0FFFFFFFFFFFFE0FFC00000000000FFC00000000000FFC00000000000FFC0 -0000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000 -000000007FC000000000007FE000000000007FE000000000007FE000000000003FE00000 -0000003FE000000000003FF000000000001FF000000000001FF000000001E00FF8000000 -01E00FF800000003E007F800000003C007FC00000003C003FC00000007C001FE0000000F -8000FF0000000F0000FF8000001F00007FC000003E00003FE000007C00000FF00000F800 -0007F80001F0000003FE0007E0000000FFC03F800000003FFFFE0000000007FFF8000000 -0000FFC0000033417DBF3A>I<0000000000003F80000003FC0001FFE000003FFFC007FF -F00000FFFFF01FC3F00003FE07FC7E03F80007F000FEF803F8000FE0007FF007F8001FC0 -003FE003F8003F80001FC003F0007F80001FE000E000FF00000FF0000000FF00000FF000 -0001FE000007F8000001FE000007F8000003FE000007FC000003FC000003FC000003FC00 -0003FC000007FC000003FE000007FC000003FE000007FC000003FE000007FC000003FE00 -0007FC000003FE000007FC000003FE000007FC000003FE000007FC000003FE000007FC00 -0003FE000007FC000003FE000003FC000003FC000003FC000003FC000003FE000007FC00 -0001FE000007F8000001FE000007F8000000FF00000FF0000000FF00000FF00000007F80 -001FE00000003F80001FC00000001FC0003F800000003FE0007F000000007FF000FE0000 -00007BFE07FC00000000F0FFFFF000000000F03FFFC000000001E003FC0000000001E000 -000000000001E000000000000001E000000000000001E000000000000001E00000000000 -0003E000000000000003F000000000000001F000000000000001F800000000000001F800 -000000000001FC00000000000001FF00000000000000FFFFFFFE00000000FFFFFFFFF000 -00007FFFFFFFFE0000003FFFFFFFFF8000003FFFFFFFFFE000000FFFFFFFFFF000001FFF -FFFFFFFC00007FFFFFFFFFFE0001FF000001FFFE0003F80000001FFF000FF000000003FF -800FE000000001FF801FC000000000FFC03F80000000007FC07F80000000003FC07F0000 -0000001FE07F00000000001FE0FE00000000001FE0FE00000000000FE0FE00000000000F -E0FE00000000000FE0FE00000000000FE0FE00000000000FE0FE00000000000FE07F0000 -0000001FC07F00000000001FC07F80000000003FC03F80000000003F801FC0000000007F -001FE000000000FF000FF000000001FE0003FC00000007F80001FE0000000FF00000FF80 -00003FE000003FF00001FF8000000FFF001FFE00000001FFFFFFF0000000003FFFFF8000 -00000003FFF80000003D5E7DBF42>103 D<003E000000FF800001FFC00001FFC00003FF -E00003FFE00003FFE00003FFE00003FFE00001FFC00001FFC00000FF8000003E00000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -00000003E00007FFE0007FFFE0007FFFE0007FFFE0007FFFE0007FFFE00001FFE000007F -E000007FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F -E000003FE000003FE000007FE00000FFF800FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFF -FFF01C5F7DDE24>105 D<0003E0003FF0000000FFC000000007FFE001FFFE000007FFF8 -000000FFFFE00FFFFF80003FFFFE000000FFFFE01F807FE0007E01FF800000FFFFE07C00 -1FF001F0007FC00000FFFFE0F8000FF803E0003FE00000FFFFE1E00007FC0780001FF000 -0001FFE3C00003FE0F00000FF80000007FE7800003FE1E00000FF80000007FE7000001FF -1C000007FC0000003FEF000001FF3C000007FC0000003FFE000001FF78000007FC000000 -3FFC000001FF70000007FC0000003FFC000000FFF0000003FE0000003FF8000000FFE000 -0003FE0000003FF8000000FFE0000003FE0000003FF8000000FFE0000003FE0000003FF0 -000000FFC0000003FE0000003FF0000000FFC0000003FE0000003FF0000000FFC0000003 -FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE00000 -00FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE00 -00003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF -80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE000000 -3FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF8000 -0003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0 -000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003 -FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE00000 -00FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE00 -00003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF -80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE000000 -3FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF8000 -0003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0 -000000FF80000003FE0000003FE0000000FF80000003FE0000003FE0000000FF80000003 -FE0000007FF0000001FFC0000007FF000000FFF8000003FFE000000FFF8000FFFFFFF803 -FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF -80FFFFFFF803FFFFFFE00FFFFFFF80FFFFFFF803FFFFFFE00FFFFFFF80693F7DBE70> -109 D<0003E0007FE000000007FFE003FFFC000000FFFFE00FFFFF000000FFFFE03F80FF -C00000FFFFE07C003FE00000FFFFE0F0001FF00000FFFFE1E0000FF8000001FFE3C00007 -FC0000007FE7800007FC0000007FEF000003FE0000003FEE000003FE0000003FFE000003 -FE0000003FFC000003FE0000003FFC000001FF0000003FF8000001FF0000003FF8000001 -FF0000003FF0000001FF0000003FF0000001FF0000003FF0000001FF0000003FF0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001FF0000003FE0000001 -FF0000007FF0000003FF800000FFF8000007FFC000FFFFFFF807FFFFFFC0FFFFFFF807FF -FFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0423F7DBE49> -I<000000FFE0000000000007FFFC00000000003FFFFF8000000000FF803FE000000001FC -0007F000000007F00001FC0000000FE00000FE0000001FC000007F0000003F8000003F80 -00007F0000001FC00000FE0000000FE00001FC00000007F00003FC00000007F80003F800 -000003F80007F800000003FC0007F000000001FC000FF000000001FE001FF000000001FF -001FE000000000FF001FE000000000FF003FE000000000FF803FE000000000FF803FE000 -000000FF807FC0000000007FC07FC0000000007FC07FC0000000007FC07FC0000000007F -C0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC000 -0000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE0FFC0000000007F -E0FFC0000000007FE0FFC0000000007FE0FFC0000000007FE07FC0000000007FC07FC000 -0000007FC07FC0000000007FC07FE000000000FFC03FE000000000FF803FE000000000FF -803FE000000000FF801FE000000000FF001FF000000001FF000FF000000001FE000FF000 -000001FE0007F800000003FC0007F800000003FC0003FC00000007F80001FC00000007F0 -0000FE0000000FE00000FF0000001FE000007F8000003FC000003FC000007F8000000FE0 -0000FE00000007F80003FC00000003FE000FF800000000FF803FE0000000003FFFFF8000 -00000007FFFC000000000000FFE00000003B417DBF42>I<0003C001FC0007FFC007FF80 -FFFFC01FFFC0FFFFC07E07E0FFFFC0F81FF0FFFFC1F01FF8FFFFC3C03FF801FFC3803FF8 -007FC7803FF8007FCF003FF8003FCE003FF8003FDE001FF0003FDC000FE0003FDC000380 -003FFC000000003FF8000000003FF8000000003FF8000000003FF0000000003FF0000000 -003FF0000000003FF0000000003FF0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000 -007FF000000000FFFC000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000 -FFFFFFFE00002D3F7DBE33>114 D<0000FFE00380000FFFFC0380003FFFFF078000FF00 -1FCF8003F80007FF8007E00001FF800F800000FF801F8000007F803F0000003F803E0000 -003F807E0000001F807C0000001F807C0000000F80FC0000000F80FC0000000F80FC0000 -000F80FE0000000780FE0000000780FE0000000780FF0000000780FF80000007807FC000 -0007807FF0000000007FFC000000003FFF800000003FFFFC0000001FFFFFE000000FFFFF -FE000007FFFFFF800003FFFFFFE00000FFFFFFF800003FFFFFFC00000FFFFFFE000003FF -FFFF0000001FFFFF80000000FFFFC00000000FFFE000000001FFE0000000007FF0F00000 -003FF0F00000001FF0F00000000FF8F800000007F8F800000007F8F800000003F8F80000 -0003F8FC00000001F8FC00000001F8FC00000001F8FE00000001F8FE00000001F8FE0000 -0001F0FF00000003F0FF00000003F0FF80000003E0FFC0000007E0FFC0000007C0FFE000 -000F80FFF000001F80FCFC00007F00F83E0000FC00F81FC00FF800F007FFFFE000E001FF -FF0000E0003FF800002D417DBF34>I<0000780000000000780000000000780000000000 -780000000000780000000000780000000000780000000000F80000000000F80000000000 -F80000000000F80000000000F80000000000F80000000001F80000000001F80000000001 -F80000000003F80000000003F80000000007F80000000007F8000000000FF8000000000F -F8000000001FF8000000003FF8000000007FF800000000FFF800000003FFFFFFFF000FFF -FFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000F -F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80001E0000F -F80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000F -F80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000FF80001E0000F -F80001E00007F80003C00007FC0003C00007FC0003C00007FC0007C00003FE0007800003 -FE0007800001FF000F000000FF801E0000007FC03E0000003FE07C0000000FFFF8000000 -03FFE0000000007F80002B597FD733>I<7FFFFFE0001FFFFFE07FFFFFE0001FFFFFE07F -FFFFE0001FFFFFE07FFFFFE0001FFFFFE07FFFFFE0001FFFFFE0007FFF800007FFFC0000 -1FFF000003FFC000000FFE000003FF00000007FE000003FC00000003FF000003F8000000 -01FF800003F000000001FFC00007E000000000FFC00007C0000000007FE0000F80000000 -003FF0001F00000000003FF0001F00000000001FF8003E00000000000FFC007C00000000 -0007FE00F8000000000007FE00F8000000000003FF01F0000000000001FF83E000000000 -0000FFC7C0000000000000FFC7C00000000000007FEF800000000000003FFF0000000000 -00001FFE000000000000001FFE000000000000000FFC0000000000000007FE0000000000 -000007FF0000000000000003FF0000000000000003FF8000000000000007FFC000000000 -00000FFFC00000000000001F7FE00000000000001F3FF00000000000003E1FF800000000 -00007C1FF8000000000000F80FFC000000000000F807FE000000000001F003FF00000000 -0003E003FF000000000007C001FF800000000007C000FFC0000000000F80007FE0000000 -001F00007FE0000000003E00003FF0000000003E00001FF8000000007C00001FFC000000 -00F800000FFC00000001F8000007FE00000003F8000003FF0000000FF8000003FF800000 -1FF8000003FF8000007FF8000003FFE00007FFFC000007FFF800FFFFFE00001FFFFFF8FF -FFFE00001FFFFFF8FFFFFE00001FFFFFF8FFFFFE00001FFFFFF8FFFFFE00001FFFFFF845 -3E80BD46>120 D E end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%PaperSize: A4 - -%%EndSetup -%%Page: 1 1 -1 0 bop 585 880 a Ff(Programming)40 b(Exercise)j(4:)58 -b(In)l(termediate)43 b(Co)t(de)1554 1063 y(Generation)440 -1661 y Fe(1)135 b(In)l(tro)t(duction)440 1843 y Fd(The)34 -b(purp)r(ose)f(of)h(this)f(exercise)f(is)g(to)i(learn)e(a)h(little)f -(ab)r(out)i(ho)n(w)f(parse)f(trees)i(can)f(b)r(e)440 -1942 y(translated)28 b(in)n(to)h(in)n(termediary)d(co)r(de.)44 -b(Although)29 b(there)h(are)f(p)r(o)n(w)n(erful)g(to)r(ols)f(that)j -(can)440 2042 y(b)r(e)d(used)g(to)f(generate)f(co)r(de)i(generators,)d -(it)i(is)g(still)d(often)k(done)g(b)n(y)f(hand.)440 2317 -y Fe(2)135 b(Requiremen)l(ts)440 2499 y Fd(The)30 b(\014le)f -Fc(codegen.cc)d Fd(con)n(tains)i(metho)r(ds)h(for)g(generating)f(co)r -(de)h(from)g(most)g(t)n(yp)r(es)g(of)440 2598 y(abstract)24 -b(syn)n(tax)g(tree)g(no)r(des,)h(but)h(y)n(ou)e(need)h(to)f(write)g -(the)h(metho)r(ds)f(for)g(if)h(statemen)n(ts)440 2698 -y(\(including)33 b(the)k(elseif)d(and)h(else)g(branc)n(hes\),)i(for)f -(arra)n(y)d(references)i(and)h(assignmen)n(ts)440 2797 -y(to)e(arra)n(y)d(elemen)n(ts)h(and)i(for)f(all)e(binary)h(op)r -(erators)g(and)i(relations)d(b)n(y)i(implemen)n(ting)440 -2897 y(the)i(function)f Fc(BinaryGenerateCo)o(de)28 b -Fd(whic)n(h)33 b(is)h(used)g(for)g(all)e(binary)h(op)r(erators)g(and) -440 2997 y(relations.)63 b(W)-7 b(rite)36 b(the)i(missing)c(metho)r(ds) -i(and)h(add)g(calls)e(to)i(GenerateCo)r(de)f(in)h(the)440 -3096 y(parser)26 b(sp)r(eci\014cation.)565 3196 y(When)k(completed,)f -(y)n(ou)g(should)g(ha)n(v)n(e)g(a)h(program)d(that)j(is)f(capable)g(of) -h(generating)440 3296 y(in)n(termediate)h(co)r(de)j(for)g(the)g(small)d -(programming)e(language)j(used)i(in)f(exercises)f(t)n(w)n(o,)440 -3395 y(three)27 b(and)h(four.)440 3594 y Fb(Hand)k(in)f(the)h(follo)m -(wing:)565 3777 y Fa(\017)41 b Fd(A)28 b(listing)c(of)34 -b Fc(codegen.cc)24 b Fd(with)j(y)n(our)f(c)n(hanges)g(clearly)f(mark)n -(ed.)565 3943 y Fa(\017)41 b Fd(Listings)25 b(of)i(an)n(y)g(other)g -(\014les)g(y)n(ou)f(mo)r(di\014ed.)565 4109 y Fa(\017)41 -b Fd(Answ)n(ers)26 b(to)i(the)g(questions)e(in)h(the)g(next)h(section.) -440 4384 y Fe(3)135 b(Questions)440 4566 y Fb(Question)26 -b(1)83 b Fd(The)24 b(co)r(de)g(generator)d(generates)i(terribly)e -(ine\016cien)n(t)h(co)r(de.)36 b(F)-7 b(or)23 b(exam-)440 -4665 y(ple,)j(assigning)d(a)j(constan)n(t)g(to)h(a)f(v)-5 -b(ariable)23 b(causes)j(t)n(w)n(o)g(quads)g(to)g(b)r(e)h(generated,)f -(where)440 4765 y(one)35 b(w)n(ould)f(ha)n(v)n(e)h(b)r(een)h(enough.)60 -b(There)35 b(are)f(a)h(n)n(um)n(b)r(er)f(of)i(other)f(situations)e -(where)440 4864 y(equally)25 b(bad)i(co)r(de)h(is)e(generated.)565 -4964 y(Suggest)h(at)i(least)e(one)h(w)n(a)n(y)f(of)h(eliminating)c -(most)j(of)h(the)h(bad)f(co)r(de)h(that)f(is)g(gener-)440 -5064 y(ated.)1851 5662 y(1)p eop -%%Page: 2 2 -2 1 bop 440 531 a Fb(Question)27 b(2)83 b Fd(The)24 b(\014nal)g(step)g -(in)g(the)h(compiler,)c(generating)h(mac)n(hine)g(co)r(de)j(from)e(the) -440 631 y(in)n(termediate)18 b(co)r(de,)23 b(has)e(b)r(een)h(omitted.) -33 b(In)22 b(particular,)e(issues)g(p)r(ertaining)f(to)i(memory)440 -731 y(managemen)n(t)g(and)k(function)e(calls)f(are)i(not)g(adressed)f -(at)h(all)e(in)i(the)h(in)n(termediate)20 b(co)r(de.)565 -830 y(Sk)n(etc)n(h)j(a)h(rough)f(design)f(for)i(the)g(co)r(de)g -(generator.)34 b(Y)-7 b(ou)24 b(ma)n(y)e(assume)g(that)j(all)c(v)-5 -b(ari-)440 930 y(ables)26 b(are)h(stored)g(in)g(memory)-7 -b(,)25 b(and)j(y)n(ou)f(ma)n(y)f(ignore)f(the)k(fact)e(that)i(the)f(in) -n(termediate)440 1029 y(co)r(de)g(uses)h(far)f(more)e(temp)r(oraries)g -(than)i(are)g(necessary)-7 b(.)38 b(Explain)26 b(ho)n(w)i(the)h(co)r -(de)f(gen-)440 1129 y(erator)g(can)i(la)n(y)e(out)i(statically)c(allo)r -(cated)i(memory)f(and)j(stac)n(k)f(frames,)g(based)g(on)h(the)440 -1229 y(information)24 b(con)n(tained)i(in)h(the)h(sym)n(b)r(ol)d -(tables)h(and)i(in)n(termediate)c(co)r(de.)440 1503 y -Fe(4)135 b(Extra)59 b(Credit)f(W)-11 b(ork:)87 b(In)l(terpreting)59 -b(In)l(termedi-)642 1653 y(ate)46 b(Co)t(de)440 1835 -y Fd(W)-7 b(rite)29 b(an)h(in)n(terpreter)e(for)h(the)i(quads)e -(generated)g(in)g(this)g(exercise.)42 b(Y)-7 b(our)29 -b(in)n(terpreter)440 1934 y(will)24 b(need)j(to)f(handle)g(all)e(the)j -(quads)f(and)h(all)d(the)j(prede\014ned)g(functions)f(for)g(input)h -(and)440 2034 y(output)h(\(see)g(the)g(\014le)e Fc(main.cc)p -Fd(.\))440 2233 y Fb(Hand)50 b(in)g(y)m(our)h(program)e(and)i(an)m(y)g -(mo)s(di\014ed)d(\014les)h(with)h(y)m(our)h(c)m(hanges)440 -2333 y(clearly)32 b(mark)m(ed.)1851 5662 y Fd(2)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/lab2/old_not_used_files/Makefile.OLD b/lab2/old_not_used_files/Makefile.OLD deleted file mode 100644 index 5b6a4937f886465d756851e6d1fa09175b21aada..0000000000000000000000000000000000000000 --- a/lab2/old_not_used_files/Makefile.OLD +++ /dev/null @@ -1,40 +0,0 @@ -CC = g++ -CFLAGS = -ggdb3 -Wall -Woverloaded-virtual -#CC = CC -#CFLAGS = -g +p +w -GCFLAGS = -g -LDFLAGS = -DPFLAGS = -MM - -SOURCES = scanner.cc main.cc -HEADERS = scanner.h -OBJECTS = $(SOURCES:%.cc=%.o) -OUTFILE = scanner - -DPFILE = Makefile.dependencies - -FLEX = /home/komp/bin/flex - -all : $(OUTFILE) - -$(OUTFILE) : $(OBJECTS) - $(CC) -o $(OUTFILE) $(OBJECTS) $(LDFLAGS) - -scanner.cc : scanner.l - $(FLEX) scanner.l - -scanner.o : scanner.cc - $(CC) $(GCFLAGS) -c $< - -.cc.o: $(DPFILE) - $(CC) $(CFLAGS) -c $< - -clean : - rm -f $(OBJECTS) $(OUTFILE) core *~ scanner.cc $(DPFILE) - touch $(DPFILE) - - -$(DPFILE) depend : $(SOURCES) $(HEADERS) - $(CC) $(DPFLAGS) $(CFLAGS) $(SOURCES) > $(DPFILE) - -include $(DPFILE) diff --git a/lab2/old_not_used_files/main-old.cc b/lab2/old_not_used_files/main-old.cc deleted file mode 100644 index 0c07a14691009a21081285b4d52ce4c473a3d2f0..0000000000000000000000000000000000000000 --- a/lab2/old_not_used_files/main-old.cc +++ /dev/null @@ -1,119 +0,0 @@ -#include <iostream.h> -#include <iomanip.h> -#include <stdio.h> -#include <stdlib.h> - -#include "scanner.h" - - -typedef struct -{ - int token; - char *name; -} tTokenName; - - -tTokenName tokens[] = {{ FUNCTION, "FUNCTION" }, - { ID, "ID" }, - { DECLARE, "DECLARE" }, - { ARRAY, "ARRAY" }, - { INTEGER, "INTEGER" }, - { OF, "OF" }, - { REAL, "REAL" }, - { XBEGIN, "XBEGIN" }, - { XEND, "XEND" }, - { IF, "IF" }, - { THEN, "THEN" }, - { ELSE, "ELSE" }, - { WHILE, "WHILE" }, - { DO, "DO" }, - { ASSIGN, "ASSIGN" }, - { RETURN, "RETURN" }, - { GE, "GE" }, - { LE, "LE" }, - { EQ, "EQ" }, - { NE, "NE" }, - { TRUE, "TRUE" }, - { FALSE, "FALSE" }, - { PROGRAM, "PROGRAM" }, - { ELSEIF, "ELSEIF" }, - { NOT, "NOT" }, - { AND, "AND" }, - { OR, "OR" }, - { UMINUS, "UMINUS" }}; - -int numTokens = sizeof(tokens)/sizeof(*tokens); - - -ostream& PrintToken(ostream& o, int token) -{ - int i; - extern char *yytext; - - for (i = 0; i < numTokens; i++) - { - if (token == tokens[i].token) - { - o << tokens[i].name << " \'" << yytext << "\'"; - return o; - } - } - - o << '\'' << (unsigned char)token << '\''; - - return o; -} - -omanip<int> Token(int t) -{ - return omanip<int>(&PrintToken, t); -} - -int main(int argc, char **argv) -{ - int token; - extern FILE *yyin; - extern int yylex(); - - /* - * Open the input file, if any - */ - - switch(argc) - { - case 1: - yyin = stdin; - break; - case 2: - yyin = fopen(argv[1], "r"); - if (yyin == NULL) - { - perror(argv[1]); - exit(1); - } - break; - default: - cerr << "Usage: " << argv[0] << " [ filename ]\n"; - exit(1); - } - - - /* - * Loop for as long as there are tokens - */ - - while ((token = yylex()) != 0) - { - cout << "Scanned " << Token(token) << '\n' << flush; - } - - cout << "End of file\n"; - exit(0); -} - -void yyerror(char *msg) -{ - extern int yylineno; - - cerr << "Error at line " << yylineno << ": " << msg << '\n' << flush; -} diff --git a/lab3-4/old_not_used_files/Makefile.OLD b/lab3-4/old_not_used_files/Makefile.OLD deleted file mode 100644 index 62e966b36852c072c90bf96e4c4278e592b98de4..0000000000000000000000000000000000000000 --- a/lab3-4/old_not_used_files/Makefile.OLD +++ /dev/null @@ -1,50 +0,0 @@ -CC = g++ -CFLAGS = -ggdb3 -Wall -Woverloaded-virtual -#CC = CC -#CFLAGS = -g +p +w -GCFLAGS = -g -LDFLAGS = -DPFLAGS = -MM - -BASESRC = symtab.cc string.cc ast.cc codegen.cc main.cc -SOURCES = $(BASE) parser.cc scanner.cc -BASEHDR = symtab.hh ast.hh string.hh codegen.hh -HEADERS = $(BASEHDR) parser.h -OBJECTS = $(SOURCES:%.cc=%.o) -OUTFILE = compiler - -FLEX = /home/komp/bin/flex -BISON = bison - -DPFILE = Makefile.dependencies - -all : $(OUTFILE) - -$(OUTFILE) : $(OBJECTS) - $(CC) -o $(OUTFILE) $(OBJECTS) $(LDFLAGS) - -parser.h parser.cc : parser.y Makefile - $(BISON) --defines --output-file=parser.cc parser.y - mv parser.cc.h parser.h - -scanner.cc : scanner.l Makefile - $(FLEX) scanner.l - -scanner.o : scanner.cc - $(CC) $(GCFLAGS) -c $< - -parser.o : parser.cc - $(CC) $(GCFLAGS) -c $< - -.cc.o: $(DPFILE) Makefile - $(CC) $(CFLAGS) -c $< - -clean : - rm -f $(OBJECTS) core *~ scanner.cc parser.cc parser.h $(DPFILE) $(OUTFILE) parser.cc.output - touch $(DPFILE) - - -$(DPFILE) depend : $(BASESRC) $(HEADERS) - $(CC) $(DPFLAGS) $(CFLAGS) $(BASESRC) > $(DPFILE) - -include $(DPFILE) diff --git a/lab3-4/old_not_used_files/codegen.cc.OLD b/lab3-4/old_not_used_files/codegen.cc.OLD deleted file mode 100644 index 8f0348184bc6a9fbb916346f14209f2df5cebf79..0000000000000000000000000000000000000000 --- a/lab3-4/old_not_used_files/codegen.cc.OLD +++ /dev/null @@ -1,950 +0,0 @@ -#include <iostream.h> -#include <iomanip.h> - -#include "ast.hh" -#include "symtab.hh" -#include "codegen.hh" - - -long QuadsList::labelCounter; - -#define USEQ { QuadsList *xyzzy = &q; xyzzy=xyzzy; } - - -/* - * ASTNode::GenerateCodeAndJump - * - * GenerateCodeAndJump is supposed to generate quads for part of the - * parse tree, but ensure that all exits from the code end up at a - * particular label. This is easy to do for most parts of the parse - * tree: just generate the code in the usual manner, then jump to the - * label. - */ - - -VariableInformation *ASTNode::GenerateCodeAndJump(QuadsList& q, - long label) -{ - VariableInformation *info; - - info = this->GenerateCode(q); - q += new Quad(jump, label, - (SymbolInformation *)NULL, (SymbolInformation *)NULL); - - return info; -} - - -/* ElseIfStatement::GenerateCodeAndJump - * - * Write the function that generates code for the elseif branches of - * an if statement. There are a couple of things to watch out for. - * The conditions must be tested in the correct order, or the program - * might misbehave. Once a condition tests true, do not test any more - * conditions (that's why we use GenerateCodeAndJump for this type - * of statement.) - */ - -VariableInformation *ElseIfList::GenerateCodeAndJump(QuadsList &q, - long lbl) -{ - long next; - VariableInformation *info; - - /* --- Your code here --- */ - - /* --- End your code --- */ - - return NULL; - -} - - -/* - * ArrayReference::GenerateAssignment - * - * Generate assignment code for an array reference. See the comment - * before Assignment::GenerateCode for more information. - */ - -void ArrayReference::GenerateAssignment(QuadsList& q, - VariableInformation *val) -{ - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -/* - * Identifier::GenerateAssignment - * - * Generate assignment code for an identifier. See the comment - * before Assignment::GenerateCode for more information. - */ - -void Identifier::GenerateAssignment(QuadsList& q, VariableInformation *val) -{ - if (val->type == NULL || id->type == NULL) - { - cerr << "Bug: you created an untyped variable.\n"; - abort(); - } - if (id->type == kIntegerType) - { - q += new Quad(iassign, val, NULL, id); - } - else if (id->type == kRealType) - { - q += new Quad(rassign, val, NULL, id); - } - else if (id->type == val->type) - { - q += new Quad(aassign, val, val->type->arrayDimensions, id); - } -} - - -/* - * StatementList::GenerateCode - * - * Generate code for a list of statements. Make sure the code comes - * out in the right order. - * - * Note: The impelementation here is absolutely ridiculous since it - * uses stack space proportional to the number of statements in the - * list. A more sensible definition would simply iterate down the - * list. This code is an example of what happens when someone with a - * degree in computer science is allowed to write code without regard - * for efficiency... - */ - -VariableInformation *StatementList::GenerateCode(QuadsList &q) -{ - if (precedingStatements != NULL) - { - precedingStatements->GenerateCode(q); - } - return statement->GenerateCode(q); -} - - -/* - * IfStatement::GenerateCode - * - * If statements, particularly those with elseif branches are actually - * quite involved. They tend to use a lot of jumps. For the elseif - * branches you'll probably want to use the GenerateCodeAndJump method - * of ElseIfStatement (which you're also supposed to write.) - */ - -VariableInformation *IfStatement::GenerateCode(QuadsList& q) -{ - /* --- Your code here ---*/ - - - /* --- End your code --- */ - - return NULL; -} - - -/* - * ElseIfStatement::GenerateCode - * - * You might figure out a way to write IfStatement::GenerateCode - * without relying on ElseIfStatement::GenerateCodeAndJump. If so, - * this method is where you should generate the code for the elseif - * part. Just remove the error message and call to abort. - */ - -VariableInformation *ElseIfList::GenerateCode(QuadsList& q) -{ - USEQ; - - /* --- Your code here --- */ - - /* --- End your code --- */ - - cerr << "Call to ElseIfList::GenerateCode. You probably didn't want to do this.\n"; // - abort(); -} - - -/* - * WhileStatement::GenerateCode - * - * Generate code for a while statement. This is pretty easy. - * Insert a label "entry", generate code for the condition, jump to - * label "exit" if the condition is false, insert the body and jump - * back to "entry". Finally insert the label "exit". - */ - -VariableInformation *WhileStatement::GenerateCode(QuadsList &q) -{ - long loopLabel, endLabel; - VariableInformation *info; - - loopLabel = q.NextLabel(); - endLabel = q.NextLabel(); - q += new Quad(clabel, loopLabel, NULL, NULL); - info = condition->GenerateCode(q); - q += new Quad(jfalse, endLabel, info, NULL); - body->GenerateCodeAndJump(q, loopLabel); - q += new Quad(clabel, endLabel, NULL, NULL); - - return NULL; -} - - -/* - * IntegerConstant::GenerateCode - * RealConstant::GenerateCode - * BooleanConstant::GenerateCode - * - * Simply uses the iconst/rconst quads to load the constant (which is - * stored in the parse tree into a temporary register. - */ - -VariableInformation *IntegerConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kIntegerType); - - q += new Quad(iconst, value, NULL, info); - return info; -} - -VariableInformation *RealConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kRealType); - - q += new Quad(rconst, value, NULL, info); - return info; -} - -VariableInformation *BooleanConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kIntegerType); - - q += new Quad(iconst, value ? 1L : 0L, NULL, info); - return info; -} - - -/* - * ArrayReference::GenerateCode - * - * Arrays are stored in memory, but the address to the first element - * in the array is stored in a variable (the id instance variable in - * the ArrayReference object.) Since we don't have a quad to do this - * for us, you'll have to use lower-level operations. Hint: the size - * field in the TypeInformation class will come in handy. - */ - -VariableInformation *ArrayReference::GenerateCode(QuadsList& q) -{ - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -/* - * Identifier::GenerateCode - * - * Generate code to get the value of an identifier. Actually, we don't - * need to generate any code at all. We just return the identifier. - */ - -VariableInformation *Identifier::GenerateCode(QuadsList& q) -{ - USEQ; - - return id; -} - -/* - * ReturnStatement::GenerateCode - * - * Generate code for a return statement. This is really - * straightforward. - */ - -VariableInformation *ReturnStatement::GenerateCode(QuadsList &q) -{ - VariableInformation *info; - - info = value->GenerateCode(q); - if (info->type != currentFunction->GetReturnType()) - { - cerr << "Bug: you forgot to typecheck return statements.\n"; - abort(); - } - - q += new Quad(creturn, NULL, NULL, info); - - return NULL; -} - - -/* - * ExpressionList::GenerateCode - * - * Whoa! If you call this, you're doing something very wrong! - * Expression lists are currently only used in the parameter - * list of a function call, but we might want to use them in - * other places too, such as in an initializer for an array. - */ - -VariableInformation *ExpressionList::GenerateCode(QuadsList& q) -{ - USEQ; - - cerr << "Bug: can't generate code for an ExpressionList.\n"; - abort(); -} - -void ExpressionList::GenerateParameterList(QuadsList &q, - VariableInformation *lastParam) -{ - VariableInformation *info; - - if (lastParam == NULL || - (lastParam->prev != NULL && precedingExpressions == NULL)) - { - cerr << "Bug: type checking of function params isn't good enough.\n"; - abort(); - } - - if (precedingExpressions) - precedingExpressions->GenerateParameterList(q, lastParam->prev); - - info = expression->GenerateCode(q); - - - if (expression->valueType == lastParam->type) - { - q += new Quad(param, info, NULL, NULL); - } - else - { - cerr << "Bug: type checking of function params isn't good enough.\n"; - abort(); - } -} - - - - - -/* - * Assignment::GenerateCode - * - * Assignments are kind of strange. Normally code generation is done - * by first generating code for all the children of a node, then - * adding some code for the node itself. In an assignment we need to - * do things a little differently. First we generate code for the - * value, then, since we need to generate very different code - * depending on what the LValue is, we let the GenerateAssignment - * method in the LeftValue subclasses generate the actual assignment - * code. - */ - -VariableInformation *Assignment::GenerateCode(QuadsList& q) -{ - VariableInformation *valueInfo; - - valueInfo = value->GenerateCode(q); - target->GenerateAssignment(q, valueInfo); - - return NULL; -} - -/* - * IntegerToReal::GenerateCode - * TruncateReal::GenerateCode - * - * This is so straightforward... - */ - -VariableInformation *IntegerToReal::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *valueInfo; - - if (value->valueType != kIntegerType) - { - cerr << "Bug: you're trying to convert a non-integer to a real.\n"; - } - - info = currentFunction->TemporaryVariable(kRealType); - valueInfo = value->GenerateCode(q); - q += new Quad(itor, valueInfo, NULL, info); - - return info; -} - -VariableInformation *TruncateReal::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *valueInfo; - - if (value->valueType != kRealType) - { - cerr << "Bug: you're trying to truncate a non-real.\n"; - } - - info = currentFunction->TemporaryVariable(kIntegerType); - valueInfo = value->GenerateCode(q); - q += new Quad(rtrunc, valueInfo, NULL, info); - - return info; -} - -/* - * - * This function is used to generate code for all kinds of binary - * operators and relations. The arguments to the function are the - * following: - * - * q The QuadsList onto which the generated code is placed. - * realop The quad to generate for the operator if the arguments - * are of type real. - * intop The quad to generate for the operator if the arguments - * are of type integer. - * left The AST for the left-hand side of the operator. The - * value type of this AST must be the same as that of the - * AST for the right-hand side. - * right The AST for the right-hand side of the operator. The - * value type of this AST must be the same as that of the - * AST for the left-hand side. - * node The operator node itself. You probably won't need this - * unless you want to print an error message. - * type If not NULL, this is the type of the result. This is - * used for relations, where the type of the result is - * always integer, even if the operands are real. If this - * parameter is NULL, then the type of the result is the - * same as the type of the operands (the parser needs to - * make sure that the operands have the same type.) - * - * See the GenerateCode methods for the binary operators for - * examples of how this function is used. - * - */ - -static VariableInformation *BinaryGenerateCode(QuadsList& q, - tQuadType realop, - tQuadType intop, - ASTNode *left, - ASTNode *right, - ASTNode *node, - TypeInformation *type = NULL) -{ - VariableInformation *leftInfo, *rightInfo, *result; - - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -VariableInformation *Plus::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, radd, iadd, left, right, this); -} - -VariableInformation *Minus::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rsub, isub, left, right, this); -} - -VariableInformation *Times::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rmul, imul, left, right, this); -} - -VariableInformation *Divide::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rdiv, idiv, left, right, this); -} - -VariableInformation *Power::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rpow, ipow, left, right, this); -} - -/* - * UnaryMinus::GenerateCode - * - * Generate code for the value expression, then subtract it from 0 */ - -VariableInformation *UnaryMinus::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *result, *constInfo; - - info = right->GenerateCode(q); - result = currentFunction->TemporaryVariable(info->type); - constInfo = currentFunction->TemporaryVariable(info->type); - - if (info->type == kIntegerType) - { - q += new Quad(iconst, 0L, NULL, constInfo); - q += new Quad(isub, constInfo, info, result); - } - else if (info->type == kRealType) - { - q += new Quad(rconst, 0.0, NULL, constInfo); - q += new Quad(rsub, constInfo, info, result); - } - else - { - cerr << "Bug: unary minus of a non-numeric type.\n"; - abort(); - } - - return result; -} - - -/* - * LessThan::GenerateCode - * LessThanOrEqual::GenerateCode - * GreaterThan::GenerateCode - * GreaterThanOrEqual::GenerateCode - * Equal::GenerateCode - * NotEqual::GenerateCode - * - * To generate code for these relations, we'll use the BinaryGenerateCode - * function defined for binary operations. We'll also add some more - * quads for some of the operations. - */ - -VariableInformation *LessThan::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rlt, ilt, left, right, this, kIntegerType); -} - -VariableInformation *GreaterThan::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rgt, igt, left, right, this, kIntegerType); -} - -VariableInformation *Equal::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); -} - - -VariableInformation *LessThanOrEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0, *r1; - - r0 = BinaryGenerateCode(q, rlt, ilt, left, right, this, kIntegerType); - r1 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(ior, r0, r1, r1); - - return r1; -} - -VariableInformation *GreaterThanOrEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0, *r1; - - r0 = BinaryGenerateCode(q, rgt, igt, left, right, this, kIntegerType); - r1 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(ior, r0, r1, r1); - - return r1; -} - -VariableInformation *NotEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0; - - r0 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(inot, r0, NULL, r0); - return r0; -} - - -/* - * And::GenerateCode - * Or::GenerateCode - * Not::Generatecode - * - * The current versions of these functions do not short-circuit the - * logical connectives and and or. Rewrite them so that the test - * is aborted as soon as the result is known (for or, as soon as one - * of the conditions evaluates to true, and for and as soon as one - * condition evaluates to false.) - */ - - -VariableInformation *And::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, hcf, iand, left, right, this, kIntegerType); -} - -VariableInformation *Or::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, hcf, ior, left, right, this, kIntegerType); -} - -VariableInformation *Not::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *result; - - info = right->GenerateCode(q); - if (info->type != kIntegerType) - { - cerr << "Bug: not operator applied to a non-integer.\n"; - abort(); - } - - result = currentFunction->TemporaryVariable(kIntegerType); - q += new Quad(inot, info, NULL, result); - - return result; -} - -/* - * CallStatement::GenerateCode - * FunctionCall::GenerateCode - * - * Generate code for the parameter list by iterating over the - * actual arguments, then generate the function call itself. - */ - -VariableInformation *CallStatement::GenerateCode(QuadsList &q) -{ - return call->GenerateCode(q); -} - -VariableInformation *FunctionCall::GenerateCode(QuadsList& q) -{ - VariableInformation *info; - - if (arguments) - arguments->GenerateParameterList(q, function->GetLastParam()); - info = currentFunction->TemporaryVariable(function->GetReturnType()); - q += new Quad(call, function, NULL, info); - - return info; -} - - -/* ====================================================================== - * Quads and Quads Lists - */ - -QuadsList& QuadsList::operator+=(Quad *q) -{ - if (head == NULL) - { - head = new QuadsListElement(q, NULL); - tail = head; - } - else - { - tail->next = new QuadsListElement(q, NULL); - tail = tail->next; - } - - return *this; -} - -ostream& QuadsList::print(ostream& o) -{ - QuadsListElement *elem; - - o << " QuadsList @ " << (void *)this << "\n"; - o << ShortSymbols; - - elem = head; - while (elem) - { - o << elem->data << '\n'; - elem = elem->next; - } - - o << LongSymbols; - return o; -} - -ostream& Quad::print(ostream& o) -{ - o << " "; - switch(opcode) - { - case iconst: - o << setw(8) << "iconst " - << setw(8) << int1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case rconst: - o << setw(8) <<"rconst " - << setw(8) <<real1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case iaddr: - o << setw(8) <<"iaddr " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case itor: - o << setw(8) <<"itor " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case rtrunc: - o << setw(8) <<"rtrunc " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case iadd: - o << setw(8) << "iadd " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case isub: - o << setw(8) << "isub " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case imul: - o << setw(8) << "imul " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case idiv: - o << setw(8) << "idiv " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ipow: - o << setw(8) << "ipow " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case radd: - o << setw(8) << "radd " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rsub: - o << setw(8) << "rsub " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rmul: - o << setw(8) << "rmul " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rdiv: - o << setw(8) << "rdiv " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rpow: - o << setw(8) << "rpow " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case igt: - o << setw(8) << "igt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ilt: - o << setw(8) << "ilt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ieq: - o << setw(8) << "ieq " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rgt: - o << setw(8) << "rgt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rlt: - o << setw(8) << "rlt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case req: - o << setw(8) << "req " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case iand: - o << setw(8) << "iand " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ior: - o << setw(8) << "ior " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case inot: - o << setw(8) << "inot " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case jtrue: - o << setw(8) << "jtrue " - << setw(8) << int1 - << setw(8) << sym2 - << setw(8) << "-"; - break; - case jfalse: - o << setw(8) << "jfalse " - << setw(8) << int1 - << setw(8) << sym2 - << setw(8) << "-"; - break; - case jump: - o << setw(8) << "jump " - << setw(8) << int1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case clabel: - o << setw(8) << "clabel " - << setw(8) << int1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case istore: - o << setw(8) << "istore " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case iload: - o << setw(8) << "iload " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rstore: - o << setw(8) << "rstore " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rload: - o << setw(8) << "rload " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case creturn: - o << setw(8) << "creturn " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << sym3; - break; - case param: - o << setw(8) << "param " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case call: - o << setw(8) << "call " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case iassign: - o << setw(8) << "iassign " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rassign: - o << setw(8) << "rassign " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case aassign: - o << setw(8) << "aassign " - << setw(8) << sym1 - << setw(8) << int1 - << setw(8) << sym3; - break; - case hcf: - o << setw(8) << "hcf " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << "-"; - break; - case nop: - o << setw(8) << "nop " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << "-"; - break; - default: - o << "unknown (" << opcode << ")"; - break; - } - - return o; -} - - -ostream& operator<<(ostream& o, QuadsList *q) -{ - if (q != NULL) - return q->print(o); - else - return o << " QuadsList @ 0x0\n"; -} - -ostream& operator<<(ostream& o, QuadsList& q) -{ - return q.print(o); -} - -ostream& operator<<(ostream& o, Quad *q) -{ - if (q != NULL) - return q->print(o); - else - return o << " Quad @ 0x0"; -} - -ostream& operator<<(ostream& o, Quad& q) -{ - return q.print(o); -} diff --git a/lab3-4/old_not_used_files/parser.y.OLD b/lab3-4/old_not_used_files/parser.y.OLD deleted file mode 100644 index 01e57b319877a198cb199cfe5884729d7506da19..0000000000000000000000000000000000000000 --- a/lab3-4/old_not_used_files/parser.y.OLD +++ /dev/null @@ -1,781 +0,0 @@ -%{ -#include <stdlib.h> -#include <iostream.h> -#include "string.hh" -#include "ast.hh" -#include "symtab.hh" - -extern char *yytext; -extern int yylineno, errorCount, warningCount; -extern FunctionInformation *currentFunction; - -extern int yylex(void); -extern void yyerror(char *); -extern char CheckAssignmentTypes(LeftValue **, Expression **); -extern char CheckFunctionParameters(FunctionInformation *, - VariableInformation *, - ExpressionList *); -char CheckReturnType(Expression **, TypeInformation *); -extern ostream& error(void); -extern ostream& warning(void); - -#define YYDEBUG 1 -%} - -/* - * We have multiple semantic types. The first couple of rules return - * various kinds of symbol table information. The rules for the - * program statements return nodes in the abstract syntax tree. - * - * The %union declaration declares all the kinds of data that - * can be return. %type declarations later on will specify which - * rules return what. - */ - -%union -{ - ASTNode *ast; - Expression *expression; - ExpressionList *expressionList; - Statement *statement; - StatementList *statementList; - Condition *condition; - ArrayReference *aref; - FunctionCall *call; - LeftValue *lvalue; - ElseIfList *elseIfList; - - VariableInformation *variable; - TypeInformation *type; - FunctionInformation *function; - - string *id; - int integer; - double real; - void *null; -} - -%type <expression> expression -%type <expressionList> expressions expressionz -%type <statement> ifstmt whilestmt returnstmt callstmt assignstmt -%type <statement> statement -%type <statementList> statements block elsepart -%type <condition> condition -%type <aref> aref -%type <call> call -%type <lvalue> lvalue -%type <type> type -%type <id> id -%type <integer> integer -%type <real> real -%type <function> funcname -%type <variable> variable -%type <elseIfList> elseifpart - -/* - * Normally tokens would have semantic types, but we've decided to - * use the yytext variable for communicating data from the scanner - * to the parser, so in this parser, none of the tokens have a - * semantic type. - */ - -%token FUNCTION ID DECLARE ARRAY INTEGER OF REAL XBEGIN XEND IF THEN -%token ELSE WHILE DO ASSIGN RETURN GE LE EQ NE ARRAY TRUE FALSE PROGRAM -%token ELSEIF - - -/* --- Your code here --- - * - * For expressions and conditions you'll have to specify - * precedence and associativity (unless you factor the - * rules for expressions and conditions.) This is where - * the precedence and associativity declarations go. - */ - -/* --- End your code --- */ - -/* - * Here we define the start symbol of the grammar. We could have done - * without this, since the first rule in the grammar is a rule for - * program, but declaring the start symbol is still good form. - */ - -%start program - -%% - - -/* - * A program is simply a list of variables, functions and - * a code block. Very similar to a function really. - */ - -program : variables functions block ';' - { - if (errorCount == 0) - { - currentFunction->SetBody($3); - /* currentFunction->GenerateCode(); */ - cout << currentFunction; - } - } - ; - -/* - * We use this rule for all variable declarations. - * Although parameters look almost the same, they - * behave differently, so it's practical to have - * separate rules for them. - */ - -variables : DECLARE declarations - | error declarations - | /* Empty */ - ; - -declarations: declarations declaration - | declaration - ; - -declaration : id ':' type ';' - { - if (currentFunction->OkToAddSymbol(*($1))) - { - if ($3 != NULL) - currentFunction->AddVariable(*($1), $3); - } - else - { - error() << *($1) << " is already declared\n" << flush; - } - } - | error ';' - { - yyerrok; - } - ; - - -/* - * This rule represents a list of functions. It uses the - * function production which is expected to return a - * pointer to something of type Function. - */ - -functions : functions function - | /* Empty */ - ; - - -/* --- Your code here --- - * - * Write the function production. Take care to enter and exit - * scope correctly. You'll need to understand how shift-reduce - * parsing works and when actions are run to do this. - * - * Solutions that rely on shift-time actions will not be - * acceptable. You should be able to solve the problem - * using actions at reduce time only. - * - * In lab 4 you also need to generate code for functions after parsing - * them. Just calling GeneratCode in the function should do the trick. - */ - - -/* --- End your code --- */ - - -/* - * Parameter lists are defined by the following three - * productions. Most of the work is done by the AddParameter - * function in the Function class - */ - -parameters : '(' paramlist ')' - | '(' error ')' - | /* Empty */ - ; - -paramlist : paramlist ';' parameter - | parameter - ; - -parameter : id ':' type - { - if (currentFunction->OkToAddSymbol(*($1))) - { - currentFunction->AddParameter(*($1), $3); - } - else - { - error() << *($1) << " already defined\n" << flush; - currentFunction->AddParameter(*($1), $3); - } - } - ; - -/* - * Types are rather important. We have two different types. - * First there are the primitive types, integer and real. Then - * we have arrays. - * - * We want types to be considered equivalent if they have the - * same definition. We do this by creating temporary types for - * arrays and giving them names that encode all the information - * in the type. We do this my concatenating the element type - * with the dimension in angle brackets, e.g. INTEGER<10>. This - * is safe since such names are not legal in the source code. - * - */ - -type : id - { - SymbolInformation *info; - TypeInformation *typeInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() << "undefined type " << *($1) << "\n" << flush; - $$ = NULL; - } - else - { - typeInfo = info->SymbolAsType(); - - if (typeInfo == NULL) - { - error() << *($1) << " is not a type" << "\n" <<flush; - $$ = NULL; - } - else - { - $$ = typeInfo; - } - } - } - | ARRAY integer OF type - { - if ($4 == NULL) - { - error() << "can't create arrays of invalid tpyes\n" - << flush; - $$ = NULL; - } - else if ($4->elementType != NULL) - { - error() << "can't do arrays of arrays\n" << flush; - $$ = NULL; - } - else - { - $$ = currentFunction->AddArrayType($4, $2); - } - } - ; - - - -/* - * The rest of the grammar deals with statements and such - */ - - -block : XBEGIN statements XEND - { - $$ = $2; - } - ; - -statements : statements statement - { - if ($2 == NULL) - $$ = NULL; - else - $$ = new StatementList($1, $2) - } - | /* Empty */ - { - $$ = NULL; - } - ; - -statement : ifstmt ';' - | assignstmt ';' - | callstmt ';' - | returnstmt ';' - | whilestmt ';' - | error ';' { yyerrok; $$ = NULL; } - ; - - -ifstmt : IF condition THEN block elseifpart elsepart - { - if ($2 == NULL) - $$ = NULL; - else - $$ = new IfStatement($2, $4, $5, $6); - } - ; - - -elseifpart : elseifpart ELSEIF condition THEN block - { - if ($3 == NULL || $5 == NULL) - $$ = NULL; - else - $$ = new ElseIfList($1, $3, $5); - } - | /* Empty */ - { - $$ = NULL; - } - ; - - -elsepart : ELSE block IF - { - $$ = $2; - } - | IF - { - $$ = NULL; - } - ; - - -assignstmt : lvalue ASSIGN expression - { - LeftValue *left; - Expression *right; - - left = $1; - right = $3; - if (left == NULL || right == NULL) - { - $$ = NULL; - } - else if (!CheckAssignmentTypes(&left, &right)) - { - error() << "Incompatible types in assignment.\n" - << flush; - $$ = NULL; - } - else - { - $$ = new Assignment(left, right); - } - } - ; - - -callstmt : call - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new CallStatement($1); - } - ; - - -returnstmt : RETURN expression - { - if ($2 == NULL) - $$ = NULL; - else - { - Expression *expr; - - expr = $2; - if (!CheckReturnType(&expr, - currentFunction->GetReturnType())) - { - error() << "incompatible return type in " - << currentFunction->id << '\n'; - error() << " attempt to return " - << ShortSymbols << expr->valueType << '\n'; - error() << " in function declared to return " - << ShortSymbols - << currentFunction->GetReturnType() - << LongSymbols << '\n'; - $$ = NULL; - } - else - { - $$ = new ReturnStatement(expr); - } - } - } - ; - - -whilestmt : WHILE condition DO block WHILE - { - if ($2 == NULL || $4 == NULL) - $$ = NULL; - else - $$ = new WhileStatement($2, $4); - } - ; - - -lvalue : variable - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new Identifier($1); - } - | aref - { - $$ = $1; - } - ; - - -variable : id - { - SymbolInformation *info; - VariableInformation *varInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() - << "undeclared variable: " - << *($1) - << "\n" - << flush; - - $$ = NULL; - } - else - { - varInfo = info->SymbolAsVariable(); - - if (varInfo == NULL) - { - error() - << "identifier " - << *($1) - << " is not a variable\n" - << flush; - $$ = NULL; - } - else - { - $$ = varInfo; - } - } - } - - -funcname : id - { - SymbolInformation *info; - FunctionInformation *funcInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() << *($1) << " is not defined\n" << flush; - $$ = NULL; - } - else - { - funcInfo = info->SymbolAsFunction(); - - if (funcInfo == NULL) - { - error() << *($1) << " is not a function\n" << flush; - $$ = NULL; - } - else - { - $$ = funcInfo; - } - } - } - - -aref : variable '[' expression ']' - { - if ($1 == NULL || $3 == NULL) - $$ = NULL; - else - $$ = new ArrayReference($1, $3); - } - | variable '[' error ']' - { - $$ = NULL; - } - ; - - -call : funcname '(' expressions ')' - { - if ($1 == NULL) - $$ = NULL; - else - { - if (CheckFunctionParameters($1, $1->GetLastParam(), $3)) - { - $$ = new FunctionCall($1, $3); - } - else - { - $$ = NULL; - } - } - } - | funcname '(' error ')' - { - $$ = NULL; - } - ; - - -id : ID - { - $$ = new string(yytext); - } - ; - - -integer : INTEGER - { - $$ = atoi(yytext); - } - ; - - -real : REAL - { - $$ = atof(yytext); - } - ; - -/* --- Your code here --- - * - * Insert the expression grammar here - * The start symbol of the expression grammar is - * expression. This is important since it's used - * in a number of other places. - * - * Make sure that your code creates itor nodes in the - * AST wherever necessary and that it only created - * trees for expressions with compatible types! - */ - - -/* --- End your code --- */ - - -expressions : expressionz - { - $$ = $1; - } - | /* Empty */ - { - $$ = NULL; - } - ; - - -expressionz : expressionz ',' expression - { - if ($3 == NULL) - $$ = NULL; - else - $$ = new ExpressionList($1, $3); - } - | expression - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new ExpressionList(NULL, $1); - } - ; - - -/* --- Your code here --- - * - * Insert the condition grammar here - * The start symbol is condition. It's used - * elsewhere, so make sure you get it right. - */ - - -/* --- End your code --- */ - - -%% - -int errorCount = 0; -int warningCount = 0; - - -/* --- Your code here --- - * - * Insert utility functions that you think you need here. - */ - -/* --- End your code --- */ - - -/* - * CheckAssignmentTypes is similar to CheckCompatibleTypes, but in - * this case left is never modified since it represents an lvalue. - */ - -char CheckAssignmentTypes(LeftValue **left, Expression **right) -{ - if (*left == NULL || *right == NULL) - return 1; - - if ((*left)->valueType == (*right)->valueType) - { - return 1; - } - if ((*left)->valueType == kRealType && (*right)->valueType == kRealType) - { - return 1; - } - if ((*left)->valueType == kIntegerType && - (*right)->valueType == kIntegerType) - { - return 1; - } - if ((*left)->valueType == kIntegerType && (*right)->valueType == kRealType) - { - *right = new TruncateReal(*right); - return 1; - } - if ((*left)->valueType == kRealType && (*right)->valueType == kIntegerType) - { - *right = new IntegerToReal(*right); - return 1; - } - - return 0; -} - - -/* - * CheckFunctionParameters is used to check parameters passed to a - * function. func is the function we're passing parameters to, formals - * is a pointer to the last formal parameter we're checking against - * and params is a pointer to the ExpressionList we're checking. If - * type conversion is necessary, the Expressions pointed to by the - * ExpressionList will be modified accordingly. - * - * This function prints it's own error messages. - */ - -char CheckFunctionParameters(FunctionInformation *func, - VariableInformation *formals, - ExpressionList *params) -{ - if (formals == NULL && params == NULL) - { - return 1; - } - else if (formals == NULL && params != NULL) - { - error() << "too many arguments in call to " << func->id << '\n' - << flush; - return 0; - } - else if (formals != NULL && params == NULL) - { - error() << "too few arguments in call to " << func->id << '\n' - << flush; - return 0; - } - else - { - if (CheckFunctionParameters(func, formals->prev, - params->precedingExpressions)) - { - if (formals->type == params->expression->valueType) - { - return 1; - } - else if (formals->type == kIntegerType && - params->expression->valueType == kRealType) - { - params->expression = new TruncateReal(params->expression); - return 1; - } - else if (formals->type == kRealType && - params->expression->valueType == kIntegerType) - { - params->expression = new IntegerToReal(params->expression); - return 1; - } - else - { - error() << "incompatible types in call to " - << func->id - << '\n' - << flush; - error() << " parameter " - << formals->id - << " was declared " - << ShortSymbols - << formals->type - << '\n' - << flush; - error() << " argument was of type " - << params->expression->valueType - << '\n' - << LongSymbols << flush; - return 0; - } - } - } -} - - -char CheckReturnType(Expression **expr, TypeInformation *info) -{ - if (info == NULL || *expr == NULL) - return 1; - - if ((*expr)->valueType == info) - return 1; - - if ((*expr)->valueType == kIntegerType && info == kRealType) - { - *expr = new IntegerToReal(*expr); - return 1; - } - - if ((*expr)->valueType == kRealType && info == kIntegerType) - { - *expr = new TruncateReal(*expr); - return 1; - } - - return 0; -} - - -void yyerror(char *message) -{ - error() << message << '\n' << flush; -} - -ostream& error(void) -{ - errorCount += 1; - return cerr << yylineno << " Error: "; -} - -ostream& warning(void) -{ - warningCount += 1; - return cerr << yylineno << " Warning: "; -} diff --git a/old_not_used_files/lab3-4_old/Makefile b/old_not_used_files/lab3-4_old/Makefile deleted file mode 100644 index 07bc831a7033b8bccb1d58af18fb841b9f1099dd..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -CC = g++ -CFLAGS = -ggdb3 -Wall -Woverloaded-virtual -#CC = CC -#CFLAGS = -g +p +w -GCFLAGS = -g -LDFLAGS = -DPFLAGS = -MM - -BASESRC = symtab.cc string.cc ast.cc codegen.cc main.cc -SOURCES = $(BASESRC) parser.cc scanner.cc -BASEHDR = symtab.hh ast.hh string.hh codegen.hh -HEADERS = $(BASEHDR) parser.h -OBJECTS = $(SOURCES:%.cc=%.o) -OUTFILE = compiler - -FLEX = /home/TDDB29/bin/flex -BISON = bison - -DPFILE = Makefile.dependencies - -all : $(OUTFILE) - -$(OUTFILE) : $(OBJECTS) - $(CC) -o $(OUTFILE) $(OBJECTS) $(LDFLAGS) - -parser.h parser.cc : parser.y Makefile - $(BISON) --defines --output-file=parser.cc parser.y - mv parser.cc.h parser.h - -scanner.cc : scanner.l Makefile - $(FLEX) scanner.l - -scanner.o : scanner.cc - $(CC) $(GCFLAGS) -c $< - -parser.o : parser.cc - $(CC) $(GCFLAGS) -c $< - -.cc.o: $(DPFILE) Makefile - $(CC) $(CFLAGS) -c $< - -clean : - rm -f $(OBJECTS) core *~ scanner.cc parser.cc parser.h $(DPFILE) $(OUTFILE) parser.cc.output - touch $(DPFILE) - - -$(DPFILE) depend : $(BASESRC) $(HEADERS) - $(CC) $(DPFLAGS) $(CFLAGS) $(BASESRC) > $(DPFILE) - -include $(DPFILE) diff --git a/old_not_used_files/lab3-4_old/Makefile.OLD b/old_not_used_files/lab3-4_old/Makefile.OLD deleted file mode 100644 index 62e966b36852c072c90bf96e4c4278e592b98de4..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/Makefile.OLD +++ /dev/null @@ -1,50 +0,0 @@ -CC = g++ -CFLAGS = -ggdb3 -Wall -Woverloaded-virtual -#CC = CC -#CFLAGS = -g +p +w -GCFLAGS = -g -LDFLAGS = -DPFLAGS = -MM - -BASESRC = symtab.cc string.cc ast.cc codegen.cc main.cc -SOURCES = $(BASE) parser.cc scanner.cc -BASEHDR = symtab.hh ast.hh string.hh codegen.hh -HEADERS = $(BASEHDR) parser.h -OBJECTS = $(SOURCES:%.cc=%.o) -OUTFILE = compiler - -FLEX = /home/komp/bin/flex -BISON = bison - -DPFILE = Makefile.dependencies - -all : $(OUTFILE) - -$(OUTFILE) : $(OBJECTS) - $(CC) -o $(OUTFILE) $(OBJECTS) $(LDFLAGS) - -parser.h parser.cc : parser.y Makefile - $(BISON) --defines --output-file=parser.cc parser.y - mv parser.cc.h parser.h - -scanner.cc : scanner.l Makefile - $(FLEX) scanner.l - -scanner.o : scanner.cc - $(CC) $(GCFLAGS) -c $< - -parser.o : parser.cc - $(CC) $(GCFLAGS) -c $< - -.cc.o: $(DPFILE) Makefile - $(CC) $(CFLAGS) -c $< - -clean : - rm -f $(OBJECTS) core *~ scanner.cc parser.cc parser.h $(DPFILE) $(OUTFILE) parser.cc.output - touch $(DPFILE) - - -$(DPFILE) depend : $(BASESRC) $(HEADERS) - $(CC) $(DPFLAGS) $(CFLAGS) $(BASESRC) > $(DPFILE) - -include $(DPFILE) diff --git a/old_not_used_files/lab3-4_old/Makefile.dependencies b/old_not_used_files/lab3-4_old/Makefile.dependencies deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/old_not_used_files/lab3-4_old/ast.cc b/old_not_used_files/lab3-4_old/ast.cc deleted file mode 100644 index 3a640a5a7ccb414626e0a6156f6442861c9515d1..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/ast.cc +++ /dev/null @@ -1,361 +0,0 @@ -#include "ast.hh" - - -int ASTNode::indentLevel = 0; -bool ASTNode::branches[10000]; - - -void ASTNode::beginChild(ostream& o) -{ - // indent(o); - // o << "|\n"; - indent(o); - o << "+-"; - branches[indentLevel] = true; - indentMore(); -} - -void ASTNode::endChild(ostream& o) -{ - o << ""; // Suppress warning - indentLess(); - if (branches[indentLevel]) - { - branches[indentLevel] = false; - } - else - { - // o << '\n'; - // indent(o); - } -} - -void ASTNode::lastChild(ostream& o) -{ - // indent(o); - // o << "|\n"; - indent(o); - o << "+-"; - branches[indentLevel] = false; - indentMore(); -} - -void ASTNode::print(ostream& o) -{ - o << "ASTNode"; -} - -void ASTNode::xprint(ostream& o, char *cls) -{ - o << "ASTNode (" << cls << ")"; -} - -void ASTNode::indent(ostream& o) -{ - int i; - - for (i = 0; i < indentLevel; i++) - { - if (branches[i]) - o << '|'; - else - o << ' '; - } -} - -void ASTNode::indentMore(void) -{ - indentLevel += 2; -} - -void ASTNode::indentLess(void) -{ - indentLevel -= 2; -} - -void StatementList::print(ostream& o) -{ - o << "StatementList (statement, preceding)\n"; - beginChild(o); - o << statement << '\n'; - endChild(o); - lastChild(o); - o << precedingStatements; - endChild(o); -} - -void Statement::print(ostream& o) -{ - o << "Statement"; -} - -void ElseIfList::print(ostream& o) -{ - o << "ElseIfList (preceding, condition, body)\n"; - beginChild(o); - o << preceding << '\n'; - endChild(o); - beginChild(o); - o << condition << '\n'; - endChild(o); - lastChild(o); - o << body; - endChild(o); -} - -void IfStatement::print(ostream& o) -{ - o << "IfStatement (condition, then, elseif, else)\n"; - beginChild(o); - o << condition << '\n'; - endChild(o); - beginChild(o); - o << thenStatements << '\n'; - endChild(o); - beginChild(o); - o << elseIfList << '\n'; - endChild(o); - lastChild(o); - o << elseStatements; - endChild(o); -} - -void Assignment::print(ostream& o) -{ - o << "Assignment (left, right)\n"; - beginChild(o); - o << target << '\n'; - endChild(o); - lastChild(o); - o << value; - endChild(o); -} - -void CallStatement::print(ostream& o) -{ - o << "CallStatement (call)\n"; - lastChild(o); - o << call; - endChild(o); -} - -void ReturnStatement::print(ostream& o) -{ - o << "ReturnStatement (value)\n"; - lastChild(o); - o << value; - endChild(o); -} - -void WhileStatement::print(ostream& o) -{ - o << "WhileStatement (condition, body)\n"; - beginChild(o); - o << condition << '\n'; - endChild(o); - lastChild(o); - o << body; - endChild(o); -} - -void Expression::print(ostream& o) -{ - o << "Expression [" - << ShortSymbols << valueType << LongSymbols - << "]\n"; -} - -void ExpressionList::print(ostream& o) -{ - o << "ExpressionList (expression, preceding)\n"; - beginChild(o); - o << expression << '\n'; - endChild(o); - lastChild(o); - o << precedingExpressions; - endChild(o); -} - -void FunctionCall::print(ostream& o) -{ - o << "FunctionCall (function, arguments) [" - << ShortSymbols << valueType << LongSymbols - << "]\n"; - beginChild(o); - o << ShortSymbols <<function << LongSymbols << '\n'; - endChild(o); - lastChild(o); - o << arguments; - endChild(o); -} - -void IntegerToReal::print(ostream& o) -{ - o << "IntegerToReal (value) [" - << ShortSymbols << valueType << LongSymbols - << "]\n"; - lastChild(o); - o << value; - endChild(o); -} - -void TruncateReal::print(ostream& o) -{ - o << "TruncateReal (value) [" - << ShortSymbols << valueType - << "]\n"; - lastChild(o); - o << value; - endChild(o); -} - -void IntegerConstant::print(ostream& o) -{ - o << "IntegerConstant (" << value << ") [" - << ShortSymbols << valueType << LongSymbols - << "]"; -} - -void RealConstant::print(ostream& o) -{ - o << "RealConstant (" << value << ") [" - << ShortSymbols << valueType << LongSymbols - << "]"; -} - -void BinaryOperation::print(ostream& o) -{ - xprint(o, "BinaryOperation"); -} - -void BinaryOperation::xprint(ostream& o, char *cls) -{ - o << cls << " (left, right) [" - << ShortSymbols << valueType << LongSymbols - << "]\n"; - beginChild(o); - o << left << '\n'; - endChild(o); - lastChild(o); - o << right; - endChild(o); -} - -void Plus::print(ostream& o) { xprint(o, "Plus"); } // -void Minus::print(ostream& o) { xprint(o, "Minus"); } -void Times::print(ostream& o) { xprint(o, "Times"); } -void Divide::print(ostream& o) {xprint(o, "Divide"); } -void Power::print(ostream& o) { xprint(o, "Power"); } - -void UnaryMinus::print(ostream& o) -{ - o << "UnaryMinus (right) [" - << ShortSymbols << valueType << LongSymbols - << "]\n"; - lastChild(o); - o << right; - endChild(o); -} - -void LeftValue::print(ostream& o) -{ - o << "LeftValue"; -} - -void ArrayReference::print(ostream& o) -{ - o << "ArrayReference (id, index)\n"; - beginChild(o); - o << ShortSymbols << id << LongSymbols << '\n'; - endChild(o); - lastChild(o); - o << index; - endChild(o); -} - -void Identifier::print(ostream& o) -{ - o << "Identifier ("; - if (id) - o << ShortSymbols << id << LongSymbols; - else - o << (void*)id; - o << ")"; -} - -void Condition::print(ostream& o) -{ - o << "Condition"; -} - -void BinaryRelation::print(ostream& o) -{ - xprint(o, "BinaryRelation"); -} - -void BinaryRelation::xprint(ostream& o, char *cls) -{ - o << cls << " (left, right)\n"; - beginChild(o); - o << left << '\n'; - endChild(o); - lastChild(o); - o << right; - endChild(o); -} - -void LessThan::print(ostream& o) { xprint(o, "LessThan"); } -void GreaterThan::print(ostream& o) { xprint(o, "GreaterThan"); } -void LessThanOrEqual::print(ostream& o) { xprint(o, "LessThanOrEqual"); } -void GreaterThanOrEqual::print(ostream& o) { xprint(o, "GreaterThanOrEqual"); } -void Equal::print(ostream& o) { xprint(o, "Equal"); } -void NotEqual::print(ostream& o) { xprint(o, "NotEqual"); } - -void BinaryCondition::print(ostream& o) -{ - xprint(o, "BinaryCondition"); -} - -void BinaryCondition::xprint(ostream& o, char *cls) -{ - o << cls << " (left, right)\n"; - beginChild(o); - o << left << '\n'; - endChild(o); - lastChild(o); - o << right; - endChild(o); -} - -void And::print(ostream& o) { xprint(o, "And"); } -void Or::print(ostream& o) { xprint(o, "Or"); } // - -void Not::print(ostream& o) -{ - o << "Not (right)\n"; - lastChild(o); - o << right; - endChild(o); -} - -void BooleanConstant::print(ostream& o) -{ - o << "BooleanConstant (" << (value?"TRUE":"FALSE") << ")"; -} - - - -ostream& operator<<(ostream& o, ASTNode *node) -{ - if (node == NULL) - o << (void*)node; - else - node->print(o); - return o; -} - -ostream& operator<<(ostream& o, ASTNode& node) -{ - node.print(o); - return o; -} diff --git a/old_not_used_files/lab3-4_old/ast.hh b/old_not_used_files/lab3-4_old/ast.hh deleted file mode 100644 index 367d4254b62d8bdeed33a7a6fe038d4537d2a41c..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/ast.hh +++ /dev/null @@ -1,626 +0,0 @@ -#ifndef __KOMP_AST__ -#define __KOMP_AST__ - -#include "symtab.hh" -#include "codegen.hh" - -class ASTNode; // X -class StatementList; // X -class Statement; // X -class ElseIfList; // X -class IfStatement; // X -class Assignment; // X -class CallStatement; // X -class ReturnStatement; // X -class WhileStatement; // X -class Expression; // X -class ExpressionList; // X -class FunctionCall; // X -class IntegerToReal; // X -class TruncateReal; // X -class IntegerConstant; // X -class RealConstant; // X -class BinaryOperation; // X -class Plus; // X -class Minus; // X -class Times; // X -class Divide; // X -class Power; // X -class UnaryMinus; // X -class LeftValue; // X -class ArrayReference; // X -class Identifier; // X -class Condition; // X -class BinaryRelation; // X -class BinaryCondition; // X -class LessThan; // X -class GreaterThan; // X -class GreaterThanOrEqual; // X -class LessThanOrEqual; // X -class Equal; // X -class NotEqual; // X -class BooleanConstant; // X - -typedef enum -{ -} ASTNodeType; - - -class ASTNode -{ -protected: - static int indentLevel; - static bool branches[10000]; - - void indent(ostream& o); - void indentMore(void); - void indentLess(void); - void beginChild(ostream& o); - void endChild(ostream& o); - void lastChild(ostream& o); - virtual void print(ostream& o); - virtual void xprint(ostream& o, char* cls); - -public: - virtual VariableInformation *GenerateCode(QuadsList &q) = 0; - virtual VariableInformation *GenerateCodeAndJump(QuadsList &q, - long label); - - friend ostream& operator<<(ostream&, ASTNode&); - friend ostream& operator<<(ostream&, ASTNode*); -}; - -ostream& operator<<(ostream&, ASTNode&); -ostream& operator<<(ostream&, ASTNode*); - - -class StatementList : public ASTNode -{ -protected: - virtual void print(ostream& o); -public: - Statement *statement; - StatementList *precedingStatements; - - StatementList(StatementList *l, Statement *s) : - statement(s), - precedingStatements(l) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class Statement : public ASTNode -{ -protected: - virtual void print(ostream& o); -public: - virtual VariableInformation *GenerateCode(QuadsList &q) = 0; -}; - -class ElseIfList : public ASTNode -{ -protected: - virtual void print(ostream& o); - -public: - ElseIfList *preceding; - Condition *condition; - StatementList *body; - - ElseIfList(ElseIfList *p, Condition *c, StatementList *b) : - preceding(p), - condition(c), - body (b) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); - virtual VariableInformation *GenerateCodeAndJump(QuadsList& q, - long lbl); -}; - -class IfStatement : public Statement -{ -protected: - virtual void print(ostream& o); - -public: - Condition *condition; - StatementList *thenStatements; - ElseIfList *elseIfList; - StatementList *elseStatements; - - IfStatement(Condition *c, - StatementList *ts, - ElseIfList *eif, - StatementList *es) : - condition(c), - thenStatements(ts), - elseIfList(eif), - elseStatements(es) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class Assignment : public Statement -{ -protected: - virtual void print(ostream& o); - -public: - LeftValue *target; - Expression *value; - - Assignment(LeftValue *l, Expression *r) : - target(l), - value(r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class CallStatement : public Statement -{ -protected: - virtual void print(ostream& o); - -public: - FunctionCall *call; - - CallStatement(FunctionCall *c) : - call(c) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class ReturnStatement : public Statement -{ -protected: - virtual void print(ostream& o); - -public: - Expression *value; - - ReturnStatement() : - value(NULL) {}; - ReturnStatement(Expression *e) : - value(e) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class WhileStatement : public Statement -{ -protected: - virtual void print(ostream& o); - -public: - Condition *condition; - StatementList *body; - - WhileStatement(Condition *c, StatementList *b) : - condition(c), - body(b) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - -class Expression : public ASTNode -{ -protected: - virtual void print(ostream& o); - -public: - TypeInformation *valueType; - - Expression(TypeInformation *t) : - valueType(t) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q) = 0; -}; - -class ExpressionList : public ASTNode -{ -protected: - virtual void print(ostream& o); - -public: - ExpressionList *precedingExpressions; - Expression *expression; - - ExpressionList(ExpressionList *pe, - Expression *e) : - precedingExpressions(pe), - expression(e) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); - virtual void GenerateParameterList(QuadsList &q, - VariableInformation *firstParam); -}; - -class FunctionCall : public Expression -{ -protected: - virtual void print(ostream& o); - -public: - FunctionInformation *function; - ExpressionList *arguments; - - FunctionCall(FunctionInformation *f, - ExpressionList *a) : - Expression(f->GetReturnType()), - function(f), - arguments(a) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class IntegerToReal : public Expression -{ -protected: - virtual void print(ostream& o); - -public: - Expression *value; - - IntegerToReal(Expression *e) : - Expression(kRealType), - value(e) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class TruncateReal : public Expression -{ -protected: - virtual void print(ostream& o); - -public: - Expression *value; - - TruncateReal(Expression *e) : - Expression(kIntegerType), - value(e) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class IntegerConstant : public Expression -{ -protected: - virtual void print(ostream& o); - -public: - long int value; - - IntegerConstant(long int v) : - value(v), - Expression(kIntegerType) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class RealConstant : public Expression -{ -protected: - virtual void print(ostream& o); - -public: - double value; - - RealConstant(double v) : - Expression(kRealType), - value(v) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class BinaryOperation : public Expression -{ -protected: - virtual void print(ostream& o); - virtual void xprint(ostream& o, char *); - -public: - Expression *left, *right; - - BinaryOperation(Expression *l, Expression *r) : - Expression(l->valueType), - left(l), - right(r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q) = 0; -}; - -class Plus : public BinaryOperation -{ -protected: - virtual void print(ostream& o); - -public: - Plus(Expression *l, Expression *r) : - BinaryOperation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - -class Minus : public BinaryOperation -{ -protected: - virtual void print(ostream& o); - -public: - Minus(Expression *l, Expression *r) : - BinaryOperation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - -class Times : public BinaryOperation -{ -protected: - virtual void print(ostream& o); - -public: - Times(Expression *l, Expression *r) : - BinaryOperation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - -class Divide : public BinaryOperation -{ -protected: - virtual void print(ostream& o); - -public: - Divide(Expression *l, Expression *r) : - BinaryOperation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - -class Power : public BinaryOperation -{ -protected: - virtual void print(ostream& o); - -public: - Power(Expression *l, Expression *r) : - BinaryOperation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - -class UnaryMinus : public Expression -{ -protected: - virtual void print(ostream& o); - -public: - Expression *right; - - UnaryMinus(Expression *e) : - Expression(e->valueType), - right(e) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - - -class LeftValue : public Expression -{ -protected: - virtual void print(ostream& o); - -public: - LeftValue(TypeInformation *t) : - Expression(t) {}; - - virtual void GenerateAssignment(QuadsList& q, - VariableInformation *val) = 0; - virtual VariableInformation *GenerateCode(QuadsList &q) = 0; -}; - -class ArrayReference : public LeftValue -{ -protected: - virtual void print(ostream& o); - -public: - VariableInformation *id; - Expression *index; - - ArrayReference(VariableInformation *i, - Expression *x) : - LeftValue(i->type->elementType), - id(i), - index(x) {}; - - virtual void GenerateAssignment(QuadsList& q, - VariableInformation *val); - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - -class Identifier : public LeftValue -{ -protected: - virtual void print(ostream& o); - -public: - VariableInformation *id; - - Identifier(VariableInformation *i) : - LeftValue(i->type), - id(i) {}; - - virtual void GenerateAssignment(QuadsList& q, - VariableInformation *val); - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - - -class Condition : public ASTNode -{ -protected: - virtual void print(ostream& o); - -public: - virtual VariableInformation *GenerateCode(QuadsList &q) = 0; -}; - -class BinaryRelation : public Condition -{ -protected: - virtual void print(ostream& o); - virtual void xprint(ostream& o, char *cls); - -public: - Expression *left; - Expression *right; - - BinaryRelation(Expression *l, Expression *r) : - left(l), - right(r) {}; - virtual VariableInformation *GenerateCode(QuadsList &q) = 0; -}; - -class LessThan : public BinaryRelation -{ -protected: - virtual void print(ostream& o); -public: - LessThan(Expression *l, Expression *r) : - BinaryRelation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class GreaterThan : public BinaryRelation -{ -protected: - virtual void print(ostream& o); -public: - GreaterThan(Expression *l, Expression *r) : - BinaryRelation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class GreaterThanOrEqual : public BinaryRelation -{ -protected: - virtual void print(ostream& o); -public: - GreaterThanOrEqual(Expression *l, Expression *r) : - BinaryRelation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class LessThanOrEqual : public BinaryRelation -{ -protected: - virtual void print(ostream& o); -public: - LessThanOrEqual(Expression *l, Expression *r) : - BinaryRelation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class Equal : public BinaryRelation -{ -protected: - virtual void print(ostream& o); -public: - Equal(Expression *l, Expression *r) : - BinaryRelation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class NotEqual : public BinaryRelation -{ -protected: - virtual void print(ostream& o); -public: - NotEqual(Expression *l, Expression *r) : - BinaryRelation(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - - -class BinaryCondition : public Condition -{ -protected: - virtual void print(ostream& o); - virtual void xprint(ostream&o, char *cls); - -public: - Condition *left, *right; - - BinaryCondition(Condition *l, Condition *r) : - left(l), - right(r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q) = 0; -}; - -class And : public BinaryCondition -{ -protected: - virtual void print(ostream& o); -public: - And(Condition *l, Condition *r) : - BinaryCondition(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class Or : public BinaryCondition -{ -protected: - virtual void print(ostream& o); -public: - Or(Condition *l, Condition *r) : - BinaryCondition(l, r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class Not : public Condition -{ -protected: - virtual void print(ostream& o); -public: - Condition *right; - - Not(Condition *r) : - right(r) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -class BooleanConstant : public Condition -{ -protected: - virtual void print(ostream& o); -public: - bool value; - - BooleanConstant(int v) : - value(v?true:false) {}; - - virtual VariableInformation *GenerateCode(QuadsList &q); -}; - -#endif diff --git a/old_not_used_files/lab3-4_old/codegen.cc b/old_not_used_files/lab3-4_old/codegen.cc deleted file mode 100644 index 95423cca81a53e8a48d0bf22c43f7dc33d7ebd31..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/codegen.cc +++ /dev/null @@ -1,962 +0,0 @@ -#include <iostream.h> -#include <iomanip.h> - -#include "ast.hh" -#include "symtab.hh" -#include "codegen.hh" - - -long QuadsList::labelCounter; - -#define USEQ { QuadsList *xyzzy = &q; xyzzy=xyzzy; } - - -/* - * ASTNode::GenerateCodeAndJump - * - * GenerateCodeAndJump is supposed to generate quads for part of the - * parse tree, but ensure that all exits from the code end up at a - * particular label. This is easy to do for most parts of the parse - * tree: just generate the code in the usual manner, then jump to the - * label. - */ - - -VariableInformation *ASTNode::GenerateCodeAndJump(QuadsList& q, - long label) -{ - VariableInformation *info; - - info = this->GenerateCode(q); - q += new Quad(jump, label, - (SymbolInformation *)NULL, (SymbolInformation *)NULL); - - return info; -} - - -/* ElseIfStatement::GenerateCodeAndJump - * - * Write the function that generates code for the elseif branches of - * an if statement. There are a couple of things to watch out for. - * The conditions must be tested in the correct order, or the program - * might misbehave. Once a condition tests true, do not test any more - * conditions (that's why we use GenerateCodeAndJump for this type - * of statement.) - */ - -VariableInformation *ElseIfList::GenerateCodeAndJump(QuadsList &q, - long lbl) -{ - long next; - VariableInformation *info; - - /* --- Your code here --- */ - - /* --- End your code --- */ - - return NULL; - -} - - -/* - * ArrayReference::GenerateAssignment - * - * Generate assignment code for an array reference. See the comment - * before Assignment::GenerateCode for more information. - */ - -void ArrayReference::GenerateAssignment(QuadsList& q, - VariableInformation *val) -{ - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -/* - * Identifier::GenerateAssignment - * - * Generate assignment code for an identifier. See the comment - * before Assignment::GenerateCode for more information. - */ - -void Identifier::GenerateAssignment(QuadsList& q, VariableInformation *val) -{ - if (val->type == NULL || id->type == NULL) - { - cerr << "Bug: you created an untyped variable.\n"; - abort(); - } - if (id->type == kIntegerType) - { - q += new Quad(iassign, val, NULL, id); - } - else if (id->type == kRealType) - { - q += new Quad(rassign, val, NULL, id); - } - else if (id->type == val->type) - { - q += new Quad(aassign, val, val->type->arrayDimensions, id); - } -} - - -/* - * StatementList::GenerateCode - * - * Generate code for a list of statements. Make sure the code comes - * out in the right order. - * - * Note: The impelementation here is absolutely ridiculous since it - * uses stack space proportional to the number of statements in the - * list. A more sensible definition would simply iterate down the - * list. This code is an example of what happens when someone with a - * degree in computer science is allowed to write code without regard - * for efficiency... - */ - -VariableInformation *StatementList::GenerateCode(QuadsList &q) -{ - if (precedingStatements != NULL) - { - precedingStatements->GenerateCode(q); - } - return statement->GenerateCode(q); -} - - -/* - * IfStatement::GenerateCode - * - * If statements, particularly those with elseif branches are actually - * quite involved. They tend to use a lot of jumps. For the elseif - * branches you'll probably want to use the GenerateCodeAndJump method - * of ElseIfStatement (which you're also supposed to write.) - */ - -VariableInformation *IfStatement::GenerateCode(QuadsList& q) -{ - /* --- Your code here ---*/ - - - /* --- End your code --- */ - - return NULL; -} - - -/* - * ElseIfList::GenerateCode - * - * You might figure out a way to write IfStatement::GenerateCode - * without relying on ElseIfStatement::GenerateCodeAndJump. If so, - * this method is where you should generate the code for the elseif - * part. Just remove the error message and call to abort. - */ - -VariableInformation *ElseIfList::GenerateCode(QuadsList& q) -{ - USEQ; - - /* --- Your code here --- */ - - /* --- End your code --- */ - - cerr << "Call to ElseIfList::GenerateCode. You probably didn't want to do this.\n"; // - abort(); -} - - -/* - * WhileStatement::GenerateCode - * - * Generate code for a while statement. This is pretty easy. - * Insert a label "entry", generate code for the condition, jump to - * label "exit" if the condition is false, insert the body and jump - * back to "entry". Finally insert the label "exit". - */ - -VariableInformation *WhileStatement::GenerateCode(QuadsList &q) -{ - long loopLabel, endLabel; - VariableInformation *info; - - loopLabel = q.NextLabel(); - endLabel = q.NextLabel(); - q += new Quad(clabel, loopLabel, NULL, NULL); - info = condition->GenerateCode(q); - q += new Quad(jfalse, endLabel, info, NULL); - body->GenerateCodeAndJump(q, loopLabel); - q += new Quad(clabel, endLabel, NULL, NULL); - - return NULL; -} - - -/* - * IntegerConstant::GenerateCode - * RealConstant::GenerateCode - * BooleanConstant::GenerateCode - * - * Simply uses the iconst/rconst quads to load the constant (which is - * stored in the parse tree into a temporary register. - */ - -VariableInformation *IntegerConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kIntegerType); - - q += new Quad(iconst, value, NULL, info); - return info; -} - -VariableInformation *RealConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kRealType); - - q += new Quad(rconst, value, NULL, info); - return info; -} - -VariableInformation *BooleanConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kIntegerType); - - q += new Quad(iconst, value ? 1L : 0L, NULL, info); - return info; -} - - -/* - * ArrayReference::GenerateCode - * - * Arrays are stored in memory, but the address to the first element - * in the array is stored in a variable (the id instance variable in - * the ArrayReference object.) Since we don't have a quad to do this - * for us, you'll have to use lower-level operations. Hint: the size - * field in the TypeInformation class will come in handy. - */ - -VariableInformation *ArrayReference::GenerateCode(QuadsList& q) -{ - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -/* - * Identifier::GenerateCode - * - * Generate code to get the value of an identifier. Actually, we don't - * need to generate any code at all. We just return the identifier. - */ - -VariableInformation *Identifier::GenerateCode(QuadsList& q) -{ - USEQ; - - return id; -} - -/* - * ReturnStatement::GenerateCode - * - * Generate code for a return statement. This is really - * straightforward. - */ - -VariableInformation *ReturnStatement::GenerateCode(QuadsList &q) -{ - VariableInformation *info; - - info = value->GenerateCode(q); - if (info->type != currentFunction->GetReturnType()) - { - cerr << "Bug: you forgot to typecheck return statements.\n"; - abort(); - } - - q += new Quad(creturn, NULL, NULL, info); - - return NULL; -} - - -/* - * ExpressionList::GenerateCode - * - * Whoa! If you call this, you're doing something very wrong! - * Expression lists are currently only used in the parameter - * list of a function call, but we might want to use them in - * other places too, such as in an initializer for an array. - */ - -VariableInformation *ExpressionList::GenerateCode(QuadsList& q) -{ - USEQ; - - cerr << "Bug: can't generate code for an ExpressionList.\n"; - abort(); -} - -void ExpressionList::GenerateParameterList(QuadsList &q, - VariableInformation *lastParam) -{ - VariableInformation *info; - - if (lastParam == NULL || - (lastParam->prev != NULL && precedingExpressions == NULL)) - { - cerr << "Bug: type checking of function params isn't good enough.\n"; - abort(); - } - - if (precedingExpressions) - precedingExpressions->GenerateParameterList(q, lastParam->prev); - - info = expression->GenerateCode(q); - - - if (expression->valueType == lastParam->type) - { - q += new Quad(param, info, NULL, NULL); - } - else - { - cerr << "Bug: type checking of function params isn't good enough.\n"; - abort(); - } -} - - - - - -/* - * Assignment::GenerateCode - * - * Assignments are kind of strange. Normally code generation is done - * by first generating code for all the children of a node, then - * adding some code for the node itself. In an assignment we need to - * do things a little differently. First we generate code for the - * value, then, since we need to generate very different code - * depending on what the LValue is, we let the GenerateAssignment - * method in the LeftValue subclasses generate the actual assignment - * code. - */ - -VariableInformation *Assignment::GenerateCode(QuadsList& q) -{ - VariableInformation *valueInfo; - - valueInfo = value->GenerateCode(q); - target->GenerateAssignment(q, valueInfo); - - return NULL; -} - -/* - * IntegerToReal::GenerateCode - * TruncateReal::GenerateCode - * - * This is so straightforward... - */ - -VariableInformation *IntegerToReal::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *valueInfo; - - if (value->valueType != kIntegerType) - { - cerr << "Bug: you're trying to convert a non-integer to a real.\n"; - } - - info = currentFunction->TemporaryVariable(kRealType); - valueInfo = value->GenerateCode(q); - q += new Quad(itor, valueInfo, NULL, info); - - return info; -} - -VariableInformation *TruncateReal::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *valueInfo; - - if (value->valueType != kRealType) - { - cerr << "Bug: you're trying to truncate a non-real.\n"; - } - - info = currentFunction->TemporaryVariable(kIntegerType); - valueInfo = value->GenerateCode(q); - q += new Quad(rtrunc, valueInfo, NULL, info); - - return info; -} - -/* - * - * This function is used to generate code for all kinds of binary - * operators and relations. The arguments to the function are the - * following: - * - * q The QuadsList onto which the generated code is placed. - * realop The quad to generate for the operator if the arguments - * are of type real. - * intop The quad to generate for the operator if the arguments - * are of type integer. - * left The AST for the left-hand side of the operator. The - * value type of this AST must be the same as that of the - * AST for the right-hand side. - * right The AST for the right-hand side of the operator. The - * value type of this AST must be the same as that of the - * AST for the left-hand side. - * node The operator node itself. You probably won't need this - * unless you want to print an error message. - * type If not NULL, this is the type of the result. This is - * used for relations, where the type of the result is - * always integer, even if the operands are real. If this - * parameter is NULL, then the type of the result is the - * same as the type of the operands (the parser needs to - * make sure that the operands have the same type.) - * - * See the GenerateCode methods for the binary operators for - * examples of how this function is used. - * - */ - -static VariableInformation *BinaryGenerateCode(QuadsList& q, - tQuadType realop, - tQuadType intop, - ASTNode *left, - ASTNode *right, - ASTNode *node, - TypeInformation *type = NULL) -{ - VariableInformation *leftInfo, *rightInfo, *result; - - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -/* - * Plus::GenerateCode - * Minus::GenerateCode - * Divide::GenerateCode - * Times::GenerateCode - * Power::GenerateCode - * - * All these are very similar, so they share a common function defined - * in this file. - */ - -VariableInformation *Plus::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, radd, iadd, left, right, this); -} - -VariableInformation *Minus::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rsub, isub, left, right, this); -} - -VariableInformation *Times::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rmul, imul, left, right, this); -} - -VariableInformation *Divide::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rdiv, idiv, left, right, this); -} - -VariableInformation *Power::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rpow, ipow, left, right, this); -} - -/* - * UnaryMinus::GenerateCode - * - * Generate code for the value expression, then subtract it from 0 - */ - -VariableInformation *UnaryMinus::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *result, *constInfo; - - info = right->GenerateCode(q); - result = currentFunction->TemporaryVariable(info->type); - constInfo = currentFunction->TemporaryVariable(info->type); - - if (info->type == kIntegerType) - { - q += new Quad(iconst, 0L, NULL, constInfo); - q += new Quad(isub, constInfo, info, result); - } - else if (info->type == kRealType) - { - q += new Quad(rconst, 0.0, NULL, constInfo); - q += new Quad(rsub, constInfo, info, result); - } - else - { - cerr << "Bug: unary minus of a non-numeric type.\n"; - abort(); - } - - return result; -} - - -/* - * LessThan::GenerateCode - * LessThanOrEqual::GenerateCode - * GreaterThan::GenerateCode - * GreaterThanOrEqual::GenerateCode - * Equal::GenerateCode - * NotEqual::GenerateCode - * - * To generate code for these relations, we'll use the BinaryGenerateCode - * function defined for binary operations. We'll also add some more - * quads for some of the operations. - */ - -VariableInformation *LessThan::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rlt, ilt, left, right, this, kIntegerType); -} - -VariableInformation *GreaterThan::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rgt, igt, left, right, this, kIntegerType); -} - -VariableInformation *Equal::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); -} - - -VariableInformation *LessThanOrEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0, *r1; - - r0 = BinaryGenerateCode(q, rlt, ilt, left, right, this, kIntegerType); - r1 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(ior, r0, r1, r1); - - return r1; -} - -VariableInformation *GreaterThanOrEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0, *r1; - - r0 = BinaryGenerateCode(q, rgt, igt, left, right, this, kIntegerType); - r1 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(ior, r0, r1, r1); - - return r1; -} - -VariableInformation *NotEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0; - - r0 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(inot, r0, NULL, r0); - return r0; -} - - -/* - * And::GenerateCode - * Or::GenerateCode - * Not::Generatecode - * - * The current versions of these functions do not short-circuit the - * logical connectives and and or. Rewrite them so that the test - * is aborted as soon as the result is known (for or, as soon as one - * of the conditions evaluates to true, and for and as soon as one - * condition evaluates to false.) - */ - - -VariableInformation *And::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, hcf, iand, left, right, this, kIntegerType); -} - -VariableInformation *Or::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, hcf, ior, left, right, this, kIntegerType); -} - -VariableInformation *Not::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *result; - - info = right->GenerateCode(q); - if (info->type != kIntegerType) - { - cerr << "Bug: not operator applied to a non-integer.\n"; - abort(); - } - - result = currentFunction->TemporaryVariable(kIntegerType); - q += new Quad(inot, info, NULL, result); - - return result; -} - -/* - * CallStatement::GenerateCode - * FunctionCall::GenerateCode - * - * Generate code for the parameter list by iterating over the - * actual arguments, then generate the function call itself. - */ - -VariableInformation *CallStatement::GenerateCode(QuadsList &q) -{ - return call->GenerateCode(q); -} - -VariableInformation *FunctionCall::GenerateCode(QuadsList& q) -{ - VariableInformation *info; - - if (arguments) - arguments->GenerateParameterList(q, function->GetLastParam()); - info = currentFunction->TemporaryVariable(function->GetReturnType()); - q += new Quad(call, function, NULL, info); - - return info; -} - - -/* ====================================================================== - * Quads and Quads Lists - */ - -QuadsList& QuadsList::operator+=(Quad *q) -{ - if (head == NULL) - { - head = new QuadsListElement(q, NULL); - tail = head; - } - else - { - tail->next = new QuadsListElement(q, NULL); - tail = tail->next; - } - - return *this; -} - -ostream& QuadsList::print(ostream& o) -{ - QuadsListElement *elem; - - o << " QuadsList @ " << (void *)this << "\n"; - o << ShortSymbols; - - elem = head; - while (elem) - { - o << elem->data << '\n'; - elem = elem->next; - } - - o << LongSymbols; - return o; -} - -ostream& Quad::print(ostream& o) -{ - o << " "; - switch(opcode) - { - case iconst: - o << setw(8) << "iconst " - << setw(8) << int1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case rconst: - o << setw(8) <<"rconst " - << setw(8) <<real1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case iaddr: - o << setw(8) <<"iaddr " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case itor: - o << setw(8) <<"itor " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case rtrunc: - o << setw(8) <<"rtrunc " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case iadd: - o << setw(8) << "iadd " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case isub: - o << setw(8) << "isub " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case imul: - o << setw(8) << "imul " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case idiv: - o << setw(8) << "idiv " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ipow: - o << setw(8) << "ipow " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case radd: - o << setw(8) << "radd " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rsub: - o << setw(8) << "rsub " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rmul: - o << setw(8) << "rmul " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rdiv: - o << setw(8) << "rdiv " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rpow: - o << setw(8) << "rpow " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case igt: - o << setw(8) << "igt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ilt: - o << setw(8) << "ilt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ieq: - o << setw(8) << "ieq " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rgt: - o << setw(8) << "rgt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rlt: - o << setw(8) << "rlt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case req: - o << setw(8) << "req " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case iand: - o << setw(8) << "iand " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ior: - o << setw(8) << "ior " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case inot: - o << setw(8) << "inot " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case jtrue: - o << setw(8) << "jtrue " - << setw(8) << int1 - << setw(8) << sym2 - << setw(8) << "-"; - break; - case jfalse: - o << setw(8) << "jfalse " - << setw(8) << int1 - << setw(8) << sym2 - << setw(8) << "-"; - break; - case jump: - o << setw(8) << "jump " - << setw(8) << int1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case clabel: - o << setw(8) << "clabel " - << setw(8) << int1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case istore: - o << setw(8) << "istore " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case iload: - o << setw(8) << "iload " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rstore: - o << setw(8) << "rstore " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rload: - o << setw(8) << "rload " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case creturn: - o << setw(8) << "creturn " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << sym3; - break; - case param: - o << setw(8) << "param " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case call: - o << setw(8) << "call " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case iassign: - o << setw(8) << "iassign " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rassign: - o << setw(8) << "rassign " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case aassign: - o << setw(8) << "aassign " - << setw(8) << sym1 - << setw(8) << int1 - << setw(8) << sym3; - break; - case hcf: - o << setw(8) << "hcf " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << "-"; - break; - case nop: - o << setw(8) << "nop " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << "-"; - break; - default: - o << "unknown (" << opcode << ")"; - break; - } - - return o; -} - - -ostream& operator<<(ostream& o, QuadsList *q) -{ - if (q != NULL) - return q->print(o); - else - return o << " QuadsList @ 0x0\n"; -} - -ostream& operator<<(ostream& o, QuadsList& q) -{ - return q.print(o); -} - -ostream& operator<<(ostream& o, Quad *q) -{ - if (q != NULL) - return q->print(o); - else - return o << " Quad @ 0x0"; -} - -ostream& operator<<(ostream& o, Quad& q) -{ - return q.print(o); -} diff --git a/old_not_used_files/lab3-4_old/codegen.cc.OLD b/old_not_used_files/lab3-4_old/codegen.cc.OLD deleted file mode 100644 index 8f0348184bc6a9fbb916346f14209f2df5cebf79..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/codegen.cc.OLD +++ /dev/null @@ -1,950 +0,0 @@ -#include <iostream.h> -#include <iomanip.h> - -#include "ast.hh" -#include "symtab.hh" -#include "codegen.hh" - - -long QuadsList::labelCounter; - -#define USEQ { QuadsList *xyzzy = &q; xyzzy=xyzzy; } - - -/* - * ASTNode::GenerateCodeAndJump - * - * GenerateCodeAndJump is supposed to generate quads for part of the - * parse tree, but ensure that all exits from the code end up at a - * particular label. This is easy to do for most parts of the parse - * tree: just generate the code in the usual manner, then jump to the - * label. - */ - - -VariableInformation *ASTNode::GenerateCodeAndJump(QuadsList& q, - long label) -{ - VariableInformation *info; - - info = this->GenerateCode(q); - q += new Quad(jump, label, - (SymbolInformation *)NULL, (SymbolInformation *)NULL); - - return info; -} - - -/* ElseIfStatement::GenerateCodeAndJump - * - * Write the function that generates code for the elseif branches of - * an if statement. There are a couple of things to watch out for. - * The conditions must be tested in the correct order, or the program - * might misbehave. Once a condition tests true, do not test any more - * conditions (that's why we use GenerateCodeAndJump for this type - * of statement.) - */ - -VariableInformation *ElseIfList::GenerateCodeAndJump(QuadsList &q, - long lbl) -{ - long next; - VariableInformation *info; - - /* --- Your code here --- */ - - /* --- End your code --- */ - - return NULL; - -} - - -/* - * ArrayReference::GenerateAssignment - * - * Generate assignment code for an array reference. See the comment - * before Assignment::GenerateCode for more information. - */ - -void ArrayReference::GenerateAssignment(QuadsList& q, - VariableInformation *val) -{ - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -/* - * Identifier::GenerateAssignment - * - * Generate assignment code for an identifier. See the comment - * before Assignment::GenerateCode for more information. - */ - -void Identifier::GenerateAssignment(QuadsList& q, VariableInformation *val) -{ - if (val->type == NULL || id->type == NULL) - { - cerr << "Bug: you created an untyped variable.\n"; - abort(); - } - if (id->type == kIntegerType) - { - q += new Quad(iassign, val, NULL, id); - } - else if (id->type == kRealType) - { - q += new Quad(rassign, val, NULL, id); - } - else if (id->type == val->type) - { - q += new Quad(aassign, val, val->type->arrayDimensions, id); - } -} - - -/* - * StatementList::GenerateCode - * - * Generate code for a list of statements. Make sure the code comes - * out in the right order. - * - * Note: The impelementation here is absolutely ridiculous since it - * uses stack space proportional to the number of statements in the - * list. A more sensible definition would simply iterate down the - * list. This code is an example of what happens when someone with a - * degree in computer science is allowed to write code without regard - * for efficiency... - */ - -VariableInformation *StatementList::GenerateCode(QuadsList &q) -{ - if (precedingStatements != NULL) - { - precedingStatements->GenerateCode(q); - } - return statement->GenerateCode(q); -} - - -/* - * IfStatement::GenerateCode - * - * If statements, particularly those with elseif branches are actually - * quite involved. They tend to use a lot of jumps. For the elseif - * branches you'll probably want to use the GenerateCodeAndJump method - * of ElseIfStatement (which you're also supposed to write.) - */ - -VariableInformation *IfStatement::GenerateCode(QuadsList& q) -{ - /* --- Your code here ---*/ - - - /* --- End your code --- */ - - return NULL; -} - - -/* - * ElseIfStatement::GenerateCode - * - * You might figure out a way to write IfStatement::GenerateCode - * without relying on ElseIfStatement::GenerateCodeAndJump. If so, - * this method is where you should generate the code for the elseif - * part. Just remove the error message and call to abort. - */ - -VariableInformation *ElseIfList::GenerateCode(QuadsList& q) -{ - USEQ; - - /* --- Your code here --- */ - - /* --- End your code --- */ - - cerr << "Call to ElseIfList::GenerateCode. You probably didn't want to do this.\n"; // - abort(); -} - - -/* - * WhileStatement::GenerateCode - * - * Generate code for a while statement. This is pretty easy. - * Insert a label "entry", generate code for the condition, jump to - * label "exit" if the condition is false, insert the body and jump - * back to "entry". Finally insert the label "exit". - */ - -VariableInformation *WhileStatement::GenerateCode(QuadsList &q) -{ - long loopLabel, endLabel; - VariableInformation *info; - - loopLabel = q.NextLabel(); - endLabel = q.NextLabel(); - q += new Quad(clabel, loopLabel, NULL, NULL); - info = condition->GenerateCode(q); - q += new Quad(jfalse, endLabel, info, NULL); - body->GenerateCodeAndJump(q, loopLabel); - q += new Quad(clabel, endLabel, NULL, NULL); - - return NULL; -} - - -/* - * IntegerConstant::GenerateCode - * RealConstant::GenerateCode - * BooleanConstant::GenerateCode - * - * Simply uses the iconst/rconst quads to load the constant (which is - * stored in the parse tree into a temporary register. - */ - -VariableInformation *IntegerConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kIntegerType); - - q += new Quad(iconst, value, NULL, info); - return info; -} - -VariableInformation *RealConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kRealType); - - q += new Quad(rconst, value, NULL, info); - return info; -} - -VariableInformation *BooleanConstant::GenerateCode(QuadsList& q) -{ - VariableInformation *info = - currentFunction->TemporaryVariable(kIntegerType); - - q += new Quad(iconst, value ? 1L : 0L, NULL, info); - return info; -} - - -/* - * ArrayReference::GenerateCode - * - * Arrays are stored in memory, but the address to the first element - * in the array is stored in a variable (the id instance variable in - * the ArrayReference object.) Since we don't have a quad to do this - * for us, you'll have to use lower-level operations. Hint: the size - * field in the TypeInformation class will come in handy. - */ - -VariableInformation *ArrayReference::GenerateCode(QuadsList& q) -{ - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -/* - * Identifier::GenerateCode - * - * Generate code to get the value of an identifier. Actually, we don't - * need to generate any code at all. We just return the identifier. - */ - -VariableInformation *Identifier::GenerateCode(QuadsList& q) -{ - USEQ; - - return id; -} - -/* - * ReturnStatement::GenerateCode - * - * Generate code for a return statement. This is really - * straightforward. - */ - -VariableInformation *ReturnStatement::GenerateCode(QuadsList &q) -{ - VariableInformation *info; - - info = value->GenerateCode(q); - if (info->type != currentFunction->GetReturnType()) - { - cerr << "Bug: you forgot to typecheck return statements.\n"; - abort(); - } - - q += new Quad(creturn, NULL, NULL, info); - - return NULL; -} - - -/* - * ExpressionList::GenerateCode - * - * Whoa! If you call this, you're doing something very wrong! - * Expression lists are currently only used in the parameter - * list of a function call, but we might want to use them in - * other places too, such as in an initializer for an array. - */ - -VariableInformation *ExpressionList::GenerateCode(QuadsList& q) -{ - USEQ; - - cerr << "Bug: can't generate code for an ExpressionList.\n"; - abort(); -} - -void ExpressionList::GenerateParameterList(QuadsList &q, - VariableInformation *lastParam) -{ - VariableInformation *info; - - if (lastParam == NULL || - (lastParam->prev != NULL && precedingExpressions == NULL)) - { - cerr << "Bug: type checking of function params isn't good enough.\n"; - abort(); - } - - if (precedingExpressions) - precedingExpressions->GenerateParameterList(q, lastParam->prev); - - info = expression->GenerateCode(q); - - - if (expression->valueType == lastParam->type) - { - q += new Quad(param, info, NULL, NULL); - } - else - { - cerr << "Bug: type checking of function params isn't good enough.\n"; - abort(); - } -} - - - - - -/* - * Assignment::GenerateCode - * - * Assignments are kind of strange. Normally code generation is done - * by first generating code for all the children of a node, then - * adding some code for the node itself. In an assignment we need to - * do things a little differently. First we generate code for the - * value, then, since we need to generate very different code - * depending on what the LValue is, we let the GenerateAssignment - * method in the LeftValue subclasses generate the actual assignment - * code. - */ - -VariableInformation *Assignment::GenerateCode(QuadsList& q) -{ - VariableInformation *valueInfo; - - valueInfo = value->GenerateCode(q); - target->GenerateAssignment(q, valueInfo); - - return NULL; -} - -/* - * IntegerToReal::GenerateCode - * TruncateReal::GenerateCode - * - * This is so straightforward... - */ - -VariableInformation *IntegerToReal::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *valueInfo; - - if (value->valueType != kIntegerType) - { - cerr << "Bug: you're trying to convert a non-integer to a real.\n"; - } - - info = currentFunction->TemporaryVariable(kRealType); - valueInfo = value->GenerateCode(q); - q += new Quad(itor, valueInfo, NULL, info); - - return info; -} - -VariableInformation *TruncateReal::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *valueInfo; - - if (value->valueType != kRealType) - { - cerr << "Bug: you're trying to truncate a non-real.\n"; - } - - info = currentFunction->TemporaryVariable(kIntegerType); - valueInfo = value->GenerateCode(q); - q += new Quad(rtrunc, valueInfo, NULL, info); - - return info; -} - -/* - * - * This function is used to generate code for all kinds of binary - * operators and relations. The arguments to the function are the - * following: - * - * q The QuadsList onto which the generated code is placed. - * realop The quad to generate for the operator if the arguments - * are of type real. - * intop The quad to generate for the operator if the arguments - * are of type integer. - * left The AST for the left-hand side of the operator. The - * value type of this AST must be the same as that of the - * AST for the right-hand side. - * right The AST for the right-hand side of the operator. The - * value type of this AST must be the same as that of the - * AST for the left-hand side. - * node The operator node itself. You probably won't need this - * unless you want to print an error message. - * type If not NULL, this is the type of the result. This is - * used for relations, where the type of the result is - * always integer, even if the operands are real. If this - * parameter is NULL, then the type of the result is the - * same as the type of the operands (the parser needs to - * make sure that the operands have the same type.) - * - * See the GenerateCode methods for the binary operators for - * examples of how this function is used. - * - */ - -static VariableInformation *BinaryGenerateCode(QuadsList& q, - tQuadType realop, - tQuadType intop, - ASTNode *left, - ASTNode *right, - ASTNode *node, - TypeInformation *type = NULL) -{ - VariableInformation *leftInfo, *rightInfo, *result; - - /* --- Your code here --- */ - - /* --- End your code --- */ -} - -VariableInformation *Plus::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, radd, iadd, left, right, this); -} - -VariableInformation *Minus::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rsub, isub, left, right, this); -} - -VariableInformation *Times::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rmul, imul, left, right, this); -} - -VariableInformation *Divide::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rdiv, idiv, left, right, this); -} - -VariableInformation *Power::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rpow, ipow, left, right, this); -} - -/* - * UnaryMinus::GenerateCode - * - * Generate code for the value expression, then subtract it from 0 */ - -VariableInformation *UnaryMinus::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *result, *constInfo; - - info = right->GenerateCode(q); - result = currentFunction->TemporaryVariable(info->type); - constInfo = currentFunction->TemporaryVariable(info->type); - - if (info->type == kIntegerType) - { - q += new Quad(iconst, 0L, NULL, constInfo); - q += new Quad(isub, constInfo, info, result); - } - else if (info->type == kRealType) - { - q += new Quad(rconst, 0.0, NULL, constInfo); - q += new Quad(rsub, constInfo, info, result); - } - else - { - cerr << "Bug: unary minus of a non-numeric type.\n"; - abort(); - } - - return result; -} - - -/* - * LessThan::GenerateCode - * LessThanOrEqual::GenerateCode - * GreaterThan::GenerateCode - * GreaterThanOrEqual::GenerateCode - * Equal::GenerateCode - * NotEqual::GenerateCode - * - * To generate code for these relations, we'll use the BinaryGenerateCode - * function defined for binary operations. We'll also add some more - * quads for some of the operations. - */ - -VariableInformation *LessThan::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rlt, ilt, left, right, this, kIntegerType); -} - -VariableInformation *GreaterThan::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, rgt, igt, left, right, this, kIntegerType); -} - -VariableInformation *Equal::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); -} - - -VariableInformation *LessThanOrEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0, *r1; - - r0 = BinaryGenerateCode(q, rlt, ilt, left, right, this, kIntegerType); - r1 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(ior, r0, r1, r1); - - return r1; -} - -VariableInformation *GreaterThanOrEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0, *r1; - - r0 = BinaryGenerateCode(q, rgt, igt, left, right, this, kIntegerType); - r1 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(ior, r0, r1, r1); - - return r1; -} - -VariableInformation *NotEqual::GenerateCode(QuadsList& q) -{ - VariableInformation *r0; - - r0 = BinaryGenerateCode(q, req, ieq, left, right, this, kIntegerType); - q += new Quad(inot, r0, NULL, r0); - return r0; -} - - -/* - * And::GenerateCode - * Or::GenerateCode - * Not::Generatecode - * - * The current versions of these functions do not short-circuit the - * logical connectives and and or. Rewrite them so that the test - * is aborted as soon as the result is known (for or, as soon as one - * of the conditions evaluates to true, and for and as soon as one - * condition evaluates to false.) - */ - - -VariableInformation *And::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, hcf, iand, left, right, this, kIntegerType); -} - -VariableInformation *Or::GenerateCode(QuadsList& q) -{ - return BinaryGenerateCode(q, hcf, ior, left, right, this, kIntegerType); -} - -VariableInformation *Not::GenerateCode(QuadsList& q) -{ - VariableInformation *info, *result; - - info = right->GenerateCode(q); - if (info->type != kIntegerType) - { - cerr << "Bug: not operator applied to a non-integer.\n"; - abort(); - } - - result = currentFunction->TemporaryVariable(kIntegerType); - q += new Quad(inot, info, NULL, result); - - return result; -} - -/* - * CallStatement::GenerateCode - * FunctionCall::GenerateCode - * - * Generate code for the parameter list by iterating over the - * actual arguments, then generate the function call itself. - */ - -VariableInformation *CallStatement::GenerateCode(QuadsList &q) -{ - return call->GenerateCode(q); -} - -VariableInformation *FunctionCall::GenerateCode(QuadsList& q) -{ - VariableInformation *info; - - if (arguments) - arguments->GenerateParameterList(q, function->GetLastParam()); - info = currentFunction->TemporaryVariable(function->GetReturnType()); - q += new Quad(call, function, NULL, info); - - return info; -} - - -/* ====================================================================== - * Quads and Quads Lists - */ - -QuadsList& QuadsList::operator+=(Quad *q) -{ - if (head == NULL) - { - head = new QuadsListElement(q, NULL); - tail = head; - } - else - { - tail->next = new QuadsListElement(q, NULL); - tail = tail->next; - } - - return *this; -} - -ostream& QuadsList::print(ostream& o) -{ - QuadsListElement *elem; - - o << " QuadsList @ " << (void *)this << "\n"; - o << ShortSymbols; - - elem = head; - while (elem) - { - o << elem->data << '\n'; - elem = elem->next; - } - - o << LongSymbols; - return o; -} - -ostream& Quad::print(ostream& o) -{ - o << " "; - switch(opcode) - { - case iconst: - o << setw(8) << "iconst " - << setw(8) << int1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case rconst: - o << setw(8) <<"rconst " - << setw(8) <<real1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case iaddr: - o << setw(8) <<"iaddr " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case itor: - o << setw(8) <<"itor " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case rtrunc: - o << setw(8) <<"rtrunc " - << setw(8) <<sym1 - << setw(8) <<"-" - << setw(8) <<sym3; - break; - case iadd: - o << setw(8) << "iadd " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case isub: - o << setw(8) << "isub " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case imul: - o << setw(8) << "imul " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case idiv: - o << setw(8) << "idiv " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ipow: - o << setw(8) << "ipow " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case radd: - o << setw(8) << "radd " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rsub: - o << setw(8) << "rsub " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rmul: - o << setw(8) << "rmul " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rdiv: - o << setw(8) << "rdiv " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rpow: - o << setw(8) << "rpow " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case igt: - o << setw(8) << "igt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ilt: - o << setw(8) << "ilt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ieq: - o << setw(8) << "ieq " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rgt: - o << setw(8) << "rgt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case rlt: - o << setw(8) << "rlt " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case req: - o << setw(8) << "req " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case iand: - o << setw(8) << "iand " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case ior: - o << setw(8) << "ior " - << setw(8) << sym1 - << setw(8) << sym2 - << setw(8) << sym3; - break; - case inot: - o << setw(8) << "inot " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case jtrue: - o << setw(8) << "jtrue " - << setw(8) << int1 - << setw(8) << sym2 - << setw(8) << "-"; - break; - case jfalse: - o << setw(8) << "jfalse " - << setw(8) << int1 - << setw(8) << sym2 - << setw(8) << "-"; - break; - case jump: - o << setw(8) << "jump " - << setw(8) << int1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case clabel: - o << setw(8) << "clabel " - << setw(8) << int1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case istore: - o << setw(8) << "istore " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case iload: - o << setw(8) << "iload " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rstore: - o << setw(8) << "rstore " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rload: - o << setw(8) << "rload " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case creturn: - o << setw(8) << "creturn " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << sym3; - break; - case param: - o << setw(8) << "param " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << "-"; - break; - case call: - o << setw(8) << "call " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case iassign: - o << setw(8) << "iassign " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case rassign: - o << setw(8) << "rassign " - << setw(8) << sym1 - << setw(8) << "-" - << setw(8) << sym3; - break; - case aassign: - o << setw(8) << "aassign " - << setw(8) << sym1 - << setw(8) << int1 - << setw(8) << sym3; - break; - case hcf: - o << setw(8) << "hcf " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << "-"; - break; - case nop: - o << setw(8) << "nop " - << setw(8) << "-" - << setw(8) << "-" - << setw(8) << "-"; - break; - default: - o << "unknown (" << opcode << ")"; - break; - } - - return o; -} - - -ostream& operator<<(ostream& o, QuadsList *q) -{ - if (q != NULL) - return q->print(o); - else - return o << " QuadsList @ 0x0\n"; -} - -ostream& operator<<(ostream& o, QuadsList& q) -{ - return q.print(o); -} - -ostream& operator<<(ostream& o, Quad *q) -{ - if (q != NULL) - return q->print(o); - else - return o << " Quad @ 0x0"; -} - -ostream& operator<<(ostream& o, Quad& q) -{ - return q.print(o); -} diff --git a/old_not_used_files/lab3-4_old/codegen.hh b/old_not_used_files/lab3-4_old/codegen.hh deleted file mode 100644 index d6eff4c1fdd4b8c6d4a04814f5282344eed47a63..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/codegen.hh +++ /dev/null @@ -1,194 +0,0 @@ -#ifndef __KOMP_CODEGEN__ -#define __KOMP_CODEGEN__ - - -// -// Quad types -// -// Quads that start with an `i' take integer arguments and return -// integer results, with a few exceptions. Operations that start with -// an `r' take real arguments and return real results. -// -// - -typedef enum -{ - // Constants and stuff - - iconst, // Set register to integer constant: iconst <c> - <reg> - rconst, // Set register to real constant : rconst <c> - <reg> - iaddr, // Load base addr of a into reg : iaddr <a> - <reg> - itor, // Convert integer in src to real : itor <src> - <reg> - rtrunc, // Truncate real in src : rtrunc <src> - <reg> - - // Arithmetic operations - - iadd, // Add integers a, b giving int r : iadd <a> <b> <r> - isub, // Subtract b from a giving int r : isub <a> <b> <r> - imul, // Multiply a by b giving int r : imul <a> <b> <r> - idiv, // Divide a by b and truncate reslt: idiv <a> <b> <r> - ipow, // Raise x to the power of y (ints): ipow <x> <y> <r> - radd, // Add reals a, b giving real r : radd <a> <b> <r> - rsub, // Subtract b from a giving real r : rsub <a> <b> <r> - rmul, // Multiply a by b giving real r : rmul <a> <b> <r> - rdiv, // Divide a by b giving real r : rdiv <a> <b> <r> - rpow, // Raise x to y (reals) : rpow <x> <y> <r> - - // Comparisons - - igt, // If a > b, then r = 1, else r = 0: igt <a> <b> <r> - ilt, // If a < b, then r = 1, else r = 0: ilt <a> <b> <r> - ieq, // If a = b, then r = 1, else r = 0: ieq <a> <b> <r> - rgt, // If a > b, then r = 1, else r = 0: rgt <a> <b> <r> - rlt, // If a < b, then r = 1, else r = 0: rlt <a> <b> <r> - req, // If a = b, then r = 1, else r = 0: req <a> <b> <r> - - // Conjunctions - - iand, // If a && b then r = 1, else r = 0: iand <a> <b> <r> - ior, // If a || b then r = 1, else r = 0: ior <a> <b> <r> - inot, // If !a then r = 1, else r = 0 : inot <a> - <r> - - // Jumps - - jtrue, // Jump to label l if r is nonzero : jtrue <l> <r> - - jfalse, // Jump to label l if r is zero : jfalse <l> <r> - - jump, // Jump to label l : jump <l> - - - clabel, // Label l : clabel <l> - - - - // Memory operations - - istore, // Store r to memory location a : istore <r> - <a> - iload, // Load memory location a to r : iload <a> - <r> - rstore, // Store r to memory location a : istore <r> - <a> - rload, // Load memory location a to r : iload <a> - <r> - - // Parameters and stuff - - creturn, // Exit function and return r : return - - <r> - param, // Push parameter p : param <p> - - - call, // Call function f, return in r : call <f> - <r> - - // Assignments - - iassign, // Assign integer to register p : iassign <r> - <p> - rassign, // Assign real to register p : rassign <r> - <p> - aassign, // Assign n-elem array from r to p : aassign <r> <n> <p> - - // Just end the enum - - hcf, // Crash. If this is generated, you've got a bug. - nop // Do nothing : nop - - - - -} tQuadType; - - -class Quad -{ -private: - ostream& print(ostream&); - -public: - tQuadType opcode; - - // - // Arguments. Make sure you initialize the right ones! - // - - SymbolInformation *sym1; - SymbolInformation *sym2; - SymbolInformation *sym3; - long int1; - long int2; - long int3; - double real1; - double real2; - double real3; - - - Quad(tQuadType o, - SymbolInformation *a, SymbolInformation *b, SymbolInformation *c) : - opcode(o), - sym1(a), - sym2(b), - sym3(c) - {}; - - Quad(tQuadType o, long a, SymbolInformation* b, SymbolInformation* c) : - opcode(o), - sym2(b), - sym3(c), - int1(a) - {}; - - Quad(tQuadType o, SymbolInformation *a, long b, SymbolInformation *c) : - opcode(o), - sym1(a), - sym3(c), - int2(b) - {}; - - - Quad(tQuadType o, - double a, SymbolInformation *b, SymbolInformation *c) : - opcode(o), - sym2(b), - sym3(c), - real1(a) - {}; - - friend ostream& operator<<(ostream&, Quad*); - friend ostream& operator<<(ostream&, Quad&); -}; - - -class QuadsListIterator; - -class QuadsList -{ - class QuadsListElement - { - public: - Quad *data; - QuadsListElement *next; - - QuadsListElement(Quad *d, QuadsListElement *n) : - data(d), - next(n) {}; - ~QuadsListElement() { delete data; next = NULL; } - }; - - QuadsListElement *head, *tail; - static long labelCounter; - - ostream& print(ostream&); - -public: - QuadsList() : - head(NULL), - tail(NULL) {}; - - QuadsList& operator+=(Quad *q); - long NextLabel(void) { return (labelCounter += 1); }; - - friend class QuadsListIterator; - friend ostream& operator<<(ostream&, QuadsList*); - friend ostream& operator<<(ostream&, QuadsList&); -}; - -class QuadsListIterator -{ - QuadsList::QuadsListElement *elem; - -public: - QuadsListIterator(QuadsList *ql) : - elem(ql->head) {}; - - Quad *Next(void) { - elem = elem ? elem->next : (QuadsList::QuadsListElement*)NULL; - return elem ? (Quad*)NULL : elem->data; - }; -}; - - -#endif diff --git a/old_not_used_files/lab3-4_old/function.hh b/old_not_used_files/lab3-4_old/function.hh deleted file mode 100644 index 8037a0bb6553df9e8c7bd28491bfa5ab3fdfd9b5..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/function.hh +++ /dev/null @@ -1,114 +0,0 @@ -#ifndef __KOMP_FUNCTION__ -#define __KOMP_FUNCTION__ - -/* - * SymbolInformationType is used to tag object subclassed from - * SymbolInformation. The value of SymbolInformation's type field - * specified which subclass the object belongs to. - */ - -typedef enum -{ - kFunctionInformation, - kVariableInformation, - kTypeInformation, -} SymbolInformationType; - - -/* - * SymbolInformation is the base class for all information about - * symbols. It is never used directly; use the subclasses instead - */ - -class SymbolInformation -{ -public: - SymbolInformationType type; - string id; - SymbolTable *table; - - SymbolInformation(SymbolInformationType t) : type(t) {}; -}; - - -/* - * FunctionInformation represents information stored about a function - * in the symbol table. It contains the return type of the function, a - * pointer to the functions's first parameter and a pointer to the - * symbol table for the function. - */ - -class FunctionInformation : SymbolInformation -{ -public: - TypeInformation *returnType; - VariableInformation *firstParam; - SymbolTable *symbolTable; - - - FunctionInformation() : SymbolInformationType(kFunctionInformation) {}; - - void SetParent(FunctionInformation *); - void SetReturnType(TypeInformation *); - void SetName(string&); - - char AddParameter(string&, TypeInformation *); - char AddVariable(string&, TypeInformation *); - char AddArrayType(TypeInformation *, int); -}; - - -/* - * VariableInformation represents information stored about a variable - * in the symbol table. It contains a type field which specifies - * the type of the variable and a next field which is used to link - * together parameters and local variables in a symbol table. - */ - -class VariableInformation : SymbolInformation -{ -public: - TypeInformation *type; - VariableInformation *next; - - VariableInformation() : SymbolInformation(kVariableInformation) {}; -}; - -class TypeInformation : SymbolInformation -{ -public: - TypeInformation *elementType; - int arrayDimensions; - - TypeInformation() : SymbolInformation(kTypeInformation) {}; -} - - - - -/* - * SymbolTable is a symbol table. You'll never really use this - * directly. Instead, use the methods in the FunctionInformation - * class for adding and looking up variables in the symbol table - */ - - -class SymbolTableElement -{ -public: - SymbolInformation *info; - SymbolTableElement *next; -}; - -class SymbolTable -{ -public: - SymbolTableElement **table; - static int nextTemporary; - - void AddSymbol(SymbolInformation *); - SymbolInformation *LookupSymbol(string&); - - VariableInformation *GenTemp(TypeInformation *); -}; - diff --git a/old_not_used_files/lab3-4_old/main.cc b/old_not_used_files/lab3-4_old/main.cc deleted file mode 100644 index 1d5644cea957e21ca102dd08b76385ad290ca316..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/main.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include <stdlib.h> -#include <stdio.h> -#include <iostream.h> -#include "ast.hh" -#include "parser.h" -#include "symtab.hh" - -extern int yyparse(void); -extern int yydebug; -extern int errorCount; -extern int warningCount; - -static char *optionString = "dh"; - -void Usage(char *program) -{ - cerr << "Usage:\n" - << program << " [-d] [filename]\n" - << program << " -h\n" - << "\n" - << "Options:\n" - << " -h Shows this message.\n" - << " -d Turn on parser debugging.\n"; - - exit(1); -} - -int main(int argc, char **argv) -{ - int option; - extern FILE *yyin; - - // - // Set up the symbol table - // - - currentFunction = new FunctionInformation("main."); - kIntegerType = new TypeInformation("integer", sizeof(long)); - kRealType = new TypeInformation("real", sizeof(double)); - - kFPrintFunction = new FunctionInformation("putreal"); - kIPrintFunction = new FunctionInformation("putint"); - kFReadFunction = new FunctionInformation("getreal"); - kIReadFunction = new FunctionInformation("getint"); - - kIPrintFunction->SetReturnType(kIntegerType); - kIPrintFunction->AddParameter("x", kIntegerType); - kFPrintFunction->SetReturnType(kIntegerType); - kFPrintFunction->AddParameter("x", kRealType); - kIReadFunction->SetReturnType(kIntegerType); - kFReadFunction->SetReturnType(kRealType); - - currentFunction->AddSymbol(kIntegerType); - currentFunction->AddSymbol(kRealType); - currentFunction->AddSymbol(kIPrintFunction); - currentFunction->AddSymbol(kFPrintFunction); - currentFunction->AddSymbol(kIReadFunction); - currentFunction->AddSymbol(kFReadFunction); - - // - // Check command-line arguments - // - - opterr = 0; - optopt = '?'; - while ((option = getopt(argc, argv, optionString)) != EOF) - { - switch (option) - { - case 'd': - yydebug = 1; - break; - case 'h': - Usage(argv[0]); - break; - case '?': - Usage(argv[0]); - break; - } - } - - if (argv[optind]) - { - yyin = fopen(argv[optind], "r"); - if (yyin == NULL) - { - perror(argv[optind]); - exit(1); - } - optind += 1; - } - - if (optind < argc) - Usage(argv[0]); - - // - // Compile the input - // - - yyparse(); - - return 0; -} - diff --git a/old_not_used_files/lab3-4_old/parser.y b/old_not_used_files/lab3-4_old/parser.y deleted file mode 100644 index 2bdcc933f6b1408224ba11f17c1fc45ce685b26d..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/parser.y +++ /dev/null @@ -1,802 +0,0 @@ -%{ -#include <stdlib.h> -#include <iostream.h> -#include "string.hh" -#include "ast.hh" -#include "symtab.hh" - -extern char *yytext; -extern int yylineno, errorCount, warningCount; -extern FunctionInformation *currentFunction; - -extern int yylex(void); -extern void yyerror(char *); -extern char CheckCompatibleTypes(Expression **, Expression **); -extern char CheckAssignmentTypes(LeftValue **, Expression **); -extern char CheckFunctionParameters(FunctionInformation *, - VariableInformation *, - ExpressionList *); -char CheckReturnType(Expression **, TypeInformation *); -extern ostream& error(void); -extern ostream& warning(void); - -#define YYDEBUG 1 -%} - -/* - * We have multiple semantic types. The first couple of rules return - * various kinds of symbol table information. The rules for the - * program statements return nodes in the abstract syntax tree. - * - * The %union declaration declares all the kinds of data that - * can be return. %type declarations later on will specify which - * rules return what. - */ - -%union -{ - ASTNode *ast; - Expression *expression; - ExpressionList *expressionList; - Statement *statement; - StatementList *statementList; - Condition *condition; - ArrayReference *aref; - FunctionCall *call; - LeftValue *lvalue; - ElseIfList *elseIfList; - - VariableInformation *variable; - TypeInformation *type; - FunctionInformation *function; - - string *id; - int integer; - double real; - void *null; -} - -%type <expression> expression -%type <expressionList> expressions expressionz -%type <statement> ifstmt whilestmt returnstmt callstmt assignstmt -%type <statement> statement -%type <statementList> statements block elsepart -%type <condition> condition -%type <aref> aref -%type <call> call -%type <lvalue> lvalue -%type <type> type -%type <id> id -%type <integer> integer -%type <real> real -%type <function> funcname -%type <variable> variable -%type <elseIfList> elseifpart - -/* - * Normally tokens would have semantic types, but we've decided to - * use the yytext variable for communicating data from the scanner - * to the parser, so in this parser, none of the tokens have a - * semantic type. - */ - -%token FUNCTION ID DECLARE ARRAY INTEGER OF REAL XBEGIN XEND IF THEN -%token ELSE WHILE DO ASSIGN RETURN GE LE EQ NE ARRAY TRUE FALSE PROGRAM -%token ELSEIF - - -/* --- Your code here --- - * - * For expressions and conditions you'll have to specify - * precedence and associativity (unless you factor the - * rules for expressions and conditions.) This is where - * the precedence and associativity declarations go. - */ - -/* --- End your code --- */ - -/* - * Here we define the start symbol of the grammar. We could have done - * without this, since the first rule in the grammar is a rule for - * program, but declaring the start symbol is still good form. - */ - -%start program - -%% - - -/* - * A program is simply a list of variables, functions and - * a code block. Very similar to a function really. - */ - -program : variables functions block ';' - { - if (errorCount == 0) - { - currentFunction->SetBody($3); - /* currentFunction->GenerateCode(); */ - cout << currentFunction; - } - } - ; - -/* - * We use this rule for all variable declarations. - * Although parameters look almost the same, they - * behave differently, so it's practical to have - * separate rules for them. - */ - -variables : DECLARE declarations - | error declarations - | /* Empty */ - ; - -declarations: declarations declaration - | declaration - ; - -declaration : id ':' type ';' - { - if (currentFunction->OkToAddSymbol(*($1))) - { - if ($3 != NULL) - currentFunction->AddVariable(*($1), $3); - } - else - { - error() << *($1) << " is already declared\n" << flush; - } - } - | error ';' - { - yyerrok; - } - ; - - -/* - * This rule represents a list of functions. It uses the - * function production which is expected to return a - * pointer to something of type Function. - */ - -functions : functions function - | /* Empty */ - ; - - -/* --- Your code here --- - * - * Write the function production. Take care to enter and exit - * scope correctly. You'll need to understand how shift-reduce - * parsing works and when actions are run to do this. - * - * Solutions that rely on shift-time actions will not be - * acceptable. You should be able to solve the problem - * using actions at reduce time only. - * - * In lab 4 you also need to generate code for functions after parsing - * them. Just calling GeneratCode in the function should do the trick. - */ - - -/* --- End your code --- */ - - -/* - * Parameter lists are defined by the following three - * productions. Most of the work is done by the AddParameter - * function in the Function class - */ - -parameters : '(' paramlist ')' - | '(' error ')' - | /* Empty */ - ; - -paramlist : paramlist ';' parameter - | parameter - ; - -parameter : id ':' type - { - if (currentFunction->OkToAddSymbol(*($1))) - { - currentFunction->AddParameter(*($1), $3); - } - else - { - error() << *($1) << " already defined\n" << flush; - currentFunction->AddParameter(*($1), $3); - } - } - ; - -/* - * Types are rather important. We have two different types. - * First there are the primitive types, integer and real. Then - * we have arrays. - * - * We want types to be considered equivalent if they have the - * same definition. We do this by creating temporary types for - * arrays and giving them names that encode all the information - * in the type. We do this my concatenating the element type - * with the dimension in angle brackets, e.g. INTEGER<10>. This - * is safe since such names are not legal in the source code. - * - */ - -type : id - { - SymbolInformation *info; - TypeInformation *typeInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() << "undefined type " << *($1) << "\n" << flush; - $$ = NULL; - } - else - { - typeInfo = info->SymbolAsType(); - - if (typeInfo == NULL) - { - error() << *($1) << " is not a type" << "\n" <<flush; - $$ = NULL; - } - else - { - $$ = typeInfo; - } - } - } - | ARRAY integer OF type - { - if ($4 == NULL) - { - error() << "can't create arrays of invalid tpyes\n" - << flush; - $$ = NULL; - } - else if ($4->elementType != NULL) - { - error() << "can't do arrays of arrays\n" << flush; - $$ = NULL; - } - else - { - $$ = currentFunction->AddArrayType($4, $2); - } - } - ; - - - -/* - * The rest of the grammar deals with statements and such - */ - - -block : XBEGIN statements XEND - { - $$ = $2; - } - ; - -statements : statements statement - { - if ($2 == NULL) - $$ = NULL; - else - $$ = new StatementList($1, $2) - } - | /* Empty */ - { - $$ = NULL; - } - ; - -statement : ifstmt ';' - | assignstmt ';' - | callstmt ';' - | returnstmt ';' - | whilestmt ';' - | error ';' { yyerrok; $$ = NULL; } - ; - - -ifstmt : IF condition THEN block elseifpart elsepart - { - if ($2 == NULL || $4 == NULL) - $$ = NULL; - else - $$ = new IfStatement($2, $4, $5, $6); - } - ; - - -elseifpart : elseifpart ELSEIF condition THEN block - { - if ($3 == NULL || $5 == NULL) - $$ = NULL; - else - $$ = new ElseIfList($1, $3, $5); - } - | /* Empty */ - { - $$ = NULL; - } - ; - - -elsepart : ELSE block IF - { - $$ = $2; - } - | IF - { - $$ = NULL; - } - ; - - -assignstmt : lvalue ASSIGN expression - { - LeftValue *left; - Expression *right; - - left = $1; - right = $3; - if (left == NULL || right == NULL) - { - $$ = NULL; - } - else if (!CheckAssignmentTypes(&left, &right)) - { - error() << "Incompatible types in assignment.\n" - << flush; - $$ = NULL; - } - else - { - $$ = new Assignment(left, right); - } - } - ; - - -callstmt : call - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new CallStatement($1); - } - ; - - -returnstmt : RETURN expression - { - if ($2 == NULL) - $$ = NULL; - else - { - Expression *expr; - - expr = $2; - if (!CheckReturnType(&expr, - currentFunction->GetReturnType())) - { - error() << "incompatible return type in " - << currentFunction->id << '\n'; - error() << " attempt to return " - << ShortSymbols << expr->valueType << '\n'; - error() << " in function declared to return " - << ShortSymbols - << currentFunction->GetReturnType() - << LongSymbols << '\n'; - $$ = NULL; - } - else - { - $$ = new ReturnStatement(expr); - } - } - } - ; - - -whilestmt : WHILE condition DO block WHILE - { - if ($2 == NULL || $4 == NULL) - $$ = NULL; - else - $$ = new WhileStatement($2, $4); - } - ; - - -lvalue : variable - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new Identifier($1); - } - | aref - { - $$ = $1; - } - ; - - -variable : id - { - SymbolInformation *info; - VariableInformation *varInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() - << "undeclared variable: " - << *($1) - << "\n" - << flush; - - $$ = NULL; - } - else - { - varInfo = info->SymbolAsVariable(); - - if (varInfo == NULL) - { - error() - << "identifier " - << *($1) - << " is not a variable\n" - << flush; - $$ = NULL; - } - else - { - $$ = varInfo; - } - } - } - - -funcname : id - { - SymbolInformation *info; - FunctionInformation *funcInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() << *($1) << " is not defined\n" << flush; - $$ = NULL; - } - else - { - funcInfo = info->SymbolAsFunction(); - - if (funcInfo == NULL) - { - error() << *($1) << " is not a function\n" << flush; - $$ = NULL; - } - else - { - $$ = funcInfo; - } - } - } - - -aref : variable '[' expression ']' - { - if ($1 == NULL || $3 == NULL) - $$ = NULL; - else - $$ = new ArrayReference($1, $3); - } - | variable '[' error ']' - { - $$ = NULL; - } - ; - - -call : funcname '(' expressions ')' - { - if ($1 == NULL) - $$ = NULL; - else - { - if (CheckFunctionParameters($1, $1->GetLastParam(), $3)) - { - $$ = new FunctionCall($1, $3); - } - else - { - $$ = NULL; - } - } - } - | funcname '(' error ')' - { - $$ = NULL; - } - ; - - -id : ID - { - $$ = new string(yytext); - } - ; - - -integer : INTEGER - { - $$ = atoi(yytext); - } - ; - - -real : REAL - { - $$ = atof(yytext); - } - ; - -/* --- Your code here --- - * - * Insert the expression grammar here - * The start symbol of the expression grammar is - * expression. This is important since it's used - * in a number of other places. - * - * Make sure that your code creates itor nodes in the - * AST wherever necessary and that it only created - * trees for expressions with compatible types! - */ - - -/* --- End your code --- */ - - -expressions : expressionz - { - $$ = $1; - } - | /* Empty */ - { - $$ = NULL; - } - ; - - -expressionz : expressionz ',' expression - { - if ($3 == NULL) - $$ = NULL; - else - $$ = new ExpressionList($1, $3); - } - | expression - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new ExpressionList(NULL, $1); - } - ; - - -/* --- Your code here --- - * - * Insert the condition grammar here - * The start symbol is condition. It's used - * elsewhere, so make sure you get it right. - */ - - -/* --- End your code --- */ - - -%% - -int errorCount = 0; -int warningCount = 0; - - -/* --- Your code here --- - * - * Insert utility functions that you think you need here. - */ - -/* It is reasonable to believe that you will need a function - * that checks that two expressions are of compatible types, - * and if possible makes a type conversion. - * For your convenience a skeleton for such a function is - * provided below. It will be very similar to CheckAssignmentTypes. - */ - -/* - * CheckCompatibleTypes checks that the expressions indirectly pointed - * to by left and right are compatible. If type conversion is - * necessary, the pointers left and right point to will be modified to - * point to the node representing type conversion. That's why you have - * to pass a pointer to pointer to Expression in these arguments. - */ - -char CheckCompatibleTypes(Expression **left, Expression **right) -{ - return 0; -} - -/* --- End your code --- */ - - -/* - * CheckAssignmentTypes is similar to CheckCompatibleTypes, but in - * this case left is never modified since it represents an lvalue. - */ - -char CheckAssignmentTypes(LeftValue **left, Expression **right) -{ - if (*left == NULL || *right == NULL) - return 1; - - if ((*left)->valueType == (*right)->valueType) - { - return 1; - } - if ((*left)->valueType == kRealType && (*right)->valueType == kRealType) - { - return 1; - } - if ((*left)->valueType == kIntegerType && - (*right)->valueType == kIntegerType) - { - return 1; - } - if ((*left)->valueType == kIntegerType && (*right)->valueType == kRealType) - { - *right = new TruncateReal(*right); - return 1; - } - if ((*left)->valueType == kRealType && (*right)->valueType == kIntegerType) - { - *right = new IntegerToReal(*right); - return 1; - } - - return 0; -} - - -/* - * CheckFunctionParameters is used to check parameters passed to a - * function. func is the function we're passing parameters to, formals - * is a pointer to the last formal parameter we're checking against - * and params is a pointer to the ExpressionList we're checking. If - * type conversion is necessary, the Expressions pointed to by the - * ExpressionList will be modified accordingly. - * - * This function prints it's own error messages. - */ - -char CheckFunctionParameters(FunctionInformation *func, - VariableInformation *formals, - ExpressionList *params) -{ - if (formals == NULL && params == NULL) - { - return 1; - } - else if (formals == NULL && params != NULL) - { - error() << "too many arguments in call to " << func->id << '\n' - << flush; - return 0; - } - else if (formals != NULL && params == NULL) - { - error() << "too few arguments in call to " << func->id << '\n' - << flush; - return 0; - } - else - { - if (CheckFunctionParameters(func, formals->prev, - params->precedingExpressions)) - { - if (formals->type == params->expression->valueType) - { - return 1; - } - else if (formals->type == kIntegerType && - params->expression->valueType == kRealType) - { - params->expression = new TruncateReal(params->expression); - return 1; - } - else if (formals->type == kRealType && - params->expression->valueType == kIntegerType) - { - params->expression = new IntegerToReal(params->expression); - return 1; - } - else - { - error() << "incompatible types in call to " - << func->id - << '\n' - << flush; - error() << " parameter " - << formals->id - << " was declared " - << ShortSymbols - << formals->type - << '\n' - << flush; - error() << " argument was of type " - << params->expression->valueType - << '\n' - << LongSymbols << flush; - return 0; - } - } - } -} - - -char CheckReturnType(Expression **expr, TypeInformation *info) -{ - if (info == NULL || *expr == NULL) - return 1; - - if ((*expr)->valueType == info) - return 1; - - if ((*expr)->valueType == kIntegerType && info == kRealType) - { - *expr = new IntegerToReal(*expr); - return 1; - } - - if ((*expr)->valueType == kRealType && info == kIntegerType) - { - *expr = new TruncateReal(*expr); - return 1; - } - - return 0; -} - - -void yyerror(char *message) -{ - error() << message << '\n' << flush; -} - -ostream& error(void) -{ - errorCount += 1; - return cerr << yylineno << " Error: "; -} - -ostream& warning(void) -{ - warningCount += 1; - return cerr << yylineno << " Warning: "; -} diff --git a/old_not_used_files/lab3-4_old/parser.y.OLD b/old_not_used_files/lab3-4_old/parser.y.OLD deleted file mode 100644 index 01e57b319877a198cb199cfe5884729d7506da19..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/parser.y.OLD +++ /dev/null @@ -1,781 +0,0 @@ -%{ -#include <stdlib.h> -#include <iostream.h> -#include "string.hh" -#include "ast.hh" -#include "symtab.hh" - -extern char *yytext; -extern int yylineno, errorCount, warningCount; -extern FunctionInformation *currentFunction; - -extern int yylex(void); -extern void yyerror(char *); -extern char CheckAssignmentTypes(LeftValue **, Expression **); -extern char CheckFunctionParameters(FunctionInformation *, - VariableInformation *, - ExpressionList *); -char CheckReturnType(Expression **, TypeInformation *); -extern ostream& error(void); -extern ostream& warning(void); - -#define YYDEBUG 1 -%} - -/* - * We have multiple semantic types. The first couple of rules return - * various kinds of symbol table information. The rules for the - * program statements return nodes in the abstract syntax tree. - * - * The %union declaration declares all the kinds of data that - * can be return. %type declarations later on will specify which - * rules return what. - */ - -%union -{ - ASTNode *ast; - Expression *expression; - ExpressionList *expressionList; - Statement *statement; - StatementList *statementList; - Condition *condition; - ArrayReference *aref; - FunctionCall *call; - LeftValue *lvalue; - ElseIfList *elseIfList; - - VariableInformation *variable; - TypeInformation *type; - FunctionInformation *function; - - string *id; - int integer; - double real; - void *null; -} - -%type <expression> expression -%type <expressionList> expressions expressionz -%type <statement> ifstmt whilestmt returnstmt callstmt assignstmt -%type <statement> statement -%type <statementList> statements block elsepart -%type <condition> condition -%type <aref> aref -%type <call> call -%type <lvalue> lvalue -%type <type> type -%type <id> id -%type <integer> integer -%type <real> real -%type <function> funcname -%type <variable> variable -%type <elseIfList> elseifpart - -/* - * Normally tokens would have semantic types, but we've decided to - * use the yytext variable for communicating data from the scanner - * to the parser, so in this parser, none of the tokens have a - * semantic type. - */ - -%token FUNCTION ID DECLARE ARRAY INTEGER OF REAL XBEGIN XEND IF THEN -%token ELSE WHILE DO ASSIGN RETURN GE LE EQ NE ARRAY TRUE FALSE PROGRAM -%token ELSEIF - - -/* --- Your code here --- - * - * For expressions and conditions you'll have to specify - * precedence and associativity (unless you factor the - * rules for expressions and conditions.) This is where - * the precedence and associativity declarations go. - */ - -/* --- End your code --- */ - -/* - * Here we define the start symbol of the grammar. We could have done - * without this, since the first rule in the grammar is a rule for - * program, but declaring the start symbol is still good form. - */ - -%start program - -%% - - -/* - * A program is simply a list of variables, functions and - * a code block. Very similar to a function really. - */ - -program : variables functions block ';' - { - if (errorCount == 0) - { - currentFunction->SetBody($3); - /* currentFunction->GenerateCode(); */ - cout << currentFunction; - } - } - ; - -/* - * We use this rule for all variable declarations. - * Although parameters look almost the same, they - * behave differently, so it's practical to have - * separate rules for them. - */ - -variables : DECLARE declarations - | error declarations - | /* Empty */ - ; - -declarations: declarations declaration - | declaration - ; - -declaration : id ':' type ';' - { - if (currentFunction->OkToAddSymbol(*($1))) - { - if ($3 != NULL) - currentFunction->AddVariable(*($1), $3); - } - else - { - error() << *($1) << " is already declared\n" << flush; - } - } - | error ';' - { - yyerrok; - } - ; - - -/* - * This rule represents a list of functions. It uses the - * function production which is expected to return a - * pointer to something of type Function. - */ - -functions : functions function - | /* Empty */ - ; - - -/* --- Your code here --- - * - * Write the function production. Take care to enter and exit - * scope correctly. You'll need to understand how shift-reduce - * parsing works and when actions are run to do this. - * - * Solutions that rely on shift-time actions will not be - * acceptable. You should be able to solve the problem - * using actions at reduce time only. - * - * In lab 4 you also need to generate code for functions after parsing - * them. Just calling GeneratCode in the function should do the trick. - */ - - -/* --- End your code --- */ - - -/* - * Parameter lists are defined by the following three - * productions. Most of the work is done by the AddParameter - * function in the Function class - */ - -parameters : '(' paramlist ')' - | '(' error ')' - | /* Empty */ - ; - -paramlist : paramlist ';' parameter - | parameter - ; - -parameter : id ':' type - { - if (currentFunction->OkToAddSymbol(*($1))) - { - currentFunction->AddParameter(*($1), $3); - } - else - { - error() << *($1) << " already defined\n" << flush; - currentFunction->AddParameter(*($1), $3); - } - } - ; - -/* - * Types are rather important. We have two different types. - * First there are the primitive types, integer and real. Then - * we have arrays. - * - * We want types to be considered equivalent if they have the - * same definition. We do this by creating temporary types for - * arrays and giving them names that encode all the information - * in the type. We do this my concatenating the element type - * with the dimension in angle brackets, e.g. INTEGER<10>. This - * is safe since such names are not legal in the source code. - * - */ - -type : id - { - SymbolInformation *info; - TypeInformation *typeInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() << "undefined type " << *($1) << "\n" << flush; - $$ = NULL; - } - else - { - typeInfo = info->SymbolAsType(); - - if (typeInfo == NULL) - { - error() << *($1) << " is not a type" << "\n" <<flush; - $$ = NULL; - } - else - { - $$ = typeInfo; - } - } - } - | ARRAY integer OF type - { - if ($4 == NULL) - { - error() << "can't create arrays of invalid tpyes\n" - << flush; - $$ = NULL; - } - else if ($4->elementType != NULL) - { - error() << "can't do arrays of arrays\n" << flush; - $$ = NULL; - } - else - { - $$ = currentFunction->AddArrayType($4, $2); - } - } - ; - - - -/* - * The rest of the grammar deals with statements and such - */ - - -block : XBEGIN statements XEND - { - $$ = $2; - } - ; - -statements : statements statement - { - if ($2 == NULL) - $$ = NULL; - else - $$ = new StatementList($1, $2) - } - | /* Empty */ - { - $$ = NULL; - } - ; - -statement : ifstmt ';' - | assignstmt ';' - | callstmt ';' - | returnstmt ';' - | whilestmt ';' - | error ';' { yyerrok; $$ = NULL; } - ; - - -ifstmt : IF condition THEN block elseifpart elsepart - { - if ($2 == NULL) - $$ = NULL; - else - $$ = new IfStatement($2, $4, $5, $6); - } - ; - - -elseifpart : elseifpart ELSEIF condition THEN block - { - if ($3 == NULL || $5 == NULL) - $$ = NULL; - else - $$ = new ElseIfList($1, $3, $5); - } - | /* Empty */ - { - $$ = NULL; - } - ; - - -elsepart : ELSE block IF - { - $$ = $2; - } - | IF - { - $$ = NULL; - } - ; - - -assignstmt : lvalue ASSIGN expression - { - LeftValue *left; - Expression *right; - - left = $1; - right = $3; - if (left == NULL || right == NULL) - { - $$ = NULL; - } - else if (!CheckAssignmentTypes(&left, &right)) - { - error() << "Incompatible types in assignment.\n" - << flush; - $$ = NULL; - } - else - { - $$ = new Assignment(left, right); - } - } - ; - - -callstmt : call - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new CallStatement($1); - } - ; - - -returnstmt : RETURN expression - { - if ($2 == NULL) - $$ = NULL; - else - { - Expression *expr; - - expr = $2; - if (!CheckReturnType(&expr, - currentFunction->GetReturnType())) - { - error() << "incompatible return type in " - << currentFunction->id << '\n'; - error() << " attempt to return " - << ShortSymbols << expr->valueType << '\n'; - error() << " in function declared to return " - << ShortSymbols - << currentFunction->GetReturnType() - << LongSymbols << '\n'; - $$ = NULL; - } - else - { - $$ = new ReturnStatement(expr); - } - } - } - ; - - -whilestmt : WHILE condition DO block WHILE - { - if ($2 == NULL || $4 == NULL) - $$ = NULL; - else - $$ = new WhileStatement($2, $4); - } - ; - - -lvalue : variable - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new Identifier($1); - } - | aref - { - $$ = $1; - } - ; - - -variable : id - { - SymbolInformation *info; - VariableInformation *varInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() - << "undeclared variable: " - << *($1) - << "\n" - << flush; - - $$ = NULL; - } - else - { - varInfo = info->SymbolAsVariable(); - - if (varInfo == NULL) - { - error() - << "identifier " - << *($1) - << " is not a variable\n" - << flush; - $$ = NULL; - } - else - { - $$ = varInfo; - } - } - } - - -funcname : id - { - SymbolInformation *info; - FunctionInformation *funcInfo; - - info = currentFunction->LookupIdentifier(*($1)); - if (info == NULL) - { - error() << *($1) << " is not defined\n" << flush; - $$ = NULL; - } - else - { - funcInfo = info->SymbolAsFunction(); - - if (funcInfo == NULL) - { - error() << *($1) << " is not a function\n" << flush; - $$ = NULL; - } - else - { - $$ = funcInfo; - } - } - } - - -aref : variable '[' expression ']' - { - if ($1 == NULL || $3 == NULL) - $$ = NULL; - else - $$ = new ArrayReference($1, $3); - } - | variable '[' error ']' - { - $$ = NULL; - } - ; - - -call : funcname '(' expressions ')' - { - if ($1 == NULL) - $$ = NULL; - else - { - if (CheckFunctionParameters($1, $1->GetLastParam(), $3)) - { - $$ = new FunctionCall($1, $3); - } - else - { - $$ = NULL; - } - } - } - | funcname '(' error ')' - { - $$ = NULL; - } - ; - - -id : ID - { - $$ = new string(yytext); - } - ; - - -integer : INTEGER - { - $$ = atoi(yytext); - } - ; - - -real : REAL - { - $$ = atof(yytext); - } - ; - -/* --- Your code here --- - * - * Insert the expression grammar here - * The start symbol of the expression grammar is - * expression. This is important since it's used - * in a number of other places. - * - * Make sure that your code creates itor nodes in the - * AST wherever necessary and that it only created - * trees for expressions with compatible types! - */ - - -/* --- End your code --- */ - - -expressions : expressionz - { - $$ = $1; - } - | /* Empty */ - { - $$ = NULL; - } - ; - - -expressionz : expressionz ',' expression - { - if ($3 == NULL) - $$ = NULL; - else - $$ = new ExpressionList($1, $3); - } - | expression - { - if ($1 == NULL) - $$ = NULL; - else - $$ = new ExpressionList(NULL, $1); - } - ; - - -/* --- Your code here --- - * - * Insert the condition grammar here - * The start symbol is condition. It's used - * elsewhere, so make sure you get it right. - */ - - -/* --- End your code --- */ - - -%% - -int errorCount = 0; -int warningCount = 0; - - -/* --- Your code here --- - * - * Insert utility functions that you think you need here. - */ - -/* --- End your code --- */ - - -/* - * CheckAssignmentTypes is similar to CheckCompatibleTypes, but in - * this case left is never modified since it represents an lvalue. - */ - -char CheckAssignmentTypes(LeftValue **left, Expression **right) -{ - if (*left == NULL || *right == NULL) - return 1; - - if ((*left)->valueType == (*right)->valueType) - { - return 1; - } - if ((*left)->valueType == kRealType && (*right)->valueType == kRealType) - { - return 1; - } - if ((*left)->valueType == kIntegerType && - (*right)->valueType == kIntegerType) - { - return 1; - } - if ((*left)->valueType == kIntegerType && (*right)->valueType == kRealType) - { - *right = new TruncateReal(*right); - return 1; - } - if ((*left)->valueType == kRealType && (*right)->valueType == kIntegerType) - { - *right = new IntegerToReal(*right); - return 1; - } - - return 0; -} - - -/* - * CheckFunctionParameters is used to check parameters passed to a - * function. func is the function we're passing parameters to, formals - * is a pointer to the last formal parameter we're checking against - * and params is a pointer to the ExpressionList we're checking. If - * type conversion is necessary, the Expressions pointed to by the - * ExpressionList will be modified accordingly. - * - * This function prints it's own error messages. - */ - -char CheckFunctionParameters(FunctionInformation *func, - VariableInformation *formals, - ExpressionList *params) -{ - if (formals == NULL && params == NULL) - { - return 1; - } - else if (formals == NULL && params != NULL) - { - error() << "too many arguments in call to " << func->id << '\n' - << flush; - return 0; - } - else if (formals != NULL && params == NULL) - { - error() << "too few arguments in call to " << func->id << '\n' - << flush; - return 0; - } - else - { - if (CheckFunctionParameters(func, formals->prev, - params->precedingExpressions)) - { - if (formals->type == params->expression->valueType) - { - return 1; - } - else if (formals->type == kIntegerType && - params->expression->valueType == kRealType) - { - params->expression = new TruncateReal(params->expression); - return 1; - } - else if (formals->type == kRealType && - params->expression->valueType == kIntegerType) - { - params->expression = new IntegerToReal(params->expression); - return 1; - } - else - { - error() << "incompatible types in call to " - << func->id - << '\n' - << flush; - error() << " parameter " - << formals->id - << " was declared " - << ShortSymbols - << formals->type - << '\n' - << flush; - error() << " argument was of type " - << params->expression->valueType - << '\n' - << LongSymbols << flush; - return 0; - } - } - } -} - - -char CheckReturnType(Expression **expr, TypeInformation *info) -{ - if (info == NULL || *expr == NULL) - return 1; - - if ((*expr)->valueType == info) - return 1; - - if ((*expr)->valueType == kIntegerType && info == kRealType) - { - *expr = new IntegerToReal(*expr); - return 1; - } - - if ((*expr)->valueType == kRealType && info == kIntegerType) - { - *expr = new TruncateReal(*expr); - return 1; - } - - return 0; -} - - -void yyerror(char *message) -{ - error() << message << '\n' << flush; -} - -ostream& error(void) -{ - errorCount += 1; - return cerr << yylineno << " Error: "; -} - -ostream& warning(void) -{ - warningCount += 1; - return cerr << yylineno << " Warning: "; -} diff --git a/old_not_used_files/lab3-4_old/scanner.l b/old_not_used_files/lab3-4_old/scanner.l deleted file mode 100644 index d5c5765f5a9128ffd9dcdd5dacb5f88419a279f6..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/scanner.l +++ /dev/null @@ -1,80 +0,0 @@ -%{ -#include "symtab.hh" -#include "ast.hh" -#include "parser.h" - -/* --- Your code here --- - * - * This is where C declarations go. If you need to include - * files for the actions below, this is where you do it. - */ - -/* --- End your code --- */ - -extern void yyerror(char *); -%} - -%option yylineno -%option noyywrap -%option 8bit -%option caseless -%option nodefault -%option outfile="scanner.cc" - -/* --- Your code here --- - * - * This is where Flex declarations go. If you need to include - * any such declarations, this is where you do it. - */ - -%x comment - -/* --- End your code --- */ - -%% - -if return IF; -then return THEN; -elseif return ELSEIF; -else return ELSE; -begin return XBEGIN; -end return XEND; -while return WHILE; -function return FUNCTION; -program return PROGRAM; -return return RETURN; -declare return DECLARE; -do return DO; -and return AND; -or return OR; -not return NOT; -:= return ASSIGN; -">=" return GE; -"<=" return LE; -== return EQ; -"<>" return NE; -array return ARRAY; -of return OF; - - -\/\/.*$ /* Skip single-line comment */ -"/\*" BEGIN(comment); - -<comment> -{ - "\*/" BEGIN(INITIAL); - "/\*" yyerror("Suspicious comment"); - . /* Skip stuff in comments */ - \n /* skip newlines, prevents jamming too */ -} - -[ \t\n]+ /* Skip whitespacs */ - - -[[:alpha:]][[:alnum:]]* return ID; -([0-9]+) return INTEGER; -([0-9]+\.[0-9]*|\.[0-9]+)(E(\+|-)?[0-9]+)? return REAL; - -. return yytext[0]; - -%% diff --git a/old_not_used_files/lab3-4_old/string.cc b/old_not_used_files/lab3-4_old/string.cc deleted file mode 100644 index 3217acdaff7f7d918f000c7068b71e122693f0f1..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/string.cc +++ /dev/null @@ -1,334 +0,0 @@ -#include <stdlib.h> -#include <malloc.h> -#include <string.h> -#include <ctype.h> -#include <strstream.h> -#include "string.hh" - -#ifndef MAX -#define MAX(a,b) ((a)>(b)?(a):(b)) -#endif - - -void string::ensure_size(int request) -{ - if (request > size) - { - if (request - size < chunk_size) - request = size + chunk_size; - if (text == NULL) - { - text = (char *)malloc(request); - if (text == NULL) - abort(); - } - else - { - text = (char *)realloc(text, request); - if (text == NULL) - abort(); - } - size = request; - } -} - -void string::upcase(void) -{ - int i; - - for (i = 0; i < position; i++) - { - text[i] = toupper(text[i]); - } -} - -void string::downcase(void) -{ - int i; - - for (i = 0; i < position; i++) - { - text[i] = tolower(text[i]); - } -} - - -string::string() -{ - text = NULL; - size = 0; - position = 0; - chunk_size = 10; -} - -string::string(char *s) -{ - text = strdup(s); - if (text == NULL) - abort(); - size = strlen(s) + 1; - position = strlen(s); - chunk_size = 10; -} - -string::string(char c, int sz) -{ - text = (char *)malloc(sz); - if (text == NULL) - abort(); - memset(text, c, sz); - size = sz; - position = 0; - chunk_size = 10; -} - -string::string(int s) -{ - char buf[1024]; - ostrstream str(buf, 1024); - - str << s; - text = (char *)malloc(strlen(buf) + 1); - if (text == NULL) - abort(); - memcpy(text, buf, strlen(buf) + 1); - size = strlen(buf) + 1; - position = strlen(buf); - chunk_size = 10; -} - -string::string(const string& s) -{ - if (s.text) - { - text = (char *)malloc(s.size); - memcpy(text, s.text, s.size); - position = s.position; - size = s.size; - } - else - { - text = NULL; - size = 0; - position = 0; - } -} - -string::~string(void) -{ - if (text) - free(text); -} - -string& string::operator=(const string& s) -{ - char *tmp; - int sz, pos; - - if (s.size > 0) - { - tmp = (char *)malloc(s.size); - memcpy(tmp, s.text, s.size); - } - else - { - tmp = NULL; - } - sz = s.size; - pos = s.position; - - if (text != NULL) - free(text); - text = tmp; - position = pos; - size = sz; - - return *this; -} - - -string& string::operator=(const char *s) -{ - ensure_size(strlen(s) + 1); - strcpy(text, s); - position = strlen(s); - - return *this; -} - -string& string::operator=(const char c) -{ - ensure_size(1); - text[0] = c; - position = 1; - - return *this; -} - -string& string::operator+=(const string& s) -{ - ensure_size(position + s.position); - memcpy(&text[position], s.text, s.position); - position += s.position; - - return *this; -} - -string& string::operator+=(const char *s) -{ - ensure_size(position + strlen(s)); - memcpy(&text[position], s, strlen(s)); - position += strlen(s); - - return *this; -} - -string& string::operator+=(const char c) -{ - ensure_size(position + 1); - text[position] = c; - position += 1; - - return *this; -} - -string& operator+(const string& s1, const string& s2) -{ - string *res; - - res = new string; - res->ensure_size(s1.position + s2.position); - memcpy(&res->text[0], s1.text, s1.position); - memcpy(&res->text[s1.position], s2.text, s2.position); - res->position = s1.position + s2.position; - - return *res; -} - -string& operator+(const string& s1, const char c) -{ - string *res; - - res = new string; - res->ensure_size(s1.position + 1); - memcpy(&res->text[0], s1.text, s1.position); - res->text[s1.position] = c; - res->position = s1.position + 1; - - return *res; -} - - -string& operator+(const string& s1, const int i ) -{ - string *res; - char buf[1024]; - ostrstream str(buf, 1024); - - str << i << '\0'; - res = new string; - res->ensure_size(s1.position + strlen(buf) + 1); - memcpy(&res->text[0], s1.text, s1.position); - memcpy(&res->text[s1.position], buf, strlen(buf) + 1); - res->position = s1.position + strlen(buf); - - return *res; -} - -int operator==(const string& s1, const string& s2) -{ - return !strncasecmp(s1.text, s2.text, MAX(s1.position, s2.position)); -} - -int operator!=(const string& s1, const string& s2) -{ - return !!strncasecmp(s1.text, s2.text, MAX(s1.position, s2.position)); -} - -int operator>=(const string& s1, const string& s2) -{ - return strncasecmp(s1.text, s2.text, MAX(s1.position, s2.position)) >= 0; -} - -int operator<=(const string& s1, const string& s2) -{ - return strncasecmp(s1.text, s2.text, MAX(s1.position, s2.position)) <= 0; -} - -int operator>(const string& s1, const string& s2) -{ - return strncasecmp(s1.text, s2.text, MAX(s1.position, s2.position)) > 0; -} - -int operator<(const string& s1, const string& s2) -{ - return strncasecmp(s1.text, s2.text, MAX(s1.position, s2.position)) < 0; -} - -unsigned long string::hash(void) const -{ - unsigned long res; - int i; - - res = 0; - - for (i = 0; i < position; i++) - { - res = res * 65599 + text[i]; - } - - return res; -} - -int string::length(void) const -{ - return position; -} - -char& string::operator[](int ix) -{ - if (ix == position) - { - ensure_size(position + 1); - text[position] = '\0'; - return text[position]; - } - if (ix > position) - abort(); - else - return text[ix]; -} - -const char string::operator[](const int ix) const -{ - if (ix == position) - { - return '\0'; - } - if (ix > position) - abort(); - else - return text[ix]; -} - -ostream& operator<<(ostream& o, const string& s) -{ - char *tmp; - - tmp = (char *)malloc(s.position + 1); - memcpy(tmp, s.text, s.position); - tmp[s.position] = '\0'; - - return o << tmp; -} - -ostream& operator<<(ostream& o, const string* s) -{ - char *tmp; - - tmp = (char *)malloc(s->position + 1); - memcpy(tmp, s->text, s->position); - tmp[s->position] = '\0'; - - return o << tmp; -} diff --git a/old_not_used_files/lab3-4_old/string.hh b/old_not_used_files/lab3-4_old/string.hh deleted file mode 100644 index b74a7d995a730334635617c74ccc9ec4b7635f26..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/string.hh +++ /dev/null @@ -1,89 +0,0 @@ -#ifndef KOMP_STRING_H -#define KOMP_STRING_H - -#include <iostream.h> - - -// -// Note that the implementation of this class is rather inefficient. -// When operating on strings and character pointers, this -// implementation will create a lot of temporary objects. By -// overloading all the operators on combinations of strings and -// character pointers this could be avoided. -// -// The append and assignment operators (+=) are defined this way -// because it is used a lot. Something similar should be done for all -// other operators as well. -// -// Finally, the class should avoid actually copying data unless it is -// really necessary. If strings were considered read only (no -// destructive update), then it would be possible to keep a pool of -// strings with reference counts and just pass along references to -// that pool. -// - -class string -{ -private: - char *text; - int size; - int position; - int chunk_size; - - void ensure_size(int); - -public: - class error {}; // Exception thrown when out of memory - - string(); // Default constructor creates empty string - string(char *); // Create string from character pointer - string(char, int); // Create string filles with characters - string(const string &); // Copy constructor - string(int); // Convert an integer - - ~string(); // Destructor - - void upcase(void); - void downcase(void); - - string& operator=(const string&); // Assignment operator - string& operator=(const char *); // Assignment operator - string& operator=(const char); // Assignment operator - - string& operator+=(const string&); // Append operator - string& operator+=(const char); // Append operator - string& operator+=(const char *); // Append operator - - friend string& operator+(const string&, const string&); // Concatenate - friend string& operator+(const string&, const char); // Concatenate - friend string& operator+(const string&, const int); // Concatenate - - // - // Comparison operators - // - - friend int operator==(const string&, const string&); - friend int operator!=(const string&, const string&); - friend int operator< (const string&, const string&); - friend int operator> (const string&, const string&); - friend int operator>=(const string&, const string&); - friend int operator<=(const string&, const string&); - - // - // I/O - // - - friend ostream& operator<<(ostream&, const string&); - friend ostream& operator<<(ostream&, const string*); - - // - // Miscellaneous operators and methods - // - - unsigned long hash(void) const; // Compute hash value - int length(void) const; // Length of the string - char& operator[](int); // Extract a character - const char operator[](const int) const; -}; - -#endif diff --git a/old_not_used_files/lab3-4_old/symtab.cc b/old_not_used_files/lab3-4_old/symtab.cc deleted file mode 100644 index 2785159eee1900120bbc3b2aa839220639cde0f2..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/symtab.cc +++ /dev/null @@ -1,558 +0,0 @@ -#include <stdlib.h> -#include "symtab.hh" -#include "ast.hh" -#include "string.hh" - -/* - * Global variables - */ - -FunctionInformation *currentFunction; -TypeInformation *kIntegerType; -TypeInformation *kRealType; -FunctionInformation *kFPrintFunction; -FunctionInformation *kIPrintFunction; -FunctionInformation *kFReadFunction; -FunctionInformation *kIReadFunction; - -SymbolInformation::tFormatType SymbolInformation::outputFormat = - SymbolInformation::kFullFormat; - - -/* - * FunctionInformation methods - */ - -ostream& SymbolInformation::print(ostream& o) -{ - switch (outputFormat) - { - case kFullFormat: - o << "SymbolInformation @ " << (void*)this << '\n'; - o << " Tag: " << tag << '\n'; - o << " ID: " << id << '\n'; - o << " Table: " << (void*)table << '\n'; - break; - case kSummaryFormat: - o << id << ' ' << tag; - break; - case kShortFormat: - o << id; - break; - default: - o << "Bad output format\n"; - abort(); - } - - return o; -} - -ostream& TypeInformation::print(ostream& o) -{ - switch (outputFormat) - { - case kFullFormat: - o << "TypeInformation @ " << (void*)this << '\n'; - o << " Tag: " << tag << '\n'; - o << " ID: " << id << '\n'; - o << " Table: " << (void*)table << '\n'; - o << " Element type: 0x" << (void*)elementType << ' '; - if (elementType) o << SummarySymbols << elementType << LongSymbols; - o << '\n'; - o << " Dimensions: " << arrayDimensions << '\n'; - o << " Size: " << size << '\n'; - - case kSummaryFormat: - o << (void*)this << ' '; - if (elementType != NULL) - { - o << '\'' << id << '\'' << ' '; - o << "array " << arrayDimensions - << " of " - << ShortSymbols << elementType << SummarySymbols; - } - else - { - o << id; - } - - o << " [" << size << "]"; - break; - - case kShortFormat: - if (elementType != NULL) - { - o << "array " << arrayDimensions - << " of " - << elementType; - } - else - { - o << id; - } - break; - - - default: - o << "Bad output format\n"; - abort(); - } - return o; -} - -ostream& VariableInformation::print(ostream& o) -{ - switch (outputFormat) - { - case kFullFormat: - o << "VariableInformation @ " << (void*)this << '\n'; - o << " Tag: " << tag << '\n'; - o << " ID: " << id << '\n'; - o << " Table: " << (void*)table << '\n'; - o << " Type: " << (void*)type << ' '; - if (type) o << SummarySymbols << type << LongSymbols; - o << '\n'; - o << " Next: " << (void*)prev << ' '; - if (prev) o << SummarySymbols << prev << LongSymbols; - o << '\n'; - break; - - case kSummaryFormat: - o << id << " : "; - o << type; - if (prev != NULL) - { - o << " --> " << (void*)prev << ' ' << prev->id; - } - break; - - case kShortFormat: - o << id; - break; - - default: - o << "Bad output format\n"; - abort(); - } - - return o; -} - -ostream& FunctionInformation::print(ostream& o) -{ - VariableInformation *tmp; - - switch (outputFormat) - { - case kFullFormat: - o << "FunctionInformation @ " << (void*)this << '\n'; - o << " Tag: " << tag << '\n'; - o << " ID: " << id << '\n'; - o << " Table: " << (void*)table << '\n'; - o << " Parent: " << (void*)parent << ' '; - if (parent) o << ShortSymbols << parent << LongSymbols; - o << '\n'; - o << " Returns: " << (void*)returnType << ' '; - if (returnType) o << ShortSymbols << returnType << LongSymbols; - o << '\n'; - - if (lastParam != NULL) - { - o << " Parameters:\n" << ShortSymbols; - tmp = lastParam; - while (tmp != NULL) - { - o << " " << (void*)tmp << ' ' << tmp << '\n'; - tmp = tmp->prev; - } - o << LongSymbols; - } - else - { - o << " Parameters: none\n"; - } - - if (lastLocal) - { - o << " Locals:\n" << ShortSymbols; - tmp = lastLocal; - while (tmp != NULL) - { - o << " " << (void*)tmp << ' ' << tmp << '\n'; - tmp = tmp->prev; - } - o << LongSymbols; - } - else - { - o << " Locals: none\n"; - } - - o << " Body: " << (void*)body << '\n'; - if (body) o << body; - o << '\n'; - - o << " Quads: " << (void*)quads << '\n'; - if (quads) o << quads; - o << '\n'; - - o << symbolTable; - break; - - case kSummaryFormat: - o << id << '('; - - tmp = lastParam; - while (tmp != NULL) - { - o << ShortSymbols << tmp << SummarySymbols; - tmp = tmp->prev; - if (tmp != NULL) - o << "; "; - } - o << ") -> "; - if (returnType) o << ShortSymbols << returnType << SummarySymbols; - else - o << "no return type"; - break; - - case kShortFormat: - o << id; - break; - - default: - o << "Bad output format.\n"; - abort(); - } - - return o; -} - -void FunctionInformation::SetParent(FunctionInformation *newParent) -{ - parent = newParent; -} - -FunctionInformation *FunctionInformation::GetParent(void) -{ - return parent; -} - -void FunctionInformation::SetBody(StatementList *b) -{ - body = b; -} - -StatementList *FunctionInformation::GetBody(void) -{ - return body; -} - -void FunctionInformation::SetReturnType(TypeInformation *newReturnType) -{ - returnType = newReturnType; -} - -TypeInformation *FunctionInformation::GetReturnType(void) -{ - return returnType; -} - -VariableInformation *FunctionInformation::GetLastParam(void) -{ - return lastParam; -} - - -SymbolInformation *FunctionInformation::LookupIdentifier(const string& name) -{ - SymbolInformation *info; - - info = symbolTable.LookupSymbol(name); - - if (info != NULL) - return info; - else if (parent == NULL) - return NULL; - else - return parent->LookupIdentifier(name); -} - -VariableInformation *FunctionInformation::AddParameter(const string& name, - TypeInformation *type) -{ - VariableInformation *info; - - info = new VariableInformation(name, type); - symbolTable.AddSymbol(info); - - info->prev = lastParam; - lastParam = info; - - return info; -} - -SymbolInformation *FunctionInformation::AddSymbol(SymbolInformation *i) -{ - symbolTable.AddSymbol(i); - return i; -} - -VariableInformation *FunctionInformation::AddVariable(const string& name, - TypeInformation *type) -{ - VariableInformation *info; - - info = new VariableInformation(name, type); - symbolTable.AddSymbol(info); - - info->prev = lastLocal; - lastLocal = info; - - return info; -} - -TypeInformation *FunctionInformation::AddArrayType(TypeInformation *elemType, - int dimensions) -{ - SymbolInformation *xinfo; - TypeInformation *info; - string name; - - if (parent != NULL) - return parent->AddArrayType(elemType, dimensions); - else - { - - name = elemType->id + "<" + dimensions + ">."; - xinfo = symbolTable.LookupSymbol(name); - if (xinfo == NULL) - { - info = new TypeInformation(name, elemType->size * dimensions); - info->elementType = elemType; - info->arrayDimensions = dimensions; - symbolTable.AddSymbol(info); - } - else - { - info = xinfo->SymbolAsType(); - - if (info == NULL) - { - cerr << "Bug: Name collision creating array (can't happen.)\n" - << flush; - abort(); - } - } - return info; - } -} - -FunctionInformation *FunctionInformation::AddFunction(const string& name, - FunctionInformation *fn) -{ - SymbolInformation *xinfo; - - xinfo = LookupIdentifier(name); - if (xinfo != NULL && xinfo->tag == kTypeInformation) - { - cerr << "Bug: you tried to create a function that's also a type\n"; - abort(); - } - - xinfo = symbolTable.LookupSymbol(name); - if (xinfo != NULL) - { - cerr << "Bug: you tried to create a function with a name " - << "that's already in use\n"; - } - - fn->id = name; - symbolTable.AddSymbol(fn); - - return fn; -} - -VariableInformation *FunctionInformation::TemporaryVariable(TypeInformation *type) -{ - VariableInformation *info; - - temporaryCount += 1; - - info = new VariableInformation(string("T:") + (int)temporaryCount, type); - info->prev = NULL; - AddSymbol(info); - - return info; -} - - -char FunctionInformation::OkToAddSymbol(const string& name) -{ - SymbolInformation *info; - - info = symbolTable.LookupSymbol(name); - if (info != NULL) - return 0; - - info = symbolTable.LookupSymbol(name); - if (info != NULL && info->tag == kTypeInformation) - return 0; - else - return 1; -} - - -void FunctionInformation::GenerateCode(void) -{ - if (body) - { - quads = new QuadsList; - body->GenerateCode(*quads); - } -} - - - -/* - * SymbolTable methods - */ - - -int SymbolTable::nextTemporary; - -SymbolTable::SymbolTable() -{ - int i; - - tableSize = 1023; - table = new SymbolTableElement*[1023]; - - for (i = 0; i < tableSize; i++) - table[i] = NULL; -} - -void SymbolTable::AddSymbol(SymbolInformation *info) -{ - int index; - SymbolTableElement *elem; - string tmp = info->id; - - info->table = this; - tmp.upcase(); - index = tmp.hash(); - index = (index < 0 ? -index : index) % tableSize; - if (table[index] == NULL) - { - table[index] = new SymbolTableElement; - table[index]->info = info; - table[index]->next = NULL; - } - else - { - elem = table[index]; - while (elem->next) - { - elem = elem->next; - } - elem->next = new SymbolTableElement; - elem->next->info = info; - elem->next->next = NULL; - } -} - -SymbolInformation *SymbolTable::LookupSymbol(const string& id) -{ - int index; - SymbolTableElement *elem; - string tmp = id; - - tmp.upcase(); - index = tmp.hash(); - index = (index < 0 ? -index : index) % tableSize; - elem = table[index]; - - while (elem) - { - if (elem->info->id == id) - return elem->info; - else - elem = elem->next; - } - - return NULL; -} - -ostream& SymbolTable::print(ostream& o) -{ - int i; - SymbolTableElement *elem; - - o << "------------------------------------------------" - << "-------------------------------\n"; - o << "SymbolTable @ " << (void*)this << '\n'; - o << "------------------------------------------------" - << "-------------------------------\n"; - - o << SummarySymbols; - for (i = 0; i < tableSize; i++) - { - if (table[i] != NULL) - { - elem = table[i]; - while (elem != NULL) - { - o << i << '\t' << (void*)elem->info << ' ' <<elem->info<< '\n'; - elem = elem->next; - } - } - } - o << LongSymbols; - - o << "------------------------------------------------" - << "-------------------------------\n"; - - return o; -} - - -ostream& operator<<(ostream& o, SymbolTable& t) -{ - return t.print(o); -} - -ostream& operator<<(ostream& o, SymbolTable *t) -{ - return t->print(o); -} - -ostream& operator<<(ostream& o, SymbolInformation& i) -{ - return i.print(o); -} - -ostream& operator<<(ostream& o, SymbolInformation *i) -{ - if (i == NULL) - return o << "<SymbolInformation @ 0x0>"; - else - return i->print(o); -} - -ostream& ShortSymbols(ostream& o) -{ - SymbolInformation::outputFormat = SymbolInformation::kShortFormat; - return o; -} - -ostream& LongSymbols(ostream& o) -{ - SymbolInformation::outputFormat = SymbolInformation::kFullFormat; - return o; -} - -ostream& SummarySymbols(ostream& o) -{ - SymbolInformation::outputFormat = SymbolInformation::kSummaryFormat; - return o; -} diff --git a/old_not_used_files/lab3-4_old/symtab.hh b/old_not_used_files/lab3-4_old/symtab.hh deleted file mode 100644 index b10e3c295c7dabd789affffca2fbeaad739c5205..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/symtab.hh +++ /dev/null @@ -1,234 +0,0 @@ -#ifndef __KOMP_SYMTAB__ -#define __KOMP_SYMTAB__ - -#include "string.hh" - -class StatementList; -class QuadsList; - -class SymbolInformation; -class VariableInformation; -class FunctionInformation; -class TypeInformation; -class SymbolTableElement; -class SymbolTable; - -extern FunctionInformation *currentFunction; - -extern FunctionInformation *kFPrintFunction; -extern FunctionInformation *kIPrintFunction; -extern FunctionInformation *kFReadFunction; -extern FunctionInformation *kIReadFunction; -extern TypeInformation *kRealType; -extern TypeInformation *kIntegerType; - - - -/* - * SymbolTable is a symbol table. You'll never really use this - * directly. Instead, use the methods in the FunctionInformation - * class for adding and looking up variables in the symbol table - */ - - -class SymbolTableElement -{ -public: - SymbolInformation *info; - SymbolTableElement *next; -}; - -class SymbolTable -{ -protected: - virtual ostream& print(ostream&); - -public: - SymbolTableElement **table; - int tableSize; - static int nextTemporary; - - SymbolTable(); - - void AddSymbol(SymbolInformation *); - SymbolInformation *LookupSymbol(const string&); - - friend ostream& operator<<(ostream&, SymbolTable &); - friend ostream& operator<<(ostream&, SymbolTable *); -}; - - - - - -/* - * SymbolInformationType is used to tag object subclassed from - * SymbolInformation. The value of SymbolInformation's type field - * specified which subclass the object belongs to. - */ - -typedef enum -{ - kFunctionInformation, - kVariableInformation, - kTypeInformation -} SymbolInformationType; - - -/* - * SymbolInformation is the base class for all information about - * symbols. It is never used directly; use the subclasses instead - */ - -class SymbolInformation -{ -protected: - virtual ostream& print(ostream&); - friend class SymbolTable; - friend ostream& LongSymbols(ostream&); - friend ostream& SummarySymbols(ostream&); - friend ostream& ShortSymbols(ostream&); - - typedef enum { kFullFormat, kSummaryFormat, kShortFormat } tFormatType; - - static tFormatType outputFormat; - -public: - SymbolInformationType tag; - string id; - SymbolTable *table; - - SymbolInformation(SymbolInformationType t, const string &i) : - tag(t), - id(i) {}; - - virtual FunctionInformation *SymbolAsFunction(void) { return NULL; }; - virtual VariableInformation *SymbolAsVariable(void) { return NULL; }; - virtual TypeInformation *SymbolAsType(void) { return NULL; }; - - friend ostream& operator<<(ostream&, SymbolInformation&); - friend ostream& operator<<(ostream&, SymbolInformation*); -}; - - -/* - * FunctionInformation represents information stored about a function - * in the symbol table. It contains the return type of the function, a - * pointer to the functions's last parameter and a pointer to the - * symbol table for the function. - */ - -class FunctionInformation : public SymbolInformation -{ -protected: - virtual ostream& print(ostream&); - friend class SymbolTable; - - long temporaryCount; - -private: - FunctionInformation *parent; - TypeInformation *returnType; - VariableInformation *lastParam; - VariableInformation *lastLocal; - SymbolTable symbolTable; - - StatementList *body; - QuadsList *quads; - -public: - - FunctionInformation(const string& i) : - SymbolInformation(kFunctionInformation, i), - parent(NULL), - returnType(NULL), - lastParam(NULL), - lastLocal(NULL), - body(NULL), - quads(NULL) {}; - - virtual FunctionInformation *SymbolAsFunction(void) { return this; }; - - void SetParent(FunctionInformation *); - void SetReturnType(TypeInformation *); - void SetBody(StatementList *); - void SetQuads(QuadsList *); - - FunctionInformation *GetParent(void); - TypeInformation *GetReturnType(void); - VariableInformation *GetLastParam(void); - StatementList *GetBody(void); - QuadsList *GetQuads(void); - - FunctionInformation *AddFunction(const string&, FunctionInformation *); - VariableInformation *AddParameter(const string&, TypeInformation *); - VariableInformation *AddVariable(const string&, TypeInformation *); - SymbolInformation *AddSymbol(SymbolInformation *); - TypeInformation *AddArrayType(TypeInformation *, int); - - VariableInformation *TemporaryVariable(TypeInformation *type); - - void GenerateCode(void); - - char OkToAddSymbol(const string&); - - SymbolInformation *LookupIdentifier(const string&); -}; - - -/* - * VariableInformation represents information stored about a variable - * in the symbol table. It contains a type field which specifies - * the type of the variable and a next field which is used to link - * together parameters and local variables in a symbol table. - */ - -class VariableInformation : public SymbolInformation -{ -protected: - virtual ostream& print(ostream&); - -public: - TypeInformation *type; - VariableInformation *prev; - - virtual VariableInformation *SymbolAsVariable(void) { return this; }; - - VariableInformation(const string& i) : - SymbolInformation(kVariableInformation, i) {}; - VariableInformation(const string& i, TypeInformation *t) : - SymbolInformation(kVariableInformation, i), - type(t) {}; - -}; - -class TypeInformation : public SymbolInformation -{ -protected: - virtual ostream& print(ostream&); - friend class SymbolTable; - friend class FunctionInformation; - friend class VariableInformation; - -public: - TypeInformation *elementType; - int arrayDimensions; - unsigned long size; - - virtual TypeInformation *SymbolAsType(void) { return this; }; - - TypeInformation(const string& i, unsigned long s) : - SymbolInformation(kTypeInformation, i), - size(s) {}; -}; - - -/* - * I/O manipulators for better output - */ - -ostream& ShortSymbols(ostream& o); -ostream& LongSymbols(ostream& o); - - -#endif diff --git a/old_not_used_files/lab3-4_old/test/test b/old_not_used_files/lab3-4_old/test/test deleted file mode 100644 index 2c6428f0b2e33fca0bc1f639dcb8e58c2bec09d5..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/test/test +++ /dev/null @@ -1,77 +0,0 @@ -declare - a : integer; - b : real; - c : array 10 of integer; - d : array 11 of integer; - e : array 10 of real; - f : array 11 of real; - -/* Note that we already have declared a variable f, - * We would expect the compiler to complain when we - * try to create a function f, but to continue parsing. -*/ -function f (x : integer; - y : real; - z : array 10 of integer) : integer -begin - return z[x + y]; -end; - -function fac (x : integer) : integer -begin - if x == 0 then - begin - return 1; - end - else - begin - return x * fac(x - 1); - end if; -end; - -function fib (x : integer) : integer -begin - if x == 0 then - begin - return 1; - end - elseif x == 1 then - begin - return 1; - end - else - begin - return x + fib(x - 1); - end if; -end; - -function g ( x : array 10 of integer ) : array 11 of integer -declare - a : array 11 of integer; - i : integer; - s : integer; -begin - i := 0; - while i < 10 do - begin - a[i] := x[i]; - s := s + x[i]; - end while; - a[10] := s; - return a; -end; - - -begin - putint(fib(getint())); - putint(fac(getint())); - - a := 0; - while a < 9 do - begin - c[a] := getint(); - end while; - - d := g(c); - putint(d[10]); -end; diff --git a/old_not_used_files/lab3-4_old/test/test.OLD b/old_not_used_files/lab3-4_old/test/test.OLD deleted file mode 100644 index 9a914c616e600a290ba2b1eccdd85eac1607fec3..0000000000000000000000000000000000000000 --- a/old_not_used_files/lab3-4_old/test/test.OLD +++ /dev/null @@ -1,73 +0,0 @@ -declare - a : integer; - b : real; - c : array 10 of integer; - d : array 11 of integer; - e : array 10 of real; - f : array 11 of real; - -function f (x : integer; - y : real; - z : array 10 of integer) : integer -begin - return z[x + y]; -end; - -function fac (x : integer) : integer -begin - if x == 0 then - begin - return 1; - end - else - begin - return x * fac(x - 1); - end if; -end; - -function fib (x : integer) : integer -begin - if x == 0 then - begin - return 1; - end - elseif x == 1 then - begin - return 1; - end - else - begin - return x + fib(x - 1); - end if; -end; - -function g ( x : array 10 of integer ) : array 11 of integer -declare - a : array 11 of integer; - i : integer; - s : integer; -begin - i := 0; - while i < 10 do - begin - a[i] := x[i]; - s := s + x[i]; - end while; - a[10] := s; - return a; -end; - - -begin - putint(fib(getint())); - putint(fac(getint())); - - a := 0; - while a < 9 do - begin - c[a] := getint(); - end while; - - d := g(c); - putint(d[10]); -end;