diff options
Diffstat (limited to 'doc/gperf.ps')
-rw-r--r-- | doc/gperf.ps | 8385 |
1 files changed, 4646 insertions, 3739 deletions
diff --git a/doc/gperf.ps b/doc/gperf.ps index f360905..cb1ba65 100644 --- a/doc/gperf.ps +++ b/doc/gperf.ps @@ -1,18 +1,19 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software +%%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software %%Title: ./gperf.dvi -%%Pages: 32 +%%CreationDate: Sun Feb 1 12:20:28 2009 +%%Pages: 37 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 -%%DocumentFonts: CMBX12 CMTT12 CMR10 CMSY10 CMSL10 CMTT10 CMTI10 CMBX10 -%%+ CMSS10 CMB10 CMR9 CMTT9 CMTI9 CMBXTI10 +%%DocumentFonts: CMBX12 CMTT12 CMR10 CMSY10 CMTT10 CMSLTT10 CMTT9 CMSL10 +%%+ CMTI10 CMSS10 CMB10 CMR9 CMMI9 CMMI12 CMMI10 %%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D600 -o gperf.ps ./gperf.dvi -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2007.03.31:1631 -%%BeginProcSet: texc.pro +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2009.02.01:1220 +%%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 @@ -31,22 +32,10 @@ df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A @@ -70,165 +59,7 @@ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet -%%BeginProcSet: f7b6d320.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10 -% cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8 -% cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10 -% cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10 -% -/TeXf7b6d320Encoding [ -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega -/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve -/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash -/suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand -/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen -/period /slash /zero /one /two /three /four /five /six /seven /eight -/nine /colon /semicolon /exclamdown /equal /questiondown /question /at -/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X -/Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent -/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u -/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef -/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute -/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE -/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: 09fbbfac.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9 -/TeX09fbbfacEncoding [ -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi -/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown -/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla -/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam -/quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft -/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon /less -/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N -/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright -/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l -/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright -/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi -/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown -/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute -/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE -/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: bbad153f.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 -% -/TeXbbad153fEncoding [ -/minus /periodcentered /multiply /asteriskmath /divide /diamondmath -/plusminus /minusplus /circleplus /circleminus /circlemultiply -/circledivide /circledot /circlecopyrt /openbullet /bullet -/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal -/greaterequal /precedesequal /followsequal /similar /approxequal -/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows -/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast -/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup -/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional -/prime /infinity /element /owner /triangle /triangleinv /negationslash -/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur -/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K -/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection -/unionmulti /logicaland /logicalor /turnstileleft /turnstileright -/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright -/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv -/backslash /wreathproduct /radical /coproduct /nabla /integral -/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section -/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/minus /periodcentered /multiply /asteriskmath /divide /diamondmath -/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef -/circlemultiply /circledivide /circledot /circlecopyrt /openbullet -/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset -/lessequal /greaterequal /precedesequal /followsequal /similar -/approxequal /propersubset /propersuperset /lessmuch /greatermuch -/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: 74afc74c.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10 -% -/TeX74afc74cEncoding [ -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega -/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve -/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash -/suppress /exclam /quotedblright /numbersign /sterling /percent -/ampersand /quoteright /parenleft /parenright /asterisk /plus /comma -/hyphen /period /slash /zero /one /two /three /four /five /six /seven -/eight /nine /colon /semicolon /exclamdown /equal /questiondown /question -/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W -/X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent -/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u -/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef -/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute -/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE -/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: texps.pro +%%BeginProcSet: texps.pro 0 0 %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll @@ -245,30 +76,29 @@ forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end %%EndProcSet -%%BeginFont: CMBXTI10 -%!PS-AdobeFont-1.1: CMBXTI10 1.0 -%%CreationDate: 1991 Aug 18 17:46:30 +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin -/version (1.0) readonly def +/version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMBXTI10) readonly def +/FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def -/Weight (Bold) readonly def +/Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def -/FontName /CMBXTI10 def +/FontName /CMMI10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 58 /period put readonly def -/FontBBox{-29 -250 1274 754}readonly def -/UniqueID 5000771 def +/FontBBox{-32 -250 1048 750}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE @@ -276,32 +106,32 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF -E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207 -BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3 -3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2 -F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707 -C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E -BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632 -2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1 -879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D -141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF -63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46 -4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B -FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD -395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003 -82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1 -763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019 -165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E -57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED -E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5 -178DAA7C97C35EAFA47778CE03E863303582D8A9900EF4F8DA879DED54BACD7A -4A50C18AA2ED906FC4DC073B1E6CA1E3855AD5B7698EF4A96B77DBE19A12382A -CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4 -890359E7E04690BFFA99FAB5CC9999F0873A9DBE49E33F79E483FAD72313DF9A -7B7D926461988C23CCE9F71AB7BB63BDB2B10B3F78176380AFFC154825C9BDCE -82303FBFC3B59E070438984C28D12E8655BBBF049125BF56DD2B0DE8C0450E55 -82832DA59EBEB001AAD86F2317460DD7ED264611B9043614221ECF +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 +990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E +6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB +DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 +59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 +D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF +8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 +6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 +1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE +03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 +95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 +74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 +3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 +47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 +AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 +42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 +40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 +B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 +9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD +0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE +E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C +7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37 +88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6 +DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1 +AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -312,30 +142,29 @@ CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont -%%BeginFont: CMTI9 -%!PS-AdobeFont-1.1: CMTI9 1.0 -%%CreationDate: 1991 Aug 18 21:08:07 +%%BeginFont: CMMI12 +%!PS-AdobeFont-1.1: CMMI12 1.100 +%%CreationDate: 1996 Jul 27 08:57:55 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin -/version (1.0) readonly def +/version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMTI9) readonly def +/FullName (CMMI12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def -/FontName /CMTI9 def +/FontName /CMMI12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 58 /period put readonly def -/FontBBox{-35 -250 1148 750}readonly def -/UniqueID 5000827 def +/FontBBox{-30 -250 1026 750}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE @@ -343,32 +172,32 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9E3948FFB3DF7BFF10C9BDA4EFE5F68A8CB1526990D1357AE6D2F7C2D2EF8496 -4E47B39E6712EB8908A3265E5FAB40567E866C244814449F1E993AAB422C3F1D -DFA8C7118584F2E5197FD4BFA3A8AE9E953C6CD4672C0FF51E41C3A919749C1A -F06650DF4C5E17492164BDBCDF22609A74BFA7F69960A64B9F949FFC2A807458 -8579366C4F41BDE1FDFBCC4845FA19BBB6963D65EE8532549274BAEBDFF24FA6 -03235D1BE37C06B1938AF369DA75BF38DDBC87A1FF445EAA16E1895ABE9506B9 -211955753E447865D33CEF007391D2666A046277A30A49804FFCED3FEA5EB2C3 -E52EE14A9F75241EA10C91974CDA6236EB840FD44D6DDE4D9B3266C3B99BD38B -D835BCA8CB819C073480FB972CC028D218F6A1D344CE1B63F4FBF2C826F412E1 -6E0B05A26125865A14FD7B7030B478BB8BC6BC395335C3BA940E1C348267F4F9 -0AF97BBEE253511940F1048E175D3569F7D05A28851B6F50765FEB6C9654FEDC -1BF52F535DB5BB90C1BD5D2EBF75E0AEBE82B20507F3C28A03746781018D4EB2 -298E4F2C27ACF73FA73EBE43F014BB575AAD516C0407B29E1653375135ECB74D -C91372F06FA8EF37C31AF3FA48AE65318EAA6C34830A5377ABB2DFA5DA53A574 -433484BA1466709A4B186761655C8E482833B697673E847C691079E7F1DCB8D6 -1AD91101D757B83E2090337D525AEECB028FB3C9F6A6E6AD2F322CFDC5A833E6 -1CE4EDBF41FD34FD61630581D222F854A76C2EA9FD72796A7C9CC1F6C2FCCD16 -E95CA05826A4ECFADA6A5FB83C41A7131E52BA6585DD6DD78515D8F7327DFC6F -9404F89293D6ACB433CD0802C43F0E74C6C4766A23A6AE3788FE6CAE82E1A104 -BAEC8BEFDEFE4F292F625E60362F3886F602CE4121BF0AAD93526314BCBB5971 -40091A7BBF7EFB3BA355B88C897D9C70C841DE41309348751EDFFA8675215988 -49CB1599834A01EC6CD4FD813AFF97A614F56975775D5F48E9C1A9CE532FAEB1 -4EBE20C3FA87CFE03664C428BFC5C894668E507950005BD8C2BCA8998C1FB92C -4E6B791BA05B79F332EB8AF5B0F851B8B7EE372EC0861B09C007CDF43F82D0B7 -35446F682A0DA7F4112CDABE4F922EACFCB7B8C88BF550B60957E7 +D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 +5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC +4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67 +3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993 +EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F +4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59 +2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A +323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C +2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1 +D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA +5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F +0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D +A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77 +2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60 +00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8 +CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757 +99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA +C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D +5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295 +55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49 +335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146 +BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888 +15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10 +0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8 +23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2 +378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -379,193 +208,62 @@ BAEC8BEFDEFE4F292F625E60362F3886F602CE4121BF0AAD93526314BCBB5971 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont -%%BeginFont: CMTT9 -%!PS-AdobeFont-1.1: CMTT9 1.0 -%%CreationDate: 1991 Aug 20 16:46:24 +%%BeginFont: CMMI9 +%!PS-AdobeFont-1.1: CMMI9 1.100 +%%CreationDate: 1996 Jul 23 07:53:55 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin -/version (1.0) readonly def +/version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMTT9) readonly def +/FullName (CMMI9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch true def +/ItalicAngle -14.04 def +/isFixedPitch false def end readonly def -/FontName /CMTT9 def +/FontName /CMMI9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 58 /period put readonly def -/FontBBox{-6 -233 542 698}readonly def -/UniqueID 5000831 def +/FontBBox{-29 -250 1075 750}readonly def currentdict end currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E -2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279 -650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35 -F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A -D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E -F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1 -4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A -438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD -BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B -A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641 -AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74 -D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB -CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A -082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980 -9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0 -4BA1EBFAFDBEC531EA13DFBD6700E53818CE04D23886B8AE75DCC36BCD3189B1 -0D55FAE27D0D126E82AEF31D7B5DF27E58C30BB0867D6D7AC1DA9EFB8A2DF095 -B5B934A68EE122DA0A83B36C952431586B957990206194E89339048AA6EE4C53 -703763505ED57C494DD907D0EEA04F6B1D4C8F3BA778F4E7AA832AAB4D75F024 -61E91C6D25FD6823CB24FC863AA50B9B6CBA06BE11814BE6DF2ECBC59614A061 -67311E64620BA968BAC5A4AFBB51194E1EC2A8A6460E85C23C146388B0A16BAD -B9405D3A50CBF9F2060A32C8F37340EE51E6E7208F705B41AE2C78707EDC4C1C -AC4BA95875F0634C6D5BE1C5DD4BA35086F660154CB1D3E176518D634B551319 -E8F8C5EE80251323C86C9DAD0FF8F360F4A2930AD3266999811333EA73405FA9 -55B447DC8EB07A0C64CF2404BE8C6C7E6D263E799B1156E68AF1361ECAD79F9A -182A71A49040A9960826E74B88307F4C0061046C0F9DBFD25A642E9FA82A691D -FBF60D03D2BB92FC09D4C814CFC0DAC28690CBEE9D9E73FA943FF9C68285C683 -C4E1AA05DD669D24AA5EABA214FFA994E61669821F0FDE4AA2BBA18FF4A11397 -515996FE402DD98FE032C6171DA1E40D4F870BA08FCB5D093525EB366E825445 -E58CD3E6FB72291DF9288707B8C2D1F96D0895CB316B74585745CD1F636936DE -9572C75BD823D3869E264E452B1F2554C20DA7A0A38F3E80646D1727C836FEF5 -85C22382271615B6F994C34A5DAB5031F1FD58DACE3EEA8DEC66B6E683B68925 -DBB3820FD525D0C07F82528B06E34A5AF65F3BB11DAD02ABB66C8A0670545071 -97EE01859BCB8179731230D9A8BC52A47656A84BBC7D1AC118D497F14937A1E4 -C5A2F171412185D365B7D476C872132CF8E49F87C8EEAE6EA4AA5979EED7831C -061384E91AD71AE04E80917B07F85F12B4B88D46BADDB6D9B56C4BD028FBEF25 -432A07B83E81A23B3025DC6D2AAC38F40F5091CA6275E22388093E9C46B97774 -0B091D60F2F85CE5B38A64B4EAD179C5EFB72A6DCB31BF080E62EDA70BC27FF6 -70F1E6B7AA9B60BF19F52116D919FECE991946C8890766CA834C9EF887EE05B3 -7870F0905663F66B483BA94829EF58BB076166A40809474ABB9EAD15FD21DAAE -DFD13192EBF5CE5F13441BF33910DBE1F03F24F692D229623974FC0545609E1D -04774A010546D9DD7DC565BA9118C9162C4EBDE79684398D055BE9817D5323E2 -62F47521C9E9B45123A1A9519258FB0DDB1068D7F92F38FC65F38D3479E00B70 -4193F003F92F1C80CA0B4607DC1A60C1D342E9298969B23BA9247936279F8D98 -D953AD865D937F7B9FF3424B4263290802A53C3F1ACB5BE00F4DB01D8ECCA322 -BC02E1A1E025CF85C960D6DD73D4C53474544B17EF73DBADAB9FDAAA93B627D8 -7263110ABA54DF1D3C1F83724DA049DB977F630706988FE0192FB53F3FD9417B -C24BC1B3CC184DAF52B07F2B4461190E0BB06EC6B4AA0A9417C66AA20DD96F5A -8C7DB7BF022830873F5DF031C9CA661B1ADB1EE2F7B08DA3B3DF127D52CB0B88 -E01E4593AEBE23FF5177B1EED76EDCF84C6272C677D6B221A35B420D93252183 -6B6536F0477E7540636C30B02BBB7E4C33CED1C4EB6462FE2FF03FA3451F952A -E1BE1ADCC347E3B4BF0F551CFAED1D123F30493E4DD71883B8FFC6BB4A855D02 -5C10248ACFC1AD3600D7A504D043BA4026BF29357D11489F6E2534111552D79D -C1892AE149061E5D86C01D82C52427B4486F88AF9733EEDC2A27C59053189136 -14BA6AAD04DA9C35B8377E339BB1678C533A8800AAD7736C4F2C99C979F1FC11 -65F2605F4D77A0F524E259C75F7B5C319229BF4E006F106D2E53057537E646E2 -3E04FF414E52AD68BE9480B3FBEF472C446BBD928758558F299AADE32E3A947B -DAE1A1563E506753D5DCC8692D9315729404956DB585209C512C1843F11B1B68 -9662B6F7FE8C288C0D4E514979D3BF3FEFAFB4694D8969DC6D238D4310141BDD -48812F4E2EC6FF9B30A19E7DF6176643E8BFB9E5FB5FF44269696A120E4629AD -AC47AFC0E43C9048552F47096F6030C87AE08B6969882EAE4A63C8EED064943C -2DED79E266545B8807739CFDAD5AFCBEC84CD577DB0956B7D3E573FD4D150683 -C03F339502B0B7FF14B05F8063BFF72272AE941313A2A87833B266B29CB4768D -A5561D5E0D385CA96B0D42390F7F8C8D0938557CD4AC52571E340F7E9DC7BD6C -063CE5B9F584D60790CACFDDCBF46408DD37B8D2D77F4FAE3F3579BD601A6508 -F62883BBE55CC900D4FEC66C95D04CC0FCB7F9D5FD0AFF3CD8A8041FC2A7DCF7 -923720EA109E2447287D4DA7B390DDEADA6001948FC5D7516BC41D9F9045BD6D -44AC9FC7953A1B19C48F938DC7DEFCBB895F29609438B0735BEE9FE2350EC3A5 -D07572A3DEE070F22139209F577E0F2635A2F081ACDD60F1DB00E8547E0F2043 -A372C73063C50FC37662588138538BF02670D88E98CC6BA37A7854754896E36D -9660D1B57E8561F7646763B47DDABE791A22795EA0052A5D5A1215575DB845F6 -72812840395A3FD09FB64C49E1FB301F894B81641D5F4E118E51376133FFB60C -C0D7E53AD245747100747C1CF79E43074FF660FD9CFDEBD27C314B33909993AD -C6F74320515DC8662C18D130B573866A425A71208BBDAC74B9856435F0BC8743 -8B7B0A961EC6A50BD7C28A37D1B498E201C669DF18DFF254B46E1F826ACBEFA9 -63F784B55FDEB25C47344D51C229576ACAE0B5668854BFD2F3C4317B9B8DB678 -D7070B27D4F58AE5285EAE9112CB06B91B3B7EDD674A7C1CDBDFE0E908918DDA -070AD7F1AC630485BD63CC060AB809D959D8351EC0D0B16C5928B04A96FC5F43 -E16AB4A92FFB345217429544BAD0290BB0301B39A461CB1112D666BCE90BF37D -46314951443D48B66F87C300F59553745A5218DAE7FF319EC6A3E54A08E2BD78 -87DEF58A90F21E2EE89337287C672F039B99C21288A3893118B11BE6192B359A -743E7F2AF63D9595C6F0BF8E925A4611F5C9EE53216EAA6EF28F76CA97D8C608 -668D4F2B9F4758443899761858C7FED1DEC31C7063D52A54BBC52408AF7599E7 -B00A06EEDEF1C6B89CD64D83878CA3509365ABCB953BE258703304FD475B5423 -6AC41B9A01FFC163D00CB39A714CD4C4EE44BD3B72B836FC6FCDC5B4807BE0EB -105F308F6F0BE0026ADFD15C7FDE8125F26FF0464F77BAA01417940EB4921F84 -642BFFEFEB1B260D6D5DBF4FE8E4B27B735538C00E1A1E113C3DAD716BC5FB2D -4CBFA14D80494869D98F2FCD284A6FB0C21EAB1E9C39B2AD13ADB3F1ED11462B -6AF1D508F725D720F13E05F9DD829B6A4E85F2875FEABE6E08AE8AAC5E3E3CF8 -20252F986C06659C956A91DE1A55F4562F69083693A506EAE83D9D3BDF3EBAA4 -929190CC32FFD3110C91C45B8EA7244EB90AB715F25651276AC763DE439FC1E1 -D329C8858131F5B9AD33EBB54DE30BB896605EB41F6D1A82AFA2F67BBC0CBFAE -65F2CC7BD43480E72FC9A320A8DB76F4C5BCB1AAFF01FE05F2473D109B72B367 -91E8304E2D56516A2A0D36E9FFB237696EC8159D8A8132E8FFCCC52788A34C94 -DA762D34516E07D639C7E2C92BF9855745E603F30E756197F77AEBED83C52A85 -02D6922B39AD6F223D0EDC2B9355212D32770AB4E2E5D42D10CF3ED77A321A19 -5BE4566EFD21DDAF65C9CF4961033D298E0A4CB01885C53E92104E816E261DAF -00A6CE7C501CB2282BCA60C641B298C8A5553F9CFCE711C6B677EF94039BA4A6 -8A29B04C69D6B0C586A3DCF1D323B611E87741353101D201B1A51C58C5653808 -A88DFF583970916F252F79BC09989A7526C6C004205396A6AEB5D5F893AD2BD5 -21A7C70CDC4441826B31DDD7CDF72AC95954258EF01EA58BEE077E7496541955 -98901F9DF5C3D9871C2D73D5BD55081FBF2903AB2D666B062EB59271D5DE2979 -B6B7D9E6F98CC2BD25E93B963F8069FA557DD229EB689579194DD23552D44B76 -CDBB0393E7495139C765A901796B27B4E1BDA58879E335DC1094419537150FA5 -9F3C8B24BBD04CFF6EDEFA0EF0675831D473D08C563607F8B8FDC779A888CA90 -59B91CA9455F49B75D01AE83E29B525DFAA3EE8AB6921C98A08C9863EAD03FA9 -A06CCE0D2E4F5AE3B58E874962521BB632F40AC0253EFCA8080F388AE87930BA -2E6F251053FE3FACC9B8F5EE35C7E11C527BE04A313B15056DB5A2BA9179D38D -65567D7BFB41E864C5A628D92FA9CE07DCBD3F61FE5716DB80B0C4BCA5547E0E -5FD095421ECEE9F3AB0BAC5282D6848B592334CA0553776944FF72F033697BFB -E341F5F006FFE5E1C3794289CC7E5BEE9049F11DC4F4FF6CADF6D2FBDD87A66D -33916034A78D3F8B13E30DB2D5876405C8C4E533003DECC6839988E716B54CDA -8220EFCF0BD284F26CFD5CFAC1A680420DEA1C9D925BAFDC063414D6E9B3C67C -EA61C4348DEBDD601C47517288D2869E815FE104291BD26B4CB623FB24525981 -3401580E6E6C84914AB9CD91B3B541F9AF742119DDE659146A4BBD4A3F532DDE -EDC29E58F4C2AD9B78F1B6B4C7DBE74288E9900EFE276A22E74B82D20F231789 -79D72B1AAE398B8981D33E6EB27AA29530E169EA294A1A76AE941F7BD33F1333 -59EE7F2448E0A2DE3CEAA02DA052B941718DB7288CBDFB0EBECAB5473F3A1E6C -6E2B3A823E92F9BEAB5E704CC717B170FBAA1F6021478D676EBA2DD8C1FDFCF1 -EFCB0502845A1CA22C344A9C309B450E7C6D1970F12E5F21C1016C64373EC731 -3E5D4EF7C86285ABFBF6CC8A7372E0A2269E44F8DAB78863B26B1C13F38684A1 -746BDEAB3C4707D0E1D519357925041A9A34D39ED75056CFB3F80B428FC318BC -8D61F7B0B560CEB296163FFA87579C15978A6F85DF244597A2D69D1C952A9062 -76B045F6DA725A0C50EE54087F2659E783F7C184C5F5A6429A7B5FE905C100D3 -DB6106A1F5946314CBBE013462A62B9F4F2B053B14B6228D8903604E7058D1A6 -22BF06E2148918CFF2CB8B7A5023D59457A3E4D719E4E21234D29A2B62BF58EF -DF5719C6976AEBF9FE7BFA627466E421EFD90E7EBCFDC0ED82AE79DB249BACC8 -24194544826B53932F0D6C16B97D322D2F546E00E63E27B3C44FC2C1CD2865C9 -BC3DAB3EE336724A1A345970B38E806B56C9E810C4FF6DD701FD61581F9A8467 -EFE2A2C0A57DA04CE84281E8F2EA799428C46D9F08BB07AF3E4E293EB87A675B -C74F461086C1DE798DADCC23739195DF2479E6DCEE0E582AD55E8C496BBC47E5 -403003F83C523D37DEBE106EB00CBD0E9E84BBD73CC823ED2F3AA3BA824E2C53 -B2B1FC67C4FCE94A1CA568ABA7AB4950782644A47D3C040FBBA833EC0D00DE03 -392EDE905C67DABCF6F0BA9771A953A29D3A02EBE2447D3AAF484BC461FC4EA5 -A3EB4985F5FEA614785F962CABA273B5952F73B4048EF771A78126D022471276 -C4C3C9DD5C8B2A7C89D4C4804357131E30F5734C93205D8C98D1152B7C2F3D5D -8E1DFF1731595F17AB58A761A56BD1A336C4EC203BDC7732FD99DEF3CCA1C2C9 -0DBE11653610D192D0AA776A6AA0B493E5C2ADBD3D03598398251898FC879533 -154162AE4A5BC9690F00F8976C3FA4C506325DB5E744642DDBE32FDBA38058BF -492C8FFF777D58F0D5C46C224C56FBC86908C8E0F7759ADE27D8BC5FD2752924 -12EDEEFA51707577B91C86613D4A69FFB236E615D74F49455E31F2C5FC9F003C -DB70FA20D5CAF86CBC7F0F0413FDD4CEDD99741BD89DDD66778DE46DD98D6AE3 -EF40473E16AC2A6DBC60F475132FC96348ED87E28DCB1074FC52D0EE81BDCE62 -40869C9CB2B91B111B445B445A17782E194EE36F4BC5412788BF69D06801BB3B -224066F35E04CEE0B3B81894724C084A813683B405124171861802DF38D44151 -F2A7FAA59DFDA16A881B920B20F3A5FDCB95330F0D57475738B0108ED4C476A0 -40803FCDBCC23B284286A483D3AC86E98F77245F25E649AC4B6F8CC9E06D6F6F -E29E993CE6F34D76C6C8E7615350D47EF57823100F1E8101CEA89BFB0FCBF05E -FFBBBCFFF87F6A0D20E56B9BEB0D4807C856A82FDAEBDF6E756A82C7D480F128 -3BCA96BC773D8899A9166EB6982B5566F262D0D4442D752D25DA750E9F7B2E26 -8451CB3CB6978C022BFE32F4FC829F52CF7E856A2FD27E5C29E69290BF7CECD5 -953F8CFDEDEA316F5BB0BBFE532E688793A86D21B17753B5585042EA0398800C -3840803202FC945E4BF72C8CAC140FE6412187142484B7EEFA080419A1BBAEBF -C77BC72CAC7E668B3217B1B9775E585BDDB10F4ED705A92FFEBF6C4DFB6F8C84 -8383D9DAE4CE854304F0E84D777B0EEB9AB5DFD573AA2556A1B0721D2C31858A -B6F3432BC2706920 +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935 +86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505 +DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD +67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF +6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554 +FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7 +22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD +730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F +449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7 +97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A +E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C +AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA +A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599 +B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B +9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E +759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3 +5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2 +BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680 +3435E9C9445A59A7C666418C4F2512C32058B1CE1EA46C7839C6E372F6CC60AE +2CF46DD2F130B532DE8ECD42D9204500E413799E298CF6426F28D23BB7216BEA +1A618B3ECC61B44DDEF0BB22D640B47C09AC0DF378CE68FC9CD88BDAE9ED89CB +431A5CF9C3E9528FEE7A9936C2B1CF7B38DD2B95773F0EA0051607BE1B0B3588 +A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433 +30AE3C094654ABF4698C07F8C74E71D023DFD242EE83B1306786124DD8C6BFA7 +801E66CB944BE7EBCB3FE803EC97067AF7AFC8A4E9AC9D11 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -596,10 +294,55 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 39 /quoteright put +dup 44 /comma put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 70 /F put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 83 /S put +dup 85 /U put +dup 96 /quoteleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 121 /y put +dup 122 /z put readonly def /FontBBox{-39 -250 1036 750}readonly def -/UniqueID 5000792 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 @@ -633,234 +376,235 @@ E96329244411EAAC14D3ABDD2BECAD7D391ADFFE3F7565B14FD29737EAAED3C0 9792FC1A510BCB4A2976BB640EE4510EA2BA3C7B5FE02F5F0F845B6B00F617FD EB4655CED34B0097F22329071DE7738CA994BD0F983C5C4599AB9161F3776023 9AB724F231D9C38A76FC8F6A2DD4E6C9FD2B8061CDC814442CC69E94D437AC78 -B2DB204A99A3240E1123E0568F6EDFE11586FD1056FD547B7CC477CDBA05F4E8 -267F1174136F0A6F1DDF36774E8C58C3819ACBD9082D6F8D32787199B991C539 -66ED8AE31E98A78F906B67ED87FC30D3E9FC8786D38A1DA49EC9D1075CFD4B23 -CF86014DD39A0875E64A40A1EAA6BB9B2D5BBE9F5DA15A93FA14027AD2CDEE21 -F3CD937930BB35F12FDBCC15AAA27B26FD9A3965CD3DC6EC8981BE0B1D1B54A8 -EAD03882DB414C55E69F022DCD972D2509CF438F5A8A3D005D6C4840FA11C09A -D80E4E7A2A9D5D35C9F90E74B6879428B3DBD6A9F65988921495F5932718BADF -6A1D0BCA5C28D95C77DB91FED97E631BE91F12FA8B822F17C19A40432BB51FB1 -32456106CA12387835F299D2C835A6015DA041BB8EFC89A05B9E14B431EA49F9 -663EE20B464A0D899E959809FD8CB94DF654FD60CE3DBF43B68513B73D370DC4 -A1D6EDDA5A97E4FA33F076A46798F08BBC9A8B881FC98A6FC75D6DC35F11B006 -1CAF7B4C1EB3D842AFFD7543E0684C08B9066580AA87DA60063917085B15574F -89A66AE6142B501DDA88AFB6CA54715FE9C322FCA314B24A1EFAB4540D29D4BB -5D9DEB2AF0D3EDAF249C7CF44E9AADB07378AA79856A8547723981F63B34616A -A2CE9FE46E701270235FA81568A236A614278FDD2178DCED2E89C67F73B17241 -EE3963A20FEFD28D57A5EDBE9038EBD14F2B4522FD33E87FA15346E5650AA523 -90B3C06C1F5C58C3A724E492E37D39B2247264DA02E5429062798387AE75D344 -B2A49017D786F5CD038F47BADED863CA9B0AF8DA68D7633997432A8289FBADDA -5C0CB9DE70AD5C358A34D05719104C5320810984B09B6DF65D8D55F515704E6A -85DB3EB4D3E1174450D67D5B9BA65575697EBDE700EA6A7ED78BF125B86C2EB7 -4F8A3FF408A4330A1F7DD21BD4D991A864F75E203F53A1BC423F071BFCBBD398 -B6F473789C02DEFC495FCB176636A5FF6C1097F2B262FA55283560FDA41BD09B -1BF15AF3D55CA3B8EBE99822F2B0602CAA02DD7CD9C06FEC22020088B328DB5A -72C1B42A7EB70B9D3CD7186AF316B9C769CCE07C7EAE3CE6C0C297031C21DF01 -50934FF9983295554BA5250B84F48E8A53C12874628AF7CE155C400045F836B3 -9A9FD9C6DE9A85556AFAA011619597D023B229B24DF27DC30C280C2DCA6BFBCD -DDBD73738D049A34EEC427B15463A22C989AEEEB870BA80D2A161EB19EF3B07D -47381CB799907C723BCEBBC23591FE23EDC4B5526AA62AB69915A29E204EAA4E -5CC6F50ACBA322C147BCDAB2037942FAC0BF085ACD727037939DA6D679A67BA7 -3C6F125FB7E95C37BD9E69F12936506E2591B7570D0D06C5EE1226966DBE3281 -D72D682E570029A49A5B566F2A34F3C4D1B74A845D7C4ECDD5FF077326FFD7D5 -2D67EBF1FB9B8219B6FDDBFD93D204B5054B8DC0B59264F944F6C434D73958FF -942CC33C4EA712E73547F15EDFB1D4F7E9F48330ED24D61CBFE4F1435345EB52 -2654BFC97CDCB80219941377C9F08E37DF676CBF8F1FEAB31B93CFC356A854E7 -2D44997DE52B3B61140EA94FF249DA41AFBAE054248BCF618B171B28885EEFC9 -183C4BBCAD4F7D2A230CE4490DB184D4E123309718E5353970D4AC9FBF38549B -2211875F79D431340D5CB6A0B9CEED0EA26179121D155BA81B5FDF99C5E8D177 -3B0B10814B81E4FA26B9B5875FBE7E2623B17AB3C04419DD250F0DC422CA6F8E -1677E46BEA2596BB7D52917E49A8B175C5A45B53DFE99CA1A1787BBC65E9B335 -6BFFCEA2D8CA21E457AF27A83B192BA9011143B82E7ED7754C85677024104E9E -961D89ACAF6EF14E51A027EA3E4BEDE07899542ED05AEBB63C93A73707B33E29 -39F159F1E4C042BBE672C661E8CFFB9E2D99A21DD37C67DE76ECAFB1D86A25A3 -A35A5644653C5571B5B7AF8317A12C65C9D0701197BD6981DA6491AE466730A4 -317FCED66FAF5B548D00B28D8FC9FA581206582A43BC8AC1C25A6AE28DB6F993 -2C4EA8372A77DADB48E84F2BF0B13212782210593DA8843CE20F480189A6B1FE -F25628DFB0E80EF6246278A977779771ED41C18D149AD5B9029A350BA27B2DE0 -B4BBD5846279AA5A7EF490E93D7A29A638C6D8300E4DC86BF13EB1B86861879A -3B040982E4B1E3644BC982B7F6F3EB5E0E68E4ABEC782B0A5D4A118344510C5B -5C713028D1055D3FE8F4021F34D6633100642360E78818624DADACE86C8959D8 -FD3D17A6C3C68BC57D4DBF3C2C1DDB48E485477F8642FAB9CE972642CBFA1E55 -E8A49F277958C2C5BCF94927BD4BD1BDE65CB7881DD58A19DCD4520AB550170F -75F2DB0F762D0E299B5E9ECD77D2DAD70A3D669FA0A35258501111F87004D8F0 -1176446116A6947D9A9EDDBDBC8970E467C0C297FF782FBC792D67F6670F04D7 -E144383D0FA67DAAA72320881BBD99AA2D5FE15FC39875C76CB51358942D5972 -255788796AD094FEDB21A62649C2776D06DDE5845BE618BA586039114287BABD -2497E94EEC93B5BE6CF26EAD350C3054BE1BCAE4C7BC8BA00D790987A4B22427 -5113579591E22C858E9BC334D521C79687E727C500A49D64A04D184202A8CE6E -2B3E061D9782A105E70E41299F921DED673BAC72D68E7571DEFB6BBC74F85A1A -459F0E3E25D6D7537A03599DAD46C0D5E2A16FDA46A6AF0FE03BD8C83B6A98B3 -859D90557D1E57EEEDD7F294367EAB4A974F4B335919D82FCB10CFA5198C53B3 -F2A1E716E911039BCE3518A2313586D7AFF353A7922B93177A09161161E9D762 -A7821D0BC443C593D9E2E1DFF06A886FB5AD8138488C7697BA30582D762163BE -6C7B8DA2E878BECB58C6AEF6E7A79B3086ADDCD8A788C6B7500D8B0388C5644E -A671BC9DD7E42F0CFABC401CDBA0118747E575E990A12DEF28458DF96784D22A -3953A07E8BD0B635F2D9FB6146B68042639154044C4E904C64E9D5B724963566 -FA3B60FD276E3D7EB2F59659CC36C45A1E8B66FA47AB87A3A0F0DED9A1E807A3 -BDA72D96D45E4D6040E1E6D4445B0B6D8ECDEEFA947DFDF7CA1F366E662CA7FB -AD8A48B1A25733D5DA1BFD5716A4C6A1CECAF845563D29C49462C18A4272152A -135A7345C554D43ADCE45CF5F4CE4EE177FBA9140CE90435E332B19047A066B8 -3760C148FD48FE375D44577CDA59D232DFA57A258CCB4BBBAE50BFFA27050804 -B70B2C0D66056D468C70F9116969501CCE52C064CE41A23E295C141FD21472E5 -CE1A175353A04922126CEDD02B726E9880F012A2210F703C2D99AED3FDA32470 -A2CD735DFB9EFDD5BFD261676C56930815FFC44C106D87E68BF83B373C25C8DA -C58BE6F13EAD93E4670F7A710019DB68AE250E3E86AF9743E9F3F426C93A160C -7753B901F2E4865BEDA045C302CEF439138702DDA7B9EB6D29292D2490BEF110 -9FAEDE14011BE77647D67B2FD62AD29925B2108EB90095CE8972497D6E308144 -14AE95D21FE28DA652E891A4424A9815E2AD0D45B0AB9A3BD7FCE59499EF239E -769A99A01EC56884717CB544F3FD82CFBFE20E7D8E24FA60C7DCCA9F83DB8859 -9D110F2EDC2207AE6C991456DD7D07575144DA2E1B4D84943CE2EB32748E3D2E -9BA1D3D4B9D42C0AD31D623C15B5A5541425D4E35941DD0FE91239922A57DA70 -FCE714D44CE73BD7D3EE55D6F67DFCF6D118F6DEB09427B64481A45DDFD96AB8 -9E7B290DDBD974AAE4168BC92976A3883E866B4304F02C1DC2BE9BA04DA2A961 -BB08924737FCAB324692C884493A6C6B268B9DBAF97553F6FF0FB3E2FDE53E25 -3CEC75F31975F086F44D0021E96A8925BA2AACDD20D934500578C22F79E373A8 -11FEA8B4E2A058FC807C4E3E5A12A12E82A5B052443448DE3F7570EEBEABAFFF -8686C2893706D6147BA676BD8CDAB292D4A337837325185A50C6B3F6BAAACC1E -07D7D1BF91905D97D8DC8A6863C0D82E117ECCD3AC0372CE50F94506CAC86252 -2FD9344C6B884681C6D7EF29B7AC644D1138D215B05323F48ACF617A6F6D4330 -1EB5FD493F8C97F1A1CC587C5F0C878EE0CB8CA5C4CCCB8FDEE298AD78AD44A3 -6F3D2FF5D74E552B0F9C7C3CBCABEDEFADD33AD7001B32A01F27166EC902D2CD -3516A21A2E68293F366EBE62E3497922A8CBD719CB713072347FA539483AAAFD -0361287956057976D74A1BF9CB1508455DF701E8234CBD321C5C62970AADB965 -632CA077601F5D9B28BDDED00CA92F42A04776CED187489A87D1D20C10DE8A2B -8758039FD6A76EFA51DAD0523BC90AE299000B8476DFDE7CE733956441EB532A -3B386F0643EBAF6344E05F0830489B6B9494B5CF37A614AA7BC0F2F69972B23B -FC7636B0AFEF9A2ECB537501D133D57C7AC74F223A12EFFAD2B1EF109090CA2A -822378FA460CFA4F4E390F9750D60378FF2E521341FD75DC106D74A248F03F5B -5D60D3030564858474A088A6DBF1C96A98A0D3BC065518CEB57E042E79A6A0E1 -E069C4A28E7436AAF169F6A0BF0A94CFDCE7AC1BC3DBA674ED652F8D2FD8649C -1BA555BCF0412D748202C12AAFD91FF70BF207AC9BA95ADE26AA443B1B6EC6E6 -BAAF8F2E17ACC5E97B0D772CC68F1D2775DE4E27B16695EA3D70746C3D8329D2 -CB874028A2F951FED9D01415615D489CA4F5892BD072A67E7405C1CDBA3DE9CF -22BEC8272BB3B2971DBC17640C2B7A2C4539857A57362BD678F2F2079FB32181 -F51B4D6228F9D53967054B7C79499D72B871FD6491DF30A95692F0592FC8892F -1FDA2B08F53FA14019E9650F9B64E7CAE6EDF147FD661369B2C4F154E9FCDDC8 -DF328201A0A73AEA0A705C305E3E687611E23869CA944CA1B40CDBEAB8C9EDC9 -57B24D254169D03869CEE2D43CD2D4E7B403706E051C6A942E38315B2E8FFFEB -CD925B5808D918662E6817DBA96E114CA34FBF6E8232AB907AA4A6A77128F60B -A179EE8A411C3210D6C96C6051A03914F5BA48D199CD95D262A80A7D78110084 -CE48FAE4FF53352B053B93A237DF43F5505D2DDDE99B2145D4D808F7DE5A27ED -B7E9B71BE7643199D2F1ECDC6C54C93A669B822EEC7452E17302C06B604FEB42 -13C0345656D0CE2DC41F70D74565D3319C2B16D5184CF56201A39642D45B8ED5 -D46B8FAC9E873EC294B61E986CF5546A5163492758270B62E2E7ADECC784F4DE -0CFAB393E485E747AED400CF70CE33DBEBA26F19EF8AC8AE9230E5CFCE9AC67C -9D0B935CA103CC51152ACD8DFC60B97FE6C6F271459494443114E8324033C12F -2158852A7298557814DF1CF48D849FA682AC77FC50D42A6F4B079CA5A4B4161C -8054BA4B4F7FF46968CF3DDB53D47CB38DE649674DEF4C701A8316D354E6D782 -4D500184D5FAD3395D36F178A086096779F01A481951C98870A03BA9FE981574 -F2A2B7050DA9060BEAB05C79983249EE111B09D462930ED2AC789F74DC3D6685 -E930F00AEFC1B0C473810F8BD708D4502E1E666F4C4EDFA0DF9FCC226E369BBE -AC3F23AAEBC703447410FF4308979FAD9A1FE1313AA7B2D0AE56A35E8FAEE85F -A213342B1E98A4F60AD5B13274A4FBD38B00EE3FAAF0D4A0C5883DB5F9D7A707 -6F9DB82B74578FBD7C3330FAD6E000CC7037AAB326F0BEB5EDFBB7C9CC70C293 -073178C1F9E3B3D67B6643B2A6B7F2675FFB82E40D5DEC782B972DF6532CAB48 -7405E306CDFA37FB41647ECBCB48AA86BEAB6E896951E507B31E0B142241793A -F0D4A635FDDDAD032E575ABC3067A8F70EE180D3AC9ED4DAFFE9572C2E928184 -40B603C2A8020F6B6E43D947DEE073A9AC5DF24433B6670D197E8B1B03C89F0B -88DBBB87957B146C85A53161DDE7F7C78C452836A83A27B942C7EB5F1F07300A -B012763D821E8EF79C35B3C7D2B9AB06447F9B13D3A5379EF44C7461EF7A104D -93864FC316AFB4327BDB9B29067AD156B82CB20762E7C1CC3050FCBB6F68356D -6B549F1AB7FDBBEF324CBE679203C6EF1C846930CF4CB6BBA96573D72197F72D -69D2AEE92F80B69791A8C83815F549513ED88E20D276446EC42E852146F04A16 -BF3C72FB7ABA60CFA1A4B92DEBDA41B788C849223491B06662B7A6FBD847EB8D -2E468B11ADC958B00526758B9A523990D87D0F980FBA34136CC9092673C1A01B -F6E6FE3A58A4004F6049DE0EF539F0A94BC924F48123B65B18B04D7A1810C501 -E815E95ACCB74A1CF1F643B190DAC7AB10188E7453D446FD754B58658BC7FF9C -7F7C244E5D01FDA9780B9B335063BCA1063F5C89B118999AB277C59C91B2E74A -0AD9239CECD909064E857761FCAD1E6B5C841A992734B2FC5F0EC7E572FD4BFD -C95E79DB9AAA1A3371A215AC0C55291ED037CFBEC4176612C84A5B92B4755035 -640BC951F2025C717C220F28E47AD7A77B3B93CC066E87C2D76B4B1825CB78D0 -C136A9487EF6F2C0D71AC600545D69A15ECD94B447222A17814BF07492BB9849 -AF415B2C20BCC9CD5AA2E1732416F0CBC810945999CCEDC83798AE4761D0C662 -8CD0E935FB5AB2C72D5AE22F9659872514D36210CF3CFCAAFCDBE1B289FEA6FE -E2550C9730B5986D06DDD04E71C6025DB6CAA676A8C3D1A83B144803E18FD387 -E114A18EF2A0787189BBF5DBB4C2F47F84AA174B665BE180F6CE50D9AD45ADC8 -ED3D7DDD9D336BBC90CA936F1CD1F6BAB75D501B2482A3D5A97FDC784C4A78EF -59B657D4AFB421A6354941D870F794EE047BCB789D94AA465ACD0D37DF8EDF3C -A2129895138266D17276DAED2882AF4E73DB65EBB40D8DF96C5E55A0D892B48A -60B6F6E509F6A86A3A895CA9574C4D53BB7AA0C695BBD3A39F0FF2A9E1AF55BE -1980D6D70AEEA0C241712FD028F48FEADA42AEA6967E614E69B73E5AE7BD739D -78090D4DDD52C238FE5875514CF66BBCD969F0049BD5C35C507C6C1175A82727 -19AD6C0C0A93692238C445D73D2597DB595B6E2E868E8A66646002FBA7812EEF -1953987B87CF18A1B9795ABE0395E521FBC7911B9E4FB2207DAB1D454DBAE1A2 -CB9E3022837D26560C4EDBEA1801D5B27E1D41D33C4966FE8070EB37577ACED1 -F6D21F7AF729887262781F64B6359F78D59EBEC209E236BD25C02266B5D1A8FA -EA312733B0AEF25FEAC98FBDF295DB8233BF983B74158D95DD4287F1E2613793 -259409271EF6831BC0921196190CA5042113CB62443168D34B5DC1EC48CDA92B -8BC333BDA34DDCAD3220437E41BB684BECAD7A188F275430478D006AA476B9F5 -ACA215E1CAADDFF97FE84A37E9A8920F3C35B90AF3A7A260C200DECA8931EB87 -E804028C991C3AAD291B2B5EA2C607B7261206B2978768E649E5F05E951BC121 -39F45AD98DEB4A0903950BEE15E1F39B1DAB307D0906B139B85C89A138C30BC9 -D02A8F912FB5A73F6685E13D2062162F6789F861E5018C041D81A66502947F39 -BEED14D2812F07C339B9B46899CBC9C5A76C1133A252F0026886F72133E4D293 -49C2E9AFDE7446BB7A8A9C560177C9CA6769D59A6BE4BF88B7AA61C98AF3DC6F -1DDA9CA4D29ABD72473DC1EAE6753B51F3DDF447A9B7063AFB78186CF670F19D -896731872320FF3A8027A17016D3CC050591EFF22A531F04C95F916C83397A08 -C38419612488D809245CB96B0E76B5A70FEDFCEF1C468FAA1B2BFEB93DCFD621 -E6425CA324B4C51220358A85C883562E1418C8103C7DA57C8E9590D928A98881 -22CC9458E6F84997DBEBA7EF3D679D12A4AF8F87D8895B59F05191F30860D672 -F0F0FBBE2F4A6407B996A5E502D3A9A7434326F4E3DBA6337B06D9CF52FC90C5 -08F80B5377ACC6A6F59366236C1BB1159CD8B9383AB41D1142F7873CE1F165EC -132E6178385B3B0FE3ABD7BF7F2A07FE78428E54A900AB65B251E65703B4D210 -08A9D44445C7E1C53577F797F9CD716CF16711E973B5D1D013F00476BC06E10E -EF9BCB9B4B66F589037F5CFDFE35DB6FC281268F258C2096F330E885044B220F -58B01CA33EE4BD88927B7664C1A33C712B58459AA6773E7A970630F2C31287C2 -FF3C08070B13F5E322B99CCBEB66A7A7823D0A4B1932A35AC492F432DA5CB49A -1AD508A098463A32372E771A83DC6C5AD1756B108FB0B7FC757DB7B85894718E -A812EA84412B0216CBC20609B361F29E986E2183B47B111946433CFD7119C15A -2D26374F286C365F90C8C16E1A9B4F4A3D6B8E96577F14AC55A3A521533483BA -DECA4C09FF50430938EA6034426C6DDEE847507F61D37A07A5A03499B1DE7434 -876F7C1F79B0F5F147EFDB27B9D4A81ADB6DFEDB310E26C66D35EBCB289CC737 -DDB161A6DED02194FEA213AAE3030DA2109BACDA8F6547618DA935940AA83984 -69AD53028F628C59473D857F514FEFE0D56FF8C26F8A2BCE3F739BFFFB6D4036 -F30E2802B58CB1254B7955E26661EC9D41759F590E10EE04470163A0AC208995 -4BC63E753EFA7E27486D5296244BBC357AF2D5F1FE476FC2FEA428C956C9EC97 -7386DEB211C49FE7AF57191EDD5F4CD536FCC02F61FB5395703EEF53003CAA08 -75154D2BCACECD3E904C50B8C651C59D2C0BC6BE1C366B8228D4D81D9B476924 -9C82D0AA057D91F8B2F0103E66AB447A7485F1F72ABB2DE2271900A9AFBA7133 -72211C4F3D71918D0E2E4148ADC07632B700CEA221C8FFBAE159B9D6ECA16A66 -BB276C844C69BE41018FDB2201D7831D91791ACAEA364827FA3CDAFA2C53CEFC -EA47D10297CDA9C0990ADEE984627CE96B04EF2AF157A098651D431D147E65D6 -8DAB5AB6717748F68128E20D8C5AC697949381B0955B15FD34C4878C23AC2E7D -0309575CA8109DEC52D6834146966ECA8CE04E7614FCF38190F6960D87038AC7 -7721849793C3B7D1FCE5C6D361FC0B1D14F84FBD6806ACDCCCE4E0EC332BFBC7 -265BD96656959B5CB17BD3B8885DA2FF13A3B72046BF6B99BC2CEEAEB85FEFC2 -5412C5CA88C48D0A646E259F8F897E205CDDB001B9CCB948B450E4B83456A75B -9753A4CE15191EF6213FA9408C8F0B986575F7D5440EBDB4F9093F70ADBB515E -F78A292BD54A0A9184D49C2695D720503EE8B4BF07A31B15922F7D8A1C220076 -C494DB683E3090F0A51BB614614B4847CADB2DFB6710D84D0C2437E39A2D1AEC -88DA93E0C0D89269E8C5AB9975F0A335BDE7033CC0D4F76C65CBA07B4F78B720 -FF13A5F3B7BA996C742D347BE05E42333B8C9B84ABAE24D2BD983D53FFEE85F5 -E7D1A77454F119DF49A69332C497C776B57ABC050E170DCE1D3ECAC9E09F0643 -92AB34FBFB28F9D26DBE95C5A0B9ACAE61B0AEB79A3B9624176564034908651E -3F6BE627529238717CE6F0B435E064512C7B9D78B29CE86BE4F5ABD809A43383 -CF0B5DF21540D37D1BB8FCF32C7B2C4173D3C8B3DE45E8E4B7A405A529653D48 -62F5DE1829BD3832C606954E2BE01B3AF7157832244B2E7757A03D74B4E3A05A -2CC87A9B13F37B72ECB6B4717665580EC4032DA405C2E7D8FE0B5468AAD66379 -2FD5ACB16A3F36261B11FD7D4E8D4D2A820FB73045A9CE8595C5305AE24A7098 -78A75959F32879CE5846BC1C2192AED9A935454E552B432B48B5C3A9FFCA2D5D -BE4A360BCF2B99ABC8477C697D802D0335A8692111E4724FC51B19C31704837D -A8D1BC8808D08D9F2EBFD7D706DF325D2AA8ED94F6773BAE63A836D88E87F3CD -680DCF2BC7DF8C7E06389D6C986BDBBD06229041414D7267D9AC9E8EFF2710BF -65CDCC222EE6735413368584117A274004EA0B415BE5D92EC61A267A3455D65C -6CDCF80FC2E64397FF395E7002FB3B0813F98F3ADB1557E46F644E0C7E0FDB70 -533122C1838D195BDBBA28BD7868FBE02DB437CD22B72401C79FCA2259714348 -DAF6B321BE3308190B4BE630821419673F101B539BD788B1755146554EFDE136 -52430998CB5835960772DA8470CDD894AE8810A2AB7D0EDA22C374E95EDC671C -1BB5BCB69D7C4EA065F784DB46208C66D92C2C6037D0573E63F1B66B754A4D3E -A7C0CBEBC1A7086756CAC6736B9296BDED874E61D7357ACCB4421E5A617F59A8 -9BAB85064CBB175596A223122D7C858597009D1D3C02749C88AB2694AE37250D -91E5B9CB0AB0ECE7A0F9006E63E230668221C3E704C44F8D67C9D7F677A4B41B -032E931BA43D59AFC289A08AAE721F15BD0DAF38D062F39CCE2AEADBB6358A37 -A21F3E26CBEBF6CBA354A4AF264C338B1F99A05C95B3B93F6F0F137DEE72691E -6D81140161E2FDE25BDFB5B9E729ED71575944279ECAE16ADC257C7CC812D1BE -1BE58ED6A842FF6BA11ACE3FA83F17B8E3363C859553F33847CA40E6301FE515 -489FB5650FF995E22054EC5DE4AC290A18393D9F791E70D15D81C1AA9950803E -15253C573E219B3FE27406A5E8A1FC87D3E1B14B7A4FA9A79EAD46D6280E91A5 -64190847F355AF837293C6BC979C65F8F6B4E846545D10D3A1F8B1536B +B2DB204A99A3240E1123E0568F6EDFE11586FD1056FD547B7CC477D8D32796D8 +A37A1D4F89A6371F302C421EB4279D560D645BE186DC504CA606DE1EBCE98358 +0B8C800A25D76755E1006164AED015712653A9EF8DB0B980E8A2E6D30E9CA40B +433989DAF8A217D2A70E1F2C2B994615FB279E30AAF8B978895F1CADD9259DFE +03DBC2D65ABBC25560ECAD7F743FCCBDA16EB8AEEDD091BF1DF8339DF57DCDF6 +7CF63057040C0FD028EDE603C19448D1CA4AE12B15DCA284FB786B144A2D7E8A +82ED6CC0CC8A43E5CBB660231928EAD80834F2F58311DB3FAC75D071A496C3D6 +24AEEB63CA0697CABD7A59C526C125E26701094960851D4EEC73E4D03E2A3B63 +0518DE30A8D56C4CE6C892A4CD61371739DED0C95474D1DEDDDA5C83480C8023 +B3CC77CA3D2DAB88A020873D02EF2B242555140A908FD857F37F704FCE3A45E9 +E2D02C68F689F4692664CB4C60225D7D19A2A3D88A7F2CEA66BFE06F3D9CF622 +676E384A983406A25F80588F1BEA3CE41AED345303458308C476FDA857E053C9 +E17D561BCA03FB7C35D8134C01E2209F2A9B8D25529DE43CB6EF0AC872C99C79 +CB7D9144577C4F939B4B2D8F93543543A4161B8209D38CF073963A78A305D9AC +7A9F3BC2350D3455BE94CADFC7F4BC01EFE76BCA10F3F35930BEBADED4F650A6 +71452586A3C29A644F2F25BDE14053F5CBFBE26454589967297FB9791D108832 +3585A2F66A42E75B3DD5B1536E457F5DC3EAF69C3C5E8ACF4F32BB5118F503D7 +8D328212074424E6B2E83BD26E73B0FFE3957D5CE744067A12229451A17082E8 +E7AA765FCE539C3CB34D5185F381894C074AC30E906773F2FF25689E488309E5 +28B3121DBB2466B3A07DD8119635F5AA790DD87A29F1E0184F9B811DBFD9988C +5E7C698AADBA838F81D63F61022D8F28FD942AC95C59AE5C710A6D1EB4913078 +6215204C63019448ECEFFFF812B33014B6BC5FB22F4DCA7817CB0E21747E574C +B98762D02F302896B17FF8AF44E95832C7C08DFBEC1B1F33E16704FD27EBEACC +591A81AF3AF9E0668EA64088ECBC4317136D895BD030F8C5A3C4218AECD86388 +FE4775E057EDE6251F771EA5F125E6026697B0741729BF8DE0B542AD32B562B8 +7F61E71460AA96E414FD4ABD7D23D4C7ECB122E7DEC30400BFE0E7C19990506B +F27B5F316BA18F35C7AF31422718B22FC86E9310737D2A638E02149A3758C681 +700987E99FD05EEA921AC6E6E5C785FCFEAC82FCD9D5FB2CD3699D8B1C81D11C +5EC87314EF4E837D6548554C11D3D21E847405E7FF2CEA029E48046168B3E08E +2CEE460980CFDF59491A35F10D15A68E6D06CDD3BC51037F68C0502EBD64393A +89157994982EE9EA6926C64EF5023A0FA334D2414C2839B12D12E03EA51AD687 +3F9E7BD9D355AF773648FFDFF6E21E944CD26C6B8B0592B1A925F8C0605A6E45 +DE3E637307EFF7027A98136B6F93B0C9088743DD8DBE1CFA3F87F06A8434FFA7 +4D9468EEED7FEB9F4DF36AA6E872F3FDDC253AD795EAEB294BEEDF6EEE1EBF96 +4571274E142A5BBA3E68EC6857444B708761CC7B4ED0FF7410AB69F93DE6B46E +8EA7D1CCAF79EBD23CA34879E0865F6D1CA61D6FA3A1E0B37F19EF5FEEAAD250 +052B463532465EDE2C010E58E4C56D3C3871128400DFD07B9AE06CE5CE56D333 +85A22A76BA0BD255D47FF4C9A8528338E08B9E37A22230563C22B57D732C40CB +A8596ACECA557E3D8F9C842B47BD89ABEAF9A0FBF45399B902AAAFAAE45C13D2 +7673A789D91398C3365C9F42D060C49459F9C0F8119BDFCC6B712323701C1B3B +90E59BAB047F1A2A3C2028AA427E39ACC5BEC9FFBD9AF2EF4977069E9D12E18F +2DF8AB7CDE5B40232CA3D1A65AB7C995A4BE80B2575372C757C38E3A6B014DD3 +743CA81177817AA76C527DC9B4AD429DC20558C5E1D195547B1A86EA47B8363D +B6BAF78AC5FCC2A345768ADF8E1D4473199B5BE29FED3561B249A48CB2D1D295 +3628EF6305ADCEF41706DC434EABAFC3286A5C538F61DF8AB76778A5EDC39BD6 +F33DC9E580152F032ECAC7D3000B97E9C0B4637486CD11D2BF47B5DF8844319A +AFC9E4B0000EB1EC745CEDC6D052D772B5325B656C1DC7D27F7EB0586094EEAC +AF339B7E2B056126C9796F68659650D0BDC4C456931DE0CC79560771D6374EBD +8C8DE881E78D31F1F5CCB1597602D07793EFE2F1B991C8FD05F35CE2168CC1C9 +9815DB43C9E19662B27AA40B7F2ECDB5FA6EFF7C1C4AEE23230BF80C352FE320 +1D8F3E59158E52A32EBD691FD5BC0D1D5370F90A0743F8E5BCD1485372F001F2 +2DDEE60AD113AA36D9A2C830098E669838958588AFBBE457D008A089E7A1DC17 +8ECC91F8509FB5A0B7935928EE72086B5BF92C10F195B1183DD282E2F31AE6DB +4B660B0224C907BEF3CD0A45C9B1C92F3915608015C9D4178DE9A1AF2621A214 +E3975C1E95C5F7315D1E91CF055B43141583650EBB8D570D8E88A545899980DB +E07C092978AE0A295E80F888220DC5EFE60BCB534B4CAA13D56892A18DA6784A +456386E6B5FDE92E0880FBA74BCDE958BC6F1664156288F136DA69DF84AE6E6B +F04C336D08643F64F579C8865C8100DE1139AA75B0FF349ECB193CD40FA60319 +B24B825C9DE6CCF7BAC2D722B93D386D19170D71F81FDC33AC8CEABB5125E50F +0151E113EAFEA48C1C05C113952BE0ABC5B2A3908192397FC56A1F4090751BAB +D409CA4AC0091866D114B9FF10AC90B6916ED111EC224F294BDF8CCCDC3E9336 +B8CB13A695887B8A893BBA7562E054E7BC2C4AA4CBB96542B0137F091B7578C6 +73B34C5149D939F8590ACE8CC083F63F8F239175513255CB4697E7E7ED584401 +A2FFF58723043A7F046FC9EC4C70E835FE80B07D4EC11FB14D16793597A09BF3 +292A8367AE4A8A279CB92FCD2EEC083A75195178CAA4A1D93D67A2C6A98D408D +A7C145F5FE4C6C7CF2A4CFAFC02DDD631B745B13FEA4A5710B4F0D7E992D18DD +A5BDE04158D7EC4DB9DCE3E24558FD74C2599E4EF16DA1C33991C7D27FC1BB78 +4E9865C28A75075C4609D08EDCD4DEC28522043E510F637944C3BB8AA67C2CC6 +9E3FD5B528A6744F4E0DF4D924809D1FD627F4B6031D85E13E3B07C7D710A0EC +86BB8269797E745D7A7458F7D15D1810616EE9699BCA0D366FE106D60BE84D24 +DFE7AC0FC125A70D7FB057551E737C5675D165E3DBCEC1E053987D078AEF7839 +2F73428EA2F6302B6313E162DC81D93FE0E981F859DFA4CAD80A78515BCD48F5 +708D332B4A621D8848561893987729CEDC45EF4022E1D2A6A6BD1048201D28F0 +AED64DE459AC4CE272B170103D02AC44E3646396B251CB5D70A418DAC1E1663F +890F510F215C03092C96639523566C20957E98EE44BEBEEF04D7E9FD33D8356C +468579E018AB336E18EACD06ED8273F67475F6A5C732D75F52703D019F40D53E +2B26C34D5C91269F987268BD26A0AE63325228771650091F9D1D8E15A4210255 +C38B54E8EDCD23FE74D1B92108892192B274B7181F2B214310E37DC5557450F0 +B6020D9375A4E11BA6C4F476B214CEA60741454170AC24F1DAF8C45D07D81E16 +E5229C27886C32BF404B151602A53AFE13485BA120940C9BC32C87C3125D6B60 +60136D024377C404D34D5F245EB14304C78BFC2C2E4769250DFA386A171395D2 +FCA9752197E38E568F5FFB81DF03299864ED405068792837A14D23E4DAEDB8C9 +90EECDC45C21B5273F120F1E2F8960E62FECA7903A9AA3DEBC031A5D3FCDB717 +2C7B9F627D7B76F47AE0905810B0EF86503EE4D747EEDF560B3BCFE17822D496 +C77A335466E6C7CA4C5FDDA4523BA7B2AC8D438C554B9378977D64FBD56FCCD9 +73ABBE4CD4FB36D7CED8F6A0D15B0D1C15311E5D77694AFCB14409189DD5E386 +4026AB274BA33F6032E4937B1D345BD4FAD3C2BF0904E5A246E9EBBBF1FFB7BA +789726B9D7F39D64A29817C40C9515551E19775E50F3F4BD1EC47E2D8FDF830F +54CC5C4371CC30B0856C00DAB9B1ECEBC0AB17BADAF8E2E2EDEA95EE74938E09 +B3CF241B9E09C0DA8E0AC696F4C98A2EFCC526F1C75E637B8A31CF9A8BF52280 +91A5543D6DFBDF49AFAA51CC6C7B50F6DD1958121EDB2A0C653C3A32F08696D8 +93A61A7969C35E6127BD7A2FA1055014A10286DEB8422C9ADB8765A11082C7C8 +DE96F0092F3637466C053BA316379B3CBF21D84A7B01D174DC5BE1415BFEA654 +2E693BFD946BD7569733B0FBB2C5D247735A48A7C841BEDC92CF8A799C07A478 +E7E398817A355F875789A28715AE0C95B58DB0F1F27572D16AC7BA72F98E5895 +68848616B25441D0E1269033AAC8A6C997B124AEF387D72F0F1BFFEB5D3F345D +F6A5DD7FCA0CF5AF676C62F6174340AF7DA870B6D406359A7B294A818442472C +799EAE9D7D9C388F2A302459D30DA7D5470F8CCEDF9486B4F387C5F50DB4E409 +C74A09BAF62217004C0DBB83E3E73E169BF945253F42DEA5F568E28463DF7328 +9FF0CAB049BF700902B78AE3ACDABA17BA4B0DC6D547FFF45818D34B7EC699DD +290A420A9DB5567E5109FE8646CC874E057EB18AB1B298A5F67012C0D297F76F +26FFEFF0F02CF4D7E2E8A25E1D99E5207EC9C9BBA6AE7E6D198AF2ADCDC536D1 +A784B82ADB0278740BBFEC9A8634AB35DE798A23699048CDD5058F0BA64E0D4F +906D8869054D22948931BDB65F4454567DA31B3B5E60C8201CBBD7F05339BCE3 +999E22049BFD2660F750778FEE6D5294FA04D74B7AD092173C7EA8D77C44F6CE +F37D47B42CCD6623EF57806EB9D752C098FE656395A77B5DB10B910979B7ED1A +CA360887161F01EFE8DA8B7F6E6F08139977AF1959F6525A73D019714F5ED0E1 +9349D5B3EC3A26FD8D7C3AEA1A6747003C24C5E23551816CE52EE19EB2EEB486 +28DF30EC3988A852F002B1ECD24DD29F1B49D6F3223270AFBC25800DB1693656 +203F52D11179DE90012149A324DE96E6096B6FF7D15BF3E5DC51D4E8B321E232 +77E14621B21A103322A4ACFA7C4B76CFCE1F631B94AFFA67EB0C2BE1AF4D91F5 +B9DAB5DBB40C79B54FE2C63D5DE4C59E92E7C976BC6A085E81A3C63C9CE9DF55 +8D54219F1362EEBC67839B4293C2467827A9FE0B34353C4857D75EC231AD9ED8 +659F3B608F3C8FEB8F94C5FC60D6F9E05752FBAD0DD4F6BC6AAE8462FA9F2F4B +F6CBC08120BE84C15BB337D33B20D6BFBE8093C08DFB59CBC2CE586B6216A81F +A34605C0657706309FA7D20B11E97AF4120F7DC50947CB8A11F9294CCEEBFA48 +FABA56438EF8BA3E09CC74AB561CB299E444A3546E8F230FCA5CDD3420B65D0E +39770B4AB697A0238C51EB51083C4650E7546F5E7B6FEE147546E4D679EFF14A +A19622DD442741D296B470B9AD458E50EF4F8D3024B7ED91E65619EFD0A09621 +83B4F482AC70945077C1C7543B76BBA4D4D131D3FF755DCB3839FCEA0FD950B7 +394E68521F744344B2348EA92BCF46A232EA96D1F3374818E66D9CE066F30CD1 +BD1F455F36FA1DF4D09D9A81A330B2037BA5DA8B3D511876B1C37BA3790B5C1E +D29072290C558FBF170CB6296E052313801BD9F45ED2226D11A46640A10D4F9D +8F2ADB5AA691CC3BFEAB8E0A658F03C42902DEA8244EB9F6DCABFF415E7DF538 +60562788DD8017210DE0F830BF6E6082A6381AFAE03A7DAEE1A15D0BF16321F7 +ECA7EF7ABA8813FF7DBA12B78034C64DAA2BE22A5905D8C27C1B705C9FAE55F6 +D9599694E3688E6A2EAE40F585BC5568EB3BE264CE97DD016BC1C763B6C11638 +70C159E839EDA20BA075D84762C9CE8232A32A6888A0ECCE7459309000735CE2 +A4646D8E947A0ED36EE490BC472EED575D05D4882A0A104205D2CABDFDD77134 +71ED6C39A01FB5FE23D3DE562BA399DC34F869FA8DFF1C781FDFE1B5E1C9E467 +6333B433FA29679252D93DF71977CDBA50424F3E97D84CFB7F555A80B0705B2B +4C0ECB9747597A32D198552D7705EF4263818BF6FE9F4B2D7AE1A6BECDA40945 +C7AB6E19BB324B2EBB38D003F49B01598111BADF7A03F4F006F1604072BF72F3 +C2636D8CAA5D98EC25F7D9B3E0E3C99F4A79BE1F144BB11C7D8BA4E5726CEBF3 +EEE5B37D234FBA35917D724BE0B4FF9E8C85DD923A486364FD44CF2259F0313F +8BE916E7370DFE34CC3CC6AD44460CAF739E24E5308FA568FBC08552B643EB18 +D86EA125D4EE98AAAD884D2BAB1D5264D45346F81556FF310D5DA1BB667914C4 +6272DFE61BF3BFA30341A21A6AF4681C4099CEBD51FBCB3C43F2E74AE7E262F0 +38682D6C78B016A997E4FEF8959B05ABEEE29E00BD3F86DD98FA3210E1691080 +374666B5A45BAB3A3C8E231DD5DA433CD5C1D5DC95378C9C6EB6AD10801C27A3 +76A1EEE11A9D1E086DEADFECE2C039DA804BF4C647381F0A0F7FFA9B70568710 +183B0436EA4AB0ED9A68D829C1DC77292512DA2711920831E96FF2D7DEDF7CF7 +9E075702E1D9155ECE859AD5C28A10C3F1A5576ABB2196E562B588EA9681B9DF +378AFC9F47AC346E10ADE9508FCF5F208AB4063151349CAC48C6B1B1AA77AB24 +358E29488FAE43C44CD4393453E1733925FC34E4A32B26E23AF0F9A73DA7C373 +B1FFBF09D893E83B08675B4D2A05FD34999973796EE078DB227354822E55E3E9 +7DA31FDA41AD4693B9219268DF50B81A75713A8D8202574E6141C27C56A2ABDF +AE040853FED550A96B86A1BF802597A987D15AFECC5DB29D13DBC0DB83605B5C +F4DCDCBC7FCA89FE7573491D94FDC06607DD8E3AFB4F37816B755131DA7A5F91 +20AD2409A7BF06ABF0185A8ADF5570D85615113105C9F2DCECD48E5DC5E63D7A +B22275DD560B3F908C6800CEB8FE2CC90D7D0A474F5BA7F5547C570095AB1DF2 +CF2CF8C0198B4DB8F63056BF3B22850DDC5AE22C06236DE26CAB01FBFB817060 +CB3A0FA3F266571910D117A3203D28A18117B91244DD3AE911461FD73C9F78CB +C9BF436DB0B6A7B99F4D2574B397AF876BAE65B337BF7D882279BB1F61D71E11 +3B2A773945AFA21E13C9F80D91656A01B1EE0E1BDB739C215BC2203D7AD28456 +4FB7ACDE59ABB24DC49E9799ADD8F7B092002ECD40A9DB0C46CA4B74AA21BBAA +4C715DB3CADDA99F79A7CA1149F2D24FFB8705C60EE84F258F023412DC042F00 +9893E3C2F10AFFFF9FC08143564FB7E99C885589F3A9BB4DBB2D3207F2C715C8 +E3147793DB25BDCC2CED771A606CDE35B95B261AAB560BD6A6D7380CD09EF766 +F069EC63E0C98AE637A8C3A6E3021F0488DE5D6D97971D82EBB3DD9FFDD4457E +FE1C9C9BF09602500EE7C45767A1E8126586045CDD11A397448961DD348A55E3 +5FF7BD0B3D1DF585577B9115BBEF9510E64F47F2B6847F04E117FB59AE43C512 +7EAC910998069FD61EC937DD2F58E4EE2F5B24A79623E8AA5C515DA73F6436BE +4E94772B0053E8C565961E9D767C506339867BBB18CB833FF42A8703D676FEEF +F7668BFC9468881A006C10436FADEE8EA4E6C5593CCACFFB740D0C6C31D6FE8C +77EB8DC51A69E671BD4562B815111E654279331D97F535A23E6B771D857251B0 +563420B8F29F15C5AF357C73792BE4358667753A7A85E80A1D4FFDFA38ABE03C +E5D21F22E02522DA4D82F50BB743FDFA58E7A435D4D1047CD38F3703F3F20EE6 +ADC9957EDCF47C852B7B030D0BDAFEA6863B1043C7DC2CE6EBBC62B8BBD26E32 +32C79231B4F48575752865FEFD92400FEDFABD13248257C912C930FB26D440D7 +CFD294F626C36421B0FCB03F2CDD880C66D0402DBF548C6A3F807F4DF4DCCD6D +272AF53B21899D8C5C0737929949753F012B8D07E21F043663928EF17DA51681 +2066E48F5B1C9117F45F0010C512627A327F99493699264E6AB69ED86DAADA54 +A100036B079CD4882262FE22BEC5BD9B701FB077FB970123E009D1065AF4266D +EFAA3B6FA0333E4803F81E6495D8FCF35A16532673F71B7EA505F05B569DD75E +0B3F39F5CFAD54AA5C80F8F082C312F952222AD409FC850DCA1ACC78B7992A78 +939EA3A4B51DD2DFD10FC59F049619FCB40DB92A9D6B16E93093C994488F6F9B +EA42C3A835E0CB93F0C1534BC9C1F4E33EE345B4FF54CC4FCA7B641A8F155006 +CE79BE0B6D0B8CB74170B6667B5949C6F9BA4CC90FF6BCD2322B351894035934 +CAC8BAF06677832E40BF90313CFCC979E6B8581F6986F5D5A9529A5778F4927D +ACE747DA8705058D22F03697EBD239A4EA64D77519EEAB4A72E719545E3BFCB8 +4317217726052E32239D2A34C0D6B29DCA53899B4C930B5B2034D0E6894F5110 +9EF709BABB60B8C65616795F40C62B611CC0703B8E9F394A61B5EF1C14129357 +261984E369EAB3CD2B58536E84333D9F80946BEE12F342F0650F2FB184DE6165 +42BFE4432E3AAAE9341D8068FE446291F12524B2A1B8B5A4D60150C642B18C0C +0E5D74B2C4B508652729E342F27497D769ABE54E45EBB0D8A2E01F90393C6F59 +8E4A6C278C755ED6633D9C8FAF5C30BF86DBBAB912FB22BA4F30912E8E9699AE +8CD0D3631AE3D192418939D959257CBE3B39404C0111AFE56C81F5932478CC4C +C0453C2D30956DA085457F43F079E94ECF6BC61914C63E240DB5CCDDEFCF3EF0 +CBDCFE02344129A8DA0B9F986F6686DE8E52280401460019CABECEFEC7E8F98E +8AE135A5E05DFF8E62E75BFCC7EBAB8EC380C1FD1D48FECC229441C4CDE93B8E +60C96E6418A9D286DEE46D0D82AF9D2714FAE2A30A4D9B9D2E5B34D5368B39EE +266B2CE395CB637EF2676610E303E83A0CBB53FB71D5FE08633FE3207970A864 +48F03997798A209D930B8A92338D177CD0C3FC7520FBB7FFC4E776009AFF4D0D +9FCED078981ECBBFC8B0911F830DABEBDABC30A42C9E60FD5DD4672AF1048621 +8E3D98F92A6156D31B4A7079FBF1639BE20B24D1439007C200519E3A870BF5BF +98C2A9962BA8449FC5E48B9677EBBC4CDF8070BB6BFFC4FE1A6635DC735F4801 +DC0176C98495B2AD37791ADA6C1FB8264CE0D27BA13BA315D08DA1213CCC6748 +E9673881C4183F20A8B97FE13ED651351E5D2424386962F578205C1F7653AC26 +D83239B66A9C567CF1606CBA9CE574320107794F9229ACC234987FAC848FBC49 +4D1253649515BA36B93A1A09FBBA2849F20A4F5C6F8AC8B4EA054219D21D3849 +DC6D1E148BB0D1E83AD1FAF3BEC996E016C32BEBAA421A94FE0E64D4E2239E42 +5CC7AA4590643357472F59DE1D25276F4E8A6DF2DC832AECAED359D2EE0DA6C9 +AB1EA510DD4656656EB736D8B1AEE07197BCADF408222559E39409D334A2BE2A +81B7E652C20CE6435A11B9C03ED0CFD3F9EC893F74FC4899E2359D4D2723E0F0 +89595D06DEAE8E448E268ABCCDB833CCA7BA37E2FA9E2A827CD381EBB2F5BC7B +03718C4A68DEC9F9542E2A1181FD444A1E564462FB492F10F290CEB56386B141 +F581E2BCDFD93A47EBC7D6763648030CA866EF24DABF14BFE929E70B4B38B605 +22F9C0B7724371EAA474B380FA5CC0DA0410FF931BD9CFCC6F7CA04EF1A3CCBF +B86F1D1EC3FC26CB85E3F07B0E833828922D03A347267805D279ACF38943ADD5 +7390121B316BA0F20654FF0643E241F78BD48AAC1A4E511514EF1D63BAEFCE12 +C78FC9335044190E899B70781CC02FEB37262C76DC73B30CD60699CF8AD070F3 +C3409DD6242709E18A452AD935ED9DA19F3FDB7F5F2009115D2BA0FAD270D183 +5814B26902689058081D48DD84BB2B9B3D76099EE6856CFC9556BB88566A3F7C +09A2D66F5BBC5A3120FB7804E958F29452A26EFFBDD0D774614FEBF45136710B +CDA86D589241D213BC7B27B440C7D60901BA9EF08DC84421BAB0874686E13D33 +2805DD8836DEEDF7C9995320B9F22091D30A1A176B516C71B67A92CF365E31DC +AE54B695714E16F85D16C80189B5A8EBA8169419077742AA0A150078A5A9E902 +875CD4E59AC0CC9FC1AEDEC76D007FC53EBF36D746153960272A0998EA05AE4E +447B609AB48451DA178661D7B4F6C40F5B2D40D0C7D08EA9BB55D82FF6C26196 +9EED42B13F570453E30F282C1FFE8E9F0231959682A39B8EDB3DBE83BED1714C +862E92C0A1B5F96538B8C14F06BF040B387274A27EF0561DA0B16CED92E602D7 +C221F55542EB8E712A48861E64830260D1251C28B124425D37C1BDF671DBFE45 +89DDE5CD60D9E592B5173C210699B12F449CFFD9FC2721894094B5143A58BA84 +3C45A4CBD1BBF9782755A91C3B006DF983A543005BB8BB89FD72453A4DF16E92 +F9D2C6399F401360D475C44DEBCC18F61E8429ED28178DD8BE8F74014A4DF429 +4F149489773120F53DEA4CF78849B4025057677B47D82B8130D2583B51E576FB +1D3D5C7A90B820D6782AE44DB08D1609C9415686FEBFBE4D0882C03DEB5F4899 +AE0F205F2F31F96FD55FB7AA3B384A 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -891,10 +635,10 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 97 /a put +dup 108 /l put readonly def /FontBBox{-62 -250 1011 750}readonly def -/UniqueID 5000761 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 @@ -945,6 +689,221 @@ D6868D7F8346CF4164DB12015292BFBCE474B05BF886430411E8E937B6F09D74 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont +%%BeginFont: CMSLTT10 +%!PS-AdobeFont-1.1: CMSLTT10 1.0 +%%CreationDate: 1991 Aug 20 16:41:43 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSLTT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -9.46 def +/isFixedPitch true def +end readonly def +/FontName /CMSLTT10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 39 /quoteright put +dup 45 /hyphen put +dup 46 /period put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 121 /y put +dup 122 /z put +readonly def +/FontBBox{-20 -233 617 696}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8 +0E5F73DAC973450D1ED0530313057E971FC7E7CA88E61DA6DB9A5CD61F0F76CB +4DE9105D0627B8DDF51A655098229920CF429CDAFC3F7788C95E7AB30E84F840 +8CED52E98DB4CFF161D2E62B0D28CB8B0AC82E7A8D2C007953BAFB3056D66079 +8064956E257D31C13509FB81A250D9E875C77A4E91CC49E9FB3C0718B2F691D4 +B4A64F351F4DD68133DED7629B0D96E5124584A16FD2AC7A3EB244A934FF059F +ED7297B0505F3C2994AD66A3CA5D2728B034DE94B64A8AFAF341601BD4DB5858 +C9950A8BB9C598B8960609F48116ABA8C007190AF0ED335EB5BF61BA6871FA5F +EAB5A26AEB5C7C352EB80799CEB983F19EEFA801093F62086AADD0B80BB6580F +2CF61B1390FA56DFA1A0B61C58DEF96BA767A8A37EA44730783C600706606C60 +4EE74EA99B7C0F8E2525C8847F3D31907C3C483EFA98F6C416B6B2C343DE6370 +52FAE423008D086A76A1FFB327CC7FD84B1C66B203A4F41582F4599A82F8362D +38108452EACCC937FFC4F3ABBFE3628DF51367DA6BA3F6826FC6522D6AC5E8EA +00BAD300FFB6DEDAB93237704202BACD030AA824B1E97C0AFE17FCE8C75F4FA0 +B8A74329A6CF1788C7EB34DA7307411E9AD7ED8D6582884456E06E033B4FFE7D +CD4DD8B06AD01340CCCFBC382C18CA451E4C886B01D082FF8CC5793F4727C3DF +B52B4F1A242F31D1EB79D1E39A1D4FD13D6C5E2A42AD4B4D1CC4EE7BA0E5F80F +802E5AB57EA15F4DE44D82AC408AA86D4BF58EF967FBC6497BBC7F017C0598AE +32CF865DFFF0FC7FF9E6DCE9B5F2F4C7491AC674F46E8E7660452CE0A77C1EE8 +00DE382ABED85350033F8ECB97398E4E0A75D4877A107F6A909D0C76D14F9A96 +8A6CFDE3FD9D79B6FD82693A9F354BD2ECF30C6D99F7AC522F8D6C93EA214F7B +3D0ED77F042ACDE9414264C0698E86398562E2C640DEBBA0734AB4C3ACE3907D +CC79E6B2C6C3C3F9B01526E8CD98237D4A9B403FF8CE3132222FA60C196A19BC +A2393AE6935C0F8B67FC1D1A1359BE7E7BAF694B91B61BEC6DE6C64356746771 +0CFF188ECA9A543A49A39A046F96E819B541E5208755E19B080CB0FD9B42B72D +855FBEBFF32292D435852A14BB713396782BA940E05F38593D288F107CC0BF82 +14A204A7CD65F00AB44D48036E58F687DC2BF6584C410AD4A58F5A7CA173FD74 +244C7313B0268589293A261CC08460EE65079539F5E68D4ADA3BED2AB983A354 +3D653F25D0452DF9C3519A0FC8CF71AF81BFFB48CBBC8B04AA3F9B3A60D933A0 +40299CB46697044F849FBD7847BBA0F7D5CED705C8E4D74B83671F05E5098857 +E87FBAE522995960B125E2B91D1A565DC09646FD83955162C3A583467C792D2E +C98B830FAF360BDFC63AC345EC6F1A79006953121CFA26BA7B164A1125BAE4F1 +2C2EDECDABDECC2F8D94B6F1DA48E3D1C4B1D914E14DC08AD7E67BDFBE327092 +2B48B134784FDB084B654398A1037BD95483F8873FAE68C9F31CA1F90284ED16 +951B2AF75CC16F2597E0A72397554CD53CA9541B09B2DC1A45C6FF503E3528E0 +22D2C1AD257C5E564FC4F4F39236FE6AF9F1421BCAC7C2790B2A855CB7669D42 +752639F74EBFCF234E570EBC7F2858144D17CF17D6A16950BC6919C73CD4AB11 +E948284006DFE50A754DE8217B23D9FBEC052236F8486448A6D3F9D03B0FC959 +56471B443DDDFDC012BB881C15AA0F03A34225364CDEF2FFC5BD9452B3179174 +90FC3114D948E15FEC13B03D08D15ED8DD4F99A97237B46EEE8BC7428FE2F3E3 +1737E6D8DBDA770EDBC95C27317191CD77DD1961126D917125BBFF006F7B96CF +E84E90D56EA4AB1A0323FAB001E835A90DC5349CBE9AC0FB5FE253DF6ACA2571 +EECFDC1256C947C29455937094F5839D5665EBC1F0DB67FBFADC836A09A82FAA +B38C9854BED9DEA3B4A1118A382B2DC930D896716D9E1075476CD91E6FE77940 +4EE4A8F2B77E8465E0267D0FD471667CD258DA593CA7C6C478D178F27848815D +1E2F429ECE1015C3805B9BB5A94D288D5169D2DA94016B71B5276FC32B336576 +F7CD75D2B87107F7B50C5A328FA139D42359C3AC6627E689C02161A8FA5718AF +EB2D49598D96C64A963C1DC630B1B1038E7AFD48DBAFAE5E0C185D312BFEDDC9 +96D8C394D73CA89E7C26DE76147F46FA239EC275F1F4E17278F7F8C3846032C7 +FE805D50242EBE4B4D60209C414A1FB50489D532E1937CCED646DFA4A8965C04 +4F2B5DDDED79977D93B8BC10F89E22674947E1DCD565E0F71EA150F5525A228F +523770127908408EA2825D9FD41B6FE442B1BE570EECEF2539A10D07E6A0FA1C +9ED9054606FB92312C353DEB64F9F99C52C7541A4284BEC6B04D8BCB19BE7D47 +B386B2CBC7E2726B7906DF2B9C60BD0EDF02F7BBDBBFC77A6E923B2627AA48EA +D25F60AFD1DAE1EAC5BE8A5BB9E9F8A6A71869B75E5C09C43D7C7A42B3E48351 +72704E1C990989D63839643504DEB3AB1C65EBA7F034926D26AEFE92AA8CEEE2 +D1C535BEEB93F5E671281F6C20435B4A873B4CD9FC8DDA212A289ABB97932DE5 +C12B848AC1B0FBE149D0AA9C5A0FEBAF15248D56AE6CD7E306BFE9C21876159E +5ADF792D6335A5BD308692C674167E08A02FEE67090D58BB2B2D9EC6FD598DFF +DFB6CF6B78F8E1C8D4215CB33AAD5E897C75A7C8FE63ECC17EF941B33766AB2D +2C295DDABC784851BE6FCE8EB6E8DC24B332CF836D2AB3888B85E1DEE331060C +D7D3677489ACEE8D77F64D9A833AADECA12191611163BBE545A4C75E4CB1BED9 +95F2C06560FF628CAD961838DF4B03739E1C946F9E5F369FC86CCBA63DD638AB +67AD4A40EB009700C2FD6CED16BACC301F27C12B797F480E73ADA18855876816 +DD85E5E2AD2C5BC9CB59E7F26DAAFC5848BBE7E40CD9E334E97F80A7461CAE07 +6E92B97CA810486F696F2C8BA8912D19F2C0D434011F66554B7599517A2FBD7E +F442B85BC639C49614363A126A498365435C4398CA0151DF8EF87A81F5282EB3 +EDDC5C39F2BDEAE08555113F9B4C61A4A7DD1BF8BAB286AB2E971DBC265A6A0A +931CB6219FFB8C04E8208225E3D686315EAF39F674B63C661B23EC073E82605F +1FFC94BCDA637C86574319C41CDDF97768BA23954406741B9134FBA45155F390 +B18215B80BF01BE86C325E612D50DF2F0879A2DC24FE71C9BEB77C42A67361B0 +D9DD197A80D16EDE3AECFD703D1257F9433EB845C9E7AD81AED36D534495EDC9 +D68C856231BD7DA9010A0E6AEF18B11C0B392A4440A8F56FC28397C1A073B618 +B0AA06543507258A3C63C24BF4E1BA06BD3F8C3930269EFC2CC42BB4BEF7E363 +78979A2B8456784550F744513D8BDEA6A946A3F4FE5E48C6766A2DBFE4BAF29F +97231EED7F9D916B4545091E974CF0129AAAF6B285F81CEE555D5ACFB8FCA47D +235BE102E9305D4D0290651BBB4037887E1AD6E08C01D13C182109DBF68AD805 +C67C792D7D3A9C099FE4419B70F6D932F325EFBE94931D5D28C79402A1C6837F +DC6E1811168038A342BD5B4F5371C9783D0B74940633D7B7B8F8B8C32BF5C71F +A06112A87225B4270ACCF383AACBC983DA29281C395D7F2342696D35197D4CC6 +661DB9FAC95FD9EB4C77F5F83159604185AB162347DAC0EE51E65C8C5098F7B3 +3E8754211B44EE1C16DF2B59923CB8FF64283B5C01106A978EE3C09AD5AFDD64 +A881049FF8B17FCEA0B0CDD92A9B366617167AFB6D18FB19DF70BBB6DF205536 +5C1D58F8459FB03319F3B5F4D43DDA15C8323B57CB2D5686BA1A4421625F47D2 +006F73993BDFF70C7FA63C0C3B3B038AA907711A2958116895E75C0C99ABD2E1 +F02AB43861FB0AF5E493471102BA57BA6E3995996696107D1537F9B92F5B0767 +0C3A5E374D3B34D7A67AF8AA012E9BD904033EE95FFD412C14EBD51FEE69009D +EB8F4194E21C596F529243F6A31F1A5631C42990D6249D1EB330033ABBA40405 +2CE62AB60FB1AB122E9A40FCA88D97410DAFB017153D37EC4AE4AF13701752EC +387EA20846202187C1F4F853B6D4B6179E7D0BB9C0E208845E975D26DF1C2B7C +7EBE4B2DA5ABAD95BCDB294E50B42FC032D8D973626ADD10142D69B4DABE2C89 +DB817C2C1AF9EFC62DD501A9C91AE35EAFEC12CBF66DB9318DFFCE7EC3C9246B +569A2DE8A523BB6337D9828EBC0E639179C94E067835F6D345731FD98483DFD2 +549CF02C77E1C4262860DA5F182E248850A90F5C23E2BEE1F6321482F040E2A6 +8B83C7B2502702648694335B177504E757553050DB684A254C924A5C9B8D20B6 +10CB6D8D7D495E473C09E271E8A315D7E3829A429B085C803BD6EB1BE5F1D210 +C044B15F104EEA05CD5D90078BDD975A8EADDA67721895774C477A8913B4E97A +34939CEE30608A842313D30BFB9FB4846EB87A939C84C2BA314EC87AA8655183 +F5F42F7489E067FF643F159384EECD7B679C6F34F8AB537E11D39E5D897AA913 +6037E8DDF13094E0A9EAA04AC7D70F9684E36813BCF872C39C0DBA7B0AB54870 +9D1F991B684B058662CA8C8A7D57F38ABD15CC50C71BECE67F014BEC61FC5809 +407EBBA0263BBC1C7C1642DA4E76029BDC9D8BA94F527A11BE9AFF27A87B91C9 +7E1C0850166433609BCEEE28EA85DA21E1F5E312B5992CF94452946B525EBEA9 +658D1F1CF8E0CB6A36C6446F70C4EEA466CF85CA50B051A73998CE1E9E1E308E +36B04F3D129BD618BD671C52E8CE6C8EA7CA47C68D9864107413B6E8D0113BF5 +6A076BBCA316114C7E3C0EFF2BBE5348A80D09C4F8BA51BD544BB23F554511C0 +9ECF91F8C6BB507003AB73C536DA96FD4BB21A1E0D23DC3E754D9AE220A88944 +A70B01A8E4565C4E8FBB9FD6AC5BDA3BD91F896CB8CE67BED7182ADCEAFF58A1 +8441452D10A158832F40BE2214197EB41DE2F0ED9E407A0A0011ADFA806B88EF +B3991ABBDCE871996F0B17D61A0C76C6E9BA926ABF8BD3752DA7D757B84C1845 +D864C5C6BD8FDAF3740CEA2D0300D53605C9861D4D86C188FBA84F1281C4DB96 +E22D31A7E218AD251111010B0DD4EE7B32745542DC1D4FFA6543CEBA105A63FC +59F8DE4578B263901E38787E0F4F197F1BF90EFD29684AC0965B66357C1F778D +60CE61BECCC65BBC134D6A77EAD3E498C3B8639B7A4D95B08353104112107862 +85CAB073714A7211F36E2923411442210A3F063340CFEA003D6F85A0C11B5469 +581BE31AB60EA5247D3E5739393058710F0DDA36CF53256110AB08F5B422A291 +4C402CE894FE9EDB5BC468F379CF47258518A01D28ED3E3941768124F5C71A2A +AD7AA8BEC0D8358EE389CE8EA9AB646D4B9D55E588879AA8566C6723BF43AFCC +0045CB2075EFA3C33B9D2838D6D0E99F3A1C0068231D585B4CC7E81D44F5D04A +2CBDEA50F302603C1E5C67D5570DAFF1D2DC87D5D85C977085FB505E48CB425E +35EEC9E447ED6AC61B28CE95F33ED271D2BF80067D4DD723F8B719AE06CDB75F +68844045767BB1C7356974099CAB81522DAEF863ECF0F0FD272C7826E66BCD41 +2234F07E08E0B0FF5499D0BF2F7277EF2FF8C2BD85C5BABC56B7AB26823F7C4B +D0E53B0DF1755FCDE48804EBA05DB62AB79705B3B2C53C981855C6094D304878 +F6284149A86DB115741C7E6C5CD1D8A0BF4A0BB1BF316A8E0928B9656F0B6733 +59F2516A1F70AF77722D8F4AB51A77C19CD627A7B784C9C24914DCFCCFC64176 +7576B4DC562906781880F6C1560E62584C781C998DA2D127DC5003E8D1DFF54E +541B4AC0B7EE8CCC0C9489BF39B03556B97831028C842E9F20B3510766D8432E +6BCE9C543E887E9D9A6C092887A443C677FE7E900BE4B1313996B4062304ACE2 +ED7B88B8861154A0C216F7EC643C7226414B39E4E6929BB826E02D8CCEF08B80 +006ED1FC42D95E24D9B031915D350885B3E5AB465FE01232D2F27C4A3FC92D46 +DF76B2B123D29DDFE79ED5E0EECD1D22C830FF9BC789BBCAADA52BABD7B66C10 +A658251EA32AE3AE94F98315461A29BB044AD943D7432CBF48F725B1B88A5501 +431F2E748ED9DB9D13FEE67ECF01848424FA21B8FE8BA16577672545D175B37B +EC018BBFC6CCE8C4FB88CFB8D7FA37FF627F32D426A574F58DBCBA705A7798DD +AB6704393E10362110FCED17EEA2DCCDF84C5B449D689E74E7AD7D98618E29FF +3509A62E807669BF1F7F95FED4B1AA76026D656E215D084C7ABAA01E420EF290 +D4ACCBEF1881E199529966845F3182B6233749B0CEC2F7B391783BDBD36E4202 +6A274DE4B2FE4A4BFC9814FD6DA28E9336D01DCDCD574DDFD55E2E444D283128 +D3AB410158380922B04355D6A602C9C90485C0E85BDF27323BF4564FAE8CDFED +5B3AB5829B57A7829B86224096D5F5463486AC860C86C1F2F7DB3B6C94A5652C +FAD0F54ED6EB58255695FE737A235D38632D78F456CFF89FEBD32C37B5B6A5F5 +16FDAB471003158BA994B284051A7F597B42D10EC6236947C5B54E4D7FC7B011 +3940AFE4F4CAB864A07A8962F5508B7C2BFEF24E89F38759C1A024858C44FF0A +A4D4223A416FFFE7B852221936701DD392DDCE8A1F2A39D432A1346B20C5A8C5 +AA6052F7C99549EDD81ABE45BC03CBC6F3BA94CE9682F3923EFC7D564E3E16FA +A765B61A0CACDA6D0DBB26EE38F16670BD31F3221FBF040767CF6D5686971E1C +ACD791939837A0917804CB320195E99322FD79A03CFFF2EB313B9ED7747B55A7 +E8992B0AAABB424BF295C185D4DAA77AF41D0D7D0BEB29BFA5629B67C1C48174 +DC2280AD1E80ED5E429263E9CD6292219AD5B4117166FCC60E675172C335150C +B35DBF4FFDD7EDF7B646C8E1E8BC00255664A2548802B4D33A5C26790658E4E9 +6F3F75A64A48C26F90F7166B48D3FEA6CE661AEAA28D3EBA7611C9676411B1BA +F49EB8E02E41FD3F9B69C76C843DE849696EFEBF9E980741A6C05EB7645F1946 +1FE7B49DBEF2B29F808D99BFBDA0E85089CBA26F5343E7ED1023830F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont %%BeginFont: CMSS10 %!PS-AdobeFont-1.1: CMSS10 1.0 %%CreationDate: 1991 Aug 20 17:33:34 @@ -965,10 +924,10 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 40 /parenleft put +dup 41 /parenright put readonly def /FontBBox{-61 -250 999 759}readonly def -/UniqueID 5000803 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 @@ -1018,150 +977,6 @@ A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont -%%BeginFont: CMBX10 -%!PS-AdobeFont-1.1: CMBX10 1.00B -%%CreationDate: 1992 Feb 19 19:54:06 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMBX10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Bold) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMBX10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-301 -250 1164 946}readonly def -/UniqueID 5000768 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82 -7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378 -77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18 -2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91 -FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F -DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68 -7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4 -9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176 -CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D -6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6 -E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E -8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E -3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99 -EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4 -0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9 -4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209608D3976637A -DB9C73EB3A28623DF758C25574D740385B2C3D10086AEB904A33DD76DA2CC4BF -7E37F9117E9D81D3EFDA12D5BDF0067450C5A8A53959C055C5D6087F1FE6FB5D -8306F16FAD71AB986320F1229440C63ACB5FA24E41CFEB12C2BEA2C25E59A3F9 -6CA5B7A04B57F2471D36F5B41E6363DCEFF2DFFE9131F044125884739392333E -15418156EEE8DE92EF4C176742032FE8889839755D8D821CD7F8FAAF8A22C283 -19F79216C6D454A864898EE9F830DB5F3372B8F47C464DF19C69ACB3BC0566E2 -F25E7FF148B2CDA2B90CB5884440F464CD57295728A4415963CC1BC0635BBEF4 -E812CA5E0E788035873D05616F7B0F6A30D36BB285E7955CFD860345F16D952A -BF2F7D2702DB352D0874442B2074859EB49313BC27E1067D627362649D82A5C3 -A57DC5041B1A13FD2FA89D875019E23C31650A25CBEEC6B93C575C363FAE2164 -76ACBDCDFEFC8B7BD24AF41D55196DF6FB2F28DF88349947B448513C7E832EB9 -F35B28EF86C231336351C1F89AA9AB1F8C02D0DC35746E97C2B29B7A44CF7418 -89DAE02563F58C453F45C231219FC9727D5D477B256530D4492AE7E4E3CBA90F -50E8BAF9435EBFDF819DA9EE1F6F67A0D65D35E3D0EF63274B611B25756461D2 -BFEEF8BFD513B0380993B8D52A6546D69773D67A15C059E6A89CAA2772162509 -3B054860006DEA20685F5E2937C95B50D07C6316ABC08495EF319B36F8E48FD0 -DA482F82D2D981C70ADA2E467608364EC664D151BCE2FDF571BA63FC926CCD72 -052D4F83933A9582AA6642773A62555FD57DCF1448BEC02304B798B7E47B93BE -909C2BA1351EF483D0E70DC23BDD52A91391172D27150A70444B980E59DA01E4 -6A79ADA80A1660351ECC1541F80EAEABB72C4CE6818C162257480EA3612ED810 -C22F1915008ADA791282032FBD321BDE22529B3EE1493BAB010066C6317DFB75 -CD9D42CB97A731BB7366D0A170D3E8CE00DDB21095A28DE2A77A995879D026CE -ED6350CDFAF3DB0140E14985A296630EA4D1752B793EC534C60B61F1B41236BE -930D8CC9EC66930E5533FF3A7328F0675312EDF0ABCEE5B559AA42CBBA8CDE9F -F407C8A7E5FE9FBF58CF90CF47F56C5D0F76AD6FACFB4EE3207884A8580CD660 -1753486132AA6EDF8C150363743A086B2C138D66032AB2F4BD9F800F59C89EF6 -40111353C4E828D61D7937837DF89B62C6E21AB81DFA802A3D106675EE08763A -61D27684F240CC0EFB50434006E3315BD5639B616AF3545BF9888B973339F009 -DE44130586FC727828B50E7416A6BD1DFB29EAE0ED9A8DF53CB3E546A8306370 -67F9A60F4DE3ADB7B37DB519EA5C793E551301485B1AE60DA7ED9CA3F50FF9EA -A9FD1964C5384459201F0E03125FCBD116382EF3B1693774F084380DC53699E8 -478BC40779C80640E0C746CA1C2A03788B41B140E8051885CA590EF733277361 -B386DCB99A017AFD298DE708DC15D47063C2B52354E8008A42D6A777C12802F4 -D5A65EF3128AE9C600A14F69FA970983D53AD637FEED9A5E89D5CA1A72FC928C -32E6E74397B2EF0BD5836AEAD0615FB1248334F230C8124738B369C4AD756065 -841942440A1A7662C23A0E8431B9A20046BABE41AA7753FAAA3805C34732BD1D -F31600ED74C2F2D30B5C415DEB7062E503374C2AAD8A06532FCAB99B66901AFA -73E90A81753D0235B0762E04991FC73F64545C1035BDA459C7FEE514DEABC2BE -37C37E7160DF06FE3466F287E13F1A052600CA833BA100B7B439FDD1D8931DBE -65122DAD5675C81BFE49E1AE43805E2AFBAC3A23D6E95B3DA41AA65FC7EFAABF -DD5AA6661BB47621FC6A7DAD21729EC0400490F30CB74026D00B2CA1ED0A798B -B4CF488E585371BBA519E618C269F47F999B973F86FA742BAC7384EE91C94DE6 -088BE1D235965A53650038EE5FBAA6EF06965443D2FDE8FD52A521C6FA492553 -C21E7528C713A60C6412F1C1B7312E083799DF466F09E9F4FF07474F21428F24 -4850036F3232BEF5A177467A89F1AE5967A8E6745B34D273BF793D04623D0F1E -519E7BA5294D32C926FB29959F7FB4BEB9BAA193D7F2C30E392CDBC25E6A2F7B -A00F4EC543C7DCE8F457DA73D0EF73B773A3BF5162BDDA5C18AB5C5DA8E201AD -2E002328FB3598533E6B2EC5D4F481DB2AECDA3E6D55A5AE2FD1893D7B7A6191 -FB74A43F01CEDAFFD142EBCF31F508D6182BA064A8B5B2D640051D521EFE69E6 -CDFEAFA0EECF7946AF06715584F9059B858845A1F51E460F78925F830760776B -D5CFB62931B6134B34AB757694190D5DB21ABD3AE042CD9F59A3B434602EFE42 -D4502B93B2AE0FCB06C7AD6C3CC1E6C6B4CCFEC730ACE1B65488832D2147A273 -7A35049DD6FBD88E4B09B43F8A971EC30A8BDA50434E54967EE684141C589669 -21C7A048C49F4FAF51A48870360E0EACC7B4B5AE7C9B1834B88EC4FB53D1ACAE -8E603F20530934509B9042288CE4013DD24F21F6193B1A86448A9AAAFF98049F -E8AE460848C6F06DF140E989E08BC047094C80DA9AD9354CC640EDEF3D2C7EFD -2338DB1217CD5741BB6965E2D6CD2C6BF4EF1DF66CAB33016237E568F7712C58 -2A586FCFEE5E089991621A1A2C892B53F8D945734E838DC0D9A9CECD21241BB5 -E861F8489B0DF3A05EE643F5FD683EEFC6F8A616E92C7C96DC43147023B11E77 -FC2A7CED9204D2EEE35FB57B5BE8D790EDAAC19B150EBB853A07A6A066ABAE2A -E61F0BA577733DC2CE5D3A674725C54D053C3533EE7F68C6E283DCA25E40EF4E -25D953CC4D1D0A8E5E4891EE3151CFD4D3DFD0B428FB634B53C86FC07F63885E -D8D117871DDF365B722A8DDFFD06A6C22C1BCD7210EC14FFEDB569825578B197 -6780F0A8E3698BB3F2A6C3B6F13E00124E3DD57A821A764D9B7F4741FBE4C362 -8171963AED17179F9A95D9DCEBD24E9D032FD6A393B9C75DBB32EC54468BEB63 -5A0B48BE302EFDE364485500F780C82E0D6C825A858C9E9F71F4C6E2DECF7E9D -872C71143E9E272F5A82E0B77AE0CEAE3DB11942B72B020E3A30213D97B661FE -EB583258A2CE3452432A517FD6290B17CC730A30AC2D647C232F668E5E3675CF -9D9F262DC3CDC67A694A8C7BE1B6E89D25C430B58EF63AC518D1A29E7496DC25 -5AD9F6AC1EC9A17C6A9FAC798039660AE8C05CD03E41845A7C1FE477B5E2CFD8 -0D0052D15A1657813E2844F45C01E6E694D05A8BE6C692B9384387DD16F30CC8 -734F639901894F74444CF04F37DE0FC323C22E877304DBB59349E6609C543677 -34DC0AF2F48C3E03E61B119CED5F1C1C0C764CDFB06CA29F946776607B7B3068 -F7FBE46F571CF7E8FBD304A962CBEFF1F04A7C3485AEE8291192C19A35D06E5A -CC00EBE7F6C5C7AD308AE1D648E8D78A25475CCF7C3E7745839299FEBC31E23D -65D1BDFA1CF3EBD0D0C6C5EBC6982EA25D1BA629B9C44BAAB788BBEFE8428BDD -D54365670F9D3E20F673AE766B4CC74F6913B0272EB3D02C71D8AFD73D6CD2A5 -6A2A7DDB0C334D3695E32176DF078618312F09F2C619E2445F4109917F8877D5 -6786F19692F56D49C92D9019D6676BA151AB7D7CA3A9AC55C0200A2890C35BF6 -CD0CFDFBEB989244D7D77626C72E45E25EA4DE744FECCADD62CDC97029E1911B -F7D868B8EA484D2BC45784BA2795A5D00C0F1A0A8EE14FF7613C8B5759EE97C8 -5A8E088654C1A6E816CC900FFE2FCF71CDA4E55CCBC1BDB250B7F7B4A0710B27 -B0D427315F18FD3752EEE13C14B9A5C1A34B867059521096B1246AD21C12301F -EB67D150528CB1AEE2E22DDD436510836ED22B4D82A71087C0C50D1A6DFC4AD4 -DC5FADF6F5F757FFD25D91C1FF7A4CB16FC9FDEF3CCC4861049F4CD392728772 -9DE465C5265F24BF803ADA07327839C8337C3B95239F2AD99DD867FA336D2669 -F269BCA4BAE23E2F0743C5B8C39054 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont %%BeginFont: CMTT10 %!PS-AdobeFont-1.1: CMTT10 1.00B %%CreationDate: 1992 Apr 26 10:42:42 @@ -1182,10 +997,88 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 34 /quotedbl put +dup 35 /numbersign put +dup 36 /dollar put +dup 37 /percent put +dup 38 /ampersand put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 42 /asterisk put +dup 43 /plus put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 60 /less put +dup 61 /equal put +dup 62 /greater put +dup 64 /at put +dup 65 /A put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 75 /K put +dup 76 /L put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 87 /W put +dup 90 /Z put +dup 92 /backslash put +dup 95 /underscore put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /braceleft put +dup 125 /braceright put +dup 126 /asciitilde put readonly def /FontBBox{-4 -235 731 800}readonly def -/UniqueID 5000832 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 @@ -1222,418 +1115,392 @@ EB0D5E3874F2BCEDA98521D23FCFC30B4B69DAD2ADBE80E5964ED0ABEF6C73B6 DAD30E2C5061E3747FE536E1A5D190D028F2130AF608F5DDF9DDDF1E77DC8437 ECB3EC93B33505DF47884DDBD1DC6BBE4098DF04A29AF6FA3AE344600D0AAB53 B3820DD7ECB600A3B8001C51AF2CA7A39AE1485A0FCD5D16F0657F61E9655AA1 -B8326F1813FEB669F4EF61CCAEF05098C73D6BE54CE3936F10EE4C56D0B8486E -66F02EDABFE670DFD8F4C41F743CA204E5C7F64B9D06544E1AB0449A45FABC91 -5F0536F53E88DFE702A9E92DC317D5587E49A2E4AA2D6C07BC2974FBE2069E05 -4A56D8029AD43F8367FB7BB624A49847435ED26374035D5B1EB9505B6D8D7555 -6665128B99C201E2B34FA0F362F572FA69E160A4AE99E0E058E53D548B7BE991 -76C432D7FBD61DE7DDB8C0BF8B01CE184C35806E9141B79A6DB955DD756C8EE9 -C3114D383290DAFD03286DD852D73CF5EEA5657245276DFFF49506B1E5F3EF7E -DAD841A79CEB7ABD1ADED33DDED4BB921F6CBC1C8D7F711169380254070114BE -0F0FABFDDF8DFE74F44D87D8F424F03A3D4EEA65BA913713F837C5128203F99E -12BDCC878BA17B34D796FA747F6D778EF068DBB771554F9C64DBBE16024AB356 -FB15A245924EFBCDB3BCD58ADB6AB154DAE796268F407EDE778DF79804532EE4 -DF63522FBB599137E5DCAA0054CC09924603DADC05F0BFDEA4D1C2CAC0518633 -E4D5891FE58A37D4055BD86BAA99E6B64CCA60BD8B7ED9A258C4EDD356EF78C8 -156756286794E407A857F49DFD1C286881CD18055466F50CF2D768F319A2B1FD -116DE2BBD1C0E481D77EE0BF879779465E0E53605DBCCCBACCC3887A4CA8CE1F -E5D3E9B3D84D1CD5BE08DB07B5A324C5A752A3773FBB420E35D2E2FAE456C7F7 -66DDA4A2B0922EFA48C7BB12942CEA6EFBBCE12BBB85DE4D19E224E9B602ECD1 -3B28CFD50CB2C66DF52A6B4E82A7E9846B0C9C8DB8E90A62260184FC1A470EC6 -A5EF9FA92C1F9108F297AEB5C5618AC3DEA1EF3A730A16F8771FA9A65469C26E -F63373649A4A726FC526F1D3186E8C92B3F1940DE24E3A30600F2196153E2B62 -1A8B7DEC5781F3577EA3109C9A5B3BED4EE646625CDAFAC8996046851B50EEFF -8D42D20DE055117C0DCEA3A554DBE37D5EFCDAE137564303458F4DE9BC4248D9 -79D0FDA7FA1B6551D4CD22F8995E514F11A224C572096A184BFAE2CAC0F49AFB -6344424B5C8940AF3EC477AB1CFD986C5CD99402D5A42C0485245938FDCACECC -D9AA7E145D3F46983EAF9C0851C555EF2FB1F6987C6209E192BF798659B64E03 -21751E55FA15B81CD76CB3F15DF85C528CF092498D126FC4DBB7D56F0164514A -999B6F2D3C2C623B97D0439CED312BF5F691573DEF8FD249F904AB4097028691 -03D14E024320DB6D4F93C68926B8881B5485B445A668342F88E58F57F13A58DE -078296EFFFA5680BA7F2148852F41BBACFFED59CB89E459E9C71AF71C1C1C267 -A2E22492647E9E90BA72039B18CBBFE8EC94B921C5C76B2FAF888BEF44E58CF4 -484A5A41DF00263D1C4A99B1F1E887EAA3617C6ED0C38AECC08310A03C2870F7 -FA0FE3A6D8DF769B55758342D5866E49C9724566C896E82F850DAFE1FF222629 -3814410C1999D616142BDFD986C2DF597365AD905BE00CEEF4A1A0D4F71F7560 -4FA1C02BC5D4CDAA18681EDE45A682619E7FF4E2CC574751757EA43C7CB85520 -A98D8B47D45E291B0BA25EC803B465198F32981DBF99C4EBF3004FB5B083CBE3 -A68706583F79FE0F3152B07E99F0016C9FF4B5B54415CB366C316DE071EBD49D -B7535C5640892CB99DED62E24B73D6BB9626C685F9EEAD6FBD63679B3EF89DDF -C503EB242CE1A0382877C1F93DEB9A4863863A908C640DA19BB24CF48CDADDBB -F0FBF8968567FB87147F678EE8D3498C21FCAE562075A15A412CBA80927C8DFA -BA47B7E80F3CDB6B1EC445197B6B20662BBC206C75E0EEAA11F245CF12336D49 -4FC0235C17FA03991579C3F31E9A7254166B9144815891DDCBC805B59DC28CA5 -E8F542ADF39F07757B06F9E1C8264BCAE3FDB6C710BC2C4656B997BF7E895DF0 -C769722B5DB9EA254B34AF588A77064DA887031B32CCD2180632CD7EC4D4AB5E -BA28D887DE6DC1B912C99AD7BFC0891CD1B6B8C836E7E3A037B2484E5974112C -830575D110DE9FEA4AD94D37E2843306A6CF744EC6830FA60774133D9C49E9C1 -DDF8F9696D0A9A2BDCEC578F3D0BC2CCB8A22A4AF539589CA4A2FDB45FE47660 -D3EBCE196804A9A7759FACA2940508EC3BA1923706FD1B8664F6F02B731F1ACE -67DD39EDA612B74008E82E2046C8A677114879CB9811F48231DDB465A9BEC565 -BD6C5C742056B2C5940F7F5AB9D6367C15D4CC92C368B6536D77A5B2DCA90D5E -0CCCB58D672C3D3F5168C26C4632670F2ADAE2C5B2A1E69D2F984CD210EAD333 -40D7D6A5F8EC4EB54AC5259A46B6380F37C76478BB57AF6C9CF7506AA8CE8C82 -2571C24D958A65DED2D4C23829C3DD78CBAD71119838D5DDDDC45A095F58D8E8 -A3A83A32A9EA790592300D848DE2C1B5F7EAD91A737D681057289A86E7C423C8 -389696F1901AA2B850E1FD3ED8852880CA8E89F2091B61311FDA0E2ECD51AF3C -369AD0A08DE9DA1E052F3DCB7C49EC44B6336F3FEB587F1599A640E5EE95BE26 -14B3F4A236DE2A5CCD937CC7AC2373BB2E9DBA76A65480E9B87687747D492EE6 -458E2254EEA7D504550DBA3A7F4D2E7718DB9B959B65B0B5D79C692B71B37C62 -DF5E03A4A38527F853D17C81747F4DB9C86D618ECE977AA0AA9EBC70EF507229 -DF089C15FC8F54A1023F29BC817D4DB6C9F7BF1024A859412B795A8E07E4EE5E -5355565C4EDE0AD65AC83B85B459EC1CBACD9A450C9FB7411C4BF4CBBD7828A5 -A9E9B671E6C7CAD6CD5F93C8C6CC72C1233C4610BE4FC8B5C377FB7D927E55FB -0CE6E1B337C3E19F9BD7B010B155BC592F342DE7AD6B4286E4B376BD488DDD64 -D2A9173F7ED250ABB2980DB7BB8F367089D64504DF14F88C7845B5915F8B20E4 -9E876A2480D28ED988826E86DA0C703B6F3AD68FC98CCB91073D3DD3160FC00C -DC3805D8F14447AA9FB199C38DD4B28CB1E6A8001D3903AEF515D822CB784DF1 -5C3C179EAB1F2ECEF25C454E7A2ECB454C620C24B80498176523F160E40C3A9D -DE03DAC25A7E5399174A9E8DF8115DBAD6D5B8F16B6A59E7DF7E1E0DF24595D9 -F7C6B1ACA13ABCED81F6DE6AC64D1E64154833834EDFD6E12CBA1DFD035FFA6E -05DF3FA5F8173D5C8E43D3E4D053ECC5A7107A38A60E20C93B02BF82C9559C6E -E7C0FA5D9B5F02581AE5AAEECD79B21BCF1C9E1DF0467CC945BB3FC8E9E45CC7 -543B34BF2203E212871AD67E10815FC82F76ACF773559519309F5AAF03CD800D -06FB2ACCCA695B06EB64BF455D7353FBE8579FF62E5C33BE93A196B3CBF875F2 -5017FCEC574EDB29D2564AD2611E59819994746FF7A7B053302B335EDA8859FD -8813AA235724EDEC0CF215CD4F4FAD37E3A0DEB874A24C4FBDF64E3654E0A350 -C0F57FBA5DE0E6333261CD37184C91E38682FE808DF75F98237F158AAC0E87B7 -C84157DAAAC88B0779C26DA29F584C065C4B9EA84D74A9FB3B8928751AF1A8F6 -5F0DB7A23D7F802EF8A7F9F6C2EA8F4941516D48E12EE4A44A6362F9FCA2DDFC -EB7F8572571BC4DCCE2B2D4F3960AF71BFFB9D98ECC8B0220E79F15AC7A1B490 -13121B21C6C44B5EFD8F0BA56736E61F19DCEF803096578B2EE9A9A54F644E1B -84E68806781A5151ED9FDA8F845BCD0B195FC7A408C7AD075E9BC1843CE0C727 -026CD9C80B9D7D706E846D67F90128B15955B64F70732AECD8F31909A71A14D5 -EBB0E466F7E4274423AC1F139D06F00C6ECBEC861D7C8A2279E9DE2D7FE39966 -A1B7EFADB31194731078C4ECAFD04DB6F3D9B6CE4E377398D8D0EE5EE5E0A5E1 -515A950897DEABEB0D454FC7036EE43CF196B04FFE50DC6F6D58BF03C3A74978 -EE7CF02EF3901B7F623EB86B799351D25C79FA672D7D98F924180E792692EB2B -A6D8F7515C4513C6EA40969D3EA10AEC27B9CD014AB3C4E5BD6AE5522E03BA59 -3F4F23C75831B15D0BBC0F9E35852F87A466BE24AB67342DD2F19CD2EB43211F -29E2A8B49D6B9BD5D19D846F8B82CD65189C511E0FB597A25C62AC853EFFFB9F -CECAB90EB54AFF4E40CD0CDFD31D39A7E99030CDCB3CCB61DE928ABE9E0685F8 -6CA07450052B90E00641A2EF0FEBBF30007B574FA0CE4365D1844A59841C0853 -C7BF5A5984ED0F9821F1CAACA7FC67DCEF57B54327060F4C60BB5E6CE00AFF20 -5BDA60693385F5E96D58D8F6EEB6B2DDC1DE7571DED81E65AAEB3DCC4604B8FF -675A7A967DD548BF5AD7EDDA2D6815471CAB5A722E5AA61CB4539D59E043409F -F7EEA6E3EB7D9E5D6D8B0352D32BDCD3C0A13F600C9C03E7F1347F7F0454DB47 -C869BC403BC8DDA258A47AB5FD91C1BC0480552E375FB3B015185F35E5786438 -0FE833E73F050F0134295531FD0B4086DBCB6D74D1570B3C71DF15B5956396A6 -CAEEDE60AA38CC8500AD215431A01EADA80475E688AE8FDCF6498E81B357EA2D -A46DCE5E9107713CDF1CFFE71BC17BAFE4C9C2D635F8E0DD3C54012F401377D7 -64E8BD68716499ECD63EDF7D847073E32D2E6C2099D4C5DDC430C6475ECFC2BC -DAE444984B59906F1592705BE5ABF26AA10AFD0271CEE327AB4B9B191E531646 -9E69539A55C523AD838A0692285F0EA21FA3100FA739B391ED96B9453A94C242 -08D6235D012CC4AEFDE63384D463B11D378B5A835BFFC81B95505107FED0BAD6 -9237E44564C0D82A3E4A974B57A904F475BD973710068DFFC91F7AC842A478A1 -6857BF1B9DF346CD23F998D64C63B23DC3E4D2A47017EF26D6E475FBCD92C674 -167E092750DCA1AE02911EB94026C58912B3BDC5B03D4362D5C4EF76CBDFCC04 -CA599719B047F85A8F04D88C368AC467BA920418883787EEFE21C4377CA7D417 -3FE01C86113E48DC72CE568772F6930AF79EC5836C0191987A6E33406DB9DB41 -C8548744EB4154C59D20273AB56FB83B384837C26C188BAC0CF05A4DA531C954 -9ECD2440DF5692B784CEC9492C0BBCD1EF3272545C7CA8618F4A847F9E11C29C -714D0E3E201B5DD949F96AF8F928AD5B72F2588A55EBD1A9C3D9867422E0CF4C -76536728970FF8CB5401C0E816294874E4D52E9C08135FA390377EEB66B8E33D -F60AF1E9EC3D9354AE18F215519BEF0AC1EC037AFC733B5C897440BAAC8557E4 -37B7B21A00BD478B91B3251D1F81917A052F6C0A24E063194F0466922AF9EFC6 -D619F6A84F97C932A6AC72141D2420E24BB20773FFC8D636CCA493BF1E65202A -D02F78C5A1CE9B325B83CE002865F88305AD4E0A50F9261558B2B4978056A620 -0AE9C75BA65F63EC8FC14737D55B7AFF3566BE88443081ED37555E504E9D2125 -E041C774F99CD74B8EB6F027C838C03DD59E36B88BDBB9C0F4C3D0C7EAD96274 -8E0F4BC5D387294FDEBC3ADA0E9846A6C2869B7B49A332054F6C28F8FC55A679 -1176654E35B0AAD9FECEFEB1C967F9C0F8A5DB5575ED4335AD38624E31F45AE4 -1A2A3939DA3FBCE9BE99C284867B06AB66993BFE52615620B161CA52893DE0F0 -D1A79C9F0399F42A5CDC01B15F4BAA71E53B0ED415031D9984D3CBC81B556C28 -CF514D3A160B7314DFC5019C9C431FF0CD1F38494066D0F9EB3A8AD0A8CA0646 -24A0A58DC6B362EC895A9BEEB72027DEF4A5320B752496A172EF32D14C3D3CAB -81DAAB12269F5FB13EEDF2FA30318D4F7F5E0493E54779FCD956456C6EAFBE0D -15A2BD6D8D07D045AB8C26D66143A3F24FBD76A00E51BE71D48B45799444AE82 -F321135FBBF10461B3C976A5CA9EABD20E411670702B2BC1704995FA95A6B676 -631CC5850679256AB7003FC25F7DFD39CF2D8538A8B74116B2F70B3300BACDCA -3A34C1D7DF9D3732ED02F39320FE2C6E01369F4C2BF90551D80F160841DB4629 -186C5A26A0DA6D08A965A366684BF3127A3D1E14F46BDA3B46F829F70B255D21 -3765A752FF2194BDD74E34A50C59D039C46E10C57538264457ED875F12B656A7 -ADAB03E9A3A965811D29F3FCD804D93782294601EF94045C692DCDB3D789E3A8 -33055DE95A331B61B958747ADCD6A65EEBD01474BD8E127CABA7949EE6A8143B -86E561BF9CD21297C3F5A330C73DDF08B592F631A9DE0E717A4765706726D499 -FE1144F05D3CE8246EFB108599C39345E93C27C8EA35BFC0DC3528F55DAC605D -0478D40A5F13D3839C8D1AB0597B1679CE02E8A09F105179AA8C42A9A2862A2E -40D4361789FC9468885C2068C3DBAC199D1B4E47DFB9C9F9AD5D7598B6D05F24 -D53F3B7A129C8B49C946DD40FEA941B89C9EC75514A3E1EFAD180B932C08CAD8 -5E5F538903739C150D68702A856B1E1E0B11E262AF51CD1F3DCFAEE2B60795E2 -C355D82E0E8B88CB136BCDEDC53D823FEBAA42C231CE55C1853D412B992352E9 -130DA25EBCAB9EBDB1F8B75EDAA1EF3B8FEC09F0CFD1909A159D9DD8A15BEF90 -1490E788DCC536051CCDF4522337C4EB7CDA989F6EAF09FD8A849231E1D0AB61 -AD043B9898FC0DD1BC6F02202D8BB63388BB0FF323073CFAC95EFAA14E792EA7 -54239813B08CEEAD085EF994883031FAD6CE4257D570888542136E70EFBC6E96 -FADBFCFB148CAA3C9E21B402D6CB490B127F00A761C37D482ABA75A396D5FAD4 -B68114BE15987188D34A6E25EC764FC52010040EE830952E92657C1E30F744E4 -54940DE488EFD7F8105346FD55F95A942B308C569EB4D22B44230C797E0969E6 -1E9496C43DCD898C91DB82FDE6721043BAD7DDEBD6F8ECB79BC5EE093FD39F13 -678851D4610C2F105A7532574B4427535178E62F125F1A8098A0C1CF09AFEC6B -5958BDBDBC8F765BACFF90B705E2EDEAEC63B1699D9C076BE99EA08BB8B39C0F -107B3C09962C59D66C3F725FD0ECBE05B00B33D4D950869F5F3EFA578DCCE82C -514FDC51EE564ADF56A2C01CCF3327D14A0B49A7A4D661B4B2FD7F76D5BE4175 -72CDB5D4A5D556304FFE79A849070F666990C699E804305A20FEFF0AD7C46C4E -772F2F818020479052D428B1559A0163C99453CC883DF631D98F5766381F7938 -2CB87C68F5AC50AD6E82F46122B84A522FB19DEAABC17F57721047900B3B189F -7D91AA51CABAF053A4F865B3A3E1601E1187B069DA67A483BD6E0C254DD98A41 -0442E3D8ED6F2250169B98F6A3ED2E3D9DB9631D2C804F545D6162989D31CEF0 -D8031B23D288FCA87B8489D0A1E83C8C14B816D7F2DF671201848E25FACD4CEA -48BB7D58570EC0F43DA33E0BAC65860453BDC9E71B54FCAE6EDF04969F4B092F -479C6301DC7E0293038D1850AFB12478FAC8EB6B619A5FE3F4DBD6CE1449BD58 -BE4F33A893E6BD91996F5B6CEF8CC792A4A09400E99E57AF4C02BDB44DBB076F -A6B52978DE9578BAC24CB0314280C8E01DB22AF38F243625C88B1ACB0C74BA95 -AB92801EB3648151B06034150C64AA944D007536AB50C7EB7D62F64704E006B5 -2B1A7D3D1DB15053F454FC5DD0677813AC6E38EF875FFA7E306DC21F4BDCA032 -23F09C5F2972259CCBB81F93D09001FC1EE8EFB7930FCFCBDC2E4C6302B1E4CB -82F2D8E062D2FE7BEEA84899921DE14608F3E80025D3D8812EDBC628581CAB46 -7B93ADF4B3DC5132B9E9E36DED114077F0BE8DA4AFBB8F7BEA125204CFE44404 -4DB8DC722F12A20AC8A5084A7AC93E8003CF7C24908EFB5A734324E856621345 -437CD20CBDB3740D38981A5DAACB525A17474F5F85FB7D757A6D08AE78AB2D5F -89762575D264E29FD8EC7A7ECE2C4F74AE641169F58BDDC8C4BC533B7AC7AD60 -61BC5B429E97C240542128C879A9D6EA0A9D4C05D6423359E04D25C07E53898C -F88D4F0EDFCC535370218A440F214AF5EB2FE2090585C6E13974AFDF92F95F22 -538D50D3EBF9EAD584974FBD064C58E1A77AB99D6DEE84BAF47E7DB4C51E96A9 -5AA3C5C78AAA3B7A9C73DB9D582EAE1EAB83668879D68124FEC58E7F7C0C0289 -A19AAC8FA63A9C15F861546B4957C1169FF50993CD15598137D0CFCF04E267C5 -4E306F920E065579AB7C44B02F7F89263AC0F984D63FB0A7A723EE086E8CFD39 -BC0E40F6277A824FB2E53CDBFF57FF1CBB62F8E2AD2C13F36042FABF5E84EB95 -1E47494E30058F92ABBBB576B969FE22E93EFFA6A6439621350AAAF1F0C391DE -71FCAA583BAFCED79669BBDFE69487BEFD9C4CB1DBCF2C5575A45D016254AD02 -7110C17C6EA288DA6B6B145F1A6AE10D6C70CA996B1E908D13BBA2555E51D7E5 -696CB1D9FA80352DB942DEF37E6D8FE5B3B5C05E39AEB63A4F83E7FF8A02B9F0 -AA1FD7A03D410B0BAA95297824FEF721625BAE714C82BE603F14233932E0B212 -94324A8A1B7CC68F5C249FE637136673560681282ADB38592E5349FA63BA68D2 -90447F64364054D6092B893198B7F772CF627107552D3A4EDB47B58D828728A8 -D22D0B34F413C4C21E5647D0B321B6B211E0830899A273EAC693F467512B5D16 -9EA46A66E73AAF00783CEFA678BA46EE65BBA1A54017213461B146EE28BBE146 -5186FED35B5D9DF6B1C29FD6384F2B882EBED0396BF0CD9C6A0C80F2CAA0D17F -1901BCD520A166AFD7787557CCE8B3270896E0CAE601CDE94FF6186A65FAEDA2 -8872C3BEA06C7AB218EB0C18C1C611294989CB1BB896F45F193AAED81A3DEE32 -C571D517F311F415537ABC1951C033BFDC0609AFFFF246C4E12E405D8AB3A557 -19E3A35891700937E9DDF00F8E5D4C89A09F04312BCE74C53AA6A4050EAFF1BC -CD9FAE24500F77AF6E0A997089CE47EFE3D8643DB83720EA87515FA01A50AA45 -9157E2DC1D37BD166C52A903A4F7B88E15C006A94151399ACF8492935B4B28B2 -5621DCADEC0FD03A317BB323F06A966D83EDE2D4AEB49E19543AEEE4351CB8BC -A99074D1846C8B6118F3F464DE5D6912F68D9BA30D50D8BA4DE28147EF3D9DEB -01367E889FC762233E56FD6A56E2588796B79D591DD57C03698B22E21EA82801 -FC7B994860A325115DC22175C2B8BDC9C2CC88DC37BBD9B05F22C61E7DCC26F0 -0B554789CF8664ECF688936427D98883D5ADD4C0B8FB51E9AF1CDF3839B22F10 -A4F9B5BC83FBE812C0B19C4EE359B93253D43A9F68BF083132180F96FC809594 -B23DAFFF7562263DA7DD77BF0B625CE68721EB88230DEE011B5DCBDA5BB27236 -DCFD0AEC7828630ECDBACD700274E9E1F77D007B495E56CFBC2737367235B52B -4B757DB9DDFE1BAFA2CF9C66B72DA4C5423CA21FC425156020338BE97213C990 -DF02E327F41B08AADF7C3895DB24E3B9A0DED10B11D7A6B789A6872ACA17C202 -13FA2DA292F3F4AF398D2C7548711AB60AE3704A322ED418E27CA51FAC181960 -9EC62EF5CC6F2A9039BBB607AA756431937D397AB44027AC95FB0DBEF0D04BFC -6CA824464458CD2000F5B60F4B61709483F5C5139FB2E511763654A55B2F0A16 -EC7A14DE0B5DAB388ECD328741BBC84BFE419E74DE02D76677B369A56787BEA9 -C36943B09B05A8DB51E32F510A350F89688E9DC5F73AD88C124F62C5E1742D8B -C526003FC5E28D7F1628EEF6677EEC4966E84D57E9AEB0BE5E9FB2AE0C07D0FE -3B25F09781CAB270C0B2AA34118F86EB5016BBB7121E9ED3A7B6E2005A302A6D -636625E94A91E6479C01EE1AB6B1987BA89D876BF3A22E05CFC49B3ACA07A36C -9DA1CE5AEE751C4098B73CA25E092DB1821FFAF98D6BE874CFE62AEF00C033D5 -C764DD1D1F2C94205BEEB97ABC5AAFA6817E253043E348CFFF2E022DC51E6F33 -3D152B84CB88DC33772533EAD686CBAC2FAAF63B39F1C83F6B7DF0C19ECA879C -4E6A1F1F489D98A6E6E98662F209BF6792C53C07E6DCBAFF7712D6824C997A4C -0CF329BFC8C11287EF4BE6EEF4C85FAF886969D11B422ECD0707BD50DF9D15B1 -1738DAFE0BBE48E3234CA9BD100E940BBC4841A72A009EFECF8CCEACA68875D4 -99D05F38BFD7C399DCB59CC90588B9B4C30A376099D410C010EA1218AE15F6AE -43DE1FCCA09A0915CBE46A4545FB9E12F016F29F85431A380479C959F1C4364A -416AA7B5E7D2CCC9D0FF56AB7E99B015601366B97018DB062B3CEDA1F3BA93B1 -1B0E6503E5CCDC64A610B96F7EDDC1790144EDCAF0D3F1E3880B3DF1939C3720 -D90C5724DD06E2299641A884F379305951FB9F81A4C2782770069AB5F563B0E4 -F9E1FA40EBDA50F36A8406E3547ABB6A443B9DE2A2813ACD17B639D3CBC57C9E -6C2DF03A5596F9CF42178A40DF725CCDD18EDD8642146FBEA744A603E850CBE0 -665FE5F2CE6E691D44FC6AA70880FB1E1796FE6E49A7FE18FCA539591E066543 -3BF08D78568FB430AED84B8CE7CA07B2E0BD4977457CD18D6EF7C978A16C0301 -CE44E994C65546BBB915DB9C8A09D427B70B7CCCF848FFE89A51005C449FD37C -63F35C734EDC4F6C09700B60744F51D111C642089B202942174990DBE413F950 -146FD10B5FB5D28BCABA713E75A971E5C6554450414A4A908C36B09A1A475421 -0E81315A5E6E40B488E9531CF048D1AB0C09C307B920E3948A033402D07BAA34 -23B98C8BBF6816129CFEB665CB0117C18BDF0E5D17FBCA5FBF07DCDD97219C95 -0880CF1E9127AA8E72E8115A35F1DE7840EA01E06A489604C3980327B9C4A667 -8F6A5F74F38F86838E11268DE1F8BAECA8927D67818EF60C6553E3D645D74864 -F679CDE21AD7B657F567B03B697F2C2EE6182F1A3274F2E43135183E227CEF69 -B1919221CBD3664040F2823A2D9EBDEE36D6300AA109D0693B2A69162D7BC1BB -86CB892CC774DEDDC99F92C9DC8CBD3CBA4D6B84C1599CF2261E96B24BA49C8B -71DE5731E687B7A0A9FE05AFB31298058C3F573D7988C8BA76173408B720A273 -5A8500B5C2DEFD3B16EA606785F1CAEE0DC351BEA9FF1642412286B3576F26B7 -AA2757EFC047A0FA472C2257C1133BD2904448F1527A8B88A8842F6BC0721034 -77A4569AB2EE79547E703A21B52BBB7B7779CB839529F819C147E50E545FC8EB -03AEB1008D3C59B0E2CE719F4F0B292DD6030A8B7BA959D71B79D1F53D167BB5 -FD88A91B985A3E1945B32641F6F6A8884293DFE5CD41CDDFB7A875E6E45B0676 -E0E2F27F77DE2E3A04AF174CBF4400FF3ECFF31E71ABABBB945680A93400EA48 -6BF761A86C0230D9AB6F7338AC1298C69F28491CD377D747E2B2340D302CAFD4 -4EEE642CAB20E86AF26DC4C86176F32F177577AF9596819D4778B982D10622BD -BA074BE2E703EF32C888CB41A6E1CB08B283F3113480A6A38CD4D4CF19B67827 -7B64B4959EDC07725890156B124C42FCC414549F66CB947D5376EFCF97949F34 -F7C399FCD27F308AC3B57B5687E87B2ED2BD02779C39017B97DC3832038C0C33 -D2A27E426BA52970E209C8474E1FF67BDCBDB1DD8F7FB86DDC95D3385B2BF70A -C58A9CC16697E8AA20C67EBFD91661389CC3450549B046CB17C8CB8B9775E99E -1BE18F5B93C826C3B7505BFAF4829726D188014BCFDAFD53CCC1E2E14CAF8996 -B01F8F9F89DFF605356337605B36B3EE932A5F76B0DA0AED1AC4F80C4019C03E -7BEAD387BBC5D26D5DB6081AC1C230FDC714E81A3CC9EDD7A98188810A51E95A -AB779B17D442BEA1B27AEC14BDC0A09DCE674261C44FBCF371C2E724593F80FD -02F79C84D1869A2FE5C8F3B2F452F1023D5C0DD0753C438B1F397D96E8B9659A -BD4B772EDEF6D315995B435EEA7C6D2494B58200A88FACC44C2EE2B166E610A2 -0AE6C244690A78477EBBE1122813041EAE4509D2082CCEB55922C6024419EB54 -5E791DA1A8574FFEC27C51ECAE720B89C2AF19D33EF6E69C9E4F9B2673781448 -0EFE546A01BF3934E5E17593DA99BBE0686E519F0662EC25C849DA959E60F804 -35EDCA1953BB19FA6A5F4B61849DE8B562DB30E85383A67C9E242944FF80DAF1 -59A51C22E9CE91AA5B92C001C9CE122EF6C78E42DCEF622B0BD76D2FB3697C9A -2D6E0942A81AA67EEED73B03773FD5CB4E21831BC096C07F78391E47061486E1 -88008EF87DF920B329BD0BB7C918369828FB1E3F873BD12AFB2341F845BC779E -60B7625E98BFCC3132D471DB7C6A7FDD6FDB9CAA2FC49198AB42755410EAAD9E -0B191DEB0CA44FD5BB84109112908E8A8ECB96E070CB473BB280BC7D4826AE03 -A579F724DB01E6678F428408D34E9344A64D8D2EA7675D820C561E8145CF1620 -3E13194355B2C1A57697AFC305BB906308E24365E66B6902B4269C5671E1AEB0 -E9C611FB1FF44BA6E78B28B223B01EFB64AE4502EF98AA5B9374D10232C98881 -B64851BD3820ADC4A7DFE08E4C3204DFF68E5879C46F2E1AEC856439DBACF818 -51CD04EE662B20C58017CA80B3F888C7331A06E6BB81AFA6674E50537AC6CB29 -CAA446AC914A00043837A26667F4158BE018BD8E62A503AA4430ACE200A98DBF -F8B8B78767F9CE4D549A087F7FA1E96F371BF6703FCC0A1076A60DA2F50C2ED5 -F9BE2D6945F5B7F44090CF3E10EB18FFB0EBA92F4413DA97A3B338154A9DF2E1 -D4DD0F9DB0BA706E5EA5EE7D5E591364C62AAE947076DDF0232E3FC71E477668 -B9D731D9D2FD1B78DA993FDDE06ABA940F9D35F01E5801D2FD5FEB5E88FA7D12 -7B04D149E4E46145D4F6D9233D4DACE9C1D4BB69193112B0FE831DA200102FA9 -29C096324A64C6DF0CCF3D52EB88FDDA629E7A71B1360F38C5A87B4E1ACBF294 -3895F1E75E07FC1857AFEFCFD2AFC9EBB2C617D7751CE609A5F24C77F549FEAB -651B13946580DF56CCA73DFD42B7A1C81D62E0717DF34D889E4A87DBD5304387 -AE2FAF2ABB39360CC802F24A695409D3351D0C87A76C09A98F3FFE79F07EE365 -7BCCB54C76321B82AEAFBBE8C0C28342B3EA76FDD90283E1FF850684502B019D -B3A9691758090160740CAEE96BEDA8D6BBF2AB321F7106834155E77AD41E358C -00879C8A44E91C60ED86EC6CC9FA711AEB173E5271F7871733259DC952D04BE4 -CC53D93907A1CDD026DA5340954A025E42EB844BF5A594E3E5D316BD5B419CEB -C08E1FE624B225955E751A0ED66A87C954E3F755C0E3BFCAB2E2AD8B27BC90F0 -432C3AAC430416162AC63245EC4D2926AEAB134B5755EB584263DDC91D3F93B9 -BAD527C3C0A5F608F0F2EB26365AD8EBA76297F57FCBB98B64AB660109B1FCA2 -8A21358E83536EB3D3CE7667AFDBE1DC52B7418630CC8F507A00827A62D15A13 -AC5D14A0AE48CA3F67C8CA759011C8C23AB1E3FACC0F28E59FAFBE57DA7917CC -56A636818F6B833441FC7BF1061C899027B56329D287526EF098873824F599FB -199194A22003F05F0B9ECB14BADEBF0DF7A6C80F50839A5FCF45209E3774A50E -17A375F61C5D3759EBF26EE62DE614FB8CFDA025550A0D56F9D3FA34DEF1F7CB -EC6368FAC63027C2887BDAF2093D247B057CE8EA80A2B04ABD2EA48108596C9D -654C41B566D01A78A01C273CE3BB407A417D8B50E76A2F9257700C1EC2918844 -3B980340453944288EDDA891C804E69155179A0DD1EF95A4D371E88ABF0946EE -BA7DB725B97CC2B7A4BDD0740C95A757D9DA85966B91AA14E1C85837884B1B78 -3CA9F7385F585C0982C43E7C3F4E3B4F11829126210FCEAF6C6FC9C6A5DBF3A4 -E9D86EFEE1400DDF61D630815209994807918C9A196BC84F9B64A31AB92A36AA -271B021359DE85EF2A9A757047C6275DFEE63C8EF59F02F8248305EFDC5015B2 -3011D07B98DC78ABB7FCCCF04575D5B8AE25696E053832A60DEBE4162545713A -57B48191F1EBE7C3DD940EA198400D89F839B3DFCE6E14CEFDC26AFD40FF7163 -E6CDD325588E396653C3050643C3BA39B8E7B5E7B8208E0DD4F364944B8ECEAE -CB584586A630C95140E0B4EBD68BA981287F57A4C2115D560FA9D3AE2960F8D5 -2043019D0C119A81B4F060DCD13C8A7A6DCE37CE61253F1A06FE1018E5D5447C -D692C6289EABBB35DAB603564F0ADC831760E40608EFAE87B4811D6C524BDF24 -1EB98A26491A7C64DCE206293B7E11C9D380770534F3F4E8D31601056C983D39 -915A7581647EFED73B5E6030C6814AD8CCEBCB9DB56C39A7127801FC22A6C427 -372C13FCFE5FFD96326E8E5F639EE95FED1BA04EF6BFA7DE21EBD474BD4AA87A -D97D7934AA486C1879542B57FDA1F202D75C31FAC106BA230B2058EBBBE12D98 -943451BE72A80582BD5B1B2FB61075BB1A1ADE11DD7EF0052186A6DCA7A8E08B -D43D38A39B972F81B11EE22ADA00046829F6C7B0110ACBBC47FBFDE195D96A93 -36C2D275C60DF4B6C6F3BF0284BBEA1EDAB9C3316D9A636CB1BFC23AA5A80A67 -92321F56194867F54AB82019BA64E27B964E04AD421297C2D8988810CBDFB237 -ADAA240AE7E27BE287DA9B884A22C7441553E588EF1C812130359EBA879FC74F -AE172A11550CDCBDBB9E30FF9B45122BC0C043F471BE9EB00E41F59D47407D7B -9936DF083B25232894EB674DB31C7E646B9009DAB4B708CFDD2362B18F715D2F -30D1EF79D7AE8FAD2AC430CF235866C89E7540AAA3D1AFD24795EE7D97D0F3C4 -DF3D45394771D050307FA3DD62142FEBF727E6FD143C556D935DFA8535A7AA1F -8770AFAC9B3DA19D06532CDC0AA8A6040617479C6955617388BEEDB6DB80370B -76C483F8BA14377019736E16FAE2BCCC5AF313AAECF926961F0E833376BBFBF1 -89CC0C6118FCEDE34B97D1BAAC665F6314FC5CE61941483234D93CDDB0EFB9E8 -C4330146F6320AA04D58F758224730C47B52CB76E9CC533DD35390BFACB945BB -65C86EEB0C365FC2F70AFD1B7DC6144AF0AAA1D19E769C71DEA1B4B76910C9A7 -34A6DF1156CAB321E394BB5B3B5186A63A91BA92A807E0F79D9977EE189F9A96 -714A54C9E6C3A8BB5F08DD509D2FD27C8018D794727509C5D25B2B41602310FC -09C45CB42C8C92041EAF1D8781712D7AC99AE5EDDE61696B7CEA6BB5D057858E -DE00BD447965F9B4103590A977D44DE07480ED4B86875C330EA0D2DAA8891031 -0FC7D0C77665DB7303AF14BDC24E4601D4403205D282CB18B06061829981339F -AD9BE89378FA29EF5ADA6EAA2BDDFEDA255C0A3551C83B2B08E87D15676FA94A -20BA9711D5DB08D426FB3E1A3DF10F3F143256B391230BFE5B5C9B3D2D4FD9E2 -BCDA391C3EE4AD779B2453404AE5C2786953F061BDCFC6E854BA5DD9E77E1948 -F1DF23B6F52A7906EBE3F4F225B74D2C48401A8DF68DD9BD04D82C1FB7BEB610 -680D8439D4606193B50926D7C2AC8C99AA949D18BE5A2E9B56D44C924622C222 -566563F4D816641385842D001D2A2972195FC55AB7DFBA118722389589489E3F -4770EBA66EF0E659C1C6417CC6E394C6F9B927E3F114E0C1A396DC50D15966D9 -F97B68A0859B74E40291376D0EB62D25BB38660709282C0AC3BFBFDA2F9B8880 -4B2E14B1E91B809DE7B53C05A787F446438A42264B0ABC9DDA781F4B381ADD20 -744D70A4945FC9DE01566AB429C08A87BEAF7327844DC1A8895587E364B43E40 -69DE49E8B171A19A5CC2116F5D5648079FBBE671E7119E76B57F34C1EDA5DC90 -5CFF7E9EB9D3E4993302BA3901A303B182A7A240FF3489B8B09AE820027D2586 -4D06AF576FEAE03FD39D934CD007F3E162AC1049D7168340D7FD4BDD903A0BA4 -00F32DE68815F6C19AB4430824E771A067CD065051FB9CF895C3A0599B61E751 -E0F107C4C1AE1649C8909ACED7427DF65235CF5579CCCEE83E3A9B1CEEDC520B -AF2D92A51D953F08F86911D207A1E0971D9DA7909F35EA5C7815F1672551833A -B9609C8D76B390E31E4F88AA2D1C5C977B772CC0DEE9DC65AC7F368594234345 -5C19877A237B938F410E5E8EC9D1FA4F986CB07A3F9AC64886B0D4C524819C59 -11FD51182E0E0613BC3FE47B5502DFE468485C2576FF4E7BA65121CE7D42B7B0 -7838BD5CFD50BB5F91BE699C69E0B9B0E5E510544498507C6B09DD71C1E02C40 -B80BEB8507B9BF9D591B20CA0378707E3AEF09E57C737AC66B8566D57AFEFF29 -983577E69CA97147B4BEA8CDEF5F9BA1F721916C63A38BCD4B6DD3D8C6BC280F -AB8609D17829E7C7E53799647D6456770F3B79B5B6A8D288ACF3E3DA26DB5A57 -69ECB172D60C00C5C83BE140A3D7C495E3F8840EC937566594CE10249B2869F7 -E92B1A3541BF6066D7415BAA809D9BCA8E21D0809A847CC8E080D849773428D0 -D5B5AD66EAD43EEE4FBC056E3B0EE27E4DD9C836C8AD1F43EB702A7B5621D391 -6C428FC59845DFCDF208166A3ECB4281212B98783E3BA60A15720B5A263FD303 -81D190A0499C457A46172EABD8B610B3832BDC7A8D51CE5D5E429848B21B8459 -4B1F0110CAFCE7A8B3602D9A8983ACEDE78577AFFE4690D69D9EB1C36E3E7C9B -887F9C385F4D8F0897DC0003CD6C5FD907DC9A303C5BAC859D96EFA3ECED26A5 -E3970BAA70CEA1F773A9367055BA25AFB35F779BCC747D56DA42075EB38EB7E0 -B5839306B05540E41E42219470F38132445CC19166BF5EC51185C19302505219 -4A4BD46B1F2E3882BA50E8EC1545B70054434A6109C2FD39986F049F8C2B1AA3 -3DE4774F66F3DB019188419123C14E4C097DDEEF9A938B897A4E8E48494BC0C0 -C7E8739D171116A57841E335C62D3E7C15437B3DE6735939136CBB706B4E148B -F797C870E0856299633CB03B65E655A5607320B5DE57A01E034BFF2BF7DA752E -F4B9256F003516AF3AACC27FD09EC54885C24CA6A524DDC2D413FCECFF521AE7 -26F2383C6FC807BFBC2F7C12D3DB2FCE84AB3D6964558EF78E699FE46B9EDAC5 -F1688D33A172C96DF748DAD7F59CEA54E876BCEC5DCCD471ED3521D6AE3C0FAD -46EB7F287FDE54F2ECCE77C540069547B6F6AE6D769DB4DF64D74CE47065D777 -C94566924F60BD207C8F013176A4A4EED9F095AEEFBA1177A9E8BDD12182E55F -419EBB5483DF2844D41906FFC636B132283D10513F31E3374A6C237C86C216AA -B94D57DE1F9CE86FF47F198F38425616810335505D9D754CCC40EAF52F5059B3 -B185C5603ADE59CFD87FBE5B60DBF808A835E3C669AF31A0BC93B89AB68373E1 -DAC31540A7E00E0B0EA4D5FCAE9637346B3C86173B5F49339C722D9017D3AF56 -BF80E5185A3A29A6EFAAE01158BFC7DFB5A1ED5417273B67ECE42ADC68511E9E -E2551265DB281A82888288FFB0A596A296543607DD298372AD18EA5C0E3535E6 -8F9B41E476AC37A837419DEEF1D7DC32D9439AF3E1A99EFC2D714905B9A21A7F -743B009D8E8D4FA6DCB24537CC48C91CA04E195A116B1819B9D778CF82739A11 -03F315F1823FAEF8035C959772168AE3D076B2ADA6393967F99D2BCABC035EE1 -2C3A818905FC4550ED17C4E23ECECBF263CA94BDAC1F08ED5A55907684AEA132 -831ECDCC65447C6780C63ABD0638D65E8F8451D29E75986F64748EA4389CAE37 -43EADBB813B2B10D7F473B73F854DF9E8ABCA0C228866B103778E93B2DB97D0F -4745ECFFAA2A4DAE1E6E450F0C1759CEA0C6AB130F5A7D83D98E11E33D9CCA97 -8A14FE3C27CA66D88CC2A0CD24EBDA27397A651136BE5249868B7C19037D9365 -B427A82A6645256BA75F8177830C93A74EEE2312AFD7176DAB8127C261A87484 -13630BE7DD0B5E6E64360B125208E338739FF644B22D9C450C131989D555DAA5 -77E1A731784D6C152D10C126F58221013995DD3447DE42D191C4707424C0DBC7 -1025EFE0C1A8A6C6668A5A29581C83267C5B4AA4C2F479A550D8943B48CCC2CA -D9A8B9ED9EB2A51CB98617B4805AE307281499BC1CE8886B3887FABDB3FDEACB -540DDE55DA4E96C5680DD39AD133E3B2D776426F18B928845F5CE730DBED4FB7 -19EED88D08CBA2F4C83D803E2932CEDC088B4CA22666386FA68DF24FCDFFF618 -BC73F11738853D9A74AB3E0836619A95A6A1C1C729FFD283E131F5CABD7D09C1 -4C7D3A9461BEE7401398E375BF3D17522FB2294901FAC0883F913F236EC15F1F -7469BDA601034F133C13B5DD5833A2C6AC843C23FFE1EAF5FFADFCEF28CDDCDE -DCDDF28129DDC97BF78CFFFEEB30D12BA698E99FF46EEE5B856A8C34958F32AB -6B2103238ED8C10B9F1C018336070D7FDA0126445E5EE67BD955E68F8C976C83 -E6530EDB363C773B0FD18750B673DE5F89DBB5D0FC1E14904F5DAFA496715CC0 -8516F4C28957AD8862B5D254A2BE2B8E12A9FC8999FD76B791984EFB47D45FD8 -7B1BE08895DC49F9D7A0852A069210FF89929E936386131913A9CDC1804B7C86 -F152B58466F6CD963C0F09276706748EBD1824939431F07FB1C74C7F3041458F -0935D26849FE9FBF6614048628CFC4B451B28AD4B7972CAA524654088EF9A91B -B239721520B829F3CCFC25710E56627EA22C38EBA475BD3F54E3973C79493350 -D5276A7455F0F029D03F24292AC6E8CCA1CF7E1AE9A7A61A9FAE9B368234E7D0 -B17F6E128F7E4A2C6F31F2B17D01681B72364D0BD9BC1693247F051B5F153798 -642408C2632667AFC0B25A5FD17EE325ABAB5A4225B01E8474D726DA3FE69029 -08CEBB920DEAD5807651CFA8C9B7D79DDC4E45B5B392DE482CE0682419FE9B98 -FD50C2A05C47AFC9CC1E8243BD31675AFEB0ABE5E0FF27CBEAB353976A90CBBA -62C64399F8FDDCF5015B95E92CCD8ED04DE51B9E922B06AE48EED5A4D9D5925C -C611B6D7814536914C28B03F6455C5438AEB7BADF718F63BAFE0242DD4467355 -03765B500DCA599DC776FDB53A7FFFAD40774F769E2F5D64CA6D7313A70E1FE8 -2E19573353CB59B9E646C5C1E5DEECB81216DC4CAF210F85F90FD2333B47C360 -D94D6B45DA01234024A37779121FE3ECAD42D00C335974454A53290CD2214733 -72DB9B951D37E3004B18F41BC01C88B4AA90BC4FC66444271C754039D92936DB -E6FCCE7CE68008AA02FA2A83DE7447ED +B8326F1813FEB669F4E88D7C1F3AC239ABDCD32171C7377F7EBD25E7B38A2A2D +CC6F434D57D1F1E4A22F381E957EC31E2211714A3A438A26AD3CB48F0463CD4D +3C0B6E5655214FF177BCEDE954490428D1ABF0CE50C21797E455D0C97803A32F +DDBA51C36537C0B104011AF144043D0FEE36BBF1959020769522A015B3A4F77C +D4AC56294BB989CFE5BE6EDA938B4850D347DB0724353AF84B14EC964B9BCD59 +1D8BD34EE86C37A97CAD9DE966B6612C23069B547004CD96B116E4F72E75AE37 +D506D9FADD61696418EAE950995A0A401135AEAD81CAFC6035C51C38E7ABE815 +CA5D91B363F99E41F567FCEF760C57EABB51EEEC484AB72ABC7E6D2370999714 +1E5B9B8292424474931AA278F716A9314EC34E7468432DEC2EF2F54639BBAABB +ED7216DAA183A57CE0906AE4FCFD17D58C24D5FCD2A2DFAA6BF09C0206CD22E9 +C690E58F9ED3E42F4171197F2A5436A906955B6859FC02527328EB346414A822 +A022439DD30559870FD88BA50555F481DCA6D4FDD3A0086577262F9D73970E63 +E51F78D2372D0EEB83478AD15F449FD9F2A740F61BAFF20CB34950ECBA703C18 +188F61C71220FE9D6EF6AE399AF0A0DBD5145F0FAEBC437AB87E300E3F30DC68 +5C9F034A31E1B2208A0B9EC2ED38FAE85644B1EEF3318B83B65DB758A8F534C4 +587F975B83727DDE95D037DCF497CFCB87A8B0CEF46466826F3AF1C20B6248FB +B41FAFE73DDAAC1F28D9DF2B4B96283DB5AFB0B4BF4BC77963CFBC4030DEB130 +9E95F6085A809C1C55CA7528CB18AE5659B97CE789191095ACEBE4DE36E77BAE +62868382DA764B7E37E26D998B0F1B11E702A222867ADB96A95D2D0B48013158 +CB5B61831BB5360220322B06B40E83B547BC3422AB94BD154B5989A564B0C242 +28C6BB5A72D2E81F0265B42FF6E9C80D2FFEA7262ABD942B5DFA28026C213ED8 +F7188BF6A9697EBE10738FDA63DB75B9D359678278B0A9347C56B1874FCA6BBF +336684C315493454C21A113A8536694D3788080E17745964EF9AB781BFE4E300 +DC9FFA8593ECC54626085F0CF4C29A58F0CB4CB3FBB253334A1CE99B1005D474 +321A9FCAF141FCF33C8A703714F4AE0D13CC2E3AFE4EE2899664CA159B7FB652 +157A0A1B9FB4DAED19CD969AA216961A83322BB5C721A0D3045BA51ABFC42A5B +562312C71A1194869785E52B95F4FB6E05551172CA5723A225D247F94B70ABC0 +E36EC104DF35EC9D3B828711D1C504E3985B66151A53436F7F2D34A1BA5390C2 +249DE9E1C1774FAF61D33F9C93ED13A7C39F4FE175A5855507D4E5BD34293E4C +0B2DF8716BE8B2471D22E1223F2886EFBCCEF6307A5B89F4DFF342EF03661732 +F50E63310BCB76DD35990B51C879333AEF0A866B620B28F1DEF079A303BC81C7 +980D145314ABD0E7D86843AFB41C2506071A845FE3AB31FE4A6799377A1CCC04 +418E44564114157401C86633E565D28CE20708934612092F35D711150E57062B +778F00F9F767B12EBDAE7C18565D7C58580DAF4712A191341FE9421E50900CCE +88C29297090319473CFAA9C1C6F0E35D7FC6CF9F10F44AEBBF800DAB64302F72 +5759BC755BF27BC7FB6F02082A0541C7033BDFC30D8D42B80EA15419957895A7 +65CD33EB1CA613B9A8FF77EF032B58AD8EF314238C7FE95F1B679AB74326E651 +C068F3CA9D2F203AD8D9BB78328D79DE98F511E74F1E414086FE9E226688791E +B7560E6875B5071D3933E1359AE9C9B5651AE3E3E146EC413DF143208ACBA46F +3286BE9BF866F762B9BAB698501FEF48FA9A446DE48509625E452E28A5C3D479 +637B8822F08996105488333826117B10FE03148E63E5449D443F312F1FA75F59 +205E581C337E4FC0873DEBC65DE03068173FD29DC102E2BAAF151AAF0133F98F +830B0E94CE4E88038920CB2BDC3A62BA1017FC5C2E9A018C4174DFF94A82ED65 +1B753E8346315320078D179199F7F3E1BD405D1D7016634157A905FCEB1DE060 +A2B191893D00B070533DC64C6867C36DA6098C236F72C0658A1236DF8CA8792F +3728EB1007F2E7BDFDB4181DD0BA60B400CA843F03DD7A13AA207ED3EF09829E +0BD28A2719C9B02946487C3F2AE4FD533D1997170D4A2DA1CFAD5842621A7D1D +E90764878E5FBF38480E31E46E93B04D43E4B7C999B074E2E81A1A033DF6C055 +DCAAFDF409CA61BEE8C73B0B1772022469D3092F0FB36C72B0F72E0DF211980F +5699E5C49C931A3DFAE2EE88F8B2AAD459765E717440A516CDAB76A9DF252DE2 +A2DEEB02D6E33484C674FC96957D485E66FD625E5039F0C3403B29AF9C64DD61 +645010C7C2B9A6CE8ACAFDEE5DD8AE20265FE8D7C8FED619AABB8B038B6F165B +4E104723948C65CBB0BF5263954A297A53C6ABF631830F9136104CB0AC30FA7A +DB482BAA1100EE9A61C1F8D6522862F80739DC8A32BC913A0BA6656A377A1A27 +F96993C0AA6381A1AC741F3964239CB8DBE83937DDD1F19B5724A444F3CE569F +DFF25DF2C3AAE4B7E05C8B8A57417F21DCD326E230A723C17ED0D368EB6884AA +279F775C902D075EC47C80549C4F92E2227B120F901A5024C51CD3221C21DC03 +D6B380DE7150CF00EEEBDC9E9DA24755B6EBB322DF923807A6864ACFA24A4690 +93E6A9DF113303DD59993CC57452D2DBD33C20B12AAF506EED17A40D986F6F64 +6F0241AA13009825827BBD20D860ADFA572C82B92DAC8C34CF8A730EFFEE9D4C +A20F8DA47FAA3D317A31B5AC22B1D70CA6228B13783524D6D691EA04BE00C5CB +18E3785BE3521DC4651270FBFB28DB2B11EB3A339B308A8FDB54DA6A83AE6545 +D672C8D3E706B46F71153991807E88F3292F01A7E1B6999A45492189E2251F5D +FFFA554257E2388CF8F286E80F22275B743CDC9E886E4D881EA445A5002730AF +BA5AE30A3AA5F08C28EB2A87FB1882DC649D9FF31B80680F8324C4F9F8ABEC87 +24411FC65DF5214F02CA47560F970DECEF3383EC36F4CFF7E2656EBDDCD824E4 +F55140BEF34F501820476B5A52A93A6DC2E6C5BCBC3FF23A9697C447E7C37199 +AFF2BD00D8E89A3B2D48E9B8637E35A89EAE4B168B4A4980030CD3A86F66D425 +B22AB1B57912CD32B5DB582D1331ABB2CD414285A7924535DB49BC23EA3CAB29 +2BA13CBED6030F7B5832351374DF51571CA2FECBE5A1350D3066B71E6D01D499 +133D0B554A6427756935877FB01ACA4FF74B937F39AF455CFB68B7E839BF4B7A +B2C81A989C299677EC5357B8DBA8D4D40599B4FB5FB5A6D088B26261DF6A476A +BACB78C7BDA294D6D41B74DAA6C03ABFA6C8D26CBAEAB428633CBB8532DC4659 +4BF4B97B4591920D029E36C5410AED024950D093049A988DF9C196879171BBF6 +FD711F98502C975AC26C7BBCDF239D69E71A8C642DDD96114DF03DD473BE5E76 +AFD77445F4C1F7A432B85C741982CB82E5096C61C4243269B6A3618EAB43BEDC +31C38F15F09D85EE1BAC19C2DBB5BC03C8FFB21065EEEA0737A2E0B92450DC58 +707B5576BCE4E89689C5AF2DCE7FB3DC4D2B592AE161159FEF9F211228089861 +31C18036B63B11EC60545D482A43AEB754509097C3082687D430DEAB90D117C7 +0BDC910CAD0D70B6878EC6A10DDD6E38EB4516D8403C382D4C41223CA7B43FA6 +08D278D1DEB314CB03C2CD37FEAFB7B551E76255B69E8D2211DF32B233983B9D +E81E5A484DCFA8E36ECC4442102C2E13CFDD7ACC518C144FA06B44893A6B5B00 +5E1525B5FFC203A8FC62F11694700E2A4A2A229C0B44BF5FFC7E7E566AF8B055 +C096B8FAC47D09D857AD239AD6A0E10E36011EE11EA7191FA593E59F95180923 +280E8BB7CD0CDE4707649C0A08B22014266A5532DA92A84A83449D3C31DB030B +F543F95780E69CD74E4EF523705495F48B903E85DA098DBC3FB850CD059F71ED +6AE0DC9D17180B7DEFAC1E1281EBD468A4A8F654CF2FB5E23572CC195FE14D83 +8777A436297D3FEDBCD7BC627D223FD586D3491FFE3592D3E802768510DD3A7F +A422E75835D83D10874E9F4B1D7DBBBA0AF639492366B56770A635A7C25202C4 +569B75C7293545C46E7B371D8FE7B22AF4B1ED670067BD59FBE74F7283E3E56E +D455003DD54BD626CD77F806627F2518E08745F7FB5605A7152EE0F08390AF33 +47821BE929E621CE3DB5CA7244462D83F674BCF47C87591202C389D427B37A1E +36E1ED9EA23E24A086812F239938BE4C19D4150BAF6A9F04BE819D5F404ABF91 +519CB7D81C81E2D624ABA46D40C531FFE4219D0D631A0D375757F95D96327216 +F8F795674532AA64D8B32020F8FBD5F092E6785A669B9D5923C08A8F900BAF1F +56E90553705F35D12188F1104FCB390FC29ABED2E0FC9B731C4ED40946C544CD +E26AFE5DEB68912A5B532C8756640AC31087E7D4D64139898D2E6F69596DE462 +91E664EC93C9A5C22774AC592F8BAFA074558604D54484D9FECE8CEFC67CA421 +49227640944C67371F12ECD524FF392A71826494059657CAF454FC870F5387C0 +3188725BC7F25DE5383B49669AA4339CB0021788922FE0C65C7374D3D2F2A1E8 +400D59551C6BF5F603DA2396FB199656D58304EC8AA7C9AAD8F056AFFDD2C453 +7245001DB1CF6550816E6BBF32CB30E01B15E299A35D55D079E10BF2AC459E14 +1D9DE4DE1643DED4C142B81AA48E28BB11BF478860101A4A4067BD5AF109B9CF +90CE0370184792EDFF55BC58A95EEB80AE685FDD80DF1727D141232ACB248697 +225658511123C3CB048CDBE11E1C6E7CE2A5AA350D29F9EBFAA3913C045A55DD +F64BEE7FED3CA1C5EC310E50E8522F3C1E4FAB3EBEB73B66A57C3CFBEE29FA99 +5EA2EC693D0D0E4B3BBB7456FA27793A65CD19A04437C582CBFC7001E2917501 +C62E2742A24CEDBDF9D305BB9C963D500A330464C346880632D6F5BE93DCEDD1 +AC943CC68D0836DCCD345F786825A522C2AB7C296CF72C8DB96C1A16F8B0C621 +48F546EBC38A5B3F125FF8DCCE82FBE331672E40781F44765D6BEB98BC5F56EF +365A217C72728A96ED69D0C80BE128941357C1E9149A0FD5A3023054F12C9CAB +A087BB08CB9FA6842B4C7721DE3A9C199AAD120DAF05E388D8B7A73800146B08 +9B0ED26E7335AAD093FBB191716E877F78A12E971D17AC3EC33B8A66B18F7959 +D7AC7757A06AB638AFF519DBDD13A35373B3F6702FEB07AEA752C31AA23E6E94 +ADC876DF120FA5F1C359E94B5C090C3E865FF59CA439573A5AA49F0EBA152FE7 +595EEBBDE95968EA675903DF8FDE3964FC26F46FA5DD206E486151BFE3AC88A4 +AD6D5EFB678E6D8A8BBCDE2648F812DA3BDD7FCE3112A091C66075A360FB8BA7 +D59207FAE2D599030BB4C21F5246E69A7D2EE02365FBE9D0CD1BC02839681F50 +9B2E222A117C99F26F271F3E416583FC8BD968419EC92CD7C4FCA2B00D31BE83 +F81A69D97764CE9E5628B82CE4C2F071344C363C2DCDAF071D83BEA3F76C72A8 +243DDAEF2DAD4E483A9313938B8148179EB0E8550B038DD746F868A6A5990BC6 +B87BE72A4D814A74CE993CF39120F18615A71EBE5433B3BB36B6F8237CCCDE40 +65E8D9300BA9E587B37E201570F08FA9E2721B843682C4475AD4F21960CDF6C3 +2A75BF94B7CF2ED1DA55C3102178E12C19E996B6295A375C8EE43AE06A92EC8A +1332AA683BC4C482A116961B151F17FD79D9A5DCE58DFAA03F8EDBAB45501F12 +C4211851344ADE9D1EFA5A2A207A7240F8C908A46F64291006523244E58D359E +827AE19723DBA28D81BE6BC801CEA57EA324F2221EFA51CD299207E7B387B6D7 +B66C036874A673EF5243AB21A02BE1A393B1FE4955E264CD967ABD1B487F79BF +2B387A2B47C16938BD3B77D8A43F6429F492A44426FC16E84D845C093B60D2FF +D0A79A46D01C22CA62BB7E09C24F1AF8D56AA6A11AF916905817C052339CCC40 +48286A871FB787C7DDC1D9AF7AE66B8E7667B289A4CCA798352391ADB9708201 +E251F9DF6CB4733295E53CE5EC5EEC41CBC550C7BCBA80A2BCCA1077910EB375 +5442F341653133493DA8FEAC695135355AFD2E64E60D175AF7C9DCD309F09C13 +8B3304D30CD5D7C4104459C20D81E2E69EAE8A2EA9E4E37420F3197DBE6DB0AD +398D5426847CCD123B598D1CD01F84C148040D41EAA7D6589206D9B84CB533A0 +155587C14FA4DF9B24594B485C4968EFBBD55AC7D971734E41FF2BE9FB4AA5EE +3536B421A4F0CFC06359ACFF92A57F9992B9E871F35D2A2EC854BCDD077CB0B3 +501FF0EB2432811E630AEAE51944FBC370B568F4D2585C0E773056D1CD0F516F +AC1A02C8EA3CD2A8ACC50125B02A8D72B5950411CA46C0ABA6F71015533203A1 +94944681B76CBCCDECB62FD214FA405E24D413F4EB7D86BD914F505F133CB409 +1B93A35F2FFF59EE10C16BD76703594D7AA97AA8C6894A4C13F53EEC597BD968 +DBF9EFD7F25BB20273E21F145350BA1E5948F0279D5D13F315B6D9A4C90BF3E3 +944E3ED4F94635A75A18267546579D67D382E3A86BB2CC8EB2708D2A185A52AB +1C2A776131DB4B1C0A158204555D81EAD0A7753663D565D0F8FAB8AF65CD0571 +7273A1B5D5C48FF093D25215C7801FE36EAC417A66AE1B6DE4C9E58306FC0308 +F39A29896D86E1F539AC06DBB4DDB3A38877793B1BA87B8FDD7D56735181D18D +4C7F72091D269F3C064A571923BF0965CD83999FC15C826DC0FAB85526BB8BC6 +56C737A6BD970EA5483A0457D9445AC8532DF2BDAFE1B3A560E1B3B8ACEBA811 +C7D09E26E1CC7BABE9A1DFB6FF4CC2F06422D39C340C75C4B48DA31A3E904381 +07259E70A86F80C53F4114AB7CFC26984A1E42024FF29185554D99B7C80227D9 +CF1670E12D4C428E2A590ABDF6A30D209111C8E84469303B7E887E20BC153306 +B4920E9135E38D1ADF227CC7C6AE369BD2BE75B8B5EFC43CFACE91E77BF29F95 +0006BFE766A925A71EACE1432BB7A32D48963A6D47341906E6D1599B4DE5183D +4DD62BAD06DB145E17E316C16873A310AE2F37C2B6AEBFAB8F740E293B868080 +1F7B1B61B88257465F18D762A96A1706587ED0D32201010D7C2C9A1E10317804 +17CAE6BAB1B82E4B158C25D46BBCD3D71D79C00DA53271A5AD1FD8B9383B8765 +50769DAC5F9A39EB90523E6D16B5FFDC97EAF49F47DD21DC62F981BB7C9CF11D +47A74332980E6A8E61BAF0DFC4D359373FEFEF52A7F633A06DCC7671E843477E +5EA865D2B9870967E1CF67722651C9D74FB64C45BA2A8EA73656D76B38A5B189 +491E84A948BA65144419F40B3352A2835B170F42C58A0F333FCB1D271C0A4BC7 +8FBC64C387C7A26339EEF291135C8B2F1F670C8B14B920EE77D00F37AB0CB285 +87D47C102062933A40BB8E11D4ADE52CCB9AFF7F64C21B0CA8241D88AA4330BF +B880775CDF71FB4923F0E43DFC64B240B1195F2937D4BE746208A219E0549184 +ECD33BC0A20D8BDDBDB6126D85FAAE8ABD5452FAD1617A42446BEFCF339CC49A +EBFC20FF4E40555F07A9C81CD3E890158FD6A58BAB6ABCF08D1EF2BADEAFEABB +5FD05B061C8C2347BC1A5AD9F6A653CA34B925CE12E5F5BF1696EC1C44D3AB2D +C8E18134A7D937ABFF3BEF5E3211F4DB70DCED73DA1FA2A89EDEB8CE17967424 +5F2C26106E3546B9D9ACC389749C48BBA619393CE649E19493B918B81B6B6E57 +D65A97C464E038C46F7AF946877052D9206D8CAF1A4480EEFC6D95B805670A39 +BEA382487050F25DC205B3572C64CB87288EEF7E7B458024D55F96B24E7A74A7 +87DC524E5A7E3B7F147E2E79A0EDF219E6E3B7BE8345946D742774F983F2EC9A +73F5B1D0E4D4BCF5EEE3DDFDCDC08419E594843FE5D5FD41C72306C6AA43E4EA +93FA44F2AD5E0321533CA468E6A4E086D9A6CCA3BAF1A7C5A96C2E65FD966650 +448BAD418CBE74F12F6F670858FE6E362D1AD40CA5DDAA7DEA5ED5AF2F6FE23A +6A43A1198F2C026E8C65C7F1614165401C484AF0BB292EC25A651D1B359C019F +43E21B2F07239CEE4B864C2B818EF7B7E49C3CFC195AA104C75E72FC46CFF69B +ABC86A00A2FAEF49924FDE58F117484670B655D60404D999E2AFEDAC3B59F52B +5B1DA087243458A85A8711CCAAC382EE27E727CBD90BBCD51414B2698DDEC5D9 +36E21D3B50D897F78760E7EBB39B957DC044A1557C7D5912E57B23E82ED54860 +6E2DB6181FD8C19A3403C2E57C9F71B904DFD85949010310458D50B23BC39B13 +D0DA4EBDA698D75C9743B36128F8ABAF389B19C0F5CC71CDA37E722209250D36 +742A8DEE4F994D1D71405C5855B2CF8B18AA5F2FFF9D4B9737BDE81B62EFA298 +2B6FC900B708F08D909AAB33857FD9C06D7312F7EFC3DDA166A9B0B110FA42C5 +3DB57F5C4E39A534D1088FB0826B81EE5B672033A5210E5CB9F478750DF96626 +34A9362965A7F51F7C00B5664A95AA517FBEA5EF2F9088ADC2447DA282423BB6 +7540FE63C61B564F60F98CBC3464E77AE8845FD13C349E8836A01BFC83924E49 +757C3CAE8240573B3E194E5CAD718A8D43B28CB6770AA4C89D5D7DF98B1FE6CA +3B03DF561DD85A0DB4F165AABDE7636EB7B3177055609FF69D0391F7F31AD816 +0EE599DFBC9B9196F433155EB21077A222146C7B1FC54761AB32DCF4DE556C2A +FC4CA42E22FE5ED9A7C225EB82A070764928655CE7048E6BD62EEAC38143EAD4 +07F325CE53345968BCB486988B3ADF521A440272E6A0BE7AD000D9134F758DDB +470351DC64D38E8A405E4BDD3AE550F1FE889B708F368D85E2DC65D59BAC1E5F +854EAC12D773978D2E46316671D8BD27EA45F422B74113C48353DD2600EA686B +CF20AC731D9A7E7FB7649F1A0878685F5FCE8A9E3E4705B2D27ADDFED696FC1A +EE7BBAFC660A41812E422C4712EFB79F3A29E21196FB53987C706A15EAB3C986 +0353D345BAF4645B12B441F35BA9AB46BE7C0ACB3E84E0A066EF1B44E76F7264 +E548F7022424819EF56C7A917AD5DD80268898632FED22B6057CBA76A0275E72 +69A3B27ECF7DEE9C1D43F2E15BB7A18D24F1FF9C02F1BB5A737891BD4252E142 +40DF98670F0897B9BF3C60E02BD243125C28E177C19A18639F581AB7C5713D0D +618BA5EACEF18947E5849BBD2CF752696436D222A4244B1C713FC4AC9D0FEFCB +2C52B26FA451A61FA9D770212E5371EC2E52A39B8EEFE2967F15504A19ADCF3C +BB25EDBE61CECD1D4E0A9DB5EAF6EF54071A624161F0113E0FE525D83180AFAF +8CF5D27D08B51E2AD43B22539734540E8460D1905A6236E07EB2E383DF6E6F84 +6FDFE96B5EEC8759B0DE0F3EE2B4F984BA6D40CEB8654AAF7094F71C51134E38 +9EFAC887361E885A3753650686E6C6797227211ED0D927DC8ED6E9006D4C5B0B +6EDBF506067E9D237A42C7FA41640A0E2CDD0A71A887BB2745B103FD3941F9C0 +1B1092FBD68B12FD6BF6AD32814CDC85A0AAA9DD55D7243314AD90918F9EEC5D +C0823FC5FEE0D593627BEFF2DB78157570692E6A849FA0DBAA77AAD8EAE7DEBF +336AD33663ACD6FAA6355BC80BCF9F8643A647376C973F8497C6EAE0D4D5CBBB +A8A61CD10FD528775BE2B136C526070BDCA15269375F89731E32A331F33EF1FB +CD242AB1B191E33B532294EB1283CAFA53F8CD8730982BB4265C89FC674D1A78 +E675AD20F8AA1C1DFFB24F78AEAB8BA223F0E31DDE797032AC643E330AC79895 +3EAD5E107EB71092AF2774E0C3F23824E2DA94F4529B473AB6C0081FCBCBD9B8 +45BD11869A86E267822589F4A45EB799BB613DDB85202DD5E305E3D172CD605F +30D089E3AE70A158089469899C13BFB769958C8D37BEF2F9ABD085A40ECB5C43 +9B2CFFB9AA0036A962072C282FC27D8FA9BE1F0B0AB113E80F96A455949DCE7D +CFDEE414406F7798BE6BA284FB860A694E2F81821EB4A95F456ECB407D4504A5 +B0D47152E95372EC6E81B2B91160BDF996614873BFBEB361FB8FDDB22090FC29 +D5A9EAD120DDA69EA88CD80300AE2DDE878DAE1694F46F590BAAF718FEFB083F +A96FB65C11FF4CDD7BD821CACA9A360C2084F96D15C33827CFEA6C6C36791B6E +2CF2CD24269128FD7FFBB32AF1E345D5DCC768CA3101404BE06A9DE762A051B9 +C7D1D87BED457E65C244C8E257451C3BC65418E77256516A9AC64FB58882C525 +E1BC1A58CA5E99702F36C368C910156CAAE4118C12CF1DB5B7259011976E93B8 +88CE0FE1F0B203B3E40E4BCA7491EC69860A25E8A705D3DDAF0B9ED24B30A0CE +7E9BEA705D6D7C02D78341322405F0A6D6E1EAC98C4A7108F9C3A8D10B76B1AE +5F485BB6E359FCE6EE10F346AF7008B5532B05EFC7E4F0FF5580E9BA357F5ECD +5D86E6240E0A0EE3432DA7CFE2D15B957CA669C2273F61F8F92709FDEAD7EC67 +420939BAB8EC9B7BF52D8F19CA81FA95D58AB5F19727157018C2AB45CF258FA5 +BADC36BF706D5B191E11E30C1F4F5178A0C5681DE932C2B37B1402FAE1125F58 +0BEF22CCB84A9DD65EBA52FAC12A115CF3B0CDE54CD88833769ED08DFD9F80FB +1D97D4BEC3692B287BF34BC20E8FA407C675C2E150BE17FF1A0C4008EF3FC950 +BE7A656297838C5737255A18C39CDE6A53518BCDDE82B6A8A43A4685C9350B80 +7F167931298612330A36EF38625F86F8D563A111F8BB3B02D5CC032386C5AA5F +B2E6AA5E791BD1FE540FF315E6D07947A9CCDC04EDBF967E01BA02CA8E8AD66D +C693752CB0F1A4BE087D63FBE452048F2513243ED607BB4541767AE959EAA325 +D0DD64A5A55C3CCE1BFE2467DC08E90A1D9DF87B44E0F0268D0B1368997D671A +5AAB40F7DCC697124C62623466FB10909990A6724A601E76FAC0668C06953C02 +C8289FDBCFCB07A532DF65F562D4FF7FCE9F5166E77A0D82C7F5EA434507BCE5 +0204881294D45DB905DC353EA802F6251831BCB3A874E2E1797061395233055F +AC844805DAA79DD8402BF902CFE23E6589F50295AFDBFEBD6D37CD0B82C45693 +BD22B4C566B99BC8CA4C46B7089E46BA087FB380BBEF1888938A3A554BB9CA2B +45E206614D29DDE153C3A5CA8EE3DBBF1D77D2F9905AF06BFF7660CD63D92C96 +D311734AD82D249B249D30EE70D76824EF0A7C7646DCE9A3C337DA87B582A74D +1B30AE0C5E822C352FF3C5DB0BD0F367275EFFDDB50011A5C39327ADC6A951DC +A4C80510E7D96ACA191344AFE2D1A5EAAAD8007EEB8A51F581CD7EF460C87807 +0D274570F8B651EDAA317E1E50B2E194B6F762E28CC7D4B1477EB9D31B46F78F +0C73762DE4A83B9F31CE2AAD9195712562BC40628402843328B1E1AE8D6F4298 +AF7C9C0DEDA42B5481BBF1AAC4E6B3ECE92E6AB4CF48139214187BC609F3B6E3 +D4F1F909E24AA654954B103BB89BD36D9F76C48CE7A0B17C6BE9D8E24184833E +391A96DBB44B1C9583B8EDF7287A52BB43187F651E4848649EDAAB1DEC3C25FB +79FEAD19E901284D1E84311DCBF128063973A32FF6FF386B46AFF18BF1E7C64C +18B069DCB3E5B96EDFA17AD846496F69C1F00DD9B81F4D46B004DB63FCE9E27A +CE9FCED4E121B8FA784FAC3A49032621CD2BEDFA831B42F73814A97D22B11E1A +38D3FB4540010715890707828B3CE11B17D1ABD42417238A5AC472D9C8D8DEE4 +AB6736D60759A1003A38AEAED363C71FBD05B51DFFF7D8782B0F1382E9C6660B +5E35E1BCAC6C69A64CC0B62561DB8C47FD8A9269969B9E6CA02A1D18C0456D65 +C24DB4D14377784EA7490A2C054F80C7569FF90AD1E264B1E1EB3A9A8E0F24E8 +E31C4D63ED7BCE3E6444F485278E4451DC1CA432CB51083F22183FD92466BBF7 +FA4B6535AB0DF6DE9E4894A9B4F135D6C34A16D4D03FDAED260AF506117A66E7 +FA012B2A97EFB0F819B2F579B99C9867D97AB6E6997C908C7D4CA2B8F305533C +A4358230F2F1D1CD48ADF1C0A82F79DE6419A1ED438759CF1C103A830A1C1D77 +F188FCE9B55C8E17109B9CA82F2DB0ED325FBD1B06A84F72EEAAB6D8D70189EB +CB5E4CBC49FC1CDAD7CC380D54F7A98D62FB841FF387356FE397293CF0BAF503 +33B992EB79DBC524868D2989CB59CAE125162C1396D8807F02D84CEE97A3DA5A +18D432F6FDFB91CA7124C135565BB5CE067CA968DD62F8F19733D7B246522D01 +AD892793950ABA979506F15AAD043B4BA66D6A434A74AE41CC84F181808620EF +165C9C02AB17C9944EB9BEB185215FA79E1B3AFA7E1D5DFE062E35A0939D041D +6FCA58CDBAFA993EA430DDD3929CC16A75C7D667DC6AA302C24060CF8F9890E1 +56B99508CA4FF83053C9EF6AC3FCA0322DA0E01C9C15560363DBE82CFC54F35B +5C436943AE6F16C8E99AF94FF64EA384AFAAC1ED0C2A966924BA4CBDB5BF6ACA +45541DF9F9755E0D5CB9B48530A49427D82201BE60E1CD3BDB389F48447D3BEC +FDE1D3A32DC028A457215CA2A3EFC1F2E4853291825DAA8FA9DF148FF67C3299 +3C03AABE7A43133D07726A6E98FB8D4A1726AE3A142B5032A7A3597197B47604 +3A3EBD6CF2F410F7FB49FB6CD0D6772D9152D0328DED242054F11B0F2EDA6831 +E36F5B24A45CBB204E884BCA15928615B2397AA1E564E30F15A495C0CFAE9079 +186C2B481F7DE57E3CC324525AF90C7382A6C7445B4BF2BA89F65C4B14889E19 +FA79BF4CECB93C5940A8F1C98DE3CD9E73BDE466A6D8A804B732B526AD4BD51C +3BCE1F2A49D7F96D4017F9C79BF0E7528E6EFB666E14567E5C60D35D0ACDDD32 +CDFE5D1CF0238A9744E66FB66D5680C24694A88406BF44422DF27E4B2E5C25EA +C4FB115E0FF66D6A646131FCBB4F2E621C5AD9EBDC5BB04CE4E029C957152D8A +2D7941E84DF4693A8F588047D70EE69215B0B0434BDB60C3BCA352C507394522 +4B8DA22531827260666D1A719973713153F5F071C0F2EE18AD6A65466F414C78 +78CA9535DCC0E1E56D01F59AAF961D2275EA14DAA97B873994D98C1133092BAB +589012509E648CC303C60C82F7346F897AA20151397BC47A4FCA4EB5224418E8 +F877A5CE3267AD3C3E28865600649459D8898224614157326BB6C731B0812895 +6D09851A2CD0AC24E3564EBDF859F795BE32DB1DB06FA2601CCCFB442885252D +565FF2F2CD53399BCCEDDB5552EFDC6CE6EFCFAE5077D7E2EC26FA50E8EF83FA +07331406CB529C10C2E8834C6DF8A03BFC4460CEB7B0A47CC3A2E5D3F7D4595E +D19E181443CE00C992B97224B5F044EDD6DF15CDD48CA29F6976E41A67FA94CF +312D7B5F3FD4F1AE0AB22444DAF14A6563A557E0AD3BD32EF135C8D1281CB608 +15EB09CAE15F4FC36E3A4FF5CB55DD29CDBA97EC9F0A480BA4D809F389F2D8EA +CBAF9FC3CBC1BC601122823A2E095D5F46AB81E10F7D6E9E6A41FF12A7467079 +E0CC02AF9D4F50F6CC53C16F183EBE4FA08C6C8D14FD51E1D4FE329525647F21 +201FA180DF3792CD3CD5AEE51340B026239B9AB2643C921631C1111712621C78 +C016FC996D1F7EB658A496CBA87EEA09C23020D9FA3D467BF71D6AA1C1D235CB +BD4F5F76D7631C4A104C91233764DD7805CCEA7D07C7564F2DCDFB03BBE9431B +BAC79C9FB93002787873B8A6936375F317CB3A2E4BA3E989FDBB2A0321790997 +0241621DD47916EA28415178B127DC9058093250D6E3730F8C57BA3C04EA5170 +7A327543C9BF4A8161334F2C4C1DA720DFC24AF5EB127E38067A12022AE64034 +32DACF7CE8E25B2B6DFD0896F509A89668198D67FCD7472E903FA33501B9A32F +58491A9F669B98A25ECAD38523956C7EFA01E79AE208F5444B12314D37CE7EA8 +EE90E036A59636D687AB9F56578D9E5A184447A638284289AAC1315B80DC3B19 +1C8D1FF53A5FCA26655D2E4BA6D8779F1E88EC3BF28DDD22140BB975FDA72B78 +02E69808E8607D93584F4CAB6DBDC1789534FDFD6B8719087D6C77992FB5B640 +5BDE8C8BFAFE1F9B691B2137BE874B1A98DBB76576D40AAD985F8D745340BB89 +F95D3EB90ACD2AA4FA63E47DE606E16A78762DB1533F04F0AD55423C2DD5EBFC +E37EB91C7413E95520E9AF74A85B6BA31372CAC89A91DAF34AF9EC87C1E5C19F +7EAC8C50F30CC681B4ED75C08197F7AD6C4A6C95C7304FA56732491A4C667631 +8E4B6FCEBB9C8C186536B7B382B10210D157ED4F3FC5A4F040EB9EDC43C0D70E +829AD7297BF6514FEC0ED86504C192AAC7EC3B57B190AB635B95B36C168A4D1F +1C7F2CC2E90664D4F0F69DFEFEA54D903D12CE3121A9767C14170FFD867D3D48 +42C6826642AE5B6A5180E3DE0D42170256735CAD47B26DF5068C74310D99F9BC +04EA14BCFD1F1BF51DDF86B4566D89AA583709340C7BBC3665EA29AB1D061938 +D449A03AA7EC41B595BB0885ABC137B0EBD834EC4691AD71FE0DF9D30996FDFB +C359A5E109C5EFD0152D4AEF651389BDBDE763EE2C1AA3C7897135F8FA97F171 +E3FD9E1D95AEA8F2D31A4F2F18F45250B452AC3768B1C7D728ED1F4D27BD0467 +CC6991ECD1C2525EA4BA1D9ED5EE70C7C9BF579A6F04F12E34AC933276D92FAB +F97D45AA75F1CD0C20701F5A9480FF5CC6DF6C8553348EA0A241B44738646394 +DA236F88F53D1A183382B420F6A0D3F7871A39E578BE8F883BD0C6B03BD7EA77 +24E3791D1D6BC2753F1F84EDF2B242A7DE30B354F1CFCFC3A429C427250D2057 +1E879577A62DE28728F96F1BEC12E1BA409D66435D587711CBBB87168E5FD45D +4C405B2D61E223EDBBEC483010D21D8E6733E6314794ABBF19917A8506B37183 +0CD6931742F24D1589F27EE6CCE04360E0B1C43E440349A731CECEBB62AB59DE +94E738713F87322E6F4B5F4D403426FEA0E45E23F32746F37B7E0E31A69F6EC0 +DAE7AE4C3EE7DE93AB54DC3325AD405F389814F7622BBBA247A3CB858EC62AE9 +D2489E2252E0D1C0E7AE7C14E5B72E18DA81B4F14FA56AD21BD645FBF3334591 +9956F9D4DB6018FCA070FEEB31E6CA0638DEE5442EEF99F9F0CC4675EE3CD551 +8004B682A1649B050CC874DF5FF1BC5DB4D33A5C6CFB4E529D33A45983047778 +96E38BF80BC18CEEB6CDEFE2BA8F65E51EC9BC43E15E17CD9C64F45820962B40 +0A91ACE263E8B78F440637FA55F506163C8553FABF89662703C094F2EC622F27 +F1D83ACBD9CB18FD179B172DDAF278625BA1CF5C2065D25733D9942A851751FA +B2A9971A050370B56215C98925E74AC36B2AE4B013CBED8F23C0458EE99C9D11 +B86272D90D984E6C05CE153BEB0C5C2E7A66D8524778C31D82EE325B514F237B +7988F1A94394F498288B4401D4B639E4E819469A35FD4764BF0D0354EDE9E046 +DF7932C34420471647FC91AF39588AE076987CF39145C28CDF3C82987E7DE26F +EB20F52A9E2050CA53B8EF1F78B846C70FC4FB7FCAC52D5BED0287B01EF7394D +08E96544A175405D0C2BE4F443006D1D9348346CB2AC9FF48646709A2BF61BAE +0059DCC94DB11EF0BB3653A44D8CB7B3275C01B8B6E09B0B389CD7EC5148F2A8 +7AFB64F0E4DFF01DAF8B29E628CC2137924CF68BB433E064FAB734314784CA6C +AB3771A5BD98FA71DFA8806935C14C9016F3D8674182E3DE603B02D20348F876 +A413255AF23080DED1D288549C4685643A3FEF2E16D05A93CBB7F5C69DED541A +B3927E22DD1632537CEA77ADD04633D7BDED8C988EC6770CD83F48B74BB32149 +9BE1F4C5364617BB1635336EC1D442DB160A51ABBF8AA3DFB9C93E20D9BC0951 +98AAA43E29527FD9BC3DA340B7585EA73D5180969EA00BA4B393D6D88D33F7BA +E4B2736AF1FEC5F24B64D6C64428CCFDF53F1CBF3DBC36035708C593258CAA8C +14611422F204148981A15D01FEEDB3D98551DA34357751C5F47591656C118F5F +BA3452E7CB4F08F7CF7F1569B37EB2B64E8CAE7BF42E06DA94B3B261C01D8523 +141E1BBE5B1491C0E6968C4337515DD0C0CC523D6E1852695E6EA5ACAF98BBEF +120E44166FBE2F0EA02EFCC6AB694BBF56A522FFCA2F3C2D43E5533A6890F217 +99498AA38260AD3A4FDDC0521964534A74F99075934086F01E761CC37DB5DEEB +DDAEB22354D17F4DB58F502BD23D04C2B23410C359E1C0B5B6AE4C45D929D734 +33F500E907D9FD913E0D174C5B01FCA305E006638376E8E2791C39D0878EEE91 +A72942E0F4637169DBE7A7089A7F9C0499CF1AAC87BC8F676980E0B99AC4ED8B +33F0F531F25392C6B35B5C91C649BBAFFC7E3312B2DE35ABC74C6E52BC042B6C +A013F7E6B73FBC32E12B2A24CE86FE30D727E7A8F4D70CC52971398E9276315D +58D5F787068F3AE820A5FBC0EB7ECCA3C5A5C316CFC77DDD23BDDEEBA20239E3 +F3872B6934C4AB3FB522856754143708E6D8BA83493723494329E7B864891A6C +5866AFE1AFB3E7B1C589795D073A5FCD201222A848C2044E5DBA03A154B6D992 +AA0614CA56BC35D679BE120AF3EA4F5D65C9DE663917897D4001305735D8894B +C4F92096450CF3B47FB0B0E4E6B703F70936CA5F86CFFD0DDAC00AED05369D2C +5F0FEDD9438242D96F5CB8B55BCC9BCDEABDA9BD33194200C4C4B6BDDB84732F +DC9B6D4340B9D1CAAC41097CB74F0DB903F563BD0F83EAF9DD3F72EB33800B9F +E03839C6C8F58A554F2A6AE4C5D87DEC7554A923E31D992E582F8FA3D87AB199 +E1C9485F60C453126A28F9D713B0703B2E5FBDC6FF9E43DE0042152F81EA13B5 +9F87C01DB8AA4DC7A79A1A0C10F953E284D51990849E20C5F5830C940FC96BE4 +9E8B8A4B478CE51B1BAE7E4F37126894DC9BAFC200EF9E366A4D054B80500867 +31E8911B0B75E16E690638471822B07ED3C230845ECDA423D7AF521BB5A8D230 +29E019DCA98DD25A0E3587EB037FEC117966A28717BD96EE6BBFEEABB437453C +9563CACAF9F3F0BC5FF1805A596B1BD178ECC82AA33B31A0DC874F31159A64B7 +58B8714958F49B334C285808E051FCB293239C364DD48EF3555D0E442D60517E +168F8D4480DD284A1B8916130F7A3CC9BBAAB9F95E43C59F8A21FD739523BF98 +D5D851737E3CAF0E5439FF63BC9051BEAEEEDFEFCF491F586B1AB7D8CFF61BC6 +0901EA7E4C9E770A4BFBF6CE909E8A6DCCB3819438D70088BB3F1C87B776A4C6 +A90D03F224851A1480B468E249DDAB7DE3212684B258EE29194A26873ED61318 +492C8C9091F3DDF4094428FEED2B39E9667E8344CEE8E93A7C89137EC66841F4 +51FA538E5733606B1998A7EE5CFD4267A1CB0C01500503EC8759A825B395172D +DEB3CCDA35F921175EC34A414718813BF9875D1DB7CC6513026B0A9D4D851183 +DDF5E88913EEC31201F22F67773D1DE48DA44DF515A9AA924853E73ADCA771D2 +5F2AAC342DB76EC44D23973FD8CAEB7E1E5303F42872AC1904F4EA6790CABE65 +151EF130A25983B375E9BF4A5E5514B56CF5563AAF41BCC9F5A8DBDC9E3EC344 +C387D43912FC70969FC7C0B6BE5DC1E0BFD0CC1264DD729931396E99D9BEE3D3 +2339B4803BB8185697820D646F8CC15451EB9D8D26124B5CAD7389A8F3F5DC87 +2DE9B3F5A6E4BE87AE282E8B8FAA9EB0F559A369683436E6369AEB562DB3231C +ECD34DCFE68E8B660A3ED80C0CD85E4B29E56C93320B4434F59F9D36D6F9AEF7 +1001305EE280CFD4C7F84B0CB42C8F1A2838F78C08A041B3827D277831A8C49A +54 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1664,10 +1531,20 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 105 /i put +dup 110 /n put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put readonly def /FontBBox{-1 -234 524 695}readonly def -/UniqueID 5000833 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 @@ -1786,10 +1663,67 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 11 /ff put +dup 12 /fi put +dup 37 /percent put +dup 39 /quoteright put +dup 45 /hyphen put +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 87 /W put +dup 89 /Y put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put readonly def /FontBBox{-53 -251 1139 750}readonly def -/UniqueID 5000769 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 @@ -1818,306 +1752,293 @@ E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23 0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6 472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26 -30F2AD56EA22D77BA06F2F0A466830FEF19E343311E3EBB8A5CC4A176B791D9E -F82BD32F64C39C814379E8BCAC05C1FC19B2D49B4016C4E4625FBDF0F842CC15 -7A3B3FACF36C12CF87558FD4207335BA87796761C06535B3659123487E2B573E -8130BBB39A337725D90C83C4F96EA64AC8CA7588BA6958C08919B5B14EE68AC2 -4192D6EEB13E174589C35CBE00A961DBBDCF4597DF2F4821DB73BC21517F293B -8290D6FCE00579F118219F9E831B9BBDDF930053685B80BA9D9CC81E44A9F73E -8B4F751EDF6480A9BB5C0ED669DA82BCBE1DDBA44F26EA4482FDBC0A4ACCD749 -88E48FB46C1186FA557711B0264667A2D278B5C98E0F95951A95F541AD3979D2 -D4A6839DE475D9EB07E9C6B572B6C8655D8E0F15B2F130C72573F8522DF30857 -DD8FE25841B87C42BC7ACCBF96BC56C4A93F0F0E2AB990B9A16DC59544A359C0 -1053EB807CEDD81FAE05ECEB21A6CD0D68EC99FC69EA97B121FA189CB72AB522 -2BC463D5274A5260E208A66E6D5AE14ECCA328E3F888A6883368107249E8BFE9 -511D504A50488CAE2988BD34C694CA490EA0A0B71B565995BA19AFDC9C332C9C -4C0437B5AEFE5043AFA8796B64BB80572E9A658F47A46ADBA0A53C3F5263E80F -C0FD55067247A8BBD7A24D7FE0681F82678186957467B3AE7DD69A1B7071BA30 -A019C8A623D870511231C9BD91DF0444C126A3CFB3772E0973BF41FEF1DD96D4 -837AC41F35F1435F7DF971FF2571AFE0D8FFDE1DF2F1B25C7B366F94665DAB2C -719BDF3EECB6CEFE02F8CE16B2AB553A755FA500E15216313B0BF06385C25528 -7CFB7D9EC4A83016FB8075941261F7A0FBA01E6AAA5DEF1EDCA0037756E4FF0D -909A6321D1F0EA32A70AEA089647DF89121A373148F9982A926AFA4880AFD2B5 -C5E946BCF0CBC661DF6DE06A60E0680CBC9A6A856F119E57C9DE7B708B57C111 -4348040C914BCC3C88A986FBE2C7C77B7F2C1B039CD2518CC7218F0E68B52565 -47ED4BB997539E35A01E310306095E89A34E36629F57C6021AAD085BF5FD2BD2 -7CB4B9433139FCA7FEF5CE54BCE312B1ABCCADD14B8849B8FBC5EF6408A2743B -CCD12BDCAA46859992DF6570EAE001A7C547EB8B56E7ECD9129DC0FDA0FE8D1C -F25DF1565627FE33B9E8267F22B716A7441177964983F013093444BC07250E53 -6FDF5AE45FA0F43A48A5EB0A5AB25EAEC58D49B9049A26C94A024FBA51BD54BB -E5107C9BF98543D2E659FCAC3F3C77BE77FE7BF9A9E4920A890F05B68B136257 -31C2A63231DA1A2F37EAFB8E429EABBCDF443D9740054D17E6C4C2A1DEB40E22 -612BC6773C291F60394CE50709FBAAA2BB433008D096B820157E5A90BE248C32 -DA05C2D63F8F7B8F855B2FC5A6780D10238E43246ACEF6494EB2D782351C322B -422547CCF149F6438711B03001EEC2E2AFF843731E7C8B9A11248529485F861B -5B438F4CAEC933B798141DDF608BF7BACA7D47D81D9A686F31AE208851867ED1 -E46981D3F4DBDEF5ACB0AA591DE4731F85F3B35BDEC868F54264E28B4C703CE4 -68F96D02CD9C66BA640F60CA9EDB4B3E853F9EB5ED8A9CFCFC95D904E9FF1E03 -20168B675206C15D6D99633BC15420271E1D0A16CA0DF900A2439C5275656893 -713B773D96EFD7B2A723E09A1D4CFD3151B93FD04919B0A9A5E56E1A7DB05819 -C972B98D565961710D9F0CF85A2753EEF25100D22ABACC983A9A6C11D0793C77 -7C51208DE9DC478BD0F191FAE21DEEF2B47085604D2C239460EF1940F5B6B240 -AD022B4BAB72D407671AC5D4A163A2B00CCB2F297F52A7DF633A79996BBB15D1 -F480CA95A00861A0F5CCB947824B77D8EC1BA9261B99EB2C3A8D6EB39CDE6F5D -98AC095E31508B7260ACCC3F771C9424B0FEEB69B020B1C72B406C682E4E9B5A -AE70BE2D455B0DDB83BA412AEB478CFF3749E9E4CA79202B282969FA7435FFA9 -CC67C4C42123DB9B65991F5D858AB4A67B53ED2D83CD4EB3E5BBFC14D402DF36 -8F85B77A90E5543608D6B0B5D496BC9EF2D5011A6EF57C962604438BB6B7C5A7 -AAA59BAAC719D12A7CEF3ECC264DCECB29E45DC291FCFB83E6BEC0AF11801421 -9CD3744C24067F824C77FFBDE35435E16ADD36308270066FF494886A13DC05B0 -F325E8A2C55B9A36963732519286FE3A00E5D59C05551CC7E38C97594C94E83C -0A3F5D807E01BFB4BF37135BABF865225AFEB23E47D75834BDC22642678AD6FF -3BC38BB3F33F0AE2EA9BE668B7D8A705EACF48059D2108255922C34661E867DA -3747A99C7C765C0F88D0D6C7AF84750D04FA29AD801B34DCB798F181C7C34980 -478A8103A64394BEEFE49D2EA73E037EB2B09880E24E603FF6188DF37C43A306 -9006B33C0711C336BDD587326A3BB5C5D29D09FD9724D4073D595EF5AABFC06E -DCB16F8E9FE165E2A603231EF503C8BC3F2535722FF1FDBB1BFA160225FB865D -AA73E5B51DE27D61F26BF735C9BE6AE8EAED4356B9556FF31006719CCF5AA58A -91A2CF7E71369E335DBBA261C186A92C3C219A4B899DB1078B06B96EA4D0C444 -48B2B64E8F939007E6ABA7821B925E9A3A5A04BE33B36C546205A4B86BAFD4DA -86B635E6BBE0E09782D6BA5173906F8759FEB28DD5E00043BB62EAE4DB96DFFC -3FA20BC81686D43AC82FC4A1E418B24E8308D40D87489108D2641E6948269B10 -BCF9619D4069A027B7E09EC4D05F202E64C3C1327588168A4011DE869D1E6780 -DA5C10FB83B424BC6CDE0652FE542BD081ABC30C8D294A04D410D997FFBA02A0 -E150BC3CC8413E381B256E926D2956607D05EB1282791736233DFDE7BFEB98AF -18FA9EC712326F30A4BD0BCF3BE3D73C751FFACBE58431B44A53E5922EDE7A1B -03F8E2C3F71A70DA5579A6C79FE22DD3CBD9FDD0F26E75C7912C3912B1B19DF7 -93FEA62A929736E723E7C525CB01FEF37A5008B665B9932FA2D26E1047872090 -535A8962B423C0D3A7C6AF41503572C06DFC0637C600B12D8B23F93C9777DEBF -6FCBFFE8430A709E93626D5A7394102963669F3AD718A505E9B9A556FEA6962C -CE41D69F5E017AFE2A41EA8974D6778AFFAD895CAD7C292FDBCDDE4504E152FA -D0E315AA4E31EEBF9B6572138061DB77175F1DC0AFDA5837372A5EA42426D697 -84C9F986A34D05A68341C308E7875D4D1806ACB149C00AB86463AEF0934E9441 -606A0650DBCC8D794E33C368DA42F1BD337193DB17D279F06C1A375483847744 -E6C2782018F687F634777134A8E68859AE3A61888BC146BE26E9EAC8083E9D7F -EC591DF2847C1CE6B466DB5A05ABF048235E0B1D7906C2960FAFCBF704358BD4 -F4856525DAB9C58FA5348F6E85580ED76F440715E25D872F6C0363612DEAF591 -6A8BC8AC44378B6549659B73B0BAD49A1BF4FA04DAF375F7311B9788946ED020 -8B246212B3668DABC759166459885F04C3A59D68B80EDA109BDB2D1523B18D94 -B5E2044ADD046A1CDE38673997823E79CA7414F126372549CE9F9CD47B5DBDCA -DD897524B18033AF0CB04E21BAF952E7D9BA5DE9F3DE041D444C08F845AABDB4 -2D4A42DA4F29874DD9B2ECE6A7812AD01ACCC5C245DEEAF47B9D33F3E8B05C68 -A51E21B1F2A5746601CC69200F7C1CBDEF08036B0D392AC93A9D339A8B311728 -B2E37C7A7F098252E892ED698AA3E679AAC7FB4F8BD6A052B30B1AC12BB9AC96 -B6AA796C79C28155E70ABB018ECE7170D018B1AEBFB3E3E1F915C5176153E882 -784AF399AF15439A3E52F7751A33B0C840C32B711A736E4614807E7E386857E1 -87D227E2A3BBED127DB2CF6A84A3496BE2C2D2A40357FBF5B72028D708726260 -ECD5418264C0009ECC80472B0E28218C13EE65B533774D601A86108242A14F8A -2B3B011F032EC9618DBAE721497035A60DE12887C57FBEA197B36AD94E03C948 -CC229AB85C200D785496F4B38C36EA8560F83783C6633F15D4668FC4362D7FBA -A61A4E14C5B60DABF087C389AAFA41053B98736DF675D1CE2D1369B56EA8EE8F -12044122E522FE9A489D6251E26E38B28D445E5827A20CF3C5AEC07A4BF40302 -3A1D9106EA76088D30EB921EB90D9B3FBBA18ED6FF6923B903A32BDAC5128387 -258220918EE014C4A2379C060205BC7D45722B6A21D820E6CFE458C5303F0796 -36EC7309F711990C1BC0EA0C0FC511B8561BFA74CD0F5AC9BA153EDAD2531581 -F3325C59FD9C73CAB132882EE147D830292220837AEC13C864B44CB79BC943B9 -A58BCE34CAB70922B38959001F9A1851427A174576FE9BA944D2BD56ADE4B0FA -80E311C321DF356A88A9A401F3F6F1957F73A10726F8473AFA9C28C81A7CF382 -9FC8336812DE5ED38D2366BC58301669F5CFA7AE99F7912E06A4343383B5F4E9 -706F519C6D65FCBB66F5A1BD0C36D523A42F9E28B7C3B4BFBA9918A66C12CABC -786EC9BC73F82F141FBD837E8F9D9E1C4E083E6E00E57786E13128747183F5DA -A049C73396DB206D2CB2DFD593C37FCFC563F3479CAFDF1F57B012DB596793A8 -73BC08607620077991F13B7BD66DD573A86F605CBE308EDB0E23A9175CF03359 -0E3946E1FADEACC1141D71A0C9F9E0C093EABE2F55C3422C259B2646D6A20300 -03A9380B54C533346C14AA7564414983409DD9E76E1D6BA04A18CDE5E4DF79BD -03BF5EB4ACF4B60081F8ECBD049A402E4935B7390F0C33EAD610CC84F155B1AB -69D9DF881AAAF17997029B34E0E9453B952C43F6B6744D9ED373F79CFC2D5250 -C3CE02C5E490600966AA9CD8D6787D6F0493D9A16DE94C34DEEEE2E634D5AAF2 -3E8080B9F347D0D40D112906A3DF0B4223A4348F58736462CEEB76EE1D678C28 -ADAF46AE0ED2D4F3D5599398E6E3DF792475FCFA4A751E398D4DB71CAFB39C59 -0A38C2952483D00454EFBADB2725CC71DB513FC1C067840C6CCBE1A5416E6836 -09557C0435084E9F5E0A316185251A7948E67706140496F730B3CEB37A0B96A4 -39B9D62E2A1BC32516D26DC3C45D00E7553B8F8F3ACB2F03B60381B60F2DAA2A -3D512897CB5A4FD0A59C45E32AD6503A99D5A75CFA90D4E786ED9102170530A7 -781F75429AE774418F78E0D6629AE9E6148D99F71115AEDAFC6C9FCC590B956C -562F4A1337344A5E0D7ACA076BAA008E389A9D281A3C9738F49394F3E23A6BA8 -BC62D7B0566D2C24A367E7D3C1AEBEF5014D8050BF1950865071E2E1403CB972 -3BE007D6F7CA30F04E57834AA19E1E967C6E770881CE27EA48B171E651E75DA7 -628B68BCA031EA13AA31E08ADFC33CAC7D1A270599B5F5CC00702D510F4DADF9 -F89D57F1366BC7D85313FA73C89228C75E50AC2397986C33646F61F2548302D8 -6337F84E957D01013431576CD9C6C5D2F082CD971CFF2EFD7872F35FAB90BD14 -EE4CC0B1A749EEBF09A34F860CA3C86B6B70BE35F2618EBC832A68016C9CD282 -CE74117531E8FAD950C8C7E1504D83E90A5A95E50994959620A6AA5A489F3854 -117323F2DDEB30B54C0390A13BC026575296E6FE94FB4508C2776FCF7B77DB22 -BB753A440A3670463EE87DD0427A4B3D2E2FAC95B99DB90DA35A6C2B585E6F40 -41E2094A07B40B29F16A9662C7FD3575A8E9BB5DD5D2C23BCC45FD8B75F5BC28 -9BE8457BA91D06174D9F7C116816851F86A50500DBAA7383019C9C5A52DD7714 -9AAD3B92385F884BC057977EAE8DE2329888B245330B9FDE301CA4F09C06465F -677A7DE41712E376694BC097360D2F635CED53145AF9569605B959092FD976F1 -6B0147DD63F13EC750B93DD35E5C6A9DB94D4375EBA0C642B73879566D7A6537 -AFD9A31635724B8FB58AB20762432F428EA1E4DEC18461DE313663CDC969426C -35EDCA2658924918E721E9AFE04EEA210AA7D0FB3A2DCB38F224BEE6F0639373 -D4D69396E90C076E0B812171CE37B1BE7BE7818E1A910AF8609AF49EB2650673 -6C25FB6E3E86868E833FAFDACD2A97765E395D6F1E252CA311A16A1509B3E84A -ABF4AA15DA4158D971E0D4DF3FAB415B03092A98F7C07B5FBC45499644BEFADD -2EAA13C18685F4E4EF3D3D43C92AB9B42D2870C339ABC6CBA3C27ABA38C5D135 -DEF3B16CA1E75A3B9573D7067DD390CAB3F9DA7C2E67833325DC57D39B1DCD44 -8DFF73C0E89281077F529884A9A256B78DF1F8E0871A5EC1FFE2A5DE7BFCB468 -9D6C5E48620EA68CA19C5D18901C3032ABC42B8B3A301F8DD314512CF904F479 -EDFF66D5904D0068E43933C6C46FDD05B2B984496E8E53BC6A96AD60C6CC21DC -BE657CB2AE8839DEE243E7946A368665FC6EB84262B41815C1908B78C0589C8D -D34759D4EA392F2B94AC20259BE1298500550B6C74547FDA814DC31722DEF159 -650C13BDCA71E908182BAD4FF83443668EDAD752CE0C4E244300F1A897D9DF45 -8DB4FB909C1036B8FA7AA98626732F69F024E0D96E7F40B19AA55E339C15DA8E -D7053F237207D0639C2877254C59814E884E08E667EA3FA9EACE080454761E73 -F70ACBE3700699F6802088D73E73C485EAE9E64B58BC4D6A8E881DBA71E00191 -F3AA92053588E73C9084746CE792C0AF8CE34B24825AC8976AC3BD12460520BD -EDCF4F2A8DB299E94992967FCF870128AA9A2E7747A42299CBED9D3E8817A6DF -4CB839643999FB2B8C3CDA64C1B25CB64CAD99361B8EDDFC68FC83EDC5CA82EE -0BDF48E4D33BC139CC43DCD04B2B2642ACACCB99E7A44724D6C804BBCC0CB2B5 -381AE4D122E243BC29D3A8F1681D5EB106A4DA37F650BB761CA7FC7BF5B47B62 -F2C8E2347F0ADEE421B64B5ADB4BE6D80F1C582BCD18B92A79C2ED805EF83D9D -C9ED83166117B9552A061433BA10F87C39AE2ACC945C1BC8BF24762F9F2C7D83 -7A367489D75E0F6AC4F59F8C867E36F488FDE8DE50660156F26FD013BA3C90A5 -76EC94F0FE765090E78C13CE984BCB2C5245F44E9149400DC6AAAAB3E320680D -1C934A07436D45E591722FF154BD143ED9F074CC8D244530D1BCDBF77A708DF5 -A42907A3EBBF807D03AEC70B39F47B55F91870C5978E21658520E8BD3A2CF6D9 -030A32493F390BE775B4B6B6122F774286BC20D7C6A5C9EAA6B197B7F7C0E9F8 -A4A4BFDFE26BADE0C342DCBC9FCDADB64B565A50FBC8583D3A6E55993CB3DAF7 -3AAB1E30B48DC16472BFE4D7960659526B3CBDB3EB4DE3EAA8D84438B38CBC70 -2898F3B043E97C5BA639E38C5DE3C94946AF6CA31BE291A4333A6C1B7AE6924E -123FEC09B9624040126C54157B4A255CBD2314518E3A40709449851B79B82CCB -A2E6811922CF7EC6F6A9C1D2EC2F23E8F1E2F85B6F886139459554FF0609E2DD -419BAAAAB1EDB9BBBDB1A6387F40260C6D3A72EC49D9706585996317BCD845F3 -09F0CD17B82EBD7EFE1150C45437689A276C5F31B537A70FE42C1F35B4879280 -A06841FDFFD2056300331E5BDC2DCF285883247A5ED6376FEBF879CC3A8228BE -2AB9ED6EB579CB54FDE0116A68889D37B0DE18F3EFC83B0ECE49CC63BFE00BBF -7E1088318F4D429CCC6212B6D6C43EB151D35FB8D4898DDF7C07465D45237817 -FB7185D719298F94D9E547ACD938095CB2BDB9247EBD57DD2E86D04744E760AE -25BFC68141C64C7D23C5A9BF99791B71B9A2FDF3C0884F4AFE3CED51DDF04FB3 -EC9D8DCB4944A7791E40BF0FEBE2E1D80BA85569F4239EC337C013592FFEA905 -10E429746B2106108FDBF48C407C82D66D5D87886520F1538A9CFCCD7083F6A6 -D1F86588814E0707291AD77BBFC281C7B65A0CF008864BEDA5F11718C43ED544 -C767142BE54C640E2040BEC5D7367E8FF22FA9D839BC807001BF73528ECB7FA3 -3CB2207F127206FED87645803D9BAC5E8ECA8E8BC452586F8EC22168DEE55BF8 -E7CB5AEC4085B3E25C46138E3E8A98552752ABD6B4F8544E80067B5970565681 -A0F39BBEF5E3DFD3B79C052C6436586A9683FDA79DEC1491ED109517E3881FCD -FED3B5010F685C24DBE34E0CB63372E16907D843A794F445D5579517A64CB508 -B01B2C2DE005E05B4D01E46357F5A405B441DD492DBF7A959933932518F26DDC -62AC159B40C6B8E840146676138308A8D67683278C19FAFC7ABD1B9EF85DD21B -40AE84A583BBF306AE3AC4BDE1985CF1E8EB58F037F2BED81C8CAEAE51FBD20F -9251DDF379A40883A1C82CB8FAE99A3E18C471CF9A7C4BF127ED1B417842057F -7647123712ADF67936F19A01FC648D69E2817422FE5890D13ACA1B7A22CE84AC -FAD664800CF12AABFD3A891075C60B8602091298B42A5DE5C8BAFBCAD0B04762 -2F7D22A591AD4FDCE0B3B70C10AEA586511955989F55FC26961E6D1E2CA8CBD0 -278CECD6F7719B835F12E8AE27C7EA54BD83F367F5C20614FEAAB3BCF416B273 -4EA6F437442CCE904A40144981A55CA8EF59453CA378EB5161CFC1994A742BB7 -5E1CA866BA9EB123C3D4BBB76713A9A6B93611A233CAAA321E426D98E481C29F -589E51833C6278451EBF621B7F981B96164BCBE69C47B2D5D7EC4141E62F61FA -EF6669278B430A9AEEA910F8FEFD454178D63C9BEC694A79CFC94E413947986E -E03A7A290A4FA3515539F8C14A5DEABE164D28BF5500AE9A6DD84AC56F87B024 -CF83FC1299F514A6A879E5B7FB45CD52F6390F888B5CBA28BA3A14CED46C1062 -8BC5E05BD9A1117720211165EDA80F48267E8D1E5775E09772041B5F052DE32C -8FFBEB70CD8DBF01E9CBA4DAFD2AF4E44EF05E8DF2EDFC1B920FB83BCB147526 -1CEBF3B3D75AF9BDCDFF081CED6541D9DC32246E24945D724DC1F6F8C1113FCE -29999903098B4F84DEC6C4F882DCC5BE44F6A9A077A84CCD2A6A2E0D290A571A -16A61CEBF9D64CCA429D7D6604B3EE3FBE01A3C1BE841F4AFAF63DBC7E26A67B -8C8C6549D6FEB8E45CF8904341B7C279B9B8E4E683B7076BF925998A123A1440 -2A8071214BC24699040624EEC902F55BA0BE2B2C99962A765AFC51D29575351E -8BD44A480E95112DA49F8BD405967FC8C12352F766498A847560582CEF4DE75D -BA4F8C1F4B42D1BC32D6CDAC8B596DC7C5A8BDAF7B74412EF2DAC7721A9F6352 -83AA212C6522B0F4F25D51FE4B2FB032ECA88CAC112C115FC19C5765C1115CB0 -9262BA4C55F760AAF4A11F12EAA146470A4DB6C79CE56E80098738A6D9F892E6 -0A91B30F1801A86D537B7B5D061029E62F08E93EEBC0B56BC1BBAEDBD78F0614 -FD4825A43276D223BD493CF558FDC6207B36A39648E68E6B17251767892A542C -B39DEC514D12CB8CF895DDABB829256AA29C5AF02B96348959944D6C97BE5BAA -5F3620B514A6BD5A310476D9D3BF80F361CD531A7972FE0CAFF59FEA45D517DC -0E46FDE22860CE37F8A9C13EBA2C093A40DD4F86EE760AA43A500194EA5AAA9D -D0549F2D3071CEBAD7EB9D2112CC910586DC022342D0B8858AAFEAAD82C6DC36 -F2D6F78A8F1B0C360239C586ED511BB5301C074B27F94651521976CCE9E1CA83 -3903752BC8195047DFA846259325A9629E5630B3200D16A259789E184BC91FC0 -F2ACBB673A7F0420EB58A04DD4EDD1E8070E442A59C383D9E7689820319242E1 -1B92456B6AC03C89B8EFF42E7E7870D48F1A733F95CE3E604F65630EE016AE88 -3D39859EE3B869B53D8DBE0A9093EF247D53A7B7EC5D35334681F357056EDCC4 -62BE002A49367F2CA351942363493891220B00713C38D31CD9A974D2F08F3F22 -410D4BD87B79E20D6AC667832EA25E410DC594EA91B0BFF912BF6268DC7F4625 -2337E04D29D90F1A8EB0AD7FD00B9C3D242A73072DAF4844A53EE698C367AC52 -B8274F9B95A48FC52988F9D5F3243507C1BF3863385FEDA1BC97CEDA7B9B6521 -D9BCF64CA2B88CC697601F1B5898DF5D07BF064012207B5EF5C349637FF0618F -B97FE94990E42CA0D75CE9670E8C467B49ED55A329B95A14D79012E46746EE42 -AE646F3B99CD57E7996737D502D1064BEBF1F1AA1DD726162E32EF1B48AF03C1 -17D6C86B4D1457ADA3759EDDBA0E78EEF0324976CF8D31D0DC68C4DC69DF5888 -BA6C6E7B37218596825F013ADA779158999F8C8FEF9B828C3074E412CDBC4F55 -8B3B18ECBCBAA9DCC0A2FF8ABC86D2D84EC138986A37D4767FC1DA395A775220 -8D27042583CD3A6885A07E2D8CD14603A53B1A21B27C331AE63957A559A66D69 -CA94CD5BCAB722ED44DA9412FAF5F6F112CD6F5D8B50FE80025787D9E324822E -541D485498271A1F082F0D35F3D9492839298DE8B922CCDCD2D3ED1574A0DA23 -0FCA83FB62BA4617639929A43234876B7E50D658AE61B0FD15F6F4B789252BA6 -47CA59784F1C6E225AE4CBAB87C871CD72BF1CB830A39956FEC9FFA4908028A3 -2069B43A35672917070C98F4AD43A62DE79301A035205237C1E0E9F8CBB9BC7A -F57013EBF816EF9DDCC0C9DA49508195925FBEC09A4A7964672E7524BB503DDF -FC734B8BA116B1BE25BAF5290A8819DD2AB2FA94BFA0D9463B2FCEFE2F9CC2C3 -362B2A738070B39ECD6AB0FD299E6B64BFE25054904BBCE3015D70532836A6B0 -ECDE5F04DF46AE1399A2F4B506EA029C0F0BCBF366C1928DE388A8DEC79C4E21 -31845F4A75F706C0BD4BB929A2600BAFA08BCD6734A73C59DA145A66797A2404 -7626CCD5E8B287B1F6D5629E3B3BFF320F91403BCA38FC73BBA882D94B30284F -694A2DF5BC3C7762842DA0D072C4EAA4EA2EAF4F29B4EB59E473789552FD9A29 -637029E849322884CDB3F50EE84F33BDA5CF8D940445A6E8605AAD0A46C5406A -04C4FDD7133997266921F3EE980161841337090D127DF03F34AF77B9BF60010A -129C9760B71E55F8A1C09C55A01A154969EA3A7641C8F73EC48003DA57758E6C -F81FA2808A49BC10AC66818EC2321AA8CB39A49E44F891BA9A06153FD4649095 -ECA8ACD3E692977B94105AFE083FC090E610E3DC57AEB7C5944FDCA7756BFB7D -34877C72D38ED5015000220D81686D3287AB89BBA64B007DC25CB4A6D6A75862 -28D3FEA9E6B95D54B2ED1AB3568111C84CBBEFD45CC0DE8E86A2CAC84AC066F9 -B619BEB0BC881BF51D2E3E63B9AC95010FEE166D815B3D4A9832A7891E56C2F7 -34F459081D07B2FF7DD537A724B9B29D37725D94CDF7FB8C0CF83409F29D7DC1 -7345E7B5A66C2D41FB242E2F37E7FB1433298EBF6283914C908AC2BA6F124608 -7D67B247A38EAEE3FA5C80AB78E9E234F0FDFF082F3CF3CEFD4A638022F3675A -BDEBF1FB7E1182CBDDB02BE26F81935268E9F7FB5B445ECC31DDAC5D7615D3F0 -F7A67FDA2DC741C2B0BEA47086C9F3384FB5B6B5DB4407DF6C0B639025EB7DE7 -9EB85A13AF12B8D1F85932FFC87C70052CA0E2D0A916333232F0C570A048E318 -C2E59CD67E649E451EDB62DD4D5763B22581D43DF50DA72D6374B96F06D4B5FB -A2BF3EF609F8C9A74E37E65C38E398B1768AD59F5DC67C91E9C4DF618C201F71 -E1302D238E99D3C511EE52F9FAE664F984AF22CEF9F3ADF13D36FB1218C6D384 -296E7AFDFC0BB6ACFA0AF5B3572328192E82797681A10DE036501EF80BA166CB -244D312D042F32F12D8A849AEEBC1E4B6026851E1C2B9F4081BCCF5445B6660B -8E66A47214D3E39C68DE0FA26B6D5656716967A9A3646B6E2916647985199AC3 -9727B581E8B1B313D36F5A237030965A4129743DAEE19509A557118212026937 -45646A77F6E2CD6E2EEE0832F056DE348FE0888AD47ED0FF91E6B7E43958B440 -8217FF563C28AF954F2669EF3CC630C4F4BF782F3EBE4BE174A2D14C5EB57CC9 -9776628BB77A213D36D96696E6BA5FEAB8455F36BDAE26EA2B5F341A309A8166 -095A826D8E788CB44B7688F4CD2D86278D130B9250CA25F25B60BC1E5E6A4449 -F718DC6F4316EC61E863C2D69810ECC143B134929B21BFD5CD718EA28658661F -1823E20BB65653CE5678B8A44E66A6D75DE1EA612D492F52CB1DB757CD8504C0 -04899BC85E53BE683FF8BE68EB1458CB45E71339BE3C569C01675E13627E8E1B -498D6EFB5EABDCAAB2B6A4298FBBE7C4F33887B1B17E9243E386B4F51257C584 -6800EB53B7D324A6B06E3ADFCFA315C1DD509730DA5CB68CD4DAFCFF51F401DB -9E8CE303B3707D635AAC3BB630F8CDF2AE8F9868DBA9CEEF483F2BF9FD2582A2 -4902F90A1C5B92E30F507E2B34E760D2E2D6C500B2CA6FC6F8A1F70C69641295 -0C4AE3E39F585AC52727C62480C7F8538C7E5793809D4DAA2375ADC2B523C5FD -6C0A20CAF26FC974CBFAA310F7094B4EA5DB158C17C1D116DE562D42CCA8AE85 -553F65D6EE166EB08A30F1D86AAA7FCD86F37FE98B1FD86D42DCBA22D5AE708E -D3D2D120C0A30820752AAB84018FC498F67A493019E0BB9301B04B403A370B02 -4D1061B0451D3B5A6E4C8AE111E07A6C5802255F0C716FC7BEA55EDBEE20AEBA -6FD7250847E18AAAF41E0B7008C01C7721A7AD6F739AE1A79D1105D3DFEC7711 -A5CF05D7BFC28AA27FFD1EDFEFB706CAF476463B3776424B1F7F8E0A9C9E71AF -A7C08C94636D74BFFE5CEA7AAF219DBE41DFFC3188983B9263A8AE1ED2B07F99 -5482A6C02577535863D2E9632EA2729ADBD4D5B6F26E300EB093E20CC341AEF4 -134AB90BEB7E6EE96BE51B2B369F57F26E05260626504CC5D124137EC8EFFE68 -4EB3BDD8E5612B35B4AB36D1C5D351D4EB505289DB20F3CF5DE9ADA6E248CA0F -ED03ED6DAE1F87D72F2A12E709DDE5DD5BE463C6D37293E7757D310887AEF858 -C77B640E0AED544F8AAABC3DB13A53E1733935BDAE204F4D5DA0B78A5E1F095D -0142F8A7B733E2810B35078BAD71CB81C38FA4AA55FD5ADFB75DCB8028074C0B -9908387ACED66DB0E276A3DF185C9767DE2EF1416C06A18473F364EA8EA95379 -504522446EFA99061121BB82284A19A86A25BF9EE137EFBC6860A3A0E742793D -3354890CE8E27287D376E0741FD56F9E1D267FB1BF4529EA7C741C07CBA7CB10 -E579C1FF0C6C79998E878C1D77005D3CAD64BB44D2A569B6263C047FA4C5E6FD -A8F5DE9C7789813726B4B4CDFF1BB42E3D170639C25DCB87A51394B4BF980C18 -CBE6FBE545B60E648C9CC123C76CF0747DF0608DB71A896203D46746511FE16E -6A9992318489A53521D0C39E13B161CE7CF1CDC0B4F496298C87CB2236BE32BA -37D7A7BBF573AD8A58111F53990F8D894AF5DF8D3DA1CBAE0D5FCC1D3DE945A2 -D1B66BF07B6D07CADB63646479E790B667C063FDAB3FAEBBAE91352357AAA4EA -71AF012052ECBE5012A889A8E87CFFDFE91B144948EA0692F389B40880F52072 -6EBBD95DD71439F0B20E6539AB27F19FDDC2EE9C2FBF2F343E4B3BBB55326878 -EF4551B426DCEDFA238AD4D9F217EF242C801466F7CC109F44189719ABE37170 -DC219172DC422EB3ACD828F381437D1E521B2CC5C208C4E1806671912B198DC4 -2B6BD090C443420EDB377A04E95AE613DBF39608CB0EB1FCD9FFC310AC33B46A -101C44AFBB5AD7E393CDBF13C02894EB1999E25390EF0834FFD74395ADC9DE47 -55C2962AE9B64B227777A76CE7223E56F70AAB580474EC1480A80F4488F1EDD4 -E88E48F963563D00E650C8FAD93F0B322467863982DA3FC340C0665EAB586975 -70604B7D14C85A3F9D4A9E35CC1B064C93B63B52E73F18EAAA30CEA0F5BA0588 -934BB8402DA346C060C2CD5D1F9CF86F531C519BE17CAAAC99E70122E5D7FD42 -9D18B92C82894112786DB1C19EF81411EF852B9F6C2957705A18 +30F19E1BCE69BC499D860F9B17E6A78469F652E1FC6991A91F9978B9BC027D54 +369E4A59EE1C03C9B0F21DE425F4D56FFAEBFE015BF1C1368DD77C7AD0C015DD +B05A6EF47AA55E82DF783AC53A410FDDF14211892D18481CFABDEDC5BDB93027 +4CB70E6274C41C2BAF35E928CE449181BA6E7B26F0DF1B397DEA0033C1923E1B +E269D731456CF82C1518E140455451382F5EA496D0DDDD571BF2DD94843DE64E +F6E73F9748288C2BAF3C59CDDF0D83BF7A36C90963E08DABB212A738BBF4066A +AC8CA286A0ED2094A19A22D3A9EDCFA19D855E8471EC346255D502520FAF6C7A +1E8C11240EAFCE3BC6D791B01F27BD942963524FEC6A61223871D8DB2CB89CCC +E139DF92AAB0DC529D47C74A55287C5A846F7DBDC633D3B2F3E1FC9E3657F8F2 +E53A3980D2731E05D4A590A5F7F31F6C2D8067D40BFB024A8F97A1A8FC6A593F +26A6857FC8D7F50A962FDFF66658248FF36EAD6D024419BB101E0CC0F543CFD2 +12CBEE8D9F44D3F8FD5A4FF70626B462421D831E09DBA3E54738A6F17770002C +AB138BDFC1130F8BDE9D34A3FDCA988EA810008B2F374290F3836F8E08AAFCEC +77F78ECEEDA7813AD79824026D20FB106DF5A508330C82371BFB2EC25D24E409 +014A288ECD37145E2BE9B2FF823E6EF37E2694EA922CD758E639FFBB70E10D71 +CB4F0FDE41384220D7FA3F32AA91EF012B1B1471E993566E73A40505EA2E42F9 +9E88EAC350E5CA9E3F7B6D616B17C007820F4269D6C3DFD25BC8E592EAAAEED5 +8F720213E94A15876B206E6A1B2E999697BA23250EAF883556D6A226B9B762FE +F790243B977887442C7C31A81A55A056C88A971BA41B3008275B021AEBCAC643 +3008834007A66A7923D0CDF62E492E47E3AD8E852B0780F7D449BB0F96650F8E +8443B9426ECEE46FF25F2A9FCA4E5EB5B616CD6C68E4B84E2B39EC2FD713CE67 +BD7459A5567C08ED9BA05F1DBC9C535DA766265612666DEFC3DD11F7C3FEC3B4 +0B78322832C7984B4379AE0EC025A27F911FC4F0386774985C96399C1E7355F6 +99115DA7497132CBAE3C9F87A9748225744CA4603AEB70A5987C0A2566CEBAAC +49DC3B4C5CBA09DEF0AC0F07127AB83666D0B35D783DCCC86E858F9393C0F52F +C9D21C22B383421404E7D8F5C2E421610D1B48F46C7E97D2443A596C158567D2 +5F6871CA1D0D01DB0C423A86C50826A2C052DC01B8E7AF94D44E30433585124A +E07F813A15A23A9D8CD5840228B74182BAAD3F7B1652A1B30340B9D65388C7FE +F3F5AD7CA7E91074125404607BABC9B04B8EB76E61C4B1004FD3D3B97290DE56 +0053B51112AD71094C1FEB4C7A23A07CE32FBA8AD35FEA07E3EF3AD81CC10EAE +64D84FDE52992DB2B3BE9B4C2C36D1896B55A7848210C4A010D864A3FA8A3579 +0874AD97935317B618FF13852F48BA817E2619749222A030899A70B13F4D180A +8DE07BF7682E5F08B38F95FBD8ADCE85521CDE3B2516F22F0E321FE0AE2B9B58 +9D52147DED77F651EF8BA7C9541CD79D9F0E84AD5AEF9EA592068AE5771F20EC +DD03C25845ED10DF57F33D2A5D0AFE9B7721E4B4CCD61858D9F52D6CF6377EB4 +5295F861A29F568C14DFAE32126EAAC9F83694B83C2B7411F9CA1F52F99FF2E2 +CBE734427CC372856C18C6678EAA8E7412448FF0947B03266A9999208EBEA70F +A60DBCF81DA579A49CEF39A8F7942CCF4B53427585F4F7810F28E20E921DE8F7 +9D39675C943A554BB613F16F3EF64062BFDC7A99E3C9DF5025A877095480DA46 +9166288C7172D8FAFB26CD89CB7D5B1892AAD1CA865F2273ACEFBA32C7D7E72B +78B863B0B9FB7FE3A707AC1A88B6DD46432466B05E417ABA7C80FCCAF63E9B43 +14E9B98DE85292362B235DC195238B468EC5AA1969892F2C3E0D501742ACC8CF +DEDF269DA4E5C5D9DCE7F5D939EFA5D3064305D0C2F867F0D22C17A56CC7F8F3 +74895BF8071D352446877A1BAA290A3B97357E420713886E17ABA1BA76C504DF +DA93A9B2DAE9A5A47101A20A359976806DF926E46895F8937E132658BAEE64D4 +256E739938AF703B05CD268FB98F86206134543B73E191337458A4AFBDC8601B +A20664ED640B95F5A2CF4AD52BBC3D81747E4B619E6584A11B7BBC4B3804DFC3 +205EA47AB5FDDF018DB9824B447BA99E290426A8105F9B6E11E1644671483AA3 +8645D62B6B07F1C5D27C69E3147B09722012B2A56CB41643205ED7D9D00D7932 +FD436F2FA0F736C99C6AF7C539DE2F458C8B3514C5DB64A78F0A0C8C73CD67E0 +EFAB859D00DAA765C13D2FABA83097A05877E937BD542623F392F8E1128557DB +E401EC34EECDEB59EA1CAF3C8CCCE400968DCFC952AFB7C008D1ED6A6D2C818B +39A77A22E8EE72EA118A560ABCE819D9F8EAE383132093669D7D0DAEAC591DBF +DB7805B5E5A04005BE920843271D8130870E3E6910DB62497FEEBBFADE456CA0 +1F31519DBB7578A9BF3345DE30A2ABAF83A81B1C6058FD328F655062AD58D04A +7B21A4961991AE7A26BF3FDF644AA1606D4196EC9BE4E55C590FB2061A767B2B +831B876084D8052F4AD711B06277A92435FD2308D26C8A0473B599A19B6D5F02 +FBC09157D9518EAAFFB6E8126ADAD815B28328AE89208F03177EBE3AA0B971DF +C32C33BA930AA726F777548D33ECC7F47015F9B2E25D93657E840F46D4F209A3 +D3F5A1C682DC2B1AB4AF7FD9347EB1018FDAFD9C4402FB4F5643319243B9E98A +85AFDE9EBAC815FFBA85F8E8F87A0E3E0C011258782399D05B621E9744C828B1 +5C30FEB98092C4158EAE6F3A104A9CBA33695502788DCE4CBAF736A36B4DA40C +40A29CFC4FA95E861DC9041E955A1688539C4468FC059ED1D6D3F8FD64C1B405 +0D11B4EA2E0ADA8D09972AE83B61719287C7C8C7BAB7926563EE59E79A7C6958 +C413D135AD43E4574893F8EE9EDE8E8979594FFC509D0130010B233B8905F440 +C9C6A0FF1BA97899F2EBACBD98E55A9A192AFF23E070BCD4598F09779F2A5EA1 +8A749DAFE106BFA4803B9FCC327E9C9181C525BC8914D17814AF08CE5E861A48 +4266AE3330FF6EAFF4A1CAD6886FD4F216A6CB7664EFB7D6BBFC88DDB24ADC14 +C0EA67F3B3EBCF9AC242D1BAF8D0F13BC23B74EEFAC85D77BFBA4799F61D150B +FF6E20D1D4A3C554C2DDCE0E09E78FD93A9C918D9C2395E440F38015541185F7 +93E496FFF81B4E71E322CE850DD92E81BCB326005D3B7D77B01245AC631D870A +73F917717A6A5377620FECC0E5FF5D3315D4621EEE65DEF2C3B9E5C3A9C771BC +35E7D3066C836B87771E171EEB2AAF21DD79417F1FC8B5A920CD277713BC3820 +038F87F979D52500CF36B783AF02E9EC2EAC7BB285F81D45A34F92EE8E5A4189 +35D8B2D290270293A3EF3E4CC39912F2776B2FE2A4E711BC481773113CB9B9D4 +1D7387458BFE25C412E1EB4E6DE05371325841BCC75122776B706AC6A63AFC47 +00946468EC67AFEE6E6F8F9643238F80E39F2995405D850FCC2842163DACDE1B +A48238865B68D82E80F6415E33313B77E9F6203F143C05FDA28893F96C65A119 +741AC7F2911A149EF804EC845CF1616559AFBAA824175D31B385E9851B3779CB +C182F25BA5EF008C67C61B422226F9DE470DE590EDE30962E7BEA93BE1CA59D9 +5653886029F399431C11C6805053D93BFF8CEE4B53958EB6E14640370C1E1BEF +EA5758D169239BACC3D3A6E7A3DBE36FDD7BD3F12F64E5BFE896D8388FF6ECB3 +561724E1F66F5F95F21B33783A4ECFDB6107B172198104F38F9A9C34CD41D396 +E6F6292C53429092D1ECAFBBEFA55187510A4FE01D9AC5296F17ABAC96B5AB69 +C5F7DE27CD510DBDE0B889C1FD0F896EECC111CF40E92E37E96564B7CE3F0ED9 +212178D6B27653CB412CBAFB6E24C6834B5CD4BE2A76EFF5FEA4C818B0A99961 +64860AB302820155A018E006D72214F5765C514621E3490279E09E94C34F91F8 +3745875D9CD03AB430E59229EADE37E1DBB9DAF7DADC7E121B7F072B1CB03300 +663EA733D6BCF6F647FC3688242ECAB263D4DB751A4D35BFB61225D1538382BF +A2634F378DAC2076E415D82AABF67E6FFA138CBFB37260DB5FA41ABA1CEDC05C +1A1A049F0721645E7C96C00849887CD5B0DCA715307605DB92DDA5B968CCB0B0 +894B5C0E4117857373F886A5E99AB0A152EB37CDCB0ABF42FF642747F98B5F22 +3247AF6874892D1435C5C83C435762B371D808BB40B6A3EAA72529DBABD167AC +A29BEC7173CAE80E199756B1FD49ADEF2D9253DD7E7C991C150F3EFF7AEDEB09 +BA787D3CC7369CDDD87EED4017C0B42BCF644D9058CA6AD8B436422CB87ADE12 +F8EFC558E2E43940F6B69C2811D3EEF0D7562F455566FA57518B8F8984A58772 +EECE76024C630B1345065144C7A921773044BBFDA029CB1B9612AAF872E87FB0 +946851021E24AE2EFC0D84677BDE5FFEF6C55861B15035DC06E2A941FE802237 +E1CD0AF81192DC69492C81BF8503BFF377B3C12199B30717F1A1E81020F4B385 +31F1CEA123464F7A9B8A33E6C9B1E836DF6A7477B9ED9AA5A21281B4464C5791 +9203113473218B0B5C1F2EDEEC257A31B5B0286A4158BD7166FDBFDF19B7F294 +27BA3968A1812B9C20CA8724BA005150117146B9A9532A7FCED73455A3CD0579 +28DB7764DE2F0B5A9A907B5EC2F477C3BBAC430301BAE4E615646FB1EEB62890 +BA0268D1BE1DCE7F845E70146CFF852CADB4453EA47DD6341D1F8434BF19B4C0 +1942F870AE6E5213724CE2611254A101E346D3492326E596A7C0B984B630BD6B +5145C5E91C3875F3244DD4965A3B56D759050B3B37ED0D2F168C99C804C52570 +D83382FFCB4D06399DD3A0A102752E3050F111500B2B0D075A5A18DB72E76C2C +D6FE1F028FE2B689FCFE089B49F3273143CAE314C986E6D1F56D7C5BF580C7FF +0CA51006B1F044436DFA4B45C21B0CA9E9887525B6F88FCBAC59BFFD7504EDB4 +E6B8EBB471F80CDF4D883FE75CA3743C57546AB890ACB7815D8CBEEC38825F82 +BE33E462C79C9585E909FC987FA86205ED2478E8D1B0D7A4DD70FE5A9F8ACAD2 +E70B049C6FED63FC48E3D5BDBAB67282A66E07109272505BB63C480FA9B2C753 +60F58761F294154498B8565BDF8FD01A3676D39B8BD373A12CF298F281929260 +AB2B5E1DBF2817D15D6FF4B57638ABAAD031DD3EFE44DCA5F2DECBA4DF397EB0 +83B4C9DEAB025C75D8F65A339F3FBB9A70B0D786A836E4FCF2F42A54CA292929 +A431A35CB7DF6FFBB0F9679601270AA19C992F7B95114F461054B38ED9FBD6A1 +2EA3B221DD2F357BAC157436A537B37168FBDBABD738539D16216D9DAC15EA6B +ACBF9072E209817F370DEAE812247391DF38FC245B803EEBEB2838C3BBE1269D +8FA49A29EA9AC18E12D122605FA5FE2ECFB65F57D03047A09BA5E0FEFE06699A +1A078CA7CA4BB6AB935248CF6392B6677CEC876F86E434FCBAE20629B7E78997 +13F4931515FDDF9865097788B3047C0C3172CA0D8B84B2C27FB1BA5B4FE5FA1B +FDCEAD06D4459E5BE0EE94DFA465109036B3A49DA6359A33A7C965D4BC834356 +4EC4C21B58212EBBEE3D0B0F70573E2D35CD5410C3A6B233639B0919BFC95899 +D0DE3B347B1026817CA0001AB441358606F664738244E0CB8959F9503EB46D7B +944BF6B80E4C1931BE88E813CD360E13122511167B560CDAE652469EC7F61AC9 +A68402D951AA93E938DB6CBE3019D8EFF62F9F09D148C3CC3C63F45A1AE229BA +9BDEB00033EC9BAAD847FF6F468AA838A62353A5331D7425ECAD924C3939690C +6E7AA3F888F9FFB41FD42F0EFF4784D442D82BA5B3647189F8FD292689FCE630 +5331D2B45480038D37A223C9BE0F9C3F051F7F27E953CD343681E9A8049437D8 +5198D7634E3352771FC06BCF51010E0BA04F318BDFBA1D90DC49898D72949F8C +D212F1CBC219C7377E51B2E01A60049B3DEE629E91198709703F027E258356B5 +5AEEE1E71EADD63D43FBE0F09F564C3EC9C321BF23C07C541D3AA214E57EC8E6 +FBDC9F0ACE3DF926FE5B4FECB8743A2FE52A68ADF9910B2ABAA072B137A0D83F +006570B4C31972993A3352DC54A05BABE799D315AD54968023CED4C033BF1242 +9BABF562FC3168175AB0AB6C191640A29624E0F42E716095E631EABA67D37B96 +F496FBB228CB97C089D844F6D6AB7379ABF982D1C62187B15F37333F749125B5 +4BA7DD4E63699BBF4E982DB65824411020B0E414E0C8432F0E1AA737B55EF0AF +46213A161E4EEC0A4011185E404A4AB5231D3CA295ECE626CD4846F539921E5D +5061BC58D6D1114092AF8E3A1F704A2EDBBE43638955798AE058B94BAF7A5893 +E17DAC82A6CDAC9FD46A41965C73E91CD6120D137281C4AA37477B5366477B92 +985BCF335E802747CF7F261664C47AA4181C551CFCA84282668E37F7DB5EA45C +6E7D583D24F2DFBCC3A1A735B51833EA222918765A8DA94484C8B51B6CF2ACF4 +89A3DF198D7DCBC46E9176C84EB3DAF0062E721F84CCFDF4CF6963EAB0E02F17 +6488AAEF7D896BFDA94D99E6EAE2CA90BEFE6A43E346D67703A82CEB5B5FB013 +A53A6E880C5DCA893D90AA9629F46B00226539B76757E703E83AAB03D2847FCD +A4B433C722FCF52E5ED51372D4E2CD4FF94AAF6C2B6064A12BD5733813500274 +9B571AEA311AF69F6CF9F940B9FAA34F4917FA97C09C3C2C93CAF2E1713FE30D +B5A2D1B9D5F28D9F0A3F195AA6BE2B91BD8ACCF5095F62E474982D872121A430 +87A9877149ED68A11E61DF7991C50E185DDA1BC88B209DF3464F06D4282037D9 +EBB745D5A0D5C6BE0051E5381B6B85D415A81F936458BDE11049E8CCA0768536 +7EC223F6BC86004770B18A0670DA9A137745CC2B794BD62DF93EB5EE077DDDDC +88C132C0A99BC7D3BECF242C384C61A1979BEA575C4BBC7041E8E5A7B9DED402 +5472A375FD386B2A081F3F49A3F10B66F018F3A05BA063E41382B472491E2DDF +891635A8E49E5EC0F9CE94081249DEB15D8037A01A41FE2AC505390945A920F6 +D877BD927F2CAC2CE8EA5EFE2504DC46D57F555721D278D8ADE95AFB502030D8 +5DEC5354166941CB96DA86BF00F1A8C52AA988F5E09C4644F615EDA7280574D5 +9C7CE7D6149D520B917236E87F5ED1194C6EC70223DF0DA086B111BEE5E3F7D1 +9EB4ADB52C35C084222230F7C924FCD2F47911B8ACDF27D10148F5947F068946 +C69264CC93C2F0D76FFCF64645C30A5B18DD5C2EC4A702819458915CFE982E77 +95ADE2F0D067B15D4C31B7A1E3E278A627DA7714B720754E3FDFCE8A02B2189A +8A288766C242D23C2ED78E2355798E21BA67E90C205F740908F3307420AC8CA4 +12B7C27D285A3B8412BAC33F69B4AFE9D0113A391D83E5E5D5425BABF1105D86 +BA7768352D7CB3DC4A72A71C636151E314B83443FB7A84E35344C4B6F3DF3505 +9A0108D3841CABCBA8D5D32A1EE34DA9EAEEACC3C236ACB198933E8F5EBB0395 +98BA4667953D80FF1D78C204CEED88669B06A157EF0C0FC137EBBD82EA2D652F +042CDD45A5E120AFCE799CA85BF7BF610CFADD91BD92187F7E2AAB0E24013622 +5F078CE0CE9673B4F6CE5ED7542C2F41784ED2A1C763F721569CAB3A436FC46D +F10CB49945C096E903ACB895192E3A2577E81832CDCD52BD00832711ECFE9677 +79342E0A921FA4BCAE2D1EA79AC6FD946D818C4C58699CB04FC349A0CB5272AD +5A4A4D777D1728F79E26EC9717FEB258788E54186FE30F2E9108992B522E5D6A +AE97E4BC589340D06A28BD597723E8B87E8F2B99A84B63BE0AD0FFA511CDA1FC +53F198D2A66974EA3DA147EA6A68B2DC2F120B44F8101B724640D08CBF77047E +6C99CF1D0CFC2FC4A52F0A715B224FB81058829D0C0DDA4379B668C342D13690 +2ACED593F76DA482DF8D9A9DC92A4A69E2C3606FC8BED180A7D22A1075918161 +95CF0FA1AB1BE6AAAB1820A00511F871E0A3E55A036486EAD548894DF391969B +DB87D0FD1EBDC8344667321CA472A6893BE7B59565479EC85D21DC03A7AA09F7 +F998EFFEFA2C6FB93D0FBB8B4F897C08A61435776A24719471CF0A0C22240C6C +17B3FBE0EF28FFB9AB574B7D38BB11CFC62E0F4ABFF8006F94DE250706DF133F +C97317ED9867045906F13B1ADA637E858D105423C6EF3C28A633DCD75308F80D +93889B99A89DFFD792AE7ED5579D0F2A82FA45E41FC6C0ADD5B6C2B9623259EB +849C4A4D82F88CBA96FBFB2ECEA6AC67F15407688319991E3A426FC440496877 +3EB7F526F755F6DD3FF941A6A2F1AFF6B3A6A9DC60C48EFE924A54EFA164A3AE +20FA2448A41464B3B1E9D16249B4D861A8C91670B1F7994C81D014A25D35112C +4B34FFBE0DDA3F3F50F26F1E9A6E793EF026C0966E0B036E0C5D5CBFA5117D2E +A00EA233035DEB0A9D80B0D63EEC8F78A0FF0B4256AC9B2F47F1224C4816CC65 +B518DC59F5CD4264B88372ED513B3CF43011C48B4D1BCBFE342A73D647992FF2 +B1FB8F398E8FC21F1F0A4C70D8A505B10E452B273C3167EF909C44472F55D464 +DFB683574220F379D350B9195E409C34EC39F35E468D32DC1A6E47BAE822F77D +8B12A221EBFBC19A70D128251EB8D3389962708F82DD6B7408372BE6565139D7 +A774A3BBA0258779C62C68F941C29C36B658386EB7DAFA96B659E983FC7BA3B4 +C8EE0CD927CE9DCDEB6F3E4EA7E53112899CA7A3D08556557F227919291495E6 +639615687F2D8BC26E10BCAF72E6DD89EAE218932652833735BAA71BBF80ECB3 +C924002EA55127010EA56694ABDFC964B90CB9F2C33C9EF78701AECD00B23693 +02A009CC3F8FC6FAB8ADC30679B74C19A985BB4D6F3D1DF3F3C5C09DBEEDC9D7 +641275E1AF7B1DF55317EB3ABE4B9BA16FD41F9A072C7AC928BF7CF3EBAB86CE +464B6DF5FEB568C459CAC53DFD60D991F09F68206D9DF48752F5F1D073F014C4 +06C627D70F22498CE826899C19FA15212ABD0CE18DBA483BC6A2620F390DBB37 +422AF4A36FF7BC786E36A16CC0B29A8B4AA28B866263580058E1DE25E0E53223 +B97249E8DF3498ED768FA5A39049ED70443B0E8F4F6A9C4E582AA710B13C91C7 +AAAECA803F0C908656134A8253BA7FBBC55C85240CA3A5747ADDB7B8C01C6F6B +2B177226463DE6E4342C2CEC1872D384338CBEA3714B05540EBF7381E112FBD1 +90526616F09AEBF836C16CFEA24E5B0EF78F2D97A856E2DA8C8E9428E7A15FBB +9DDC4F97C7B7C5FCABAB63CC9C96D059B2BF54BCDB4F32873D6F932A35E1BEC1 +856700DE2AC1F6ABA2024CC733F5AA0B218E1D7415D22A5E4B1082547A3CC7F4 +F474AA19A3838291748E4F49EE98869C0F01B7DDBC977A3B8E1D879C0BFC9260 +70283E9FFB6650661623800E0E1514A160CDF3DCB5C305208A1243D8B6CA5D0E +D135C94E5155DE8A89FC859B211EB26849A167CF9EA8660FB9E2E2B19F0158EA +D00356F52E52B81C7F7E98D6D3D1827AFB9EF8C83C9DB91EE6E5767FB1A3BFBE +EE596310848A822F323F421927AC215F7604C86486F560BD1DDF585D371FC54D +898BD493D4E49E1118CF3488A3122441F709B6DC4A44AB95704A9530938AEEDC +4A7F50E45C246A2BA91A7A9DDAA6B6CE2E9657E56970D0E5407BFBBC9A3AAFF9 +A32C8EF2904F0C3E85AD10BE2456B8D2BFDF8913C718EF11E27B7DE368202FEE +D6A633614A6FB095D544ABBF7F015B530A92E29843D5928FB74901377C4E60C7 +84BE89074A79634E24FAE41EC7EC18C4652A915F7EB067C469D730DD5BA3ED92 +9B0C11EBAAE911D207687EB0DE2438FFF5B5FBAA361E379B7B9E55837AC94D0E +98931C9345E4B3536F1B01F037BE24582795D547174F3EF81E656C5166510AC1 +72F973AC5E3BBD242B7332C88A2E09129AFCF06899E549268AEA6F26098989B2 +1E40B71F50A9359A84B8A571AAE3E9A46DB5BED194E2476A14077E11C4ECD532 +2DD2CF8744A5A685E3DA650EF9357377C3906A2339E4A47A18521BF479683882 +6617F607BC23B484318F67B54F04563656E17DB2278ECB617D6700404E137256 +339C01DC0395246DCFA612534E721C0062527CB0B8FCC7B17E1D12F11B880251 +7A34B2F04EEF3C459F34E8D12F79DDD9372B62E214FCA738D19D7EF0EA98C207 +6C2DE95E4C910862EC793060B2617435592C0F97BDC46B7A271817E20893372F +DBEA1627F24FBC77E180DD978B7671E473E8CCEEE8899727BF9379AA7D55CDAF +BBB0F5AAD672709D529B5692ACD5C97439F3306AA0414FEE61E0D6B5700373D3 +6DE8006F00FEC8F67BDCEEDB2E2B49941784A5087C4788C16973AFFA33D7173D +4D0F7F302C55765B4C4E2F42E7F5DC865A5154F73A7673173AFCEB4ECF23BAC8 +20969C981F60816C13CB7221068F9099C9B80F179A45B85EAED3E7B211A53839 +6A10AD15E2535EC1716345058F904B7351A023F7DC6B71B289A1CB8E41444C23 +450B9FDEB1AF3D622707F92949317707AFD55332EF155DC1945073C95792C782 +96261B3921F969DD7BA9BB1DC4B6061748D29A255D411B612F020292535B38D8 +853030FC48E29C8896982894A2C49187940B5CA455D83DF2F0B5281AE3FABCA1 +330BEF053EDF7B77295A064268304502B6270EBC50EAE1565325C88CA331EB02 +FE8CB6FA22FE89D8ED81FE73041369FB8918D4B6D50BC160625DFDE9CC7F3458 +A577891265F78157D57428C8E99963EB9878D9C7FC040BA3A5EC8AF488DB20FC +833ED2AD7F5082177C4FE884D37E3D5436C4BEE9C8B82FA2737BB1B92EF0BED7 +F01564C45822537C5E73BC2D79D783F7C715987E89ED0B78D730B71152A338A7 +BA661DFF0E0EC5EEB02B861392217777A569C41B80973509EA942B9622E55CD3 +B4EA00FCB0440DE4D6F7889084D680F931F2B828176880088C610050C45E713F +8451B180205728742EC190DA46F0380670D59209211E45C91935450F0725F07D +CD183F1FB8414F8356F37389B61FFED4F1DE6EE765FB265FEBB71D5DA6374D07 +882ADA46F2A891A24FDABF57C08EB2F595521E911C75240F97B836FE62AAE7D9 +9E886370D986E2F2421F18FE7FE4782BC9B6CE3744756B7A3B3FEB94BA3D06B8 +5BCF61A18DABFFDD9B9982244B53BA48532F73ED8F6D696B303FD210BC0C3E2F +BCD8CDA3C6BFAB7392253E967371D092B9AC2C10EE25532C1C1A1F322B122D32 +CC0740CA5C65FD9BFF103F6A19B9D51A8AB42EA04F1C873F1699B6958AEC1239 +DE30D6FD6CF8C22D0B2593692A39D6949EA1B0B53E6581EDCB1CD0A95869876C +5CF0BDE9C90BB5DC921E24D994F1B52AF67C041B5491C07A65A3F235D962061E +F888F5EB9B54BEEFCB4203EE3DE6C298CF3F41AA7636A25304B085B150000E6F +1F65ACE847E85BC188E810BE698840BEC394BA6909BFFA99E0A76317F5725444 +A7C91A27621DDB668E1408A4B42B0AD158FA4D1313B27046C40E355D1014DBB1 +9C24EB133B3B32908FA4859BF391133EF71813FD63822808966239FFC96F6F43 +AE7D089CF57C1AFBAA4CDB6B57ACDE095F46E9C9892B799EAD90067145792E0C +E614C6CAC3629C2DB9B53943D7EEA84A68C549A13119AFB6BD1B609E4ED00D6F +7794F30A7C142D59FFBE6601961F0A184ED53CB07843204C1F58131F83C72F44 +5B335FE76F5EEC8D4D322C64AB345615A50BD3BD1FAAA49AFBECC5136048BD4A +4E2CA4CB5CF2456A1426656D886325F989331DDB60F6BF9A7B9057C025283E93 +6AE95B08F872082FCEF59097EE9709821BD16C198474C4AA76CEC70DDC916BF3 +B12EBC8FB34411199F40642A9E5558073C63C379781293F7CF3EFFD6D0E309BC +B7D49A606187943E6E75C0BDF39599C998A9B4F61D72F448F29FB1CCD49AEB12 +14C7B83CF066742E65887DC8493EBF905092FEECC09FB1688D6F7C6B196102E3 +372A138AFC23D7520EA86D64CDFAB8CCD41BB1F06578C62CF125CE83CFCB4D2F +62F7645C51CD43058906DF9FC59BB7B5745BEDF719E6F5BC0C43F78358B0D49A +6FBE10AE9E7C313444C210B14AA51A7783137448F21415B1F7A16099960D92EB +5357742C16939C7B1FE492261AF3E28797CFA336A12DD1FDB793FD845D37AA39 +4A739F6DAE90498C21EA73372949B0C486D028DA7F2407513973835D864A0853 +A63EA940D96F17142ACF1B5486FCC8D8AE40CD79D55D4557431C31D85797B1CE +7E113C1A0302C68052F0AC9F2616F85201F8F58E2BFA539D7025F289BFEFD3B7 +72B6884368984751EEC27F1CA26ADAC6F7DAAD4BB4F28B39C657AABDB7487F52 +AA973A22796EF8EDD70E6AC0722BFE2707675865C90A8F13F02C78DB32DBC23D +2D99E1F07FBD493752528A6E5C2F4E8F83B2D1051AD3844EAB7A27260F19EDAF +D05BFD824C41051AFB18893132C749AFC43C264D924D42B60FFB55E29F591FEC +43EA5C1F06858B8CE97A75EC7B5787BEECE0896EA46457BB26B2D2C65C17A022 +B1E870D92C74C799FAE25EF4C3E87587B0F435E54DBA42122C0AA21A08F9C7AC +CA423BFDCDD252E20D08151A637113C3407276B41134BAF14FC488BDD9087613 +A25CF4F8C4861C62E1EFA6F92DE91368EE171CB610793A06C978E1B0D641901C +0F310716DBFDAD1CDA7DF2975B6F5F5ABC05E331878B09C114E974E9C57CB303 +2621D41ECC898B617485D7645980B35CF84CE5D28965F4D3273DB7808EC8C0BF +7AEC58BABCB0A4FD528E21E0ED3C41A81DB12BC0348963B55598336141E2B647 +A5CF81547CA5E5EB9E04405385AD3F165A50586C7F9076A1983D43FC60ACA6AB +144803547A48D54477D3B4517A4FCABD360EA2EE9B5E3BBDF8C9D9C68743DEA6 +6AD2B9628DF2C5535066E703E8272543DA07DB2AD7EBBDE49AAD5E37B92451ED +85EA239A42FA517D2D85174325FEA940407C0F88E8508747F3EFD7F25BBA4CB1 +08CBF027E16BC316CE1DFF875A622A5EC59C6ACF8F4D7DAB4011841DEF0D4AF0 +D93B84AFDF60433E095F1C8FEDA88961365C80E3F36C1FB345809522DA01539E +BD8DE4C8FAC28A51BE1F43288AC5F71BBD3C05A9A30DF0043906668ADE23311E +4504153DA865AED7267CA45E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2148,10 +2069,53 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 34 /quotedblright put +dup 39 /quoteright put +dup 45 /hyphen put +dup 46 /period put +dup 58 /colon put +dup 65 /A put +dup 67 /C put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 87 /W put +dup 92 /quotedblleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 120 /x put +dup 121 /y put +dup 122 /z put readonly def /FontBBox{-163 -250 1146 969}readonly def -/UniqueID 5000828 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE @@ -2505,10 +2469,37 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 42 /asterisk put +dup 44 /comma put +dup 45 /hyphen put +dup 49 /one put +dup 70 /F put +dup 74 /J put +dup 83 /S put +dup 87 /W put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 121 /y put readonly def /FontBBox{-62 -250 1123 750}readonly def -/UniqueID 5000798 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE @@ -2535,207 +2526,562 @@ C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5 2E2AA5BC4B4C70E21F3AD9AFC3B8605A00D67EF9ED1F4D13DDAA920D45B43CE0 0941BF17CF05D2B777C11D4D844AB20C0693D1DDF00B27D9E1AA2D98A4A06CC6 D342AD8F644F4787B66CA7D861E7CE13FCDA85C1B0C9F94009768EA89838EBA2 -7818F40A3ADDFA3289CF11C1ABC8DA5AC3A477CC71580E3842433B383B7A6662 -2C86BD7E6DBF9E45B9BB6086E0E014F50DC64B401C33C8AEDE6B2756F5341ADF -C9E390C565A64326A18ABBBCF16E34D9F65897A334D9E64077D4A27867103DB0 -08C77CD64D79A5E5F9EEFB3DB4D3793C20E6B2E76AC6AB2DEB5A90CFA93E334C -257BD0068AF79C07C4866CEC5F430DF8F884A653CD1B88157B7DDE592F218979 -EE3E839363A39DA10E5282390355ACAAD951D63C2FDF3D99BC77E54AF18A30EA -A47AF562D077BD7E5248D279A933CD80A3CD51CE38A991341BD96B71C0E5C264 -3B7DDA225411DD0E3B744E8FC0BCDC2B6D7C48722F0CE06873C62CEDB6FEF393 -7D03841FC158E2A243B635A38C018B3092B574FD93F9A62CFCEDACBF09EF0251 -A1CC77E97C9613A9CD124F9AF7B9B7A0301C78055EC9E31BC58AC86913751A58 -4A7D0798331B71F2991FF4CD88F3941095E8AB1558645733709A14D61580FE67 -B31AFB106CCFB57F1325CF351786962AB73D6F7CBB948AADA5D3829E465247CC -087D25AD54023D15C5E1E229BB7BB422085A2C1EB62F9EB74B00F887F67B8A23 -017A793AEC5A4537C494D49E61B9091C9339DB3544C73AF64D3BBE0056987DC8 -E3D230DF0B82DC9D9DB5DA80647AC90C542C7A1965FD835D069CCE389D5F665F -DE21106ADCFF7AA7A93914E31A1BFE1F39633145498BDAE7A4C5FD94254594A8 -06B4D5B66DC6A1560AB80EF3A26FA66A4532FB591F2AB99C98E27E035CFEB2B4 -7B310B722DB67CFEE05FF09C3107110C847BA7879663AB69193885448328216F -336B65F083F3C17A641F2EEE9551C64FD7F5EE6EAADAAD908324915DF373D0AC -F567132A7034CB61EABC2816845DB93F5A05EA541680C9F49784FB8B00EBCCC6 -6BEEC3B142C24B9AB6F5672763F8B051E9D2CFD7E27E2697A2665E684FB94BB7 -F0907238FB54782608D8144A853C338C768705F7EFBB13FBBBDAA7CC1DFE6478 -63FD9E1195504255C5A87980BBE692D75BD996DF8B3A09D43998AAB833D694AF -C7BFA95E9DF0A8676B84D1381DFF1CDA7E2F1C6F8F9D14FDF23DB01D31CC1CCA -3F5962F0568CD50D12ACB13EE81E0860C8848AE1271F6DD7772AE083212F2D48 -780EABA77C42057DD1FD54E4070E3194BABB272FC86104643B80D997A467891F -630B6E3561058BC3B9A28511CD0D45F417D8FF9F4198A5C72E0C7C5E7CA54739 -94045DFA1CF0D558581D78CB8205BBAFEA27CA9A4F282DFF0C29B629968913CC -CC8F782A01C606892F8B948443BFB3A4E79F777FAC8225F1DC09A8533EF65C17 -CE6A783131F4B6CD6C324EEED05F573BE5A8641447EE8D8EF96D115D632C1B4E -4ACD4BAE86DD8F14B7B4C709A9A82DD0AA2A9B43BFA330AECDCED601728370E9 -F8D4E668A916E27CBE843B8B5854445848C3BDDC10211E274D6A54C0C4A67A0D -19678F750D5A700FC9307A6433D1CE71897A3CC25221CCB5370FBE42872A482D -2052708A3F2516897A060C4DB178E5C4312432972861B6225570A9ED4978D287 -94D9615A650D235B1127671E30A38810408C80B8DCE01286B8D3D74AE9CC8B01 -D83C4E4B2BF5E6808F7753FD0DEA81B69F8C9B60821A48777B7AA7F3DC0596A7 -756CFAE0C08AB5536A555A05174313B3D75368489A1F2CA8F73A7F56BC56F9D8 -2400F622E16C6A1763E525DD70BE17DCFF962FD52AFDD44D9C50FFE9DF6B507C -E1A1FAF9739C011B262D8DE65801C3B1BB7D78679756B7DCB47F7DCEB9B2A2AA -D5F6F7C8296D83B1513D3C8D0B94E006E901C2CB8EE13ECD14BFDFAAC75B8A66 -431AE22CE58CB869B08AF92E2B0941FA8B822ADF2CD54D65C959EFBE35BD6408 -1C3CBBD68696DAEF6843C29D63633F345162299797AB724D357C061999ACB616 -B7F0B6F639C32BA34A9796B2442587E74C5D90211F1793EC68D119C260565172 -1B9E03C660A5FE4F12CD75D1F3A80451DCDAE137A0F972D31BCF4E7035CD9F67 -113415F928705DD89EC43862D1C1DCE445D6A132AFACDA3CD01B2E1AFF5F3120 -97C536C42AD9322BA34D1E8CE90D67DB144FE71B1300BD0B69F81268918C2867 -83E718CC8CBF432E523CE8A240870ED708068E551BC3744FF481CCE43216003A -4434CE57B3E55A5C861C4E3D158FD88989B59D242605C1900F241018A8C8B298 -935C650C038917AC8311D5D8AF4008EF5084AB624BCC93AA3534A86E22501F76 -A02F76C7F610DC077E55FEF5A37AB2F46EE55C2C507BE4C5F330F449412781F8 -1298597517BD3A6CF5AA604BC7EC073B1BAA19AEC6C3A626B4620D58122A97D9 -1CE84A5A049C6F033EB302AAB1094B292B6254EB8DDA76742550BBC2AE8C9F4F -620C3FF47BC32D4C758B10F40D3EEDC5EF711B593F3363BC144CA9E356C2E6AF -283E0AB8600EA8A2706C860EF823A035B102829B239A61C49565DF182AD92F7A -74149C35A4A46511AE451A93E28391CBD324387F3FEF232D53EF91483E09AB19 -56F39FE9C6513737940B7232F5153458CEDAB4A6E80F9001979275070B3B194F -B6A0F8CDD628AA150AB8E6729352A1E2CA1B4847AAF49A524CF8EE3B1A9761E1 -22915D55303E430BB5AAF7404760AF827DF53D63857A8ED31F40DFFB7711A68F -5687D6B397AE004B8D490D1360CB062EEB45199BB8DF4DC51A2CC2EDCE65183F -B101A020ECEC5E4678A03EF4FFEADBCD2AC36CFA64D3FAD3FE8E6FEAD4CF30B6 -530365AF486008E60A0392C1E5937A482AE8705565DFB0EC87422B26B2662FAC -2C79094D1AEDEE757709898EA92927C5DD183C13880CBE926184850529122B5E -F91C48D56C835D14AD2CD4E5AA2221894A68A91E2155A7A1809DD71D5BA8F5FD -D23815E05315EAE40422545CFE5F49DA9EA4642D27CFF414DE97819E3845C34F -E914776DB01CEF3667A3B547A6F8C5940529EE4C2C68AC1204F32D5DEB366D7B -C8997AFCEBAC14A9009A5174C54CDBA3F336CD3F7AC525309BAC156626F9B5E3 -91F65A3A8F9C62B56C1C49C8CAD0E8857487F6728BC548B08CC4D4DFA8B3B76F -7BD1CAC3BE68D6426822548EA702FB57DD1A9E050FBF68787CE97B18E5904993 -5DEBC1684E7C35AE0AEE844E9A9D1F24BE5A5950F6880D793359F58A3214E352 -E4D07130C9BBFD00F3635C8507DF0985FB56E9EFBF113DA98A23574B49239064 -C8D06697205C4E74E708F5AC699CCC68282D03773530B3A479B0A3FE8A6AA9DE -0AA677A925E25BCE731C0EAA652FAA03D188F32BD7541085B6123484E97FB263 -FE43B844F6D34DDC8916243D3F8B126BF0DD6C8536B69ECDFD06670B80BDE750 -9FA4C6128126DCD36C9894D54AC125E21B57EDFE228C8DE6774DA44461221106 -3B507EAA89865E445C192146050A956443F308DF446E7CA7C19E75EFC0F62C6A -4B6A1AA33884AD4ED5B74676CC2AD323CA41223DC6EE8D621F1EF94E7A4AF0EB -AF1F40FDFCE5FD8C9CFB2E5FB4F4C0D7E42887FC7B4BAFD748EFF5EF48B0459A -C4E880E6446E2F51169A7818EA7DE6FBD936CF66586A947C3EE2A15AF479B27E -60C9949FB301D3B7218D72C5FE1B6DB91B685CE42792CAFAFCD5271F1D9084E6 -DDB017D33088EBFB3C479D5357102925A710482F05417892355F9C58FB5D9937 -1250AEDB15EE99524558CE9CDDEA43CFE66A97E05D3B86BFF7B5362A4A84B736 -47C3DB1DBC5B150314BD7F5FC8139050B40194A5AE1F691A78AE9353F788E266 -00424C0987C9B0B93F965131742202844C3383BA6CFF52995C08B406C27D2A21 -B7822664081F30AA39709CD76CA9EEB1E59179A8C3332A391027DC0B21CA7F62 -14CCD2AED6249DDC2B0F8A50959B61A60F342F44119BF8508D05509D65683607 -2DB3F753D076ED3FCA6A2802D35390FDB79A7393F5082F62794AF00912B0CD29 -495549A63B0C060A64B5AA351523200D6C1EE31A782165BCD6C5AF13A9BE91CA -44331ECD97CA95A0B9842F5069C9A73759451646312E4AD61C551805ECB3BBF6 -266EC78F08132E28A6DD7318B200CAED5EC69CB7387DBAD895C26C314645258D -2503B6B2AAAD2FA9882B172B33B6FA61817108F1C3AF88A0F52550C7411D0767 -9D49FC7E256AF00317E751D347A148F4A7951F5D7C2ED12070FAAB14464B004B -1ADE76BDD497590718895D1766F3B0E735C7CC421E455521AFE33705659928B0 -18354E80BD38DEA4034719ACE13378B191327B185EAD5C22281CB520ECED6AF4 -1242691EB0308F5E6A0B9EB2FD1D3F8F4F91219F7E8C95320915862A2CF98CDD -A035BC61B859CB4638F82D09113F1A33B9C01456DE233622885F8EE3DC5600A4 -451BBBDE57F42DD995DF42DB4BFE247BC4AC6F441461A05A702E28A8A19261D1 -05EEDD11D807808C9810553ED04DDFF35F79F266001FC760CB4D5F11FB54300F -2E15853F57AF0334B453AA7846BB53261B57C52184A3D427E50752800642F3AB -A1B999320EBB096DD2C295EEC8911FEFF88D2CA88A370073828641C4A3FD6D55 -A822251639757FA9F0C8BA1CB9AB479401262ED37980725271F4CF15DA8C8933 -1FCF465B1DDC6668CA0ECE9AC01706B0A8F0A7BFA24AE8220DEAB2595304CC05 -AC1A6B5A1B0D6F11D814A59659928E7A2D0DEDC004559166BC4247AC3F874032 -5659E2D272B073CF42C9039559813615C984981A981E028B0BFC312E0030A1B4 -3C888FA54DB54191BBB106F4A1A0758C7E764B4D7C4ACE41D0FC0508EDCF9063 -1F92C05A4125C2C161EBE22ED9E5406EE92E4616C187D20D78C3DC5119D98EA3 -6A61D4C68946257C1EF72C73B963A3019C98F398975839227AAE45A9BE4C98D8 -81F059372F5AE180D266C038D3BF49633CCE671AA3FF3549E86ABE6CDADBCC5B -DE5CBDCC11B6E38435C7C6D6CFAC215B87339E046A493664FBF08E5DDC255E3E -2177C6F9EB01F99C9324C636EB668BF03D2CE7F21F964DBF28C2F945E368CBAB -EC5728270B6D38D7D88F5091B942E20FACD25B4ED69A780E327F10A2A13254A5 -349888371329059948E672D23CA607A6168C12EEB1CD90AC7A78DD5B43DD4F16 -6F9376D4740643A52BD60FCEFC8D3E05A91ABAA74717FA0802FD4AA2C01B1354 -62C7C1FDA92904E02E5CF4D37AD588B5E73FB826E06DD1A6500157D1131C6AA9 -25B38CEBDDC9255BC58B92F88CECE0F6B18F019438D2BCE56CE686DD29A32258 -63B624C8D492BFE52883079B7995D5F868080D90C297121CC800D6FEA1A33CFC -108FFEBC29FAF9A2CC2BCB0A22D9AA42FB825F16EF09DB92103C9D644F49BFD0 -2A2CB434F4DA6E7C2BC9B4EBF5D814B2BCD8103E730DEFCA70FFCEC0BD46654C -CD6F74684B6AFDF4B3C25CD8355A787C1D72B5C85C54180C37A58E725A7EE4BB -32E73438CFF5A973F5660C452027F5A226D102047BB6E7F30A99C4EF253A31EB -CF976821A2F4B5E88E4812BE125DB3F8780220D9123485CEF8F4FE4A649B8F3F -AFB543CE79F22AF78DD5A98B0BCD358F0BF81A1087F73EF1DDA956BE09E31D48 -9D378715A7400B565869F0774754CA7E4AD76D335B03EA7902874AE4B75E70D5 -651D44FE1380CE4445EDD7ABC14D7B6355DE55DE3DD72330F70CAEDF95D6705F -29A9C9F578F36A9167809816BB9C0AF317A7FA6CCAC1B0CE9B1A78276DC53A9F -A75188831B0F3A23591BE06780EE4A15B5C690A1AB56F8FACC395BF408EEEE51 -4D481E48B606246CD923BE9FFA8E54C878D1B311149FB2331374C3E020388118 -0275346988D2A90358D944DECFE459AE69D94F9F8FD7C7B48C0DFB861111AF66 -0069BEF3F1EF40840FF0764BCF8DC107996F4CACA42CAAFE7EA447132443F50D -C24B5B2CCCB9D3B829EF589AEE5ECCB0D8C1F8CB9E6A51C42BD57B4FC1CAB49F -21E28E418D0519CF2445BA410618D4E40E4C95D632C7B65A802F5AEF2786C1D4 -7768196D752BB954AB5656F209E72E091150728B33AF8FFD5BE128B1A79180FA -86EB92B9E70BDC48D1C6C34E22A880F7A9760DDB9365C8B93076452B20813171 -73F6DB182B495422532DE4E40034633B57A7C92E1A7B31AFEDDDCC3BF1800488 -283D63A3C691420ECD269A22D905669D2C0310615AAF63E0DF63F26C2997A13C -55CCE68A45FCC8998638E4618BF57755BCCD2DE97DC0577584EBD84DD712F03F -D15203B0BB130F44E6F73B1A5970EDEB76493CA365AFBAF67396C7F75A0932F2 -432FFC177E86B6D1CDDEF700720DE437C5041B76687F8E809D07B66D64D22931 -A07E301230079BD03874E6A5A055028457DFD073A4FA6750B5EA2EBB40DDC2EE -4606E47BE9E10F709A158A4C65D5C10BFC3A548470835DF29E5CDD74C0B02621 -100F124E90CCB954B742FFE19B90DFAEE0754A8EAD4BB4905633EEDB61B71F12 -2F63040C1100F7803991C184E5827AC34469FE3E7E5095CE098117DD22CDAE8C -6C920D76767B1E686FD901164AEF47FDA9B92EB9DC76708B2F2F36240D8D11AD -E294922366D2DD0D28F55DA0FF964128A5223FF57DBA66B8C22D392E6AD1B6BD -4EC69AD619DBBBB2699B50ACFAC8744CD53E798EA08D5D396CEDC38A3EFBF870 -E4B38D546B081D28A4371D1F87720BF5A36648922E92DAF68B0067BE1C093C48 -94B24453680E9C4B625E77F353402CBFA35C135B5C0E95C8DEB5BD7997D0EDEF -16091E4BA39FEDB943CC272FCFD78E2A09CB616CF3EAC21BD921FFA14DC15C07 -F3D601E00889F2C967C88B1A04439ACD707335EE56CE8DCD1109A10D7522FE03 -D17A3AB244F8A6CC69F32D2CCC7EDF594081D6F37AFDA8711D8E89DC22588637 -38F4712914B72C86D669CBE598F90FE585004AB77AFCBC3FB1FC937233D2BEC5 -50BBFD682D20B2971ADFDD060AE9338F845C5665E307FB3E851F0394C1E9458B -040A4713B19BEC70C601E1BC5B4FE1198B4046EB74C8B42C6EA21652BD8FBAA5 -EE30F10C032AE379B366D1D7EC26B053DC7694E7AB1DD90B9F7971F4C0560BA0 -B4A90E4DA818BA24F7AF3C9A9C01FAA90C3111D86C6EF207A01DA98A1DD67219 -CA750F4BBB5FA1CBA65B110722F9C62839D3E48868F41DDEDB1685DEE3FE9C00 -4C4B5A894E4F89F25346FE0A1E18222D14320E7DC6FE54F37DF7266C1408105B -D4A79211F3C44A64855325F80403D59155615213081AE8B1BD4A1CA5E4364957 -43406190FC152BB31F90726E6C3F594B8CA1A939A73A2DABBD5D549F4B638E29 -D6DFC72D57ACE7E6A33FF9000066C52685F07134E5BC9DF4E776D749742F163A -C14A7F07898745D2CF4F55F5CC10E4F1AEEE09932171894933C3A4E079B2EC44 -5D59EFDE1688D1EB57937CCE92E9D315A12AB179EE19C48EA1A0AE40615829BF -5866E4217A337084668DA912BBCEAEE455E82C271F1786BDDA03025956A81C91 -C064EDF471361AF6AF86FABA4537A0E7FB3F6A6425834F3BE587CB157268E6FB -D4AC0BEDD9E8E552AE51758707D28CB03E0873BCD0A5B1F1154902544FE2E006 -D297EDBE9736395C05ABD2BA27391094AC4D937DC359E5E411833DD7ADE001AF -0A1655C45B7575871522A0A5D06E3FE350A2F43034EE8C2C8F4110CF288CFD52 -0E59942FEBFAE475647608A9D2F0B63AD46B36063F1A23032CB800E05411FD28 -42946B2E87ABFB3D70430BDC3A3009A80FE720B15B5940191F0FB60C223C57A8 -FEC36F5EB459ECBDEFCBE905B15600879325DFDDA763D9A155D59D28A5E1CB55 -57816930E3826CADE29ABA5ED3A464235FC797CA8886B624924F5B5DD6F1A456 -CCD960398BEA79E011AFEA3E705A0282A70EB79EE0A7F4D4675A43DF7C70D38D -79145E7A07D37029188341B1D63FDE4A5C5CC36A1892578B5B54CD8091C3172C -6E0A0B19159A7628512A525199BA7CDB6D992C1A9A5FDDAA99FFB4A37E4B6E72 -21FDDD98960F9167AA5825000B4BA73566F2F2CC2B9708D17DB5257B28CE36E9 -DC11711E3614F99AEC6CA60D2251C4A5611A3B3D103751A823DFDC9644B80E77 -D9C0C47DA707CE0C350F3C46CDCC16170BFE28280D6172BA5E5767D256E6D45C -AD0E773F896C99FD3234DFECD792E2F8AD09BC3526EB34B78B86E28E1CF09331 -0D1B99ECFFE17653F95AE29E8C3677FDCF913198D630AE5C063C900DE3A2D23A -406208F9B9F55AE84CB034FA2CE266D75EB77E9CB946050FA7D73D4FB943DF58 -E59AABC7A3D77E765B1971D19D487A679F0649E9581E6A73DDDA9A2A43F102BA -45547C603C5AAB447481309E58E4DC32F5C2809EBBB03356093B2C7C0A74578E -7284C24847F5E866DF58F83B471A8E9F4BE01A4F64B862E4D29569326618186D -A7B976BAF1AC858F39B7E78E0EE321A498E6AFD21D999F7DA70FEECFB8685222 -8CC65AF2D54D9A48A4C8C3814FED8D2077430CB904EB3E1F9B93C26798A9C4D1 -C3FF4D8BCF5DEF1BB075A81CC73E6C0745D64A423FDF6565A3A88C7F40FA58BB -7CE92F26D2EC92DCF98479DA7483C92FA26D4685DC678F1B3C4A4A7382A6F932 -AA0579C468939AE28B2F0AF5E7B24084C3F2377771A4FA99C004DD363D0D5ECE -2E1E6276843D91E01451FD565EE1923D801A957A4FBCBF4ED69718B97A589207 -9BB69EC43BD1213E8DD30DA0D612560C072BB1DA7030FD895914431FB8E0FBFE -EEADC7D78186E4C7AB07AC47B4999755449050EBE24C26C44A6A2D416A3900ED -5555A8DA510EB6E320F0206C1BF6C735B1C8B86118450BBE44B9F7B5C618783A -2935CE222D28794C2B84D4316243DDD98CBB876EE54113ABAC115EA040E1FEBD -D1818680857C97640BFD4F92AE77A57FC4545F7E69E3B07E22DE3CDE7CBF6564 -2B2B1BF587148149CA6A626FA21AE060A42B7BEF98D889450F8F95F402DB20C6 -514ADC3DE2668C3EB909E4424D6FC58561D702DEF6468213097B2DD1E9DE5A3A -A052503DFF3F3E37DB8D4A16A7F2FBD97AEEAAA7E3A1FC528EB13E492CCD5B33 -5CB787AFC490B1823557D6549683229E8E8949FBE6352C361354BAC54EDA985E -B11CFFC7A12409C0D04686430738B4FC277218B59361F2903D58B145554C4EF6 -C257C7861330D4B7C987D597F9B9EA54D241DAA822DD28D9AF6056AB2306BC0C -7EB0D27347EC94159764B11B2625CB1D57C5A0A83DB4940FC7F8E00BD4DEFBFD -81766464EBBE6CF70A97193269B6BD8C30484F758224A2D5 +7818F40A3CBAFE9BD3ABDEC16E56A061E3D8BDCAA7496A045A55DB3EB2D2712E +AD9D0B0A01072845B118D703585D7178D2306EC2D431C59708D066FC0631D814 +0166966BB1D20080DB10049D1022989E3BEA3E88B7D448A6E11CCC2EF181C85E +07BC7C52DCF06C10CDFD186FE1571EBD33A7320232BC930E1C24E2474128885D +9119E6EBBAF80BD6015FEE94A5013A074425D65740F1C9B139AFDBCF7AB843E8 +41F9A080CC231064EC885A5252649C7E9FD78E314D50C4DD9A43BE0CA22E1950 +2221EFFAEC3B0D83B1BB3E35F871077622C8B7B2CFAD7DAE3BFF0E3814836083 +8FD3C852AAC0B0728EF54E5F9967C494636B5DC17C6D539B1E72D248F3064B26 +8386B3844794F26DEF6853DCA972E15324CB1D2119D7011C1AF4C3D7B6591EA7 +80883658E0A6807C052F42B61638F650C15D427C253BCBE8F3830B4617014488 +15700EE0439C5CDA4F510DF3465E1AAE17887771B35439B699B3A7A9EEE6CA14 +D02EB76AB25B5B7381415BF4A2E730E0A80C4F72E8D7007D5113FCFC7A9F445B +01CCBC45E99F86239D840FCD3D588E3E128F6F613618B50BCBF768FBD373DCED +42125A459DB775A40A7F76E39B0AFC77927EFE9F159E3D1CFD11E41CFF83F737 +28267F4A3128934429DC0309DE53618F51AFB0FD58C2D978C193F1EA19D16B47 +F56AD6643D37F7DA9C396E3C8029F98E65F6A6873537A0B57A852D1F3EEC36FD +2E3952266E6325BE4196686CA4B7EA75F4A9DB06BC97AD99F948CBAB2EA169DA +D079DF5C2F300D86CECC35AACBB7B49C1057A70E61886623FB98E25BB3A92320 +F2D77F8A3DDFA2D6FA3D598741DB8DC28367703373BFCBAE3C3009E1D6D39B2C +C6C094A761C61D7F4723BEEC4F0C9458A528FDFDC344C23F95CC1E26D0309F2B +D1A2AFFC9B952B3EFDF90E9D645A4B45D63103A8E8D88EE21218D63AD5AE2BDB +A46653268D12A154DB51C7A58FA4B93E7A5937D50BF187845CE96B248DFB19C5 +99D55346984DA6173D893E5DAF138E16952C2FFA39549E7BBFE927AA995E6A27 +42EF88CD074D779B05670F9171967727DA9CD41ECF5936C45EE71167C9DCF17C +4C40F46C8234AD63CD79B485CBF4DABB79AEBDEFDFD745FC580B2AC65682965B +250591B44B95B2FCACB8435258EA75E395B74912F4E5A811016277FEDDAD9C60 +0E3F69F532024C9D1B85C67671A29E46CD6BB7CEED4536C17C583B8A2208CBB7 +C8DF9587DF51921AF0F31360B3391E6D316C40D3B92BE722404AFC3BC2F0D75F +149637A5DA2585020DC6790E0F415639FC789B5AF7B17ABBF2B9EBC517576FCB +7E16C10DE1577BD4FFBE1C5654EDBE7BDD6FF6D18348C21393981C1C1E3B4C60 +FD0C2F99719E87138CAC9994E346591E3879BAB9954AABF8B1171FE88B4B461B +7B3B9594AA33DD598FC1881635FF90CB605951FB20B6726872D82777B37B739B +9A372D9162E4DB72EBFF4E7D691F24A9751028317AA20DA5B7F463D79725D596 +D3A6203DF5D51D96A82BDF2C62EF925F45B3AEAF135408AD0562972EF01DC686 +8BDE1BE3072E5D717FE9F4623469BA557C33866765D4563FACBA00E615AC0750 +45321E8535851BD89796FAAF929CED94E57AE67F7A8A1163613EE205F6D8005E +5F7C5D4F2CC25AD3776855F84D827F96FE80103EAEE8B740FED39149FB8162FA +0F9E76E3213327E7F24CB055FA327C4827A2252375FEBE6A501C45AB528DC658 +6ABE430E25A972A5DEF700730334CB58E54C983DE5A56E41B29B76BD3E2AD1A6 +6C10520A7C651DE43A525E7535E4F4E6A81FCEF5A4DAD2F2541CC26432AD8713 +C09B16FC4A305E44A1DD538803D5936AFAE28BF5870A7585BF40EB36E24A3650 +B464E673FAA258DC6F41BC844EA90EBF80C39B7FF7DB328A394EEFB37E12F011 +BA2A8DBADC26A19B7B818CFAA834F479A182F0AE16F1898D0511A4076B8DE1D1 +3E9BB210FF930779431C100768DC92CB2B981F46387BB7B6B6F9C9CE775CEB9E +E51A8AEC07B799D58748E7C64A1C030ECDDC4C074B4E1B4AA4ADCF24D8F785AD +D342BDDD1D49A5071B37EC734BC91E06A599F2F96618916DD73C6722FAA39E92 +03F9F078E0A1E5EEC7D85771CC85D38C0A5D835B3D10C2A57A14D1847F6568D8 +1E0B6C2C34A29ABD213DBA1EFFCC2C0EBF82CE289E5AF8CC1D12325EE22DF17B +F9F85333A859D69313035A7372EBA717C94442D84E76C517C856AFCAD46B7B86 +5991E71EA0193629440F31D731B0AC9BF1946002872CD75A681080C8A3F9722E +17840788EB6953C8CC6C8C07079EDCBA9CF1A490E5F21C1F97D73CDFA69A85FF +624C979CD37CB39388CCDDCC4A9AF90A733A41B4A2AA19B7B460369447F77B95 +80F977981D0AF2FDED3882D2EBD87B4E61003B8A3EEB50D4AA59063AC2B095F4 +455B0E3B5223C50EBCA6726BD030C1B361816774B62A6544C0772FE4B172CD79 +22EF2842F2454B949F1E136F4ECA260522D4BA3B96C360274CF4A53338D9EF3F +CDA148123993CD1446739DD3A91D8CBCEC2641B18F517705E5DD104942713E8D +41D9B51DAD6647925A8DACD925CFB31B481978E25934F126EF8D07E2C0528103 +A52AAFA322F93C1C6C7B762870FD4AE5C66DD3CE7092BE49C16CFC9A6B58C2B5 +127B04C953FB1F1D03FD15D93BEE09B2272A2D173A8B8EC6FDCAA69D0C32BB8C +67B9D2EEBE97535AC420BCC58E3F9BF055C57B4400A58DFE2D240DBD978D09E0 +B464522DC94EF44A0A443B8BF2D73ECC08DBBB49CA8F984D8FCEA9A40B284281 +09E4C0D7EB58BBC0702386782A8E22C6071B23BBA92489973C01D7D77F1A2A98 +D7E670EB64124AA8C09C2550C944E922427071C453880CB1700647F94B194B15 +EEF7F2981EDCDEF3591CA65BB912FD6EAD258A68893D0277E9B5E718EFCBA5C5 +0ACC45329E6B108BE3352CA15EDF9A6ED489438FE8C4A7D193B8D9B0E1145917 +A27E6ECC57F3926AA6A882AFCD751897C4B22A6AD3C6AEF20C4B05F2162868E5 +FB120E5F8D971952B727015499B534C6E56AB71380F78BD93241DE5DEFBD0633 +39460803E947A3BAD8A1D6E2E884899581ACE84137ABF87A595E8A9850B4ACDC +F61CD5B284DDD28780C24D2941A1062CD433E715D6F4E238CA8CDBA305C3FE5F +82D6D34B1B368046F3E894CEBE62FBE58CDA9B9B4E04D0F991307BDACB09966A +EFF08ABF5A2F4B12399CA62EB3E4CE3BF2E47D6BA9B53C5B6A4A2B55BC54022D +7ED98B399B40B9A702614098D4FD6584DCF539346DC3EBDC15213545BF4153A8 +D5EE8BBF0FF20D54FD738BAE955E2B6F96DD0343D259532175E1B67C4852D31B +0638692C1E7B49746064F3708A9E09EEC84E93069B0A0AFAC2D5BFA420072568 +B73587F9D160B1344AD7BC659B35CBC02E1F5FB9E94ABD1598A90FE8A1DF3F0C +95F942395351C765BAE3E4E993EDA98AD3EEA47F248CAFF122C0EA1802A36F56 +A1E7E92246136BECB2460B01F0BEF6915F1C2FA2B377F1857644D79CAC458E7D +1CD55747511FAFED8863D8FEC568105FE3320C4C5DA5816AE4310449D412E86E +63C19EC6EB57A782224DAF30C864101287CDA0FDAC83CB837EA787016B40CAE8 +F81E96E186AF5BBC9FD43AD997D2BDE0DEDBC7BB3D77406946B4A73A15D246D3 +98686A1D69AA38D8EDDEB1A950C8F19999BFFD0AB4BF22C855945A76E91F407E +93218BCB50B407A7A3BC467D386C5178E8B7783CF67A07B2850655D6B02E82E4 +6F7A5A75FC7C5F4CE07DCB94816627F38531239A0333A6E9B5C52A8FDDA9F4EF +11C9C069AD5E91FB140BAB9F743CB4AA42DE249B99012E73F01562319A45B4DD +C0D60AE5E829E948DB38BF14CFD8C4FA83D3C9E28B537F704D204806EE161325 +44E4E73D644820539BD992085508E1E7EC278C78804D52727FD40A4A0AD86B1D +5CBE493941DCE82BAAE014DCF85D7893103726DB2CF7524808336221A97043B4 +7E08671801BA2DC8032424F362E545275462D1C0212F64E439F3027DEFC8FF7B +27488C5CB42464AE8A289E759CC1431D669B339EBE31B65043BBB9856FD6414B +CBAEB80F47FDC1C64931DFFBA0B6C552230115A30CD88234E460DEF77583A467 +A67B2B01F6263930F9DBE5DAC38E2C98C340E896EB4DD6FEBE14A5573DDB6D64 +36FFBC63EBB55728873E2F1B0F065A7475DBBD17DB489C6D0BF8C85F94C8D71D +CF2F8EE428079980742606C4475F475EAB5899C9E80E072134394638428B4FCF +A9D136A96DCC1D554F3E178016194E52D2AAB4A743D0928517C2D52DCCB645E8 +F2FE55F48D59F328D36ECFBDB21AE2F549588A165358BEAAA0F8D1D9E74AB145 +554E0E5B18D0A547D7EF59D991C56DBCAA96E5C082D7EF46D1C815EAD659A0C0 +601C579087853D66004BA58A818D65891D455C4CC6AAB94B0589BCD9DCF438C6 +08B177F032DEFB683EE5900084FA33DE563485719D632DD7D0D432660FE871E8 +426545ADBA1140CDEDC5F9801C378C534E25CAB24F3331973DEBF97ACBE84C3D +B56026B0A3D73CB2874B97E7AFFA512C2EA5DB509602ED15D57FD768AF6FFA60 +CB210D64B02284DBADF03C6C15F7F581FB8368A20F9B30161FE79DE03796D59F +974CC627E9B7BFEEE51EB74A49350B2630EC51132DCC3FDBC157AB39427A3342 +DCF4B032600077D071B600AEB396534C128082A50FA6EAE7D4A8F0F72B933D99 +6BEC6BD8655502AE0D9B23E6D3C49223855320782CF9C5F6386971E314E68F03 +71F7E44A8702FBFB32C40FFB94DE1B3D41C98C85FAF8F9DCFC7E9C3BE042E298 +4369EEB3222DA615FCED23047A9DAB956ADCA061F4B90B2524392CFB9C3C704B +D2AE92068543F51D68DFA4EEB17D3EBBA2D7C8BFE8CFF1015AD696067CD0760F +F889C8B0DCD0830FF2095A220E674F32E3EE8013D5408A28CE3367C3CCB260EC +07BC07D33B327CD80D4A977F10CA839D5F1E5D969E9BD8F2B70A4DF954132F8B +9F699F4A5537855D2E9176FB19B8FF90373FDA715505F87BF2E03DB6DA2DD906 +B7B31D43B21106898048238BDD2FDEBCBD6F500CF3F52D00B9E1AF28081C04C2 +D3B2AC5EF946FBD2E217729BB37938F8621E0E29682E50AF217D784ED2380786 +B88D30703444C9ADCC2B8DB6E00B703B4FE2817107805419E7CD15D66DFC2C96 +3B11441C1DCF7CCF4D2E7DF6462D9146C02F9C754A0F6D90426C72CED69DF0D8 +75012645B886745241EBC350EB8499F69D1DDCE861C1492692E7A7ACB548FE87 +ACD4D9A014239ABA8F086B3CD16412CC4E2195E51C6E985EF3DB03A98B74A8B7 +F2440C9DDBDA65BB020C89C6DB704BCBE120178F79B1859491AD6D43CB56EF81 +330D3A8126B91F09F751E6E29A06654C3DE21B68B86D25FB93087997267D4EF3 +D46AB3339481306B932583A55066F3BA8A4BFB5822EBD0AF82FB6040262ED52C +E0505154B618D164F658D8ED4A949CB989004D2CA045BE1B6C13A67E8EC1B524 +EB432FD100858C7054A519FB470C3A5269FE4C25BC000A326E310E8CE55DE50C +6D9F5C9754E83FF5B08822A01A0753F316E25AF68E4A875348890485E1616274 +2808EB2E24D75580074E9977B8057E406DDE63D54F3405551FD4A57315BC40D7 +9DACA854A6A568EA69FC252C9D5308B177C91F4DF6C43DF1256F65E67449E1A3 +AFB063720152E69A513209CEF8B9DB92F3116CF3934DC71DD70DC84BC93361B2 +C6D6DC275A84F775E25FC5BDC4F1B039A69BF843D2F1799140852B0BEDD56B76 +0ECD00F47DA42000035ADFFB9627443445AFD17845E4C1F140A66D511626857D +60E264D0B83AC96B1C48D44E41224911D7F115107647E70E1840B49A3C696860 +736C7CD905129FBE0D3BD82AF2AC51E34C920BB8BBB403B1FF14DFE7324354DF +B6164FF2706C40A80D1A3861BDB1E8C876704D860484FC5F3B9D10CD7A72618A +10FF7AAAE8803FF3939D99C1B8DFE383BCDC411847D557D2F5B4E383B94BEDF8 +597C8150D4C0C3330951CB09BD2CA5616E4C75583C9C67FAB14F18269A3A215F +87D7E4A87158F77BCCB230787D7F31C6763B9C320B450C74E526616AF9E5AFC3 +CDCB8ED572B536118C774BE285EAB3B2F50630ECB34E5E729A25BABE4D4B09E5 +59C11EB1BAC23CD74EF2595FE0C39BCF1934E6E16557CCD789AF2C8D248008E6 +CC693CB89FC05A586B96818F5CD4624C99D5195EB585CFD0AB48D2307FC769F9 +46BD64068A370186510415A37DCE005B3CDC993C5E5D44361A8F6D2BB449C3DD +2E12F12E417A6D9F933F375A66682E6B68C8D08A793795D8E687B1AF330AD61A +0179974C61BD9352AB4AAD22B5C3A520B777E81D6D3D0EAE03801BF449332D40 +BC6483013BA052AE034C6E74E0304562C4029052DCCE18A4B4BB962B4252BF03 +A6FA16241D5F47E3D31670B4C034619DD64BE7456C6236796A5BB5C05DC4FB20 +A2E1065F3B98A749240BF97C982679D07F2C74D06BE6F4B1BA3F63EFD82B1CF3 +EE2BAE71542E9E7403AD59ED0158CFC8D7D9B680528D8DE3CC753A4E3B350E03 +A90580D592846C0249C8D0F2D24B8D26085821758425233492DACB8A5074B1BD +E5D531F2610DD9243BED758B000E9BED44113A2D82BCC31E718F4BE8E9DF494E +5621BC341B37DC790DD97E254F24F57B668B3D6A2562F3F705C27F6F9B564063 +B1952888D847AA7F5701C649C62CF5B83142471715CBF81C4EF513C4260D5A5B +980A2B96F36F37F52509252F0C8D87D802018C1DBB3768030848BFE3983B4822 +38FDC2A35163C44F7F55AB556C29EDDAA0146E9E66801B1780E86FD6AEB8FB84 +9D73CF495D800F2C09D99293F222272BD613172446EDAC65D131EE88E08362B2 +9270B016CF74D059EFA44B37497C2D694CEAFCE06AFEA6DB493BCBD4CEFE8F03 +30628DAB9D2C720AD94ACFAFF6692DFE5C75D9DA1F09E62ABB647798D68634BD +AA3EF0208EC3E1F42BB7A7F77617DB452CD7DA99BDF6742742AD6A4FBFDCCB03 +2AADC281CC6493738A45040A20EE8FC7DABA5612A12A4A1C14A2E85A58A8FCE1 +AAC9814F69507D49E458A18321A0A4BB97B38BA3B5A7C2C07240019BF98D2BF2 +1A2DCA37EAFD96E69BCD773163729172E52B33B7E27A56F57BBCB25298FDF85F +8BE3E9286469CCD28F0875E9550E95968BB46D9546D4C0B3F35BF776AEC9CFB7 +818FD280955293EB672A44083D3D724A2D1445F3E5BBBD6811F38744185928D3 +64BD78F9B5943F9FEF1E83E0E98056433263B4A1085018C332DFE5082443AEED +318D97E14B48860EF380DA1AD90D4885D3E9D6B10E8686A2A5B3D6EEE8EA26E3 +89A1CD93C51E4C5A26943D86664551E3926B06176905EF00597B71B0D2816313 +63702C0C0CBCF117CAC0A0667D8399ABFAA0E1F6A531FF8A2BC43CAB660A93F5 +8F26550D92F9203E404EE4F45F2B472F5ED9C2A8E18A89383330A3E2EE42FA4F +B3532CCA28910FFC74E3ABB69CDE0E1B5D2AC466BC52883AE14C88C780841BD8 +4F71BD470B26D17E6E8FD96252BA1FA4DF9516C762A28D659A877F79E23E5D75 +B1DC530905C9927BEDA9AA5289A167EF6BB4CD26FE2985DA4A940015FB15C87F +230DC5A1B25F40FFD7F4336F9421106873FA7ABEDA96AD82C9E37C9BC7CD3FCE +2999994F1F213AA69CFFB74CEC9E6A94AC0D579910C7C015CA8DA8F37B34D2CD +126CDF54B815052E46AA3DFE319167CDDDCF12EF6E71CD663E8B0D782CCE5851 +B82120513461C30820777ECF1C721B5C0884CE48E4E9CA79445FD6FF125ED099 +82B6E10EEF47A8025DD6CFD0CCA8B06BA591984F99AA06F5202127FF29D47F85 +91FAA2 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMTT9 +%!PS-AdobeFont-1.1: CMTT9 1.0 +%%CreationDate: 1991 Aug 20 16:46:24 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMTT9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +end readonly def +/FontName /CMTT9 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 37 /percent put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 51 /three put +dup 55 /seven put +dup 58 /colon put +dup 59 /semicolon put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 87 /W put +dup 89 /Y put +dup 95 /underscore put +dup 96 /quoteleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /braceleft put +dup 125 /braceright put +readonly def +/FontBBox{-6 -233 542 698}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E +2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279 +650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35 +F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A +D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E +F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1 +4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A +438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD +BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B +A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641 +AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74 +D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB +CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A +082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980 +9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0 +4BA1EBFAFDBEC531EA1210365091671CE3C86A6D4BC591C37DCC02570042575A +9D24252D6E01A8603753934D7EA5CAC1BE4E5AD2BA047DE8F3983B23A8A1511F +B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D +42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED +F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328 +A2C69F817061D6C60B121EEE844CA5008F23DF098C1DEEB7C8525A11FBEA53F6 +98A9BCA2389071966670E9607563B3CE7E25AD67D95D4927F6AD572015F4A59C +8C618A3E7BA431403BC01F92F345DEF735A30ACA3B55B48B04258A2E82F69643 +BB43967E4537DEB3745B4E276D6AAF0ECB79052F87DF71B2CFC2B8280DC2A205 +30287B658793532220F980F87CFF6CCB40AB0439297ED795BE38C34B19D438B3 +AF779CA633952D6F984C7A5885A627D4578BEA33A4AAB8AD0AA20B3F497E103B +64F8A3DF99B120CE03CEFD4F53945CD81BA0711100E332DECD15712080E13635 +5EF2AB4C6BC0EF4FAA879390F71E7CABAB22BB3434E03CC272E68638810E4213 +3E5F79D2202097D3597C7DEA0801441AD4ACD6737D8931C161CE677EC7B62D8D +EFCBD4196B31E622FD652C9AF3219E3695D95C6EA2825456272BE77F58E6C550 +47284D40234BAACB41CAC991BAC730396AAFB42342230DD6CBE47EAD192D0E9A +0891BF77AF840FFEA18F938E8B8C8304AA7EAB76116C1BAB98577E86F516EED6 +5CB3E3C923DDA90A0F64B612F61289DDB52BCAF6AF0C29EF0CBC9AFF87414078 +588FC1E8CB1A7C515CE7A2C5BC7A192E0A8E0F3162292FED4E663CEA07551CEF +82487875AE849504645DA2C2A962DBF82374D85C1BC9F2CC46F501A29A58853F +2FAD42C68AAC9E9EE68C65A47461A6466884E059670099A8CBDB54ACF54D60BA +BB11B4D4578CD7574EF90B0C03FCC72691A04D73AAA2302E853A93654DBBA8EE +BD619E82C7D83E77E0C932C2E7062371D8F2DF1F6DFA9E2636C863B83B4F2CC2 +090BCC3925B4682C9C8342708EE6F1E4958ED3F2D926CC2EC3CDE8AEE0BE7578 +D3A9CA50ED1E981D426C1145732D124451183C2E9B3BE6D92337A8DAB42EA95D +D66F559D7500BD83F1534CBBE228D59CE583260524958EEDDA92C518A08A2F8D +D3A6C9A663F6F178300A3D1E106CA4368ECA4DC3F1654CAD459D492C612B89E7 +A73B0D580DBC2D8C2F1C4DE9466154B6AFA3D2FD6080FA409B8D57BC805B6F4A +5BCB9F7117A10A9A62627E8785F82B66A9CC2A6420F57A2A84EA372161B0DE45 +2547D2E2B6100AB054681C488F421FEF1966E14072D65571FE2E17A2DA53F97F +2AB479094E10827D09E6D93799B071F2358317B7AEABF10A6F32FAE751970043 +AC4EB6EADB7AA211F02803938B8C668250060C961039CC61337CA7B18A5CBC6F +B0D73CAD8214D70B51BFE9A6F5AA2134F3EA364A5849998963EACA4060437EAB +B7B1B0282F689C220608E90FE9A48E94EFA1EC325E519E19F1EBDB2301204629 +BE170567DC4ACEBD3C9E77F58A18C9E7674E74DF14C06C9B79F214B1D9D68FB6 +7B00556467E1ACDD873CF9C69B9E9DE4CB6C38385545D03463EF413652DDD8FA +546186B39AFC9CABF1C03988AF99E40DB41D78DAF0154816B06337C0F548008B +A296B2C72FEC96D90537F123E349FC71F5FC3211ABF4204A392974F472AB1B75 +BE473257575CEE78B5954B201B07F84F49E3CBEAE74F2344356D1D18C8DCDD50 +3160341232C5C64F6EFE6DEF4366A077DD56419BC5E5AAA46204583282DCAC06 +EFB9ED502FC0630248476D442E4EBCA78A6528D56251E82D1435B537143F5CBF +9B4D50C8FD5DD48C3404770471A4EC244EA3E1A29712FBBFFE73582AF4B91263 +EA829C0AB264AD1B13419F571DCB6E8FB68F643C4621A68B9EB46AC0A203CF7A +4DFA6439EB79289099D6150138A259D69A88298F40EC9DE6E0C6D0166CCAB106 +22042C8717E6699746A4E4500BCAD2CFD962BE58BA90D2F3C324899D795835BF +517AD51325C84354C799ACD9312FD1A68BF321DD1C570A64DA73F09D93F06B14 +3C71FED756E583D7E62651871532A9A9DA08BCCB45AC9DCEC095060017D7BC0B +F366446AAA9C5BCB400FED24E9029FA9C302A2FD1BE1F1623E0542598D631406 +72AD661D5543C8E155BE180EEF97927F7D297C7891F116FEA273864B4F34D015 +A46D3D4C1B57C3F0147585C25F59AEBA6566D2A1FADC2A2BD501E7049F4B948E +8C48A046F894F26E401A2947793C431FF80D5FD39411E2FFDCD1CF240446F62D +E1147CED8F14D7C228EA87C84DFD1091580368000A4C7D72C522D7E8F00F5D8E +4228568FE0D0B5022E156E78C2FF712D6328AF0749ACBF204AB2733999017D4B +DD3FA855AD1E814FD22D2000BD82A09DF349A6B04FEC243FC16292CD82A73075 +F14E7C349A61E2902334C21DC5E6BD1F43892A0E293C8D23EC732BF0B437ECF9 +284873394803C28728D538A3EAF598E877A3B6D45DFF61AB8A510627239775AD +9EB716DC52FBBC941B624BB6A811D1F1E0499032AD1EE979D81F933D83C4F01F +239F7A51191E747A776262260C606426DB43F5FFDF7413A74C4838D370AC3123 +B888D7557335D205AFB531F4A731E708DA4AD6C6DEC091F24A3AF33F1F8AA506 +3C2E1CE8C7A5893244C69DFA95DA70AC6415AB9D8650DA4A6E9C5AA347159DB2 +ED57F24C7EC875166C12BB7C9E0573F6FBB499CD454D596424E3EABB80C39B40 +1EC7CEE366DA4BE6EE8CB8B36BCA1B7861C9B6E2721163E81BC2A6D87D5092F8 +069D41A0C2036751BBE07745D745836461688E7DB9623D58E01D0E9FDEA88130 +8E7352684D89AFE8DD9E011BAA66598D777155CA7B465614E253B13B63204093 +1F855288C0B98B0D3190ADDBF5E87204455F44556A8CA5540126ACA44639017D +4AB89665FD51F5B29709B987C7C6F7099FF107BFE7B164D2E875A85CBA8A088F +D30E56836EDCB684DC803CFB800724B0B5556D2A7C018552BF7AF3056DF735E8 +870FF3658D757FD8F2177FF787436C6198026CFC32E9BC779C0FC5DD1E45F354 +CDDDF4CDDCC822B75CFF4F0F085E9908AB9D645CE8172B1ED969E2B58568BD2F +BF2263CA6E814BBB0EEF1AD56BA8B3338A707E45F1F63B88BD13048A550852B6 +67DDFCA53B34EC224AD5D318B7DEB4B716B4D7E839865495B9F02C622DE9E7B3 +3A5122936AC6CD85E5E820813B96D5991EB331CCC07ABB27F0610D5B8D93C6A9 +C212FC47EE042D091EB967A16C3B856CE98A6D77925CD90F7CE00E0EF6EFBC07 +092DF61D15356B1086F69016194CB500FC4E78C68026EB5690AC583A39F3BB78 +89CE6AE85B7399531281814566F305A6CC7EE4C23351547970DA591552E55D44 +667746AB7B69A7B9F72EF84CA05C8B55BA2F2813B8A7168C12058056D1C004BB +3C590491F07752F21889BA6A304C0ACE9E018C533BEFB136A14470D42F2B1702 +CA899800A832B7D169FEC902AD96AC59010F4E760FC708DFC25CA2CDCB18FD1D +B1CAB76A54B8010A7DBDF8C8259E5692714C9F6865C7E1DCC3DD36D5AFCB3308 +2BC00FFC4AF0FC58390323A7CB5471FFDCE3D0F0DA0C90532768EC4E75B398F1 +1A6A3598CCD0CA764A52DAA7B904089BDFFDE26FCA6C8D79839B59E389BEEEE8 +A316542A1E34FB625D02D53D5CB45C85E992779105FDAAB72336D9A090290AB9 +E1A1CBF308D6F9B4E809A9C9AC6C884A07DF64213C8D11D1F68336E05C90B63B +F19A613B7325C078816896D24BA0AD823BEF5DAEBCF36A0D21526D997ADAC3CF +2AAAFEC6434BA32FC483E3751061CDF66956B246314FEF9007610A8D3C5FBB15 +CB195E5DA0BE543ED914D7D8B3A7F91302E27E1D7FD20AFEA563A89BBAE5F5F6 +8446592AAC5798AD1E12A6645A376D1E2A4A3D7A642A21941E08D962C5A1C65B +A7EEA14033EF11C2141D334F3FB706B8DD973DF78CA023C68956EC70311D16C7 +232918F103B72CBBD6AFA52B332C01A2D70CD4E8115E59756C628A3F90AA2183 +53B362FF63AE235B2B3735FF54CC0AE1B6F9228A63A7D26D37DF6AE0198E67ED +F582A3D86791B83838D5B6BA78D0EAD90E000DA0091B5E3B0847B7EDDBE024CA +9B59283BE3A71B3E598CEA4E663024E6C6B91D8D14090D3DA7F9B11C447E92B6 +E88DE37D38A3DC0D054CD58703A849C8981C9446B638FA6077193975B7763E40 +E01E9F64EF040D5215309DEA22B76F428C9DABB4CB0F3C6B0D84759EF1C9AF43 +5388D9E06EDF2034BF3C044CFF55AA4C24C260C6F14905E664BED7BFBD608231 +3163CF949CD4DA8E5804ABB3932310853D79B245CF21023631DA0031F22D0DD9 +B0B888768BA4A388D4E1B7CA211D905E495A5253369C38E8BD55CC440A660856 +49792716D6B133B7DF6C2D0145FD4D0C32E82B36F8D3C4083B13AF8D536C572E +C44B0A22EFB895B27FEDA2B4F8849722822E6ACCD47D4E7052C61C3AACFA0F4A +C469446809295E4569C3C8B3E6FD162DDD09E86B78B6F516592497D0EE7D5182 +B50DDC3C8DB358C713956721D2EC1490D535B0A6D0C2511916B34FB6757D4943 +21918A1567DFAE0CF38C8A78E6F0F593A4E0FBE058C3FE7F9ECFAF3AD5FE707C +9EB61C58EF5224EBBCE0C59C21B8E81A974A45FFC728F139A6598C1DB4B65753 +3E30B21EE83722B6590D3EB07BB0EC5576B078818F9ABF14D4288F78512986AA +601C898AE24B1F9A234933997A7419C08158F741AB22F5E5EBF60D92ACD46500 +32DE53B95EE857F07CBCCCFA0D6AC16C55084EC3FEE4AE2339582E7BD09C1BAA +C1037000E1600991E00B56DA3BCAC72B53A949938BAC1FDE9E49B812446FA936 +A1D0A1DFDDFA38D8B917074C93B45F98B57ED664ED8A26ED68CDDB0013FCD1CD +4A0A7B83C456697039312C8F628BCF268D8FA47100B650128CB50265003F9BBD +743270196DBAEB0A068B47EED0DFA76446DFE8D79AD99B48681E0A93090F7E0E +765F44158F9FE895AA5729E9001F851A8CAC45DE0A1F4BD02035121A8A8AE1F7 +B26A243B8BECE53A8318DBCEEC458D93167547B3C48A62D3E72CFB61D7973716 +66F9C238083923289AE863658DCFF1AC7C8E0B63CE038FDBF4E7C3BAA1F04081 +9BA3F81A5874BADBA6D95A9CC8D48DF125BBF01AB7DFC8C829E3B24A7F661FCF +ADD7D786307CEFA10998080D09C0A97DDA55F33E1DB26776993A3E8FDC11EF81 +47CBE6265BC9EA0769DEE0C82D5B49DADC978B39FFB09AE09DCDD22755B522F5 +BA877717D5EF3031ED6AEC7AA1EA9F1A74E76EF146C51351531E7934C487B5AE +34A5DC732789CBB19D7D72BEAAF5C4C8270CF02337F8FE0751CC6D25BD5E3C48 +C4C89BDDBEB07E54113AFAD5F4FB7C4F33F84AD8DB5E34D9D64D6536171F6871 +6A67F70874F1485890CAC656C84BC92806D4903C0EC3F29108A936975BA12862 +73ABE73AC5ACEB5EBDF220B509843D658E0043E742BE67312A85039F4AE48157 +93961B153AAFD8CFC1C346A9A4F866CCD3751222388D9823C1B5A9ACDA1F2ADE +84432734A85FCA3B28AA8F71B0E20FB9ED6BB4CE6D349207E3429A1606CD0A1F +506AD97577E9FE13871792DE0EE1BB1EE78965442D47383B9079B9310D3C4C34 +9B98F72423D9B3B73A03DB56D2773C3C8689B27A03A1EB6182D39D0637969499 +0ED96CBC49ED0E96FF0176C092DF3C16169AFC5C41D34BD1739FA95D86252CF6 +024AB0EDA56F0CED192FF0CD3C67E65CAAA788C09D89760CAA7788B0B585F516 +437BFF42CB34A1758011A2D26764E510A6014758876D3F9F1E76759C79C8CED3 +9279F0A1B303C44B0350E66607397AD2D7D4057C1AABE8AF47604C867E433565 +1CE2B85A1924F88EF88A995063BBB236A8E6CC61F30E86AA35FC5D0B1EAC4FD8 +364554C9A449FAAE56681D42EC4C1207B4AC56B2C56DAAB9926A49762E189F58 +79192CD73C69DB8959692643BBA6BE6C6032820D1DF3357518C15F25D92A1A9B +BE6EA98834774FD03067F98A43AC4440767EC905D6EF2AB7F06022755AD03E09 +66F03C5262FCA0B42EC237A238D337A27ADAC00CC7CB3BB364C56162A1355D63 +11B316633F1C77B4BBA07B05C3CB4ECE5F56B66F847AF2343F42E339488557EC +A637DBBB753E1E7F8A1A26EDCA49A9801A560FB0CD23DE0C5EAAEE1DCA7CA1A6 +CFD18FE33008E5EB9D8A1EAF605F5F0C988830FDB51618D9DC751D2D3F681F1A +4247942FE023B11B8295815926BCD8972D9A14AB832D01BCE0E9CD7B3F39EAF7 +A5D8B818D4EDF1D00DD24EF93E41FC2C9935B0151073AFF30453C9453B488D2E +3164CEA20F8E53E7558FBAC9192F157BFF52055C1FD5572D0201B68290E05F1F +4C12E7EF571D8B6834A916B49191D05F679830BA557F0BE75B0B81F6017DDECB +FB9FD3668124D666EACE0D92982BF3FE60767BF43DD1BBB9DA49BF3033F0E163 +292ADF1A9C2E6984500AF8162001FA2A182818AFD57804CBF79B1354A6CD22B9 +9402CF3B52D49D52061B342DE3E053F7E87E789AAE0C6A321510793CACB37FE6 +F36D0AFB61BBD354F9FA51EB6E8A3EB87437474CB7C9A2D399A91D99C1D5C622 +4D1C461E309A6DBB534B34C29BAE2166E746C0B267E6CEE71EC9569C64C0B26A +798C8B634DF3F7CFEB08050A0DD910F7DC3B978075EB23AFB72B46D4AAB8DC97 +9F23898AFDFAEFC96AFA47BADE9AAAA580FB90625A7B0F7C7BC8472CE99767C3 +F80FB3207453742B63B36D063A6CFEA520F744AAFA016FDACB11CE7269DA07DB +7EAFD778CE065717512035C3ACC049DDE075E8724343C7720C217ABFDE9FAE77 +2395AFEC6A786BB0008015C77E2A124629103FEEF89B962D16F5A9EAA8A74D35 +CEF76CFB6FDA7F8D5A22F2D81308E90E3A51A83D18145057F70CDB171BD5DB35 +89E5AA27C97EB7C61F21753C1E21C9503660B3A1393EE734206E29F161694578 +292939A9967C6C57F9D1B406E890AAA3A3FA0E51D62D4CFDC42C6EB30B979F9D +2700AA0AB9F5BD032439DA1D7E80283ABAF1621DA6744057E5B275424B1AEEEF +7CD90A688A9FBFDF25F675B8989735FBF5A71878EF508701BAF0BDCB475FE2F7 +DC4E83B652C7472107AE84B826970DAD15889FB2FEC8C84FC4E382E5C6422EAF +5F9033A69B2D7CE47559FC0DF1C967C28A140F7C135F21E26966EE00FA23B3B4 +BC5BBE5A48DE5BE5115B7B35D5347A46287C9CABB769F7232D42BC3991DE8159 +886B89B6C193177D72850DEC1271CB4C6E4B66C8C7A238FEF6D519F2CB656B8D +3EFAD3ABC2712B4D791AA8EB182BE80D7C314EFEB596081FB473291A2836F192 +69117152F0DF4D152B97105B538260A2E8F031D63032C79880072164646A00D4 +3C4B11114B106D398F4E1118008688E28182796D63B190B9702503153B706463 +9AEE5BE245B371F1A8AE5C089DB1B219185B62460B700EC1D9E8ECED525E256B +5C340E5DC616DA271E4558A411B669C05BE555BD209E89447382EC75EF809E71 +2149DF776FCD686603D55208D81583CFE66FC21B212030029ADAD999F4A2AF5B +A69A93A0D305362BBCFB3607E06643B810B5361F7257220EEC801EE13BF568E9 +B1E43D1AF42B3AAFC1980329A1B76782D1FD1DA499510749C69E1DAE204C07FF +B6033B4217C56C3DC59C56E3A986571200344FD8A7BF7AA5921D584E34A0134F +BB3430FDE1647981B07EEBC6D6E3C0FE31BFCAE4F9D79922BD7FDAD1C947D360 +54AB08E7A3DFFF8EE646EA0C650ED778C601A42C99B1CA4820DB8E8129C6A291 +794FBC008E51A096033D21DA7E2C3BA027005CD698B910549982196E3927793F +AC1B48087C7B71DFDE6B3BEE69F4BA8B85BBCF4040BC6D390BB0C67F753CAFB8 +F9D5406FD5C6CC0B239FFAD514AE5348C3E91E864CF944A2152BC183016ABD86 +899C2854E79E37423A2A6B82D3977CE545BE8138FC338843C8E3CE90D4488A30 +61D64C3852E5B0E614C290940CB533EED07638D301D295A5A3D0A2ADC1766588 +050722D7C56875941788C5FA73DF6C15AFC82EDDF1BD7D5F74D4C8B3B2A9C26D +DFAF46E7D80AA4B75428923E8F8A0C7D76FDEBEB8B18B977169BE83F210177F1 +C48FCB3C57B166AE4881FC60D8BBFADBDBA79179E0201DA04ACCCBCF835B90D0 +49AF9BC25A34488811A0D8AC5C4CD30FC7405A7CB311980A8901DC335C100A20 +6D2F85C3F4B850E82B595D67333A4E19EBA8F8E3F7FC5AF6ABA6BE2ACE252489 +5A635F6A09080E68CEC7CE86290A1EE1917942F8215A6CFB9F325F44D8502B39 +9FE6C58494ECD32E3E24107D58F1F192D1EF6388C385550034FBF5F71CEE3508 +5E58E2FF3DF78F3D6C2DC680B4B635C0AF556CB21EE29FDB8837F4ED58F704FC +210EF15DD2C7FBFA57AF9CDD22CCF4DBB14AF0240F8B5BA407684556910D7A88 +8DB22639BDF0AE9099FC1DDDD01E887F5DD40456412EEB4DC8B92EC01C0DF4C5 +AFA824FB2B49E5D266776007C54630D725885DB2580A0E4A2EBAB48A83F50FAC +9AE8D4313D416192488B53DB7D1FC758418E6393B0A31B2EDA0B47FE639074AC +6B5A103DD65912A9F3661F7C4B1C961831D4CBE95E56281C8F6B4802E0CFA812 +5E89E8A4E801C83B1E1E671C8C29148D9E66CC733C2FA909F01D14B22B9DE54D +8D946D30B5BDA3D9D54BAC8DC0407B22E04844A426C3C4F850C6AC08969EAF88 +D57B7DFD591162A2CC3B39D3DE42F59FE1075B22C354A32CF5C18344CDB5DACC +8F34E10AED2166FFFA93413DA79837BBC312D523048AAB5AFF710EC013187F08 +16BB6B81C989215AACEEE12E8B275ADDE698B525F558C7581E953834A190072D +7F5AE1FBE21BAB680B00435BD48E127E66F0B1293E6AB6A739D313A3AACEDBAC +F9A948D8806581BE8D786EF8092FFCB0F045E6B389621A779649225A9883984D +6549CD8DF7CA2B9390BD02BA122BB88CC8E774D57003F5DB20C813B7C7682C21 +0B3A9AF46AB39C065F55CF8F5E82125BDF90AC23C65940DEF36C59140468D341 +86EC9135929C375B3A6669DBF35BBCA30FF06874C50F40F1BF6A9686AA3442D2 +60DE0B7E757D25F0C81EDE5E4CF20ADC257029D2A2973769326EBF823B814691 +4450BC52F93E8925F11580A6EBB7BB09C42DB8463D7A6B1AAC66A476F42615BA +1B6F0161CED79859435C7B685F9832E790BE2BE87C4107ABA3B09A31BA69C796 +73E0E4850865AA0D6901E8F097C50CADDDFCFDA9B846D27E82489A8385517629 +3AC365917DADC0FBEBF882651C037EE822689BC241C382DF7E899ECB140217D0 +B17F794227DFFC0ADCCB5B21CCF23218462708F69649A48C08D3E0523F0D2695 +67185082444282FD6251BFDA4D9766546CA3735AC552E7A201AE5DC2DECBECDA +039DDAEC1F6382A1C980FD579B89774357452859830FD9F1EADD31B8EA1972D9 +1A8563D85606421AD645F6AD1DA776420868FF06007E131C9965EF4CB6301902 +B3AA06AF96A0427B230C9A8239B48A3C9E67D5834B44B369BB7BA55F681D52B2 +B77532C1CFD4B5FD02569A0815EAEB358129790687BBB7883A11D88C4FCDAF2D +8CE6F48D18E81E880FDF21F48874CBEFAD71B7F75F6E3608EE10B91FB2DA2885 +C58712ED9A73B2316E0B031C69C3E13E6DF414C7923DDB181130E648A72BBBE0 +AD2F8284C5F32A0DEFF238AE3F178717296120E0CBF85F17496ED4BEA82521C5 +7201087E18DB95380D29B7D41C71AAFAED7DC7F386A059F37CFC1C5E036A6DAA +EEBA2AC35D8CB5513341BBA2F66A3A8C2DB5254D5865D2A09C28EB8866BCF77A +C6C642792C7D5B8B98494B1AB50DC7B7B73F84C0D9E689B320EB3F78802CDBF8 +1932BFC97189065795665BA7D9C0B996205BBC33E7E953A942D436A848D60C31 +AA3EC00C9259A35D46D3AD72B12BA09FA5147FAAB88BF98AC03BECC111C92338 +E5C32B051A2338E3F7124B2C2331117F0E3BD538213ADA1E2BF9C67501846F4D +CE12524A237A92475B151FDAF3FEF6EF44AF8D73DA89E4BF2F26D01497DCFD44 +28452968DA88F5EF37FF82DDE9AA2D26572702C95E300D6BCF8EE4F6FEE550AD +2069E15A8B02336C72F3DB247E756700A873C15B22D0C678FC4ABB5FBC0E7BC7 +6AEA3DEDFC6A4D67BE32F32579C000CFC858419E393A3617F495806381D9C473 +459AB0512A4765B29D7339E1068554BE5514A31C65E9CBF6B137C7B6E6230ED4 +2AD4292E54237020C0D59FEA10AE705CB0D66F8C7162C10D2BEDA905C239B633 +48B63918C848BF07B5060B93CEF98638592CA1A1F378907CB3C119C8FA9F0AEF +B232A578E97B1D219FC4A4E6B468EE9AC7302F315E8FDB75AA0DC7C5F4AF8D02 +063CB56BAA9081D337161644EFA77AADEE5B5FD0A9E23D1E6B2C993CB5D9861F +F933130EC98C4997EACB99BB0651C0A62D00E6FE21FEA867D7BDC218A83B7F0C +60707F0864651897C9A94777853989524E0F879DDBD37E0E16DA4193541C2A0E +E848337BEE596177A695FCCDCCDA2815DC916C75ED593492D47941C0066F94CA +D255773CE31976784AC8D96C42A8531B496BFFA7C004EEBEE2EEEDCE7C0D12E6 +3460E1A6A3A29C3704FDD436E4BFE9B392F4D039C5E82876196BC1C6EAB58B94 +6621BC406ACE07DC8EA0B966A7BB1152CC69C0B2C4201A3108D025229F444F04 +64D60965AC96C7BA6CAD1E384D21181D9F7C6BFE82AB2178BAB8C57146696F4A +A314E37BD9C2D30328068FDA5196284BAE10588E1762FF179714AEA6E23B983F +8D4AEC80B4244CAF00C08D799D71BB86971D21F0AE08C5D6B1547B49B07B97B3 +6329398A20DBBCD1631DEA7F1655C8772AF48E255EF1307878D648EDFDA3BDED +A449846BD016F844E54CC83A6AF4C0351CCCAE7866A5605A75F8BC4863EEAF85 +8C4D4F2EBC3E68EECDF01D149F94EA59D6DE1E23457700099320B9CADAA2F25C +1EE36EF641839E1C66BDDFA078F6C0E57531DE99D5B8FF93EFCD27BAB14821EC +144398E095677BDCE884D08B77A43C3CB84898C2F47D2BAA047C39F747A9FB2F +C2256A3D69A96E5556BB42CAB20A3479A4BDC264744C1D21D09388672F2124FC +5ED76FCD3DB8CE9E83128DDAF38EA09C5F5BE534B7E8C763818967D6774AEFFA +943F41D49E165FC6312D9A2919868F18FBDF421754807168F3D0B46D6FFD94B8 +EA4AA76745BB42783BC3D6E180E249BA2F49FA9EA93C7C803E6B60957FCE0462 +F37220D1F02C0609FC8F86B0BFCB36AB362D65FDC9E4006972F8827DDF0B74B0 +6D75CFBAFEEE0666A3E635D6BF6B82ECD59A0EC11A598ABA9C719516D40931E3 +B88807B0B97679EED2750DA89CE72490045ADAD93E2149B2F4DE824EDF4F589B +BED47D1A68FA443B43B12627213ADB4A13955941A414298369E56C9296A08948 +ED824B5AD50BFFD1278012CBD25C2900947DD36C7BA84862BFD0D6E5C8804DFE +A009520243BEF0FDE4E28A09308967AE5C17557905522070944642A61E0C3ECE +DE6F930581CEA7D90722353094AF344FFB6A9AFD77DB33F5BCC4C389EE337093 +C729A8EBE416D38592E391419773533361AA40A4A069DD2E513E01529379A770 +CF1E4B6AAA04E6859C7767A7A8DABA86A47F00504D97FE89B9EF06C2215F3CF3 +EE4C1AF567E96FBE44DCCD55C5700D7B8978B02AD4AC66D75B444BD75DDE1694 +A63B83762C0E16096803805F6D0DCA0D860854CDF5EDF0505A9188358952F936 +76CD51B7C1B080DDBE0EE98844C63F603E8A20C30B82E9FD9666127DE42A3EB1 +8B1351970E27C4ED14DFF0A3B233F5CD1B0C29F83EB364326306509EE34291C4 +42F3131380CC0CC7044B27360733FDA81FCB46CE50C78671E7805DA1168E9E1D +C0412304730716E52F48BD729E2715EC9DD491C30BFFDEBB47C8253430C3BDBD +3A943C3E39DBF1063B33BEF0C9E6B8241FCC3255F76A731CF80EB31B57439231 +4A0C689379136CAAD5E640F7A40232B08538C6EAF28C00DE6D26100D792250AE +669E7DE50FA71A511F3B9AA23DE99764999D7E04EA0B6E133CEC569E50DA13E4 +F8A6232646C3C501DCB6F11EEBF2C7027EC938ED135D3397C0EE21A2887F6D6C +D5476A118374069148C7528B8F2F755CBB26FA6632CC5E1A63CFB6E54FFD685A +0312B80D606D31B04EF73A53BE6A5389EE90A6E39A8AC664638C63DFF4454205 +2CA6F1D105D12E90D1D4022FFE7F80B7E14A300B94E31ECB6301CCB7F75AE168 +B4A38B67F5568BCEA87C4A4E39F9865FBD2325F7F1ADA633796A9853BBDE6A52 +A1427B9EB6E36F43085E5099F2955E3B26B4E3A19E888D7BF716225401C284DB +5452653EDF68D540DE39065356267288D831AFF2507DB7F0 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2766,10 +3112,10 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 13 /circlecopyrt put +dup 15 /bullet put readonly def /FontBBox{-29 -960 1116 775}readonly def -/UniqueID 5000820 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 @@ -2825,10 +3171,94 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put +dup 11 /ff put +dup 12 /fi put +dup 13 /fl put +dup 14 /ffi put +dup 34 /quotedblright put +dup 35 /numbersign put +dup 36 /dollar put +dup 38 /ampersand put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 42 /asterisk put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 61 /equal put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 91 /bracketleft put +dup 92 /quotedblleft put +dup 93 /bracketright put +dup 96 /quoteleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /endash put +dup 124 /emdash put readonly def /FontBBox{-251 -250 1009 969}readonly def -/UniqueID 5000793 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 @@ -2896,441 +3326,443 @@ B00DEA3A9B747FEEBC4A11E5B9B8B05CA2709B8AA935A42159D3DE399544F5AF AC1CC00F6CB94AB69856078C9A2EB2046BB9055CDD6A0622112F7D3710143F1C 20CD8DAB4109CD47BC00EBCB88314081C1D6C43132412F261CE0262FA28DB7A3 C7D8534BCBE1A60488EA230DC558B73C72AE87539A9D7E28C2BE05FC05F58DDD -87117EE8FAF3A04EF44C9A4020B1725993A09C560AFF330080A53AC25D5FD7CE -7EF47AC32DA4032E3B69032505A2E7FEB961C16EC693C931AF988BC1F88299FE -8A83805D021F2E3BD6C0F422441E48786BFB7C7B9369FAAC61EF94113FB5A09F -5B635ED1B7AB82441FA6D37D43788209B0F0CB48675E8F4EED3B4E40B131EFE2 -7A62A5E7A4829FDB51F9D2FDDD9235864795FB6A7E35B00CF593EE5B10DC32F1 -3E4E56F4441D4E21EB964D0802FC2A5CC4D579723D751FB07F49B263178A7F55 -7F5732646257C2D8E07DFE7303BF3E564EF08A25BF42A1E973D5266EB4DCD07E -DEA171F3A020A5A5EF98887A048523603FA6AED2C4D78615852461EBC8626B2A -3592FD561370E74C76C37BCD1286D56D5B02D2FC6D3DA35E693DB67002953F26 -A917F29B0CC194A84F435BD0474F94CB7DFE5D62DA09EBCA1BCF344FBCBC0E5E -DAF4A7638F50EED5F97A42B4F49F6AC709727BAD621D383DE360A9B8A93E842D -4B91F8097BDC51D0E571CF4EE5C252BE1EB5EF7EB38094E58F183BCA9C827EC2 -F30745A0E0D1CA2FDF07395E9E1AB24A685E6A37565DE435C2D320C9D656E024 -FDFEAE3FDA071E31DB8FB403A7B1F9DCDD6EAF6C2DD70832FF3B0123DD20E5FA -9150583463CC1C96A61E63FEEABB39C988C152208C348296FF6949DBE5FB84C5 -A15B8F758CCA07DBA756FA4A071F5F83513E928D0D08A075DC2497BFCDF4AF24 -2B02C7C3693C0F303F848482A3DF422733E8BC738197124745A03DD519B827EE -84E900762D6365FFD2CB41EA45BF0C57AE703AE4DEAD4C477D86037DB937F8A6 -D599D13CCAFE8DEA8FE920AEC09F669F3C7990252DC434FC36F0C6C077C3BBF0 -D70F2686B59227F2CA6244C1E40740C19AD2B3F6B60F933AFC53C4AC65B9F181 -4D8FE23F5C518BC193E4EA50F6731E91BD18B3F3CDD23606B181482F23A9E291 -11E0B29E943262873E137C902EBB3D52E2C4CFE7982CE0F493B891006812CE34 -AF792849A25359E3D795507257DA3B143CE7F036F4730AEFACDC3B09B1436727 -722BC7D257750FF5DC77229F9FB15D25C6DC92667ABAAFFED5EA14096E3DCD6C -C3C26E0876B548B52B217E1C39BE74C0735B95F84FA239D87545D62169361ED0 -369DA20E240804AF7288BFF7618C6431DB42E5C41F3256E47FA2436E82908F24 -D2D9EEDB7E9D3A81C1BDA0598B4F5DBCF0141D97F1AA82FB08948F78860E2343 -501700E457E03219F1E33998531B5F27EDBBAE52483ED79DE6C294211D835A0D -A30FC94ADCC7854E8FF9A241E14CA4A3713EFBB932B305494191E93BD969AC7D -9D129BF7DD661A970B03D17543B64F3D690FBE809611A8FEBD6D5B64C7072D10 -2C5B0575C32383558B0A6F5F5C75603DBC19D672D50F8E0A1A61053D58722291 -0C6CAF79A40C6CA8186ED01F37686DAC94FE80C1FDE34CF9A1E864B5A541AEC7 -4619BBD36317C204EE3098884A992D7FFD05DFDC5422B6067B760690FE082070 -3950D0A1FC6AAC937BF37A964548E748F5E69643F9C91FFC46ED86A1CE613570 -445B9067458CD4F82F0DF1A37E640225086D640A97A9A100E336AAB021F39CA5 -2F8550A707070C8AA5EFCF0157DB7823627AD01A9AD2B9851E39ACE6B24CB787 -17AAA254B349B5C2B1D6478AAFF1E8F450D0A6DFC19B381FF94A67CD15A22CFD -CFEE409F71E0B9AF34BBB4D5AC0AB98A69797D1F43D9F013A56C627D3D90504A -0F17DBCB03BDF740E3810AE9AC288B9511A952F4B47C182F3B4D86EEAE488200 -88CCEC9CE4C2113E0C3A75B2EE73577048530474613C27D9D04119CE44D1E016 -77606065D96E89271D107C3281036010944BBEF0810EC016C7D841081D99C11C -1D83B982E3AF62A32F5A3D56DD6B59339C80D7D461B94FFD9207B46EE809E886 -368CE4589308F55BD78987657E65AC269A8FFC39363F5BD475D8A1A680B93E10 -217F84204A39E12CFCA85A472C528269F04215C411461389AF5E9F2DD8227DFC -CF1AEEF9342018CF38838D67639E625F0FAA434F6DAD0AB03E4EC2E932CD30CE -A3BC4B7E67177EB7CB99A5AF5C4EC17BE29EE2B07263EB932F9795E3332B9487 -BB02A1EB222FBD292C5E86F0653B09A194DADC4C24C73E223017B2E70680F327 -075BBA88496F0905578CFF71C07CE3F46D018352116CEAD7F219B1FFBAF09893 -028DD06F5AF04275B3C1A5140CE055CC84FE8CF1019927885B8D173D5A7580F0 -B07ADE2180DB44670BA4E6F994B671C6369E510B135EE3BE61ED047199CF0725 -65B0BA4DC6F03EDC42E332B89D9EE8C9E7D884CBB9A99290B455C8079295F807 -767A6CAE1F5577C6FBF05AA24667A66E460ED23509FEF861C13968ECAC508A3D -B66840F35A153C78ED23EB1D874CEE172DB4D0CE00622A3B28A6C10813C998B7 -04A38C1120E04AFAF09D8EF9EA6C3750B318707BD4DE09622680D07AB8D10DFC -D26740AD8EA8E1F7A93A1AE975D0B159869BB452A62959A07D89F339CAF543EE -ADDF81D8CB868482879025840DB8E3DB9512CB8DACB3546F52C861B1F840AA46 -8A766A437A47574BABAE4EAE70BC4271AC12ABC28651EE7BD063468201ED055A -B5D8403E72C0B504895E80839D11E54E200D9FA6866D43FB95240262D9892259 -7ECF5039C110343985E3DD0B5AA309B6ABE57F5599F0FCB46D292703BF969219 -18461B585740D4609AB58960F6DB114B5573F890C0A3816876BBF06DFA1E98A2 -8C2A601A76D3A8216842DE2341CBDC750AF85B4DEECA987B5BA66A6F6DE4F797 -07B387CF02F0969D9E154E4204E8A0C0892A814EEF54FFCEC6E351596321E650 -736160981008221EB805C1E49D9B6F2DD183CB41129EF228FCFEEB637CDAB86E -33015FE68944ECA716C07628B8030CE87956CD0E8DE0205FFDA01BDB84B20FA2 -317EFD862406924353045B0D4241A85124083346F4C00E872CE4610F14BD0988 -1A5F9ED7481F947ECCF2126120E420B4F0CB727FC3133CCBA4305BE0EABEBB1D -73CB539B7EA9F92588C098000C5C488EA9508DDA2986FAA24309D553F8F557C2 -4D2473903552EB821353DF4534623C6AE5EF79D982D05BFF67E97F2C6EACDBE6 -EF0467FB82F54C00EB9572B1A13A3CFCD058FB1FD7FE954E800D3A892C2F61A2 -094EFB8F89585F933E56A54D0AADD20ADDB9E937E138D53C8AAC13E0904D0B40 -055B2AF95712B488414BC1089BD29C1160034B1A1A38C95D5936D0802E11305A -C8090D7EFBA3624704AF26B0C05A6133E27DAE7356CCB5C21A33B07728F1E83E -B0488734103EA8DB4192741D536F7C97350BA9A006D60603B95ABA09A6C71BA6 -6C5EEDC7B7DC48CC6467FB8A27ADEE17E7A96DF0899B87E47F16D615B1B91A26 -B050C27EABDD028A92979050039D1CAEDF2907B061798BE79E62A4EC5CEEA6D6 -12EEBB05FBB716A3A60F6D3CDD6CBBFC4CF4029BA7B1180B76C85A598E05E083 -EAC829660C76529CC5E6603DACD5D1A47667D713F8DEFAC3F2E203E4344BC38A -8B9D8916EAD5E48816F31E0DA810AE5C21B09C184EFAFB3F17324CFBD2B696E7 -4AFB2D060E9A01A7EF4D0B08A562B499737E3FFA3CB0960420807455CD330703 -A9B2BC874F7A2414695AD4D87B9134E8A53D65EF82DDD707B9D398C3EFDDFBA3 -C69E1B3A5BA5FDEBD4783A0C70E289252CAB144C00222018BF2CD8F2773B5BC2 -E06B8B17A3C669A43409541C5D4AD0DD5FDF21E57BD420EE40808B7535706BB4 -67B11AF5440E43DCEE2EE4F420D08AA51DA170B08C5470EFB6C731EBD7649975 -62F58090389120202D7CA8ED4FB9AF564985C1BC9C00CA804D295CBA672C16A6 -EFA3F767E1BB38D6D364E21430E70E3B4AA4ED3D6FABEF4DE09048EED656E400 -89CF3F5864C75C3600587AA94EAA012201602DB62C528CC05DE3AF08F196A861 -57FBE68BBEC5DEACB74B9CDEFDF54530EB5EFFC56882E167F0610FCC7C461F30 -A3171557B94E7BD0D659B7CC2CD0B8BFF57D7286AF2A7378858A4445ACDCCE48 -C7A5C50412895DA2265D32F195E09A07805642EFED5C54199080FE10E2941FF3 -2078EF7EEA1CD37C35D2B4E708DBB45C328BC16DB5D6F3DD77612977617E74FB -34088498D0D14A7C8A25D2A8B31B1FC242F76C63984205B4242975B00C9D53BB -BA04452FA68F4854E3A96B27D8FEFD2C3D772795FAE2CA868B485F0622D8EAEE -12BE413B18668455B3C3879C080C478C99EE6F4713C1B417721812E021B27970 -C4E616793ABAF63D206266E92813FD580B75B5436618003B7ACF906D97AFCD4E -E1497402BF45DB772D011B7C756AA89B9D4F516E82E9ED0670D4A7684C8A3763 -615EAAFCD3C7D022534AEF4D43F494D0EE2EA4D0D87FBED55F43AF3B42FA8F5C -3B7789141C8EAA23EDB6B988E492F22287623B61F130FBB6D1131FA0AA6D8DF4 -70F5D8A3D9163B96F1594124BE4452E9C5864814E698717E49AE7A39D07F42B1 -EB27EEE6E0B53D718115725B2EAA2546FCB741D1516673D4BD2E88EE33DEDD30 -868E4C61E12ADC25192A724695BDE0C72A54E1C97555BE73022C3C931A708D72 -DF11C1A1E371C235AFE73CA254A6366643222BCC641979EAE2DD8A29A186B78C -B1DF1BB02200441D1FD73195158BB32A03C314AB974C7B641C5C28B4B4628D0D -C0C5559B575727E0CAEFCEAA978D1D1EADE592A2E7B9BA7DD0D00A3AE759718A -A4904F6A7EEE30EFF4AAF9F3529D1C79F654DDF6DAB70142A17516B8ABD439DA -53F6DE513E8CB1FD7AC03239F7DE76041AA11D3BC19CCFED635CC9835DA458DA -A25C394B6679DAB4ACF76692C9CBA52DB56C2D6467C14ED50668D7678DBE81DF -FF0BFF55C614FA2609DD902C14FA3A379664E449A0DCEE81693B10F60AA540CF -81540D43290BE0AFEBED295461B649A9779DBCC1A3BD9F1A5FF1E6F887CFB636 -8C02DF95BE1B47B29337E5C15784409074BB88996F2F753C5B0A0A3640D5A81D -3C1C6CD879A8E2B3186A1F030B00D023E9E903407BB8DD148A7BA65BF9A95FB6 -3980046A774FDD9E7EA5FDA1F8810FC74CDC707658D2C0260BEAD0AA587B34AC -36AC3FC6D5F105A8FFDA7E736687050D5AA3E21E240634F443F764F5232C6A13 -C9FD4A61C926A14D3FF8437AAFBC201553B745CEA1811D1E2D028F4DEDB4A8DC -2344EAB65DD7B543E1CBA556523A9C696B1C7160797E85598CD5CBE336FFED1A -8CB41FF8218C40EADDBEE89285648A7DEBFC1700CAA09BEBBD163B90A6A2342C -DF9DAF31D393E1265285C83DC5289CC1C4C128B820044983995D36E77608C40A -4F167048C14E5135ABFBA5E40484AFE8CE2251156DCC2E8C847EE2D8F7E29B48 -50B6EA48C53AF6D9ECD988ED30D316CF6FFD07946EE3ED32ED87D4579F14635C -850D3F625EC16A287FE70467F8BD85BC72AD0C5FAA1D70DB9A78BC573DBB0BD8 -5C89B19DC37C715180F86BBF737021C01DC41BA14A370ECBC8185D5060348879 -B1FB58AFABE8AD55083CCFDB8A5BF3618B2AB44FFD556AC5050D708315095C37 -2164A48F1A67BF2E40B5F15BA0173C0A247504ED1342A8968E8527A0C44A95BA -0F3DF0A60BFA33F4085615BD6BB6B6F34CEAB9AB0142ADB2ABAA08B028F1E096 -9F38449495A706785CB1C46B5E5731D77F28C2A73C2AE1BEA8FFC5F7224CEDDF -E66A0B0C35DB740A3D2398705842D49C6161D88F7CD754A289F7B3C4940A3806 -FE2908D54168F19C1C98FDE7822FF31375CFA6D359B6762844DE78CD51075604 -589E3229EB6E3D1972E66947B4999FB4E2AACFB7A965FF3260543F289DEDFA11 -C8833E7EB2972F7C7CCE00B6ABB95F5740C9E2C9997F0DF39BA7E43BA6B5ECA4 -C587009D37CEB257865A1CDB9A0654254C225E11056E90A4682E4BA7C68AA056 -7C54A81437276F071B067C5E79711CF6147D8ED3C410BE2C874D4BA26268B190 -F9AC54BCB45B23207426A122A6D28319C2EC5A6D2D968CF1216DBD74BD9D6430 -625DFCEFC3A680EB2324F1E2ACFD387CCE51788A401B92BC3B86AF185F8EA881 -AE9FF6A6A9471A6A5701CE2B987CD4DA06634785112E326450263FF6193C304B -80ECF6EC773CE8DF1D248A6BC027D3547D1C1CCD7518F311A1C06BDFF8B78C26 -27DEDB432D0AEDF36EDB3FA156B81D0773B17998CDC8D5B9C4837AFF61000B10 -89C233A58051604DD0ED874B9EF34FB16AFF0186D795508E04AFF1B7537C727C -AF79F73B023B67BE4574F931C48CFDAD8FF4C08A89DD85022AD6412F40A3D95E -9F1040B2FC92B8D19DF79AC537AB96DE652D5BB9F6A957BB06F9DD4BB4E18628 -2F3689C160F8435677E0FB6847144C18D9C650CBBF7D97AAAE4F9266E846C63C -F45577DBEA7F5203DF521812003AAF9699918D090B06D32378AB96DAAA1BF45E -C9FA449E7F67561E745063950DA722C50BAADC3ADF03CE66060C85F31BCA0643 -D419D74D352A065271F01F6A273650ACE31F43723BA351E3CC279A3D8FAB0DB8 -4D587F126BDA34D7AD10C76E17003621566F8E19B71A4C434CD4F1D7AE686A0B -A07172AB285ACE6F1EF89F16E35B63EF5C458491A5A0A10D49C3CBB7FA7FF04D -F6347FF5331A1EF9CD90F66AA875B1E5E4CC1D11031CFA6075C43B4D0BE9F5AA -D2C9B0848EA42591BCD48F552DC71077B5E0458226716B266D8ACED04703F644 -43F136C0ADDABAD16380FF9DC9D6F8761C1EE0F3E067B4EADDCD8074A9F4BED8 -28EB1D93F2F69060E63D3B7A75DB2BB7EBC84733B38C302B359BF0CBF8CD4F06 -868DCC36E5F5078A87602C77C00CB36A1BB749F3B66AB3B259B015B839DF0E33 -AD6C9C7220C3B3ACEAAF37F2BDE073D33A51DD60EA827B94BE0739722567D1A3 -8E8183AAF92A41C13BBFA53BED31946F74DD91211452FB2111B4114D4BF69349 -B47BF8BD85663C615DB8AD7E5814F9E9D674AF69EB52802498EA7A520EEA6A82 -6E0799FD975ED07F59D64A139EB98256CB39868A60F5C95B76F1B32CFC4A610A -16A41249F52A0B484C89A8CDFB8816B65093E629390B6F716820DCA409EE3B9F -E749AB230DC69552E32FC755C726DDB02AC2099E7ED6B153F4FE112EED6F4216 -0068B75329B7D0C52B748866630341391CC8FB1C69161188F56765E1BEFBCDDC -802BE5EC785BD1564DDF133015B45B481E6E57A4FFA79D49F792361A970652B4 -B9FADA8242DDEB704DB34D4E84F9E7A7E48AB957DD04F91E96B15A8F742B64B3 -EA928009F07EA6B727F734E60EFDAAADA39F2909222A5848D581ED647105575A -78AF6704B14A9BC89616E21C42995F0F10536E8B66A391DAABBDB7E077807CA8 -A1CA57B2C2551D3A5574BFA56CD930DEDB666B14D9E5460DE2F6FDE12A101908 -69912C5AC85D24E14F14535403754901B1170A5DE349FF1E9AA6DF86ED9DD992 -0A403B4411D73E3FB2E0F8C02C42572790F0224A7ACC93E1CB0FD8009F8229EA -A6BE77D644B44361C340C2F04585550C9325D5D89EA69EA8E9C77BEB254D9D06 -074E9594878BF49C8BE1DA57EA01730B40290A87862A46515E840EF7EF95D5C2 -F7CB0438C94F7196D0150A2606088203E72F73889C6B351D3B7AEA89FA8ED68E -BC22C235C8B94D91DEC7ABF4F67827C123EBB2E0114CA9B430F8C3A4C52D9F91 -5FBF1E5B7EE99EE1F32FAD68E51C9EF5857935D90CD6787F5A7D26CA2DAE398C -B0E03FFB6686769682F45187CA9ADC29528AFD6C0626B569D1E1CF81ECBE911C -7272D78A7E9C2892E0A9864D82DD7A06EEE8C79DE87AA7CDEF73A81F62174E28 -A3DE77D00BD02174B4E4EE5A960CF73F742D0402470B87C1255AA3FE9F9C0798 -7C691462AAD55FFF9115731B36F827B8197FCB50C20AC134427E3AF225F3852E -C320C4F6564D19E9D90DAAA6C6989440EECEFBC7E0515F6C903ACDF55EBB2745 -7FD1866136E1E34CF014CBF6AF08BF8637046532A649D2A703C1D163AA125FC3 -B5A1A7A54787690A355A386198B496440EC3DB11C0477B0FC6A1BFD9C68DCEB8 -D05FF860951090B268B62347999024F0B029619A1329A7CDC9B22E221F29482F -7880831094A44EEDB2BDD19581A52453E1A5CC6C5D357DCBE28C087E64F3BF42 -A34081BBE7BD7CBB456033B6B743EC91E8F31652F99FF2F888157BB68605E782 -A08186A4CD2D3185B96C4DBF360530FC93B1EA53F295B47EB37B7FA1DD44C5F4 -416E4F17CC18ADF918BECF8A33D638DBB55567FB9BB3B416D4384D709466BDE5 -3E19F1A83F5A635B879BF0BC9BEA61310213702A61A9B64A551FBDFF61D7A484 -E7B92AD5E0CE331F4D747750E4B1D05083370437C57F4175F5D632BDD017A398 -12D14D8A8540103F3C8836C108063D8A354B61B5843E7CB98B68421F7EF3BE66 -DAB94C5FE72A193A6A85701535576837E16173B173C4D458BFAFCF235DB013BA -3ED696A230834BB66260CD8B6FEEAB419B16C8D09EF7AF735263E9DEFD4491F2 -8ADEADFF0477E817EB061C2FD5501FA5B11EFBC8F2A251165E832D7498C346D4 -0C5038BA7DCD69117065EEEB44A4D2F1B00F7812008578D1F08473950F91602D -CB26FD9A426BA5FBCBC3A67E43CEFEF418D4DFEE378B51EE79914E438CCD8512 -5A3FDFC5AC5CBA66884350FB1817FB8D81512E4421CDD7B55FCF6C5DC5AE410A -FBD21F40836104D515BDD985FC5D7FFAE58DBD62099554740986A908E655BA82 -5879165458C9CB5CB893A1300F850C70C9880979EEDDF306C1B2CDEEAC6F08A7 -B8A286E2816D538207988E80C8B8ABB3B584901C310A2C37E2DF00AEDC429F9F -51FA60DCA40CFD89457C0DEC2329114407910E6945826A15AD634A34026524AB -D7EB01765E0A01735F527D084D99D70AC10FE0AF7358D2958734BD3B251B686F -75370D45DE3B02CCEB64BC773DC9AE49C5EEB9CA4E1F6025F37760DF03EB384A -9AB69AF3695772239C5C210144E7793801260D4F712E2375C7BED1475CF0EC98 -7D3396A1FDD01ADA41E26B6FB486E7A65379CA697E94453E12C7E1EBACFF713C -7686104C1E8A97F5CA43D90720A9DF8158BA122B30E76780D2D7D14B28A8E2CD -487EA9ACD7F41FF520C828F96B01113AF6326E709FB33E4C0C40630ECDBACDE4 -2B00CF4DA171C5FB56EC13D2314AAC34B7E6CD522EF577849F16FBD63CA74115 -B1020955853DFDD69504896C78DDAEBA13CE1503CE6298857E95AD30F9AE3D13 -EA679C0755CD9D347E62C2C6BB02B3B70BB5ABE5D42E933095995E82F2B468E8 -1E67BD75E31F3FC998AB527CEAF6D22C3A9D3A9D37F49792B0613BC26E966D10 -ACFCB08924B5DBBB5F34C1532918F5EC819D58D58F22F5B4C34091B6D5D5AE4A -2DAA6A4153DA1E980C1A877F92F3E62CADEE753F835E1D4041726AB4DD8FB54A -663731BF848A92548D7FF200CDCEB755AAC2D4538D609CFC32AC7A64BA4C19A1 -A60FCC95E65834A8477AD1851D4F42313C7D45BD41A7C128FB3F1EB3B8A9C9DC -EB87ECB0E62437F660D7B7B1A2BD1A83D0A858B48DB4FC346A5019BE1453FFFD -365DB2B79BA982FF3074C61A7EF728068C3276A7454B934249CB0FF347B72375 -2B98FD0D5407161B65BFFE96F974730D5700AC5426D102933BC8CEE26A3D7CE4 -E91439C6AC286879CB513453533CE793440B6465A43FC931A95934B0F389FD9D -F2C414562251BA1015F2877F28E0A113876AF203836E03AA29BD327204A55C35 -A8595C42D4C65F6F7EAA5E7C82F8B764B311428074BE70A8A730D323C96EBCB0 -3E0DEA328220E2DD2967423BC227D2EEE3B92D520F08AA0C6670F8D3634F9964 -80B6CF0C575A43AAE6701022678EB581216F94D96E120319F8B4C669DB4F8563 -1EEE57B64FD370EACC725A8C3365A9DA815CCA27ED6B225AAEC2B63231D9EDD1 -251B2FB4E2E428427005B886A09CC42A37323DB8C0FC0B236BFA6608BF3BF90F -F9331DE8D013BE9246A5F7E11BF56A82480A7E3A789D2148EDF9D4C31E9D1621 -BCD28FD7E3129FB191484009367760D442109F4289F0C1F793B1B54A245FA790 -FA945075EA220FE8BAC943E1D68DE00BE2401819AE2F0854AC5C85EAFB40F5F8 -CEF3513B826DB403A4C94CACB3CBCAD5DDB843C4864840AD4086C00C8354B4DB -6F7A67A9238155ED872AF356E27BAE5121450C534F1D64C5814E9FAA11FC6BD4 -FBB0EB1A762EA9D591C97B938349323B9FE6B541A13DB805D6DD18719C3C7BE8 -EFB5471E10BACB574AE708504E9BCB71861246CDABCDEB07164173C949FE332C -4D9EBA9DC8DCB71D914B4AEEDD0F91C891450BD84D7CD827516E33BE15F1AD6B -30396AF928DFB1F8078F439C335261C98BB7CD4DF1532C0F04DABB1B58AF4874 -6D889884716E069AFDA1D41DD9773B024FDC110E565DABD6FE092E062F394EA2 -4B23A3F5647E41143558F695F1648CAEC64AE83F13B900FE6D3F3D1CC94137D5 -DDC2D608F6D09E46AE5300FD23D9873580B6AC180B5CAE378FC14189B8823E96 -CDA6234404F1D472FE468FB4F8BB2DE023BDAF6F43156720B75B175F94CACCAD -68D901CCC375B24AD5AD32965B59D528B555DEA3585B610BFA6F4528FA5BB645 -525F2D4DFFF85703A9E3B82F43B5863FC5EBE8D0B9D96C6E8DABBC2D84DEA858 -5B6A1D35CE535251B09B2E4CE62C43DBAD3E86FC2E0EF06EA1FA62A4B6EEA756 -6EAF9D5AEAC1337CB9D791D54CC67CDDC03FEE7A4BF9D9D967AAC6882EA113C9 -3008B00C93E10C9B5FC8C763EA8EA0C3ACB25D29DE119D42A09019E539D0D99E -69DC8A812E12D5FEA6E95EF4BB6F142AACB08C5C4B0440DA7202830C929B2E75 -9A7294BD9E4F4F891BBFC0CE1029B85FEFE7AB2B4C7731DB532A79A365A58258 -76F20C921730965662DDF829970BAD45BD66D6928DCFE7399A2FDB0BEEA5F75A -8488E764D3D29CEC29558F06370948DD2FE4F7985DAADA9FFBDDAFC956AAC926 -9F924773215CE94B0D3632CFEDF4CFE7AACF7940FEDF598434E4F82E9F6C9C22 -2DADA01E508C43FDBF0E41454A57682007F12B979E6C21BAF4380993B54413B0 -50A8F42E4D5D8C11BEF44E49F4543890822697654567E8BE9EC4487A00C1678C -D25849E8B3CF962D0EB05A3C1BB5DC3AD0964DA95CA31DC31D84FD0757725F02 -D1A9906969EBD96F5B5FF34614F7030CD4E7C39A6324A2E3B3D70002CA3FC904 -A56B650D65061B3FD52D6D0ADF4C9230949F0C89058F623AE1126ABB094517E4 -CF8529C15C7EAFFB689F749694BCA6BEB6208D9AF34CBD4B2F50EC03979E59D4 -DCCA4DA1CE446CC07A923D80D9574B5C4A9311B4E2E83B88F378998D5CCE9EDA -1778C87383FF7363A374FA6E5272120EC8032FA66EBDDC75567BD586FFC49DDF -861A0A3A3D382C07E1E2CFB2200EF1F8D6E47EA35FC0909F6D4E3EFA71C68327 -374F80D5AF728F4C7EB3BC8D470D67FEFC190F86FB837788E058223E2A0E3D74 -2DAC9DC921F7CEBC61454AB8D82964F636EE2E235F38801032F451039CFD5DB5 -D7AC5F17DBFD037123021F2D661A966F70CF41782FA372D86669DB84557C6EF2 -EAA4E0B2CA8340D21DF6F0273E286B13FA6BB4505BA75AE8A25FEB68A14967CB -2F32AC4283212B8C7767DE86CE7ED5DF41BC4B4A26F0E3E1CE53D40C64A2FFE2 -0882EED4A6663DDA91BAE6386AD46CFB4745F48CA93F7E89962067DD2808F3C1 -BC082814D72465ACEE843CF6A2B2C9821BE729E04B8F8C12FA56EF1B1E04F005 -6167690B0DCDBC4DC8FB782B0DEE1B00D586DDD499EA9D4A2394DE1339A8DAB3 -A71E0F8CC3D3DF4AEF3B65BF73E2C6EF888CFEAA804659B6AD76708F54E36F88 -7B3D9A39C8A9FF93205FD30C87E9EACE8AFE46CDCB5520DA38A5228C5B5D3DC5 -89888E0D559F379D40DB5625B2394805D7BD7052A33EC03C399B3413C44ABED6 -111BAF898686E9CE54093969AF7B6F2FD9E27633BB681B8218882EF7BD9877B4 -3F649F01FBF7E8C5F523E66DAB6485FFD34FE0CA373EB4CF8BD7C84CD22A6502 -F43F50EC14A412454156777C8935E5C7B61B9E4BF51132D97EF8DF945068B33A -3C122D4C34CDFD5085C6437F20CEC3B29E6AAA2065AD05A19E7BB92969EEA246 -87BEAAAEB0F01F53844AC095F629AD8D0BEF5AD402D1C874CE9DE233326BA82F -BE7C30A81A98802A01A3D5113285B0EBC89337265DA78A32512397426637D5FD -58F646D86B111E53FF600FDEEC02DD2DA52DA9AE875F43585C69733B7F5D8515 -41E1EAD1B961A6920B9728604930397AA497739C3E8B2470BACB685ABAB79214 -5EF5E1DC2D6FCF072A01C43D5B0BE96D9D4475474F5B683D01A03AF6D2979FD2 -58F34D54ABAC17D9B7B4A9DBEC9DF5D179C402F4B1FE8F74B47DF5C628A22762 -5853D4128C42D4D11C8DEC7E99C01F4AB06C57A92D84C55D82238AA1ADC5CC85 -1A7D3D2DD4CD962FD2EC8B3251B360A9A55C3C22DDCAFCD06DE5F9F2D859260C -1A14F2650D7E83ADB95231FA22718B8F7A2CE6A39E44AA844EE6CB6C1865BD4C -2425E517598BB8DA4ABCB8F7B41AD8AE2C364B85A7439598F1F9A9696E9FA50F -1BEC16680627D3346DF648576CA30DA11B04F2C5C5AFC18EBD9EF3A04D4EE2F2 -3E326A34339A26924C2059A50C5284B4EF69140C6D99A5376F79C39B006C2D8A -840D064DB477C70EB9B0BDB4581C493BCFAD557A01BDCD96A24B6013780C0DDE -65C1CEDF6EDA691BAED459EE21A54CB814E2C6C05DE4D8D3EAB7010F12747EEC -EB73CD6846C12B4F2FD8F3ECEFF292C255B29AB938F2C3DC50BC46ED04888F9F -5A60430EE5871FA0488422819C81849BAB5D3FABF176CF71168A7694156DD65C -1837A0916DAFFDC44D36B66AA28B3BA1C6178DD86C6A096C6C36794935BCE017 -DF02EADECA82A05166D2C100A56C2C4038E3A3694401CD53D514F787F8361279 -2EC1C2853D50DA2B2C481B2CAC90726914DE60E7D3F99C0AEF696B242204A174 -CB4EC72F5B142190E913937F422994B5D082D412509C67810C6D6F6B3A6E7E4E -E5938B3FAC8E8124E026460DD215C4F3E01E399B3C25EC98E7F7256E0BF02250 -BDDDD75E918B04532C2E4EF6984C5A546ABEEF79233893FE95E7AD29B22DA6D1 -B3A722417C714688444C7DA3E545407B8E95D50F75F4E0AB7CAE2EA9AD82C43C -2C2ECD095EAAE32158ECCA60A5B92D96E760CD2474454C9025930850705DC591 -FE9B8A9B83F0A59D7919BE14A4E57E164C114FD4461506D5D32001F73C70D21D -013F753C716A60FFA0FC1E8D5726141FB24EC31E97FBFC9C11909706FE8646CC -983B0DEC377A9009D3EFDBE831518DEF429EDF15D4D0B81D932F18ED82E80D1E -DD7752CF86609B6801D34AE6733317369CB04AE78C5AB83E9E72C55F0FFBDEFC -521C1AE7733880A49B109DC2E6E11950A22A094DBC4B74DB9326E7AA2732A2D2 -D4DBBEED9B069829444316B586CCC5F95FFA1807D31EEFAD24AAA205F2ECBB37 -927D69F778371A8765FBDF9E47D908E54030996576783DD21A4B57DC28CEE8B5 -46E88FB974A48A15437630C300F527644A83C286420E843F8980D507DBE88D07 -08CB5DE0992A1608D994853082567887C6E5C62B2751F78E87EE808A01C7E11D -6401C4226C0B9615E778C63DB94A6180862183C350020ACBA3DFDA4C41E028FB -4C6286B287EFDE41D4963FF5BD4D849729067A9C99D6BB9D90345E630DDA41F9 -A6F9C0D3DE55A58EEF3B01ED8830E785015F3BD0AEDA7C79207A249F46CFCCA6 -FD26130A755B058DEE5032BF842F1D65F1573A2E53B8AD566EFC9211421646C1 -83F1951BAD29A5AF7FD01A9E267BA2B91420EB7CB0CF3A9D61BFDDB23FA70390 -2553247EB8A1D940BD6A8EC2D5E6AA90E7FB1E23EF6C68F65003CEA43F34F59A -807CC4D834EF3845D9C192F9B83D44138DA9ABC8B05C8EC383596FA63642D774 -26CADF5AD03D5F86830D61556E212B49B0C73CBD761E1EB254CE971C4E854EC7 -35DE8CD55B036D00C2407E6884F4B0BACC0A7D8CA9D64F32E78E97A6DE0CC2AF -C86AFC0EFB124CC153B3528451A064465A68A4898AA720A0932B019A81F1DF6D -AEBD44901714879141C2153121583B695C1F54855671FC0703DB52CCF8306636 -B49196BDB6FF50FAAE3C9C100F5E8AE60B112144C72552ABAAA0F1C2560C72E6 -0DCB995D07686152CAC803A73351E3914DB513B7C8D268FDB1F8965B06D95ED7 -DF552B25C4B3465173F37D839159980598C3DECD6B8555758D88330E3E17FFCB -D29B2091A2D9D86C15FAAF029A718ACCDAE07C7E70342E1C2A47627A54A162BA -9FF7D5E72485BB785C09FB709BAD704B8E7C3CEF9066EF387E7D9803AEDCA0FC -A786E44EA4371613BB4AC89A71016E3857450A95A332DDE5E348D96D04838428 -C9EF68881B174397FFB02E9557CCA0978F098E6613015ADE1994A66B47B430F1 -5FA7C42208D301FFEB0C35C8C1944987A025F0F00B2A5D4E71A4053F60AA18DA -08B991358C00879C8DEFBBC37AEFFFFA76D701518CCD0F773EFBC32E400073A4 -F91B3BBFDECB3B697D23AF2D526D4636E740DDE5BFEE12CB605D705C69D98B21 -E62BC152A81A7ADDA0CE3A2CCA277302647A40B3F94F884579AC6DD4670CB768 -B11E9C08E6FB9B6461C21C9090ABDE38ABF5F2FB7C6A163784215401581C0FA0 -5EA26685A6AB6351F8967C3A652C61E467ADDD5DA9CE1E60999F95EA03DCADBA -636EE42A60183BE03A25550D37BAAC6A177361F106FD1EF77946E7E21FF6F17E -0B09D91B215CA56AA2799948B07213571E2C462A273E3E1C582E991207603D64 -C348DBE840D52086441A52896A2EF4305AC3F5048D9AAB82E4A256AC5BD25DCC -14DECEAFDFD4E46098B5DEFCF699852EDCCF7EE6DF2AE8A1BA43F77BFAE0B16F -08C783F559A763514CA8C3D114E79D47592A52C1E4FD7AE46E13817E658D509E -2B16B1AC6EA63DF28961F6D35D584C29AF35E6021A8B1D0C5AACE373B5ADFDA2 -CC7C25BF3F6397DE4B97D012DDF18A066D93382B4E3E1EE2948F4632984DD1DC -4795465CE32DF616F42463605831229F6F3FDB8C66420045F0409EC28E5E45D7 -5A5979B40534A35343C6CDC35515031721D9A41480E61BBE5F41D0173561F717 -251E614ADA39D9CAFC8017D2BBD6B8A7D9ACE4567B3481B0386C247041D8535E -2059DC62BE192C837AAC57ECE8BB1256A687B9E73DC708FDD26E2A07A0FCCB85 -5C0600DB53B27C1BBEF0730AF506520443AB98903180D5F6B68273A6A81DB392 -890B2D8B56555758EBD98F49A60BB468812928C80AADBE5E0F8AE8B17277799D -ADD186DE3F8735C86CE4DC9122FADE97507F52B1A5DCD766880326F5D07ED228 -C68D6F1256E08F598B9C405D32011C07E3EF24B33ADC2BEEE55F2CA3C9BEFEB0 -4F9BC5339835342D1B1D1E2E7864C924E00C009BA28029DA8AD356C82D4B987A -DC6E6405542A7048A952657A0A94D0AAD64A28EEB99982C9C77E298B019709C5 -67922CD18D730CC44A6E9C9C03CC22647CCE27B5662EE14BFFEA77A58D99E657 -0D21CCBB6464E161D3B4C3DC0CBD41EB8B67CE18111FEDDEE11CFA14809418B4 -1DCDFDADC8F204ED30F457E21EB21492E66094D37B04EC331B34BFB08DA5BD5F -BE5ABE603E5E26D003DEDC0151BA1DB0BAA9EF1293DE5BDDAE043D1F58177418 -97175B27708F82EC3BC739F3B3CC50A2C7DF59D2EDA2A3A701217C0B4F3425EC -150F2F53EC9C7F823A35C1B13DA22F6E1688DB0D18F4B0E7320EA04EA52D1D23 -9C117231F36047CC26C7B15AA6FAADA74E07F4DC00F14B621A33D7232B37614D -2014859AE78E007C8C57F2B0800817848623EE7E7DA0335A7D98088C1BE24B23 -9584830E0AE0B406A03270B81D1B3D1CC8F838C72EFB71BC4E56F423C256E550 -E34E89EBF764B578D2576F8171E6EFB9BD269F2C96C3335BBB610D8589DE3DA1 -AEDCDEC233B6F7CAFD98E5EB6A14566E43952F8AB3EFFFA2DF5BA57E9FF04ADC -79A8E2A1971D9E5802794190B5FB7131A47C8790C1AF9D74134735BAB737648F -5ECF5D2E7B124B75922C67463FC6AFCB67B4B050E0D8F7094966E8D8C42EDAFB -FCB5A34AB0EFDF76ED504FAC574C7667917B6DC812A2C062FC744BCB4CBB8009 -0201AC104B89711D037A28493C7D40BBAA55A26668428384E5EDC782A896D2D5 -B67E7E5D3E1CBBEA10C3DA445AF8B51B387EF2FA5A12FBE6F8F5FF04FFF0AA8C -0A934A2259067CF3A287149E79F65339A1661D71E31E77A84D8BE1C030B4E849 -E995B605C68C2F2D662DB7BFFB205F4A2C620115F61D472405D0745D36337C56 -053AB2EE55ED8E3B46FF9D634AF9C2807B3E8A919BF7ACC98BCAAD21CEBEFA70 -F9263F6438BB0F791F35FCA852028B2BB08E5B57F25E3E3367BF7C7EFDEEAEEF -64654A2C610F133228CD4159A997B8C81C4ACC1EAE871F26275D1C46F2A71228 -3AD44F71E23E7B9D8CB24098F82793417D1D6B547900F304F0BD915D70388940 -6BC6BB4F99A25171A19A3A49A4682BC2C4819445A6383A0CEC2FBBCC975064C3 -A8B783644C5A9A7B45C51BD257936652E470FF4876ACD7D567468964E1D17E4F -5DE87E683451CCC4777D684E8B75FE7879670EBFE59972F3B4F85E20A056F5FC -9A73B433D6798F8132828E29E30FDDA1C6592A846B14F92D2BB812D3AEB8780B -36F2A057F3C8FF33790598EC213C88D21A75E380652B0D4308E4856ED490F5BD -A33A67149FE25942BEFDCFCBC1243659CD06477B1424840CBA441885AAB15C70 -1F05F620B2EE3F5E171C57AE618560872D76E985649E8C8178769BD863EADE0D -DE389553B5D4EE8ABF2FA369CDBDD68BC74C1C627949D90ADABE106AC61BDC34 -AF63527A7C44AB04726F6D2216BFCC49578C10D9AA5A83BF402ADEA76503752A -44A1E728C720ADCE158F5555C4919CBE7510AB284FCDA60C44473291851043EA -E27EB7392BC9C02F65B218065ACF4A2A12E7E6C191140C7D16890EA4739D122D -0D1910388185988AB09430CC172034413A0097E8E4EEEC00A514FBFD8CA689C9 -FB1A59A36A678B81CEAB955DBD690722D33C28828CBA0911A51E5CD170620018 -2D88E8374B77DD966ADBE2F693685B43EB7FC26E5C107ACD8E1CD3AB0401DA30 -E75D5378A2E95E4E068AC2CC8DBBC377F964787119122E8674C39BC01464D9D4 -6AFD9D742ACD9C8730C26F3A29D754F292F21B50E9819B75D7878D1449569DD7 -CE9619F575219243BE5C48B6C29E5D93DB338C64544ACD8BA3C60B8DB63086CD -4E7C342CE820938C59B90336C494DF404FCBB970580C89CF3E430E4B5C648F1C -5AAC545AA7895598C44728EB40597009CEB21F94432843FD41CBE45EC38491BF -F1A492213D9B002D64B26E1EF68C939D7402AE4C3B5268DCEC1F55E1D3CFED5C -21F43524F211F2646FAF3F4A73B1707CDD2E302CE0297BE68BFEED4D98D60EC0 -C331FA1FA8E94F8840E822B01B45A7F1FD0E34C95A4B414D2DC72A765C3A12B6 -2E61819B8B8F6E549C3AD47F4A005933545C7F4537960466DEAD6DC011C691B1 -230B986605436BB3F87716BAEDF2A009CA6CE0B3AC37A14E9E3D50F9393FD7E7 -CD9C9B4E91C4C0B8D6A9F093538991E08657EA0D37561EC0357A85F2F1D9994A -73728736C1D15161CEDA7335EAEAC671A519647BA805E095ABC7ABE4796D6649 -634167E28BA49AF423D23AAC9151012CA7CA16271C844A02655293A9589AA236 -5408AE35CBE9FF075EF4EC925F8D82DFF3CE17EADEDC820C2BC7DD1671D8D546 -B333FFAA0B13255B8608062ACFAFC4BAE24DB9DBADFADA09D939E39A69BE279C -160F8AAA24B939A48AF73A17CE378DA9A8B2F9FB6843033CCAC112CF9D4492D3 -B0B8B51997F3077A185C240B8CD73DCD8BBACF71762963D6BF35985179AFEF4B -F3720D8A17CB7CFBFF4A9824518BC2311677C6900B37F6338547EA7274D01CC5 -FAF067C615AFBAF3B625FB7354368E58A6C8CFB9974E6FE9F72AD2C801108A48 -7C5C4C57BFAC2718DEBCFC39573842037B1E806C96BB76E310994014CC777A7B -7072BB178DDB5A2E78D9441C4008D9E72B21C20D44620648BC51B8A0AF3C5B21 -7B7DE4EC1F908DA6248A818308C6021EFC68AAA131DA1233CE09066FB2D022F6 -7C00417A6120E014276DD53BF924FD8FC8D62DBF94AE802273F32DE34AD2BB79 -90BAF4BBCE936757788F785D315D36B5A8E7891A0ADDB26B847DB4FC969A7AA3 -22B535DFD9BD86B3CFECF0D9AD58A4D30BCEC2FA55A2DD3159C47CF0D0F6ED13 -E584D3FA9D83105746EA536AF600FB81772184A0679A14AEFEF3A3F15DC20DD3 -D450FDA175002E11E4EA83F19A7EBD343FB951CF0B33693A5BC7C5B4DA252B4B -D9D752CE580B129019FE89FC62EE05E08A68283CD59DA8F1B072A046B3690978 -496A7B4E4A39ABD78EFB7D42BAD9884536F8AA9CE3A397411CE310FA9A108FDC -6DB7779D805786104892881576FBDBD87FB608524A2B171AEF771A2070539087 -6D82E338FD43A9C72F7714B8ECB03E3FC5229844C9A132436F3AE54F1CC9D069 -41EAEB395B9D960DB455E7D71B26F04442E6F66BB044FCFB98AB5D0115D59D77 -6346B0A8F5D6BFE8CB240E20FE02728D769CC024EDFF580C77F607C22046F362 -81A4BB6083DE452A01872F5AB7A045FEF26926AB10C914BEA406BC396A8CB3A2 -6AF03BCE3356885EA2181D91D3381152F8FB94F9E6C3BC8159B2A95486E78AC9 -4890BC76DF88DD6D80A5E8529048F864513F09534299232FA33D4797F174AB4C -88951B4043D2B724EBFAC18A0A1B60CCBC732DF60E2DFC613CE316C63B9B8430 -23AEA901FB72B0322483374E0430A29193CCFDCB327338736BC8CD82799ECB38 -51FC9003F04B7C46158CC3C0C8703BDC2FD260F7A88040E423EF89DE955AB912 -CA3DB5BC0C2CF534F74D86AB4BF8BCAFAC5ABE1E1E61DE252D241DDA0EEFF7C9 -FEFBD77818325F307B9BB9245E9FEDB0F525CE15E5CE1C72437136BC12F8B102 -C77F2C0315BA67D7A9EF59C21145EFAFDD57479BB4C89198CFFCDD2488C61BC0 -62373DF3E6B62F53EA0ABF2151C590ACD370721AE1D831AFC1B28E87597356F5 -6923A192FEBC63B357B2BF3323891D8CEA75C37B8FEF56A4083A4523F8F83738 -26B1E6099D34CFEC32A10B2FFCBCC0F324876EDD1110AB3540D641BA415F44E6 -9BBC0473FB420CEB68575A6664E99CF248B0511749F0B11EE124A87086EA7E9F -B73F3A8AE1D5585CA6FB3A72456E06C3BF32AA6C130B1209D9B969AC4A13C8A4 -F14AE884A8779D9C3759C2BCCCBCDE519673CA73CC606EEC30E9D2BBAA2EE540 -2E8683D8E61EB78FABDD8E7C111D7F5A772E9319692BCA9D462FA4E064FA9C3C -62BAE54D0AB9C0B183F9F45699E52301A20D409FD6F95823392FCCBA892D7BFD -4590D2FCB9F75B90CB94609467794E6F0AE74F37E9999014CBBE9BFA1BE5F64E -B9E57A6F904E89576042A9BFBD00DBF255BC5B26089049AE818EFA4973F9A776 -0E9517ED7470822328DCA1A7DDA0E0821F59EE4A7F4E3407ABDB0D0F4703A1D4 -A389A53DFFE0E49964F60DED12E1F9A2F703FB29E4593CE8C070D7261651E8FF -7C2EC6E37E497195BBCDA16056F8E192B28067010CD5F001F4F861DC7D83B3F9 -94B2B59F6EFF26EFF0E50C43FB20723041DC07F63FEACCBBA360BCC8FEEE0799 -911159C30E4090004DB4B12A6B26B0532A8EAE44AEC0A912F0D7D1FD51A62A32 -141F8CA382B6E41CEC4D70F73B81597A56AD2795B3C835D5ED894847D49DAAF4 -B771485F39ECDD20D29EA4133DCCDF90C9CA0F1F2385317B2053B1A53FF8F4C4 -0BB4DECE37AB4D36CA7CC8E339ACBB356296EA6C459C740074DA8B2B6DBA2ED2 -5F1CCEE6432198244CDA15DEECB51A2CD7CD5D16AB8425 +87117FB7D26E271EE319A45AF58B5060BC504767962151AA0BE18386D7A6B067 +DB4EE68115AAD6C430A83684A650CAE13BDD3B2273062E649AF34CFB7A1E33CC +4459B32357BCF9E9D240B4B49480E19266F35591878434DAA5C22547994C95C4 +24836FB59B23DB98769E02DA06763496C34278BB44E9ADB6B0A4F6F25513491A +5DEF85F52B2AEB160684F2FD877B1C0C20AB9CA213CEFA13DF43E8430DC07E84 +AEA51089F7DB2D5A2DD2B41A09C6DC4C0E94DD1A1F9B5D4B948AEBB424958B80 +F1CF7424B30C9459FCBF8ADFEE2DA11544583C2A6D44EE145C1848C52E01EE0C +7AFC55A87FB3A81657D41098685A17A181D0CBC519C1579B64E8AA9A56665016 +221DD4F776B39E4B1C7A6E06E92EF8586B9BC24692F3F850EC07CAF38D46F388 +07B36DDAEE4EDEBDA728B444B69CC8C86E8A316338EC254E0D39527A6BA0101B +DC4A7C0C6B3A57325B671E16E7D565FE32AEC8F12DDAEABC4C0F5B81ADC4FBFB +3058680581EF6A59BBB791A36D25CFFC73832385B74AA2909E2532E12C17416B +9C753552C5CA9F257B49FA4DC9E18DBA9E74AACC73891AFA4EE5AE5270A49AA1 +F21534BEB46230E1443B2CC1BBD7C8A53A4F81A94917F2C8033B81B3A5147009 +6FDFBE24DDBA427A8710558A3FA56FC095CF43965471C12B7E0317A055181D51 +613B637F6DC09665B21627566D893D99E8FE05DB46054A99E9BD96C905457807 +040B91EA8AB82DC2B238DF8299DB9D96AC80C58EC470E44AB57563C69ED0766F +4D7897A49CFF983CF4210633F5556ED3EC9269C69036DECB0D3F95D70C4160E3 +CC03EBB3EED2BC58FF82A1441ED504DD64141BFB1D9577D697123FFDDEAA86DD +122B65104DBA6FA94273E11F847C3F6AAFB171F13C6A9CC35490A7059FA99C53 +EB841EECE3E2FC7293601E799851ABB94E61D5F9E19577B5C5D53FF307739FB5 +8AD96F4C982FBB42AAFEB06FB5B985CF3B5A94D347795D9BE05F0A2DB35DA51B +6C6EE6F81B9A14A470FB8EE86DF5D17C4749F9C64F40AD82CE6F5DC2A0E61355 +FC3845139194F4F5009E8299E9FFF9EC7D12FD49E423874D41FA8737009E610B +8ED0B8F4DA3D512635ACB23828E19A26307B7A2D3EF8345B5D8121DB386D8976 +AE7D6792C02EBD15EFBB17B514D4258A2981D64A800AAD53BF194F5167DEB3DA +764499D825A23BDC6565EBD942063347874C34413B02569C71D90B785ED3F7A3 +BA9987350892CCB89A75A77A4CFD7DD6383E14CAD21FC4F7A73FF4271E57EFB3 +A0F543FD467E29B02115D124F47DCB3C02817123B4EE694B9AA846F7CA86F432 +03B64474879A2D94708721A0CC8FA8693A72CE3EE4AC1F4D6A47C5EC92BBC1D9 +A0015887829A47250A0B9B19ED203DA3231C66BE6056EC2495BE6DB3E8EFBC6D +D47ADE79FC302ED199F8FA1385747D3652F5E3C3A311D4D6FF082953B3188EB7 +C7D3FE68B51DF57AC4697449E539FB149BF6797E0B14DB1BE89D97B0B93BFDED +622694A35DEA11D8ADB4F117D9351F73BE0AADC51282F4DD00158D0DF10A307C +6D20394A15C86CBA42B818F6A68A89ABE13A14CA4DFA4BCA19DEAC249F83CBBF +7AB2074FE43424EA9E92BBDFDC3EE2CC7A8F3666D0D30452409D8DB80AD1EBDB +A12846FCD4226A6B357AE6BEF384A58E2FAE1C79D43D5E474E0EA2FF1D833899 +6C386610786C056C54C826F99585E7296C4CDBC846AC36D94EEBBC0DEE84FFAD +210AC51E2EF34126098AE612DEECF8EC4533EBFF700F9B75BACEA7B771CB397C +6413830C7DB0E333151B30D32627FCEF266E170A4D4E9D71883DF60C4FF03D08 +8EE3EFC8FCF74EA015E7EDE94C5E9906A3AAED85DC255CDA01D9063B124EA9D9 +54F2FDDB8E05829C8FEE07C6C027732D717A9515B3417BF705870EE6364DD785 +A3203480FB548EE57AED6B3739B3F1C6C2CD68BD1A0A052E373C81D661753994 +7C751E6F15E7EE2C075F1C43DBED60E8FF8D7581EB2D2112F62F15A3C6893026 +6651E3AF5E655AB85C63F34360C4820D327F6CE24D5BF665355035972DA992E5 +3BDE376CE6155BF5C3BC0C05ECE69D824061D2BB29CE02307B6100BB8EFF7ACB +87659656E6C175E8D064D4B9EFF87EA45E42CE881484809FF86A0DB01E783090 +81B04CAEB3D27B34ABEE1FF55F6E3BAD0F9D47DC8E2DD2D75599C17C187D3E9E +3F0B2D57D03F42EBC7FEAC40D62DD2545A297F7CD1C2D3C28BEAB8F069937A60 +76AEFA5B77BCEB2AC85F000E046F4D9B009688CA306970EF923E9BDC60E4E9A3 +628AB4D1E0D643D1A0A18375000ED121B460ECDF65B191E43182FC69B62BB2AC +991320BC421EFC03419AD216AAF307ED3A2222A923E57A43A13F18199D5A2393 +2C2779A6EFF51DB8A696EAB9E648CBDCF606654BBB7DC9CF5E05D64EC7433A2B +23C713A4AAEE6044DF5231C866CB126CC8D179EBE944872FE00E5647FAEBDD31 +069C5BEB6DA336A45583C87856C0D8409D8A02A58F0C16D712665667CFAD187A +DBD8CC8AD1962DD6494B792FCB6A410BDAAA2E1B9C8EA0B57316C15D17EEB68C +080A43C5B803A58565E93F3BB30832496055E861F6503AAFF4B48BEEA5657992 +AA29F49F6E89AF9C7A16BA8F271E09CB0260922A3D706CA4E55946FF3DA900FF +A8EABC97426188ABF8BFC2D85224F9D0BCA5038EDE33BC6EA20B1BC2C5B1A683 +A5AF575CE5EA826EF7D777F1824AEF9A456D8A1857E79CB21E75C1877CF7A0CA +4E3E1943BE4F614CF9F8D422CE8BC3744A09A12BF2F0E0B9EA8412ABAB1050B5 +E5F423F3974EB0F2C323A9D5942BF0B52217B616A178B51DE68ECCDDF3D852BC +3CED3FC00C8358BBD9621DF38709A7BC7CA7F507CAFAECD058416622C8A6778E +56DD0F56D087DA40E09429600FC97DD913C31491AFC81CFDD915D2D3BF3811A0 +8FCAA9F7B9A1E800E4E3CAF640898FF358B3B3AFBF09594DE760D03B2B21EE6B +38EC7B48A4EC277FA6E52434D9FEFC5C90CF038E7F8297592057CB484B697E14 +145D80B40B9FE18D453AE12272B4165DA8ACCF5D8161303CF8AC0C67EFEE09CF +61EC2BB71FB74AE4936C20AD50F006D7818A1B5F6546385280062D5FE1BD3B92 +AA7B6D60AB4000F75D7ECA2BC27090B34D313AF755BD6E8D2670929ED5D9A7B3 +ABBB2130AC0AAA0552FBFEE360F0491964A823B54AC07DB43D526B1646F70C08 +C9B143A0092EFC0C680E42BE0C7104CC23ED2103678AB9805BE6AB0501010416 +22CA00A41D88E36048B3C871A917D8311B88031931DCD15F687AF5380CB73CFA +933F9682D8D616DBCB68CA9E1FC7DB0CA94EB42E40673597589E4AFCF1313C67 +D0B6B2A380D4CA41AA89417B19E5B4BC2060CEEF5676B49000D717250D796359 +CECDF88AAF08B71AF8859BEE17A9BFD57998A6C66419232E7973F01E3E8A3B3B +C4160A1F51D1AB8D21B32F8DAAC9653077F752CB0B141589F171B312ECCE4AA2 +A1ACE97D0825DAB81A577613EE062BBB62B3D75E3D045E8B0155D2A9325F6AC5 +29DEE4C20A015E03DE5B60DBE04E2BA16228F6EAE52913AEB4570044C0E817B6 +ADDD0596149BC6C429F46FDFB0EAC6FB4A1CF298495B59C8A70C2B9D240C6F20 +93B94A632BC46C7C2755CD234DCE75562990C0258C2D615DD8CD4092D10B0FA8 +A7697647846DD95794C141A571BD27295A6498BC8BD6B2ACBBA73D6239B677DE +0701EC5B5994FD981017F5B314CED6070CABC53356880C6CEE6DA1C519198B7C +D390CCCFD01B089375003D055B3D704D3F67CE6150BF41ED2CF7CD4701230728 +7F89E00C87705C76B3CE3CD1C3929EAB6000E193D01E9C7264BF29030E9EB051 +FBB094633BB51629DD1DB40CC5F3FFA9A70093E59704C129FE895152BD6C5BEB +66E46DE52CE673316344555B00BA09F7B60455C10548EBBBF13D1FD485585A36 +00061D31B7DA74AEC16AB236780E004D8602B29120854C950F29FF6F15A4F853 +83A553319C5D2DE26011722C90563043AF87E0B851FD47C01E30A6E73546E0B5 +822A1C591AAAD550429CC1143584B3E827C0138A6AC5D24D3142459A996AF5CE +8177F93ECEDB4661107DCC38BA9815D7DB51E35E7D9BFA11AA6D4FFCBC95DE64 +1A563634B42202994844A9D1D6CDCFC0439BCE6B058D8E902A279DCB44F36DCA +186C5C15434D987ADE64331BAE39CC537D826F9803B7E9461E7415B66327602A +83E73050816AD4B284B7F38D506A8C8F3931CF92B7774D3D4AAFCE1B5D2DED59 +E15CBC2D7CFCFE79664AAD7B4A005A0313403EF78DB7543DFDB0077C146E056B +FCF76BE09EAAE4CE8C4C5F6B9A400574C3E02BEED4C40BD49BFB2C640042E6DC +5B6CB5D793E27453B4ECC044D9232C3901DFE56A5BDC07FB95E6B19E431A8728 +6E2FE837973B10CD1A207D5F52DF1CFFCFECE436B4753E4120B6075B43DA9F43 +3D09EE27ADBB9E3461489F3F8AB70D85EA3D551521E208421390EE9B97F6C7D1 +FDA6A6B9BDD9C7FA025FB6EC31CAB096D467BC25F07BC0B9F064E8A02DBE0411 +233C350BEF9874B22C783B8290A6878D7475F6905AFCC9B20DF5D9453449B90D +106805613B924CCB40CC607140C1D8CB4C66143DA11EFF15ED437B23FEB505B9 +62F3502C4CC0D8F2AA7E595C05BA4647CBFDE86238A9AE6F4AE3E616EE8EB11A +2E57F499C5BFE242D1F4EF7E6AF94EAFA6F029D78572FA857883410BD42FE17D +53FFF9CFA96544326F5CCE7A29379B231734F06CBE7921F42158FBE5D7D650D9 +618D4701FEBA560CA102DF29E9595B0871585CC8D810341987537EBCD0C003E8 +AAA0FFBBE730247E15DFE53E820EAB442E042A180E41B1AC45C3D35310049E96 +6619E36CC21AF0F69D6C0A11466FF49DFC0C5F30C5118CD95A8A36888C822676 +128015D05C755FA399CCBDD108FACF02CA2D66EAF830FC2D8A4413A18416C52D +B87F9E91317BC5B1B50E8E67ABE67AE5F20B16364B0754B682BF918A9E8262A8 +25D1DBFD6597DC5B635A73395A20F310AD55D47059931ADBA6BE34BFC0183F51 +54B4A1E638D954589D823F65215D79264626E3A935DDD6F0F5070C2301F0CBA8 +7B51DA5CC2CE2993F68AB04A7C83155A4FDA32EB7B02475C2E0DBFBF65086E12 +26C5AB818E7108D6E275C226C5BA55D9BD89107BB73E4F3302AEA534C67274C4 +5AD6DDE7D1348799803AC6428F514688408069A6EE0DB338C422EE68A21D7CBF +A5AD9AA7934C7C06639064B0257A80447BF9433A7BC0122002E45CF9F2032415 +58191AF9038449A4B780701834D1D93C4BF49AD18A2296BC2B4E43B425D34933 +110C63C8442A989B08ED916A97EFCB6B4363DD66240359C4E961BDABB9EF406F +50B5E99461D5C8E133BF7AF81474AB31F8140B803B99370FF3081D80022837D4 +D3A3706E9B0B3972A81E4D2E7139E255AF691F6A4678D01DF3BD2A32693A588B +44E3B60BB102DE737CC83D432FD76260355366E09A7850C4F269101EED46630C +BD80499059F066A2BE0F3C83B0D8E0A7D6440A9F79291FBC4C218C57A3B6A487 +EC56CAFC64A6E517E2C4D3267CAE196248E6051FFB2824552D0FCF656A2BBA49 +8E8DFF9B3227D820CF942FDC5722A7BA220D0029C28465666B99132D551FE278 +C93D4E92FD003903CBEDE56E64D7DA481297409E5B63423D0FDA65431E6A59B6 +5ABC9EA077F0F08F26C3AECBF7D5F51317C4D8EFF5EE1CD6664DCE57022F2965 +8D3520633288A0442533C847915E969FE7808B485003FF34B3F29850F037A930 +583DE61E0C92E56EDF3F08227146C48545EAAA72975FE80C405D98E1634953C4 +8469D25036B107F3E2FAB78EFAC01F1A7C266BCFF7D4AD006FC21ECCA80A1F44 +8396C4DEEA7F14F7C051B24A76F0027B8AC80956CCDB9D86907BC6299484F168 +C20BAAF6D131C506AD51FB477118BE491E72283697DC88DFB1E5225329F3E7CF +F0C061C3C8433C8B39B81BEA0396DC7A0CC0A9DCBFDB7E634CAD538AE4CAA055 +88E63B4D4CC99355DE2DAE6555BE3B4C633709751EE1053C35D59882B3F3E559 +0FB569FD4DBCAE28B2B415B444BA6746C0968ACE6CDBAC2A81205B0D7329026B +E8F1133A3C02CCBC4772A8700CEFE0F4FF6FE5D95B6CE6329819F4370F3461AE +F6CD85F4F903FB220987A51696D3C141ACFB90BE00C2A9263F42DA4AC7128E8C +B4960BD94617A0BE1E9EE443E625C3A19F6988A52889424F52F10259CD191ACA +DC0863C3F38A85EF445482DBCFF9BAD900E86A37F82B64C48D5C8B7EA961C476 +EF43151EC824376C450610CE2A3074FB84EA257E52E8CC690527833B70B08150 +DA3907DBC1645613B9F02C9E97AA3E46552528AA8138A9DD54CCED001FF3A0B1 +248C62BB75B842F56B7D402A00FBEC7B3660E1B85BD2B2149545FF83697EC13C +0FB36D733FADC3AACA584E110B4C97B34D29E9F62A69BDDF8663DCFDCD7DD89C +9FE559BA7EB195E27177B9E6FC4A5EE4E707749A0DCF391448D2B83EE91FD91D +EDC44C2013C9444399BC2A49077AE821BC0A51494638B7307F4ED02A0B93F685 +765A2CE63373C2ED943BA0B92AC29F589A34391879D513D318E659192EB96800 +F70C097613825CC6F0A83BACB6128603D5D1DF74F83FBA4C55CBF4ED0251796B +8034371CE0DF07D49AD6435D048C2B11F29B8F7D3D259566103E645592CE6185 +9532BF90BAC105F042466043D52D8E323E1C241BC7D2337F3E420153DAC45279 +902F35C33773C30327F7B1D5EBD92F4C6DC2002905DC00B9A60BF55491829C6E +0A8D4B4BD39948DFE749E2CD13665E5DC253DA2DA9878B8C88AEF1CF492E6726 +0D7DCD188C5E8190F41AF40C81057C88A55466667296314A5A5C42C012306071 +15157E2EAA6A731AC77CFBC990F1193CDB767480CB4DC849B723E873AD0B888F +4AC0D820357E1C5DBB0477045D972FB10F0053B967D6A5BB70699D5199BB9240 +4F69F592E637B26F23956C4FF9F0E18FD7D55BFE558F3E1D274845DA4F3F5F51 +6943DB48B2B5CF2987B0C11A76E1976F36FC46C6F2E8BD831104722D5E5BE602 +85979C654683172CF19B202C13F2D4DA2E0B6393CF9CCF0695A457E71EF6E697 +2607BEF44DEF2F2EC35A060C70C2C1021AF5F989B8296AD4A173EC092C49BEC7 +D60512EBAEBCD4D508B476694F13E338B574935626BE65D0B7388268DA6C569A +571BADFA2F3A36A0F885689C98A6972397978A146725C8B4936A4CC9A78FBE66 +29208AF22F8A37942A24CD96C3D4C7E41882B73A874CFE293CC8189CDEE9086B +94938576622FF3C92E42578037FDF6219768F3D4B3656E15C9829883BCF7C174 +D30D8D4C747FC1007B4280863DE13EFBC8F3381765AE9615551B9DF4F7506EE7 +058B18333AE4E956802D68C3F9BC72849912D2E167EC3FFAA0E8B9B61D29099E +C735FCB73FDD8C73FEE70D45C266EB87F8D6A2D37E79EE369D111F18852836DD +4287CD0DC39A1B8A4E4790D0C3E1CCB2148E52E53FAA3A59953544BCFB083959 +42526D744C7C4B6677779AF5B5E23FED05C286F311225365A87875586E4E54C7 +F8AD27A09D5BF5D7FD077B4034CA24C10E082F6A2E5FBCDAC348655DCE737592 +80BDA2B6BC4C38F81F6C5DC8CD5F01AA169CA580C78B60B1B2B7AF314FF226B1 +C9F8179B629259602454ADB36F176A188C667C5146795986CE173FFFB1081C57 +75664ECFB354A62A590DA0FBF09EDA7FA3B6D1140A9A67EAD3D73DA028C19C7B +399AEED3CDDCD7C4419F4B64256190CF73B681C25B59323A1644E2FA58957599 +56478F8824957BE1A74F6687EAEA3530D45F09C2B8E2DE6EE6379154D02FBECB +99EFCC22A17009272C905E0C3B8E9011A7398FEEDE844591189BCEC4C1142738 +BB8AB10879E20AFF186844C9CAEADAE55D9493608AE7102143535521968B699A +14D9BCCED59CDD95CC786B3939CC6CCECDA720102533C05C18E159C18921C8C4 +05FC5F150FEF9EDF4D15CBED48DAE8822CF9BE839AA4CF75C62D45BE75AF800B +83C277AF3CFC6A4B99C7978F942579F27258A42A503D970BD6BCB84FE984EA53 +2DFF57F083D6B339AC6B87DD15D50CBD6120330BF5D6926BB15365F494CC8E2E +563B1FD178B9970DB6A2776E1993C787F8C10CFCF177566FDA26B32EF7D2A200 +F010F38C6B91A23FA6B1F96237C23F8F3436460792768F9E1A4BC232907F8583 +85A6A25FBC0768ACE15F2E116972224AF1836C3F543035786589A473C3D76E18 +70D2B01CEA0B390F0FAFCC543340E57163B9A8AB387B258289F260997DC22AD9 +9540088A6CEA5ED000950781F5F6389AB4BE7C6A8813BDAFE941056A7E083C47 +8AC4C0E8EB9DD42AD319F846B633E176769878AED838F0E9856C954B341D8A69 +63D6259E5C0B0E3B45066F57CE561CB24FCDB31ED2D84CE5EDA8FCABBDDF9DCE +F4294C7D7FAC96519FD6BCFB938E327A231F8EB522052D0CC707067F7C71FD17 +822C1EC08784C04649108D75EA9289E6A5D7083663F44DA57FA48F72208D58ED +B7817DF355FC52D7AF73DD0E06A2EE22EEA87A54FB92B3CB944733CFF5BC3FAF +8E70909D392177C9BE87F4ABAF30F184E51F44442134599958FAB1E7C3C2A1EE +A409BDEA1D48245C536639DA7F4D5D14F6485032070079F5A17C15C10599BAB4 +351E6EB7AB2147410D850BCAE443F2D8CE8F1122BC7B85B5A8C4893350381609 +9E2C0231E38FCAEBA2053756659D0AFEC1950DE731623281CF5D65ACF2BE8F68 +825D65A5714F26F24B588C48CF7B671D1720BF291A2605E9F7C7BC0C99C42098 +1813545D6AB190F3772CD1B7BF879F2D7FC1567EFE7D797CF7EAC1B82B693323 +B4D4CF2FF6F0EFAAC99A0C994438806413FD29766AE223940DDB26B1544D7D05 +A36E7202F2163F93E6F90E7BB0122A953A06480F44A5D281A703DA043AC524A9 +22DD04205F96750A1B64CDD7E046461E42A392D651F7FD7846D359E91354508F +0779BF12AC1C41054E3896CB116E67F503061B38CDD987E8D29095A943506184 +F4B30302905F10A7491F4A9F4A35E0B30FA89693114CCB61DDC7E71E6BABCCBE +AAD2FF8AD99D9029C205606FA41324B98414B5C797B8F431F31F50C68E224ECA +5F2C70779CBCFFF6548928CB638697845A2EDE4B64BEC8063CB30E04AC983DDB +1186CD7B88B2E37AA33493C1745F2932C0FC3E52E2D8F8DFB8187B0AEA11DB05 +74AF52E6ACCE06CC069ED62E4918623608AD5B68F0B82901CC6DEF80653535E8 +B73B0ACF9355A710BC55D945A5161A68EE0FD265BD0DFFC6276932507902F923 +6220C3A5C467EE1913B81204102515C90B375332C1583CB976FF9829004FA63A +65F97D2A873B5ED0CB78F3C43D3B9BFA7A309F26530F71237BA2850405A30CD8 +224D4BA64880BB8676E41C6F9DC03BD7C5D1D12AD80F9C91F5ABC60D1BB1C24C +EA4DCFA355BB75BFDC5079025F9AA783F346826594DC7502E816024730435C6C +8BFE5CA1B52F56A3309593879A1BBFE764044A0AE0043B65AA05BF42CC8693DB +A9FC848E9BB33D1FCF56BB01C68B3643A761351D048990F18B26039A5CF7E170 +BB5EB48AD76A9244F3D217039BCDBBC94A2C55B5170406D3ACB2072EC05199B0 +9A83728ACA69390C7FBBB3D51F51ABA05E0A2C3DB089EC8B3158C9EA036E2202 +B6A744EAD50EDFD5140BFCEC3A83F858E5167D99D692882175F396DDA828D198 +0ECE9559D54F3EA1BB55632941A22D04AF8B48C1357EAF891526AB55CD428637 +5FA1C3FE913AA9A3D638D44874CDD0BE614971D841F80F4E3D39C2003737B9A4 +5433FE9116B892B90DE2ED7F20FC4E37167E535974DDA396779D0DC00B50465B +FEA6569E6826B258904F7F197E7781BF1479E39D6821EDB69F23733058F29A8D +C384ABC7B82975FF67F193800AFB7DFD8D87FC587CD924D976788A3A36A273D3 +618029D11E9D78B299A8D8D125F0B3E47B53D8BF2E21A9C1A8AF80BBC0D2F1C0 +70F9FDE4EF23481255015F393416BC4482DE3E42EB0B6AA6383FB3CF99E27DFA +3117798E6360680C83B4676C3811677E233EFEFF9E2969819C11F26CCDCA8786 +AC0AD9FF7FE358443D90A3198688614D2588594E48D5CD09FCEE5C4F4457470B +7F92DBDB3F042313AA8E47AA6FB63F2363F88103D7FE34BD4A6BAA07B14E63C0 +12471954CEACB0CF176275C6FBC6A4ADF857C2F51F6D0D2DE2C02E03EBCFAE3B +D8005D76954B140D067909E5CC0B2E4FBB23B8BD9AEB44DB233A28B45B031346 +E16F97552647FFAFEDB3A1A6EA3E64D27F8DFA9EB8B58D47D8B12AE4E5E29DA2 +898CC843DB8E7A909810C33E2AD1697423DAB1994B22FAD8DEF79121CF130D28 +E1700AA8357B1082E352A0A68244F663A0A9F37C47A90BA197CFE9FF7EF0CE60 +4D68434FBD743D877FD1D65CB33604754BCB1CB9E8FD760B3A0A506DEB55C186 +EE41E005F8BC980F83BEFDDA40CD0C88881D21A786434D1DBFBB407E1D081256 +0F37489E075C495840746627A1F0F77E7696DC850B3E3F54B3D2ECD09A35761A +ABD9C648EEA41F399B8CA49469759667F1E2BBDFD1DFEB252AE7BF0C088CAFA4 +4FFAE41CC8916D70BF5DDD90A59D8B2AEA048832B0721BFDA97333D29C7B0276 +D4366A7C06F05932963443A78187574325BE8F86748AE61923710860EC7DD014 +22EFAA051AB129A6B8BBB38F528F3D21189A273022B43EC0086F09CC32C738B4 +2A3E846ED36696737CAD442A3FA8B9A7441E3803DB48B24E72C8B6F5E7092771 +739C234900D4C81C57F57C51DE7D38BE6CAE358F4A96CF2295C1A083D9B6C6BA +B5CEB5DF8154C63E666EA04A336BCFA2B8B5194779BF09104B1992C7371C109E +8C89A82225E2E88D078731946B58CB9D8F5BE95E2BEADED02E7A68B88570A83B +98B6272AEF6FBA7BAFFD8BBF6503EDD077FA4244C2A1995576E796C7F324DF9C +184DA0FC40E487F22F23D929C3A3F40A7AF4F83B298A3A96E31F7143D4B46712 +112F92D723AC14FA4E7856A1DD292E369B0C4EF9F87352C5B7DC9116D1E17D8F +76F6661DC710A1158E8DEF2D2BB03899DAA6C307082EBCDD583C1CC060CCDC16 +3713F2DC8C1A5BAD6EE2D5DB652D466054539FBFA2468EC6B482D7712064A008 +5C86DFF6ED79996A0F02FE7AE3173B53AF7685C3F5DCCD27AEFC3CCE239E4816 +12B13D7A9D11F00699384D1CE947605EFF14997105270B833F828091B8F5D749 +F5FF4A8B913E898782694D5B8DE8F97891BF6C956C2C2454D664B9947D799324 +F488E9F4930D0CACF85AF21B44D2693BD6994C2FD9F0C0A23A1187566BFD309B +43F7625447132894A4B5CC3162752BC890C9AF9115A925F9FD12E069B1447A73 +E01B55B9F2EB050ED0D6040F5023221F95D2DF816062C5AA1AAE0DF5A4E459D2 +3FF887B6AB8163179FBC3F31B64A59D76534290D9FFCF1307373238CCC379F7E +4F847BEA63C1C66D4559E785BEE9DFAFCDE279CF37F306B6BEC2F1938F6187E7 +DE8BB11CA4FC0371D15AC3D9E6E46A89DBBD9F690AEA8887976B107F90BF38FC +2C6C235569F568454C24EFACC58E7ACFE2ECA40FCA4734C3F4C4C614549F669F +E8A489A0F80277C09061BEA823992C634AD1D7041A20BDA7DDC6FC2A44F4A27C +7E0BF56A658ED3513CF151E908B40B1F7AE014E26D7C820D9A0D2FA4A65E4BFA +0448FA66B4BC9775448EA7FC89CF3C59980D2E64BE4E8B76F26B987C113DCC86 +F999CF295532FB6CAFC47CEBDA3202BE846D80AB73739BEEFCA7C3228FC27F2C +B35F6D205225ECDC06E0932641E9984CE3D53AB056D51C4C41EEDD6CC2A177AD +8230F95DB829EEAFB51F1B888A67DFAB9D06B485C260ABC5B086BADB74DDCD83 +BC4E93A3B45639814CC7B7FE027E63AEE77D89436DBCA67562CC60C03749E750 +DC3A09FE290AA918F48805C57292EC7CDB0E44BCD7E736CAF27DC2691EBA3A7F +84C38CC9C8395D17F20C5B198CD168CDAE8EB233D46EF930874C25F3B1D7F6FA +69401DEDEE59D3087628C5AD0B6D1DD979A646B37693EC4F8CC44210F3EDCFB6 +B22BEEF692B3C2E4E71D87EE75D71A3AF0178BB8BB90ED8BEB5CAB7C763D3DAC +67B426AAF471509682673FDCE4135181A09746377E398CC9BD28950E7400BFAF +89E32A8EEC6B879AC6D9EE1D48359A2478EF7A1D3CA9D98B8BEA11AC6452361A +4EE844B3152F6373E3843F58491D52615BF117081DD61154BD54CC524C98BFB7 +693FA7D9B96CF43E95A02249CD9259DD7515C78258A2CC55284CD5ED6E3B49D9 +2AFC2D5C0D984D02394157D5E6EA35086DF6AC26330FE2670F5695F0B1DDB335 +4F162E15D35E1E44A9D837CBAE7D1650A2B1540D329CDD92FFD3E1382A17B6C5 +023C14EE5B4CCE6A7128BACA9EFD6CF2E84C8F9B341620033F291C5A598F28CC +A4D142EA99FE0572E657A3F6DA85A2551A968AB16A58A21465E24EC65457533D +A3F08FB9C12AA161BB181D54AC7A2139615EDE6307EE24D10CE7BEC6D7752534 +E6E4A487A768FF6EB2525D7C9C55D8D3FDE99F659D26AF0094122E42A6C9747E +BE331E26A7B5087E1D56859E67C461A513452ACBCDE8ABA296E76DFB171EA477 +4139E5920137834337DA64773E240DE83F8EB8391CDA3ED38478D9759BE53F05 +095B75D4B16F4241372856E37D038E5E3B1E10583CFF6C2AB9FBC1BE200F040A +F20A314527D30B1F488A8F90CD82088F0FCFE8341653887E367EDA6E243E6001 +49FDD7D7F9DCA04536D02DA2EB209BE0517F7315764D7F9FA6CB90E51183C161 +3E9AC2B6BF5B3F1E6DC53239999E0E30FEA8B60EA1F63718CF53D446261883D1 +24D454DD505171EB522986C2A2BA9F765A109546EEAFCC2034710A899F200236 +80BB8CA61CC64BA305495AF2F4146761642FC4A0FEAE74865E05235C81EB1E6F +00758DF5BB2256AEBD61899C476E2C613E44235FC01DBFEBD4C8BF1AC9EDEC93 +FC8542FE7667BF5BFF4F98CD568AFDC1B0CF7E5B874A217BF8AC214DCD1C3454 +E6D91DB4AAEA06A749CF084EC81674D420BC6D42BBF6FCACA805ED46978897F8 +26F2A56CDACDBBC059C2E343E662CFB4E52CA740AB9F74917D644184D15FD02B +65AC2910CC284948F04EEAEE320536D7F682274FF77505F5BA1197E06D0A2274 +309B3FED9CD2151B9F75C0E2C36B0DB65374B707DA050D6FB5D074A3A3673241 +B48525013CBC16E647A50FAF625D05CC0D9725E6DCBB5F6A0A8F6589AD435399 +0C10184EF4FDFD1F53EB305EB64F1EC3604B4AA0B3D9C2BBC7905FACD16CDDB6 +1EA236E95C4E63E0A8410D077863F63B371AEE7F407AB462CB08E1F346A4FD71 +F0DC11366AC190C7808D9465A4B3E1179972251BDB5180E282CEA3B277459C93 +238D787EDD1CDD76FD70147762C42D339A5D8DB85ADF65B8766F342EFC00E57D +497DD1929FDDFECD8CB01240D03E318820D669B8205B345C73EE5109B9AA7EB1 +71C8579B6F78A35AC7722AD682D35D8852F453A95E67B948CCD605AC3B6F47D7 +E7CDB2A9464A0B07D396D36D25AC402CC8E9BDE1E38F60DFDC677A95D498432C +EE8BC8E957595E99161B03702B885E6302E23EABB179899C85097667CD5518F6 +40E7C12820B85A94D9FCF21B8DD01C65E16E9196650402B4E04AC72E99BFC394 +5B207552F71251FBCC365A9E2355F35C8E059423A8A0BB8FBA0D8E2147F7B5DD +CF73E36063A501398CF9EAF08B2D783F66A06C4B660B928FE138CD3CEA3698AE +DA23E6F875105FFD363B968EC3BE27CACABEC135849DA164A9D320471A7F60C4 +F5CC6FE898B1DA69525F6F3BA5CC70176B1F59BE78D655FEF04F1EDFF18761CA +C25CE5A8F14CC617A837EFF994D269F30070DC58721DCAF8B84E12DC6DDDE605 +347E41FAF0E108AE69E9E0B71802F8F98282E0D8FB3276B6D9A33EA7417EADE1 +67500A498068810BA357213D6E90EA892F410155509B8CED08554C56525F9C4D +2DCD9178BE3BC8CC6320C646590FF4925AB9599ABA8D8168CC4F8DE1FB815AC1 +D8031F9A3656D002E773459844DB987AA4ECF9F5FE8B2A0690ADF811836F2BAA +F5DA7FB2A1D81E2C38D8E15BF3DF895BB2FE4AE915DE304C55567EA18D3CD1F2 +829FAE6B28447F589D82BB70A52918A5DCDE9587C50969D4CCF574144C1F8D9B +4CADEBCB324686BB0937354013975F3C303F58080EE244A6DE2982E2970DAADA +288C54D4C16FB3F8F5AFD591327109C298FE05240D6C361BA72D9044EF5E9BA7 +21146E4F107F7C4F408C04108CC330BE7EAEED969A66BCCDFE27F10F22C213CC +896EDE048DC4DDCC1984117866F0CDA39E44AF09FA7CA3F29EC68F8A35D7560D +3DFAD13A5D46682924A3C43B4FDE357D315343D2A192DC434053E6F22CD95151 +EC038AFA00E6C0639C36BDBAE0127F27E2DC2BF7DB7A8D6CB0AA5B0B194320DB +2586D0059959EFECCA1677447CEC6C199C80A76788A61B3D1A4B69B051192E61 +CA528B0AD3EB7F2D37E23A04F34D54A2CAD84AE483703FA0B323A198A2B06806 +5C7630B9112BD7CA5C2032D1080E8F6EB7886CE7C9B864141D31154FD8D2B2FF +680E1D255A0CCF227C4BF80C5150F371E0DA2C422E6B9CB4449D06606477625A +56B0142F136DCEFE950D8ADCF88D34E305BD96D900D0784F44E40E736CB86C3B +6AF394FED5AFFC61321BA9D511D7520BBC33AFDF2C4F53BE2B7CB11D8E1B419D +9F698C305CFEFE7E391D190E608BD5E62FBC3E193DAC65F1B21EA0D535CDA3E1 +70781C4819F1B98165287D0A7E9F2A0AA9BC27D02218047A5D3247D41B387677 +FD5419E5BF713B9F9863C77EA0218E509B036B622F157F382093DA9F32DC1778 +B47FECF95A630218FC13AB09829A5D7E5A874ECF40F240FCB4177C7FCA7A6365 +76577CCD1E19CC6C9AB15542EAF6A4E8136222F29AFAAF520FA06C40E038B43C +DB4C341F31AA25F3DD92EA498661FF852937D1146260D5BBBC7E627D84B31800 +1B362FCD6C631FBED0BAE0BD019FE4767A468A94E8E14400A0F5C845DE5AFD74 +280E72812F50457152EE943295A3983DF3AA8FDEB4A09B94B4A25BBF5839144B +5C6C6E04BE342B7A744B3740D6E8413034F72E32FCB965232041229E432AF5B2 +F2F2D962EAF147ADC361D5F776783D59600EACDCEA4BF130D39B042C1F707407 +323BF1A510CF4B11631786C12805EE232CCDDBBDACE94BC3D283F5D0D3FDA65F +AA3800A395044516773D3F596595BEA5ADED5BCA272EB0C5FAA47E091BC0C77B +C12D502AB17F760968573E08E193445EABB202E0DB01175297C984EFEEA6B956 +B9C9A746DA9846B5A5862A82B1FF6D3D21DAE713939D089854106FF83C898E11 +58B9EB9DDF744E1C4AA5AB1CBE4BA3DE83921121D0E835406E7AECDC1C49F384 +A8711329BC7FF65A0D66E6852F681505DBE0CFBAFC357112665098CB7782DE3C +2A3751A44887BFDCB414788FB7C5E981C2029F8F661B494761EB8048692FDFA9 +9C2AE1FB18F18035BC0B572BB5FF87C13779DF90465F66C9F22EE4F87177A8E3 +56E32BE71E9C4A05050BBA76849536267E3F49634D833FFE863857789EAD7CE4 +ABDCA696B0AB9064D4A9FBD592134972A9834C95D8C2D31858FAB6FE0D354779 +B5E0D44A2996F3AE1F4A1444E9A3BD944CE4D015F5DDFD4A6FD285DC5BB5B3D0 +02559620703CDC4502229532E16345D7CD7C20660347DA827CCD009D78819CB6 +6ABA23033E23AF8496452D058F04AD64BDD9C19AE91AE9DF1B3C72BF5C1D5AB3 +8AED52D9BC552E3F531CB676C6E3657A013D020ACDB57CC48297BA3CFF1096B6 +679C7040831AF0734655905D088850CCD3878513D09EA3FDA53F8FFF344906EE +3661DA4B3F4A66500A5B9B7B2A18E48D7110A4375A9DCE3A7A7DA63FD80C2440 +5EAFAAA1C2F773E1C58A54E0775264A8BAD6EE25DCD32DCAEF4070946DD65558 +50CED1BE599AE6B444FF7CBCB68EB63D09E98286D14ABFA4DEA41D8AD92E9AA2 +98CA01111924E80CCC0427253DB78D1EDF14758CA5F6AF562791F2716951F03C +A5907B3D91BAAEB7E5A08B9F9EA3172F32B2D6E1C7586079AA2B1E2FF31281E6 +499B21248EE2D344DFFFEDE1B7FBAD8BE06FA96A299DDF903BB844E961833FA2 +11EAABC22885A67896558FB2A4E315E02BBC24DD4B700174FFD171D824E6F32D +E34AD2A210D5D93193DAF1CB368D5E83A660323D8B784543C9C3A3F072C3DB22 +5AEF8D3B2A4B05F54F28254845AE3C1F843C8C7BF098326939D8BDEE50D7A666 +25279CD08CCB9CD140B8E0A91CE26F7FD4290F46DE997B4F98A4C3A72431230D +F236F3333BAE93805B0C6A757F37317BA8FCA78AFD2F7A9F58853996B9AC8135 +060E92184C4DBC346F285E1F2A094C41BD803E738A5E58840BEA4D6196C29446 +7FAD1A09B0E0FD587E13239E9576C222914092DDC1405F52BAB6B37F122E7F40 +9369049979105670716CF10CB3AE1E1A57A752D6E0EF8F4C08367461B7E3572E +E5020E1C0A946777C0CF4700B448C38434C67C67DA7CDA01A3C01E145F107F92 +A817FD3762A07A8D6D08A86B6EFB6ACFE56E7FA99A370350038FC1AB1C3358A1 +FDE3EBA015EDE9CDA4A600401082DE3920D0EFC5521AB03140323E3A032DB577 +DFC16F83E7159603117BFB685637674DCB4E897065FFC5A44A56CBAFB42F78C4 +027C2820CC42FF5D8A6A8579E5B7E153955CA8443EE32F696F286B613CB11F99 +6D564F921C6765DE8568187B138F3609863D2A6E5D573E4789AC2E248DA97A06 +37A7F693180D51F9CC75E2B2D4A0ED4C1F1A599820C9FC3A12B7668198B5297C +7E76C8F8885B7556AD4F31D705BD4DD482C7C6D28DC61257F486D2AC8C34CF8A +6CEA8B398AD69AB6F55665CDCB9B2A743A09C9CDDD019F64D2829F76135745DB +24C6926FD744EA9DDB8710CB029B9DFA7EE03FCB6E3263964957C1C634468B5C +16A959326883F6D0D118346D12391C757889D54631F892EA7BDAB541B36E7953 +B4D6FB36FC4F2EDA95D35A01571C8675DC792787D06BB6D4AF3BD9C914F0EC89 +AACF7BEB5D40267CF8EB34C303C6851249A1DFE4BE30A79BAA95FF83EAF7377F +6C361D31B87D0379B67EEB6260E6021C38A86793A00BC86F97F1E6950EA877FA +514E53902891A9CE840B97EF393AA874E5C52AD0980640A8D7267E9DD1418C29 +63144AC596F880896EBA77C1B6287CE441747745A5DE244506BB48B1D938B060 +9F388E3F5041DDE6EA36A538BF58444C86DE6D1746ED6AF74119CCF81CBCCE00 +7571F824498CFB82BC86551E26330EEB918469ABC25781641F261CC395C52CEF +9F65D9D7448FC2DFB35ABE03F203771E9830CE1D4220B6921549D2E089E8C4A2 +7C82ED52AE847B53A6675C37C77C26C33547AEA0361D788397FEC78CA3EA12F4 +74D04E6AD1DD70E06958D2FBBA37CC91C6243B58DB030B669A95CDACE3B1E5AE +775CCD9FDB741059D6B3B7450F5DA98A92AE99394396DB92D96C37051C2823B5 +22DACD630ACFB1254B40001C3A699F75ACAC6BFCFA00A6C5CFA13D867E607C88 +5470214ADFE4295B643E57B3AD1DF8AC90F90B8D935F0D9ABCBD7BF46E58A568 +D829C02AEADE3435AAF6DD9CAFD7FD57854D9FB4869B681714238F9F2B1EEF21 +D48AFFDF33FD9C8AB50EC0F719C18EDBC0F876AF50840CB89AC517B8DC65CA6A +03CC999ADB424FAC6AC907283B3BD3953002DF77C1E132E0BABFC0CF29E645C0 +EFC844A0E15C7D9494527CEFBFBF7E87F50E1AFF8C52C9A3D2A3FECD061BD216 +2A59DB2A6FD82B2557D384676A77AB1F9CE2674B2CAE1288566A4089689BE473 +D17825C17B5B04FE0EDC6242B102660BF2FEF961D8EFD908A933E42A55954172 +77D48159D281D0F5180164A974B8DBA5103D23966D971CC482608FDD49DF1471 +921AE08EBF2B43B37D60F7FA3808118421BD114E30AE0AC4407D3EDDBA22CB8A +542D606DAF3BD3AE6FA4C9DAD9C0D44215D71D1E4C7EE32416991A52C001B9FD +2FF0A566172A069BD6ECC90E17FBF0DEF8518D2048A1547A48AF50E65B767CAF +0DF408E5123216A30D25103D7D9DA3A4E099C49EB05F23B351B23FDC78146A6C +AC55A81FDDF51F477AFC7BC7FBD7E45793CD05B66A861113C03F7D3BAEF1C3AF +59C0E89D028E1409218E6D75D0C9DF4030C96F6E7B8CF6054009000FE8D9EDE7 +7A6488621A69BCAB5ECB521CAE729F09E49BE076C95035BE44C16438943D3578 +499ADE9431651D3D38F95C908E055F40379B2D14580D7E2BF5C7FDFFA5E2D0A6 +59C6AB6EC5905D1053CD02566231941D92B38E585DCAF42DA4C86C5FAD2ACB44 +A4131F3A74F6AC0D4B135A05088B858D5073AF7865899F059A9FAB43B7457C36 +CDD0E5A411A083E4AAB62645FE71112C1D143C7CB838D092EDAC57393439A429 +559129E946EE237C5B4CB2BFDFC3D32ECD99A0360BC89787A38B0C57BBB3CDAA +0960FE7FA232D95B888D195578601C30198BA517F526C8368D426D7B1049EDD6 +FC36C9CAD2DCE7AE87F007233F4F1783DD06FC306A55CB0692D0A668D0A8FD4D +62D2BC739AFAC84541EEF28BCCCA352FF095BCFCD4EED4563350BF61A8F08517 +E5257AAE5C9A6CE12E6714653EA552E03612CBE4E898FB1D4D745CAF81813E05 +13D86F72F2175F9B72809CC01CC7EC3D57700F817028526AC4AD2B184F046631 +4F5F8E2840304DD1B90DF28A4F596374FCE81192C4656A0018AC6387886D85EA +4F8206C8CE899D825669321CED0DDF9642522E3A3D4317223ED5CD24BF0D7D64 +6375E46FF7C8A440B483CFD6C9196AFB2D35D8EF2491BBDC5A22A7078F08585E +5C05297B9A7C06BEE85810349F1675A24A3D1AB78672D4A633C8212BB62B84F3 +CDC1D5E350F30B08154A39BBC8FC28160A499A2B12D66AA6B8E5183D8201D4BF +FCD8EA1C9597C33AB92C4F42B1A52DAE32B9E859616D2E4FB8D0CC127B03C14F +3EC6A6923541FED895C775306DEF4BD8E1169016AC4846FAE80BF3F2CD21E65E +49E325D669E9134375C597B4959A612864E585AF8634E68563B25FB5482BC5AB +6AF17D9CD13FEC36C46AC83E0ECAABC6CEAB0599FD227A4BE2699E9B14773694 +FC0FB23BE139E9536614C4D97077FA48CBBDE26A776A7AF1A392167A7C66216C +6FAFEFDADFC5621E81F6A4B70D291A3BCC7E336DB32FBE89020880FE1F242024 +5E550B3C5C6520D7B962CE689805125AFF169EFB178A06ABBE374EDD4DFEB861 +F3B4AE7313A01ACFA26315AF290365FBA57BF85D4DFD2334954BF8606FDC8D3D +3E6EE8CC35C88BB350C8CA0843697710AC03EFA6597B0D1C2F832982CD8A2AF4 +9F5179D8370642E347B43C4E194A24B411D390A5EC83CB35269A2746ED576D2A +ADF58236ABBB4DDAE6C0B8C8B0F5A556B8C41BF15461084D434C14C72BB8744B +90424BFA46FBD91A07A5697F3A4189E1967D45EC7E829209340E846AB4F313BB +5053C3B8372C1DFFF614BA4BC26AE1B607F97C2C0C9F25E812256B136609E913 +9803082AEDBD7961220DDD1A23D69A48A7D81087FE47049DF6DB4ED9095186E9 +4B5F70AE4687577E3DFC94D2EC884F0D61641E963A361266CD46CD42129EA6E0 +896DDC893ABB5A67433D0C368A08A486693B54E5A154AFFDB87AAE3F406668F6 +D0C454A7E3C2318549F06EE0ED9754D37A473BCB8AAF13510EC727FE0718A72D +8DE699F09687C6999345C3DAE7F0E90EB774950D1B67F30807FF9D44F203B751 +DE2C383BC1BA4351C0277F5EC8DDF26FBAC7CC6CB735C501B959853A2B0BE03C +6B245AC6357A5F853D007F704915EA09760E8A979B4D4B93279727D90AF79FEF +AA2966B003371EEEAA21AF2576D8FB025D1346CF993D388D7D6895042C873B05 +26157A9D64E60788CBAE03B51A95B1B73C65BE645FA2F0C31C09F9EEEE9BF70E +3148979C2AAB48B64DB687139F704EEFB00035D785081FD8EB4F3B1B1B86A68F +012087AADEF617 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3342,86 +3774,82 @@ B771485F39ECDD20D29EA4133DCCDF90C9CA0F1F2385317B2053B1A53FF8F4C4 cleartomark %%EndFont TeXDict begin 39158280 55380996 1000 600 600 (./gperf.dvi) -@start /Fa 209[43 46[{ TeX74afc74cEncoding ReEncodeFont }1 -119.552 /CMBXTI10 rf /Fb 209[24 46[{ TeX74afc74cEncoding ReEncodeFont } -1 74.7198 /CMTI9 rf /Fc 130[39 1[39 39 39 39 39 1[39 -39 39 39 1[39 39 39 39 39 39 1[39 39 39 39 39 39 39 39 -39 1[39 39[39 9[39 7[39 37[{ TeX09fbbfacEncoding ReEncodeFont }29 -74.7198 /CMTT9 rf /Fd 133[34 41 1[55 41 43 30 30 30 1[43 -38 43 64 21 2[21 43 38 23 34 43 34 43 38 21 10[58 1[43 -4[58 70 48 60 39 28 2[50 1[59 55 54 58 7[38 38 38 1[38 -38 38 38 38 38 3[21 4[21 39[{ TeXf7b6d320Encoding ReEncodeFont }47 -74.7198 /CMR9 rf /Fe 147[25 10[44 97[{ - TeXf7b6d320Encoding ReEncodeFont }2 90.9091 /CMB10 rf -/Ff 214[35 35 40[{ TeXf7b6d320Encoding ReEncodeFont }2 -90.9091 /CMSS10 rf /Fg 136[83 2[45 45 47 2[57 64 4[32 -64 2[53 64 2[56 97[{ TeXf7b6d320Encoding ReEncodeFont }11 -99.6264 /CMBX10 rf /Fh 138[52 52 52 4[52 4[52 1[52 1[52 -52 100[{ TeX09fbbfacEncoding ReEncodeFont }8 99.6264 -/CMTT10 rf /Fi 138[56 56 56 56 3[56 4[56 3[56 56 56 99[{ - TeX09fbbfacEncoding ReEncodeFont }9 109.091 /CMTT12 -rf /Fj 134[65 1[89 65 68 48 48 50 1[68 61 68 102 34 2[34 -68 61 37 56 68 55 1[60 9[127 1[94 6[96 2[96 1[46 1[96 -77 81 94 89 1[93 12[61 61 61 61 2[34 41 45[{ - TeXf7b6d320Encoding ReEncodeFont }37 109.091 /CMBX12 -rf /Fk 141[62 1[62 8[62 62 62 101[{ TeX09fbbfacEncoding ReEncodeFont }5 -119.552 /CMTT12 rf /Fl 133[37 44 42 1[42 49 30 37 38 +@start /Fa 197[25 58[{}1 90.9091 /CMMI10 rf /Fb 197[33 +58[{}1 119.552 /CMMI12 rf /Fc 197[21 58[{}1 74.7198 /CMMI9 +rf /Fd 133[34 41 1[55 41 43 30 30 30 1[43 38 43 64 21 +2[21 43 38 23 34 43 34 43 38 21 10[58 1[43 4[58 70 48 +60 39 28 2[50 1[59 55 54 58 7[38 38 38 38 38 38 38 38 +38 4[21 4[21 39[{}47 74.7198 /CMR9 rf /Fe 147[25 10[44 +97[{}2 90.9091 /CMB10 rf /Ff 139[52 52 52 3[52 1[52 6[52 +101[{}6 99.6264 /CMSLTT10 rf /Fg 214[35 35 40[{}2 90.9091 +/CMSS10 rf /Fh 136[52 1[52 52 52 52 2[52 52 4[52 52 52 +1[52 52 2[52 1[52 95[{}14 99.6264 /CMTT10 rf /Fi 133[48 +48 1[48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 48 +48 48 48 48 48 48 51[48 45[{}25 90.9091 /CMSLTT10 rf +/Fj 138[56 56 56 56 3[56 4[56 3[56 56 56 99[{}9 109.091 +/CMTT12 rf /Fk 134[65 1[89 65 68 48 48 50 1[68 61 68 +102 34 2[34 68 61 37 56 68 55 1[60 9[127 1[94 6[96 2[96 +1[46 1[96 77 81 94 89 1[93 12[61 61 61 61 2[34 41 45[{}37 +109.091 /CMBX12 rf /Fl 141[62 1[62 8[62 62 62 101[{}5 +119.552 /CMTT12 rf /Fm 133[37 44 42 1[42 49 30 37 38 1[46 46 51 74 23 42 1[28 46 42 28 42 46 42 42 46 4[47 4[91 1[68 65 51 66 1[62 70 68 82 57 3[68 70 59 62 1[65 -1[68 6[28 11[28 33 5[28 4[47 34[{ TeX74afc74cEncoding ReEncodeFont }45 -90.9091 /CMTI10 rf /Fm 141[74 1[74 8[74 74 74 101[{ - TeX09fbbfacEncoding ReEncodeFont }5 143.462 /CMTT12 -rf /Fn 129[48 48 1[48 48 48 48 48 48 48 48 48 48 1[48 -48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 2[48 -1[48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 48 48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 +1[68 6[28 11[28 33 5[28 4[47 34[{}45 90.9091 /CMTI10 +rf /Fn 134[48 1[66 48 51 35 36 36 1[51 45 51 76 25 48 +28 25 51 45 1[40 51 40 1[45 9[93 3[51 8[47 3[59 20[45 +3[30 25 1[45 42[{}29 90.9091 /CMSL10 rf /Fo 141[74 1[74 +8[74 74 74 101[{}5 143.462 /CMTT12 rf /Fp 130[39 1[39 +39 39 39 39 39 39 39 39 39 1[39 39 39 39 39 39 1[39 39 +39 39 39 39 39 39 39 39 39 5[39 1[39 1[39 39 39 39 1[39 +39 39 39 39 2[39 39 39 39 39 1[39 39 39 5[39 39 2[39 +3[39 3[39 39 39 39 2[39 39 39 1[39 37[{}59 74.7198 /CMTT9 +rf /Fq 134[39 1[39 39 39 39 39 39 1[39 39 39 39 39 2[39 +39 39 39 39 39 1[39 39 50[39 6[39 39[{}22 74.7198 /CMSLTT10 +rf /Fr 129[48 48 1[48 48 48 48 48 48 48 48 48 48 1[48 +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 2[48 +1[48 2[48 1[48 48 48 48 48 48 48 48 1[48 48 1[48 48 48 +48 48 48 48 1[48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 48 34[{ TeX09fbbfacEncoding ReEncodeFont }86 90.9091 -/CMTT10 rf /Fo 133[40 48 1[66 48 51 35 36 36 1[51 45 -51 76 25 48 28 25 51 45 28 40 51 40 51 45 9[93 2[66 51 -8[47 3[59 2[66 17[45 2[25 30 5[25 26[51 12[{ - TeXf7b6d320Encoding ReEncodeFont }35 90.9091 /CMSL10 -rf /Fp 134[85 85 117 85 90 63 64 66 1[90 81 90 134 45 -85 1[45 90 81 49 74 90 72 90 78 11[124 112 90 120 1[110 -1[126 1[97 126 1[60 126 127 1[106 124 117 115 122 9[81 -81 81 81 81 81 81 3[54 45[{ TeXf7b6d320Encoding ReEncodeFont }47 -143.462 /CMBX12 rf /Fq 240[45 1[91 13[{ - TeXbbad153fEncoding ReEncodeFont }2 90.9091 /CMSY10 -rf /Fr 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37 -71 1[37 75 67 41 61 75 60 75 65 7[102 1[139 1[103 94 -75 100 1[92 101 105 128 81 105 69 50 105 106 85 88 103 -97 96 102 7[67 67 67 67 67 67 67 67 67 67 1[37 45 37 -6[112 24[75 78 11[{ TeXf7b6d320Encoding ReEncodeFont }61 -119.552 /CMBX12 rf /Fs 131[91 1[40 48 48 66 48 51 35 +34[{}80 90.9091 /CMTT10 rf /Fs 134[85 85 117 85 90 63 +64 66 1[90 81 90 134 45 85 1[45 90 81 49 74 90 72 90 +78 11[124 112 90 120 1[110 1[126 1[97 126 1[60 126 127 +1[106 124 117 115 122 9[81 81 81 81 81 81 81 3[54 45[{}47 +143.462 /CMBX12 rf /Ft 240[45 1[91 13[{}2 90.9091 /CMSY10 +rf /Fu 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37 +71 1[37 75 67 41 61 75 60 75 65 7[102 3[103 94 75 100 +1[92 101 105 128 81 105 69 50 105 106 85 88 103 97 96 +102 9[67 67 67 67 67 67 67 2[37 45 7[112 24[75 78 11[{}56 +119.552 /CMBX12 rf /Fv 131[91 45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25 45 25 1[68 68 93 68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69 66 64 68 3[71 1[25 25 45 45 45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 35 25 -71 1[45 76 45 19[76 51 51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }85 -90.9091 /CMR10 rf /Ft 141[89 1[89 8[89 89 89 101[{ - TeX09fbbfacEncoding ReEncodeFont }5 172.154 /CMTT12 -rf /Fu 138[108 75 76 79 2[97 5[54 3[88 108 14[149 13[152 -19[97 2[97 1[54 6[54 39[{ TeXf7b6d320Encoding ReEncodeFont }14 -172.154 /CMBX12 rf end +71 1[45 76 45 19[76 51 51 53 11[{}86 90.9091 /CMR10 rf +/Fw 141[89 1[89 8[89 89 89 101[{}5 172.154 /CMTT12 rf +/Fx 138[108 75 76 79 2[97 5[54 3[88 108 14[149 13[152 +18[97 97 2[97 1[54 6[54 39[{}15 172.154 /CMBX12 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: a4 -a4 +/setpagedevice where +{ pop << /PageSize [595 842] >> setpagedevice } +{ /a4 where { pop a4 } if } +ifelse %%EndPaperSize end %%EndSetup %%Page: 1 1 -TeXDict begin 1 0 bop 150 1318 a Fu(User's)65 b(Guide)g(to)f -Ft(gperf)f Fu(3.0.3)p 150 1423 3600 34 v 2005 1519 a -Fs(The)30 b(GNU)h(P)m(erfect)h(Hash)e(F)-8 b(unction)31 -b(Generator)2597 1627 y(Edition)f(3.0.3,)j(31)e(Marc)m(h)g(2007)150 -4958 y Fr(Douglas)46 b(C.)f(Sc)l(hmidt)150 5091 y(Bruno)f(Haible)p -150 5141 3600 17 v eop end +TeXDict begin 1 0 bop 150 1318 a Fx(User's)65 b(Guide)g(to)f +Fw(gperf)f Fx(3.0.4)p 150 1423 3600 34 v 2005 1519 a +Fv(The)30 b(GNU)h(P)m(erfect)h(Hash)e(F)-8 b(unction)31 +b(Generator)2537 1627 y(Edition)g(3.0.4,)h(1)f(F)-8 b(ebruary)30 +b(2009)150 4958 y Fu(Douglas)46 b(C.)f(Sc)l(hmidt)150 +5091 y(Bruno)f(Haible)p 150 5141 3600 17 v eop end %%Page: 2 2 -TeXDict begin 2 1 bop 150 4152 a Fs(Cop)m(yrigh)m(t)602 -4149 y(c)577 4152 y Fq(\015)30 b Fs(1989-2007)k(F)-8 +TeXDict begin 2 1 bop 150 4152 a Fv(Cop)m(yrigh)m(t)602 +4149 y(c)577 4152 y Ft(\015)30 b Fv(1989-2009)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)150 4286 y(P)m(ermission)g(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d (distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m @@ -3445,489 +3873,935 @@ h(in)g(a)h(translation)g(appro)m(v)m(ed)f(b)m(y)h(the)f(author)150 5322 y(instead)c(of)f(in)g(the)h(original)g(English.)p eop end %%Page: 1 3 -TeXDict begin 1 2 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h -(LICENSE)2052 b(1)150 299 y Fp(GNU)54 b(GENERAL)g(PUBLIC)f(LICENSE)1537 -564 y Fs(V)-8 b(ersion)31 b(2,)g(June)f(1991)390 720 -y(Cop)m(yrigh)m(t)842 717 y(c)817 720 y Fq(\015)g Fs(1989,)j(1991)f(F) --8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.,)390 -824 y(59)g(T)-8 b(emple)31 b(Place,)h(Suite)e(330,)i(Boston,)g(MA)e -(02111-1307,)35 b(USA.)390 1032 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f -(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390 -1135 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f -(is)f(not)h(allo)m(w)m(ed.)150 1462 y Fr(Pream)l(ble)275 -1683 y Fs(The)39 b(licenses)j(for)e(most)h(soft)m(w)m(are)g(are)g -(designed)f(to)h(tak)m(e)h(a)m(w)m(a)m(y)h(y)m(our)d(freedom)g(to)h -(share)g(and)150 1793 y(c)m(hange)g(it.)71 b(By)40 b(con)m(trast,)k -(the)c(GNU)h(General)g(Public)f(License)h(is)f(in)m(tended)g(to)g -(guaran)m(tee)i(y)m(our)150 1902 y(freedom)24 b(to)h(share)f(and)f(c)m -(hange)i(free)f(soft)m(w)m(are|to)j(mak)m(e)e(sure)e(the)h(soft)m(w)m -(are)i(is)e(free)g(for)g(all)h(its)g(users.)150 2012 -y(This)39 b(General)i(Public)e(License)i(applies)f(to)g(most)g(of)g -(the)g(F)-8 b(ree)41 b(Soft)m(w)m(are)g(F)-8 b(oundation's)40 -b(soft)m(w)m(are)150 2121 y(and)35 b(to)h(an)m(y)g(other)g(program)f -(whose)h(authors)f(commit)h(to)h(using)e(it.)56 b(\(Some)36 -b(other)g(F)-8 b(ree)37 b(Soft)m(w)m(are)150 2231 y(F)-8 -b(oundation)32 b(soft)m(w)m(are)h(is)e(co)m(v)m(ered)i(b)m(y)e(the)g -(GNU)h(Library)f(General)h(Public)f(License)g(instead.\))44 -b(Y)-8 b(ou)150 2340 y(can)31 b(apply)f(it)h(to)g(y)m(our)f(programs,)g -(to)s(o.)275 2503 y(When)37 b(w)m(e)g(sp)s(eak)g(of)g(free)h(soft)m(w)m -(are,)i(w)m(e)e(are)g(referring)e(to)i(freedom,)h(not)f(price.)61 -b(Our)36 b(General)150 2612 y(Public)e(Licenses)g(are)h(designed)f(to)h +TeXDict begin 1 2 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(1)150 299 y Fs(GNU)54 b(GENERAL)g(PUBLIC)f(LICENSE)1477 +521 y Fv(V)-8 b(ersion)31 b(3,)g(29)g(June)e(2007)390 +663 y(Cop)m(yrigh)m(t)842 660 y(c)817 663 y Ft(\015)h +Fv(2007)i(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 +b(Inc.)e Fr(http://fsf.org/)390 882 y Fv(Ev)m(ery)m(one)h(is)g(p)s +(ermitted)f(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)g +(of)g(this)390 991 y(license)g(do)s(cumen)m(t,)g(but)e(c)m(hanging)j +(it)f(is)f(not)h(allo)m(w)m(ed.)150 1234 y Fu(Pream)l(ble)275 +1393 y Fv(The)e(GNU)h(General)h(Public)e(License)h(is)g(a)g(free,)g +(cop)m(yleft)i(license)e(for)g(soft)m(w)m(are)h(and)e(other)h(kinds)150 +1503 y(of)h(w)m(orks.)275 1644 y(The)c(licenses)i(for)e(most)i(soft)m +(w)m(are)g(and)e(other)i(practical)g(w)m(orks)f(are)g(designed)g(to)h +(tak)m(e)g(a)m(w)m(a)m(y)h(y)m(our)150 1753 y(freedom)k(to)h(share)e +(and)h(c)m(hange)h(the)f(w)m(orks.)51 b(By)35 b(con)m(trast,)h(the)e +(GNU)h(General)g(Public)e(License)i(is)150 1863 y(in)m(tended)25 +b(to)h(guaran)m(tee)h(y)m(our)e(freedom)g(to)h(share)f(and)f(c)m(hange) +j(all)f(v)m(ersions)f(of)h(a)f(program|to)h(mak)m(e)150 +1973 y(sure)35 b(it)h(remains)f(free)h(soft)m(w)m(are)h(for)f(all)g +(its)g(users.)56 b(W)-8 b(e,)38 b(the)e(F)-8 b(ree)37 +b(Soft)m(w)m(are)g(F)-8 b(oundation,)37 b(use)f(the)150 +2082 y(GNU)j(General)g(Public)f(License)g(for)g(most)h(of)f(our)f(soft) +m(w)m(are;)44 b(it)39 b(applies)f(also)h(to)g(an)m(y)f(other)h(w)m(ork) +150 2192 y(released)31 b(this)f(w)m(a)m(y)i(b)m(y)e(its)h(authors.)40 +b(Y)-8 b(ou)31 b(can)g(apply)f(it)h(to)g(y)m(our)f(programs,)g(to)s(o.) +275 2333 y(When)37 b(w)m(e)g(sp)s(eak)g(of)g(free)h(soft)m(w)m(are,)i +(w)m(e)e(are)g(referring)e(to)i(freedom,)h(not)f(price.)61 +b(Our)36 b(General)150 2443 y(Public)e(Licenses)g(are)h(designed)f(to)h (mak)m(e)g(sure)f(that)g(y)m(ou)h(ha)m(v)m(e)g(the)g(freedom)f(to)g -(distribute)g(copies)150 2722 y(of)i(free)h(soft)m(w)m(are)g(\(and)f(c) -m(harge)i(for)e(this)g(service)h(if)f(y)m(ou)h(wish\),)h(that)e(y)m(ou) -h(receiv)m(e)h(source)e(co)s(de)h(or)150 2832 y(can)e(get)h(it)f(if)f -(y)m(ou)h(w)m(an)m(t)h(it,)g(that)f(y)m(ou)g(can)g(c)m(hange)h(the)e -(soft)m(w)m(are)i(or)f(use)f(pieces)i(of)e(it)h(in)g(new)f(free)150 -2941 y(programs;)c(and)g(that)h(y)m(ou)g(kno)m(w)f(y)m(ou)h(can)f(do)h -(these)g(things.)275 3104 y(T)-8 b(o)40 b(protect)h(y)m(our)f(righ)m -(ts,)j(w)m(e)d(need)g(to)h(mak)m(e)g(restrictions)f(that)h(forbid)e(an) -m(y)m(one)i(to)g(den)m(y)f(y)m(ou)150 3213 y(these)d(righ)m(ts)g(or)f -(to)h(ask)g(y)m(ou)f(to)h(surrender)e(the)h(righ)m(ts.)59 -b(These)36 b(restrictions)h(translate)h(to)f(certain)150 -3323 y(resp)s(onsibilities)30 b(for)h(y)m(ou)f(if)h(y)m(ou)f -(distribute)g(copies)h(of)g(the)f(soft)m(w)m(are,)j(or)d(if)g(y)m(ou)h -(mo)s(dify)f(it.)275 3485 y(F)-8 b(or)30 b(example,)g(if)g(y)m(ou)f -(distribute)g(copies)i(of)e(suc)m(h)g(a)h(program,)g(whether)e(gratis)j -(or)e(for)g(a)h(fee,)h(y)m(ou)150 3595 y(m)m(ust)i(giv)m(e)i(the)f -(recipien)m(ts)g(all)h(the)e(righ)m(ts)h(that)g(y)m(ou)g(ha)m(v)m(e.)51 -b(Y)-8 b(ou)34 b(m)m(ust)g(mak)m(e)g(sure)f(that)h(they)-8 -b(,)35 b(to)s(o,)150 3704 y(receiv)m(e)k(or)f(can)g(get)g(the)g(source) -g(co)s(de.)62 b(And)37 b(y)m(ou)h(m)m(ust)f(sho)m(w)h(them)f(these)h -(terms)f(so)h(they)g(kno)m(w)150 3814 y(their)30 b(righ)m(ts.)275 -3976 y(W)-8 b(e)29 b(protect)g(y)m(our)f(righ)m(ts)g(with)g(t)m(w)m(o)h -(steps:)40 b(\(1\))29 b(cop)m(yrigh)m(t)g(the)f(soft)m(w)m(are,)j(and)c -(\(2\))i(o\013er)g(y)m(ou)f(this)150 4086 y(license)j(whic)m(h)f(giv)m -(es)i(y)m(ou)f(legal)h(p)s(ermission)d(to)i(cop)m(y)-8 -b(,)32 b(distribute)e(and/or)g(mo)s(dify)g(the)h(soft)m(w)m(are.)275 -4248 y(Also,)46 b(for)c(eac)m(h)i(author's)f(protection)g(and)f(ours,)j -(w)m(e)e(w)m(an)m(t)h(to)f(mak)m(e)h(certain)f(that)g(ev)m(ery)m(one) -150 4358 y(understands)29 b(that)j(there)f(is)g(no)g(w)m(arran)m(t)m(y) -h(for)f(this)g(free)g(soft)m(w)m(are.)44 b(If)30 b(the)i(soft)m(w)m -(are)g(is)f(mo)s(di\014ed)f(b)m(y)150 4467 y(someone)h(else)f(and)f -(passed)h(on,)g(w)m(e)g(w)m(an)m(t)h(its)f(recipien)m(ts)h(to)f(kno)m -(w)g(that)g(what)g(they)g(ha)m(v)m(e)h(is)f(not)g(the)150 -4577 y(original,)h(so)e(that)g(an)m(y)h(problems)e(in)m(tro)s(duced)g -(b)m(y)h(others)g(will)g(not)g(re\015ect)h(on)f(the)g(original)h -(authors')150 4686 y(reputations.)275 4849 y(Finally)-8 -b(,)27 b(an)m(y)e(free)f(program)g(is)h(threatened)f(constan)m(tly)i(b) -m(y)f(soft)m(w)m(are)h(paten)m(ts.)39 b(W)-8 b(e)26 b(wish)d(to)i(a)m -(v)m(oid)150 4958 y(the)30 b(danger)g(that)h(redistributors)e(of)i(a)f -(free)h(program)f(will)g(individually)g(obtain)h(paten)m(t)g(licenses,) -g(in)150 5068 y(e\013ect)39 b(making)f(the)g(program)f(proprietary)-8 -b(.)63 b(T)-8 b(o)38 b(prev)m(en)m(t)g(this,)i(w)m(e)e(ha)m(v)m(e)h -(made)f(it)g(clear)g(that)h(an)m(y)150 5178 y(paten)m(t)31 -b(m)m(ust)g(b)s(e)e(licensed)i(for)f(ev)m(ery)m(one's)i(free)f(use)f -(or)g(not)h(licensed)g(at)g(all.)275 5340 y(The)e(precise)i(terms)f -(and)g(conditions)h(for)f(cop)m(ying,)i(distribution)d(and)h(mo)s -(di\014cation)h(follo)m(w.)p eop end +(distribute)g(copies)150 2552 y(of)e(free)f(soft)m(w)m(are)i(\(and)e(c) +m(harge)i(for)e(them)h(if)f(y)m(ou)h(wish\),)f(that)h(y)m(ou)g(receiv)m +(e)h(source)f(co)s(de)g(or)f(can)h(get)150 2662 y(it)e(if)f(y)m(ou)g(w) +m(an)m(t)i(it,)f(that)g(y)m(ou)f(can)h(c)m(hange)g(the)f(soft)m(w)m +(are)i(or)e(use)g(pieces)h(of)f(it)h(in)f(new)g(free)g(programs,)150 +2771 y(and)h(that)h(y)m(ou)f(kno)m(w)h(y)m(ou)g(can)f(do)g(these)h +(things.)275 2912 y(T)-8 b(o)24 b(protect)h(y)m(our)f(righ)m(ts,)i(w)m +(e)f(need)f(to)h(prev)m(en)m(t)g(others)f(from)g(den)m(ying)g(y)m(ou)g +(these)h(righ)m(ts)f(or)g(asking)150 3022 y(y)m(ou)37 +b(to)g(surrender)d(the)j(righ)m(ts.)60 b(Therefore,)38 +b(y)m(ou)f(ha)m(v)m(e)g(certain)h(resp)s(onsibilities)e(if)h(y)m(ou)f +(distribute)150 3132 y(copies)30 b(of)f(the)g(soft)m(w)m(are,)i(or)e +(if)f(y)m(ou)i(mo)s(dify)e(it:)40 b(resp)s(onsibilities)29 +b(to)h(resp)s(ect)f(the)g(freedom)g(of)g(others.)275 +3273 y(F)-8 b(or)30 b(example,)g(if)g(y)m(ou)f(distribute)g(copies)i +(of)e(suc)m(h)g(a)h(program,)g(whether)e(gratis)j(or)e(for)g(a)h(fee,)h +(y)m(ou)150 3382 y(m)m(ust)i(pass)f(on)h(to)h(the)f(recipien)m(ts)h +(the)f(same)h(freedoms)e(that)i(y)m(ou)f(receiv)m(ed.)50 +b(Y)-8 b(ou)34 b(m)m(ust)f(mak)m(e)h(sure)150 3492 y(that)29 +b(they)-8 b(,)29 b(to)s(o,)h(receiv)m(e)g(or)f(can)f(get)i(the)e +(source)h(co)s(de.)40 b(And)27 b(y)m(ou)i(m)m(ust)f(sho)m(w)g(them)h +(these)f(terms)h(so)150 3601 y(they)i(kno)m(w)f(their)g(righ)m(ts.)275 +3743 y(Dev)m(elop)s(ers)i(that)f(use)g(the)g(GNU)h(GPL)f(protect)g(y)m +(our)g(righ)m(ts)h(with)e(t)m(w)m(o)j(steps:)41 b(\(1\))32 +b(assert)g(cop)m(y-)150 3852 y(righ)m(t)38 b(on)e(the)h(soft)m(w)m +(are,)k(and)36 b(\(2\))i(o\013er)g(y)m(ou)f(this)g(License)g(giving)h +(y)m(ou)f(legal)i(p)s(ermission)d(to)i(cop)m(y)-8 b(,)150 +3962 y(distribute)30 b(and/or)g(mo)s(dify)g(it.)275 4103 +y(F)-8 b(or)35 b(the)g(dev)m(elop)s(ers')h(and)e(authors')h +(protection,)j(the)d(GPL)g(clearly)h(explains)f(that)h(there)f(is)g(no) +150 4213 y(w)m(arran)m(t)m(y)g(for)f(this)g(free)g(soft)m(w)m(are.)54 +b(F)-8 b(or)35 b(b)s(oth)e(users')h(and)g(authors')g(sak)m(e,)i(the)e +(GPL)h(requires)e(that)150 4322 y(mo)s(di\014ed)42 b(v)m(ersions)i(b)s +(e)f(mark)m(ed)g(as)h(c)m(hanged,)j(so)d(that)g(their)f(problems)g +(will)g(not)h(b)s(e)f(attributed)150 4432 y(erroneously)30 +b(to)h(authors)f(of)h(previous)f(v)m(ersions.)275 4573 +y(Some)e(devices)h(are)f(designed)g(to)h(den)m(y)f(users)g(access)h(to) +g(install)g(or)f(run)f(mo)s(di\014ed)g(v)m(ersions)h(of)h(the)150 +4682 y(soft)m(w)m(are)34 b(inside)e(them,)g(although)h(the)f(man)m +(ufacturer)g(can)h(do)f(so.)46 b(This)32 b(is)g(fundamen)m(tally)g +(incom-)150 4792 y(patible)j(with)e(the)h(aim)h(of)f(protecting)h +(users')e(freedom)h(to)h(c)m(hange)g(the)f(soft)m(w)m(are.)53 +b(The)33 b(systematic)150 4902 y(pattern)j(of)g(suc)m(h)g(abuse)f(o)s +(ccurs)h(in)f(the)i(area)f(of)g(pro)s(ducts)f(for)h(individuals)f(to)h +(use,)i(whic)m(h)d(is)h(pre-)150 5011 y(cisely)d(where)e(it)h(is)f +(most)h(unacceptable.)46 b(Therefore,)32 b(w)m(e)g(ha)m(v)m(e)h +(designed)e(this)g(v)m(ersion)h(of)g(the)g(GPL)150 5121 +y(to)38 b(prohibit)e(the)i(practice)g(for)f(those)h(pro)s(ducts.)60 +b(If)37 b(suc)m(h)f(problems)h(arise)h(substan)m(tially)g(in)f(other) +150 5230 y(domains,)28 b(w)m(e)f(stand)g(ready)g(to)h(extend)f(this)g +(pro)m(vision)g(to)h(those)f(domains)g(in)g(future)f(v)m(ersions)i(of)f +(the)150 5340 y(GPL,)k(as)f(needed)g(to)h(protect)h(the)e(freedom)h(of) +f(users.)p eop end %%Page: 2 4 -TeXDict begin 2 3 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h -(LICENSE)2052 b(2)150 166 y Fr(TERMS)44 b(AND)h(CONDITIONS)g(F)l(OR)g -(COPYING,)150 299 y(DISTRIBUTION)f(AND)h(MODIFICA)-11 -b(TION)199 515 y Fs(0.)61 b(This)42 b(License)h(applies)f(to)i(an)m(y)f -(program)f(or)g(other)h(w)m(ork)g(whic)m(h)f(con)m(tains)i(a)f(notice)g -(placed)330 625 y(b)m(y)33 b(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m -(ying)i(it)f(ma)m(y)g(b)s(e)f(distributed)g(under)f(the)h(terms)h(of)g -(this)f(General)330 735 y(Public)39 b(License.)68 b(The)39 -b(\\Program",)j(b)s(elo)m(w,)g(refers)d(to)h(an)m(y)g(suc)m(h)f -(program)g(or)g(w)m(ork,)j(and)d(a)330 844 y(\\w)m(ork)29 -b(based)f(on)h(the)g(Program")g(means)f(either)i(the)e(Program)h(or)g -(an)m(y)g(deriv)-5 b(ativ)m(e)30 b(w)m(ork)e(under)330 -954 y(cop)m(yrigh)m(t)33 b(la)m(w:)43 b(that)32 b(is)f(to)i(sa)m(y)-8 -b(,)33 b(a)e(w)m(ork)h(con)m(taining)h(the)e(Program)h(or)f(a)h(p)s -(ortion)f(of)g(it,)h(either)330 1063 y(v)m(erbatim)e(or)f(with)f(mo)s -(di\014cations)h(and/or)g(translated)h(in)m(to)g(another)f(language.)41 -b(\(Hereinafter,)330 1173 y(translation)28 b(is)f(included)g(without)g -(limitation)i(in)e(the)g(term)g(\\mo)s(di\014cation".\))42 -b(Eac)m(h)27 b(licensee)i(is)330 1282 y(addressed)g(as)i(\\y)m(ou".)330 -1429 y(Activities)41 b(other)e(than)f(cop)m(ying,)43 -b(distribution)38 b(and)g(mo)s(di\014cation)h(are)g(not)g(co)m(v)m -(ered)h(b)m(y)f(this)330 1538 y(License;)34 b(they)f(are)f(outside)h -(its)f(scop)s(e.)47 b(The)32 b(act)h(of)g(running)d(the)j(Program)f(is) -g(not)h(restricted,)330 1648 y(and)24 b(the)g(output)g(from)g(the)h -(Program)f(is)h(co)m(v)m(ered)h(only)e(if)g(its)h(con)m(ten)m(ts)h -(constitute)g(a)f(w)m(ork)f(based)330 1758 y(on)h(the)h(Program)f -(\(indep)s(enden)m(t)g(of)h(ha)m(ving)g(b)s(een)e(made)i(b)m(y)f -(running)f(the)h(Program\).)40 b(Whether)330 1867 y(that)31 -b(is)f(true)h(dep)s(ends)d(on)i(what)h(the)f(Program)h(do)s(es.)199 -2014 y(1.)61 b(Y)-8 b(ou)42 b(ma)m(y)g(cop)m(y)g(and)e(distribute)h(v)m -(erbatim)h(copies)g(of)g(the)f(Program's)h(source)f(co)s(de)h(as)g(y)m -(ou)330 2123 y(receiv)m(e)33 b(it,)f(in)f(an)m(y)g(medium,)g(pro)m -(vided)g(that)g(y)m(ou)h(conspicuously)f(and)f(appropriately)i(publish) -330 2233 y(on)h(eac)m(h)h(cop)m(y)g(an)f(appropriate)g(cop)m(yrigh)m(t) -i(notice)f(and)f(disclaimer)g(of)h(w)m(arran)m(t)m(y;)h(k)m(eep)f(in)m -(tact)330 2342 y(all)f(the)e(notices)i(that)g(refer)e(to)h(this)g -(License)g(and)f(to)i(the)f(absence)g(of)g(an)m(y)g(w)m(arran)m(t)m(y;) -h(and)e(giv)m(e)330 2452 y(an)m(y)g(other)f(recipien)m(ts)i(of)e(the)h -(Program)f(a)h(cop)m(y)g(of)g(this)f(License)h(along)g(with)f(the)h -(Program.)330 2598 y(Y)-8 b(ou)31 b(ma)m(y)g(c)m(harge)h(a)f(fee)g(for) -f(the)h(ph)m(ysical)g(act)h(of)f(transferring)f(a)h(cop)m(y)-8 -b(,)32 b(and)e(y)m(ou)h(ma)m(y)g(at)g(y)m(our)330 2708 -y(option)g(o\013er)g(w)m(arran)m(t)m(y)g(protection)h(in)e(exc)m(hange) -i(for)e(a)g(fee.)199 2854 y(2.)61 b(Y)-8 b(ou)24 b(ma)m(y)h(mo)s(dify)e -(y)m(our)h(cop)m(y)g(or)g(copies)h(of)f(the)g(Program)g(or)g(an)m(y)g -(p)s(ortion)f(of)h(it,)i(th)m(us)e(forming)g(a)330 2964 -y(w)m(ork)j(based)g(on)f(the)h(Program,)h(and)f(cop)m(y)g(and)g -(distribute)f(suc)m(h)h(mo)s(di\014cations)g(or)f(w)m(ork)h(under)330 -3074 y(the)k(terms)f(of)g(Section)i(1)e(ab)s(o)m(v)m(e,)i(pro)m(vided)e -(that)h(y)m(ou)g(also)g(meet)g(all)h(of)e(these)h(conditions:)379 -3220 y(a.)61 b(Y)-8 b(ou)43 b(m)m(ust)f(cause)i(the)e(mo)s(di\014ed)g -(\014les)g(to)h(carry)g(prominen)m(t)f(notices)i(stating)f(that)h(y)m -(ou)510 3330 y(c)m(hanged)31 b(the)g(\014les)f(and)g(the)g(date)h(of)g -(an)m(y)g(c)m(hange.)374 3476 y(b.)60 b(Y)-8 b(ou)31 -b(m)m(ust)g(cause)g(an)m(y)h(w)m(ork)f(that)g(y)m(ou)g(distribute)f(or) -h(publish,)f(that)h(in)g(whole)g(or)g(in)f(part)510 3586 -y(con)m(tains)36 b(or)g(is)f(deriv)m(ed)g(from)g(the)g(Program)g(or)g -(an)m(y)h(part)f(thereof,)i(to)f(b)s(e)e(licensed)i(as)g(a)510 -3695 y(whole)31 b(at)g(no)f(c)m(harge)i(to)f(all)g(third)e(parties)i -(under)e(the)i(terms)f(of)g(this)h(License.)384 3842 -y(c.)61 b(If)39 b(the)h(mo)s(di\014ed)f(program)g(normally)h(reads)g -(commands)f(in)m(teractiv)m(ely)k(when)c(run,)i(y)m(ou)510 -3951 y(m)m(ust)30 b(cause)h(it,)g(when)f(started)h(running)d(for)j(suc) -m(h)f(in)m(teractiv)m(e)j(use)d(in)g(the)h(most)g(ordinary)510 -4061 y(w)m(a)m(y)-8 b(,)25 b(to)d(prin)m(t)f(or)g(displa)m(y)h(an)f -(announcemen)m(t)g(including)g(an)h(appropriate)f(cop)m(yrigh)m(t)i -(notice)510 4170 y(and)h(a)g(notice)i(that)e(there)h(is)f(no)g(w)m -(arran)m(t)m(y)h(\(or)g(else,)h(sa)m(ying)f(that)g(y)m(ou)g(pro)m(vide) -f(a)h(w)m(arran)m(t)m(y\))510 4280 y(and)35 b(that)g(users)g(ma)m(y)g -(redistribute)g(the)h(program)f(under)e(these)j(conditions,)h(and)e -(telling)510 4390 y(the)f(user)f(ho)m(w)h(to)g(view)g(a)h(cop)m(y)f(of) -g(this)g(License.)51 b(\(Exception:)e(if)33 b(the)h(Program)g(itself)h -(is)510 4499 y(in)m(teractiv)m(e)i(but)c(do)s(es)h(not)g(normally)g -(prin)m(t)g(suc)m(h)f(an)h(announcemen)m(t,)h(y)m(our)f(w)m(ork)g -(based)510 4609 y(on)c(the)h(Program)f(is)h(not)f(required)g(to)h(prin) -m(t)f(an)g(announcemen)m(t.\))330 4792 y(These)41 b(requiremen)m(ts)h -(apply)f(to)h(the)g(mo)s(di\014ed)f(w)m(ork)g(as)h(a)g(whole.)74 -b(If)42 b(iden)m(ti\014able)g(sections)330 4902 y(of)g(that)h(w)m(ork)g -(are)f(not)h(deriv)m(ed)f(from)g(the)h(Program,)i(and)d(can)h(b)s(e)e -(reasonably)i(considered)330 5011 y(indep)s(enden)m(t)25 -b(and)i(separate)g(w)m(orks)g(in)f(themselv)m(es,)j(then)d(this)h -(License,)h(and)e(its)i(terms,)f(do)g(not)330 5121 y(apply)37 -b(to)h(those)f(sections)h(when)f(y)m(ou)g(distribute)g(them)g(as)g -(separate)h(w)m(orks.)61 b(But)37 b(when)g(y)m(ou)330 -5230 y(distribute)29 b(the)g(same)g(sections)i(as)e(part)g(of)g(a)h -(whole)f(whic)m(h)g(is)g(a)g(w)m(ork)h(based)e(on)h(the)h(Program,)330 -5340 y(the)h(distribution)g(of)g(the)h(whole)f(m)m(ust)g(b)s(e)g(on)g -(the)g(terms)g(of)h(this)f(License,)h(whose)f(p)s(ermissions)p -eop end +TeXDict begin 2 3 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(2)275 299 y(Finally)-8 b(,)34 b(ev)m(ery)f(program)f +(is)g(threatened)h(constan)m(tly)h(b)m(y)e(soft)m(w)m(are)i(paten)m +(ts.)47 b(States)33 b(should)f(not)150 408 y(allo)m(w)25 +b(paten)m(ts)e(to)h(restrict)g(dev)m(elopmen)m(t)g(and)f(use)g(of)g +(soft)m(w)m(are)h(on)f(general-purp)s(ose)g(computers,)i(but)150 +518 y(in)h(those)h(that)g(do,)g(w)m(e)g(wish)f(to)h(a)m(v)m(oid)h(the)e +(sp)s(ecial)h(danger)f(that)h(paten)m(ts)h(applied)e(to)h(a)g(free)f +(program)150 628 y(could)h(mak)m(e)i(it)f(e\013ectiv)m(ely)i +(proprietary)-8 b(.)40 b(T)-8 b(o)28 b(prev)m(en)m(t)g(this,)g(the)g +(GPL)f(assures)g(that)h(paten)m(ts)g(cannot)150 737 y(b)s(e)i(used)f +(to)i(render)f(the)g(program)g(non-free.)275 881 y(The)f(precise)i +(terms)f(and)g(conditions)h(for)f(cop)m(ying,)i(distribution)d(and)h +(mo)s(di\014cation)h(follo)m(w.)150 1128 y Fu(TERMS)44 +b(AND)h(CONDITIONS)199 1287 y Fv(0.)61 b(De\014nitions.)330 +1427 y(\\This)30 b(License")h(refers)f(to)i(v)m(ersion)e(3)h(of)g(the)f +(GNU)h(General)g(Public)g(License.)330 1566 y(\\Cop)m(yrigh)m(t")e +(also)g(means)e(cop)m(yrigh)m(t-lik)m(e)k(la)m(ws)d(that)g(apply)f(to)h +(other)g(kinds)f(of)g(w)m(orks,)h(suc)m(h)g(as)330 1676 +y(semiconductor)j(masks.)330 1815 y(\\The)40 b(Program")h(refers)f(to)g +(an)m(y)h(cop)m(yrigh)m(table)h(w)m(ork)e(licensed)h(under)e(this)h +(License.)70 b(Eac)m(h)330 1924 y(licensee)43 b(is)f(addressed)f(as)h +(\\y)m(ou".)76 b(\\Licensees")44 b(and)d(\\recipien)m(ts")i(ma)m(y)g(b) +s(e)e(individuals)g(or)330 2034 y(organizations.)330 +2173 y(T)-8 b(o)32 b(\\mo)s(dify")g(a)g(w)m(ork)g(means)g(to)h(cop)m(y) +f(from)g(or)f(adapt)h(all)h(or)f(part)g(of)g(the)g(w)m(ork)f(in)h(a)g +(fashion)330 2283 y(requiring)d(cop)m(yrigh)m(t)h(p)s(ermission,)e +(other)i(than)f(the)g(making)g(of)g(an)g(exact)i(cop)m(y)-8 +b(.)41 b(The)29 b(resulting)330 2392 y(w)m(ork)f(is)f(called)i(a)f +(\\mo)s(di\014ed)f(v)m(ersion")i(of)f(the)g(earlier)g(w)m(ork)g(or)g(a) +g(w)m(ork)f(\\based)h(on")g(the)g(earlier)330 2502 y(w)m(ork.)330 +2641 y(A)k(\\co)m(v)m(ered)i(w)m(ork")f(means)f(either)g(the)g(unmo)s +(di\014ed)e(Program)i(or)g(a)h(w)m(ork)f(based)g(on)g(the)g(Pro-)330 +2751 y(gram.)330 2890 y(T)-8 b(o)31 b(\\propagate")i(a)e(w)m(ork)g +(means)g(to)h(do)e(an)m(ything)i(with)e(it)h(that,)h(without)f(p)s +(ermission,)f(w)m(ould)330 3000 y(mak)m(e)c(y)m(ou)e(directly)i(or)e +(secondarily)h(liable)h(for)e(infringemen)m(t)h(under)e(applicable)i +(cop)m(yrigh)m(t)h(la)m(w,)330 3109 y(except)34 b(executing)g(it)g(on)e +(a)i(computer)f(or)f(mo)s(difying)h(a)g(priv)-5 b(ate)33 +b(cop)m(y)-8 b(.)50 b(Propagation)34 b(includes)330 3219 +y(cop)m(ying,)39 b(distribution)c(\(with)h(or)h(without)f(mo)s +(di\014cation\),)i(making)f(a)m(v)-5 b(ailable)38 b(to)f(the)f(public,) +330 3329 y(and)30 b(in)g(some)h(coun)m(tries)g(other)f(activities)j(as) +e(w)m(ell.)330 3468 y(T)-8 b(o)28 b(\\con)m(v)m(ey")j(a)d(w)m(ork)g +(means)g(an)m(y)g(kind)f(of)h(propagation)h(that)g(enables)f(other)g +(parties)g(to)h(mak)m(e)330 3577 y(or)k(receiv)m(e)j(copies.)50 +b(Mere)34 b(in)m(teraction)i(with)d(a)g(user)g(through)g(a)g(computer)h +(net)m(w)m(ork,)h(with)e(no)330 3687 y(transfer)d(of)g(a)h(cop)m(y)-8 +b(,)32 b(is)e(not)h(con)m(v)m(eying.)330 3826 y(An)25 +b(in)m(teractiv)m(e)k(user)c(in)m(terface)j(displa)m(ys)e +(\\Appropriate)g(Legal)h(Notices")h(to)f(the)f(exten)m(t)h(that)f(it) +330 3936 y(includes)k(a)g(con)m(v)m(enien)m(t)j(and)c(prominen)m(tly)h +(visible)h(feature)g(that)f(\(1\))i(displa)m(ys)e(an)g(appropriate)330 +4045 y(cop)m(yrigh)m(t)j(notice,)h(and)d(\(2\))i(tells)f(the)g(user)f +(that)i(there)e(is)h(no)g(w)m(arran)m(t)m(y)g(for)g(the)g(w)m(ork)g +(\(except)330 4155 y(to)e(the)g(exten)m(t)h(that)f(w)m(arran)m(ties)g +(are)g(pro)m(vided\),)g(that)g(licensees)g(ma)m(y)g(con)m(v)m(ey)h(the) +f(w)m(ork)f(under)330 4265 y(this)37 b(License,)i(and)e(ho)m(w)g(to)g +(view)h(a)f(cop)m(y)h(of)f(this)g(License.)61 b(If)36 +b(the)i(in)m(terface)g(presen)m(ts)f(a)g(list)330 4374 +y(of)32 b(user)e(commands)h(or)h(options,)g(suc)m(h)f(as)g(a)h(men)m +(u,)f(a)h(prominen)m(t)f(item)h(in)f(the)h(list)g(meets)g(this)330 +4484 y(criterion.)199 4623 y(1.)61 b(Source)30 b(Co)s(de.)330 +4762 y(The)g(\\source)i(co)s(de")f(for)g(a)g(w)m(ork)g(means)g(the)g +(preferred)f(form)g(of)h(the)g(w)m(ork)g(for)g(making)g(mo)s(di-)330 +4872 y(\014cations)g(to)g(it.)41 b(\\Ob)5 b(ject)31 b(co)s(de")g(means) +g(an)m(y)f(non-source)h(form)f(of)g(a)h(w)m(ork.)330 +5011 y(A)36 b(\\Standard)f(In)m(terface")i(means)f(an)f(in)m(terface)i +(that)g(either)f(is)g(an)f(o\016cial)i(standard)e(de\014ned)330 +5121 y(b)m(y)e(a)g(recognized)i(standards)d(b)s(o)s(dy)-8 +b(,)33 b(or,)h(in)f(the)g(case)h(of)f(in)m(terfaces)i(sp)s(eci\014ed)d +(for)h(a)h(particular)330 5230 y(programming)44 b(language,)49 +b(one)c(that)f(is)g(widely)h(used)e(among)i(dev)m(elop)s(ers)f(w)m +(orking)h(in)e(that)330 5340 y(language.)p eop end %%Page: 3 5 -TeXDict begin 3 4 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h -(LICENSE)2052 b(3)330 299 y(for)22 b(other)h(licensees)g(extend)g(to)g -(the)f(en)m(tire)h(whole,)i(and)c(th)m(us)h(to)h(eac)m(h)h(and)d(ev)m -(ery)i(part)g(regardless)330 408 y(of)31 b(who)e(wrote)i(it.)330 -538 y(Th)m(us,)48 b(it)e(is)f(not)h(the)f(in)m(ten)m(t)h(of)g(this)f -(section)h(to)g(claim)h(righ)m(ts)e(or)g(con)m(test)i(y)m(our)f(righ)m -(ts)f(to)330 648 y(w)m(ork)34 b(written)f(en)m(tirely)i(b)m(y)f(y)m -(ou;)h(rather,)g(the)f(in)m(ten)m(t)h(is)e(to)i(exercise)f(the)g(righ)m -(t)g(to)h(con)m(trol)g(the)330 757 y(distribution)30 -b(of)g(deriv)-5 b(ativ)m(e)32 b(or)f(collectiv)m(e)i(w)m(orks)e(based)f -(on)g(the)h(Program.)330 887 y(In)41 b(addition,)j(mere)d(aggregation)j -(of)e(another)f(w)m(ork)g(not)h(based)f(on)g(the)g(Program)h(with)f -(the)330 996 y(Program)22 b(\(or)g(with)f(a)h(w)m(ork)g(based)f(on)h -(the)g(Program\))g(on)f(a)h(v)m(olume)h(of)f(a)g(storage)h(or)f -(distribution)330 1106 y(medium)29 b(do)s(es)i(not)f(bring)g(the)g -(other)h(w)m(ork)f(under)f(the)i(scop)s(e)f(of)h(this)f(License.)199 -1235 y(3.)61 b(Y)-8 b(ou)38 b(ma)m(y)f(cop)m(y)h(and)f(distribute)f -(the)i(Program)f(\(or)g(a)h(w)m(ork)f(based)g(on)g(it,)j(under)35 -b(Section)j(2\))330 1345 y(in)30 b(ob)5 b(ject)31 b(co)s(de)g(or)g -(executable)h(form)e(under)e(the)j(terms)f(of)h(Sections)g(1)g(and)f(2) -h(ab)s(o)m(v)m(e)g(pro)m(vided)330 1455 y(that)g(y)m(ou)g(also)g(do)f -(one)h(of)f(the)h(follo)m(wing:)379 1584 y(a.)61 b(Accompan)m(y)47 -b(it)f(with)f(the)h(complete)h(corresp)s(onding)e(mac)m(hine-readable)i -(source)e(co)s(de,)510 1694 y(whic)m(h)26 b(m)m(ust)g(b)s(e)f -(distributed)g(under)f(the)j(terms)e(of)i(Sections)f(1)h(and)e(2)h(ab)s -(o)m(v)m(e)i(on)d(a)i(medium)510 1803 y(customarily)k(used)f(for)g -(soft)m(w)m(are)i(in)m(terc)m(hange;)g(or,)374 1933 y(b.)60 -b(Accompan)m(y)30 b(it)g(with)f(a)h(written)f(o\013er,)i(v)-5 -b(alid)29 b(for)g(at)i(least)f(three)g(y)m(ears,)g(to)g(giv)m(e)h(an)m -(y)f(third)510 2042 y(part)m(y)-8 b(,)32 b(for)f(a)h(c)m(harge)g(no)f -(more)h(than)f(y)m(our)g(cost)h(of)f(ph)m(ysically)i(p)s(erforming)d -(source)h(distri-)510 2152 y(bution,)d(a)g(complete)i(mac)m -(hine-readable)f(cop)m(y)f(of)g(the)g(corresp)s(onding)f(source)h(co)s -(de,)h(to)g(b)s(e)510 2262 y(distributed)k(under)g(the)h(terms)g(of)h -(Sections)g(1)f(and)g(2)h(ab)s(o)m(v)m(e)g(on)f(a)h(medium)e -(customarily)510 2371 y(used)d(for)g(soft)m(w)m(are)i(in)m(terc)m -(hange;)g(or,)384 2501 y(c.)61 b(Accompan)m(y)33 b(it)f(with)g(the)g -(information)g(y)m(ou)g(receiv)m(ed)h(as)f(to)g(the)g(o\013er)g(to)h -(distribute)e(cor-)510 2610 y(resp)s(onding)h(source)h(co)s(de.)50 -b(\(This)32 b(alternativ)m(e)k(is)d(allo)m(w)m(ed)i(only)f(for)f -(noncommercial)h(dis-)510 2720 y(tribution)e(and)f(only)h(if)g(y)m(ou)h -(receiv)m(ed)g(the)f(program)g(in)g(ob)5 b(ject)33 b(co)s(de)f(or)g -(executable)h(form)510 2829 y(with)d(suc)m(h)g(an)g(o\013er,)h(in)f -(accord)i(with)e(Subsection)g(b)g(ab)s(o)m(v)m(e.\))330 -2979 y(The)j(source)h(co)s(de)g(for)f(a)h(w)m(ork)g(means)f(the)h -(preferred)e(form)h(of)h(the)g(w)m(ork)f(for)h(making)g(mo)s(di\014-) -330 3088 y(cations)e(to)f(it.)41 b(F)-8 b(or)31 b(an)f(executable)i(w)m -(ork,)f(complete)g(source)g(co)s(de)f(means)h(all)g(the)f(source)h(co)s -(de)330 3198 y(for)25 b(all)i(mo)s(dules)e(it)h(con)m(tains,)i(plus)c -(an)m(y)i(asso)s(ciated)h(in)m(terface)h(de\014nition)d(\014les,)i -(plus)d(the)i(scripts)330 3308 y(used)41 b(to)i(con)m(trol)h -(compilation)f(and)f(installation)i(of)e(the)h(executable.)77 -b(Ho)m(w)m(ev)m(er,)48 b(as)42 b(a)g(sp)s(e-)330 3417 -y(cial)32 b(exception,)h(the)e(source)g(co)s(de)g(distributed)f(need)g -(not)h(include)g(an)m(ything)g(that)h(is)f(normally)330 -3527 y(distributed)39 b(\(in)g(either)h(source)g(or)f(binary)g(form\))h -(with)f(the)h(ma)5 b(jor)39 b(comp)s(onen)m(ts)h(\(compiler,)330 -3636 y(k)m(ernel,)c(and)e(so)g(on\))g(of)h(the)f(op)s(erating)h(system) -f(on)g(whic)m(h)g(the)g(executable)i(runs,)e(unless)f(that)330 -3746 y(comp)s(onen)m(t)e(itself)g(accompanies)h(the)e(executable.)330 -3875 y(If)39 b(distribution)f(of)i(executable)h(or)e(ob)5 -b(ject)40 b(co)s(de)f(is)h(made)f(b)m(y)g(o\013ering)h(access)g(to)g -(cop)m(y)g(from)330 3985 y(a)e(designated)g(place,)i(then)e(o\013ering) -g(equiv)-5 b(alen)m(t)39 b(access)f(to)h(cop)m(y)f(the)f(source)h(co)s -(de)g(from)f(the)330 4095 y(same)29 b(place)g(coun)m(ts)f(as)h -(distribution)e(of)h(the)h(source)f(co)s(de,)h(ev)m(en)g(though)e -(third)h(parties)g(are)h(not)330 4204 y(comp)s(elled)i(to)g(cop)m(y)g -(the)g(source)f(along)i(with)e(the)g(ob)5 b(ject)31 b(co)s(de.)199 -4334 y(4.)61 b(Y)-8 b(ou)35 b(ma)m(y)h(not)f(cop)m(y)-8 -b(,)37 b(mo)s(dify)-8 b(,)36 b(sublicense,)g(or)e(distribute)h(the)g -(Program)f(except)i(as)f(expressly)330 4443 y(pro)m(vided)40 -b(under)f(this)i(License.)71 b(An)m(y)41 b(attempt)h(otherwise)f(to)g -(cop)m(y)-8 b(,)45 b(mo)s(dify)-8 b(,)43 b(sublicense)d(or)330 -4553 y(distribute)26 b(the)h(Program)g(is)f(v)m(oid,)i(and)e(will)h -(automatically)j(terminate)d(y)m(our)g(righ)m(ts)g(under)e(this)330 -4663 y(License.)71 b(Ho)m(w)m(ev)m(er,)45 b(parties)c(who)f(ha)m(v)m(e) -h(receiv)m(ed)h(copies,)i(or)c(righ)m(ts,)k(from)c(y)m(ou)g(under)f -(this)330 4772 y(License)e(will)g(not)g(ha)m(v)m(e)h(their)f(licenses)g -(terminated)h(so)f(long)g(as)g(suc)m(h)f(parties)h(remain)g(in)f(full) -330 4882 y(compliance.)199 5011 y(5.)61 b(Y)-8 b(ou)38 -b(are)g(not)g(required)e(to)i(accept)h(this)f(License,)i(since)e(y)m -(ou)f(ha)m(v)m(e)i(not)f(signed)f(it.)63 b(Ho)m(w)m(ev)m(er,)330 -5121 y(nothing)24 b(else)g(gran)m(ts)h(y)m(ou)f(p)s(ermission)e(to)j -(mo)s(dify)e(or)g(distribute)h(the)g(Program)g(or)f(its)h(deriv)-5 -b(ativ)m(e)330 5230 y(w)m(orks.)38 b(These)23 b(actions)h(are)g -(prohibited)e(b)m(y)h(la)m(w)h(if)f(y)m(ou)g(do)g(not)h(accept)g(this)f -(License.)39 b(Therefore,)330 5340 y(b)m(y)d(mo)s(difying)f(or)h -(distributing)f(the)h(Program)g(\(or)h(an)m(y)f(w)m(ork)g(based)g(on)f -(the)i(Program\),)h(y)m(ou)p eop end +TeXDict begin 3 4 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(3)330 299 y(The)24 b(\\System)g(Libraries")g(of)g(an)g +(executable)i(w)m(ork)e(include)f(an)m(ything,)j(other)f(than)e(the)i +(w)m(ork)f(as)330 408 y(a)k(whole,)g(that)g(\(a\))g(is)f(included)g(in) +g(the)g(normal)g(form)g(of)h(pac)m(k)-5 b(aging)29 b(a)e(Ma)5 +b(jor)28 b(Comp)s(onen)m(t,)g(but)330 518 y(whic)m(h)33 +b(is)g(not)h(part)f(of)h(that)g(Ma)5 b(jor)34 b(Comp)s(onen)m(t,)g(and) +e(\(b\))i(serv)m(es)g(only)f(to)h(enable)g(use)f(of)h(the)330 +628 y(w)m(ork)c(with)g(that)g(Ma)5 b(jor)31 b(Comp)s(onen)m(t,)e(or)h +(to)h(implemen)m(t)g(a)f(Standard)f(In)m(terface)i(for)e(whic)m(h)h(an) +330 737 y(implemen)m(tation)g(is)e(a)m(v)-5 b(ailable)30 +b(to)f(the)f(public)g(in)f(source)i(co)s(de)f(form.)39 +b(A)29 b(\\Ma)5 b(jor)29 b(Comp)s(onen)m(t",)330 847 +y(in)38 b(this)g(con)m(text,)k(means)c(a)g(ma)5 b(jor)38 +b(essen)m(tial)i(comp)s(onen)m(t)e(\(k)m(ernel,)j(windo)m(w)d(system,)i +(and)e(so)330 956 y(on\))c(of)g(the)g(sp)s(eci\014c)f(op)s(erating)h +(system)g(\(if)g(an)m(y\))h(on)e(whic)m(h)h(the)g(executable)h(w)m(ork) +f(runs,)f(or)h(a)330 1066 y(compiler)d(used)f(to)h(pro)s(duce)e(the)h +(w)m(ork,)h(or)f(an)h(ob)5 b(ject)31 b(co)s(de)g(in)m(terpreter)f(used) +g(to)h(run)e(it.)330 1212 y(The)f(\\Corresp)s(onding)g(Source")h(for)f +(a)h(w)m(ork)g(in)g(ob)5 b(ject)29 b(co)s(de)g(form)g(means)f(all)i +(the)f(source)g(co)s(de)330 1322 y(needed)35 b(to)h(generate,)i +(install,)f(and)e(\(for)g(an)h(executable)g(w)m(ork\))g(run)e(the)h(ob) +5 b(ject)36 b(co)s(de)g(and)e(to)330 1431 y(mo)s(dify)39 +b(the)g(w)m(ork,)j(including)d(scripts)g(to)i(con)m(trol)f(those)g +(activities.)71 b(Ho)m(w)m(ev)m(er,)44 b(it)c(do)s(es)f(not)330 +1541 y(include)i(the)h(w)m(ork's)g(System)g(Libraries,)i(or)e +(general-purp)s(ose)f(to)s(ols)i(or)f(generally)h(a)m(v)-5 +b(ailable)330 1650 y(free)31 b(programs)g(whic)m(h)g(are)h(used)e(unmo) +s(di\014ed)f(in)i(p)s(erforming)f(those)h(activities)j(but)d(whic)m(h)g +(are)330 1760 y(not)g(part)f(of)h(the)g(w)m(ork.)42 b(F)-8 +b(or)32 b(example,)f(Corresp)s(onding)e(Source)i(includes)f(in)m +(terface)i(de\014nition)330 1870 y(\014les)g(asso)s(ciated)i(with)d +(source)i(\014les)f(for)g(the)g(w)m(ork,)h(and)f(the)g(source)g(co)s +(de)h(for)e(shared)h(libraries)330 1979 y(and)g(dynamically)g(link)m +(ed)h(subprograms)e(that)h(the)h(w)m(ork)f(is)g(sp)s(eci\014cally)h +(designed)f(to)h(require,)330 2089 y(suc)m(h)k(as)g(b)m(y)g(in)m +(timate)i(data)e(comm)m(unication)i(or)e(con)m(trol)h(\015o)m(w)f(b)s +(et)m(w)m(een)h(those)f(subprograms)330 2198 y(and)30 +b(other)g(parts)g(of)h(the)g(w)m(ork.)330 2345 y(The)h(Corresp)s +(onding)f(Source)i(need)f(not)h(include)f(an)m(ything)i(that)f(users)f +(can)h(regenerate)h(auto-)330 2454 y(matically)e(from)e(other)h(parts)f +(of)h(the)f(Corresp)s(onding)f(Source.)330 2600 y(The)h(Corresp)s +(onding)e(Source)j(for)f(a)h(w)m(ork)f(in)g(source)h(co)s(de)f(form)g +(is)h(that)f(same)h(w)m(ork.)199 2746 y(2.)61 b(Basic)32 +b(P)m(ermissions.)330 2892 y(All)44 b(righ)m(ts)f(gran)m(ted)g(under)f +(this)h(License)g(are)g(gran)m(ted)h(for)f(the)g(term)g(of)g(cop)m +(yrigh)m(t)h(on)f(the)330 3002 y(Program,)29 b(and)e(are)i(irrev)m(o)s +(cable)g(pro)m(vided)f(the)g(stated)h(conditions)g(are)f(met.)40 +b(This)28 b(License)g(ex-)330 3112 y(plicitly)h(a\016rms)e(y)m(our)h +(unlimited)g(p)s(ermission)e(to)j(run)d(the)i(unmo)s(di\014ed)e +(Program.)40 b(The)27 b(output)330 3221 y(from)37 b(running)e(a)j(co)m +(v)m(ered)h(w)m(ork)e(is)g(co)m(v)m(ered)i(b)m(y)e(this)h(License)f +(only)h(if)f(the)g(output,)i(giv)m(en)g(its)330 3331 +y(con)m(ten)m(t,)33 b(constitutes)f(a)g(co)m(v)m(ered)g(w)m(ork.)42 +b(This)31 b(License)g(ac)m(kno)m(wledges)i(y)m(our)e(righ)m(ts)g(of)g +(fair)g(use)330 3440 y(or)f(other)h(equiv)-5 b(alen)m(t,)32 +b(as)f(pro)m(vided)f(b)m(y)g(cop)m(yrigh)m(t)i(la)m(w.)330 +3587 y(Y)-8 b(ou)41 b(ma)m(y)h(mak)m(e,)i(run)c(and)g(propagate)i(co)m +(v)m(ered)g(w)m(orks)f(that)g(y)m(ou)h(do)e(not)h(con)m(v)m(ey)-8 +b(,)46 b(without)330 3696 y(conditions)30 b(so)f(long)h(as)g(y)m(our)f +(license)h(otherwise)g(remains)f(in)g(force.)41 b(Y)-8 +b(ou)30 b(ma)m(y)f(con)m(v)m(ey)i(co)m(v)m(ered)330 3806 +y(w)m(orks)40 b(to)g(others)g(for)g(the)g(sole)g(purp)s(ose)e(of)i(ha)m +(ving)h(them)e(mak)m(e)i(mo)s(di\014cations)f(exclusiv)m(ely)330 +3915 y(for)45 b(y)m(ou,)50 b(or)45 b(pro)m(vide)h(y)m(ou)f(with)g +(facilities)j(for)d(running)f(those)h(w)m(orks,)50 b(pro)m(vided)45 +b(that)h(y)m(ou)330 4025 y(comply)34 b(with)f(the)h(terms)f(of)h(this)f +(License)i(in)e(con)m(v)m(eying)i(all)g(material)g(for)e(whic)m(h)g(y)m +(ou)h(do)g(not)330 4134 y(con)m(trol)i(cop)m(yrigh)m(t.)55 +b(Those)35 b(th)m(us)f(making)h(or)g(running)e(the)i(co)m(v)m(ered)h(w) +m(orks)f(for)f(y)m(ou)h(m)m(ust)g(do)330 4244 y(so)29 +b(exclusiv)m(ely)h(on)e(y)m(our)g(b)s(ehalf,)h(under)d(y)m(our)j +(direction)g(and)f(con)m(trol,)i(on)e(terms)h(that)g(prohibit)330 +4354 y(them)35 b(from)g(making)g(an)m(y)h(copies)g(of)f(y)m(our)h(cop)m +(yrigh)m(ted)g(material)h(outside)e(their)h(relationship)330 +4463 y(with)30 b(y)m(ou.)330 4609 y(Con)m(v)m(eying)46 +b(under)d(an)m(y)i(other)g(circumstances)g(is)g(p)s(ermitted)g(solely)g +(under)f(the)g(conditions)330 4719 y(stated)31 b(b)s(elo)m(w.)41 +b(Sublicensing)30 b(is)g(not)h(allo)m(w)m(ed;)h(section)g(10)f(mak)m +(es)g(it)g(unnecessary)-8 b(.)199 4865 y(3.)61 b(Protecting)32 +b(Users')e(Legal)i(Righ)m(ts)f(F)-8 b(rom)31 b(An)m(ti-Circum)m(v)m(en) +m(tion)i(La)m(w.)330 5011 y(No)44 b(co)m(v)m(ered)i(w)m(ork)d(shall)h +(b)s(e)g(deemed)f(part)h(of)g(an)f(e\013ectiv)m(e)k(tec)m(hnological)g +(measure)c(under)330 5121 y(an)m(y)30 b(applicable)h(la)m(w)f +(ful\014lling)g(obligations)h(under)e(article)i(11)g(of)f(the)g(WIPO)f +(cop)m(yrigh)m(t)i(treat)m(y)330 5230 y(adopted)e(on)f(20)i(Decem)m(b)s +(er)f(1996,)i(or)e(similar)g(la)m(ws)g(prohibiting)f(or)h(restricting)g +(circum)m(v)m(en)m(tion)330 5340 y(of)i(suc)m(h)f(measures.)p +eop end %%Page: 4 6 -TeXDict begin 4 5 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h -(LICENSE)2052 b(4)330 299 y(indicate)33 b(y)m(our)g(acceptance)h(of)f -(this)f(License)h(to)h(do)e(so,)h(and)f(all)h(its)g(terms)f(and)g -(conditions)h(for)330 408 y(cop)m(ying,)f(distributing)d(or)i(mo)s -(difying)e(the)i(Program)f(or)h(w)m(orks)f(based)g(on)g(it.)199 -545 y(6.)61 b(Eac)m(h)43 b(time)f(y)m(ou)g(redistribute)g(the)g -(Program)g(\(or)g(an)m(y)h(w)m(ork)f(based)f(on)h(the)g(Program\),)k -(the)330 655 y(recipien)m(t)33 b(automatically)j(receiv)m(es)e(a)f -(license)g(from)f(the)g(original)i(licensor)f(to)g(cop)m(y)-8 -b(,)34 b(distribute)330 765 y(or)i(mo)s(dify)g(the)g(Program)h(sub)5 -b(ject)36 b(to)h(these)g(terms)f(and)g(conditions.)59 -b(Y)-8 b(ou)37 b(ma)m(y)g(not)f(imp)s(ose)330 874 y(an)m(y)27 -b(further)f(restrictions)h(on)g(the)g(recipien)m(ts')h(exercise)g(of)f -(the)g(righ)m(ts)g(gran)m(ted)g(herein.)39 b(Y)-8 b(ou)28 -b(are)330 984 y(not)j(resp)s(onsible)e(for)h(enforcing)h(compliance)h -(b)m(y)e(third)f(parties)i(to)g(this)f(License.)199 1121 -y(7.)61 b(If,)27 b(as)g(a)g(consequence)h(of)f(a)g(court)g(judgmen)m(t) -f(or)h(allegation)i(of)e(paten)m(t)h(infringemen)m(t)e(or)h(for)g(an)m -(y)330 1230 y(other)h(reason)f(\(not)h(limited)g(to)g(paten)m(t)h -(issues\),)f(conditions)g(are)f(imp)s(osed)g(on)g(y)m(ou)h(\(whether)f -(b)m(y)330 1340 y(court)c(order,)h(agreemen)m(t)g(or)f(otherwise\))g -(that)g(con)m(tradict)i(the)d(conditions)h(of)g(this)g(License,)i(they) -330 1450 y(do)34 b(not)g(excuse)h(y)m(ou)f(from)g(the)g(conditions)h -(of)f(this)g(License.)53 b(If)33 b(y)m(ou)i(cannot)g(distribute)e(so)i -(as)330 1559 y(to)f(satisfy)g(sim)m(ultaneously)h(y)m(our)e -(obligations)j(under)c(this)h(License)h(and)f(an)m(y)h(other)g(p)s -(ertinen)m(t)330 1669 y(obligations,)44 b(then)c(as)g(a)g(consequence)h -(y)m(ou)f(ma)m(y)g(not)g(distribute)g(the)g(Program)g(at)g(all.)70 -b(F)-8 b(or)330 1778 y(example,)26 b(if)e(a)h(paten)m(t)g(license)g(w)m -(ould)f(not)g(p)s(ermit)g(ro)m(y)m(alt)m(y-free)j(redistribution)c(of)h -(the)h(Program)330 1888 y(b)m(y)35 b(all)h(those)f(who)f(receiv)m(e)j -(copies)f(directly)f(or)g(indirectly)h(through)e(y)m(ou,)i(then)f(the)g -(only)g(w)m(a)m(y)330 1998 y(y)m(ou)27 b(could)f(satisfy)h(b)s(oth)e -(it)i(and)f(this)g(License)h(w)m(ould)f(b)s(e)g(to)h(refrain)e(en)m -(tirely)j(from)e(distribution)330 2107 y(of)31 b(the)f(Program.)330 -2244 y(If)43 b(an)m(y)g(p)s(ortion)g(of)g(this)h(section)g(is)f(held)g -(in)m(v)-5 b(alid)44 b(or)f(unenforceable)g(under)f(an)m(y)i -(particular)330 2354 y(circumstance,)j(the)d(balance)g(of)f(the)h -(section)g(is)f(in)m(tended)g(to)h(apply)f(and)f(the)i(section)g(as)g -(a)330 2463 y(whole)31 b(is)f(in)m(tended)g(to)h(apply)f(in)g(other)h -(circumstances.)330 2600 y(It)41 b(is)f(not)h(the)f(purp)s(ose)f(of)i -(this)f(section)i(to)f(induce)f(y)m(ou)h(to)g(infringe)f(an)m(y)h -(paten)m(ts)g(or)g(other)330 2710 y(prop)s(ert)m(y)e(righ)m(t)i(claims) -f(or)g(to)h(con)m(test)h(v)-5 b(alidit)m(y)41 b(of)f(an)m(y)g(suc)m(h)g -(claims;)45 b(this)40 b(section)h(has)f(the)330 2819 -y(sole)31 b(purp)s(ose)d(of)j(protecting)g(the)f(in)m(tegrit)m(y)i(of)e -(the)h(free)f(soft)m(w)m(are)h(distribution)f(system,)g(whic)m(h)330 -2929 y(is)35 b(implemen)m(ted)h(b)m(y)f(public)f(license)i(practices.) -56 b(Man)m(y)36 b(p)s(eople)f(ha)m(v)m(e)h(made)f(generous)h(con)m -(tri-)330 3039 y(butions)f(to)h(the)f(wide)h(range)f(of)h(soft)m(w)m -(are)h(distributed)d(through)h(that)h(system)f(in)g(reliance)i(on)330 -3148 y(consisten)m(t)g(application)g(of)e(that)h(system;)i(it)e(is)g -(up)e(to)i(the)g(author/donor)f(to)h(decide)g(if)g(he)f(or)330 -3258 y(she)i(is)h(willing)g(to)g(distribute)f(soft)m(w)m(are)i(through) -e(an)m(y)g(other)h(system)g(and)f(a)g(licensee)i(cannot)330 -3367 y(imp)s(ose)30 b(that)h(c)m(hoice.)330 3504 y(This)26 -b(section)j(is)e(in)m(tended)g(to)h(mak)m(e)g(thoroughly)f(clear)h -(what)f(is)g(b)s(eliev)m(ed)h(to)g(b)s(e)f(a)g(consequence)330 -3614 y(of)k(the)f(rest)h(of)f(this)g(License.)199 3751 -y(8.)61 b(If)35 b(the)g(distribution)f(and/or)h(use)g(of)g(the)g -(Program)g(is)g(restricted)h(in)f(certain)h(coun)m(tries)f(either)330 -3861 y(b)m(y)g(paten)m(ts)h(or)g(b)m(y)f(cop)m(yrigh)m(ted)i(in)m -(terfaces,)h(the)d(original)i(cop)m(yrigh)m(t)g(holder)e(who)g(places)h -(the)330 3970 y(Program)g(under)f(this)h(License)h(ma)m(y)g(add)e(an)i -(explicit)g(geographical)i(distribution)c(limitation)330 -4080 y(excluding)29 b(those)g(coun)m(tries,)h(so)f(that)g(distribution) -f(is)g(p)s(ermitted)h(only)f(in)g(or)h(among)g(coun)m(tries)330 -4189 y(not)k(th)m(us)f(excluded.)48 b(In)32 b(suc)m(h)g(case,)j(this)d -(License)i(incorp)s(orates)f(the)g(limitation)h(as)f(if)g(written)330 -4299 y(in)d(the)h(b)s(o)s(dy)d(of)j(this)f(License.)199 -4436 y(9.)61 b(The)26 b(F)-8 b(ree)28 b(Soft)m(w)m(are)g(F)-8 -b(oundation)27 b(ma)m(y)h(publish)d(revised)h(and/or)h(new)f(v)m -(ersions)h(of)g(the)g(General)330 4545 y(Public)37 b(License)g(from)g -(time)h(to)f(time.)62 b(Suc)m(h)36 b(new)h(v)m(ersions)g(will)h(b)s(e)e -(similar)h(in)g(spirit)g(to)h(the)330 4655 y(presen)m(t)30 -b(v)m(ersion,)i(but)d(ma)m(y)i(di\013er)f(in)g(detail)i(to)f(address)e -(new)h(problems)g(or)g(concerns.)330 4792 y(Eac)m(h)46 -b(v)m(ersion)f(is)g(giv)m(en)h(a)f(distinguishing)f(v)m(ersion)i(n)m -(um)m(b)s(er.)83 b(If)44 b(the)h(Program)g(sp)s(eci\014es)g(a)330 -4902 y(v)m(ersion)36 b(n)m(um)m(b)s(er)f(of)h(this)f(License)i(whic)m -(h)e(applies)h(to)h(it)f(and)f(\\an)m(y)i(later)f(v)m(ersion",)j(y)m -(ou)d(ha)m(v)m(e)330 5011 y(the)d(option)g(of)g(follo)m(wing)h(the)f -(terms)g(and)f(conditions)h(either)h(of)f(that)g(v)m(ersion)g(or)g(of)g -(an)m(y)g(later)330 5121 y(v)m(ersion)e(published)d(b)m(y)i(the)g(F)-8 -b(ree)31 b(Soft)m(w)m(are)g(F)-8 b(oundation.)42 b(If)29 -b(the)i(Program)f(do)s(es)g(not)g(sp)s(ecify)g(a)330 -5230 y(v)m(ersion)e(n)m(um)m(b)s(er)f(of)h(this)f(License,)i(y)m(ou)f -(ma)m(y)h(c)m(ho)s(ose)f(an)m(y)h(v)m(ersion)f(ev)m(er)g(published)e(b) -m(y)i(the)g(F)-8 b(ree)330 5340 y(Soft)m(w)m(are)31 b(F)-8 -b(oundation.)p eop end +TeXDict begin 4 5 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(4)330 299 y(When)25 b(y)m(ou)h(con)m(v)m(ey)g(a)g(co)m +(v)m(ered)h(w)m(ork,)f(y)m(ou)g(w)m(aiv)m(e)h(an)m(y)e(legal)i(p)s(o)m +(w)m(er)f(to)g(forbid)e(circum)m(v)m(en)m(tion)j(of)330 +408 y(tec)m(hnological)j(measures)d(to)g(the)g(exten)m(t)h(suc)m(h)e +(circum)m(v)m(en)m(tion)j(is)d(e\013ected)i(b)m(y)f(exercising)g(righ)m +(ts)330 518 y(under)35 b(this)h(License)h(with)e(resp)s(ect)i(to)g(the) +f(co)m(v)m(ered)i(w)m(ork,)g(and)d(y)m(ou)i(disclaim)g(an)m(y)f(in)m +(ten)m(tion)330 628 y(to)41 b(limit)g(op)s(eration)g(or)f(mo)s +(di\014cation)h(of)g(the)f(w)m(ork)h(as)f(a)h(means)f(of)h(enforcing,)i +(against)f(the)330 737 y(w)m(ork's)28 b(users,)f(y)m(our)h(or)f(third)g +(parties')h(legal)h(righ)m(ts)f(to)g(forbid)f(circum)m(v)m(en)m(tion)i +(of)e(tec)m(hnological)330 847 y(measures.)199 982 y(4.)61 +b(Con)m(v)m(eying)31 b(V)-8 b(erbatim)32 b(Copies.)330 +1117 y(Y)-8 b(ou)28 b(ma)m(y)g(con)m(v)m(ey)h(v)m(erbatim)f(copies)g +(of)g(the)f(Program's)h(source)g(co)s(de)f(as)h(y)m(ou)f(receiv)m(e)j +(it,)f(in)e(an)m(y)330 1226 y(medium,)33 b(pro)m(vided)g(that)h(y)m(ou) +f(conspicuously)g(and)g(appropriately)g(publish)f(on)h(eac)m(h)h(cop)m +(y)g(an)330 1336 y(appropriate)e(cop)m(yrigh)m(t)i(notice;)g(k)m(eep)f +(in)m(tact)h(all)f(notices)g(stating)h(that)e(this)g(License)h(and)f +(an)m(y)330 1445 y(non-p)s(ermissiv)m(e)d(terms)g(added)f(in)h(accord)h +(with)f(section)h(7)f(apply)g(to)h(the)f(co)s(de;)h(k)m(eep)g(in)m +(tact)h(all)330 1555 y(notices)37 b(of)f(the)g(absence)g(of)g(an)m(y)g +(w)m(arran)m(t)m(y;)j(and)c(giv)m(e)i(all)g(recipien)m(ts)f(a)h(cop)m +(y)f(of)g(this)f(License)330 1665 y(along)c(with)f(the)h(Program.)330 +1799 y(Y)-8 b(ou)27 b(ma)m(y)g(c)m(harge)h(an)m(y)f(price)g(or)f(no)h +(price)f(for)h(eac)m(h)g(cop)m(y)h(that)f(y)m(ou)g(con)m(v)m(ey)-8 +b(,)29 b(and)d(y)m(ou)h(ma)m(y)h(o\013er)330 1909 y(supp)s(ort)h(or)h +(w)m(arran)m(t)m(y)h(protection)h(for)e(a)h(fee.)199 +2044 y(5.)61 b(Con)m(v)m(eying)31 b(Mo)s(di\014ed)f(Source)g(V)-8 +b(ersions.)330 2179 y(Y)g(ou)27 b(ma)m(y)g(con)m(v)m(ey)h(a)f(w)m(ork)g +(based)f(on)h(the)g(Program,)g(or)g(the)g(mo)s(di\014cations)g(to)g +(pro)s(duce)e(it)i(from)330 2288 y(the)36 b(Program,)h(in)e(the)g(form) +g(of)g(source)h(co)s(de)g(under)d(the)j(terms)f(of)h(section)g(4,)h +(pro)m(vided)e(that)330 2398 y(y)m(ou)c(also)g(meet)g(all)h(of)e(these) +h(conditions:)379 2533 y(a.)61 b(The)28 b(w)m(ork)h(m)m(ust)f(carry)h +(prominen)m(t)f(notices)i(stating)g(that)f(y)m(ou)g(mo)s(di\014ed)e +(it,)j(and)e(giving)i(a)510 2642 y(relev)-5 b(an)m(t)32 +b(date.)374 2777 y(b.)60 b(The)34 b(w)m(ork)h(m)m(ust)f(carry)h +(prominen)m(t)f(notices)i(stating)g(that)f(it)g(is)g(released)g(under)e +(this)i(Li-)510 2887 y(cense)i(and)f(an)m(y)h(conditions)h(added)e +(under)f(section)j(7.)60 b(This)36 b(requiremen)m(t)h(mo)s(di\014es)f +(the)510 2996 y(requiremen)m(t)31 b(in)f(section)h(4)g(to)g(\\k)m(eep)h +(in)m(tact)g(all)f(notices".)384 3131 y(c.)61 b(Y)-8 +b(ou)36 b(m)m(ust)g(license)g(the)g(en)m(tire)h(w)m(ork,)g(as)f(a)g +(whole,)h(under)d(this)i(License)g(to)h(an)m(y)m(one)f(who)510 +3241 y(comes)31 b(in)m(to)g(p)s(ossession)e(of)h(a)h(cop)m(y)-8 +b(.)41 b(This)29 b(License)i(will)f(therefore)h(apply)-8 +b(,)30 b(along)h(with)f(an)m(y)510 3351 y(applicable)k(section)f(7)g +(additional)h(terms,)f(to)h(the)e(whole)h(of)g(the)g(w)m(ork,)g(and)f +(all)i(its)f(parts,)510 3460 y(regardless)h(of)g(ho)m(w)g(they)g(are)g +(pac)m(k)-5 b(aged.)52 b(This)33 b(License)h(giv)m(es)h(no)f(p)s +(ermission)e(to)j(license)510 3570 y(the)c(w)m(ork)h(in)f(an)m(y)g +(other)h(w)m(a)m(y)-8 b(,)33 b(but)d(it)i(do)s(es)f(not)g(in)m(v)-5 +b(alidate)33 b(suc)m(h)e(p)s(ermission)f(if)h(y)m(ou)h(ha)m(v)m(e)510 +3679 y(separately)g(receiv)m(ed)f(it.)374 3814 y(d.)60 +b(If)36 b(the)h(w)m(ork)g(has)g(in)m(teractiv)m(e)j(user)c(in)m +(terfaces,)k(eac)m(h)e(m)m(ust)f(displa)m(y)g(Appropriate)g(Legal)510 +3924 y(Notices;)49 b(ho)m(w)m(ev)m(er,)c(if)c(the)h(Program)f(has)g(in) +m(teractiv)m(e)j(in)m(terfaces)e(that)g(do)f(not)h(displa)m(y)510 +4033 y(Appropriate)30 b(Legal)i(Notices,)g(y)m(our)f(w)m(ork)f(need)g +(not)h(mak)m(e)g(them)g(do)f(so.)330 4194 y(A)38 b(compilation)h(of)f +(a)g(co)m(v)m(ered)h(w)m(ork)f(with)f(other)h(separate)h(and)e(indep)s +(enden)m(t)f(w)m(orks,)k(whic)m(h)330 4303 y(are)c(not)g(b)m(y)g(their) +g(nature)f(extensions)h(of)g(the)g(co)m(v)m(ered)i(w)m(ork,)f(and)e +(whic)m(h)h(are)g(not)g(com)m(bined)330 4413 y(with)27 +b(it)i(suc)m(h)e(as)h(to)h(form)e(a)h(larger)h(program,)f(in)f(or)h(on) +g(a)g(v)m(olume)g(of)g(a)h(storage)g(or)f(distribution)330 +4522 y(medium,)43 b(is)f(called)g(an)g(\\aggregate")j(if)c(the)h +(compilation)h(and)e(its)g(resulting)h(cop)m(yrigh)m(t)h(are)330 +4632 y(not)31 b(used)f(to)h(limit)h(the)e(access)i(or)f(legal)h(righ)m +(ts)f(of)g(the)g(compilation's)h(users)e(b)s(ey)m(ond)g(what)h(the)330 +4741 y(individual)j(w)m(orks)h(p)s(ermit.)54 b(Inclusion)34 +b(of)h(a)h(co)m(v)m(ered)g(w)m(ork)f(in)g(an)g(aggregate)j(do)s(es)c +(not)h(cause)330 4851 y(this)30 b(License)h(to)g(apply)f(to)h(the)g +(other)g(parts)f(of)g(the)h(aggregate.)199 4986 y(6.)61 +b(Con)m(v)m(eying)31 b(Non-Source)g(F)-8 b(orms.)330 +5121 y(Y)g(ou)29 b(ma)m(y)h(con)m(v)m(ey)g(a)f(co)m(v)m(ered)i(w)m(ork) +e(in)f(ob)5 b(ject)30 b(co)s(de)f(form)f(under)g(the)h(terms)f(of)h +(sections)h(4)g(and)330 5230 y(5,)42 b(pro)m(vided)d(that)g(y)m(ou)h +(also)g(con)m(v)m(ey)g(the)g(mac)m(hine-readable)g(Corresp)s(onding)e +(Source)g(under)330 5340 y(the)31 b(terms)f(of)g(this)h(License,)g(in)f +(one)h(of)f(these)h(w)m(a)m(ys:)p eop end %%Page: 5 7 -TeXDict begin 5 6 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h -(LICENSE)2052 b(5)154 299 y(10.)61 b(If)29 b(y)m(ou)g(wish)g(to)h -(incorp)s(orate)g(parts)f(of)g(the)g(Program)h(in)m(to)g(other)g(free)f -(programs)g(whose)g(distri-)330 408 y(bution)f(conditions)h(are)h -(di\013eren)m(t,)f(write)g(to)h(the)f(author)f(to)i(ask)e(for)h(p)s -(ermission.)39 b(F)-8 b(or)29 b(soft)m(w)m(are)330 518 -y(whic)m(h)24 b(is)g(cop)m(yrigh)m(ted)h(b)m(y)f(the)g(F)-8 -b(ree)25 b(Soft)m(w)m(are)g(F)-8 b(oundation,)26 b(write)e(to)h(the)f -(F)-8 b(ree)25 b(Soft)m(w)m(are)g(F)-8 b(oun-)330 628 -y(dation;)29 b(w)m(e)f(sometimes)h(mak)m(e)f(exceptions)h(for)e(this.) -40 b(Our)26 b(decision)i(will)g(b)s(e)e(guided)i(b)m(y)f(the)h(t)m(w)m -(o)330 737 y(goals)c(of)f(preserving)f(the)g(free)h(status)g(of)f(all)i -(deriv)-5 b(ativ)m(es)24 b(of)e(our)g(free)h(soft)m(w)m(are)h(and)e(of) -h(promoting)330 847 y(the)31 b(sharing)f(and)f(reuse)h(of)h(soft)m(w)m -(are)h(generally)-8 b(.)330 995 y Fr(NO)45 b(W)-15 b(ARRANTY)154 -1187 y Fs(11.)61 b(BECA)m(USE)40 b(THE)f(PR)m(OGRAM)i(IS)e(LICENSED)g -(FREE)g(OF)h(CHAR)m(GE,)h(THERE)e(IS)g(NO)330 1297 y(W)-10 -b(ARRANTY)26 b(F)m(OR)f(THE)g(PR)m(OGRAM,)h(TO)e(THE)h(EXTENT)f -(PERMITTED)h(BY)g(APPLI-)330 1406 y(CABLE)i(LA)-10 b(W.)27 -b(EX)m(CEPT)g(WHEN)h(OTHER)-10 b(WISE)25 b(ST)-8 b(A)g(TED)28 -b(IN)e(WRITING)i(THE)e(COPY-)330 1516 y(RIGHT)35 b(HOLDERS)g(AND/OR)h -(OTHER)f(P)-8 b(AR)g(TIES)35 b(PR)m(O)m(VIDE)h(THE)f(PR)m(OGRAM)h(\\AS) -330 1626 y(IS")22 b(WITHOUT)f(W)-10 b(ARRANTY)23 b(OF)f(ANY)g(KIND,)h -(EITHER)e(EXPRESSED)g(OR)h(IMPLIED,)330 1735 y(INCLUDING,)33 -b(BUT)g(NOT)g(LIMITED)f(TO,)g(THE)h(IMPLIED)g(W)-10 b(ARRANTIES)32 -b(OF)h(MER-)330 1845 y(CHANT)-8 b(ABILITY)28 b(AND)g(FITNESS)e(F)m(OR)i -(A)g(P)-8 b(AR)g(TICULAR)27 b(PURPOSE.)g(THE)g(ENTIRE)330 -1954 y(RISK)19 b(AS)h(TO)g(THE)g(QUALITY)g(AND)h(PERF)m(ORMANCE)g(OF)f -(THE)g(PR)m(OGRAM)h(IS)f(WITH)330 2064 y(YOU.)h(SHOULD)g(THE)f(PR)m -(OGRAM)i(PR)m(O)m(VE)f(DEFECTIVE,)g(YOU)g(ASSUME)f(THE)g(COST)330 -2174 y(OF)30 b(ALL)g(NECESSAR)-8 b(Y)30 b(SER)-10 b(VICING,)30 -b(REP)-8 b(AIR)30 b(OR)g(CORRECTION.)154 2308 y(12.)61 -b(IN)26 b(NO)g(EVENT)g(UNLESS)f(REQUIRED)h(BY)h(APPLICABLE)f(LA)-10 -b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN)330 2418 y(WRITING)37 -b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h(OTHER)f(P)-8 -b(AR)g(TY)38 b(WHO)330 2527 y(MA)-8 b(Y)52 b(MODIFY)g(AND/OR)g -(REDISTRIBUTE)e(THE)h(PR)m(OGRAM)h(AS)f(PERMITTED)330 -2637 y(ABO)m(VE,)40 b(BE)f(LIABLE)f(TO)g(YOU)h(F)m(OR)g(D)m(AMA)m(GES,) -h(INCLUDING)f(ANY)h(GENERAL,)330 2746 y(SPECIAL,)e(INCIDENT)-8 -b(AL)40 b(OR)e(CONSEQUENTIAL)g(D)m(AMA)m(GES)j(ARISING)e(OUT)g(OF)330 -2856 y(THE)44 b(USE)g(OR)g(INABILITY)h(TO)f(USE)g(THE)g(PR)m(OGRAM)h -(\(INCLUDING)h(BUT)e(NOT)330 2966 y(LIMITED)29 b(TO)g(LOSS)f(OF)h(D)m -(A)-8 b(T)g(A)31 b(OR)e(D)m(A)-8 b(T)g(A)31 b(BEING)f(RENDERED)g(INA)m -(CCURA)-8 b(TE)29 b(OR)330 3075 y(LOSSES)38 b(SUST)-8 -b(AINED)40 b(BY)h(YOU)f(OR)g(THIRD)g(P)-8 b(AR)g(TIES)40 -b(OR)g(A)h(F)-10 b(AILURE)40 b(OF)g(THE)330 3185 y(PR)m(OGRAM)f(TO)f -(OPERA)-8 b(TE)38 b(WITH)h(ANY)g(OTHER)f(PR)m(OGRAMS\),)h(EVEN)g(IF)f -(SUCH)330 3294 y(HOLDER)33 b(OR)h(OTHER)f(P)-8 b(AR)g(TY)34 -b(HAS)f(BEEN)h(AD)m(VISED)g(OF)g(THE)f(POSSIBILITY)f(OF)330 -3404 y(SUCH)e(D)m(AMA)m(GES.)150 3661 y Fr(END)45 b(OF)g(TERMS)f(AND)h -(CONDITIONS)p eop end +TeXDict begin 5 6 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(5)379 299 y(a.)61 b(Con)m(v)m(ey)32 b(the)f(ob)5 +b(ject)31 b(co)s(de)g(in,)g(or)g(em)m(b)s(o)s(died)f(in,)h(a)g(ph)m +(ysical)h(pro)s(duct)d(\(including)i(a)g(ph)m(ys-)510 +408 y(ical)37 b(distribution)d(medium\),)j(accompanied)f(b)m(y)f(the)h +(Corresp)s(onding)d(Source)j(\014xed)e(on)i(a)510 518 +y(durable)30 b(ph)m(ysical)h(medium)e(customarily)i(used)f(for)g(soft)m +(w)m(are)i(in)m(terc)m(hange.)374 655 y(b.)60 b(Con)m(v)m(ey)30 +b(the)f(ob)5 b(ject)30 b(co)s(de)f(in,)g(or)g(em)m(b)s(o)s(died)f(in,)h +(a)g(ph)m(ysical)g(pro)s(duct)f(\(including)h(a)g(ph)m(ysi-)510 +765 y(cal)k(distribution)e(medium\),)h(accompanied)h(b)m(y)e(a)i +(written)f(o\013er,)g(v)-5 b(alid)33 b(for)e(at)i(least)g(three)510 +874 y(y)m(ears)i(and)f(v)-5 b(alid)35 b(for)f(as)g(long)h(as)g(y)m(ou)g +(o\013er)f(spare)h(parts)f(or)g(customer)h(supp)s(ort)d(for)i(that)510 +984 y(pro)s(duct)c(mo)s(del,)i(to)g(giv)m(e)g(an)m(y)m(one)h(who)d(p)s +(ossesses)h(the)h(ob)5 b(ject)32 b(co)s(de)f(either)h(\(1\))g(a)g(cop)m +(y)g(of)510 1093 y(the)24 b(Corresp)s(onding)e(Source)i(for)g(all)h +(the)f(soft)m(w)m(are)h(in)f(the)g(pro)s(duct)f(that)i(is)f(co)m(v)m +(ered)h(b)m(y)f(this)510 1203 y(License,)30 b(on)g(a)f(durable)g(ph)m +(ysical)h(medium)e(customarily)i(used)f(for)g(soft)m(w)m(are)i(in)m +(terc)m(hange,)510 1313 y(for)k(a)g(price)h(no)f(more)g(than)g(y)m(our) +g(reasonable)h(cost)g(of)f(ph)m(ysically)h(p)s(erforming)e(this)h(con-) +510 1422 y(v)m(eying)f(of)f(source,)g(or)g(\(2\))h(access)g(to)g(cop)m +(y)f(the)g(Corresp)s(onding)e(Source)i(from)f(a)h(net)m(w)m(ork)510 +1532 y(serv)m(er)e(at)g(no)f(c)m(harge.)384 1669 y(c.)61 +b(Con)m(v)m(ey)40 b(individual)e(copies)h(of)g(the)g(ob)5 +b(ject)40 b(co)s(de)f(with)g(a)g(cop)m(y)g(of)g(the)g(written)g +(o\013er)g(to)510 1778 y(pro)m(vide)e(the)g(Corresp)s(onding)e(Source.) +59 b(This)36 b(alternativ)m(e)k(is)c(allo)m(w)m(ed)j(only)e(o)s +(ccasionally)510 1888 y(and)29 b(noncommercially)-8 b(,)31 +b(and)e(only)g(if)h(y)m(ou)f(receiv)m(ed)i(the)e(ob)5 +b(ject)31 b(co)s(de)e(with)g(suc)m(h)g(an)g(o\013er,)510 +1998 y(in)h(accord)h(with)f(subsection)h(6b.)374 2134 +y(d.)60 b(Con)m(v)m(ey)37 b(the)f(ob)5 b(ject)37 b(co)s(de)f(b)m(y)g +(o\013ering)g(access)i(from)d(a)i(designated)f(place)h(\(gratis)g(or)f +(for)510 2244 y(a)j(c)m(harge\),)k(and)c(o\013er)g(equiv)-5 +b(alen)m(t)41 b(access)f(to)g(the)f(Corresp)s(onding)e(Source)i(in)f +(the)i(same)510 2354 y(w)m(a)m(y)30 b(through)f(the)g(same)h(place)h +(at)f(no)f(further)f(c)m(harge.)41 b(Y)-8 b(ou)30 b(need)f(not)h +(require)f(recipien)m(ts)510 2463 y(to)42 b(cop)m(y)h(the)f(Corresp)s +(onding)e(Source)h(along)i(with)f(the)g(ob)5 b(ject)42 +b(co)s(de.)75 b(If)42 b(the)f(place)i(to)510 2573 y(cop)m(y)c(the)g(ob) +5 b(ject)39 b(co)s(de)g(is)g(a)g(net)m(w)m(ork)g(serv)m(er,)i(the)e +(Corresp)s(onding)e(Source)h(ma)m(y)h(b)s(e)f(on)510 +2682 y(a)45 b(di\013eren)m(t)g(serv)m(er)f(\(op)s(erated)h(b)m(y)f(y)m +(ou)h(or)g(a)f(third)g(part)m(y\))h(that)g(supp)s(orts)d(equiv)-5 +b(alen)m(t)510 2792 y(cop)m(ying)35 b(facilities,)i(pro)m(vided)c(y)m +(ou)h(main)m(tain)h(clear)g(directions)f(next)g(to)h(the)f(ob)5 +b(ject)35 b(co)s(de)510 2902 y(sa)m(ying)h(where)f(to)h(\014nd)d(the)i +(Corresp)s(onding)f(Source.)55 b(Regardless)35 b(of)h(what)f(serv)m(er) +g(hosts)510 3011 y(the)e(Corresp)s(onding)e(Source,)j(y)m(ou)f(remain)f +(obligated)j(to)e(ensure)f(that)i(it)f(is)g(a)m(v)-5 +b(ailable)35 b(for)510 3121 y(as)c(long)g(as)f(needed)g(to)h(satisfy)g +(these)g(requiremen)m(ts.)384 3258 y(e.)61 b(Con)m(v)m(ey)24 +b(the)g(ob)5 b(ject)24 b(co)s(de)f(using)g(p)s(eer-to-p)s(eer)h +(transmission,)g(pro)m(vided)f(y)m(ou)h(inform)f(other)510 +3367 y(p)s(eers)d(where)g(the)h(ob)5 b(ject)22 b(co)s(de)f(and)f +(Corresp)s(onding)f(Source)i(of)g(the)g(w)m(ork)g(are)g(b)s(eing)g +(o\013ered)510 3477 y(to)31 b(the)g(general)g(public)f(at)h(no)f(c)m +(harge)i(under)d(subsection)h(6d.)330 3641 y(A)35 b(separable)f(p)s +(ortion)g(of)h(the)g(ob)5 b(ject)35 b(co)s(de,)h(whose)e(source)h(co)s +(de)g(is)f(excluded)g(from)g(the)h(Cor-)330 3751 y(resp)s(onding)c +(Source)h(as)h(a)g(System)f(Library)-8 b(,)33 b(need)f(not)h(b)s(e)e +(included)h(in)g(con)m(v)m(eying)i(the)f(ob)5 b(ject)330 +3861 y(co)s(de)31 b(w)m(ork.)330 3998 y(A)h(\\User)g(Pro)s(duct")f(is)h +(either)g(\(1\))g(a)g(\\consumer)g(pro)s(duct",)f(whic)m(h)h(means)f +(an)m(y)h(tangible)h(p)s(er-)330 4107 y(sonal)g(prop)s(ert)m(y)g(whic)m +(h)f(is)h(normally)h(used)e(for)h(p)s(ersonal,)g(family)-8 +b(,)35 b(or)e(household)f(purp)s(oses,)g(or)330 4217 +y(\(2\))26 b(an)m(ything)f(designed)f(or)h(sold)g(for)f(incorp)s +(oration)h(in)m(to)h(a)f(dw)m(elling.)39 b(In)24 b(determining)h +(whether)330 4326 y(a)30 b(pro)s(duct)e(is)h(a)h(consumer)f(pro)s +(duct,)f(doubtful)h(cases)h(shall)g(b)s(e)e(resolv)m(ed)j(in)e(fa)m(v)m +(or)h(of)g(co)m(v)m(erage.)330 4436 y(F)-8 b(or)42 b(a)g(particular)g +(pro)s(duct)f(receiv)m(ed)i(b)m(y)e(a)h(particular)g(user,)i +(\\normally)f(used")e(refers)g(to)i(a)330 4545 y(t)m(ypical)e(or)e +(common)h(use)e(of)i(that)g(class)g(of)f(pro)s(duct,)h(regardless)g(of) +f(the)h(status)f(of)h(the)f(par-)330 4655 y(ticular)d(user)e(or)h(of)h +(the)f(w)m(a)m(y)h(in)f(whic)m(h)f(the)i(particular)f(user)g(actually)h +(uses,)g(or)f(exp)s(ects)h(or)f(is)330 4765 y(exp)s(ected)d(to)g(use,)g +(the)g(pro)s(duct.)43 b(A)32 b(pro)s(duct)f(is)g(a)h(consumer)f(pro)s +(duct)g(regardless)h(of)g(whether)330 4874 y(the)h(pro)s(duct)f(has)h +(substan)m(tial)g(commercial,)j(industrial)c(or)h(non-consumer)g(uses,) +g(unless)f(suc)m(h)330 4984 y(uses)e(represen)m(t)g(the)h(only)f +(signi\014can)m(t)i(mo)s(de)e(of)g(use)g(of)h(the)f(pro)s(duct.)330 +5121 y(\\Installation)h(Information")e(for)g(a)g(User)g(Pro)s(duct)f +(means)g(an)m(y)i(metho)s(ds,)e(pro)s(cedures,)g(autho-)330 +5230 y(rization)d(k)m(eys,)g(or)f(other)f(information)h(required)f(to)h +(install)g(and)f(execute)i(mo)s(di\014ed)d(v)m(ersions)i(of)g(a)330 +5340 y(co)m(v)m(ered)h(w)m(ork)e(in)g(that)h(User)f(Pro)s(duct)f(from)h +(a)h(mo)s(di\014ed)e(v)m(ersion)h(of)h(its)f(Corresp)s(onding)f +(Source.)p eop end %%Page: 6 8 -TeXDict begin 6 7 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h -(LICENSE)2052 b(6)150 299 y Fr(Ho)l(w)46 b(to)f(Apply)f(These)h(T)-11 -b(erms)45 b(to)g(Y)-11 b(our)44 b(New)i(Programs)275 -503 y Fs(If)38 b(y)m(ou)i(dev)m(elop)g(a)f(new)g(program,)j(and)c(y)m -(ou)i(w)m(an)m(t)g(it)f(to)h(b)s(e)f(of)g(the)h(greatest)h(p)s(ossible) -d(use)h(to)150 612 y(the)i(public,)i(the)f(b)s(est)e(w)m(a)m(y)i(to)g -(ac)m(hiev)m(e)h(this)e(is)g(to)h(mak)m(e)g(it)g(free)f(soft)m(w)m(are) -h(whic)m(h)f(ev)m(ery)m(one)i(can)150 722 y(redistribute)30 -b(and)g(c)m(hange)h(under)e(these)i(terms.)275 868 y(T)-8 -b(o)29 b(do)h(so,)g(attac)m(h)h(the)f(follo)m(wing)h(notices)f(to)h -(the)e(program.)40 b(It)30 b(is)g(safest)g(to)g(attac)m(h)h(them)f(to)g -(the)150 978 y(start)j(of)g(eac)m(h)h(source)e(\014le)h(to)g(most)g -(e\013ectiv)m(ely)j(con)m(v)m(ey)e(the)e(exclusion)i(of)e(w)m(arran)m -(t)m(y;)j(and)d(eac)m(h)i(\014le)150 1087 y(should)29 -b(ha)m(v)m(e)j(at)f(least)h(the)e(\\cop)m(yrigh)m(t")j(line)e(and)e(a)i -(p)s(oin)m(ter)g(to)g(where)f(the)g(full)g(notice)i(is)e(found.)390 -1227 y Fo(one)h(line)f(to)h(giv)m(e)h(the)f(program's)f(name)h(and)e -(an)i(idea)g(of)f(what)g(it)h(do)s(es.)390 1331 y Fn(Copyright)45 -b(\(C\))i Fo(y)m(ear)103 b(name)30 b(of)h(author)390 -1539 y Fn(This)47 b(program)e(is)j(free)e(software;)g(you)g(can)h -(redistribute)e(it)i(and/or)390 1642 y(modify)f(it)h(under)g(the)g -(terms)f(of)h(the)g(GNU)g(General)f(Public)g(License)390 -1746 y(as)h(published)e(by)j(the)f(Free)f(Software)g(Foundation;)e -(either)j(version)e(2)390 1850 y(of)i(the)g(License,)f(or)h(\(at)g -(your)f(option\))g(any)h(later)f(version.)390 2057 y(This)h(program)e -(is)j(distributed)c(in)k(the)e(hope)h(that)g(it)g(will)g(be)g(useful,) -390 2161 y(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)g(the)h -(implied)f(warranty)g(of)390 2265 y(MERCHANTABILITY)e(or)j(FITNESS)f -(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)390 -2369 y(GNU)g(General)f(Public)g(License)g(for)h(more)f(details.)390 -2576 y(You)h(should)f(have)h(received)e(a)j(copy)e(of)h(the)g(GNU)g -(General)f(Public)g(License)390 2680 y(along)g(with)h(this)g(program;)e -(if)i(not,)g(write)f(to)i(the)e(Free)h(Software)390 2784 -y(Foundation,)e(Inc.,)h(59)h(Temple)f(Place,)g(Suite)h(330,)f(Boston,)g -(MA)h(02111-1307,)e(USA.)275 2930 y Fs(Also)31 b(add)e(information)i -(on)f(ho)m(w)h(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g(electronic)j(and)d -(pap)s(er)f(mail.)275 3076 y(If)f(the)g(program)h(is)f(in)m(teractiv)m -(e,)k(mak)m(e)e(it)f(output)f(a)h(short)f(notice)i(lik)m(e)g(this)e -(when)g(it)h(starts)g(in)f(an)150 3185 y(in)m(teractiv)m(e)33 -b(mo)s(de:)390 3325 y Fn(Gnomovision)45 b(version)h(69,)g(Copyright)g -(\(C\))h Fo(y)m(ear)103 b(name)30 b(of)g(author)390 3429 -y Fn(Gnomovision)45 b(comes)h(with)h(ABSOLUTELY)e(NO)i(WARRANTY;)e(for) -i(details)390 3533 y(type)g(`show)f(w'.)95 b(This)46 -b(is)h(free)g(software,)e(and)i(you)g(are)g(welcome)390 -3637 y(to)g(redistribute)e(it)i(under)f(certain)g(conditions;)f(type)h -(`show)h(c')390 3740 y(for)g(details.)275 3886 y Fs(The)27 -b(h)m(yp)s(othetical)i(commands)f(`)p Fn(show)h(w)p Fs(')f(and)f(`)p -Fn(show)j(c)p Fs(')d(should)g(sho)m(w)h(the)g(appropriate)g(parts)g(of) -150 3996 y(the)38 b(General)h(Public)e(License.)64 b(Of)37 -b(course,)j(the)f(commands)e(y)m(ou)h(use)g(ma)m(y)g(b)s(e)f(called)i -(something)150 4106 y(other)25 b(than)f(`)p Fn(show)29 -b(w)p Fs(')c(and)f(`)p Fn(show)29 b(c)p Fs(';)e(they)d(could)h(ev)m(en) -g(b)s(e)f(mouse-clic)m(ks)i(or)f(men)m(u)f(items|whatev)m(er)150 -4215 y(suits)30 b(y)m(our)g(program.)275 4361 y(Y)-8 -b(ou)28 b(should)f(also)i(get)g(y)m(our)f(emplo)m(y)m(er)h(\(if)f(y)m -(ou)g(w)m(ork)g(as)h(a)f(programmer\))g(or)g(y)m(our)f(sc)m(ho)s(ol,)j -(if)e(an)m(y)-8 b(,)150 4471 y(to)34 b(sign)g(a)f(\\cop)m(yrigh)m(t)j -(disclaimer")e(for)g(the)f(program,)h(if)g(necessary)-8 -b(.)51 b(Here)34 b(is)f(a)h(sample;)h(alter)g(the)150 -4580 y(names:)390 4720 y Fn(Yoyodyne,)45 b(Inc.,)i(hereby)f(disclaims)f -(all)i(copyright)390 4824 y(interest)f(in)h(the)g(program)e -(`Gnomovision')390 4928 y(\(which)h(makes)g(passes)h(at)g(compilers\))e -(written)390 5032 y(by)i(James)g(Hacker.)390 5239 y Fo(signature)31 -b(of)f(T)m(y)h(Co)s(on)p Fn(,)47 b(1)g(April)g(1989)390 -5343 y(Ty)g(Coon,)g(President)e(of)i(Vice)p eop end +TeXDict begin 6 7 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(6)330 299 y(The)30 b(information)h(m)m(ust)f(su\016ce)g +(to)i(ensure)d(that)i(the)g(con)m(tin)m(ued)g(functioning)g(of)f(the)h +(mo)s(di\014ed)330 408 y(ob)5 b(ject)34 b(co)s(de)f(is)g(in)f(no)h +(case)h(prev)m(en)m(ted)f(or)g(in)m(terfered)g(with)g(solely)h(b)s +(ecause)f(mo)s(di\014cation)g(has)330 518 y(b)s(een)d(made.)330 +650 y(If)38 b(y)m(ou)i(con)m(v)m(ey)g(an)f(ob)5 b(ject)40 +b(co)s(de)f(w)m(ork)g(under)e(this)i(section)h(in,)h(or)e(with,)i(or)e +(sp)s(eci\014cally)g(for)330 759 y(use)g(in,)i(a)e(User)g(Pro)s(duct,)i +(and)e(the)g(con)m(v)m(eying)i(o)s(ccurs)d(as)i(part)f(of)g(a)g +(transaction)h(in)f(whic)m(h)330 869 y(the)d(righ)m(t)g(of)g(p)s +(ossession)f(and)g(use)h(of)f(the)h(User)g(Pro)s(duct)f(is)g +(transferred)g(to)i(the)e(recipien)m(t)i(in)330 978 y(p)s(erp)s(etuit)m +(y)43 b(or)g(for)g(a)h(\014xed)e(term)i(\(regardless)g(of)f(ho)m(w)h +(the)f(transaction)i(is)e(c)m(haracterized\),)330 1088 +y(the)c(Corresp)s(onding)e(Source)i(con)m(v)m(ey)m(ed)i(under)c(this)i +(section)h(m)m(ust)f(b)s(e)f(accompanied)i(b)m(y)f(the)330 +1198 y(Installation)d(Information.)52 b(But)35 b(this)f(requiremen)m(t) +g(do)s(es)g(not)h(apply)f(if)g(neither)g(y)m(ou)h(nor)f(an)m(y)330 +1307 y(third)28 b(part)m(y)i(retains)f(the)g(abilit)m(y)i(to)e(install) +h(mo)s(di\014ed)e(ob)5 b(ject)30 b(co)s(de)f(on)g(the)h(User)f(Pro)s +(duct)f(\(for)330 1417 y(example,)j(the)g(w)m(ork)f(has)g(b)s(een)g +(installed)h(in)f(R)m(OM\).)330 1548 y(The)38 b(requiremen)m(t)g(to)h +(pro)m(vide)g(Installation)g(Information)g(do)s(es)f(not)g(include)g(a) +h(requiremen)m(t)330 1658 y(to)32 b(con)m(tin)m(ue)h(to)f(pro)m(vide)g +(supp)s(ort)e(service,)j(w)m(arran)m(t)m(y)-8 b(,)33 +b(or)f(up)s(dates)e(for)i(a)g(w)m(ork)f(that)h(has)g(b)s(een)330 +1767 y(mo)s(di\014ed)37 b(or)h(installed)h(b)m(y)g(the)f(recipien)m(t,) +k(or)c(for)g(the)g(User)h(Pro)s(duct)e(in)h(whic)m(h)g(it)h(has)f(b)s +(een)330 1877 y(mo)s(di\014ed)29 b(or)h(installed.)42 +b(Access)31 b(to)g(a)g(net)m(w)m(ork)g(ma)m(y)g(b)s(e)e(denied)h(when)f +(the)i(mo)s(di\014cation)f(itself)330 1987 y(materially)i(and)e(adv)m +(ersely)h(a\013ects)h(the)e(op)s(eration)h(of)g(the)f(net)m(w)m(ork)h +(or)g(violates)h(the)f(rules)f(and)330 2096 y(proto)s(cols)h(for)f +(comm)m(unication)i(across)f(the)g(net)m(w)m(ork.)330 +2228 y(Corresp)s(onding)26 b(Source)h(con)m(v)m(ey)m(ed,)j(and)d +(Installation)i(Information)f(pro)m(vided,)g(in)f(accord)h(with)330 +2337 y(this)d(section)i(m)m(ust)e(b)s(e)g(in)g(a)h(format)g(that)f(is)h +(publicly)f(do)s(cumen)m(ted)g(\(and)g(with)g(an)h(implemen)m(ta-)330 +2447 y(tion)i(a)m(v)-5 b(ailable)29 b(to)f(the)g(public)e(in)h(source)h +(co)s(de)f(form\),)h(and)f(m)m(ust)g(require)g(no)g(sp)s(ecial)h(passw) +m(ord)330 2556 y(or)i(k)m(ey)i(for)e(unpac)m(king,)g(reading)h(or)f +(cop)m(ying.)199 2688 y(7.)61 b(Additional)31 b(T)-8 +b(erms.)330 2819 y(\\Additional)29 b(p)s(ermissions")e(are)h(terms)f +(that)h(supplemen)m(t)f(the)h(terms)g(of)f(this)h(License)g(b)m(y)g +(mak-)330 2929 y(ing)41 b(exceptions)h(from)e(one)h(or)g(more)g(of)g +(its)g(conditions.)72 b(Additional)42 b(p)s(ermissions)d(that)j(are)330 +3039 y(applicable)31 b(to)f(the)g(en)m(tire)h(Program)f(shall)g(b)s(e)f +(treated)i(as)f(though)f(they)h(w)m(ere)h(included)e(in)g(this)330 +3148 y(License,)36 b(to)e(the)g(exten)m(t)i(that)e(they)g(are)g(v)-5 +b(alid)34 b(under)f(applicable)i(la)m(w.)52 b(If)33 b(additional)i(p)s +(ermis-)330 3258 y(sions)27 b(apply)h(only)f(to)h(part)g(of)f(the)h +(Program,)h(that)f(part)f(ma)m(y)h(b)s(e)f(used)g(separately)h(under)e +(those)330 3367 y(p)s(ermissions,)31 b(but)g(the)h(en)m(tire)h(Program) +f(remains)f(go)m(v)m(erned)i(b)m(y)f(this)g(License)g(without)g(regard) +330 3477 y(to)f(the)g(additional)g(p)s(ermissions.)330 +3608 y(When)45 b(y)m(ou)g(con)m(v)m(ey)i(a)e(cop)m(y)h(of)f(a)g(co)m(v) +m(ered)i(w)m(ork,)h(y)m(ou)e(ma)m(y)f(at)h(y)m(our)f(option)g(remo)m(v) +m(e)i(an)m(y)330 3718 y(additional)30 b(p)s(ermissions)e(from)h(that)h +(cop)m(y)-8 b(,)31 b(or)f(from)e(an)m(y)i(part)f(of)h(it.)41 +b(\(Additional)30 b(p)s(ermissions)330 3828 y(ma)m(y)41 +b(b)s(e)f(written)g(to)h(require)f(their)h(o)m(wn)f(remo)m(v)-5 +b(al)42 b(in)e(certain)h(cases)g(when)f(y)m(ou)g(mo)s(dify)g(the)330 +3937 y(w)m(ork.\))48 b(Y)-8 b(ou)33 b(ma)m(y)g(place)h(additional)f(p)s +(ermissions)e(on)i(material,)i(added)d(b)m(y)g(y)m(ou)h(to)g(a)g(co)m +(v)m(ered)330 4047 y(w)m(ork,)e(for)f(whic)m(h)g(y)m(ou)h(ha)m(v)m(e)g +(or)g(can)f(giv)m(e)i(appropriate)f(cop)m(yrigh)m(t)g(p)s(ermission.) +330 4178 y(Not)m(withstanding)e(an)m(y)g(other)g(pro)m(vision)f(of)h +(this)f(License,)h(for)f(material)i(y)m(ou)f(add)f(to)h(a)f(co)m(v)m +(ered)330 4288 y(w)m(ork,)40 b(y)m(ou)e(ma)m(y)g(\(if)g(authorized)g(b) +m(y)g(the)g(cop)m(yrigh)m(t)h(holders)e(of)h(that)g(material\))h +(supplemen)m(t)330 4398 y(the)31 b(terms)f(of)g(this)h(License)g(with)f +(terms:)379 4529 y(a.)61 b(Disclaiming)31 b(w)m(arran)m(t)m(y)f(or)g +(limiting)g(liabilit)m(y)h(di\013eren)m(tly)f(from)f(the)g(terms)g(of)h +(sections)g(15)510 4639 y(and)g(16)h(of)g(this)f(License;)h(or)374 +4770 y(b.)60 b(Requiring)30 b(preserv)-5 b(ation)31 b(of)g(sp)s +(eci\014ed)f(reasonable)h(legal)i(notices)f(or)e(author)h(attributions) +510 4880 y(in)24 b(that)i(material)g(or)f(in)f(the)h(Appropriate)g +(Legal)h(Notices)h(displa)m(y)m(ed)e(b)m(y)g(w)m(orks)f(con)m(taining) +510 4989 y(it;)31 b(or)384 5121 y(c.)61 b(Prohibiting)23 +b(misrepresen)m(tation)i(of)e(the)h(origin)g(of)f(that)i(material,)h +(or)d(requiring)g(that)h(mo)s(d-)510 5230 y(i\014ed)30 +b(v)m(ersions)h(of)f(suc)m(h)g(material)i(b)s(e)e(mark)m(ed)h(in)f +(reasonable)h(w)m(a)m(ys)g(as)g(di\013eren)m(t)g(from)f(the)510 +5340 y(original)i(v)m(ersion;)f(or)p eop end %%Page: 7 9 -TeXDict begin 7 8 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h -(LICENSE)2052 b(7)275 299 y(This)20 b(General)h(Public)g(License)g(do)s -(es)g(not)g(p)s(ermit)f(incorp)s(orating)h(y)m(our)g(program)f(in)m(to) -i(proprietary)150 408 y(programs.)38 b(If)22 b(y)m(our)h(program)f(is)h -(a)g(subroutine)f(library)-8 b(,)25 b(y)m(ou)e(ma)m(y)g(consider)g(it)g -(more)g(useful)f(to)i(p)s(ermit)150 518 y(linking)36 -b(proprietary)g(applications)i(with)e(the)g(library)-8 -b(.)59 b(If)35 b(this)i(is)f(what)g(y)m(ou)h(w)m(an)m(t)g(to)g(do,)h -(use)e(the)150 628 y(GNU)31 b(Library)f(General)h(Public)f(License)h -(instead)f(of)h(this)f(License.)p eop end +TeXDict begin 7 8 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(7)374 299 y(d.)60 b(Limiting)42 b(the)f(use)g(for)g +(publicit)m(y)h(purp)s(oses)d(of)i(names)g(of)h(licensors)f(or)h +(authors)e(of)i(the)510 408 y(material;)32 b(or)384 543 +y(e.)61 b(Declining)29 b(to)f(gran)m(t)g(righ)m(ts)f(under)f(trademark) +h(la)m(w)h(for)f(use)g(of)g(some)h(trade)f(names,)h(trade-)510 +653 y(marks,)i(or)h(service)g(marks;)f(or)397 788 y(f.)60 +b(Requiring)26 b(indemni\014cation)g(of)g(licensors)h(and)f(authors)f +(of)i(that)f(material)i(b)m(y)e(an)m(y)m(one)h(who)510 +897 y(con)m(v)m(eys)45 b(the)e(material)h(\(or)g(mo)s(di\014ed)e(v)m +(ersions)h(of)h(it\))g(with)e(con)m(tractual)k(assumptions)510 +1007 y(of)40 b(liabilit)m(y)h(to)f(the)f(recipien)m(t,)k(for)c(an)m(y)h +(liabilit)m(y)h(that)f(these)g(con)m(tractual)i(assumptions)510 +1117 y(directly)31 b(imp)s(ose)f(on)g(those)h(licensors)g(and)f +(authors.)330 1277 y(All)i(other)h(non-p)s(ermissiv)m(e)e(additional)i +(terms)e(are)i(considered)e(\\further)g(restrictions")i(within)330 +1386 y(the)j(meaning)f(of)h(section)g(10.)57 b(If)35 +b(the)h(Program)f(as)h(y)m(ou)g(receiv)m(ed)g(it,)i(or)d(an)m(y)h(part) +f(of)h(it,)h(con-)330 1496 y(tains)f(a)g(notice)h(stating)g(that)f(it)g +(is)g(go)m(v)m(erned)h(b)m(y)e(this)h(License)g(along)h(with)e(a)h +(term)g(that)g(is)g(a)330 1606 y(further)24 b(restriction,)k(y)m(ou)e +(ma)m(y)g(remo)m(v)m(e)h(that)f(term.)39 b(If)26 b(a)g(license)g(do)s +(cumen)m(t)g(con)m(tains)g(a)g(further)330 1715 y(restriction)33 +b(but)f(p)s(ermits)g(relicensing)h(or)g(con)m(v)m(eying)h(under)d(this) +i(License,)g(y)m(ou)g(ma)m(y)g(add)f(to)i(a)330 1825 +y(co)m(v)m(ered)g(w)m(ork)e(material)h(go)m(v)m(erned)h(b)m(y)e(the)g +(terms)g(of)g(that)h(license)g(do)s(cumen)m(t,)g(pro)m(vided)e(that)330 +1934 y(the)g(further)e(restriction)i(do)s(es)f(not)h(surviv)m(e)f(suc)m +(h)g(relicensing)h(or)g(con)m(v)m(eying.)330 2069 y(If)f(y)m(ou)g(add)g +(terms)g(to)h(a)g(co)m(v)m(ered)h(w)m(ork)e(in)g(accord)h(with)f(this)g +(section,)i(y)m(ou)e(m)m(ust)g(place,)i(in)e(the)330 +2179 y(relev)-5 b(an)m(t)31 b(source)f(\014les,)g(a)g(statemen)m(t)h +(of)f(the)g(additional)g(terms)g(that)g(apply)f(to)i(those)f(\014les,)g +(or)g(a)330 2288 y(notice)i(indicating)f(where)f(to)h(\014nd)e(the)h +(applicable)i(terms.)330 2423 y(Additional)37 b(terms,)h(p)s(ermissiv)m +(e)e(or)h(non-p)s(ermissiv)m(e,)h(ma)m(y)f(b)s(e)e(stated)j(in)e(the)h +(form)f(of)g(a)h(sep-)330 2533 y(arately)i(written)f(license,)i(or)e +(stated)h(as)e(exceptions;)43 b(the)38 b(ab)s(o)m(v)m(e)h(requiremen)m +(ts)e(apply)g(either)330 2642 y(w)m(a)m(y)-8 b(.)199 +2777 y(8.)61 b(T)-8 b(ermination.)330 2912 y(Y)g(ou)40 +b(ma)m(y)g(not)f(propagate)i(or)e(mo)s(dify)g(a)g(co)m(v)m(ered)i(w)m +(ork)f(except)g(as)g(expressly)f(pro)m(vided)g(un-)330 +3022 y(der)d(this)h(License.)62 b(An)m(y)37 b(attempt)h(otherwise)f(to) +h(propagate)g(or)f(mo)s(dify)f(it)i(is)f(v)m(oid,)i(and)e(will)330 +3131 y(automatically)g(terminate)d(y)m(our)g(righ)m(ts)g(under)f(this)g +(License)i(\(including)e(an)m(y)h(paten)m(t)h(licenses)330 +3241 y(gran)m(ted)c(under)e(the)h(third)g(paragraph)g(of)g(section)i +(11\).)330 3376 y(Ho)m(w)m(ev)m(er,)j(if)e(y)m(ou)f(cease)i(all)f +(violation)i(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f +(a)h(particular)330 3485 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h +(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g +(cop)m(yrigh)m(t)h(holder)330 3595 y(explicitly)42 b(and)e(\014nally)h +(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8 +b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 3705 y(holder)34 +b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h +(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 3814 +y(after)31 b(the)f(cessation.)330 3949 y(Moreo)m(v)m(er,)k(y)m(our)d +(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h +(reinstated)g(p)s(ermanen)m(tly)f(if)330 4059 y(the)d(cop)m(yrigh)m(t)h +(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g +(reasonable)h(means,)f(this)g(is)g(the)330 4168 y(\014rst)f(time)i(y)m +(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f +(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330 +4278 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g +(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h +(of)f(the)330 4387 y(notice.)330 4522 y(T)-8 b(ermination)28 +b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h +(terminate)h(the)e(licenses)i(of)f(parties)330 4632 y(who)38 +b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g +(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e) +330 4741 y(b)s(een)f(terminated)h(and)e(not)i(p)s(ermanen)m(tly)f +(reinstated,)j(y)m(ou)e(do)f(not)h(qualify)f(to)h(receiv)m(e)h(new)330 +4851 y(licenses)31 b(for)f(the)h(same)g(material)h(under)c(section)k +(10.)199 4986 y(9.)61 b(Acceptance)32 b(Not)g(Required)d(for)i(Ha)m +(ving)g(Copies.)330 5121 y(Y)-8 b(ou)38 b(are)g(not)g(required)f(to)h +(accept)h(this)f(License)g(in)f(order)g(to)h(receiv)m(e)i(or)e(run)e(a) +i(cop)m(y)g(of)g(the)330 5230 y(Program.)i(Ancillary)27 +b(propagation)g(of)g(a)g(co)m(v)m(ered)h(w)m(ork)e(o)s(ccurring)g +(solely)i(as)f(a)g(consequence)g(of)330 5340 y(using)i(p)s(eer-to-p)s +(eer)g(transmission)g(to)h(receiv)m(e)h(a)e(cop)m(y)h(lik)m(ewise)h(do) +s(es)d(not)i(require)e(acceptance.)p eop end %%Page: 8 10 -TeXDict begin 8 9 bop 150 -116 a Fs(Con)m(tributors)30 -b(to)h(GNU)g Fn(gperf)e Fs(Utilit)m(y)2140 b(8)150 299 -y Fp(Con)l(tributors)50 b(to)j(GNU)h Fm(gperf)f Fp(Utilit)l(y)225 -533 y Fq(\017)60 b Fs(The)45 b(GNU)h Fn(gperf)d Fs(p)s(erfect)j(hash)e +TeXDict begin 8 9 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(8)330 299 y(Ho)m(w)m(ev)m(er,)28 b(nothing)c(other)g +(than)g(this)f(License)i(gran)m(ts)g(y)m(ou)f(p)s(ermission)f(to)i +(propagate)g(or)f(mo)s(dify)330 408 y(an)m(y)34 b(co)m(v)m(ered)g(w)m +(ork.)50 b(These)32 b(actions)j(infringe)e(cop)m(yrigh)m(t)h(if)f(y)m +(ou)h(do)f(not)g(accept)i(this)e(License.)330 518 y(Therefore,)f(b)m(y) +f(mo)s(difying)g(or)g(propagating)h(a)g(co)m(v)m(ered)h(w)m(ork,)f(y)m +(ou)g(indicate)g(y)m(our)g(acceptance)330 628 y(of)f(this)f(License)h +(to)g(do)f(so.)154 759 y(10.)61 b(Automatic)32 b(Licensing)f(of)f(Do)m +(wnstream)i(Recipien)m(ts.)330 891 y(Eac)m(h)39 b(time)g(y)m(ou)g(con)m +(v)m(ey)h(a)f(co)m(v)m(ered)h(w)m(ork,)h(the)d(recipien)m(t)i +(automatically)h(receiv)m(es)f(a)f(license)330 1000 y(from)e(the)h +(original)h(licensors,)h(to)f(run,)f(mo)s(dify)f(and)g(propagate)i +(that)f(w)m(ork,)i(sub)5 b(ject)38 b(to)g(this)330 1110 +y(License.)60 b(Y)-8 b(ou)38 b(are)f(not)g(resp)s(onsible)e(for)i +(enforcing)g(compliance)h(b)m(y)f(third)f(parties)h(with)f(this)330 +1219 y(License.)330 1351 y(An)43 b(\\en)m(tit)m(y)i(transaction")g(is)f +(a)f(transaction)i(transferring)e(con)m(trol)h(of)g(an)f(organization,) +49 b(or)330 1461 y(substan)m(tially)24 b(all)f(assets)g(of)g(one,)i(or) +e(sub)s(dividing)d(an)j(organization,)j(or)d(merging)g(organizations.) +330 1570 y(If)28 b(propagation)i(of)f(a)h(co)m(v)m(ered)g(w)m(ork)f +(results)g(from)f(an)h(en)m(tit)m(y)i(transaction,)f(eac)m(h)g(part)m +(y)g(to)f(that)330 1680 y(transaction)g(who)d(receiv)m(es)k(a)d(cop)m +(y)i(of)e(the)h(w)m(ork)f(also)i(receiv)m(es)g(whatev)m(er)f(licenses)g +(to)g(the)g(w)m(ork)330 1789 y(the)d(part)m(y's)g(predecessor)g(in)g +(in)m(terest)h(had)e(or)h(could)g(giv)m(e)h(under)e(the)h(previous)f +(paragraph,)i(plus)330 1899 y(a)31 b(righ)m(t)g(to)h(p)s(ossession)e +(of)h(the)g(Corresp)s(onding)e(Source)i(of)g(the)f(w)m(ork)h(from)g +(the)g(predecessor)f(in)330 2008 y(in)m(terest,)i(if)e(the)h +(predecessor)f(has)g(it)h(or)f(can)h(get)h(it)e(with)h(reasonable)g +(e\013orts.)330 2140 y(Y)-8 b(ou)36 b(ma)m(y)g(not)g(imp)s(ose)f(an)m +(y)h(further)e(restrictions)j(on)e(the)h(exercise)g(of)g(the)g(righ)m +(ts)g(gran)m(ted)g(or)330 2250 y(a\016rmed)27 b(under)f(this)h +(License.)40 b(F)-8 b(or)28 b(example,)h(y)m(ou)f(ma)m(y)g(not)g(imp)s +(ose)f(a)h(license)g(fee,)h(ro)m(y)m(alt)m(y)-8 b(,)31 +b(or)330 2359 y(other)d(c)m(harge)g(for)g(exercise)h(of)e(righ)m(ts)h +(gran)m(ted)g(under)e(this)i(License,)h(and)d(y)m(ou)i(ma)m(y)g(not)g +(initiate)330 2469 y(litigation)f(\(including)d(a)g(cross-claim)i(or)e +(coun)m(terclaim)i(in)e(a)g(la)m(wsuit\))i(alleging)g(that)e(an)m(y)h +(paten)m(t)330 2578 y(claim)j(is)g(infringed)e(b)m(y)i(making,)g +(using,)g(selling,)h(o\013ering)f(for)f(sale,)i(or)e(imp)s(orting)g +(the)h(Program)330 2688 y(or)i(an)m(y)h(p)s(ortion)f(of)h(it.)154 +2819 y(11.)61 b(P)m(aten)m(ts.)330 2951 y(A)41 b(\\con)m(tributor")h +(is)f(a)g(cop)m(yrigh)m(t)i(holder)d(who)h(authorizes)g(use)g(under)e +(this)i(License)h(of)f(the)330 3061 y(Program)35 b(or)f(a)h(w)m(ork)g +(on)f(whic)m(h)g(the)h(Program)f(is)h(based.)53 b(The)34 +b(w)m(ork)g(th)m(us)g(licensed)h(is)g(called)330 3170 +y(the)c(con)m(tributor's)f(\\con)m(tributor)i(v)m(ersion".)330 +3302 y(A)g(con)m(tributor's)g(\\essen)m(tial)i(paten)m(t)e(claims")h +(are)f(all)h(paten)m(t)f(claims)h(o)m(wned)e(or)h(con)m(trolled)h(b)m +(y)330 3411 y(the)21 b(con)m(tributor,)j(whether)d(already)g(acquired)g +(or)h(hereafter)f(acquired,)j(that)d(w)m(ould)g(b)s(e)g(infringed)330 +3521 y(b)m(y)27 b(some)h(manner,)g(p)s(ermitted)f(b)m(y)g(this)h +(License,)h(of)e(making,)i(using,)f(or)f(selling)i(its)f(con)m +(tributor)330 3630 y(v)m(ersion,)40 b(but)c(do)i(not)f(include)g +(claims)i(that)f(w)m(ould)f(b)s(e)f(infringed)h(only)g(as)h(a)g +(consequence)g(of)330 3740 y(further)33 b(mo)s(di\014cation)h(of)g(the) +g(con)m(tributor)g(v)m(ersion.)52 b(F)-8 b(or)34 b(purp)s(oses)e(of)i +(this)g(de\014nition,)h(\\con-)330 3850 y(trol")40 b(includes)f(the)g +(righ)m(t)h(to)f(gran)m(t)h(paten)m(t)g(sublicenses)f(in)g(a)g(manner)g +(consisten)m(t)h(with)f(the)330 3959 y(requiremen)m(ts)30 +b(of)h(this)f(License.)330 4091 y(Eac)m(h)44 b(con)m(tributor)h(gran)m +(ts)f(y)m(ou)g(a)h(non-exclusiv)m(e,)j(w)m(orldwide,)f(ro)m(y)m(alt)m +(y-free)g(paten)m(t)e(license)330 4200 y(under)26 b(the)h(con)m +(tributor's)g(essen)m(tial)i(paten)m(t)f(claims,)h(to)f(mak)m(e,)h +(use,)f(sell,)g(o\013er)g(for)f(sale,)i(imp)s(ort)330 +4310 y(and)h(otherwise)h(run,)e(mo)s(dify)g(and)h(propagate)i(the)e +(con)m(ten)m(ts)i(of)f(its)g(con)m(tributor)f(v)m(ersion.)330 +4441 y(In)e(the)h(follo)m(wing)h(three)e(paragraphs,)h(a)g(\\paten)m(t) +h(license")g(is)e(an)m(y)h(express)f(agreemen)m(t)j(or)d(com-)330 +4551 y(mitmen)m(t,)g(ho)m(w)m(ev)m(er)g(denominated,)f(not)f(to)h +(enforce)g(a)f(paten)m(t)i(\(suc)m(h)e(as)g(an)g(express)g(p)s +(ermission)330 4661 y(to)32 b(practice)h(a)f(paten)m(t)h(or)e(co)m(v)m +(enan)m(t)j(not)e(to)g(sue)f(for)h(paten)m(t)g(infringemen)m(t\).)45 +b(T)-8 b(o)32 b(\\gran)m(t")h(suc)m(h)330 4770 y(a)i(paten)m(t)h +(license)f(to)h(a)f(part)m(y)g(means)f(to)i(mak)m(e)f(suc)m(h)g(an)f +(agreemen)m(t)j(or)d(commitmen)m(t)i(not)f(to)330 4880 +y(enforce)c(a)g(paten)m(t)g(against)h(the)e(part)m(y)-8 +b(.)330 5011 y(If)36 b(y)m(ou)h(con)m(v)m(ey)h(a)f(co)m(v)m(ered)h(w)m +(ork,)h(kno)m(wingly)e(relying)g(on)f(a)h(paten)m(t)h(license,)h(and)d +(the)h(Corre-)330 5121 y(sp)s(onding)21 b(Source)h(of)h(the)g(w)m(ork)g +(is)f(not)h(a)m(v)-5 b(ailable)25 b(for)e(an)m(y)m(one)g(to)h(cop)m(y) +-8 b(,)25 b(free)e(of)g(c)m(harge)g(and)f(under)330 5230 +y(the)32 b(terms)f(of)h(this)f(License,)i(through)e(a)h(publicly)f(a)m +(v)-5 b(ailable)34 b(net)m(w)m(ork)e(serv)m(er)g(or)g(other)g(readily) +330 5340 y(accessible)38 b(means,)g(then)e(y)m(ou)h(m)m(ust)f(either)h +(\(1\))h(cause)e(the)h(Corresp)s(onding)e(Source)h(to)h(b)s(e)f(so)p +eop end +%%Page: 9 11 +TeXDict begin 9 10 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2052 b(9)330 299 y(a)m(v)-5 b(ailable,)32 b(or)e(\(2\))g +(arrange)g(to)h(depriv)m(e)e(y)m(ourself)h(of)g(the)g(b)s(ene\014t)e +(of)i(the)g(paten)m(t)g(license)h(for)e(this)330 408 +y(particular)35 b(w)m(ork,)g(or)f(\(3\))i(arrange,)g(in)d(a)i(manner)e +(consisten)m(t)j(with)e(the)g(requiremen)m(ts)h(of)f(this)330 +518 y(License,)j(to)f(extend)g(the)f(paten)m(t)h(license)h(to)f(do)m +(wnstream)f(recipien)m(ts.)56 b(\\Kno)m(wingly)36 b(relying")330 +628 y(means)31 b(y)m(ou)h(ha)m(v)m(e)g(actual)h(kno)m(wledge)f(that,)g +(but)f(for)g(the)g(paten)m(t)i(license,)f(y)m(our)g(con)m(v)m(eying)h +(the)330 737 y(co)m(v)m(ered)40 b(w)m(ork)e(in)g(a)g(coun)m(try)-8 +b(,)41 b(or)e(y)m(our)f(recipien)m(t's)h(use)f(of)g(the)h(co)m(v)m +(ered)g(w)m(ork)g(in)e(a)i(coun)m(try)-8 b(,)330 847 +y(w)m(ould)35 b(infringe)g(one)g(or)g(more)g(iden)m(ti\014able)h(paten) +m(ts)g(in)f(that)h(coun)m(try)f(that)h(y)m(ou)f(ha)m(v)m(e)i(reason)330 +956 y(to)31 b(b)s(eliev)m(e)h(are)e(v)-5 b(alid.)330 +1121 y(If,)31 b(pursuan)m(t)e(to)j(or)e(in)h(connection)h(with)e(a)h +(single)h(transaction)g(or)f(arrangemen)m(t,)h(y)m(ou)f(con)m(v)m(ey)-8 +b(,)330 1230 y(or)35 b(propagate)h(b)m(y)e(pro)s(curing)g(con)m(v)m(ey) +m(ance)j(of,)g(a)e(co)m(v)m(ered)h(w)m(ork,)g(and)f(gran)m(t)g(a)g +(paten)m(t)h(license)330 1340 y(to)c(some)f(of)h(the)f(parties)h +(receiving)g(the)f(co)m(v)m(ered)i(w)m(ork)e(authorizing)h(them)f(to)h +(use,)g(propagate,)330 1450 y(mo)s(dify)26 b(or)h(con)m(v)m(ey)h(a)g +(sp)s(eci\014c)e(cop)m(y)i(of)f(the)g(co)m(v)m(ered)i(w)m(ork,)f(then)e +(the)h(paten)m(t)h(license)g(y)m(ou)f(gran)m(t)330 1559 +y(is)j(automatically)k(extended)c(to)h(all)g(recipien)m(ts)h(of)e(the)h +(co)m(v)m(ered)h(w)m(ork)e(and)g(w)m(orks)g(based)g(on)h(it.)330 +1724 y(A)d(paten)m(t)g(license)h(is)e(\\discriminatory")i(if)e(it)h(do) +s(es)f(not)h(include)f(within)g(the)h(scop)s(e)f(of)h(its)g(co)m(v)m +(er-)330 1833 y(age,)f(prohibits)c(the)h(exercise)h(of,)h(or)d(is)h +(conditioned)h(on)f(the)g(non-exercise)h(of)f(one)g(or)g(more)g(of)g +(the)330 1943 y(righ)m(ts)32 b(that)g(are)g(sp)s(eci\014cally)h(gran)m +(ted)f(under)e(this)i(License.)45 b(Y)-8 b(ou)32 b(ma)m(y)g(not)g(con)m +(v)m(ey)h(a)f(co)m(v)m(ered)330 2052 y(w)m(ork)d(if)g(y)m(ou)g(are)h(a) +f(part)m(y)g(to)h(an)f(arrangemen)m(t)h(with)e(a)i(third)e(part)m(y)h +(that)g(is)g(in)g(the)g(business)f(of)330 2162 y(distributing)i(soft)m +(w)m(are,)i(under)d(whic)m(h)h(y)m(ou)h(mak)m(e)g(pa)m(ymen)m(t)g(to)g +(the)g(third)f(part)m(y)g(based)g(on)h(the)330 2271 y(exten)m(t)f(of)g +(y)m(our)f(activit)m(y)i(of)e(con)m(v)m(eying)i(the)e(w)m(ork,)h(and)e +(under)g(whic)m(h)g(the)i(third)e(part)m(y)h(gran)m(ts,)330 +2381 y(to)35 b(an)m(y)g(of)f(the)h(parties)f(who)g(w)m(ould)g(receiv)m +(e)i(the)f(co)m(v)m(ered)h(w)m(ork)e(from)g(y)m(ou,)i(a)f +(discriminatory)330 2491 y(paten)m(t)g(license)h(\(a\))f(in)f +(connection)h(with)f(copies)h(of)g(the)f(co)m(v)m(ered)i(w)m(ork)f(con) +m(v)m(ey)m(ed)h(b)m(y)e(y)m(ou)h(\(or)330 2600 y(copies)k(made)e(from)h +(those)g(copies\),)j(or)d(\(b\))g(primarily)f(for)h(and)f(in)h +(connection)h(with)e(sp)s(eci\014c)330 2710 y(pro)s(ducts)32 +b(or)i(compilations)h(that)f(con)m(tain)h(the)f(co)m(v)m(ered)i(w)m +(ork,)e(unless)f(y)m(ou)h(en)m(tered)h(in)m(to)f(that)330 +2819 y(arrangemen)m(t,)e(or)e(that)h(paten)m(t)g(license)h(w)m(as)e +(gran)m(ted,)i(prior)d(to)j(28)f(Marc)m(h)g(2007.)330 +2984 y(Nothing)23 b(in)e(this)h(License)h(shall)f(b)s(e)f(construed)h +(as)g(excluding)g(or)g(limiting)h(an)m(y)f(implied)g(license)h(or)330 +3093 y(other)k(defenses)f(to)h(infringemen)m(t)g(that)g(ma)m(y)g +(otherwise)g(b)s(e)e(a)m(v)-5 b(ailable)29 b(to)e(y)m(ou)g(under)e +(applicable)330 3203 y(paten)m(t)31 b(la)m(w.)154 3367 +y(12.)61 b(No)31 b(Surrender)d(of)i(Others')g(F)-8 b(reedom.)330 +3532 y(If)24 b(conditions)g(are)h(imp)s(osed)f(on)g(y)m(ou)g(\(whether) +g(b)m(y)g(court)h(order,)g(agreemen)m(t)h(or)e(otherwise\))h(that)330 +3641 y(con)m(tradict)35 b(the)f(conditions)h(of)e(this)h(License,)h +(they)f(do)g(not)g(excuse)g(y)m(ou)g(from)g(the)f(conditions)330 +3751 y(of)k(this)f(License.)59 b(If)36 b(y)m(ou)h(cannot)g(con)m(v)m +(ey)h(a)e(co)m(v)m(ered)i(w)m(ork)f(so)g(as)f(to)h(satisfy)g(sim)m +(ultaneously)330 3861 y(y)m(our)44 b(obligations)i(under)c(this)i +(License)h(and)e(an)m(y)i(other)f(p)s(ertinen)m(t)g(obligations,)49 +b(then)44 b(as)h(a)330 3970 y(consequence)40 b(y)m(ou)f(ma)m(y)g(not)g +(con)m(v)m(ey)i(it)e(at)h(all.)67 b(F)-8 b(or)40 b(example,)i(if)d(y)m +(ou)g(agree)h(to)g(terms)e(that)330 4080 y(obligate)32 +b(y)m(ou)e(to)h(collect)h(a)f(ro)m(y)m(alt)m(y)h(for)e(further)e(con)m +(v)m(eying)k(from)e(those)g(to)h(whom)e(y)m(ou)h(con)m(v)m(ey)330 +4189 y(the)h(Program,)h(the)f(only)g(w)m(a)m(y)h(y)m(ou)g(could)f +(satisfy)g(b)s(oth)g(those)g(terms)g(and)g(this)g(License)g(w)m(ould) +330 4299 y(b)s(e)f(to)h(refrain)f(en)m(tirely)h(from)f(con)m(v)m(eying) +i(the)f(Program.)154 4463 y(13.)61 b(Use)31 b(with)f(the)g(GNU)h +(A\013ero)g(General)h(Public)e(License.)330 4628 y(Not)m(withstanding) +39 b(an)m(y)g(other)f(pro)m(vision)h(of)f(this)g(License,)k(y)m(ou)c +(ha)m(v)m(e)i(p)s(ermission)d(to)i(link)f(or)330 4737 +y(com)m(bine)h(an)m(y)g(co)m(v)m(ered)i(w)m(ork)e(with)f(a)h(w)m(ork)g +(licensed)g(under)e(v)m(ersion)i(3)g(of)g(the)g(GNU)g(A\013ero)330 +4847 y(General)29 b(Public)f(License)h(in)m(to)h(a)f(single)g(com)m +(bined)f(w)m(ork,)h(and)f(to)h(con)m(v)m(ey)h(the)f(resulting)g(w)m +(ork.)330 4956 y(The)f(terms)g(of)g(this)h(License)f(will)h(con)m(tin)m +(ue)g(to)g(apply)f(to)h(the)g(part)f(whic)m(h)g(is)g(the)h(co)m(v)m +(ered)h(w)m(ork,)330 5066 y(but)38 b(the)h(sp)s(ecial)g(requiremen)m +(ts)f(of)h(the)g(GNU)g(A\013ero)g(General)g(Public)g(License,)i +(section)f(13,)330 5176 y(concerning)31 b(in)m(teraction)h(through)e(a) +h(net)m(w)m(ork)g(will)f(apply)g(to)i(the)e(com)m(bination)i(as)e(suc)m +(h.)154 5340 y(14.)61 b(Revised)31 b(V)-8 b(ersions)30 +b(of)h(this)f(License.)p eop end +%%Page: 10 12 +TeXDict begin 10 11 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2006 b(10)330 299 y(The)35 b(F)-8 b(ree)36 b(Soft)m(w)m(are)g +(F)-8 b(oundation)36 b(ma)m(y)g(publish)d(revised)i(and/or)g(new)g(v)m +(ersions)h(of)f(the)g(GNU)330 408 y(General)f(Public)f(License)g(from)g +(time)g(to)h(time.)49 b(Suc)m(h)33 b(new)f(v)m(ersions)h(will)h(b)s(e)e +(similar)h(in)g(spirit)330 518 y(to)e(the)g(presen)m(t)f(v)m(ersion,)h +(but)f(ma)m(y)h(di\013er)f(in)g(detail)i(to)f(address)e(new)h(problems) +g(or)g(concerns.)330 662 y(Eac)m(h)37 b(v)m(ersion)g(is)f(giv)m(en)h(a) +g(distinguishing)e(v)m(ersion)i(n)m(um)m(b)s(er.)57 b(If)36 +b(the)g(Program)g(sp)s(eci\014es)g(that)330 772 y(a)31 +b(certain)h(n)m(um)m(b)s(ered)d(v)m(ersion)i(of)g(the)g(GNU)g(General)h +(Public)e(License)h(\\or)g(an)m(y)g(later)h(v)m(ersion")330 +881 y(applies)h(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f +(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330 +991 y(n)m(um)m(b)s(ered)h(v)m(ersion)h(or)g(of)g(an)m(y)g(later)h(v)m +(ersion)g(published)d(b)m(y)i(the)g(F)-8 b(ree)35 b(Soft)m(w)m(are)g(F) +-8 b(oundation.)330 1101 y(If)28 b(the)h(Program)g(do)s(es)g(not)g(sp)s +(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)h(the)g(GNU)g(General)h +(Public)e(License,)330 1210 y(y)m(ou)j(ma)m(y)g(c)m(ho)s(ose)g(an)m(y)g +(v)m(ersion)g(ev)m(er)g(published)d(b)m(y)j(the)f(F)-8 +b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation.)330 1354 +y(If)39 b(the)h(Program)g(sp)s(eci\014es)f(that)h(a)g(pro)m(xy)g(can)g +(decide)g(whic)m(h)f(future)g(v)m(ersions)h(of)f(the)h(GNU)330 +1464 y(General)34 b(Public)e(License)i(can)f(b)s(e)f(used,)h(that)h +(pro)m(xy's)e(public)h(statemen)m(t)h(of)f(acceptance)j(of)d(a)330 +1573 y(v)m(ersion)e(p)s(ermanen)m(tly)f(authorizes)h(y)m(ou)g(to)g(c)m +(ho)s(ose)g(that)g(v)m(ersion)g(for)f(the)h(Program.)330 +1718 y(Later)37 b(license)g(v)m(ersions)f(ma)m(y)h(giv)m(e)g(y)m(ou)g +(additional)g(or)f(di\013eren)m(t)h(p)s(ermissions.)56 +b(Ho)m(w)m(ev)m(er,)40 b(no)330 1827 y(additional)25 +b(obligations)i(are)e(imp)s(osed)f(on)g(an)m(y)h(author)f(or)h(cop)m +(yrigh)m(t)h(holder)e(as)h(a)g(result)f(of)h(y)m(our)330 +1937 y(c)m(ho)s(osing)31 b(to)g(follo)m(w)h(a)f(later)g(v)m(ersion.)154 +2081 y(15.)61 b(Disclaimer)32 b(of)f(W)-8 b(arran)m(t)m(y)g(.)330 +2225 y(THERE)47 b(IS)f(NO)h(W)-10 b(ARRANTY)48 b(F)m(OR)f(THE)g(PR)m +(OGRAM,)h(TO)f(THE)g(EXTENT)f(PER-)330 2335 y(MITTED)g(BY)i(APPLICABLE) +e(LA)-10 b(W.)47 b(EX)m(CEPT)f(WHEN)i(OTHER)-10 b(WISE)45 +b(ST)-8 b(A)g(TED)47 b(IN)330 2444 y(WRITING)34 b(THE)f(COPYRIGHT)g +(HOLDERS)g(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)33 b(PR)m(O)m(VIDE)330 +2554 y(THE)d(PR)m(OGRAM)i(\\AS)e(IS")h(WITHOUT)f(W)-10 +b(ARRANTY)31 b(OF)g(ANY)g(KIND,)g(EITHER)f(EX-)330 2663 +y(PRESSED)k(OR)h(IMPLIED,)g(INCLUDING,)g(BUT)h(NOT)e(LIMITED)h(TO,)f +(THE)h(IMPLIED)330 2773 y(W)-10 b(ARRANTIES)38 b(OF)g(MER)m(CHANT)-8 +b(ABILITY)39 b(AND)g(FITNESS)e(F)m(OR)i(A)f(P)-8 b(AR)g(TICULAR)330 +2883 y(PURPOSE.)39 b(THE)h(ENTIRE)f(RISK)g(AS)h(TO)f(THE)g(QUALITY)h +(AND)h(PERF)m(ORMANCE)330 2992 y(OF)29 b(THE)g(PR)m(OGRAM)h(IS)f(WITH)g +(YOU.)h(SHOULD)f(THE)g(PR)m(OGRAM)h(PR)m(O)m(VE)g(DEFEC-)330 +3102 y(TIVE,)24 b(YOU)g(ASSUME)f(THE)h(COST)f(OF)h(ALL)g(NECESSAR)-8 +b(Y)23 b(SER)-10 b(VICING,)23 b(REP)-8 b(AIR)24 b(OR)330 +3211 y(CORRECTION.)154 3356 y(16.)61 b(Limitation)32 +b(of)e(Liabilit)m(y)-8 b(.)330 3500 y(IN)26 b(NO)g(EVENT)g(UNLESS)f +(REQUIRED)h(BY)h(APPLICABLE)f(LA)-10 b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN) +330 3609 y(WRITING)37 b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h +(OTHER)f(P)-8 b(AR)g(TY)38 b(WHO)330 3719 y(MODIFIES)33 +b(AND/OR)h(CONVEYS)e(THE)h(PR)m(OGRAM)h(AS)e(PERMITTED)h(ABO)m(VE,)h +(BE)330 3829 y(LIABLE)d(TO)e(YOU)i(F)m(OR)g(D)m(AMA)m(GES,)i(INCLUDING) +e(ANY)g(GENERAL,)g(SPECIAL,)f(IN-)330 3938 y(CIDENT)-8 +b(AL)32 b(OR)f(CONSEQUENTIAL)f(D)m(AMA)m(GES)j(ARISING)f(OUT)f(OF)h +(THE)f(USE)g(OR)330 4048 y(INABILITY)47 b(TO)f(USE)g(THE)g(PR)m(OGRAM)i +(\(INCLUDING)f(BUT)g(NOT)f(LIMITED)h(TO)330 4157 y(LOSS)28 +b(OF)h(D)m(A)-8 b(T)g(A)31 b(OR)e(D)m(A)-8 b(T)g(A)31 +b(BEING)f(RENDERED)f(INA)m(CCURA)-8 b(TE)30 b(OR)e(LOSSES)g(SUS-)330 +4267 y(T)-8 b(AINED)43 b(BY)g(YOU)f(OR)g(THIRD)h(P)-8 +b(AR)g(TIES)42 b(OR)g(A)g(F)-10 b(AILURE)43 b(OF)f(THE)g(PR)m(OGRAM)330 +4376 y(TO)30 b(OPERA)-8 b(TE)29 b(WITH)i(ANY)f(OTHER)g(PR)m(OGRAMS\),)h +(EVEN)f(IF)h(SUCH)e(HOLDER)h(OR)330 4486 y(OTHER)36 b(P)-8 +b(AR)g(TY)37 b(HAS)g(BEEN)f(AD)m(VISED)i(OF)f(THE)f(POSSIBILITY)f(OF)h +(SUCH)g(D)m(AM-)330 4596 y(A)m(GES.)154 4740 y(17.)61 +b(In)m(terpretation)31 b(of)g(Sections)g(15)g(and)f(16.)330 +4884 y(If)d(the)h(disclaimer)g(of)f(w)m(arran)m(t)m(y)i(and)d +(limitation)k(of)d(liabilit)m(y)j(pro)m(vided)d(ab)s(o)m(v)m(e)h +(cannot)g(b)s(e)f(giv)m(en)330 4994 y(lo)s(cal)35 b(legal)h(e\013ect)g +(according)f(to)f(their)h(terms,)g(reviewing)f(courts)g(shall)h(apply)e +(lo)s(cal)j(la)m(w)e(that)330 5103 y(most)j(closely)i(appro)m(ximates)f +(an)f(absolute)g(w)m(aiv)m(er)i(of)e(all)g(civil)i(liabilit)m(y)f(in)f +(connection)h(with)330 5213 y(the)d(Program,)i(unless)d(a)h(w)m(arran)m +(t)m(y)h(or)f(assumption)g(of)g(liabilit)m(y)i(accompanies)f(a)g(cop)m +(y)g(of)f(the)330 5322 y(Program)c(in)f(return)f(for)h(a)h(fee.)p +eop end +%%Page: 11 13 +TeXDict begin 11 12 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h +(LICENSE)2006 b(11)150 299 y Fu(END)45 b(OF)g(TERMS)f(AND)h(CONDITIONS) +150 556 y(Ho)l(w)h(to)f(Apply)f(These)h(T)-11 b(erms)45 +b(to)g(Y)-11 b(our)44 b(New)i(Programs)275 716 y Fv(If)38 +b(y)m(ou)i(dev)m(elop)g(a)f(new)g(program,)j(and)c(y)m(ou)i(w)m(an)m(t) +g(it)f(to)h(b)s(e)f(of)g(the)h(greatest)h(p)s(ossible)d(use)h(to)150 +825 y(the)i(public,)i(the)f(b)s(est)e(w)m(a)m(y)i(to)g(ac)m(hiev)m(e)h +(this)e(is)g(to)h(mak)m(e)g(it)g(free)f(soft)m(w)m(are)h(whic)m(h)f(ev) +m(ery)m(one)i(can)150 935 y(redistribute)30 b(and)g(c)m(hange)h(under)e +(these)i(terms.)275 1069 y(T)-8 b(o)29 b(do)h(so,)g(attac)m(h)h(the)f +(follo)m(wing)h(notices)f(to)h(the)e(program.)40 b(It)30 +b(is)g(safest)g(to)g(attac)m(h)h(them)f(to)g(the)150 +1179 y(start)38 b(of)g(eac)m(h)g(source)g(\014le)f(to)h(most)g +(e\013ectiv)m(ely)i(state)f(the)f(exclusion)g(of)f(w)m(arran)m(t)m(y;) +42 b(and)37 b(eac)m(h)i(\014le)150 1289 y(should)29 b(ha)m(v)m(e)j(at)f +(least)h(the)e(\\cop)m(yrigh)m(t")j(line)e(and)e(a)i(p)s(oin)m(ter)g +(to)g(where)f(the)g(full)g(notice)i(is)e(found.)390 1401 +y Fq(one)40 b(line)g(to)g(give)g(the)g(program's)h(name)f(and)g(a)g +(brief)g(idea)g(of)g(what)g(it)g(does.)390 1488 y Fp(Copyright)h(\(C\)) +f Fq(year)49 b(name)40 b(of)g(author)390 1662 y Fp(This)g(program)h(is) +f(free)g(software:)h(you)f(can)g(redistribute)i(it)e(and/or)g(modify) +390 1749 y(it)g(under)g(the)g(terms)g(of)g(the)g(GNU)g(General)h +(Public)f(License)h(as)f(published)h(by)390 1836 y(the)f(Free)g +(Software)h(Foundation,)h(either)e(version)h(3)f(of)f(the)h(License,)h +(or)f(\(at)390 1924 y(your)g(option\))h(any)f(later)g(version.)390 +2098 y(This)g(program)h(is)f(distributed)h(in)f(the)g(hope)g(that)g(it) +g(will)g(be)g(useful,)h(but)390 2185 y(WITHOUT)g(ANY)f(WARRANTY;)h +(without)g(even)f(the)g(implied)h(warranty)g(of)390 2272 +y(MERCHANTABILITY)i(or)c(FITNESS)i(FOR)f(A)g(PARTICULAR)h(PURPOSE.)80 +b(See)40 b(the)g(GNU)390 2359 y(General)h(Public)f(License)h(for)f +(more)g(details.)390 2534 y(You)g(should)g(have)h(received)g(a)e(copy)h +(of)g(the)g(GNU)g(General)h(Public)f(License)390 2621 +y(along)g(with)g(this)h(program.)80 b(If)40 b(not,)g(see)g +(http://www.gnu.org/licenses/.)275 2756 y Fv(Also)31 +b(add)e(information)i(on)f(ho)m(w)h(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g +(electronic)j(and)d(pap)s(er)f(mail.)275 2890 y(If)e(the)i(program)f +(do)s(es)f(terminal)i(in)m(teraction,)i(mak)m(e)e(it)g(output)f(a)g +(short)g(notice)i(lik)m(e)f(this)f(when)f(it)150 3000 +y(starts)k(in)f(an)g(in)m(teractiv)m(e)j(mo)s(de:)390 +3112 y Fq(program)49 b Fp(Copyright)42 b(\(C\))e Fq(year)48 +b(name)41 b(of)e(author)390 3199 y Fp(This)h(program)h(comes)f(with)g +(ABSOLUTELY)i(NO)e(WARRANTY;)h(for)f(details)h(type)f(`show)g(w'.)390 +3286 y(This)g(is)g(free)g(software,)h(and)f(you)g(are)g(welcome)h(to)e +(redistribute)j(it)390 3373 y(under)e(certain)h(conditions;)h(type)e +(`show)g(c')g(for)g(details.)275 3508 y Fv(The)27 b(h)m(yp)s(othetical) +i(commands)f(`)p Fr(show)h(w)p Fv(')f(and)f(`)p Fr(show)j(c)p +Fv(')d(should)g(sho)m(w)h(the)g(appropriate)g(parts)g(of)150 +3617 y(the)i(General)h(Public)f(License.)41 b(Of)30 b(course,)h(y)m +(our)f(program's)g(commands)f(migh)m(t)i(b)s(e)f(di\013eren)m(t;)h(for) +f(a)150 3727 y(GUI)h(in)m(terface,)h(y)m(ou)f(w)m(ould)f(use)g(an)g +(\\ab)s(out)h(b)s(o)m(x".)275 3861 y(Y)-8 b(ou)34 b(should)f(also)i +(get)g(y)m(our)e(emplo)m(y)m(er)i(\(if)g(y)m(ou)f(w)m(ork)g(as)g(a)g +(programmer\))g(or)g(sc)m(ho)s(ol,)i(if)d(an)m(y)-8 b(,)36 +b(to)150 3971 y(sign)d(a)g(\\cop)m(yrigh)m(t)h(disclaimer")g(for)e(the) +h(program,)g(if)f(necessary)-8 b(.)48 b(F)-8 b(or)34 +b(more)e(information)h(on)g(this,)150 4081 y(and)d(ho)m(w)g(to)h(apply) +f(and)g(follo)m(w)i(the)e(GNU)h(GPL,)g(see)g Fr +(http://www.gnu.org/licen)o(ses)o(/)p Fv(.)275 4215 y(The)44 +b(GNU)h(General)g(Public)f(License)i(do)s(es)e(not)h(p)s(ermit)e +(incorp)s(orating)i(y)m(our)g(program)f(in)m(to)150 4325 +y(proprietary)35 b(programs.)57 b(If)35 b(y)m(our)h(program)f(is)h(a)g +(subroutine)f(library)-8 b(,)37 b(y)m(ou)f(ma)m(y)h(consider)e(it)i +(more)150 4434 y(useful)30 b(to)i(p)s(ermit)e(linking)i(proprietary)e +(applications)i(with)f(the)g(library)-8 b(.)43 b(If)31 +b(this)g(is)g(what)g(y)m(ou)g(w)m(an)m(t)150 4544 y(to)f(do,)g(use)f +(the)g(GNU)h(Lesser)g(General)g(Public)f(License)h(instead)g(of)f(this) +h(License.)40 b(But)30 b(\014rst,)f(please)150 4653 y(read)h +Fr(http://www.gnu.org/philos)o(ophy)o(/why)o(-no)o(t-lg)o(pl.h)o(tml)o +Fv(.)p eop end +%%Page: 12 14 +TeXDict begin 12 13 bop 150 -116 a Fv(Con)m(tributors)30 +b(to)h(GNU)g Fr(gperf)e Fv(Utilit)m(y)2094 b(12)150 299 +y Fs(Con)l(tributors)50 b(to)j(GNU)h Fo(gperf)f Fs(Utilit)l(y)225 +533 y Ft(\017)60 b Fv(The)45 b(GNU)h Fr(gperf)d Fv(p)s(erfect)j(hash)e (function)h(generator)i(utilit)m(y)f(w)m(as)g(written)f(in)g(GNU)h(C)p -Fn(++)330 643 y Fs(b)m(y)e(Douglas)i(C.)f(Sc)m(hmidt.)83 +Fr(++)330 643 y Fv(b)m(y)e(Douglas)i(C.)f(Sc)m(hmidt.)83 b(The)44 b(general)i(idea)f(for)f(the)h(p)s(erfect)g(hash)e(function)i (generator)330 752 y(w)m(as)34 b(inspired)e(b)m(y)h(Keith)g(Bostic's)j (algorithm)e(written)f(in)g(C,)g(and)g(distributed)f(to)i(net.sources) @@ -3936,77 +4810,77 @@ b(The)44 b(general)i(idea)f(for)f(the)h(p)s(erfect)g(hash)e(function)i 971 y(implemen)m(tation)d(of)e(Keith's)g(basic)h(idea,)h(created)f(at)g (the)f(Univ)m(ersit)m(y)h(of)g(California,)h(Irvine.)330 1081 y(Bugs,)31 b(patc)m(hes,)g(and)f(suggestions)h(should)f(b)s(e)f -(rep)s(orted)h(to)h Fn(<bug-gnu-gperf@gnu.org>)p Fs(.)225 -1215 y Fq(\017)60 b Fs(Sp)s(ecial)33 b(thanks)g(is)g(extended)g(to)h +(rep)s(orted)h(to)h Fr(<bug-gnu-gperf@gnu.org>)p Fv(.)225 +1215 y Ft(\017)60 b Fv(Sp)s(ecial)33 b(thanks)g(is)g(extended)g(to)h (Mic)m(hael)h(Tiemann)e(and)g(Doug)h(Lea,)g(for)f(pro)m(viding)g(a)h (useful)330 1325 y(compiler,)d(and)f(for)g(giving)h(me)g(a)g(forum)e (to)i(exhibit)g(m)m(y)f(creation.)330 1460 y(In)22 b(addition,)i(Adam)f (de)f(Bo)s(or)h(and)f(Nels)i(Olson)e(pro)m(vided)g(man)m(y)h(tips)f (and)g(insigh)m(ts)h(that)g(greatly)330 1569 y(help)s(ed)29 b(impro)m(v)m(e)j(the)e(qualit)m(y)i(and)e(functionalit)m(y)h(of)g -Fn(gperf)p Fs(.)225 1704 y Fq(\017)60 b Fs(Bruno)26 b(Haible)i +Fr(gperf)p Fv(.)225 1704 y Ft(\017)60 b Fv(Bruno)26 b(Haible)i (enhanced)f(and)f(optimized)i(the)f(searc)m(h)h(algorithm.)41 b(He)27 b(also)h(rewrote)g(the)f(input)330 1813 y(routines)j(and)g(the) h(output)f(routines)g(for)g(b)s(etter)g(reliabilit)m(y)-8 b(,)33 b(and)d(added)g(a)h(testsuite.)p eop end -%%Page: 9 11 -TeXDict begin 9 10 bop 150 -116 a Fs(Chapter)30 b(1:)41 -b(In)m(tro)s(duction)2592 b(9)150 299 y Fp(1)80 b(In)l(tro)t(duction) -275 533 y Fn(gperf)31 b Fs(is)j(a)f(p)s(erfect)h(hash)e(function)h -(generator)i(written)e(in)g(C)p Fn(++)p Fs(.)49 b(It)33 -b(transforms)g(an)g Fo(n)f Fs(elemen)m(t)150 643 y(user-sp)s(eci\014ed) -k(k)m(eyw)m(ord)i(set)g Fo(W)49 b Fs(in)m(to)39 b(a)e(p)s(erfect)h -(hash)e(function)h Fo(F)p Fs(.)h Fo(F)44 b Fs(uniquely)37 -b(maps)g(k)m(eyw)m(ords)150 752 y(in)e Fo(W)47 b Fs(on)m(to)36 -b(the)f(range)g(0..)p Fo(k)p Fs(,)j(where)c Fo(k)40 b -Fn(>)p Fs(=)35 b Fo(n-1)p Fs(.)54 b(If)35 b Fo(k)40 b -Fs(=)35 b Fo(n-1)42 b Fs(then)35 b Fo(F)42 b Fs(is)35 -b(a)g Fl(minimal)46 b Fs(p)s(erfect)35 b(hash)150 862 -y(function.)68 b Fn(gperf)39 b Fs(generates)i(a)f(0..)p -Fo(k)46 b Fs(elemen)m(t)41 b(static)g(lo)s(okup)f(table)g(and)f(a)i +%%Page: 13 15 +TeXDict begin 13 14 bop 150 -116 a Fv(Chapter)30 b(1:)41 +b(In)m(tro)s(duction)2546 b(13)150 299 y Fs(1)80 b(In)l(tro)t(duction) +275 533 y Fr(gperf)31 b Fv(is)j(a)f(p)s(erfect)h(hash)e(function)h +(generator)i(written)e(in)g(C)p Fr(++)p Fv(.)49 b(It)33 +b(transforms)g(an)g Fn(n)f Fv(elemen)m(t)150 643 y(user-sp)s(eci\014ed) +k(k)m(eyw)m(ord)i(set)g Fn(W)49 b Fv(in)m(to)39 b(a)e(p)s(erfect)h +(hash)e(function)h Fn(F)p Fv(.)h Fn(F)44 b Fv(uniquely)37 +b(maps)g(k)m(eyw)m(ords)150 752 y(in)e Fn(W)47 b Fv(on)m(to)36 +b(the)f(range)g(0..)p Fn(k)p Fv(,)j(where)c Fn(k)40 b +Fr(>)p Fv(=)35 b Fn(n-1)p Fv(.)54 b(If)35 b Fn(k)40 b +Fv(=)35 b Fn(n-1)42 b Fv(then)35 b Fn(F)42 b Fv(is)35 +b(a)g Fm(minimal)46 b Fv(p)s(erfect)35 b(hash)150 862 +y(function.)68 b Fr(gperf)39 b Fv(generates)i(a)f(0..)p +Fn(k)46 b Fv(elemen)m(t)41 b(static)g(lo)s(okup)f(table)g(and)f(a)i (pair)e(of)h(C)f(functions.)150 971 y(These)34 b(functions)g(determine) -h(whether)e(a)i(giv)m(en)g(c)m(haracter)h(string)f Fo(s)j -Fs(o)s(ccurs)c(in)g Fo(W)p Fs(,)h(using)e(at)j(most)150 +h(whether)e(a)i(giv)m(en)g(c)m(haracter)h(string)f Fn(s)j +Fv(o)s(ccurs)c(in)g Fn(W)p Fv(,)h(using)e(at)j(most)150 1081 y(one)31 b(prob)s(e)e(in)m(to)i(the)g(lo)s(okup)f(table.)275 -1215 y Fn(gperf)22 b Fs(curren)m(tly)h(generates)j(the)d(reserv)m(ed)h +1215 y Fr(gperf)22 b Fv(curren)m(tly)h(generates)j(the)d(reserv)m(ed)h (k)m(eyw)m(ord)g(recognizer)i(for)d(lexical)j(analyzers)e(in)g(sev)m (eral)150 1325 y(pro)s(duction)30 b(and)g(researc)m(h)h(compilers)g (and)g(language)h(pro)s(cessing)e(to)s(ols,)i(including)e(GNU)i(C,)e -(GNU)150 1435 y(C)p Fn(++)p Fs(,)24 b(GNU)f(Ja)m(v)-5 +(GNU)150 1435 y(C)p Fr(++)p Fv(,)24 b(GNU)f(Ja)m(v)-5 b(a,)26 b(GNU)d(P)m(ascal,)j(GNU)e(Mo)s(dula)f(3,)i(and)d(GNU)h(inden)m -(t.)38 b(Complete)24 b(C)p Fn(++)e Fs(source)h(co)s(de)150 -1544 y(for)42 b Fn(gperf)f Fs(is)h(a)m(v)-5 b(ailable)44 -b(from)e Fn(http://ftp.gnu.org/pub/g)o(nu/g)o(perf)o(/)p -Fs(.)70 b(A)42 b(pap)s(er)f(describing)150 1654 y Fn(gperf)p -Fs('s)d(design)i(and)f(implemen)m(tation)j(in)d(greater)i(detail)g(is)f +(t.)38 b(Complete)24 b(C)p Fr(++)e Fv(source)h(co)s(de)150 +1544 y(for)42 b Fr(gperf)f Fv(is)h(a)m(v)-5 b(ailable)44 +b(from)e Fr(http://ftp.gnu.org/pub/g)o(nu/g)o(perf)o(/)p +Fv(.)70 b(A)42 b(pap)s(er)f(describing)150 1654 y Fr(gperf)p +Fv('s)d(design)i(and)f(implemen)m(tation)j(in)d(greater)i(detail)g(is)f (a)m(v)-5 b(ailable)42 b(in)e(the)g(Second)f(USENIX)150 -1763 y(C)p Fn(++)29 b Fs(Conference)g(pro)s(ceedings)h(or)g(from)f -Fn(http://www.cs.wustl.edu)o(/~sc)o(hmid)o(t/r)o(esum)o(e.ht)o(ml)p -Fs(.)p eop end -%%Page: 10 12 -TeXDict begin 10 11 bop 150 -116 a Fs(Chapter)30 b(2:)41 -b(Static)32 b(searc)m(h)f(structures)e(and)h(GNU)h Fn(gperf)1425 -b Fs(10)150 299 y Fp(2)80 b(Static)53 b(searc)l(h)g(structures)e(and)j -(GNU)f Fm(gperf)275 533 y Fs(A)24 b Fo(static)i(searc)m(h)f(structure)k -Fs(is)c(an)f(Abstract)h(Data)i(T)m(yp)s(e)c(with)i(certain)g(fundamen)m -(tal)f(op)s(erations,)150 643 y(e.g.,)32 b Fl(initialize)p -Fs(,)g Fl(insert)p Fs(,)f(and)f Fl(r)-5 b(etrieve)p Fs(.)42 +1763 y(C)p Fr(++)29 b Fv(Conference)g(pro)s(ceedings)h(or)g(from)f +Fr(http://www.cs.wustl.edu)o(/~sc)o(hmid)o(t/r)o(esum)o(e.ht)o(ml)p +Fv(.)p eop end +%%Page: 14 16 +TeXDict begin 14 15 bop 150 -116 a Fv(Chapter)30 b(2:)41 +b(Static)32 b(searc)m(h)f(structures)e(and)h(GNU)h Fr(gperf)1425 +b Fv(14)150 299 y Fs(2)80 b(Static)53 b(searc)l(h)g(structures)e(and)j +(GNU)f Fo(gperf)275 533 y Fv(A)24 b Fn(static)i(searc)m(h)f(structure)k +Fv(is)c(an)f(Abstract)h(Data)i(T)m(yp)s(e)c(with)i(certain)g(fundamen)m +(tal)f(op)s(erations,)150 643 y(e.g.,)32 b Fm(initialize)p +Fv(,)g Fm(insert)p Fv(,)f(and)f Fm(r)-5 b(etrieve)p Fv(.)42 b(Conceptually)-8 b(,)32 b(all)g(insertions)f(o)s(ccur)f(b)s(efore)h (an)m(y)g(retriev)-5 b(als.)150 752 y(In)20 b(practice,)25 -b Fn(gperf)19 b Fs(generates)k(a)e Fl(static)27 b Fs(arra)m(y)22 +b Fr(gperf)19 b Fv(generates)k(a)e Fm(static)27 b Fv(arra)m(y)22 b(con)m(taining)g(searc)m(h)g(set)f(k)m(eyw)m(ords)h(and)e(an)m(y)h (asso)s(ciated)150 862 y(attributes)37 b(sp)s(eci\014ed)f(b)m(y)h(the)f (user.)59 b(Th)m(us,)37 b(there)g(is)g(essen)m(tially)h(no)f (execution-time)i(cost)e(for)g(the)150 971 y(insertions.)j(It)27 b(is)g(a)g(useful)g(data)g(structure)g(for)g(represen)m(ting)g -Fl(static)j(se)-5 b(ar)g(ch)32 b(sets)p Fs(.)40 b(Static)28 +Fm(static)j(se)-5 b(ar)g(ch)32 b(sets)p Fv(.)40 b(Static)28 b(searc)m(h)g(sets)150 1081 y(o)s(ccur)c(frequen)m(tly)h(in)f(soft)m(w) m(are)i(system)e(applications.)40 b(T)m(ypical)25 b(static)h(searc)m(h) f(sets)g(include)f(compiler)150 1191 y(reserv)m(ed)42 b(w)m(ords,)j(assem)m(bler)e(instruction)f(op)s(co)s(des,)j(and)c (built-in)h(shell)h(in)m(terpreter)f(commands.)150 1300 -y(Searc)m(h)g(set)g(mem)m(b)s(ers,)h(called)g Fo(k)m(eyw)m(ords)p -Fs(,)i(are)c(inserted)h(in)m(to)g(the)g(structure)f(only)g(once,)k +y(Searc)m(h)g(set)g(mem)m(b)s(ers,)h(called)g Fn(k)m(eyw)m(ords)p +Fv(,)i(are)c(inserted)h(in)m(to)g(the)g(structure)f(only)g(once,)k (usually)150 1410 y(during)29 b(program)h(initialization,)k(and)c(are)g (not)h(generally)h(mo)s(di\014ed)d(at)i(run-time.)275 1544 y(Numerous)c(static)i(searc)m(h)g(structure)e(implemen)m(tations)i @@ -4015,32 +4889,32 @@ Fs(,)i(are)c(inserted)h(in)m(to)g(the)g(structure)f(only)g(once,)k b(hash)g(tables.)83 b(Di\013eren)m(t)45 b(approac)m(hes)g(o\013er)f (trade-o\013s)150 1763 y(b)s(et)m(w)m(een)e(space)h(utilization)g(and)f (searc)m(h)g(time)g(e\016ciency)-8 b(.)77 b(F)-8 b(or)42 -b(example,)k(an)41 b Fo(n)h Fs(elemen)m(t)h(sorted)150 +b(example,)k(an)41 b Fn(n)h Fv(elemen)m(t)h(sorted)150 1873 y(arra)m(y)d(is)g(space)h(e\016cien)m(t,)i(though)d(the)g(a)m(v)m (erage-case)k(time)c(complexit)m(y)i(for)e(retriev)-5 b(al)41 b(op)s(erations)150 1983 y(using)31 b(binary)f(searc)m(h)i(is)f -(prop)s(ortional)g(to)g(log)i Fo(n)p Fs(.)42 b(Con)m(v)m(ersely)-8 +(prop)s(ortional)g(to)g(log)i Fn(n)p Fv(.)42 b(Con)m(v)m(ersely)-8 b(,)33 b(hash)d(table)i(implemen)m(tations)h(often)150 2092 y(lo)s(cate)27 b(a)f(table)g(en)m(try)g(in)f(constan)m(t)i(time,)g (but)e(t)m(ypically)i(imp)s(ose)e(additional)i(memory)e(o)m(v)m(erhead) i(and)150 2202 y(exhibit)k(p)s(o)s(or)e(w)m(orst)i(case)g(p)s -(erformance.)275 2336 y Fl(Minimal)26 b(p)-5 b(erfe)g(ct)28 -b(hash)f(functions)32 b Fs(pro)m(vide)24 b(an)f(optimal)i(solution)f +(erformance.)275 2336 y Fm(Minimal)26 b(p)-5 b(erfe)g(ct)28 +b(hash)f(functions)32 b Fv(pro)m(vide)24 b(an)f(optimal)i(solution)f (for)f(a)h(particular)g(class)h(of)e(static)150 2446 y(searc)m(h)31 b(sets.)41 b(A)31 b(minimal)f(p)s(erfect)g(hash)g (function)g(is)h(de\014ned)e(b)m(y)h(t)m(w)m(o)i(prop)s(erties:)225 -2580 y Fq(\017)60 b Fs(It)34 b(allo)m(ws)i(k)m(eyw)m(ord)f(recognition) +2580 y Ft(\017)60 b Fv(It)34 b(allo)m(ws)i(k)m(eyw)m(ord)f(recognition) h(in)e(a)h(static)h(searc)m(h)f(set)g(using)f(at)h(most)g -Fl(one)41 b Fs(prob)s(e)33 b(in)m(to)j(the)330 2690 y(hash)30 +Fm(one)41 b Fv(prob)s(e)33 b(in)m(to)j(the)330 2690 y(hash)30 b(table.)41 b(This)30 b(represen)m(ts)g(the)h(\\p)s(erfect")g(prop)s -(ert)m(y)-8 b(.)225 2824 y Fq(\017)60 b Fs(The)35 b(actual)j(memory)e +(ert)m(y)-8 b(.)225 2824 y Ft(\017)60 b Fv(The)35 b(actual)j(memory)e (allo)s(cated)i(to)e(store)h(the)f(k)m(eyw)m(ords)h(is)f(precisely)g (large)h(enough)f(for)g(the)330 2934 y(k)m(eyw)m(ord)31 -b(set,)g(and)f Fl(no)j(lar)-5 b(ger)p Fs(.)42 b(This)29 +b(set,)g(and)f Fm(no)j(lar)-5 b(ger)p Fv(.)42 b(This)29 b(is)i(the)f(\\minimal")i(prop)s(ert)m(y)-8 b(.)275 3093 y(F)g(or)38 b(most)g(applications)h(it)f(is)g(far)f(easier)i(to)f -(generate)h Fl(p)-5 b(erfe)g(ct)47 b Fs(hash)37 b(functions)g(than)h -Fl(minimal)150 3203 y(p)-5 b(erfe)g(ct)47 b Fs(hash)36 +(generate)h Fm(p)-5 b(erfe)g(ct)47 b Fv(hash)37 b(functions)g(than)h +Fm(minimal)150 3203 y(p)-5 b(erfe)g(ct)47 b Fv(hash)36 b(functions.)60 b(Moreo)m(v)m(er,)41 b(non-minimal)c(p)s(erfect)g(hash) f(functions)g(frequen)m(tly)i(execute)150 3313 y(faster)44 b(than)g(minimal)g(ones)g(in)f(practice.)83 b(This)43 @@ -4048,10 +4922,10 @@ b(phenomena)g(o)s(ccurs)g(since)h(searc)m(hing)h(a)f(sparse)150 3422 y(k)m(eyw)m(ord)34 b(table)g(increases)g(the)g(probabilit)m(y)f (of)h(lo)s(cating)h(a)e(\\n)m(ull")i(en)m(try)-8 b(,)35 b(thereb)m(y)e(reducing)g(string)150 3532 y(comparisons.)56 -b Fn(gperf)p Fs('s)34 b(default)h(b)s(eha)m(vior)g(generates)i -Fl(ne)-5 b(ar-minimal)47 b Fs(p)s(erfect)35 b(hash)f(functions)h(for) +b Fr(gperf)p Fv('s)34 b(default)h(b)s(eha)m(vior)g(generates)i +Fm(ne)-5 b(ar-minimal)47 b Fv(p)s(erfect)35 b(hash)f(functions)h(for) 150 3641 y(k)m(eyw)m(ord)40 b(sets.)68 b(Ho)m(w)m(ev)m(er,)44 -b Fn(gperf)39 b Fs(pro)m(vides)g(man)m(y)h(options)f(that)h(p)s(ermit)f +b Fr(gperf)39 b Fv(pro)m(vides)g(man)m(y)h(options)f(that)h(p)s(ermit)f (user)g(con)m(trol)i(o)m(v)m(er)g(the)150 3751 y(degree)31 b(of)g(minimalit)m(y)g(and)f(p)s(erfection.)275 3885 y(Static)37 b(searc)m(h)f(sets)g(often)g(exhibit)g(relativ)m(e)i @@ -4060,988 +4934,1013 @@ b(example,)i(Ada's)e(63)h(re-)150 3995 y(serv)m(ed)31 b(w)m(ords)f(ha)m(v)m(e)i(remained)e(constan)m(t)i(for)f(nearly)g(a)g (decade.)42 b(It)31 b(is)g(therefore)g(frequen)m(tly)g(w)m(orth-)150 4105 y(while)22 b(to)h(exp)s(end)e(concerted)i(e\013ort)g(building)e -(an)h(optimal)i(searc)m(h)e(structure)g Fl(onc)-5 b(e)p -Fs(,)25 b(if)d(it)g(subsequen)m(tly)150 4214 y(receiv)m(es)j(hea)m(vy)f -(use)e(m)m(ultiple)i(times.)39 b Fn(gperf)22 b Fs(remo)m(v)m(es)i(the)f +(an)h(optimal)i(searc)m(h)e(structure)g Fm(onc)-5 b(e)p +Fv(,)25 b(if)d(it)g(subsequen)m(tly)150 4214 y(receiv)m(es)j(hea)m(vy)f +(use)e(m)m(ultiple)i(times.)39 b Fr(gperf)22 b Fv(remo)m(v)m(es)i(the)f (drudgery)f(asso)s(ciated)j(with)d(constructing)150 4324 y(time-)38 b(and)f(space-e\016cien)m(t)j(searc)m(h)d(structures)g(b)m (y)g(hand.)61 b(It)37 b(has)g(pro)m(v)m(en)h(a)f(useful)g(and)f (practical)150 4433 y(to)s(ol)29 b(for)f(serious)g(programming)g(pro)5 -b(jects.)40 b(Output)27 b(from)h Fn(gperf)e Fs(is)i(curren)m(tly)h +b(jects.)40 b(Output)27 b(from)h Fr(gperf)e Fv(is)i(curren)m(tly)h (used)e(in)h(sev)m(eral)h(pro-)150 4543 y(duction)d(and)e(researc)m(h)j -(compilers,)g(including)e(GNU)h(C,)g(GNU)g(C)p Fn(++)p -Fs(,)g(GNU)g(Ja)m(v)-5 b(a,)28 b(GNU)e(P)m(ascal,)j(and)150 +(compilers,)g(including)e(GNU)h(C,)g(GNU)g(C)p Fr(++)p +Fv(,)g(GNU)g(Ja)m(v)-5 b(a,)28 b(GNU)e(P)m(ascal,)j(and)150 4653 y(GNU)38 b(Mo)s(dula)f(3.)63 b(The)36 b(latter)j(t)m(w)m(o)g (compilers)f(are)f(not)h(y)m(et)h(part)e(of)g(the)h(o\016cial)h(GNU)f (distribu-)150 4762 y(tion.)51 b(Eac)m(h)34 b(compiler)g(utilizes)h -Fn(gperf)d Fs(to)i(automatically)i(generate)f(static)g(searc)m(h)f +Fr(gperf)d Fv(to)i(automatically)i(generate)f(static)g(searc)m(h)f (structures)f(that)150 4872 y(e\016cien)m(tly)f(iden)m(tify)f(their)f (resp)s(ectiv)m(e)i(reserv)m(ed)e(k)m(eyw)m(ords.)p eop end -%%Page: 11 13 -TeXDict begin 11 12 bop 150 -116 a Fs(Chapter)30 b(3:)41 -b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520 -b Fs(11)150 299 y Fp(3)80 b(High-Lev)l(el)52 b(Description)f(of)j(GNU)g -Fm(gperf)275 539 y Fs(The)29 b(p)s(erfect)h(hash)g(function)g -(generator)h Fn(gperf)e Fs(reads)h(a)h(set)g(of)f(\\k)m(eyw)m(ords")i -(from)d(an)i(input)e(\014le)150 648 y(\(or)34 b(from)g(the)g(standard)f +%%Page: 15 17 +TeXDict begin 15 16 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(15)150 299 y Fs(3)80 b(High-Lev)l(el)52 b(Description)f(of)j(GNU)g +Fo(gperf)275 555 y Fv(The)29 b(p)s(erfect)h(hash)g(function)g +(generator)h Fr(gperf)e Fv(reads)h(a)h(set)g(of)f(\\k)m(eyw)m(ords")i +(from)d(an)i(input)e(\014le)150 664 y(\(or)34 b(from)g(the)g(standard)f (input)g(b)m(y)h(default\).)52 b(It)34 b(attempts)h(to)f(deriv)m(e)h(a) -f(p)s(erfect)g(hashing)f(function)150 758 y(that)k(recognizes)i(a)e -(mem)m(b)s(er)f(of)h(the)g Fo(static)h(k)m(eyw)m(ord)f(set)j -Fs(with)c(at)i(most)f(a)g(single)g(prob)s(e)f(in)m(to)i(the)150 -867 y(lo)s(okup)26 b(table.)41 b(If)26 b Fn(gperf)f Fs(succeeds)i(in)g +f(p)s(erfect)g(hashing)f(function)150 774 y(that)k(recognizes)i(a)e +(mem)m(b)s(er)f(of)h(the)g Fn(static)h(k)m(eyw)m(ord)f(set)j +Fv(with)c(at)i(most)f(a)g(single)g(prob)s(e)f(in)m(to)i(the)150 +884 y(lo)s(okup)26 b(table.)41 b(If)26 b Fr(gperf)f Fv(succeeds)i(in)g (generating)h(suc)m(h)e(a)h(function)f(it)i(pro)s(duces)d(a)i(pair)g -(of)f(C)h(source)150 977 y(co)s(de)39 b(routines)g(that)h(p)s(erform)d +(of)f(C)h(source)150 993 y(co)s(de)39 b(routines)g(that)h(p)s(erform)d (hashing)i(and)f(table)i(lo)s(okup)e(recognition.)69 -b(All)39 b(generated)h(C)f(co)s(de)150 1086 y(is)f(directed)g(to)g(the) +b(All)39 b(generated)h(C)f(co)s(de)150 1103 y(is)f(directed)g(to)g(the) g(standard)f(output.)62 b(Command-line)38 b(options)g(describ)s(ed)e(b) -s(elo)m(w)i(allo)m(w)h(y)m(ou)f(to)150 1196 y(mo)s(dify)30 -b(the)g(input)g(and)f(output)h(format)h(to)g Fn(gperf)p -Fs(.)275 1332 y(By)23 b(default,)i Fn(gperf)d Fs(attempts)i(to)g(pro)s +s(elo)m(w)i(allo)m(w)h(y)m(ou)f(to)150 1212 y(mo)s(dify)30 +b(the)g(input)g(and)f(output)h(format)h(to)g Fr(gperf)p +Fv(.)275 1354 y(By)23 b(default,)i Fr(gperf)d Fv(attempts)i(to)g(pro)s (duce)e(time-e\016cien)m(t)k(co)s(de,)f(with)e(less)h(emphasis)e(on)h -(e\016cien)m(t)150 1442 y(space)31 b(utilization.)43 +(e\016cien)m(t)150 1464 y(space)31 b(utilization.)43 b(Ho)m(w)m(ev)m(er,)33 b(sev)m(eral)e(options)g(exist)g(that)g(p)s -(ermit)f(trading-o\013)h(execution)h(time)f(for)150 1552 +(ermit)f(trading-o\013)h(execution)h(time)f(for)150 1573 y(storage)i(space)f(and)g(vice)g(v)m(ersa.)46 b(In)31 b(particular,)h(expanding)f(the)h(generated)h(table)g(size)f(pro)s -(duces)f(a)150 1661 y(sparse)26 b(searc)m(h)g(structure,)h(generally)g +(duces)f(a)150 1683 y(sparse)26 b(searc)m(h)g(structure,)h(generally)g (yielding)f(faster)h(searc)m(hes.)40 b(Con)m(v)m(ersely)-8 -b(,)28 b(y)m(ou)f(can)f(direct)g Fn(gperf)150 1771 y -Fs(to)21 b(utilize)h(a)f(C)f Fn(switch)f Fs(statemen)m(t)k(sc)m(heme)e +b(,)28 b(y)m(ou)f(can)f(direct)g Fr(gperf)150 1793 y +Fv(to)21 b(utilize)h(a)f(C)f Fr(switch)f Fv(statemen)m(t)k(sc)m(heme)e (that)g(minimizes)g(data)g(space)g(storage)h(size.)39 -b(F)-8 b(urthermore,)150 1880 y(using)40 b(a)g(C)g Fn(switch)e -Fs(ma)m(y)i(actually)i(sp)s(eed)d(up)g(the)h(k)m(eyw)m(ord)h(retriev)-5 -b(al)41 b(time)g(somewhat.)70 b(Actual)150 1990 y(results)30 +b(F)-8 b(urthermore,)150 1902 y(using)40 b(a)g(C)g Fr(switch)e +Fv(ma)m(y)i(actually)i(sp)s(eed)d(up)g(the)h(k)m(eyw)m(ord)h(retriev)-5 +b(al)41 b(time)g(somewhat.)70 b(Actual)150 2012 y(results)30 b(dep)s(end)f(on)h(y)m(our)g(C)g(compiler,)i(of)e(course.)275 -2126 y(In)44 b(general,)50 b Fn(gperf)44 b Fs(assigns)h(v)-5 +2154 y(In)44 b(general,)50 b Fr(gperf)44 b Fv(assigns)h(v)-5 b(alues)46 b(to)g(the)f(b)m(ytes)h(it)g(is)f(using)g(for)g(hashing)f -(un)m(til)i(some)f(set)150 2236 y(of)d(v)-5 b(alues)43 +(un)m(til)i(some)f(set)150 2263 y(of)d(v)-5 b(alues)43 b(giv)m(es)g(eac)m(h)h(k)m(eyw)m(ord)e(a)h(unique)e(v)-5 b(alue.)77 b(A)42 b(helpful)f(heuristic)i(is)f(that)h(the)f(larger)h -(the)150 2345 y(hash)36 b(v)-5 b(alue)37 b(range,)i(the)e(easier)h(it)f -(is)g(for)f Fn(gperf)f Fs(to)j(\014nd)d(and)h(generate)i(a)f(p)s -(erfect)g(hash)f(function.)150 2455 y(Exp)s(erimen)m(tation)31 +(the)150 2373 y(hash)36 b(v)-5 b(alue)37 b(range,)i(the)e(easier)h(it)f +(is)g(for)f Fr(gperf)f Fv(to)j(\014nd)d(and)h(generate)i(a)f(p)s +(erfect)g(hash)f(function.)150 2482 y(Exp)s(erimen)m(tation)31 b(is)f(the)h(k)m(ey)g(to)g(getting)h(the)f(most)g(from)e -Fn(gperf)p Fs(.)150 2717 y Fr(3.1)68 b(Input)44 b(F)-11 -b(ormat)46 b(to)f Fk(gperf)275 2911 y Fs(Y)-8 b(ou)38 +Fr(gperf)p Fv(.)150 2726 y Fu(3.1)68 b(Input)44 b(F)-11 +b(ormat)46 b(to)f Fl(gperf)275 2885 y Fv(Y)-8 b(ou)38 b(can)g(con)m(trol)i(the)e(input)f(\014le)h(format)g(b)m(y)g(v)-5 b(arying)38 b(certain)g(command-line)h(argumen)m(ts,)h(in)150 -3021 y(particular)f(the)g(`)p Fn(-t)p Fs(')g(option.)66 +2995 y(particular)f(the)g(`)p Fr(-t)p Fv(')g(option.)66 b(The)38 b(input's)g(app)s(earance)h(is)g(similar)g(to)g(GNU)h -(utilities)g Fn(flex)e Fs(and)150 3131 y Fn(bison)29 -b Fs(\(or)i(UNIX)f(utilities)i Fn(lex)e Fs(and)f Fn(yacc)p -Fs(\).)40 b(Here's)31 b(an)g(outline)g(of)f(the)h(general)g(format:)390 -3261 y Fn(declarations)390 3365 y(\045\045)390 3469 y(keywords)390 -3572 y(\045\045)390 3676 y(functions)275 3806 y Fl(Unlike)41 -b Fn(flex)35 b Fs(or)g Fn(bison)p Fs(,)h(the)g(declarations)g(section)h +(utilities)g Fr(flex)e Fv(and)150 3104 y Fr(bison)29 +b Fv(\(or)i(UNIX)f(utilities)i Fr(lex)e Fv(and)f Fr(yacc)p +Fv(\).)40 b(Here's)31 b(an)g(outline)g(of)f(the)h(general)g(format:)390 +3246 y Fr(declarations)390 3356 y(\045\045)390 3465 y(keywords)390 +3575 y(\045\045)390 3684 y(functions)275 3826 y Fm(Unlike)41 +b Fr(flex)35 b Fv(or)g Fr(bison)p Fv(,)h(the)g(declarations)g(section)h (and)e(the)h(functions)f(section)i(are)f(optional.)150 -3915 y(The)30 b(follo)m(wing)i(sections)f(describ)s(e)f(the)g(input)g -(format)h(for)f(eac)m(h)h(section.)275 4051 y(It)h(is)g(p)s(ossible)g +3936 y(The)30 b(follo)m(wing)i(sections)f(describ)s(e)f(the)g(input)g +(format)h(for)f(eac)m(h)h(section.)275 4078 y(It)h(is)g(p)s(ossible)g (to)h(omit)g(the)g(declaration)h(section)f(en)m(tirely)-8 -b(,)35 b(if)d(the)h(`)p Fn(-t)p Fs(')f(option)h(is)f(not)h(giv)m(en.)48 -b(In)150 4161 y(this)30 b(case)i(the)e(input)g(\014le)g(b)s(egins)g +b(,)35 b(if)d(the)h(`)p Fr(-t)p Fv(')f(option)h(is)f(not)h(giv)m(en.)48 +b(In)150 4187 y(this)30 b(case)i(the)e(input)g(\014le)g(b)s(egins)g (directly)h(with)f(the)h(\014rst)e(k)m(eyw)m(ord)i(line,)g(e.g.:)390 -4292 y Fn(january)390 4395 y(february)390 4499 y(march)390 -4603 y(april)390 4707 y(...)150 4926 y Fj(3.1.1)63 b(Declarations)275 -5121 y Fs(The)33 b(k)m(eyw)m(ord)i(input)f(\014le)g(optionally)i(con)m +4329 y Fr(january)390 4439 y(february)390 4548 y(march)390 +4658 y(april)390 4767 y(...)150 4974 y Fk(3.1.1)63 b(Declarations)275 +5121 y Fv(The)33 b(k)m(eyw)m(ord)i(input)f(\014le)g(optionally)i(con)m (tains)g(a)f(section)g(for)f(including)g(arbitrary)h(C)f(declara-)150 -5230 y(tions)d(and)e(de\014nitions,)h Fn(gperf)f Fs(declarations)j +5230 y(tions)d(and)e(de\014nitions,)h Fr(gperf)f Fv(declarations)j (that)f(act)g(lik)m(e)h(command-line)f(options,)g(as)f(w)m(ell)i(as)e -(for)150 5340 y(pro)m(viding)g(a)h(user-supplied)e Fn(struct)p -Fs(.)p eop end -%%Page: 12 14 -TeXDict begin 12 13 bop 150 -116 a Fs(Chapter)30 b(3:)41 -b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520 -b Fs(12)150 299 y Fj(3.1.1.1)63 b(User-supplied)43 b -Fi(struct)275 500 y Fs(If)24 b(the)h(`)p Fn(-t)p Fs(')f(option)h(\(or,) -i(equiv)-5 b(alen)m(tly)d(,)28 b(the)d(`)p Fn(\045struct-type)p -Fs(')d(declaration\))k Fl(is)32 b Fs(enabled,)26 b(y)m(ou)f -Fl(must)150 609 y Fs(pro)m(vide)37 b(a)f(C)h Fn(struct)d -Fs(as)j(the)g(last)g(comp)s(onen)m(t)g(in)f(the)h(declaration)h -(section)f(from)f(the)h(input)f(\014le.)150 719 y(The)26 +(for)150 5340 y(pro)m(viding)g(a)h(user-supplied)e Fr(struct)p +Fv(.)p eop end +%%Page: 16 18 +TeXDict begin 16 17 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(16)150 299 y Fk(3.1.1.1)63 b(User-supplied)43 b +Fj(struct)275 446 y Fv(If)24 b(the)h(`)p Fr(-t)p Fv(')f(option)h(\(or,) +i(equiv)-5 b(alen)m(tly)d(,)28 b(the)d(`)p Fr(\045struct-type)p +Fv(')d(declaration\))k Fm(is)32 b Fv(enabled,)26 b(y)m(ou)f +Fm(must)150 555 y Fv(pro)m(vide)37 b(a)f(C)h Fr(struct)d +Fv(as)j(the)g(last)g(comp)s(onen)m(t)g(in)f(the)h(declaration)h +(section)f(from)f(the)h(input)f(\014le.)150 665 y(The)26 b(\014rst)f(\014eld)h(in)g(this)g(struct)g(m)m(ust)g(b)s(e)g(of)g(t)m -(yp)s(e)g Fn(char)j(*)d Fs(or)g Fn(const)j(char)h(*)25 -b Fs(if)h(the)h(`)p Fn(-P)p Fs(')f(option)g(is)h(not)150 -829 y(giv)m(en,)k(or)g(of)f(t)m(yp)s(e)g Fn(int)g Fs(if)g(the)g(option) -h(`)p Fn(-P)p Fs(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)32 -b(the)f(`)p Fn(\045pic)p Fs(')e(declaration\))j(is)f(enabled.)150 -938 y(This)k(\014rst)f(\014eld)h(m)m(ust)h(b)s(e)e(called)j(`)p -Fn(name)p Fs(',)f(although)g(it)g(is)g(p)s(ossible)f(to)h(mo)s(dify)e -(its)i(name)g(with)f(the)150 1048 y(`)p Fn(-K)p Fs(')30 +(yp)s(e)g Fr(char)j(*)d Fv(or)g Fr(const)j(char)h(*)25 +b Fv(if)h(the)h(`)p Fr(-P)p Fv(')f(option)g(is)h(not)150 +775 y(giv)m(en,)k(or)g(of)f(t)m(yp)s(e)g Fr(int)g Fv(if)g(the)g(option) +h(`)p Fr(-P)p Fv(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)32 +b(the)f(`)p Fr(\045pic)p Fv(')e(declaration\))j(is)f(enabled.)150 +884 y(This)k(\014rst)f(\014eld)h(m)m(ust)h(b)s(e)e(called)j(`)p +Fr(name)p Fv(',)f(although)g(it)g(is)g(p)s(ossible)f(to)h(mo)s(dify)e +(its)i(name)g(with)f(the)150 994 y(`)p Fr(-K)p Fv(')30 b(option)h(\(or,)g(equiv)-5 b(alen)m(tly)d(,)33 b(the)d(`)p -Fn(\045define)f(slot-name)p Fs(')f(declaration\))k(describ)s(ed)e(b)s -(elo)m(w.)275 1191 y(Here)g(is)h(a)g(simple)f(example,)h(using)f(mon)m +Fr(\045define)f(slot-name)p Fv(')f(declaration\))k(describ)s(ed)e(b)s +(elo)m(w.)275 1139 y(Here)g(is)h(a)g(simple)f(example,)h(using)f(mon)m (ths)g(of)h(the)f(y)m(ear)i(and)d(their)i(attributes)g(as)f(input:)390 -1328 y Fn(struct)46 b(month)g({)i(char)f(*name;)f(int)h(number;)e(int)i -(days;)g(int)g(leap_days;)e(};)390 1432 y(\045\045)390 -1535 y(january,)141 b(1,)47 b(31,)g(31)390 1639 y(february,)93 -b(2,)47 b(28,)g(29)390 1743 y(march,)237 b(3,)47 b(31,)g(31)390 -1847 y(april,)237 b(4,)47 b(30,)g(30)390 1950 y(may,)333 -b(5,)47 b(31,)g(31)390 2054 y(june,)285 b(6,)47 b(30,)g(30)390 -2158 y(july,)285 b(7,)47 b(31,)g(31)390 2262 y(august,)189 -b(8,)47 b(31,)g(31)390 2366 y(september,)e(9,)i(30,)g(30)390 -2469 y(october,)93 b(10,)47 b(31,)g(31)390 2573 y(november,)e(11,)i -(30,)g(30)390 2677 y(december,)e(12,)i(31,)g(31)275 2813 -y Fs(Separating)25 b(the)g Fn(struct)f Fs(declaration)i(from)f(the)g +1284 y Fr(struct)46 b(month)g({)i(char)f(*name;)f(int)h(number;)e(int)i +(days;)g(int)g(leap_days;)e(};)390 1393 y(\045\045)390 +1503 y(january,)141 b(1,)47 b(31,)g(31)390 1612 y(february,)93 +b(2,)47 b(28,)g(29)390 1722 y(march,)237 b(3,)47 b(31,)g(31)390 +1832 y(april,)237 b(4,)47 b(30,)g(30)390 1941 y(may,)333 +b(5,)47 b(31,)g(31)390 2051 y(june,)285 b(6,)47 b(30,)g(30)390 +2160 y(july,)285 b(7,)47 b(31,)g(31)390 2270 y(august,)189 +b(8,)47 b(31,)g(31)390 2380 y(september,)e(9,)i(30,)g(30)390 +2489 y(october,)93 b(10,)47 b(31,)g(31)390 2599 y(november,)e(11,)i +(30,)g(30)390 2708 y(december,)e(12,)i(31,)g(31)275 2853 +y Fv(Separating)25 b(the)g Fr(struct)f Fv(declaration)i(from)f(the)g (list)h(of)f(k)m(eyw)m(ords)h(and)e(other)h(\014elds)g(are)g(a)h(pair)f -(of)150 2922 y(consecutiv)m(e)33 b(p)s(ercen)m(t)f(signs,)f(`)p -Fn(\045\045)p Fs(',)h(app)s(earing)f(left)h(justi\014ed)e(in)h(the)h -(\014rst)e(column,)i(as)f(in)g(the)h(UNIX)150 3032 y(utilit)m(y)g -Fn(lex)p Fs(.)275 3175 y(If)k(the)i Fn(struct)d Fs(has)i(already)h(b)s +(of)150 2963 y(consecutiv)m(e)33 b(p)s(ercen)m(t)f(signs,)f(`)p +Fr(\045\045)p Fv(',)h(app)s(earing)f(left)h(justi\014ed)e(in)h(the)h +(\014rst)e(column,)i(as)f(in)g(the)h(UNIX)150 3072 y(utilit)m(y)g +Fr(lex)p Fv(.)275 3217 y(If)k(the)i Fr(struct)d Fv(has)i(already)h(b)s (een)f(declared)h(in)f(an)g(include)g(\014le,)i(it)f(can)g(b)s(e)e(men) -m(tioned)i(in)f(an)150 3284 y(abbreviated)31 b(form,)f(lik)m(e)i(this:) -390 3421 y Fn(struct)46 b(month;)390 3525 y(\045\045)390 -3629 y(january,)141 b(1,)47 b(31,)g(31)390 3733 y(...)150 -3966 y Fj(3.1.1.2)63 b(Gp)s(erf)43 b(Declarations)275 -4167 y Fs(The)31 b(declaration)j(section)g(can)e(con)m(tain)i -Fn(gperf)c Fs(declarations.)48 b(They)32 b(in\015uence)g(the)g(w)m(a)m -(y)h Fn(gperf)150 4276 y Fs(w)m(orks,)43 b(lik)m(e)f(command)f(line)g +m(tioned)i(in)f(an)150 3327 y(abbreviated)31 b(form,)f(lik)m(e)i(this:) +390 3472 y Fr(struct)46 b(month;)390 3581 y(\045\045)390 +3691 y(january,)141 b(1,)47 b(31,)g(31)390 3801 y(...)150 +4010 y Fk(3.1.1.2)63 b(Gp)s(erf)43 b(Declarations)275 +4157 y Fv(The)31 b(declaration)j(section)g(can)e(con)m(tain)i +Fr(gperf)c Fv(declarations.)48 b(They)32 b(in\015uence)g(the)g(w)m(a)m +(y)h Fr(gperf)150 4267 y Fv(w)m(orks,)43 b(lik)m(e)f(command)f(line)g (options)g(do.)72 b(In)40 b(fact,)k(ev)m(ery)e(suc)m(h)e(declaration)i -(is)f(equiv)-5 b(alen)m(t)42 b(to)g(a)150 4386 y(command)30 +(is)f(equiv)-5 b(alen)m(t)42 b(to)g(a)150 4376 y(command)30 b(line)h(option.)41 b(There)30 b(are)h(three)f(forms)g(of)h -(declarations:)199 4529 y(1.)61 b(Declarations)33 b(without)d(argumen)m -(t,)h(lik)m(e)h(`)p Fn(\045compare-lengths)p Fs('.)199 -4667 y(2.)61 b(Declarations)33 b(with)d(an)g(argumen)m(t,)h(lik)m(e)h -(`)p Fn(\045switch=)p Fo(coun)m(t)r Fs('.)199 4806 y(3.)61 +(declarations:)199 4521 y(1.)61 b(Declarations)33 b(without)d(argumen)m +(t,)h(lik)m(e)h(`)p Fr(\045compare-lengths)p Fv('.)199 +4661 y(2.)61 b(Declarations)33 b(with)d(an)g(argumen)m(t,)h(lik)m(e)h +(`)p Fr(\045switch=)p Fi(count)11 b Fv('.)199 4801 y(3.)61 b(Declarations)114 b(of)e(names)g(of)g(en)m(tities)i(in)d(the)h(output) -g(\014le,)132 b(lik)m(e)114 b(`)p Fn(\045define)330 4916 -y(lookup-function-name)25 b Fo(name)5 b Fs('.)275 5088 +g(\014le,)132 b(lik)m(e)114 b(`)p Fr(\045define)330 4910 +y(lookup-function-name)25 b Fi(name)11 b Fv('.)275 5085 y(When)35 b(a)h(declaration)h(is)f(giv)m(en)g(b)s(oth)f(in)h(the)f (input)g(\014le)h(and)f(as)h(a)g(command)f(line)h(option,)i(the)150 -5197 y(command-line)31 b(option's)g(v)-5 b(alue)31 b(prev)-5 -b(ails.)275 5340 y(The)29 b(follo)m(wing)j Fn(gperf)d -Fs(declarations)j(are)f(a)m(v)-5 b(ailable.)p eop end -%%Page: 13 15 -TeXDict begin 13 14 bop 150 -116 a Fs(Chapter)30 b(3:)41 -b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520 -b Fs(13)150 299 y(`)p Fn(\045delimiters=)p Fo(delimiter-list)r -Fs(')630 408 y(Allo)m(ws)30 b(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)g +5195 y(command-line)31 b(option's)g(v)-5 b(alue)31 b(prev)-5 +b(ails.)275 5340 y(The)29 b(follo)m(wing)j Fr(gperf)d +Fv(declarations)j(are)f(a)m(v)-5 b(ailable.)p eop end +%%Page: 17 19 +TeXDict begin 17 18 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(17)150 299 y(`)p Fr(\045delimiters=)p Fi(delimiter-lis)o(t)11 +b Fv(')630 408 y(Allo)m(ws)30 b(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)g (con)m(taining)h(delimiters)g(used)d(to)j(separate)g(k)m(eyw)m(ords)630 518 y(from)k(their)h(attributes.)54 b(The)34 b(default)g(is)h -Fn(")p Fs(,)p Fn(")p Fs(.)53 b(This)34 b(option)h(is)f(essen)m(tial)j +Fr(")p Fv(,)p Fr(")p Fv(.)53 b(This)34 b(option)h(is)f(essen)m(tial)j (if)d(y)m(ou)h(w)m(an)m(t)630 628 y(to)c(use)f(k)m(eyw)m(ords)h(that)g (ha)m(v)m(e)g(em)m(b)s(edded)f(commas)h(or)f(newlines.)150 -774 y(`)p Fn(\045struct-type)p Fs(')630 883 y(Allo)m(ws)i(y)m(ou)e(to)i -(include)e(a)h Fn(struct)d Fs(t)m(yp)s(e)j(declaration)h(for)e +774 y(`)p Fr(\045struct-type)p Fv(')630 883 y(Allo)m(ws)i(y)m(ou)e(to)i +(include)e(a)h Fr(struct)d Fv(t)m(yp)s(e)j(declaration)h(for)e (generated)i(co)s(de;)f(see)g(ab)s(o)m(v)m(e)630 993 -y(for)f(an)g(example.)150 1139 y(`)p Fn(\045ignore-case)p -Fs(')630 1249 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g +y(for)f(an)g(example.)150 1139 y(`)p Fr(\045ignore-case)p +Fv(')630 1249 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g (ASCI)s(I)e(c)m(haracters)i(as)f(equiv)-5 b(alen)m(t.)83 b(The)44 b(string)630 1358 y(comparison)28 b(will)h(use)f(a)h(case)g (insigni\014can)m(t)g(c)m(haracter)h(comparison.)40 b(Note)29 b(that)g(lo)s(cale)630 1468 y(dep)s(enden)m(t)g(case)j(mappings)d(are)i -(ignored.)150 1614 y(`)p Fn(\045language=)p Fo(language-name)5 -b Fs(')630 1724 y(Instructs)33 b Fn(gperf)f Fs(to)i(generate)h(co)s(de) +(ignored.)150 1614 y(`)p Fr(\045language=)p Fi(language-name)10 +b Fv(')630 1724 y(Instructs)33 b Fr(gperf)f Fv(to)i(generate)h(co)s(de) f(in)f(the)h(language)h(sp)s(eci\014ed)d(b)m(y)i(the)g(option's)g(ar-) 630 1833 y(gumen)m(t.)41 b(Languages)31 b(handled)f(are)h(curren)m -(tly:)630 1979 y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)27 +(tly:)630 1979 y(`)p Fr(KR-C)p Fv(')238 b(Old-st)m(yle)27 b(K&R)f(C.)g(This)f(language)j(is)f(understo)s(o)s(d)d(b)m(y)i(old-st)m (yle)i(C)e(com-)1110 2089 y(pilers)e(and)g(ANSI)f(C)h(compilers,)i(but) e(ANSI)f(C)h(compilers)h(ma)m(y)f(\015ag)h(w)m(arn-)1110 2198 y(ings)30 b(\(or)h(ev)m(en)g(errors\))f(b)s(ecause)h(of)f(lac)m -(king)i(`)p Fn(const)p Fs('.)630 2345 y(`)p Fn(C)p Fs(')382 +(king)i(`)p Fr(const)p Fv('.)630 2345 y(`)p Fr(C)p Fv(')382 b(Common)23 b(C.)f(This)h(language)h(is)f(understo)s(o)s(d)e(b)m(y)i (ANSI)g(C)f(compilers,)k(and)1110 2454 y(also)k(b)m(y)e(old-st)m(yle)i -(C)f(compilers,)g(pro)m(vided)f(that)i(y)m(ou)f Fn(#define)f(const)f -Fs(to)1110 2564 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m +(C)f(compilers,)g(pro)m(vided)f(that)i(y)m(ou)f Fr(#define)f(const)f +Fv(to)1110 2564 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m (w)h(ab)s(out)f(this)g(k)m(eyw)m(ord.)630 2710 y(`)p -Fn(ANSI-C)p Fs(')142 b(ANSI)39 b(C.)h(This)e(language)j(is)f(understo)s -(o)s(d)e(b)m(y)h(ANSI)g(C)h(compilers)g(and)1110 2819 -y(C)p Fn(++)29 b Fs(compilers.)630 2966 y(`)p Fn(C++)p -Fs(')286 b(C)p Fn(++)p Fs(.)40 b(This)29 b(language)j(is)f(understo)s -(o)s(d)d(b)m(y)i(C)p Fn(++)g Fs(compilers.)630 3112 y(The)g(default)g -(is)h(C.)150 3258 y(`)p Fn(\045define)e(slot-name)e Fo(name)5 -b Fs(')630 3367 y(This)65 b(declaration)j(is)e(only)g(useful)f(when)g -(option)h(`)p Fn(-t)p Fs(')g(\(or,)76 b(equiv)-5 b(alen)m(tly)d(,)77 -b(the)630 3477 y(`)p Fn(\045struct-type)p Fs(')27 b(declaration\))32 +Fr(ANSI-C)p Fv(')142 b(ANSI)32 b(C.)g(This)f(language)j(is)e(understo)s +(o)s(d)e(b)m(y)i(ANSI)g(C)f(\(C89,)j(ISO)d(C90\))1110 +2819 y(compilers,)g(ISO)e(C99)i(compilers,)g(and)f(C)p +Fr(++)f Fv(compilers.)630 2966 y(`)p Fr(C++)p Fv(')286 +b(C)p Fr(++)p Fv(.)40 b(This)29 b(language)j(is)f(understo)s(o)s(d)d(b) +m(y)i(C)p Fr(++)g Fv(compilers.)630 3112 y(The)g(default)g(is)h(C.)150 +3258 y(`)p Fr(\045define)e(slot-name)e Fi(name)11 b Fv(')630 +3367 y(This)65 b(declaration)j(is)e(only)g(useful)f(when)g(option)h(`)p +Fr(-t)p Fv(')g(\(or,)76 b(equiv)-5 b(alen)m(tly)d(,)77 +b(the)630 3477 y(`)p Fr(\045struct-type)p Fv(')27 b(declaration\))32 b(has)e(b)s(een)g(giv)m(en.)41 b(By)31 b(default,)f(the)g(program)g (assumes)630 3587 y(the)48 b(structure)g(comp)s(onen)m(t)h(iden)m -(ti\014er)f(for)g(the)g(k)m(eyw)m(ord)h(is)f(`)p Fn(name)p -Fs('.)94 b(This)47 b(option)630 3696 y(allo)m(ws)f(an)e(arbitrary)g(c)m +(ti\014er)f(for)g(the)g(k)m(eyw)m(ord)h(is)f(`)p Fr(name)p +Fv('.)94 b(This)47 b(option)630 3696 y(allo)m(ws)f(an)e(arbitrary)g(c)m (hoice)i(of)f(iden)m(ti\014er)f(for)h(this)f(comp)s(onen)m(t,)k (although)d(it)g(still)630 3806 y(m)m(ust)30 b(o)s(ccur)g(as)h(the)g -(\014rst)e(\014eld)h(in)g(y)m(our)h(supplied)e Fn(struct)p -Fs(.)150 3952 y(`)p Fn(\045define)g(initializer-suffix)c -Fo(initializers)t Fs(')630 4061 y(This)65 b(declaration)j(is)e(only)g -(useful)f(when)g(option)h(`)p Fn(-t)p Fs(')g(\(or,)76 -b(equiv)-5 b(alen)m(tly)d(,)77 b(the)630 4171 y(`)p Fn(\045struct-type) -p Fs(')33 b(declaration\))38 b(has)d(b)s(een)g(giv)m(en.)58 +(\014rst)e(\014eld)h(in)g(y)m(our)h(supplied)e Fr(struct)p +Fv(.)150 3952 y(`)p Fr(\045define)g(initializer-suffix)c +Fi(initializers)11 b Fv(')630 4061 y(This)65 b(declaration)j(is)e(only) +g(useful)f(when)g(option)h(`)p Fr(-t)p Fv(')g(\(or,)76 +b(equiv)-5 b(alen)m(tly)d(,)77 b(the)630 4171 y(`)p Fr(\045struct-type) +p Fv(')33 b(declaration\))38 b(has)d(b)s(een)g(giv)m(en.)58 b(It)36 b(p)s(ermits)f(to)i(sp)s(ecify)e(initializers)630 4281 y(for)44 b(the)g(structure)g(mem)m(b)s(ers)f(follo)m(wing)i -Fo(slot-name)51 b Fs(in)43 b(empt)m(y)i(hash)e(table)i(en)m(tries.)630 +Fn(slot-name)51 b Fv(in)43 b(empt)m(y)i(hash)e(table)i(en)m(tries.)630 4390 y(The)d(list)g(of)h(initializers)g(should)e(start)i(with)f(a)g (comma.)77 b(By)42 b(default,)k(the)c(emitted)630 4500 y(co)s(de)31 b(will)f(zero-initialize)k(structure)c(mem)m(b)s(ers)g -(follo)m(wing)i Fo(slot-name)p Fs(.)150 4646 y(`)p Fn(\045define)d -(hash-function-name)c Fo(name)5 b Fs(')630 4755 y(Allo)m(ws)31 +(follo)m(wing)i Fn(slot-name)p Fv(.)150 4646 y(`)p Fr(\045define)d +(hash-function-name)c Fi(name)11 b Fv(')630 4756 y(Allo)m(ws)31 b(y)m(ou)f(to)g(sp)s(ecify)g(the)g(name)g(for)f(the)h(generated)h(hash) e(function.)40 b(Default)31 b(name)630 4865 y(is)f(`)p -Fn(hash)p Fs('.)40 b(This)30 b(option)h(p)s(ermits)e(the)i(use)f(of)h +Fr(hash)p Fv('.)40 b(This)30 b(option)h(p)s(ermits)e(the)i(use)f(of)h (t)m(w)m(o)g(hash)f(tables)h(in)f(the)h(same)g(\014le.)150 -5011 y(`)p Fn(\045define)e(lookup-function-name)24 b -Fo(name)5 b Fs(')630 5121 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e +5011 y(`)p Fr(\045define)e(lookup-function-name)24 b +Fi(name)11 b Fv(')630 5121 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e (the)i(name)f(for)f(the)h(generated)h(lo)s(okup)f(function.)75 -b(Default)630 5230 y(name)28 b(is)g(`)p Fn(in_word_set)p -Fs('.)37 b(This)27 b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f +b(Default)630 5230 y(name)28 b(is)g(`)p Fr(in_word_set)p +Fv('.)37 b(This)27 b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f (hash)f(functions)630 5340 y(to)k(b)s(e)f(used)f(in)h(the)h(same)g (application.)p eop end -%%Page: 14 16 -TeXDict begin 14 15 bop 150 -116 a Fs(Chapter)30 b(3:)41 -b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520 -b Fs(14)150 299 y(`)p Fn(\045define)29 b(class-name)e -Fo(name)5 b Fs(')630 408 y(This)66 b(option)i(is)f(only)h(useful)e -(when)h(option)g(`)p Fn(-L)30 b(C++)p Fs(')67 b(\(or,)77 -b(equiv)-5 b(alen)m(tly)d(,)79 b(the)630 518 y(`)p Fn(\045language=C++) -p Fs(')43 b(declaration\))k(has)f(b)s(een)f(giv)m(en.)88 +%%Page: 18 20 +TeXDict begin 18 19 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(18)150 299 y(`)p Fr(\045define)29 b(class-name)e +Fi(name)11 b Fv(')630 408 y(This)66 b(option)i(is)f(only)h(useful)e +(when)h(option)g(`)p Fr(-L)30 b(C++)p Fv(')67 b(\(or,)77 +b(equiv)-5 b(alen)m(tly)d(,)79 b(the)630 518 y(`)p Fr(\045language=C++) +p Fv(')43 b(declaration\))k(has)f(b)s(een)f(giv)m(en.)88 b(It)46 b(allo)m(ws)h(y)m(ou)f(to)g(sp)s(ecify)g(the)630 -628 y(name)30 b(of)h(generated)g(C)p Fn(++)f Fs(class.)41 -b(Default)32 b(name)e(is)h Fn(Perfect_Hash)p Fs(.)150 -792 y(`)p Fn(\0457bit)p Fs(')190 b(This)36 b(option)i(sp)s(eci\014es)f +628 y(name)30 b(of)h(generated)g(C)p Fr(++)f Fv(class.)41 +b(Default)32 b(name)e(is)h Fr(Perfect_Hash)p Fv(.)150 +792 y(`)p Fr(\0457bit)p Fv(')190 b(This)36 b(option)i(sp)s(eci\014es)f (that)g(all)h(strings)f(that)h(will)f(b)s(e)g(passed)f(as)i(argumen)m (ts)f(to)h(the)630 902 y(generated)e(hash)e(function)g(and)h(the)g (generated)g(lo)s(okup)g(function)f(will)h(solely)h(consist)630 1011 y(of)d(7-bit)h(ASCI)s(I)e(c)m(haracters)j(\(b)m(ytes)f(in)f(the)g (range)h(0..127\).)51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630 -1121 y(functions)f Fn(isalnum)f Fs(and)i Fn(isgraph)e -Fs(do)i Fl(not)41 b Fs(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f +1121 y(functions)f Fr(isalnum)f Fv(and)i Fr(isgraph)e +Fv(do)i Fm(not)41 b Fv(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f (this)h(range.)630 1230 y(Only)e(an)g(explicit)i(test)f(lik)m(e)h(`)p -Fn(c)e(>=)g('A')f(&&)h(c)g(<=)g('Z')p Fs(')f(guaran)m(tees)j(this.\)) -150 1395 y(`)p Fn(\045compare-lengths)p Fs(')630 1504 +Fr(c)e(>=)g('A')f(&&)h(c)g(<=)g('Z')p Fv(')f(guaran)m(tees)j(this.\)) +150 1395 y(`)p Fr(\045compare-lengths)p Fv(')630 1504 y(Compare)40 b(k)m(eyw)m(ord)g(lengths)g(b)s(efore)f(trying)h(a)h (string)e(comparison.)70 b(This)39 b(option)h(is)630 1614 y(mandatory)32 b(for)h(binary)e(comparisons)i(\(see)g(Section)h -(3.3)f([Binary)g(Strings],)g(page)g(18\).)630 1724 y(It)g(also)h(migh)m +(3.3)f([Binary)g(Strings],)g(page)g(22\).)630 1724 y(It)g(also)h(migh)m (t)g(cut)f(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)g (comparisons)g(made)g(during)f(the)630 1833 y(lo)s(okup,)i(since)g(k)m (eyw)m(ords)f(with)g(di\013eren)m(t)h(lengths)g(are)f(nev)m(er)h -(compared)f(via)h Fn(strcmp)p Fs(.)630 1943 y(Ho)m(w)m(ev)m(er,)d -(using)d(`)p Fn(\045compare-lengths)p Fs(')c(migh)m(t)29 +(compared)f(via)h Fr(strcmp)p Fv(.)630 1943 y(Ho)m(w)m(ev)m(er,)d +(using)d(`)p Fr(\045compare-lengths)p Fv(')c(migh)m(t)29 b(greatly)h(increase)f(the)g(size)g(of)g(the)f(gen-)630 2052 y(erated)j(C)f(co)s(de)h(if)f(the)h(lo)s(okup)f(table)i(range)e (is)h(large)g(\(whic)m(h)g(implies)g(that)g(the)f(switc)m(h)630 -2162 y(option)24 b(`)p Fn(-S)p Fs(')g(or)g(`)p Fn(\045switch)p -Fs(')f(is)h(not)g(enabled\),)i(since)e(the)g(length)h(table)f(con)m +2162 y(option)24 b(`)p Fr(-S)p Fv(')g(or)g(`)p Fr(\045switch)p +Fv(')f(is)h(not)g(enabled\),)i(since)e(the)g(length)h(table)f(con)m (tains)i(as)e(man)m(y)630 2271 y(elemen)m(ts)32 b(as)e(there)h(are)g (en)m(tries)g(in)f(the)g(lo)s(okup)g(table.)150 2436 -y(`)p Fn(\045compare-strncmp)p Fs(')630 2545 y(Generates)22 -b(C)f(co)s(de)g(that)h(uses)e(the)i Fn(strncmp)d Fs(function)h(to)i(p)s +y(`)p Fr(\045compare-strncmp)p Fv(')630 2545 y(Generates)22 +b(C)f(co)s(de)g(that)h(uses)e(the)i Fr(strncmp)d Fv(function)h(to)i(p)s (erform)e(string)h(comparisons.)630 2655 y(The)30 b(default)g(action)i -(is)f(to)g(use)f Fn(strcmp)p Fs(.)150 2819 y(`)p Fn -(\045readonly-tables)p Fs(')630 2929 y(Mak)m(es)41 b(the)f(con)m(ten)m +(is)f(to)g(use)f Fr(strcmp)p Fv(.)150 2819 y(`)p Fr +(\045readonly-tables)p Fv(')630 2929 y(Mak)m(es)41 b(the)f(con)m(ten)m (ts)h(of)f(all)h(generated)f(lo)s(okup)f(tables)i(constan)m(t,)i(i.e.,) h(\\readonly".)630 3039 y(Man)m(y)31 b(compilers)g(can)g(generate)h (more)e(e\016cien)m(t)i(co)s(de)f(for)f(this)h(b)m(y)f(putting)g(the)h (tables)630 3148 y(in)f(readonly)h(memory)-8 b(.)150 -3313 y(`)p Fn(\045enum)p Fs(')190 b(De\014ne)31 b(constan)m(t)g(v)-5 +3313 y(`)p Fr(\045enum)p Fv(')190 b(De\014ne)31 b(constan)m(t)g(v)-5 b(alues)31 b(using)f(an)g(en)m(um)g(lo)s(cal)i(to)f(the)g(lo)s(okup)f (function)g(rather)g(than)630 3422 y(with)37 b(#de\014nes.)60 b(This)36 b(also)i(means)g(that)f(di\013eren)m(t)h(lo)s(okup)f (functions)g(can)g(reside)g(in)630 3532 y(the)31 b(same)f(\014le.)41 -b(Thanks)29 b(to)j(James)e(Clark)g Fn(<jjc@ai.mit.edu>)p -Fs(.)150 3696 y(`)p Fn(\045includes)p Fs(')630 3806 y(Include)g(the)h -(necessary)h(system)f(include)g(\014le,)g Fn(<string.h>)p -Fs(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630 3915 y(co)s(de.)39 +b(Thanks)29 b(to)j(James)e(Clark)g Fr(<jjc@ai.mit.edu>)p +Fv(.)150 3696 y(`)p Fr(\045includes)p Fv(')630 3806 y(Include)g(the)h +(necessary)h(system)f(include)g(\014le,)g Fr(<string.h>)p +Fv(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630 3915 y(co)s(de.)39 b(By)27 b(default,)g(this)f(is)g(not)g(done;)i(the)e(user)f(m)m(ust)h (include)g(this)f(header)h(\014le)g(himself)630 4025 y(to)31 b(allo)m(w)h(compilation)g(of)e(the)h(co)s(de.)150 -4189 y(`)p Fn(\045global-table)p Fs(')630 4299 y(Generate)38 +4189 y(`)p Fr(\045global-table)p Fv(')630 4299 y(Generate)38 b(the)f(static)h(table)f(of)g(k)m(eyw)m(ords)g(as)g(a)g(static)h (global)g(v)-5 b(ariable,)39 b(rather)d(than)630 4408 y(hiding)30 b(it)h(inside)f(of)g(the)h(lo)s(okup)f(function)g(\(whic)m (h)g(is)h(the)f(default)h(b)s(eha)m(vior\).)150 4573 -y(`)p Fn(\045pic)p Fs(')238 b(Optimize)42 b(the)f(generated)h(table)g +y(`)p Fr(\045pic)p Fv(')238 b(Optimize)42 b(the)f(generated)h(table)g (for)f(inclusion)g(in)g(shared)f(libraries.)73 b(This)40 b(reduces)630 4682 y(the)35 b(startup)g(time)h(of)f(programs)g(using)g (a)h(shared)e(library)h(con)m(taining)i(the)e(generated)630 -4792 y(co)s(de.)j(If)21 b(the)h(`)p Fn(\045struct-type)p -Fs(')d(declaration)24 b(\(or,)g(equiv)-5 b(alen)m(tly)d(,)26 -b(the)c(option)g(`)p Fn(-t)p Fs('\))g(is)g(also)630 4902 +4792 y(co)s(de.)j(If)21 b(the)h(`)p Fr(\045struct-type)p +Fv(')d(declaration)24 b(\(or,)g(equiv)-5 b(alen)m(tly)d(,)26 +b(the)c(option)g(`)p Fr(-t)p Fv('\))g(is)g(also)630 4902 y(giv)m(en,)32 b(the)f(\014rst)e(\014eld)i(of)f(the)h(user-de\014ned)e -(struct)i(m)m(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fn(int)p -Fs(',)f(not)h(`)p Fn(char)630 5011 y(*)p Fs(',)h(b)s(ecause)f(it)i +(struct)i(m)m(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fr(int)p +Fv(',)f(not)h(`)p Fr(char)630 5011 y(*)p Fv(',)h(b)s(ecause)f(it)i (will)e(con)m(tain)i(o\013sets)g(in)m(to)f(the)g(string)f(p)s(o)s(ol)h (instead)f(of)h(actual)h(strings.)630 5121 y(T)-8 b(o)33 b(con)m(v)m(ert)h(suc)m(h)f(an)f(o\013set)i(to)f(a)g(string,)h(y)m(ou)f -(can)g(use)f(the)h(expression)f(`)p Fn(stringpool)630 -5230 y(+)e Fo(o)5 b Fs(',)34 b(where)f Fo(o)38 b Fs(is)33 -b(the)g(o\013set.)50 b(The)32 b(string)h(p)s(o)s(ol)g(name)g(can)g(b)s -(e)g(c)m(hanged)g(through)g(the)630 5340 y(`)p Fn(\045define)c -(string-pool-name)p Fs(')d(declaration.)p eop end -%%Page: 15 17 -TeXDict begin 15 16 bop 150 -116 a Fs(Chapter)30 b(3:)41 -b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520 -b Fs(15)150 299 y(`)p Fn(\045define)29 b(string-pool-name)d -Fo(name)5 b Fs(')630 408 y(Allo)m(ws)42 b(y)m(ou)f(to)h(sp)s(ecify)f +(can)g(use)f(the)h(expression)f(`)p Fr(stringpool)630 +5230 y(+)e Fi(o)11 b Fv(',)33 b(where)f Fn(o)37 b Fv(is)c(the)g +(o\013set.)48 b(The)32 b(string)g(p)s(o)s(ol)g(name)h(can)g(b)s(e)f(c)m +(hanged)h(through)f(the)630 5340 y(`)p Fr(\045define)d +(string-pool-name)p Fv(')d(declaration.)p eop end +%%Page: 19 21 +TeXDict begin 19 20 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(19)150 299 y(`)p Fr(\045define)29 b(string-pool-name)d +Fi(name)11 b Fv(')630 408 y(Allo)m(ws)42 b(y)m(ou)f(to)h(sp)s(ecify)f (the)g(name)g(of)g(the)g(generated)h(string)f(p)s(o)s(ol)g(created)h(b) -m(y)f(the)630 518 y(declaration)48 b(`)p Fn(\045pic)p -Fs(')e(\(or,)51 b(equiv)-5 b(alen)m(tly)d(,)53 b(the)47 -b(option)f(`)p Fn(-P)p Fs('\).)90 b(The)46 b(default)g(name)h(is)630 -628 y(`)p Fn(stringpool)p Fs('.)38 b(This)29 b(declaration)i(p)s +m(y)f(the)630 518 y(declaration)48 b(`)p Fr(\045pic)p +Fv(')e(\(or,)51 b(equiv)-5 b(alen)m(tly)d(,)53 b(the)47 +b(option)f(`)p Fr(-P)p Fv('\).)90 b(The)46 b(default)g(name)h(is)630 +628 y(`)p Fr(stringpool)p Fv('.)38 b(This)29 b(declaration)i(p)s (ermits)e(the)h(use)g(of)g(t)m(w)m(o)h(hash)e(tables)h(in)g(the)g(same) -630 737 y(\014le,)39 b(with)d(`)p Fn(\045pic)p Fs(')g(and)g(ev)m(en)h -(when)f(the)h(`)p Fn(\045global-table)p Fs(')c(declaration)38 +630 737 y(\014le,)39 b(with)d(`)p Fr(\045pic)p Fv(')g(and)g(ev)m(en)h +(when)f(the)h(`)p Fr(\045global-table)p Fv(')c(declaration)38 b(\(or,)h(equiv)-5 b(a-)630 847 y(len)m(tly)d(,)32 b(the)f(option)g(`)p -Fn(-G)p Fs('\))f(is)h(giv)m(en.)150 1074 y(`)p Fn(\045null-strings)p -Fs(')630 1183 y(Use)39 b(NULL)g(strings)f(instead)i(of)e(empt)m(y)i +Fr(-G)p Fv('\))f(is)h(giv)m(en.)150 1108 y(`)p Fr(\045null-strings)p +Fv(')630 1218 y(Use)39 b(NULL)g(strings)f(instead)i(of)e(empt)m(y)i (strings)e(for)h(empt)m(y)g(k)m(eyw)m(ord)g(table)h(en)m(tries.)630 -1293 y(This)e(reduces)g(the)h(startup)g(time)g(of)g(programs)g(using)f -(a)h(shared)f(library)g(con)m(taining)630 1402 y(the)29 +1327 y(This)e(reduces)g(the)h(startup)g(time)g(of)g(programs)g(using)f +(a)h(shared)f(library)g(con)m(taining)630 1437 y(the)29 b(generated)g(co)s(de)g(\(but)f(not)g(as)h(m)m(uc)m(h)g(as)f(the)h -(declaration)h(`)p Fn(\045pic)p Fs('\),)f(at)g(the)f(exp)s(ense)630 -1512 y(of)j(one)f(more)h(test-and-branc)m(h)g(instruction)f(at)h(run)e -(time.)150 1739 y(`)p Fn(\045define)g(word-array-name)d -Fo(name)5 b Fs(')630 1848 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f +(declaration)h(`)p Fr(\045pic)p Fv('\),)f(at)g(the)f(exp)s(ense)630 +1546 y(of)j(one)f(more)h(test-and-branc)m(h)g(instruction)f(at)h(run)e +(time.)150 1807 y(`)p Fr(\045define)g(word-array-name)d +Fi(name)11 b Fv(')630 1917 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f (the)g(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)i(the)e -(hash)630 1958 y(table.)106 b(Default)53 b(name)e(is)h(`)p -Fn(wordlist)p Fs('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g -(of)g(t)m(w)m(o)630 2068 y(hash)37 b(tables)h(in)g(the)g(same)g -(\014le,)i(ev)m(en)e(when)f(the)h(option)g(`)p Fn(-G)p -Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630 -2177 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))33 -b(is)d(giv)m(en.)150 2404 y(`)p Fn(\045define)f(length-table-name)c -Fo(name)5 b Fs(')630 2514 y(Allo)m(ws)36 b(y)m(ou)e(to)i(sp)s(ecify)e +(hash)630 2027 y(table.)106 b(Default)53 b(name)e(is)h(`)p +Fr(wordlist)p Fv('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g +(of)g(t)m(w)m(o)630 2136 y(hash)37 b(tables)h(in)g(the)g(same)g +(\014le,)i(ev)m(en)e(when)f(the)h(option)g(`)p Fr(-G)p +Fv(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630 +2246 y(`)p Fr(\045global-table)p Fv(')27 b(declaration\))33 +b(is)d(giv)m(en.)150 2507 y(`)p Fr(\045define)f(length-table-name)c +Fi(name)11 b Fv(')630 2616 y(Allo)m(ws)36 b(y)m(ou)e(to)i(sp)s(ecify)e (the)h(name)f(for)g(the)h(generated)h(arra)m(y)f(con)m(taining)h(the)f -(length)630 2623 y(table.)77 b(Default)43 b(name)g(is)f(`)p -Fn(lengthtable)p Fs('.)74 b(This)41 b(option)i(p)s(ermits)e(the)h(use)g -(of)h(t)m(w)m(o)630 2733 y(length)33 b(tables)h(in)f(the)g(same)g -(\014le,)h(ev)m(en)g(when)e(the)h(option)h(`)p Fn(-G)p -Fs(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)36 b(the)630 -2842 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))33 -b(is)d(giv)m(en.)150 3069 y(`)p Fn(\045switch=)p Fo(coun)m(t)r -Fs(')630 3179 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e -(a)h Fn(switch)e Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630 -3289 y(an)j(arra)m(y)g(lo)s(okup)g(table.)64 b(This)37 +(length)630 2726 y(table.)77 b(Default)43 b(name)g(is)f(`)p +Fr(lengthtable)p Fv('.)74 b(This)41 b(option)i(p)s(ermits)e(the)h(use)g +(of)h(t)m(w)m(o)630 2836 y(length)33 b(tables)h(in)f(the)g(same)g +(\014le,)h(ev)m(en)g(when)e(the)h(option)h(`)p Fr(-G)p +Fv(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)36 b(the)630 +2945 y(`)p Fr(\045global-table)p Fv(')27 b(declaration\))33 +b(is)d(giv)m(en.)150 3206 y(`)p Fr(\045switch=)p Fi(count)11 +b Fv(')630 3316 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use) +e(a)h Fr(switch)e Fv(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630 +3425 y(an)j(arra)m(y)g(lo)s(okup)g(table.)64 b(This)37 b(can)h(lead)h(to)f(a)h(reduction)f(in)f(b)s(oth)g(time)i(and)e(space) -630 3398 y(requiremen)m(ts)43 b(for)h(some)f(input)g(\014les.)80 +630 3535 y(requiremen)m(ts)43 b(for)h(some)f(input)g(\014les.)80 b(The)43 b(argumen)m(t)h(to)g(this)f(option)h(determines)630 -3508 y(ho)m(w)33 b(man)m(y)f Fn(switch)f Fs(statemen)m(ts)k(are)e +3645 y(ho)m(w)33 b(man)m(y)f Fr(switch)f Fv(statemen)m(ts)k(are)e (generated.)49 b(A)32 b(v)-5 b(alue)34 b(of)e(1)i(generates)g(1)f -Fn(switch)630 3617 y Fs(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i +Fr(switch)630 3754 y Fv(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i (a)d(v)-5 b(alue)23 b(of)h(2)f(generates)h(2)g(tables)f(with)g(1/2)h -(the)g(elemen)m(ts)630 3727 y(in)38 b(eac)m(h)h Fn(switch)p -Fs(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e -(compilers)i(cannot)g(correctly)630 3836 y(generate)29 -b(co)s(de)f(for)f(large)h Fn(switch)e Fs(statemen)m(ts.)41 +(the)g(elemen)m(ts)630 3864 y(in)38 b(eac)m(h)h Fr(switch)p +Fv(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e +(compilers)i(cannot)g(correctly)630 3973 y(generate)29 +b(co)s(de)f(for)f(large)h Fr(switch)e Fv(statemen)m(ts.)41 b(This)27 b(option)h(w)m(as)g(inspired)e(in)h(part)g(b)m(y)630 -3946 y(Keith)k(Bostic's)h(original)f(C)f(program.)150 -4173 y(`)p Fn(\045omit-struct-type)p Fs(')630 4282 y(Prev)m(en)m(ts)f +4083 y(Keith)k(Bostic's)h(original)f(C)f(program.)150 +4344 y(`)p Fr(\045omit-struct-type)p Fv(')630 4454 y(Prev)m(en)m(ts)f (the)e(transfer)h(of)f(the)h(t)m(yp)s(e)g(declaration)h(to)g(the)f -(output)f(\014le.)40 b(Use)28 b(this)f(option)630 4392 +(output)f(\014le.)40 b(Use)28 b(this)f(option)630 4563 y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g(de\014ned)e(elsewhere.)150 -4751 y Fj(3.1.1.3)63 b(C)41 b(Co)s(de)g(Inclusion)275 -5011 y Fs(Using)26 b(a)g(syn)m(tax)h(similar)f(to)h(GNU)f(utilities)i -Fn(flex)d Fs(and)g Fn(bison)p Fs(,)h(it)g(is)g(p)s(ossible)g(to)g +4864 y Fk(3.1.1.3)63 b(C)41 b(Co)s(de)g(Inclusion)275 +5011 y Fv(Using)26 b(a)g(syn)m(tax)h(similar)f(to)h(GNU)f(utilities)i +Fr(flex)d Fv(and)g Fr(bison)p Fv(,)h(it)g(is)g(p)s(ossible)g(to)g (directly)h(include)150 5121 y(C)i(source)h(text)g(and)f(commen)m(ts)h (v)m(erbatim)g(in)m(to)h(the)e(generated)i(output)e(\014le.)40 b(This)29 b(is)g(accomplished)150 5230 y(b)m(y)37 b(enclosing)h(the)g (region)g(inside)e(left-justi\014ed)i(surrounding)d(`)p -Fn(\045{)p Fs(',)k(`)p Fn(\045})p Fs(')e(pairs.)61 b(Here)38 +Fr(\045{)p Fv(',)k(`)p Fr(\045})p Fv(')e(pairs.)61 b(Here)38 b(is)f(an)g(input)150 5340 y(fragmen)m(t)31 b(based)f(on)g(the)h (previous)f(example)h(that)g(illustrates)g(this)g(feature:)p eop end -%%Page: 16 18 -TeXDict begin 16 17 bop 150 -116 a Fs(Chapter)30 b(3:)41 -b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520 -b Fs(16)390 299 y Fn(\045{)390 403 y(#include)46 b(<assert.h>)390 -506 y(/*)h(This)g(section)f(of)h(code)f(is)i(inserted)d(directly)h -(into)g(the)h(output.)f(*/)390 610 y(int)h(return_month_days)c +%%Page: 20 22 +TeXDict begin 20 21 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(20)390 299 y Fr(\045{)390 408 y(#include)46 b(<assert.h>)390 +518 y(/*)h(This)g(section)f(of)h(code)f(is)i(inserted)d(directly)h +(into)g(the)h(output.)f(*/)390 628 y(int)h(return_month_days)c (\(struct)j(month)g(*months,)g(int)h(is_leap_year\);)390 -714 y(\045})390 818 y(struct)f(month)g({)i(char)f(*name;)f(int)h -(number;)e(int)i(days;)g(int)g(leap_days;)e(};)390 922 -y(\045\045)390 1025 y(january,)141 b(1,)47 b(31,)g(31)390 -1129 y(february,)93 b(2,)47 b(28,)g(29)390 1233 y(march,)237 -b(3,)47 b(31,)g(31)390 1337 y(...)150 1632 y Fj(3.1.2)63 +737 y(\045})390 847 y(struct)f(month)g({)i(char)f(*name;)f(int)h +(number;)e(int)i(days;)g(int)g(leap_days;)e(};)390 956 +y(\045\045)390 1066 y(january,)141 b(1,)47 b(31,)g(31)390 +1176 y(february,)93 b(2,)47 b(28,)g(29)390 1285 y(march,)237 +b(3,)47 b(31,)g(31)390 1395 y(...)150 1636 y Fk(3.1.2)63 b(F)-10 b(ormat)41 b(for)h(Keyw)m(ord)e(En)m(tries)275 -1865 y Fs(The)33 b(second)i(input)e(\014le)i(format)g(section)g(con)m +1783 y Fv(The)33 b(second)i(input)e(\014le)i(format)g(section)g(con)m (tains)h(lines)e(of)h(k)m(eyw)m(ords)g(and)e(an)m(y)i(asso)s(ciated)h -(at-)150 1974 y(tributes)i(y)m(ou)h(migh)m(t)g(supply)-8 -b(.)64 b(A)39 b(line)f(b)s(eginning)g(with)g(`)p Fn(#)p -Fs(')h(in)f(the)h(\014rst)f(column)g(is)g(considered)h(a)150 -2084 y(commen)m(t.)53 b(Ev)m(erything)34 b(follo)m(wing)h(the)g(`)p -Fn(#)p Fs(')f(is)g(ignored,)h(up)e(to)i(and)e(including)h(the)g(follo)m -(wing)h(new-)150 2193 y(line.)57 b(A)36 b(line)h(b)s(eginning)e(with)g -(`)p Fn(\045)p Fs(')h(in)g(the)g(\014rst)f(column)g(is)h(an)g(option)g -(declaration)i(and)d(m)m(ust)h(not)150 2303 y(o)s(ccur)30 -b(within)g(the)h(k)m(eyw)m(ords)f(section.)275 2477 y(The)36 +(at-)150 1893 y(tributes)i(y)m(ou)h(migh)m(t)g(supply)-8 +b(.)64 b(A)39 b(line)f(b)s(eginning)g(with)g(`)p Fr(#)p +Fv(')h(in)f(the)h(\014rst)f(column)g(is)g(considered)h(a)150 +2002 y(commen)m(t.)53 b(Ev)m(erything)34 b(follo)m(wing)h(the)g(`)p +Fr(#)p Fv(')f(is)g(ignored,)h(up)e(to)i(and)e(including)h(the)g(follo)m +(wing)h(new-)150 2112 y(line.)57 b(A)36 b(line)h(b)s(eginning)e(with)g +(`)p Fr(\045)p Fv(')h(in)g(the)g(\014rst)f(column)g(is)h(an)g(option)g +(declaration)i(and)d(m)m(ust)h(not)150 2222 y(o)s(ccur)30 +b(within)g(the)h(k)m(eyw)m(ords)f(section.)275 2399 y(The)36 b(\014rst)g(\014eld)g(of)h(eac)m(h)g(non-commen)m(t)h(line)f(is)g(alw)m (a)m(ys)h(the)f(k)m(eyw)m(ord)g(itself.)60 b(It)37 b(can)g(b)s(e)f(giv) -m(en)150 2587 y(in)f(t)m(w)m(o)h(w)m(a)m(ys:)51 b(as)35 +m(en)150 2508 y(in)f(t)m(w)m(o)h(w)m(a)m(ys:)51 b(as)35 b(a)g(simple)g(name,)i(i.e.,)g(without)e(surrounding)e(string)i -(quotation)h(marks,)g(or)f(as)h(a)150 2696 y(string)i(enclosed)g(in)f +(quotation)h(marks,)g(or)f(as)h(a)150 2618 y(string)i(enclosed)g(in)f (double-quotes,)j(in)d(C)h(syn)m(tax,)i(p)s(ossibly)d(with)g(bac)m -(kslash)h(escap)s(es)g(lik)m(e)h Fn(\\")e Fs(or)150 2806 -y Fn(\\234)23 b Fs(or)i Fn(\\xa8)p Fs(.)37 b(In)24 b(either)h(case,)i +(kslash)h(escap)s(es)g(lik)m(e)h Fr(\\")e Fv(or)150 2727 +y Fr(\\234)23 b Fv(or)i Fr(\\xa8)p Fv(.)37 b(In)24 b(either)h(case,)i (it)e(m)m(ust)f(start)h(righ)m(t)g(at)g(the)g(b)s(eginning)e(of)i(the)g -(line,)h(without)e(leading)150 2916 y(whitespace.)58 +(line,)h(without)e(leading)150 2837 y(whitespace.)58 b(In)35 b(this)h(con)m(text,)j(a)e(\\\014eld")f(is)g(considered)g(to)g -(extend)g(up)f(to,)j(but)d(not)h(include,)i(the)150 3025 +(extend)g(up)f(to,)j(but)d(not)h(include,)i(the)150 2946 y(\014rst)g(blank,)i(comma,)i(or)c(newline.)65 b(Here)39 b(is)f(a)h(simple)g(example)g(tak)m(en)g(from)f(a)h(partial)h(list)f -(of)f(C)150 3135 y(reserv)m(ed)31 b(w)m(ords:)390 3303 -y Fn(#)47 b(These)g(are)g(a)g(few)g(C)h(reserved)d(words,)h(see)h(the)g -(c.gperf)f(file)390 3407 y(#)h(for)g(a)h(complete)d(list)i(of)g(ANSI)g -(C)g(reserved)f(words.)390 3511 y(unsigned)390 3615 y(sizeof)390 -3718 y(switch)390 3822 y(signed)390 3926 y(if)390 4030 -y(default)390 4133 y(for)390 4237 y(while)390 4341 y(return)275 -4508 y Fs(Note)38 b(that)f(unlik)m(e)g Fn(flex)f Fs(or)h -Fn(bison)e Fs(the)j(\014rst)e(`)p Fn(\045\045)p Fs(')g(mark)m(er)i(ma)m -(y)f(b)s(e)f(elided)h(if)g(the)g(declaration)150 4618 +(of)f(C)150 3056 y(reserv)m(ed)31 b(w)m(ords:)390 3233 +y Fr(#)47 b(These)g(are)g(a)g(few)g(C)h(reserved)d(words,)h(see)h(the)g +(c.gperf)f(file)390 3342 y(#)h(for)g(a)h(complete)d(list)i(of)g(ANSI)g +(C)g(reserved)f(words.)390 3452 y(unsigned)390 3562 y(sizeof)390 +3671 y(switch)390 3781 y(signed)390 3890 y(if)390 4000 +y(default)390 4110 y(for)390 4219 y(while)390 4329 y(return)275 +4506 y Fv(Note)38 b(that)f(unlik)m(e)g Fr(flex)f Fv(or)h +Fr(bison)e Fv(the)j(\014rst)e(`)p Fr(\045\045)p Fv(')g(mark)m(er)i(ma)m +(y)f(b)s(e)f(elided)h(if)g(the)g(declaration)150 4615 y(section)32 b(is)e(empt)m(y)-8 b(.)275 4792 y(Additional)29 b(\014elds)f(ma)m(y)h(optionally)h(follo)m(w)g(the)f(leading)g(k)m(eyw) m(ord.)41 b(Fields)29 b(should)e(b)s(e)h(separated)150 4902 y(b)m(y)g(commas,)i(and)d(terminate)j(at)f(the)f(end)g(of)g(line.) 41 b(What)29 b(these)f(\014elds)g(mean)g(is)h(en)m(tirely)g(up)e(to)i (y)m(ou;)150 5011 y(they)k(are)h(used)e(to)i(initialize)h(the)f(elemen) -m(ts)g(of)f(the)h(user-de\014ned)d Fn(struct)h Fs(pro)m(vided)g(b)m(y)h +m(ts)g(of)f(the)h(user-de\014ned)d Fr(struct)h Fv(pro)m(vided)g(b)m(y)h (y)m(ou)h(in)f(the)150 5121 y(declaration)40 b(section.)67 -b(If)39 b(the)g(`)p Fn(-t)p Fs(')f(option)h(\(or,)j(equiv)-5 -b(alen)m(tly)d(,)43 b(the)c(`)p Fn(\045struct-type)p -Fs(')d(declaration\))150 5230 y(is)g Fl(not)45 b Fs(enabled)36 +b(If)39 b(the)g(`)p Fr(-t)p Fv(')f(option)h(\(or,)j(equiv)-5 +b(alen)m(tly)d(,)43 b(the)c(`)p Fr(\045struct-type)p +Fv(')d(declaration\))150 5230 y(is)g Fm(not)45 b Fv(enabled)36 b(these)g(\014elds)g(are)g(simply)f(ignored.)58 b(All)36 b(previous)g(examples)g(except)h(the)f(last)h(one)150 5340 y(con)m(tain)32 b(k)m(eyw)m(ord)f(attributes.)p eop end -%%Page: 17 19 -TeXDict begin 17 18 bop 150 -116 a Fs(Chapter)30 b(3:)41 -b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520 -b Fs(17)150 299 y Fj(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10 -b(unctions)275 490 y Fs(The)30 b(optional)i(third)e(section)i(also)g +%%Page: 21 23 +TeXDict begin 21 22 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(21)150 299 y Fk(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10 +b(unctions)275 446 y Fv(The)30 b(optional)i(third)e(section)i(also)g (corresp)s(onds)d(closely)j(with)f(con)m(v)m(en)m(tions)i(found)c(in)i -Fn(flex)f Fs(and)150 600 y Fn(bison)p Fs(.)36 b(All)23 +Fr(flex)f Fv(and)150 555 y Fr(bison)p Fv(.)36 b(All)23 b(text)g(in)f(this)f(section,)k(starting)e(at)g(the)f(\014nal)f(`)p -Fn(\045\045)p Fs(')h(and)f(extending)i(to)f(the)g(end)g(of)g(the)g -(input)150 710 y(\014le,)31 b(is)g(included)g(v)m(erbatim)g(in)m(to)h +Fr(\045\045)p Fv(')h(and)f(extending)i(to)f(the)g(end)g(of)g(the)g +(input)150 665 y(\014le,)31 b(is)g(included)g(v)m(erbatim)g(in)m(to)h (the)f(generated)h(output)f(\014le.)42 b(Naturally)-8 b(,)33 b(it)e(is)g(y)m(our)g(resp)s(onsibilit)m(y)150 -819 y(to)g(ensure)f(that)h(the)f(co)s(de)h(con)m(tained)g(in)g(this)f -(section)h(is)g(v)-5 b(alid)30 b(C.)150 1040 y Fj(3.1.4)63 +775 y(to)g(ensure)f(that)h(the)f(co)s(de)h(con)m(tained)g(in)g(this)f +(section)h(is)g(v)-5 b(alid)30 b(C.)150 982 y Fk(3.1.4)63 b(Where)41 b(to)g(place)f(directiv)m(es)g(for)i(GNU)g -Fi(indent)p Fj(.)275 1231 y Fs(If)26 b(y)m(ou)i(w)m(an)m(t)g(to)g(in)m -(v)m(ok)m(e)h(GNU)f Fn(indent)e Fs(on)h(a)g Fn(gperf)f -Fs(input)h(\014le,)h(y)m(ou)f(will)h(see)g(that)g(GNU)g -Fn(indent)150 1341 y Fs(do)s(esn't)33 b(understand)e(the)i(`)p -Fn(\045\045)p Fs(',)h(`)p Fn(\045{)p Fs(')e(and)h(`)p -Fn(\045})p Fs(')g(directiv)m(es)h(that)f(con)m(trol)i -Fn(gperf)p Fs('s)c(in)m(terpretation)k(of)150 1451 y(the)23 +Fj(indent)p Fk(.)275 1129 y Fv(If)26 b(y)m(ou)i(w)m(an)m(t)g(to)g(in)m +(v)m(ok)m(e)h(GNU)f Fr(indent)e Fv(on)h(a)g Fr(gperf)f +Fv(input)h(\014le,)h(y)m(ou)f(will)h(see)g(that)g(GNU)g +Fr(indent)150 1239 y Fv(do)s(esn't)33 b(understand)e(the)i(`)p +Fr(\045\045)p Fv(',)h(`)p Fr(\045{)p Fv(')e(and)h(`)p +Fr(\045})p Fv(')g(directiv)m(es)h(that)f(con)m(trol)i +Fr(gperf)p Fv('s)c(in)m(terpretation)k(of)150 1348 y(the)23 b(input)f(\014le.)38 b(Therefore)23 b(y)m(ou)g(ha)m(v)m(e)h(to)g -(insert)f(some)g(directiv)m(es)h(for)f(GNU)h Fn(indent)p -Fs(.)36 b(More)24 b(precisely)-8 b(,)150 1560 y(assuming)30 +(insert)f(some)g(directiv)m(es)h(for)f(GNU)h Fr(indent)p +Fv(.)36 b(More)24 b(precisely)-8 b(,)150 1458 y(assuming)30 b(the)h(most)f(general)i(input)d(\014le)i(structure)390 -1688 y Fn(declarations)44 b(part)j(1)390 1791 y(\045{)390 -1895 y(verbatim)f(code)390 1999 y(\045})390 2103 y(declarations)e(part) -j(2)390 2207 y(\045\045)390 2310 y(keywords)390 2414 -y(\045\045)390 2518 y(functions)150 2644 y Fs(y)m(ou)31 -b(w)m(ould)f(insert)g(`)p Fn(*INDENT-OFF*)p Fs(')e(and)h(`)p -Fn(*INDENT-ON*)p Fs(')f(commen)m(ts)k(as)e(follo)m(ws:)390 -2772 y Fn(/*)47 b(*INDENT-OFF*)e(*/)390 2875 y(declarations)f(part)j(1) -390 2979 y(\045{)390 3083 y(/*)g(*INDENT-ON*)e(*/)390 -3187 y(verbatim)h(code)390 3291 y(/*)h(*INDENT-OFF*)e(*/)390 -3394 y(\045})390 3498 y(declarations)f(part)j(2)390 3602 -y(\045\045)390 3706 y(keywords)390 3809 y(\045\045)390 -3913 y(/*)g(*INDENT-ON*)e(*/)390 4017 y(functions)150 -4263 y Fr(3.2)68 b(Output)45 b(F)-11 b(ormat)45 b(for)g(Generated)h(C)f -(Co)t(de)g(with)g Fk(gperf)275 4454 y Fs(Sev)m(eral)28 +1600 y Fr(declarations)44 b(part)j(1)390 1710 y(\045{)390 +1820 y(verbatim)f(code)390 1929 y(\045})390 2039 y(declarations)e(part) +j(2)390 2148 y(\045\045)390 2258 y(keywords)390 2368 +y(\045\045)390 2477 y(functions)150 2620 y Fv(y)m(ou)31 +b(w)m(ould)f(insert)g(`)p Fr(*INDENT-OFF*)p Fv(')e(and)h(`)p +Fr(*INDENT-ON*)p Fv(')f(commen)m(ts)k(as)e(follo)m(ws:)390 +2763 y Fr(/*)47 b(*INDENT-OFF*)e(*/)390 2872 y(declarations)f(part)j(1) +390 2982 y(\045{)390 3091 y(/*)g(*INDENT-ON*)e(*/)390 +3201 y(verbatim)h(code)390 3310 y(/*)h(*INDENT-OFF*)e(*/)390 +3420 y(\045})390 3530 y(declarations)f(part)j(2)390 3639 +y(\045\045)390 3749 y(keywords)390 3858 y(\045\045)390 +3968 y(/*)g(*INDENT-ON*)e(*/)390 4078 y(functions)150 +4322 y Fu(3.2)68 b(Output)45 b(F)-11 b(ormat)45 b(for)g(Generated)h(C)f +(Co)t(de)g(with)g Fl(gperf)275 4482 y Fv(Sev)m(eral)28 b(options)g(con)m(trol)h(ho)m(w)e(the)h(generated)h(C)e(co)s(de)h(app)s (ears)e(on)i(the)g(standard)e(output.)40 b(Tw)m(o)150 -4564 y(C)i(functions)g(are)h(generated.)77 b(They)42 -b(are)h(called)g Fn(hash)f Fs(and)f Fn(in_word_set)p -Fs(,)i(although)g(y)m(ou)f(ma)m(y)150 4673 y(mo)s(dify)30 +4591 y(C)i(functions)g(are)h(generated.)77 b(They)42 +b(are)h(called)g Fr(hash)f Fv(and)f Fr(in_word_set)p +Fv(,)i(although)g(y)m(ou)f(ma)m(y)150 4701 y(mo)s(dify)30 b(their)g(names)h(with)f(a)h(command-line)g(option.)42 b(Both)31 b(functions)f(require)g(t)m(w)m(o)i(argumen)m(ts,)g(a)150 -4783 y(string,)h Fn(char)c(*)i Fo(str)p Fs(,)i(and)e(a)i(length)f -(parameter,)h Fn(int)e Fo(len)p Fs(.)46 b(Their)31 b(default)h -(function)g(protot)m(yp)s(es)h(are)150 4892 y(as)e(follo)m(ws:)3525 -5121 y(F)-8 b(unction)-3724 b Fh(unsigned)41 b(int)e -Fg(hash)44 b Ff(\()p Fn(const)30 b(char)f(*)h Fo(str)p -Fn(,)g(unsigned)e(int)h Fo(len)p Ff(\))390 5230 y Fs(By)35 -b(default,)h(the)e(generated)i Fn(hash)d Fs(function)h(returns)f(an)i -(in)m(teger)h(v)-5 b(alue)34 b(created)i(b)m(y)e(adding)390 -5340 y Fo(len)28 b Fs(to)g(sev)m(eral)h(user-sp)s(eci\014ed)d -Fo(str)34 b Fs(b)m(yte)28 b(p)s(ositions)g(indexed)f(in)m(to)h(an)f -Fo(asso)s(ciated)i(v)-5 b(alues)32 b Fs(table)p eop end -%%Page: 18 20 -TeXDict begin 18 19 bop 150 -116 a Fs(Chapter)30 b(3:)41 -b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520 -b Fs(18)390 299 y(stored)28 b(in)g(a)g(lo)s(cal)i(static)f(arra)m(y)-8 +4811 y(string,)h Fr(char)c(*)i Fn(str)p Fv(,)i(and)e(a)i(length)f +(parameter,)h Fr(int)e Fn(len)p Fv(.)46 b(Their)31 b(default)h +(function)g(protot)m(yp)s(es)h(are)150 4920 y(as)e(follo)m(ws:)3350 +5121 y([F)-8 b(unction])-3599 b Fh(unsigned)55 b(int)e(hash)47 +b Fg(\()p Fn(const)31 b(c)m(har)g(*)f Ff(str)p Fn(,)i(unsigned)d(in)m +(t)i Ff(len)12 b Fg(\))390 5230 y Fv(By)35 b(default,)h(the)e +(generated)i Fr(hash)d Fv(function)h(returns)f(an)i(in)m(teger)h(v)-5 +b(alue)34 b(created)i(b)m(y)e(adding)390 5340 y Fn(len)28 +b Fv(to)g(sev)m(eral)h(user-sp)s(eci\014ed)d Fn(str)34 +b Fv(b)m(yte)28 b(p)s(ositions)g(indexed)f(in)m(to)h(an)f +Fn(asso)s(ciated)i(v)-5 b(alues)32 b Fv(table)p eop end +%%Page: 22 24 +TeXDict begin 22 23 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(22)390 299 y(stored)28 b(in)g(a)g(lo)s(cal)i(static)f(arra)m(y)-8 b(.)41 b(The)28 b(asso)s(ciated)h(v)-5 b(alues)29 b(table)g(is)f -(constructed)g(in)m(ternally)h(b)m(y)390 408 y Fn(gperf)34 -b Fs(and)g(later)i(output)e(as)i(a)f(static)i(lo)s(cal)f(C)e(arra)m(y)i -(called)g(`)p Fn(hash_table)p Fs('.)52 b(The)35 b(relev)-5 +(constructed)g(in)m(ternally)h(b)m(y)390 408 y Fr(gperf)34 +b Fv(and)g(later)i(output)e(as)i(a)f(static)i(lo)s(cal)f(C)e(arra)m(y)i +(called)g(`)p Fr(hash_table)p Fv('.)52 b(The)35 b(relev)-5 b(an)m(t)390 518 y(selected)28 b(p)s(ositions)f(\(i.e.)41 -b(indices)27 b(in)m(to)h Fo(str)7 b Fs(\))26 b(are)h(sp)s(eci\014ed)f -(via)i(the)f(`)p Fn(-k)p Fs(')g(option)g(when)f(running)390 -628 y Fn(gperf)p Fs(,)j(as)i(detailed)g(in)f(the)h Fl(Options)39 -b Fs(section)31 b(b)s(elo)m(w)g(\(see)g(Chapter)f(4)h([Options],)f -(page)h(19\).)3525 857 y(F)-8 b(unction)-3724 b Fg(in)p -253 857 35 5 v 41 w(w)m(ord)p 542 857 V 41 w(set)44 b -Ff(\()p Fn(const)30 b(char)f(*)h Fo(str)p Fn(,)g(unsigned)e(int)h -Fo(len)p Ff(\))390 967 y Fs(If)k Fo(str)41 b Fs(is)33 -b(in)h(the)g(k)m(eyw)m(ord)g(set,)i(returns)c(a)j(p)s(oin)m(ter)f(to)g -(that)h(k)m(eyw)m(ord.)51 b(More)35 b(exactly)-8 b(,)37 -b(if)d(the)390 1076 y(option)d(`)p Fn(-t)p Fs(')g(\(or,)g(equiv)-5 -b(alen)m(tly)d(,)33 b(the)e(`)p Fn(\045struct-type)p -Fs(')d(declaration\))k(w)m(as)f(giv)m(en,)h(it)f(returns)f(a)390 -1186 y(p)s(oin)m(ter)g(to)h(the)g(matc)m(hing)h(k)m(eyw)m(ord's)e -(structure.)41 b(Otherwise)30 b(it)h(returns)e Fn(NULL)p -Fs(.)275 1367 y(If)39 b(the)i(option)f(`)p Fn(-c)p Fs(')g(\(or,)j -(equiv)-5 b(alen)m(tly)d(,)45 b(the)c(`)p Fn(\045compare-strncmp)p -Fs(')36 b(declaration\))42 b(is)e(not)g(used,)150 1477 -y Fo(str)k Fs(m)m(ust)37 b(b)s(e)f(a)i(NUL)f(terminated)h(string)f(of)h -(exactly)h(length)e Fo(len)p Fs(.)62 b(If)37 b(`)p Fn(-c)p -Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)150 -1587 y(`)p Fn(\045compare-strncmp)p Fs(')22 b(declaration\))28 -b(is)e(used,)g Fo(str)32 b Fs(m)m(ust)26 b(simply)g(b)s(e)f(an)h(arra)m -(y)g(of)g Fo(len)g Fs(b)m(ytes)h(and)e(do)s(es)150 1696 +b(indices)27 b(in)m(to)h Fn(str)7 b Fv(\))26 b(are)h(sp)s(eci\014ed)f +(via)i(the)f(`)p Fr(-k)p Fv(')g(option)g(when)f(running)390 +628 y Fr(gperf)p Fv(,)j(as)i(detailed)g(in)f(the)h Fm(Options)39 +b Fv(section)31 b(b)s(elo)m(w)g(\(see)g(Chapter)f(4)h([Options],)f +(page)h(24\).)3350 830 y([F)-8 b(unction])-3599 b Fh(in_word_set)49 +b Fg(\()p Fn(const)31 b(c)m(har)g(*)g Ff(str)p Fn(,)g(unsigned)e(in)m +(t)i Ff(len)12 b Fg(\))390 939 y Fv(If)33 b Fn(str)41 +b Fv(is)33 b(in)h(the)g(k)m(eyw)m(ord)g(set,)i(returns)c(a)j(p)s(oin)m +(ter)f(to)g(that)h(k)m(eyw)m(ord.)51 b(More)35 b(exactly)-8 +b(,)37 b(if)d(the)390 1049 y(option)d(`)p Fr(-t)p Fv(')g(\(or,)g(equiv) +-5 b(alen)m(tly)d(,)33 b(the)e(`)p Fr(\045struct-type)p +Fv(')d(declaration\))k(w)m(as)f(giv)m(en,)h(it)f(returns)f(a)390 +1159 y(p)s(oin)m(ter)g(to)h(the)g(matc)m(hing)h(k)m(eyw)m(ord's)e +(structure.)41 b(Otherwise)30 b(it)h(returns)e Fr(NULL)p +Fv(.)275 1361 y(If)39 b(the)i(option)f(`)p Fr(-c)p Fv(')g(\(or,)j +(equiv)-5 b(alen)m(tly)d(,)45 b(the)c(`)p Fr(\045compare-strncmp)p +Fv(')36 b(declaration\))42 b(is)e(not)g(used,)150 1470 +y Fn(str)k Fv(m)m(ust)37 b(b)s(e)f(a)i(NUL)f(terminated)h(string)f(of)h +(exactly)h(length)e Fn(len)p Fv(.)62 b(If)37 b(`)p Fr(-c)p +Fv(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)150 +1580 y(`)p Fr(\045compare-strncmp)p Fv(')22 b(declaration\))28 +b(is)e(used,)g Fn(str)32 b Fv(m)m(ust)26 b(simply)g(b)s(e)f(an)h(arra)m +(y)g(of)g Fn(len)g Fv(b)m(ytes)h(and)e(do)s(es)150 1689 y(not)31 b(need)f(to)h(b)s(e)f(NUL)g(terminated.)275 -1830 y(The)f(co)s(de)i(generated)g(for)g(these)f(t)m(w)m(o)i(functions) +1833 y(The)f(co)s(de)i(generated)g(for)g(these)f(t)m(w)m(o)i(functions) e(is)g(a\013ected)i(b)m(y)f(the)f(follo)m(wing)i(options:)150 -1987 y(`)p Fn(-t)p Fs(')150 2097 y(`)p Fn(--struct-type)p -Fs(')630 2207 y(Mak)m(e)g(use)e(of)h(the)f(user-de\014ned)f -Fn(struct)p Fs(.)150 2364 y(`)p Fn(-S)h Fo(total-switc)m(h-statemen)m -(ts)t Fs(')150 2474 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m -(ts)t Fs(')630 2583 y(Generate)22 b(1)f(or)g(more)g(C)f -Fn(switch)f Fs(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)j(\(and) -c(p)s(oten)m(tially)630 2693 y(sparse\))j(static)h(arra)m(y)-8 -b(.)40 b(Although)23 b(the)g(exact)h(time)g(and)e(space)i(sa)m(vings)g -(of)f(this)g(approac)m(h)630 2802 y(v)-5 b(ary)32 b(according)g(to)h(y) -m(our)e(C)g(compiler's)i(degree)f(of)g(optimization,)i(this)d(metho)s -(d)h(often)630 2912 y(results)e(in)g(smaller)h(and)f(faster)h(co)s(de.) -275 3070 y(If)c(the)h(`)p Fn(-t)p Fs(')g(and)f(`)p Fn(-S)p -Fs(')g(options)i(\(or,)f(equiv)-5 b(alen)m(tly)d(,)31 -b(the)d(`)p Fn(\045struct-type)p Fs(')d(and)i(`)p Fn(\045switch)p -Fs(')g(declara-)150 3179 y(tions\))f(are)f(omitted,)i(the)e(default)g -(action)h(is)f(to)h(generate)g(a)g Fn(char)j(*)24 b Fs(arra)m(y)i(con)m -(taining)g(the)f(k)m(eyw)m(ords,)150 3289 y(together)32 +2006 y(`)p Fr(-t)p Fv(')150 2115 y(`)p Fr(--struct-type)p +Fv(')630 2225 y(Mak)m(e)g(use)e(of)h(the)f(user-de\014ned)f +Fr(struct)p Fv(.)150 2393 y(`)p Fr(-S)h Fi(total-switch-statements)10 +b Fv(')150 2503 y(`)p Fr(--switch=)p Fi(total-switch-sta)o(teme)o(nts)g +Fv(')630 2612 y(Generate)22 b(1)f(or)g(more)g(C)f Fr(switch)f +Fv(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)j(\(and)c(p)s(oten)m +(tially)630 2722 y(sparse\))j(static)h(arra)m(y)-8 b(.)40 +b(Although)23 b(the)g(exact)h(time)g(and)e(space)i(sa)m(vings)g(of)f +(this)g(approac)m(h)630 2831 y(v)-5 b(ary)32 b(according)g(to)h(y)m +(our)e(C)g(compiler's)i(degree)f(of)g(optimization,)i(this)d(metho)s(d) +h(often)630 2941 y(results)e(in)g(smaller)h(and)f(faster)h(co)s(de.)275 +3114 y(If)c(the)h(`)p Fr(-t)p Fv(')g(and)f(`)p Fr(-S)p +Fv(')g(options)i(\(or,)f(equiv)-5 b(alen)m(tly)d(,)31 +b(the)d(`)p Fr(\045struct-type)p Fv(')d(and)i(`)p Fr(\045switch)p +Fv(')g(declara-)150 3223 y(tions\))f(are)f(omitted,)i(the)e(default)g +(action)h(is)f(to)h(generate)g(a)g Fr(char)j(*)24 b Fv(arra)m(y)i(con)m +(taining)g(the)f(k)m(eyw)m(ords,)150 3333 y(together)32 b(with)e(additional)i(empt)m(y)f(strings)f(used)g(for)g(padding)g(the)g (arra)m(y)-8 b(.)43 b(By)30 b(exp)s(erimen)m(ting)h(with)150 -3398 y(the)g(v)-5 b(arious)32 b(input)e(and)g(output)h(options,)h(and)f +3442 y(the)g(v)-5 b(arious)32 b(input)e(and)g(output)h(options,)h(and)f (timing)g(the)h(resulting)f(C)g(co)s(de,)h(y)m(ou)f(can)h(determine)150 -3508 y(the)f(b)s(est)f(option)g(c)m(hoices)i(for)f(di\013eren)m(t)f(k)m -(eyw)m(ord)h(set)g(c)m(haracteristics.)150 3763 y Fr(3.3)68 -b(Use)46 b(of)f(NUL)g(b)l(ytes)275 3954 y Fs(By)30 b(default,)h(the)f -(co)s(de)g(generated)i(b)m(y)e Fn(gperf)e Fs(op)s(erates)j(on)f(zero)h -(terminated)g(strings,)f(the)g(usual)150 4064 y(represen)m(tation)41 +3552 y(the)f(b)s(est)f(option)g(c)m(hoices)i(for)f(di\013eren)m(t)f(k)m +(eyw)m(ord)h(set)g(c)m(haracteristics.)150 3798 y Fu(3.3)68 +b(Use)46 b(of)f(NUL)g(b)l(ytes)275 3957 y Fv(By)30 b(default,)h(the)f +(co)s(de)g(generated)i(b)m(y)e Fr(gperf)e Fv(op)s(erates)j(on)f(zero)h +(terminated)g(strings,)f(the)g(usual)150 4067 y(represen)m(tation)41 b(of)e(strings)h(in)f(C.)h(This)e(means)i(that)g(the)g(k)m(eyw)m(ords)g -(in)f(the)h(input)f(\014le)g(m)m(ust)h(not)150 4173 y(con)m(tain)d(NUL) -f(b)m(ytes,)i(and)e(the)g Fo(str)42 b Fs(argumen)m(t)36 -b(passed)g(to)g Fn(hash)f Fs(or)h Fn(in_word_set)d Fs(m)m(ust)j(b)s(e)f -(NUL)150 4283 y(terminated)c(and)f(ha)m(v)m(e)h(exactly)h(length)f -Fo(len)p Fs(.)275 4417 y(If)k(option)i(`)p Fn(-c)p Fs(')f(\(or,)i -(equiv)-5 b(alen)m(tly)d(,)40 b(the)c(`)p Fn(\045compare-strncmp)p -Fs(')c(declaration\))38 b(is)e(used,)h(then)f(the)150 -4526 y Fo(str)e Fs(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)h(b)s(e)e +(in)f(the)h(input)f(\014le)g(m)m(ust)h(not)150 4176 y(con)m(tain)d(NUL) +f(b)m(ytes,)i(and)e(the)g Fn(str)42 b Fv(argumen)m(t)36 +b(passed)g(to)g Fr(hash)f Fv(or)h Fr(in_word_set)d Fv(m)m(ust)j(b)s(e)f +(NUL)150 4286 y(terminated)c(and)f(ha)m(v)m(e)h(exactly)h(length)f +Fn(len)p Fv(.)275 4429 y(If)k(option)i(`)p Fr(-c)p Fv(')f(\(or,)i +(equiv)-5 b(alen)m(tly)d(,)40 b(the)c(`)p Fr(\045compare-strncmp)p +Fv(')c(declaration\))38 b(is)e(used,)h(then)f(the)150 +4539 y Fn(str)e Fv(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)h(b)s(e)e (NUL)h(terminated.)41 b(The)27 b(co)s(de)h(generated)h(b)m(y)f -Fn(gperf)f Fs(will)h(only)150 4636 y(access)h(the)f(\014rst)g -Fo(len)p Fs(,)g(not)h Fo(len)p Fn(+)p Fo(1)p Fs(,)f(b)m(ytes)h -(starting)g(at)f Fo(str)p Fs(.)40 b(Ho)m(w)m(ev)m(er,)31 +Fr(gperf)f Fv(will)h(only)150 4649 y(access)h(the)f(\014rst)g +Fn(len)p Fv(,)g(not)h Fn(len)p Fr(+)p Fn(1)p Fv(,)f(b)m(ytes)h +(starting)g(at)f Fn(str)p Fv(.)40 b(Ho)m(w)m(ev)m(er,)31 b(the)d(k)m(eyw)m(ords)g(in)g(the)g(input)f(\014le)150 -4745 y(still)k(m)m(ust)g(not)f(con)m(tain)i(NUL)e(b)m(ytes.)275 -4879 y(If)35 b(option)i(`)p Fn(-l)p Fs(')f(\(or,)i(equiv)-5 -b(alen)m(tly)d(,)40 b(the)c(`)p Fn(\045compare-lengths)p -Fs(')c(declaration\))38 b(is)e(used,)h(then)f(the)150 -4988 y(hash)c(table)i(p)s(erforms)d(binary)h(comparison.)47 +4758 y(still)k(m)m(ust)g(not)f(con)m(tain)i(NUL)e(b)m(ytes.)275 +4902 y(If)35 b(option)i(`)p Fr(-l)p Fv(')f(\(or,)i(equiv)-5 +b(alen)m(tly)d(,)40 b(the)c(`)p Fr(\045compare-lengths)p +Fv(')c(declaration\))38 b(is)e(used,)h(then)f(the)150 +5011 y(hash)c(table)i(p)s(erforms)d(binary)h(comparison.)47 b(The)33 b(k)m(eyw)m(ords)g(in)f(the)h(input)f(\014le)g(ma)m(y)i(con)m -(tain)g(NUL)150 5098 y(b)m(ytes,)46 b(written)41 b(in)h(string)g(syn)m -(tax)g(as)g Fn(\\000)f Fs(or)h Fn(\\x00)p Fs(,)i(and)d(the)h(co)s(de)g -(generated)h(b)m(y)f Fn(gperf)f Fs(will)150 5208 y(treat)i(NUL)e(lik)m +(tain)g(NUL)150 5121 y(b)m(ytes,)46 b(written)41 b(in)h(string)g(syn)m +(tax)g(as)g Fr(\\000)f Fv(or)h Fr(\\x00)p Fv(,)i(and)d(the)h(co)s(de)g +(generated)h(b)m(y)f Fr(gperf)f Fv(will)150 5230 y(treat)i(NUL)e(lik)m (e)i(an)m(y)f(other)g(b)m(yte.)75 b(Also,)45 b(in)c(this)g(case)i(the)f -(`)p Fn(-c)p Fs(')f(option)h(\(or,)j(equiv)-5 b(alen)m(tly)d(,)47 -b(the)150 5317 y(`)p Fn(\045compare-strncmp)p Fs(')26 +(`)p Fr(-c)p Fv(')f(option)h(\(or,)j(equiv)-5 b(alen)m(tly)d(,)47 +b(the)150 5340 y(`)p Fr(\045compare-strncmp)p Fv(')26 b(declaration\))33 b(is)d(ignored.)p eop end -%%Page: 19 21 -TeXDict begin 19 20 bop 150 -116 a Fs(Chapter)30 b(4:)41 -b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(19)150 299 y -Fp(4)80 b(In)l(v)l(oking)52 b Fm(gperf)275 542 y Fs(There)35 -b(are)i Fl(many)46 b Fs(options)36 b(to)i Fn(gperf)p -Fs(.)57 b(They)36 b(w)m(ere)h(added)e(to)j(mak)m(e)f(the)g(program)f -(more)g(con-)150 651 y(v)m(enien)m(t)f(for)e(use)g(with)g(real)h +%%Page: 23 25 +TeXDict begin 23 24 bop 150 -116 a Fv(Chapter)30 b(3:)41 +b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520 +b Fv(23)150 299 y Fu(3.4)68 b(The)45 b(Cop)l(yrigh)l(t)h(of)f(the)g +(Output)275 458 y Fr(gperf)24 b Fv(is)i(under)f(GPL,)h(but)f(that)i(do) +s(es)e(not)h(cause)h(the)f(output)g(pro)s(duced)e(b)m(y)i +Fr(gperf)e Fv(to)j(b)s(e)e(under)150 568 y(GPL.)35 b(The)f(reason)g(is) +h(that)g(the)f(output)g(con)m(tains)i(only)f(small)g(pieces)g(of)f +(text)i(that)f(come)g(directly)150 677 y(from)f Fr(gperf)p +Fv('s)f(source)h(co)s(de)h({)g(only)f(ab)s(out)g(7)h(lines)f(long,)i +(to)s(o)g(small)e(for)g(b)s(eing)g(signi\014can)m(t)i({,)g(and)150 +787 y(therefore)31 b(the)f(output)g(is)h(not)f(a)h(\\w)m(ork)g(based)f +(on)g Fr(gperf)p Fv(")g(\(in)g(the)h(sense)f(of)h(the)f(GPL)h(v)m +(ersion)f(3\).)275 922 y(On)i(the)h(other)h(hand,)f(the)g(output)g(pro) +s(duced)f(b)m(y)h Fr(gperf)e Fv(con)m(tains)k(essen)m(tially)g(all)f +(of)f(the)h(input)150 1031 y(\014le.)40 b(Therefore)26 +b(the)h(output)g(is)g(a)g(\\deriv)-5 b(ativ)m(e)29 b(w)m(ork")e(of)g +(the)g(input)f(\(in)h(the)g(sense)g(of)g(U.S.)g(cop)m(yrigh)m(t)150 +1141 y(la)m(w\);)42 b(and)37 b(its)h(cop)m(yrigh)m(t)g(status)g(dep)s +(ends)e(on)h(the)g(cop)m(yrigh)m(t)i(of)f(the)f(input.)61 +b(F)-8 b(or)38 b(most)f(soft)m(w)m(are)150 1250 y(licenses,)28 +b(the)e(result)g(is)g(that)h(the)f(the)g(output)f(is)h(under)f(the)h +(same)g(license,)i(with)e(the)g(same)h(cop)m(yrigh)m(t)150 +1360 y(holder,)j(as)h(the)f(input)g(that)h(w)m(as)g(passed)e(to)j +Fr(gperf)p Fv(.)p eop end +%%Page: 24 26 +TeXDict begin 24 25 bop 150 -116 a Fv(Chapter)30 b(4:)41 +b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(24)150 299 y +Fs(4)80 b(In)l(v)l(oking)52 b Fo(gperf)275 586 y Fv(There)35 +b(are)i Fm(many)46 b Fv(options)36 b(to)i Fr(gperf)p +Fv(.)57 b(They)36 b(w)m(ere)h(added)e(to)j(mak)m(e)f(the)g(program)f +(more)g(con-)150 695 y(v)m(enien)m(t)f(for)e(use)g(with)g(real)h (applications.)50 b(\\On-line")34 b(help)f(is)g(readily)h(a)m(v)-5 -b(ailable)36 b(via)e(the)f(`)p Fn(--help)p Fs(')150 761 +b(ailable)36 b(via)e(the)f(`)p Fr(--help)p Fv(')150 805 y(option.)41 b(Here)31 b(is)f(the)h(complete)h(list)f(of)f(options.)150 -1025 y Fr(4.1)68 b(Sp)t(ecifying)45 b(the)g(Lo)t(cation)h(of)f(the)g -(Output)g(File)150 1247 y Fs(`)p Fn(--output-file=)p -Fo(\014le)5 b Fs(')630 1357 y(Allo)m(ws)31 b(y)m(ou)g(to)g(sp)s(ecify)f +1064 y Fu(4.1)68 b(Sp)t(ecifying)45 b(the)g(Lo)t(cation)h(of)f(the)g +(Output)g(File)150 1257 y Fv(`)p Fr(--output-file=)p +Fi(file)11 b Fv(')630 1367 y(Allo)m(ws)31 b(y)m(ou)g(to)g(sp)s(ecify)f (the)h(name)f(of)h(the)f(\014le)h(to)g(whic)m(h)f(the)h(output)f(is)g -(written)g(to.)275 1521 y(The)f(results)i(are)f(written)h(to)g +(written)g(to.)275 1553 y(The)f(results)i(are)f(written)h(to)g (standard)e(output)h(if)h(no)f(output)g(\014le)g(is)h(sp)s(eci\014ed)f -(or)g(if)g(it)h(is)g(`)p Fn(-)p Fs('.)150 1785 y Fr(4.2)68 +(or)g(if)g(it)h(is)g(`)p Fr(-)p Fv('.)150 1811 y Fu(4.2)68 b(Options)45 b(that)h(a\013ect)g(In)l(terpretation)h(of)e(the)g(Input)g -(File)275 1981 y Fs(These)d(options)h(are)g(also)g(a)m(v)-5 +(File)275 1971 y Fv(These)d(options)h(are)g(also)g(a)m(v)-5 b(ailable)45 b(as)e(declarations)h(in)e(the)h(input)f(\014le)g(\(see)i -(Section)f(3.1.1.2)150 2090 y([Gp)s(erf)30 b(Declarations],)j(page)e -(12\).)150 2254 y(`)p Fn(-e)f Fo(k)m(eyw)m(ord-delimiter-list)r -Fs(')150 2364 y(`)p Fn(--delimiters=)p Fo(k)m(eyw)m(ord-delimiter-list) -r Fs(')630 2473 y(Allo)m(ws)g(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)g -(con)m(taining)h(delimiters)g(used)d(to)j(separate)g(k)m(eyw)m(ords)630 -2583 y(from)k(their)h(attributes.)54 b(The)34 b(default)g(is)h -Fn(")p Fs(,)p Fn(")p Fs(.)53 b(This)34 b(option)h(is)f(essen)m(tial)j -(if)d(y)m(ou)h(w)m(an)m(t)630 2692 y(to)f(use)e(k)m(eyw)m(ords)h(that)h -(ha)m(v)m(e)g(em)m(b)s(edded)e(commas)h(or)g(newlines.)48 -b(One)33 b(useful)f(tric)m(k)i(is)630 2802 y(to)d(use)f(-e'T)-8 -b(AB',)33 b(where)c(T)-8 b(AB)31 b(is)g(the)f(literal)i(tab)f(c)m -(haracter.)150 2964 y(`)p Fn(-t)p Fs(')150 3074 y(`)p -Fn(--struct-type)p Fs(')630 3183 y(Allo)m(ws)h(y)m(ou)g(to)g(include)f -(a)g Fn(struct)f Fs(t)m(yp)s(e)h(declaration)i(for)e(generated)h(co)s -(de.)44 b(An)m(y)31 b(text)630 3293 y(b)s(efore)43 b(a)i(pair)e(of)h -(consecutiv)m(e)i(`)p Fn(\045\045)p Fs(')d(is)h(considered)g(part)f(of) -h(the)g(t)m(yp)s(e)g(declaration.)630 3403 y(Keyw)m(ords)39 +(Section)f(3.1.1.2)150 2080 y([Gp)s(erf)30 b(Declarations],)j(page)e +(16\).)150 2266 y(`)p Fr(-e)f Fi(keyword-delimiter-list)11 +b Fv(')150 2376 y(`)p Fr(--delimiters=)p Fi(keyword-deli)o(mite)o(r-li) +o(st)f Fv(')630 2485 y(Allo)m(ws)30 b(y)m(ou)f(to)g(pro)m(vide)g(a)g +(string)g(con)m(taining)h(delimiters)g(used)d(to)j(separate)g(k)m(eyw)m +(ords)630 2595 y(from)k(their)h(attributes.)54 b(The)34 +b(default)g(is)h Fr(")p Fv(,)p Fr(")p Fv(.)53 b(This)34 +b(option)h(is)f(essen)m(tial)j(if)d(y)m(ou)h(w)m(an)m(t)630 +2705 y(to)f(use)e(k)m(eyw)m(ords)h(that)h(ha)m(v)m(e)g(em)m(b)s(edded)e +(commas)h(or)g(newlines.)48 b(One)33 b(useful)f(tric)m(k)i(is)630 +2814 y(to)d(use)f(-e'T)-8 b(AB',)33 b(where)c(T)-8 b(AB)31 +b(is)g(the)f(literal)i(tab)f(c)m(haracter.)150 2991 y(`)p +Fr(-t)p Fv(')150 3101 y(`)p Fr(--struct-type)p Fv(')630 +3210 y(Allo)m(ws)h(y)m(ou)g(to)g(include)f(a)g Fr(struct)f +Fv(t)m(yp)s(e)h(declaration)i(for)e(generated)h(co)s(de.)44 +b(An)m(y)31 b(text)630 3320 y(b)s(efore)43 b(a)i(pair)e(of)h +(consecutiv)m(e)i(`)p Fr(\045\045)p Fv(')d(is)h(considered)g(part)f(of) +h(the)g(t)m(yp)s(e)g(declaration.)630 3430 y(Keyw)m(ords)39 b(and)g(additional)h(\014elds)f(ma)m(y)i(follo)m(w)f(this,)i(one)e -(group)f(of)h(\014elds)f(p)s(er)f(line.)630 3512 y(A)31 +(group)f(of)h(\014elds)f(p)s(er)f(line.)630 3539 y(A)31 b(set)g(of)g(examples)g(for)f(generating)i(p)s(erfect)e(hash)g(tables)i -(and)e(functions)g(for)g(Ada,)h(C,)630 3622 y(C)p Fn(++)p -Fs(,)24 b(P)m(ascal,)j(Mo)s(dula)c(2,)j(Mo)s(dula)d(3)h(and)f(Ja)m(v)-5 +(and)e(functions)g(for)g(Ada,)h(C,)630 3649 y(C)p Fr(++)p +Fv(,)24 b(P)m(ascal,)j(Mo)s(dula)c(2,)j(Mo)s(dula)d(3)h(and)f(Ja)m(v)-5 b(aScript)24 b(reserv)m(ed)f(w)m(ords)g(are)h(distributed)630 -3731 y(with)30 b(this)g(release.)150 3894 y(`)p Fn(--ignore-case)p -Fs(')630 4003 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g +3758 y(with)30 b(this)g(release.)150 3935 y(`)p Fr(--ignore-case)p +Fv(')630 4045 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g (ASCI)s(I)e(c)m(haracters)i(as)f(equiv)-5 b(alen)m(t.)83 -b(The)44 b(string)630 4113 y(comparison)28 b(will)h(use)f(a)h(case)g +b(The)44 b(string)630 4155 y(comparison)28 b(will)h(use)f(a)h(case)g (insigni\014can)m(t)g(c)m(haracter)h(comparison.)40 b(Note)29 -b(that)g(lo)s(cale)630 4222 y(dep)s(enden)m(t)e(case)i(mappings)f(are)g +b(that)g(lo)s(cale)630 4264 y(dep)s(enden)m(t)e(case)i(mappings)f(are)g (ignored.)40 b(This)28 b(option)g(is)h(therefore)f(not)h(suitable)f(if) -h(a)630 4332 y(prop)s(erly)k(in)m(ternationalized)k(or)d(lo)s(cale)i(a) +h(a)630 4374 y(prop)s(erly)k(in)m(ternationalized)k(or)d(lo)s(cale)i(a) m(w)m(are)g(case)f(mapping)f(should)f(b)s(e)h(used.)52 -b(\(F)-8 b(or)630 4442 y(example,)31 b(in)e(a)g(T)-8 +b(\(F)-8 b(or)630 4483 y(example,)31 b(in)e(a)g(T)-8 b(urkish)29 b(lo)s(cale,)i(the)f(upp)s(er)d(case)k(equiv)-5 b(alen)m(t)30 b(of)g(the)g(lo)m(w)m(ercase)h(ASCI)s(I)630 -4551 y(letter)42 b(`)p Fn(i)p Fs(')g(is)f(the)g(non-ASCI)s(I)e(c)m -(haracter)k(`)p Fn(capital)29 b(i)h(with)f(dot)g(above)p -Fs('.\))72 b(F)-8 b(or)42 b(this)630 4661 y(case,)d(it)d(is)g(b)s +4593 y(letter)42 b(`)p Fr(i)p Fv(')g(is)f(the)g(non-ASCI)s(I)e(c)m +(haracter)k(`)p Fr(capital)29 b(i)h(with)f(dot)g(above)p +Fv('.\))72 b(F)-8 b(or)42 b(this)630 4702 y(case,)d(it)d(is)g(b)s (etter)h(to)f(apply)g(an)g(upp)s(ercase)f(or)h(lo)m(w)m(ercase)i(con)m -(v)m(ersion)g(on)e(the)g(string)630 4770 y(b)s(efore)30 -b(passing)g(it)h(to)g(the)g Fn(gperf)e Fs(generated)i(function.)150 -5035 y Fr(4.3)68 b(Options)45 b(to)h(sp)t(ecify)f(the)g(Language)h(for) -f(the)g(Output)f(Co)t(de)275 5230 y Fs(These)e(options)h(are)g(also)g +(v)m(ersion)g(on)e(the)g(string)630 4812 y(b)s(efore)30 +b(passing)g(it)h(to)g(the)g Fr(gperf)e Fv(generated)i(function.)150 +5071 y Fu(4.3)68 b(Options)45 b(to)h(sp)t(ecify)f(the)g(Language)h(for) +f(the)g(Output)f(Co)t(de)275 5230 y Fv(These)e(options)h(are)g(also)g (a)m(v)-5 b(ailable)45 b(as)e(declarations)h(in)e(the)h(input)f(\014le) g(\(see)i(Section)f(3.1.1.2)150 5340 y([Gp)s(erf)30 b(Declarations],)j -(page)e(12\).)p eop end -%%Page: 20 22 -TeXDict begin 20 21 bop 150 -116 a Fs(Chapter)30 b(4:)41 -b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(20)150 299 y(`)p -Fn(-L)30 b Fo(generated-language-name)5 b Fs(')150 408 -y(`)p Fn(--language=)p Fo(generated-language-name)g Fs(')630 -518 y(Instructs)33 b Fn(gperf)f Fs(to)i(generate)h(co)s(de)f(in)f(the)h -(language)h(sp)s(eci\014ed)d(b)m(y)i(the)g(option's)g(ar-)630 -628 y(gumen)m(t.)41 b(Languages)31 b(handled)f(are)h(curren)m(tly:)630 -798 y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)27 b(K&R)f(C.)g(This)f +(page)e(16\).)p eop end +%%Page: 25 27 +TeXDict begin 25 26 bop 150 -116 a Fv(Chapter)30 b(4:)41 +b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(25)150 299 y(`)p +Fr(-L)30 b Fi(generated-language-name)10 b Fv(')150 408 +y(`)p Fr(--language=)p Fi(generated-lang)o(uage)o(-nam)o(e)g +Fv(')630 518 y(Instructs)33 b Fr(gperf)f Fv(to)i(generate)h(co)s(de)f +(in)f(the)h(language)h(sp)s(eci\014ed)d(b)m(y)i(the)g(option's)g(ar-) +630 628 y(gumen)m(t.)41 b(Languages)31 b(handled)f(are)h(curren)m(tly:) +630 804 y(`)p Fr(KR-C)p Fv(')238 b(Old-st)m(yle)27 b(K&R)f(C.)g(This)f (language)j(is)f(understo)s(o)s(d)d(b)m(y)i(old-st)m(yle)i(C)e(com-) -1110 907 y(pilers)e(and)g(ANSI)f(C)h(compilers,)i(but)e(ANSI)f(C)h -(compilers)h(ma)m(y)f(\015ag)h(w)m(arn-)1110 1017 y(ings)30 +1110 914 y(pilers)e(and)g(ANSI)f(C)h(compilers,)i(but)e(ANSI)f(C)h +(compilers)h(ma)m(y)f(\015ag)h(w)m(arn-)1110 1023 y(ings)30 b(\(or)h(ev)m(en)g(errors\))f(b)s(ecause)h(of)f(lac)m(king)i(`)p -Fn(const)p Fs('.)630 1187 y(`)p Fn(C)p Fs(')382 b(Common)23 +Fr(const)p Fv('.)630 1200 y(`)p Fr(C)p Fv(')382 b(Common)23 b(C.)f(This)h(language)h(is)f(understo)s(o)s(d)e(b)m(y)i(ANSI)g(C)f -(compilers,)k(and)1110 1296 y(also)k(b)m(y)e(old-st)m(yle)i(C)f -(compilers,)g(pro)m(vided)f(that)i(y)m(ou)f Fn(#define)f(const)f -Fs(to)1110 1406 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m -(w)h(ab)s(out)f(this)g(k)m(eyw)m(ord.)630 1576 y(`)p -Fn(ANSI-C)p Fs(')142 b(ANSI)39 b(C.)h(This)e(language)j(is)f(understo)s -(o)s(d)e(b)m(y)h(ANSI)g(C)h(compilers)g(and)1110 1685 -y(C)p Fn(++)29 b Fs(compilers.)630 1855 y(`)p Fn(C++)p -Fs(')286 b(C)p Fn(++)p Fs(.)40 b(This)29 b(language)j(is)f(understo)s -(o)s(d)d(b)m(y)i(C)p Fn(++)g Fs(compilers.)630 2025 y(The)g(default)g -(is)h(C.)150 2195 y(`)p Fn(-a)p Fs(')334 b(This)33 b(option)h(is)f +(compilers,)k(and)1110 1310 y(also)k(b)m(y)e(old-st)m(yle)i(C)f +(compilers,)g(pro)m(vided)f(that)i(y)m(ou)f Fr(#define)f(const)f +Fv(to)1110 1419 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m +(w)h(ab)s(out)f(this)g(k)m(eyw)m(ord.)630 1596 y(`)p +Fr(ANSI-C)p Fv(')142 b(ANSI)39 b(C.)h(This)e(language)j(is)f(understo)s +(o)s(d)e(b)m(y)h(ANSI)g(C)h(compilers)g(and)1110 1705 +y(C)p Fr(++)29 b Fv(compilers.)630 1882 y(`)p Fr(C++)p +Fv(')286 b(C)p Fr(++)p Fv(.)40 b(This)29 b(language)j(is)f(understo)s +(o)s(d)d(b)m(y)i(C)p Fr(++)g Fv(compilers.)630 2058 y(The)g(default)g +(is)h(C.)150 2235 y(`)p Fr(-a)p Fv(')334 b(This)33 b(option)h(is)f (supp)s(orted)f(for)h(compatibilit)m(y)j(with)d(previous)g(releases)i -(of)f Fn(gperf)p Fs(.)49 b(It)630 2305 y(do)s(es)30 b(not)h(do)f(an)m -(ything.)150 2475 y(`)p Fn(-g)p Fs(')334 b(This)33 b(option)h(is)f +(of)f Fr(gperf)p Fv(.)49 b(It)630 2345 y(do)s(es)30 b(not)h(do)f(an)m +(ything.)150 2521 y(`)p Fr(-g)p Fv(')334 b(This)33 b(option)h(is)f (supp)s(orted)f(for)h(compatibilit)m(y)j(with)d(previous)g(releases)i -(of)f Fn(gperf)p Fs(.)49 b(It)630 2584 y(do)s(es)30 b(not)h(do)f(an)m -(ything.)150 2868 y Fr(4.4)68 b(Options)45 b(for)g(\014ne)g(tuning)g -(Details)i(in)e(the)g(Output)f(Co)t(de)275 3071 y Fs(Most)21 +(of)f Fr(gperf)p Fv(.)49 b(It)630 2631 y(do)s(es)30 b(not)h(do)f(an)m +(ything.)150 2889 y Fu(4.4)68 b(Options)45 b(for)g(\014ne)g(tuning)g +(Details)i(in)e(the)g(Output)f(Co)t(de)275 3048 y Fv(Most)21 b(of)g(these)g(options)g(are)g(also)h(a)m(v)-5 b(ailable)23 b(as)e(declarations)h(in)f(the)g(input)e(\014le)i(\(see)h(Section)f -(3.1.1.2)150 3181 y([Gp)s(erf)30 b(Declarations],)j(page)e(12\).)150 -3356 y(`)p Fn(-K)f Fo(slot-name)5 b Fs(')150 3466 y(`)p -Fn(--slot-name=)p Fo(slot-name)g Fs(')630 3575 y(This)21 -b(option)h(is)g(only)f(useful)g(when)g(option)h(`)p Fn(-t)p -Fs(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26 b(the)c(`)p -Fn(\045struct-type)p Fs(')630 3685 y(declaration\))41 +(3.1.1.2)150 3158 y([Gp)s(erf)30 b(Declarations],)j(page)e(16\).)150 +3343 y(`)p Fr(-K)f Fi(slot-name)11 b Fv(')150 3453 y(`)p +Fr(--slot-name=)p Fi(slot-name)g Fv(')630 3562 y(This)21 +b(option)h(is)g(only)f(useful)g(when)g(option)h(`)p Fr(-t)p +Fv(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26 b(the)c(`)p +Fr(\045struct-type)p Fv(')630 3672 y(declaration\))41 b(has)e(b)s(een)f(giv)m(en.)67 b(By)39 b(default,)j(the)d(program)g -(assumes)f(the)h(structure)630 3795 y(comp)s(onen)m(t)28 +(assumes)f(the)h(structure)630 3781 y(comp)s(onen)m(t)28 b(iden)m(ti\014er)h(for)f(the)g(k)m(eyw)m(ord)g(is)h(`)p -Fn(name)p Fs('.)39 b(This)27 b(option)i(allo)m(ws)g(an)f(arbitrary)630 -3904 y(c)m(hoice)33 b(of)f(iden)m(ti\014er)g(for)f(this)h(comp)s(onen)m +Fr(name)p Fv('.)39 b(This)27 b(option)i(allo)m(ws)g(an)f(arbitrary)630 +3891 y(c)m(hoice)33 b(of)f(iden)m(ti\014er)g(for)f(this)h(comp)s(onen)m (t,)g(although)g(it)g(still)g(m)m(ust)g(o)s(ccur)f(as)h(the)g(\014rst) -630 4014 y(\014eld)e(in)g(y)m(our)g(supplied)f Fn(struct)p -Fs(.)150 4184 y(`)p Fn(-F)h Fo(initializers)t Fs(')150 -4293 y(`)p Fn(--initializer-suffix=)p Fo(initializers)t -Fs(')630 4403 y(This)21 b(option)h(is)g(only)f(useful)g(when)g(option)h -(`)p Fn(-t)p Fs(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26 -b(the)c(`)p Fn(\045struct-type)p Fs(')630 4512 y(declaration\))34 +630 4001 y(\014eld)e(in)g(y)m(our)g(supplied)f Fr(struct)p +Fv(.)150 4177 y(`)p Fr(-F)h Fi(initializers)11 b Fv(')150 +4287 y(`)p Fr(--initializer-suffix=)p Fi(init)o(iali)o(zers)f +Fv(')630 4396 y(This)21 b(option)h(is)g(only)f(useful)g(when)g(option)h +(`)p Fr(-t)p Fv(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26 +b(the)c(`)p Fr(\045struct-type)p Fv(')630 4506 y(declaration\))34 b(has)f(b)s(een)e(giv)m(en.)49 b(It)32 b(p)s(ermits)g(to)h(sp)s(ecify)f -(initializers)i(for)f(the)f(structure)630 4622 y(mem)m(b)s(ers)23 -b(follo)m(wing)i Fo(slot-name)30 b Fs(in)23 b(empt)m(y)h(hash)f(table)h +(initializers)i(for)f(the)f(structure)630 4615 y(mem)m(b)s(ers)23 +b(follo)m(wing)i Fn(slot-name)30 b Fv(in)23 b(empt)m(y)h(hash)f(table)h (en)m(tries.)39 b(The)23 b(list)h(of)g(initializers)630 -4732 y(should)37 b(start)i(with)g(a)f(comma.)66 b(By)39 +4725 y(should)37 b(start)i(with)g(a)f(comma.)66 b(By)39 b(default,)i(the)e(emitted)g(co)s(de)g(will)f(zero-initialize)630 -4841 y(structure)30 b(mem)m(b)s(ers)f(follo)m(wing)j -Fo(slot-name)p Fs(.)150 5011 y(`)p Fn(-H)e Fo(hash-function-name)5 -b Fs(')150 5121 y(`)p Fn(--hash-function-name=)p Fo(hash-fu)o -(nction-name)g Fs(')630 5230 y(Allo)m(ws)31 b(y)m(ou)f(to)g(sp)s(ecify) -g(the)g(name)g(for)f(the)h(generated)h(hash)e(function.)40 -b(Default)31 b(name)630 5340 y(is)f(`)p Fn(hash)p Fs('.)40 +4835 y(structure)30 b(mem)m(b)s(ers)f(follo)m(wing)j +Fn(slot-name)p Fv(.)150 5011 y(`)p Fr(-H)e Fi(hash-function-name)11 +b Fv(')150 5121 y(`)p Fr(--hash-function-name=)p Fi(hash)o(-fun)o(ctio) +o(n-n)o(ame)f Fv(')630 5230 y(Allo)m(ws)31 b(y)m(ou)f(to)g(sp)s(ecify)g +(the)g(name)g(for)f(the)h(generated)h(hash)e(function.)40 +b(Default)31 b(name)630 5340 y(is)f(`)p Fr(hash)p Fv('.)40 b(This)30 b(option)h(p)s(ermits)e(the)i(use)f(of)h(t)m(w)m(o)g(hash)f (tables)h(in)f(the)h(same)g(\014le.)p eop end -%%Page: 21 23 -TeXDict begin 21 22 bop 150 -116 a Fs(Chapter)30 b(4:)41 -b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(21)150 299 y(`)p -Fn(-N)30 b Fo(lo)s(okup-function-name)5 b Fs(')150 408 -y(`)p Fn(--lookup-function-name=)p Fo(lo)s(okup-fu)o(nction-name)g -Fs(')630 518 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e(the)i(name)f -(for)f(the)h(generated)h(lo)s(okup)f(function.)75 b(Default)630 -628 y(name)28 b(is)g(`)p Fn(in_word_set)p Fs('.)37 b(This)27 -b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f(hash)f(functions)630 -737 y(to)k(b)s(e)f(used)f(in)h(the)h(same)g(application.)150 -938 y(`)p Fn(-Z)f Fo(class-name)5 b Fs(')150 1048 y(`)p -Fn(--class-name=)p Fo(class-name)g Fs(')630 1157 y(This)66 -b(option)i(is)f(only)h(useful)e(when)h(option)g(`)p Fn(-L)30 -b(C++)p Fs(')67 b(\(or,)77 b(equiv)-5 b(alen)m(tly)d(,)79 -b(the)630 1267 y(`)p Fn(\045language=C++)p Fs(')43 b(declaration\))k +%%Page: 26 28 +TeXDict begin 26 27 bop 150 -116 a Fv(Chapter)30 b(4:)41 +b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(26)150 299 y(`)p +Fr(-N)30 b Fi(lookup-function-name)11 b Fv(')150 408 +y(`)p Fr(--lookup-function-name=)p Fi(lo)o(okup)o(-fun)o(cti)o(on-n)o +(ame)f Fv(')630 518 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e(the)i +(name)f(for)f(the)h(generated)h(lo)s(okup)f(function.)75 +b(Default)630 628 y(name)28 b(is)g(`)p Fr(in_word_set)p +Fv('.)37 b(This)27 b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f +(hash)f(functions)630 737 y(to)k(b)s(e)f(used)f(in)h(the)h(same)g +(application.)150 938 y(`)p Fr(-Z)f Fi(class-name)11 +b Fv(')150 1048 y(`)p Fr(--class-name=)p Fi(class-name)f +Fv(')630 1157 y(This)66 b(option)i(is)f(only)h(useful)e(when)h(option)g +(`)p Fr(-L)30 b(C++)p Fv(')67 b(\(or,)77 b(equiv)-5 b(alen)m(tly)d(,)79 +b(the)630 1267 y(`)p Fr(\045language=C++)p Fv(')43 b(declaration\))k (has)f(b)s(een)f(giv)m(en.)88 b(It)46 b(allo)m(ws)h(y)m(ou)f(to)g(sp)s (ecify)g(the)630 1377 y(name)30 b(of)h(generated)g(C)p -Fn(++)f Fs(class.)41 b(Default)32 b(name)e(is)h Fn(Perfect_Hash)p -Fs(.)150 1577 y(`)p Fn(-7)p Fs(')150 1687 y(`)p Fn(--seven-bit)p -Fs(')630 1797 y(This)36 b(option)i(sp)s(eci\014es)f(that)g(all)h +Fr(++)f Fv(class.)41 b(Default)32 b(name)e(is)h Fr(Perfect_Hash)p +Fv(.)150 1577 y(`)p Fr(-7)p Fv(')150 1687 y(`)p Fr(--seven-bit)p +Fv(')630 1797 y(This)36 b(option)i(sp)s(eci\014es)f(that)g(all)h (strings)f(that)h(will)f(b)s(e)g(passed)f(as)i(argumen)m(ts)f(to)h(the) 630 1906 y(generated)e(hash)e(function)g(and)h(the)g(generated)g(lo)s (okup)g(function)f(will)h(solely)h(consist)630 2016 y(of)d(7-bit)h (ASCI)s(I)e(c)m(haracters)j(\(b)m(ytes)f(in)f(the)g(range)h(0..127\).) 51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630 2125 y(functions)f -Fn(isalnum)f Fs(and)i Fn(isgraph)e Fs(do)i Fl(not)41 -b Fs(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f(this)h(range.)630 +Fr(isalnum)f Fv(and)i Fr(isgraph)e Fv(do)i Fm(not)41 +b Fv(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f(this)h(range.)630 2235 y(Only)26 b(an)g(explicit)i(test)g(lik)m(e)f(`)p -Fn(c)k(>=)f('A')f(&&)h(c)g(<=)g('Z')p Fs(')25 b(guaran)m(tees)j +Fr(c)k(>=)f('A')f(&&)h(c)g(<=)g('Z')p Fv(')25 b(guaran)m(tees)j (this.\))40 b(This)26 b(w)m(as)h(the)630 2345 y(default)g(in)g(v)m -(ersions)g(of)g Fn(gperf)e Fs(earlier)j(than)e(2.7;)k(no)m(w)d(the)g +(ersions)g(of)g Fr(gperf)e Fv(earlier)j(than)e(2.7;)k(no)m(w)d(the)g (default)g(is)f(to)i(supp)s(ort)d(8-bit)630 2454 y(and)30 -b(m)m(ultib)m(yte)h(c)m(haracters.)150 2655 y(`)p Fn(-l)p -Fs(')150 2765 y(`)p Fn(--compare-lengths)p Fs(')630 2874 +b(m)m(ultib)m(yte)h(c)m(haracters.)150 2655 y(`)p Fr(-l)p +Fv(')150 2765 y(`)p Fr(--compare-lengths)p Fv(')630 2874 y(Compare)40 b(k)m(eyw)m(ord)g(lengths)g(b)s(efore)f(trying)h(a)h (string)e(comparison.)70 b(This)39 b(option)h(is)630 2984 y(mandatory)32 b(for)h(binary)e(comparisons)i(\(see)g(Section)h -(3.3)f([Binary)g(Strings],)g(page)g(18\).)630 3093 y(It)g(also)h(migh)m +(3.3)f([Binary)g(Strings],)g(page)g(22\).)630 3093 y(It)g(also)h(migh)m (t)g(cut)f(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)g (comparisons)g(made)g(during)f(the)630 3203 y(lo)s(okup,)i(since)g(k)m (eyw)m(ords)f(with)g(di\013eren)m(t)h(lengths)g(are)f(nev)m(er)h -(compared)f(via)h Fn(strcmp)p Fs(.)630 3313 y(Ho)m(w)m(ev)m(er,)j -(using)c(`)p Fn(-l)p Fs(')g(migh)m(t)h(greatly)h(increase)g(the)f(size) +(compared)f(via)h Fr(strcmp)p Fv(.)630 3313 y(Ho)m(w)m(ev)m(er,)j +(using)c(`)p Fr(-l)p Fv(')g(migh)m(t)h(greatly)h(increase)g(the)f(size) g(of)g(the)f(generated)i(C)e(co)s(de)h(if)630 3422 y(the)k(lo)s(okup)g (table)g(range)h(is)f(large)h(\(whic)m(h)f(implies)g(that)g(the)g -(switc)m(h)h(option)f(`)p Fn(-S)p Fs(')g(or)630 3532 -y(`)p Fn(\045switch)p Fs(')29 b(is)i(not)g(enabled\),)h(since)f(the)g +(switc)m(h)h(option)f(`)p Fr(-S)p Fv(')g(or)630 3532 +y(`)p Fr(\045switch)p Fv(')29 b(is)i(not)g(enabled\),)h(since)f(the)g (length)g(table)h(con)m(tains)g(as)f(man)m(y)g(elemen)m(ts)h(as)630 3641 y(there)f(are)f(en)m(tries)i(in)e(the)g(lo)s(okup)g(table.)150 -3842 y(`)p Fn(-c)p Fs(')150 3952 y(`)p Fn(--compare-strncmp)p -Fs(')630 4061 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i -Fn(strncmp)d Fs(function)h(to)i(p)s(erform)e(string)h(comparisons.)630 -4171 y(The)30 b(default)g(action)i(is)f(to)g(use)f Fn(strcmp)p -Fs(.)150 4372 y(`)p Fn(-C)p Fs(')150 4482 y(`)p Fn(--readonly-tables)p -Fs(')630 4591 y(Mak)m(es)41 b(the)f(con)m(ten)m(ts)h(of)f(all)h +3842 y(`)p Fr(-c)p Fv(')150 3952 y(`)p Fr(--compare-strncmp)p +Fv(')630 4061 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i +Fr(strncmp)d Fv(function)h(to)i(p)s(erform)e(string)h(comparisons.)630 +4171 y(The)30 b(default)g(action)i(is)f(to)g(use)f Fr(strcmp)p +Fv(.)150 4372 y(`)p Fr(-C)p Fv(')150 4482 y(`)p Fr(--readonly-tables)p +Fv(')630 4591 y(Mak)m(es)41 b(the)f(con)m(ten)m(ts)h(of)f(all)h (generated)f(lo)s(okup)f(tables)i(constan)m(t,)i(i.e.,)h(\\readonly".) 630 4701 y(Man)m(y)31 b(compilers)g(can)g(generate)h(more)e(e\016cien)m (t)i(co)s(de)f(for)f(this)h(b)m(y)f(putting)g(the)h(tables)630 -4810 y(in)f(readonly)h(memory)-8 b(.)150 5011 y(`)p Fn(-E)p -Fs(')150 5121 y(`)p Fn(--enum)p Fs(')142 b(De\014ne)31 +4810 y(in)f(readonly)h(memory)-8 b(.)150 5011 y(`)p Fr(-E)p +Fv(')150 5121 y(`)p Fr(--enum)p Fv(')142 b(De\014ne)31 b(constan)m(t)g(v)-5 b(alues)31 b(using)f(an)g(en)m(um)g(lo)s(cal)i(to) f(the)g(lo)s(okup)f(function)g(rather)g(than)630 5230 y(with)37 b(#de\014nes.)60 b(This)36 b(also)i(means)g(that)f (di\013eren)m(t)h(lo)s(okup)f(functions)g(can)g(reside)g(in)630 5340 y(the)31 b(same)f(\014le.)41 b(Thanks)29 b(to)j(James)e(Clark)g -Fn(<jjc@ai.mit.edu>)p Fs(.)p eop end -%%Page: 22 24 -TeXDict begin 22 23 bop 150 -116 a Fs(Chapter)30 b(4:)41 -b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(22)150 299 y(`)p -Fn(-I)p Fs(')150 408 y(`)p Fn(--includes)p Fs(')630 518 +Fr(<jjc@ai.mit.edu>)p Fv(.)p eop end +%%Page: 27 29 +TeXDict begin 27 28 bop 150 -116 a Fv(Chapter)30 b(4:)41 +b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(27)150 299 y(`)p +Fr(-I)p Fv(')150 408 y(`)p Fr(--includes)p Fv(')630 518 y(Include)30 b(the)h(necessary)h(system)f(include)g(\014le,)g -Fn(<string.h>)p Fs(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630 +Fr(<string.h>)p Fv(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630 628 y(co)s(de.)39 b(By)27 b(default,)g(this)f(is)g(not)g(done;)i(the)e (user)f(m)m(ust)h(include)g(this)f(header)h(\014le)g(himself)630 737 y(to)31 b(allo)m(w)h(compilation)g(of)e(the)h(co)s(de.)150 -897 y(`)p Fn(-G)p Fs(')150 1007 y(`)p Fn(--global-table)p -Fs(')630 1117 y(Generate)38 b(the)f(static)h(table)f(of)g(k)m(eyw)m +897 y(`)p Fr(-G)p Fv(')150 1007 y(`)p Fr(--global-table)p +Fv(')630 1117 y(Generate)38 b(the)f(static)h(table)f(of)g(k)m(eyw)m (ords)g(as)g(a)g(static)h(global)g(v)-5 b(ariable,)39 b(rather)d(than)630 1226 y(hiding)30 b(it)h(inside)f(of)g(the)h(lo)s (okup)f(function)g(\(whic)m(h)g(is)h(the)f(default)h(b)s(eha)m(vior\).) -150 1386 y(`)p Fn(-P)p Fs(')150 1496 y(`)p Fn(--pic)p -Fs(')190 b(Optimize)42 b(the)f(generated)h(table)g(for)f(inclusion)g +150 1386 y(`)p Fr(-P)p Fv(')150 1496 y(`)p Fr(--pic)p +Fv(')190 b(Optimize)42 b(the)f(generated)h(table)g(for)f(inclusion)g (in)g(shared)f(libraries.)73 b(This)40 b(reduces)630 1606 y(the)35 b(startup)g(time)h(of)f(programs)g(using)g(a)h(shared)e (library)h(con)m(taining)i(the)e(generated)630 1715 y(co)s(de.)j(If)21 -b(the)h(option)h(`)p Fn(-t)p Fs(')e(\(or,)k(equiv)-5 -b(alen)m(tly)d(,)25 b(the)d(`)p Fn(\045struct-type)p -Fs(')d(declaration\))24 b(is)e(also)630 1825 y(giv)m(en,)32 +b(the)h(option)h(`)p Fr(-t)p Fv(')e(\(or,)k(equiv)-5 +b(alen)m(tly)d(,)25 b(the)d(`)p Fr(\045struct-type)p +Fv(')d(declaration\))24 b(is)e(also)630 1825 y(giv)m(en,)32 b(the)f(\014rst)e(\014eld)i(of)f(the)h(user-de\014ned)e(struct)i(m)m -(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fn(int)p Fs(',)f(not)h(`)p -Fn(char)630 1934 y(*)p Fs(',)h(b)s(ecause)f(it)i(will)e(con)m(tain)i +(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fr(int)p Fv(',)f(not)h(`)p +Fr(char)630 1934 y(*)p Fv(',)h(b)s(ecause)f(it)i(will)e(con)m(tain)i (o\013sets)g(in)m(to)f(the)g(string)f(p)s(o)s(ol)h(instead)f(of)h (actual)h(strings.)630 2044 y(T)-8 b(o)33 b(con)m(v)m(ert)h(suc)m(h)f (an)f(o\013set)i(to)f(a)g(string,)h(y)m(ou)f(can)g(use)f(the)h -(expression)f(`)p Fn(stringpool)630 2153 y(+)e Fo(o)5 -b Fs(',)34 b(where)f Fo(o)38 b Fs(is)33 b(the)g(o\013set.)50 -b(The)32 b(string)h(p)s(o)s(ol)g(name)g(can)g(b)s(e)g(c)m(hanged)g -(through)g(the)630 2263 y(option)e(`)p Fn(--string-pool-name)p -Fs('.)150 2423 y(`)p Fn(-Q)f Fo(string-p)s(o)s(ol-name)5 -b Fs(')150 2533 y(`)p Fn(--string-pool-name=)p Fo(string-p)s(o)s -(ol-name)g Fs(')630 2642 y(Allo)m(ws)32 b(y)m(ou)g(to)g(sp)s(ecify)f -(the)g(name)h(of)f(the)h(generated)g(string)f(p)s(o)s(ol)g(created)h(b) -m(y)f(option)630 2752 y(`)p Fn(-P)p Fs('.)38 b(The)21 -b(default)g(name)h(is)f(`)p Fn(stringpool)p Fs('.)36 -b(This)20 b(option)i(p)s(ermits)f(the)g(use)g(of)h(t)m(w)m(o)h(hash)630 -2862 y(tables)i(in)e(the)h(same)g(\014le,)i(with)d(`)p -Fn(-P)p Fs(')h(and)f(ev)m(en)h(when)f(the)h(option)g(`)p -Fn(-G)p Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)630 -2971 y(the)31 b(`)p Fn(\045global-table)p Fs(')c(declaration\))32 -b(is)f(giv)m(en.)150 3131 y(`)p Fn(--null-strings)p Fs(')630 +(expression)f(`)p Fr(stringpool)630 2153 y(+)e Fi(o)11 +b Fv(',)33 b(where)f Fn(o)37 b Fv(is)c(the)g(o\013set.)48 +b(The)32 b(string)g(p)s(o)s(ol)g(name)h(can)g(b)s(e)f(c)m(hanged)h +(through)f(the)630 2263 y(option)f(`)p Fr(--string-pool-name)p +Fv('.)150 2423 y(`)p Fr(-Q)f Fi(string-pool-name)11 b +Fv(')150 2533 y(`)p Fr(--string-pool-name=)p Fi(string)o(-poo)o(l-na)o +(me)f Fv(')630 2642 y(Allo)m(ws)32 b(y)m(ou)g(to)g(sp)s(ecify)f(the)g +(name)h(of)f(the)h(generated)g(string)f(p)s(o)s(ol)g(created)h(b)m(y)f +(option)630 2752 y(`)p Fr(-P)p Fv('.)38 b(The)21 b(default)g(name)h(is) +f(`)p Fr(stringpool)p Fv('.)36 b(This)20 b(option)i(p)s(ermits)f(the)g +(use)g(of)h(t)m(w)m(o)h(hash)630 2862 y(tables)i(in)e(the)h(same)g +(\014le,)i(with)d(`)p Fr(-P)p Fv(')h(and)f(ev)m(en)h(when)f(the)h +(option)g(`)p Fr(-G)p Fv(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)630 +2971 y(the)31 b(`)p Fr(\045global-table)p Fv(')c(declaration\))32 +b(is)f(giv)m(en.)150 3131 y(`)p Fr(--null-strings)p Fv(')630 3241 y(Use)39 b(NULL)g(strings)f(instead)i(of)e(empt)m(y)i(strings)e (for)h(empt)m(y)g(k)m(eyw)m(ord)g(table)h(en)m(tries.)630 3351 y(This)e(reduces)g(the)h(startup)g(time)g(of)g(programs)g(using)f (a)h(shared)f(library)g(con)m(taining)630 3460 y(the)j(generated)g(co)s (de)g(\(but)f(not)h(as)f(m)m(uc)m(h)h(as)g(option)g(`)p -Fn(-P)p Fs('\),)i(at)e(the)g(exp)s(ense)f(of)h(one)630 +Fr(-P)p Fv('\),)i(at)e(the)g(exp)s(ense)f(of)h(one)630 3570 y(more)31 b(test-and-branc)m(h)f(instruction)h(at)g(run)e(time.) -150 3730 y(`)p Fn(-W)h Fo(hash-table-arra)m(y-name)5 -b Fs(')150 3839 y(`)p Fn(--word-array-name=)p Fo(hash-table-arra)m -(y-name)g Fs(')630 3949 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f +150 3730 y(`)p Fr(-W)h Fi(hash-table-array-name)11 b +Fv(')150 3839 y(`)p Fr(--word-array-name=)p Fi(hash-ta)o(ble-)o(arra)o +(y-n)o(ame)f Fv(')630 3949 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f (the)g(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)i(the)e (hash)630 4059 y(table.)106 b(Default)53 b(name)e(is)h(`)p -Fn(wordlist)p Fs('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g +Fr(wordlist)p Fv('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g (of)g(t)m(w)m(o)630 4168 y(hash)37 b(tables)h(in)g(the)g(same)g -(\014le,)i(ev)m(en)e(when)f(the)h(option)g(`)p Fn(-G)p -Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630 -4278 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))33 -b(is)d(giv)m(en.)150 4413 y(`)p Fn(--length-table-name=)p -Fo(length-table-arra)m(y-name)5 b Fs(')630 4522 y(Allo)m(ws)36 -b(y)m(ou)e(to)i(sp)s(ecify)e(the)h(name)f(for)g(the)h(generated)h(arra) -m(y)f(con)m(taining)h(the)f(length)630 4632 y(table.)77 -b(Default)43 b(name)g(is)f(`)p Fn(lengthtable)p Fs('.)74 -b(This)41 b(option)i(p)s(ermits)e(the)h(use)g(of)h(t)m(w)m(o)630 -4741 y(length)33 b(tables)h(in)f(the)g(same)g(\014le,)h(ev)m(en)g(when) -e(the)h(option)h(`)p Fn(-G)p Fs(')f(\(or,)h(equiv)-5 -b(alen)m(tly)d(,)36 b(the)630 4851 y(`)p Fn(\045global-table)p -Fs(')27 b(declaration\))33 b(is)d(giv)m(en.)150 5011 -y(`)p Fn(-S)g Fo(total-switc)m(h-statemen)m(ts)t Fs(')150 -5121 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m(ts)t -Fs(')630 5230 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e -(a)h Fn(switch)e Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630 +(\014le,)i(ev)m(en)e(when)f(the)h(option)g(`)p Fr(-G)p +Fv(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630 +4278 y(`)p Fr(\045global-table)p Fv(')27 b(declaration\))33 +b(is)d(giv)m(en.)150 4413 y(`)p Fr(--length-table-name=)p +Fi(lengt)o(h-ta)o(ble-)o(arr)o(ay-n)o(ame)10 b Fv(')630 +4522 y(Allo)m(ws)36 b(y)m(ou)e(to)i(sp)s(ecify)e(the)h(name)f(for)g +(the)h(generated)h(arra)m(y)f(con)m(taining)h(the)f(length)630 +4632 y(table.)77 b(Default)43 b(name)g(is)f(`)p Fr(lengthtable)p +Fv('.)74 b(This)41 b(option)i(p)s(ermits)e(the)h(use)g(of)h(t)m(w)m(o) +630 4741 y(length)33 b(tables)h(in)f(the)g(same)g(\014le,)h(ev)m(en)g +(when)e(the)h(option)h(`)p Fr(-G)p Fv(')f(\(or,)h(equiv)-5 +b(alen)m(tly)d(,)36 b(the)630 4851 y(`)p Fr(\045global-table)p +Fv(')27 b(declaration\))33 b(is)d(giv)m(en.)150 5011 +y(`)p Fr(-S)g Fi(total-switch-statements)10 b Fv(')150 +5121 y(`)p Fr(--switch=)p Fi(total-switch-sta)o(teme)o(nts)g +Fv(')630 5230 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e +(a)h Fr(switch)e Fv(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630 5340 y(an)j(arra)m(y)g(lo)s(okup)g(table.)64 b(This)37 b(can)h(lead)h(to)f(a)h(reduction)f(in)f(b)s(oth)g(time)i(and)e(space)p eop end -%%Page: 23 25 -TeXDict begin 23 24 bop 150 -116 a Fs(Chapter)30 b(4:)41 -b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(23)630 299 y(requiremen)m(ts) +%%Page: 28 30 +TeXDict begin 28 29 bop 150 -116 a Fv(Chapter)30 b(4:)41 +b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(28)630 299 y(requiremen)m(ts) 43 b(for)h(some)f(input)g(\014les.)80 b(The)43 b(argumen)m(t)h(to)g (this)f(option)h(determines)630 408 y(ho)m(w)33 b(man)m(y)f -Fn(switch)f Fs(statemen)m(ts)k(are)e(generated.)49 b(A)32 -b(v)-5 b(alue)34 b(of)e(1)i(generates)g(1)f Fn(switch)630 -518 y Fs(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i(a)d(v)-5 +Fr(switch)f Fv(statemen)m(ts)k(are)e(generated.)49 b(A)32 +b(v)-5 b(alue)34 b(of)e(1)i(generates)g(1)f Fr(switch)630 +518 y Fv(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i(a)d(v)-5 b(alue)23 b(of)h(2)f(generates)h(2)g(tables)f(with)g(1/2)h(the)g -(elemen)m(ts)630 628 y(in)38 b(eac)m(h)h Fn(switch)p -Fs(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e +(elemen)m(ts)630 628 y(in)38 b(eac)m(h)h Fr(switch)p +Fv(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e (compilers)i(cannot)g(correctly)630 737 y(generate)29 -b(co)s(de)f(for)f(large)h Fn(switch)e Fs(statemen)m(ts.)41 +b(co)s(de)f(for)f(large)h Fr(switch)e Fv(statemen)m(ts.)41 b(This)27 b(option)h(w)m(as)g(inspired)e(in)h(part)g(b)m(y)630 847 y(Keith)k(Bostic's)h(original)f(C)f(program.)150 -1000 y(`)p Fn(-T)p Fs(')150 1110 y(`)p Fn(--omit-struct-type)p -Fs(')630 1219 y(Prev)m(en)m(ts)f(the)e(transfer)h(of)f(the)h(t)m(yp)s +1009 y(`)p Fr(-T)p Fv(')150 1118 y(`)p Fr(--omit-struct-type)p +Fv(')630 1228 y(Prev)m(en)m(ts)f(the)e(transfer)h(of)f(the)h(t)m(yp)s (e)g(declaration)h(to)g(the)f(output)f(\014le.)40 b(Use)28 -b(this)f(option)630 1329 y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g -(de\014ned)e(elsewhere.)150 1483 y(`)p Fn(-p)p Fs(')334 +b(this)f(option)630 1338 y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g +(de\014ned)e(elsewhere.)150 1500 y(`)p Fr(-p)p Fv(')334 b(This)33 b(option)h(is)f(supp)s(orted)f(for)h(compatibilit)m(y)j(with) -d(previous)g(releases)i(of)f Fn(gperf)p Fs(.)49 b(It)630 -1592 y(do)s(es)30 b(not)h(do)f(an)m(ything.)150 1841 -y Fr(4.5)68 b(Options)45 b(for)g(c)l(hanging)h(the)f(Algorithms)h -(emplo)l(y)l(ed)g(b)l(y)f Fk(gperf)150 2052 y Fs(`)p -Fn(-k)30 b Fo(selected-b)m(yte-p)s(ositions)t Fs(')150 -2162 y(`)p Fn(--key-positions=)p Fo(selected-b)m(yte-p)s(ositions)t -Fs(')630 2271 y(Allo)m(ws)e(selection)h(of)e(the)g(b)m(yte)h(p)s +d(previous)g(releases)i(of)f Fr(gperf)p Fv(.)49 b(It)630 +1609 y(do)s(es)30 b(not)h(do)f(an)m(ything.)150 1845 +y Fu(4.5)68 b(Options)45 b(for)g(c)l(hanging)h(the)f(Algorithms)h +(emplo)l(y)l(ed)g(b)l(y)f Fl(gperf)150 2031 y Fv(`)p +Fr(-k)30 b Fi(selected-byte-positions)10 b Fv(')150 2141 +y(`)p Fr(--key-positions=)p Fi(selected-)o(byte)o(-pos)o(iti)o(ons)g +Fv(')630 2250 y(Allo)m(ws)28 b(selection)h(of)e(the)g(b)m(yte)h(p)s (ositions)f(used)f(in)h(the)g(k)m(eyw)m(ords')h(hash)e(function.)39 -b(The)630 2381 y(allo)m(w)m(able)24 b(c)m(hoices)g(range)e(b)s(et)m(w)m +b(The)630 2360 y(allo)m(w)m(able)24 b(c)m(hoices)g(range)e(b)s(et)m(w)m (een)h(1-255,)j(inclusiv)m(e.)38 b(The)22 b(p)s(ositions)f(are)i -(separated)f(b)m(y)630 2491 y(commas,)27 b(e.g.,)i(`)p -Fn(-k)h(9,4,13,14)p Fs(';)25 b(ranges)h(ma)m(y)g(b)s(e)f(used,)h(e.g.,) -i(`)p Fn(-k)i(2-7)p Fs(';)d(and)e(p)s(ositions)630 2600 +(separated)f(b)m(y)630 2469 y(commas,)27 b(e.g.,)i(`)p +Fr(-k)h(9,4,13,14)p Fv(';)25 b(ranges)h(ma)m(y)g(b)s(e)f(used,)h(e.g.,) +i(`)p Fr(-k)i(2-7)p Fv(';)d(and)e(p)s(ositions)630 2579 y(ma)m(y)c(o)s(ccur)f(in)h(an)m(y)g(order.)37 b(F)-8 b(urthermore,)22 b(the)f(wildcard)f('*')h(causes)g(the)g(generated)h -(hash)630 2710 y(function)37 b(to)h(consider)g Fe(all)g -Fs(b)m(yte)g(p)s(ositions)f(in)g(eac)m(h)i(k)m(eyw)m(ord,)h(whereas)d -('$')h(instructs)630 2819 y(the)31 b(hash)g(function)f(to)i(use)f(the)g +(hash)630 2689 y(function)37 b(to)h(consider)g Fe(all)g +Fv(b)m(yte)g(p)s(ositions)f(in)g(eac)m(h)i(k)m(eyw)m(ord,)h(whereas)d +('$')h(instructs)630 2798 y(the)31 b(hash)g(function)f(to)i(use)f(the)g (\\\014nal)h(b)m(yte")g(of)f(a)h(k)m(eyw)m(ord)f(\(this)g(is)h(the)f -(only)g(w)m(a)m(y)h(to)630 2929 y(use)e(a)h(b)m(yte)g(p)s(osition)f -(greater)i(than)e(255,)i(inciden)m(tally\).)630 3060 -y(F)-8 b(or)37 b(instance,)h(the)e(option)h(`)p Fn(-k)30 -b(1,2,4,6-10,'$')p Fs(')i(generates)38 b(a)e(hash)g(function)f(that)630 -3170 y(considers)g(p)s(ositions)g(1,2,4,6,7,8,9,10,)42 +(only)g(w)m(a)m(y)h(to)630 2908 y(use)e(a)h(b)m(yte)g(p)s(osition)f +(greater)i(than)e(255,)i(inciden)m(tally\).)630 3043 +y(F)-8 b(or)37 b(instance,)h(the)e(option)h(`)p Fr(-k)30 +b(1,2,4,6-10,'$')p Fv(')i(generates)38 b(a)e(hash)g(function)f(that)630 +3153 y(considers)g(p)s(ositions)g(1,2,4,6,7,8,9,10,)42 b(plus)34 b(the)i(last)g(b)m(yte)f(in)g(eac)m(h)h(k)m(eyw)m(ord)g -(\(whic)m(h)630 3280 y(ma)m(y)j(b)s(e)f(at)i(a)f(di\013eren)m(t)g(p)s +(\(whic)m(h)630 3263 y(ma)m(y)j(b)s(e)f(at)i(a)f(di\013eren)m(t)g(p)s (osition)g(for)f(eac)m(h)i(k)m(eyw)m(ord,)h(ob)m(viously\).)67 -b(Keyw)m(ords)38 b(with)630 3389 y(length)30 b(less)g(than)f(the)g +b(Keyw)m(ords)38 b(with)630 3372 y(length)30 b(less)g(than)f(the)g (indicated)h(b)m(yte)h(p)s(ositions)e(w)m(ork)g(prop)s(erly)-8 -b(,)30 b(since)f(selected)i(b)m(yte)630 3499 y(p)s(ositions)k +b(,)30 b(since)f(selected)i(b)m(yte)630 3482 y(p)s(ositions)k (exceeding)h(the)g(k)m(eyw)m(ord)f(length)g(are)h(simply)e(not)i -(referenced)f(in)f(the)i(hash)630 3608 y(function.)630 -3740 y(This)28 b(option)i(is)f(not)g(normally)g(needed)g(since)g(v)m -(ersion)g(2.8)i(of)e Fn(gperf)p Fs(;)f(the)h(default)g(b)m(yte)630 -3849 y(p)s(ositions)36 b(are)g(computed)f(dep)s(ending)f(on)i(the)f(k)m +(referenced)f(in)f(the)i(hash)630 3591 y(function.)630 +3727 y(This)28 b(option)i(is)f(not)g(normally)g(needed)g(since)g(v)m +(ersion)g(2.8)i(of)e Fr(gperf)p Fv(;)f(the)h(default)g(b)m(yte)630 +3837 y(p)s(ositions)36 b(are)g(computed)f(dep)s(ending)f(on)i(the)f(k)m (eyw)m(ord)h(set,)i(through)d(a)h(searc)m(h)g(that)630 -3959 y(minimizes)31 b(the)f(n)m(um)m(b)s(er)f(of)i(b)m(yte)g(p)s -(ositions.)150 4113 y(`)p Fn(-D)p Fs(')150 4222 y(`)p -Fn(--duplicates)p Fs(')630 4332 y(Handle)h(k)m(eyw)m(ords)h(whose)f +3946 y(minimizes)31 b(the)f(n)m(um)m(b)s(er)f(of)i(b)m(yte)g(p)s +(ositions.)150 4108 y(`)p Fr(-D)p Fv(')150 4218 y(`)p +Fr(--duplicates)p Fv(')630 4327 y(Handle)h(k)m(eyw)m(ords)h(whose)f (selected)i(b)m(yte)e(sets)h(hash)e(to)i(duplicate)g(v)-5 -b(alues.)46 b(Duplicate)630 4441 y(hash)33 b(v)-5 b(alues)34 +b(alues.)46 b(Duplicate)630 4437 y(hash)33 b(v)-5 b(alues)34 b(can)h(o)s(ccur)e(if)h(a)g(set)h(of)f(k)m(eyw)m(ords)g(has)g(the)g -(same)g(names,)h(but)e(p)s(ossesses)630 4551 y(di\013eren)m(t)f +(same)g(names,)h(but)e(p)s(ossesses)630 4547 y(di\013eren)m(t)f (attributes,)g(or)f(if)h(the)f(selected)i(b)m(yte)f(p)s(ositions)f(are) -h(not)f(w)m(ell)h(c)m(hosen.)44 b(With)630 4660 y(the)36 -b(-D)g(option)g Fn(gperf)e Fs(treats)j(all)f(these)h(k)m(eyw)m(ords)e +h(not)f(w)m(ell)h(c)m(hosen.)44 b(With)630 4656 y(the)36 +b(-D)g(option)g Fr(gperf)e Fv(treats)j(all)f(these)h(k)m(eyw)m(ords)e (as)h(part)g(of)g(an)f(equiv)-5 b(alence)37 b(class)630 -4770 y(and)31 b(generates)i(a)f(p)s(erfect)g(hash)f(function)g(with)h -(m)m(ultiple)g(comparisons)g(for)f(duplicate)630 4880 +4766 y(and)31 b(generates)i(a)f(p)s(erfect)g(hash)f(function)g(with)h +(m)m(ultiple)g(comparisons)g(for)f(duplicate)630 4875 y(k)m(eyw)m(ords.)38 b(It)21 b(is)f(up)g(to)h(y)m(ou)g(to)h(completely) g(disam)m(biguate)g(the)f(k)m(eyw)m(ords)g(b)m(y)g(mo)s(difying)630 -4989 y(the)28 b(generated)g(C)f(co)s(de.)40 b(Ho)m(w)m(ev)m(er,)30 -b Fn(gperf)c Fs(helps)h(y)m(ou)g(out)h(b)m(y)f(organizing)i(the)e +4985 y(the)28 b(generated)g(C)f(co)s(de.)40 b(Ho)m(w)m(ev)m(er,)30 +b Fr(gperf)c Fv(helps)h(y)m(ou)g(out)h(b)m(y)f(organizing)i(the)e (output.)630 5121 y(Using)32 b(this)g(option)g(usually)g(means)g(that)g (the)g(generated)h(hash)e(function)h(is)g(no)f(longer)630 5230 y(p)s(erfect.)48 b(On)31 b(the)i(other)g(hand,)g(it)g(p)s(ermits)f -Fn(gperf)f Fs(to)i(w)m(ork)g(on)g(k)m(eyw)m(ord)g(sets)g(that)g(it)630 +Fr(gperf)f Fv(to)i(w)m(ork)g(on)g(k)m(eyw)m(ord)g(sets)g(that)g(it)630 5340 y(otherwise)e(could)f(not)h(handle.)p eop end -%%Page: 24 26 -TeXDict begin 24 25 bop 150 -116 a Fs(Chapter)30 b(4:)41 -b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(24)150 299 y(`)p -Fn(-m)30 b Fo(iterations)t Fs(')150 408 y(`)p Fn -(--multiple-iterations=)p Fo(iterations)t Fs(')630 518 -y(P)m(erform)24 b(m)m(ultiple)h(c)m(hoices)h(of)e(the)h(`)p -Fn(-i)p Fs(')f(and)g(`)p Fn(-j)p Fs(')g(v)-5 b(alues,)26 +%%Page: 29 31 +TeXDict begin 29 30 bop 150 -116 a Fv(Chapter)30 b(4:)41 +b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(29)150 299 y(`)p +Fr(-m)30 b Fi(iterations)11 b Fv(')150 408 y(`)p Fr +(--multiple-iterations=)p Fi(ite)o(rati)o(ons)f Fv(')630 +518 y(P)m(erform)24 b(m)m(ultiple)h(c)m(hoices)h(of)e(the)h(`)p +Fr(-i)p Fv(')f(and)g(`)p Fr(-j)p Fv(')g(v)-5 b(alues,)26 b(and)d(c)m(ho)s(ose)j(the)e(b)s(est)g(results.)630 628 y(This)34 b(increases)i(the)f(running)e(time)i(b)m(y)g(a)g(factor)h(of) -f Fo(iterations)40 b Fs(but)34 b(do)s(es)g(a)i(go)s(o)s(d)e(job)630 +f Fn(iterations)40 b Fv(but)34 b(do)s(es)g(a)i(go)s(o)s(d)e(job)630 737 y(minimizing)d(the)f(generated)i(table)f(size.)150 -907 y(`)p Fn(-i)f Fo(initial-v)-5 b(alue)5 b Fs(')150 -1016 y(`)p Fn(--initial-asso=)p Fo(initial-v)-5 b(alue)5 -b Fs(')630 1126 y(Pro)m(vides)29 b(an)f(initial)h Fo(v)-5 -b(alue)34 b Fs(for)28 b(the)g(asso)s(ciate)i(v)-5 b(alues)29 -b(arra)m(y)-8 b(.)41 b(Default)29 b(is)f(0.)41 b(Increasing)630 -1235 y(the)30 b(initial)h(v)-5 b(alue)31 b(helps)e(in\015ate)h(the)g +907 y(`)p Fr(-i)f Fi(initial-value)11 b Fv(')150 1016 +y(`)p Fr(--initial-asso=)p Fi(initial-va)o(lue)f Fv(')630 +1126 y(Pro)m(vides)29 b(an)f(initial)h Fn(v)-5 b(alue)34 +b Fv(for)28 b(the)g(asso)s(ciate)i(v)-5 b(alues)29 b(arra)m(y)-8 +b(.)41 b(Default)29 b(is)f(0.)41 b(Increasing)630 1235 +y(the)30 b(initial)h(v)-5 b(alue)31 b(helps)e(in\015ate)h(the)g (\014nal)g(table)h(size,)g(p)s(ossibly)e(leading)i(to)f(more)g(time)630 1345 y(e\016cien)m(t)f(k)m(eyw)m(ord)e(lo)s(okups.)39 b(Note)29 b(that)e(this)g(option)h(is)f(not)g(particularly)h(useful)e -(when)630 1455 y(`)p Fn(-S)p Fs(')i(\(or,)i(equiv)-5 -b(alen)m(tly)d(,)31 b(`)p Fn(\045switch)p Fs('\))c(is)i(used.)39 -b(Also,)30 b(`)p Fn(-i)p Fs(')e(is)g(o)m(v)m(erridden)h(when)e(the)i(`) -p Fn(-r)p Fs(')630 1564 y(option)i(is)f(used.)150 1733 -y(`)p Fn(-j)g Fo(jump-v)-5 b(alue)5 b Fs(')150 1843 y(`)p -Fn(--jump=)p Fo(jump-v)-5 b(alue)5 b Fs(')630 1953 y(A\013ects)41 +(when)630 1455 y(`)p Fr(-S)p Fv(')i(\(or,)i(equiv)-5 +b(alen)m(tly)d(,)31 b(`)p Fr(\045switch)p Fv('\))c(is)i(used.)39 +b(Also,)30 b(`)p Fr(-i)p Fv(')e(is)g(o)m(v)m(erridden)h(when)e(the)i(`) +p Fr(-r)p Fv(')630 1564 y(option)i(is)f(used.)150 1733 +y(`)p Fr(-j)g Fi(jump-value)11 b Fv(')150 1843 y(`)p +Fr(--jump=)p Fi(jump-value)g Fv(')630 1953 y(A\013ects)41 b(the)f(\\jump)f(v)-5 b(alue",)44 b(i.e.,)g(ho)m(w)c(far)g(to)g(adv)-5 b(ance)41 b(the)f(asso)s(ciated)i(b)m(yte)e(v)-5 b(alue)630 -2062 y(up)s(on)29 b(collisions.)43 b Fo(Jump-v)-5 b(alue)35 -b Fs(is)30 b(rounded)f(up)h(to)h(an)f(o)s(dd)g(n)m(um)m(b)s(er,)f(the)i -(default)g(is)f(5.)630 2172 y(If)g(the)g Fo(jump-v)-5 -b(alue)35 b Fs(is)c(0)f Fn(gperf)f Fs(jumps)g(b)m(y)h(random)g(amoun)m -(ts.)150 2341 y(`)p Fn(-n)p Fs(')150 2451 y(`)p Fn(--no-strlen)p -Fs(')630 2560 y(Instructs)c(the)i(generator)g(not)f(to)h(include)f(the) +2062 y(up)s(on)29 b(collisions.)43 b Fn(Jump-v)-5 b(alue)35 +b Fv(is)30 b(rounded)f(up)h(to)h(an)f(o)s(dd)g(n)m(um)m(b)s(er,)f(the)i +(default)g(is)f(5.)630 2172 y(If)g(the)g Fn(jump-v)-5 +b(alue)35 b Fv(is)c(0)f Fr(gperf)f Fv(jumps)g(b)m(y)h(random)g(amoun)m +(ts.)150 2341 y(`)p Fr(-n)p Fv(')150 2451 y(`)p Fr(--no-strlen)p +Fv(')630 2560 y(Instructs)c(the)i(generator)g(not)f(to)h(include)f(the) h(length)f(of)g(a)h(k)m(eyw)m(ord)g(when)e(computing)630 2670 y(its)41 b(hash)f(v)-5 b(alue.)72 b(This)40 b(ma)m(y)h(sa)m(v)m(e) h(a)f(few)f(assem)m(bly)h(instructions)g(in)f(the)h(generated)630 -2780 y(lo)s(okup)30 b(table.)150 2949 y(`)p Fn(-r)p Fs(')150 -3059 y(`)p Fn(--random)p Fs(')630 3168 y(Utilizes)40 +2780 y(lo)s(okup)30 b(table.)150 2949 y(`)p Fr(-r)p Fv(')150 +3059 y(`)p Fr(--random)p Fv(')630 3168 y(Utilizes)40 b(randomness)e(to)h(initialize)h(the)f(asso)s(ciated)h(v)-5 b(alues)38 b(table.)66 b(This)38 b(frequen)m(tly)630 3278 y(generates)23 b(solutions)e(faster)h(than)f(using)g @@ -5049,8 +5948,8 @@ b(alues)38 b(table.)66 b(This)38 b(frequen)m(tly)630 3387 y(asso)s(ciated)28 b(v)-5 b(alues)28 b(at)f(0\).)40 b(F)-8 b(urthermore,)28 b(using)f(the)g(randomization)g(option)h (generally)630 3497 y(increases)j(the)g(size)g(of)f(the)h(table.)150 -3666 y(`)p Fn(-s)f Fo(size-m)m(ultiple)5 b Fs(')150 3776 -y(`)p Fn(--size-multiple=)p Fo(size-m)m(ultiple)g Fs(')630 +3666 y(`)p Fr(-s)f Fi(size-multiple)11 b Fv(')150 3776 +y(`)p Fr(--size-multiple=)p Fi(size-mult)o(iple)f Fv(')630 3885 y(A\013ects)40 b(the)e(size)h(of)g(the)f(generated)i(hash)d (table.)66 b(The)38 b(n)m(umeric)g(argumen)m(t)h(for)f(this)630 3995 y(option)33 b(indicates)g(\\ho)m(w)g(man)m(y)g(times)g(larger)g @@ -5070,19 +5969,19 @@ f(than)g(the)630 4653 y(n)m(um)m(b)s(er)33 b(of)i(input)f(k)m(eyw)m (ords".)55 b(V)-8 b(alues)35 b(smaller)h(than)e(1)h(are)g(useful)f(for) h(limiting)h(the)630 4762 y(o)m(v)m(erall)31 b(size)e(of)g(the)f (generated)i(hash)e(table,)i(though)e(the)g(option)h(`)p -Fn(-m)p Fs(')g(is)f(b)s(etter)h(at)g(this)630 4872 y(purp)s(ose.)630 +Fr(-m)p Fv(')g(is)f(b)s(etter)h(at)g(this)630 4872 y(purp)s(ose.)630 5011 y(If)44 b(`generate)h(switc)m(h')g(option)g(`)p -Fn(-S)p Fs(')f(\(or,)k(equiv)-5 b(alen)m(tly)d(,)49 b(`)p -Fn(\045switch)p Fs('\))43 b(is)h Fl(not)54 b Fs(enabled,)630 +Fr(-S)p Fv(')f(\(or,)k(equiv)-5 b(alen)m(tly)d(,)49 b(`)p +Fr(\045switch)p Fv('\))43 b(is)h Fm(not)54 b Fv(enabled,)630 5121 y(the)45 b(maxim)m(um)h(asso)s(ciated)g(v)-5 b(alue)46 b(in\015uences)f(the)g(static)i(arra)m(y)f(table)g(size,)k(and)45 b(a)630 5230 y(larger)27 b(table)g(should)e(decrease)i(the)f(time)h (required)e(for)h(an)f(unsuccessful)g(searc)m(h,)j(at)f(the)630 5340 y(exp)s(ense)j(of)g(extra)i(table)f(space.)p eop end -%%Page: 25 27 -TeXDict begin 25 26 bop 150 -116 a Fs(Chapter)30 b(4:)41 -b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(25)630 299 y(The)35 +%%Page: 30 32 +TeXDict begin 30 31 bop 150 -116 a Fv(Chapter)30 b(4:)41 +b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(30)630 299 y(The)35 b(default)g(v)-5 b(alue)36 b(is)f(1,)i(th)m(us)e(the)h(default)f(maxim) m(um)g(asso)s(ciated)i(v)-5 b(alue)36 b(ab)s(out)f(the)630 408 y(same)h(size)g(as)f(the)h(n)m(um)m(b)s(er)e(of)h(k)m(eyw)m(ords)h @@ -5090,359 +5989,367 @@ m(um)g(asso)s(ciated)i(v)-5 b(alue)36 b(ab)s(out)f(the)630 518 y(v)-5 b(alue)36 b(is)g(alw)m(a)m(ys)h(rounded)d(up)g(to)i(a)g(p)s (o)m(w)m(er)g(of)f(2\).)57 b(The)35 b(actual)i(table)g(size)f(ma)m(y)g (v)-5 b(ary)630 628 y(somewhat,)31 b(since)g(this)f(tec)m(hnique)h(is)g -(essen)m(tially)h(a)f(heuristic.)150 885 y Fr(4.6)68 -b(Informativ)l(e)47 b(Output)150 1103 y Fs(`)p Fn(-h)p -Fs(')150 1212 y(`)p Fn(--help)p Fs(')142 b(Prin)m(ts)24 +(essen)m(tially)h(a)f(heuristic.)150 860 y Fu(4.6)68 +b(Informativ)l(e)47 b(Output)150 1044 y Fv(`)p Fr(-h)p +Fv(')150 1154 y(`)p Fr(--help)p Fv(')142 b(Prin)m(ts)24 b(a)g(short)f(summary)g(on)h(the)g(meaning)g(of)g(eac)m(h)h(program)e -(option.)39 b(Ab)s(orts)23 b(further)630 1322 y(program)30 -b(execution.)150 1481 y(`)p Fn(-v)p Fs(')150 1591 y(`)p -Fn(--version)p Fs(')630 1700 y(Prin)m(ts)g(out)h(the)f(curren)m(t)h(v)m -(ersion)f(n)m(um)m(b)s(er.)150 1860 y(`)p Fn(-d)p Fs(')150 -1969 y(`)p Fn(--debug)p Fs(')94 b(Enables)28 b(the)h(debugging)f +(option.)39 b(Ab)s(orts)23 b(further)630 1264 y(program)30 +b(execution.)150 1423 y(`)p Fr(-v)p Fv(')150 1533 y(`)p +Fr(--version)p Fv(')630 1642 y(Prin)m(ts)g(out)h(the)f(curren)m(t)h(v)m +(ersion)f(n)m(um)m(b)s(er.)150 1802 y(`)p Fr(-d)p Fv(')150 +1911 y(`)p Fr(--debug)p Fv(')94 b(Enables)28 b(the)h(debugging)f (option.)40 b(This)28 b(pro)s(duces)f(v)m(erb)s(ose)i(diagnostics)g(to) -g(\\standard)630 2079 y(error")i(when)g Fn(gperf)f Fs(is)h(executing.) +g(\\standard)630 2021 y(error")i(when)g Fr(gperf)f Fv(is)h(executing.) 45 b(It)32 b(is)f(useful)g(b)s(oth)g(for)g(main)m(taining)i(the)e -(program)630 2188 y(and)f(for)h(determining)g(whether)f(a)h(giv)m(en)h +(program)630 2130 y(and)f(for)h(determining)g(whether)f(a)h(giv)m(en)h (set)f(of)g(options)g(is)g(actually)i(sp)s(eeding)d(up)g(the)630 -2298 y(searc)m(h)41 b(for)e(a)h(solution.)70 b(Some)40 +2240 y(searc)m(h)41 b(for)e(a)h(solution.)70 b(Some)40 b(useful)f(information)h(is)g(dump)s(ed)e(at)i(the)g(end)g(of)g(the)630 -2408 y(program)30 b(when)g(the)g(`)p Fn(-d)p Fs(')g(option)h(is)g +2350 y(program)30 b(when)g(the)g(`)p Fr(-d)p Fv(')g(option)h(is)g (enabled.)p eop end -%%Page: 26 28 -TeXDict begin 26 27 bop 150 -116 a Fs(Chapter)30 b(5:)41 -b(Kno)m(wn)30 b(Bugs)g(and)g(Limitations)h(with)f Fn(gperf)1397 -b Fs(26)150 299 y Fp(5)80 b(Kno)l(wn)53 b(Bugs)f(and)i(Limitations)f -(with)f Fm(gperf)275 533 y Fs(The)29 b(follo)m(wing)j(are)f(some)g +%%Page: 31 33 +TeXDict begin 31 32 bop 150 -116 a Fv(Chapter)30 b(5:)41 +b(Kno)m(wn)30 b(Bugs)g(and)g(Limitations)h(with)f Fr(gperf)1397 +b Fv(31)150 299 y Fs(5)80 b(Kno)l(wn)53 b(Bugs)f(and)i(Limitations)f +(with)f Fo(gperf)275 533 y Fv(The)29 b(follo)m(wing)j(are)f(some)g (limitations)h(with)e(the)g(curren)m(t)h(release)g(of)g -Fn(gperf)p Fs(:)225 667 y Fq(\017)60 b Fs(The)31 b Fn(gperf)g -Fs(utilit)m(y)i(is)f(tuned)f(to)h(execute)h(quic)m(kly)-8 +Fr(gperf)p Fv(:)225 667 y Ft(\017)60 b Fv(The)31 b Fr(gperf)g +Fv(utilit)m(y)i(is)f(tuned)f(to)h(execute)h(quic)m(kly)-8 b(,)34 b(and)d(w)m(orks)h(quic)m(kly)g(for)g(small)g(to)h(medium)330 777 y(size)i(data)g(sets)g(\(around)f(1000)i(k)m(eyw)m(ords\).)54 b(It)34 b(is)h(extremely)h(useful)d(for)h(main)m(taining)i(p)s(erfect) 330 887 y(hash)k(functions)h(for)f(compiler)i(k)m(eyw)m(ord)f(sets.)72 b(Sev)m(eral)42 b(recen)m(t)g(enhancemen)m(ts)g(no)m(w)e(enable)330 -996 y Fn(gperf)31 b Fs(to)j(w)m(ork)e(e\016cien)m(tly)j(on)d(m)m(uc)m +996 y Fr(gperf)31 b Fv(to)j(w)m(ork)e(e\016cien)m(tly)j(on)d(m)m(uc)m (h)h(larger)g(k)m(eyw)m(ord)g(sets)g(\(o)m(v)m(er)i(15,000)g(k)m(eyw)m (ords\).)48 b(When)330 1106 y(pro)s(cessing)30 b(large)i(k)m(eyw)m(ord) e(sets)h(it)g(helps)f(greatly)i(to)f(ha)m(v)m(e)g(o)m(v)m(er)h(8)f -(megs)g(of)f(RAM.)225 1240 y Fq(\017)60 b Fs(The)43 b(size)i(of)f(the)g +(megs)g(of)f(RAM.)225 1240 y Ft(\017)60 b Fv(The)43 b(size)i(of)f(the)g (generate)h(static)h(k)m(eyw)m(ord)e(arra)m(y)g(can)g(get)h -Fl(extr)-5 b(emely)53 b Fs(large)45 b(if)f(the)g(input)330 +Fm(extr)-5 b(emely)53 b Fv(large)45 b(if)f(the)g(input)330 1350 y(k)m(eyw)m(ord)d(\014le)f(is)g(large)i(or)e(if)g(the)h(k)m(eyw)m (ords)f(are)h(quite)g(similar.)70 b(This)40 b(tends)g(to)h(slo)m(w)f (do)m(wn)330 1460 y(the)35 b(compilation)h(of)f(the)f(generated)i(C)e -(co)s(de,)i(and)e Fl(gr)-5 b(e)g(atly)44 b Fs(in\015ates)35 +(co)s(de,)i(and)e Fm(gr)-5 b(e)g(atly)44 b Fv(in\015ates)35 b(the)g(ob)5 b(ject)35 b(co)s(de)g(size.)54 b(If)330 1569 y(this)40 b(situation)h(o)s(ccurs,)h(consider)e(using)f(the)h(`)p -Fn(-S)p Fs(')g(option)g(to)h(reduce)e(data)i(size,)i(p)s(oten)m(tially) +Fr(-S)p Fv(')g(option)g(to)h(reduce)e(data)i(size,)i(p)s(oten)m(tially) 330 1679 y(increasing)h(k)m(eyw)m(ord)g(recognition)h(time)f(a)g (negligible)i(amoun)m(t.)80 b(Since)44 b(man)m(y)f(C)h(compilers)330 1788 y(cannot)37 b(correctly)i(generate)f(co)s(de)f(for)g(large)h (switc)m(h)f(statemen)m(ts)i(it)e(is)g(imp)s(ortan)m(t)g(to)h(qualify) -330 1898 y(the)i Fo(-S)46 b Fs(option)40 b(with)g(an)g(appropriate)g(n) +330 1898 y(the)i Fn(-S)46 b Fv(option)40 b(with)g(an)g(appropriate)g(n) m(umerical)h(argumen)m(t)f(that)h(con)m(trols)h(the)e(n)m(um)m(b)s(er)f (of)330 2007 y(switc)m(h)31 b(statemen)m(ts)h(generated.)225 -2142 y Fq(\017)60 b Fs(The)35 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i +2142 y Ft(\017)60 b Fv(The)35 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i (selected)h(b)m(yte)f(p)s(ositions)f(has)g(an)h(arbitrary)f(limit)h(of) g(255.)57 b(This)330 2252 y(restriction)29 b(should)e(b)s(e)g(remo)m(v) m(ed,)j(and)d(if)h(an)m(y)m(one)h(considers)f(this)g(a)g(problem)f (write)i(me)f(and)f(let)330 2361 y(me)j(kno)m(w)h(so)f(I)h(can)f(remo)m (v)m(e)i(the)f(constrain)m(t.)p eop end -%%Page: 27 29 -TeXDict begin 27 28 bop 150 -116 a Fs(Chapter)30 b(6:)41 -b(Things)29 b(Still)i(Left)g(to)g(Do)2133 b(27)150 299 -y Fp(6)80 b(Things)53 b(Still)g(Left)g(to)g(Do)275 533 -y Fs(It)24 b(should)f(b)s(e)h(\\relativ)m(ely")k(easy)d(to)g(replace)g +%%Page: 32 34 +TeXDict begin 32 33 bop 150 -116 a Fv(Chapter)30 b(6:)41 +b(Things)29 b(Still)i(Left)g(to)g(Do)2133 b(32)150 299 +y Fs(6)80 b(Things)53 b(Still)g(Left)g(to)g(Do)275 533 +y Fv(It)24 b(should)f(b)s(e)h(\\relativ)m(ely")k(easy)d(to)g(replace)g (the)g(curren)m(t)f(p)s(erfect)g(hash)g(function)g(algorithm)h(with)150 643 y(a)35 b(more)f(exhaustiv)m(e)h(approac)m(h;)i(the)d(p)s(erfect)h (hash)e(mo)s(dule)h(is)g(essen)m(tial)i(indep)s(enden)m(t)d(from)h (other)150 752 y(program)c(mo)s(dules.)40 b(Additional)31 b(w)m(orth)m(while)g(impro)m(v)m(emen)m(ts)h(include:)225 -887 y Fq(\017)60 b Fs(Another)34 b(useful)f(extension)h(in)m(v)m(olv)m +887 y Ft(\017)60 b Fv(Another)34 b(useful)f(extension)h(in)m(v)m(olv)m (es)i(mo)s(difying)d(the)h(program)f(to)i(generate)g(\\minimal")g(p)s (er-)330 996 y(fect)42 b(hash)f(functions)f(\(under)h(certain)h (circumstances,)j(the)c(curren)m(t)g(v)m(ersion)h(can)f(b)s(e)g(rather) 330 1106 y(extra)m(v)-5 b(agan)m(t)39 b(in)d(the)h(generated)g(table)g (size\).)60 b(This)36 b(is)g(mostly)h(of)g(theoretical)h(in)m(terest,)i (since)330 1215 y(a)f(sparse)f(table)h(often)g(pro)s(duces)e(faster)i -(lo)s(okups,)h(and)e(use)g(of)h(the)g(`)p Fn(-S)p Fs(')f -Fn(switch)f Fs(option)i(can)330 1325 y(minimize)g(the)g(data)g(size,)j +(lo)s(okups,)h(and)e(use)g(of)h(the)g(`)p Fr(-S)p Fv(')f +Fr(switch)f Fv(option)i(can)330 1325 y(minimize)g(the)g(data)g(size,)j (at)d(the)g(exp)s(ense)f(of)h(sligh)m(tly)h(longer)f(lo)s(okups)f (\(note)i(that)f(the)g(gcc)330 1435 y(compiler)e(generally)g(pro)s -(duces)e(go)s(o)s(d)h(co)s(de)g(for)g Fn(switch)f Fs(statemen)m(ts,)k +(duces)e(go)s(o)s(d)h(co)s(de)g(for)g Fr(switch)f Fv(statemen)m(ts,)k (reducing)d(the)g(need)g(for)330 1544 y(more)31 b(complex)g(sc)m -(hemes\).)225 1679 y Fq(\017)60 b Fs(In)38 b(addition)h(to)h(impro)m +(hemes\).)225 1679 y Ft(\017)60 b Fv(In)38 b(addition)h(to)h(impro)m (ving)f(the)h(algorithm,)i(it)d(w)m(ould)g(also)h(b)s(e)f(useful)f(to)h (generate)i(an)e(Ada)330 1788 y(pac)m(k)-5 b(age)32 b(as)f(the)g(co)s (de)f(output,)g(in)g(addition)h(to)g(the)g(curren)m(t)f(C)g(and)g(C)p -Fn(++)f Fs(routines.)p eop end -%%Page: 28 30 -TeXDict begin 28 29 bop 150 -116 a Fs(Chapter)30 b(7:)41 -b(Bibliograph)m(y)2536 b(28)150 299 y Fp(7)80 b(Bibliograph)l(y)275 -533 y Fs([1])22 b(Chang,)h(C.C.:)36 b Fl(A)24 b(Scheme)h(for)g -(Constructing)h(Or)-5 b(der)g(e)g(d)26 b(Minimal)f(Perfe)-5 -b(ct)24 b(Hashing)h(F)-7 b(unctions)150 643 y Fs(Information)30 -b(Sciences)h(39\(1986\),)j(187-195.)275 777 y([2])26 -b(Cic)m(helli,)i(Ric)m(hard)e(J.)f Fl(A)n(uthor's)k(R)-5 -b(esp)g(onse)30 b(to)f(\\On)f(Cichel)5 b(li's)28 b(Minimal)h(Perfe)-5 -b(ct)28 b(Hash)g(F)-7 b(unc-)150 887 y(tions)33 b(Metho)-5 -b(d")38 b Fs(Comm)m(unications)31 b(of)g(the)f(A)m(CM,)h(23,)h -(12\(Decem)m(b)s(er)g(1980\),)h(729.)275 1021 y([3])f(Cic)m(helli,)i -(Ric)m(hard)d(J.)h Fl(Minimal)i(Perfe)-5 b(ct)33 b(Hash)i(F)-7 -b(unctions)34 b(Made)g(Simple)39 b Fs(Comm)m(unications)150 -1131 y(of)31 b(the)f(A)m(CM,)h(23,)h(1\(Jan)m(uary)f(1980\),)h(17-19.) -275 1265 y([4])22 b(Co)s(ok,)h(C.)e(R.)g(and)f(Oldeho)s(eft,)j(R.R.)f -Fl(A)h(L)-5 b(etter)25 b(Oriente)-5 b(d)25 b(Minimal)f(Perfe)-5 -b(ct)24 b(Hashing)g(F)-7 b(unction)150 1375 y Fs(SIGPLAN)30 -b(Notices,)i(17,)g(9\(Septem)m(b)s(er)f(1982\),)h(18-27.)275 -1509 y([5])22 b(Cormac)m(k,)j(G.)d(V.)g(and)g(Horsp)s(o)s(ol,)h(R.)f -(N.)g(S.)g(and)f(Kaiserw)m(erth,)j(M.)f Fl(Pr)-5 b(actic)g(al)26 -b(Perfe)-5 b(ct)25 b(Hashing)150 1619 y Fs(Computer)30 -b(Journal,)g(28,)h(1\(Jan)m(uary)g(1985\),)i(54-58.)275 -1753 y([6])28 b(Jaesc)m(hk)m(e,)j(G.)d Fl(R)-5 b(e)g(cipr)g(o)g(c)g(al) -34 b(Hashing:)41 b(A)30 b(Metho)-5 b(d)31 b(for)g(Gener)-5 -b(ating)32 b(Minimal)e(Perfe)-5 b(ct)31 b(Hashing)150 -1863 y(F)-7 b(unctions)39 b Fs(Comm)m(unications)31 b(of)f(the)h(A)m -(CM,)g(24,)g(12\(Decem)m(b)s(er)i(1981\),)g(829-833.)275 -1998 y([7])22 b(Jaesc)m(hk)m(e,)i(G.)e(and)f(Osterburg,)h(G.)g -Fl(On)h(Cichel)5 b(li's)25 b(Minimal)f(Perfe)-5 b(ct)24 -b(Hash)h(F)-7 b(unctions)25 b(Metho)-5 b(d)150 2107 y -Fs(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g(23,)h(12\(Decem)m(b)s -(er)g(1980\),)h(728-729.)275 2242 y([8])25 b(Sager,)h(Thomas)e(J.)h -Fl(A)h(Polynomial)j(Time)f(Gener)-5 b(ator)29 b(for)f(Minimal)f(Perfe) --5 b(ct)27 b(Hash)h(F)-7 b(unctions)150 2351 y Fs(Comm)m(unications)31 -b(of)f(the)h(A)m(CM,)g(28,)h(5\(Decem)m(b)s(er)g(1985\),)g(523-532)275 -2486 y([9])f(Sc)m(hmidt,)f(Douglas)h(C.)f Fl(GPERF:)i(A)g(Perfe)-5 -b(ct)32 b(Hash)h(F)-7 b(unction)33 b(Gener)-5 b(ator)42 -b Fs(Second)30 b(USENIX)150 2595 y(C)p Fn(++)f Fs(Conference)i(Pro)s -(ceedings,)g(April)f(1990.)275 2730 y([10])42 b(Sc)m(hmidt,)i(Douglas)e -(C.)f Fl(GPERF:)i(A)e(Perfe)-5 b(ct)43 b(Hash)g(F)-7 -b(unction)43 b(Gener)-5 b(ator)53 b Fs(C)p Fn(++)40 b -Fs(Rep)s(ort,)150 2839 y(SIGS)29 b(10)j(10)f(\(No)m(v)m(em)m(b)s -(er/Decem)m(b)s(er)i(1998\).)275 2974 y([11])24 b(Seb)s(esta,)h(R.W.)e -(and)g(T)-8 b(a)m(ylor,)26 b(M.A.)e Fl(Minimal)i(Perfe)-5 -b(ct)26 b(Hash)g(F)-7 b(unctions)27 b(for)g(R)-5 b(eserve)g(d)27 -b(Wor)-5 b(d)150 3083 y(Lists)38 b Fs(SIGPLAN)30 b(Notices,)j(20,)e -(12\(Septem)m(b)s(er)g(1985\),)i(47-53.)275 3218 y([12])43 -b(Sprugnoli,)h(R.)e Fl(Perfe)-5 b(ct)43 b(Hashing)h(F)-7 -b(unctions:)64 b(A)43 b(Single)g(Pr)-5 b(ob)g(e)44 b(R)-5 -b(etrieving)44 b(Metho)-5 b(d)44 b(for)150 3328 y(Static)33 -b(Sets)38 b Fs(Comm)m(unications)31 b(of)g(the)f(A)m(CM,)i(20)f(11\(No) -m(v)m(em)m(b)s(er)i(1977\),)f(841-850.)275 3462 y([13])27 -b(Stallman,)h(Ric)m(hard)e(M.)h Fl(Using)h(and)i(Porting)f(GNU)g(CC)39 -b Fs(F)-8 b(ree)28 b(Soft)m(w)m(are)f(F)-8 b(oundation,)28 -b(1988.)275 3597 y([14])j(Stroustrup,)e(Bjarne)i Fl(The)h(C)p -Fn(++)g Fl(Pr)-5 b(o)g(gr)g(amming)36 b(L)-5 b(anguage.)40 -b Fs(Addison-W)-8 b(esley)g(,)33 b(1986.)275 3731 y([15])e(Tiemann,)f -(Mic)m(hael)j(D.)e Fl(User's)h(Guide)h(to)g(GNU)f(C)p -Fn(++)e Fs(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 +Fr(++)f Fv(routines.)p eop end +%%Page: 33 35 +TeXDict begin 33 34 bop 150 -116 a Fv(Chapter)30 b(7:)41 +b(Bibliograph)m(y)2536 b(33)150 299 y Fs(7)80 b(Bibliograph)l(y)150 +533 y Fv([1])35 b(Chang,)f(C.C.:)47 b Fm(A)36 b(Scheme)g(for)g +(Constructing)h(Or)-5 b(der)g(e)g(d)37 b(Minimal)f(Perfe)-5 +b(ct)36 b(Hashing)g(F)-7 b(unctions)150 643 y Fv(Information)30 +b(Sciences)h(39\(1986\),)j(187-195.)150 777 y([2])23 +b(Cic)m(helli,)j(Ric)m(hard)c(J.)h Fm(A)n(uthor's)i(R)-5 +b(esp)g(onse)28 b(to)e(\\On)e(Cichel)5 b(li's)26 b(Minimal)f(Perfe)-5 +b(ct)25 b(Hash)h(F)-7 b(unctions)150 887 y(Metho)i(d")38 +b Fv(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g(23,)g(12\(Decem)m(b)s +(er)i(1980\),)g(729.)150 1021 y([3])h(Cic)m(helli,)i(Ric)m(hard)e(J.)f +Fm(Minimal)j(Perfe)-5 b(ct)35 b(Hash)h(F)-7 b(unctions)36 +b(Made)g(Simple)41 b Fv(Comm)m(unications)34 b(of)150 +1131 y(the)d(A)m(CM,)g(23,)g(1\(Jan)m(uary)g(1980\),)i(17-19.)150 +1265 y([4])f(Co)s(ok,)g(C.)f(R.)g(and)g(Oldeho)s(eft,)h(R.R.)f +Fm(A)i(L)-5 b(etter)34 b(Oriente)-5 b(d)34 b(Minimal)g(Perfe)-5 +b(ct)33 b(Hashing)h(F)-7 b(unction)150 1375 y Fv(SIGPLAN)30 +b(Notices,)i(17,)g(9\(Septem)m(b)s(er)f(1982\),)h(18-27.)150 +1509 y([5])g(Cormac)m(k,)g(G.)g(V.)g(and)e(Horsp)s(o)s(ol,)i(R.)f(N.)g +(S.)g(and)g(Kaiserw)m(erth,)h(M.)g Fm(Pr)-5 b(actic)g(al)34 +b(Perfe)-5 b(ct)34 b(Hashing)150 1619 y Fv(Computer)c(Journal,)g(28,)h +(1\(Jan)m(uary)g(1985\),)i(54-58.)150 1753 y([6])40 b(Jaesc)m(hk)m(e,)j +(G.)d Fm(R)-5 b(e)g(cipr)g(o)g(c)g(al)44 b(Hashing:)58 +b(A)40 b(Metho)-5 b(d)42 b(for)f(Gener)-5 b(ating)42 +b(Minimal)f(Perfe)-5 b(ct)41 b(Hashing)150 1863 y(F)-7 +b(unctions)39 b Fv(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g(24,)g +(12\(Decem)m(b)s(er)i(1981\),)g(829-833.)150 1998 y([7])g(Jaesc)m(hk)m +(e,)i(G.)d(and)g(Osterburg,)g(G.)h Fm(On)h(Cichel)5 b(li's)34 +b(Minimal)h(Perfe)-5 b(ct)34 b(Hash)h(F)-7 b(unctions)35 +b(Metho)-5 b(d)150 2107 y Fv(Comm)m(unications)31 b(of)f(the)h(A)m(CM,) +g(23,)h(12\(Decem)m(b)s(er)g(1980\),)h(728-729.)150 2242 +y([8])j(Sager,)i(Thomas)d(J.)g Fm(A)i(Polynomial)i(Time)e(Gener)-5 +b(ator)40 b(for)e(Minimal)f(Perfe)-5 b(ct)37 b(Hash)h(F)-7 +b(unctions)150 2351 y Fv(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g +(28,)h(5\(Decem)m(b)s(er)g(1985\),)g(523-532)150 2486 +y([9])25 b(Sc)m(hmidt,)h(Douglas)f(C.)f Fm(GPERF:)j(A)g(Perfe)-5 +b(ct)27 b(Hash)g(F)-7 b(unction)28 b(Gener)-5 b(ator)36 +b Fv(Second)24 b(USENIX)g(C)p Fr(++)150 2595 y Fv(Conference)30 +b(Pro)s(ceedings,)h(April)f(1990.)150 2730 y([10])i(Sc)m(hmidt,)f +(Douglas)h(C.)f Fm(GPERF:)i(A)f(Perfe)-5 b(ct)33 b(Hash)h(F)-7 +b(unction)33 b(Gener)-5 b(ator)43 b Fv(C)p Fr(++)30 b +Fv(Rep)s(ort,)h(SIGS)150 2839 y(10)g(10)g(\(No)m(v)m(em)m(b)s(er/Decem) +m(b)s(er)j(1998\).)150 2974 y([11])h(Seb)s(esta,)g(R.W.)g(and)e(T)-8 +b(a)m(ylor,)37 b(M.A.)e Fm(Minimal)h(Perfe)-5 b(ct)36 +b(Hash)g(F)-7 b(unctions)37 b(for)f(R)-5 b(eserve)g(d)38 +b(Wor)-5 b(d)150 3083 y(Lists)38 b Fv(SIGPLAN)30 b(Notices,)j(20,)e +(12\(Septem)m(b)s(er)g(1985\),)i(47-53.)150 3218 y([12])f(Sprugnoli,)d +(R.)h Fm(Perfe)-5 b(ct)33 b(Hashing)g(F)-7 b(unctions:)42 +b(A)32 b(Single)h(Pr)-5 b(ob)g(e)33 b(R)-5 b(etrieving)33 +b(Metho)-5 b(d)33 b(for)g(Static)150 3328 y(Sets)38 b +Fv(Comm)m(unications)31 b(of)g(the)f(A)m(CM,)h(20)h(11\(No)m(v)m(em)m +(b)s(er)g(1977\),)h(841-850.)150 3462 y([13])f(Stallman,)f(Ric)m(hard)f +(M.)h Fm(Using)h(and)i(Porting)f(GNU)f(CC)43 b Fv(F)-8 +b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(1988.)150 +3597 y([14])g(Stroustrup,)d(Bjarne)h Fm(The)j(C)p Fr(++)f +Fm(Pr)-5 b(o)g(gr)g(amming)35 b(L)-5 b(anguage.)41 b +Fv(Addison-W)-8 b(esley)g(,)32 b(1986.)150 3731 y([15])g(Tiemann,)e +(Mic)m(hael)i(D.)f Fm(User's)i(Guide)f(to)i(GNU)e(C)p +Fr(++)d Fv(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(1989.)p eop end -%%Page: 29 31 -TeXDict begin 29 30 bop 150 -116 a Fs(Concept)31 b(Index)2927 -b(29)150 299 y Fp(Concept)52 b(Index)150 642 y Fr(\045)150 -773 y Fd(`)p Fc(\045\045)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 -b Fd(12)150 868 y(`)p Fc(\045{)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 -b Fd(15)150 964 y(`)p Fc(\045})p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 -b Fd(15)150 1060 y(`)p Fc(\0457bit)p Fd(')8 b Fb(.)14 -b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)33 b Fd(14)150 1155 y(`)p Fc(\045compare-lengths)p -Fd(')10 b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36 -b Fd(14)150 1251 y(`)p Fc(\045compare-strncmp)p Fd(')10 -b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36 b Fd(14)150 -1346 y(`)p Fc(\045define)28 b(class-name)p Fd(')14 b -Fb(.)g(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)39 b Fd(14)150 1442 y(`)p -Fc(\045define)28 b(hash-function-name)p Fd(')c Fb(.)13 -b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46 -b Fd(13)150 1538 y(`)p Fc(\045define)28 b(initializer-suffix)p -Fd(')c Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -46 b Fd(13)150 1633 y(`)p Fc(\045define)28 b(length-table-name)p -Fd(')e Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)47 b Fd(15)150 1729 y(`)p Fc(\045define)28 b(lookup-function-name)p -Fd(')18 b Fb(.)e(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43 -b Fd(13)150 1824 y(`)p Fc(\045define)28 b(slot-name)p -Fd(')15 b Fb(.)g(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)41 b Fd(13)150 -1920 y(`)p Fc(\045define)28 b(string-pool-name)p Fd(')f -Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f -(.)49 b Fd(15)150 2016 y(`)p Fc(\045define)28 b(word-array-name)p -Fd(')7 b Fb(.)15 b(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)32 b Fd(15)150 2111 y(`)p Fc(\045delimiters)p -Fd(')17 b Fb(.)f(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)43 -b Fd(13)150 2207 y(`)p Fc(\045enum)p Fd(')8 b Fb(.)14 -b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)33 b Fd(14)150 2302 y(`)p Fc(\045global-table)p -Fd(')14 b Fb(.)i(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)40 -b Fd(14)150 2398 y(`)p Fc(\045ignore-case)p Fd(')16 b -Fb(.)g(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)41 -b Fd(13)150 2494 y(`)p Fc(\045includes)p Fd(')23 b Fb(.)12 -b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46 -b Fd(14)150 2589 y(`)p Fc(\045language)p Fd(')23 b Fb(.)12 -b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46 -b Fd(13)150 2685 y(`)p Fc(\045null-strings)p Fd(')14 -b Fb(.)i(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)40 b -Fd(15)150 2780 y(`)p Fc(\045omit-struct-type)p Fd(')9 -b Fb(.)16 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)34 b Fd(15)150 2876 -y(`)p Fc(\045pic)p Fd(')9 b Fb(.)14 b(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b -Fd(14)150 2972 y(`)p Fc(\045readonly-tables)p Fd(')10 -b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36 b Fd(14)150 -3067 y(`)p Fc(\045struct-type)p Fd(')16 b Fb(.)g(.)c(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)41 b Fd(13)150 3163 y(`)p Fc(\045switch)p -Fd(')25 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)49 b Fd(15)150 3430 y Fr(A)150 3561 y Fd(Arra)n(y)25 -b(name)19 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)44 b Fd(22)150 3841 y Fr(B)150 3971 y Fd(Bugs)9 -b Fb(.)k(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)g(.)h(.)35 b Fd(8)150 4252 y Fr(C)150 -4382 y Fd(Class)27 b(name)10 b Fb(.)j(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(21)2025 642 y Fr(D)2025 -764 y Fd(Declaration)27 b(section)d Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)49 b Fd(11)2025 855 y(Delimiters)9 b Fb(.)k(.)g(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(19)2025 -947 y(Duplicates)23 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)f(.)49 b Fd(23)2025 1204 y Fr(F)2025 -1325 y Fd(F)-6 b(ormat)23 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fd(11)2025 -1417 y(F)-6 b(unctions)25 b(section)18 b Fb(.)13 b(.)f(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)g(.)44 b Fd(11)2025 1661 y Fr(H)2025 1783 -y Fc(hash)13 b Fb(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)38 b Fd(17)2025 1874 -y(hash)25 b(table)9 b Fb(.)k(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)34 b Fd(17)2025 2118 y Fr(I)2025 -2240 y Fc(in_word_set)23 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)h(.)46 b Fd(18)2025 2331 y(Initializers)25 -b Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -49 b Fd(20)2025 2576 y Fr(J)2025 2697 y Fd(Jump)25 b(v)l(alue)6 -b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -32 b Fd(24)2025 2954 y Fr(K)2025 3076 y Fd(Keyw)n(ords)25 -b(section)16 b Fb(.)e(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42 -b Fd(11)2025 3333 y Fr(M)2025 3455 y Fd(Minimal)27 b(p)r(erfect)f(hash) -g(functions)c Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)48 b Fd(10)2025 3712 y Fr(N)2025 3833 y Fd(NUL)9 -b Fb(.)j(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(18)2025 4078 y Fr(S)2025 -4199 y Fd(Slot)26 b(name)13 b Fb(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fd(20)2025 4291 y(Static)26 -b(searc)n(h)g(structure)20 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46 -b Fd(10)2025 4382 y Fc(switch)22 b Fb(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fd(18,)27 b(22)p -eop end -%%Page: -1 32 -TeXDict begin -1 31 bop 3725 -116 a Fs(i)150 299 y Fp(T)-13 -b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fr(GNU)45 b(GENERAL)g(PUBLIC) -g(LICENSE)31 b Fa(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)75 -b Fr(1)449 778 y Fs(Pream)m(ble)16 b Fl(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)45 b Fs(1)449 888 -y(TERMS)29 b(AND)j(CONDITIONS)d(F)m(OR)h(COPYING,)h(DISTRIBUTION)631 -997 y(AND)g(MODIFICA)-8 b(TION)24 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Fs(2)449 1107 -y(Ho)m(w)31 b(to)g(Apply)f(These)g(T)-8 b(erms)30 b(to)h(Y)-8 -b(our)31 b(New)f(Programs)16 b Fl(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)46 b Fs(6)150 1349 y Fr(Con)l(tributors)g(to)f(GNU)g -Fk(gperf)e Fr(Utilit)l(y)16 b Fa(.)21 b(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)g(.)h(.)60 b Fr(8)150 1619 y(1)135 b(In)l(tro)t(duction)15 -b Fa(.)20 b(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f -(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)60 -b Fr(9)150 1889 y(2)135 b(Static)45 b(searc)l(h)h(structures)f(and)f -(GNU)h Fk(gperf)15 b Fa(.)i(.)j(.)f(.)60 b Fr(10)150 -2159 y(3)135 b(High-Lev)l(el)46 b(Description)g(of)f(GNU)g -Fk(gperf)21 b Fa(.)c(.)i(.)h(.)f(.)h(.)65 b Fr(11)449 -2296 y Fs(3.1)92 b(Input)29 b(F)-8 b(ormat)32 b(to)f -Fn(gperf)23 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)54 b Fs(11)748 2405 y(3.1.1)93 b(Declarations)9 -b Fl(.)17 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)39 b Fs(11)1047 2515 y(3.1.1.1)93 b(User-supplied)30 -b Fn(struct)10 b Fl(.)j(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)39 b Fs(12)1047 2624 y(3.1.1.2)93 -b(Gp)s(erf)30 b(Declarations)18 b Fl(.)f(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)47 b Fs(12)1047 -2734 y(3.1.1.3)93 b(C)30 b(Co)s(de)g(Inclusion)f Fl(.)15 -b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)59 b Fs(15)748 2844 y(3.1.2)93 b(F)-8 b(ormat)31 -b(for)f(Keyw)m(ord)g(En)m(tries)17 b Fl(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46 b Fs(16)748 -2953 y(3.1.3)93 b(Including)29 b(Additional)i(C)f(F)-8 -b(unctions)19 b Fl(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)49 b Fs(17)748 3063 y(3.1.4)93 b(Where)30 b(to)h(place)h -(directiv)m(es)f(for)g(GNU)g Fn(indent)p Fs(.)17 b Fl(.)c(.)i(.)g(.)g -(.)g(.)46 b Fs(17)449 3172 y(3.2)92 b(Output)29 b(F)-8 -b(ormat)32 b(for)e(Generated)h(C)f(Co)s(de)g(with)g Fn(gperf)23 -b Fl(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)52 b Fs(17)449 -3282 y(3.3)92 b(Use)31 b(of)f(NUL)h(b)m(ytes)22 b Fl(.)16 -b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)51 b Fs(18)150 3524 y Fr(4)135 b(In)l(v)l(oking)45 -b Fk(gperf)16 b Fa(.)i(.)h(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)61 -b Fr(19)449 3661 y Fs(4.1)92 b(Sp)s(ecifying)30 b(the)g(Lo)s(cation)i -(of)e(the)h(Output)e(File)19 b Fl(.)e(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)49 b Fs(19)449 3771 y(4.2)92 b(Options)30 -b(that)h(a\013ect)h(In)m(terpretation)f(of)g(the)f(Input)f(File)g -Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)57 b Fs(19)449 3880 y(4.3)92 -b(Options)30 b(to)h(sp)s(ecify)f(the)h(Language)g(for)f(the)h(Output)e -(Co)s(de)14 b Fl(.)g(.)h(.)g(.)g(.)43 b Fs(19)449 3990 -y(4.4)92 b(Options)30 b(for)g(\014ne)g(tuning)g(Details)i(in)e(the)h -(Output)e(Co)s(de)23 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)53 -b Fs(20)449 4100 y(4.5)92 b(Options)30 b(for)g(c)m(hanging)h(the)g -(Algorithms)g(emplo)m(y)m(ed)g(b)m(y)g Fn(gperf)21 b -Fl(.)14 b(.)50 b Fs(23)449 4209 y(4.6)92 b(Informativ)m(e)31 -b(Output)c Fl(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)58 b Fs(25)150 4452 y Fr(5)135 b(Kno)l(wn)45 -b(Bugs)f(and)h(Limitations)i(with)e Fk(gperf)32 b Fa(.)19 -b(.)g(.)79 b Fr(26)150 4721 y(6)135 b(Things)44 b(Still)i(Left)g(to)f -(Do)23 b Fa(.)d(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h -(.)f(.)g(.)h(.)f(.)68 b Fr(27)150 4991 y(7)135 b(Bibliograph)l(y)38 -b Fa(.)19 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h -(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)82 -b Fr(28)150 5261 y(Concept)45 b(Index)21 b Fa(.)e(.)g(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.) -f(.)g(.)h(.)f(.)h(.)f(.)h(.)65 b Fr(29)p eop end +%%Page: 34 36 +TeXDict begin 34 35 bop 150 -116 a Fv(Concept)31 b(Index)2927 +b(34)150 299 y Fs(Concept)52 b(Index)150 638 y Fu(\045)150 +757 y Fd(`)p Fp(\045\045)p Fd(')24 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)49 b Fd(16)150 846 y(`)p Fp(\045{)p Fd(')24 b Fc(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)49 b Fd(19)150 934 y(`)p +Fp(\045})p Fd(')24 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49 +b Fd(19)150 1023 y(`)p Fp(\0457bit)p Fd(')15 b Fc(:)g(:)e(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 +b Fd(18)150 1112 y(`)p Fp(\045compare-lengths)p Fd(')26 +b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fd(18)150 +1201 y(`)p Fp(\045compare-strncmp)p Fd(')26 b Fc(:)13 +b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fd(18)150 1289 +y(`)p Fp(\045define)28 b(class-name)p Fd(')6 b Fc(:)15 +b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fd(18)150 1378 y(`)p +Fp(\045define)c(hash-function-name)p Fd(')c Fc(:)13 b(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fd(17)150 +1467 y(`)p Fp(\045define)28 b(initializer-suffix)p Fd(')c +Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 +b Fd(17)150 1555 y(`)p Fp(\045define)28 b(length-table-name)p +Fd(')e Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)49 b Fd(19)150 1644 y(`)p Fp(\045define)28 b +(lookup-function-name)p Fd(')15 b Fc(:)i(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)41 b Fd(17)150 1733 y(`)p Fp(\045define)28 +b(slot-name)p Fd(')9 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 +b Fd(17)150 1821 y(`)p Fp(\045define)28 b(string-pool-name)p +Fd(')8 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)34 b Fd(19)150 1910 y(`)p Fp(\045define)28 +b(word-array-name)p Fd(')10 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fd(19)150 +1999 y(`)p Fp(\045delimiters)p Fd(')17 b Fc(:)f(:)e(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fd(17)150 2087 y(`)p +Fp(\045enum)p Fd(')15 b Fc(:)g(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fd(18)150 +2176 y(`)p Fp(\045global-table)p Fd(')12 b Fc(:)17 b(:)c(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fd(18)150 2265 y(`)p +Fp(\045ignore-case)p Fd(')15 b Fc(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)41 b Fd(17)150 2353 y(`)p Fp(\045includes)p +Fd(')25 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)49 b Fd(18)150 2442 y(`)p Fp(\045language)p +Fd(')25 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)49 b Fd(17)150 2531 y(`)p Fp(\045null-strings)p +Fd(')12 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 +b Fd(19)150 2619 y(`)p Fp(\045omit-struct-type)p Fd(')23 +b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 b Fd(19)150 +2708 y(`)p Fp(\045pic)p Fd(')18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 +b Fd(18)150 2797 y(`)p Fp(\045readonly-tables)p Fd(')26 +b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fd(18)150 +2885 y(`)p Fp(\045struct-type)p Fd(')15 b Fc(:)h(:)d(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fd(17)150 2974 y(`)p +Fp(\045switch)p Fd(')10 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fd(19)150 +3223 y Fu(A)150 3342 y Fd(Arra)n(y)25 b(name)c Fc(:)13 +b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 +b Fd(27)150 3599 y Fu(B)150 3718 y Fd(Bugs)18 b Fc(:)c(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)44 b Fd(12)150 3976 y Fu(C)150 4095 y Fd(Class)27 +b(name)13 b Fc(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)39 b Fd(26)150 4183 y(Cop)n(yrigh)n(t)19 +b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)45 b Fd(23)2025 638 y Fu(D)2025 755 y Fd(Declaration)27 +b(section)18 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 +b Fd(15)2025 842 y(Delimiters)13 b Fc(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fd(24)2025 +930 y(Duplicates)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fd(28)2025 1181 +y Fu(F)2025 1298 y Fd(F)-6 b(ormat)13 b Fc(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 +b Fd(15)2025 1385 y(F)-6 b(unctions)25 b(section)14 b +Fc(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 +b Fd(15)2025 1620 y Fu(H)2025 1737 y Fp(hash)23 b Fc(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)49 b Fd(21)2025 1824 y(hash)25 +b(table)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)40 b Fd(21)2025 2059 y Fu(I)2025 +2176 y Fp(in_word_set)24 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fd(22)2025 2263 y(Initializers)10 +b Fc(:)k(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)36 b Fd(25)2025 2498 y Fu(J)2025 2615 y Fd(Jump)25 +b(v)l(alue)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)36 b Fd(29)2025 2866 y Fu(K)2025 +2983 y Fd(Keyw)n(ords)25 b(section)13 b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)39 b Fd(15)2025 3234 y Fu(M)2025 +3351 y Fd(Minimal)27 b(p)r(erfect)f(hash)g(functions)21 +b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +48 b Fd(14)2025 3602 y Fu(N)2025 3719 y Fd(NUL)18 b Fc(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)46 b Fd(22)2025 3954 y Fu(S)2025 +4070 y Fd(Slot)26 b(name)17 b Fc(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fd(25)2025 +4158 y(Static)26 b(searc)n(h)g(structure)11 b Fc(:)i(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)38 b Fd(14)2025 4245 y Fp(switch)6 b Fc(:)15 b(:)e(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 +b Fd(22,)27 b(27)p eop end +%%Page: -1 37 +TeXDict begin -1 36 bop 3725 -116 a Fv(i)150 299 y Fs(T)-13 +b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fu(GNU)45 b(GENERAL)g(PUBLIC) +g(LICENSE)28 b Fb(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)73 +b Fu(1)150 911 y(Con)l(tributors)46 b(to)f(GNU)g Fl(gperf)e +Fu(Utilit)l(y)21 b Fb(:)g(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f +(:)g(:)66 b Fu(12)150 1181 y(1)135 b(In)l(tro)t(duction)32 +b Fb(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) +h(:)76 b Fu(13)150 1450 y(2)135 b(Static)45 b(searc)l(h)h(structures)f +(and)f(GNU)h Fl(gperf)33 b Fb(:)19 b(:)h(:)f(:)80 b Fu(14)150 +1720 y(3)135 b(High-Lev)l(el)46 b(Description)g(of)f(GNU)g +Fl(gperf)24 b Fb(:)18 b(:)h(:)g(:)h(:)f(:)h(:)69 b Fu(15)275 +1857 y Fv(3.1)92 b(Input)29 b(F)-8 b(ormat)31 b(to)g +Fr(gperf)14 b Fa(:)g(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)43 b Fv(15)399 1967 +y(3.1.1)93 b(Declarations)30 b Fa(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) +h(:)57 b Fv(15)524 2076 y(3.1.1.1)93 b(User-supplied)30 +b Fr(struct)12 b Fa(:)h(:)j(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +g(:)42 b Fv(16)524 2186 y(3.1.1.2)93 b(Gp)s(erf)30 b(Declarations)23 +b Fa(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +53 b Fv(16)524 2296 y(3.1.1.3)93 b(C)30 b(Co)s(de)g(Inclusion)15 +b Fa(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)45 b Fv(19)399 2405 y(3.1.2)93 b(F)-8 b(ormat)32 +b(for)e(Keyw)m(ord)g(En)m(tries)15 b Fa(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +h(:)f(:)h(:)f(:)45 b Fv(20)399 2515 y(3.1.3)93 b(Including)29 +b(Additional)i(C)f(F)-8 b(unctions)11 b Fa(:)17 b(:)e(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) +f(:)41 b Fv(21)399 2624 y(3.1.4)93 b(Where)31 b(to)g(place)g(directiv)m +(es)h(for)e(GNU)h Fr(indent)p Fv(.)17 b Fa(:)d(:)h(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)47 b Fv(21)275 2734 y(3.2)92 +b(Output)29 b(F)-8 b(ormat)32 b(for)e(Generated)h(C)f(Co)s(de)g(with)g +Fr(gperf)20 b Fa(:)13 b(:)j(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +49 b Fv(21)275 2844 y(3.3)92 b(Use)30 b(of)h(NUL)f(b)m(ytes)18 +b Fa(:)e(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47 b Fv(22)275 +2953 y(3.4)92 b(The)29 b(Cop)m(yrigh)m(t)i(of)g(the)g(Output)11 +b Fa(:)j(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41 +b Fv(23)150 3196 y Fu(4)135 b(In)l(v)l(oking)45 b Fl(gperf)25 +b Fb(:)18 b(:)h(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)70 +b Fu(24)275 3333 y Fv(4.1)92 b(Sp)s(ecifying)29 b(the)i(Lo)s(cation)h +(of)e(the)h(Output)e(File)d Fa(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)55 b Fv(24)275 +3442 y(4.2)92 b(Options)30 b(that)h(a\013ect)g(In)m(terpretation)h(of)e +(the)h(Input)e(File)23 b Fa(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)h(:)52 b Fv(24)275 3552 y(4.3)92 b(Options)30 b(to)h(sp)s(ecify)f +(the)g(Language)i(for)e(the)g(Output)g(Co)s(de)c Fa(:)15 +b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Fv(24)275 3661 y(4.4)92 +b(Options)30 b(for)g(\014ne)f(tuning)h(Details)j(in)d(the)g(Output)f +(Co)s(de)19 b Fa(:)c(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)49 +b Fv(25)275 3771 y(4.5)92 b(Options)30 b(for)g(c)m(hanging)h(the)g +(Algorithms)g(emplo)m(y)m(ed)g(b)m(y)f Fr(gperf)10 b +Fa(:)k(:)i(:)f(:)h(:)f(:)g(:)40 b Fv(28)275 3880 y(4.6)92 +b(Informativ)m(e)31 b(Output)21 b Fa(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)51 +b Fv(30)150 4123 y Fu(5)135 b(Kno)l(wn)45 b(Bugs)f(and)h(Limitations)i +(with)e Fl(gperf)23 b Fb(:)17 b(:)i(:)h(:)67 b Fu(31)150 +4393 y(6)135 b(Things)44 b(Still)i(Left)g(to)f(Do)18 +b Fb(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +h(:)f(:)h(:)f(:)g(:)h(:)f(:)63 b Fu(32)150 4663 y(7)135 +b(Bibliograph)l(y)25 b Fb(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h +(:)f(:)h(:)f(:)h(:)f(:)g(:)70 b Fu(33)150 4932 y(Concept)45 +b(Index)18 b Fb(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)h(:)f(:)63 b Fu(34)p eop end %%Trailer userdict /end-hook known{end-hook}if |