Subject: New Misc-2.0

From: Rusty Lusk <[email-masked]>
Date: Thu, 19 Sep 1996 23:26:46 -0500

%!PS-Adobe-2.0
%%Creator: dvips 5.528 Copyright 1986, 1994 Radical Eye Software
%%Title: temp.dvi
%%CreationDate: Thu Sep 19 23:25:17 1996
%%Pages: 21
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips -o temp.ps temp
%DVIPSParameters: dpi=300, comments removed
%DVIPSSource:  TeX output 1996.09.19:2325
%%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 4 get round 4 exch put dup dup 5 get
round 5 exch put 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 add]{
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 showpage
userdict /eop-hook known{eop-hook}if}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
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 40258431 52099146 1000 300 300
(/tmp_mnt/Net/antireo/antireo6/lusk/mpi2/report2/temp.dvi)
@start /Fa 1 1 df<FFFFF0FFFFF014027D881B>0 D E /Fb 2
111 df<00180038001000000000000000000000000001C0022004300430086000600060
006000C000C000C000C001800180018001806300E300C60078000D1D80960E>106
D<383C0044C6004702004602008E06000C06000C06000C0C00180C00180C401818401818
80300880300F00120E7F8D15>110 D E /Fc 4 52 df<07C018303018701C600C600CE0
0EE00EE00EE00EE00EE00EE00EE00EE00E600C600C701C30181C7007C00F157F9412>48
D<03000700FF000700070007000700070007000700070007000700070007000700070007
00070007007FF00C157E9412>I<0F8030E040708030C038E03840380038007000700060
00C00180030006000C08080810183FF07FF0FFF00D157E9412>I<0FE030306018701C70
1C001C00180038006007E000300018000C000E000EE00EE00EC00C401830300FE00F157F
9412>I E /Fd 52 122 df<00E001C0038007000E000E001C001C003800380038007000
700070007000E000E000E000E000E000E000E000E000E000E000E000E000700070007000
70003800380038001C001C000E000E000700038001C000E00B2A7E9E10>40
D<E000700038001C000E000E000700070003800380038001C001C001C001C000E000E000
E000E000E000E000E000E000E000E000E000E001C001C001C001C0038003800380070007
000E000E001C0038007000E0000B2A7E9E10>I<018001C0018001806186F99F7DBE1FF8
07E007E01FF87DBEF99F61860180018001C0018010127E9E15>I<E0E0E060404040C003
087C820C>44 D<FFE0FFE00B0280890E>I<03C00FF01FF83C3C381C700E700E700EE007
E007E007E007E007E007E007E007E007E007E007E007E007700E700E700E381C3C3C1FF8
0FF007E0101D7E9B15>48 D<010007003F00FF00C7000700070007000700070007000700
07000700070007000700070007000700070007000700070007000700FFF8FFF80D1C7C9B
15>I<07E01FF83C3C700E700EE007E007E007E007700E700E3C3C1FF807E01FF83C3C70
0E700EE007E007E007E007E007E007700E781E3C3C1FF807E0101D7E9B15>56
D<E0E0E0000000000000000000000000E0E0E003127C910C>58 D<7FFFFFC0FFFFFFE000
00000000000000000000000000000000000000000000000000000000000000FFFFFFE07F
FFFFC01B0C7E8F20>61 D<001C0000003E0000003E0000002E0000006700000067000000
E7800000C7800000C3800001C3C0000183C0000181C0000381E0000381E0000700F00007
00F0000600F0000E0078000FFFF8000FFFF8001C003C001C003C0018003C0038001E0038
001E0070001F0070000F0070000F00E0000780191D7F9C1C>65 D<FFF800FFFF00F00F80
F003C0F001E0F000F0F000F0F000F0F000F0F000F0F001E0F007C0FFFF80FFFE00FFFF80
F03FC0F003E0F001F0F000F0F00078F00078F00078F00078F00078F000F0F001E0F007C0
FFFF80FFFC00151D7C9C1C>I<003FC000FFF003C0F00780300F00001E00003C00003C00
00780000780000780000F00000F00000F00000F00000F00000F00000F00000F00000F000
007800007800007800003C00003C00001E00000F000807801803C07800FFF0003F80151F
7D9D1B>I<FFFC00FFFF00F00F80F003E0F001F0F000F0F00078F00038F0003CF0003CF0
001CF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0001EF0003CF0003CF0003CF0
0078F000F0F000F0F003E0F00FC0FFFF00FFFC00171D7C9C1E>I<FFFFC0FFFFC0F00000
F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFF80FFFF80
F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
FFFFC0FFFFC0121D7C9C19>I<FFFF80FFFF80F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000FFFF00FFFF00F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000111D7C9C18>I<00
3F8001FFF003C0F80780380F00181E00003C00003C0000780000780000780000F00000F0
0000F00000F00000F00000F00000F007F8F007F8F000387800387800387800383C00383C
00381E00380F003807803803C0F801FFF0003F80151F7D9D1C>I<F000F0F000F0F000F0
F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0FFFFF0FFFFF0
F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0
F000F0F000F0141D7C9C1D>I<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0041D7C9C0C>I<F0003CF00078F000F0F001E0F003C0F00780F00F00F01E
00F03C00F07800F0F000F0E000F1F000F3F000F77800FE7C00FC3C00FC1E00F81F00F00F
00F00F80F00780F003C0F003E0F001E0F000F0F000F0F00078F0007C161D7C9C1D>75
D<F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000FFFEFFFE0F1D7C9C16>I<FC0007E0FC00
07E0FC0007E0EE000DE0EE000DE0EE000DE0E70019E0E70019E0E70019E0E78039E0E380
31E0E3C071E0E3C071E0E1C061E0E1C061E0E1E0E1E0E1E0E1E0E0E0C1E0E0F1C1E0E071
81E0E07181E0E07181E0E03B01E0E03B01E0E03B01E0E01E01E0E01E01E0E01E01E0E000
01E01B1D7C9C24>I<FC0070FC0070FE0070EE0070EF0070E70070E70070E78070E38070
E3C070E3C070E1E070E1E070E0E070E0F070E07070E07870E07870E03C70E03C70E01C70
E01E70E00E70E00E70E00F70E00770E007F0E003F0E003F0141D7C9C1D>I<003F000001
FFE00003FFF00007C0F8000F807C001E001E003E001F003C000F00780007807800078078
000780F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F8
0007C078000780780007807C000F803C000F003E001F001F003E000F807C0007C0F80003
FFF00001FFE000003F00001A1F7E9D1F>I<FFFC00FFFF00F00F80F003C0F001E0F000F0
F000F0F000F0F000F0F000F0F000F0F001E0F003E0F00FC0FFFF80FFFE00F00000F00000
F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000141D7C
9C1B>I<FFF800FFFF00F00F80F003C0F001E0F000F0F000F0F000F0F000F0F000F0F001
E0F003E0F00FC0FFFF80FFFF00FFF800F03C00F01C00F01E00F00F00F00F00F00780F007
80F003C0F003C0F001E0F000F0F000F0F00078151D7C9C1B>82 D<03F8000FFE001C0F00
380700700300600000E00000E00000E00000E00000F000007800007F00003FE0001FFC00
07FE0001FF00001F800007800003C00003C00001C00001C00001C00001C0C00180E00380
F007007C0E001FFC0007F000121F7E9D17>I<FFFFFF80FFFFFF80001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000000
1E0000001E0000001E0000001E0000001E0000001E0000001E0000191D7F9C1C>I<F000
70F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F00070F000
70F00070F00070F00070F00070F00070F00070F00070F00070F00070F000707800E07800
E03C01C01E03800F078007FE0001F800141E7C9C1D>I<F000F00070F000F80070F000F8
00707800B8006078019C00E078019C00E078019C00E03C039C01C03C031E01C03C030E01
C01E030E01801E070F03801E070F03801E060703800F060703000F0E0787000F0C078700
070C038600070C038600078C038E00079803CE00039801CC00039801CC00039801CC0001
D001C80001D000D80001F000F80001E000F80000E0007000241D7F9C27>87
D<F80001E07C0001C03E0003801E0007801F0007000F800E0007801E0007C01C0003E03C
0001E0380001F0700000F0F0000078E000007DC000003FC000001F8000001F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F00001B1D809C1C>89 D<7FFFF07FFFF00001E00003E00003C00007C000
0780000F00001F00001E00003E00003C0000780000F80000F00001F00001E00003C00007
C0000780000F80000F00001E00003E00003C00007C0000780000FFFFF0FFFFF0141D7E9C
19>I<0FC03FF07FF87038401C001C001C00FC0FFC3FFC781CE01CE01CE01CF07C7FFC7F
DC3F1C0E127E9114>97 D<E000E000E000E000E000E000E000E000E000E000E000E3E0EF
F0FFF8F87CF01CE01EE00EE00EE00EE00EE00EE00EE01CF01CF87CFFF8EFF0E3C00F1D7D
9C15>I<07E00FF81FFC3C1C70047000E000E000E000E000E000E000700070043C1C1FFC
0FF807E00E127E9112>I<000E000E000E000E000E000E000E000E000E000E000E0F8E1F
EE3FFE7C3E700E700EE00EE00EE00EE00EE00EE00EF00E701E7C3E3FFE1FEE0F8E0F1D7E
9C15>I<07C01FE03FF078787018601CFFFCFFFCFFFCE000E000E000700070043C1C3FFC
1FF807E00E127E9112>I<00FC01FC03FC07000E000E000E000E000E000E000E00FFE0FF
E00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E1D80
9C0D>I<03C3C00FFFC01FFFC01C3800381C00381C00381C00381C00381C001C38001FF8
001FF0003BC0003800003800001FFC001FFF003FFF80700780E001C0E001C0E001C0F003
C07C0F803FFF001FFE0007F800121B7F9115>I<E000E000E000E000E000E000E000E000
E000E000E000E3E0EFF0FFF8F83CF01CE01CE01CE01CE01CE01CE01CE01CE01CE01CE01C
E01CE01CE01C0E1D7D9C15>I<F0F0F0F000000000000000707070707070707070707070
707070707070041D7E9C0A>I<E000E000E000E000E000E000E000E000E000E000E000E0
3CE078E0F0E1E0E3C0E780EF00FF00FF80FB80F9C0F1E0E0E0E0F0E078E038E03CE01E0F
1D7D9C14>107 D<E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
E0031D7D9C0A>I<E3F03F00EFF8FF80FFFDFFC0F81F81E0F00F00E0E00E00E0E00E00E0
E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0E00E00E0
E00E00E0E00E00E01B127D9122>I<E3E0EFF0FFF8F83CF01CE01CE01CE01CE01CE01CE0
1CE01CE01CE01CE01CE01CE01CE01C0E127D9115>I<03F0000FFC001FFE003C0F007807
80700380E001C0E001C0E001C0E001C0E001C0F003C07003807807803C0F001FFE000FFC
0003F00012127F9115>I<E3E0EFF0FFF8F87CF01CE01EE00EE00EE00EE00EE00EE00EE0
1CF03CF87CFFF8EFF0E3C0E000E000E000E000E000E000E000E0000F1A7D9115>I<E380
E780EF80FC00F800F000F000E000E000E000E000E000E000E000E000E000E000E0000912
7D910E>114 D<1FC03FF07FF0F030E000E000F0007F003FC01FE000F0003800388038F0
78FFF07FE01FC00D127F9110>I<1C001C001C001C001C001C00FFE0FFE01C001C001C00
1C001C001C001C001C001C001C001C001C001C201FF00FF007C00C187F970F>I<E007E0
077006700E700E381C381C381C1C381C381C380E700E700660076007E003C003C010127F
9113>118 D<E007E007700E700E780E381C381C1C181C380C380E300E70067007600360
03C001C001C001800180030003000700FE00FC00F800101A7F9113>121
D E /Fe 48 123 df<F0F0F0F004047B830E>46 D<01F00007FC000FFE001F1F003C0780
3C07807803C07803C07803C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0
F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E07803C07803C07803C07803C0
3C07803C07801F1F000FFE0007FC0001F00013237EA118>48 D<00C001C007C0FFC0FFC0
FBC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
03C003C003C003C003C003C003C003C0FFFFFFFFFFFF10227CA118>I<03F0000FFC001F
FE003C1F003007807007C06003C0E003E0C001E04001E04001E00001E00001E00001E000
03C00003C0000780000780000F00001E00003C0000780000F00001E00001C00003800007
00000E00001C0000380000700000FFFFE0FFFFE0FFFFE013227EA118>I<01F00007FC00
1FFF003E0F003807807003C02003C02003C00003C00003C00003C0000780000780000F00
001E0003FC0003F80003FE00000F000007800003C00003C00001E00001E00001E00001E0
0001E08001E0C003C0E003C07007803C0F801FFF000FFC0003F00013237EA118>I<001F
00001F00002F00002F00006F0000EF0000CF0001CF0001CF00038F00038F00078F00070F
000F0F000E0F001E0F003C0F003C0F00780F00780F00F00F00FFFFF8FFFFF8FFFFF8000F
00000F00000F00000F00000F00000F00000F00000F00000F0015217FA018>I<3FFF803F
FF803FFF803C00003C00003C00003C00003C00003C00003C00003C00003C00003CF8003F
FE003FFF003F0F803E07803C03C03803C00001E00001E00001E00001E00001E00001E000
01E04003C04003C0E003C07007807C1F003FFE000FFC0003F00013227EA018>I<007E00
01FF0003FF0007C1000F00001E00001E00003C00003C000078000078000078F800F1FE00
F7FF00FF0F80FC0780F803C0F803C0F801C0F001E0F001E0F001E0F001E0F001E07001E0
7001E07801E07803C03803C03C03801C07801F0F000FFE0007FC0001F00013237EA118>
I<FFFFE0FFFFE0FFFFE00000E00001C0000380000780000700000E00001E00001C00003C
0000380000780000780000F00000F00000E00001E00001E00001E00003C00003C00003C0
0003C00003C00007800007800007800007800007800007800007800013217EA018>I<01
F00007FC000FFE001E0F003C07803C07807803C07803C07803C07803C07803C03803803C
07801E0F000F1E0007FC0003F8000FFE001E0F003C07807803C07803C0F001E0F001E0F0
01E0F001E0F001E0F001E07803C07803C03C07803E0F801FFF0007FC0001F00013237EA1
18>I<01F00007FC000FFE001E0F003C07003807807803807803C0F003C0F001C0F001E0
F001E0F001E0F001E0F001E0F001E07003E07803E07803E03C07E03E1FE01FFDE00FF1E0
03E3C00003C00003C0000380000780000700000F00101E00183C003FF8001FF00007C000
13237EA118>I<001F0000001F0000003F8000003F8000003B8000007BC0000073C00000
71C00000F1E00000F1E00000E0E00001E0F00001E0F00001C0F00003C0780003C0780003
80780007803C0007803C0007003C000F001E000F001E000FFFFE001FFFFF001FFFFF001C
000F003C0007803C00078038000780780003C0780003C0700003C0F00001E0F00001E0E0
0001E01B237EA220>65 D<FFFC00FFFF80FFFFC0F007F0F001F0F00078F0003CF0003CF0
003CF0003CF0003CF00038F00078F000F0F003E0FFFFC0FFFF00FFFFC0F00FE0F001F8F0
0078F0003CF0001CF0001EF0001EF0001EF0001EF0001EF0003CF0007CF000F8F003F0FF
FFE0FFFFC0FFFE0017237BA220>I<000FF000007FFC0000FFFF0001F01F0003C0070007
8000000F0000001E0000003E0000003C0000003C000000780000007800000078000000F0
000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000078
00000078000000780000003C0000003C0000003E0000001E0000000F0000000780008003
C0038001F00F8000FFFF00007FFC00000FF00019257DA31F>I<FFFE0000FFFFC000FFFF
E000F003F000F000F800F0007C00F0003E00F0001E00F0000F00F0000F00F0000780F000
0780F0000780F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F000
03C0F00003C0F0000380F0000780F0000780F0000780F0000F00F0001F00F0001E00F000
3C00F000FC00F003F800FFFFE000FFFFC000FFFE00001A237BA223>I<FFFFF0FFFFF0FF
FFF0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
0000FFFFE0FFFFE0FFFFE0F00000F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F00000FFFFF8FFFFF8FFFFF815237BA21D>I<000FF0
00003FFE0000FFFF8001F80F8003E00380078000000F0000001E0000001E0000003C0000
003C000000780000007800000078000000F0000000F0000000F0000000F0000000F00000
00F0000000F000FFC0F000FFC0F000FFC0780003C0780003C0780003C03C0003C03C0003
C01E0003C01E0003C00F0003C0078003C003E003C001F807C000FFFFC0003FFF00000FF8
001A257DA321>71 D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F004237CA20D>73 D<FC00007EFE0000FEFE0000FEFE0000FEF70001DE
F70001DEF70001DEF78003DEF380039EF380039EF3C0079EF3C0079EF1C0071EF1C0071E
F1E00F1EF0E00E1EF0E00E1EF0F01E1EF0F01E1EF0701C1EF0783C1EF0783C1EF038381E
F03C781EF03C781EF01C701EF01C701EF01EF01EF00EE01EF00EE01EF00FE01EF007C01E
F007C01EF007C01EF000001E1F237BA22A>77 D<001FC000007FF00001FFFC0003F07E00
07C01F000F800F801F0007C01E0003C03C0001E03C0001E0780000F0780000F0780000F0
70000070F0000078F0000078F0000078F0000078F0000078F0000078F0000078F0000078
F0000078780000F0780000F0780000F07C0001F03C0001E03E0003E01E0003C01F0007C0
0F800F8007C01F0003F07E0001FFFC00007FF000001FC0001D257DA324>79
D<FFFE00FFFF80FFFFC0F003E0F000F0F00078F00078F0003CF0003CF0003CF0003CF000
3CF0003CF00078F00078F000F0F003E0FFFFC0FFFF80FFFE00F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000001623
7BA21F>I<FFFC00FFFF80FFFFC0F003E0F000F0F00078F00038F0003CF0003CF0003CF0
003CF0003CF00038F00078F000F0F003E0FFFFC0FFFF80FFFE00F01E00F00F00F00700F0
0780F00380F003C0F001E0F001E0F000F0F000F0F00078F00038F0003CF0001EF0001EF0
000F18237BA21F>82 D<00FE0003FFC007FFE00F81E01E00603C00003C00007800007800
007800007800007800007C00003C00003F00001FC0000FFC0007FF0001FF80003FC00007
E00001F00000F00000F8000078000078000078000078000078000078C000F0E000F0F801
E07E07C03FFF800FFF0001FC0015257EA31B>I<FFFFFFF0FFFFFFF0FFFFFFF0000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F00001C237EA221>I<07E01FF83FFC381E201E000F00
0F000F000F00FF07FF1FFF3E0F780FF00FF00FF00FF00FF83F7FFF3FEF1F8F10167E9517
>97 D<F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F00000F1F000F7FC00FFFE00FC1F00F80F00F00780F00780F003C0F003C0F003C0
F003C0F003C0F003C0F003C0F003C0F00780F00780F80F00FC3E00FFFE00F7F800F1F000
12237CA219>I<01FC0007FF000FFF801F03803C0180780000780000700000F00000F000
00F00000F00000F00000F000007800007800007800003C00401F03C00FFFC007FF8001FC
0012167E9516>I<0003C00003C00003C00003C00003C00003C00003C00003C00003C000
03C00003C00003C00003C003E3C00FFBC01FFFC03F0FC03C07C07803C07803C0F003C0F0
03C0F003C0F003C0F003C0F003C0F003C0F003C07803C07803C03C07C03E0FC01FFFC00F
FBC003E3C012237EA219>I<03F00007FC001FFE003E0F003C0780780380780380F001C0
FFFFC0FFFFC0FFFFC0F00000F00000F000007000007800007800003C00801F07800FFF80
07FF0001F80012167E9516>I<003F00FF01FF03C0038007800780078007800780078007
800780FFF8FFF8FFF8078007800780078007800780078007800780078007800780078007
8007800780078007800780102380A20F>I<01F07807FFF80FFFF81F1F001E0F003C0780
3C07803C07803C07803C07801E0F001F1F000FFE001FFC0019F0003800003800003C0000
1FFE001FFFC01FFFE03FFFF07801F07800F8F00078F00078F00078F000787800F03E03E0
1FFFC00FFF8001FC0015217F9518>I<F000F000F000F000F000F000F000F000F000F000
F000F000F000F1F8F3FCF7FEFE1EF80FF80FF00FF00FF00FF00FF00FF00FF00FF00FF00F
F00FF00FF00FF00FF00FF00FF00F10237CA219>I<F0F0F0F0000000000000000000F0F0
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004237DA20B>I<00F000F000F000F000
000000000000000000000000000000000000F000F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F080
F0E3E0FFE07FC01F000C2D83A20D>I<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004237DA20B>108 D<F0F807C0F3FE1FF0F7FF3FF8
FE0F7078FC0FE07CF807C03CF807C03CF007803CF007803CF007803CF007803CF007803C
F007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803C
F007803C1E167C9527>I<F1F8F3FCF7FEFE1EF80FF80FF00FF00FF00FF00FF00FF00FF0
0FF00FF00FF00FF00FF00FF00FF00FF00FF00F10167C9519>I<01FC0007FF000FFF801F
07C03C01E07800F07800F0700070F00078F00078F00078F00078F00078F000787800F078
00F07C01F03E03E01F07C00FFF8007FF0001FC0015167F9518>I<F1F000F7FC00FFFE00
FC3F00F80F00F00780F00780F007C0F003C0F003C0F003C0F003C0F003C0F003C0F007C0
F00780F00F80F80F00FC3E00FFFE00F7F800F1F000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F0000012207C9519>I<03E3C007FBC00FFFC01F0FC03C07
C07C03C07803C0F803C0F003C0F003C0F003C0F003C0F003C0F003C0F803C07803C07803
C03C07C03F0FC01FFFC00FFBC003E3C00003C00003C00003C00003C00003C00003C00003
C00003C00003C00003C012207E9519>I<F0E0F3E0F7E0FF00FE00FC00F800F800F000F0
00F000F000F000F000F000F000F000F000F000F000F000F0000B167C9511>I<07F01FFC
3FFE3C0E7806780078007C003F003FF01FF80FFC01FE001F000F000F000FC00FF81EFFFE
3FFC0FF010167F9513>I<0F000F000F000F000F000F00FFF8FFF8FFF80F000F000F000F
000F000F000F000F000F000F000F000F000F000F000F080F1C07FC07F803E00E1C7F9B12
>I<F00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F
F01FF83F7FFF7FCF1F0F10167C9519>I<F007803CF00FC03CF00FC03C780DC078781DC0
78781DE078781CE0783C18E0F03C38E0F03C38F0F01C38F0E01E3871E01E3071E01E7079
E00E7079C00E7039C00F603BC007603B8007601B8007C01F8007C01F8003C01F001E167F
9521>119 D<7801F07C01E03E03C01E07C00F0780078F0007DE0003FC0001FC0000F800
00700000F80001FC0003DC00039E00078F000F07801E07801E03C03C01E07800F0F800F8
1516809516>I<F001E0F001E07803C07803C07C03C03C07803C07801E07801E07001E0F
000F0F000F0E00071E00079E00039C00039C00039C0001980001D80000F80000F00000F0
0000F00000E00000E00001E00001C00001C0000380007F80007F00007E000013207F9516
>I<7FFFC07FFFC07FFFC0000F80000F00001E00003E00007C0000780000F00001F00003
E00003C0000780000F80001F00001E00003C00007C0000FFFFC0FFFFC0FFFFC012167F95
15>I E /Ff 23 123 df<70F8F8F87005057C840D>58 D<70F8FCFC7404040408081010
2040060E7C840D>I<000001C00000078000001E00000078000001E00000078000000E00
000038000000F0000003C000000F0000003C000000F0000000F00000003C0000000F0000
0003C0000000F0000000380000000E0000000780000001E0000000780000001E00000007
80000001C01A1A7C9723>I<E0000000780000001E0000000780000001E0000000780000
001C0000000700000003C0000000F00000003C0000000F00000003C0000003C000000F00
00003C000000F0000003C00000070000001C00000078000001E00000078000001E000000
78000000E00000001A1A7C9723>62 D<0FFFFFFC1E03C0381803C0181003C0082003C008
20078008600780084007800840078008800F0010000F0000000F0000000F0000001E0000
001E0000001E0000001E0000003C0000003C0000003C0000003C00000078000000780000
007800000078000000F0000000F0000000F0000000F0000001F000007FFFC0001E1F7F9E
1B>84 D<00F1800389C00707800E03801C03803C0380380700780700780700780700F00E
00F00E00F00E00F00E10F01C20F01C20703C20705C40308C400F078014147E9318>97
D<07803F8007000700070007000E000E000E000E001C001C001CF01D0C3A0E3C0E380F38
0F700F700F700F700FE01EE01EE01EE01CE03CE038607060E031C01F0010207E9F14>I<
0000780003F80000700000700000700000700000E00000E00000E00000E00001C00001C0
00F1C00389C00707800E03801C03803C0380380700780700780700780700F00E00F00E00
F00E00F00E10F01C20F01C20703C20705C40308C400F078015207E9F18>100
D<007C01C207010E011C013C013802780C7BF07C00F000F000F000F00070007001700230
04183807C010147E9315>I<00007C0000CE00019E00039E00030C000700000700000700
000700000E00000E00000E0000FFF0000E00000E00001C00001C00001C00001C00001C00
00380000380000380000380000380000700000700000700000700000700000E00000E000
00E00000E00000C00001C000318000798000F300006200003C000017297E9F16>I<00E0
01E001E000C000000000000000000000000000000E001300238043804380438087000700
07000E000E001C001C001C20384038403840388019000E000B1F7E9E10>105
D<03C01FC0038003800380038007000700070007000E000E000E000E001C001C001C001C
0038003800380038007000700070007100E200E200E200E200640038000A207E9F0E>
108 D<1E07C07C00231861860023A032030043C034030043803803804380380380870070
07000700700700070070070007007007000E00E00E000E00E00E000E00E00E000E00E01C
101C01C01C201C01C038201C01C038401C01C0184038038018801801800F0024147E9328
>I<1E07802318C023A06043C0704380704380708700E00700E00700E00700E00E01C00E
01C00E01C00E03821C03841C07041C07081C03083803101801E017147E931B>I<007C00
01C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F003C0F003C0F003C0
F00780F00700700F00700E0030180018700007C00013147E9316>I<03C1E00462180474
1C08781C08701E08701E10E01E00E01E00E01E00E01E01C03C01C03C01C03C01C0380380
780380700380E003C1C0072380071E000700000700000E00000E00000E00000E00001C00
001C0000FFC000171D819317>I<1E1E0023210023C38043C78043878043830087000007
00000700000700000E00000E00000E00000E00001C00001C00001C00001C000038000018
000011147E9315>114 D<007C018203010603060706060E00078007F803FC01FE001F00
077007F006F006E004400820301FC010147E9315>I<00C000E001C001C001C001C00380
0380FFF8038007000700070007000E000E000E000E001C001C001C001C10382038203820
384018800F000D1C7F9B10>I<0F00601180702180E021C0E041C0E04380E08381C00701
C00701C00701C00E03800E03800E03800E03840E07080C07080C07080E0F1006131003E1
E016147E931A>I<03C1C00C62201034701038F02038F020386040700000700000700000
700000E00000E00000E00000E02061C040F1C040F1C080E2C080446300383C0014147E93
1A>120 D<0F00601180702180E021C0E041C0E04380E08381C00701C00701C00701C00E
03800E03800E03800E03800E07000C07000C07000E0F00061E0003EE00000E00000E0000
1C0078180078380070700060600021C0001F0000141D7E9316>I<01E02003F04007F8C0
0C1F8008010000020000040000080000100000600000C000010000020000040080080100
1003003F060061FC0040F80080700013147E9315>I E /Fg 26 90
df<3078F8787005057C840D>46 D<007E0001C3000301800701C00E00C00E00E01C00E0
1C00E03C01E03801E07801E07801E07801E07801E07801E0F003C0F003C0F003C0F003C0
F003C0F00380F00780E00780E00700E00700E00E00600E00701C003038003870000FC000
131F7C9D17>48 D<000C001C00FC0F380038003800380038003800700070007000700070
007000E000E000E000E000E000E001C001C001C001C001C001C0038003C0FFFE0F1E7C9D
17>I<003F8000C1E00100F00200780400780400780F007C0F807C0F807C0F0078060078
0000F80000F00001E00001C0000380000700000E00001C0000380000600000C000018000
0300200600200800401000403FFFC07FFF80FFFF80161E7E9D17>I<007F000183C00201
E00400F00700F00F00F00F01F00F01F00001E00001E00003C0000380000700000E0000F8
00000E000007000007800007C00003C00007C03007C07807C0F807C0F807C0F00780800F
00400E00201C0018780007E000141F7D9D17>I<01803001FFE003FFC003FF0003FC0002
0000020000020000040000040000040000047C000587000603800C01800801C00001C000
01E00001E00001E00001E07003C0F803C0F003C0E00380800780400700400E00201C0018
700007C000141F7D9D17>53 D<0000100000001800000038000000380000007800000078
000000FC000001BC0000013C0000033C0000023C0000063C0000043E0000081E0000081E
0000101E0000101E0000201E0000200F0000400F0000400F0000FFFF0000800F0001000F
8001000780020007800200078004000780040007800C0007C03E0007C0FF807FFC1E207E
9F22>65 D<07FFFF00007C01C0003C01E0003C00F0007800F8007800F8007800F8007800
F8007800F8007800F000F001F000F001E000F003C000F00F8000FFFE0000F00F0001E007
C001E003C001E003E001E001E001E001E001E001E003C001E003C003E003C003E003C003
C003C007C003C00F8007800F0007803E00FFFFF0001D1F7E9E20>I<0001F808000E0618
00380138007000F801E0007803C0007007800030078000300F0000301F0000301E000030
3E0000203C0000007C0000007C0000007C0000007C000000F8000000F8000000F8000000
F8000000F80000007800004078000080780000803C0000803C0001001C0002000E000200
06000C000300100001C0E000003F00001D217B9F21>I<07FFFF00007C01E0003C00F000
3C00780078003C0078003C0078001E0078001E0078001E0078001F00F0001F00F0001F00
F0001F00F0001F00F0001F00F0001F01E0001E01E0003E01E0003E01E0003E01E0003C01
E0007C03C0007803C000F003C000F003C001E003C003C003C0078007800F0007803C00FF
FFE000201F7E9E23>I<07FFFFF8007C0078003C0038003C001800780018007800080078
000800780008007800080078080800F0100000F0100000F0100000F0300000FFF00000F0
700001E0200001E0200001E0200001E0200001E0000801E0001003C0001003C0001003C0
002003C0002003C0006003C000C0078001C0078007C0FFFFFF801D1F7E9E1F>I<07FFFF
F8007C0078003C0038003C00180078001800780008007800080078000800780008007800
0800F0100000F0100000F0100000F0300000F0700000FFF00001E0600001E0200001E020
0001E0200001E0200001E0000003C0000003C0000003C0000003C0000003C0000003C000
000780000007C00000FFFE00001D1F7E9E1E>I<0001FC04000F030C003C009C0070007C
00E0003C01C0003803800018078000180F0000181F0000181E0000183E0000103C000000
7C0000007C0000007C0000007C000000F8000000F8000000F8007FFCF80003E0780001E0
780001E0780003C0780003C03C0003C03C0003C01C0003C00E0007C007000B8003801180
01E06080003F80001E217B9F24>I<07FFC7FFC0007C00F800003C007800003C00780000
7800F000007800F000007800F000007800F000007800F000007800F00000F001E00000F0
01E00000F001E00000F001E00000FFFFE00000F001E00001E003C00001E003C00001E003
C00001E003C00001E003C00001E003C00003C007800003C007800003C007800003C00780
0003C007800003C007800007800F000007C00F8000FFF8FFF800221F7E9E22>I<07FFE0
007C00003C00003C0000780000780000780000780000780000780000F00000F00000F000
00F00000F00000F00001E00001E00001E00001E00001E00001E00003C00003C00003C000
03C00003C00003C00007800007C000FFFC00131F7F9E10>I<07FFF000007E0000003C00
00003C000000780000007800000078000000780000007800000078000000F0000000F000
0000F0000000F0000000F0000000F0000001E0000001E0000001E0000001E0000001E000
8001E0010003C0010003C0010003C0030003C0020003C0060003C0060007801E0007807C
00FFFFFC00191F7E9E1C>76 D<07FC0000FFC0007C0000F800003C00017800003C000178
00004E0002F000004E0002F000004E0004F000004E0004F000004E0008F000004E0008F0
0000870011E00000870011E00000870021E00000870021E00000870041E00000838041E0
0001038083C00001038083C00001038103C00001038203C0000101C203C0000101C403C0
000201C40780000201C80780000201C80780000201D00780000200F00780000600E00780
000600E00F00000F00C00F8000FFE0C1FFF8002A1F7E9E2A>I<07FC01FFC0003E003E00
003E001800003E001800004F001000004F001000004780100000478010000043C0100000
43C010000083C020000081E020000081E020000080F020000080F0200000807820000100
78400001007C400001003C400001003C400001001E400001001E400002000F800002000F
800002000F800002000780000200078000060003800006000300000F00010000FFE00100
00221F7E9E22>I<0003F800001E0E000038070000E0038001C001C003C001E0078000E0
0F0000F00F0000F01E0000F01E0000F83E0000F83C0000F87C0000F87C0000F87C0000F8
7C0000F8F80001F0F80001F0F80001F0F80001F0F80003E0780003E0780003C0780007C0
7C0007803C000F003C001E001E001C000E0038000700F00003C3C00000FE00001D217B9F
23>I<07FFFF00007C03C0003C01E0003C00F0007800F0007800F8007800F8007800F800
7800F8007800F000F001F000F001E000F003C000F0078000F00F0000FFF80001E0000001
E0000001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C0000003
C0000003C000000780000007C00000FFFC00001D1F7E9E1F>I<07FFFC00007C0700003C
03C0003C01E0007801E0007801F0007801F0007801F0007801F0007801E000F003E000F0
03C000F0078000F00F0000F03C0000FFF00001E0300001E0380001E01C0001E01C0001E0
1C0001E01E0003C03E0003C03E0003C03E0003C03E0003C03E0003C03E0207803E0407C0
1F04FFFC0F18000003E01F207E9E21>82 D<003F040060CC01803C03801C03001C070018
0600080E00080E00080E00080E00000F00000F80000FE00007FE0003FF8001FFC0007FE0
0007E00001E00000E00000F00000F04000E04000E04000E04000E06000C0600180E00380
F80300C60C0081F80016217D9F19>I<3FFFFFF03C0780F03007803060078030400F0010
400F0010C00F0010800F0010800F0010800F0010001E0000001E0000001E0000001E0000
001E0000001E0000003C0000003C0000003C0000003C0000003C0000003C000000780000
007800000078000000780000007800000078000000F0000001F800007FFFE0001C1F7A9E
21>I<FFFC3FF80F8007C007800300078003000F0002000F0002000F0002000F0002000F
0002000F0002001E0004001E0004001E0004001E0004001E0004001E0004003C0008003C
0008003C0008003C0008003C0008003C000800380010003800100038001000380020003C
0040001C0040001C0080000E0100000706000001F800001D20799E22>I<FFF07FF81FF0
1F000FC007C01F00078003000F00078003000F00078002000F000F8002000F000F800400
0F001F8004000F0017C008000F8013C00800078023C01000078023C01000078043C02000
078043C02000078083C04000078083E0400007C101E0800003C101E0800003C201E10000
03C201E1000003C401E2000003C401E2000003C801F4000003E800F4000001F000FC0000
01F000F8000001E000F8000001E000F0000001C000F0000001C00060000000C000600000
0080004000002C207A9E2F>87 D<FFF003FF1F8000F80F0000600F8000400780008007C0
018003C0010003E0020001E0040001F00C0001F0080000F0100000F8200000786000007C
4000003C8000003F0000001F0000001E0000001E0000001E0000001C0000003C0000003C
0000003C0000003C0000003C00000038000000780000007C00000FFFC000201F7A9E22>
89 D E /Fh 37 123 df<387CFEFEFE7C3807077C860F>46 D<01FC0007FF001F07C01E
03C03E03E07C01F07C01F07C01F0FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8FC
01F8FC01F8FC01F8FC01F8FC01F8FC01F87C01F07C01F07C01F03E03E01E03C01F8FC007
FF0001FC00151D7E9C1A>48 D<00E00001E0000FE000FFE000F3E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E000FFFF80FFFF80111D7C9C1A>I<07
F0001FFE00383F007C1F80FE0FC0FE0FC0FE0FE0FE07E07C07E03807E0000FE0000FC000
0FC0001F80001F00003E0000780000F00000E00001C0000380600700600E00601C00E01F
FFC03FFFC07FFFC0FFFFC0FFFFC0131D7D9C1A>I<01FC0007FF000E0F801E0FC03F07E0
3F07E03F07E03F07E01E0FC0000FC0000F80001F0001FC0001FC00000F800007C00003E0
0003F00003F83803F87C03F8FE03F8FE03F8FE03F0FC03F07807E03C0FC01FFF8003FC00
151D7E9C1A>I<0001C00003C00007C00007C0000FC0001FC0003BC00073C00063C000C3
C00183C00383C00703C00E03C00C03C01803C03803C07003C0E003C0FFFFFEFFFFFE0007
C00007C00007C00007C00007C00007C000FFFE00FFFE171D7F9C1A>I<3803803FFF803F
FF003FFE003FFC003FF0003F800030000030000030000030000033F80037FE003C1F0038
0F801007C00007C00007E00007E07807E0FC07E0FC07E0FC07E0FC07C0780FC0600F8038
1F001FFC0007F000131D7D9C1A>I<003F0001FFC007E0E00F81E01F03F01E03F03E03F0
7C03F07C01E07C0000FC1000FCFF00FDFFC0FD03E0FE01F0FE01F0FC01F8FC01F8FC01F8
FC01F87C01F87C01F87C01F83C01F03E01F01E03E00F07C007FF8001FE00151D7E9C1A>
I<6000007FFFF87FFFF87FFFF07FFFE07FFFC0E00180C00300C00300C00600000C000018
0000380000380000780000700000F00000F00001F00001F00001F00001F00003F00003F0
0003F00003F00003F00003F00001E00000C000151E7D9D1A>I<01FC0007FF000F07801E
03C01C01E03C01E03C01E03E01E03F01E03FC3C01FE3801FFF000FFE0007FF8007FFC01F
FFE03C3FF0780FF07803F8F001F8F000F8F00078F00078F000707800707C00E03E03C00F
FF8003FC00151D7E9C1A>I<01FC000FFF001F07803E03C07C03E07C01E0FC01F0FC01F0
FC01F0FC01F8FC01F8FC01F8FC01F87C03F87C03F83E05F81FFDF807F9F80041F80001F0
3C01F07E01F07E03E07E03E07E07C03C0780381F001FFC0007F000151D7E9C1A>I<07F8
001FFE00381F80780F80FC0FC0FC0FC0FC0FC0780FC0301F80001F00003E00007C000070
0000E00000E00000C00000C00000C00000C00000C00000C0000000000000000000000000
0001C00003E00007F00007F00007F00003E00001C00012207D9F19>63
D<0007FC02003FFF0E00FE03DE03F000FE07E0003E0FC0001E1F80001E3F00000E3F0000
0E7F0000067E0000067E000006FE000000FE000000FE000000FE000000FE000000FE0000
00FE0000007E0000007E0000067F0000063F0000063F00000C1F80000C0FC0001807E000
3803F0007000FE01C0003FFF800007FC001F1F7D9E26>67 D<FFFFFFE0FFFFFFE007E007
E007E001E007E000E007E0006007E0007007E0003007E0003007E0603007E0603007E060
0007E0E00007E1E00007FFE00007FFE00007E1E00007E0E00007E0600007E0600C07E060
0C07E0000C07E0001807E0001807E0001807E0003807E0007807E000F807E003F0FFFFFF
F0FFFFFFF01E1F7E9E22>69 D<FFFFFFFF07E007E007E007E007E007E007E007E007E007
E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E0FF
FFFFFF101F7E9E14>73 D<FFE000003FF8FFF000007FF807F000007F0006F80000DF0006
F80000DF0006F80000DF00067C00019F00067C00019F00063E00031F00063E00031F0006
1F00061F00061F00061F00060F800C1F00060F800C1F000607C0181F000607C0181F0006
07C0181F000603E0301F000603E0301F000601F0601F000601F0601F000600F8C01F0006
00F8C01F0006007D801F0006007D801F0006003F001F0006003F001F0006003F001F0006
001E001F00FFF01E03FFF8FFF00C03FFF82D1F7E9E32>77 D<FFFFFE00FFFFFF8007E00F
E007E003F007E001F807E001F807E001FC07E001FC07E001FC07E001FC07E001FC07E001
F807E001F807E003F007E00FE007FFFF8007FFFE0007E0000007E0000007E0000007E000
0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E00000FFFF00
00FFFF00001E1F7E9E24>80 D<07FC001FFF003F0F803F07C03F03E03F03E00C03E00003
E0007FE007FBE01F03E03C03E07C03E0F803E0F803E0F803E0FC05E07E0DE03FF8FE0FE0
7E17147F9319>97 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F0000
1F00001F00001F00001F1FC01F7FF01FE0F81F807C1F007E1F003E1F003E1F003F1F003F
1F003F1F003F1F003F1F003F1F003E1F003E1F007C1F807C1EC1F81C7FE0181F8018207E
9F1D>I<01FE0007FF801F0FC03E0FC03E0FC07C0FC07C0300FC0000FC0000FC0000FC00
00FC0000FC00007C00007E00003E00603F00C01F81C007FF0001FC0013147E9317>I<01
FE0007FF800F83C01E01E03E00F07C00F07C00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC
00007C00007C00003E00181E00180F807007FFE000FF8015147F9318>101
D<001F8000FFC001F3E003E7E003C7E007C7E007C3C007C00007C00007C00007C00007C0
00FFFC00FFFC0007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0
0007C00007C00007C00007C00007C00007C0003FFC003FFC0013207F9F10>I<01FC3C07
FFFE0F079E1E03DE3E03E03E03E03E03E03E03E03E03E01E03C00F07800FFF0009FC0018
00001800001C00001FFF800FFFF007FFF81FFFFC3C007C70003EF0001EF0001EF0001E78
003C78003C3F01F80FFFE001FF00171E7F931A>I<1C003E007F007F007F003E001C0000
0000000000000000000000FF00FF001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F00FFE0FFE00B217EA00E>105 D<0038007C00FE00FE00FE007C
003800000000000000000000000001FE01FE003E003E003E003E003E003E003E003E003E
003E003E003E003E003E003E003E003E003E003E003E303E783EFC3CFC7C78783FF01FC0
0F2A83A010>I<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B
207E9F0E>108 D<FE0FE03F80FE1FF07FC01E70F9C3E01E407D01F01E807E01F01F807E
01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01
F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F0FFE3FF8FFEFFE3FF8FFE
27147D932C>I<FE0FC0FE3FE01E61F01EC0F81E80F81F00F81F00F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE3FFFFE3FF18147D931D
>I<01FF0007FFC01F83F03E00F83E00F87C007C7C007CFC007EFC007EFC007EFC007EFC
007EFC007E7C007C7C007C3E00F83E00F81F83F007FFC001FF0017147F931A>I<FF1FC0
FF7FF01FE1F81F80FC1F007E1F007E1F003E1F003F1F003F1F003F1F003F1F003F1F003F
1F003E1F007E1F007C1F80FC1FC1F81F7FE01F1F801F00001F00001F00001F00001F0000
1F00001F0000FFE000FFE000181D7E931D>I<01F81807FE381F87783F01F83E01F87E00
F87C00F8FC00F8FC00F8FC00F8FC00F8FC00F8FC00F87C00F87E00F87E00F83F01F81F87
F80FFEF803F8F80000F80000F80000F80000F80000F80000F80000F80007FF0007FF181D
7E931C>I<FE3E00FE7F801ECFC01E8FC01E8FC01F8FC01F03001F00001F00001F00001F
00001F00001F00001F00001F00001F00001F00001F0000FFF000FFF00012147E9316>I<
0FE63FFE701E600EE006E006F800FFC07FF83FFC1FFE03FE001FC007C007E007F006F81E
FFFCC7F010147E9315>I<01800180018003800380038007800F803F80FFFCFFFC0F800F
800F800F800F800F800F800F800F800F800F860F860F860F860F8607CC03F801F00F1D7F
9C14>I<FF07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F81F01F81F01F80F06F807FCFF03F8FF18147D931D>I<FF
E1FF00FFE1FF000F80700007C0E00007E0C00003E1800001F3800000FF0000007E000000
3E0000003F0000007F8000006F800000C7C0000183E0000381F0000701F8000E00FC00FF
81FF80FF81FF8019147F931C>120 D<3FFFE03FFFE03C07C0380F80701F80603F00603E
00607C0000F80001F80003F00003E06007C0600F80601F80E03F00C03E01C07C03C0FFFF
C0FFFFC013147F9317>122 D E /Fi 37 120 df<00003F03E00000C386700001878CF0
0003879CF00003031860000700380000070038000007003800000E003800000E00700000
0E007000000E00700000FFFFFF80001C007000001C00E000001C00E000001C00E000001C
00E000003800E000003801C000003801C000003801C000003801C000007001C000007003
8000007003800000700380000070038000006003800000E007000000E007000000E00700
0000E007000000C006000001C00E000001C00E000031860C0000798F180000F31E100000
620C6000003C07C000002429829F1C>11 D<00003FE00000E01000018038000380780003
007800070030000700000007000000070000000E0000000E0000000E000000FFFFE0000E
00E0001C01C0001C01C0001C01C0001C01C0001C03800038038000380380003803800038
070000380700007007000070071000700E2000700E2000700E2000E00E2000E0064000E0
038000E0000000C0000001C0000001C000003180000079800000F3000000620000003C00
00001D29829F1A>I<0E1F3F3F1D0102020404081020C0080E779F0E>39
D<000100020004000800100020006000C0018001800300070006000E000C001C00180038
00380030007000700060006000E000E000C000C000C000C000C000C000C000C000C000C0
00C000C000C0004000600060002000100010000800102E79A113>I<0010000008000004
000006000002000003000003000003000001000001800001800001800001800001800001
80000180000380000380000380000300000300000300000700000700000600000600000E
00000C00000C00001C0000180000380000300000700000600000E00000C0000180000100
000300000600000C0000180000300000600000800000112E80A113>I<7FF0FFE07FE00C
037D8A10>45 D<70F8F8F0E005057B840E>I<00000040000000C0000001800000018000
00030000000300000006000000060000000C000000180000001800000030000000300000
0060000000C0000000C0000001800000018000000300000003000000060000000C000000
0C0000001800000018000000300000003000000060000000C0000000C000000180000001
8000000300000003000000060000000C0000000C00000018000000180000003000000030
00000060000000C0000000C0000000800000001A2D7FA117>I<000F800030E000E07001
C0700380300380380700380F00780F00780E00781E00781E00703C00F03C00F03C00F03C
00F07801E07801E07801E07801C07003C0F003C0F00380F00780F00700700700700E0070
1C003038001870000FC000151F7C9D17>I<000200020006000E003C00DC031C001C0038
003800380038007000700070007000E000E000E000E001C001C001C001C0038003800380
03800780FFF80F1E7B9D17>I<0007C0001C200030200060E000C1E00181E00380C00700
000F00000E00001E00001E78001D84003E06003E07003C07007C07807807807807807807
80700F00700F00F00F00F00E00F01E00701C00601C0070380030700010C0000F8000131F
7B9D17>54 D<070F1F1F0E0000000000000000000070F8F8F0E008147B930E>58
D<00000200000006000000060000000E0000001E0000001E0000003F0000002F0000004F
0000004F0000008F0000010F0000010F0000020F0000020F0000040F00000C0F0000080F
0000100F0000100F0000200F80003FFF800040078000C007800080078001000780010007
800200078002000780060007801E000F80FF807FF81D207E9F22>65
D<01FFFFC0001E00F0001E0078001E0038001E003C003C003C003C003C003C003C003C00
3C0078007800780078007800F0007801E000F0078000FFFE0000F00F8000F003C001E001
C001E001E001E001E001E001E003C001E003C001E003C001E003C001C0078003C0078007
8007800F0007801E000F007800FFFFE0001E1F7D9E20>I<01FFFFFE001E001C001E000C
001E0004001E0004003C0004003C0004003C0004003C0004007808080078080000780800
0078180000F0300000FFF00000F0300000F0300001E0200001E0200001E0200001E00010
03C0002003C0002003C0004003C00040078000800780018007800100078007000F001F00
FFFFFE001F1F7D9E1F>69 D<01FFFFFC001E0038001E0018001E0008001E0008003C0008
003C0008003C0008003C00080078001000780800007808000078080000F0100000F03000
00FFF00000F0300001E0200001E0200001E0200001E0200003C0000003C0000003C00000
03C00000078000000780000007800000078000000F800000FFF800001E1F7D9E1E>I<01
FFFF00001E03C0001E00E0001E0070001E0078003C0078003C0078003C0078003C007800
7800F0007800F0007801E0007801C000F0070000F01E0000FFF00000F0380001E01C0001
E01E0001E00E0001E00F0003C01E0003C01E0003C01E0003C01E0007803C0007803C0807
803C0807803C100F801C10FFF00C20000007C01D207D9E21>82 D<0007E040001C18C000
3005800060038000C0038001C00180018001000380010003800100038001000380000003
C0000003C0000003F8000001FF800001FFE000007FF000001FF0000001F8000000780000
007800000038000000380020003800200038002000300060007000600060006000E00070
00C000E8038000C606000081F800001A217D9F1A>I<00F1800389C00707800E03801C03
803C0380380700780700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C
40705C40308C800F070013147C9317>97 D<007E0001C1000300800E07801E07801C0700
3C0200780000780000780000F00000F00000F00000F00000F00000700100700200300400
18380007C00011147C9315>99 D<0000780003F80000700000700000700000700000E000
00E00000E00000E00001C00001C000F1C00389C00707800E03801C03803C038038070078
0700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C40308C800F
070015207C9F17>I<007C01C207010E011C013C013802780C7BF07C00F000F000F000F0
007000700170023804183807C010147C9315>I<00007800019C00033C00033C00071800
0700000700000E00000E00000E00000E00000E0001FFE0001C00001C00001C00001C0000
380000380000380000380000380000700000700000700000700000700000700000E00000
E00000E00000E00000C00001C00001C0000180003180007B0000F300006600003C000016
29829F0E>I<003C6000E27001C1E00380E00700E00F00E00E01C01E01C01E01C01E01C0
3C03803C03803C03803C03803C07003C07001C0F001C17000C2E0003CE00000E00000E00
001C00001C00301C00783800F0700060E0003F8000141D7E9315>I<01E0000FE00001C0
0001C00001C00001C000038000038000038000038000070000070000071E000763000E81
800F01C00E01C00E01C01C03801C03801C03801C0380380700380700380700380E10700E
20700C20701C20700C40E00CC060070014207D9F17>I<00C001E001E001C00000000000
0000000000000000000E003300230043804300470087000E000E000E001C001C001C0038
40388030807080310033001C000B1F7C9E0E>I<03C01FC0038003800380038007000700
070007000E000E000E000E001C001C001C001C0038003800380038007000700070007100
E200E200E200E200640038000A207C9F0C>108 D<1C0F80F0002630C318004740640C00
4780680E004700700E004700700E008E00E01C000E00E01C000E00E01C000E00E01C001C
01C038001C01C038001C01C038001C01C0708038038071003803806100380380E1003803
8062007007006600300300380021147C9325>I<1C0F802630C047406047806047007047
00708E00E00E00E00E00E00E00E01C01C01C01C01C01C01C038438038838030838070838
03107003303001C016147C931A>I<007C0001C3000301800E01C01E01C01C01E03C01E0
7801E07801E07801E0F003C0F003C0F003C0F00780F00700700F00700E00301800187000
07C00013147C9317>I<01C1E002621804741C04781C04701E04701E08E01E00E01E00E0
1E00E01E01C03C01C03C01C03C01C0380380780380700380E003C1C0072380071E000700
000700000E00000E00000E00000E00001C00001C0000FFC000171D809317>I<1C1E0026
61004783804787804707804703008E00000E00000E00000E00001C00001C00001C00001C
000038000038000038000038000070000030000011147C9313>114
D<00FC030206010C030C070C060C000F800FF007F803FC003E000E700EF00CF00CE00840
1020601F8010147D9313>I<018001C0038003800380038007000700FFF007000E000E00
0E000E001C001C001C001C003800380038003820704070407080708031001E000C1C7C9B
0F>I<0E00C03300E02301C04381C04301C04701C08703800E03800E03800E03801C0700
1C07001C07001C07101C0E20180E20180E201C1E200C264007C38014147C9318>I<0E03
803307802307C04383C04301C04700C08700800E00800E00800E00801C01001C01001C01
001C02001C02001C04001C04001C08000E300003C00012147C9315>I<0E00C1C03300E3
C02301C3E04381C1E04301C0E04701C060870380400E0380400E0380400E0380401C0700
801C0700801C0700801C0701001C0701001C0602001C0F02000C0F04000E13080003E1F0
001B147C931E>I E /Fj 58 122 df<007F07F001FF1FF003FF3FF00780780007007000
0F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F000FFF8FF80FFF8FF80
FFF8FF800F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F000
0F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00F000
1C20809F1B>11 D<00F8F001F8F003F8F00780F00700F00F00F00F00F00F00F00F00F00F
00F00F00F00F00F0FFF8F0FFF8F0FFF8F00F00F00F00F00F00F00F00F00F00F00F00F00F
00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F01420809F
18>13 D<007000E001C00380078007000E001E001E003C003C003C007800780078007800
7000F000F000F000F000F000F000F000F000F000F000F000F00070007800780078007800
3C003C003C001E001E000E0007000780038001C000E000700C2E7EA112>40
D<E000700038001C001E000E0007000780078003C003C003C001E001E001E001E000E000
F000F000F000F000F000F000F000F000F000F000F000F000E001E001E001E001E003C003
C003C00780078007000E001E001C0038007000E0000C2E7DA112>I<0006000000060000
000600000006000000060000000600000006000000060000000600000006000000060000
00060000000600000006000000060000FFFFFFF0FFFFFFF0000600000006000000060000
000600000006000000060000000600000006000000060000000600000006000000060000
0006000000060000000600001C207D9A23>43 D<787878781830306060E0050A7D830D>
I<FFC0FFC0FFC00A037F8B0F>I<F0F0F0F004047C830D>I<00C001C00FC0FFC0FFC0F3C0
03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
03C003C003C003C0FFFEFFFEFFFE0F1F7C9E17>49 D<07F0000FFC001FFE00383F00700F
00600780E00780E003C04003C04003C00003C00003C00003C0000780000780000F00000E
00001C00003C0000780000E00001C0000380000700000E00001C0000380000700000FFFF
C0FFFFC0FFFFC0121F7E9E17>I<FFFFFFF0FFFFFFF00000000000000000000000000000
000000000000000000000000000000000000FFFFFFF0FFFFFFF01C0C7D9023>61
D<001F0000001F0000003F8000003B8000003B8000007BC0000073C0000071C00000F1E0
0000E1E00000E0E00001E0F00001E0F00001C0F00003C0780003C078000380780007803C
0007803C0007003C000FFFFE000FFFFE000FFFFE001E000F001E000F003C000F803C0007
803C000780780007C0780003C0780003C0F00003E01B207F9F1E>65
D<FFF800FFFF00FFFF80F00FC0F003E0F001E0F000F0F000F0F000F0F000F0F000F0F001
E0F003C0F01F80FFFF00FFFF00FFFF80F007E0F001E0F000F0F00078F00078F00078F000
78F00078F00078F000F0F001F0F007E0FFFFC0FFFF80FFFC0015207B9F1E>I<001FC000
FFF801FFFC03E03C07800C0F00001E00003E00003C00007C0000780000780000780000F0
0000F00000F00000F00000F00000F00000F00000F000007800007800007800007C00003C
00003E00001E00000F000207800E03E03E01FFFC00FFF0001FC017227DA01D>I<FFFC00
FFFF80FFFFC0F007E0F001F0F000F8F00078F0003CF0003CF0001EF0001EF0000EF0000F
F0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0001EF0001EF0001EF0003C
F0007CF000F8F001F0F007E0FFFFC0FFFF80FFFC0018207B9F21>I<FFFFC0FFFFC0FFFF
C0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFF
80FFFF80FFFF80F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000FFFFE0FFFFE0FFFFE013207B9F1B>I<FFFFC0FFFFC0FFFFC0F00000F0
0000F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFF00FFFF00FF
FF00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F0000012207B9F1A>I<001FE000FFF801FFFE03E03E07800E0F0000
1E00003E00003C00007C0000780000780000780000F00000F00000F00000F00000F00000
F00000F003FEF003FE7803FE78001E78001E7C001E3C001E3E001E1E001E0F001E07801E
03E03E01FFFE00FFF8001FC017227DA01E>I<F00078F00078F00078F00078F00078F000
78F00078F00078F00078F00078F00078F00078F00078F00078FFFFF8FFFFF8FFFFF8F000
78F00078F00078F00078F00078F00078F00078F00078F00078F00078F00078F00078F000
78F00078F0007815207B9F20>I<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
F0F0F0F0F0F0F0F0F0F004207C9F0D>I<F0003EF0007CF000F8F001F0F003E0F007C0F0
0780F00F00F01F00F03E00F07C00F0F800F1F000F3F800F3F800F7FC00FFBC00FF1E00FE
1F00FC0F00F80780F00780F003C0F003E0F001E0F000F0F000F8F00078F0003CF0003CF0
001EF0001F18207B9F20>75 D<F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000FFFF80FFFF80FFFF
8011207B9F19>I<F80001F8FC0003F8FC0003F8F4000378F6000778F6000778F6000778
F3000E78F3000E78F3000E78F3801E78F3801E78F1801C78F1C03C78F1C03C78F0C03878
F0C03878F0E07878F0E07878F0607078F070F078F070F078F030E078F039E078F039E078
F019C078F019C078F019C078F00F8078F00F8078F00F8078F00000781D207B9F28>I<FC
0078FE0078FE0078F60078F70078F70078F38078F38078F38078F3C078F1C078F1E078F1
E078F0E078F0F078F07078F07078F07878F03878F03C78F03C78F01C78F01E78F00E78F0
0E78F00E78F00778F00778F00378F003F8F003F8F001F815207B9F20>I<003F000000FF
C00003FFF00007E1F8000F807C001F003E001E001E003C000F003C000F00780007807800
078078000780F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F00003C0F000
03C0F00003C0F80007C07800078078000780780007803C000F003C000F001E001E001F00
3E000F807C0007E1F80003FFF00000FFC000003F00001A227DA021>I<FFF800FFFF00FF
FF80F00FC0F003E0F001E0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F001E0F0
03E0F00FC0FFFF80FFFF00FFF800F00000F00000F00000F00000F00000F00000F00000F0
0000F00000F00000F00000F00000F0000014207B9F1D>I<FFF800FFFF00FFFF80F007C0
F003E0F001E0F000F0F000F0F000F0F000F0F000F0F001E0F003E0F007C0FFFF80FFFF00
FFF800F03C00F01E00F01E00F00F00F00F00F00780F00780F003C0F001C0F001E0F000F0
F000F0F00078F00078F0003C16207B9F1D>82 D<01FC0007FF800FFFC01F03C03C00C03C
00007800007800007800007800007800007C00003C00003F00001FE0000FFC0007FE0001
FF00003F800007C00003C00003E00001E00001E00001E00001E00001E00001C0C003C0F0
07C0FC0F807FFF001FFE0003F80013227EA019>I<FFFFFFC0FFFFFFC0FFFFFFC0001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E00001A207E9F1F>I<F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0
F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0F000F0
F000F0F000F0F000F0F000F0F000F07801E07801E03C03C03C03C01F0F800FFF0007FE00
01F80014217B9F1F>I<F00001E0F00001E0780003C0780003C0780003C03C0007803C00
07803C0007801E000F001E000F001F000F000F001E000F001E0007801C0007803C000780
3C0003C0380003C0780003C0780001E0700001E0F00001E0F00000F0E00000F1E00000F1
E0000071C000007BC000003B8000003B8000003F8000001F0000001F00001B207F9F1E>
I<F0007C000FF0007E000FF0007E000F78006E000E7800EE001E7800E7001E7800E7001E
3C00E7003C3C01E7803C3C01C7803C3C01C3803C1E01C380781E03C3C0781E0383C0780E
0381C0700F0381C0F00F0781E0F00F0701E0F0070700E0E0078700E1E0078F00E1E0078E
00F1E0038E0071C0038E0071C003CE0073C001DC00738001DC003B8001DC003B8001DC00
3B8000F8003F0000F8001F0000F8001F0028207F9F2B>I<780007807C000F003E001F00
1E001E000F003C000F807C000780780003C0F00003E1F00001F1E00000F3C000007FC000
007F8000003F0000001F0000001E0000003F0000007F8000007FC00000F3C00001F1E000
01E0F00003C0F80007C0780007803C000F003E001F001E001E000F003C000F807C0007C0
780003C0F00003E01B207F9F1E>I<F80000F87C0001F03C0001E03E0003E01F0003C00F
0007800F800F8007C00F0003C01F0003E01E0001F03C0000F07C00007878000078F00000
3CF000001CE000001FE000000FC000000780000007800000078000000780000007800000
07800000078000000780000007800000078000000780000007800000078000000780001D
20809F1E>I<FFFFF8FFFFF8FFFFF80000F00001F00001E00003C00007C0000780000F80
000F00001E00003E00003C00007C0000780000F00001F00001E00003E00003C000078000
0F80000F00001F00001E00003C00007C0000780000FFFFFCFFFFFCFFFFFC16207D9F1C>
I<07E03FF87FFC701E401F000F000F000F003F07FF1FFF7E0FF80FF00FF00FF00FF83F7F
FF3FEF1F8F10147E9316>97 D<F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F1F000F7FC00FFFE00FC3E00F80F00F00F00F00780F007
80F00780F00780F00780F00780F00780F00F00F00F00F81F00FC3E00FFFC00F7F800F1E0
0011207D9F17>I<03F00FFC1FFE3E0E3C0278007800F000F000F000F000F000F0007800
78003C013E0F1FFF0FFE03F010147E9314>I<0007800007800007800007800007800007
8000078000078000078000078000078000078007C7800FF7801FFF803E1F807C07807807
80F80780F00780F00780F00780F00780F00780F00780F00780780780780F803E1F801FFF
800FF78007C78011207E9F17>I<03F0000FFC001FFE003E1F003C0700780700700380FF
FF80FFFF80FFFF80F00000F00000F000007000007800003C01003E07001FFF0007FE0001
F80011147F9314>I<007E01FE03FE078007000F000F000F000F000F000F000F00FFF0FF
F0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F20809F0E>I<03E0F00FFFF01FFFF03E3E003C1E00780F00780F00780F00780F0078
0F003C1E003E3E001FFC003FF80033E0003000003800003FFE003FFF801FFFC03FFFE078
03F0F000F0F000F0F000F0F801F07E07E03FFFC00FFF0003FC00141E7F9317>I<F000F0
00F000F000F000F000F000F000F000F000F000F000F1F8F3FCF7FEFC1FF80FF80FF00FF0
0FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10207D9F17>I<F0F0F0F0
0000000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004207D9F0B>I<F0
0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0
1F00F01E00F03C00F07800F0F000F1E000F3C000F78000FFC000FFC000FFE000F9F000F8
F000F0F800F07C00F07C00F03E00F01E00F01F00F00F8011207D9F16>107
D<F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F004207D
9F0B>I<F0FC07E0F3FE1FF0F7FF3FF8FE0FF07CF807C03CF807C03CF007803CF007803C
F007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803CF007803C
F007803CF007803CF007803C1E147D9325>I<F1F8F3FCF7FEFC1FF80FF80FF00FF00FF0
0FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F10147D9317>I<01F80007FE00
1FFF803F0FC03C03C07801E07801E0F000F0F000F0F000F0F000F0F000F0F000F07801E0
7801E03C03C03F0FC01FFF8007FE0001F80014147F9317>I<F1F000F7FC00FFFE00FC3E
00F81F00F00F00F00F80F00780F00780F00780F00780F00780F00780F00F00F00F00F81F
00FC3E00FFFC00F7F800F1E000F00000F00000F00000F00000F00000F00000F00000F000
00F00000111D7D9317>I<F0E0F3E0F7E0FF00FC00FC00F800F800F000F000F000F000F0
00F000F000F000F000F000F000F0000B147D9310>114 D<07F01FFC3FFC780C78007800
78007C003FC01FF00FF803F8007C003C003CC03CF07CFFF87FF00FC00E147F9311>I<1E
001E001E001E001E001E00FFF0FFF0FFF01E001E001E001E001E001E001E001E001E001E
001E001E001E001E201FF00FF007C00C1A7F9910>I<F00FF00FF00FF00FF00FF00FF00F
F00FF00FF00FF00FF00FF00FF00FF00FF01FF03FFFFF7FEF3F0F10147D9317>I<F003C0
F003C07803807807807807803C0F003C0F003C0F001E0E001E1E001E1E000F1C000F3C00
0F3C0007380007380007B80003F00003F00001E00012147F9315>I<F01F00F0F01F80F0
F01F80F0781B81E0783B81E0783BC1E07839C1E03C31C3C03C71C3C03C71E3C01C70E380
1E60E7801E60E7801EE0E7800EE077000EC077000EC0770007C07E0007C03E0007803E00
1C147F931F>I<7801E07C03C03E07801E0F000F0F00079E0003FC0003F80001F80000F0
0001F00001F80003FC00079E000F0F000E0F001E07803C03C07801E0F801F01414809315
>I<F003C0F003C07807807807807C07803C0F003C0F001E0F001E1E000E1E000F1C000F
1C00073C0007380003B80003B80003B00001F00001F00000E00000E00001C00001C00001
C0000380000780007F00007E00007C0000121D7F9315>I E /Fk
15 117 df<020408103020604040C0C0C0C0C0C0C0C0404060203010080402071A7F920C
>40 D<8040201018080C0404060606060606060604040C081810204080071A7E920C>I<
1F00318060C04040C060C060C060C060C060C060C060C060404060C031801F000B107F8F
0F>48 D<0C003C00CC000C000C000C000C000C000C000C000C000C000C000C000C00FF80
09107E8F0F>I<1F00618040C08060C0600060006000C00180030006000C00102020207F
C0FFC00B107F8F0F>I<1F00218060C060C000C0008001800F00008000400060C060C060
804060801F000B107F8F0F>I<0300030007000F000B001300330023004300C300FFE003
000300030003001FE00B107F8F0F>I<20803F002C002000200020002F00308020400060
00600060C06080C061801F000B107F8F0F>I<0780184030C060C06000C000CF00F080E0
40C060C060C060406060C030801F000B107F8F0F>I<40007FE07FC08080808001000200
040004000C0008000800180018001800180018000B117E900F>I<1F00318060C060C060
C071803F000F00338061C0C060C060C060404060801F000B107F8F0F>I<1F00318060C0
C040C060C060C06040E021E01E600060004060C0608043003E000B107F8F0F>I<03E000
0C1800100400200200600300400100C00180C00180C00180C00180C00180600300600300
3006003006000C180003E00011117E9017>79 D<1F8030C06000C000C000C000C000C000
604030801F000A0B7F8A0E>99 D<10103030FE3030303030323232321C070F7F8E0C>
116 D E /Fl 7 104 df<FFFFFFC0FFFFFFC01A027C8B23>0 D<C0000000F00000003C00
00000F00000003C0000000F0000000380000000E0000000780000001E000000078000000
1E0000000780000001C00000078000001E00000078000001E00000078000000E00000038
000000F0000003C000000F0000003C00000070000000C000000000000000000000000000
0000000000000000000000000000000000007FFFFF80FFFFFFC01A247C9C23>21
D<00000C00000C0000180000180000300000300000600000600000C00000C00001800001
80000180000300000300000600000600000C00000C000018000018000030000030000060
0000600000C00000C0000180000180000300000300000600000600000600000C00000C00
00180000180000300000300000600000600000C00000400000162C7AA000>54
D<FFFFFFE0FFFFFFE0000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000400001B1C7C9B23>62 D<00040000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00
00000C0000000C0000FFFFFFE0FFFFFFE01B1C7C9B23>I<000F0038006000E001C001C0
01C001C001C001C001C001C001C001C001C001C001C001C001C0038007001E00F8001E00
0700038001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C000E0
00600038000F102D7DA117>102 D<F8001E000700038001C001C001C001C001C001C001
C001C001C001C001C001C001C001C001C000E000600038000F0038006000E001C001C001
C001C001C001C001C001C001C001C001C001C001C001C001C0038007001E00F800102D7D
A117>I E /Fm 77 126 df<70F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F870000000000070
F8F8F870051C779B18>33 D<4010E038F078E038E038E038E038E038E038E038E038E038
E03860300D0E7B9C18>I<01C00007E0000FF0000E70001C38001C38001C38001C38001C
73F01C73F01CE3F00FE3800FC7000F87000F07001F0E003F0E007B8E0073DC00E1DC00E0
F800E0F800E07070E0787070FC707FFFE03FCFE00F03C0141C7F9B18>38
D<007000F001E003C007800F001E001C00380038007000700070007000E000E000E000E0
00E000E000E000E0007000700070007000380038001C001E000F00078003C001F000F000
700C24799F18>40 D<6000F00078003C001E000F000780038001C001C000E000E000E000
E00070007000700070007000700070007000E000E000E000E001C001C0038007800F001E
003C007800F00060000C247C9F18>I<01C00001C00001C00001C000C1C180F1C780F9CF
807FFF001FFC0007F00007F0001FFC007FFF00F9CF80F1C780C1C18001C00001C00001C0
0001C00011147D9718>I<1C3E7E7F3F1F070E1E7CF860080C788518>44
D<7FFF00FFFF80FFFF807FFF0011047D8F18>I<3078FCFC78300606778518>I<00030000
0780000780000F80000F00001F00001E00001E00003E00003C00007C0000780000780000
F80000F00001F00001E00003E00003C00003C00007C0000780000F80000F00000F00001F
00001E00003E00003C00003C00007C0000780000F80000F00000F0000060000011247D9F
18>I<01F00007FC000FFE001F1F001C07003803807803C07001C07001C0E000E0E000E0
E000E0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C07803C0380380
1C07001F1F000FFE0007FC0001F000131C7E9B18>I<01800380038007800F803F80FF80
FB8043800380038003800380038003800380038003800380038003800380038003800380
7FFCFFFE7FFC0F1C7B9B18>I<03F0000FFE003FFF007C0F807003C0E001C0F000E0F000
E06000E00000E00000E00001C00001C00003C0000780000F00001E00003C0000780000F0
0001E00007C0000F80001E00E03C00E07FFFE0FFFFE07FFFE0131C7E9B18>I<07F8001F
FE003FFF007807807803C07801C03001C00001C00003C0000380000F0003FF0003FE0003
FF000007800003C00001C00000E00000E00000E0F000E0F000E0F001C0F003C07C07803F
FF001FFE0003F800131C7E9B18>I<1FFF803FFF803FFF80380000380000380000380000
3800003800003800003800003BF8003FFE003FFF003C07801803C00001C00000E00000E0
6000E0F000E0F000E0E001C07003C07C0F803FFF001FFC0003F000131C7E9B18>53
D<007E0001FF0007FF800F83C01E03C01C03C0380180380000700000700000E1F800E7FE
00FFFF00FE0780F803C0F001C0F000E0E000E0F000E07000E07000E07000E03801C03C03
C01E07800FFF0007FE0001F800131C7E9B18>I<3078FCFC783000000000000000003078
FCFC78300614779318>58 D<183C7E7E3C180000000000000000183C7E7E3E1E0E1C3C78
F060071A789318>I<000300000780001F80003F00007E0001FC0003F00007E0001FC000
3F00007E0000FC0000FC00007E00003F00001FC00007E00003F00001FC00007E00003F00
001F8000078000030011187D9918>I<7FFFC0FFFFE0FFFFE0FFFFE00000000000000000
00000000FFFFE0FFFFE0FFFFE07FFFC0130C7E9318>I<600000F00000FC00007E00003F
00001FC00007E00003F00001FC00007E00003F00001F80001F80003F00007E0001FC0003
F00007E0001FC0003F00007E0000FC0000F0000060000011187D9918>I<0FF0003FFC00
7FFF00700F00F00380F00380600780000F00003E00007C0001F00001E00003C00003C000
03C00003C00003C00003800000000000000000000000000000000003800007C00007C000
07C000038000111C7D9B18>I<00700000F80000F80000D80000D80001DC0001DC0001DC
00018C00038E00038E00038E00038E000306000707000707000707000707000FFF800FFF
800FFF800E03800E03801C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>65
D<FFFC00FFFF00FFFF801C03C01C01C01C00E01C00E01C00E01C00E01C01E01C01C01C07
C01FFF801FFF001FFFC01C03C01C00E01C00F01C00701C00701C00701C00701C00F01C00
E01C03E0FFFFC0FFFF80FFFE00141C7F9B18>I<00F8E003FEE007FFE00F07E01E03E03C
01E03800E07000E07000E0700000E00000E00000E00000E00000E00000E00000E00000E0
00007000007000E07000E03800E03C00E01E01C00F07C007FF8003FE0000F800131C7E9B
18>I<7FF800FFFE007FFF001C0F801C03C01C03C01C01E01C00E01C00E01C00F01C0070
1C00701C00701C00701C00701C00701C00701C00701C00F01C00E01C00E01C01E01C01C0
1C03C01C0F807FFF00FFFE007FF800141C7F9B18>I<FFFFF0FFFFF0FFFFF01C00701C00
701C00701C00701C00001C00001C0E001C0E001C0E001FFE001FFE001FFE001C0E001C0E
001C0E001C00001C00001C00381C00381C00381C00381C0038FFFFF8FFFFF8FFFFF8151C
7F9B18>I<FFFFE0FFFFE0FFFFE01C00E01C00E01C00E01C00E01C00001C00001C1C001C
1C001C1C001FFC001FFC001FFC001C1C001C1C001C1C001C00001C00001C00001C00001C
00001C00001C0000FFC000FFC000FFC000131C7E9B18>I<01F1C003FDC00FFFC01F0FC0
1C03C03803C03801C07001C07001C0700000E00000E00000E00000E00000E00000E00FF0
E01FF0E00FF07001C07001C07003C03803C03803C01C07C01F0FC00FFFC003FDC001F1C0
141C7E9B18>I<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01C01C01
C01C01C01C01C01FFFC01FFFC01FFFC01C01C01C01C01C01C01C01C01C01C01C01C01C01
C01C01C01C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>I<7FFF00FFFF807FFF0001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001
C00001C00001C00001C00001C00001C00001C00001C00001C00001C0007FFF00FFFF807F
FF00111C7D9B18>I<7F07F0FF87F87F07F01C03C01C07801C07001C0E001C1E001C3C00
1C38001C70001CF0001DF0001DF0001FB8001FB8001F1C001E1C001C0E001C0E001C0700
1C07001C03801C03801C01C07F03F0FF87F87F03F0151C7F9B18>75
D<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E00000E00000E00000E00
000E00000E00000E00000E00000E00000E00000E00000E00000E00700E00700E00700E00
700E00707FFFF0FFFFF07FFFF0141C7F9B18>I<FC01F8FE03F8FE03F83B06E03B06E03B
06E03B06E03B8EE03B8EE0398CE0398CE039DCE039DCE039DCE038D8E038D8E038F8E038
70E03870E03800E03800E03800E03800E03800E03800E0FE03F8FE03F8FE03F8151C7F9B
18>I<7E07F0FF0FF87F07F01D81C01D81C01D81C01DC1C01CC1C01CC1C01CE1C01CE1C0
1CE1C01C61C01C71C01C71C01C31C01C39C01C39C01C39C01C19C01C19C01C1DC01C0DC0
1C0DC01C0DC07F07C0FF87C07F03C0151C7F9B18>I<0FF8003FFE007FFF00780F007007
00F00780E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E003
80E00380E00380E00380E00380E00380F00780700700780F007FFF003FFE000FF800111C
7D9B18>I<FFFE00FFFF80FFFFC01C03C01C01E01C00E01C00701C00701C00701C00701C
00701C00E01C01E01C03C01FFFC01FFF801FFE001C00001C00001C00001C00001C00001C
00001C00001C0000FF8000FF8000FF8000141C7F9B18>I<0FF8003FFE007FFF00780F00
700700F00780E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380
E00380E00380E00380E00380E1E380E1E380F0E78070F700787F007FFF003FFE000FFC00
001C00001E00000E00000F0000070000070011227D9B18>I<7FF800FFFE007FFF001C0F
801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FFE001C0F
001C07001C03801C03801C03801C03801C03801C039C1C039C1C039C7F01F8FF81F87F00
F0161C7F9B18>I<03F3801FFF803FFF807C0F80700780E00380E00380E00380E0000070
00007800003F00001FF00007FE0000FF00000F800003C00001C00000E00000E06000E0E0
00E0E001E0F001C0F80780FFFF80FFFE00E7F800131C7E9B18>I<7FFFF8FFFFF8FFFFF8
E07038E07038E07038E07038007000007000007000007000007000007000007000007000
00700000700000700000700000700000700000700000700000700000700007FF0007FF00
07FF00151C7F9B18>I<FF83FEFF83FEFF83FE1C00701C00701C00701C00701C00701C00
701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00
701C00700E00E00F01E00783C003FF8001FF00007C00171C809B18>I<FF07F8FF07F8FF
07F81C01C01C01C01C01C01C01C00E03800E03800E03800E03800F078007070007070007
0700070700038E00038E00038E00038E00018C0001DC0001DC0001DC0000D80000F80000
F800007000151C7F9B18>I<FE03F8FE03F8FE03F87000707000707000703800E03800E0
3800E03800E03800E038F8E038F8E039DCE039DCE019DCC019DCC019DCC0198CC01D8DC0
1D8DC01D8DC01D8DC00D8D800D05800F07800F07800E0380151C7F9B18>I<7F8FE07F9F
E07F8FE00E07000F0700070E00078E00039C0003DC0001F80001F80000F00000F0000070
0000F00000F80001F80001DC00039E00038E00070F000707000E07800E03801E03C07F07
F0FF8FF87F07F0151C7F9B18>I<FF07F8FF07F8FF07F81C01C01E03C00E03800F078007
0700070700038E00038E0001DC0001DC0001DC0000F80000F80000700000700000700000
700000700000700000700000700000700001FC0003FE0001FC00151C7F9B18>I<3FFFE0
7FFFE07FFFE07001C07003C0700780700700000F00001E00001C00003C00007800007000
00F00001E00001C00003C0000780000700000F00001E00E01C00E03C00E07800E07000E0
FFFFE0FFFFE0FFFFE0131C7E9B18>I<FFF8FFF8FFF8E000E000E000E000E000E000E000
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
E000E000E000E000E000FFF8FFF8FFF80D24779F18>I<FFF8FFF8FFF800380038003800
380038003800380038003800380038003800380038003800380038003800380038003800
3800380038003800380038003800380038FFF8FFF8FFF80D247F9F18>93
D<7FFF00FFFF80FFFF807FFF0011047D7F18>95 D<1FE0003FF8007FFC00781E00300E00
00070000070000FF0007FF001FFF007F0700780700E00700E00700E00700F00F00781F00
3FFFF01FFBF007E1F014147D9318>97 D<7E0000FE00007E00000E00000E00000E00000E
00000E00000E3E000EFF800FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E
00380E00380E00380F00700F00700F80E00FC1E00FFFC00EFF80063E00151C809B18>I<
01FE0007FF001FFF803E0780380300700000700000E00000E00000E00000E00000E00000
E000007000007001C03801C03E03C01FFF8007FF0001FC0012147D9318>I<001F80003F
80001F8000038000038000038000038000038003E3800FFB801FFF803C1F80380F807007
80700380E00380E00380E00380E00380E00380E00380700780700780380F803C1F801FFF
F00FFBF803E3F0151C7E9B18>I<01F00007FC001FFE003E0F00380780700380700380E0
01C0E001C0FFFFC0FFFFC0FFFFC0E000007000007001C03801C03E03C01FFF8007FF0001
FC0012147D9318>I<001F80007FC000FFE000E1E001C0C001C00001C00001C0007FFFC0
FFFFC0FFFFC001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
01C00001C00001C00001C0007FFF007FFF007FFF00131C7F9B18>I<01E1F007FFF80FFF
F81E1E301C0E003807003807003807003807003807001C0E001E1E001FFC001FF80039E0
003800001C00001FFE001FFFC03FFFE07801F0700070E00038E00038E00038E000387800
F07E03F01FFFC00FFF8001FC00151F7F9318>I<7E0000FE00007E00000E00000E00000E
00000E00000E00000E3E000EFF800FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E
00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC171C809B
18>I<03800007C00007C00007C0000380000000000000000000000000007FC000FFC000
7FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
01C00001C00001C000FFFF00FFFF80FFFF00111D7C9C18>I<FE0000FE0000FE00000E00
000E00000E00000E00000E00000E3FF00E7FF00E3FF00E07800E0F000E1E000E3C000E78
000EF0000FF8000FFC000F9C000F0E000E0F000E07000E03800E03C0FFC7F8FFC7F8FFC7
F8151C7F9B18>107 D<7FE000FFE0007FE00000E00000E00000E00000E00000E00000E0
0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0
0000E00000E00000E00000E0007FFFC0FFFFE07FFFC0131C7E9B18>I<7CE0E000FFFBF8
007FFFF8001F1F1C001E1E1C001E1E1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C
001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C007F1F1F00FFBFBF807F1F1F
001914819318>I<7E3E00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E
00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC17148093
18>I<01F0000FFE001FFF003E0F803803807001C07001C0E000E0E000E0E000E0E000E0
E000E0F001E07001C07803C03C07803E0F801FFF000FFE0001F00013147E9318>I<7E3E
00FEFF807FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E00380E00380E00
380F00700F00700F80E00FC1E00FFFC00EFF800E3E000E00000E00000E00000E00000E00
000E00000E00007FC000FFE0007FC000151E809318>I<01E38007FB801FFF803E1F8038
0F80700780700780E00380E00380E00380E00380E00380E00380700780700780380F803C
1F801FFF800FFB8003E380000380000380000380000380000380000380000380003FF800
3FF8003FF8151E7E9318>I<7F87E0FF9FF07FBFF803F87803F03003E00003C00003C000
0380000380000380000380000380000380000380000380000380007FFE00FFFF007FFE00
15147F9318>I<07F7003FFF007FFF00780F00E00700E00700E007007C00007FE0001FFC
0003FE00001F00600780E00380E00380F00380F80F00FFFF00FFFC00E7F00011147D9318
>I<0180000380000380000380000380007FFFC0FFFFC0FFFFC003800003800003800003
80000380000380000380000380000380000380400380E00380E00380E001C1C001FFC000
FF80003E0013197F9818>I<7E07E0FE0FE07E07E00E00E00E00E00E00E00E00E00E00E0
0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E01E00F03E007FFFC03FFFE01FCFC
1714809318>I<7F8FF0FF8FF87F8FF01E03C00E03800E03800E03800707000707000707
00038E00038E00038E00038E0001DC0001DC0001DC0000F80000F80000700015147F9318
>I<FF8FF8FF8FF8FF8FF83800E03800E03800E01C01C01C01C01C71C01CF9C01CF9C01C
D9C01CD9C00DDD800DDD800DDD800D8D800F8F800F8F8007070015147F9318>I<7F8FF0
7F9FF07F8FF0070700078E00039E0001DC0001F80000F80000700000F00000F80001DC00
039E00038E000707000F07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0FF8FF87F8F
F00E01C00E03800E0380070380070700070700038700038600038E0001CE0001CE0000CC
0000CC0000DC0000780000780000780000700000700000700000F00000E00079E0007BC0
007F80003F00001E0000151E7F9318>I<3FFFF07FFFF07FFFF07001E07003C070078000
0F00001E00003C0000F80001F00003C0000780000F00701E00703C0070780070FFFFF0FF
FFF0FFFFF014147F9318>I<0007E0001FE0007FE000780000E00000E00000E00000E000
00E00000E00000E00000E00000E00000E00000E00001E0007FC000FF8000FF80007FC000
01E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E000
007800007FE0001FE00007E013247E9F18>I<7C0000FF0000FFC00003C00000E00000E0
0000E00000E00000E00000E00000E00000E00000E00000E00000E00000F000007FC0003F
E0003FE0007FC000F00000E00000E00000E00000E00000E00000E00000E00000E00000E0
0000E00000E00003C000FFC000FF00007C000013247E9F18>125
D E /Fn 48 124 df<004000800100020006000C000C0018001800300030007000600060
006000E000E000E000E000E000E000E000E000E000E000E000E000600060006000700030
003000180018000C000C00060002000100008000400A2A7D9E10>40
D<800040002000100018000C000C000600060003000300038001800180018001C001C001
C001C001C001C001C001C001C001C001C001C0018001800180038003000300060006000C
000C00180010002000400080000A2A7E9E10>I<00060000000600000006000000060000
000600000006000000060000000600000006000000060000000600000006000000060000
FFFFFFE0FFFFFFE000060000000600000006000000060000000600000006000000060000
0006000000060000000600000006000000060000000600001B1C7E9720>43
D<60F0F0701010101020204080040C7C830C>I<FFE0FFE00B0280890E>I<60F0F0600404
7C830C>I<07C01830201C400C400EF00FF80FF807F8077007000F000E000E001C001C00
380070006000C00180030006010C01180110023FFE7FFEFFFE101C7E9B15>50
D<0FE03038401CE00EF00EF00EF00E000C001C0030006000C00080018001000100010001
00010001000000000000000000000003000780078003000F1D7E9C14>63
D<FFFFC00F00F00F00380F003C0F001C0F001E0F001E0F001E0F001E0F001C0F003C0F00
780F01F00FFFE00F00780F003C0F001E0F000E0F000F0F000F0F000F0F000F0F000F0F00
1E0F001E0F003C0F0078FFFFE0181C7E9B1D>66 D<001F808000E0618001801980070007
800E0003801C0003801C00018038000180780000807800008070000080F0000000F00000
00F0000000F0000000F0000000F0000000F0000000F00000007000008078000080780000
80380000801C0001001C0001000E000200070004000180080000E03000001FC000191E7E
9C1E>I<FFFFC0000F00F0000F003C000F000E000F0007000F0007000F0003800F0003C0
0F0001C00F0001C00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E0
0F0001E00F0001C00F0001C00F0003C00F0003800F0007800F0007000F000E000F001C00
0F007000FFFFC0001B1C7E9B20>I<FFFFFC0F003C0F000C0F00040F00040F00060F0002
0F00020F02020F02000F02000F02000F06000FFE000F06000F02000F02000F02000F0201
0F00010F00020F00020F00020F00060F00060F000C0F003CFFFFFC181C7E9B1C>I<FFF0
0F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F000F000F000F000F000F000F00FFF00C1C7F9B0F>73 D<FF8000FF800F8000F800
0F8000F8000BC00178000BC00178000BC001780009E002780009E002780008F004780008
F004780008F0047800087808780008780878000878087800083C107800083C107800083C
107800081E207800081E207800081E207800080F407800080F4078000807807800080780
7800080780780008030078001C03007800FF8307FF80211C7E9B26>77
D<FF007FC00F800E000F8004000BC0040009E0040009E0040008F0040008F80400087804
00083C0400083C0400081E0400080F0400080F0400080784000807C4000803C4000801E4
000801E4000800F40008007C0008007C0008003C0008003C0008001C0008000C001C000C
00FF8004001A1C7E9B1F>I<003F800000E0E0000380380007001C000E000E001C000700
3C00078038000380780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0
F00001E0F00001E0F00001E0F00001E0700001C0780003C0780003C0380003803C000780
1C0007000E000E0007001C000380380000E0E000003F80001B1E7E9C20>I<FFFF800F00
E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F003C0F00780F00
E00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F0000FFF000171C7E9B1C>I<07E0801C1980300580700380600180E00180E00080E0
0080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007C000
03C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E9C
17>83 D<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020
800F0020000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
001F800003FFFC001B1C7F9B1E>I<FFF07FC00F000E000F0004000F0004000F0004000F
0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F
0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000700080007
800800038010000180100000C020000070C000001F00001A1D7E9B1F>I<FFE00FF01F00
03C00F0001800F0001000F800300078002000780020003C0040003C0040003C0040001E0
080001E0080001F0080000F0100000F0100000F830000078200000782000003C4000003C
4000003C4000001E8000001E8000001F8000000F0000000F000000060000000600000006
00001C1D7F9B1F>I<FFE0FFE0FF1F001F003C1E001E00180F001F00100F001F00100F00
1F001007801F00200780278020078027802003C027804003C043C04003C043C04003E043
C04001E081E08001E081E08001E081E08000F100F10000F100F10000F100F100007900FA
00007A007A00007A007A00003E007C00003C003C00003C003C00003C003C000018001800
00180018000018001800281D7F9B2B>I<1FC000307000783800781C00301C00001C0000
1C0001FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012
127E9115>97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00
001C00001C7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00
E01C00E01C00C01C01C01C01801E030019060010F800131D7F9C17>I<07E00C30187830
7870306000E000E000E000E000E000E00060007004300418080C3007C00E127E9112>I<
003F0000070000070000070000070000070000070000070000070000070000070003E700
0C1700180F00300700700700600700E00700E00700E00700E00700E00700E00700600700
700700300700180F000C370007C7E0131D7E9C17>I<03E00C301818300C700E6006E006
FFFEE000E000E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E06
1E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C38801818
00381C00381C00381C00381C001818001C38000C300013C0001000003000001800001FF8
001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C
7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C
00001C7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801C03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C00180000
00000000000000000000000000FC001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C00FF80091D7F9C0C>I<00C001E001E000C00000000000000000
0000000000000FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000E000E060E0F0C0F1C061803E000B25839C0D>I<FC00001C00001C
00001C00001C00001C00001C00001C00001C00001C00001C00001C3FC01C0F001C0C001C
08001C10001C20001C40001CE0001DE0001E70001C78001C38001C3C001C1C001C0E001C
0F001C0F80FF9FE0131D7F9C16>I<FC001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF
80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C0
1C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C
001C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C00
1C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
1C03801C03801C03801C0380FF9FF014127F9117>I<03F0000E1C001806003003007003
80600180E001C0E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C
0003F00012127F9115>I<FC7C001D86001E03001C01801C01C01C00C01C00E01C00E01C
00E01C00E01C00E01C00E01C01C01C01C01C01801E03001D06001CF8001C00001C00001C
00001C00001C00001C00001C0000FF8000131A7F9117>I<FCE01D301E781E781C301C00
1C001C001C001C001C001C001C001C001C001C001C00FFC00D127F9110>114
D<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D0608F
C00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C00
1C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C03
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03
801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E02000E
020007040007040007040003880003880003D80001D00001D00000E00000E00000E00000
400013127F9116>I<FF3FCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B82
000E1182000711C4000711C4000720C40003A0E80003A0E80003C0680001C0700001C070
0001803000008020001B127F911E>I<7F8FF00F03800F030007020003840001C80001D8
0000F00000700000780000F800009C00010E00020E000607000403801E07C0FF0FF81512
809116>I<FF07E03C03801C01001C01000E02000E020007040007040007040003880003
880003D80001D00001D00000E00000E00000E000004000004000008000008000F08000F1
0000F300006600003C0000131A7F9116>I<7FFC70386038407040F040E041C003C00380
07000F040E041C043C0C380870087038FFF80E127F9112>I<FFFFF01401808B15>I
E /Fo 16 118 df<78FCFCFCFC7800000000000078FCFCFCFC7806127D910D>58
D<001FE02000FFF8E003F80FE007C003E00F8001E01F0000E03E0000E03E0000607E0000
607C000060FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000
007C0000607E0000603E0000603E0000C01F0000C00F80018007C0030003F80E0000FFFC
00001FE0001B1C7D9B22>67 D<FFFFF800FFFFFF000FC01FC00FC007E00FC001F00FC001
F80FC000F80FC000FC0FC0007C0FC0007C0FC0007E0FC0007E0FC0007E0FC0007E0FC000
7E0FC0007E0FC0007E0FC0007E0FC0007C0FC0007C0FC0007C0FC000F80FC000F80FC001
F00FC007E00FC01FC0FFFFFF00FFFFF8001F1C7E9B25>I<FFC00003FFFFE00007FF0FE0
0007F00DF0000DF00DF0000DF00DF0000DF00CF80019F00CF80019F00C7C0031F00C7C00
31F00C3E0061F00C3E0061F00C1F00C1F00C1F00C1F00C1F00C1F00C0F8181F00C0F8181
F00C07C301F00C07C301F00C03E601F00C03E601F00C01FC01F00C01FC01F00C01FC01F0
0C00F801F00C00F801F0FFC0701FFFFFC0701FFF281C7E9B2D>77
D<07F8201FFEE03C07E07801E07000E0F000E0F00060F00060F80000FE0000FFE0007FFE
003FFF003FFF800FFFC007FFE0007FE00003F00001F00000F0C000F0C000F0C000E0E000
E0F001C0FC03C0EFFF0083FC00141C7D9B1B>83 D<0FF8001C1E003E0F803E07803E07C0
1C07C00007C0007FC007E7C01F07C03C07C07C07C0F807C0F807C0F807C0780BC03E13F8
0FE1F815127F9117>97 D<03FC000E0E001C1F003C1F00781F00780E00F80000F80000F8
0000F80000F80000F800007800007801803C01801C03000E0E0003F80011127E9115>99
D<01FC000F07001C03803C01C07801C07801E0F801E0F801E0FFFFE0F80000F80000F800
007800007C00603C00601E00C00F038001FC0013127F9116>101
D<03F8F00E0F381E0F381C07303C07803C07803C07803C07801C07001E0F000E0E001BF8
001000001800001800001FFF001FFFC00FFFE01FFFF07801F8F00078F00078F000787000
707800F01E03C007FF00151B7F9118>103 D<1E003F003F003F003F001E000000000000
00000000000000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F
001F00FFE0FFE00B1E7F9D0E>105 D<FF0FC0FF31E01F40F01F80F81F80F81F00F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF1812
7F911B>110 D<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F800
F8F800F8F800F87800F07800F03C01E01E03C00F078001FC0015127F9118>I<FE3E00FE
47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F00001F00001F00001F
00001F00001F0000FFF000FFF00011127F9114>114 D<1FD830786018E018E018F000FF
807FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E127E9113>I<030003000300
0300070007000F000F003FFCFFFC1F001F001F001F001F001F001F001F001F001F0C1F0C
1F0C1F0C0F08079803F00E1A7F9913>I<FF07F8FF07F81F00F81F00F81F00F81F00F81F
00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F01F80F01F80786FF01F8FF18
127F911B>I E /Fp 35 122 df<F8F8F8F8F805057A8411>46 D<007F000001FFC00007
FFF0000FFFF8000FC1F8001F007C003F007E003E003E003C001E007C001F007C001F007C
001F0078000F00F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8
000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F8078000F007C
001F007C001F007C001F003E003E003E003E003F007E001F80FC000FC1F8000FFFF80007
FFF00001FFC000007F000019297EA71E>48 D<00180000380000F80007F800FFF800FFF8
00F8F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8
0000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8
0000F80000F80000F80000F80000F80000F80000F8007FFFF07FFFF07FFFF014287BA71E
>I<00FE0003FFC007FFE00FFFF01F03F83C00FC38007E78003E70003EF0001FF0001F60
001F20001F00001F00001F00001F00003E00003E00007C00007C0000F80001F00001E000
03C0000780000F00001E00003C0000780000F00001E00003C0000780000F00001E00003C
00007FFFFF7FFFFF7FFFFF7FFFFF18287EA71E>I<007F000001FFC00007FFF0000FFFF8
001FC1F8003E007C003C003E0078003E0038003E0010003E0000003E0000003E0000003C
0000007C000000FC000001F8000007F00000FFE00000FFC00000FFE00000FFF0000001FC
0000007C0000003E0000001F0000001F0000000F8000000F8000000F8000000F8000000F
8040000F8060001F00F0001F00F8003F007E007E003F81FC001FFFF8000FFFF00003FFE0
00007F000019297EA71E>I<0003F0000007F0000005F000000DF000000DF000001DF000
0039F0000039F0000079F0000079F00000F1F00000F1F00001E1F00003E1F00003E1F000
07C1F00007C1F0000F81F0000F81F0001F01F0001F01F0003E01F0007C01F0007C01F000
F801F000FFFFFF80FFFFFF80FFFFFF80FFFFFF800001F0000001F0000001F0000001F000
0001F0000001F0000001F0000001F0000001F0000001F00019277EA61E>I<3FFFFC3FFF
FC3FFFFC3FFFFC3E00003E00003E00003E00003E00003E00003E00003E00003E00003E00
003E3F003EFFC03FFFE03FFFF03FE1F83F807C3F003E3E003E00003E00001F00001F0000
1F00001F00001F00001F00001F20001F60003E70003EF8007C7C00FC3F03F81FFFF00FFF
E007FF8000FE0018287EA61E>I<0001FF00000FFFE0003FFFF8007FFFF800FE01F801F8
003003F0001007C000000F8000001F8000001F0000003E0000003E0000007E0000007C00
00007C0000007C000000F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F8000000F8000000F80000007C0000007C0000007C0000007E0000003E0000003E00
00001F0000001F8000000F80000007C0000003F0000401F8001C00FE00FC007FFFFC003F
FFF8000FFFE00001FF001E2C7CAA26>67 D<FFFFF00000FFFFFC0000FFFFFF0000F8003F
C000F80007E000F80003F000F80001F800F80000FC00F800007C00F800003E00F800001E
00F800001F00F800000F00F800000F80F800000F80F800000780F8000007C0F8000007C0
F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F8000007C0F8
000007C0F800000780F800000F80F800000F80F800000F80F800001F00F800001F00F800
003E00F800007E00F800007C00F80000F800F80003F000F80007E000F8003FC000FFFFFF
0000FFFFFE0000FFFFF00000222A7BA92B>I<FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE0F8
000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8
000000F8000000F8000000F8000000F8000000FFFFFF80FFFFFF80FFFFFF80FFFFFF80F8
000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8
000000F8000000F8000000F8000000F8000000F8000000F8000000FFFFFFF0FFFFFFF0FF
FFFFF0FFFFFFF01C2A7BA924>I<F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8052A7AA911>73
D<F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
00F80000F80000FFFFFFFFFFFFFFFFFFFFFFFF182A7BA920>76 D<FE0000007F80FE0000
007F80FE0000007F80FF000000FF80FB000000EF80FB800001EF80FB800001EF80FB8000
01EF80F9C00003CF80F9C00003CF80F9C00003CF80F8E000078F80F8E000078F80F8F000
0F8F80F8F0000F8F80F870000F0F80F878001F0F80F878001F0F80F838001E0F80F83C00
3E0F80F83C003E0F80F81E007C0F80F81E007C0F80F80E00780F80F80F00F80F80F80F00
F80F80F80700F00F80F80781F00F80F80781F00F80F80381E00F80F803C3E00F80F803C3
E00F80F801C3C00F80F801E7C00F80F800E7800F80F800E7800F80F800E7800F80F8007F
000F80F8007F000F80F8007F000F80F8003E000F80F80000000F80292A7BA934>I<FF00
003EFF00003EFF80003EFF80003EFBC0003EFBC0003EF9E0003EF9E0003EF9F0003EF8F0
003EF8F8003EF878003EF87C003EF83C003EF83E003EF81E003EF81F003EF81F003EF80F
803EF80F803EF807C03EF807C03EF803E03EF803E03EF801F03EF801F03EF800F03EF800
F83EF800783EF8007C3EF8003C3EF8003E3EF8001E3EF8001F3EF8000F3EF8000F3EF800
07BEF80007BEF80003FEF80003FEF80001FEF80001FE1F2A7BA92A>I<FFFFE000FFFFFC
00FFFFFF00F8003F80F8000FC0F80007E0F80001E0F80001F0F80000F0F80000F8F80000
F8F80000F8F80000F8F80000F8F80000F8F80000F0F80001F0F80001F0F80003E0F8000F
C0F8003F80FFFFFF00FFFFFE00FFFFF000F8000000F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F80000001D2A7BA926>80 D<007FC00001FFF80007FFFE
000FFFFF001FC07F003F000F007E0006007C0000007C000000F8000000F8000000F80000
00F8000000F8000000FC0000007E0000007F0000003F8000001FF800000FFF800007FFE0
0003FFF80000FFFC00000FFE000000FF0000003F0000001F8000000F8000000FC0000007
C0000007C0000007C0000007C0000007C0000007C000000F8060000F80F0001F00FC003F
00FF80FE007FFFFC001FFFF80007FFE00000FF80001A2C7DAA21>83
D<01FE000FFF803FFFC03FFFE03C03F03001F00001F80000F80000F80000F80000F80000
F8007FF807FFF81FFFF83FE0F87F00F8FC00F8F800F8F800F8F800F8FC01F87E07F87FFF
F83FFFF81FFCF80FE0F8151B7E9A1D>97 D<F80000F80000F80000F80000F80000F80000
F80000F80000F80000F80000F80000F80000F80000F80000F80000F83F00F9FFC0FBFFE0
FFFFF0FF07F0FC01F8F800FCF8007CF8007CF8007EF8003EF8003EF8003EF8003EF8003E
F8003EF8003EF8007CF8007CF8007CFC00F8FC01F8FF07F0FFFFE0FBFFC0F9FF80F87E00
172A7BA91F>I<007FC001FFF007FFFC0FFFFC1FC07C1F00083E00007C00007C00007C00
00F80000F80000F80000F80000F80000F80000F800007C00007C00007E00003E00001F00
0C1FC07C0FFFFC07FFFC01FFF0007F80161B7E9A1B>I<00003E00003E00003E00003E00
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00FC3E03
FF3E07FFFE0FFFFE1FC1FE3F007E3E003E7C003E7C003EFC003EF8003EF8003EF8003EF8
003EF8003EF8003EF8003EFC003E7C003E7C003E3E007E3F00FE1FC1FE0FFFFE07FFBE03
FF3E00FC3E172A7EA91F>I<007E0003FF8007FFC00FFFE01F83F03F00F03E00787C0078
7C003878003CFFFFFCFFFFFCFFFFFCFFFFFCF80000F80000F800007800007C00007C0000
3E00003F000C1FC07C0FFFFC07FFFC01FFF0007F80161B7E9A1B>I<001FC0007FC000FF
C001FFC003F00003E00007C00007C00007C00007C00007C00007C00007C00007C00007C0
00FFFE00FFFE00FFFE0007C00007C00007C00007C00007C00007C00007C00007C00007C0
0007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0
0007C00007C00007C000122A7FA912>I<00F8078003FE7FC00FFFFFC01FFFFFC01F07C0
003E03E0003E03E0007C01F0007C01F0007C01F0007C01F0007C01F0007C01F0003E03E0
003E03E0001F07C0001FFFC0003FFF80003BFE000038F8000078000000780000003C0000
003FFFC0003FFFF8001FFFFC001FFFFE003FFFFF007C007F00F8001F80F8000F80F8000F
80F8000F80FC001F807E003F003F80FE003FFFFE000FFFF80007FFF00000FF80001A287E
9A1E>I<F8F8F8F8F800000000000000000000F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8052A7CA90E>105 D<F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8052A7CA90E>108
D<F83F003F00F8FFC0FFC0FBFFE3FFE0FFFFF7FFF0FF83F783F0FE01FE01F8FC00FC00F8
FC00FC00F8FC00FC00F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F8
00F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800
F800F8F800F800F8F800F800F8F800F800F8F800F800F8F800F800F8251B7B9A30>I<F8
3F00F8FF80FBFFC0FFFFE0FF07E0FE03F0FC01F0FC01F0FC01F0F801F0F801F0F801F0F8
01F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F8
01F0F801F0F801F0141B7B9A1F>I<007F000001FFC00007FFF0000FFFF8001FC1FC003F
007E003E003E007C001F007C001F0078000F00F8000F80F8000F80F8000F80F8000F80F8
000F80F8000F80F8000F807C001F007C001F007E003F003E003E003F007E001FC1FC000F
FFF80007FFF00001FFC000007F0000191B7E9A1E>I<F83F00F9FFC0FBFFE0FFFFF0FF07
F0FC01F8F800FCF800FCF8007CF8007EF8003EF8003EF8003EF8003EF8003EF8003EF800
3EF8007CF8007CF800FCFC00F8FC03F8FF07F0FFFFE0FBFFC0F9FF80F87E00F80000F800
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F8000017277B9A1F
>I<F838F8F8F9F8FBF8FFC0FF00FE00FE00FC00FC00F800F800F800F800F800F800F800
F800F800F800F800F800F800F800F800F800F8000D1B7B9A14>114
D<03FC001FFF803FFFC07FFFC07C07C0F80080F80000F80000F80000FC00007F80007FF8
003FFE001FFF0007FF8000FFC0000FE00007E00003E00003E04003E0E007E0FC0FC0FFFF
C07FFF801FFE0003F800131B7E9A17>I<07C00007C00007C00007C00007C00007C00007
C000FFFFC0FFFFC0FFFFC007C00007C00007C00007C00007C00007C00007C00007C00007
C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C04007E1C003
FFE003FFE001FF8000FC0013227FA116>I<F801F0F801F0F801F0F801F0F801F0F801F0
F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0
F801F0F801F0F803F0F803F0FC0FF0FFFFF07FFDF03FF9F01FC1F0141B7B9A1F>I<F800
FC007CF801FC007C7C01FE00787C01DE00F87C01DE00F87C03DE00F83E03CF00F03E03CF
01F03E038F01F03E078F01F01F078F83E01F078783E01F070783E00F0F0783C00F8F07C7
C00F8F03C7C00F8E03C7C0078E03C780079E01C780079E01E78003DC01EF0003DC01EF00
03DC00EF0003D800EF0001F800FE0001F800FE0001F8007E00261B7F9A29>119
D<F8000F80FC000F807C001F007E001F003E003E003E003E001F003E001F007C001F007C
000F807C000F80F80007C0F80007C0F00007C1F00003E1F00003E1E00001E1E00001E3E0
0001F3C00000F3C00000F38000007380000073800000370000003F0000003E0000001E00
00001E0000003C0000003C0000003C0000007800000078000000F0000000F000007FE000
007FE000007FC000007F00000019277F9A1C>121 D E /Fq 9 122
df<FFFFFFE0000000000003FFFFFFFFFFFFF0000000000007FFFFFFFFFFFFF000000000
FFFFF00007E00007FFFFFFFFFFFFFFF00003C00007FFFFFFFF68477CC671>77
D<0007FFFC000000007FFFFFC0000001FFFFFFF8000003FFFFFFFE000007FE001FFF0000
2E7DAD3A>97 D<00001FFFC0000000FFFFF8000007FFFFFE00001FFFFFFF80007FFC00FF
C000FFE001FFC001FFC003FFE003FF8003FFE007FF0003FFE00FFE0003FFE00FFE0003FF
E01FFC0001FFC01FFC0001FFC03FFC0000FF803FFC00003E007FF8000000007FF8000000
007FF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF8000000
00FFF800000000FFF800000000FFF800000000FFF800000000FFF8000000007FF8000000
007FF8000000007FFC000000003FFC000000003FFC000000001FFC000000F81FFE000000
F80FFE000000F80FFF000001F007FF800003F003FFC00007E001FFE0000FC000FFF0001F
80007FFE00FF00001FFFFFFE000007FFFFF8000000FFFFE00000001FFE00002D2E7CAD35
>99 D<00001FFE00000001FFFFE0000007FFFFF800001FFFFFFE00007FFC07FF0000FFE0
01FF8001FFC0007FC003FF80003FE007FF00003FF00FFE00001FF01FFE00000FF81FFC00
000FF83FFC00000FFC3FFC000007FC7FFC000007FC7FF8000007FC7FF8000007FE7FF800
0007FEFFF8000007FEFFF8000007FEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFF
FFFFFCFFF800000000FFF800000000FFF800000000FFF8000000007FF8000000007FF800
0000007FFC000000003FFC000000003FFC000000003FFC0000001C1FFE0000003E0FFE00
00003E07FF0000007E07FF000000FC03FF800001F801FFC00003F0007FF0001FE0003FFE
00FFC0001FFFFFFF800007FFFFFE000000FFFFF80000000FFF80002F2E7DAD36>101
D<00FC0001FE0003FF0007FF800FFFC01FFFE01FFFE01FFFE01FFFE01FFFE01FFFE00FFF
C007FF8003FF0001FE0000FC000000000000000000000000000000000000000000000000
00000000000000000000007FC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC003FFC001FFC001FF
C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC0FFFFFFFFFFFFFFFFFFFFFF
FFFFFFFF18497CC820>105 D<007FC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC0
0003FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000FFFFFF80FFFFFF
80FFFFFF80FFFFFF80FFFFFF8019487CC720>108 D<007FC001FFC00000FFFFC00FFFF8
FFC07FFFFFE0FFFFFFC07FFFFFE0FFFFFFC07FFFFFE0FFFFFFC07FFFFFE03B2E7CAD42>
110 D<000FFF00E0007FFFF3E001FFFFFFE007FFFFFFE00FF800FFE01FC0001FE03F8000
0FE03F000007E07F000003E07F000003E0FF000003E0FF000003E0FF800003E0FFC00000
00FFF0000000FFFE000000FFFFF800007FFFFFC0007FFFFFF0003FFFFFFC001FFFFFFF00
0FFFFFFF8007FFFFFFC003FFFFFFE000FFFFFFF0003FFFFFF00003FFFFF800001FFFF800
0000FFFC0000001FFC7800000FFCF8000007FCF8000003FCFC000003FCFC000003FCFE00
0003F8FE000003F8FF000003F8FF800007F0FFC0000FF0FFF0001FE0FFFC00FFC0FFFFFF
FF80FC7FFFFE00F81FFFF800E003FF8000262E7CAD2F>115 D<7FFFFFC000FFFF807FFF
C0000000000001FE00000000000039427EAD3F>121 D E /Fr 9
117 df<0001FF8000000FFFF000003FFFFC0000FF81FF0001FE007F8003FC003FC007F8
001FE00FF8001FF00FF0000FF01FF0000FF81FF0000FF83FF0000FFC3FE00007FC3FE000
07FC7FE00007FE7FE00007FE7FE00007FE7FE00007FE7FE00007FEFFE00007FFFFE00007
FFFFE00007FFFFE00007FFFFE00007FFFFE00007FFFFE00007FFFFE00007FFFFE00007FF
FFE00007FFFFE00007FFFFE00007FFFFE00007FFFFE00007FFFFE00007FFFFE00007FFFF
E00007FFFFE00007FFFFE00007FF7FE00007FE7FE00007FE7FE00007FE7FE00007FE7FE0
0007FE3FE00007FC3FF0000FFC3FF0000FFC1FF0000FF81FF0000FF80FF0000FF00FF800
1FF007F8001FE003FC003FC001FE007F8000FF81FF00003FFFFC00000FFFF0000001FF80
0028397CB731>48 D<00001E000000003E00000000FE00000003FE0000003FFE0000FFFF
FE0000FFFFFE0000FFFFFE0000FFCFFE0000000FFE0000000FFE0000000FFE0000000FFE
0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00
00000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000
000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000000
0FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000F
FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE
0000000FFE0000000FFE0000000FFE00007FFFFFFFC07FFFFFFFC07FFFFFFFC07FFFFFFF
C0223879B731>I<0000001FFF000030000001FFFFE000F000000FFFFFFC01F000007FFF
FFFF000000000FFFFFFC0000000001FFFFF000000000001FFF0000003C3D7BBB47>67
D<001FFF00000001FFFFF0000003FFFFFC000007F007FE00000FF801FF00001FFC00FF80
001FFC007FC0001FFC007FE0001FFC003FE0000FF8003FF0000FF8003FF00007F0003FF0
0001C0003FF0000000003FF0000000003FF0000000003FF0000000FFFFF000000FFFFFF0
00007FF83FF00001FF803FF00007FE003FF0000FF8003FF0001FF0003FF0003FE0003FF0
007FE0003FF0007FE0003FF000FFC0003FF000FFC0003FF000FFC0003FF000FFC0003FF0
00FFC0007FF0007FE0007FF0007FE000DFF0003FF0039FF8001FFC0F0FFFF007FFFE0FFF
F001FFFC07FFF0003FE000FFF02C267DA530>97 D<0001FFC000000FFFF800003FFFFE00
00FF80FF0001FE003F8007FC001FC00FF8000FE00FF8000FF01FF00007F03FF00007F83F
F00007F87FE00007F87FE00003FC7FE00003FC7FE00003FCFFE00003FCFFFFFFFFFCFFFF
FFFFFCFFFFFFFFFCFFE0000000FFE0000000FFE0000000FFE00000007FE00000007FE000
00007FE00000003FE00000003FF000003C1FF000003C1FF000003C0FF800007807FC0000
F803FE0001F001FF0007E000FFC03FC0003FFFFF000007FFFC000000FFE00026267DA52D
>101 D<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF
FC3FFFFF303C7CBB37>104 D<00FF01FF8000FFFF0FFFF000FFFF3FFFFC00FFFFFE03FF
00FFFFFC000000FFFFFC000000FFFFFC00000030377DA537>112
D<00FE03F000FFFE0FFE00FFFE1FFF00FFFE3C3F80FFFE707FC007FE60FFE003FEE0FFE0
03FEC0FFE003FFC0FFE003FF807FC003FF807FC003FF803F8003FF800E0003FF00000003
FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE00
00FFFFFE0000FFFFFE000023267DA529>114 D<00078000000780000007800000078000
00078000000F8000000F8000000F8000000F8000001F8000001F8000003F8000003F8000
007F800000FF800001FF800007FF80001FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF001FF8000
01FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8000
01FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8000
01FF803C01FF803C01FF803C01FF803C01FF803C01FF803C01FF803C01FF803C00FF8078
00FFC078007FC070003FE0E0001FFFC00007FF800001FF001E377EB626>116
D E /Fs 73 123 df<001F83E000F06E3001C078780380F8780300F03007007000070070
000700700007007000070070000700700007007000FFFFFF800700700007007000070070
000700700007007000070070000700700007007000070070000700700007007000070070
000700700007007000070070000700700007007000070070007FE3FF001D20809F1B>11
D<003F0000E0C001C0C00381E00701E00701E00700000700000700000700000700000700
00FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700
E00700E00700E00700E00700E00700E00700E00700E07FC3FE1720809F19>I<003FE000
E0E001C1E00381E00700E00700E00700E00700E00700E00700E00700E00700E0FFFFE007
00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007
00E00700E00700E00700E00700E00700E07FE7FE1720809F19>I<001F81F80000F04F04
0001C07C06000380F80F000300F00F000700F00F00070070000007007000000700700000
070070000007007000000700700000FFFFFFFF0007007007000700700700070070070007
007007000700700700070070070007007007000700700700070070070007007007000700
700700070070070007007007000700700700070070070007007007000700700700070070
07007FE3FE3FF02420809F26>I<7038F87CFC7EFC7E743A040204020402080408041008
1008201040200F0E7E9F17>34 D<0020004000800100020006000C000C00180018003000
300030007000600060006000E000E000E000E000E000E000E000E000E000E000E000E000
6000600060007000300030003000180018000C000C000600020001000080004000200B2E
7DA112>40 D<800040002000100008000C00060006000300030001800180018001C000C0
00C000C000E000E000E000E000E000E000E000E000E000E000E000E000C000C000C001C0
01800180018003000300060006000C00080010002000400080000B2E7DA112>I<000600
000006000000060000000600000006000000060000000600000006000000060000000600
000006000000060000000600000006000000060000FFFFFFF0FFFFFFF000060000000600
000006000000060000000600000006000000060000000600000006000000060000000600
00000600000006000000060000000600001C207D9A23>43 D<70F8FCFC74040404080810
102040060E7C840D>I<FFC0FFC00A027F8A0F>I<70F8F8F87005057C840D>I<00010003
0003000600060006000C000C000C00180018001800300030003000600060006000C000C0
00C00180018001800300030003000600060006000C000C000C0018001800180030003000
3000600060006000C000C000C000102D7DA117>I<03F0000E1C001C0E00180600380700
700380700380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0
F003C0F003C0F003C0F003C0F003C07003807003807003807807803807001806001C0E00
0E1C0003F000121F7E9D17>I<018003800F80F380038003800380038003800380038003
80038003800380038003800380038003800380038003800380038003800380038007C0FF
FE0F1E7C9D17>I<03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F8
03C02007C00007C0000780000780000F00000E00001C0000380000700000600000C00001
80000300000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I<03F000
0C1C00100E00200F00780F80780780780780380F80000F80000F00000F00000E00001C00
00380003F000003C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0
F00780400780400F00200E001C3C0003F000121F7E9D17>I<000600000600000E00000E
00001E00002E00002E00004E00008E00008E00010E00020E00020E00040E00080E00080E
00100E00200E00200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E
00000E0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE00010000010000010
000010000010000010000011F000161C00180E001007001007800003800003800003C000
03C00003C07003C0F003C0F003C0E00380400380400700200600100E000C380003E00012
1F7E9D17>I<007C000182000701000E03800C07801C0780380300380000780000700000
700000F1F000F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C0
7003C07003C07003803803803807001807000C0E00061C0001F000121F7E9D17>I<4000
007FFFC07FFF807FFF804001008002008002008004000008000008000010000020000020
0000400000400000C00000C00001C0000180000380000380000380000380000780000780
00078000078000078000078000078000030000121F7D9D17>I<03F0000C0C0010060030
03002001806001806001806001807001807803003E03003F06001FC8000FF00003F80007
FC000C7E00103F00300F806003804001C0C001C0C000C0C000C0C000C0C0008060018020
01001002000C0C0003F000121F7E9D17>I<03F0000E18001C0C00380600380700700700
700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007C03807C0180BC0
0E13C003E3C0000380000380000380000700300700780600780E00700C00201800107000
0FC000121F7E9D17>I<70F8F8F8700000000000000000000070F8F8F87005147C930D>I<
70F8F8F8700000000000000000000070F0F8F878080808101010202040051D7C930D>I<
7FFFFFE0FFFFFFF000000000000000000000000000000000000000000000000000000000
00000000FFFFFFF07FFFFFE01C0C7D9023>61 D<0FC0307040384038E03CF03CF03C603C
0038007000E000C001800180010003000200020002000200020002000000000000000000
000007000F800F800F8007000E207D9F15>63 D<00010000000380000003800000038000
0007C0000007C0000007C0000009E0000009E0000009E0000010F0000010F0000010F000
00207800002078000020780000403C0000403C0000403C0000801E0000801E0000FFFE00
01000F0001000F0001000F00020007800200078002000780040003C00E0003C01F0007E0
FFC03FFE1F207F9F22>65 D<FFFFE0000F80380007801E0007801F0007800F0007800F80
07800F8007800F8007800F8007800F8007800F0007801F0007801E0007803C0007FFF000
07803C0007801E0007800F0007800F8007800780078007C0078007C0078007C0078007C0
078007C00780078007800F8007800F0007801F000F803C00FFFFF0001A1F7E9E20>I<00
0FC040007030C001C009C0038005C0070003C00E0001C01E0000C01C0000C03C0000C07C
0000407C00004078000040F8000000F8000000F8000000F8000000F8000000F8000000F8
000000F8000000F8000000780000007C0000407C0000403C0000401C0000401E0000800E
000080070001000380020001C0040000703800000FC0001A217D9F21>I<FFFFE0000F80
3C0007801E000780070007800380078003C0078001E0078001E0078001F0078000F00780
00F0078000F8078000F8078000F8078000F8078000F8078000F8078000F8078000F80780
00F8078000F0078000F0078000F0078001E0078001E0078003C007800380078007000780
0E000F803C00FFFFE0001D1F7E9E23>I<FFFFFF000F800F000780030007800300078001
000780018007800080078000800780008007808080078080000780800007808000078180
0007FF800007818000078080000780800007808000078080000780002007800020078000
20078000400780004007800040078000C0078000C0078001800F800F80FFFFFF801B1F7E
9E1F>I<FFFFFF000F800F00078003000780030007800100078001800780008007800080
0780008007800080078080000780800007808000078080000781800007FF800007818000
078080000780800007808000078080000780000007800000078000000780000007800000
0780000007800000078000000FC00000FFFE0000191F7E9E1E>I<000FE0200078186000
E004E0038002E0070001E00F0000E01E0000601E0000603C0000603C0000207C00002078
000020F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8007FFCF8
0003E0780001E07C0001E03C0001E03C0001E01E0001E01E0001E00F0001E0070001E003
8002E000E0046000781820000FE0001E217D9F24>I<FFF8FFF80F800F8007800F000780
0F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F000780
0F0007800F0007FFFF0007800F0007800F0007800F0007800F0007800F0007800F000780
0F0007800F0007800F0007800F0007800F0007800F0007800F0007800F000F800F80FFF8
FFF81D1F7E9E22>I<FFFC0FC00780078007800780078007800780078007800780078007
800780078007800780078007800780078007800780078007800780078007800FC0FFFC0E
1F7F9E10>I<FFFE000FC000078000078000078000078000078000078000078000078000
078000078000078000078000078000078000078000078000078000078000078002078002
07800207800207800607800407800407800C07801C0F807CFFFFFC171F7E9E1C>76
D<FF80001FF80F80001F800780001F0005C0002F0005C0002F0005C0002F0004E0004F00
04E0004F000470008F000470008F000470008F000438010F000438010F000438010F0004
1C020F00041C020F00041C020F00040E040F00040E040F00040E040F000407080F000407
080F000407080F000403900F000403900F000401E00F000401E00F000401E00F000E00C0
0F001F00C01F80FFE0C1FFF8251F7E9E2A>I<FF803FF807C007C007C0038005E0010005
E0010004F001000478010004780100043C0100043C0100041E0100040F0100040F010004
078100040781000403C1000401E1000401E1000400F1000400F1000400790004003D0004
003D0004001F0004001F0004000F0004000700040007000E0003001F000300FFE001001D
1F7E9E22>I<001F800000F0F00001C0380007801E000F000F000E0007001E0007803C00
03C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001F0F80001F0F800
01F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003E03C0003C03C00
03C01E0007800E0007000F000F0007801E0001C0380000F0F000001F80001C217D9F23>
I<FFFFE0000F80780007801C0007801E0007800F0007800F8007800F8007800F8007800F
8007800F8007800F8007800F0007801E0007801C000780780007FFE00007800000078000
000780000007800000078000000780000007800000078000000780000007800000078000
0007800000078000000FC00000FFFC0000191F7E9E1F>I<FFFF80000F80F00007807800
07803C0007801E0007801E0007801F0007801F0007801F0007801F0007801E0007801E00
07803C00078078000780F00007FF80000781C0000780E0000780F0000780700007807800
078078000780780007807C0007807C0007807C0007807C0407807E0407803E040FC01E08
FFFC0F10000003E01E207E9E21>82 D<07E0800C1980100780300380600180600180E001
80E00080E00080E00080F00000F000007800007F00003FF0001FFC000FFE0003FF00001F
800007800003C00003C00001C08001C08001C08001C08001C0C00180C00380E00300F006
00CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F0060400F0020400F0020C00F
0030800F0010800F0010800F0010800F0010000F0000000F0000000F0000000F0000000F
0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F
0000000F0000000F0000000F0000000F0000000F0000001F800007FFFE001C1F7E9E21>
I<FFFC3FF80FC007C0078003800780010007800100078001000780010007800100078001
000780010007800100078001000780010007800100078001000780010007800100078001
00078001000780010007800100078001000780010007800100038002000380020001C002
0001C0040000E008000070180000382000000FC0001D207E9E22>I<FFF07FF81FF01F80
0FC007C00F00078003800F00078001000F0007C00100078007C00200078007C002000780
07C0020003C009E0040003C009E0040003C009E0040003E010F00C0001E010F0080001E0
10F0080001F02078080000F02078100000F02078100000F0403C10000078403C20000078
403C20000078C03E2000003C801E4000003C801E4000003C801E4000001F000F8000001F
000F8000001F000F8000001E00078000000E00070000000E00070000000C000300000004
000200002C207F9E2F>87 D<7FF83FF80FE00FC007C0070003C0020001E0040001F00C00
00F0080000781000007C1000003C2000003E4000001E4000000F8000000F800000078000
0003C0000007E0000005E0000009F0000018F8000010780000207C0000603C0000401E00
00801F0001800F0001000780020007C0070003C01F8007E0FFE01FFE1F1F7F9E22>I<08
0410082010201040204020804080408040B85CFC7EFC7E7C3E381C0F0E7B9F17>92
D<1FE000303000781800781C00300E00000E00000E00000E0000FE00078E001E0E00380E
00780E00F00E10F00E10F00E10F01E10781E103867200F83C014147E9317>97
D<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
000E3E000EC3800F01C00F00E00E00E00E00700E00700E00780E00780E00780E00780E00
780E00780E00700E00700E00E00F00E00D01C00CC300083E0015207F9F19>I<03F80E0C
1C1E381E380C70007000F000F000F000F000F000F00070007000380138011C020E0C03F0
10147E9314>I<000380003F800003800003800003800003800003800003800003800003
8000038000038003E380061B801C0780380380380380700380700380F00380F00380F003
80F00380F00380F003807003807003803803803807801C07800E1B8003E3F815207E9F19
>I<03F0000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F0
0000F000007000007000003800801800800C010007060001F80011147F9314>I<007C00
C6018F038F07060700070007000700070007000700FFF007000700070007000700070007
00070007000700070007000700070007000700070007007FF01020809F0E>I<0000E003
E3300E3C301C1C30380E00780F00780F00780F00780F00780F00380E001C1C001E380033
E0002000002000003000003000003FFE001FFF800FFFC03001E0600070C00030C00030C0
0030C000306000603000C01C038003FC00141F7F9417>I<0E0000FE00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E3E000E43000E81800F01C0
0F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C0000000000000000
00000000000E007E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E00FFC00A1F809E0C>I<00E001F001F001F000E000000000000000000000
0000007007F000F000700070007000700070007000700070007000700070007000700070
00700070007000700070007000706070F060F0C061803F000C28829E0E>I<0E0000FE00
000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0FF00E03
C00E03000E02000E04000E08000E10000E30000E70000EF8000F38000E1C000E1E000E0E
000E07000E07800E03800E03C00E03E0FFCFF815207F9F18>I<0E00FE000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E00FFE00B20809F0C>I<0E1F01F000FE618618000E
81C81C000F00F00E000F00F00E000E00E00E000E00E00E000E00E00E000E00E00E000E00
E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E0
0E000E00E00E000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE43000E81800F01C0
0F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C0FFE7FC16147F9319>I<01F800070E001C03803801C03801C07000
E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C03
80070E0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E
00780E00780E00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E
3E000E00000E00000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<
03E0800619801C05803C0780380380780380700380F00380F00380F00380F00380F00380
F003807003807803803803803807801C0B800E138003E380000380000380000380000380
000380000380000380000380003FF8151D7E9318>I<0E78FE8C0F1E0F1E0F0C0E000E00
0E000E000E000E000E000E000E000E000E000E000E000E00FFE00F147F9312>I<1F9030
704030C010C010C010E00078007F803FE00FF00070803880188018C018C018E030D0608F
800D147E9312>I<020002000200060006000E000E003E00FFF80E000E000E000E000E00
0E000E000E000E000E000E000E080E080E080E080E080610031001E00D1C7F9B12>I<0E
01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E03C00603C0030DC001F1FC16147F9319>I<FF83F81E01E0
1C00C00E00800E00800E008007010007010003820003820003820001C40001C40001EC00
00E80000E80000700000700000700000200015147F9318>I<FF9FE1FC3C0780701C0300
601C0380200E0380400E0380400E03C0400707C0800704C0800704E08003886100038871
0003C8730001D0320001D03A0000F03C0000E01C0000E01C0000601800004008001E147F
9321>I<7FC3FC0F01E00701C007018003810001C20000E40000EC00007800003800003C
00007C00004E000087000107000303800201C00601E01E01E0FF07FE1714809318>I<FF
83F81E01E01C00C00E00800E00800E008007010007010003820003820003820001C40001
C40001EC0000E80000E800007000007000007000002000002000004000004000004000F0
8000F08000F100006200003C0000151D7F9318>I<3FFF380E200E201C40384078407000
E001E001C00380078007010E011E011C0338027006700EFFFE10147F9314>I
E /Ft 46 122 df<00200040008001000300060004000C000C0018001800300030003000
7000600060006000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
6000600060007000300030003000180018000C000C000400060003000100008000400020
0B327CA413>40 D<800040002000100018000C0004000600060003000300018001800180
01C000C000C000C000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00C000C000C001C0018001800180030003000600060004000C0018001000200040008000
0B327DA413>I<70F8FCFC7404040404080810102040060F7C840E>44
D<FFE0FFE00B027F8B10>I<70F8F8F87005057C840E>I<008003800F80F3800380038003
800380038003800380038003800380038003800380038003800380038003800380038003
8003800380038003800380038007C0FFFE0F217CA018>49 D<03F0000C1C001007002007
804003C04003C08003E0F003E0F801E0F801E0F801E02003E00003E00003C00003C00007
80000700000E00001C0000180000300000600000C0000180000100000200200400200800
201800603000403FFFC07FFFC0FFFFC013217EA018>I<000200000600000E00000E0000
1E00001E00002E00004E00004E00008E00008E00010E00020E00020E00040E00040E0008
0E00100E00100E00200E00200E00400E00800E00FFFFF8000E00000E00000E00000E0000
0E00000E00000E00001F0001FFF015217FA018>52 D<1000801E07001FFF001FFE001FF8
0013E00010000010000010000010000010000010000010F800130E001407001803801003
800001C00001C00001E00001E00001E00001E07001E0F001E0F001E0E001C08001C04003
C04003802007001006000C1C0003F00013227EA018>I<007E0001C1000300800601C00E
03C01C03C0180180380000380000780000700000700000F0F800F30C00F40600F40300F8
0380F801C0F001C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801C038
01C01803801C03000C0600070C0001F00013227EA018>I<01F800060E00080300100180
2001802000C06000C06000C06000C07000C07801803E01003F02001FC4000FF80003F800
03FC00067F00083F80100F803007C06001C06000E0C000E0C00060C00060C00060C00060
6000406000C03000801803000E0E0003F00013227EA018>56 D<01F000060C000C060018
0700380380700380700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E070
01E07003E03803E01805E00C05E00619E003E1E00001C00001C00001C000038000038030
0300780700780600700C002018001030000FC00013227EA018>I<000180000001800000
0180000003C0000003C0000003C0000005E0000005E000000DF0000008F0000008F00000
10F800001078000010780000203C0000203C0000203C0000401E0000401E0000401E0000
800F0000800F0000FFFF000100078001000780030007C0020003C0020003C0040003E004
0001E0040001E00C0000F00C0000F03E0001F8FF800FFF20237EA225>65
D<0007E0100038183000E0063001C00170038000F0070000F00E0000701E0000701C0000
303C0000303C0000307C0000107800001078000010F8000000F8000000F8000000F80000
00F8000000F8000000F8000000F800000078000000780000107C0000103C0000103C0000
101C0000201E0000200E000040070000400380008001C0010000E0020000381C000007E0
001C247DA223>67 D<FFFFF0000F801E0007800700078003C0078001C0078000E0078000
F007800078078000780780007C0780003C0780003C0780003C0780003E0780003E078000
3E0780003E0780003E0780003E0780003E0780003E0780003E0780003C0780003C078000
7C0780007807800078078000F0078000E0078001E0078003C0078007000F801E00FFFFF8
001F227EA125>I<FFFFFFC00F8007C0078001C0078000C0078000400780004007800060
07800020078000200780002007802020078020000780200007802000078060000780E000
07FFE0000780E00007806000078020000780200007802000078020080780000807800008
078000100780001007800010078000300780003007800070078000E00F8003E0FFFFFFE0
1D227EA121>I<FFFFFFC00F8007C0078001C0078000C007800040078000400780006007
800020078000200780002007802020078020000780200007802000078060000780E00007
FFE0000780E0000780600007802000078020000780200007802000078000000780000007
8000000780000007800000078000000780000007800000078000000FC00000FFFE00001B
227EA120>I<FFFC3FFF0FC003F0078001E0078001E0078001E0078001E0078001E00780
01E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E007FF
FFE0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E00780
01E0078001E0078001E0078001E0078001E0078001E0078001E00FC003F0FFFC3FFF2022
7EA125>72 D<FFFC0FC00780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800FC0
FFFC0E227EA112>I<FFC00003FF0FC00003F007C00003E005E00005E005E00005E004F0
0009E004F00009E004F00009E004780011E004780011E004780011E0043C0021E0043C00
21E0043C0021E0041E0041E0041E0041E0040F0081E0040F0081E0040F0081E004078101
E004078101E004078101E00403C201E00403C201E00401E401E00401E401E00401E401E0
0400F801E00400F801E00400F801E004007001E00E007001E01F007003F0FFE0203FFF28
227EA12D>77 D<FF8007FF07C000F807C0007005E0002004F0002004F000200478002004
7C0020043C0020041E0020041F0020040F002004078020040780200403C0200401E02004
01E0200400F0200400F8200400782004003C2004003E2004001E2004000F2004000F2004
0007A0040003E0040003E0040001E0040001E0040000E00E0000601F000060FFE0002020
227EA125>I<FFFFF0000F803C0007800F0007800780078007C0078003C0078003E00780
03E0078003E0078003E0078003E0078003E0078003C0078007C00780078007800F000780
3C0007FFF000078000000780000007800000078000000780000007800000078000000780
00000780000007800000078000000780000007800000078000000FC00000FFFC00001B22
7EA121>80 D<FFFFE000000F803C000007800E00000780078000078007C000078003C000
078003E000078003E000078003E000078003E000078003E000078003C000078007C00007
8007800007800E000007803C000007FFE000000780700000078038000007801C00000780
1E000007800E000007800F000007800F000007800F000007800F000007800F800007800F
800007800F800007800F808007800FC080078007C0800FC003C100FFFC01E2000000007C
0021237EA124>82 D<03F0200C0C601802603001E07000E0600060E00060E00060E00020
E00020E00020F00000F000007800007F00003FF0001FFE000FFF0003FF80003FC00007E0
0001E00000F00000F0000070800070800070800070800070C00060C00060E000C0F000C0
C80180C6070081FC0014247DA21B>I<7FFFFFF878078078600780184007800840078008
40078008C007800C80078004800780048007800480078004000780000007800000078000
000780000007800000078000000780000007800000078000000780000007800000078000
000780000007800000078000000780000007800000078000000780000007800000078000
000FC00003FFFF001E227EA123>I<0FE0001838003C0C003C0E00180700000700000700
00070000FF0007C7001E07003C0700780700700700F00708F00708F00708F00F08781708
3C23900FC1E015157E9418>97 D<0E0000FE00001E00000E00000E00000E00000E00000E
00000E00000E00000E00000E00000E00000E00000E1F000E61C00E80600F00300E00380E
003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E001C0E003C0E00380F
00700C80600C41C0083F0017237FA21B>I<01FE000703000C07801C0780380300780000
700000F00000F00000F00000F00000F00000F00000F000007000007800403800401C0080
0C010007060001F80012157E9416>I<0000E0000FE00001E00000E00000E00000E00000
E00000E00000E00000E00000E00000E00000E00000E001F8E00704E00C02E01C01E03800
E07800E07000E0F000E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E03800
E01801E00C02E0070CF001F0FE17237EA21B>I<01FC000707000C03801C01C03801C078
01E07000E0F000E0FFFFE0F00000F00000F00000F00000F000007000007800203800201C
00400E008007030000FC0013157F9416>I<003C00C6018F038F030F0700070007000700
07000700070007000700FFF8070007000700070007000700070007000700070007000700
07000700070007000700070007807FF8102380A20F>I<00007001F198071E180E0E181C
07001C07003C07803C07803C07803C07801C07001C07000E0E000F1C0019F00010000010
00001800001800001FFE000FFFC00FFFE03800F0600030400018C00018C00018C0001860
00306000303800E00E038003FE0015217F9518>I<0E0000FE00001E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F800E60C00E80E0
0F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070
0E00700E00700E00700E00700E0070FFE7FF18237FA21B>I<1C001E003E001E001C0000
0000000000000000000000000000000E00FE001E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E00FFC00A227FA10E>I<01C003E003E003E0
01C00000000000000000000000000000000001E00FE001E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0
F0C0F18061803E000B2C82A10F>I<0E0000FE00001E00000E00000E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E03FC0E01F00E01C00E01800E0200
0E04000E08000E10000E38000EF8000F1C000E1E000E0E000E07000E07800E03C00E01C0
0E01E00E00F00E00F8FFE3FE17237FA21A>I<0E1FC07F00FE60E183801E807201C00F00
3C00E00F003C00E00E003800E00E003800E00E003800E00E003800E00E003800E00E0038
00E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800
E00E003800E00E003800E0FFE3FF8FFE27157F942A>109 D<0E1F80FE60C01E80E00F00
700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00
700E00700E00700E00700E0070FFE7FF18157F941B>I<01FC000707000C01801800C038
00E0700070700070F00078F00078F00078F00078F00078F00078F000787000707800F038
00E01C01C00E038007070001FC0015157F9418>I<0E1F00FE61C00E80600F00700E0038
0E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E003C0E003C0E0038
0F00700E80E00E41C00E3F000E00000E00000E00000E00000E00000E00000E00000E0000
0E0000FFE000171F7F941B>I<0E3CFE461E8F0F0F0F060F000E000E000E000E000E000E
000E000E000E000E000E000E000E000F00FFF010157F9413>114
D<0F8830786018C018C008C008E008F0007F803FE00FF001F8003C801C800C800CC00CC0
08E018D0308FC00E157E9413>I<02000200020002000600060006000E001E003E00FFF8
0E000E000E000E000E000E000E000E000E000E000E000E040E040E040E040E040E040708
030801F00E1F7F9E13>I<0E0070FE07F01E00F00E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E00700E00700E00700E00F00E00F006017003827800
FC7F18157F941B>I<FF8FF8FF1E01E03C1C01C0180E01C0180E01E0100E01E010070260
20070270200702702003843040038438400384384001C8188001C81C8001C81C8000F00D
0000F00F0000F00F0000600600006006000060060020157F9423>119
D<FFC1FE1E00780E00300E00200E002007004007004003808003808003808001C10001C1
0000E20000E20000E2000074000074000038000038000038000010000010000020000020
00002000004000F04000F08000F180004300003C0000171F7F941A>121
D E /Fu 20 118 df<FFFF80FFFF80FFFF8011037F9016>45 D<FFFFFFE00000FFFFFFFC
33>68 D<FFFF80FFFF8007F00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007F0
00FFFF80FFFF8011317DB017>73 D<FFF00000007FF8FFF00000007FF807F00000007F00
7CB03D>77 D<FFFFFFC000FFFFFFF80007E0007E0003E0001F0003E000078003E00003C0
03E00001E003E00001F003E00001F003E00000F003E00000F803E00000F803E00000F803
E00000F803E00000F803E00000F803E00000F003E00001F003E00001E003E00003E003E0
0003C003E000078003E0001F0003E0007C0003FFFFF00003E000000003E000000003E000
000003E000000003E000000003E000000003E000000003E000000003E000000003E00000
0003E000000003E000000003E000000003E000000003E000000003E000000003E0000000
03E000000003E000000003E000000003E000000007F0000000FFFF800000FFFF80000025
317CB02D>80 D<007F802001FFE02007C078600F001C601E0006E03C0003E0380001E078
0000E0700000E070000060F0000060F0000060F0000020F0000020F0000020F8000020F8
0000007C0000007E0000003F0000003FC000001FF800000FFF800007FFF80003FFFC0000
FFFF00000FFF800000FFC000001FE0000007E0000003F0000001F0000000F0000000F800
0000F88000007880000078800000788000007880000078C0000078C0000070E00000F0E0
0000E0F00000E0F80001C0EC000380C7000700C1F01E00807FFC00800FF0001D337CB125
>83 D<00FE00000303C0000C00E00010007000100038003C003C003E001C003E001E003E
001E0008001E0000001E0000001E0000001E00000FFE0000FC1E0003E01E000F801E001F
001E003E001E003C001E007C001E00F8001E04F8001E04F8001E04F8003E04F8003E0478
003E047C005E043E008F080F0307F003FC03E01E1F7D9E21>97 D<003F8000E060038018
0700040F00041E001E1C003E3C003E7C003E7C0008780000F80000F80000F80000F80000
F80000F80000F80000F80000F800007800007C00007C00003C00011E00011E00020F0002
07000403801800E060003F80181F7D9E1D>99 D<000001E000003FE000003FE0000003E0
000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0
000001E0000001E0000001E0000001E0000001E0000001E0001F81E000F061E001C019E0
078005E00F0003E00E0003E01E0001E03C0001E03C0001E07C0001E0780001E0F80001E0
F80001E0F80001E0F80001E0F80001E0F80001E0F80001E0F80001E0F80001E0780001E0
780001E03C0001E03C0001E01C0001E01E0003E00E0005E0070009E0038011F000E061FF
003F81FF20327DB125>I<003F800000E0E0000380380007003C000E001E001E001E001C
000F003C000F007C000F0078000F8078000780F8000780F8000780FFFFFF80F8000000F8
000000F8000000F8000000F8000000F8000000780000007C0000003C0000003C0000801E
0000800E0001000F0002000780020001C00C0000F03000001FC000191F7E9E1D>I<0007
E0001C1000383800707C00E07C01E07C01C03803C00003C00003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C000FFFFC0FFFFC003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00007E0007FFF
007FFF0016327FB114>I<000000F0007F030801C1C41C0380E81C070070080F0078001E
003C001E003C003E003E003E003E003E003E003E003E003E003E003E003E001E003C001E
003C000F007800070070000780E00009C1C000087F000018000000180000001800000018
000000180000001C0000000E0000000FFFF80007FFFF0003FFFF800E000FC0180001E030
0000F070000070E0000038E0000038E0000038E0000038E0000038700000707000007038
0000E01C0001C00700070001C01C00003FE0001E2F7E9F21>I<07000F801F801F800F80
0700000000000000000000000000000000000000000000000780FF80FF800F8007800780
078007800780078007800780078007800780078007800780078007800780078007800780
07800780078007800FC0FFF8FFF80D307EAF12>105 D<0780FE001FC000FF83078060F0
00FF8C03C18078000F9001E2003C0007A001E4003C0007A000F4001E0007C000F8001E00
07C000F8001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E0007
8000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E000780
00F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000
F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0
001E000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83FFF0341F7E9E38>109
D<0780FE0000FF83078000FF8C03C0000F9001E00007A001E00007A000F00007C000F000
07C000F000078000F000078000F000078000F000078000F000078000F000078000F00007
8000F000078000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F0000FC001
F800FFFC1FFF80FFFC1FFF80211F7E9E25>I<001FC00000F0780001C01C00070007000F
0007801E0003C01C0001C03C0001E03C0001E0780000F0780000F0780000F0F80000F8F8
0000F8F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8780000F07C0001F03C
0001E03C0001E01E0003C01E0003C00F00078007800F0001C01C0000F07800001FC0001D
1F7E9E21>I<0783E0FF8C18FF907C0F907C07A07C07C03807C00007C00007C000078000
078000078000078000078000078000078000078000078000078000078000078000078000
0780000780000780000780000780000780000FC000FFFE00FFFE00161F7E9E19>114
D<01FC100E03301800F0300070600030E00030E00010E00010E00010F00010F800007E00
003FF0001FFF000FFFC003FFE0003FF00001F80000F880003C80003C80001CC0001CC000
1CE0001CE00018F00038F00030CC0060C301C080FE00161F7E9E1A>I<00400000400000
400000400000400000C00000C00000C00001C00001C00003C00007C0000FC0001FFFE0FF
FFE003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C01003C01003C01003C01003C01003C01003C01003
C01001C02001E02000E0400078C0001F00142C7FAB19>I<078000F000FF801FF000FF80
1FF0000F8001F000078000F000078000F000078000F000078000F000078000F000078000
F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0
00078000F000078000F000078000F000078000F000078000F000078000F000078001F000
078001F000078001F000038002F00003C004F00001C008F800007030FF80001FC0FF8021
1F7E9E25>I E /Fv 5 85 df<00000000C00000000000E00000000001E00000000003E0
0000000003E00000000007E00000000007E0000000000FE0000000000FE0000000001FE0
000000001FE00000000037E00000000067E00000000067E000000000C7E000000000C7F0
0000000183F00000000183F00000000303F00000000703F00000000603F00000000C03F0
0000000C03F00000001803F00000001803F00000003003F00000003003F00000006003F0
000000C003F0000000C003F00000018003F00000018003F8000003FFFFF8000003FFFFF8
0000060001F800000E0001F800000C0001F80000180001F80000180001F80000300001F8
0000300001F80000600001F80000E00001F80000C00001F80001C00001F80001C00001F8
0007C00001FC001FC00003FC00FFF8007FFFE0FFF8007FFFE02B327BB135>65
D<000FFFFFFE0000000FFFFFFF800000007F000FE00000007E0003F00000007E0000F800
F8007F000000FFFFFFFC000000FFFFFFE000000031317BB036>68
D<000FFFFFFFFC000FFFFFFFFC00007F0001FC00007E00007C00007E00003C00007E0000
3C00007E0000180000FC0000180000FC0000180000FC0000180000FC0000180001F80000
180001F80000180001F80000180001F80000180003F00080100003F00180000003F00180
000003F00180000007E00300000007E00300000007E00700000007E01F0000000FFFFE00
00000FFFFE0000000FC01E0000000FC00E0000001F800C0000001F800C0000001F800C00
00001F800C0000003F00180000003F00080000003F00000000003F00000000007E000000
00007E00000000007E00000000007E0000000000FC0000000000FC0000000000FC000000
0000FC0000000001F80000000001F80000000001F80000000003F800000000FFFFF00000
00FFFFF00000002E317BB02F>70 D<000FFFFFF000000FFFFFFE0000007F003F8000007E
000FC000007E0007E000007E0003F000007E0001F80000FC0001F80000FC0001F80000FC
0001F80000FC0001F80001F80003F80001F80003F80001F80003F80001F80003F00003F0
0007F00003F00007E00003F0000FC00003F0000FC00007E0001F000007E0007E000007E0
00FC000007E007F000000FFFFFC000000FFFFF0000000FC00F8000000FC003C000001F80
03E000001F8001F000001F8001F000001F8001F800003F0001F800003F0001F800003F00
01F800003F0001F800007E0003F800007E0003F800007E0003F000007E0003F00000FC00
07F00000FC0007F00000FC0007F00800FC0007F00C01F80007F01801F80007F01801F800
03F03003F80003F030FFFFE001F0E0FFFFE000FFC0000000003F002E327BB034>82
D<07FFFFFFFFF00FFFFFFFFFF00FC00FE003F01E000FC000F01C000FC000E018000FC000
E038000FC0006030001F8000E030001F8000E060001F8000C060001F8000C060003F0000
C0C0003F0000C0C0003F0000C0C0003F0000C080007E00008000007E00000000007E0000
0000007E0000000000FC0000000000FC0000000000FC0000000000FC0000000001F80000
000001F80000000001F80000000001F80000000003F00000000003F00000000003F00000
000003F00000000007E00000000007E00000000007E00000000007E0000000000FC00000
00000FC0000000000FC0000000000FC0000000001F80000000001F80000000001F800000
00001F80000000003F00000000003F00000000003F0000000000FF00000000FFFFFF0000
00FFFFFF0000002C3173B033>84 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin

%%EndSetup
%%Page: 0 1
0 0 bop 795 947 a Fv(D)26 b(R)g(A)f(F)h(T)225 1038 y
Fu(Do)r(cumen)n(t)20 b(for)i(a)f(Standard)g(Message-P)n(assing)f(In)n
(terface)621 1232 y Ft(Message)c(P)o(assing)h(In)o(terface)e(F)l(orum)
766 1359 y(Septem)o(b)q(er)g(19,)h(1996)190 1417 y(This)h(w)o(ork)f(w)o
(as)h(supp)q(orted)g(in)f(part)g(b)o(y)g(NSF)g(and)h(ARP)l(A)e(under)h
(NSF)g(con)o(tract)283 1475 y(CD)o(A-9115428)j(and)e(Esprit)f(under)h
(pro)s(ject)e(HPC)i(Standards)g(\(21111\).)p eop
%%Page: 1 2
1 1 bop 166 45 a Fs(This)20 b(is)h(the)f(result)g(of)f(a)h(LaT)l(eX)g
(run)g(of)g(a)f(draft)g(of)h(a)f(single)j(c)o(hapter)d(of)h(the)g(MPIF)
f(Final)75 102 y(Rep)q(ort)d(do)q(cumen)o(t.)969 2828
y(i)p eop
%%Page: 1 3
1 2 bop 75 356 a Fr(Chapter)34 b(10)75 564 y Fq(Miscellan)m(y)75
786 y Fs(There)12 b(are)g(a)g(n)o(um)o(b)q(er)g(of)g(topics)g(that)f
(do)h(not)g(\014t)g(con)o(v)o(enien)o(tly)h(in)o(to)f(the)g(other)g(c)o
(hapters.)19 b(W)l(e)12 b(collect)75 843 y(them)j(here.)75
986 y Fp(10.1)59 b(P)n(o)n(rtable)20 b(MPI)g(Pro)r(cess)f(Sta)n(rtup)75
1135 y Fo(Curren)o(t)14 b(Status:)j Fn(P)o(assed)e(once.)166
1239 y Fs(A)f(n)o(um)o(b)q(er)g(of)f(implemen)o(tations)i(of)e(MPI-1)g
(pro)o(vide)i(a)e(startup)g(command)g(for)h(MPI)f(programs)75
1295 y(that)h(is)i(of)f(the)g(form)170 1389 y Fm(mpirun)23
b(<mpirun)g(arguments>)g(<program>)g(<program)f(arguments>)75
1483 y Fs(Separating)16 b(the)g(command)g(to)g(start)f(the)h(program)f
(from)g(the)h(program)f(itself)i(pro)o(vides)g(\015exibilit)o(y)l(,)75
1539 y(particularly)23 b(for)e(net)o(w)o(ork)g(and)h(heterogeneous)g
(implemen)o(tations.)41 b(F)l(or)21 b(example,)j(the)e(startup)75
1596 y(script)16 b(need)g(not)f(run)g(on)g(one)g(of)g(the)g(mac)o
(hines)h(that)f(will)i(b)q(e)f(executing)g(the)f(MPI)g(program)f
(itself.)166 1652 y(Ha)o(ving)i(a)f(standard)h(startup)f(mec)o(hanism)i
(also)e(extends)i(the)f(p)q(ortabilit)o(y)h(of)e(F)l(ortran,)f(C,)i
(and)75 1708 y(C++)f(programs)f(one)g(step)h(further,)f(to)g(the)h
(command)g(lines)h(and)f(scripts)g(that)f(manage)g(them.)20
b(F)l(or)75 1765 y(example,)c(a)f(v)m(alidation)i(suite)f(script)g
(that)e(runs)i(h)o(undreds)g(of)f(programs)f(can)i(b)q(e)g(a)f(p)q
(ortable)h(script)75 1821 y(if)f(it)f(is)g(written)g(using)h
Fm(mpirun)p Fs(.)k(In)c(order)e(that)h(the)g(\\statndard")f(command)h
(not)f(b)q(e)i(confused)g(with)p Fl(>)h Fk(\(Oct\))75
1878 y Fs(existing)h(practice,)f(whic)o(h)h(is)f(not)g(standard)f(and)h
(not)g(p)q(ortable)g(among)f(implemen)o(tations,)i(instead)75
1934 y(of)e Fm(mpirun)f Fs(w)o(e)h(sp)q(ecify)i Fm(mpiexec)p
Fs(.)1191 b Fl(?)16 b Fk(\(Oct\))166 1991 y Fs(It)f(is)h(prop)q(osed)f
(that)170 2085 y Fm(mpiexec)23 b(-n)h(<numprocs>)e(<program>)75
2178 y Fs(b)q(e)c(at)f(least)g(one)g(w)o(a)o(y)g(to)f(start)g
Fm(<program>)g Fs(with)i(an)f(initial)j Fj(MPI)p 1275
2178 14 2 v 15 w(COMM)p 1432 2178 V 17 w(W)o(ORLD)d Fs(whose)g(group)75
2235 y(con)o(tains)22 b Fm(<numprocs>)f Fs(pro)q(cesses.)42
b(Other)22 b(argumen)o(ts)g(to)g Fm(mpiexec)f Fs(ma)o(y)h(b)q(e)h
(implemen)o(tation-)75 2291 y(dep)q(enden)o(t.)166 2348
y(Curren)o(tly)14 b(this)g(is)g(prop)q(osed)g(as)f(advice)h(to)f
(implemen)o(tors,)i(rather)e(than)g(as)g(a)h(required)g(part)f(of)75
2404 y(MPI-2.)20 b(It)15 b(is)h(not)e(suggested)i(that)e(this)i(b)q(e)g
(the)f(only)h(w)o(a)o(y)e(to)g(start)g(MPI)h(programs.)189
2510 y Fi(A)n(dvic)n(e)c(to)j(implementors.)37 b Fs(Implemen)o(tors,)12
b(if)g(they)g(do)f(pro)o(vide)h(a)f(sp)q(ecial)i(startup)e(command)189
2567 y(for)j(MPI)i(programs,)e(are)h(advised)h(to)f(giv)o(e)g(it)h(the)
g(follo)o(wing)g(form.)j(The)d(syn)o(tax)f(is)g(c)o(hosen)h(in)189
2623 y(order)g(that)g Fm(mpiexec)g Fs(b)q(e)i(able)f(to)f(b)q(e)i(view)
o(ed)f(as)g(a)f(command-line)j(v)o(ersion)e(of)f Fj(MPI)p
1711 2623 V 16 w(SP)l(A)-5 b(WN)189 2680 y Fs(\(See)15
b(Section)h Fh(??)p Fs(\).)964 2828 y(1)p eop
%%Page: 2 4
2 3 bop 75 -100 a Fs(2)1133 b Fg(CHAPTER)15 b(10.)35
b(MISCELLANY)284 45 y Fm(mpiexec)23 b(-n)95 b(<maxprocs>)451
102 y(-soft)47 b(<)191 b(>)451 158 y(-host)47 b(<)191
b(>)451 214 y(-arch)47 b(<)191 b(>)451 271 y(-wdir)47
b(<)191 b(>)451 327 y(-path)47 b(<)191 b(>)451 384 y(-file)47
b(<)191 b(>)475 440 y(...)451 497 y(<command)23 b(line>)189
585 y Fs(for)9 b(the)i(case)f(where)g(a)g(single)i(command)e(line)i
(for)e(the)g(application)i(program)d(and)h(its)h(argumen)o(ts)189
641 y(will)23 b(su\016ce.)41 b(F)l(or)22 b(the)g(case)g(corresp)q
(onding)h(to)f Fj(MPI)p 1180 641 14 2 v 16 w(SP)l(A)-5
b(WN)p 1346 641 V 17 w(MUL)l(TIPLE)21 b Fs(there)h(are)g(t)o(w)o(o)189
698 y(p)q(ossible)17 b(formats:)189 769 y(F)l(orm)d(A:)284
861 y Fm(mpiexec)23 b({)h(<above)f(arguments>)f(})i(:)g({)f(...)h(})g
(:)f({)h(...)g(})f(:)h(...)f(:)h({)g(...)f(})189 953
y Fs(As)17 b(with)g Fj(MPI)p 448 953 V 16 w(SP)l(A)-5
b(WN)p Fs(,)18 b(all)g(the)f(argumen)o(ts)f(are)h(optional.)26
b(\(Ev)o(en)17 b(the)h Fm(-n)23 b(x)41 b Fs(argumen)o(t)16
b(is)189 1009 y(optional;)h(the)f(default)h(is)g(implemen)o(tation)h
(dep)q(enden)o(t.)25 b(It)17 b(migh)o(t)f(b)q(e)h Fm(1)p
Fs(,)f(it)h(migh)o(t)f(b)q(e)h(tak)o(en)189 1066 y(from)11
b(an)i(en)o(vironmen)o(t)g(v)m(ariable,)h(or)e(it)g(migh)o(t)h(b)q(e)g
(sp)q(eci\014ed)h(at)e(compile)i(time\).)19 b(The)13
b(names)f(of)189 1122 y(the)k(argumen)o(ts)e(are)i(tak)o(en)f(from)g
(the)h(k)o(eys)g(in)g(the)g Fm(info)f Fs(argumen)o(t)g(to)h
Fj(MPI)p 1567 1122 V 15 w(SP)l(A)-5 b(WN)p Fs(.)17 b(There)189
1179 y(ma)o(y)d(b)q(e)i(other,)e(implemen)o(tation-dep)q(end)q(en)o(t)k
(argumen)o(ts)c(as)h(w)o(ell.)189 1250 y(Note)k(that)g(F)l(orm)f(A,)h
(though)h(con)o(v)o(enien)o(t)g(to)f(t)o(yp)q(e,)h(prev)o(en)o
(tscolons)g(from)e(b)q(eing)j(program)189 1306 y(argumen)o(ts.)e
(Therefore)c(and)g(alternate,)g(\014le-based)i(form)d(is)i(allo)o(w)o
(ed:)189 1377 y(F)l(orm)e(B:)284 1470 y Fm(mpiexec)23
b(-runfile)g(<filename>)189 1562 y Fs(where)15 b(the)g(lines)i(of)e
Ff(<)p Fs(\014lename)p Ff(>)i Fs(are)e(of)g(the)g(form)f(separated)h(b)
o(y)g(the)h(colons)f(in)h(F)l(orm)f(A.)189 1633 y(\()p
Fi(End)g(of)i(advic)n(e)f(to)g(implementors.)p Fs(\))75
1710 y Fh(Example)i(10.1)23 b Fi(Start)16 b(16)h(instanc)n(es)d(of)i
Fm(myprog)g Fi(on)g(the)g(curr)n(ent)h(or)f(default)h(machine:)170
1784 y Fm(mpiexec)23 b(-n)h(16)g(myprog)75 1861 y Fh(Example)18
b(10.2)23 b Fi(Start)16 b(10)h(pr)n(o)n(c)n(esses)d(on)i(the)h(machine)
f(c)n(al)r(le)n(d)f Fm(ferrari)p Fi(:)170 1935 y Fm(mpiexec)23
b(-n)h(10)g(-host)f(ferrari)g(myprog)75 2012 y Fh(Example)18
b(10.3)23 b Fi(Start)11 b(the)h Fm(ocean)f Fi(pr)n(o)n(gr)n(am)h(on)f
(\014ve)g(suns)g(and)h(the)f Fm(atmos)g Fi(pr)n(o)n(gr)n(am)h(on)g(10)g
(RS/6000's:)170 2086 y Fm(mpiexec)23 b(-n)h(5)g(-arch)f(sun)g(ocean)g
(:)h(-n)g(10)f(-arch)h(rs6000)f(atmos)75 2163 y Fh(Example)18
b(10.4)23 b Fi(Start)17 b(thr)n(e)n(e)h(c)n(opies)f(of)h(the)g(same)f
(pr)n(o)n(gr)n(am)h(with)g(di\013er)n(ent)f(c)n(ommand-line)g(ar)n(gu-)
75 2220 y(ments:)170 2293 y Fm(mpiexec)23 b(myprog)g(infile1)g(:)h
(myprog)f(infile2)g(:)h(myprog)f(infile3)75 2371 y Fh(Example)18
b(10.5)23 b Fi(Start)11 b(the)h Fm(ocean)f Fi(pr)n(o)n(gr)n(am)h(on)f
(\014ve)g(suns)g(and)h(the)f Fm(atmos)g Fi(pr)n(o)n(gr)n(am)h(on)g(10)g
(RS/6000's)75 2427 y(\(F)m(orm)k(B\):)170 2500 y Fm(mpiexec)23
b(-runfile)g(myfile)75 2574 y Fi(wher)n(e)16 b Fm(myfile)g
Fi(c)n(ontains)170 2647 y Fm(-n)24 b(5)48 b(-arch)23
b(sun)95 b(ocean)170 2704 y(-n)24 b(10)g(-arch)f(rs6000)g(atmos)1967
46 y Fk(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967
272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498
y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959 724
y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959 949
y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 3 5
3 4 bop 75 -100 a Fg(10.2.)34 b(LANGUA)o(GE)15 b(INTER)o(OPERABILITY)
898 b Fs(3)75 45 y Fp(10.2)59 b(Language)19 b(Interop)r(erabilit)n(y)75
148 y Fe(10.2.1)49 b(Intro)q(duction)75 281 y Fo(Curren)o(t)14
b(Status:)j Fn(P)o(assed)e(once.)166 385 y Fs(It)h(is)h(not)f(uncommon)
h(for)e(library)i(dev)o(elop)q(ers)h(to)e(use)g(one)h(language)f(to)g
(dev)o(elop)h(an)f(applica-)75 441 y(tions)g(library)g(to)f(b)q(e)h
(used)h(b)o(y)e(applications)i(dev)o(elop)q(ers)g(using)f(another)g
(language.)21 b(MPI)15 b(curren)o(tly)75 498 y(supp)q(orts)h(ANSI)g(C,)
f(ANSI)h(C++,)g(and)g(F)l(ortran)e(77)h(bindings.)23
b(It)15 b(should)i(b)q(e)f(p)q(ossible)i(for)c(applica-)75
554 y(tions)h(in)h(an)o(y)f(of)g(the)g(supp)q(orted)h(languages)f(to)g
(call)h(MPI-related)g(functions)g(in)g(another)f(language.)166
611 y(MPI)h(allo)o(ws)h(the)f(dev)o(elopmen)o(t)h(of)f(clien)o(t-serv)o
(er)i(co)q(de,)f(with)g(MPI)f(comm)o(unication)h(used)g(b)q(e-)75
667 y(t)o(w)o(een)d(a)h(parallel)h(clien)o(t)g(and)f(a)g(parallel)h
(serv)o(er.)k(It)14 b(should)i(b)q(e)g(p)q(ossible)g(to)e(co)q(de)i
(the)f(serv)o(er)f(in)i(one)75 724 y(language,)j(and)g(the)f(clien)o
(ts)i(in)f(another)f(language.)30 b(T)l(o)18 b(do)h(so,)f(in)o(tercomm)
o(unications)i(should)f(b)q(e)75 780 y(p)q(ossible)e(b)q(et)o(w)o(een)e
(applications)i(written)e(in)h(an)o(y)f(language.)166
837 y(There)g(are)g(sev)o(eral)h(issues)g(that)e(need)i(to)f(b)q(e)h
(addressed,)f(to)f(ac)o(hiev)o(e)i(in)o(terop)q(erabilit)o(y)l(.)75
930 y Fh(Initializat)q(ion)26 b Fs(W)l(e)12 b(need)h(to)f(sp)q(ecify)i
(ho)o(w)d(is)i(the)f(MPI)g(en)o(vironmen)o(t)h(initialized)i(for)d(all)
h(languages.)75 1024 y Fh(Comm)o(unication)18 b(of)g(MPI)e(opaque)i(ob)
s(jects)23 b Fs(W)l(e)13 b(need)h(to)f(sp)q(ecify)i(ho)o(w)e(are)g(MPI)
g(ob)s(ject)g(han-)189 1081 y(dles)j(passed)g(b)q(et)o(w)o(een)g
(languages.)21 b(W)l(e)16 b(also)f(need)i(to)e(sp)q(ecify)i(what)e
(happ)q(ens)h(when)g(an)g(MPI)189 1137 y(ob)s(ject)k(is)i(accessed)g
(in)g(one)f(language,)i(to)d(retriev)o(e)i(information)f(set)g(with)h
(this)f(ob)s(ject)g(in)189 1194 y(another)14 b(language.)75
1287 y Fh(In)o(terlanguage)k(comm)o(unication)24 b Fs(W)l(e)18
b(need)g(to)e(sp)q(ecify)i(ho)o(w)f(messages)g(sen)o(t)g(in)g(one)h
(language)189 1344 y(can)d(b)q(e)h(receiv)o(ed)g(in)g(another)f
(language.)166 1438 y(It)f(is)h(highly)h(desirable)g(that)d(the)i
(solution)g(for)f(in)o(terlanguage)h(in)o(terop)q(erabilit)o(y)h(b)q(e)
f(extendable)75 1494 y(to)g(new)g(languages,)g(should)h(MPI)f(bindings)
i(b)q(e)f(de\014ned)h(for)d(suc)o(h)i(languages.)75 1616
y Fe(10.2.2)49 b(Assumptions)1875 1655 y Fl(>)16 b Fk(\(Oct\))75
1702 y Fs(W)l(e)g(assume)g(that)f(con)o(v)o(en)o(tions)h(exist)h(for)e
(MPI)h(programs)f(to)g(call)i(functions)g(in)g(MPI)f(programs)e(of)75
1758 y(another)e(language.)19 b(These)13 b(con)o(v)o(en)o(tions)f(sp)q
(ecify)i(ho)o(w)e(to)f(link)j(routines)f(in)g(di\013eren)o(t)g
(langauges)f(in)o(to)75 1815 y(one)j(program,)e(ho)o(w)g(to)h(call)i
(functions)f(in)g(a)f(di\013eren)o(t)h(language,)f(ho)o(w)g(to)g(pass)g
(argumen)o(ts)g(b)q(et)o(w)o(een)75 1871 y(languages,)23
b(and)f(the)f(corresp)q(ondence)i(b)q(et)o(w)o(een)f(basic)h(data)d(t)o
(yp)q(es)i(of)f(di\013eren)o(t)h(languages.)39 b(In)75
1928 y(general,)18 b(these)f(con)o(v)o(en)o(tions)g(will)i(b)q(e)e
(implemen)o(tation)i(dep)q(enden)o(t)f(\(ho)o(w)o(ev)o(er,)e(this)h(is)
h(an)f(ongoing)75 1984 y(e\013ort)11 b(to)g(standardize)i(a)e(C)h
(calling)i(in)o(terface)e(in)g(F)l(ortran\).)18 b(F)l(urthernote,)12
b(not)f(ev)o(ery)h(basic)g(datat)o(yp)q(e)75 2040 y(ma)o(y)h(ha)o(v)o
(e)h(a)g(matc)o(hing)g(t)o(yp)q(e)g(in)h(other)e(languages.)20
b(F)l(or)14 b(example,)g(C/C++)g(c)o(haracter)g(strings)g(ma)o(y)75
2097 y(not)i(b)q(e)h(compatible)g(with)g(F)l(ortran)e
Fm(CHARACTER)f Fs(v)m(ariables.)25 b(Ho)o(w)o(ev)o(er,)15
b(w)o(e)h(assume)g(that)f(a)h(F)l(ortran)75 2153 y Fm(INTEGER)c
Fs(can)g(b)q(e)h(passed)g(to)f(a)g(C)h(or)f(C++)h(program.)18
b(W)l(e)12 b(also)h(assume)f(that)g(F)l(ortran,)g(C,)g(and)g(C++)75
2210 y(ha)o(v)o(e)j(address)g(sized)h(in)o(tegers.)1256
b Fl(?)16 b Fk(\(Oct\))75 2332 y Fe(10.2.3)49 b(Initializatio)q(n)75
2465 y Fo(Curren)o(t)14 b(Status:)j Fn(P)o(assed)e(once.)166
2568 y Fs(A)k(call)h(to)f Fm(MPI)p 441 2568 15 2 v 16
w(INIT\(\))p Fs(,)g(from)f(either)i(language,)g(initializes)i(MPI)d
(for)f(execution)i(in)g(all)g(lan-)75 2625 y(guages.)1655
b Fl(>)16 b Fk(\(Oct\))-32 46 y(1)-32 103 y(2)-32 159
y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32 385 y(7)-32
441 y(8)-32 498 y(9)-40 554 y(10)-40 611 y(11)-40 667
y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40 893 y(16)-40
949 y(17)-40 1006 y(18)-40 1062 y(19)-40 1119 y(20)-40
1175 y(21)-40 1232 y(22)-40 1288 y(23)-40 1345 y(24)-40
1401 y(25)-40 1457 y(26)-40 1514 y(27)-40 1570 y(28)-40
1627 y(29)-40 1683 y(30)-40 1740 y(31)-40 1796 y(32)-40
1853 y(33)-40 1909 y(34)-40 1966 y(35)-40 2022 y(36)-40
2078 y(37)-40 2135 y(38)-40 2191 y(39)-40 2248 y(40)-40
2304 y(41)-40 2361 y(42)-40 2417 y(43)-40 2474 y(44)-40
2530 y(45)-40 2587 y(46)-40 2643 y(47)-40 2699 y(48)p
eop
%%Page: 4 6
4 5 bop 75 -100 a Fs(4)1138 b Fg(CHAPTER)15 b(10.)30
b(MISCELLANY)189 45 y Fi(A)n(dvic)n(e)17 b(to)i(users.)56
b Fs(Certain)17 b(implemen)o(tations)i(use)g(the)e(\(inout\))h(argc,)g
(argv)e(argumen)o(ts)h(of)189 102 y(the)f(C/C++)g(v)o(ersion)g(of)g
Fj(MPI)p 736 102 14 2 v 16 w(INIT)f Fs(in)i(order)f(to)f(propagate)h
(the)g(righ)o(t)g(v)m(alue)h(for)e(argc,)h(argv)189 158
y(to)g(all)i(executing)h(pro)q(cesses.)26 b(Use)18 b(of)f(the)g(F)l
(ortran)f(v)o(ersion)i(of)f Fj(MPI)p 1424 158 V 15 w(INIT)g
Fs(to)g(initialize)j(MPI)189 214 y(ma)o(y)14 b(result)i(in)g(a)f(loss)g
(of)g(this)g(abilit)o(y)l(.)22 b(\()p Fi(End)15 b(of)i(advic)n(e)f(to)g
(users.)p Fs(\))-117 276 y Fl(?)f Fk(\(Oct\))166 321
y Fs(The)g(function)h Fm(MPI)p 512 321 15 2 v 17 w(INITIALIZED)e
Fs(returns)h(the)g(same)g(answ)o(er)g(in)h(an)o(y)f(language.)166
377 y(The)g(function)h Fm(MPI)p 512 377 V 17 w(FINALIZE)e
Fs(\014nalizes)j(the)e(MPI)h(en)o(vironmen)o(ts)f(for)g(all)h
(languages.)166 434 y(The)h(function)g Fm(MPI)p 515 434
V 17 w(ABORT)e Fs(kill)k(pro)q(cesses,)e(irresp)q(ectiv)o(e)h(of)e(the)
g(language)h(used)g(b)o(y)f(the)h(caller)75 490 y(or)e(b)o(y)g(the)g
(pro)q(cesses)h(killed.)166 547 y(The)e(MPI)g(en)o(vironmen)o(t)g(is)h
(initialized)i(in)e(the)f(same)f(manner)h(for)f(all)i(languages)f(b)o
(y)g Fj(MPI)p 1761 547 14 2 v 16 w(INIT)p Fs(.)75 603
y(I.e.,)d Fd(MPI)p 238 603 13 2 v 14 w(COMM)p 382 603
V 15 w(W)o(ORLD)f Fs(carries)g(the)g(same)g(information)g(regardless)h
(of)f(language:)17 b(same)10 b(pro)q(cesses,)75 659 y(same)15
b(en)o(vironmen)o(tal)h(attributes,)e(same)h(error)g(handlers.)189
766 y Fi(A)n(dvic)n(e)h(to)h(users.)44 b Fs(The)16 b(use)g(of)g(sev)o
(eral)g(languages)g(in)g(one)g(MPI)g(program)f(ma)o(y)g(require)i(the)
189 822 y(use)e(of)g(sp)q(ecial)i(options)e(at)g(compile)h(and/or)f
(link)i(time.)j(\()p Fi(End)c(of)g(advic)n(e)g(to)h(users.)p
Fs(\))189 928 y Fi(A)n(dvic)n(e)k(to)h(implementors.)79
b Fs(Implemen)o(tations)23 b(ma)o(y)e(selectiv)o(ely)i(link)g(language)
f(sp)q(eci\014c)189 985 y(MPI)15 b(libraries)i(only)f(to)f(co)q(des)h
(that)f(need)h(them,)g(so)f(as)g(not)g(to)g(increase)h(the)g(size)g(of)
g(binaries)189 1041 y(for)21 b(co)q(des)i(that)e(use)i(only)f(one)g
(language.)41 b(The)22 b(MPI)g(initializati)q(on)j(co)q(de)d(need)h(p)q
(erform)189 1098 y(initialization)18 b(for)c(a)h(language)g(only)g(if)h
(that)e(language)h(library)h(is)g(loaded.)k(\()p Fi(End)c(of)g(advic)n
(e)g(to)189 1154 y(implementors.)p Fs(\))75 1276 y Fe(10.2.4)49
b(T)l(ransfer)16 b(of)g(handles)75 1409 y Fo(Curren)o(t)e(Status:)j
Fn(P)o(assed)e(once.)-117 1456 y Fl(>)g Fk(\(Oct\))166
1513 y Fs(Handles)e(are)f(passed)h(across)f(languages)g(b)o(y)h(using)g
(an)f(explicit)j(C)d(wrapp)q(er)h(to)e(con)o(v)o(ert)h(handles.)75
1569 y(The)j(con)o(v)o(ersion)h(is)f(automatic)g(b)q(et)o(w)o(een)h(C)f
(and)g(C++.)166 1626 y(The)d(data)f(t)o(yp)q(e)h Fd(MPI)p
532 1626 V 14 w(Fint)g Fs(is)g(pro)o(vided)g(in)h(C)e(for)g(an)h(in)o
(teger)g(of)f(the)h(size)h(that)d(matc)o(hes)i(a)f(F)l(ortran)75
1682 y Fd(INTEGER)p Fs(;)j(usually)l(,)i Fd(MPI)p 517
1682 V 15 w(Fint)f Fs(will)i(b)q(e)f(equiv)m(alen)o(t)h(to)d
Fd(int)p Fs(.)166 1739 y(The)f(follo)o(wing)h(t)o(w)o(o)e(functions)i
(are)f(pro)o(vided)h(in)g(C)f(to)g(con)o(v)o(ert)f(from)h(a)g(F)l
(ortran)f(handle)i(\(whic)o(h)75 1795 y(is)i(an)f(in)o(teger\))g(to)f
(a)h(C)g(handle,)h(and)g(vice)g(v)o(ersa.)75 1851 y Fm(MPI)p
150 1851 15 2 v 17 w(Handle)23 b(MPI)p 406 1851 V 17
w(Int2handle\()f(MPI)p 781 1851 V 17 w(Fint)h(f)p 941
1851 V 17 w(handle,)g(MPI)p 1221 1851 V 17 w(Handle)p
1382 1851 V 16 w(type)g(handle)p 1661 1851 V 17 w(kind\))75
1938 y(MPI)p 150 1938 V 17 w(Fint)g(MPI)p 358 1938 V
17 w(Handle2int\()f(MPI)p 733 1938 V 17 w(Handle)h(c)p
941 1938 V 17 w(handle,)g(MPI)p 1221 1938 V 17 w(Handle)p
1382 1938 V 16 w(type)g(handle)p 1661 1938 V 17 w(kind\))166
2024 y Fs(If)f Fj(f)p 235 2024 14 2 v 16 w(handle)g Fs(is)g(a)f(v)m
(alid)i(F)l(ortran)e(handle)h(to)f(an)g(opaque)h(ob)s(ject,)g(and)f
Fj(handle)p 1598 2024 V 18 w(kind)h Fs(sp)q(eci\014es)75
2081 y(the)17 b(t)o(yp)q(e)f(of)h(ob)s(ject,)f(then)h
Fj(MPI)p 654 2081 V 16 w(INT2HANDLE)f Fs(returns)h(a)f(v)m(alid)i(C)f
(handle)h(to)e(that)g(same)g(ob)s(ject;)75 2137 y(if)21
b Fj(f)p 139 2137 V 16 w(handle)h Fs(is)f(a)g(n)o(ull)h(F)l(ortran)d
(handle,)k(then)e Fj(MPI)p 1016 2137 V 16 w(INT2HANDLE)f
Fs(returns)h(a)f(n)o(ull)i(C)e(handle;)k(if)75 2194 y
Fj(f)p 92 2194 V 16 w(handle)17 b Fs(is)e(an)g(in)o(v)m(alid)j(F)l
(ortran)c(handle,)i(then)f Fj(MPI)p 1011 2194 V 16 w(INT2HANDLE)g
Fs(returns)g(an)g(in)o(v)m(alid)i(C)e(handle;)75 2250
y(and)g(similarly)l(,)i(for)e Fj(MPI)p 513 2250 V 16
w(HANDLE2INT)p Fs(.)75 2356 y Fh(Example)j(10.6)23 b
Fs(The)10 b(example)h(b)q(elo)o(w)g(illustrates)g(ho)o(w)e(the)i(F)l
(ortran)e(MPI)h(function)h Fj(MPI)p 1677 2356 V 16 w(TYPE)p
1810 2356 V 16 w(COMMIT)75 2413 y Fs(can)k(b)q(e)h(implemen)o(ted)h(b)o
(y)d(wrapping)i(the)f(C)g(MPI)g(function)h Fj(MPI)p 1244
2413 V 15 w(T)l(yp)q(e)p 1351 2413 V 18 w(commit)d Fs(with)i(a)g(C)g
(wrapp)q(er)75 2469 y(to)g(do)g(handle)h(con)o(v)o(ersions.)75
2576 y Fm(!)24 b(FORTRAN)f(PROCEDURE)75 2632 y(SUBROUTINE)f
(MPI_TYPE_COMMIT\()g(DATATYPE,)h(IERR\))75 2689 y(INTEGER)g(DATATYPE,)g
(IERR)1967 46 y Fk(1)1967 103 y(2)1967 159 y(3)1967 215
y(4)1967 272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967
498 y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959
724 y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959
949 y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 5 7
5 6 bop 75 -100 a Fg(10.2.)34 b(LANGUA)o(GE)15 b(INTER)o(OPERABILITY)
898 b Fs(5)75 45 y Fm(CALL)23 b(MPI_X_TYPE_COMMIT\(DATATYPE,)d(IERR\))
75 102 y(RETURN)75 158 y(END)75 271 y(!)k(C)f(wrapper)75
384 y(void)g(MPI_X_TYPE_COMMIT\()f(MPI_Fint)g(*f_handle,)h(*ierr\))75
440 y({)75 497 y(MPI_Datatype)f(datatype;)75 610 y(datatype)h(=)g
(\(MPI_Datatype\)MPI_int2handle\()d(*f_handle,)j
(MPI_DATATYPE_HANDLE\);)75 666 y(*ierr)g(=)h
(\(MPI_Fint\)MPI_Type_commit)o(\()d(&datatype\);)75 723
y(*f_handle)i(=)g(MPI_handle2int\()f(\(MPI_Handle\)datatype,)75
779 y(MPI_DATATYPE_HANDLE\);)75 835 y(return\(\);)75
892 y(})166 994 y Fs(The)10 b(same)g(approac)o(h)g(can)g(b)q(e)h(used)g
(for)e(all)i(other)f(MPI)g(functions.)19 b(The)11 b(call)g(to)e
Fj(MPI)p 1637 994 14 2 v 16 w(INT2HANDLE)75 1050 y Fs(\(resp.)k
Fj(MPI)p 285 1050 V 16 w(HANDLE2INT)p Fs(\))g(can)i(b)q(e)f(omitted)g
(when)g(the)g(handle)i(is)e(an)g Fn(OUT)g Fs(\(resp.)f
Fn(IN)p Fs(\))h(argumen)o(t,)75 1107 y(rather)h(than)g
Fn(INOUT)p Fs(.)166 1256 y Fo(Discussion:)g Fn(Do)f(w)o(e)g(also)f(w)o
(an)o(t)h(C++)g(bindings)f(for)h(these)h(functions?)189
1406 y Fi(R)n(ationale.)62 b Fs(The)19 b(design)h(here)g(pro)o(vides)f
(a)g(con)o(v)o(enien)o(t)g(solution)h(for)e(the)h(prev)m(alen)o(t)h
(case,)189 1462 y(where)f(a)f(C)h(wrapp)q(er)g(is)h(used)f(to)f(allo)o
(w)i(F)l(ortran)d(co)q(de)j(to)e(call)i(a)f(C)f(library)l(,)j(or)d(C)h
(co)q(de)h(to)189 1518 y(call)g(a)f(F)l(ortran)f(library)l(.)32
b(The)19 b(use)h(of)f(C)f(wrapp)q(ers)i(is)f(m)o(uc)o(h)g(more)g(lik)o
(ely)i(than)e(the)g(use)g(of)189 1575 y(F)l(ortran)12
b(wrapp)q(ers,)i(b)q(ecause)h(it)f(is)g(m)o(uc)o(h)g(more)f(lik)o(ely)j
(that)d(a)g(v)m(ariable)j(of)d(t)o(yp)q(e)h Fd(INTEGER)f
Fs(can)189 1631 y(b)q(e)j(passed)f(to)g(C,)f(than)h(a)g(C)g(handle)h
(can)g(b)q(e)g(passed)f(to)g(F)l(ortran.)189 1706 y(The)21
b(use)h(of)f(con)o(v)o(ersion)g(functions,)j(rather)c(than)i(pro)q
(cedures,)h(allo)o(w)f(us)f(to)g(use)g(inlinin)q(g,)189
1762 y(esp)q(ecially)c(in)f(the)f(case)g(where)g(these)g(functions)h
(are)e(the)h(iden)o(tit)o(y)l(.)21 b(The)15 b(con)o(v)o(ersion)g
(function)189 1819 y(in)f(the)g(wrapp)q(er)g(do)q(es)g(not)f(catc)o(h)h
(an)f(in)o(v)m(alid)j(handle)f(argumen)o(t.)k(Instead,)14
b(an)g(in)o(v)m(alid)i(handle)189 1875 y(is)11 b(passed)h(b)q(elo)o(w)g
(to)f(the)g(library)h(function,)h(whic)o(h,)f(presumably)l(,)h(c)o(hec)
o(ks)e(its)h(input)g(argumen)o(ts.)189 1932 y(\()p Fi(End)j(of)i(r)n
(ationale.)p Fs(\))1875 1989 y Fl(>)f Fk(\(Oct\))189
2079 y Fi(A)n(dvic)n(e)d(to)h(users.)38 b Fs(The)13 b(user)g(needs)g
(to)g(co)q(erce)g(the)g(result)g(returned)g(b)o(y)f Fj(MPI)p
1560 2079 V 16 w(int2handle)j Fs(from)189 2136 y Fd(MPI)p
266 2136 13 2 v 14 w(Handle)i Fs(to)d(a)h(sp)q(eci\014c)i(handle)g(t)o
(yp)q(e.)j(\()p Fi(End)15 b(of)i(advic)n(e)f(to)g(users.)p
Fs(\))1875 2193 y Fl(?)g Fk(\(Oct\))75 2301 y Fj(C)f(and)g(C++.)46
b Fs(The)15 b(C++)h(language)f(in)o(terface)g(pro)o(vides)g(the)g
(functions)g(listed)h(b)q(elo)o(w)g(for)e(C/C++)75 2358
y(in)o(terop)q(erabilit)o(y)k(\(in)e(particular,)h(to)e(allo)o(w)i(syn)
o(tactically)g(pleasing)g(calls)g(of)f(C)g(from)f(C++)i(and/or)75
2414 y(to)h(build)i(C/F)l(ortran)d(in)o(terfaces)i(for)f(C++\).)30
b(The)19 b(tok)o(en)f Fm(CLASS)g Fs(is)h(used)g(b)q(elo)o(w)g(to)f
(indicate)i(an)o(y)75 2470 y(v)m(alid)d Fj(MPI)d Fs(opaque)i(handle)g
(name)f(\(e.g.)f Fm(Comm)p Fs(\).)166 2527 y(The)f(follo)o(wing)g
Fm(operator=\(\))e Fs(function)i(allo)o(ws)g(assignmen)o(t)f(from)g(a)g
(C)h Fj(MPI)f Fs(handle)h(to)f(a)g(C++)75 2583 y Fj(MPI)j
Fs(handle.)75 2663 y Fm(MPI::CLASS&)22 b(MPI::CLASS::operator=\(const)f
(MPI)p 1105 2663 15 2 v 16 w(CLASS&)i(data\))1875 2704
y Fl(>)16 b Fk(\(Oct\))-32 46 y(1)-32 103 y(2)-32 159
y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32 385 y(7)-32
441 y(8)-32 498 y(9)-40 554 y(10)-40 611 y(11)-40 667
y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40 893 y(16)-40
949 y(17)-40 1006 y(18)-40 1062 y(19)-40 1119 y(20)-40
1175 y(21)-40 1232 y(22)-40 1288 y(23)-40 1345 y(24)-40
1401 y(25)-40 1457 y(26)-40 1514 y(27)-40 1570 y(28)-40
1627 y(29)-40 1683 y(30)-40 1740 y(31)-40 1796 y(32)-40
1853 y(33)-40 1909 y(34)-40 1966 y(35)-40 2022 y(36)-40
2078 y(37)-40 2135 y(38)-40 2191 y(39)-40 2248 y(40)-40
2304 y(41)-40 2361 y(42)-40 2417 y(43)-40 2474 y(44)-40
2530 y(45)-40 2587 y(46)-40 2643 y(47)-40 2699 y(48)p
eop
%%Page: 6 8
6 7 bop 75 -100 a Fs(6)1138 b Fg(CHAPTER)15 b(10.)30
b(MISCELLANY)166 45 y Fs(The)17 b(constructor)f(b)q(elo)o(w)h(creates)g
(a)f(C++)i Fj(MPI)e Fs(ob)s(ject)g(from)g(a)h(C)f Fj(MPI)g
Fs(handle.)26 b(This)18 b(allo)o(ws)75 102 y(the)d(automatic)g
(promotion)g(of)g(a)f(C)h Fj(MPI)g Fs(handle)h(to)f(a)g(C++)h
Fj(MPI)e Fs(handle.)75 176 y Fm(MPI::CLASS\(const)22
b(MPI)p 556 176 15 2 v 16 w(CLASS&)h(data\))75 290 y
Fh(Example)18 b(10.7)23 b Fs(In)d(order)f(for)h(a)f(C)h(program)e(to)h
(use)i(a)e(C++)h(library)l(,)i(the)e(C++)g(library)h(m)o(ust)75
347 y(exp)q(ort)16 b(a)h(C)f(in)o(terface)h(that)f(pro)o(vides)h
(appropriate)g(con)o(v)o(ersions)f(b)q(efore)h(in)o(v)o(oking)g(the)g
(underlying)75 403 y(C++)g(library)h(call.)26 b(This)17
b(example)h(sho)o(ws)e(a)g(C)h(in)o(terface)g(function)h(that)e(in)o(v)
o(ok)o(es)g(a)h(C++)g(library)75 459 y(call)c(with)g(a)f(C)g(comm)o
(unicator;)g(the)h(comm)o(unicator)e(is)i(automatically)g(promoted)f
(to)f(a)h(C++)h(handle)75 516 y(when)j(the)f(underlying)i(C++)f
(function)g(is)g(in)o(v)o(ok)o(ed.)75 600 y Fm(void)23
b(cpp_lib_call\(MPI::Comm)e(cpp_comm\);)75 713 y(extern)i("C")g({)75
769 y(void)g(c_interface\(MPI_Comm)e(c_comm\);)75 825
y(})75 938 y(void)i(c_interface\(MPI_Comm)e(c_comm\))75
995 y({)75 1051 y(cpp_lib_call\(c_comm\);)75 1108 y(})166
1191 y Fs(The)15 b(follo)o(wing)g(function)h(allo)o(ws)f(con)o(v)o
(ersion)g(from)f(C++)h(ob)s(jects)f(to)g(C)h Fj(MPI)f
Fs(handles.)21 b(In)16 b(this)75 1248 y(case,)f(the)g(casting)g(op)q
(erator)g(is)g(o)o(v)o(erloaded)h(to)e(pro)o(vide)i(the)f(functionalit)
o(y)l(.)75 1323 y Fm(MPI::CLASS::operator)21 b(MPI)p
651 1323 V 17 w(CLASS\(\))i(const)75 1436 y Fh(Example)18
b(10.8)23 b Fs(A)15 b(C)f(library)i(routine)g(is)f(called)i(from)d(a)h
(C++)g(program.)k(The)c(C)g(library)g(routine)75 1493
y(is)h(protot)o(yp)q(ed)e(to)h(tak)o(e)f(an)i Fm(MPI)p
647 1493 V 16 w(Comm)f Fs(as)g(an)g(argumen)o(t.)75 1577
y Fm(extern)23 b("C")g({)75 1633 y(void)g(c_lib_call\(MPI_Comm)f
(c_comm\);)75 1689 y(})75 1802 y(void)h(cpp_function\(\))75
1859 y({)75 1915 y(MPI::Comm)g(cpp_comm;)75 1972 y
(cpp_comm.Dup\(MPI::COMM_WOR)o(LD\);)75 2028 y(c_lib_call\(cpp_comm\);)
75 2085 y(})189 2168 y Fi(R)n(ationale.)60 b Fs(Pro)o(viding)19
b(con)o(v)o(ersion)f(from)g(C)h(to)e(C++)i(via)g(constructors)f(and)h
(from)e(C++)189 2225 y(to)e(C)h(via)g(casting)g(allo)o(ws)h(the)f
(compiler)h(to)f(mak)o(e)f(automatic)h(con)o(v)o(ersions.)22
b(Calling)c(C)e(from)189 2281 y(C++)k(b)q(ecomes)g(trivial,)h(as)f(do)q
(es)g(the)f(pro)o(vision)i(of)e(a)g(C)h(or)f(F)l(ortran)f(in)o(terface)
i(to)f(a)g(C++)189 2338 y(library)l(.)i(\()p Fi(End)15
b(of)h(r)n(ationale.)p Fs(\))189 2421 y Fi(A)n(dvic)n(e)f(to)i
(implementors.)43 b Fs(While)17 b(the)f(pro)o(vided)g(casting)g(and)g
(promotion)f(functions)i(allo)o(w)189 2478 y(the)11 b(seamless)g(con)o
(v)o(ersions)g(b)q(et)o(w)o(een)g(C)f(and)h(C++)h Fj(MPI)e
Fs(handles,)i(there)f(are)g(sev)o(eral)g(situations)189
2534 y(in)16 b(the)f Fj(MPI)g Fs(C)g(bindings)i(\(and)e(third)h(part)o
(y)e(C)h(library)h(calls\))g(where)g(a)f Fi(p)n(ointer)g
Fs(to)f(an)i Fj(MPI)e Fs(C)189 2591 y(handle)g(is)h(required)f(\(e.g.,)
f Fm(MPI)p 742 2591 V 16 w(CANCEL)p Fs(\).)f(Curren)o(tly)l(,)i(a)f
(C++)h(user)g(w)o(ould)g(ha)o(v)o(e)f(to)g(explicitly)189
2647 y(cast)k(the)g(C++)h(handle)h(to)e(C)g(v)m(ariable,)i(and)f(then)f
(use)h(the)g Fm(&)f Fs(op)q(erator)g(to)g(get)g(its)g(address.)189
2704 y(F)l(or)d(example,)i(the)f(C++)h(syn)o(tax)e(to)h(call)h(the)f(C)
g Fm(MPI)p 1143 2704 V 17 w(Cancel\(\))f Fs(function)i(is)g(as)f(follo)
o(ws:)1967 46 y Fk(1)1967 103 y(2)1967 159 y(3)1967 215
y(4)1967 272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967
498 y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959
724 y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959
949 y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 7 9
7 8 bop 75 -100 a Fg(10.2.)29 b(LANGUA)o(GE)15 b(INTER)o(OPERABILITY)
903 b Fs(7)189 45 y Fm(MPI::Request)22 b(cpp_request;)189
102 y(MPI_Request)g(c_request;)189 158 y(...)189 214
y(c_request)g(=)i(cpp_request;)189 271 y(MPI_Cancel\(&c_request\);)189
396 y Fs(A)12 b(cleaner)h(syn)o(tax)e(can)i(b)q(e)g(supp)q(orted)f
(with)h(the)f(follo)o(wing)h(functions:)19 b(a)12 b(promotion)g(op)q
(erator)189 452 y(from)i(a)h(C)g Fj(MPI)g Fs(handle)h(p)q(oin)o(ter,)f
(and)h(a)f(casting)g(op)q(erator)f(to)h(a)g(C)g Fj(MPI)f
Fs(handle)j(p)q(oin)o(ter.)189 527 y Fm(MPI::CLASS\(const)k(MPI)p
669 527 15 2 v 17 w(CLASS*)i(data\))189 633 y(MPI::CLASS::operator)e
(MPI)p 765 633 V 17 w(CLASS*\(\))189 738 y Fs(If)g(these)g(functions)h
(are)e(supp)q(orted)i(b)o(y)f(the)g(implemen)o(tation,)i(a)e(C++)g
(program)f(can)h(call)189 794 y Fm(MPI)p 264 794 V 16
w(Cancel\(\))14 b Fs(as)h(follo)o(ws:)189 919 y Fm(MPI::Request)22
b(cpp_request;)189 976 y(...)189 1032 y(MPI_Cancel\(cpp_request\))o(;)
189 1157 y Fs(\()p Fi(End)15 b(of)i(advic)n(e)f(to)g(implementors.)p
Fs(\))1875 1218 y Fl(?)g Fk(\(Oct\))75 1329 y Fe(10.2.5)49
b(MPI)17 b(Opaque)g(objects)75 1462 y Fo(Curren)o(t)d(Status:)j
Fn(P)o(assed)e(once.)166 1565 y Fs(In)h(general,)f(opaque)g(ob)s(jects)
f(are)h(\\the)g(same")f(in)i(all)g(languages:)k(they)15
b(carry)g(the)g(same)g(infor-)75 1622 y(mation,)j(and)f(ha)o(v)o(e)h
(the)f(same)g(meaning)i(in)f(b)q(oth)g(languages.)27
b(The)18 b(mec)o(hanism)g(describ)q(ed)h(in)g(the)75
1678 y(previous)d(section)g(can)f(b)q(e)h(used)g(to)e(pass)h
(references)h(to)f(MPI)g(ob)s(jects)g(from)f(language)i(to)e(language.)
75 1735 y(An)h(ob)s(ject)g(created)g(in)h(one)g(language)f(can)g(b)q(e)
h(accessed,)g(mo)q(di\014ed)g(or)f(freed)h(in)g(another)e(language.)166
1791 y(W)l(e)h(examine)h(b)q(elo)o(w)g(in)g(more)f(detail,)h(issues)g
(that)e(arise)i(for)e(eac)o(h)h(t)o(yp)q(e)h(of)f(MPI)g(ob)s(ject.)75
1913 y Fe(10.2.6)49 b(Datat)o(yp)q(es)75 2046 y Fo(Curren)o(t)14
b(Status:)j Fn(P)o(assed)e(once.)166 2150 y Fs(Datat)o(yp)q(es)d(enco)q
(de)j(the)f(same)f(information)h(in)h(all)f(languages.)20
b(E.g.,)12 b(a)h(datat)o(yp)q(e)g(accessor)h(lik)o(e)75
2206 y Fj(MPI)p 160 2206 14 2 v 16 w(TYPE)p 293 2206
V 17 w(EXTENT)h Fs(will)h(return)f(the)g(same)f(information)h(in)h(all)
f(three)g(languages.)20 b(If)15 b(a)f(datat)o(yp)q(e)75
2262 y(de\014ned)22 b(in)f(one)f(language)h(is)f(used)h(for)f(a)g(comm)
o(unication)h(call)g(in)g(another)f(language,)h(then)g(the)75
2319 y(message)c(sen)o(t)h(will)h(b)q(e)f(iden)o(tical)i(to)d(the)g
(message)h(that)f(w)o(ould)h(b)q(e)g(sen)o(t)f(from)g(the)h(\014rst)f
(language:)75 2375 y(the)e(same)g(comm)o(unication)h(bu\013er)f(is)g
(accessed,)g(and)h(the)f(same)g(represen)o(tation)g(con)o(v)o(ersion)g
(is)g(p)q(er-)75 2432 y(formed,)c(if)h(needed.)20 b(All)13
b(basic)f(datat)o(yp)q(es)f(can)g(b)q(e)h(used)g(in)h(datat)o(yp)q(e)d
(constructors)h(in)h(an)o(y)f(language.)75 2488 y(If)k(a)g(datat)o(yp)q
(e)g(is)h(committed,)f(it)g(can)g(b)q(e)h(used)g(for)f(comm)o
(unication)h(in)g(an)o(y)e(languages.)166 2545 y(The)19
b(function)h Fj(MPI)p 530 2545 V 16 w(ADDRESS)g Fs(returns)f(the)h
(same)f(v)m(alue)h(in)g(all)g(languages.)32 b(On)20 b(the)f(other)75
2601 y(hand,)h(w)o(e)e(do)h(not)g(require)g(that)f(the)h(constan)o(t)f
Fd(MPI)p 1032 2601 13 2 v 15 w(BOTTOM)g Fs(has)h(the)g(same)f(v)m(alue)
i(in)g(all)g(three)75 2658 y(languages.)-32 46 y Fk(1)-32
103 y(2)-32 159 y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32
385 y(7)-32 441 y(8)-32 498 y(9)-40 554 y(10)-40 611
y(11)-40 667 y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40
893 y(16)-40 949 y(17)-40 1006 y(18)-40 1062 y(19)-40
1119 y(20)-40 1175 y(21)-40 1232 y(22)-40 1288 y(23)-40
1345 y(24)-40 1401 y(25)-40 1457 y(26)-40 1514 y(27)-40
1570 y(28)-40 1627 y(29)-40 1683 y(30)-40 1740 y(31)-40
1796 y(32)-40 1853 y(33)-40 1909 y(34)-40 1966 y(35)-40
2022 y(36)-40 2078 y(37)-40 2135 y(38)-40 2191 y(39)-40
2248 y(40)-40 2304 y(41)-40 2361 y(42)-40 2417 y(43)-40
2474 y(44)-40 2530 y(45)-40 2587 y(46)-40 2643 y(47)-40
2699 y(48)p eop
%%Page: 8 10
8 9 bop 75 -100 a Fs(8)1133 b Fg(CHAPTER)15 b(10.)35
b(MISCELLANY)75 45 y Fh(Example)18 b(10.9)75 134 y Fm(!)24
b(FORTRAN)f(CODE)75 190 y(REAL)g(R\(5\))75 247 y(INTEGER)g(TYPE,)g
(ADDR,)g(IERR)75 360 y(!)h(create)f(an)g(absolute)g(datatype)g(for)g
(array)h(R)75 416 y(CALL)f(MPI_ADDRESS\()g(R,)g(ADDR,)g(IERR\))75
473 y(CALL)g(MPI_TYPE_STRUCT\(1,)f(5,)h(ADDR,)g(MPI_REAL,)g(TYPE,)g
(IERR\))75 529 y(CALL)g(C_ROUTINE\(TYPE\))75 642 y(/*)h(C)f(code)h(*/)
75 755 y(void)f(C_ROUTINE\(MPI_Fint)f(*ftype\))75 811
y({)75 868 y(int)h(count)h(=)f(5;)75 924 y(void)g(*handle;)75
981 y(int)g(lens[2])g(=)h({1,1};)75 1037 y(MPI_Aint)f(displs[2];)75
1094 y(MPI_Datatype)f(types[2],)h(newtype;)75 1207 y(/*)h(create)f(an)g
(absolute)g(datatype)g(for)g(buffer)g(that)h(consists)70
b(*/)75 1263 y(/*)47 b(of)24 b(count,)f(followed)g(by)g(R\(5\))668
b(*/)75 1376 y(MPI_Addr\(&count,)22 b(displs[0]\);)75
1432 y(displs[1])h(=)g(0;)75 1489 y(types[0])g(=)g(MPI_INT;)75
1545 y(types[1])g(=)g(\(MPI_Datatype\)MPI_Int2handle\(f)o(type\);)75
1602 y(MPI_Type_struct\(2,)e(lens,)j(displs,)e(types,)i(&newtype\);)75
1658 y(MPI_Type_commit\(&newtype\);)75 1771 y(MPI_Send\(MPI_BOTTOM,)d
(1,)j(newtype,)e(1,)i(0,)g(MPI_COMM_WORLD\);)75 1828
y(/*)g(the)f(message)g(sent)g(contains)g(an)h(int)f(count)g(of)h(5,)f
(followed)47 b(*/)75 1884 y(/*)24 b(by)f(the)h(5)f(REAL)h(entries)f(of)
g(the)h(Fortran)f(array)g(R.)238 b(*/)75 1940 y(})189
2040 y Fi(R)n(ationale.)58 b Fs(The)18 b(curren)o(t)g(MPI)g(standard)g
(sp)q(eci\014es)i(that)d Fd(MPI)p 1363 2040 13 2 v 15
w(ADDRESS)g Fs(can)h(b)q(e)h(used)g(in)189 2096 y(initialization)i
(expressions)f(in)g(C,)e(but)h(not)f(in)i(F)l(ortran.)29
b(Since)21 b(F)l(ortran)c(do)q(es)i(not)g(supp)q(ort)189
2153 y(normally)11 b(call)h(b)o(y)f(v)m(alue,)h(then)f
Fd(MPI)p 815 2153 V 15 w(ADDRESS)f Fs(m)o(ust)g(b)q(e)i(in)f(F)l
(ortran)f(the)h(name)f(of)h(a)f(prede\014ned)189 2209
y(static)19 b(v)m(ariable,)k(e.g.,)d(a)f(v)m(ariable)j(in)f(an)f(MPI)g
(declared)h Fd(COMMON)f Fs(blo)q(c)o(k.)35 b(On)20 b(the)g(other)189
2266 y(hand,)e(in)h(C,)e(it)h(is)g(natural)f(to)g(tak)o(e)g
Fd(MPI)p 930 2266 V 15 w(BOTTOM)f(=)g(0)h Fs(\(Ca)o(v)o(eat:)23
b(De\014ning)c Fd(MPI)p 1681 2266 V 14 w(BOTTOM)189 2322
y(=)e(0)h Fs(implies)i(that)e Fd(NULL)i Fs(p)q(oin)o(ter)e(cannot)h(b)q
(e)g(distinguished)i(from)d Fd(MPI)p 1502 2322 V 14 w(BOTTOM)p
Fs(;)g(ma)o(y)f(b)q(e)189 2378 y Fd(MPI)p 266 2378 V
14 w(BOTTOM)12 b(=)i(1)f Fs(is)i(b)q(etter)f Ff(:)8 b(:)g(:)e
Fs(\))13 b(Requiring)j(that)e(the)g(F)l(ortran)f(and)h(C)g(v)m(alues)h
(b)q(e)g(the)f(same)189 2435 y(will)i(complicate)h(the)e
(initialization)j(pro)q(cess.)i(\()p Fi(End)c(of)g(r)n(ationale.)p
Fs(\))189 2534 y Fi(A)n(dvic)n(e)e(to)h(implementors.)39
b Fs(The)14 b(follo)o(wing)g(implemen)o(tation)h(can)f(b)q(e)h(used:)k
(MPI)14 b(addresses,)189 2591 y(as)e(returned)h(b)o(y)f
Fj(MPI)p 569 2591 14 2 v 16 w(ADDRESS)p Fs(,)h(will)h(ha)o(v)o(e)f(the)
f(same)h(v)m(alue)g(in)h(all)f(languages.)19 b(One)14
b(ob)o(vious)189 2647 y(c)o(hoice)e(is)g(that)g(MPI)f(addresses)h(b)q
(e)g(iden)o(tical)i(to)d(regular)h(addresses.)19 b(The)12
b(address)g(is)g(stored)f(in)189 2704 y(the)k(datat)o(yp)q(e,)f(when)h
(datat)o(yp)q(es)f(with)h(absolute)g(addresses)g(are)g(constructed.)20
b(When)15 b(a)f(send)1967 46 y Fk(1)1967 103 y(2)1967
159 y(3)1967 215 y(4)1967 272 y(5)1967 328 y(6)1967 385
y(7)1967 441 y(8)1967 498 y(9)1959 554 y(10)1959 611
y(11)1959 667 y(12)1959 724 y(13)1959 780 y(14)1959 836
y(15)1959 893 y(16)1959 949 y(17)1959 1006 y(18)1959
1062 y(19)1959 1119 y(20)1959 1175 y(21)1959 1232 y(22)1959
1288 y(23)1959 1345 y(24)1959 1401 y(25)1959 1457 y(26)1959
1514 y(27)1959 1570 y(28)1959 1627 y(29)1959 1683 y(30)1959
1740 y(31)1959 1796 y(32)1959 1853 y(33)1959 1909 y(34)1959
1966 y(35)1959 2022 y(36)1959 2078 y(37)1959 2135 y(38)1959
2191 y(39)1959 2248 y(40)1959 2304 y(41)1959 2361 y(42)1959
2417 y(43)1959 2474 y(44)1959 2530 y(45)1959 2587 y(46)1959
2643 y(47)1959 2699 y(48)p eop
%%Page: 9 11
9 10 bop 75 -100 a Fg(10.2.)34 b(LANGUA)o(GE)15 b(INTER)o(OPERABILITY)
898 b Fs(9)189 45 y(or)13 b(receiv)o(e)i(op)q(eration)f(is)h(p)q
(erformed,)f(then)g(addresses)g(stored)g(in)h(a)e(datat)o(yp)q(e)h(are)
f(in)o(terpreted)189 102 y(as)h(displacemen)o(ts)j(that)d(are)g(all)i
(augmen)o(ted)f(b)o(y)g(a)f(base)h(address.)20 b(This)c(base)f(address)
g(is)g(\(the)189 158 y(address)f(of)t(\))e Fj(buf)p Fs(,)j(or)e(zero,)h
(if)h Fj(buf)f(=)h(MPI)p 921 158 14 2 v 15 w(BOTTOM)p
Fs(.)g(Th)o(us,)e(if)i Fd(MPI)p 1403 158 13 2 v 14 w(BOTTOM)f
Fs(is)g(zero)g(then)g(a)189 214 y(send)g(or)f(receiv)o(e)i(call)g(with)
f Fj(buf)g(=)g(MPI)p 885 214 14 2 v 16 w(BOTTOM)h Fs(is)f(implemen)o
(ted)h(exactly)g(as)e(a)g(call)i(with)f(a)189 271 y(regular)h(bu\013er)
g(argumen)o(t:)k(in)d(b)q(oth)f(cases)g(the)h(base)f(address)g(is)h
Fj(buf)p Fs(.)21 b(On)15 b(the)g(other)g(hand,)g(if)189
327 y Fd(MPI)p 266 327 13 2 v 14 w(BOTTOM)e Fs(is)h(not)g(zero,)f(then)
h(the)g(implemen)o(tation)h(has)e(to)g(b)q(e)h(sligh)o(tly)h
(di\013eren)o(t.)20 b(A)14 b(test)189 384 y(is)h(p)q(erformed)f(to)g(c)
o(hec)o(k)h(whether)f Fj(buf)i(=)f(MPI)p 1011 384 14
2 v 15 w(BOTTOM)p Fs(.)g(If)g(true,)f(then)h(the)f(base)h(address)f(is)
189 440 y(zero,)g(otherwise)i(it)f(is)h Fj(buf)p Fs(.)21
b(In)16 b(particular,)f(if)h Fd(MPI)p 1083 440 13 2 v
14 w(BOTTOM)f Fs(do)q(es)h(not)f(ha)o(v)o(e)f(the)i(same)f(v)m(alue)189
497 y(in)i(F)l(ortran)f(and)h(C/C++,)g(then)g(an)f(additional)i(test)f
(for)f Fj(bu\013)h(=)g(MPI)p 1463 497 14 2 v 16 w(BOTTOM)g
Fs(is)h(needed)189 553 y(in)e(at)e(least)i(one)f(of)g(the)g(languages.)
189 628 y(It)f(ma)o(y)g(b)q(e)i(desirable)g(to)e(use)h(a)g(v)m(alue)h
(other)e(than)g(zero)h(for)f Fd(MPI)p 1339 628 13 2 v
14 w(BOTTOM)h Fs(ev)o(en)g(in)g(C/C++,)189 685 y(so)h(as)h(to)f
(distinguish)j(it)e(from)f(a)h(NULL)g(p)q(oin)o(ter.)26
b(If)17 b Fd(MPI)p 1234 685 V 14 w(BOTTOM)e(=)h(c)h Fs(then)g(one)h
(can)f(still)189 741 y(a)o(v)o(oid)f(the)g(test)g Fj(bu\013)h(=)f(MPI)p
705 741 14 2 v 16 w(BOTTOM)p Fs(,)h(b)o(y)f(using)h(the)g(displacemen)o
(t)h(from)d Fd(MPI)p 1668 741 13 2 v 15 w(BOTTOM)p Fs(,)189
798 y(i.e.,)d(the)g(regular)f(address)h(-)g(c,)g(as)g(the)g(MPI)f
(address)h(returned)g(b)o(y)g Fj(MPI)p 1441 798 14 2
v 16 w(ADDRESS)g Fs(and)g(stored)189 854 y(in)k(absolute)f(datat)o(yp)q
(es.)k(\()p Fi(End)d(of)g(advic)n(e)h(to)f(implementors.)p
Fs(\))75 976 y Fe(10.2.7)49 b(Addresses)75 1109 y Fo(Curren)o(t)14
b(Status:)j Fn(No)d(v)o(otes.)166 1213 y Fs(Some)i(of)g(the)h(datat)o
(yp)q(e)e(accessors)h(and)h(constructors)e(ha)o(v)o(e)h(argumen)o(ts)g
(of)f(t)o(yp)q(e)i Fd(MPI)p 1717 1213 13 2 v 14 w(Aint)f
Fs(\(in)75 1269 y(C\))e(or)g Fd(MPI::Aint)f Fs(in)j(C++,)f(to)e(hold)j
(addresses.)k(The)15 b(corresp)q(onding)g(argumen)o(ts,)f(in)h(F)l
(ortran,)e(ha)o(v)o(e)75 1326 y(t)o(yp)q(e)20 b Fd(INTEGER)p
Fs(.)g(This)h(causes)f(F)l(ortran)f(and)i(C/C++)f(to)g(b)q(e)h
(incompatible,)i(in)e(an)g(en)o(vironmen)o(t)75 1382
y(where)15 b(addresses)h(ha)o(v)o(e)f(64)f(bits,)h(but)h(F)l(ortran)e
Fd(INTEGER)p Fs(s)g(ha)o(v)o(e)h(32)g(bits.)166 1438
y(This)k(is)h(a)e(problem,)i(irresp)q(ectiv)o(e)h(of)d(in)o
(terlanguage)h(issues.)32 b(Supp)q(ose)20 b(that)e(a)g(F)l(ortran)g
(pro-)75 1495 y(cess)h(has)g(an)g(address)g(space)g(of)g
Fl(\025)g Fs(4)g(GB.)g(What)f(should)i(b)q(e)g(the)f(v)m(alue)h
(returned)f(in)h(F)l(ortran)e(b)o(y)75 1551 y Fj(MPI)p
160 1551 14 2 v 16 w(ADDRESS)p Fs(,)i(for)e(a)h(v)m(ariable)i(with)e
(an)h(address)f(ab)q(o)o(v)o(e)g(2)1195 1535 y Fc(32)1232
1551 y Fs(?)33 b(The)19 b(prop)q(osed)h(design)g(aims)g(to)75
1608 y(solv)o(e)15 b(this)h(issue,)g(while)g(main)o(taining)h
(compatibilit)o(y)f(with)g(curren)o(t)f(F)l(ortran)f(co)q(des.)166
1664 y(The)h(constan)o(t)g Fd(MPI)p 520 1664 13 2 v 14
w(ADDRESS)p 720 1664 V 14 w(KIND)g Fs(is)h(de\014ned)g(so)f(that,)f(in)
i(F)l(ortran)e(90,)75 1721 y Fd(INTEGER\(KIND=MPI)p 474
1721 V 14 w(ADDRESS)p 674 1721 V 14 w(KIND\))22 b Fs(is)g(an)g(address)
g(sized)h(in)o(teger)f(t)o(yp)q(e)g(\(t)o(ypically)l(,)i(but)e(not)75
1777 y(necessarily)l(,)f Fd(MPI)p 392 1777 V 15 w(ADDRESS)p
593 1777 V 14 w(KIND)e Fs(is)g(4)g(on)g(32)g(bit)g(address)h(mac)o
(hines)g(and)f(8)g(on)g(64)f(bit)i(address)75 1834 y(mac)o(hines\).)g
(Similarly)l(,)d(the)f(constan)o(t)75 1890 y Fd(MPI)p
152 1890 V 14 w(INTEGER)p 340 1890 V 15 w(KIND)g Fs(is)h(de\014ned)h
(so)f(that)f Fd(INTEGER\(KIND=MPI)p 1231 1890 V 13 w(INTEGER)p
1418 1890 V 15 w(KIND\))g Fs(is)h(a)g(default)g(size)75
1947 y Fd(INTEGER)p Fs(.)166 2003 y(There)e(are)g(sev)o(en)h(functions)
g(that)e(ha)o(v)o(e)h(address)g(argumen)o(ts:)k Fj(MPI)p
1380 2003 14 2 v 16 w(TYPE)p 1513 2003 V 17 w(HVECTOR)p
Fs(,)75 2059 y Fj(MPI)p 160 2059 V 16 w(TYPE)p 293 2059
V 17 w(HINDEXED)p Fs(,)c Fj(MPI)p 647 2059 V 15 w(TYPE)p
779 2059 V 17 w(STRUCT)p Fs(,)h Fj(MPI)p 1083 2059 V
16 w(ADDRESS)p Fs(,)f Fj(MPI)p 1411 2059 V 16 w(TYPE)p
1544 2059 V 17 w(EXTENT)75 2116 y(MPI)p 160 2116 V 16
w(TYPE)p 293 2116 V 17 w(LB)g Fs(and)g Fj(MPI)p 550 2116
V 16 w(TYPE)p 683 2116 V 17 w(UB)p Fs(.)1104 b Fl(>)16
b Fk(\(Oct\))166 2172 y Fs(F)l(our)k(new)i(functions)f(are)g(pro)o
(vided)h(to)e(supplemen)o(t)i(the)f(\014rst)g(four)g(functions)g(in)h
(this)g(list.)75 2229 y(These)15 b(functions)h(are)f(describ)q(ed)i(in)
e(Section)h(10.3,)d(page)i(13)g(.)k(The)d(remaining)g(three)f
(functions)g(are)75 2285 y(supplemen)o(ted)g(b)o(y)e(the)g(new)g
(function)h Fj(MPI)p 849 2285 V 15 w(GET)p 952 2285 V
17 w(EXTENT)p Fs(,)f(describ)q(ed)i(in)f(that)e(same)h(section.)20
b(The)75 2342 y(new)g(functions)g(are)f(synonimous)h(with)g(the)g(old)g
(functions)g(in)g(C/C++,)h(or)e(on)g(F)l(ortran)f(systems)75
2398 y(where)23 b(default)g Fd(INTEGER)p Fs(s)e(are)i(address)f(sized.)
43 b(In)23 b(F)l(ortran,)g(they)f(accept)h(argumen)o(ts)f(of)g(t)o(yp)q
(e)75 2455 y Fd(INTEGER\(KIND=MPI)p 474 2455 13 2 v 14
w(ADDRESS)p 674 2455 V 14 w(SIZE\))p Fs(,)d(wherev)o(er)g(argumen)o(ts)
f(of)h(t)o(yp)q(e)g Fd(MPI)p 1479 2455 V 15 w(Aint)g
Fs(are)g(used)h(in)g(C.)75 2511 y(On)j(F)l(ortran)e(77)h(systems)g
(that)f(do)h(not)g(supp)q(ort)h(the)f(F)l(ortran)f(90)h
Fd(KIND)g Fs(notation,)h(and)g(where)75 2568 y(addresses)e(are)g(64)f
(bits)i(whereas)f(default)h Fd(INTEGER)p Fs(s)e(are)g(32)h(bits,)h
(these)g(argumen)o(ts)e(will)j(b)q(e)e(of)75 2624 y(t)o(yp)q(e)16
b Fd(INTEGER*8)p Fs(.)k(The)c(old)h(functions)f(will)i(con)o(tin)o(ue)e
(to)f(b)q(e)i(pro)o(vided,)f(for)f(p)q(ortabilit)o(y)l(.)23
b(Ho)o(w)o(ev)o(er,)75 2680 y(users)14 b(are)g(encouraged)g(to)f(switc)
o(h)h(to)f(the)h(new)h(functions,)f(in)h(F)l(ortran,)e(so)g(as)h(to)f
(a)o(v)o(oid)g(problems)i(on)-32 46 y Fk(1)-32 103 y(2)-32
159 y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32 385 y(7)-32
441 y(8)-32 498 y(9)-40 554 y(10)-40 611 y(11)-40 667
y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40 893 y(16)-40
949 y(17)-40 1006 y(18)-40 1062 y(19)-40 1119 y(20)-40
1175 y(21)-40 1232 y(22)-40 1288 y(23)-40 1345 y(24)-40
1401 y(25)-40 1457 y(26)-40 1514 y(27)-40 1570 y(28)-40
1627 y(29)-40 1683 y(30)-40 1740 y(31)-40 1796 y(32)-40
1853 y(33)-40 1909 y(34)-40 1966 y(35)-40 2022 y(36)-40
2078 y(37)-40 2135 y(38)-40 2191 y(39)-40 2248 y(40)-40
2304 y(41)-40 2361 y(42)-40 2417 y(43)-40 2474 y(44)-40
2530 y(45)-40 2587 y(46)-40 2643 y(47)-40 2699 y(48)p
eop
%%Page: 10 12
10 11 bop 75 -100 a Fs(10)1110 b Fg(CHAPTER)15 b(10.)35
b(MISCELLANY)75 45 y Fs(systems)15 b(with)g(an)g(address)h(range)e
Ff(>)f Fs(2)767 29 y Fc(32)805 45 y Fs(,)h(and)i(to)e(pro)o(vide)i
(compatibilit)o(y)h(across)d(languages.)75 165 y Fe(10.2.8)49
b(Groups)75 298 y Fo(Curren)o(t)14 b(Status:)j Fn(P)o(assed)e(once.)166
401 y Fs(A)j(group)g(ob)s(ject)g(represen)o(t)h(the)f(same)g(group)g
(in)h(all)h(languages:)26 b(the)18 b(same)g(pro)q(cesses,)i(with)75
458 y(the)15 b(same)g(ranks.)20 b(Group)15 b(accessors)f(suc)o(h)i(as)f
Fj(MPI)p 986 458 14 2 v 15 w(GROUP)p 1153 458 V 18 w(SIZE)g
Fs(return)g(the)h(same)f(v)m(alue.)75 577 y Fe(10.2.9)49
b(Communicato)o(rs)75 710 y Fo(Curren)o(t)14 b(Status:)j
Fn(P)o(assed)e(once.)166 814 y Fs(A)k(comm)o(unicator)g(represen)o(ts)h
(the)f(same)g(group)g(and)h(same)f(comm)o(unication)h(domain)g(in)g
(all)75 870 y(languages.)25 b(In)17 b(particular,)h(a)e(message)g(sen)o
(t)h(from)f(one)h(language)g(using)g(a)g(comm)o(unicator)f(can)h(b)q(e)
75 927 y(receiv)o(ed)e(from)e(another)g(language,)h(using)h(the)f(matc)
o(hing)g(comm)o(unicator)f(on)h(another)f(pro)q(cess;)h(col-)75
983 y(lectiv)o(e)j(comm)o(unication)f(can)g(in)o(v)o(olv)o(e)g(pro)q
(cesses)g(executing)h(co)q(de)f(written)g(in)g(di\013eren)o(t)g
(languages,)75 1040 y(using)f(matc)o(hing)g(comm)o(unicators;)f
(accessors)g(suc)o(h)h(as)f Fj(MPI)p 1152 1040 V 16 w(COMM)p
1310 1040 V 16 w(SIZE)h Fs(return)f(the)h(same)f(v)m(alue;)75
1096 y(etc.)166 1153 y(T)l(op)q(ology)e(information)h(asso)q(ciated)f
(to)g(a)g(comm)o(unicator)g(can)g(b)q(e)h(accessed)g(in)h(an)o(y)e(of)f
(the)i(three)75 1209 y(languages.)75 1329 y Fe(10.2.10)50
b(A)o(ttributes)75 1462 y Fo(Curren)o(t)14 b(Status:)j
Fn(No)d(v)o(otes.)166 1565 y Fs(A)o(ttribute)k(k)o(eys)g(can)h(b)q(e)g
(allo)q(cated)g(in)g(one)f(language)h(and)f(freed)h(in)g(another.)28
b(Similarly)l(,)21 b(at-)75 1622 y(tributes)13 b(v)m(alues)i(can)e(b)q
(e)h(set)e(in)i(one)g(langage)f(and)g(accessed)g(in)h(another.)19
b(T)l(o)13 b(ac)o(hiev)o(e)h(this,)f(attribute)75 1678
y(k)o(eys)j(will)i(b)q(e)f(allo)q(cated)g(in)g(an)g(in)o(teger)f(range)
g(that)f(is)i(v)m(alid)h(all)f(languages.)24 b(The)16
b(same)g(holds)h(true)75 1735 y(for)e(system)f(de\014ned)j(attribute)e
(v)m(alues)h(\(suc)o(h)f(as)g Fd(MPI)p 1032 1735 13 2
v 15 w(T)m(A)o(G)p 1127 1735 V 14 w(UB,)d(MPI)p 1297
1735 V 14 w(IO)p Fs(,)i(etc.\))166 1791 y(A)o(ttribute)d(k)o(eys)g
(declared)h(in)g(one)f(language)g(are)g(asso)q(ciated)h(with)f(cop)o(y)
g(and)g(delete)h(functions)g(in)75 1848 y(that)e(language)g(\(the)h
(functions)g(pro)o(vided)g(b)o(y)f(the)h Fj(MPI)p 1035
1848 14 2 v 16 w(Keyval)p 1178 1848 V 15 w(create)g Fs(call\).)19
b(When)11 b(a)f(comm)o(unicator)75 1904 y(is)16 b(duplicated,)i(for)d
(eac)o(h)h(attribute,)g(the)g(corresp)q(onding)h(cop)o(y)e(function)i
(is)f(called,)i(using)e(the)g(righ)o(t)75 1960 y(calling)j(con)o(v)o
(en)o(tion)e(for)g(the)h(language)f(of)g(that)g(function;)h(and)g
(similarly)l(,)h(for)e(the)g(delete)i(callbac)o(k)75
2017 y(function.)189 2106 y Fi(A)n(dvic)n(e)i(to)h(implementors.)77
b Fs(This)22 b(requires)g(that)f(attributes)g(b)q(e)h(tagged)f(either)h
(as)f(\\C",)189 2163 y(\\C++")15 b(or)g(\\F)l(ortran",)e(and)j(that)e
(the)i(language)f(tag)g(b)q(e)h(c)o(hec)o(k)o(ed)g(in)g(order)f(to)g
(use)h(the)f(righ)o(t)189 2219 y(calling)i(con)o(v)o(en)o(tion)e(for)f
(the)i(callbac)o(k)g(function.)21 b(\()p Fi(End)15 b(of)i(advic)n(e)f
(to)g(implementors.)p Fs(\))166 2308 y(The)21 b(attribute)g
(manipulation)h(functions)g(describ)q(ed)g(in)g(section)f(5.7)f(of)h
(the)g(MPI)f(standard)75 2365 y(de\014ne)d(attributes)e(argumen)o(ts)g
(to)f(b)q(e)j(of)e(t)o(yp)q(e)g Fd(void*)h Fs(in)g(C,)f(and)h(of)f(t)o
(yp)q(e)g Fd(INTEGER)p Fs(,)f(in)j(F)l(ortran.)i(On)75
2421 y(some)14 b(systems,)f Fd(INTEGER)p Fs(s)h(will)i(ha)o(v)o(e)e(32)
f(bits,)i(while)g(C/C++)g(p)q(oin)o(ters)f(will)i(ha)o(v)o(e)e(64)g
(bits.)20 b(This)14 b(is)75 2478 y(a)j(problem)g(if)g(comm)o(unicator)g
(attributes)f(are)h(used)g(to)g(mo)o(v)o(e)f(information)h(from)f(a)g
(F)l(ortran)g(caller)75 2534 y(to)f(a)f(C/C++)i(callee,)g(or)f(vice-v)o
(ersa.)-858 b Fl(>)15 b Fk(\(Oct\))166 2591 y Fs(MPI)j(will)h(store,)e
(in)o(ternally)l(,)j(address)d(sized)i(attributes.)27
b(If)18 b(F)l(ortran)e Fd(INTEGER)p Fs(s)h(are)h(smaller,)75
2647 y(then)g(the)f(F)l(ortran)g(function)h Fj(MPI)p
694 2647 V 16 w(A)l(TTR)p 827 2647 V 17 w(GET)g Fs(will)h(return)e(the)
h(least)f(signi\014can)o(t)i(part)e(of)g(the)g(at-)75
2704 y(tribute)e(w)o(ord;)f(the)g(F)l(ortran)g(function)h
Fj(MPI)p 855 2704 V 16 w(A)l(TTR)p 988 2704 V 17 w(PUT)g
Fs(will)h(set)f(the)f(least)h(signi\014can)o(t)h(part)e(of)g(the)1967
46 y Fk(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967
272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498
y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959 724
y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959 949
y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 11 13
11 12 bop 75 -100 a Fg(10.2.)34 b(LANGUA)o(GE)15 b(INTER)o(OPERABILITY)
876 b Fs(11)75 45 y(attribute)16 b(w)o(ord,)f(whic)o(h)i(will)g(b)q(e)g
(sign)f(extended)h(to)f(the)g(en)o(tire)g(w)o(ord.)21
b(\(These)16 b(t)o(w)o(o)f(functions)i(ma)o(y)75 102
y(b)q(e)f(in)o(v)o(ok)o(ed)f(explicitly)j(b)o(y)d(user)h(co)q(de,)f(or)
g(implicitly)l(,)j(b)o(y)d(attribute)g(cop)o(ying)h(callbac)o(k)g
(functions.\))189 208 y Fi(A)n(dvic)n(e)f(to)i(users.)40
b Fs(Users)15 b(are)g(encouraged)g(to)g(use)g(the)g(t)o(w)o(o)f(new)i
(functions)189 264 y Fj(MPI)p 274 264 14 2 v 15 w(HANDLE)p
468 264 V 17 w(A)l(TTR)p 602 264 V 17 w(GET)24 b Fs(and)f
Fj(MPI)p 909 264 V 16 w(HANDLE)p 1104 264 V 17 w(A)l(TTR)p
1238 264 V 17 w(GET)p Fs(,)g(describ)q(ed)i(in)f(Section)g
Fh(??)p Fs(,)189 321 y(page)17 b Fh(??)p Fs(.)26 b(Their)18
b(F)l(ortran)e(binding)k(sp)q(eci\014es)f(address)f(sized)g(in)o(teger)
g(argumen)o(ts,)f(th)o(us)g(pro-)189 377 y(viding)f(language)g(in)o
(terop)q(erabilit)o(y)l(.)22 b(\()p Fi(End)15 b(of)h(advic)n(e)h(to)f
(users.)p Fs(\))1875 438 y Fl(?)g Fk(\(Oct\))75 549 y
Fe(10.2.11)50 b(Requests)75 682 y Fo(Curren)o(t)14 b(Status:)j
Fn(P)o(assed)e(once.)166 785 y Fs(A)g(v)m(alid)i(request)e(created)g
(in)h(on)f(language)g(can)g(b)q(e)h(accessed,)f(up)q(dated,)h(freed,)f
(or)f(canceled)j(in)75 842 y(another)e(language.)75 964
y Fe(10.2.12)50 b(Erro)o(r)15 b(handlers)75 1097 y Fo(Curren)o(t)f
(Status:)j Fn(P)o(assed)e(once.)166 1200 y Fs(Error)c(handles)i(can)g
(b)q(e)f(allo)q(cated)i(and)e(deallo)q(cated)h(in)g(an)o(y)f(com)o
(bination)h(of)f(languages.)19 b(When)75 1257 y(an)c(MPI)h(exception)h
(o)q(ccurs,)e(then)h(the)g(last)f(error)g(handler)i(asso)q(ciated)e
(with)h(the)g(relev)m(an)o(t)g(comm)o(u-)75 1313 y(nicator)h(is)g(in)o
(v)o(ok)o(ed,)g(irresp)q(ectiv)o(e)h(of)f(the)f(language)h(en)o
(vironmen)o(t)g(where)g(the)g(error)f(o)q(ccurred)i(and)75
1370 y(the)h(en)o(vironmen)o(t)f(where)h(the)g(handler)h(w)o(as)d(asso)
q(ciated)i(with)g(the)g(comm)o(unicator.)29 b(The)19
b(handler)75 1426 y(will)e(b)q(e)f(in)o(v)o(ok)o(ed)f(with)h(the)f
(righ)o(t)g(argumen)o(t)f(passing)i(con)o(v)o(en)o(tion.)189
1532 y Fi(A)n(dvic)n(e)j(to)h(implementors.)65 b Fs(Error)18
b(handler)j(ob)s(jects)d(need)j(to)d(ha)o(v)o(e)h(a)g(language)h(tag,)f
(lik)o(e)189 1589 y(attribute)e(k)o(eys,)h(so)f(as)h(to)f(use)h(the)g
(righ)o(t)f(calling)j(con)o(v)o(en)o(tion.)27 b(These)18
b(handlers)h(ha)o(v)o(e,)f(in)g(C)189 1645 y(and)f(C++,)h(a)f(\\)p
Fm(stdargs)p Fs(")e(argumen)o(t)i(list.)26 b(It)18 b(migh)o(t)f(b)q(e)g
(useful)i(to)d(pro)o(vide)i(to)f(the)g(handler)189 1702
y(information)c(on)h(the)f(language)h(en)o(vironmen)o(t)g(where)f(the)h
(error)e(o)q(ccurred.)20 b(\()p Fi(End)14 b(of)h(advic)n(e)g(to)189
1758 y(implementors.)p Fs(\))75 1880 y Fe(10.2.13)50
b(Reduce)16 b(op)q(erations)75 2013 y Fo(Curren)o(t)e(Status:)j
Fn(P)o(assed)e(once.)166 2117 y Fs(Reduce)g(op)q(erations)e(de\014ned)i
(in)f(one)f(language)h(\(b)o(y)e(a)h(call)i(to)d Fj(MPI)p
1352 2117 V 16 w(OP)p 1430 2117 V 17 w(CREA)l(TE)p Fs(\))i(can)f(b)q(e)
h(used)75 2173 y(or)h(deallo)q(cated)h(in)g(an)o(y)f(other)g(language.)
189 2280 y Fi(A)n(dvic)n(e)h(to)h(users.)47 b Fs(Reduce)18
b(op)q(erations)e(receiv)o(e,)h(as)f(one)g(of)g(their)h(argumen)o(t,)e
(the)h(datat)o(yp)q(e)189 2336 y(of)d(the)g(op)q(erands.)20
b(Th)o(us,)14 b(one)f(can)h(de\014ne)h(\\p)q(olymorphic")f(reduce)g(op)
q(erations)g(that)f(w)o(ork)g(for)189 2392 y(C,)h(C++,)i(and)f(F)l
(ortran)f(datat)o(yp)q(es.)19 b(\()p Fi(End)d(of)g(advic)n(e)g(to)h
(users.)p Fs(\))189 2499 y Fi(A)n(dvic)n(e)c(to)i(implementors.)39
b Fs(Reduce)15 b(op)q(eration)f(ob)s(jects)f(need)h(to)f(carry)g(a)h
(language)f(tag,)g(lik)o(e)189 2555 y(attribute)h(k)o(eys,)g(so)h(as)f
(to)g(use)h(the)g(righ)o(t)f(calling)j(con)o(v)o(en)o(tion.)i(\()p
Fi(End)d(of)g(advic)n(e)f(to)h(implemen-)189 2612 y(tors.)p
Fs(\))-32 46 y Fk(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32
272 y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Page: 12 14
12 13 bop 75 -100 a Fs(12)1115 b Fg(CHAPTER)15 b(10.)30
b(MISCELLANY)75 45 y Fe(10.2.14)50 b(Status)75 178 y
Fo(Curren)o(t)14 b(Status:)j Fn(V)m(ote??)166 282 y Fs(MPI)i(do)q(es)g
(not)g(pro)o(vide)g(a)g(mec)o(hanism)g(for)g(passing)g(status)f(ob)s
(jects)g(from)g(one)h(language)h(to)75 338 y(another.)189
442 y Fi(R)n(ationale.)40 b Fs(The)15 b(MPI)g(status)g(ob)s(ject)f(is)i
(not)f(really)h(an)f(opaque)g(ob)s(ject,)f(since)j(its)e(structure)189
499 y(is)k(partially)g(visible)i(to)c(the)i(user,)g(and)g(the)f(ob)s
(ject)g(is)h(allo)q(cated)g(b)o(y)g(the)f(user.)30 b(A)19
b(C)f(status)189 555 y(ob)s(ject)12 b(is)h(a)f(structure,)g(a)h(C++)g
(status)e(ob)s(ject)h(is)h(a)g(real)f(ob)s(ject,)h(and)f(a)g(F)l
(ortran)g(status)g(ob)s(ject)189 612 y(is)j(an)f(arra)o(y)l(.)19
b(Instead)c(of)f(passing)h(status)f(ob)s(jects,)g(one)h(can)f(pass)h
(requests,)f(and)h(use)g(them)g(to)189 668 y(buld)h(status)f(ob)s
(jects.)k(\()p Fi(End)c(of)i(r)n(ationale.)p Fs(\))75
790 y Fe(10.2.15)50 b(Constants)75 923 y Fo(Curren)o(t)14
b(Status:)j Fn(P)o(assed)e(once.)166 1026 y Fs(MPI)i(constan)o(ts)f(ha)
o(v)o(e)g(the)h(same)g(v)m(alue)h(in)g(all)g(languages.)25
b(This)18 b(includes,)h(error)d(co)q(des,)i(con-)75 1083
y(stan)o(ts)12 b(suc)o(h)h(as)g Fm(MPI)p 435 1083 15
2 v 17 w(PROC)p 548 1083 V 16 w(NULL)g Fs(or)f Fm(MPI)p
798 1083 V 17 w(ANY)p 887 1083 V 17 w(TAG)p Fs(,)g(etc.)19
b(This)14 b(do)q(es)f(not)f(apply)i(to)f(constan)o(t)f(handles)75
1139 y(\()p Fd(MPI)p 170 1139 13 2 v 14 w(INT,)17 b(MPI)p
357 1139 V 15 w(COMM)p 502 1139 V 14 w(W)o(ORLD,)h(MPI)p
769 1139 V 14 w(ERRORS)p 943 1139 V 14 w(RETURN,)f(MPI)p
1226 1139 V 14 w(SUM)p Fs(,)i(etc.\))33 b(These)19 b(handles)i(need)75
1196 y(to)15 b(b)q(e)h(con)o(v)o(erted,)e(as)h(explained)j(in)e
(Section)g(10.2.4.)i Fd(MPI)p 1109 1196 V 15 w(BOTTOM)d
Fs(ma)o(y)f(ha)o(v)o(e)h(di\013eren)o(t)h(v)m(alues)g(in)75
1252 y(F)l(ortran,)e(C,)g(and)i(C++.)166 1356 y Fo(Missing:)h
Fn(Need)d(to)g(add)g(the)g(new)h(MPI2)f(sp)q(ecial)g(addresses)75
1525 y Fe(10.2.16)50 b(Interlanguage)17 b(communication)75
1658 y Fo(Curren)o(t)d(Status:)j Fn(P)o(assed)e(once.)166
1761 y Fs(The)i(t)o(yp)q(e)h(matc)o(hing)f(rules)h(for)e(comm)o
(unications)i(in)g(MPI)f(are)g(not)g(c)o(hanged:)24 b(The)17
b(datat)o(yp)q(e)75 1818 y(sp)q(eci\014cation)g(for)e(eac)o(h)h(item)f
(sen)o(t)h(should)g(matc)o(h,)f(textually)l(,)h(the)f(datat)o(yp)q(e)g
(sp)q(eci\014cation)j(used)e(to)75 1874 y(receiv)o(e)g(this)g(item)f
(\(unless)h(one)g(of)e(the)i(t)o(yp)q(es)f(is)h Fd(MPI)p
1025 1874 V 14 w(P)m(A)o(CKED)p Fs(\).)c(And)k(the)f(t)o(yp)q(e)g(of)g
(a)g(message)g(item)75 1931 y(should)21 b(matc)o(h)e(the)h(t)o(yp)q(e)f
(declaration)i(for)e(the)h(corresp)q(onding)g(comm)o(unication)h
(bu\013er)f(lo)q(cation,)75 1987 y(unless)c(the)g(t)o(yp)q(e)f(is)h
Fd(MPI)p 513 1987 V 14 w(BYTE)e Fs(or)h Fd(MPI)p 781
1987 V 14 w(P)m(A)o(CKED)p Fs(.)e(In)o(terlanguage)i(comm)o(unication)h
(is)g(allo)o(w)o(ed,)f(if)h(it)75 2044 y(complies)h(with)e(these)h
(rules.)75 2148 y Fh(Example)i(10.10)23 b Fs(In)16 b(the)g(example)g(b)
q(elo)o(w,)g(a)f(F)l(ortran)g(arra)o(y)f(is)i(sen)o(t)g(from)f(F)l
(ortran)f(and)i(receiv)o(ed)75 2204 y(in)g(C.)75 2308
y Fm(!)24 b(FORTRAN)f(CODE)75 2365 y(REAL)g(R\(5\))75
2421 y(INTEGER)g(TYPE,)g(ADDR,)g(IERR,)g(MYRANK)75 2534
y(!)h(create)f(an)g(absolute)g(datatype)g(for)g(array)h(R)75
2591 y(CALL)f(MPI_ADDRESS\()g(R,)g(ADDR\))75 2647 y(CALL)g
(MPI_TYPE_STRUCT\(1,)f(5,)h(ADDR,)g(MPI_REAL,)g(TYPE,)g(IERR\))75
2704 y(CALL)g(MPI_TYPE_COMMIT\()f(TYPE\))1967 46 y Fk(1)1967
103 y(2)1967 159 y(3)1967 215 y(4)1967 272 y(5)1967 328
y(6)1967 385 y(7)1967 441 y(8)1967 498 y(9)1959 554 y(10)1959
611 y(11)1959 667 y(12)1959 724 y(13)1959 780 y(14)1959
836 y(15)1959 893 y(16)1959 949 y(17)1959 1006 y(18)1959
1062 y(19)1959 1119 y(20)1959 1175 y(21)1959 1232 y(22)1959
1288 y(23)1959 1345 y(24)1959 1401 y(25)1959 1457 y(26)1959
1514 y(27)1959 1570 y(28)1959 1627 y(29)1959 1683 y(30)1959
1740 y(31)1959 1796 y(32)1959 1853 y(33)1959 1909 y(34)1959
1966 y(35)1959 2022 y(36)1959 2078 y(37)1959 2135 y(38)1959
2191 y(39)1959 2248 y(40)1959 2304 y(41)1959 2361 y(42)1959
2417 y(43)1959 2474 y(44)1959 2530 y(45)1959 2587 y(46)1959
2643 y(47)1959 2699 y(48)p eop
%%Page: 13 15
13 14 bop 75 -100 a Fg(10.3.)34 b(NEW)15 b(D)o(A)l(T)l(A)l(TYPE)g
(MANIPULA)l(TION)i(FUNCTIONS)574 b Fs(13)75 102 y Fm(CALL)23
b(MPI_COMM_RANK\()f(MPI_COMM_WORLD,)g(MYRANK,)h(IERR\))75
158 y(IF)h(\(MYRANK.EQ.0\))e(THEN)75 214 y(CALL)h(MPI_SEND\()g
(MPI_BOTTOM,)f(1,)i(TYPE,)f(1,)h(0,)f(MPI_COMM_WORLD,)f(IERR\))75
271 y(ELSE)75 327 y(CALL)h(MPI_HANDLE2INT\(TYPE,)e(CODE\))75
384 y(CALL)i(C_ROUTINE\(CODE\))75 440 y(END)g(IF)75 610
y(/*)h(C)f(code)h(*/)75 723 y(void)f(C_ROUTINE\(MPI_Fint)f(*fhandle\))
75 779 y({)75 835 y(void)h(*handle;)75 892 y(MPI_Datatype)f(type;)75
948 y(MPI_Status)g(status;)75 1061 y(type)h(=)h
(\(MPI_Datatype\)MPI_Int2hand)o(le\(fhand)o(le\);)75
1174 y(MPI_Recv\()f(MPI_BOTTOM,)f(1,)i(type,)f(0,)g(0,)h
(MPI_COMM_WORLD,)e(status\);)75 1231 y(})166 1337 y Fs(MPI)17
b(implemen)o(tors)h(ma)o(y)f(w)o(eak)o(en)g(these)h(t)o(yp)q(e)f(matc)o
(hing)h(rules,)g(and)g(allo)o(w)g(messages)e(to)h(b)q(e)75
1393 y(sen)o(t)c(with)g(F)l(ortran)f(t)o(yp)q(es)h(and)g(receiv)o(ed)h
(with)f(C)g(t)o(yp)q(es,)g(and)g(vice)h(v)o(ersa,)e(when)h(those)g(t)o
(yp)q(es)g(matc)o(h.)75 1450 y(I.e.,)g(if)h(the)f(F)l(ortran)f(t)o(yp)q
(e)h Fd(INTEGER)f Fs(is)i(iden)o(tical)h(to)d(the)i(C)e(t)o(yp)q(e)i
Fd(int)p Fs(,)f(then)h(an)f(MPI)g(implemen)o(tation)75
1506 y(ma)o(y)22 b(allo)o(w)g(data)g(to)f(b)q(e)i(sen)o(t)g(with)f
(datat)o(yp)q(e)g Fd(MPI)p 1035 1506 13 2 v 14 w(INTEGER)g
Fs(and)g(b)q(e)h(receiv)o(ed)h(with)e(datat)o(yp)q(e)75
1563 y Fd(MPI)p 152 1563 V 14 w(INT)p Fs(.)15 b(Ho)o(w)o(ev)o(er,)f
(suc)o(h)i(co)q(de)f(is)h(not)f(p)q(ortable.)906 b Fl(>)16
b Fk(\(Oct\))75 1706 y Fp(10.3)59 b(New)20 b(datat)n(yp)r(e)d
(manipulation)i(functions)75 1807 y Fs(New)e(functions)h(are)e(pro)o
(vided)i(to)f(supplemen)o(t)h(the)f(t)o(yp)q(e)g(manipulation)h
(functions)g(that)e(ha)o(v)o(e)h(ad-)75 1864 y(dress)d(sized)i(in)o
(teger)e(argumen)o(ts.)k(The)d(new)f(functions)h(will)h(use,)e(in)h
(their)g(F)l(ortran)e(binding)j(address)75 1920 y(sized)g
Fd(INTEGER)p Fs(s,)d(th)o(us)i(solving)g(problems)g(curren)o(tly)g
(encoun)o(tered)h(when)f(the)g(application)h(address)75
1977 y(range)h(is)i Ff(>)e Fs(2)325 1960 y Fc(32)362
1977 y Fs(.)27 b(Also,)18 b(a)g(new,)g(more)f(con)o(v)o(enien)o(t)h(t)o
(yp)q(e)g(constructor)f(is)h(pro)o(vided)h(to)e(mo)q(dify)h(the)75
2033 y(lo)o(w)o(er)d(b)q(ound)h(and)f(exten)o(t)g(of)g(a)g(datat)o(yp)q
(e.)75 2155 y Fe(10.3.1)49 b(T)l(yp)q(e)17 b(constructo)o(rs)d(with)j
(explicit)g(addresses)75 2241 y Fs(The)11 b(four)f(functions)h(b)q(elo)
o(w)h(supplemen)o(t)f(the)g(four)f(corresp)q(onding)i(t)o(yp)q(e)f
(constructor)e(functions)j(from)75 2297 y Fj(MPI-1)p
Fs(.)18 b(The)c(new)f(functions)g(are)g(synon)o(ymous)g(with)g(the)g
(old)g(functions)h(in)g(C/C++,)f(or)f(on)h(F)l(ortran)75
2354 y(systems)k(where)h(default)h Fd(INTEGER)p Fs(s)e(are)g(address)h
(sized.)29 b(In)19 b(F)l(ortran,)d(they)i(accept)g(argumen)o(ts)f(of)75
2410 y(t)o(yp)q(e)e Fd(INTEGER\(KIND=MPI)p 576 2410 V
13 w(ADDRESS)p 775 2410 V 15 w(SIZE\))p Fs(,)f(wherev)o(er)g(argumen)o
(ts)g(of)g(t)o(yp)q(e)h Fd(MPI)p 1558 2410 V 14 w(Aint)g
Fs(are)f(used)h(in)75 2467 y(C.)i(On)i(F)l(ortran)d(77)i(systems)f
(that)g(do)h(not)f(supp)q(ort)h(the)g(F)l(ortran)f(90)g
Fd(KIND)h Fs(notation,)g(and)g(where)75 2523 y(addresses)c(are)g(64)f
(bits)h(whereas)g(default)h Fd(INTEGER)p Fs(s)e(are)g(32)h(bits,)g
(these)g(argumen)o(ts)f(will)j(b)q(e)e(of)g(t)o(yp)q(e)75
2580 y Fd(INTEGER*8)p Fs(.)19 b(The)c(old)g(functions)h(will)h(con)o
(tin)o(ue)e(to)g(b)q(e)g(pro)o(vided,)h(for)e(p)q(ortabilit)o(y)l(.)21
b(Ho)o(w)o(ev)o(er,)14 b(users)75 2636 y(are)h(encouraged)g(to)g(switc)
o(h)g(to)g(the)g(new)h(functions,)f(in)h(F)l(ortran.)166
2692 y(The)f(new)h(functions)g(are)f(listed)h(b)q(elo)o(w.)-32
46 y Fk(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32 272
y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Page: 14 16
14 15 bop 75 -100 a Fs(14)1110 b Fg(CHAPTER)15 b(10.)35
b(MISCELLANY)75 45 y Fj(MPI)p 160 45 14 2 v 16 w(TYPE)p
293 45 V 17 w(HVECTOR)p 521 45 V 17 w(X\()16 b(count,)g(blo)q
(cklength,)g(stride,)g(oldt)o(yp)q(e,)g(newt)o(yp)q(e\))117
122 y Fn(IN)155 b Fj(count)482 b Fn(n)o(um)o(b)q(er)13
b(of)h(blo)q(c)o(ks)g(\(nonnegativ)o(e)f(in)o(teger\))117
197 y(IN)155 b Fj(blo)q(cklength)371 b Fn(n)o(um)o(b)q(er)16
b(of)h(elemen)o(ts)g(in)f(eac)o(h)i(blo)q(c)o(k)e(\(nonnegativ)o(e)h
(in)o(te-)905 254 y(ger\))117 329 y(IN)155 b Fj(stride)484
b Fn(n)o(um)o(b)q(er)13 b(of)g(b)o(ytes)h(b)q(et)o(w)o(een)h(start)f
(of)f(eac)o(h)h(blo)q(c)o(k)f(\(in)o(teger\))117 404
y(IN)155 b Fj(oldt)o(yp)q(e)450 b Fn(old)13 b(datat)o(yp)q(e)i
(\(handle\))117 479 y(OUT)108 b Fj(newt)o(yp)q(e)433
b Fn(new)15 b(datat)o(yp)q(e)f(\(handle\))75 604 y Fm(int)23
b(MPI)p 245 604 15 2 v 17 w(Type)p 358 604 V 17 w(hvector)p
543 604 V 16 w(x\(int)g(count,)g(int)h(blocklength,)e(MPI)p
1347 604 V 17 w(Aint)h(stride,)393 660 y(MPI)p 468 660
V 17 w(Datatype)g(oldtype,)f(MPI)p 986 660 V 17 w(Datatype)h
(*newtype\))75 747 y(MPI)p 150 747 V 17 w(TYPE)p 263
747 V 16 w(HVECTOR)p 447 747 V 17 w(X\(COUNT,)f(BLOCKLENGTH,)h(STIDE,)g
(OLDTYPE,)f(NEWTYPE,)h(IERROR\))170 803 y(INTEGER)g(COUNT,)g
(BLOCKLENGTH,)g(OLDTYPE,)f(NEWTYPE,)h(IERROR)170 860
y(INTEGER\(KIND=MPI)p 557 860 V 15 w(ADDRESS)p 740 860
V 17 w(SIZE\))g(STRIDE)75 1041 y Fj(MPI)p 160 1041 14
2 v 16 w(TYPE)p 293 1041 V 17 w(HINDEXED)p 537 1041 V
16 w(X\()14 b(count,)h(a)o(rra)o(y)p 843 1041 V 14 w(of)p
894 1041 V 16 w(blo)q(cklengths,)h(a)o(rra)o(y)p 1267
1041 V 15 w(of)p 1319 1041 V 16 w(displacements,)f(oldt)o(yp)q(e,)g
(new-)75 1097 y(t)o(yp)q(e\))117 1174 y Fn(IN)155 b Fj(count)482
b Fn(n)o(um)o(b)q(er)34 b(of)f(blo)q(c)o(ks)h({)g(also)f(n)o(um)o(b)q
(er)h(of)f(en)o(tries)i(in)905 1231 y Fd(a)o(rra)o(y)p
992 1231 13 2 v 15 w(of)p 1041 1231 V 15 w(displacements)19
b Fn(and)f Fd(a)o(rra)o(y)p 1483 1231 V 15 w(of)p 1532
1231 V 14 w(blo)q(cklengths)i Fn(\(in)o(te-)905 1287
y(ger\))117 1362 y(IN)155 b Fj(a)o(rra)o(y)p 416 1362
14 2 v 15 w(of)p 468 1362 V 16 w(blo)q(cklengths)191
b Fn(n)o(um)o(b)q(er)15 b(of)g(elemen)o(ts)h(in)f(eac)o(h)h(blo)q(c)o
(k)g(\(arra)o(y)f(of)g(nonnega-)905 1419 y(tiv)o(e)f(in)o(tegers\))117
1494 y(IN)155 b Fj(a)o(rra)o(y)p 416 1494 V 15 w(of)p
468 1494 V 16 w(displacements)164 b Fn(b)o(yte)14 b(displacemen)o(t)g
(of)f(eac)o(h)h(blo)q(c)o(k)g(\(arra)o(y)g(of)f(in)o(teger\))117
1569 y(IN)155 b Fj(oldt)o(yp)q(e)450 b Fn(old)13 b(datat)o(yp)q(e)i
(\(handle\))117 1644 y(OUT)108 b Fj(newt)o(yp)q(e)433
b Fn(new)15 b(datat)o(yp)q(e)f(\(handle\))75 1769 y Fm(int)23
b(MPI)p 245 1769 15 2 v 17 w(Type)p 358 1769 V 17 w(hindexed)p
567 1769 V 16 w(x\(int)g(count,)g(int)h(*array)p 1133
1769 V 16 w(of)p 1197 1769 V 17 w(blocklengths,)393 1825
y(MPI)p 468 1825 V 17 w(Aint)f(*array)p 748 1825 V 17
w(of)p 813 1825 V 17 w(displacements,)e(MPI)p 1259 1825
V 17 w(Datatype)i(oldtype,)393 1881 y(MPI)p 468 1881
V 17 w(Datatype)g(*newtype\))75 1968 y(MPI)p 150 1968
V 17 w(TYPE)p 263 1968 V 16 w(HINDEXED)p 471 1968 V 16
w(X\(COUNT,)g(ARRAY)p 822 1968 V 17 w(OF)p 887 1968 V
17 w(BLOCKLENGTHS,)f(ARRAY)p 1358 1968 V 16 w(OF)p 1422
1968 V 17 w(DISPLACEMENTS,)393 2024 y(OLDTYPE,)h(NEWTYPE,)g(IERROR\))
170 2081 y(INTEGER)g(COUNT,)g(ARRAY)p 651 2081 V 17 w(OF)p
716 2081 V 17 w(BLOCKLENGTHS\(*\),)e(OLDTYPE,)i(NEWTYPE,)g(IERROR)170
2137 y(INTEGER\(KIND=MPI)p 557 2137 V 15 w(ADDRESS)p
740 2137 V 17 w(SIZE\))g(ARRAY)p 1020 2137 V 16 w(OF)p
1084 2137 V 17 w(DISPLACEMENTS\(*\))1967 46 y Fk(1)1967
103 y(2)1967 159 y(3)1967 215 y(4)1967 272 y(5)1967 328
y(6)1967 385 y(7)1967 441 y(8)1967 498 y(9)1959 554 y(10)1959
611 y(11)1959 667 y(12)1959 724 y(13)1959 780 y(14)1959
836 y(15)1959 893 y(16)1959 949 y(17)1959 1006 y(18)1959
1062 y(19)1959 1119 y(20)1959 1175 y(21)1959 1232 y(22)1959
1288 y(23)1959 1345 y(24)1959 1401 y(25)1959 1457 y(26)1959
1514 y(27)1959 1570 y(28)1959 1627 y(29)1959 1683 y(30)1959
1740 y(31)1959 1796 y(32)1959 1853 y(33)1959 1909 y(34)1959
1966 y(35)1959 2022 y(36)1959 2078 y(37)1959 2135 y(38)1959
2191 y(39)1959 2248 y(40)1959 2304 y(41)1959 2361 y(42)1959
2417 y(43)1959 2474 y(44)1959 2530 y(45)1959 2587 y(46)1959
2643 y(47)1959 2699 y(48)p eop
%%Page: 15 17
15 16 bop 75 -100 a Fg(10.3.)34 b(NEW)15 b(D)o(A)l(T)l(A)l(TYPE)g
(MANIPULA)l(TION)i(FUNCTIONS)574 b Fs(15)75 45 y Fj(MPI)p
160 45 14 2 v 16 w(TYPE)p 293 45 V 17 w(STRUCT)p 486
45 V 17 w(X\(count,)12 b(a)o(rra)o(y)p 776 45 V 14 w(of)p
827 45 V 16 w(blo)q(cklengths,)h(a)o(rra)o(y)p 1197 45
V 15 w(of)p 1249 45 V 16 w(displacements,)g(a)o(rra)o(y)p
1646 45 V 14 w(of)p 1697 45 V 16 w(t)o(yp)q(es,)f(new-)75
102 y(t)o(yp)q(e\))117 179 y Fn(IN)155 b Fj(count)482
b Fn(n)o(um)o(b)q(er)18 b(of)h(blo)q(c)o(ks)g(\(in)o(teger\))g({)g
(also)f(n)o(um)o(b)q(er)h(of)f(en)o(tries)905 235 y(in)c(arra)o(ys)h
Fd(a)o(rra)o(y)p 1167 235 13 2 v 15 w(of)p 1216 235 V
14 w(t)o(yp)q(es)p Fn(,)h Fd(a)o(rra)o(y)p 1432 235 V
15 w(of)p 1481 235 V 14 w(displacements)g Fn(and)e Fd(a)o(r-)905
292 y(ra)o(y)p 959 292 V 15 w(of)p 1008 292 V 15 w(blo)q(cklengths)117
367 y Fn(IN)155 b Fj(a)o(rra)o(y)p 416 367 14 2 v 15
w(of)p 468 367 V 16 w(blo)q(cklength)208 b Fn(n)o(um)o(b)q(er)13
b(of)h(elemen)o(ts)f(in)h(eac)o(h)g(blo)q(c)o(k)g(\(arra)o(y)g(of)f(in)
o(teger\))117 442 y(IN)155 b Fj(a)o(rra)o(y)p 416 442
V 15 w(of)p 468 442 V 16 w(displacements)164 b Fn(b)o(yte)14
b(displacemen)o(t)g(of)f(eac)o(h)h(blo)q(c)o(k)g(\(arra)o(y)g(of)f(in)o
(teger\))117 517 y(IN)155 b Fj(a)o(rra)o(y)p 416 517
V 15 w(of)p 468 517 V 16 w(t)o(yp)q(es)327 b Fn(t)o(yp)q(e)20
b(of)f(elemen)o(ts)g(in)g(eac)o(h)h(blo)q(c)o(k)f(\(arra)o(y)g(of)g
(handles)g(to)905 574 y(datat)o(yp)q(e)14 b(ob)r(jects\))117
649 y(OUT)108 b Fj(newt)o(yp)q(e)433 b Fn(new)15 b(datat)o(yp)q(e)f
(\(handle\))75 773 y Fm(int)23 b(MPI)p 245 773 15 2 v
17 w(Type)p 358 773 V 17 w(struc)p 495 773 V 16 w(xt\(int)g(count,)g
(int)h(*array)p 1085 773 V 16 w(of)p 1149 773 V 17 w(blocklengths,)393
830 y(MPI)p 468 830 V 17 w(Aint)f(*array)p 748 830 V
17 w(of)p 813 830 V 17 w(displacements,)e(MPI)p 1259
830 V 17 w(Datatype)i(*array)p 1635 830 V 16 w(of)p 1699
830 V 17 w(types,)393 886 y(MPI)p 468 886 V 17 w(Datatype)g(*newtype\))
75 972 y(MPI)p 150 972 V 17 w(TYPE)p 263 972 V 16 w(STRUCT)p
423 972 V 17 w(X\(COUNT,)g(ARRAY)p 775 972 V 16 w(OF)p
839 972 V 17 w(BLOCKLENGTHS,)f(ARRAY)p 1310 972 V 17
w(OF)p 1375 972 V 16 w(DISPLACEMENTS,)393 1029 y(ARRAY)p
516 1029 V 17 w(OF)p 581 1029 V 17 w(TYPES,)h(NEWTYPE,)f(IERROR\))170
1085 y(INTEGER)h(COUNT,)g(ARRAY)p 651 1085 V 17 w(OF)p
716 1085 V 17 w(BLOCKLENGTHS\(*\),)e(ARRAY)p 1258 1085
V 17 w(OF)p 1323 1085 V 17 w(TYPES\(*\),)i(NEWTYPE,)170
1142 y(IERROR)170 1198 y(INTEGER\(KIND=MPI)p 557 1198
V 15 w(ADDRESS)p 740 1198 V 17 w(SIZE\))g(ARRAY)p 1020
1198 V 16 w(OF)p 1084 1198 V 17 w(DISPLACEMENTS\(*\),)75
1379 y Fj(MPI)p 160 1379 14 2 v 16 w(ADDRESS)p 378 1379
V 17 w(X\(lo)q(cation,)15 b(address\))117 1456 y Fn(IN)155
b Fj(lo)q(cation)437 b Fn(lo)q(cation)13 b(in)h(caller)f(memory)f(\(c)o
(hoice\))117 1532 y(OUT)108 b Fj(address)449 b Fn(address)15
b(of)f(lo)q(cation)f(\(in)o(teger\))75 1656 y Fm(int)23
b(MPI)p 245 1656 15 2 v 17 w(Address)p 430 1656 V 16
w(x\(void*)g(location,)g(MPI)p 948 1656 V 17 w(Aint)g(*address\))75
1743 y(MPI)p 150 1743 V 17 w(ADDRESS)p 335 1743 V 16
w(X\(LOCATION,)f(ADDRESS,)h(IERROR\))170 1799 y(<type>)g(LOCATION\(*\))
170 1855 y(INTEGER)g(IERROR)170 1912 y(INTEGER\(KIND=MPI)p
557 1912 V 15 w(ADDRESS)p 740 1912 V 17 w(SIZE\))g(ADDRESS)189
2048 y Fi(A)n(dvic)n(e)d(to)h(users.)72 b Fs(Curren)o(t)20
b(F)l(ortran)g(MPI)g(co)q(des)h(will)h(run)f(unmo)q(di\014ed,)i(and)e
(will)h(p)q(ort)189 2105 y(to)f(an)o(y)g(system.)39 b(Ho)o(w)o(ev)o
(er,)22 b(they)g(ma)o(y)f(fail)h(if)g(addresses)g(larger)g(than)f(2)
1558 2088 y Fc(32)1610 2105 y Fl(\000)15 b Fs(1)21 b(are)g(used)189
2161 y(in)f(the)f(program.)31 b(New)19 b(co)q(des)h(should)g(b)q(e)g
(written)f(so)g(that)g(they)g(use)h(the)f(new)h(functions.)189
2218 y(This)e(pro)o(vides)h(compatibilit)o(y)g(with)f(C/C++)g(and)h(a)o
(v)o(oids)e(errors)g(on)h(64)g(bit)g(arc)o(hitectures.)189
2274 y(Ho)o(w)o(ev)o(er,)13 b(suc)o(h)i(newly)g(written)g(co)q(des)g
(ma)o(y)e(need)j(to)e(b)q(e)h(\(sligh)o(tly\))g(rewritten)f(to)g(p)q
(ort)h(to)e(old)189 2330 y(F)l(ortran)k(77)g(en)o(vironmen)o(ts)i(that)
f(do)g(not)g(supp)q(ort)g Fd(KIND)g Fs(declarations.)30
b(\()p Fi(End)18 b(of)i(advic)n(e)f(to)189 2387 y(users.)p
Fs(\))1875 2448 y Fl(?)d Fk(\(Oct\))75 2558 y Fe(10.3.2)49
b(Extent)16 b(and)h(Bounds)f(of)h(Datat)o(yp)q(es)75
2644 y Fs(The)d(follo)o(wing)h(function)g(supplemen)o(ts)h(the)e(three)
g(functions)h Fj(MPI)p 1266 2644 14 2 v 16 w(TYPE)p 1399
2644 V 17 w(UB,)f(MPI)p 1586 2644 V 16 w(TYPE)p 1719
2644 V 17 w(LB)g Fs(and)75 2701 y Fj(MPI)p 160 2701 V
16 w(TYPE)p 293 2701 V 17 w(EXTENT)p Fs(.)h(It)g(also)g(returns)h
(address)f(sized)h(in)o(tegers,)f(in)h(the)f(F)l(ortran)f(binding.)-32
46 y Fk(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32 272
y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Page: 16 18
16 17 bop 75 -100 a Fs(16)1110 b Fg(CHAPTER)15 b(10.)35
b(MISCELLANY)75 45 y Fj(MPI)p 160 45 14 2 v 16 w(GET)p
264 45 V 17 w(EXTENT)p 459 45 V 17 w(X\(datat)o(yp)q(e,)16
b(lb,)f(extent\))117 122 y Fn(IN)155 b Fj(datat)o(yp)q(e)424
b Fn(datat)o(yp)q(e)14 b(to)g(get)g(information)d(on)117
197 y(OUT)108 b Fj(lb)553 b Fn(lo)o(w)o(er)14 b(b)q(ound)g(of)f(datat)o
(yp)q(e)117 273 y(OUT)108 b Fj(extent)471 b Fn(exten)o(t)15
b(of)e(datat)o(yp)q(e)75 397 y Fm(int)23 b(MPI)p 245
397 15 2 v 17 w(Get)p 334 397 V 17 w(extent)p 495 397
V 16 w(x\(MPI)p 631 397 V 17 w(Datatype)g(datatype,)f(MPI)p
1173 397 V 17 w(Aint)h(*lb,)h(MPI)p 1501 397 V 16 w(Aint)g(*extent\))75
483 y(MPI)p 150 483 V 17 w(GET)p 239 483 V 17 w(EXTENT)p
400 483 V 16 w(X\(DATATYPE,)e(LB,)i(EXTENT,)f(IERROR\))170
540 y(INTEGER)g(DATATYPE,)g(IERROR)170 596 y(INTEGER\(KIND)g(=)g(MPI)p
603 596 V 17 w(ADDRESS)p 788 596 V 16 w(SIZE\))h(LB,)f(EXTENT)-117
633 y Fl(>)15 b Fk(\(Oct\))75 683 y Fm(int)23 b(MPI::Datatype::Get)p
605 683 V 15 w(extent)p 764 683 V 17 w(x\(MPI::Aint&)f(lb,)h
(MPI::Aint&)g(extent\))g(const)166 769 y Fs(Returns)16
b(the)f(lo)o(w)o(er)g(b)q(ound)h(and)f(the)g(exten)o(t)g(of)g
Fj(datat)o(yp)q(e)h Fs(\(as)f(de\014ned)h(b)o(y)f(the)h(MPI)f
(standard,)75 826 y(Section)h(3.12.2\).)166 882 y(MPI)21
b(allo)o(ws)h(one)f(to)g(c)o(hange)h(the)f(exten)o(t)g(of)g(a)h(datat)o
(yp)q(e,)g(using)g(lo)o(w)o(er)f(b)q(ound)h(and)g(upp)q(er)75
939 y(b)q(ound)e(mark)o(ers)e(\()p Fd(MPI)p 490 939 13
2 v 14 w(LB)h Fs(and)g Fd(MPI)p 740 939 V 14 w(UB)p Fs(\).)f(This)h(is)
h(useful,)g(as)f(it)g(allo)o(ws)g(to)f(con)o(trol)h(the)g(stride)g(of)
75 995 y(successiv)o(e)e(datat)o(yp)q(es)e(that)g(are)g(replicated)i(b)
o(y)e(datat)o(yp)q(e)g(constructors,)g(or)g(are)g(replicated)i(b)o(y)f
(the)75 1052 y Fj(count)k Fs(argumen)o(t)e(in)i(a)e(send)h(or)g(reciev)
o(e)g(call.)32 b(Ho)o(w)o(ev)o(er,)19 b(the)f(curren)o(t)h(mec)o
(hanism)h(for)e(ac)o(hieving)75 1108 y(it)h(is)h(painful;)i(also)d(it)h
(is)f(restrictiv)o(e,)i(as)d Fd(MPI)p 906 1108 V 15 w(LB)h
Fs(and)g Fd(MPI)p 1157 1108 V 14 w(UB)g Fs(are)f(\\stic)o(ky":)28
b(once)19 b(presen)o(t)g(in)h(a)75 1165 y(datat)o(yp)q(e,)d(they)h
(cannot)g(b)q(e)g(o)o(v)o(eriden)g(\(e.g.,)f(the)h(upp)q(er)h(b)q(ound)
f(can)g(b)q(e)g(mo)o(v)o(ed)g(up,)g(b)o(y)g(adding)g(a)75
1221 y(new)13 b Fd(MPI)p 243 1221 V 14 w(UB)g Fs(mark)o(er,)f(but)h
(cannot)g(b)q(e)g(mo)o(v)o(ed)g(do)o(wn)f(b)q(elo)o(w)i(an)f(existing)h
Fj(MPI)p 1474 1221 14 2 v 15 w(UB)g Fs(mark)o(er\).)k(A)13
b(new)-1992 b Fl(>)15 b Fk(\(Oct\))75 1277 y Fs(t)o(yp)q(e)g
(constructor)g(is)g(pro)o(vided)h(to)f(facilitate)h(these)f(c)o
(hanges.)75 1428 y Fj(MPI)p 160 1428 V 16 w(TYPE)p 293
1428 V 17 w(RESIZED)p 492 1428 V 16 w(X\(oldt)o(yp)q(e,)h(lb,)f
(extent,)i(newt)o(yp)q(e\))117 1506 y Fn(IN)155 b Fj(oldt)o(yp)q(e)450
b Fn(input)14 b(datat)o(yp)q(e)g(\(handle\))117 1581
y(IN)155 b Fj(lb)553 b Fn(new)15 b(lo)o(w)o(er)e(b)q(ound)h(of)f(datat)
o(yp)q(e)h(\(in)o(teger\))117 1656 y(IN)155 b Fj(extent)471
b Fn(new)15 b(exten)o(t)f(of)g(datat)o(yp)q(e)g(\(in)o(teger\))117
1731 y(OUT)108 b Fj(newt)o(yp)q(e)433 b Fn(output)14
b(datat)o(yp)q(e)g(\(handle\))75 1855 y Fm(int)23 b(MPI)p
245 1855 15 2 v 17 w(Type)p 358 1855 V 17 w(resized)p
543 1855 V 16 w(x\(MPI)p 679 1855 V 17 w(Datatype)f(oldtype,)h(MPI)p
1197 1855 V 17 w(Aint)g(lb,)h(MPI)p 1501 1855 V 16 w(Aint)g(extent,)393
1912 y(MPI)p 468 1912 V 17 w(Datatype)f(*newtype\))75
1998 y(MPI)p 150 1998 V 17 w(TYPE)p 263 1998 V 16 w(RESIZED)p
447 1998 V 17 w(X\(OLDTYPE,)f(LB,)i(EXTENT,)e(NEWTYPE,)h(IERROR\))170
2055 y(INTEGER)g(DATATYPE,)g(NEWTYPE,)g(IERROR)170 2111
y(INTEGER\(KIND=MPI)p 557 2111 V 15 w(ADDRESS)p 740 2111
V 17 w(SIZE\))g(LB,)g(EXTENT)75 2198 y(int)g(MPI::Datatype::Resized)p
701 2198 V 15 w(x\(const)g(MPI::Datatype&)e(type,)j(const)f(MPI::Aint&)
393 2254 y(lb,)h(const)f(MPI::Aint&)f(extent\))-117 2290
y Fl(?)15 b Fk(\(Oct\))166 2341 y Fs(Returns)f(in)g Fj(newt)o(yp)q(e)i
Fs(a)d(handle)i(to)e(a)g(new)h(datat)o(yp)q(e)f(that)g(is)h(iden)o
(tical)h(to)e Fj(oldt)o(yp)q(e)p Fs(,)i(except)f(that)75
2397 y(the)k(lo)o(w)o(er)f(b)q(ound)i(of)e(this)h(new)g(datat)o(yp)q(e)
g(is)g(set)f(to)g(b)q(e)i Fj(lb)p Fs(,)f(and)g(its)g(upp)q(er)h(b)q
(ound)f(is)h(set)e(to)g(b)q(e)i Fj(lb)75 2454 y Fs(+)h
Fj(extent)p Fs(.)34 b(This)20 b(is)g(as)f(if)h(an)o(y)f(previous)h
Fh(lb)g Fs(and)g Fh(ub)f Fs(mark)o(ers)g(w)o(ere)g(erased,)h(and)g(a)f
(new)h(pair)f(of)-1992 b Fl(>)15 b Fk(\(Oct\))75 2510
y Fs(lo)o(w)o(er)i(b)q(ound)i(and)f(upp)q(er)h(b)q(ound)f(mark)o(ers)f
(w)o(ere)h(put)g(in)g(the)g(p)q(ositions)h(indicated)g(b)o(y)f(the)g
Fj(lb)g Fs(and)75 2566 y Fj(extent)g Fs(argumen)o(ts.)24
b(This)17 b(a\013ects)f(the)h(b)q(eha)o(vior)h(of)e(the)h(datat)o(yp)q
(e)f(when)h(used)h(in)f(comm)o(unication)75 2623 y(op)q(erations,)e
(with)h Fj(count)g Ff(>)d Fs(1,)h(and)i(when)g(used)f(in)h(the)g
(construction)f(of)g(new)g(deriv)o(ed)i(datat)o(yp)q(es.)1967
46 y Fk(1)1967 103 y(2)1967 159 y(3)1967 215 y(4)1967
272 y(5)1967 328 y(6)1967 385 y(7)1967 441 y(8)1967 498
y(9)1959 554 y(10)1959 611 y(11)1959 667 y(12)1959 724
y(13)1959 780 y(14)1959 836 y(15)1959 893 y(16)1959 949
y(17)1959 1006 y(18)1959 1062 y(19)1959 1119 y(20)1959
1175 y(21)1959 1232 y(22)1959 1288 y(23)1959 1345 y(24)1959
1401 y(25)1959 1457 y(26)1959 1514 y(27)1959 1570 y(28)1959
1627 y(29)1959 1683 y(30)1959 1740 y(31)1959 1796 y(32)1959
1853 y(33)1959 1909 y(34)1959 1966 y(35)1959 2022 y(36)1959
2078 y(37)1959 2135 y(38)1959 2191 y(39)1959 2248 y(40)1959
2304 y(41)1959 2361 y(42)1959 2417 y(43)1959 2474 y(44)1959
2530 y(45)1959 2587 y(46)1959 2643 y(47)1959 2699 y(48)p
eop
%%Page: 17 19
17 18 bop 75 -100 a Fg(10.3.)34 b(NEW)15 b(D)o(A)l(T)l(A)l(TYPE)g
(MANIPULA)l(TION)i(FUNCTIONS)574 b Fs(17)189 45 y Fi(A)n(dvic)n(e)14
b(to)i(users.)40 b Fs(It)14 b(is)h(strongly)f(recommended)i(that)e
(users)g(use)h(these)g(t)o(w)o(o)e(new)i(functions,)189
102 y(rah)o(ter)h(than)h(the)g(old)g(MPI)h(functions)f(to)g(set)g(and)g
(access)g(lo)o(w)o(er)g(b)q(ound,)h(upp)q(er)g(b)q(ound)g(and)189
158 y(exten)o(t)d(of)f(datat)o(yp)q(es.)20 b(\()p Fi(End)15
b(of)i(advic)n(e)f(to)g(users.)p Fs(\))1875 211 y Fl(>)g
Fk(\(Oct\))75 320 y Fe(10.3.3)49 b(T)l(rue)16 b(Extent)g(of)g(Datat)o
(yp)q(es)75 406 y Fs(Supp)q(ose)22 b(w)o(e)f(implemen)o(t)h(gather)f
(as)f(a)h(spanning)h(tree)f(implemen)o(ted)i(on)e(top)g(of)f(p)q(oin)o
(t-to-p)q(oin)o(t)75 462 y(routines.)f(Since)11 b(the)g(recv)f
(bu\013er)g(is)h(only)g(v)m(alid)h(on)e(the)h(ro)q(ot)e(pro)q(cess,)i
(one)g(will)g(need)h(to)d(allo)q(cate)i(some)75 519 y(temp)q(orary)i
(space)i(for)e(receiving)j(data)d(on)h(in)o(termediate)h(no)q(des.)20
b(The)14 b(di\016cultly)i(is)f(in)f(determining)75 575
y(the)21 b(size)h(one)f(needs)h(to)f(allo)q(cate.)38
b(This)21 b(o)q(ccurs)h(since)g(the)f(user)g(can)h(mo)q(dify)f(the)g
(exten)o(t)g(using)75 632 y(the)h Fd(MPI)p 237 632 13
2 v 14 w(UB)g Fs(and)g Fd(MPI)p 500 632 V 14 w(LB)g Fs(v)m(alues.)42
b(The)22 b(writer)g(of)f(the)i(gather)e(routine)h(could)h(determine)h
(this)75 688 y(information)16 b(b)o(y)g(deco)q(ding)i(the)e(datat)o(yp)
q(e.)21 b(Ho)o(w)o(ev)o(er,)15 b(this)i(is)f(more)g(w)o(ork)f(and)h
(more)g(painful)h(than)75 745 y(desired.)k(Th)o(us,)15
b(a)g(new)g(function)h(is)g(pro)o(vided)g(whic)o(h)g(returns)f(the)g
(true)g(exten)o(t)g(of)g(the)g(datat)o(yp)q(e.)75 895
y Fj(MPI)p 160 895 14 2 v 16 w(TRUE)p 294 895 V 17 w(EXTENT)p
489 895 V 17 w(X\(datat)o(yp)q(e,)h(true)p 821 895 V
17 w(lb,)f(true)p 975 895 V 17 w(extent\))117 973 y Fn(IN)155
b Fj(datat)o(yp)q(e)424 b Fn(datat)o(yp)q(e)14 b(to)g(get)g
(information)d(on)117 1047 y(OUT)108 b Fj(true)p 396
1047 V 17 w(lb)461 b Fn(true)15 b(lo)o(w)o(er)e(b)q(ound)h(of)g(datat)o
(yp)q(e)117 1121 y(OUT)108 b Fj(true)p 396 1121 V 17
w(extent)379 b Fn(true)15 b(size)g(of)e(datat)o(yp)q(e)75
1245 y Fm(int)23 b(MPI)p 245 1245 15 2 v 17 w(True)p
358 1245 V 17 w(extent)p 519 1245 V 16 w(x\(MPI)p 655
1245 V 17 w(Datatype)f(datatype,)h(MPI)p 1197 1245 V
17 w(Aint)g(*true)p 1453 1245 V 17 w(lb,)g(MPI)p 1637
1245 V 17 w(Aint)393 1301 y(*true)p 516 1301 V 17 w(extent\))75
1388 y(MPI)p 150 1388 V 17 w(TRUE)p 263 1388 V 16 w(EXTENT)p
423 1388 V 17 w(X\(DATATYPE,)f(TRUE)p 822 1388 V 17 w(LB,)h(TRUE)p
1030 1388 V 17 w(EXTENT,)g(IERROR\))170 1444 y(INTEGER)g(DATATYPE,)g
(IERROR)170 1501 y(INTGER\(KIND)g(=)h(MPI)p 580 1501
V 16 w(ADDRESS)p 764 1501 V 17 w(SIZE\))f(TRUE)p 1020
1501 V 16 w(LB,)h(TRUE)p 1228 1501 V 16 w(EXTENT)1875
1537 y Fl(>)16 b Fk(\(Oct\))75 1587 y Fm(int)23 b(MPI::Datatype::True)p
629 1587 V 15 w(extent)p 788 1587 V 16 w(x\(MPI::Aint&)g(true)p
1211 1587 V 16 w(lb,)h(MPI::Aint&)e(true)p 1681 1587
V 17 w(extent\))393 1644 y(const)166 1730 y Fj(true)p
244 1730 14 2 v 17 w(lb)14 b Fs(returns)f(the)g(o\013set)g(of)g(the)g
(lo)o(w)o(est)g(unit)h(of)f(store)g(whic)o(h)h(is)g(addressed)g(b)o(y)f
(the)h(datat)o(yp)q(e,)75 1787 y(i.e.,)j(the)g(lo)o(w)o(er)f(b)q(ound)i
(of)f(the)g(corresp)q(onding)h(t)o(yp)q(emap,)e(ignoring)i
Fd(MPI)p 1391 1787 13 2 v 14 w(LB)f Fs(mark)o(ers.)24
b Fj(true)p 1743 1787 14 2 v 17 w(extent)75 1843 y Fs(returns)12
b(the)h(true)f(size)h(of)f(the)g(datat)o(yp)q(e,)g(i.e.,)h(the)f(exten)
o(t)g(of)g(the)h(corresp)q(onding)g(t)o(yp)q(emap,)f(ignoring)75
1900 y Fd(MPI)p 152 1900 13 2 v 14 w(LB)17 b Fs(and)h
Fj(MPI)p 407 1900 14 2 v 16 w(UB)f Fs(mark)o(ers,)f(and)i(p)q
(erforming)f(no)g(rounding)h(for)e(alignmen)o(t.)27 b(If)17
b(the)g(t)o(yp)q(emap)75 1956 y(asso)q(ciated)e(with)h
Fj(datat)o(yp)q(e)h Fs(is)189 2044 y Ff(T)6 b(y)r(pemap)12
b Fs(=)h Fl(f)p Fs(\()p Ff(ty)r(pe)562 2051 y Fc(0)581
2044 y Ff(;)8 b(disp)686 2051 y Fc(0)705 2044 y Fs(\))p
Ff(;)g(:)g(:)g(:)t(;)g Fs(\()p Ff(ty)r(pe)926 2051 y
Fb(n)p Fa(\000)p Fc(1)994 2044 y Ff(;)g(disp)1099 2051
y Fb(n)p Fa(\000)p Fc(1)1166 2044 y Fs(\))p Fl(g)75 2132
y Fs(Then)189 2219 y Ff(tr)q(ue)p 277 2219 V 16 w(l)q(b)p
Fs(\()p Ff(T)e(y)r(pemap)p Fs(\))11 b(=)i Ff(min)691
2226 y Fb(j)709 2219 y Fl(f)p Ff(disp)816 2226 y Fb(j)861
2219 y Fs(:)28 b Ff(ty)r(pe)986 2226 y Fb(j)1017 2219
y Fl(6)p Fs(=)13 b Fh(lb)p Fl(g)p Ff(;)189 2317 y(tr)q(ue)p
277 2317 V 16 w(ub)p Fs(\()p Ff(T)6 b(y)r(pemap)p Fs(\))12
b(=)g Ff(max)709 2324 y Fb(j)728 2317 y Fl(f)p Ff(disp)835
2324 y Fb(j)862 2317 y Fs(+)f Ff(siz)r(eof)5 b Fs(\()p
Ff(ty)r(pe)1140 2324 y Fb(j)1158 2317 y Fs(\))28 b(:)f
Ff(ty)r(pe)1328 2324 y Fb(j)1360 2317 y Fl(6)p Fs(=)13
b Fh(ub)p Fl(g)p Ff(;)75 2415 y Fs(and)189 2503 y Ff(tr)q(ue)p
277 2503 V 16 w(extent)p Fs(\()p Ff(T)6 b(y)r(pemap)p
Fs(\))13 b(=)g Ff(tr)q(ue)p 790 2503 V 17 w(ub)p Fs(\()p
Ff(T)6 b(y)r(pemap)p Fs(\))j Fl(\000)h Ff(tr)q(ue)p 1216
2503 V 17 w(l)q(b)p Fs(\()p Ff(ty)r(pemap)p Fs(\))p Ff(:)75
2591 y Fs(\(Compares)k(this)i(with)f(the)h(de\014nitions)h(in)f
(Section)g(3.12.3)d(of)i(the)g(MPI)g(standard.\))166
2647 y(The)25 b Fj(true)p 347 2647 V 17 w(extent)h Fs(is)e(the)h(minim)
o(um)g(n)o(um)o(b)q(er)g(of)f(b)o(ytes)g(of)g(memory)g(necessary)g(to)g
(hold)h(a)75 2704 y(datat)o(yp)q(e)15 b(\(uncompressed\).)1285
b Fl(?)16 b Fk(\(Oct\))-32 46 y(1)-32 103 y(2)-32 159
y(3)-32 215 y(4)-32 272 y(5)-32 328 y(6)-32 385 y(7)-32
441 y(8)-32 498 y(9)-40 554 y(10)-40 611 y(11)-40 667
y(12)-40 724 y(13)-40 780 y(14)-40 836 y(15)-40 893 y(16)-40
949 y(17)-40 1006 y(18)-40 1062 y(19)-40 1119 y(20)-40
1175 y(21)-40 1232 y(22)-40 1288 y(23)-40 1345 y(24)-40
1401 y(25)-40 1457 y(26)-40 1514 y(27)-40 1570 y(28)-40
1627 y(29)-40 1683 y(30)-40 1740 y(31)-40 1796 y(32)-40
1853 y(33)-40 1909 y(34)-40 1966 y(35)-40 2022 y(36)-40
2078 y(37)-40 2135 y(38)-40 2191 y(39)-40 2248 y(40)-40
2304 y(41)-40 2361 y(42)-40 2417 y(43)-40 2474 y(44)-40
2530 y(45)-40 2587 y(46)-40 2643 y(47)-40 2699 y(48)p
eop
%%Page: 18 20
18 19 bop 75 -100 a Fs(18)1110 b Fg(CHAPTER)15 b(10.)35
b(MISCELLANY)75 45 y Fp(10.4)59 b(Continuable)19 b(Erro)n(rs)75
147 y Fs(T)o(ypically)l(,)j(MPI)d(sa)o(ys)g(nothing)h(ab)q(out)g(the)f
(in)o(ternal)h(state)f(of)g(itself)i(after)d(an)i(error)f(handler)h
(has)75 203 y(b)q(een)14 b(in)o(v)o(ok)o(ed.)20 b(There)13
b(are)g(a)g(n)o(um)o(b)q(er)g(of)g(error)f(classes)i(within)g(MPI)f
(that)g(should)h(ha)o(v)o(e)f(no)g(negativ)o(e)75 259
y(impact)19 b(on)f(the)g(in)o(ternal)h(state)f(of)g(MPI.)g(That)g(is)g
(to)g(sa)o(y)l(,)g(if)h(one)g(of)e(the)i("con)o(tin)o(uable")g(errors)e
(is)75 316 y(detected)g(and)h(no)e(other)h(external)g(ev)o(en)o(ts)g
(cause)g(degradation,)g(it)g(is)g(safe)g(to)f(con)o(tin)o(ue)h(using)h
(MPI)75 372 y(within)e(an)g(application.)166 429 y(The)f("con)o(tin)o
(uable")h(error)f(classes)g(are:)75 535 y Fm(MPI_ERR_BUFFER)237
b(/*)23 b(invalid)g(buffer)g(pointer)g(*/)75 592 y(MPI_ERR_COUNT)261
b(/*)23 b(invalid)g(count)g(argument)g(*/)75 648 y(MPI_ERR_TYPE)285
b(/*)23 b(invalid)g(datatype)g(argument)g(*/)75 704 y(MPI_ERR_TAG)309
b(/*)23 b(invalid)g(tag)h(argument)e(*/)75 761 y(MPI_ERR_COMM)285
b(/*)23 b(invalid)g(communicator)f(*/)75 817 y(MPI_ERR_KEYVAL)237
b(/*)23 b(invalid)g(key)h(value)f(*/)75 874 y(MPI_ERR_ROOT)285
b(/*)23 b(invalid)g(root)h(*/)75 930 y(MPI_ERR_RANK)285
b(/*)23 b(invalid)g(rank)h(*/)75 987 y(MPI_ERR_GROUP)261
b(/*)23 b(invalid)g(group)g(*/)75 1043 y(MPI_ERR_TOPOLOGY)189
b(/*)23 b(invalid)g(topology)g(*/)75 1100 y(MPI_ERR_DIMS)285
b(/*)23 b(invalid)g(dimension)g(argument)g(*/)75 1156
y(MPI_ERR_ARG)309 b(/*)23 b(invalid)g(argument)g(*/)75
1262 y Fs(The)13 b(follo)o(wing)h(errors)f(pro)o(vide)g(no)g(guaran)o
(tees,)g(although)g(implemen)o(tors)h(are)f(encouraged)g(to)f(mak)o(e)
75 1319 y(errors)i("con)o(tin)o(uable")i(whenev)o(er)g(p)q(ossible:)75
1413 y Fm(MPI_ERR_OP)333 b(/*)23 b(invalid)g(operation)g(*/)75
1469 y(MPI_ERR_REQUEST)213 b(/*)23 b(invalid)g(request)g(handle)g(*/)75
1526 y(MPI_ERR_UNKNOWN)213 b(/*)23 b(unknown)g(error)g(*/)75
1582 y(MPI_ERR_TRUNCATE)189 b(/*)23 b(message)g(truncated)g(on)g
(receive)g(*/)75 1638 y(MPI_ERR_OTHER)261 b(/*)23 b(Other)g(error)h(*/)
75 1695 y(MPI_ERR_INTERN)237 b(/*)23 b(internal)g(MPI)h(error)f(*/)75
1751 y(MPI_ERR_IN_STATUS)165 b(/*)23 b(error)g(code)h(is)f(in)h(status)
f(*/)75 1808 y(MPI_ERR_PENDING)213 b(/*)23 b(pending)g(request)g(*/)75
1864 y(MPI_ERR_SYSRESOURCE)117 b(/*)23 b(out)h(of)f(system)g(resources)
g(*/)h(/*)f(where)g(in)h(MPI?)f(*/)166 1958 y Fs(W)l(e)12
b(also)f(pro)o(vide)i(the)e(function)i(to)e(indicate)i(whether)f(MPI)g
(b)q(eliev)o(es)h(an)f(error)f(is)h("con)o(tin)o(uable")75
2015 y(or)j(not:)75 2166 y Fj(MPI)p 160 2166 14 2 v 16
w(ERR)p 261 2166 V 17 w(IS)p 316 2166 V 16 w(CONTINUABLE)h(\(erro)o(r,)
d(\015ag\))117 2243 y Fn(IN)155 b Fj(Erro)o(r)490 b Fn(MPI)14
b(Error)h(Status)f(\(actual)g(status)h(or)f(a)f(class\))117
2318 y(OUT)108 b Fj(Flag)505 b Fn(Bo)q(olean)13 b(indication)f(of)h
(whether)h(the)g(implemen)o(tation)c(al-)905 2374 y(lo)o(ws)19
b(safe)h(con)o(tin)o(ued)g(op)q(eration)g(in)f(the)i(ev)o(en)o(t)f(of)f
(Error)905 2431 y(b)q(eing)14 b(encoun)o(tered)75 2555
y Fm(int)23 b(MPI)p 245 2555 15 2 v 17 w(Err)p 334 2555
V 17 w(is)p 399 2555 V 17 w(continuable\()f(int)i(error,)f(int)g(*flag)
g(\))75 2642 y(MPI)p 150 2642 V 17 w(ERR)p 239 2642 V
17 w(IS)p 304 2642 V 16 w(CONTINUABLE\()g(ERROR,)g(FLAG,)g(IERROR)g(\))
170 2698 y(INTEGER)g(ERROR,)g(IERROR)1967 46 y Fk(1)1967
103 y(2)1967 159 y(3)1967 215 y(4)1967 272 y(5)1967 328
y(6)1967 385 y(7)1967 441 y(8)1967 498 y(9)1959 554 y(10)1959
611 y(11)1959 667 y(12)1959 724 y(13)1959 780 y(14)1959
836 y(15)1959 893 y(16)1959 949 y(17)1959 1006 y(18)1959
1062 y(19)1959 1119 y(20)1959 1175 y(21)1959 1232 y(22)1959
1288 y(23)1959 1345 y(24)1959 1401 y(25)1959 1457 y(26)1959
1514 y(27)1959 1570 y(28)1959 1627 y(29)1959 1683 y(30)1959
1740 y(31)1959 1796 y(32)1959 1853 y(33)1959 1909 y(34)1959
1966 y(35)1959 2022 y(36)1959 2078 y(37)1959 2135 y(38)1959
2191 y(39)1959 2248 y(40)1959 2304 y(41)1959 2361 y(42)1959
2417 y(43)1959 2474 y(44)1959 2530 y(45)1959 2587 y(46)1959
2643 y(47)1959 2699 y(48)p eop
%%Page: 19 21
19 20 bop 75 -100 a Fg(10.5.)34 b(NEW)15 b(ELEMENT)l(AR)l(Y)h(D)o(A)l
(T)l(A)l(TYPES)883 b Fs(19)170 45 y Fm(LOGICAL)23 b(FLAG)75
132 y(static)g(int)g(MPI::Err)p 532 132 15 2 v 17 w(is)p
597 132 V 16 w(continuable\()g(int)g(error,)g(bool&)g(flag)h(\))1875
172 y Fl(>)16 b Fk(\(Oct\))166 218 y Fs(There)c(is)h(a)f(new,)h(con)o
(tin)o(uable)g(error)f(class,)h Fj(MPI)p 1026 218 14
2 v 16 w(ERR)p 1127 218 V 17 w(W)o(OULDBLOCK)p Fs(.)f(This)g(error)g
(class)h(ma)o(y)75 274 y(b)q(e)j(used)g(b)o(y)g(a)f(non-blo)q(c)o(king)
i(function)f(to)f(inform)h(the)f(caller)i(that)e(the)g(op)q(eration)h
(cannot)f(pro)q(ceed)75 331 y(without)g(blo)q(c)o(king.)22
b(When)15 b(this)h(error)e(is)i(returned,)f(the)h(state)e(of)h(the)g
(application)i(is)f(equiv)m(alen)o(t)h(to)75 387 y(the)e(one)h(prior)f
(to)g(the)g(function)h(call.)166 444 y(An)d(implemen)o(tation)h(is)f
(not)g(required)g(to)f(use)i(this)f(error)f(class,)h(but)g(if)g(it)g
(do)q(es,)g(it)g(m)o(ust)f(pro)o(vide)75 500 y(the)j(functionalit)o(y)i
(describ)q(ed.)166 604 y Fo(Discussion:)33 b Fn(What)13
b(do)q(es)h(it)f(mean)f(when)i(a)f(con)o(tin)o(uable)f(error)j(o)q
(ccurs)f(in)f(a)g(collectiv)o(e)g(op)q(eration?)166 708
y Fs(There)k(is)g(a)f(prede\014ned)i(error)e(handler)h
Fj(MPI)p 969 708 V 16 w(CONT)p 1110 708 V 17 w(ERRORS)p
1299 708 V 18 w(RETURN)p Fs(,)h(whic)o(h)f(allo)o(ws)g(con-)75
764 y(tin)o(uable)e(erorrs)e(to)f(return)i(error)f(co)q(des)h(and)f
(non-con)o(tin)o(uable)j(errors)c(to)h(ab)q(ort.)19 b(The)14
b(default)g(error)75 821 y(handler)i(is)g Fj(MPI)p 370
821 V 16 w(ERRORS)p 558 821 V 18 w(ARE)p 662 821 V 17
w(F)l(A)l(T)l(AL)p Fs(.)75 927 y Fh(Example)i(10.11)118
b Fm(MPI_Errhandler_set\(MPI_COMM)o(_WORLD,)20 b
(MPI_CONT_ERRORS_RETURN\);)170 983 y(err)k(=)g(MPI_Isend\()e(...)i(,)f
(&req\);)170 1040 y(if)h(\()g(err)f(!=)h(MPI_SUCCESS\))e({)266
1096 y(MPI_Error_class\(err,&clas)o(s\);)266 1153 y(if)h(\(class)h(==)f
(MPI_ERR_WOULDBLOCK\))e({)361 1209 y(MPI_Send\()i(...)g(\);)266
1266 y(else)361 1322 y(...)266 1379 y(})170 1435 y(})1875
1489 y Fl(?)16 b Fk(\(Oct\))75 1628 y Fp(10.5)59 b(New)20
b(Elementa)n(ry)e(Datat)n(yp)r(es)75 1777 y Fo(Discussion:)34
b Fn(Do)13 b(w)o(e)h(need)h Fd(MPI)p 644 1777 13 2 v
14 w(W)o(CHAR)p Fn(,)e(to)h(tak)o(e)g(care)h(of)e(Unico)q(de?)-32
46 y Fk(1)-32 103 y(2)-32 159 y(3)-32 215 y(4)-32 272
y(5)-32 328 y(6)-32 385 y(7)-32 441 y(8)-32 498 y(9)-40
554 y(10)-40 611 y(11)-40 667 y(12)-40 724 y(13)-40 780
y(14)-40 836 y(15)-40 893 y(16)-40 949 y(17)-40 1006
y(18)-40 1062 y(19)-40 1119 y(20)-40 1175 y(21)-40 1232
y(22)-40 1288 y(23)-40 1345 y(24)-40 1401 y(25)-40 1457
y(26)-40 1514 y(27)-40 1570 y(28)-40 1627 y(29)-40 1683
y(30)-40 1740 y(31)-40 1796 y(32)-40 1853 y(33)-40 1909
y(34)-40 1966 y(35)-40 2022 y(36)-40 2078 y(37)-40 2135
y(38)-40 2191 y(39)-40 2248 y(40)-40 2304 y(41)-40 2361
y(42)-40 2417 y(43)-40 2474 y(44)-40 2530 y(45)-40 2587
y(46)-40 2643 y(47)-40 2699 y(48)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF