Subject: Context chapter (new revision) [ps]

From: Tony Skjellum <[email-masked]>
Date: Wed, 23 Jun 93 08:33:00 CDT

Here is the postscript of our chapter, revisions to follow as meeting
progresses... - Tony
------------------------------------------------------------------------
%!PS-Adobe-2.0
%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
%%Title: unify1.dvi
%%Pages: 9 1
%%BoundingBox: 0 0 612 792
%%EndComments
%%BeginProcSet: tex.pro
/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 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}N /eop{clear SI restore
showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
known{start-hook}if /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}N /p /show load 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 statusdict begin /product where{pop product dup length 7 ge{0
7 getinterval(Display)eq}{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 /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{clear SS restore}B end
%%EndProcSet
TeXDict begin 1000 300 300 @start /Fa 15 86 df<FFF800FFFE00FFFF001C0F001C0380
1C03801C03801C03801C07001C3F001FFE001FFE001FFF001C07001C03801C03801C03801C0380
1C07801C0F00FFFF00FFFE00FFFC001117809614>66 D<07E60FFE1FFE3E3E3C1E780E700EF00E
E000E000E000E000E000E000E000F00E700E780E3C1E3E3C1FF80FF807E00F177E9614>I<FFFF
80FFFF80FFFF801C03801C03801C03801C03801C00001C38001C38001FF8001FF8001FF8001C38
001C38001C00001C01C01C01C01C01C01C01C0FFFFC0FFFFC0FFFFC01217809614>69
D<07E6000FFE001FFE003E3E003C1E00780E00700E00F00E00E00000E00000E00000E00000E07F
80E07F80E07F80F00E00700E00781E003C1E003E3E001FFE000FFE0007EE0011177F9614>71
D<FFFEFFFEFFFE0380038003800380038003800380038003800380038003800380038003800380
0380FFFEFFFEFFFE0F177E9614>73 D<FE7FFE7FFE7F383C387838F038F039E03BC03B803FC03F
C03FE03EE03CF0387038783838383C383CFE3FFE3FFE3F10177F9614>75
D<FFC000FFC000FFC0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00
001C00001C00001C00001C03801C03801C03801C0380FFFF80FFFF80FFFF8011177F9614>I<FE
0FE0FE0FE0FE0FE03B1B803B1B803B1B803B1B803BBB803BBB8039B38039B38039B38039F38038
E38038E380380380380380380380380380380380FE0FE0FE0FE0FE0FE01317809614>I<FE3F80
FE3F80FE3F803B0E003B0E003B0E003B0E003B8E00398E00398E0039CE0039CE0039CE0038CE00
38CE0038EE00386E00386E00386E00386E00FE3E00FE3E00FE3E0011177F9614>I<1FF07FFC7F
FC701CF01EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EF01E783C7FFC7FFC
1FF00F177E9614>I<FFF800FFFE00FFFF001C0F001C07801C03801C03801C03801C03801C0780
1C0F001FFF001FFE001FF8001C00001C00001C00001C00001C00001C0000FF8000FF8000FF8000
1117809614>I<FFE000FFF000FFF800383C00381E00380E00380E00380E00381E00383C003FF8
003FF0003FF800387C00381C00381C00381C00381C00381DC0381DC0FE1FC0FE0FC0FE07801217
7F9614>82 D<0FCC3FFC7FFCF87CF03CE01CE01CF000F8007F003FE01FF801FC003C001E000EE0
0EE00EF01EF83CFFFCFFF8CFE00F177E9614>I<FFFF80FFFF80FFFF80E1C380E1C380E1C380E1
C38001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001
C0000FF8000FF8000FF80011177F9614>I<FF8FF8FF8FF8FF8FF81C01C01C01C01C01C01C01C0
1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01E03C00E03800F8F80
07FF0003FE0000F8001517819614>I E /Fb 3 104 df<7078F87005047C830C>46
D<03F00FF81E38381878387078FFF0FFC0E000E000E000E018E03870F03FE01F800D107C8F12>
101 D<00FB8003FF80079F800E0F001E07001C0F003C0F00380E00380E00381E00381E00381C00
383C003CFC001FFC000FB800003800007800007800E0F000E1F000FFC000FF000011177E8F12>
103 D E /Fc 1 59 df<F0F0F0F004047D830B>58 D E /Fd 36 119 df<001F0000003F800000
7B80000071800000E1800000E1800000E1800000C3800001C7000001CE000001DE000001FC1FF8
01F81FF801E0078001E0070007E006000FE00E001EF01C003C7038007878300078787000F03CE0
00F01FC000F01F8000F00F0060F80F80C07C7FE1C03FF1FF801FC07E001D1D7D9C20>38
D<7FF0FFE0FFE00C037F890E>45 D<7878F8F87005057D840C>I<00FE0003FF800787C00E03E0
0F01E00F01E01F01E01F01E00F01E00001E00003C00007C0000780000F00001E00003C00007800
00F00001E00003C0000701800E01801C03003803007FFF00FFFE00FFFE00131B7E9A15>50
D<00FE0003FF00078F800F07C00F03C00F03C00F0780000780000F80001F00003E0003FC0003F8
00001C00000E00000F00000F00000F00000F00780F00F80F00F81F00F81E00F03C00F07C007FF0
001FC000121B7D9A15>I<07018007FF8007FF0007FC000600000E00000C00000C00000C00000C
00000DF8001FFE001F1E001C0F00180700000700000780000F80000F00F00F00F00F00F01F00F0
1E00E03C0070F8007FF0001FC000111B7D9A15>53 D<1800003FFFC03FFFC03FFFC07003806007
00600E00C00C00001C0000380000700000E00000C00001C0000380000380000780000700000F00
000F00000E00001E00001E00001E00001E00003E00003C00001C0000121C7B9B15>55
D<00FE0003FF0007C7800F03800E03C00E03C01E03801E03801F07801F8F000FFE000FFC0003F8
0007FE001EFE003C3F00781F00700F00F00700E00700E00700E00700F00E00701E007C7C003FF0
000FC000121B7D9A15>I<00007000000070000000F0000000F0000001F0000001F80000037800
000378000006780000067800000C7800000C3C0000183C0000183C0000303C0000303C0000603C
0000601E0000FFFE0000FFFE0001801E0001801E0003001F0003000F0007000F000F000F007FC0
FFF0FFC0FFF01C1C7F9B1F>65 D<000FF030003FFC7000FC0EE003F007E007C003E00F8001E01F
0001E01E0000E03C0000C03C0000C0780000C07800000078000000F8000000F0000000F0000000
F0000000F0000000F0000380F000030078000300780007003C000E003E001C001F003C000FC0F0
0003FFE00000FF00001C1C7C9B1E>67 D<0FFFFC000FFFFF8000F007C000F001E000F000F000F0
007000F0007801F0007801E0003801E0003801E0003801E0003C01E0003803E0003803C0007803
C0007803C0007803C0007003C000F007C000E0078001E0078001C0078003800780078007800E00
0F807C00FFFFF000FFFFC0001E1C7E9B20>I<0FFFFFE00FFFFFE000F003E000F001C000F000C0
00F000C000F000C001F060C001E060C001E060C001E0600001E1E00001FFE00003FFC00003C1C0
0003C0C00003C0C00003C0C0C003C0C18007C00180078001800780030007800300078007000780
0E000F803E00FFFFFE00FFFFFC001B1C7E9B1C>I<000FF030003FFC7000FC0EE003F007E007C0
03E00F8001E01F0001E01E0000E03C0000C03C0000C0780000C07800000078000000F8000000F0
000000F0000000F000FFF0F000FFF0F0000F80F0000F8078000F0078000F003C000F003E001F00
1F001F000FC07F0003FFF60000FF82001C1C7C9B21>71 D<0FFF800FFF8000F00000F00000F000
00F00000F00001F00001E00001E00001E00001E00001E00003E00003C00003C00003C00003C000
03C00007C0000780000780000780000780000780000F8000FFF800FFF800111C7F9B0F>73
D<0FFFC00FFFC000F00000F00000F00000F00000F00001F00001E00001E00001E00001E00001E0
0003E00003C00003C00003C00003C00603C00C07C00C07800C07801C0780180780380780780F81
F8FFFFF0FFFFF0171C7E9B1A>76 D<0FFC000FFC0FFC000FFC00FC001F8000FC001F8000FC0037
8000DE00378000DE006F8001DE006F80019E00CF00019E00CF00019E018F00018F018F00018F03
1F00038F031F00030F061E00030F061E0003078C1E0003078C1E000307983E000707983E000607
B03C000607B03C000603E03C000603E03C000603C07C001E03C07C00FFE387FFC0FFC387FF8026
1C7E9B26>I<0FF80FFE0FF80FFE00FC01E000FC00C000FE00C000DE00C000DE01C001DF01C001
8F0180018F8180018781800187C1800187C3800383C3800303E3000301E3000301F3000300F300
0300FF000700FF0006007E0006007E0006003E0006003E0006001E001E001E00FFE01C00FFC00C
001F1C7E9B1F>I<0007F000003FFC0000F81E0001E0070003800380070003C00E0001C01E0001
E03C0001E03C0000E0780000E0780000F0780000E0F00001E0F00001E0F00001E0F00001E0F000
03C0F00003C0F00007807800078078000F0038001E003C003C001E0078000F81F00003FFC00000
FE00001C1C7C9B20>I<0FFFFC000FFFFF0000F00F8000F0038000F003C000F001C000F001C001
F003C001E003C001E003C001E0038001E0078001E00F0003E03E0003FFF80003FFE00003C00000
03C0000003C0000007C00000078000000780000007800000078000000F8000000F800000FFF800
00FFF000001A1C7E9B1C>I<0FFFF8000FFFFE0000F00F8000F0038000F003C000F001C000F001
C001F003C001E003C001E003C001E0078001E00F0001E03E0003FFF80003FFF80003C0FC0003C0
3C0003C03C0003C03E0007C03C0007803C0007803C0007803C0007803C0007803C380F803E70FF
F81FF0FFF00FE01D1C7E9B1F>82 D<007F0C01FFDC03C1F80780780F00380E00380E00381E0038
1E00001F00001F80000FF8000FFF0007FFC001FFE0003FE00003E00001E00000E00000E06000E0
6000E06001E07001C0780380FE0F80FFFE00C3F800161C7E9B17>I<1FFFFFF03FFFFFF03C0781
F038078060700780606007806060078060600F8060C00F0060C00F0060000F0000000F0000000F
0000001F0000001E0000001E0000001E0000001E0000001E0000003E0000003C0000003C000000
3C0000003C0000003C0000007C00001FFFE0001FFFE0001C1C7C9B1E>I<FFF8FFE0FFF8FFE00F
001E000F000C000F000C000F000C000F001C001F001C001E0018001E0018001E0018001E001800
1E0038003E0038003C0030003C0030003C0030003C0030003C0070007C006000780060007800E0
003800C0003C01C0003E0380001F0F00000FFE000003F800001B1C7A9B1F>I<FFF01FF8FFF01F
F80F0007C00F0003000F0007000780060007800C0007800C00078018000780180003C0300003C0
300003C0600003C0600003C0C00003E0C00001E1800001E3800001E3000001E7000001F6000000
FE000000FC000000F8000000F8000000F0000000700000006000001D1C7B9B1F>I<03FFFF8007
FFFF0007E01F0007803E0007007C00060078000600F8000E01F0000C03E0000C07C0000007C000
000F8000001F0000003E0000007C0000007C000000F80C0001F00C0003E0180003C0180007C018
000F8038001F0030003E0070003E00F0007C03F000FFFFE000FFFFE000191C7E9B19>90
D<01FE07FE0F8F1E0E3C0E3C00780078007800F800F000F0007800780E7C0C3E1C1FF807E01012
7E9112>99 D<01F807FE0F1E1E0F3C0F7C077FFF7FFF7800F800F000F0007000780E7C0C3E3C1F
F807E010127E9112>101 D<01C003E003E003E003C00000000000000000000000001F801F8007
800780070007000700070007000F000E000E000E000E000E001E00FF80FF800B1D7F9C0C>105
D<07E00FE001E001C001C001C001C001C003C00380038003800380038007800700070007000700
07000F000E000E000E000E001E001E00FF80FF800B1D7F9C0C>108 D<1F9FC01FFFE007F1E007
C0E00780E00780E00700E00700E00701E00F01E00E01C00E01C00E01C00E01C00E03C01E03C0FF
8FF0FF9FF014127F9117>110 D<00FC0003FF000F07801E03C03C01C03801C07801E07801E078
01E0F003C0F003C0F003C0700380700780780F003C1E001FF80007E00013127E9115>I<1FBE1F
FE07EF07CE078E07800700070007000F000E000E000E000E000E001E00FFC0FFC010127F9110>
114 D<03F60FFE1E1E3C0E380C3C0C3E003FE01FF807FC007C603C601C701C7038F878FFF0CFC0
0F127F9110>I<0600060006000E000E000C001C003C00FFE0FFE01C003C003800380038003800
3800780070C070C070C070C071C073807F003E000B1A7C9910>I<FC1F80FC1F803C07803C0780
380700380700380700380700380F00780F00700E00700E00700E00701E00703E0070FE007FFF80
3F9F8011127C9117>I<FF1FE0FF1FE03C07801C06001C06001C0C001C1C001C18000E38000E30
000E60000E60000EC00007C00007800007800007000007000013127C9116>I
E /Fe 51 122 df<6030F078F078F078F078F078F078F078F078F078E038E0380D0C7C9916>34
D<00E001E007C007800F001E003C0038007800700070007000F000E000E000E000E000E000E000
E000F000700070007000780038003C001E000F00078007C001E000E00B217A9C16>40
D<E000F0007C003C001E000F000780038003C001C001C001C001E000E000E000E000E000E000E0
00E001E001C001C001C003C0038007800F001E003C007C00F000E0000B217C9C16>I<387C7E7E
3E0E1E3CFCF860070B798416>44 D<03E0000FF8001FFC001E3C00380E00780F00700700700700
E00380E00380E00380E00380E00380E00380E00380E00380F00780700700700700780F003C1E00
1E3C001FFC000FF80003E00011197E9816>48 D<0380038007800F801F80FF80FF80F380038003
800380038003800380038003800380038003800380038003807FFC7FFC7FFC0E197C9816>I<7F
FF00FFFF80FFFF80000000000000000000000000000000FFFF80FFFF807FFF00110B7E9116>61
D<00E00001F00001F00001B00001B00003B80003B80003B800031800071C00071C00071C00071C
00071C000E0E000E0E000FFE000FFE001FFF001C07001C07001C0700FF1FE0FF1FE0FF1FE01319
7F9816>65 D<FFF800FFFE00FFFF001C0F001C07801C03801C03801C03801C07801C07001FFF00
1FFE001FFE001C1F001C03801C03C01C01C01C01C01C01C01C01C01C03C01C0780FFFF80FFFF00
FFFC0012197F9816>I<03F18007FF800FFF801F0F803C0780780780780380700380F00000E000
00E00000E00000E00000E00000E00000E00000F000007003807803807803803C07801F0F000FFE
0007FC0003F00011197E9816>I<FFF800FFFE00FFFF001C0F001C07801C03C01C01C01C01C01C
01E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C03C01C07801C
0F80FFFF00FFFE00FFF8001319809816>I<FFFFC0FFFFC0FFFFC01C01C01C01C01C01C01C01C0
1C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00E01C00E01C00E0
1C00E01C00E0FFFFE0FFFFE0FFFFE013197F9816>I<FFFFE0FFFFE0FFFFE01C00E01C00E01C00
E01C00E01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00001C00
001C00001C00001C0000FFC000FFC000FFC00013197F9816>I<03F3000FFF001FFF003F1F003C
0F00780F00780700700700F00000E00000E00000E00000E00000E07FC0E07FC0E07FC0F0070070
0700780F00780F003C0F003F1F001FFF000FFF0003E70012197E9816>I<FFBFE0FFBFE0FFBFE0
1C07001C07001C07001C07001C07001C07001C07001FFF001FFF001FFF001C07001C07001C0700
1C07001C07001C07001C07001C07001C0700FFBFE0FFBFE0FFBFE013197F9816>I<FFFEFFFEFF
FE0380038003800380038003800380038003800380038003800380038003800380038003800380
FFFEFFFEFFFE0F197D9816>I<FF8FF0FF8FF0FF8FF01C07801C0F001C1F001C3E001C7C001C78
001CF0001DF0001FF0001FF8001FF8001FBC001F3C001E1E001C1E001C0F001C0F001C07801C07
80FF8FF0FF8FF0FF8FF01419809816>75 D<FFC000FFC000FFC0001C00001C00001C00001C0000
1C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00401C00E01C00E0
1C00E01C00E0FFFFE0FFFFE0FFFFE013197F9816>I<FC07E0FE0FE0FE0FE03A0B803B1B803B1B
803B1B803B1B803BBB803BBB8039B38039B38039B38039B38039F38038E38038E3803803803803
80380380380380380380FE0FE0FE0FE0FE0FE013197F9816>I<FE3FE0FF3FE0FF3FE01D07001D
87001D87001D87001DC7001DC7001CC7001CC7001CE7001CE7001CE7001C67001C67001C77001C
77001C37001C37001C37001C1700FF9F00FF9F00FF8F0013197F9816>I<1FFC003FFE007FFF00
780F00F00780E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380
E00380E00380E00380F00780F00780780F007FFF003FFE001FFC0011197E9816>I<FFF800FFFE
00FFFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FF8
001C00001C00001C00001C00001C00001C00001C0000FF8000FF8000FF800012197F9816>I<FF
E000FFF800FFFC001C1E001C0F001C07001C07001C07001C07001C0F001C1E001FFC001FF8001F
FC001C3E001C1E001C0E001C0E001C0E001C0E701C0E701C0FF0FF8FF0FF87E0FF83C014197F98
16>82 D<0FF3001FFF007FFF00781F00F00F00E00700E00700E00000F000007800007F80003FF8
000FFC0000FE00000F00000780000380000380E00380E00380F00780F81F00FFFE00FFFC00CFF8
0011197E9816>I<FFFFE0FFFFE0FFFFE0E0E0E0E0E0E0E0E0E0E0E0E000E00000E00000E00000
E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0000FFE000F
FE000FFE0013197F9816>I<FF8FF8FF8FF8FF8FF81C01C01C01C01C01C01C01C01C01C01C01C0
1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01E03C01E03C00F07800F8F80
07FF0003FE0000F8001519809816>I<7F3F807F3F807F3F800E1E000E1C00073C0007380003B8
0003F00001F00001E00000E00001E00001F00003F00003B80007B800071C00071C000E0E000E0E
001C0700FF1FE0FF1FE0FF1FE013197F9816>88 D<FFFF80FFFF80FFFF8011037E7E16>95
D<1FE0007FF8007FFC00783C00301E00000E00007E000FFE003FFE007FCE00F80E00E00E00E00E
00F01E00F83E007FFFE03FFFE01FC3E013127E9116>97 D<FE0000FE0000FE00000E00000E0000
0E00000E00000E7E000FFF800FFFC00FC7E00F01E00F00F00E00F00E00700E00700E00700E0070
0F00F00F00E00F81E00FC7C00FFFC00FFF800E7E001419809816>I<03FC0FFE1FFE3E1E780C70
00F000E000E000E000E000F00070077C073E1F1FFE0FFC03F010127D9116>I<007F00007F0000
7F0000070000070000070000070007E7001FFF003FFF003E3F00780F00700F00F00700E00700E0
0700E00700E00700F00F00F00F00781F007E3F003FFFF01FF7F007E7F014197F9816>I<07E01F
F83FFC7C3E781FF00FF007FFFFFFFFFFFFE000F000F007780F7E1F3FFE0FFC03F010127D9116>
I<001F00007F8000FF8001E78001C30001C00001C000FFFF00FFFF00FFFF0001C00001C00001C0
0001C00001C00001C00001C00001C00001C00001C00001C00001C0007FFF007FFF007FFF001119
7F9816>I<03E7C00FFFE01FFFE01E3CE03C1E00380E00380E00380E003C1E001E3C001FFC003F
F8003BE0003800003C00001FFE003FFF807FFFC07807C0F001E0E000E0E000E0E000E0F001E07E
0FC03FFF801FFF0007FC00131C7F9116>I<FE0000FE0000FE00000E00000E00000E00000E0000
0E7E000FFF000FFF800FC7800F03800F03800E03800E03800E03800E03800E03800E03800E0380
0E03800E0380FFE7F8FFE7F8FFE7F81519809816>I<03C003C003C003C000000000000000007F
C07FC07FC001C001C001C001C001C001C001C001C001C001C001C001C0FFFFFFFFFFFF101A7D99
16>I<FE0000FE0000FE00000E00000E00000E00000E00000E7FE00E7FE00E7FE00E1F000E3E00
0E7C000EF8000FF0000FF8000FFC000FBC000F1E000E1F000E0F800E0780FFCFF0FFCFF0FFCFF0
1419809816>107 D<FFC000FFC000FFC00001C00001C00001C00001C00001C00001C00001C000
01C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000FFFF80
FFFF80FFFF8011197E9816>I<FBC780FFEFC0FFFFE03E7CE03C78E03870E03870E03870E03870
E03870E03870E03870E03870E03870E03870E0FE7CF8FE7CF8FE7CF81512809116>I<FE7E00FF
FF00FFFF800FC7800F03800F03800E03800E03800E03800E03800E03800E03800E03800E03800E
0380FFE7F8FFE7F8FFE7F81512809116>I<03E0000FF8001FFC003C1E00780F00700700E00380
E00380E00380E00380E00380F00780700700780F003C1E001FFC000FF80003E00011127E9116>
I<FE7E00FFFF80FFFFC00FC7E00F01E00F00F00E00F00E00700E00700E00700E00700F00F00F00
E00F81E00FC7C00FFFC00FFF800E7E000E00000E00000E00000E00000E00000E0000FFE000FFE0
00FFE000141B809116>I<FF1FC0FF7FE0FFFFE007F1E007E0C007C00007800007800007000007
0000070000070000070000070000070000FFFC00FFFC00FFFC0013127F9116>114
D<1FEC3FFC7FFCF03CE01CE01CF8007FC03FF007FC003EE00EE00EF00EF83EFFFCFFF8CFF00F12
7D9116>I<070000070000070000070000070000FFFF00FFFF00FFFF0007000007000007000007
0000070000070000070000070100070380070380070780078F8003FF0003FE0000F80011177F96
16>I<FE3F80FE3F80FE3F800E03800E03800E03800E03800E03800E03800E03800E03800E0380
0E03800E07800F0F800FFFF807FFF803F3F81512809116>I<FF1FE0FF1FE0FF1FE01C07001E0F
000E0E000E0E000E0E00071C00071C00071C00071C0003B80003B80003B80001F00001F00000E0
0013127F9116>I<FFBFE0FFBFE0FFBFE038038038038038038038038038E38019F30019F30019
B3001DB7001DB7001DB7001DB7000F1E000F1E000F1E0013127F9116>I<7F3FC07F3FC07F3FC0
0F1C00073C0003B80003F00001F00000E00001E00001F00003B800073C00071C000E0E00FF3FE0
FF3FE0FF3FE013127F9116>I<FF9FE0FF9FE0FF9FE01C07000E07000E0E000E0E00070E00071C
00071C00039C00039C0003980001B80001B80000F00000F00000F00000E00000E00000E00001C0
0079C0007BC0007F80003F00003C0000131B7F9116>I E /Ff 1 16 df<07E01FF83FFC7FFE7F
FEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E010107E9115>15
D E /Fg 29 119 df<000FF800007FFC0001FC1E0003F01F0007E03F000FE03F000FC03F000FC0
3F000FC00C000FC000000FC000000FC000000FC00000FFFFFF00FFFFFF000FC03F000FC03F000F
C03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F00
0FC03F000FC03F000FC03F000FC03F000FC03F000FC03F007FF0FFE07FF0FFE01B237FA21F>12
D<7CFEFEFEFEFE7C07077C8610>46 D<00180000780001F800FFF800FFF80001F80001F80001F8
0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8
0001F80001F80001F80001F80001F80001F80001F80001F80001F8007FFFE07FFFE013207C9F1C
>49 D<03FC001FFF803C1FC0700FE0FC07F0FE03F0FE03F8FE03F8FE01F87C01F83803F80003F8
0003F00007F00007E0000FC0000F80001F00003E00007C0000F80001F01801C018038018070018
0E00381FFFF03FFFF07FFFF0FFFFF0FFFFF0FFFFF015207D9F1C>I<01FF0007FFC01F07E01E03
F03F03F83F01F83F81F83F01F83F03F80E03F80003F00007F0000FE0001F8001FF0001FF000007
E00003F80001FC0000FC0000FE0000FE7C00FEFE00FEFE00FEFE00FEFE00FCFE01FC7803F83E07
F01FFFE003FF0017207E9F1C>I<0000E00001E00003E00003E00007E0000FE0001FE0001FE000
37E00077E000E7E001C7E00187E00307E00707E00E07E00C07E01807E03807E07007E0E007E0FF
FFFEFFFFFE0007E00007E00007E00007E00007E00007E00007E000FFFE00FFFE17207E9F1C>I<
1800601E03E01FFFE01FFFC01FFF801FFF001FFC001BE00018000018000018000018000019FE00
1FFF801F0FC01C07E01803F00003F00003F80003F80003F87803F8FC03F8FC03F8FC03F8FC03F8
FC03F06007F0780FE03C1FC01FFF0007FC0015207D9F1C>I<003FC001FFE003F07007C0F80F81
F81F01F83E01F83E01F87E00F07C00007C0000FC0800FCFFC0FDFFF0FF81F8FF00F8FE007CFE00
7CFE007EFC007EFC007EFC007EFC007E7C007E7C007E7E007E3E007C3E00FC1F01F80FC3F007FF
C000FF0017207E9F1C>I<6000007800007FFFFE7FFFFE7FFFFE7FFFFC7FFFF87FFFF0E000E0E0
00C0C001C0C00380C00700000E00000E00001C00003C0000380000780000780000F80000F00001
F00001F00001F00001F00003F00003F00003F00003F00003F00003F00003F00001E00017227DA1
1C>I<0007FE0180003FFFC38000FF01E78003FC007F8007F0001F800FE0000F801FC0000F801F
800007803F800003807F000003807F000003807F00000180FE00000180FE00000000FE00000000
FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000007F000001
807F000001807F000001803F800003801F800003001FC00007000FE0000E0007F0001C0003FC00
380000FF01F000003FFFC0000007FF000021227DA128>67 D<0003FF00C0003FFFE1C000FF80F3
C001FC003FC007F0001FC00FE0000FC01FC00007C01F800003C03F800001C07F000001C07F0000
01C07F000000C0FE000000C0FE00000000FE00000000FE00000000FE00000000FE00000000FE00
000000FE00000000FE000FFFFCFE000FFFFC7F00001FC07F00001FC07F00001FC03F80001FC01F
80001FC01FC0001FC00FE0001FC007F0003FC001FC003FC000FF80FFC0003FFFE3C00003FF00C0
26227DA12C>71 D<FFFFE000FFFFE00007F0000007F0000007F0000007F0000007F0000007F000
0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0
000007F0000007F0000007F0000007F0001807F0001807F0001807F0001807F0003807F0003807
F0007007F0007007F000F007F001F007F007F0FFFFFFF0FFFFFFF01D227EA122>76
D<0007FC0000003FFF800000FC07E00003F001F80007E000FC000FC0007E001F80003F001F8000
3F003F00001F803F00001F807F00001FC07E00000FC07E00000FC0FE00000FE0FE00000FE0FE00
000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE07E00000FC07F
00001FC07F00001FC03F00001F803F80003F801F80003F000FC0007E0007E000FC0003F001F800
00FC07E000003FFF80000007FC000023227DA12A>79 D<FFFFFF00FFFFFFE007F007F007F001FC
07F000FC07F0007E07F0007E07F0007F07F0007F07F0007F07F0007F07F0007F07F0007E07F000
7E07F000FC07F001FC07F007F007FFFFE007FFFF0007F0000007F0000007F0000007F0000007F0
000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000FFFF8000FF
FF800020227EA126>I<07FE001FFF803F0FC03F07E03F07F03F03F01E03F00003F00003F001FF
F00FFFF03FE3F07F03F07E03F0FE03F0FC03F0FC03F0FC07F0FE0FF07F1FF83FFDFF0FF0FF1816
7E951B>97 D<01FF8007FFE01FC3F03F03F03E03F07E03F07C01E0FC0000FC0000FC0000FC0000
FC0000FC0000FC0000FC00007E00007E00003F00303F80701FE1E007FFC001FF0014167E9519>
99 D<0003FE000003FE0000007E0000007E0000007E0000007E0000007E0000007E0000007E00
00007E0000007E0000007E0000007E0001FE7E0007FFFE001FC3FE003F00FE003E007E007E007E
007C007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E007C00
7E007E007E003E00FE003F01FE001F83FE000FFF7FC001FC7FC01A237EA21F>I<01FE0007FF80
1F87E03F03E03E01F07E00F07C00F8FC00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC0000FC0000
7E00007E00003F00181F80380FE0F007FFE000FF8015167E951A>I<1F003F803F803F803F803F
801F000000000000000000000000000000FF80FF801F801F801F801F801F801F801F801F801F80
1F801F801F801F801F801F801F801F801F80FFF0FFF00C247FA30F>105
D<FF80FF801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F80
1F801F801F801F801F801F801F801F801F801F801F801F801F801F80FFF0FFF00C237FA20F>
108 D<FF87F80FF000FF9FFC3FF8001FBC7E78FC001FF07FE0FE001FE03FC07E001FC03F807E00
1FC03F807E001F803F007E001F803F007E001F803F007E001F803F007E001F803F007E001F803F
007E001F803F007E001F803F007E001F803F007E001F803F007E001F803F007E001F803F007E00
1F803F007E00FFF1FFE3FFC0FFF1FFE3FFC02A167E952F>I<FF87F000FF9FFC001FF8FC001FF0
7E001FE07E001FC07E001FC07E001F807E001F807E001F807E001F807E001F807E001F807E001F
807E001F807E001F807E001F807E001F807E001F807E001F807E00FFF1FFC0FFF1FFC01A167E95
1F>I<00FE0007FFC00F83E01E00F03E00F87C007C7C007C7C007CFC007EFC007EFC007EFC007E
FC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83E007FFC000FE0017167E951C>I<FF8F
E000FFBFFC001FF0FE001FC03F001F803F801F801F801F801F801F800FC01F800FC01F800FC01F
800FC01F800FC01F800FC01F800FC01F800FC01F801F801F801F801F803F001FC07F001FF0FE00
1FFFF8001F9FE0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000
00FFF00000FFF000001A207E951F>I<FF1F80FF7FC01F77E01FE7E01FC7E01FC7E01F83C01F80
001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8000FFF8
00FFF80013167E9517>114 D<0FFB003FFF007C1F00780700F00300F00300F80000FF0000FFF8
007FFC007FFE001FFF000FFF80007F80C00F80C00F80E00780F00780F80F00FC1F00FFFE00C7F8
0011167E9516>I<00C00000C00000C00000C00001C00001C00003C00007C0000FC0001FC000FF
FF00FFFF000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000F
C1800FC1800FC1800FC1800FC1800FE38007E70003FF0000FC0011207F9F16>I<FF83FE00FF83
FE001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F
807E001F807E001F807E001F807E001F807E001F80FE001F80FE001F81FE000FC3FE000FFF7FC0
03FC7FC01A167E951F>I<FFF01FE0FFF01FE00FC007000FC006000FE00E0007E00C0007F01C00
03F0180003F8180001F8300001F8300000FC600000FC6000007EC000007EC000007FC000003F80
00003F8000001F0000001F0000000E0000000E00001B167F951E>I E /Fh
55 123 df<007E7E01FFFF07CFCF070F8F0F0F0F0E07000E07000E07000E07000E0700FFFFF0FF
FFF00E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07007F
0FF07F0FF0181A809916>11 D<007E0001FE0007CF00070F000F0F000E0F000E00000E00000E00
000E0000FFFF00FFFF000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07
000E07000E07007F0FE07F0FE0131A809915>I<007F0001FF0007CF00070F000F0F000E07000E
07000E07000E07000E0700FFFF00FFFF000E07000E07000E07000E07000E07000E07000E07000E
07000E07000E07000E07000E07007F9FE07F9FE0131A809915>I<007E1F8001FF7FC007C7F1E0
0707C1E00F07C1E00E0781E00E0380000E0380000E0380000E038000FFFFFFE0FFFFFFE00E0380
E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E03
80E00E0380E07F8FE3FC7F8FE3FC1E1A809920>I<F0F8F8F81818383070E0C0050B7D990B>39
D<01C00380070007000E001C001C00380038007000700070006000E000E000E000E000E000E000
E000E000E000E000E000E0006000700070007000380038001C001C000E0007000700038001C00A
267E9B0F>I<E0007000380038001C000E000E0007000700038003800380018001C001C001C001
C001C001C001C001C001C001C001C001C00180038003800380070007000E000E001C0038003800
7000E0000A267E9B0F>I<E0F0F0F03030307060E0C0040B7D830B>44 D<FFC0FFC0FFC00A0380
880D>I<F0F0F0F004047D830B>I<1FC03FF071F8F078F83CF83CF81C701C003C003C0038007800
F000E001C0038007000E0C1C0C380C7018FFF8FFF8FFF80E187E9713>50
D<F0F0F0F00000000000000000F0F0F0F004107D8F0B>58 D<F0F0F0F00000000000000000E0F0
F0F03030307060E0C004177D8F0B>I<1FC07FF07070F038F038F038F038007800F001E003C003
8007000700060006000600060000000000000000000F000F000F000F000D1A7E9912>63
D<000C0000001E0000001E0000001E0000003F0000003F0000003F000000778000006780000067
800000C3C00000C3C00000C3C0000181E0000181E0000181E0000300F00003FFF00003FFF00006
00780006007800060078000E003C001E003C00FF81FFC0FF81FFC01A1A7F991D>65
D<FFFF80FFFFE00F00F00F00780F003C0F003C0F003C0F003C0F003C0F00780F00F00FFFE00FFF
E00F01F00F00780F003C0F001E0F001E0F001E0F001E0F001E0F003C0F003C0F00F8FFFFF0FFFF
C0171A7F991B>I<007F0601FFE607E0FE0F803E1E001E3C001E3C000E78000E780006F00006F0
0000F00000F00000F00000F00000F00000F000067800067800063C000E3C000C1E001C0F803807
E0F001FFE0007F80171A7E991C>I<FFFF8000FFFFE0000F00F0000F0038000F001C000F000E00
0F000E000F000F000F0007000F0007800F0007800F0007800F0007800F0007800F0007800F0007
800F0007800F0007000F0007000F000F000F000E000F001C000F003C000F00F800FFFFE000FFFF
8000191A7F991D>I<FFFFF8FFFFF80F00780F00380F00180F001C0F000C0F030C0F030C0F0300
0F07000FFF000FFF000F07000F03000F03000F03060F00060F000C0F000C0F000C0F001C0F001C
0F0078FFFFF8FFFFF8171A7F991A>I<FFF0FFF00F000F000F000F000F000F000F000F000F000F
000F000F000F000F000F000F000F000F000F000F000F000F00FFF0FFF00C1A7F990E>73
D<FFF800FFF8000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00000F00000F00000F00300F00300F00300F00700F00700F00600F00E00F03E0FFFFE0FFFF
E0141A7F9918>76 D<FF8001FFFFC003FF0FC003F00FC003F00DE006F00DE006F00DE006F00CF0
0CF00CF00CF00CF00CF00C7818F00C7818F00C7818F00C3C30F00C3C30F00C3C30F00C1E60F00C
1E60F00C1E60F00C0FC0F00C0FC0F00C0FC0F00C0780F01E0780F0FFC78FFFFFC30FFF201A7F99
23>I<FF00FFC0FF80FFC00FC01E000FC00C000FE00C000DF00C000CF00C000CF80C000C7C0C00
0C7C0C000C3E0C000C1F0C000C1F0C000C0F8C000C078C000C07CC000C03EC000C01EC000C01FC
000C00FC000C00FC000C007C000C003C001E003C00FFC01C00FFC00C001A1A7F991D>I<FFFF80
FFFFE00F00F00F00780F00380F003C0F003C0F003C0F003C0F003C0F00380F00780F00F00FFFE0
0FFF800F00000F00000F00000F00000F00000F00000F00000F00000F0000FFF000FFF000161A7F
991A>80 D<0FC63FF6787E701EE00EE00EE006E006F000FC007F807FF03FFC0FFE01FE003F000F
000FC007C007E007E00FF00EFC3CDFFCC7F0101A7E9915>83 D<7FFFFF007FFFFF00781E0F0060
1E0300601E0300E01E0380C01E0180C01E0180C01E0180001E0000001E0000001E0000001E0000
001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E00
00001E000003FFF00003FFF000191A7F991C>I<FFF0FFC0FFF0FFC00F001E000F000C000F000C
000F000C000F000C000F000C000F000C000F000C000F000C000F000C000F000C000F000C000F00
0C000F000C000F000C000F000C000F000C000F000C000F801C000780180003C0380001E0F00000
FFE000003F80001A1A7F991D>I<FFC7FF1FF0FFC7FF1FF01E00F803C01E007803800F00780300
0F007803000F00FC03000780FC06000780FC060007819E060007819E0E0003C19E0C0003C30F0C
0003C30F0C0001E30F180001E70F980001E607980000F607B00000F607B00000FC03F000007C03
E000007C03E000007801E000007801E000003801C000003000C000241A7F9927>87
D<18387060E0C0C0F8F8F878050B7E990B>96 D<7F80FFE0F1F0F0F0607000F01FF03FF07870F0
70E070E073E0F3F1F37FFE3F3C10107E8F13>I<FC0000FC00001C00001C00001C00001C00001C
00001C00001C00001C00001CFC001FFE001F0F001E07801C03801C01C01C01C01C01C01C01C01C
01C01C01C01C03801E07801F0F001BFE0019F800121A7F9915>I<07F81FFC3C3C783C7018E000
E000E000E000E000F0007000780C3E1C1FF807E00E107F8F11>I<007E00007E00000E00000E00
000E00000E00000E00000E00000E00000E000FEE001FFE003C3E00781E00700E00E00E00E00E00
E00E00E00E00E00E00E00E00700E00781E003C3E001FFFC00FCFC0121A7F9915>I<07E01FF03C
78701C701CFFFCFFFCE000E000E000F0007000780C3E1C1FF807E00E107F8F11>I<00F803FC07
BC0F3C0E3C0E000E000E000E000E00FFC0FFC00E000E000E000E000E000E000E000E000E000E00
0E000E007FE07FE00E1A80990C>I<0FDF1FFF38777038703870387038703838703FE07FC07000
70007FF83FFC7FFEF01FE00FE007E007F00F7C3E3FFC0FF010187F8F13>I<FC0000FC00001C00
001C00001C00001C00001C00001C00001C00001C00001CF8001FFC001F1E001E0E001C0E001C0E
001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E00FF9FC0FF9FC0121A7F9915>I<3C
003C003C003C00000000000000000000000000FC00FC001C001C001C001C001C001C001C001C00
1C001C001C001C00FF80FF80091A80990A>I<01E001E001E001E0000000000000000000000000
07E007E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0F1
E0F3C0FF807F000B2183990C>I<FC0000FC00001C00001C00001C00001C00001C00001C00001C
00001C00001C7F801C7F801C7C001C70001CE0001DC0001FC0001FE0001EF0001CF0001C78001C
3C001C3C001C1E00FF3FC0FF3FC0121A7F9914>I<FC00FC001C001C001C001C001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80FF80091A80990A
>I<FCFC3F00FFFEFF801F0FC3C01E0781C01C0701C01C0701C01C0701C01C0701C01C0701C01C
0701C01C0701C01C0701C01C0701C01C0701C0FF9FE7F8FF9FE7F81D107F8F20>I<FCF800FFFC
001F1E001E0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E001C0E00FF9F
C0FF9FC012107F8F15>I<07E01FF8381C700E6006E007E007E007E007E007E007700E700E3C3C
1FF807E010107F8F13>I<FCFC00FFFE001F0F001E07801C03801C03C01C01C01C01C01C01C01C
01C01C03C01C03801E07801F1F001FFE001DF8001C00001C00001C00001C00001C0000FF8000FF
800012177F8F15>I<07C6001FF6003E3E00781E00700E00F00E00E00E00E00E00E00E00E00E00
F00E00700E00781E003C7E001FFE000FCE00000E00000E00000E00000E00000E00007FC0007FC0
12177F8F14>I<FDE0FFF01F701E701E001C001C001C001C001C001C001C001C001C00FFC0FFC0
0C107F8F0F>I<3FE07FE0F0E0E060E060F000FF807FC01FE001F0C0F0E070E070F0F0FFE0DF80
0C107F8F0F>I<0C000C000C000C001C001C003C00FFC0FFC01C001C001C001C001C001C001C00
1C601C601C601C601EE00FC007800B177F960F>I<FC7E00FC7E001C0E001C0E001C0E001C0E00
1C0E001C0E001C0E001C0E001C0E001C0E001C1E001E3E000FFFC007EFC012107F8F15>I<FF3F
80FF3F803C0E001C0C001C0C000E18000E18000E380007300007300007F00003E00003E00001C0
0001C00001C00011107F8F14>I<FF3F9F80FF3F9F803C1E0E001C3E0C001C360C001C370C000E
3718000E6318000E6398000763B00007C1B00007C1F00007C1F0000380E0000380E0000380E000
19107F8F1C>I<7F1FC07F1FC00F1E00071C0003B80003B00001E00000E00000F00001F00003B8
00071C00061C001E0E00FF1FE0FF1FE01310808F14>I<FF3F80FF3F803C0E001C0C001C0C000E
18000E18000E380007300007300007F00003E00003E00001C00001C00001C00001800001800061
8000F30000C70000FE000078000011177F8F14>I<7FF87FF870F860F061E063C063C007800F18
1E181E183C387830F870FFF0FFF00D107F8F11>I E /Fi 8 118 df<78FCFCFCFC780000000000
78FCFCFCFC7806117D900C>58 D<FFFFF000FFFFFC000FC03F000FC00F800FC007C00FC003E00F
C003E00FC001F00FC001F00FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F8
0FC001F80FC001F00FC001F00FC003F00FC003E00FC007C00FC00F800FC03F00FFFFFE00FFFFF0
001D1A7E9922>68 D<03FC001FFF003F1F007C1F007C1F00F80E00F80000F80000F80000F80000
F80000FC00007C00007E01803F87801FFF0003FC0011117F9014>99 D<1E003F003F003F003F00
1E0000000000000000007F007F001F001F001F001F001F001F001F001F001F001F001F001F001F
00FFC0FFC00A1B809A0C>105 D<FF3F80FF7FC01FE7E01FC3E01F83E01F03E01F03E01F03E01F
03E01F03E01F03E01F03E01F03E01F03E01F03E0FFE7FCFFE7FC16117F9019>110
D<03F8000FFE003E0F803C07807803C07803C0F803E0F803E0F803E0F803E0F803E0F803E07803
C07C07C03E0F800FFE0003F80013117F9016>I<1FF07FF07070E030F030FC00FFE07FF07FF81F
FC01FCC03CE01CE01CF838FFF8CFE00E117F9011>115 D<FF1FE0FF1FE01F03E01F03E01F03E0
1F03E01F03E01F03E01F03E01F03E01F03E01F03E01F03E01F07E01F0FE00FFFFC07FBFC16117F
9019>117 D E /Fj 55 123 df<001FF3F800FFFFFE03F87F3E07E07E3E0FC07E3E0F807C1C0F
807C000F807C000F807C000F807C000F807C00FFFFFFC0FFFFFFC00F807C000F807C000F807C00
0F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C
000F807C007FE1FFC07FE1FFC01F1D809C1C>11 D<001FFC0000FFFC0003F87C0007E07C000FC0
7C000F807C000F807C000F807C000F807C000F807C000F807C00FFFFFC00FFFFFC000F807C000F
807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C00
0F807C000F807C000F807C007FF3FF807FF3FF80191D809C1B>13 D<007000E001C003C007800F
000F001E001E003C003C007C00780078007800F800F800F000F000F000F000F000F000F000F800
F8007800780078007C003C003C001E001E000F000F00078003C001C000E000700C297D9E13>40
D<E000700038003C001E000F000F000780078003C003C003E001E001E001E001F001F000F000F0
00F000F000F000F000F001F001F001E001E001E003E003C003C0078007800F000F001E003C0038
007000E0000C297D9E13>I<7CFEFFFFFFFF7F0307060E1C3C7830080F7D860D>44
D<FFE0FFE0FFE0FFE00B047F8A10>I<7CFEFEFEFEFE7C07077D860D>I<00600001E0000FE000FF
E000F3E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003
E00003E00003E00003E00003E00003E00003E00003E00003E0007FFF807FFF80111B7D9A18>49
D<07F8003FFF00787F80F81FC0FC0FC0FC0FE0FC0FE0FC07E07807E0000FE0000FE0000FC0001F
80003F00003E00007C0000F00001E00003C0600780600F00601C00E03FFFC07FFFC0FFFFC0FFFF
C0FFFFC0131B7E9A18>I<1C03801FFF801FFF801FFF001FFC001FF8001FC00018000018000018
00001BFC001FFF001E1F801C0FC01807C00007E00007E00007E07807E0F807E0F807E0F807E0F8
0FC0700FC07C3F803FFE0007F800131B7E9A18>53 D<00038000000380000007C0000007C00000
07C000000FE000000FE000001FF000001BF000001BF0000031F8000031F8000061FC000060FC00
00E0FE0000C07E0000C07E0001803F0001FFFF0003FFFF8003001F8003001F8006000FC006000F
C00E000FE00C0007E0FFC07FFEFFC07FFE1F1C7E9B24>65 D<FFFFF800FFFFFF000FC01F800FC0
0FC00FC00FC00FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC00FC00FC01F800FFFFF000F
FFFE000FC03F800FC00FC00FC007E00FC007E00FC007F00FC007F00FC007F00FC007F00FC007F0
0FC007E00FC00FE00FC01FC0FFFFFF80FFFFFC001C1C7E9B22>I<001FF06000FFFCE003FC1FE0
0FE007E01FC003E01F8001E03F0000E07F0000E07F0000E07E000060FE000060FE000000FE0000
00FE000000FE000000FE000000FE000000FE0000007E0000607F0000607F0000603F0000E01F80
00C01FC001C00FE0078003FC1F0000FFFC00001FF0001B1C7D9B22>I<FFFFF800FFFFFF000FC0
1FC00FC007E00FC003F00FC001F80FC001F80FC000FC0FC000FC0FC000FC0FC000FE0FC000FE0F
C000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FC0FC000FC0FC000FC0FC001F8
0FC001F80FC003F00FC007E00FC01FC0FFFFFF00FFFFF8001F1C7E9B25>I<FFFFFF00FFFFFF00
0FC01F000FC007000FC003000FC003800FC003800FC181800FC181800FC181800FC180000FC380
000FFF80000FFF80000FC380000FC180000FC180000FC180600FC180600FC000E00FC000C00FC0
00C00FC001C00FC001C00FC003C00FC00F80FFFFFF80FFFFFF801B1C7E9B1F>I<FFFFFF00FFFF
FF000FC01F000FC007000FC003000FC003800FC003800FC001800FC181800FC181800FC180000F
C180000FC380000FFF80000FFF80000FC380000FC180000FC180000FC180000FC180000FC00000
0FC000000FC000000FC000000FC000000FC00000FFFF0000FFFF0000191C7E9B1E>I<001FF818
00FFFE3803FC0FF807F003F80FC000F81F8000783F8000787F0000387F0000387E000018FE0000
18FE000000FE000000FE000000FE000000FE000000FE007FFFFE007FFF7E0001F87F0001F87F00
01F83F8001F81F8001F80FE001F807F003F803FE07F800FFFE78001FF818201C7D9B26>I<FFFC
3FFFFFFC3FFF0FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00F
C003F00FC003F00FFFFFF00FFFFFF00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F0
0FC003F00FC003F00FC003F00FC003F00FC003F00FC003F0FFFC3FFFFFFC3FFF201C7E9B25>I<
FFFFFFFF07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007
E007E007E007E007E007E007E0FFFFFFFF101C7F9B12>I<FFFC07FFFFFC07FF0FC000E00FC003
C00FC007800FC00F000FC01E000FC03C000FC070000FC0E0000FC3C0000FC7C0000FCFE0000FDF
F0000FFFF0000FF3F8000FE1FC000FC1FC000FC0FE000FC07F000FC03F000FC03F800FC01FC00F
C00FE00FC00FE00FC007F0FFFC3FFFFFFC3FFF201C7E9B25>75 D<FFFF00FFFF000FC0000FC000
0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000
0FC0030FC0030FC0030FC0070FC0070FC0060FC00E0FC01E0FC07EFFFFFEFFFFFE181C7E9B1D>
I<FFC00003FFFFE00007FF0FE00007F00DF0000DF00DF0000DF00DF0000DF00CF80019F00CF800
19F00C7C0031F00C7C0031F00C3E0061F00C3E0061F00C1F00C1F00C1F00C1F00C1F00C1F00C0F
8181F00C0F8181F00C07C301F00C07C301F00C03E601F00C03E601F00C01FC01F00C01FC01F00C
01FC01F00C00F801F00C00F801F0FFC0701FFFFFC0701FFF281C7E9B2D>I<FFE003FFFFF003FF
0FF800300FF800300DFC00300CFE00300CFF00300C7F80300C3F80300C1FC0300C0FE0300C07F0
300C07F8300C03FC300C01FC300C00FE300C007F300C007FB00C003FF00C001FF00C000FF00C00
07F00C0003F00C0003F00C0001F00C0000F0FFC00070FFC00030201C7E9B25>I<003FE00001FF
FC0003F07E000FC01F801F800FC01F0007C03F0007E07F0007F07E0003F07E0003F0FE0003F8FE
0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE0003F87E0003F07E0003F07F0007F0
3F0007E03F800FE01F800FC00FC01F8003F07E0001FFFC00003FE0001D1C7D9B24>I<FFFFF800
FFFFFE000FC03F800FC01F800FC00FC00FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC00F
E00FC00FC00FC01F800FC03F800FFFFE000FFFF8000FC000000FC000000FC000000FC000000FC0
00000FC000000FC000000FC000000FC000000FC00000FFFC0000FFFC00001B1C7E9B21>I<FFFF
F00000FFFFFE00000FC03F00000FC01F80000FC00FC0000FC00FE0000FC00FE0000FC00FE0000F
C00FE0000FC00FE0000FC00FC0000FC01F80000FC03F00000FFFFE00000FFFF800000FC0FC0000
0FC07E00000FC03E00000FC03F00000FC03F00000FC03F00000FC03F80000FC03F80000FC03F80
000FC03FC1800FC03FE380FFFC1FFF00FFFC07FE00211C7E9B24>82 D<07F8601FFFE03E0FE078
03E07001E0F000E0F00060F80060F80000FE0000FFF0007FFE007FFF803FFFC01FFFE007FFE000
7FF00007F00001F00001F0C000F0C000F0E000F0E001E0F001E0FE07C0FFFF80C3FE00141C7D9B
1B>I<7FFFFFE07FFFFFE0781F81E0701F80E0601F8060E01F8070C01F8030C01F8030C01F8030
C01F8030001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
00001F8000001F8000001F8000001F8000001F8000001F8000001F800007FFFE0007FFFE001C1C
7E9B21>I<FFFC03FFFFFC03FF0FC000300FC000300FC000300FC000300FC000300FC000300FC0
00300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300F
C000300FC000300FC000300FC0007007E0006007E000E003F001C001FC0F80007FFF00000FF800
201C7E9B25>I<FFFC01FF80FFFC01FF800FC000180007E000300007E000300007F000700003F0
00600003F800E00001F800C00001FC00C00000FC01800000FC018000007E030000007E03000000
7F070000003F060000003F8E0000001F8C0000001FCC0000000FD80000000FD800000007F00000
0007F000000007F000000003E000000003E000000001C000000001C00000211C7F9B24>I<7FFE
1FFE007FFE1FFE0007F001800003F803800001FC07000000FC06000000FE0C0000007F1C000000
3F380000003FB00000001FE00000000FE00000000FE000000007F000000003F800000007F80000
000FFC0000000CFE000000187E000000387F000000703F800000601F800000C01FC00001C00FE0
00018007F000030007F000FFF03FFF80FFF03FFF80211C7F9B24>88 D<7FFFFC7FFFFC7E01FC78
03F87007F0E007F0E00FE0C01FE0C01FC0C03F80003F80007F0000FE0000FE0001FC0001FC0003
F80607F00607F0060FE0061FE00E1FC00E3F801C3F801C7F003CFE00FCFFFFFCFFFFFC171C7D9B
1D>90 D<0FFC003FFF003E1F803E0FC03E07C01C07C00007C003FFC01FFFC07F87C07F07C0FE07
C0FC07C0FC07C0FE0FC07E3FE03FFBF80FE1F815127F9117>97 D<FF0000FF00001F00001F0000
1F00001F00001F00001F00001F00001F00001F00001F3FC01FFFF01FE1F81F80FC1F007C1F007E
1F007E1F007E1F007E1F007E1F007E1F007E1F007E1F00FC1F80FC1FE1F81CFFF0183FC0171D7F
9C1B>I<03FC001FFF003F1F007E1F007E1F00FC0E00FC0000FC0000FC0000FC0000FC0000FC00
00FC00007E01807F03803F87001FFE0003F80011127E9115>I<03FC000FFF003F0F803E07C07E
03C07C03E0FC03E0FFFFE0FFFFE0FC0000FC0000FC00007C00007E00603F00E01FC3C00FFF8003
FE0013127F9116>101 D<07F9F01FFFF83E1F787C0FB87C0F807C0F807C0F807C0F807C0F803E
1F003FFE0037F8007000007000007800003FFF803FFFE01FFFF07FFFF0F801F8F000F8F00078F0
0078F800F87E03F03FFFE007FF00151B7F9118>103 D<FF0000FF00001F00001F00001F00001F
00001F00001F00001F00001F00001F00001F1FE01F7FF01FF1F81FC0F81F80F81F00F81F00F81F
00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF181D7F9C1B>I<
1E003F007F007F007F003F001E0000000000000000000000FF00FF001F001F001F001F001F001F
001F001F001F001F001F001F001F001F00FFE0FFE00B1E7F9D0E>I<00F801FC01FC01FC01FC01
FC00F80000000000000000000003FC03FC007C007C007C007C007C007C007C007C007C007C007C
007C007C007C007C007C007C007C707CF87CF8FCF9F87FF03F800E26839D0F>I<FF0000FF0000
1F00001F00001F00001F00001F00001F00001F00001F00001F00001F0FF81F0FF81F03801F0F00
1F1E001F3C001F78001FF8001FFC001FFE001F3E001F1F001F1F801F0F801F07C01F03E0FFC7FC
FFC7FC161D7F9C19>I<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B1D7F9C0E>I<FF1FE0
FF00FF7FF3FF801FF1FF8FC01FC0FE07C01F80FC07C01F00F807C01F00F807C01F00F807C01F00
F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C0FF
E7FF3FF8FFE7FF3FF825127F9128>I<FF1FE0FF7FF01FF1F81FC0F81F80F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF18127F911B>I<01
FC000FFF801F07C03E03E07C01F07C01F0FC01F8FC01F8FC01F8FC01F8FC01F8FC01F87C01F07C
01F03E03E01F07C00FFF8001FC0015127F9118>I<FF3FC0FFFFF01FE3F81F80FC1F00FC1F00FE
1F007E1F007E1F007E1F007E1F007E1F007E1F00FE1F00FC1F81FC1FE3F81FFFF01F3FC01F0000
1F00001F00001F00001F00001F0000FFE000FFE000171A7F911B>I<FE3E00FEFF801EEF801FCF
801F8F801F87001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0000FFF0
00FFF00011127F9114>114 D<1FF87FF87078E018E018F000FF80FFF07FF83FF80FFC007CC03C
E01CE01CF878FFF8CFE00E127E9113>I<030003000300070007000F000F003F00FFFCFFFC1F00
1F001F001F001F001F001F001F001F001F0C1F0C1F0C1F0C1F9C0FF803F00E1A7F9913>I<FF07
F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F01
F81F01F81F87F80FFFFF03FCFF18127F911B>I<FFC1FCFFC1FC1F00601F80E00F80C00FC0C007
C18007C18003E30003E30001F60001F60001FE0000FC0000FC0000780000780000300016127F91
19>I<FF8FF8FEFF8FF8FE1F03E0301F03E0301F83E0700F83F0600F86F06007C6F0C007CEF8C0
07EC79C003EC7D8003F83D8001F83F0001F83F0001F01F0000F01E0000E00E0000E00E001F127F
9122>I<FFC7FCFFC7FC1F81800F838007C70003EE0001FC0001F80000F800007C0000FE0001DF
00039F00070F800607C00C03E0FF07FCFF07FC16127F9119>I<FFC1FCFFC1FC1F00601F80E00F
80C00FC0C007C18007C18003E30003E30001F60001F60001FE0000FC0000FC0000780000780000
3000003000006000706000F8E000C0C000E380007F00003E0000161A7F9119>I<3FFF803FFF80
3C3F80307F00707E0060FC0061FC0063F80003F00007E1800FE1801FC1801F83803F03007F0700
FE0F00FFFF00FFFF0011127F9115>I E /Fk 69 123 df<003F1F8001FFFFC003C3F3C00783E3
C00F03E3C00E01C0000E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC00FFFFFC000E01
C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E
01C0000E01C0000E01C0000E01C0007F87FC007F87FC001A1D809C18>11
D<003F0001FF8003C3C00783C00F03C00E03C00E00000E00000E00000E00000E0000FFFFC0FFFF
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C07F87F87F87F8151D809C17>I<003FC001FFC003C3C00783C00F03C00E01C00E01C00E
01C00E01C00E01C00E01C0FFFFC0FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C07FCFF87FCFF8151D809C17>I<003F83F00001
FFDFF80003E1FC3C000781F83C000F01F03C000E01E03C000E00E000000E00E000000E00E00000
0E00E000000E00E00000FFFFFFFC00FFFFFFFC000E00E01C000E00E01C000E00E01C000E00E01C
000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E0
1C000E00E01C000E00E01C007FC7FCFF807FC7FCFF80211D809C23>I<7070F8F8FCFCFCFC7C7C
0C0C0C0C1C1C181838387070F0F060600E0D7F9C15>34 D<00F0000001F80000039C0000070C00
00070C0000070C0000070C0000071C0000071C0000073800000770000007F07FE003E07FE003C0
1F0007C00E000FC01C001FC018003DE0380078F0300070F07000F0786000F03CE000F03FC000F0
1F8000F80F0060780FC0E07C3FE1C03FF9FF800FE03F001B1D7E9C20>38
D<70F8FCFC7C0C0C1C183870F060060D7D9C0C>I<01C00380038007000E000C001C0018003800
38007000700070007000E000E000E000E000E000E000E000E000E000E000E000E000E000E00070
007000700070003800380018001C000C000E0007000380038001C00A2A7D9E10>I<E000700070
0038001C000C000E00060007000700038003800380038001C001C001C001C001C001C001C001C0
01C001C001C001C001C001C003800380038003800700070006000E000C001C00380070007000E0
000A2A7E9E10>I<70F8F8F878181818383070E060050D7D840C>44 D<FFE0FFE0FFE00B038089
0E>I<70F8F8F87005057D840C>I<030007003F00FF00C700070007000700070007000700070007
00070007000700070007000700070007000700070007000700FFF8FFF80D1B7C9A15>49
D<0FE03FF878FC603EF01EF81FF80FF80F700F000F001F001E003E003C007800F001E001C00380
07000E031C0338037006FFFEFFFEFFFE101B7E9A15>I<0FE03FF8387C783E7C1E781E781E001E
003C003C00F807F007E00078003C001E000F000F000F700FF80FF80FF81EF01E787C3FF80FE010
1B7E9A15>I<001C00001C00003C00007C00007C0000DC0001DC00039C00031C00071C000E1C00
0C1C00181C00381C00301C00601C00E01C00FFFFC0FFFFC0001C00001C00001C00001C00001C00
001C0001FFC001FFC0121B7F9A15>I<301C3FFC3FF83FE030003000300030003000300037E03F
F83C3C381E301E000F000F000F000FF00FF00FF00FF01E703E787C3FF80FE0101B7E9A15>I<01
F807FC0F8E1E1E3C1E381E781E78007000F080F7F8FFFCFC1CF81EF80FF00FF00FF00FF00FF00F
700F700F781E381E1E3C0FF807E0101B7E9A15>I<6000007FFF807FFF807FFF80600700C00600
C00E00C01C0000380000300000700000600000E00000C00001C00001C00003C000038000038000
038000078000078000078000078000078000078000078000078000111C7E9B15>I<07E01FF83C
3C381E701E700E700E780E7C1E7F3C3FF81FF00FF01FFC3DFC787E703FF00FE00FE007E007E007
F00E781E3C3C1FF807E0101B7E9A15>I<07E01FF83C38781C781EF00EF00EF00FF00FF00FF00F
F00FF01F781F383F3FFF1FEF010F000E001E781E781C783C787878F03FE01F80101B7E9A15>I<
70F8F8F870000000000000000070F8F8F87005127D910C>I<70F8F8F870000000000000000070
F8F8F878181818383070E060051A7D910C>I<00060000000F0000000F0000000F0000001F8000
001F8000001F8000003FC0000033C0000033C0000073E0000061E0000061E00000E1F00000C0F0
0000C0F00001C0F8000180780001FFF80003FFFC0003003C0003003C0007003E0006001E000600
1E001F001F00FFC0FFF0FFC0FFF01C1C7F9B1F>65 D<FFFFC0FFFFF00F00F80F003C0F001C0F00
1E0F001E0F001E0F001E0F001C0F003C0F00780FFFF00FFFE00F00F80F003C0F001E0F001E0F00
0F0F000F0F000F0F000F0F000F0F001E0F003E0F007CFFFFF8FFFFC0181C7E9B1D>I<003FC180
01FFF18003F07B800FC01F801F000F801E0007803C0003807C0003807800038078000180F00001
80F0000000F0000000F0000000F0000000F0000000F0000000F000000078000180780001807C00
01803C0003801E0003001F0007000FC00E0003F03C0001FFF000003FC000191C7E9B1E>I<FFFF
C000FFFFF0000F007C000F001E000F000F000F0007000F0003800F0003C00F0003C00F0001C00F
0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001C00F0001C0
0F0003C00F0003800F0007800F000F000F001E000F007C00FFFFF000FFFFC0001B1C7E9B20>I<
FFFFFCFFFFFC0F007C0F001C0F000C0F000E0F00060F03060F03060F03060F03000F07000FFF00
0FFF000F07000F03000F03000F03030F03030F00030F00060F00060F00060F000E0F001E0F007C
FFFFFCFFFFFC181C7E9B1C>I<FFFFF8FFFFF80F00780F00380F00180F001C0F000C0F000C0F03
0C0F030C0F03000F03000F07000FFF000FFF000F07000F03000F03000F03000F03000F00000F00
000F00000F00000F00000F0000FFF800FFF800161C7E9B1B>I<003FC18001FFF18003F07B800F
C01F801F000F801E0007803C0003807C0003807800038078000180F0000180F0000000F0000000
F0000000F0000000F0000000F000FFF0F000FFF078000780780007807C0007803C0007801E0007
801F0007800FC00F8003F03F8001FFFB80003FE1801C1C7E9B21>I<FFF3FFC0FFF3FFC00F003C
000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000FFF
FC000FFFFC000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F
003C000F003C000F003C000F003C00FFF3FFC0FFF3FFC01A1C7E9B1F>I<FFF0FFF00F000F000F
000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F00FFF0FFF00C1C7F9B0F>I<FFF800FFF8000F00000F00000F00000F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00180F00180F00180F0018
0F00380F00300F00700F00F00F01F0FFFFF0FFFFF0151C7E9B1A>76 D<FF8000FF80FFC001FF80
0FC001F8000FC001F8000DE00378000DE00378000DE00378000CF00678000CF00678000CF00678
000C780C78000C780C78000C780C78000C3C1878000C3C1878000C3C1878000C1E3078000C1E30
78000C1E3078000C0F6078000C0F6078000C0F6078000C07C078000C07C078000C07C078001E03
807800FFC387FF80FFC387FF80211C7E9B26>I<FF00FFC0FF80FFC00FC01E000FC00C000FE00C
000DE00C000DF00C000CF80C000CF80C000C7C0C000C3C0C000C3E0C000C1E0C000C1F0C000C0F
8C000C078C000C07CC000C03CC000C03EC000C01FC000C00FC000C00FC000C007C000C007C000C
003C001E001C00FFC01C00FFC00C001A1C7E9B1F>I<003F800001FFF00003E0F80007001C000E
000E001C0007003C00078038000380780003C0700001C0F00001E0F00001E0F00001E0F00001E0
F00001E0F00001E0F00001E0F00001E0780003C0780003C0380003803C0007801E000F000E000E
0007803C0003E0F80001FFF000003F80001B1C7E9B20>I<FFFF80FFFFE00F00F00F00380F003C
0F001E0F001E0F001E0F001E0F001E0F001E0F003C0F00380F00F00FFFE00FFF800F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F0000FFF000FFF000171C7E9B1C>I<FFFF
0000FFFFE0000F00F0000F0038000F003C000F001E000F001E000F001E000F001E000F001E000F
003C000F0038000F00F0000FFFE0000FFFC0000F03F0000F00F0000F00F8000F0078000F007800
0F0078000F0078000F0078000F0078000F007C300F007E70FFF03FE0FFF00FC01C1C7E9B1F>82
D<07F1801FFD803C1F80700780700380E00380E00180E00180F00000F80000FE00007FE0003FFC
001FFE000FFF0000FF80000F800007C00003C00001C0C001C0C001C0E001C0E00380F00780FE0F
00DFFE00C7F800121C7E9B17>I<7FFFFFC07FFFFFC0780F03C0700F01C0600F00C0E00F00E0C0
0F0060C00F0060C00F0060C00F0060000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
0003FFFC0003FFFC001B1C7F9B1E>I<FFF0FFC0FFF0FFC00F001E000F000C000F000C000F000C
000F000C000F000C000F000C000F000C000F000C000F000C000F000C000F000C000F000C000F00
0C000F000C000F000C000F000C000F000C000F000C000F001C00078018000780380003C0700001
F0F00000FFC000003F80001A1C7E9B1F>I<FFE0FFE1FFFFE0FFE1FF1F001E007C0F001E00380F
003F00300F003F003007803F00600780678060078067806007C06780E003C0C3C0C003C0C3C0C0
03C0C3C0C001E1C3E18001E181E18001E181E18000F181E30000F300F30000F300F30000FB00F7
00007E007E00007E007E00007E007E00003E007C00003C003C00003C003C00001C003800001800
1800281C7F9B2B>87 D<18183C3C383870706060E0E0C0C0C0C0F8F8FCFCFCFC7C7C38380E0D7B
9C15>92 D<1FE0003FF8003C3C003C1E00180E00000E00001E0007FE003FFE007E0E00F80E00F8
0E00F00E60F00E60F81E607C7E607FFFC01FC78013127F9115>97 D<FC0000FC00001C00001C00
001C00001C00001C00001C00001C00001C00001C00001CFE001FFF801F87C01E03E01C01E01C00
F01C00F01C00F01C00F01C00F01C00F01C00F01C01E01E01E01E03C01F87C01BFF8018FE00141D
7F9C17>I<07F80FFC3E3C3C3C78187800F000F000F000F000F000F000780078063C0E3F1C0FF8
07F00F127F9112>I<001F80001F80000380000380000380000380000380000380000380000380
00038007F3801FFF803E1F807C0780780380F80380F00380F00380F00380F00380F00380F00380
F003807807807C0F803E1F801FFBF007E3F0141D7F9C17>I<07E01FF83E7C781C781EF01EFFFE
FFFEF000F000F000F000780078063C0E3F1C0FF807F00F127F9112>I<00FC03FE079E071E0F1E
0E000E000E000E000E000E00FFE0FFE00E000E000E000E000E000E000E000E000E000E000E000E
000E000E007FE07FE00F1D809C0D>I<07E7C01FFFC03C3DC0781E00781E00781E00781E00781E
00781E003C3C003FF80037E0007000007000007800003FFC003FFF007FFF807807C0F003C0E001
C0E001C0F003C0F807C07C0F801FFE0007F800121B7F9115>I<FC0000FC00001C00001C00001C
00001C00001C00001C00001C00001C00001C00001CFE001DFF001F8F801F07801E03801C03801C
03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9FF0FF9FF0141D7F9C
17>I<3C007C007C007C003C00000000000000000000000000FC00FC001C001C001C001C001C00
1C001C001C001C001C001C001C001C001C00FF80FF80091D7F9C0C>I<01C003E003E003E001C0
0000000000000000000000000FE00FE000E000E000E000E000E000E000E000E000E000E000E000
E000E000E000E000E000E000E000E0F0E0F1E0F3C0FF807E000B25839C0D>I<FC0000FC00001C
00001C00001C00001C00001C00001C00001C00001C00001C00001C7FC01C7FC01C3E001C3C001C
78001CF0001DE0001FE0001FF0001FF0001E78001C7C001C3C001C1E001C1E001C0F00FF9FE0FF
9FE0131D7F9C16>I<FC00FC001C001C001C001C001C001C001C001C001C001C001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C00FF80FF80091D7F9C0C>I<FC7F07F0
00FDFF9FF8001F87F87C001F03F03C001E01E01C001C01C01C001C01C01C001C01C01C001C01C0
1C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00FF8F
F8FF80FF8FF8FF8021127F9124>I<FCFE00FDFF001F8F801F07801E03801C03801C03801C0380
1C03801C03801C03801C03801C03801C03801C03801C0380FF9FF0FF9FF014127F9117>I<03F0
000FFC001E1E00380700780780700380F003C0F003C0F003C0F003C0F003C0F003C07003807807
803807001E1E000FFC0003F00012127F9115>I<FCFE00FFFF801F87C01E03E01C01E01C01F01C
00F01C00F01C00F01C00F01C00F01C00F01C01E01E01E01E03C01F8FC01FFF801CFE001C00001C
00001C00001C00001C00001C0000FF8000FF8000141A7F9117>I<07F1801FF9803F1F803C0F80
780780780380F00380F00380F00380F00380F00380F00380F803807807807C0F803E1F801FFB80
07E380000380000380000380000380000380000380001FF0001FF0141A7F9116>I<FDF0FFF81F
781E781E301C001C001C001C001C001C001C001C001C001C001C00FFC0FFC00D127F9110>I<1F
B07FF0F0F0E070E030F030F8007FC07FE01FF000F8C078C038E038F078F8F0FFF0CFC00D127F91
10>I<0C000C000C000C000C001C001C003C00FFE0FFE01C001C001C001C001C001C001C001C00
1C301C301C301C301C301E700FE007C00C1A7F9910>I<FC1F80FC1F801C03801C03801C03801C
03801C03801C03801C03801C03801C03801C03801C03801C07801C0F801E1F800FFFF007F3F014
127F9117>I<FF0FE0FF0FE01C07801C07000E06000E06000E0600070C00070C00071C00039800
03980003F80001F00001F00000E00000E00000E00013127F9116>I<FF3FCFE0FF3FCFE03C0F07
801C0F03001C1F03000E1B06000E1B86000E1B86000E318E000731CC000731CC000760CC0003E0
F80003E0F80003E0F80001C0700001C0700001C070001B127F911E>I<7F8FF07F8FF00F0F8007
0F00038E0001DC0001D80000F00000700000780000F80001DC00038E00030E000707001F0780FF
8FF8FF8FF81512809116>I<FF0FE0FF0FE01C07801C07000E06000E06000E0600070C00070C00
071C0003980003980003F80001F00001F00000E00000E00000E00000C00000C00000C000F18000
F18000C700007E00003C0000131A7F9116>I<7FFC7FFC783C707860F061E061E063C00780078C
0F0C1E0C1E1C3C187818F078FFF8FFF80E127F9112>I E /Fl 43 123 df<3E007C007F00FE00
FF81FF00FF81FF00FFC1FF80FFC1FF80FFC1FF807FC0FF803EC07D8000C0018000C0018001C003
8001800300018003000380070007000E0006000C000E001C001C00380038007000300060001915
7EA924>34 D<0003F0000000000FFC000000001F1C000000003E0E000000007C0F00000000FC07
00000000FC0700000001F80700000001F80700000001F80700000001FC0E00000001FC0E000000
01FC1C00000001FC3800000001FC7000000001FEF0007FFC00FFE0007FFC00FF80007FFC00FF00
00078000FF00000F00007F80000E00007F80001E00007FC0003C0001FFC000380003FFE0007800
079FF000F0000F8FF000E0001F0FF801E0003F07FC03C0007F03FE0780007F03FF0F0000FF01FF
0E0000FF00FF9E0000FF007FFC0000FF803FF80000FF801FF000387F800FFC00387FC01FFE0070
3FE07FFF81F01FFFFC7FFFE007FFF01FFFC000FF8001FE002E2A7DA935>38
D<3E007F00FF80FF80FFC0FFC0FFC07FC03EC000C000C001C0018001800380070006000E001C00
380030000A157B8813>44 D<FFFF80FFFF80FFFF80FFFF80FFFF80FFFF8011067F9017>I<003F
800001FFF00007E0FC000FC07E001F803F001F803F003F001F803F001F807F001FC07F001FC07F
001FC07F001FC0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0
FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE07F001FC07F001FC07F001F
C07F001FC03F001F803F001F801F803F001F803F000FC07E0007E0FC0001FFF000003F80001B27
7DA622>48 D<000700000F00007F0007FF00FFFF00FFFF00F8FF0000FF0000FF0000FF0000FF00
00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF007FFFFE
7FFFFE7FFFFE17277BA622>I<00FFC00007FFF8001FFFFE003F03FF007E00FF807F007FC0FF80
7FC0FF803FE0FF803FE0FF803FE0FF801FE07F001FE03E003FE000003FE000003FC000003FC000
007F8000007F800000FF000001FE000001FC000003F8000007E000000FC000001F8000003E00E0
007C00E0007800E000F001C001E001C0038001C007FFFFC00FFFFFC01FFFFFC03FFFFFC07FFFFF
80FFFFFF80FFFFFF80FFFFFF801B277DA622>I<007FC00003FFF00007FFFC000FC1FE001F80FF
003FC0FF003FE07F803FE07F803FE07F803FE07F803FE07F801FC0FF800F80FF000000FF000001
FE000003FC000007F00000FFC00000FFF8000001FE000000FF0000007F8000007FC000003FC000
003FE01E003FE07F803FE07F803FE0FFC03FE0FFC03FE0FFC03FE0FFC03FC0FFC07FC07F807F80
7F00FF803F81FF001FFFFC0007FFF80000FFC0001B277DA622>I<0000070000000F0000001F00
00003F0000007F000000FF000000FF000001FF000003FF0000077F00000F7F00000E7F00001C7F
0000387F0000707F0000F07F0000E07F0001C07F0003807F0007007F000F007F000E007F001C00
7F0038007F0070007F00E0007F00FFFFFFF8FFFFFFF8FFFFFFF80000FF000000FF000000FF0000
00FF000000FF000000FF000000FF00007FFFF8007FFFF8007FFFF81D277EA622>I<0C0007000F
C03F000FFFFE000FFFFE000FFFFC000FFFF8000FFFF0000FFFC0000FFF00000E0000000E000000
0E0000000E0000000E0000000E0000000E7FC0000FFFF8000FC1FE000E007F000C007F8000003F
8000003FC000003FC000003FE000003FE03E003FE07F003FE0FF803FE0FF803FE0FF803FE0FF80
3FC0FF003FC07E007FC078007F803C00FF001F83FE000FFFFC0007FFF00000FF80001B277DA622
>I<0007F800003FFC0000FFFE0001FE1F0007F81F000FE03F800FC07F801FC07F803F807F803F
807F807F803F007F001E007F0000007F000000FF000000FF1FE000FF3FF800FF70FE00FFE03F00
FFC03F80FF801FC0FF801FC0FF801FC0FF001FE0FF001FE0FF001FE0FF001FE07F001FE07F001F
E07F001FE07F001FE03F801FC03F801FC01F803F800FC03F8007F0FF0003FFFC0001FFF800007F
E0001B277DA622>I<380000003E0000003FFFFFF03FFFFFF03FFFFFF03FFFFFE07FFFFFC07FFF
FF807FFFFF807FFFFF0070001E0070003C0070007800E0007000E000F000E001E0000003C00000
07C00000078000000F8000000F0000001F0000003F0000003F0000003F0000007E0000007E0000
00FE000000FE000000FE000000FE000001FE000001FE000001FE000001FE000001FE000001FE00
0001FE000001FE000000FC0000007800001C297CA822>I<007FC00001FFF80007FFFC000FC0FE
000F003F001E001F001E001F803E000F803E000F803F000F803FC00F803FF01F803FF81F003FFE
3F001FFFFE001FFFFC000FFFF00007FFFC0003FFFE0003FFFF000FFFFF801FBFFFC03F0FFFC07E
03FFE07C00FFE0FC007FE0F8001FE0F80007E0F80007E0F80003E0F80003E0FC0003C07C0007C0
7E0007803F000F801FC07F000FFFFE0007FFF80000FFC0001B277DA622>I<007FC00003FFF000
07FFFC000FE0FE001FC07E003F803F007F003F807F003F80FF001FC0FF001FC0FF001FC0FF001F
C0FF001FE0FF001FE0FF001FE0FF001FE07F003FE07F003FE07F003FE03F807FE01F80FFE00FE1
DFE003FF9FE000FF1FE000001FE000001FC000001FC00F001FC01F803FC03FC03F803FC03F803F
C07F003FC07F003F80FE001F01FC001F07F8000FFFE00007FFC00001FE00001B277DA622>I<00
007FF801800007FFFE0780001FFFFF8F80007FF80FFF8000FF8001FF8003FE00007F8007FC0000
3F8007F800001F800FF000000F801FE000000F803FE0000007803FC0000007807FC0000003807F
C0000003807FC000000380FF8000000000FF8000000000FF8000000000FF8000000000FF800000
0000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000007F
C0000000007FC0000003807FC0000003803FC0000003803FE0000003801FE0000007800FF00000
070007F800000F0007FC00001E0003FE00003C0000FF8000F800007FF807F000001FFFFFC00000
07FFFF000000007FF8000029297CA832>67 D<00007FF003000007FFFE0F00001FFFFF9F00007F
F00FFF0000FF8003FF0003FE0000FF0007FC00007F000FF800003F000FF000001F001FE000001F
003FE000000F003FC000000F007FC0000007007FC0000007007FC000000700FF8000000000FF80
00000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
00FF8000000000FF8003FFFFF8FF8003FFFFF87FC003FFFFF87FC00001FF007FC00001FF003FC0
0001FF003FE00001FF001FE00001FF000FF00001FF000FF80001FF0007FC0001FF0003FE0003FF
0000FF8003FF00007FF01FFF00001FFFFF3F000007FFFE1F0000007FF007002D297CA836>71
D<FFFFFEFFFFFEFFFFFE01FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF
0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF
0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF00FFFF
FEFFFFFEFFFFFE17297FA81A>73 D<FFFF0000003FFFC0FFFF0000003FFFC0FFFF8000007FFFC0
03FF8000007FF00003FF8000007FF00003BFC00000EFF00003BFC00000EFF000039FE00001CFF0
00039FE00001CFF000038FF000038FF000038FF000038FF000038FF000038FF0000387F800070F
F0000387F800070FF0000383FC000E0FF0000383FC000E0FF0000381FE001C0FF0000381FE001C
0FF0000381FE001C0FF0000380FF00380FF0000380FF00380FF00003807F80700FF00003807F80
700FF00003803FC0E00FF00003803FC0E00FF00003803FC0E00FF00003801FE1C00FF00003801F
E1C00FF00003800FF3800FF00003800FF3800FF000038007FF000FF000038007FF000FF0000380
07FF000FF000038003FE000FF000038003FE000FF000038001FC000FF000038001FC000FF00003
8000F8000FF000FFFE00F803FFFFC0FFFE00F803FFFFC0FFFE007003FFFFC03A297DA841>77
D<0000FFE000000007FFFC0000003FC07F8000007F001FC00001FC0007F00003F80003F80007F0
0001FC000FF00001FE001FE00000FF001FE00000FF003FC000007F803FC000007F807FC000007F
C07F8000003FC07F8000003FC07F8000003FC0FF8000003FE0FF8000003FE0FF8000003FE0FF80
00003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003F
E07F8000003FC07FC000007FC07FC000007FC03FC000007F803FC000007F801FE00000FF001FE0
0000FF000FF00001FE0007F00001FC0003F80003F80001FC0007F00000FF001FE000003FC07F80
00000FFFFE00000000FFE000002B297CA834>79 D<FFFFFFE00000FFFFFFFE0000FFFFFFFF8000
03FE007FE00003FE000FF00003FE0007F80003FE0007FC0003FE0003FC0003FE0003FE0003FE00
03FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FC0003FE0007F800
03FE0007F80003FE001FE00003FE007FC00003FFFFFE000003FFFFFC000003FE01FF000003FE00
7FC00003FE007FE00003FE003FE00003FE003FF00003FE001FF00003FE001FF00003FE001FF000
03FE001FF00003FE001FF00003FE001FF00003FE001FF00003FE001FF00003FE001FF00703FE00
1FF00703FE000FF80703FE000FF80FFFFFF807FE1EFFFFF801FFFCFFFFF8003FF030297DA834>
82 D<00FF806003FFF0E00FFFFFE01FC0FFE03F001FE03E0007E07E0003E07C0003E0FC0001E0
FC0001E0FC0000E0FE0000E0FF0000E0FF800000FFF80000FFFFC0007FFFF8007FFFFE003FFFFF
801FFFFFC00FFFFFC007FFFFE001FFFFF0003FFFF00003FFF800001FF800000FF8000007F8E000
03F8E00001F8E00001F8E00001F8F00001F8F00001F0F80003F0FC0003E0FF0007E0FFE01FC0FF
FFFF80E1FFFE00C03FF8001D297CA826>I<0300060007000E000E001C001C0038001800300038
0070007000E0006000C0006000C000E001C000C0018000C0018000DF01BE00FF81FF00FFC1FF80
FFC1FF80FFC1FF807FC0FF807FC0FF803F807F001F003E00191578A924>92
D<03FFC0000FFFF0001F81FC003FC0FE003FC07F003FC07F003FC03F803FC03F801F803F800000
3F8000003F80001FFF8001FFFF8007FE3F801FE03F803FC03F807F803F807F003F80FE003F80FE
003F80FE003F80FE007F80FF007F807F00FFC03FC3DFFC1FFF8FFC03FE07FC1E1B7E9A21>97
D<003FF80001FFFE0007F83F000FE07F801FC07F803F807F803F807F807F807F807F003F00FF00
0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000007F0000007F
8000003F8001C03FC001C01FC003C00FE0078007F83F0001FFFC00003FF0001A1B7E9A1F>99
D<00003FF80000003FF80000003FF800000003F800000003F800000003F800000003F800000003
F800000003F800000003F800000003F800000003F800000003F800000003F800000003F800003F
E3F80001FFFBF80003F83FF8000FE00FF8001FC007F8003F8003F8003F8003F8007F8003F8007F
0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800
FF0003F800FF0003F8007F0003F8007F0003F8003F8003F8003F8007F8001FC00FF8000FE01FF8
0007F07FFF8001FFFBFF80003FC3FF80212A7EA926>I<003FE00001FFFC0007F07E000FE03F00
1FC01F803F800FC03F800FC07F000FC07F0007E0FF0007E0FF0007E0FF0007E0FFFFFFE0FFFFFF
E0FF000000FF000000FF000000FF0000007F0000007F8000003F8000E03F8001E01FC001C00FE0
07C003F81F8001FFFE00003FF8001B1B7E9A20>I<000FF800003FFE0000FF3F0001FC7F8003F8
7F8003F87F8007F07F8007F07F8007F03F0007F0000007F0000007F0000007F0000007F0000007
F00000FFFFC000FFFFC000FFFFC00007F0000007F0000007F0000007F0000007F0000007F00000
07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
0007F0000007F0000007F0000007F0000007F000007FFF80007FFF80007FFF8000192A7EA915>
I<00FF81F007FFF7FC0FE3FF7C1F80FCFC3F80FE7C3F007E787F007F007F007F007F007F007F00
7F007F007F007F007F003F007E003F80FE001F80FC000FE3F8001FFFF00018FF8000380000003C
0000003C0000003E0000003FFFFC003FFFFF001FFFFFC00FFFFFE007FFFFF03FFFFFF07E000FF8
7C0001F8F80001F8F80000F8F80000F8F80000F8FC0001F87E0003F03F0007E01FE03FC007FFFF
0000FFF8001E287E9A22>I<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE0
0000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000F
E00000000FE00000000FE0FF00000FE3FFC0000FE787E0000FEE07F0000FFC03F8000FF803F800
0FF003F8000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8
000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003
F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80212A7DA926>I<0F801FC01F
E03FE03FE03FE01FE01FC00F800000000000000000000000000000FFE0FFE0FFE00FE00FE00FE0
0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFF
FEFFFE0F2B7DAA14>I<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
E00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
0FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2A7DA914>108 D<FFC07F800FF000FFC1FFE03FFC00
FFC7C3F0F87E000FCF03F9E07F000FDC01FB803F000FF801FF003F800FF001FE003F800FF001FE
003F800FF001FE003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800F
E001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC00
3F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F80FFFE
1FFFC3FFF8FFFE1FFFC3FFF8FFFE1FFFC3FFF8351B7D9A3A>I<FFC0FF0000FFC3FFC000FFC787
E0000FCE07F0000FDC03F8000FF803F8000FF003F8000FF003F8000FF003F8000FE003F8000FE0
03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F
E003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80
FFFE3FFF80211B7D9A26>I<003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007
E07F0007F07F0007F07F0007F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF00
07F8FF0007F87F0007F07F0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001FFFC0000
3FE0001D1B7E9A22>I<FFE3FE0000FFEFFFC000FFFF0FF0000FFC03F8000FF001FC000FE001FE
000FE000FE000FE000FF000FE000FF000FE0007F800FE0007F800FE0007F800FE0007F800FE000
7F800FE0007F800FE0007F800FE0007F800FE0007F800FE000FF000FE000FF000FE000FE000FF0
01FE000FF003FC000FF807F8000FFE0FE0000FEFFFC0000FE3FE00000FE00000000FE00000000F
E00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000000FFFE000000
FFFE000000FFFE00000021277E9A26>I<FFC7F0FFCFFCFFDC7E0FD8FF0FF8FF0FF0FF0FF0FF0F
F0FF0FE07E0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000F
E0000FE0000FE0000FE000FFFF00FFFF00FFFF00181B7E9A1C>114 D<03FE701FFFF03E03F078
01F07000F0F00070F00070F80070FE0000FFF000FFFF007FFFC03FFFE01FFFF007FFF800FFFC00
07FC0000FCE0007CE0003CF0003CF0003CF80078FC0078FF01F0FFFFC0E1FF00161B7E9A1B>I<
00700000700000700000700000F00000F00000F00001F00003F00003F00007F0001FFFF0FFFFF0
FFFFF007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000
07F00007F03807F03807F03807F03807F03807F03807F03803F87001FCF000FFE0003FC015267F
A51B>I<FFE03FF800FFE03FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE003F800
0FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8
000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE007F8000FE007F8000FE00F
F80007E01FF80003F83BFF8001FFF3FF80007FE3FF80211B7D9A26>I<FFFE03FF80FFFE03FF80
FFFE03FF8007F000700007F000700007F800F00003F800E00003FC01E00001FC01C00001FC01C0
0000FE03800000FE038000007F070000007F070000007F8F0000003F8E0000003FDE0000001FDC
0000001FDC0000000FF80000000FF80000000FF800000007F000000007F000000003E000000003
E000000001C00000211B7F9A24>I<FFFC0FFF00FFFC0FFF00FFFC0FFF0007F003C00003F80780
0001FC07800000FE0F000000FF1E0000007F3C0000003FF80000001FF00000000FF00000000FF0
00000007F000000007F80000000FFC0000001FFE0000001EFE0000003C7F000000783F800000F0
1FC00001E01FE00001C00FE00003C007F000FFF01FFF80FFF01FFF80FFF01FFF80211B7F9A24>
120 D<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007F000700007F800F00003F800E00003
FC01E00001FC01C00001FC01C00000FE03800000FE038000007F070000007F070000007F8F0000
003F8E0000003FDE0000001FDC0000001FDC0000000FF80000000FF80000000FF800000007F000
000007F000000003E000000003E000000001C000000001C0000000038000000003800000380780
00007C07000000FE0F000000FE0E000000FE1E000000FE3C0000007C780000003FE00000000FC0
00000021277F9A24>I<3FFFFF803FFFFF803F00FF803C00FF003801FE007803FC007807FC0070
07F800700FF000701FE000001FE000003FC000007F800000FF800000FF000001FE038003FC0380
03FC038007F803800FF007801FF007801FE007003FC00F007F801F00FF807F00FFFFFF00FFFFFF
00191B7E9A1F>I E /Fm 28 122 df<70F8FCFC7C0C0C0C1C18183870E0E0060F7C840E>44
D<018003800F80FF80F38003800380038003800380038003800380038003800380038003800380
038003800380038003800380038003800380038003800380FFFEFFFE0F217CA018>49
D<03F8000FFE003C3F00380F807007C06007C0E003E0F803E0F803E0F801E0F801E07003E00003
E00003C00007C00007C0000F80000F00001E00003C0000780000F00000E00001C0000380000700
600E00601C00603800E07000C0FFFFC0FFFFC0FFFFC013217EA018>I<03F8000FFE001E1F0038
0F807007C07807C07C07C07807C07807C00007C00007C0000780000F80001F00003E0003FC0003
F800001E00000F000007800007C00003E00003E07003E0F803E0F803E0F803E0F803E0E007C070
07C0780F803E1F000FFE0003F80013227EA018>I<03F8000FFC001F1E003C0700380780780380
7003C0F003C0F001C0F001C0F001E0F001E0F001E0F001E0F001E0F003E07803E07803E03C07E0
3E0FE01FFDE007F9E00081E00001C00003C00003C0000380780780780700780F00781E00787C00
3FF8000FE00013227EA018>57 D<000180000003C0000003C0000003C0000007E0000007E00000
07E000000FF000000CF000000CF000001CF800001878000018780000383C0000303C0000303C00
00601E0000601E0000601E0000C00F0000C00F0000C00F0001FFFF8001FFFF8001800780030003
C0030003C0030003C0060001E0060001E0060001E00E0000F01F0001F0FFC00FFFFFC00FFF2023
7EA225>65 D<000FF030007FFC3000FC1E7003F0077007C003F00F8001F01F0001F01F0000F03E
0000F03C0000707C0000707C0000707C000030F8000030F8000030F8000000F8000000F8000000
F8000000F8000000F8000000F8000000F80000307C0000307C0000307C0000303E0000703E0000
601F0000E01F0000C00F8001C007C0038003F0070000FC1E00007FFC00000FF0001C247DA223>
67 D<03FFF003FFF0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00F80F00F80F00F80F00F81F00F01E00703E00787C003FF8000FE00014237EA119>74
D<FFFE0000FFFE0000078000000780000007800000078000000780000007800000078000000780
000007800000078000000780000007800000078000000780000007800000078000000780000007
800000078000000780018007800180078001800780018007800380078003800780030007800700
0780070007800F0007803F00FFFFFF00FFFFFF0019227EA11E>76 D<FFC00003FFFFE00007FF07
E00007E007E00007E006F0000DE006F0000DE006F0000DE006780019E006780019E006780019E0
063C0031E0063C0031E0063C0031E0061E0061E0061E0061E0061E0061E0060F00C1E0060F00C1
E006078181E006078181E006078181E00603C301E00603C301E00603C301E00601E601E00601E6
01E00601E601E00600FC01E00600FC01E00600FC01E006007801E01F807801E0FFF0783FFFFFF0
303FFF28227EA12D>I<07F0600FFE601E1FE03807E07003E07001E0E000E0E000E0E00060E000
60F00060F00000F800007C00007F00003FF0001FFE000FFF8003FFC0007FC00007E00001E00001
F00000F00000F0C00070C00070C00070E00070E000F0F000E0F801E0FC01C0FF0780C7FF00C1FC
0014247DA21B>83 D<1FF0003FFC003C3E003C0F003C0F00000700000700000F0003FF001FFF00
3F07007C0700F80700F80700F00718F00718F00F18F81F187C3FB83FF3F01FC3C015157E9418>
97 D<03FE000FFF801F07803E07803C0780780000780000F00000F00000F00000F00000F00000
F00000F000007800007800C03C01C03E01801F87800FFF0003FC0012157E9416>99
D<0000E0000FE0000FE00001E00000E00000E00000E00000E00000E00000E00000E00000E00000
E00000E003F8E00FFEE01F0FE03E03E07C01E07800E07800E0F000E0F000E0F000E0F000E0F000
E0F000E0F000E07000E07801E07801E03C03E01F0FF00FFEFE03F0FE17237EA21B>I<01FC0007
FF001F0F803E03C03C01C07801E07801E0FFFFE0FFFFE0F00000F00000F00000F00000F0000078
00007800603C00E03E01C00F83C007FF0001FC0013157F9416>I<0E0000FE0000FE00001E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E3F800EFFE00FE1E0
0F80F00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070
0E00700E00700E0070FFE7FFFFE7FF18237FA21B>104 D<1E003E003E003E001E000000000000
00000000000000000000000E00FE00FE001E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E00FFC0FFC00A227FA10E>I<01C003E003E003E001C00000000000000000
000000000000000001E00FE00FE001E000E000E000E000E000E000E000E000E000E000E000E000
E000E000E000E000E000E000E000E000E000E000E0F1E0F1C0F3C0FF803E000B2C82A10F>I<0E
0000FE0000FE00001E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E
00000E0FFC0E0FFC0E07E00E07800E07000E1E000E3C000E78000EF8000FFC000FFC000F1E000E
0F000E0F800E07800E03C00E03E00E01E00E01F0FFE3FEFFE3FE17237FA21A>I<0E00FE00FE00
1E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E000E000E000E000E000E00FFE0FFE00B237FA20E>I<0E3FC0FF00FEFF
F3FFC0FFE0F783C01F807E01E00F003C00E00F003C00E00E003800E00E003800E00E003800E00E
003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E0
0E003800E00E003800E0FFE3FF8FFEFFE3FF8FFE27157F942A>I<0E3F80FEFFE0FFE1E01F80F0
0F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070
0E00700E0070FFE7FFFFE7FF18157F941B>I<01FC0007FF000F07801C01C03800E07800F07000
70F00078F00078F00078F00078F00078F00078F000787000707800F03800E01C01C00F078007FF
0001FC0015157F9418>I<0E7EFEFFFFEF1F8F0F0F0F000F000E000E000E000E000E000E000E00
0E000E000E000E000E00FFF0FFF010157F9413>114 D<1FD83FF87878F038E018E018F018F800
7F807FE01FF003F8007CC03CC01CE01CE01CF03CF878FFF0CFE00E157E9413>I<060006000600
060006000E000E000E001E003E00FFF8FFF80E000E000E000E000E000E000E000E000E000E000E
0C0E0C0E0C0E0C0E0C0F1C073807F803E00E1F7F9E13>I<0E0070FE07F0FE07F01E00F00E0070
0E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00F00E00F00E01F0
0787F807FF7F01FC7F18157F941B>I<FFC3FEFFC3FE1E00F80E00700E00E00700C00700C00700
C003818003818003C38001C30001C30000E60000E60000E600007C00007C00007C000038000038
00003000003000007000006000006000F0C000F1C000F380007F00003E0000171F7F941A>121
D E /Fn 16 121 df<78FCFCFEFE7E06060606060E0C0C1C383870E0C007147A8512>44
D<00003FE0030001FFFC030007F01E07001F800787003E0001CF00FC0000EF01F800007F03F000
007F03E000003F07C000001F0FC000001F0F8000000F1F8000000F3F000000073F000000073E00
0000077E000000077E000000037E000000037C00000003FC00000000FC00000000FC00000000FC
00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000
7C000000007E000000037E000000037E000000033E000000033F000000073F000000061F800000
060F8000000E0FC000000C07C000001C03E000001803F000003801F800007000FC0000E0003F00
01C0001F8007800007F01F000001FFFC0000003FE00028337CB130>67 D<00003FF001800001FF
FC01800007F81F0380001FC0038380003F0001E780007C0000E78001F800007F8001F000003F80
03E000001F8007C000000F800FC000000F800F80000007801F80000007801F00000003803F0000
0003803E00000003807E00000003807E00000001807E00000001807C0000000180FC0000000000
FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000
000000FC0000000000FC0000000000FC00000FFFFC7E00000FFFFC7E0000001FC07E0000000F80
7E0000000F803E0000000F803F0000000F801F0000000F801F8000000F800F8000000F800FC000
000F8007E000000F8003E000000F8001F000001F8001F800001F80007E00003F80003F00007780
001FC001E3800007F80FC1800001FFFF008000003FF800002E337CB134>71
D<03FF00000FFFC0001E03F0003E00F8003E007C003E003C003E003E001C001E0000001E000000
1E0000001E0000001E000003FE00007FFE0003FF1E0007F01E001FC01E003F001E007E001E007C
001E00FC001E00F8001E0CF8001E0CF8001E0CF8003E0CFC007E0C7C007E0C7E01FF1C3F87CFB8
1FFF07F003FC03C01E1F7D9E21>97 D<003FE001FFF803E03C07C03E0F003E1F003E3E003E3C00
1C7C00007C0000780000F80000F80000F80000F80000F80000F80000F80000F80000F800007C00
007C00007C00003E00033E00071F00060F800E07C01C03F07801FFF0003F80181F7D9E1D>99
D<003F800001FFF00003E1F80007807C000F003E001E001E003E001F003C000F007C000F807C00
0F8078000F80F8000780FFFFFF80FFFFFF80F8000000F8000000F8000000F8000000F8000000F8
0000007C0000007C0000007C0000003E0001803E0003801F0003000F80070007E00E0003F83C00
00FFF800003FC000191F7E9E1D>101 D<0F001F801F801F801F800F0000000000000000000000
0000000000000000000000000780FF80FF800F8007800780078007800780078007800780078007
80078007800780078007800780078007800780078007800780078007800FC0FFF8FFF80D307EAF
12>105 D<0781FE003FC000FF87FF80FFF000FF9E0FC3C1F8000FB803E7007C0007F001EE003C
0007E001FC003E0007E000FC001E0007C000F8001E0007C000F8001E00078000F0001E00078000
F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00
078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0
001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E0007
8000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83FFF0341F7E9E38>109
D<0781FE0000FF87FF8000FF9E0FC0000FB803E00007F001E00007E001F00007E000F00007C000
F00007C000F000078000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F000078000F00007
8000F000078000F000078000F000078000F000078000F0000FC001F800FFFC1FFF80FFFC1FFF80
211F7E9E25>I<001FC00000FFF80001E03C0007800F000F0007801E0003C01E0003C03C0001E0
3C0001E0780000F0780000F0780000F0F80000F8F80000F8F80000F8F80000F8F80000F8F80000
F8F80000F8F80000F8780000F07C0001F03C0001E03C0001E01E0003C01E0003C00F00078007C0
1F0001F07C0000FFF800001FC0001D1F7E9E21>I<0781FE00FF87FF80FF9F0FE00FB803F007F0
01F807E000F807C0007C0780007C0780003E0780003E0780003E0780001F0780001F0780001F07
80001F0780001F0780001F0780001F0780001F0780003F0780003E0780003E0780007E07C0007C
07C000FC07E000F807F001F007B803E0079E0FC0078FFF800781FC000780000007800000078000
0007800000078000000780000007800000078000000780000007800000078000000FC00000FFFC
0000FFFC0000202D7E9E25>I<0787F0FF8FF8FFBC7C0FB87C07F07C07E07C07E00007C00007C0
0007C0000780000780000780000780000780000780000780000780000780000780000780000780
000780000780000780000780000780000780000FC000FFFE00FFFE00161F7E9E19>114
D<03FE300FFFF03E07F07801F07000F0E00070E00070E00030E00030F00030F800007F00007FF0
003FFF000FFFC003FFE0003FF00003F80000F8C0007CC0003CE0001CE0001CE0001CF0001CF800
38F80038FC00F0EF03F0C7FFC0C1FF00161F7E9E1A>I<00C00000C00000C00000C00000C00001
C00001C00001C00003C00003C00007C0000FC0001FC000FFFFE0FFFFE003C00003C00003C00003
C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003
C03003C03003C03003C03003C03003C03003C03003C07001E06001E0E000F9C000FFC0003F0014
2C7FAB19>I<078000F000FF801FF000FF801FF0000F8001F000078000F000078000F000078000
F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F000078000F00007
8001F000078001F000078001F000078003F00003C007F00003C00EF00001F03CF80000FFF8FF80
003FC0FF80211F7E9E25>I<FFF807FF00FFF807FF000FE003F80007E003E00003E003C00001E0
03800000F00700000078060000007C0C0000003C1C0000001E380000000F300000000FE0000000
07E000000003C000000003E000000003F000000007F00000000E780000000C7C000000183E0000
00381E000000700F000000600F800000C007C00001C003C00003C001E00007C001F0001FC003F8
00FFE007FFC0FFE007FFC0221F7F9E23>120 D E /Fo 5 85 df<00000000C00000000000E000
00000001E00000000003E00000000003E00000000007E00000000007E0000000000FE000000000
0FE0000000001FE0000000001FE00000000037E00000000067E00000000067E000000000C7E000
000000C7F00000000183F00000000183F00000000303F00000000703F00000000603F00000000C
03F00000000C03F00000001803F00000001803F00000003003F00000003003F00000006003F000
0000C003F0000000C003F00000018003F00000018003F8000003FFFFF8000003FFFFF800000600
01F800000E0001F800000C0001F80000180001F80000180001F80000300001F80000300001F800
00600001F80000E00001F80000C00001F80001C00001F80001C00001F80007C00001FC001FC000
03FC00FFF8007FFFE0FFF8007FFFE02B327BB135>65 D<000FFFFFFE0000000FFFFFFF80000000
00FFFFFFFC000000FFFFFFE000000031317BB036>68 D<000FFFFFFFFC000FFFFFFFFC00007F00
01FC00007E00007C00007E00003C00007E00003C00007E0000180000FC0000180000FC00001800
00FC0000180000FC0000180001F80000180001F80000180001F80000180001F80000180003F000
80100003F00180000003F00180000003F00180000007E00300000007E00300000007E007000000
07E01F0000000FFFFE0000000FFFFE0000000FC01E0000000FC00E0000001F800C0000001F800C
0000001F800C0000001F800C0000003F00180000003F00080000003F00000000003F0000000000
7E00000000007E00000000007E00000000007E0000000000FC0000000000FC0000000000FC0000
000000FC0000000001F80000000001F80000000001F80000000003F800000000FFFFF0000000FF
FFF00000002E317BB02F>70 D<000FFFFFF000000FFFFFFE0000007F003F8000007E000FC00000
7E0007E000007E0003F000007E0001F80000FC0001F80000FC0001F80000FC0001F80000FC0001
F80001F80003F80001F80003F80001F80003F80001F80003F00003F00007F00003F00007E00003
F0000FC00003F0000FC00007E0001F000007E0007E000007E000FC000007E007F000000FFFFFC0
00000FFFFF0000000FC00F8000000FC003C000001F8003E000001F8001F000001F8001F000001F
8001F800003F0001F800003F0001F800003F0001F800003F0001F800007E0003F800007E0003F8
00007E0003F000007E0003F00000FC0007F00000FC0007F00000FC0007F00800FC0007F00C01F8
0007F01801F80007F01801F80003F03003F80003F030FFFFE001F0E0FFFFE000FFC0000000003F
002E327BB034>82 D<07FFFFFFFFF00FFFFFFFFFF00FC00FE003F01E000FC000F01C000FC000E0
18000FC000E038000FC0006030001F8000E030001F8000E060001F8000C060001F8000C060003F
0000C0C0003F0000C0C0003F0000C0C0003F0000C080007E00008000007E00000000007E000000
00007E0000000000FC0000000000FC0000000000FC0000000000FC0000000001F80000000001F8
0000000001F80000000001F80000000003F00000000003F00000000003F00000000003F0000000
0007E00000000007E00000000007E00000000007E0000000000FC0000000000FC0000000000FC0
000000000FC0000000001F80000000001F80000000001F80000000001F80000000003F00000000
003F00000000003F0000000000FF00000000FFFFFF000000FFFFFF0000002C3173B033>84
D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300
TeXDict begin 
%%EndSetup
%%Page: 1 1
bop 795 220 a Fo(D)26 b(R)g(A)f(F)h(T)476 311 y Fn(Groups,)c(Con)n(texts,)f
(Comm)n(unicators)353 432 y Fm(Lyndon)c(Clark)o(e,)e(Mark)h(Sears,)g(An)o
(thon)o(y)g(Skjellum,)d(Marc)j(Snir)828 529 y(June)h(22,)f(1993)75
710 y Fl(1)69 b(In)n(tro)r(duction)75 826 y(2)g(Groups)75 918
y Fk(A)15 b Fj(group)e Fk(is)i(an)f(ordered)i(set)g(of)e(pro)q(cess)j(iden)o
(ti\014ers)f(\(henceforth)g(pro)q(cess\);)h(pro)q(cess)f(iden)o(ti\014ers)g
(are)f(imple-)75 968 y(men)o(tation)f(dep)q(enden)o(t;)j(a)e(group)h(is)f(an)
g(opaque)h(ob)r(ject.)23 b(Eac)o(h)16 b(pro)q(cess)h(in)e(a)g(group)h(is)f
(asso)q(ciated)h(with)f(an)75 1017 y(in)o(teger)f Fj(rank)p
Fk(,)f(starting)h(from)e(zero.)75 1156 y Fl(3)69 b(Con)n(text)75
1248 y Fk(A)15 b Fj(con)o(text)e Fk(is)i(the)h(MPI)f(mec)o(hanism)d(for)j
(partitioning)f(comm)o(uni)o(cation)e(space.)22 b(A)15 b(de\014ning)g(prop)q
(ert)o(y)h(of)e(a)75 1297 y(con)o(text)j(is)g(that)g(a)f(send)i(made)d(in)h
(a)h(con)o(text)g(cannot)g(b)q(e)g(receiv)o(ed)h(in)e(another)h(con)o(text.)
28 b(A)16 b(con)o(text)i(is)e(an)75 1347 y(in)o(teger.)75 1486
y Fl(4)69 b(Comm)n(unicators)75 1577 y Fk(All)12 b(MPI)g(comm)o(unication)d
(\(b)q(oth)k(p)q(oin)o(t-to-p)q(oin)o(t)e(and)i(collectiv)o(e\))f(functions)h
(use)g Fj(comm)o(unicators)d Fk(to)i(pro-)75 1627 y(vide)i(a)f(sp)q(eci\014c)
j(scop)q(e)f(\(con)o(text)f(and)g(group)g(sp)q(eci\014cations\))h(for)e(the)i
(comm)o(unicatio)o(n.)g(In)f(short,)g(comm)o(uni-)75 1677 y(cators)h(bring)e
(together)i(the)g(concepts)h(of)d(group)h(and)g(con)o(text;)g(\(furthermore,)
g(to)g(supp)q(ort)h(implem)o(en)o(tation-)75 1727 y(sp)q(eci\014c)i
(optimizations,)12 b(and)j(virtual)g(top)q(ologies,)f(they)i(\\cac)o(he")f
(additional)f(information)e(opaquely\).)22 b(The)75 1777 y(source)16
b(and)e(destination)g(of)g(a)g(message)g(is)h(iden)o(ti\014ed)f(b)o(y)g(the)h
(rank)g(of)f(that)g(pro)q(cess)i(within)e(the)h(group,)f(and)75
1826 y(comm)o(unication)d(using)j(this)h(comm)o(unicator)c(is)k(restricted)h
(to)f(pro)q(cesses)i(within)d(this)g(group.)20 b(F)m(or)14
b(collectiv)o(e)75 1876 y(comm)o(unication,)h(the)j(comm)o(unicator)d(sp)q
(eci\014es)k(the)g(set)f(of)g(pro)q(cesses)i(that)e(participate)f(in)h(the)g
(collectiv)o(e)75 1926 y(op)q(eration.)27 b(Th)o(us,)17 b(the)h(comm)o
(unicator)c(restricts)19 b(the)e(\\spatial")f(scop)q(e)i(of)e(comm)o
(unication,)e(and)j(pro)o(vides)75 1976 y(lo)q(cal)c(pro)q(cess)j
(addressing.)158 2109 y Fi(Discussion:)37 b Fh(`Comm)o(unicator')14
b(replaces)h(the)f(w)o(ord)f(`con)o(text')h(ev)o(erywhere)g(in)g(curren)o(t)g
(pt2pt)g(and)g(collcomm)75 2158 y(drafts.)158 2291 y Fk(Comm)o(uni)o(cators)d
(are)i(represen)o(ted)i(b)o(y)d(opaque)h Fj(comm)o(unicator)e(ob)s(jects)p
Fk(.)16 b(Suc)o(h)d(ob)r(jects)h(are)e(opaque,)75 2341 y(and)i(cannot)g(b)q
(e)g(directly)g(transferred)i(from)c(one)i(no)q(de)h(to)e(another.)75
2459 y Fg(4.1)56 b(Prede\014ned)18 b(Comm)n(unicators)75 2536
y Fk(Initial)12 b(comm)o(unicators)g(are)i(as)g(follo)o(ws:)137
2620 y Ff(\017)21 b Fe(MPI)p 248 2620 14 2 v 15 w(COMM)p 351
2620 V 15 w(SIBLINGS)p Fk(,)39 b(SPMD)14 b(siblings)f(of)g(a)h(pro)q(cess.)
137 2704 y Ff(\017)21 b Fe(MPI)p 248 2704 V 15 w(COMM)p 351
2704 V 15 w(HOST)p Fk(,)40 b(A)14 b(comm)o(unicator)d(for)j(talking)e(to)i
(one's)g(HOST.)965 2828 y(1)p eop
%%Page: 2 2
bop 75 -100 a Fk(2)1231 b Fd(5)41 b(GR)o(OUP)13 b(MANA)o(GEMENT)137
45 y Ff(\017)21 b Fe(MPI)p 248 45 14 2 v 15 w(COMM)p 351 45
V 15 w(PARENT)p Fk(,)40 b(A)13 b(comm)o(unicator)f(for)h(talking)g(to)g
(one's)h(P)m(ARENT)g(\(spa)o(wner\).)137 130 y Ff(\017)21 b
Fe(MPI)p 248 130 V 15 w(COMM)p 351 130 V 15 w(SELF)p Fk(,)30
b(A)11 b(comm)o(unicator)d(for)i(talking)g(to)g(one's)h(self)g(\(useful)g
(for)f(getting)g(con)o(texts)i(for)e(serv)o(er)179 180 y(purp)q(oses,)15
b(etc.\).)75 264 y(are)f(de\014ned)h(when)g(the)f(program)e(starts.)158
315 y(MPI)17 b(implemen)o(tatio)o(ns)e(are)i(required)h(to)e(pro)o(vide)h(at)
g(least)g(these)h(comm)o(unicators;)d(ho)o(w)o(ev)o(er,)i(not)g(all)75
364 y(forms)h(of)g(comm)o(unicatio)o(n)e(mak)o(e)i(sense)i(for)f(all)f
(systems.)33 b(En)o(vironmen)o(tal)17 b(inquiry)h(will)g(b)q(e)h(pro)o(vided)
g(to)75 414 y(determine)14 b(whic)o(h)g(of)f(these)i(comm)o(unicators)d(are)i
(usable)g(in)f(a)h(giv)o(en)f(implemen)o(tation.)158 547 y
Fi(Discussion:)18 b Fh(En)o(vironmen)o(tal)e(sub-committee)e(needs)g(to)f
(pro)o(vide)h(suc)o(h)g(inquiry)h(functions)g(for)e(us.)75
770 y Fl(5)69 b(Group)24 b(Managemen)n(t)75 862 y Fk(This)12
b(section)i(describ)q(es)g(the)f(manipulation)c(of)j(groups)h(under)g(v)n
(arious)f(subheadings:)18 b(general,)12 b(constructors,)75
911 y(and)i(so)g(on.)75 1030 y Fg(5.1)56 b(General)18 b(Op)r(erations)75
1108 y Fk(The)c(follo)o(wing)e(are)i(all)f(lo)q(cal)g(\(non-comm)o(uni)o
(cating\))e(op)q(erations.)158 1193 y Fj(MPI)p 257 1193 15
2 v 17 w(GR)o(OUP)p 453 1193 V 16 w(SIZE\(group,)j(size\))75
1322 y(IN)i(group)k Fk(handle)13 b(to)h(group)g(ob)r(ject.)75
1407 y Fj(OUT)i(size)k Fk(is)13 b(the)i(in)o(teger)f(n)o(um)o(b)q(er)f(of)h
(pro)q(cesses)i(in)e(the)g(group.)158 1536 y Fj(MPI)p 257 1536
V 17 w(GR)o(OUP)p 453 1536 V 16 w(RANK\(group,)h(rank\))75
1664 y(IN)h(group)k Fk(handle)13 b(to)h(group)g(ob)r(ject.)75
1749 y Fj(OUT)i(rank)k Fk(is)15 b(the)h(in)o(teger)g(rank)f(of)f(the)i
(calling)e(pro)q(cess)j(in)e(group,)g(or)g Fe(MPI)p 1366 1749
14 2 v 15 w(UNDEFINED)e Fk(if)i(y)o(ou)f(are)i(not)f(a)179
1799 y(mem)o(b)q(er.)158 1928 y Fj(MPI)p 257 1928 15 2 v 17
w(TRANSLA)l(TE)p 568 1928 V 18 w(RANKS)h(\(group)p 916 1928
V 15 w(a,)g(ranks)p 1097 1928 V 17 w(a,)g(n,)g(group)p 1344
1928 V 16 w(b,)f(ranks)p 1529 1928 V 17 w(b\))g(\))75 2057
y(IN)h(group)p 271 2057 V 16 w(a)21 b Fk(handle)14 b(to)f(group)h(ob)r(ject)h
(\\A")75 2142 y Fj(IN)h(ranks)p 263 2142 V 17 w(a)21 b Fk(arra)o(y)14
b(of)f(zero)i(or)e(more)g(v)n(alid)g(ranks)h(in)f(group)h(\\A")75
2226 y Fj(IN)i(n)21 b Fk(n)o(um)o(b)q(er)13 b(of)g(ranks)h(in)g
Fe(ranks)p 666 2226 14 2 v 14 w(a)g Fk(arra)o(y)75 2311 y Fj(IN)i(group)p
271 2311 15 2 v 16 w(b)k Fk(handle)14 b(to)g(group)f(ob)r(ject)i(\\B")75
2396 y Fj(OUT)h(ranks)p 314 2396 V 16 w(b)21 b Fk(arra)o(y)10
b(of)g(corresp)q(onding)i(ranks)f(in)g(group)g(\\B,")f Fe(MPI)p
1220 2396 14 2 v 15 w(UNDEFINED)f Fk(when)i(no)g(corresp)q(ondence)179
2446 y(exists.)158 2575 y Fj(MPI)p 257 2575 15 2 v 17 w(GR)o(OUP)p
453 2575 V 16 w(FLA)l(TTEN\(group,)k(bu\013er,)f(max)p 1102
2575 V 18 w(length,)g(actual)p 1407 2575 V 16 w(length\))75
2704 y(IN)i(group)k Fk(handle)13 b(to)h(ob)r(ject)p eop
%%Page: 3 3
bop 75 -100 a Fd(5.2)41 b(Constructors)1452 b Fk(3)75 45 y
Fj(OUT)16 b(bu\013er)j Fk(b)o(yte-aligned)13 b(bu\013er)75
127 y Fj(IN)j(max)p 237 127 15 2 v 18 w(length)i Fk(maxim)n(um)10
b(length)k(of)f(bu\013er)i(in)e(b)o(ytes)75 208 y Fj(OUT)j(actual)p
327 208 V 16 w(length)i Fk(actual)c(b)o(yte)g(length)g(of)f(bu\013er)i(con)o
(taining)e(\015attened)i(group)e(information)75 296 y(If)j(insu\016cien)o(t)g
(space)g(is)g(a)o(v)n(ailable)e(in)h(bu\013er)i(\(as)f(sp)q(eci\014ed)i(b)o
(y)e Fe(max)p 1198 296 14 2 v 15 w(length)p Fk(\),)f(then)h(the)h(con)o(ten)o
(ts)g(of)e(bu\013er)75 346 y(is)h(unde\014ned)h(at)f(exit.)25
b(The)16 b(quan)o(tit)o(y)f Fe(actual)p 858 346 V 15 w(length)f
Fk(is)i(alw)o(a)o(ys)f(w)o(ell-de\014ned)i(at)e(exit)h(as)h(the)f(n)o(um)o(b)
q(er)g(of)75 396 y(b)o(ytes)f(needed)g(to)f(store)h(the)f(\015attened)h
(group.)158 446 y(Though)g(implemen)o(tations)e(ma)o(y)h(v)n(ary)h(on)h(ho)o
(w)f(they)i(store)g(\015attened)g(groups,)f(the)g(information)d(m)o(ust)75
495 y(b)q(e)h(su\016cien)o(t)f(to)h(reconstruct)h(the)f(group)f(using)g
Fe(MPI)p 936 495 V 15 w(GROUP)p 1061 495 V 15 w(UNFLATTEN)e
Fk(b)q(elo)o(w.)17 b(The)d(purp)q(ose)g(of)f(\015attening)75
545 y(and)h(un\015attening)g(is)f(to)h(allo)o(w)e(in)o(terpro)q(cess)k
(transmission)d(of)g(group)h(ob)r(jects.)75 661 y Fg(5.2)56
b(Constructors)75 738 y Fk(Group)14 b(constructors)h(ma)o(y)d(either)j(b)q(e)
g(lo)q(cal)e(or)h(ma)o(y)d(require)k(comm)o(unication.)75 845
y Fj(5.2.1)48 b(Lo)q(cal)15 b(Constructors)75 921 y Fk(The)f(execution)h(of)e
(the)i(follo)o(wing)c(op)q(erations)j(do)g(not)g(require)g(in)o(terpro)q
(cess)i(comm)o(unication.)158 1007 y Fj(MPI)p 257 1007 15 2
v 17 w(GR)o(OUP)p 453 1007 V 16 w(UNFLA)l(TTEN\(group,)f(bu\013er,)g(max)p
1177 1007 V 17 w(length\))75 1130 y(OUT)h(group)j Fk(handle)14
b(to)f(ob)r(ject)75 1212 y Fj(IN)j(bu\013er)k Fk(b)o(yte-aligned)13
b(bu\013er)i(pro)q(duced)g(b)o(y)e Fe(MPI)p 951 1212 14 2 v
16 w(GROUP)p 1077 1212 V 14 w(FLATTEN)75 1293 y Fj(IN)j(max)p
237 1293 15 2 v 18 w(length)i Fk(maxim)n(um)10 b(length)k(of)f(bu\013er)i(in)
e(b)o(ytes)75 1381 y(See)i(MPI)p 232 1381 13 2 v 15 w(GR)o(OUP)p
401 1381 V 15 w(FLA)m(TTEN)f(ab)q(o)o(v)o(e.)158 1466 y Fj(MPI)p
257 1466 15 2 v 17 w(LOCAL)p 438 1466 V 17 w(SUBGR)o(OUP\(grou)o(p,)f(n,)j
(ranks,)f(new)p 1179 1466 V 17 w(group\))75 1590 y(IN)h(group)k
Fk(handle)13 b(to)h(group)g(ob)r(ject)75 1671 y Fj(IN)i(n)21
b Fk(n)o(um)o(b)q(er)13 b(of)g(elemen)o(ts)h(in)f(arra)o(y)h(ranks)g(\(and)g
(size)h(of)e Fe(new)p 1123 1671 14 2 v 15 w(group)p Fk(\))75
1753 y Fj(IN)j(ranks)21 b Fk(arra)o(y)13 b(of)g(in)o(teger)i(ranks)f(in)f
(group)75 1834 y Fj(OUT)j(new)p 283 1834 15 2 v 17 w(group)j
Fk(new)14 b(group)g(deriv)o(ed)g(from)f(ab)q(o)o(v)o(e,)g(preserving)i(the)f
(order)h(de\014ned)g(b)o(y)e Fe(ranks)p Fk(.)158 1958 y Fj(MPI)p
257 1958 V 17 w(LOCAL)p 438 1958 V 17 w(GR)o(OUP)p 634 1958
V 16 w(UNION\(group1,)h(group2,)h(group)p 1303 1958 V 15 w(out\))89
2043 y(MPI)p 188 2043 V 17 w(LOCAL)p 369 2043 V 17 w(GR)o(OUP)p
565 2043 V 16 w(INTERSECT\(group1,)g(group2,)f(group)p 1349
2043 V 16 w(out\))89 2164 y(MPI)p 188 2164 V 17 w(LOCAL)p 369
2164 V 17 w(GR)o(OUP)p 565 2164 V 16 w(DIFFERENCE\(group1,)h(group2,)g(group)
p 1385 2164 V 15 w(out\))75 2322 y(IN)h(group1)j Fk(\014rst)c(group)f(ob)r
(ject)h(handle)75 2404 y Fj(IN)h(group2)j Fk(second)c(group)f(ob)r(ject)h
(handle)75 2486 y Fj(OUT)h(group)p 322 2486 V 15 w(out)k Fk(group)14
b(ob)r(ject)g(handle)75 2574 y(The)g(set-lik)o(e)g(op)q(erations)g(are)h
(de\014ned)g(as)f(follo)o(ws:)57 2654 y(union)20 b(All)11 b(elemen)o(ts)i(of)
f(the)h(\014rst)g(group)f(\(group1\),)g(follo)o(w)o(ed)f(b)o(y)h(all)g
(elemen)o(ts)g(of)g(second)h(group)g(\(group2\))f(not)179 2704
y(in)h(\014rst)p eop
%%Page: 4 4
bop 75 -100 a Fk(4)1231 b Fd(5)41 b(GR)o(OUP)13 b(MANA)o(GEMENT)4
45 y Fk(in)o(tersect)23 b(all)12 b(elemen)o(ts)i(of)f(the)i(\014rst)g(group)e
(whic)o(h)h(are)g(also)g(in)f(the)i(second)g(group)-14 127
y(di\013erence)23 b(all)12 b(elemen)o(ts)i(of)f(the)i(\014rst)g(group)e(whic)
o(h)h(are)g(not)g(in)g(the)g(second)h(group)75 291 y Fi(Discussion:)k
Fh(What)c(do)f(p)q(eople)h(think)g(ab)q(out)g(these)f(lo)q(cal)h(op)q
(erations?)22 b(More?)e(Less?)f(Note:)g(these)14 b(op)q(erations)h(do)75
340 y(not)e(explicitl)q(y)j(en)o(umerate)d(ranks,)h(and)g(therefore)f(are)g
(more)g(scalable)i(if)e(implemen)o(ted)j(e\016cien)o(tly)p
Fc(:)8 b(:)e(:)158 508 y Fj(MPI)p 257 508 15 2 v 17 w(FREE)p
402 508 V 18 w(GR)o(OUP\(group)o(\))75 625 y(IN)16 b(group)k
Fk(frees)15 b Fe(group)d Fk(previously)i(de\014ned.)75 788
y Fi(Discussion:)i Fh(The)10 b(p)q(oin)o(t-to-p)q(oin)o(t)i(c)o(hapter)e
(suggests)h(that)f(there)g(is)g(a)g(single)h(destructor)g(for)e(all)i(MPI)f
(opaque)h(ob)r(jects;)75 838 y(ho)o(w)o(ev)o(er,)i(it)g(is)h(arguable)h(that)
e(this)h(sp)q(eci\014es)h(the)e(implemen)o(tation)j(of)d(MPI)g(v)o(ery)g
(strongly)m(.)75 1028 y Fj(5.2.2)48 b(Collectiv)o(e)13 b(group)i
(constructors)75 1105 y Fk(The)f(execution)h(of)e(the)i(follo)o(wing)c(op)q
(erations)j(require)h(collectiv)o(e)f(comm)o(unicatio)o(n)d(within)i(a)h
(group.)158 1190 y Fj(MPI)p 257 1190 V 17 w(COLL)p 402 1190
V 17 w(SUBGR)o(OUP\(comm,)f(mem)o(b)q(ership)p 1124 1190 V
14 w(k)o(ey)l(,)j(new)p 1317 1190 V 17 w(group\))75 1306 y(IN)g(comm)21
b Fk(comm)o(unicator)11 b(ob)r(ject)k(handle)75 1388 y Fj(IN)h(mem)o(b)q
(ership)p 407 1388 V 14 w(k)o(ey)21 b Fk(\(in)o(teger\))75
1470 y Fj(OUT)16 b(new)p 283 1470 V 17 w(group)j Fk(new)14
b(group)g(ob)r(ject)h(handle)75 1551 y(This)c(collectiv)o(e)g(function)g(is)g
(called)g(b)o(y)h(all)e(pro)q(cesses)j(in)e(the)h(group)f(asso)q(ciated)h
(with)f Fe(comm)p Fk(.)16 b(A)c(separate,)g(non-)75 1601 y(o)o(v)o(erlapping)
g(group)h(of)g(pro)q(cesses)j(is)d(formed)f(for)h(eac)o(h)h(distinct)g(v)n
(alue)e(of)h Fe(key)p Fk(,)g(with)g(the)g(pro)q(cesses)j(retaining)75
1651 y(their)e(relativ)o(e)g(order)h(compared)e(to)h(the)g(group)g(of)f
Fe(comm)p Fk(.)158 1736 y Fj(MPI)p 257 1736 V 17 w(COLL)p 402
1736 V 17 w(GR)o(OUP)p 598 1736 V 16 w(PERMUTE\(comm,)i(new)p
1115 1736 V 17 w(rank,)h(new)p 1339 1736 V 17 w(group\))75
1852 y(IN)g(comm)21 b Fk(comm)o(unicator)11 b(ob)r(ject)k(handle)75
1934 y Fj(IN)h(new)p 232 1934 V 17 w(rank)21 b Fk(\(in)o(teger\))75
2016 y Fj(OUT)16 b(new)p 283 2016 V 17 w(group)j Fk(new)14
b(group)g(ob)r(ject)h(handle)75 2097 y(This)c(collectiv)o(e)g(function)g(op)q
(erates)i(o)o(v)o(er)e(all)f(elemen)o(ts)h(of)g(the)h(group)f(of)g(comm.)j(A)
d(correct)i(program)d(sp)q(eci\014es)75 2147 y(a)k(distinct)g
Fe(new)p 329 2147 14 2 v 15 w(rank)f Fk(in)g(eac)o(h)i(pro)q(cess,)g(whic)o
(h)f(de\014nes)h(a)f(p)q(erm)o(utation)e(of)h(the)i(original)d(ordering.)158
2275 y Fi(Discussion:)18 b Fh(Before,)13 b(w)o(e)f(had)i(one)f(function)i
(that)e(implemen)o(ted)i(collectiv)o(e)g(subsetting,)g(plus)f(p)q(erm)o
(utation)h(of)75 2321 y(ranks.)i(W)m(e)10 b(con)o(vinced)i(ourselv)o(es)g
(that)f(it)f(is)h(b)q(etter)g(to)f(ha)o(v)o(e)h(the)f(ab)q(o)o(v)o(e)h(t)o(w)
o(o)f(functions,)i(eac)o(h)e(of)g(whic)o(h)h(has)g(clear)g(usage)75
2367 y(and)h(implemen)o(tation)q(.)19 b(W)m(e)12 b(do)g(not)g(b)q(eliev)o(e)h
(that)f(the)g(p)q(erformance)g(of)g(the)f(t)o(w)o(o-function)i(sequence)g
(needed)f(to)g(subset)75 2412 y(and)i(p)q(erm)o(ute)f(will)i(signi\014can)o
(tly)h(di\013er)f(from)d(the)h(all-encompassi)q(ng)j(function)f(previously)g
(de\014ned.)k(Commen)o(ts?)158 2462 y(By)11 b(the)f(w)o(a)o(y)m(,)g(w)o(e)g
(ha)o(v)o(e)h(in)o(ten)o(tionall)q(y)i(a)o(v)o(oided)f(making)g(con)o(v)o
(enience)g(functions)g(that)f(do)f(analogous)j(p)q(erm)o(utation)75
2512 y(or)j(subsetting,)j(while)f(creating)g(new)e(comm)o(unicators,)j(b)q
(ecause)f(the)e(user)h(can)g(easily)h(do)f(this)g(without)g(additional)75
2562 y(sync)o(hronization)q(s)g(b)q(ey)o(ond)e(getting)h(additional)h(needed)
e(con)o(texts.)21 b(Are)14 b(these)h(so)f(con)o(v)o(enien)o(t)i(that)e(w)o(e)
g(w)o(an)o(t)g(to)g(add)75 2612 y(them)f(\()p Fb(e.g.)p Fh(,)e
Fa(MPI)p 332 2612 12 2 v 13 w(COLL)p 425 2612 V 13 w(COMM)p
518 2612 V 12 w(PERMUTE)p Fh(\).)p eop
%%Page: 5 5
bop 1854 -100 a Fk(5)75 45 y Fl(6)69 b(Op)r(erations)23 b(on)g(Con)n(texts)75
145 y Fg(6.1)56 b(Lo)r(cal)18 b(Op)r(erations)75 258 y Fj(MPI)p
174 258 15 2 v 17 w(CONTEXTS)p 458 258 V 19 w(RESER)-5 b(VE\(n,)23
b(con)o(texts\))37 b(MPI)p 1109 258 V 17 w(CONTEXTS)p 1393
258 V 18 w(UNRESER)-5 b(VE\(n,)23 b(con-)75 379 y(texts\))75
498 y(IN)16 b(n)21 b Fk(n)o(um)o(b)q(er)13 b(of)g(con)o(texts)i(to)f(reserv)o
(e)i(\(resp,)e(unreserv)o(e\))75 583 y Fj(OUT)i(\(resp,)e(IN\))i(con)o(texts)
j Fk(in)o(teger)c(arra)o(y)e(of)h(con)o(texts)75 667 y(Reserv)o(es)19
b(\(resp,)g(unreserv)o(es\))g(zero)f(or)g(more)e(con)o(texts.)29
b(A)17 b(reserv)o(ed)i(con)o(text)f(will)e(not)h(b)q(e)h(allo)q(cated)e(b)o
(y)h(a)75 717 y(subsequen)o(t)g(call)d(to)g Fe(MPI)p 486 717
14 2 v 15 w(CONTEXTS)p 677 717 V 14 w(ALLOC)g Fk(in)h(the)g(same)f(pro)q
(cess)j(\(see)f(b)q(elo)o(w\).)21 b(It)14 b(is)h(erroneous)h(to)f(reserv)o(e)
75 767 y(a)f(con)o(text)g(that)g(has)g(already)g(b)q(een)h(allo)q(cated)e(b)o
(y)h Fe(MPI)p 969 767 V 15 w(CONTEXTS)p 1160 767 V 14 w(ALLOC)p
Fk(.)158 853 y Fj(MPI)p 257 853 15 2 v 17 w(CONTEXTS)p 541
853 V 19 w(DEALLOC\(n,)h(con)o(texts\))75 973 y(IN)h(n)21 b
Fk(n)o(um)o(b)q(er)13 b(of)g(con)o(texts)i(to)f(allo)q(cate)75
1057 y Fj(IN)i(con)o(texts)j Fk(in)o(teger)c(arra)o(y)e(of)h(con)o(texts)75
1142 y(Lo)q(cal)f(deallo)q(cation)g(of)g(con)o(text)i(allo)q(cated)e(b)o(y)h
Fe(MPI)p 917 1142 14 2 v 15 w(CONTEXTS)p 1108 1142 V 14 w(ALLOC)p
Fk(.)75 1260 y Fg(6.2)56 b(Collectiv)n(e)19 b(Op)r(erations)75
1373 y Fj(MPI)p 174 1373 15 2 v 17 w(CONTEXTS)p 458 1373 V
19 w(ALLOC\(comm,)c(n,)g(con)o(texts\))75 1501 y(IN)h(comm)21
b Fk(comm)o(unicator)11 b(ob)r(ject)k(handle)75 1586 y Fj(IN)h(n)21
b Fk(n)o(um)o(b)q(er)13 b(of)g(con)o(texts)i(to)f(allo)q(cate)75
1671 y Fj(OUT)i(con)o(texts)j Fk(in)o(teger)14 b(arra)o(y)g(of)f(con)o(texts)
158 1764 y(Allo)q(cates)18 b(an)g(arra)o(y)g(of)g(con)o(texts.)32
b(This)18 b(collectiv)o(e)g(op)q(eration)g(is)g(executed)i(b)o(y)e(all)f(pro)
q(cesses)k(in)c(the)75 1814 y(group)d(de\014ned)i(b)o(y)e Fe(comm)p
Fk(.)19 b(The)c(con)o(texts)g(that)g(are)g(allo)q(cated)f(b)o(y)g
Fe(MPI)p 1229 1814 14 2 v 15 w(ALLOC)p 1354 1814 V 15 w(CONTEXTS)e
Fk(are)j(unique)g(within)75 1864 y(the)f(group)f(asso)q(ciated)h(with)f
Fe(comm)p Fk(.)k(The)c(arra)o(y)g(is)g(the)h(same)e(on)h(all)f(pro)q(cesses)k
(that)e(call)e(the)i(function)f(\(same)75 1913 y(order,)h(same)f(n)o(um)o(b)q
(er)g(of)h(elemen)o(ts\).)75 2053 y Fl(7)69 b(Op)r(erations)23
b(on)g(Comm)n(unicators)75 2153 y Fg(7.1)56 b(General)18 b(Op)r(erations)75
2230 y Fk(The)c(follo)o(wing)e(are)i(all)f(lo)q(cal)g(\(non-comm)o(uni)o
(cating\))e(op)q(erations.)158 2316 y Fj(MPI)p 257 2316 15
2 v 17 w(COMM)p 434 2316 V 18 w(SIZE\(comm,)16 b(size\))75
2445 y(IN)g(comm)21 b Fk(handle)14 b(to)f(comm)o(unicator)e(ob)r(ject.)75
2529 y Fj(OUT)16 b(size)k Fk(is)13 b(the)i(in)o(teger)f(n)o(um)o(b)q(er)f(of)
h(pro)q(cesses)i(in)e(the)g(group)g(of)f Fe(comm)p Fk(.)158
2658 y Fj(MPI)p 257 2658 V 17 w(COMM)p 434 2658 V 18 w(RANK\(comm,)j(rank\))p
eop
%%Page: 6 6
bop 75 -100 a Fk(6)958 b Fd(7)41 b(OPERA)m(TIONS)15 b(ON)f(COMMUNICA)m(TORS)
75 45 y Fj(IN)i(comm)21 b Fk(handle)14 b(to)f(comm)o(unicator)e(ob)r(ject.)75
122 y Fj(OUT)16 b(rank)k Fk(is)13 b(the)g(in)o(teger)g(rank)g(of)f(the)h
(calling)f(pro)q(cess)i(in)e(group)h(of)f Fe(comm)p Fk(,)g(or)g
Fe(MPI)p 1484 122 14 2 v 16 w(UNDEFINED)e Fk(if)i(y)o(ou)h(are)179
171 y(not)h(a)f(mem)o(b)q(er.)158 282 y Fj(MPI)p 257 282 15
2 v 17 w(COMM)p 434 282 V 18 w(FLA)l(TTEN\(comm,)k(bu\013er,)d(max)p
1090 282 V 18 w(length,)g(actual)p 1395 282 V 16 w(length\))75
392 y(IN)i(comm)21 b Fk(handle)14 b(to)f(comm)o(unicator)e(ob)r(ject.)75
469 y Fj(OUT)16 b(bu\013er)j Fk(b)o(yte-aligned)13 b(bu\013er)75
545 y Fj(IN)j(max)p 237 545 V 18 w(length)i Fk(maxim)n(um)10
b(length)k(of)f(bu\013er)i(in)e(b)o(ytes)75 622 y Fj(OUT)j(actual)p
327 622 V 16 w(length)i Fk(actual)c(b)o(yte)g(length)g(of)f(bu\013er)i(con)o
(taining)e(\015attened)i(comm)o(unicator)c(information)75 697
y(If)16 b(insu\016cien)o(t)g(space)g(is)g(a)o(v)n(ailable)e(in)h(bu\013er)i
(\(as)f(sp)q(eci\014ed)i(b)o(y)e Fe(max)p 1198 697 14 2 v 15
w(length)p Fk(\),)f(then)h(the)h(con)o(ten)o(ts)g(of)e(bu\013er)75
747 y(is)h(unde\014ned)h(at)f(exit.)25 b(The)16 b(quan)o(tit)o(y)f
Fe(actual)p 858 747 V 15 w(length)f Fk(is)i(alw)o(a)o(ys)f(w)o(ell-de\014ned)
i(at)e(exit)h(as)h(the)f(n)o(um)o(b)q(er)g(of)75 796 y(b)o(ytes)f(needed)g
(to)f(store)h(the)f(\015attened)h(comm)o(unicator.)158 846
y(Though)c(implemen)o(tations)d(ma)o(y)i(v)n(ary)h(on)g(ho)o(w)g(they)h
(store)g(\015attened)h(comm)o(unicators,)c(the)j(information)75
896 y(m)o(ust)g(b)q(e)i(su\016cien)o(t)f(to)g(reconstruct)j(the)d(comm)o
(unicator)e(using)i Fe(MPI)p 1191 896 V 15 w(COMM)p 1294 896
V 15 w(UNFLATTEN)e Fk(b)q(elo)o(w.)17 b(The)d(purp)q(ose)75
946 y(of)f(\015attening)h(and)g(un\015attening)g(is)f(to)h(allo)o(w)e(in)o
(terpro)q(cess)k(transmission)d(of)g(comm)o(unicator)e(ob)r(jects.)75
1059 y Fg(7.2)56 b(Lo)r(cal)18 b(Constructors)75 1171 y Fj(MPI)p
174 1171 15 2 v 17 w(COMM)p 351 1171 V 18 w(UNFLA)l(TTEN\(comm,)f(bu\013er,)d
(max)p 1081 1171 V 18 w(length\))75 1277 y(OUT)i(comm)k Fk(handle)14
b(to)g(ob)r(ject)75 1353 y Fj(IN)i(bu\013er)k Fk(b)o(yte-aligned)13
b(bu\013er)i(pro)q(duced)g(b)o(y)e Fe(MPI)p 951 1353 14 2 v
16 w(COMM)p 1055 1353 V 14 w(FLATTEN)75 1430 y Fj(IN)j(max)p
237 1430 15 2 v 18 w(length)i Fk(maxim)n(um)10 b(length)k(of)f(bu\013er)i(in)
e(b)o(ytes)75 1500 y(See)i Fe(MPI)p 218 1500 14 2 v 15 w(COMM)p
321 1500 V 15 w(FLATTEN)d Fk(ab)q(o)o(v)o(e.)158 1585 y Fj(MPI)p
257 1585 15 2 v 17 w(COMM)p 434 1585 V 18 w(BIND\(group,)j(con)o(text,)f
(comm)p 1055 1585 V 17 w(new\))75 1690 y(IN)i(group)k Fk(ob)r(ject)14
b(handle)g(to)g(b)q(e)g(b)q(ound)g(to)g(new)g(comm)o(unicator)75
1767 y Fj(IN)i(con)o(text)k Fk(con)o(text)14 b(to)g(b)q(e)g(b)q(ound)g(to)g
(new)h(comm)o(uni)o(cator)75 1843 y Fj(OUT)h(comm)p 325 1843
V 17 w(new)k Fk(the)15 b(new)f(comm)o(unicator.)158 1913 y(The)19
b(ab)q(o)o(v)o(e)e(function)h(creates)i(a)e(new)h(comm)o(unicator)c(ob)r
(ject,)20 b(whic)o(h)e(is)g(asso)q(ciated)h(with)e(the)i(group)75
1963 y(de\014ned)e(b)o(y)e(group,)g(and)h(the)g(sp)q(eci\014ed)h(con)o(text.)
23 b(The)16 b(op)q(eration)g(do)q(es)g(not)g(require)g(comm)o(unication.)j
(It)d(is)75 2013 y(correct)i(to)e(b)q(egin)h(using)f(a)g(comm)o(unicator)e
(as)i(so)q(on)h(as)f(it)g(is)g(de\014ned.)27 b(It)17 b(is)f(not)g(erroneous)i
(to)e(in)o(v)o(ok)o(e)g(this)75 2063 y(function)10 b(t)o(wice)g(in)f(the)h
(same)f(pro)q(cess)j(with)d(the)i(same)e(con)o(text.)17 b(Finally)m(,)8
b(there)j(is)f(no)g(explicit)f(sync)o(hronization)75 2113 y(o)o(v)o(er)14
b(the)g(group.)158 2198 y Fj(MPI)p 257 2198 V 17 w(COMM)p 434
2198 V 18 w(UNBIND\(comm\))75 2303 y(OUT)i(comm)k Fk(the)15
b(comm)o(uni)o(cator)d(to)h(b)q(e)i(deallo)q(cated.)75 2373
y(This)f(routine)g(disasso)q(ciated)h(the)g(group)e(asso)q(ciated)i(with)f
(comm)d(from)h(the)j(con)o(text)g(asso)q(ciated)g(with)e Fe(comm)p
Fk(.)75 2423 y(The)f(opaque)g(ob)r(ject)h Fe(comm)e Fk(is)h(deallo)q(cated.)
17 b(Both)12 b(the)h(group)f(and)f(con)o(text,)i(pro)o(vided)f(at)f(the)i
Fe(MPI)p 1673 2423 14 2 v 15 w(COMM)p 1776 2423 V 15 w(BIND)75
2473 y Fk(call,)i(remain)g(a)o(v)n(ailable)f(for)i(further)h(use.)26
b(If)15 b Fe(MPI)p 894 2473 V 16 w(COMM)p 998 2473 V 14 w(MAKE)h
Fk(w)o(as)g(called)g(in)f(lieu)h(of)g Fe(MPI)p 1565 2473 V
15 w(COMM)p 1668 2473 V 14 w(BIND)p Fk(,)f(then)75 2523 y(there)h(is)e(no)g
(exp)q(osed)i(con)o(text)f(kno)o(wn)f(to)g(the)h(user,)g(and)g(this)f(quan)o
(tit)o(y)g(is)g(freed)h(b)o(y)g Fe(MPI)p 1546 2523 V 15 w(COMM)p
1649 2523 V 14 w(UNBIND)f Fk(\(see)75 2573 y(b)q(elo)o(w\).)158
2658 y Fj(MPI)p 257 2658 15 2 v 17 w(COMM)p 434 2658 V 18 w(GR)o(OUP\(comm,)g
(group\))p eop
%%Page: 7 7
bop 75 -100 a Fd(7.3)41 b(Collectiv)o(e)1506 b Fk(7)75 45 y
Fj(IN)16 b(comm)21 b Fk(comm)o(unicator)11 b(ob)r(ject)k(handle)75
139 y Fj(OUT)h(group)j Fk(group)14 b(ob)r(ject)g(handle)75
230 y(Accessor)i(that)e(returns)h(the)g(group)f(corresp)q(onding)h(to)e(the)i
(comm)o(unicator)c Fe(comm)p Fk(.)158 318 y Fj(MPI)p 257 318
15 2 v 17 w(COMM)p 434 318 V 18 w(CONTEXT\(comm,)17 b(con)o(text\))75
444 y(IN)f(comm)21 b Fk(comm)o(unicator)11 b(ob)r(ject)k(handle)75
538 y Fj(OUT)h(con)o(text)j Fk(con)o(text)75 629 y(Returns)c(the)f(con)o
(text)h(asso)q(ciated)f(with)g(the)h(comm)o(uni)o(cator)d Fe(comm)p
Fk(.)158 717 y Fj(MPI)p 257 717 V 17 w(COMM)p 434 717 V 18
w(DUP\(comm,)j(new)p 814 717 V 17 w(con)o(text,)f(new)p 1097
717 V 18 w(comm\))75 843 y(IN)i(comm)21 b Fk(comm)o(unicator)11
b(ob)r(ject)k(handle)75 937 y Fj(IN)h(new)p 232 937 V 17 w(con)o(text)k
Fk(new)14 b(con)o(text)h(to)e(use)i(with)f(new)p 945 937 13
2 v 15 w(comm)75 1030 y Fj(OUT)i(new)p 283 1030 15 2 v 17 w(comm)k
Fk(comm)o(unicator)11 b(ob)r(ject)k(handle)75 1121 y Fe(MPI)p
144 1121 14 2 v 15 w(COMM)p 247 1121 V 15 w(DUP)c Fk(duplicates)h(a)g(comm)o
(unicator)d(with)j(all)f(its)g(cac)o(hed)i(information,)c(replacing)j(just)g
(the)h(con)o(text.)75 1171 y(This)h(function)f(is)h(essen)o(tial)g(to)g(the)h
(supp)q(ort)f(of)g(virtual)f(top)q(ologies)g(\(see)i(usage)f(b)q(elo)o(w\).)
75 1301 y Fg(7.3)56 b(Collectiv)n(e)75 1418 y Fj(MPI)p 174
1418 15 2 v 17 w(COMM)p 351 1418 V 18 w(MAKE\(comm,)17 b(group,)e(comm)p
967 1418 V 16 w(new\))f Fk(:)75 1545 y Fj(IN)i(comm)21 b Fk(Comm)o(uni)o
(cator-scop)q(e)12 b(in)i(whic)o(h)g(the)g(new)g(comm)o(unicator's)d(con)o
(text)k(will)d(b)q(e)j(allo)q(cated.)75 1638 y Fj(IN)h(group)k
Fk(group)13 b(ob)r(ject)i(handle)f(to)f(b)q(e)i(b)q(ound)f(to)g(new)g(comm)o
(unicator)75 1732 y Fj(OUT)i(comm)p 325 1732 V 17 w(new)k Fk(the)15
b(new)f(comm)o(unicator.)158 1823 y Fe(MPI)p 227 1823 14 2
v 15 w(COMM)p 330 1823 V 15 w(MAKE)f Fk(is)h(equiv)n(alen)o(t)f(to:)140
1917 y Fe(MPI_CONTEXTS_ALLOC\()o(comm,)18 b(context,)i(1\))140
1966 y(MPI_COMM_BIND\(comm,)e(group,)j(context,)f(comm_new\))75
2057 y Fk(plus,)d(notionally)m(,)d(in)o(ternal)j(\015ags)f(are)i(set)f(in)g
(the)g(comm)o(unicator,)d(denoting)j(that)f(con)o(text)i(w)o(as)f(created)h
(as)75 2107 y(part)c(of)f(the)i(opaque)f(pro)q(cess)h(that)f(made)f(the)h
(comm)o(unicator)e(\(so)i(it)f(can)h(b)q(e)h(freed)g(b)o(y)e
Fe(MPI)p 1584 2107 V 15 w(COMM)p 1687 2107 V 15 w(UNBIND)p
Fk(.)75 2259 y Fl(8)69 b(In)n(ter-comm)n(unication)20 b(Initializati)o(on)g
(&)k(Rendezv)n(ous)75 2390 y Fj(MPI)p 174 2390 15 2 v 17 w(PUBLISH\(comm,)15
b(lab)q(el,)f(p)q(ersistence)p 939 2390 V 15 w(\015ag\))75
2516 y(IN)i(comm)21 b Fk(Comm)o(uni)o(cator)11 b(to)j(b)q(e)h(published)f
(under)g(the)h(name)e Fe(label)p Fk(.)75 2610 y Fj(IN)j(lab)q(el)k
Fk(String)13 b(lab)q(el)h(describing)g(published)g(comm)o(unicator.)75
2704 y Fj(IN)i(p)q(ersistence)p 382 2704 V 15 w(\015ag)k Fk(Either)15
b Fe(MPI)p 685 2704 14 2 v 15 w(EPHEMERAL)d Fk(or)i Fe(MPI)p
1027 2704 V 15 w(PERSISTENT)p Fk(.)p eop
%%Page: 8 8
bop 75 -100 a Fk(8)481 b Fd(8)41 b(INTER-COMMUNICA)m(TION)15
b(INITIALIZA)m(TION)f(&)g(RENDEZV)o(OUS)75 45 y Fk(This)e(op)q(eration)g
(results)h(in)f(the)h(asso)q(ciation)f(of)f(the)i(comm)o(unicator)d
Fe(comm)h Fk(with)h(the)h(name)e(sp)q(eci\014ed)i(in)f(lab)q(el,)75
95 y(with)d(global)f(scop)q(e.)17 b(P)o(ersistence)12 b(is)d(either)h
(ephemeral)f(\(one)h(subscrib)q(e)h(causes)g(an)e(automatic)e
Fe(MPI)p 1664 95 14 2 v 15 w(UNPUBLISH)p Fk(\),)75 145 y(or)13
b(p)q(ersisten)o(t)i(\(an)e(explicit)g Fe(MPI)p 602 145 V 15
w(UNPUBLISH)e Fk(m)o(ust)h(b)q(e)h(subsequen)o(tly)i(called\))e(and)g(an)o(y)
f(n)o(um)o(b)q(er)h(of)f(subscrip-)75 195 y(tions)h(can)g(o)q(ccur.)19
b(This)13 b(op)q(eration)h(do)q(es)g(not)f(w)o(ait)f(for)h(subscriptions)h
(to)f(o)q(ccur)h(b)q(efore)g(returning.)19 b(Only)13 b(one)75
244 y(pro)q(cess)j(calls)d(this)h(function.)158 296 y(Subsequen)o(t)h(calls)f
(to)f Fe(MPI)p 589 296 V 15 w(PUBLISH)g Fk(with)g(the)i(same)e(lab)q(el)g
(\(without)g(an)h(in)o(terv)o(ening)g Fe(MPI)p 1651 296 V 15
w(UNPUBLISH)p Fk(\))75 346 y(is)g(erroneous.)158 480 y Fi(Discussion:)k
Fh(Should)d(w)o(e)e(ha)o(v)o(e)g(a)g(p)q(ermissions)j(\015ag)d(that)g
(implemen)o(ts)i(access)f(restrictions)h(similar)g(to)e(Unix.)158
650 y Fj(MPI)p 257 650 15 2 v 17 w(UNPUBLISH\(lab)q(el\))75
773 y(IN)j(lab)q(el)k Fk(String)13 b(lab)q(el)h(describing)g(published)g
(comm)o(unicator.)75 862 y(This)j(is)g(an)h(op)q(eration)f(undertak)o(en)h(b)
o(y)f(a)g(single)g(pro)q(cess,)j(whose)e(e\013ect)h(is)e(to)g(remo)o(v)o(e)g
(the)h(asso)q(ciation)f(of)75 911 y(the)k(comm)o(unicator)c(sp)q(eci\014ed)22
b(in)e(a)g(preceding)h Fe(MPI)p 962 911 14 2 v 16 w(PUBLISH)d
Fk(call)i(with)g(the)h(name)e(sp)q(eci\014ed)j(in)e Fe(label)p
Fk(.)75 961 y Fe(MPI)p 144 961 V 15 w(UNPUBLISH)12 b Fk(on)i(an)f
(unde\014ned)i(lab)q(el)f(will)e(b)q(e)j(ignored.)158 1048
y Fj(MPI)p 257 1048 15 2 v 17 w(SUBSCRIBE\(m)o(y)p 635 1048
V 16 w(comm,)h(lab)q(el,)f(comm\))75 1172 y(IN)h(m)o(y)p 213
1172 V 17 w(comm)21 b Fk(Comm)n(unicator)11 b(of)j(participan)o(ts)f(in)h
(subscrib)q(e.)75 1262 y Fj(IN)i(lab)q(el)k Fk(String)13 b(lab)q(el)h
(describing)g(comm)o(unicator)d(to)j(whic)o(h)g(w)o(e)g(wish)f(to)h(subscrib)
q(e)75 1352 y Fj(OUT)i(comm)k Fk(Comm)o(unicator)11 b(created)k(through)f
(subscription)h(pro)q(cess.)75 1440 y(This)d(is)f(a)h(collectiv)o(e)g(comm)o
(unicatio)o(n)d(in)j(the)g(group)g(sp)q(eci\014ed)h(in)f Fe(my)p
1196 1440 14 2 v 15 w(comm)p Fk(,)f(whic)o(h)g(has)h(the)h(e\013ect)g(of)f
(creating)75 1490 y(in)g(eac)o(h)h(group)g(pro)q(cess)h(a)e(cop)o(y)h(of)f
(the)h(previously)f(published)h(comm)o(unicator)c(asso)q(ciated)14
b(with)e(the)h(name)e(in)75 1540 y(lab)q(el.)17 b(This)d(op)q(eration)g(blo)q
(c)o(ks)g(un)o(til)f(suc)o(h)i(an)e(asso)q(ciation)h(is)f(p)q(ossible.)158
1592 y(Once)j(an)e Fe(MPI)p 392 1592 V 15 w(PUBLISH)g Fk(and)g(an)h
Fe(MPI)p 781 1592 V 15 w(SUBSCRIBE)d Fk(on)j(the)g(same)f(lab)q(el)g(ha)o(v)o
(e)g(o)q(ccurred,)j(the)e(subscrib)q(er)75 1641 y Fe(my)p 122
1641 V 15 w(comm)d Fk(has)h(the)h(abilit)o(y)d(to)i(send)h(messages)f(to)g
(the)g(publisher;)g(group)g(mem)o(b)q(ers)f(of)g(the)i(published)f(comm)o(u-)
75 1691 y(nicator)g(ha)o(v)o(e)f(the)h(abilit)o(y)e(to)i(receiv)o(e)h
(messages)f(using)f(the)i(published)e(comm)o(unicator.)j(The)e(comm)o
(unicators)75 1741 y(so)h(de\014ned)h(ma)o(y)d(only)h(b)q(e)h(used)h(in)f(p)q
(oin)o(t-to-p)q(oin)o(t)e(comm)o(unication.)158 1875 y Fi(Discussion:)26
b Fh(Do)17 b(w)o(e)g(w)o(an)o(t)g(an)o(y)h(of)e(the)h(follo)o(wing)j
Fa(MPI)p 1044 1875 12 2 v 13 w(SUBSCRIBE)p 1236 1875 V 10 w(NON)p
1307 1875 V 13 w(BLOCKING)p Fh(,)14 b Fa(MPI)p 1565 1875 V
13 w(SUBSCRIBE)p 1757 1875 V 10 w(PROBE)p Fh(,)75 1925 y(etc...)75
2125 y Fj(The)j(symmetric)e(case)42 b Fk(is)15 b(constructed)i(as)e(follo)o
(ws:)j(Group)d(\\A")g(and)f(\\B")h(wish)g(to)g(build)f(a)h(symmetric)75
2175 y(in)o(ter-group)f(comm)o(unicatio)o(n)d(structure.)75
2226 y(\\A")i(group:)249 2316 y Fe(mpi_comm_rank\(A_com)o(m,)19
b(rank\))249 2366 y(if\(rank)i(==)g(0\))g(then)162 2416 y
(mpi_publish\("A_com)o(m",)e(MPI_EPHEMERAL\))249 2466 y(mpi_subscribe\(B_com)
o(m_sen)o(d,)g("B_comm"\))249 2565 y(mpi_comm_context\(A_)o(comm,)f
(A_context\))249 2615 y(mpi_comm_dup\(B_comm)o(_send)o(,)h(A_context,)h
(B_comm_recv\))75 2704 y Fk(\\B")14 b(group:)p eop
%%Page: 9 9
bop 1854 -100 a Fk(9)249 45 y Fe(mpi_comm_rank\(B_com)o(m,)19
b(rank\))249 95 y(if\(rank)i(==)g(0\))g(then)162 145 y(mpi_publish\("B_com)o
(m",)e(MPI_EPHEMERAL\))249 195 y(mpi_subscribe\(A_com)o(m_sen)o(d,)g
("A_comm"\))249 294 y(mpi_comm_context\(B_)o(comm,)f(B_context\))249
344 y(mpi_comm_dup\(A_comm)o(_send)o(,)h(B_context,)h(A_comm_recv\))75
427 y Fk(F)m(or)13 b(example,)f(elemen)o(ts)h(of)g(the)i(\\B")e(group)g(use)i
Fe(A)p 909 427 14 2 v 15 w(comm)p 1012 427 V 15 w(send)e Fk(to)g(send)i(to)e
(elemen)o(ts)h(of)f(\\A,")f(whic)o(h)i(receiv)o(e)75 477 y(suc)o(h)h
(messages)f(in)f Fe(B)p 418 477 V 16 w(comm)p 522 477 V 14
w(recv)p Fk(.)158 527 y(Notice)19 b(that)g(the)g(ab)q(o)o(v)o(e)g(calling)e
(sequences)22 b(preserv)o(e)e(an)o(y)f(virtual)e(top)q(ology)h(information,)f
(or)h(other)75 576 y(cac)o(hed)d(quan)o(tities,)e(b)o(y)h(using)f
Fe(MPI)p 648 576 V 15 w(COMM)p 751 576 V 15 w(DUP)p Fk(,)g(and)h(then)g(c)o
(hanging)f(con)o(text.)75 714 y Fl(9)69 b(Cac)n(heing)22 b(in)g(Comm)n
(unicators)75 805 y Fk(TBD.)75 942 y Fl(10)69 b(Con)n(texts,)23
b(Comm)n(unicators,)f(and)i(\\Safet)n(y")75 1033 y Fk(When)15
b(a)g(caller)g(passes)i(a)e(comm)o(unicator)d(\(whic)o(h)j(con)o(tains)g(a)g
(con)o(text)h(and)f(group\))g(to)g(a)g(callee,)g(that)g(com-)75
1083 y(m)o(unicator)j(m)o(ust)g(b)q(e)h(free)h(of)f(side)g(e\013ects)j(on)d
(en)o(try)g(and)g(exit)g(to)g(the)h(subprogram.)33 b(This)19
b(pro)o(vides)g(the)75 1132 y(basic)13 b(guaran)o(tee)g(of)g(safet)o(y)m(.)k
(The)c(callee)g(has)g(p)q(ermission)f(to)h(do)g(whatev)o(er)g(comm)o
(unication)d(it)i(lik)o(es)h(with)f(the)75 1182 y(comm)o(unicator,)g(and)j
(under)g(the)h(ab)q(o)o(v)o(e)f(guaran)o(tee)g(kno)o(ws)g(that)g(no)g(other)g
(comm)o(unications)d(will)h(in)o(terfere.)75 1232 y(Since)f(w)o(e)g(p)q
(ermit)f(the)h(creation)g(of)f(new)h(comm)o(unicators)d(without)j(sync)o
(hronization)f(\(assuming)g(preallo)q(cated)75 1282 y(con)o(texts\),)k(this)f
(do)q(es)g(not)g(imp)q(ose)f(a)g(signi\014can)o(t)h(o)o(v)o(erhead.)158
1332 y(This)h(form)f(of)h(safet)o(y)g(is)h(analogous)e(to)h(other)h(common)d
(computer)i(science)i(usages,)f(suc)o(h)g(as)g(passing)f(a)75
1382 y(descriptor)k(of)e(an)g(arra)o(y)g(to)g(a)h(library)e(routine.)29
b(The)18 b(library)f(routine)h(has)f(ev)o(ery)i(righ)o(t)e(to)g(exp)q(ect)i
(suc)o(h)f(a)75 1431 y(descriptor)d(to)f(b)q(e)g(v)n(alid)f(and)g(mo)q
(di\014able.)158 1481 y(Note)h(that)g Fe(MPI)p 417 1481 V 15
w(UNDEFINED)e Fk(is)h(the)h(rank)g(for)f(pro)q(cesses)j(that)e(are)g(sending)
g(to)g(the)g(comm)o(unicator)d(from)75 1531 y(outside)j(the)h(group.)k(This)
14 b(can)g(result)h(through)f(the)g(publish)g(&)g(subscrib)q(e)i(mec)o
(hanism,)c(or)i(b)o(y)f(virtue)i(of)e(the)75 1581 y(transmission)g(of)g
(\015atten)h(comm)o(unicators)e(\(and)i(their)g(subsequen)o(t)i
(un\015attening)e(and)f(use\).)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF