Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F96949880
crnjak.diplom.ps
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Jan 1, 01:34
Size
805 KB
Mime Type
application/postscript
Expires
Fri, Jan 3, 01:34 (2 d)
Engine
blob
Format
Raw Data
Handle
23297418
Attached To
R3229 Genome Privacy - SHCS App
crnjak.diplom.ps
View Options
This file is larger than 256 KB, so syntax highlighting was skipped.
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: da.dvi
%%Pages: 90
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -f da.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource: TeX output 1999.10.29:0828
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/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
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: special.pro
%!
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
save N userdict maxlength dict begin/magscale true def normalscale
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
begin/SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
1 startangle endangle arc savematrix setmatrix}N end
%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (da.dvi)
@start
%DVIPSBitmapFont: Fa cmr6 6 10
/Fa 10 58 df<13FF000313C0380781E0380F00F0001E137848133CA248131EA400F813
1FAD0078131EA2007C133E003C133CA26C13786C13F0380781E03803FFC0C6130018227D
A01E>48 D<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>I<EA01FC38
07FF80381C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013FCC7FC14F8
A2EB01F0EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600185A5A383F
FFF85AB512F0A216217CA01E>I<13FF000313C0380F03E0381C00F014F8003E13FC147C
A2001E13FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00F01478147C
143E143F1230127812FCA2143E48137E0060137C003813F8381E03F0380FFFC000011300
18227DA01E>I<14E01301A213031307A2130D131D13391331136113E113C1EA01811203
EA07011206120C121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFFA218227DA1
1E>I<00101330381E01F0381FFFE014C01480EBFE00EA1BF00018C7FCA513FE381BFF80
381F03C0381C01E0381800F014F8C71278A2147CA21230127812F8A214784813F8006013
F0387001E01238381E07803807FF00EA01F816227CA01E>I<EB0FC0EB7FF03801F03838
03C0183807803C380F007C121E001C1338003C1300A2127C1278EB7FC038F9FFE038FB80
F038FE0038143C48131EA248131FA41278A36C131EA2001C133C001E13386C1370380781
E03801FFC038007F0018227DA01E>I<1230123C003FB5FCA24813FE14FC3860001C1438
14704813E014C0EA0001EB0380EB07001306130E5BA25BA21378A35BA41201A76C5A1823
7CA11E>I<137F3803FFC0380781E0380E00704813380018131C1238A3123C003F133838
1FC078EBE0F0380FF9E03807FF80120114C0000713F0380F0FF8381C03FC383801FE3870
007E141F48130F1407A314060070130E0078130C6C1338001F13F03807FFC0C613001822
7DA01E>I<13FE3803FFC0380781E0380E0070481378003C133848133CA200F8131EA314
1FA40078133FA26C137F121C380F01DF3807FF9F3803FE1EC7FCA2143E143C001C133800
3E13781470003C13E0381801C0381C0780380FFE00EA03F818227DA01E>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb lcircle10 10 4
/Fb 4 28 df<EA7FF8B512F8ECFFE06C14FED8000FEBFFE0D9000F13FC9139003FFF8003
0313F09238003FFC933807FF80040013E0EF1FF8EF07FE943800FF80F03FE0F00FF8F003
FEF000FFF13FC0F10FE0F103F8737EF1007F747EF20FC0F207F0747EF200FC1B7E757E75
7EF307E0757E757E757E1C7E88767E767E767E767E1C01767E891D7E8989777E8A777E1D
03777E8A1D001E7C1E7E1E3E8AA2787E8B1E07787EA2787EA2787EA21F7CA21F3C1F3EA2
8BA28B2080A2F707C0A21F0320E0A21F01A220F0A21F00A220F8A22078A2207CA2203CA3
203EA2201EA6201FA2200FAB20067878F483E8>24 D<2006200FAB201FA2201EA6203EA2
203CA3207CA22078A220F8A220F0A21F01A220E0A21F03A220C01F07A2F70F80A2200067
A21F3EA21F3C1F7CA267A2545AA2545AA2545A1E0F6754C7FCA21E3E1E7E1E7C661D0166
535A1D07535A6653C8FC651D7E6565525A1C03525A525A525A52C9FC1C7E64515A515A51
5AF31FC0515A097ECAFC63F203F8505AF20FC0F23F8050CBFCF101FC4F5AF10FE0F13FC0
07FFCCFCF003FEF00FF8F03FE0F0FF80DD07FECDFCEF1FF8EFFFE004071380DC3FFCCEFC
923803FFF0033F138091260FFFFCCFFC010FB512E0007FB548D0FCB612E002F8D1FCD87F
F8D2FC7878F4F7E8>I<126012F0AB7EA21278A5127CA2123CA4123EA2121EA2121FA27E
A27FA212077FA212037FA212017FA26C7EA2137CA2133C133EA27FA26D7EA26D7EA26D7E
8013016D7EA2147C147E143E8081140F6E7E816E7E14016E7E81157E81816F7E826F7E6F
7E6F7E6F7E167E82707E707E707E707EEE01FC707E173F717EEF0FE0717EEF01F8EF00FE
187FF01FC0727EF003F8F001FE9538007F80F13FE0F10FF8F103FE963800FF80F23FE0F2
0FFC973803FF80080013F0F33FFE983807FFE0090013FE99381FFFF00A03EBFFF0E2003F
EBFFFE0B0314FFF5001F9B38001FFE787880F7E8>I<F71FFE0C1FB5FC0B03B6FC0B3F14
FE0A03B5EAF0000A1F01F0C7FCE2FFFEC8FC090713E0E13FFEC9FCF3FFF008031380E00F
FCCAFCF23FE0F2FF80DF03FECBFCF10FF8F13FE0F17F80DE01FECCFCF003F8F00FE04E5A
067FCDFC18FEEF01F8EF07F04D5AEF1F804DCEFC17FE4C5AEE03F04C5A4C5A4C5A4CCFFC
167E5E4B5A4B5A4B5A4B5A5E4BD0FC5D157E5D5D4A5A14034A5A5D4A5A141F92D1FC143E
147E147C5CA2495A13035C495AA2495AA249D2FCA2133EA2133C137CA25BA2485AA25B12
03A25B1207A25B120FA290D3FCA25AA2121EA2123EA2123CA4127CA21278A512F8A25AAB
126078788083E8>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc linew10 10 5
/Fc 5 108 df<1C02F41F801C3FF4FFC063090713806398383FFE00515A973801FFF050
5B080F13805090C7FCF27FFC505A070313E04F5B071F90C8FC4F5AF1FFF84E5B060713C0
4E5BDE3FFEC9FC4E5A943801FFF04D5B050F13804D90CAFCEF7FFC4C485A4C13E0040F5B
4C90CBFCEE7FFEEEFFF8030313E04B5B031F90CCFC4B5AEDFFF84A5B020713C04A5BDA3F
FECDFC4A5A903801FFF0495B010F13804990CEFCEB7FFC495A000313E0485B001F90CFFC
485AEA7FF8485A13C05B48D0FC127C5A3E83BA53>17 D<181018E0EF07C0EF3F80933801
FF00EE0FFEEEFFFC030F5B92B55A141F0103B65A90B75AB85A6C93C7FC6C5DA26C5D6C5D
5E7E6C5D5E6C5D7E93C8FC6D5B7F5D6D5B7F5D6D5B7F5D7F6D5B92C9FC80143EA2141C14
08A2342B61B653>51 D<1460A414F0A4497EA3497EA4497EA3497EA3497FA3497FA2497F
A390B57EA24880A34880A24880A24880A2481580A24815C0A34815E0A2B712F0243092D0
53>54 D<1210127C12FE6C7E7F13F06C7EEA3FFE6C7E000713C06C7FC613F86D7EEB1FFF
6D7F010313E06D7F9038007FFC6E7E91380FFF806E7F020113F06E7FED3FFE6F7E030713
C06F7F030013F8707EEE1FFF7013C004037F7013F8706C7E71B4FC050F7F050313E0717F
9438007FFC727E95380FFF80727F060113F0727FF13FFE737E070713C0737F070013F874
7EF21FFF747F080313E0747F9738007FFC757E98380FFF8087090113C087F43F801C1F5A
3E83BA53>81 D<7E1270123EEA1FC0EA0FF86CB4FC6C13F06C13FF6C14F0EDFF806D14FC
6DECFFF06DEDFFF06D16E06D16C0A26D16806D16007F5F6E5C806E5C5F806E5C5F806E5C
94C7FC806F5A5E153F5E6F5A150F5E6F5AA26F5A6FC8FCA2342B80B653>107
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd lcirclew10 10 4
/Fd 4 28 df<EA3FFE387FFFFEB612F015FF16F06C15FF6C16E0D8000315FCD9000314FF
DA001F14E0030114F8DB001F13FE04016D7EDC003F13E0050F13F8050113FE716C6C7E06
1F7F060713F0060113FC726C7E96381FFF8007077F737F070013F8F23FFC747EF207FF74
13C0747F746C7E757E757E757EF303FF757F757F767E767E767E767E1C07767E767E767F
777EA2777E777E777E1D078A777E1D01777E8B1E7F787E8B1E1F787EA2787EA2787EA278
7EA2787EA2797EA2797EA21F1F8CA2797EA21F078CA21F038CA21F018CA21F00A28CA28C
A22180A2203FA421C0A2201FA621E0A2200FABF807C020037B7BF486E8>24
D<F803C02007F80FE0AB201FA221C0A6203FA22180A4207FA22100A268A268A21F01A268
1F03A2681F07A2681F0FA2555AA2681F3FA2555AA255C7FCA2545AA2545AA2545AA2545A
A2545A1E3F67545A1EFF9CC8FC535A1D03535A661D0F535A535A535AA2535A5290C9FC52
5A525A1C0F525A525A525A525A515B5190CAFCF30FFE515A515A515A50485A505B5090CB
FCF21FFE505AF2FFF8070313E04F5B071F5BDF7FFECCFC4E485A060713F0061F13C0067F
5B4D4848CDFC050F13F8053F13E04CB51280041F49CEFC4BB512F8031F14E00203B6CFFC
0103B612FC003FB712E04893D0FCB712F093D1FC15F06C49D2FC6C48D3FC7B7BF4FAE8>
I<123C127C12FEAB7EA27EA67FA2123FA37FA2121FA27FA2120FA27FA212077FA212037F
A212017FA212007FA26D7EA26D7EA26D7EA26D7EA26D7EA26D7EA26D7EA26D7E81147F6E
7E81141F6E7E816E7E1403816E7E6E7F6F7EA26F7E6F7E6F7E6F7E826F7E6F7F6F7F707E
707E707EEE0FFE707E707F707F707FEF7FF8EF1FFC71B4FC717F717F7113F09438007FFC
727E95380FFF807213E07213F8060013FE96383FFF807313E0070713F8070113FF736C13
C0081F13F8080713FF080114F0746C13FF090F14FC0903ECFFF8E1007F91B512C01C0F0A
0116E0F4001F1D01E3000714C0F6000F7B7B80FAE8>I<9C380FFFC00C07B5FC53B612E0
1D1F52B7FC0A0F16C01C7F0903B600F8C7FC090F02FCC8FC097F91C9FC50B512F0080791
CAFC081F13F8087F13C04FB5CBFC070713F8071F13E04F1380DFFFFECCFC060313F84E13
E04E1380DE3FFECDFC4E5A943801FFF04D13C04D5B4D90CEFCEF1FFCEF7FF8EFFFE04C5B
4C5B4C90CFFC4C5AEE1FF84C5A4C5A4C5A4B5B4B90D0FC4B5A5E4B5A4B5A4B5A4B5AA24B
5A4A90D1FC4A5A5D14074A5A5D4A5A143F5D4A5A14FF92D2FC495AA2495AA2495AA2495A
A2495AA2495AA2495AA249D3FCA25B1201A25B1203A25B1207A25B120FA25BA2121FA25B
A2123FA25BA3127FA290D4FCA65AA25AAB127C123C7B7B8086E8>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmbx12 12 29
/Fe 29 128 df<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F
0F788E1F>46 D<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5
264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0
007FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A
6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC
4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC
017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<163FA25E5E5D
5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14F8EB
01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E5A12
FCB91280A5C8000F90C7FCAC027FB61280A531417DC038>52 D<B9FC18F018FE727E19E0
26003FFCC700077F05017F716C7E727E727EA2721380A37213C0A74E1380A24E1300A24E
5A4E5A4E5A4D5B05075B94B5128091B700FCC7FC18F018FF19E002FCC7000113F8716C7E
F01FFE727E7213801AC07213E0A27213F0A31AF8A71AF0A2601AE0604E13C0604E138095
B5120005075BBA12F86119C04EC7FC18E045447CC350>66 D<B9FC18F018FE727E19E026
003FFEC7001F13F805017F9438003FFF060F7F727F727F727F84737E737EA2737EA2737E
A21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F624F5A19FF624E5B06075B4E
5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9FC4B447CC356>68
D<BA12F8A485D8001F90C71201EF003F180F180318011800A2197E193EA3191EA21778A2
85A405F890C7FCA316011603161F92B5FCA5ED001F160316011600A2F101E01778A2F103
C0A494C7FC1907A21A80A2190FA2191FA2193FF17F0061601807181F4DB5FCBBFC61A443
447DC34A>I<B76C0103B512F8A526003FFEC93807E0004F5A4F5A077EC7FC614E5A4E5A
4E5AF01F804EC8FC187E604D5AEF07F0EF0FC04D5A4DC9FC177E4C5AEE03F04C5A4C5A4C
7EEE7FF04C7E5D4B7F4B7F4B7FED3F3FDB7E1F7F03FC806E486C7F4B7E4B6C7F0380804B
6C7F4A7F717E84717F83717F85717F83717F85717F187F727E86727F84727F86727F84B7
6C90B612FCA54E447CC358>75 D<B9FC18F018FE727E19E0D8001F90C7000F7F05017F71
6C7E727E727E721380A21AC084A21AE0A91AC0A24E1380A21A00604E5A4E5A4D485A050F
5B92B712C096C7FC18FC18C092CBFCB3A7B712E0A543447DC34D>80
D<DAFFE0131C010701FE133C013F9038FF807C90B6EAE0FC4815F9489038801FFF3907FC
00014848EB007F4848143F4848140F491407007F15035B1601160012FF177CA27FA26D15
3C7F7F6D92C7FC6C7EEBFFE014FE6CEBFFF015FF6C15E016FC6C816C6F7E6C826C826C6C
81011F810107811300020F80140003077FED007F82040F1380828212F082A282A27EA218
007EA26C5D6C5E6D14036D5D6D140701F84A5A01FFEC3FF002F8EBFFE0486CB65AD8FC1F
92C7FCD8F80714FC48C614F0480107138031467AC43E>83 D<903801FFE0011F13FE017F
6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00
F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC01000313E0000F1380381FFE0048
5A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EB
FFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97 D<EB7FC0B5FCA512037EB1ED0F
F892B57E02C314E002CF14F89139DFC03FFC9139FF000FFE02FCEB03FF4A6D13804A15C0
4A6D13E05CEF7FF0A218F8173FA318FCAC18F8A2177F18F0A3EFFFE06E15C06E5B6E4913
80027C491300496C495A903AFC1FC07FFC496CB512F0D9F00314C049C691C7FCC8EA1FF0
36467DC43E>I<EC3FFC49B512C0010F14F0013F14FC90397FF003FE9039FFC001FF0003
495A48494813805B120F485AA2485A6F1300007F6E5AED00784991C7FCA212FFAC6C7EA3
123F6DEC03C0A26C6C1407000F16806D140F6C6DEB1F006C6D133E6C01F05B3A007FFC03
F86DB55A010F14C0010391C7FC9038003FF82A2F7CAD32>I<EE03FEED07FFA5ED001F16
0FB1EC3FE0903803FFFC010FEBFF8F013F14CF9039FFF807FF48EBC00148903880007F48
90C7123F4848141F49140F121F485AA3127F5BA212FFAC127FA37F123FA26C6C141FA26C
6C143F0007157F6C6C91B5FC6CD9C00314FC6C9038F01FEF6DB5128F011FEBFE0F010713
F89026007FC0EBF80036467CC43E>I<EC3FF80103B57E010F14E0013F8090397FF83FF8
9039FFC007FC48496C7E48496C7E48486D1380485A001FED7FC05B003FED3FE0A2127F5B
17F0161F12FFA290B7FCA401F0C9FCA5127FA27FA2123F17F06C7E16016C6C15E06C6C14
036C6DEB07C06C6DEB0F806C01F0EB3F0090397FFE01FE011FB55A010714F0010114C090
26001FFEC7FC2C2F7DAD33>I<DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048
D9C07F133F489038001FF84848EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FC
A2003F82A8001F93C7FCA26D5B000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680
D8078F49C8FC018013E0000F90CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC
7E000382000F82D81FF0C77ED83FC014074848020113808248C9FC177FA46D15FF007F17
006D5C6C6C4A5A6C6C4A5AD80FFEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC01
0F14F8D9007F90C8FC32427DAC38>103 D<EB7FC0B5FCA512037EB1ED07FE92383FFF80
92B512E002C114F89139C7F03FFC9138CF801F9139DF000FFE14DE14FC4A6D7E5CA25CA3
5CB3A7B60083B512FEA537457CC43E>I<137C48B4FC4813804813C0A24813E0A56C13C0
A26C13806C1300EA007C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I<
EB7FC0B5FCA512037EB293387FFFE0A593380FE0004C5A4CC7FC167E5EED03F8ED07E04B
5A4B5A037FC8FC15FEECC1FCECC3FE14C7ECDFFF91B57E82A202F97F02E17F02C07FEC80
7F6F7E826F7E816F7F836F7F816F7F83707E163FB60003B512F8A535457DC43B>107
D<EB7FC0B5FCA512037EB3B3B3A3B61280A519457CC420>I<90277F8007FEEC0FFCB590
263FFFC090387FFF8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D8FC0
0FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7EA24A
5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB590383FFF
8092B512E0028114F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02F86D
7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>I<EC1FFC49B512C0010714F0011F14
FC90397FF80FFF9026FFC0017F48496C7F4848C7EA3FE000078248486E7E49140F001F82
A2003F82491407007F82A400FF1780AA007F1700A46C6C4A5AA2001F5E6D141F000F5E6C
6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7FC6DB55A010F14F8010114C0902600
1FFCC8FC312F7DAD38>I<90397FC00FF8B590B57E02C314E002CF14F89139DFC03FFC91
39FF001FFE000301FCEB07FF6C496D13804A15C04A6D13E05C7013F0A2EF7FF8A4EF3FFC
ACEF7FF8A318F017FFA24C13E06E15C06E5B6E4913806E4913006E495A9139DFC07FFC02
CFB512F002C314C002C091C7FCED1FF092C9FCADB67EA536407DAC3E>I<90387F807FB5
3881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0FFC91
38E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>114 D<90391FFC038090B512
87000314FF120F381FF003383FC00049133F48C7121F127E00FE140FA215077EA27F01E0
90C7FC13FE387FFFF014FF6C14C015F06C14FC6C800003806C15806C7E010F14C0EB003F
020313E0140000F0143FA26C141F150FA27EA26C15C06C141FA26DEB3F8001E0EB7F0090
38F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C>I<EB01E0A51303A413
07A2130FA2131FA2133F137F13FF1203000F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9
150302F013C0137F150790393FF80F8090391FFC1F006DB5FC6D13FC01015B9038003FE0
23407EBE2C>I<D97FC049B4FCB50103B5FCA50003EC000F6C81B3A85EA25EA25E7E6E49
1380017FD901F713FE9138F807E76DB512C7010F1407010313FE9026007FF0EBFC00372E
7CAC3E>I<D80FC0137E486C13FF486C481380486C4813C000FF15E06D5AA4497E007F15
C06C486C13806C486C13006C48137E230E76C538>127 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmtt10 10.95 90
/Ff 90 126 df<121C127FEAFF80B3EA7F00B2123EC7FCA8121C127FA2EAFF80A3EA7F00
A2121C09396DB830>33 D<00101304007C131F00FEEB3F80A26C137FA248133FB2007E14
00007C7F003C131E00101304191C75B830>I<903907C007C0A2496C487EA8011F131FA2
02C05BA3007FB7FCA2B81280A36C16006C5D3A007F807F80A2020090C7FCA9495BA2003F
90B512FE4881B81280A36C1600A22701FC01FCC7FCA300031303A201F85BA76C486C5AA2
29387DB730>I<D803C0EB01E0D80FF01303486C497E487E150F487ED87E7E495AEAFE7F
5E486C133FA25E157FA24BC7FC6C5A5D387E7E01EA7FFED83FFC5B1403EA1FF86C48485A
EA03C0C75B140FA25D141FA24A5AA25D147FA292C8FC5CA2495AA25C1303A25C1307A290
390FF001E0ED07F84A487E011F497EA24A487E133F163F90267F807F1380ED7E1F14005B
A25B1201A24848EB7F3F033F13004914FF12076F5A5B6F5A6C486D5A0001EC01E029477D
BE30>37 D<EB07E0EB1FF8497E137F497E803801FC7F497E810003131F13F0A6143F92C8
FC91387F0FFF9026F87E1F1380000113FEEBF9FC13FB4A6C1300D9FFF013C06C13E0151F
02C05BEB7F809038FF003F4892C7FC485C48EB807E5A15FE391FDFC0FC383F8FE014E139
7F07F1F8EB03F300FEEBFBF0EB01FF5D7FEDC006027F130F91393F801F8015C06C137F6C
EBFFE049EBF83F018701FC1300263FFFFBB5FC6C01F15B14E06C9038C03FFC0003903800
1FF8D801FCEB07E0293A7DB830>I<EA07C0EA0FF0EA1FF8A213FCA213FE120F1207EA00
7EA513FE13FCA2120113F81203EA07F0120FEA1FE0127FEAFFC013801300127C12380F1D
70B730>I<141E147F14FF5BEB03FEEB07FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B
12035B485A120F5BA2485AA2123F5BA2127F90C7FCA412FEAD127FA47F123FA27F121FA2
6C7EA27F12076C7E7F12017F6C7EEB7F80EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F
147F141E184771BE30>I<127812FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F8013
3F14C0131FEB0FE014F01307A2EB03F8A214FC1301A214FE1300A4147FAD14FEA4130114
FCA2130314F8A2EB07F0A2130F14E0EB1FC0133F1480137FEBFF00485A485A485A485AEA
3FE0485A485A90C7FC5A1278184778BE30>I<14E0497E497EA60038EC0380007EEC0FC0
D8FF83EB3FE001C3137F9038F3F9FF267FFBFB13C06CB61280000FECFE00000314F86C5C
6C6C13C0011F90C7FC017F13C048B512F04880000F14FE003FECFF80267FFBFB13C026FF
F3F913E09038C3F87F0183133FD87E03EB0FC00038EC0380000091C7FCA66D5A6D5A2327
7AAE30>I<143EA2147FAF007FB7FCA2B81280A36C1600A2C76CC8FCAF143EA229297DAF
30>I<EA03E0EA0FF0EA1FF813FCEA3FFEA213FFA27EA27E1203EA007FA2137E13FEEA01
FC1203EA07F8EA3FF0127FEAFFE0EA7F801300123C1019708B30>I<007FB612F0A2B712
F8A36C15F0A225077B9E30>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F00
0C0C6E8B30>I<16F01501ED03F8A21507A2ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF
00A24A5AA25D1403A24A5AA24A5AA24A5AA24A5AA24A5AA24AC7FCA2495AA25C1303A249
5AA2495AA2495AA2495AA2495AA249C8FCA2485AA25B1203A2485AA2485AA2485AA2485A
A2485AA248C9FCA25AA2127CA225477BBE30>I<14FE903807FFC0497F013F13F8497F90
B57E48EB83FF4848C6138049137F4848EB3FC04848EB1FE049130F001F15F0491307A248
48EB03F8A290C712014815FCA400FEEC00FEAD6C14016C15FCA36D1303003F15F8A26D13
07001F15F0A26D130F6C6CEB1FE0A26C6CEB3FC06C6CEB7F806D13FF2601FF8313006CEB
FFFE6D5B6D5B010F13E06D5BD900FEC7FC273A7CB830>I<EB03C0497EA2130FA2131FA2
133F137F13FF1203123FB5FCA213EF138FEA7E0F1200B3B0003FB512F84814FCB612FEA2
6C14FC6C14F81F3977B830>I<EB07FC90383FFFC090B512F00003804814FE4880261FF8
0F1380263FE00113C09038C0007F4848EB3FE090C7121FED0FF04814075A6C15F81503A3
127E1218C8FCA2150716F0150F16E0151F16C0153FED7F8015FF4A13005DEC07FC4A5A4A
5A4A5A4A5A4A5A4990C7FC495A495AEB0FF0EB3FE0495A495A4890C8FC4848EB01F04848
EB03F8485AEA1FE048B6FCB7FCA37E6C15F025397BB830>I<EB03FF013F13E090B512F8
4814FE4880481580260FFE0113C09038F0007F4848EB1FE0150F16F01507A26C5A6C5AC8
FC150F16E0A2151FED3FC0157FEDFF8002071300903807FFFE495B5D8115FF6D1480D900
0113C09138003FE0ED1FF0ED07F8150316FC150116FE1500A21218127EB4FCA2150116FC
4814036C15F86C6C13076DEB1FF0D83FF0133F3A1FFE01FFE06CB612C06C15806CECFE00
C65C013F13F001031380273A7CB830>I<EC03FC4A7E140F141FA2143F147F157E14FEA2
EB01FCEB03F8A2EB07F0A2EB0FE0EB1FC0A2EB3F80A2EB7F0013FEA2485A485AA2485AA2
485A485AA2485AA248C7FC12FEB8FC1780A46C1600C8007EC7FCAA91387FFFFE91B6FCA4
6E5B29397DB830>I<000FB612804815C05AA316800180C8FCAEEB83FF019F13C090B512
F015FC8181D9FE0313809039F0007FC049133F0180EB1FE06CC7120F000E15F0C81207A2
16F81503A31218127EA2B4FC150716F048140F6C15E06C141F6DEB3FC06D137F3A3FE001
FF80261FFC0F13006CB55A6C5C6C5C6C14E06C6C1380D90FFCC7FC25397BB730>I<EC0F
F8EC7FFF49B51280010714E0131F4914F090387FF80F9039FFC007F84813803803FE005B
485A4848EB03F0ED01E0484890C7FC5B123F5BA2127FEB000C903803FFE0010F13F8D8FF
3F13FE48B6FCB7128016C09039FE007FE001F8EB1FF001E0130F49EB07F849EB03FCA290
C7120116FE1500A37EA46C7E15016D14FC121F6D1303000FEC07F86D130F6C6CEB1FF06D
EB3FE03A03FF81FFC06C90B512806C15006D5B011F13F8010713E001011380273A7CB830
>I<127CB712FC16FEA416FC48C7EA0FF816F0ED1FE0007CEC3FC0C8EA7F80EDFF00A24A
5A4A5A5D14075D140F5D4A5AA24A5AA24AC7FCA25C5C13015CA213035CA213075CA4495A
A6131F5CA96D5A6DC8FC273A7CB830>I<49B4FC011F13F0017F13FC90B57E0003ECFF80
4815C048010113E03A1FF8003FF049131FD83FC0EB07F8A24848EB03FC90C71201A56D13
03003F15F86D13076C6CEB0FF06C6CEB1FE0D807FCEB7FC03A03FF83FF806C90B512006C
6C13FC011F13F0497F90B512FE48802607FE0013C0D80FF8EB3FE0D81FE0EB0FF04848EB
07F8491303007F15FC90C712014815FE481400A66C14016C15FC6D1303003F15F86D1307
D81FF0EB1FF06D133F3A0FFF01FFE06C90B512C06C1580C6ECFE006D5B011F13F0010190
C7FC273A7CB830>I<49B4FC010F13E0013F13F890B57E4880488048010113803A0FFC00
7FC0D81FF0EB3FE04848131F49EB0FF048481307A290C7EA03F85A4815FC1501A416FEA3
7E7E6D1303A26C6C13076C6C130F6D133FD80FFC13FF6CB6FC7E6C14FE6C14F9013FEBE1
FC010F138190380060011400ED03F8A2150716F0150F000F15E0486C131F486CEB3FC015
7FEDFF804A1300EC07FE391FF01FFC90B55A6C5C6C5C6C1480C649C7FCEB3FF0273A7CB8
30>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7F
E0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C276EA630>I<EA03C0EA0FF0EA1FF8A2EA3FFC
A4EA1FF8A2EA0FF0EA03C0C7FCAFEA03C0EA0FF0121F13F8123F13FCA3121FA2120F1203
1200120113F8120313F01207EA1FE0123FEA7FC0EAFF80EA7F00127E12380E3470A630>
I<16F01503ED07F8151F157FEDFFF014034A13C0021F138091383FFE00ECFFF8495B0107
13C0495BD93FFEC7FC495A3801FFF0485B000F13804890C8FCEA7FFC5BEAFFE05B7FEA7F
F87FEA1FFF6C7F000313E06C7F38007FFC6D7E90380FFF806D7F010113F06D7FEC3FFE91
381FFF80020713C06E13F01400ED7FF8151F1507ED03F01500252F7BB230>I<007FB7FC
A2B81280A36C16006C5DCBFCA7003FB612FE4881B81280A36C1600A229157DA530>I<12
78127EB4FC13C07FEA7FF813FEEA1FFF6C13C000037F6C13F86C6C7EEB1FFF6D7F010313
E06D7F9038007FFC6E7E91380FFF806E13C0020113F080ED3FF8151F153FEDFFF05C0207
13C04A138091383FFE004A5A903801FFF0495B010F13804990C7FCEB7FFC48485A4813E0
000F5B4890C8FCEA7FFE13F8EAFFE05B90C9FC127E1278252F7BB230>I<EB1FFE90B512
E0000314F8000F14FE4880481580267FF80313C09038C0007F48C7121F16E0150FA3127E
151F0018EC7FC0C812FF020313804A13004A5AEC1FF84A5AEC7FC04A5A92C7FC495AA249
5A5CA213075CA86D5A90C9FCA8EB01C0EB07F0A2497EA36D5AA2EB01C023397AB830>I<
EC1FE0ECFFF8010313FE010F7F4914804914C090397FF03FE09038FF800F4890380007F0
D803FC13033A07F801FBF89038F007FF380FE01F4A13FCEA1FC0495A003FEBFF0F903800
FE07903901FC03FE007FEBF801EA7E03ECF000A2EAFE0700FC49137EAA00FE6D13FED87E
0314FCA2ECF801D87F0114F8003FEBFC03903900FE07F0903880FF0F001F90387FFFE06D
6C13C0EA0FE06E13803A07F007FE009038F801F86C6CC7127C6CB414FE6CEB800390387F
F01F6DB512FC6D14F86D14E0010314C00100EBFE00EC1FF0273A7CB830>I<147F4A7EA2
497FA4497F14F7A401077F14E3A3010F7FA314C1A2011F7FA490383F80FEA590387F007F
A4498049133F90B6FCA34881A39038FC001F00038149130FA4000781491307A2D87FFFEB
7FFFB56CB51280A46C496C130029397DB830>I<007FB512F0B612FE6F7E82826C813A03
F8001FF815076F7E1501A26F7EA615015EA24B5A1507ED1FF0ED7FE090B65A5E4BC7FC6F
7E16E0829039F8000FF8ED03FC6F7E1500167FA3EE3F80A6167F1700A25E4B5A1503ED1F
FC007FB6FCB75A5E16C05E6C02FCC7FC29387EB730>I<91387F803C903903FFF03E49EB
FC7E011F13FE49EBFFFE5B9038FFE07F48EB801F3903FE000F484813075B48481303A248
4813015B123F491300A2127F90C8FC167C16005A5AAC7E7EA2167C6D14FE123FA27F121F
6D13016C6C14FCA26C6CEB03F86D13076C6CEB0FF03901FF801F6C9038E07FE06DB512C0
6D14806D1400010713FC6D13F09038007FC0273A7CB830>I<003FB512E04814FCB67E6F
7E6C816C813A03F8007FF0ED1FF8150F6F7E6F7E15016F7EA2EE7F80A2163F17C0161FA4
EE0FE0AC161F17C0A3163F1780A2167F17005E4B5A15034B5A150F4B5AED7FF0003FB65A
485DB75A93C7FC6C14FC6C14E02B387FB730>I<007FB7FCB81280A47ED803F8C7123FA8
EE1F0093C7FCA4157C15FEA490B5FCA6EBF800A4157C92C8FCA5EE07C0EE0FE0A9007FB7
FCB8FCA46C16C02B387EB730>I<003FB712804816C0B8FCA27E7ED801FCC7121FA8EE0F
8093C7FCA5153E157FA490B6FCA69038FC007FA4153E92C8FCAE383FFFF8487FB5FCA27E
6C5B2A387EB730>I<02FF13F00103EBC0F8010F13F1013F13FD4913FF90B6FC4813C1EC
007F4848133F4848131F49130F485A491307121F5B123F491303A2127F90C7FC6F5A92C8
FC5A5AA892B5FC4A14805CA26C7F6C6D1400ED03F8A27F003F1407A27F121F6D130F120F
7F6C6C131FA2D803FE133F6C6C137FECC1FF6C90B5FC7F6D13FB010F13F30103EBC1F001
0090C8FC293A7DB830>I<3B3FFF800FFFE0486D4813F0B56C4813F8A26C496C13F06C49
6C13E0D803F8C7EAFE00B290B6FCA601F8C7FCB3A23B3FFF800FFFE0486D4813F0B56C48
13F8A26C496C13F06C496C13E02D387FB730>I<007FB6FCB71280A46C1500260007F0C7
FCB3B3A8007FB6FCB71280A46C1500213879B730>I<49B512F04914F85BA27F6D14F090
C7EAFE00B3B3123C127EB4FCA24A5A1403EB8007397FF01FF86CB55A5D6C5C00075C0001
49C7FC38003FF025397AB730>I<D83FFF90380FFF80486D4813C0B56C5AA26C497E6C49
6C1380D803F0903803F8004B5A4B5A151F4B5A5E4BC7FC15FE14014A5A5D4A5A4A5A141F
5D4A5A4AC8FC5C13F18101F37F13F790B57E14EFECC7F01483EC03F8140101FE7F496C7E
5B157F497F82151F82150F826F7EA26F7E1501821500D83FFF903803FFC0486D4813E0B5
6C5AA26C497E6C496C13C02B387FB730>I<383FFFF8487FB57EA26C5B6C5BD801FCC9FC
B3B0EE0F80EE1FC0A9003FB7FC5AB8FCA27E6C16802A387EB730>I<D83FF8ECFFE0486C
4913F0486C4913F8A2007F16F06C6C4913E00007160001EF14BFEC800FA39039E7C01F3F
A4ECE03F01E3133EA2ECF07EA201E1137CA2ECF8FCA201E013F8A214FDEC7DF0A3147FEC
3FE0A3EC1FC0A2EC070091C7FCADD83FFC903801FFE0486C4913F0B54913F8A26C486D13
F06C486D13E02D387FB730>I<D83FFC90381FFF80486C4913C0B54913E0A26C6D6C13C0
6C6E13800003913801F800EBF7C0A3EBF3E0A314F013F1A214F8A213F014FCA2147C147E
A2143E143FA2141FA21581A2140F15C1A2140715E1A2140315F1A21401A215F91400A315
7DA3153FEA3FFF481380B5EAC01FA26CEB800F6C496C5A2B387EB730>I<90383FFFE048
B512FC000714FF4815804815C04815E0EBF80001E0133FD87F80EB0FF0A290C71207A448
15F8481403B3A96C1407A26C15F0A36D130FA26D131F6C6CEB3FE001F813FF90B6FC6C15
C06C15806C1500000114FCD8003F13E0253A7BB830>I<007FB512F0B612FE6F7E16E082
6C813903F8003FED0FFCED03FE15016F7EA2821780163FA6167F17005EA24B5A1503ED0F
FCED3FF890B6FC5E5E16804BC7FC15F001F8C9FCB0387FFFC0B57EA46C5B29387EB730>
I<90383FFFE048B512FC000714FF4815804815C04815E0EBF80001E0133F4848EB1FF049
130F90C71207A44815F8481403B3A8147E14FE6CEBFF076C15F0EC7F87A2EC3FC7018013
CF9038C01FFFD83FE014E0EBF80F90B6FC6C15C06C15806C1500000114FCD8003F7FEB00
016E7EA21680157F16C0153F16E0151F16F0150FED07E025467BB830>I<003FB57E4814
F0B612FC15FF6C816C812603F8017F9138003FF0151F6F7E15071503821501A515035E15
07150F4B5A153F4AB45A90B65A5E93C7FC5D8182D9F8007FED3FE0151F150F821507A817
F8EEF1FCA53A3FFF8003FB4801C0EBFFF8B56C7E17F06C496C13E06C49EB7FC0C9EA1F00
2E397FB730>I<90390FF803C0D97FFF13E048B512C74814F74814FF5A381FF80F383FE0
01497E4848137F90C7123F5A48141FA2150FA37EED07C06C91C7FC7F7FEA3FF0EA1FFEEB
FFF06C13FF6C14E0000114F86C80011F13FF01031480D9003F13C014019138007FE0151F
ED0FF0A2ED07F8A2007C140312FEA56C140716F07F6DEB0FE06D131F01F8EB3FC001FF13
FF91B51280160000FD5CD8FC7F13F8D8F81F5BD878011380253A7BB830>I<003FB712C0
4816E0B8FCA43AFE003F800FA8007CED07C0C791C7FCB3B1011FB5FC4980A46D91C7FC2B
387EB730>I<3B7FFFC007FFFCB56C4813FEA46C496C13FCD803F8C7EA3F80B3B16D147F
00011600A36C6C14FE6D13016D5CEC800390393FE00FF890391FF83FF06DB55A6D5C6D5C
6D91C7FC9038007FFCEC1FF02F3980B730>I<D87FFE90380FFFC0B54913E06E5AA24A7E
6C486D13C0D807F0903801FC00A26D130300035DA46C6C495AA46C6C495AA46D131F6D5C
A3EC803F013F5CA46D6C48C7FCA490380FE0FEA401075B14F1A301035BA314FB01015BA3
14FFA26D5BA46E5A6E5A2B397EB730>I<D83FFC903801FFE0486C4913F000FF16F8A200
7F16F06C486D13E0D81FC09038001FC0000F1680A76D143F00071600A7000390380F803E
9039F01FC07EEC3FE0A3EC7FF0A2147D0001157CA29039F8FDF8FCA314F8A300005D01F9
13FCA2ECF07CA201FD137DA2017D5CECE03DA3017F133FA2ECC01FA2013F5CA2EC800F6D
486C5A2D397FB730>I<3A3FFF01FFF84801837F02C77FA202835B6C01015B3A01FC007F
806D91C7FC00005C6D5BEB7F01EC81FCEB3F8314C3011F5B14E7010F5B14FF6D5BA26D5B
A26D5BA26D90C8FCA4497FA2497FA2815B81EB0FE781EB1FC381EB3F8181EB7F0081497F
49800001143F49800003141F49800007140FD87FFEEB7FFFB590B5128080A25C6C486D13
0029387DB730>I<D87FFF90381FFFC0B56C4813E0A46C496C13C0D803F8903803F8006D
1307A26C6C495AA26C6C5C151F6D5CEC803F013F5CECC07F011F91C7FCA290380FE0FEA2
14F101075BA2903803FBF8A201015B14FF6D5BA26E5AA36E5AB1903803FFF8497F497FA2
6D5B6D5B2B387EB730>I<001FB612FC4815FE5AA490C7EA03FCED07F816F0150FED1FE0
16C0153FED7F80003E1500C85A4A5A5D14034A5A5D140F4A5A5D143F4A5A92C7FC5C495A
5C1303495A5C130F495A5C133F495A91C8FC5B4848147C4914FE1203485A5B120F485A5B
123F485A90B6FCB7FCA46C15FC27387CB730>I<007FB5FCB61280A4150048C8FCB3B3B3
A5B6FC1580A46C140019476DBE30>I<007FB5FCB61280A47EC7123FB3B3B3A5007FB5FC
B6FCA46C140019477DBE30>93 D<1307EB1FC0EB7FF0497E000313FE000FEBFF80003F14
E0D87FFD13F039FFF07FF8EBC01FEB800F38FE0003007CEB01F00010EB00401D0E77B730
>I<007FB612F0A2B712F8A36C15F0A225077B7D30>I<EB7FF80003B5FC4814C048804880
48809038E01FFC9038C003FE14016E7E6C487F6CC77FC8123FA491B5FC130F137F48B6FC
12075A48EB803F383FF800EA7FE0138048C7FC5AA4157F7E6C6C13FFEBC003263FF01FEB
FF8090B712C07E6C14EF000314876CD9FE01138026003FE0C8FC2A2A7BA830>97
D<EA3FFC487E12FFA2127F123F1200AAEC03FE91381FFF80027F13E091B57E90B612FC82
ECFE079138F001FF4A6C13804A137F4AEB3FC091C7121F17E049140FA217F01607A8160F
A217E07F161F6EEB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495CD97E
7F13C0D93C1F90C7FC90380003FC2C3980B730>I<ECFFE0010713FC011F7F017F7F90B6
12804815C048EB807F3907FC003F485A485A49EB1F804848EB0F004990C7FC127F90C9FC
A25A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F6C6C14C0D807FE133F9039FFC0FF
806C90B5FCC615006D5B011F13F801075B01011380232A7AA830>I<913801FFE04A7F5C
A28080EC0007AAEB03FE90381FFF874913E790B6FC5A5A481303380FFC00D81FF0133F49
131F485A150F4848130790C7FCA25AA25AA87E6C140FA27F003F141F6D133F6C7E6D137F
390FF801FF2607FE07EBFFC06CB712E06C16F06C14F76D01C713E0011F010313C0D907FC
C8FC2C397DB730>I<49B4FC010713E0011F13F8017F7F90B57E488048018113803A07FC
007FC04848133FD81FE0EB1FE0150F484814F0491307127F90C7FCED03F85A5AB7FCA516
F048C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D1307D807FEEB1FF03A03FFC07FE0
6C90B5FC6C15C0013F14806DEBFE00010713F8010013C0252A7CA830>I<EDFF80020713
E0021F13F05C4A13F891B5FC491387903803FE079138FC03F0903907F800C04A1300A800
3FB612C04815E0B7FCA36C15C0260007F0C7FCB3A9003FB512FE4880B71280A26C15006C
5C25397DB830>I<D903FC13FF90261FFF8713C04913DF90B712E05A5A2607FE07138F90
3AF801FE07C048486C6CC7FCA2497F001F8149133FA56D137F000F92C7FC6D5BA26C6C48
5AEBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0C9FCA37F7F6CB512F015FF6C15C0
4815F0488148813A3FE0001FFE0180130148C8127F007E8100FE168048151FA56C153F00
7FED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B55A6C5D000115C06C6C91C7FC011F
13FC010113C02B3E7DA730>I<EA3FFC487E12FFA2127F123F1200AAEC01FE91380FFF80
023F13E091B57E90B67EA29138FE07FCECF8039138E001FE14C0EC8000A291C7FCA25BB3
A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F3880B730>I<
14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF8487F5AA27E7EEA0001B3A9003F
B612C04815E0B7FCA27E6C15C023397AB830>I<EC01C0EC07F0A2EC0FF8A3EC07F0A2EC
01C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC07F0A2123C007EEB0FE0B4131FEC
3FC0147F90B512806C14005C6C5B000F13F0000313C01D4E7CB830>I<EA7FF8487EA412
7F1200AB0203B512804A14C017E0A217C06E14809139001FE0004B5A4B5A4BC7FC4A5A4A
5AEC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8ECC1FCEC81FEEC00FF497F49
6D7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C4813F017F8A217F06C496C13E02D
387FB730>I<387FFFF8B57EA47EEA0001B3B3A8007FB612F0B712F8A46C15F025387BB7
30>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F138726
07FE07EB03F801FC13FE9039F803FC01A201F013F8A301E013F0B3A23C7FFE0FFF07FF80
B548018F13C0A46C486C01071380322881A730>I<EC01FE3A3FFC0FFF80267FFE3F13E0
00FF90B57E90B67E7E6C9038FE07FCC6EBF8039138E001FE14C0EC8000A291C7FCA25BB3
A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F2880A730>I<
49B4FC010F13E0013F13F8497F90B57E0003ECFF8014013A07FC007FC04848EB3FE0D81F
E0EB0FF0A24848EB07F8491303007F15FC90C71201A300FEEC00FEA86C14016C15FCA26D
1303003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D137F3A07FF01FFC06C90B51280
6C15006C6C13FC6D5B010F13E0010190C7FC272A7CA830>I<EC03FE3A3FFC1FFF80267F
FE7F13E000FF90B57E90B612FC6C816CEBFE07C69038F001FF4A6C13804A137F4AEB3FC0
91C7121F17E049140FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDA
F00313009138FC0FFE91B55A5E495C6E13C0021F90C7FCEC03FC91C9FCAD383FFFF8487F
B57EA26C5B6C5B2C3C80A730>I<49B413F8010FEBC1FC013F13F14913FD48B6FC5A4813
81390FFC007F49131F4848130F491307485A491303127F90C7FC15015A5AA77E7E15037F
A26C6C1307150F6C6C131F6C6C133F01FC137F3907FF01FF6C90B5FC6C14FD6C14F9013F
13F1010F13C1903803FE0190C7FCAD92B512F84A14FCA46E14F82E3C7DA730>I<ED07F8
3A3FFF803FFF486DB51280B512C302CF14C06C13DF6C9038FFFC3FD8001F13E09238801F
809238000F004A90C7FC5C5C5CA25CA45CAF003FB512FC4880B7FCA26C5C6C5C2A287EA7
30>I<90381FFC1E48B5129F000714FF5A5A5A387FF007EB800100FEC7FC4880A46C143E
007F91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F86C6C7F01037F9038000FFF02
001380007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F806D137F9039FC03FF0090B6FC
5D5D00FC14F0D8F83F13C026780FFEC7FC222A79A830>I<EB0780497E131FA9003FB612
E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5ECE003010FEB07F814F09138FC
1FF06DB512E06D14C016806D14009038007FFCEC1FF026337EB130>I<D83FFCEB3FFC48
6C497E00FF14FFA2007F147F003F143F00001400B3A41501A2150315076D130F903A7FC0
7FFFF891B612FC6D15FE7F6D4913FC6D9038F87FF8010001C0C7FC2F2880A630>I<3B3F
FFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01F80003F000A26D130700005D
A26D130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA26E5A010F137EA2ECE0FE0107
5BA214F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B277EA630>I<3B3FFFC01FFF
E0486D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F00A26D5C0003157EA56D14FE
00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2ECFDF9017C5C14F8A3017E13FB
A290393FF07FE0A3ECE03FA2011F5C90390F800F802D277FA630>I<3A3FFF81FFFC4801
C37FB580A26C5D6C01815BC648C66CC7FC137FEC80FE90383F81FC90381FC3F8EB0FE3EC
E7F06DB45A6D5B7F6D5B92C8FC147E147F5C497F81903803F7E0EB07E790380FE3F0ECC1
F890381F81FC90383F80FE90387F007E017E137F01FE6D7E48486D7E267FFF80B5FCB500
C1148014E3A214C16C0180140029277DA630>I<3B3FFFC07FFF80486DB512C0B515E0A2
6C16C06C496C13803B01FC0003F000A2000014076D5C137E150F017F5C7F151FD91F805B
A214C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB01F85DA2EB00F9ECFDF0147D
147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13FE486C5AEA3FC1EBC3F81387
EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630>I<001FB612FC4815FE5AA316
FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E491300C7485A4A5A4A5A4A5A4A5A4A5A
4A5A4990C7FC495A495A495A495A495A495A4948133E4890C7127F485A485A485A485A48
5A48B7FCB8FCA46C15FE28277DA630>I<ED3FF0913803FFF8140F5C147F16F09138FFF0
0092C7FC495A5CB3A21303495A133F383FFFF0B55A5C91C8FC14C080003F7F38003FF813
076D7E1301B3A2806D7E15F091387FFFF016F8141F8014039138003FF025477BBE30>I<
127CA212FEB3B3B3AD127CA207476CBE30>I<EA7FE0EAFFFE6D7E8014F07EC66C7E1307
6D7E1301B3A2806D7E15E091387FFFE06E13F8801407141F5C4A13E09138FFE00092C7FC
495A5CB3A21303495A137F387FFFF0B5FC14C05C49C8FCEA7FE025477BBE30>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmss10 10.95 9
/Fg 9 115 df<EC01FEB3B3B11403006014FC007013070078130F007EEB1FF838FFE1FF
90B512F015E06C14C0001F14800003EBFE0038003FF01F417CBE2B>74
D<D8FFF015FEA27FA27FA27F12FE137FA280133F80131F80130F80130780130380130180
1300808081143F81141F81140F81140781140381140181140081811680153F16C0151F16
E0150F16F0150716F8150316FC1501A2ED00FE16FF167FA2163FA2161FA22F3F78BE40>
78 D<B612F015FEEDFFC08216F890C7EA3FFCED07FEED01FF6F1380167FEE3FC0EE1FE0
A2160F17F01607A6160F17E0161FA2EE3FC0167FEEFF804B1300ED07FEED3FFC90B65A5E
16C093C7FC15FC90CAFCB3A92C3F78BE3A>80 D<ECFFF0010713FF011F14C0017F14F890
B67E5A48EB803F3A07FC0007F848481301D81FE0EB0078491438003F15184991C7FCA248
CAFCA67FA26C7E7F7F6C7EEA0FFEEBFFC06C13FC6CEBFFC06C14F86C14FE013F6D7E010F
80010380D9003F7F02037F9138007FFC150F6F7E15018281821780163FA7EE7F00126012
70007815FE007C1401007F4A5AD8FFC0130701F0EB1FF801FFEB7FF06C90B55A001F5D00
0792C7FC00015CD8003F13F8010113C029437CC033>83 D<B4ED01FCB3B3AB6C6CEC03F8
A36C6CEC07F0A26C6CEC0FE0A26C6CEC1FC06D143F6C6CEC7F806C6CECFF003A01FF8003
FE6C9038E01FFC6DB55A011F14E001075C010149C7FC9038003FF02E4178BE3F>85
D<12FEB3A414FF010713E0011F7F017F7FB67E819038F80FFFEBE001D98000138090C7EA
7FC0153F48141F16E0150FA3ED07F0AAED0FE0A3151FED3FC07E6DEB7F8015FFD9E00313
009038F81FFE90B55A485C6D5B6D5B010F1380260001FEC7FC244079BE2F>98
D<EB03F8EB1FFF017F13C090B57E488048803807FE07390FF801FC9038E000FE4848137E
003F143E49133F90C77E5A127EED0F80B7FCA600FCC9FCA37E127EA2127FA26C7EA26C7E
6D14806C6C1303D807FC131F01FF13FF6C90B5FC7E6C6C14006D13FC010F13E0010190C7
FC212B7DA928>101 D<EB01FE90380FFFC0013F13F0497F90B57E000314FF14033A07F8
007F804848EB3FC04848EB1FE049130F4848EB07F0A290C712034815F8A2007E140100FE
15FCA96C14036C15F8A36C6CEB07F06D130FA26C6CEB1FE06C6CEB3FC001FC13FF2607FF
0313806C90B512006C5C6C5C013F13F0010F13C0D901FEC7FC262B7DA92D>111
D<00FC137CEB03FC130F131F133F137FEBFFC038FDFE00EAFFF85B5B5BA25BA290C7FCA2
5AB3A6162979A81F>114 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmsy8 8 3
/Fh 3 107 df<B812C0A32A037A9137>0 D<130C131EA50060EB01800078130739FC0C0F
C0007FEB3F80393F8C7F003807CCF83801FFE038007F80011EC7FCEB7F803801FFE03807
CCF8383F8C7F397F0C3F8000FCEB0FC039781E078000601301000090C7FCA5130C1A1D7C
9E23>3 D<12E0B3B3B3AD034378B114>106 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmti9 9 3
/Fi 3 110 df<EB03F0EB0FF890383E1C6090387C0FF0EBF807EA01F0EA03E00007EB03
E0EA0FC0A2381F800715C0EA3F00A2140F481480127EA2141F00FE14005A1506EC3F07EC
3E0F150E147E007C141EECFE1CEB01FCD83C03133C393E07BE38391F0E1E783907FC0FF0
3901F003C0202278A027>97 D<133FEA07FF5A13FEEA007EA3137CA213FCA213F8A21201
A213F0A21203A213E0A21207A213C0A2120FA21380A2121FA21300A25AA2123EA2127EA2
127C1318EAFC1C133CEAF838A21378137012F013F0EAF8E01279EA3FC0EA0F00103579B3
14>108 D<2703C003F8137F3C0FF00FFE01FFC03C1E783C1F07C1E03C1C7CF00F8F01F0
3B3C3DE0079E0026383FC001FC7FD97F805B007001005B5E137ED8F0FC90380FC00100E0
5FD860F8148012000001021F130360491400A200034A13076049013E130FF08180000702
7EEC83C0051F138049017C1403A2000F02FC1407053E130049495CEF1E0E001F01015D18
3C010049EB0FF0000E6D48EB03E03A227AA03F>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmmi9 9 1
/Fj 1 98 df<EB01F8EB07FE90381F071C90387C03FEEBF801EA01F00003130048485B5B
120F381F80015DEA3F00A21403485C127EA2140700FE5C5A1640020F1360EDC0E016C012
7CEC1FC1023F1380003CEB7F81003EEBEF833A1E01C7C300390F0787C73907FE03FE3900
F800F823227EA029>97 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmex10 10.95 8
/Fk 8 126 df<157CEC01FC1403140F141FEC7FF8ECFFE04913C0491380491300495A49
5A495A495A5C13FF485B5C5A4890C7FCA2485AA25B121FA2485AA3127F5BA412FF5BB3B3
AB1E525D7E51>56 D<EAFFE0B3B3AB7F127FA47F123FA36C7EA2120F7FA26C7EA26C7F7E
806C7F137F806D7E6D7E6D7E6D7E6D13806D13C06D13E0EC7FF8EC1FFC140F14031401EC
007C1E525D8051>58 D<EC0FFEB3B3ACEC1FFCA5EC3FF8A315F0147FA215E014FF15C05B
15805B1500495AA2495A495AA2495A495A495A485B91C7FC485AEA0FFC485AEA3FE0485A
48C8FC5AA27EEA7FC06C7EEA1FF86C7EEA03FE6C7E806C7F6D7E6D7E6D7EA26D7E6D7EA2
6D7E15807F15C07F15E0147F15F0A2143F15F8A3EC1FFCA5EC0FFEB3B3AC1FA6718051>
60 D<EAFFE0B3AB0B1D5D8051>62 D<EE07F816FF1507153F92B5FC1403140F143F91B6
FC5B5B010FECF0004901FCC7FC4913E04990C8FCEBFFF84813E0485B4890C9FC485A13F8
485A485A5B485A48CAFCA25A5A5A2D1E838A29>122 D<B4FC13F813FF14E014F814FE6E
7E15E015F88181C66C6D7E010180D9003F7F02077F02007FED3FFC6F7EED07FF6F138015
00EE7FC0EE3FE0161FEE0FF0EE07F8A21603160116002D1E818A29>I<12F87E7E7EA26C
7E6C7E7F6C7E6C7E13FE6C7E6C13C06C7F6C13F86DB4FC6D13E06D13FC6DEBFFF00103EC
FFF87F7F143F140F14031400153F1507150016072D1E839D29>I<17F8160116031607A2
EE0FF0EE1FE0163FEE7FC0EEFF8015034B1300ED1FFE4B5AEDFFF802075B023F5B49B55A
017F5CB648C7FC5D5D15E015804AC8FC14F814E091C9FC13F890CAFC2D1E819D29>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmmi8 8 6
/Fl 6 113 df<90273FFFFC0FB5FCA2D900FEC7EA3F80A24A1500A201015D177E5CA201
0315FE5F5CA2010714015F5CA2010F14035F5C91B6FC5B9139C00007E05CA2013F140F5F
91C7FCA249141F5F137EA201FE143F94C7FC5BA200015D167E5BA2000315FEB539E03FFF
F8A2382D7CAC3A>72 D<90263FFFFC90381FFF80A2D900FEC73803F80018E04AEC07804D
C7FC0101151C5F4A14E04C5A01034A5A040EC8FC4A5B5E010714E04B5A9138E00780030E
C9FC010F131F157F4A487E14C190391FC71FC014CEEC9C0F02F07F90383FE00702C07FEC
0003825B6F7E137E6F7E13FE167F5B707E1201161F4981831203B539E001FFFEA2392D7C
AC3C>75 D<EB07E0EB1FF890387C1CE0EBF80D3801F00F3803E007EA07C0120FD81F8013
C0A2EA3F00140F481480127EA2141F00FE14005AA2EC3F02EC3E06A25AEC7E0E007CEBFE
0C14FC0101131C393E07BE18391F0E1E38390FFC0FF03903F003C01F1F7D9D25>97
D<131FEA03FFA2EA003FA2133EA2137EA2137CA213FCA25BA2120115F89038F003FCEC0F
0E0003EB1C1EEC387EEBE07014E03807E1C09038E3803849C7FC13CEEA0FDC13F8A2EBFF
80381F9FE0EB83F0EB01F81300481404150C123EA2007E141C1518007CEBF038ECF83000
FC1470EC78E048EB3FC00070EB0F801F2F7DAD25>107 D<3907C007E0391FE03FF83918
F8783E393879E01E39307B801F38707F00126013FEEAE0FC12C05B00815C0001143E5BA2
0003147E157C5B15FC0007ECF8081618EBC00115F0000F1538913803E0300180147016E0
001F010113C015E390C7EAFF00000E143E251F7E9D2B>110 D<90387C01F89038FE07FE
3901CF8E0F3A03879C0780D907B813C0000713F000069038E003E0EB0FC0000E1380120C
A2D8081F130712001400A249130F16C0133EA2017EEB1F80A2017C14005D01FC133E5D15
FC6D485A3901FF03E09038FB87C0D9F1FFC7FCEBF0FC000390C8FCA25BA21207A25BA212
0FA2EAFFFCA2232B829D24>112 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fm cmmi6 6 1
/Fm 1 111 df<000F13FC381FC3FF3931C707803861EC0301F813C0EAC1F0A213E03903
C00780A3EC0F00EA0780A2EC1E041506D80F00130C143C15181538001EEB1C70EC1FE000
0CEB07801F177D9526>110 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fn msbm10 10.95 2
/Fn 2 91 df<007FB812F0B912F87E3C03E00E000FF8380000011EEB00FC021C143E170F
EF07B8EF03F817011700A21878A21602160718381800A35EA35E5E5E5EED03F7ED1FC791
381FFF87160716C791381C0FE7ED01F7ED007F828282A382A493C8FCAD141E00037F007F
B6FCB7FC7E353E7FBD2D>70 D<0003B812F05AA2903B0FFC001C01E0D93FC0013C13C0D8
0F7EC7EA7803D80EF802701380D80FE0ECF00749903901E00F0049ECC00E90C70003131E
4C5A001E0207133892380F0078001C020E1370031E13F04B485AC800385BED780303705B
EDF0074A4848C7FCEDC00E0203131E4A485AED00384A1378020E1370021E13F04A485A02
385BEC7803913870078002F090C8FC49485AECC00E0103131E49485AEC0038491378010E
01701406011E01F0140E49485A01385BD97803151E49485A01E090C8FC000149153CEBC0
0E0003011E157C48484815FCEB00384801781401000E49EC03DC001E49EC0F9CD83C01ED
1F3C003849EC7E38D87803EC01F8484848EB1FF0B912F8A3373E7DBD41>90
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fo cmsy10 10.95 12
/Fo 12 113 df<007FB812F8B912FCA26C17F83604789847>0 D<EB03C0A2805CA600F0
140F00FC143F00FE147F00FF14FF393FC3C3FC390FE187F03903F18FC03900FDBF00EB3F
FCEB0FF0EB03C0EB0FF0EB3FFCEBFDBF3903F18FC0390FE187F0393FC3C3FC39FF03C0FF
00FE147F00FC143F00F0140F00001400A6805CA220277AA92D>3
D<EB0FFCEB3FFF90B512C0000314F03907F807F8390FE001FC391F80007E48C77E003E80
48EC0F80A20078140700F815C0A2481403A66C1407A200781580007C140FA26CEC1F0000
3F5C6C6C137E390FE001FC3907F807F86CB55AC614C0013F90C7FCEB0FFC22227BA72D>
14 D<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580A3B712C0AA6C15
80A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA72D>I<007FB912
E0BA12F0A26C18E0CDFCAE007FB912E0BA12F0A26C18E0CDFCAE007FB912E0BA12F0A26C
18E03C287BAA47>17 D<1818187CEF01FCEF07F8EF1FF0EF7FC0933801FF00EE07FCEE1F
F0EE7FC04B48C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07
FCEB1FF0EB7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC5AEA7F80EA3FE0EA0FF8EA03FE
C66C7EEB3FE0EB0FF8EB03FE903800FF80EC3FE0EC0FF8EC03FE913800FF80ED3FE0ED0F
F8ED03FE923800FF80EE3FE0EE0FF8EE03FE933800FF80EF3FE0EF0FF8EF03FC17001838
1800AE007FB812F8B912FCA26C17F8364878B947>20 D<D907FCEE1FE090261FFF80EDFF
F8017F01E0020313FE48B500F891390FF01F804802FE91393F8003C02707E00FFF91397E
0001E0260F80036D01F8EB00F090C79026E001F01470001E6E6C48481438001C6E6C4848
141C48021F495A6F6C48C8120C48912607FE3E150E04FF160600606E13FC00E06E491507
6F1703486F5AA2163F707E707E83A24C6C15076C8300604B6D1406047C6D140E0070167F
00304B6C6C141C00384A486C7EDB03E06D14386C4A486C6C14786C4A486C6C14F0000F91
261F0001EBC0016C6C017E6D9038F007E06C6C48486EB512C02701F80FF0021F14802700
7FFFC00207EBFE00011F90C8000113F8D907F89238003FE050297BA75B>49
D<0207B512E0023F14F049B6FC4915E0D90FFCC8FCEB1FE0017FC9FC13FEEA01F8485A48
5A5B485A121F90CAFC123EA25AA21278A212F8A25AA2B812E017F0A217E000F0CAFCA27E
A21278A2127CA27EA27E7F120F6C7E7F6C7E6C7EEA00FE137FEB1FE0EB0FFC0103B612E0
6D15F0EB003F020714E02C3678B13D>I<176017F01601A2EE03E0A2EE07C0A2EE0F80A2
EE1F00A2163EA25EA25EA24B5AA24B5AA24B5AA24B5AA24BC7FCA2153EA25DA25DA24A5A
A24A5AA24A5AA24A5AA24AC8FCA2143EA25CA25CA2495AA2495AA2495AA2495AA249C9FC
A2133EA25BA25BA2485AA2485AA2485AA2485AA248CAFCA2123EA25AA25AA25A12602C54
73C000>54 D<030EEB0FFC033EEB3FFFDBFC01B512C0912601F80780912607E00F809127
0F803F017F913B3F007C007FFC027C49131F4A48486D7E494848481307494848486D7E90
3807C00F494848487FD91F0090C7FC49496E1380017E137E137C01FC5B4848177F49485A
12034848485A5D000FEB078049CAFC121F1A005B123FA261007F6090CBFCA34E5A5A61A2
4E5AA24E5AA24E5A7F4E5A96C7FC606C6C167E187C6D5E4D5A6C6C4B5A4D5A6C6C4B5A6D
4BC8FC6C6C157E6D15F86C01C0EB03F06C01F0EB0FC06C01FEEBFF806C90B548C9FC6D14
F8011F14C0010791CAFC010013F041427BBF48>79 D<126012F0B3B3B3B3B11260045B76
C319>106 D<1A03F207801A0FA2F21F00A21A3EA262A262A24F5AA24F5AA24F5AA24F5A
A24FC7FCA2193EA261A261A24E5AA24E5AA24E5AA24E5AA24EC8FCA2183EA260A260A24D
5A131C017C5E01FE15031201D807FF4B5A120E484C5A00787FD8E07F4BC9FC00C07FD800
3F153E80011F5D80010F5D8001074A5A8001034A5AA26E495A13016E495A7F6F48CAFC14
7FEDC03E143F6F5A141F6F5A140FEDF1F015F9913807FBE015FF6E5BA26E5BA26E90CBFC
A2157EA2153C1538495B7B834C>112 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fp cmr8 8 6
/Fp 6 55 df<EB3FC0EBFFF03803E07C48487E48487E497E001EEB0780A2003E14C0A248
EB03E0A500FC14F0B0007C14E0A3007E1307003E14C0A36CEB0F806C14006D5A3807C03E
3803F0FC3800FFF0EB3FC01C2D7DAB23>48 D<130C133C137CEA03FC12FFEAFC7C1200B3
B113FE387FFFFEA2172C7AAB23>I<EB7F803801FFF0380780FC380E003F48EB1F8048EB
0FC05A0060EB07E012F000FC14F07E1403A3007C1307C7FCA215E0140F15C0141F1580EC
3F00147E147C5C495A495A495A495A011EC7FC5B5B4913305B485A4848136048C7FC000E
14E0001FB5FC5A4814C0B6FCA21C2C7DAB23>I<EB3FC03801FFF03807C0FC380E007E48
7FEC1F80003F14C0A2EB800F1300A2000C131FC7FC1580A2EC3F00143E5C5CEB03F0EBFF
C014F0EB00FC143FEC1F8015C0140F15E0A2EC07F0A21238127C12FEA3EC0FE012F80060
14C00070131F6C1480001EEB3F00380780FC3801FFF038007FC01C2D7DAB23>I<140EA2
141E143EA2147E14FEA2EB01BE1303143E1306130E130C131813381330136013E013C0EA
0180120313001206120E120C5A123812305A12E0B612FCA2C7EA3E00A9147F90381FFFFC
A21E2D7EAC23>I<EB03F8EB0FFE90383E0780EBF8013901F007C03803E00FEA07C0EA0F
80A2391F00078091C7FC123EA2127EA2127CEB0FC038FC3FF0EBF07C38FDC01EB4487E01
001380EC07C04814E0A214034814F0A4127CA3127EA2003E14E01407121E001F14C06CEB
0F803907801F003803C03E6C6C5A38007FF0EB1FC01C2D7DAB23>54
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fq cmmi10 10.95 31
/Fq 31 122 df<EC0FF0EC7FFE903801F81F903907E007C049486C6C13E0D93F80EBF001
90267F000114C001FE14F84848EB00FC484815030007178049147E000FEE0700485A5F48
48150E171E171C007F163C49153817785F00FF5E90C8127F5F5F94C7FCA248157EA2127E
007F15FE15016C4A7E92390F3F03806C6C131E6C6C9038781F070007D901E014003B03F0
1F800F8E3B00FFFE0007FCD91FE0EB01F033297CA73A>11 D<EE7F80923801FFE0923807
80F892381E003C03387F03F0131F4A48EB0F804A5A5D4AC7EA07C0140E021E140F141C14
3C023815805C171F5C180001015D4A143E5F010315FC4A495A4C5A01079038FFE7C00203
EBFF80DB807EC7FC92B57E49C6EBC7C0010E90380003E0160183011E81011C1400A28313
3C1338A313781370A301F01401495DA3000115035F16075F0003150F5F4C5A6D4AC7FC00
07157E01785C0138495A6DEB03E0D80F0FEB0FC0270E07C07FC8FC903801FFF89038007F
C0001E90CAFC121CA3123C1238A312781270A312F05AA432527EBF33>I<133F14E0EB07
F0EB03FC13016D7EA3147FA26E7EA36E7EA36E7EA36E7EA36E7EA26E7EA36E7EA3157FA3
6F7E157F15FF4A7F5C913807CFE0EC0F8FEC1F0F91383E07F0147C14FC49486C7EEB03F0
EB07E049486C7EEB1F80EB3F00496D7E13FE4848147F485A485A4848EC3F80485A123F48
48EC1FC048C8FC4816E048150F48ED07F0007015032C407BBE35>21
D<ED1FC0EDFFF0913803E07C91380F803E4A487E023E14804AEB0FC05C494814E0130349
5A5C130F494814F0A2133F91C7FCEE1FE05B137EA201FE143F17C05BA20001ED7F80A249
15005E00035D4B5AA24B5A486C495A4B5A6D5C01EEEB3F80D80FE7017EC7FC9038E3C1F8
9038C1FFE0D9C07FC8FC001F90C9FCA25BA2123FA290CAFCA25AA2127EA212FEA25AA35A
12702C3C7EA72F>26 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>58
D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
120E5A1218123812300B1C798919>I<ED0180ED03C01507A21680150FA216005DA2151E
153EA2153C157CA2157815F8A25D1401A25D1403A25D1407A25D140FA24AC7FCA2141E14
3EA2143C147CA2147814F8A25C1301A25C1303A25C1307A25C130FA291C8FC5BA2131E13
3EA25BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9FC5AA2121E123EA212
3C127CA2127812F8A25A1260225B7BC32D>61 D<49B912C0A3D9000190C71201F0003F4B
151F190F1A80020316075DA314075D1A00A2140F4B1307A24D5B021F020E130E4B92C7FC
171EA2023F5C5D177CEE01FC4AB55AA3ED800302FF6D5A92C7FCA3495D5C193804011478
01034B13704A16F093C85AA2010716014A5E180361010F16074A4BC7FCA260011F163E4A
157E60013F15014D5A4A140F017F15FFB95AA260423E7DBD43>69
D<DC3FF0130E923803FFFE031F9038FF801C923A7FF00FC03C913B01FF0001E07CDA07FC
903800F0FCDA0FF0EC79F8DA3FC0143F4A48141F4AC8120FD903FC16F0495A4948150749
5A013F17E04A1503495A49C9FC4818C05B1203485A1980485AA2485A95C7FC123F5BA212
7F5BA312FF5BA3043FB512E0A290C8FC9339001FF800170F60A2171F60A36C6C153F60A2
6C7E177F001F5F7F6C6C15FF00075D6C6C4A90C7FC6C6CEC07BF6CB4EC1F1FD97FC0EB7E
0F903A1FF803F80E0107B5EAE00601010280C8FC9026001FF8C9FC3F427BBF47>71
D<49B6D8C03FB512F81BF01780D900010180C7383FF00093C85B4B5EA2197F14034B5EA2
19FF14074B93C7FCA260140F4B5DA21803141F4B5DA21807143F4B5DA2180F4AB7FC61A2
0380C7121F14FF92C85BA2183F5B4A5EA2187F13034A5EA218FF13074A93C8FCA25F130F
4A5DA21703131F4A5DA2013F1507A24A5D496C4A7EB6D8E01FB512FCA2614D3E7DBD4C>
I<49B600C090387FFFF896B5FC5FD900010180C7000F130093C813F84B16E01A804FC7FC
0203163C4B15F84E5AF003C002074B5A4B021FC8FC183E1878020F5D4BEB03E0EF07804D
C9FC021F143E4B5B17F04C5A023F1307EDC00F4C7E163F027FEBFFF8ED81EFED83CF9238
8F87FC9138FF9F0792383C03FE15784B6C7E4913E0158092C77F5C01036F7E5C717EA213
074A6E7EA2717E130F4A6E7EA284011F15035C717E133F855C496C4A13E0B600E0017F13
FFA34D3E7DBD4D>75 D<49B712F018FF19C0D9000190C76C7EF00FF84BEC03FC18010203
82727E5DA214071A805DA2140F4E13005DA2021F5E18034B5D1807023F5E4E5A4B4A5A4E
5A027F4B5A06FEC7FC4BEB03FCEF3FF091B712C005FCC8FC92CBFCA25BA25CA21303A25C
A21307A25CA2130FA25CA2131FA25CA2133FA25C497EB612E0A3413E7DBD3A>80
D<EE3FF00303B5FC92391FC03FC092397E0007E0DA01F8EB01F8DA07E06D7E4A48147EDA
3F8080027EC813804AED1FC0EB03F84948ED0FE0130F494816F04A1507494816F8137F49
C9FC485AA2484817FCA2485A120FA2485AA25B123F19F84848160FA44848EE1FF0A3F03F
E0A290CAFCF07FC0A2198018FF19004D5AA24D5A606C16074D5A6D01F85C003FD903FE49
5ADA0F07495A271FC01C0349C7FC9139380180FE260FE030EB81FCEEC3F82607F070EBC7
E03B03F86000CFC0D801FCECFF80D800FE4AC8FC90393FF003F890270FF81FE0130C0103
B5FC9026007FF1141CDA00011418183882607013F017039338FC0FE093B5FC6060A26F91
C7FC5F705AEE3FF0EE0FC03E527BBF48>I<B6017FB5D88007B51280A24A1A0000030180
010101E0C7EA7FF049C80180EC1FC0000194C85B99C7FC1B1E1B1C63A2634C7F634C1501
63DC077F4A5A160F6D020E4BC8FC161C6C190E1638620470153C04F0153804E05DED01C0
62DB03807F4F5A922607003F130362030E4BC9FC151EDA801C150E5D017F5F5D614B1578
028116704B5DEC8380F0C1C00287C713E1F0E380028EEC1FE796CAFC029C15EE14BC02F8
15FC5C013F5E5C605C604A5D91C8FC60133E95CBFC013C81170E59407BBD56>87
D<EC1F80ECFFE0903903F0707090390FC039F890381F801D90383F000F017E5C5B000114
07485A48485CA2485A001F140F5E485AA2151F007F5D5BA2153F00FF92C7FC90C7FCA25D
92387E03805AA215FEEDFC07007E0101140014035E6C0107130E140E3A1F801C7C1C000F
13783A07C1F03E383A01FFC01FF03A007F0007C029297DA730>97
D<EB1FC0EA0FFF5CA2EA003FA291C8FCA25BA2137EA213FEA25BA21201A25BA21203A25B
EC3F800007EBFFE09038F3C1F849C67E01FE137E4848133E49133F5B491480001F141F5B
5BED3FC0123FA290C7FCA248147F1680127EA215FF00FE15005AA24A5AA25D1403485C14
07007C5C4A5A5D003C495A003E49C7FC001E137E6C13F8380783F03803FFC0C648C8FC22
407CBE27>I<EC07F0EC7FFE903801FC0F903907E0038090390FC001C0D93F8013E09038
7F000701FE131F485A485A16C0485A000F15804990C7FC121F485AA3127F5BA312FF90C9
FCA6007E1560007F15E01501ED03C06CEC07806DEB0F00001F141E6C6C137C3907E001F0
3901F01FC06CB5C7FCEB1FF023297DA727>I<EE07F0ED03FF17E0A2ED000FA217C0A216
1FA21780A2163FA21700A25EA2167EA216FEA25EEC1F80ECFFE1903803F07190390FC039
F890381F801D90383F000F137E495C00011407485A485A5E485A001F140FA248485CA215
1F127F495CA2153F12FF90C790C7FCA25DEE038048147EA215FE1607007ED901FC130014
035E6C0107130E140E3A1F801C7C1C000F13783A07C1F03E383A01FFC01FF03A007F0007
C02C407DBE2F>I<EC1FE0ECFFFC903803F01E90380FC00F90393F800780D97E0013C049
1303EA03F8120749130748481480121F49130F003FEC1F00153E397F8001FCEC1FF090B5
1280B500F8C7FC90C9FCA45AA616C01501007E1403ED07806CEC0F00151E6C5C6C6C13F8
3907C003E03903E03F802600FFFEC7FCEB3FE022297CA72A>I<EC01F8EC0FFE91383F07
879139FC03DF80903801F801903903F000FFEB0FE04948EB7F005C133F49C7FC49147E5B
000115FEA248485CA215011207495CA21503120F495CA21507A25E5B0007140FA24B5A6D
133F0003147F000114FF6D485B0000EB03DF90387E0F3FEB1FFCD907F090C7FC90C7FC5D
A2157EA215FEA25D001C1301007F5C4813035D4A5A4A5A48495A00F8017EC8FC387E01FC
381FFFE0000390C9FC293B7FA72B>103 D<EB01FC13FF5CA21303A25CA21307A25CA213
0FA25CA2131FA25CA2133FA291C9FC16FC49EB03FE92380F0780017EEB3C0FED703F01FE
13E0913801C07F9038FC0380EC07000001010E14004A131C494890C7FC5C00035BEBF9C0
495A01FFC9FC5A14F0EBE3FE9038E07F80000FEB1FC06E7EEBC00781001F1303160E1380
A2003F151E0207131C010013E0A2485DA2007E01031378167000FE01015B15F148903800
7F800038023EC7FC29407CBE2F>107 D<EB07F0EA03FF14E0A2EA000FA214C0A2131FA2
1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120F
A25BA2121FA25BA2123FA290C7FCA25AEB0380127EA212FE130700FC1300A25B130EA2EA
7C1C133CEA3E38EA1FF0EA07C014407DBE1B>I<01F8D907F0EB07F8D803FED93FFEEB1F
FE28078F80F81FEB781F3E0F0F81C00F81E00F803E0E07C78007C3C007C0001CD9CF00EB
C78002FEDAEF007F003C4914FE0038495C49485C12780070495CA200F0494948130F011F
600000495CA2041F141F013F6091C75B193F043F92C7FC5B017E92C75A197E5E01FE9438
FE01C049027E14FCA204FE01011303000106F81380495CF20700030115F00003190E494A
151E1A1C03035E0007943800F8F0494AEC7FE0D801C0D900E0EC1F804A297EA750>I<01
F8EB0FF0D803FEEB3FFC3A078F80F03E3A0F0F83C01F3B0E07C7800F80001CEBCF0002FE
80003C5B00385B495A127800705BA200F049131F011F5D00005BA2163F013F92C7FC91C7
FC5E167E5B017E14FE5EA201FE0101EB03804914F8A203031307000103F013005B170E16
E000035E49153C17385F0007913801F1E0496DB45AD801C0023FC7FC31297EA737>I<EC
07F8EC7FFE903901FC0F80903907E007E090390FC003F090393F8001F8EB7F0001FEEB00
FC485A484814FEA2485A120F5B001F15FF485AA2ED01FE127F5BA2150300FF15FC90C7FC
A2ED07F8A2ED0FF0A2007E15E0007FEC1FC0ED3F80A26CEC7F006C6C13FC4A5A6C6C485A
3907E00FC02601F03FC7FC3800FFFCEB1FE028297DA72C>I<D907C013FE903A0FF003FF
80903A1C7C0F07E0903A383C1C03F0903A783E7801F80170EBF0009026F03FE013FC01E0
5B4B13FE0001017F147E01C090C7FC147E17FF000313FEA2C75AA201015C17FE5CA20103
140317FC5CA20107EC07F8A24A14F0160F010F15E0161F17C0EE3F80011F15006E137E5E
9138B801F890393FBC03E091389E0FC0DA07FFC7FCEC01F849C9FCA2137EA213FEA25BA2
1201A25BA21203A2B512E0A3303A84A72E>I<D801F0EB3F80D807FCEBFFE03A0F1F03C0
F0000E90380F00F8391E0F9E03001C13BC003CEBF807003813F0A226781FE013F0007090
38C001C092C7FC5C12F0133F000090C8FCA35B137EA313FE5BA312015BA312035BA31207
5BA3120F5BEA038025297EA729>114 D<EC1FC0ECFFF8903803E03C903807800E90381E
0007168049130F49131F153FA201F81400A2151C6D90C7FC7FEBFFE014FE90387FFFC06D
7F6D13F86D7F13039038001FFE14031400157E000C143E123F487EA248C7123CA25D12FC
00F05C0070495A0078495A6C495A260F803EC7FC3803FFF838007FC021297CA72B>I<14
7014FC1301A25CA21303A25CA21307A25CA2130FA25CA2007FB512F0B6FC15E039001F80
00133FA291C7FCA25BA2137EA213FEA25BA21201A25BA21203A25BA21207EC01C013E014
03000F1480A2EBC0071500140E141E5C000713385C3803E1E03801FF80D8003EC7FC1C3A
7EB821>I<D901F8133FD907FEEBFFE0903A1E0F83C0F0903A3807C780F890397003CF03
01E013FED801C0EBFC071203018013F8D8070015F0EE01C0000E4AC7FCA2001E1307A2C7
5BA2140F5DA3141F5DA3143F92380001C0A34A1303001E1680003F017E1307267F80FE14
005ED8FF81141ED901DF131CD8FE035C3A7C078F80F03A3C0F07C1E03A1FFC03FF802707
F0007EC7FC2D297EA734>120 D<137C48B4EC03802603C7C0EB0FC0EA0703000F7F000E
151F001C168013071238163FD8780F150000705BA2D8F01F5C4A137E1200133F91C712FE
5E5B137E150113FE495CA2150300015D5BA215075EA2150F151F00005D6D133F017C137F
017E13FF90393F03DF8090380FFF1FEB01FC90C7123F93C7FCA25DD80380137ED80FE013
FE001F5C4A5AA24848485A4A5A6CC6485A001C495A001E49C8FC000E137C380781F03803
FFC0C648C9FC2A3B7EA72D>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fr cmbx12 20.74 19
/Fr 19 117 df<EE01F0EE07F8160F163F167FED01FF150F153F4AB5FC143F010FB6FCB8
FCA54A7E14C0EBF000C8FCB3B3B3B3AE007FBA12F0A8447171F061>49
D<92380FFFE04AB67E020F15F0027F15FE49B87E4917E0010F17F8013F8349D9C01F14FF
9027FFFC0001814801E06D6C80480180021F804890C86C8048486F8048486F8001FF6F80
4801C06E8002F081486D18806E816E18C0B5821BE06E81A37214F0A56C5BA36C5B6C5B6C
5B000313C0C690C9FC90CA15E060A34E14C0A21B80601B0060626295B55A5F624D5C624D
5C4D91C7FC614D5B4D13F04D5B6194B55A4C49C8FC4C5B4C5B4C13E04C5B604C90C9FCEE
7FFC4C5A4B5B4B5B4B0180EC0FF04B90C8FC4B5A4B5A4B48ED1FE0EDFFE04A5B4A5B4A90
C9FC4A48163F4A5ADA3FF017C05D4A48167F4A5A4990CA12FFD903FC160749BAFC5B4919
805B5B90BBFC5A5A5A5A481A005A5ABCFCA462A44C7176F061>I<923801FFFE033FEBFF
F84AB7FC020F16E0023F16F84A16FE49B97E49DA003F80010F01F0010714F04901800101
804948C880D97FF86F7F02E081496C834801FC6F148014FF486E6E14C08181481AE081A9
6C5C1BC06C4A5C6C5C6D90C815806D5AD90FF85D90CA150062606295B55A4D5C624D5C4D
5C4D91C7FC4D13FC4D5B4CB512E0047F1480037FB548C8FC92B612F818C018F8F0FF806F
15F092C7003F13FC050713FF050114C071807213F8727F727F867214801BC07214E01BF0
A27214F81BFCA37214FEA31BFFEBFF80000313E0487F001F13FC487FA2487FA2B67EA31B
FEA3601BFCA292C8FC6C1AF84A5D4A18F06C494B14E05C6C01C04B14C06C90C915804E14
006C6D4B5B6C01F092B55A6C01FC4A5C27007FFFC001075C6D01FE013F14C0010F90B85A
6D4DC7FC010117F8D9003F16E0020F93C8FC020015F0030749C9FC507378F061>I<F10F
F04F7E193FA2197F19FF60A260606060A2606095B5FCA25F5F5FA25F5F5F5F18BFEFFF3F
5EEE03FE17FCEE07F8160FEE1FF0EE3FE017C0167FEEFF804B13005E4B5A15074B5A4B5A
5E153F4B5A4B5A93C7FC4A5A14034A5A5D4A5A141F4A5A4A5A5D4AC8FC5B495A5C495A13
0F495A495A5C137F495A4890C9FC5B485A1207485A485A5B123F485A485A90BC12FCA8CB
02F8C7FCB3A20307B912FCA856727BF161>I<0170187001FEEF01F86D6C160F02F8167F
DAFF80EC07FF03FE49B5FC92B85A6262A26297C7FC61616119E061614EC8FC18F86018C0
95C9FC17F817C0020701F8CAFC91CDFCB0923801FFFC031FEBFFE092B612FC020315FF02
0F16C04A16F0027FD9003F7FDAFFF0010F13FE038001037F4AC76C8002F86E804A6F7F4A
6F7F4A834A6F7F91C980137E017C707F90CAFC1B80A21BC0A2841BE0A51BF0A313FE3803
FF80000F7F4813F0487F5A80B5FCA41BE0A44E14C05C7E4A18805C4A5D6C90C9150001E0
606C6C5E6D606C6C4C5B7F000794B55A6C6C6C4A5C6C6D4A5C6E4A5C26007FF8021F49C7
FC6DB4027F5B6DD9F007B55A6D90B712E0010317806D4CC8FC6D6C15F8021F15C002034A
C9FCDA003F13804C7376F061>I<94381FFF800403B512F8043F14FE4BB77E030782031F
16F0037F8292B5D8FC017F02039139C0001FFE4A49C7EA07FF021F01F8804A496E13804A
01C0140F91B548023F13C04991C85A494992B5FC49494A14E0495B495E5D5B495BA290B5
5A5A5D487114C0A24891C91480731300735A48F00FF896C8FC485BA45AA44849903803FF
E0041F13FE047FEBFFC04BB612F84B81030F15FFB590261FF8038092273FE0007F13E004
80011F7F4BC76C7F03FE6E7F4B6E7FDAFDF86E7FDAFFF017804B6E14C01BE05D7313F05D
1BF8A292C914FC85A21BFE5CA31BFFA26C5BA87EA4807EA21BFE7EA37E1BFC6E5E6C1AF8
A27E6F17F06C95B512E06D7F1BC06D6D4A14806D4C1400816D6D4A5B6D6D4A5B6D01FF4A
13F001006E017F5B6ED9F007B55A6E90B7C7FC020F5E020316F86E16E0DA003F15800307
02FCC8FCDB007F1380507378F061>I<F103F84F7E4F7EA24F7EA34F7FA24F7FA396B57E
A24E80A34E80A24E80A34E80A24E80A34E81A24E81A219BFDEFF9F80191F4D6D80A218FE
05036D8018FC05076D80A218F8050F6D8018F0051F6D80A260053F6E8060057F6E80A260
05FF6E8095C7FC4C6F80A25F04036F805F04076F80A25F040F6F805F041F6F80A25F043F
70805F047F7080A25F04FF708094C9FC4B7180A25E030371805E4BBB7EA34B86A24B86A3
DB3FE0CA6C805E037F7280A25E03FF7280A24A90CB6C80A25D02037380A24A487280A25D
020F7380A24B84021F885D023F7480A24B85027F895D902607FFFC7380B86C031FB912E0
A8837979F892>65 D<BDFC1CFEF4FFC01DF81DFF1EC01EF08AC7003F49C9000F14FE0901
80756C800A1F807680768076807680A27680A2777FA2208089A320C0A289A565A32080A3
531400A29AB55AA2525C6764525C525C525C525C5249C7FC51B55A090714F0093F14C008
07B6C8FC93BA12F81DC0651DFCF5FF801EF04CCA14FC0A3F13FF0A0F800A0314E0768076
14FC777F777F2080897714C020E0A27714F0A220F88920FCA47714FEA96520FCA45314F8
A26520F06520E05314C0659AB61280521500525C1C0F5214F899B65A09075DC05A9CC7FC
1EFC1EF01EC053C8FC1DE00AF8C9FC777679F58A>I<96267FFFE01670063FB6ED01F805
03B700F01403053F04FC14074CB96C130F040706E0131F043F72133F93BA00FC137F0303
DC00076D13FF030F03C09039003FFF814B02FCC8000713C3037F02E0030113F792B60080
6F6CB5FC02034ACA121F4A02F8834A02E0834A4A1701027F4A8391B548CC7E494A85495C
4C854988494A85494A85495C8A4991CDFC90B54886A2484A1B7FA2481E3F5D481E1F5D5A
1F0FA2485CA3481E075DA2F703F0489BC7FCA45DA2B6FCB27EA281A47EA2F703F06FF307
F87EA36C80A21F0F7E6F1CF07E6F1B1F7E20E06C6E1B3F816DF57FC06D80F7FF806D806D
6E4F13006D6E616D525A826D6E4F5A6D6E4F5A6E6D6C4E5A021F6EF0FFE06E6E4D5B6E02
F84D5B6E02FE050F90C7FC02006E6CEE3FFE6F02F0EEFFFC031F02FE03035B6FDAFFC002
1F13E0030303FF0103B55A030093B7C8FC043F18FC040718F0040118C0DC003F94C9FC05
0316F8DD003F1580DE007F01F0CAFC757A75F78C>I<BA00E0031FB712FCA8C7003F0280
CB000F0280C7FC0C0001F0C8FC545B545B0C0F5B5490C9FCF63FFC545A545A535B0B075B
535B5348CAFC535A535A535A0A035B525B5290CBFC525A525A525A51485A515B51138051
90CCFC515A515AF3FFF8505B5013C0505B5090CDFC505AF27FFC505A4F13E04F5B4F7F4F
7F073F7F6196B57E4E804E80604E81063F814E8195B7FC058182058301DF800587018F80
059F1307DDBFFC819426FFF803804E6C814E7E4E824E6D804DC76C804D804D834D6E804D
6E804D804D8374817481878A75807580878A75807580878B75818876808B76808876808B
7680888C76817780898C77807780898C77807781890B0315E0BA00E0021FB91280A88976
7AF598>75 D<92383FFFF80207B612E0027F15FC49B87E010717E0011F83499026F0007F
13FC4948C7000F7F90B502036D7E486E6D806F6D80727F486E6E7F8486727FA28684A26C
5C72806C5C6D90C8FC6D5AEB0FF8EB03E090CAFCA70507B6FC041FB7FC0303B8FC157F02
03B9FC021FECFE0391B612800103ECF800010F14C04991C7FC017F13FC90B512F04814C0
485C4891C8FC485B5A485B5C5A5CA2B5FC5CA360A36E5DA26C5F6E5D187E6C6D846E4A48
806C6D4A4814FC6C6ED90FF0ECFFFC6C02E090263FE07F14FE00019139FC03FFC06C91B6
487E013F4B487E010F4B1307010303F01301D9003F0280D9003F13FC020101F8CBFC5750
7ACE5E>97 D<93387FFF80030FB512FC037FECFF804AB712E0020716F8021F16FE027FD9
F8077F49B5D8C000804991C7003F13E04901FC020F7F49496E7F49498049496E7F49496E
7F90B55A48727E92C914804884485B1BC048841BE0485BA27313F05AA25C5AA21BF885A2
B5FCA391BAFCA41BF002F8CCFCA67EA3807EA47E806CF103F0F207F86C7F1A0F6C6E17F0
6C191F6F17E06C6E163F6D6DEE7FC06D6D16FF6D6D4B13806D6D4B13006D6D6CEC0FFE6D
02E0EC3FFC6D02F8ECFFF86D9126FFC00F5B023F91B65A020F178002034CC7FC020016F8
031F15E0030392C8FCDB000F13E04D507BCE58>101 D<F37F80922607FFFC913807FFE0
92B600E0011F13F8020703FC017F13FC021FDBFF01B512FE027F16C349B800F7EBBFFF49
DA803F9038FFF83F010F9026FC000714C04901F00101EC007F49496D148049496E6D7E90
B517E04B6E15FE48F1F01F4891C86C9038F80FFCF307F098C7FC48496F7FA34885AB6C61
A36C6D4B5BA36C6E4A5B6C616F5C6D606D6D91B55A6D6D4991C8FC6D01FC01075B9226FF
803F13F893B65A4917C0D93F1F93C9FC020715FCD97E0015E0030701FCCAFC01FE90CDFC
A412017FA280A280808014FE6C90B812C019FF1AF01AFC6DF0FF801BE06D851BFC6D856D
856D1A806D1AC05B011F1AE0137F48BC12F0000701FCC9FC4801E0040314F84849EE007F
4849171F91CB1207487313FC5B00FF855B86A56D60007F1BF86D60A26C6D4D13F06E5F6C
6D4D13E06C6D4D13C06C01FC94B512806C01FF04031400C602C0030F13FC6D01F8037F5B
011FD9FFE0011FB512E0010791B8128001014EC7FC6D6C17F8020F17C0DA007F03F8C8FC
03014AC9FC58727BCE61>103 D<903801FFFCB6FCA8C67E131F7FB3AD95380FFFE095B5
12FE05036E7E050F15E0053F15F84D81932701FFF01F7F4CD900077FDC07FC6D80DC0FF0
6D80DC1FC07F4C48824CC8FC047E6F7F5EEDFDF85E03FF707F5EA25EA25EA293C9FCA45D
B3B3A6B8D8E003B81280A8617879F76C>I<EB01FCEB07FF011F13C0497F497F90B57EA2
4880A24880A76C5CA26C5CA26D5B6D5B6D5B010790C8FCEB01FC90CAFCB2903801FFFC00
7FB5FCA8C67E131F7FB3B3B3A5B81280A8297979F835>I<903801FFFCB6FCA8C67E131F
7FB3B3B3B3B3ABB812C0A82A7879F735>108 D<902601FFF891380FFFE0B692B512FE05
036E7E050F15E0053F15F84D81932701FFF01F7F4CD900077FDC07FC6D80C66CDA0FF06D
80011FDA1FC07F6D4A48824CC8FC047E6F7F5EEDF9F85E03FB707F5E15FF5EA25EA293C9
FCA45DB3B3A6B8D8E003B81280A8614E79CD6C>110 D<902601FFFCEC7FFEB6020FB512
F0057F14FE4CB712C0040716F0041F82047F16FE93B5C66C7F92B500F0010F14C0C66C03
80010380011F4AC76C806D4A6E8004F06F7F4C6F7F4C6F7F4C8193C915804B7014C0861D
E0A27414F0A27414F8A47513FCA57513FEAF5113FCA598B512F8A31DF0621DE0621DC062
1D806F5E701800704B5B505B704B5B7092B55A04FC4A5C704A5C706C010F5C05E0013F49
C7FC9227FE7FFC01B55A70B712F0040F16C0040393C8FC040015F8053F14C0050301F0C9
FC94CCFCB3A6B812E0A85F6F7ACD6C>112 D<15FFA75CA55CA45CA25CA25CA25CA25C91
B5FCA25B5B5B131F5B90B9FC120FBAFCA6D8000791C9FCB3B3A3F01FE0AE183F7014C07F
187F7014806D16FF826D4B13006E6D485AEEFE0F6E90B55A020F5D6E5D020115C06E6C5C
031F49C7FC030113F03B6E7CEC4B>116 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fs cmbx10 10.95 52
/Fs 52 128 df<EDFFF8020F13FF027F8049B612E001079038C01FF090390FFE0007D91F
F8497ED93FE0131F4948497E13FF5C5A91C7FCA2705A705AEE03C093C8FCA6EE03FCB8FC
A50001903880001F160FB3AB007FD9FE03B512F0A534407EBF3A>12
D<DBFFF8903807FFC0021F01FE017F13F8027FD9FF83B57E49B600CF14FF01079028C03F
FFFE007F90270FFE000F01F0133FD91FF84901C0497ED93FE04990C712FF49484A497F13
FF4A495A5A91C76C5AA2041F6E5B040F6F5A081EC7FC97C8FCA6F21FE0BCFCA500019027
80000FFCC7FC1A7FB3AB007FD9FE03B5D8F01FB51280A551407EBF57>14
D<EC0780140F141FEC3E0014FE495A495A5C495A130F495A495AA249C7FC5B5B1201485A
A212075BA2120F5B121FA3485AA4127F5BA512FFB0127FA57F123FA46C7EA3120F7F1207
A27F1203A26C7E12007F7F6D7EA26D7E6D7E13076D7E806D7E6D7E143EEC1F80140F1407
195A77C329>40 D<127012F8127C7EEA3F806C7E6C7E12076C7E7F6C7E6C7EA2137F8013
3F806D7EA280130FA280130780A36D7EA4807FA51580B01500A55B5CA4495AA35C130F5C
A2131F5CA2495A5C137F91C7FC13FEA2485A485A5B485A120F485A485A003EC8FC5A5A12
70195A7AC329>I<B612E0A91B097F9823>45 D<EA0FC0EA1FE0EA3FF0EA7FF8EAFFFCA6
EA7FF8EA3FF0EA1FE0EA0FC00E0E798D1D>I<140F143F5C495A130F48B5FCB6FCA313F7
EAFE071200B3B3A8007FB612F0A5243C78BB34>49 D<903803FF80013F13F890B512FE00
036E7E4881260FF80F7F261FC0037F4848C67F486C6D7E6D6D7E487E6D6D7EA26F1380A4
6C5A6C5A6C5A0007C7FCC8FC4B1300A25E153F5E4B5AA24B5A5E4A5B4A5B4A48C7FC5D4A
5AEC1FE04A5A4A5A9139FF000F80EB01FC495A4948EB1F00495AEB1F8049C7FC017E5C5B
48B7FC485D5A5A5A5A5AB7FC5EA4293C7BBB34>I<903801FFE0010F13FE013F6D7E90B6
12E04801817F3A03FC007FF8D807F06D7E82D80FFC131F6D80121F7FA56C5A5E6C48133F
D801F05CC8FC4B5A5E4B5A4A5B020F5B902607FFFEC7FC15F815FEEDFFC0D9000113F06E
6C7E6F7E6F7E6F7E1780A26F13C0A217E0EA0FC0487E487E487E487EA317C0A25D491580
127F49491300D83FC0495A6C6C495A3A0FFE01FFF86CB65A6C5DC61580013F49C7FC0103
13E02B3D7CBB34>I<ED01F815031507A2150F151F153FA2157F15FF5C5CA25C5CEC1FBF
EC3F3F143E147C14FCEB01F814F0EB03E01307EB0FC0EB1F801400133E137E5B485A5B48
5A1207485A5B48C7FC5A127E5AB812F8A5C8387FF800AA49B612F8A52D3C7DBB34>I<00
071538D80FE0EB01F801FE133F90B6FC5E5E5E5E93C7FC5D15F85D15C04AC8FC0180C9FC
A9ECFFC0018713FC019F13FF90B67E020113E09039F8007FF0496D7E01C06D7E5B6CC77F
C8120F82A31780A21207EA1FC0487E487E12FF7FA21700A25B4B5A6C5A01805C6CC7123F
6D495AD81FE0495A260FFC075B6CB65A6C92C7FCC614FC013F13F0010790C8FC293D7BBB
34>I<EC07FF023F13C049B512F001078049EB03FC90383FF80090397FE001FE9038FFC0
034849487E48495AA2485A120FA2485A6F5A003F6E5A6F5A92C8FC485AA21402EC3FFE00
FF496C7E01F9B512E001FB809138E03FF89039FF800FFC4A6C7E825B6F13804915C0A317
E05BA4127FA5123FA26D15C0121FA2000F4A13806D150012076C6C495A6C6D485A6C9038
E07FF86DB55A6D5C6D1480010749C7FC010013F02B3D7CBB34>I<121F7F13F890B712F0
A45A17E017C0178017005E5E5A007EC7EA01F84B5A007C4A5A4B5A4B5A93C7FC485C157E
5DC7485A4A5AA24A5A140F5D141F143F5D147FA214FF92C8FC5BA25BA3495AA3130FA513
1FAA6D5A6D5A6D5A2C3F7ABD34>I<ECFFF0010713FE011F6D7E017F14E09039FFC07FF0
3A01FE001FF848486D7E48486D7E1503485A8281121FA27F7F7F6D5B02C05B14F06C6D48
5A9138FE0FF89138FF9FF06CECFFE06C5D5E6C92C7FC6C816D14E0011F80498090B67E48
812607FE3F7F48486C1480381FF807D9F00114C048486C7E007F8049010F13E015034848
7F81167FA2163FA36D15C0127FEE7F807F6C6CECFF006C6C5B01FEEB07FE3A0FFFC03FFC
6C90B55A000115E06C6C5C011F49C7FC010113F02B3D7CBB34>I<903801FFE0010F13FC
013F13FF90B612C04801E07F489038003FF048486D7E000F6E7E485A6F7E123F48488081
178012FFA217C0A517E0A4007F5CA4003F5C6C7E5D6C7E00075C3903FF80FB6C13FF6C6C
13F36D13C3010F018313C090380008031400A24B1380EA03F0487E486C1500487E4B5AA2
5E151F4B5A495C6C48EBFFE049485B2607FC0F5B6CB6C7FC6C14FC6C14F06D13C0D90FFE
C8FC2B3D7CBB34>I<16FCA24B7EA24B7EA34B7FA24B7FA34B7FA24B7FA34B7F157C03FC
7FEDF87FA2020180EDF03F0203804B7E02078115C082020F814B7E021F811500824A8102
3E7F027E81027C7FA202FC814A147F49B77EA34982A2D907E0C7001F7F4A80010F835C83
011F8391C87E4983133E83017E83017C81B500FC91B612FCA5463F7CBE4F>65
D<B812F8EFFF8018F018FC8426003FFCC7EA3FFF050F13807113C07113E08319F0A27113
F8A719F05FA24D13E019C04D13804D1300EF3FFE933801FFF891B712E0188018F818FE02
FCC7380FFF80050313C07113E07113F019F8F07FFCA2F03FFEA219FFA38460A419FE187F
A2F0FFFC4D13F85F4D13F0053F13E0BA12C0190018FC18F095C7FC403E7DBD4A>I<9226
07FFC0130E92B500FC131E020702FF133E023FEDC07E91B7EAE1FE01039138803FFB4990
39F80003FF4901C01300013F90C8127F4948151FD9FFF8150F48491507485B4A15034817
01485B18004890CAFC197E5A5B193E127FA349170012FFAC127F7F193EA2123FA27F6C18
7E197C6C7F19FC6C6D16F86C6D150119F06C6D15036C6DED07E0D97FFEED0FC06D6CED3F
80010F01C0ECFF006D01F8EB03FE6D9039FF801FFC010091B55A023F15E0020715800200
02FCC7FC030713C03F407ABE4C>I<B812F8EFFF8018F018FC18FF26003FFCC76C13C005
077F05017F716C7E727E727E727E721380A27213C0A27213E0A21AF084A21AF8A41AFCA5
197FA319FFA51AF8A41AF0A2601AE0A24E13C0A24E13804E1300604E5A4E5A4D485A0507
13E0057F5BBA5A4EC7FC18F818C005F8C8FC463E7DBD50>I<BAFCA4198026003FFEC712
3F1707170183183FA2181FF00FC0A31807EE07C0A3F003E0A3160F95C7FC161F163F16FF
91B6FCA54AC6FC163F161F040F147CA2160719F8A593C71201A219F01803A21807A2180F
F01FE0183F18FF1703173FBAFCA219C0A33E3D7DBC45>I<922607FFC0130E92B500FC13
1E020702FF133E023FEDC07E91B7EAE1FE01039138803FFB499039F80003FF4901C01300
013F90C8127F4948151FD9FFF8150F48491507485B4A1503481701485B18004890CAFC19
7E5A5B193E127FA34994C7FC12FFAB0407B612FC127F7FA3003F92C7383FFE00A27F7EA2
6C7FA26C7F6C7FA26C7F6C7FD97FFE157F6D6C7E010F01E014FF6D01F813036D9038FF80
1F010091B512F3023F15C00207ED803E02009138FE000E030701E090C7FC46407ABE52>
71 D<B7D8803FB612E0A526003FFEC8000FEB8000B3A491B9FCA54AC8120FB3A7B7D880
3FB612E0A54B3E7DBD52>I<B71280A526003FFEC7FCB3B3B0B71280A5213E7DBD28>I<B7
6C90B6FCA526003FFEC8D801FCC7FCF007F84E5A4E5AF03F804EC8FC18FEEF03FC4D5A4D
5AEF1FC04D5A4DC9FCEE01FE4C5A4C5AEE0FE04C5A4C5A16FF4B7F4B7F5D4B7F4B7F037F
7F92B5FC6E486C7E9238F83FFF03F0804B7E4B6C7F4B6C7F0300804A7F707F707F84717E
83717F85717F83717F85717F83727E85727F84B7D88007B612C0A54A3E7DBD52>75
D<B712E0A526003FFEC9FCB3AD183EA4187E187CA418FCA21701A2EF03F8A21707170F17
1F177FEE01FF160FB9FC18F0A4373E7DBD3F>I<B6051FB512C06F5EA26F5EA2D8003F97
C7FC6F16F7A26E6CED01E7A26E6CED03C7A36E6CED0787A26E6CED0F07A26E6C151EA36E
6D143CA26E6D1478A26E6D14F0A26F6CEB01E0A36F6CEB03C0A26F6CEB0780A26F6CEB0F
00A36F6C131EA26F6D5AA26F6D5AA26F6D5AA393387FF1E0A293383FFBC0A270B45AA370
90C7FCA2705AA2705AB600C0031FB612C0A2705AA2705A5A3E7CBD63>I<B812F017FF18
C018F018FC26003FFCC77FEF1FFF7113807113C07113E0A27113F0A319F8A819F0A34D13
E019C05F4D1380053F1300EFFFFE91B712F860188005FCC7FC4ACAFCB3A4B77EA53D3E7D
BD47>80 D<903A03FFC001C0011FEBF803017FEBFE0748B6128F4815DF48010013FFD80F
F8130F48481303497F4848EB007F127F49143F161F12FF160FA27F1607A27F7F01FC91C7
FCEBFF806C13F8ECFFC06C14FCEDFF806C15E016F86C816C816C816C16806C6C15C07F01
0715E0EB007F020714F0EC003F1503030013F8167F163F127800F8151FA2160FA27EA217
F07E161F6C16E06D143F01E015C001F8EC7F8001FEEB01FF9026FFE00713004890B55A48
6C14F8D8F81F5CD8F00314C027E0003FFEC7FC2D407ABE3A>83 D<B600FC020FB512C0A5
C66C48C9381F8000013F95C7FC80616D173E6F157E6D177C6F15FC6D5F8118016D6D5D18
036D5F6F14076D5F6F140F027F5E81181F023F93C8FC6F5C6E153E70137E6E157C8218FC
6E6D5B17016E5DEEF0036E5DEEF8076E5D16FC170F037F5CEEFE1F033F91C9FC705A6F13
3E17BE17FE6F5BA26F5BA26F5BA26F5BA36F5BA2705AA270CAFCA24A3F7EBD4F>86
D<903807FFC0013F13F848B6FC48812607FE037F260FF8007F6DEB3FF0486C806F7EA36F
7EA26C5A6C5AEA01E0C8FC153F91B5FC130F137F3901FFFE0F4813E0000F1380381FFE00
485A5B485A12FF5BA4151F7F007F143F6D90387BFF806C6C01FB13FE391FFF07F36CEBFF
E100031480C6EC003FD91FF890C7FC2F2B7DA933>97 D<13FFB5FCA512077EAFEDFFE002
0713FC021FEBFF80027F80DAFF8113F09139FC003FF802F06D7E4A6D7E4A13074A807013
80A218C082A318E0AA18C0A25E1880A218005E6E5C6E495A6E495A02FCEB7FF0903AFCFF
01FFE0496CB55AD9F01F91C7FCD9E00713FCC7000113C033407DBE3A>I<EC7FF00107B5
FC011F14C0017F14E09039FFF01FF0489038800FF848EB001F4848EB3FFC120F485AA248
5AA2007FEC1FF849EB0FF0ED03C000FF91C7FCAB127F7FA3003F153E7F001F157E6C6C14
7C6C6C14FC91388001F86C9038C003F0C69038F81FE06DB512C0011F14800107EBFE0090
38007FF0272B7DA92E>I<EE07F8ED07FFA5ED003F161FAFEC7FF0903807FFFE011FEBFF
9F017F14DF9039FFF01FFF48EBC00348EB00014848EB007F485A001F153F5B123FA2127F
5BA212FFAA127FA37F123FA26C6C147F120F6D14FF6C6C01037F6C6D48EBFFE06CEBF03F
6C6CB512BF6D143F010713FC010001E0EBE00033407DBE3A>I<ECFFF0010713FE011F6D
7E017F809039FFE07FE0489038801FF048496C7E48486D7E48486D7E121F491301003F81
A2485A6F1380A212FFA290B7FCA401F0C9FCA5127FA27F123FEE0F806C7E161F6C6C1500
6C6C5C6C6D137E6C9038E001FC6C9038F80FF8013FB55A6D14C0010391C7FC9038007FF8
292B7DA930>I<903A03FF8007F0013F9038F83FF8499038FCFFFC48B712FE48018313F9
3A07FC007FC34848EB3FE1001FEDF1FC4990381FF0F81700003F81A7001F5DA26D133F00
0F5D6C6C495A3A03FF83FF8091B5C7FC4814FC01BF5BD80F03138090CAFCA2487EA27F13
F06CB6FC16F016FC6C15FF17806C16C06C16E01207001F16F0393FE000034848EB003F49
EC1FF800FF150F90C81207A56C6CEC0FF06D141F003F16E001F0147FD81FFC903801FFC0
2707FF800F13006C90B55AC615F8013F14E0010101FCC7FC2F3D7DA834>103
D<13FFB5FCA512077EAFED1FF8EDFFFE02036D7E4A80DA0FE07F91381F007F023C805C4A
6D7E5CA25CA35CB3A4B5D8FE0FB512E0A5333F7CBE3A>I<EA01F8487E487E487E481380
A66C13006C5A6C5A6C5AC8FCA913FFB5FCA512077EB3ABB512F8A515407CBF1D>I<13FF
B5FCA512077EB092380FFFFEA5DB01FEC7FC4B5AED07F0ED1FE04B5A4B5A4BC8FCEC03FC
4A5A4A5A141F4A7EECFFFCA2818102E77F02C37F148102007F826F7E6F7E151F6F7E826F
7F6F7F816F7FB5D8FC07EBFFC0A5323F7DBE37>107 D<13FFB5FCA512077EB3B3AFB512
FCA5163F7CBE1D>I<01FFD91FF8ECFFC0B590B5010713F80203DAC01F13FE4A6E487FDA
0FE09026F07F077F91261F003FEBF8010007013EDAF9F0806C0178ECFBC04A6DB4486C7F
A24A92C7FC4A5CA34A5CB3A4B5D8FE07B5D8F03FEBFF80A551297CA858>I<01FFEB1FF8
B5EBFFFE02036D7E4A80DA0FE07F91381F007F0007013C806C5B4A6D7E5CA25CA35CB3A4
B5D8FE0FB512E0A533297CA83A>I<EC7FF0903803FFFE011FEBFFC0017F14F09039FFE0
3FF8489038800FFC3A03FE0003FE48486D7E000F168048486D13C0A2003F16E049147F00
7F16F0A400FF16F8AA007F16F0A46C6CECFFE0A2001F16C06C6C491380A26C6C4913003A
03FF800FFE6C9038E03FFC6C6CB512F0011F14C0010791C7FC9038007FF02D2B7DA934>
I<01FFEBFFE0B5000713FC021FEBFF80027F80DAFF8113F09139FC007FF8000701F06D7E
6C496D7E4A130F4A6D7E1880A27013C0A38218E0AA4C13C0A318805E18005E6E5C6E495A
6E495A02FCEBFFF0DAFF035B92B55A029F91C7FC028713FC028113C00280C9FCACB512FE
A5333B7DA83A>I<3901FE01FE00FF903807FF804A13E04A13F0EC3F1F91387C3FF80007
13F8000313F0EBFFE0A29138C01FF0ED0FE091388007C092C7FCA391C8FCB3A2B6FCA525
297DA82B>114 D<90383FFC1E48B512BE000714FE5A381FF00F383F800148C7FC007E14
7EA200FE143EA27E7F6D90C7FC13F8EBFFE06C13FF15C06C14F06C806C806C806C80C615
80131F1300020713C014000078147F00F8143F151F7EA27E16806C143F6D140001E013FF
9038F803FE90B55A15F0D8F87F13C026E00FFEC7FC222B7DA929>I<EB07C0A5130FA413
1FA3133F137FA213FF5A1207001FEBFFFEB6FCA40001EBC000B3151FA96CEBE03EA2017F
137EECF8FC90383FFFF86D13F0010713E001001380203B7EB929>I<D9FF80EB0FF8B5EB
0FFFA50007EC007F6C153FB3A5167FA316FF6C5C4B7F6C903AC007DFFFE09138F01F9F6D
B5121F6D13FE010F13F8010101E0EBE000332A7CA83A>I<B500FC90383FFFC0A5000101
C0903803E0006E1307A26C5E6E130F017F5D6E131F013F92C7FC6E5B011F143E6E137E01
0F147C6E13FCA26D5C15816D5C15C36D5C15E76D5C15FF6E5BA36E90C8FCA26E5AA26E5A
A26E5AA26E5AA232287EA737>I<B53CFC3FFFFC03FFFEA50003D980009039C0000F806E
161F6C037F15006E496C5B6C183E836E48157E017F177C6E486D13FC013F02EF5C83DAFC
071401011F02C75CDAFE0FEBFE03010F02835C17FFDAFF1F14076D02015C03BF148F6DD9
BE005C18CF03FE14DF6D49017F90C7FC18FF6D496D5AA36E486D5AA26E486D5AA36E486D
5AA26E486D5A47287EA74C>I<B500FC90383FFFC0A5000101C0903803E0006E1307A26C
5E6E130F017F5D6E131F013F92C7FC6E5B011F143E6E137E010F147C6E13FCA26D5C1581
6D5C15C36D5C15E76D5C15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E5AA35D14075D
000E130FD83F805B387FC01FD8FFE090C9FC5C143E147E5CEBC1F8387FC3F0387E0FE06C
B45A6C5B6C48CAFCEA03F8323B7EA737>121 D<003FB612F8A4D9F80113F001C014E049
5A494813C04A1380007E15005C4A5A007C5C147F4A5A495B5DC65A495B495BA249EB007C
495A5C137F494813FC484913F85C5A48EBC00114804814034813004848130749131F007F
ECFFF0B7FCA426287DA72E>I<D80F8013F8391FE003FC486C487E007F80486C481380A5
6C486C1300003F5C6C486C5A390F8000F8210D77BF34>127 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ft cmcsc10 10.95 51
/Ft 51 128 df<130FEB1F80133F137F13FF4813005B485A485A485AEA1FC05B48C7FC12
7C5A5A126011116CBE32>19 D<140C141C147814F0EB01E0EB03C0EB0780130F1400131E
133E5B137813F85B1201485AA212075BA2485AA2121FA290C7FC5AA3123E127EA65AB212
7EA6123E123FA37E7FA2120FA26C7EA27F1203A26C7E12007F1378137C7F131E7F148013
07EB03C0EB01E0EB00F01478141C140C165A76C328>40 D<12C07E12787E7E7E6C7E7F12
036C7E7F6C7E1378137C133C133E7FA21480130FA2EB07C0A214E0A2130314F0A3130114
F8A6EB00FCB2EB01F8A614F01303A314E01307A214C0A2EB0F80A2131F1400A2133E133C
137C137813F8485A5B485A12075B48C7FC121E5A5A12E05A165A7AC328>I<121EEA7F80
12FF13C0A213E0A3127FEA1E601200A413E013C0A212011380A2120313005A120E5A1218
127812300B1C77891D>44 D<B6FCA618067E9622>I<121EEA7F80A2EAFFC0A4EA7F80A2
EA1E000A0A77891D>I<ED03C0A34B7EA24B7EA34B7EA3ED3BFCA3ED71FEA2EDF1FF15E0
A2020180EDC07FA2DA03807F163FA24A486C7EA24A80020E130FA2021E80021C1307A202
3C8002381303A24A6D7EA34A6D7EA249B77EA3D903C0C76C7E4A143FA249C87F171FA201
0E6F7EA2011E82011C1507A2013C820138150313788401FC1501486C4B7ED80FFF030F13
80B500F049B6FCA340417CC04A>65 D<B712FEEEFFC017F80001903980000FFC6C6CC7EA
01FF707F717E717E717EA2717EA284A31707170FA360A24D5A173F604D5A4D5ADC03FEC7
FC4C5AEE7FF091B6128017F891C7EA01FE9338007F80717EEF1FF0717E717EA2717E8483
A21980A719005F6017074D5A60171FEF7FF0EFFFC048486C01075BB848C7FC17F8178039
3E7BBD46>I<DB1FF8EB01804AB5EA8003020FECE007913A3FF803F80F9139FF80007C49
48C7EA1E1FD907FCEC0FBFD90FF0EC07FF49488049488049488049C9127F4848163F1203
49161F12074848160FA2485A1807123F5B1803127FA34993C7FC12FFAC127F7FF00380A2
123FA27F001F170719006C7EA26C6C5E0003170E6D161E0001171C6C6C163C6D6C5D6D6C
5D6D6C4A5A6D6C4A5AD907FC4A5AD901FE021FC7FC902600FFC0137E91393FF803F8020F
B512E0020114809126001FFCC8FC39427ABF47>I<B712FCEEFFC017F000019039C0001F
FC6C6C48EB01FF706C7EEF3FE0EF0FF0717E717E717E170084F07F80A2F03FC019E0181F
A219F0A2F00FF8A519FCAB19F8A4F01FF0A319E0183F19C0A2F07F801900604D5A4D5A4D
5A4D5A4D5AEF7FC04C48C7FC48486CEB0FFEB812F817C004FCC8FC3E3E7BBD4B>I<B912
F8A3000101C0C7127F6C6C48140FEF03FC17011700187C183CA3181CA4181E040E130EA4
95C7FCA2161EA2163E167EED01FE91B5FCA3EC8001ED007E163E161EA2160EA2F00380A3
F0070093C7FCA460180EA2181EA2183EA26018FC17011703170F48486C14FFB95AA3393E
7CBD43>I<DB1FF8EB01804AB5EA8003020FECE007913A3FF803F80F9139FF80007C4948
C7EA1E1FD907FCEC0FBFD90FF0EC07FF49488049488049488049C9127F4848163F120349
161F12074848160FA2485A1807123F5B1803127FA34993C7FC12FFAB0407B512FE127F7F
DC000113C09438007F80123FA27F121FA26C7EA26C7E12037F6C7E7E6D6C15FF6D7E6D6C
5C6D7ED907FCEC03DFD901FFEC0F8F6D01C0EB3F07913A3FF801FC03020FB5EAF0010201
02C0C7FC9126001FFCC8FC3F427ABF4D>71 D<B6D8C00FB512FCA3000101E0C7381FFE00
26007F80EC07F8B3A691B7FCA30280C71207B3A92601FFE0EC1FFEB6D8C00FB512FCA33E
3E7BBD4A>I<B612F0A3C6EBF000EB3FC0B3B3B2EBFFF0B612F0A31C3E7CBD25>I<0107B6
FCA3D9000113C06E1380157FB3B3A6123F487E487EA4EDFF005B6CC75A007C1301003849
5A003C5C6C495A6C6C485A3903E03F802600FFFEC7FCEB1FF028407BBD34>I<B600C001
1FB5FCA3000101E0C7000313E026007F806E90C7FC18FC6060EF03C04D5A4DC8FC171E5F
5F5FEE03E04C5A4C5A4CC9FC163E5E5EED01E04B5A15074B7E151F4B7EEDFFF814819138
83E7FC913887C3FEEC8F8391389F01FFDABE007F02FC8002F0137F4A6D7E4A6D7E5C707E
707EA2707E707E8482717E717EA2717E717EA2717E717E84A219C02601FFE04A7FB600C0
017FEBFF80A3413E7BBD4D>I<B612F0A3000101E0C9FC38007F80B3B0EF01C0A5170318
80A41707A3170FA2171F173F177FEFFF00160348486C133FB9FCA3323E7BBD3E>I<B500
C093380FFFFCA26E5E0001F1FE00D8007F18F8D977F0163BA2D973F81673A3D971FC16E3
A2D970FEED01C3A3027FED0383A26E6CEC0703A36E6C140EA26E6C141CA36E6C1438A26E
6C1470A36E6C14E0A26E6CEB01C0A3037FEB0380A292393F800700A392381FC00EA26F6C
5AA36F6C5AA26F6C5AA36F6C5AA26FB45AA3705A13F8486C6EC7FCD807FFEF0FFEB500F8
0307B512FC161EA24E3E7BBD5A>I<B56C91387FFFFC8080D8007F030313806E913800FE
006E157C1838EB77FCEB73FE80137101707F6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7EA2
6E7F6F7EA26F7E6F7EA26F7E6F7E8215036F7E6F1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8
A2EE07FCEE03FEA2EE01FF7013B8A2EF7FF8173FA2171F170F1707A2170301F81501487E
D807FF1500B500F81578A218383E3E7BBD4A>I<ED3FF80203B57E91390FE00FE091397F
0001FC02FCEB007ED903F86E7E49486E7ED90FC0EC07E0D93F80EC03F8017F8291C81201
01FE6F7E4848167F000318804848EE3FC0A2000F18E049161F001F18F0A24848EE0FF8A3
007F18FC491607A300FF18FEAC007F18FC6D160FA3003F18F8A26D161F001F18F0A26C6C
EE3FE0A2000718C06D167F000318806C6CEEFF006C6C4B5AA26D6C4A5A6D6C4A5A6D6C4A
5AD907F0EC1FC06D6C4A5AD900FE02FEC7FC91397F8003FC91391FE00FF00203B5128091
26003FF8C8FC3F427ABF4D>I<B712FCEEFFC017F000019039C0000FFC6C6C48EB01FF70
1380EF3FC0EF1FE018F0EF0FF8A2EF07FCA218FEA718FCA3EF0FF8A2EF1FF018E0EF3FC0
EFFF80933801FE00EE1FFC91B612E017800280C9FCB3A73801FFE0B612C0A3373E7CBD43
>I<B712E016FE707E00019039C0007FF06C6C48EB0FF8EE03FE707E707F717E717EA284
171F84A760173F60604D5A4DC8FC4C5A4C5AEE0FF0EE7FC091B500FEC9FC16F891388000
FEEE3F80EE0FE0707E707E83160183160083A384A484A4725AF10380A2177F18F0053FEB
07002601FFE015F8B600C0011F5B94380FFC0E943803FE1CCBEAFFF8F01FE041407BBD49
>82 D<D903FE130690391FFFC00E017FEBF81E3901FE01FC3A03F0003F3E4848EB0FFE48
4813074848130390C71201003E1400007E157EA2007C153E12FCA2161EA36C150EA27E7F
007F92C7FC7F13F0EA3FFCEBFFC06C13FC6CEBFFC06C14FC6C14FF6C15C06C6C80011F80
010380D9003F7F02037F9138003FFF15070301138081167F17C0163F00E0151FA3160FA2
7EA36C1680161F7E17006C5D6C153E6D5C6D14FCD8FDF0495AD8F8FC495A3AF07FC01FC0
011FB55AD8E00349C7FC39C0003FF02A427ABF38>I<003FB912E0A3903BF0003FF0007F
01806D48130F48C7ED07F0007E1703007C170100781700A300701870A5481838A5C81600
B3B14B7E4B7E0103B7FCA33D3D7CBC47>I<B600C090387FFFFCA3000101E0C700031380
26007F80913800FE00187C1838B3B3A4013F16786E1570A218F0011F5E6E1401010F5E6D
6C1403606D6C14076D6C4AC7FC6D6C141E027F147C91393FC001F891390FF00FE00203B5
5A020049C8FCED1FF03E407BBD4A>I<B64AB512C0A3000301E09139003FFC00C60180ED
0FF0725A017F5F616D7E96C7FC6E5D011F160EA26D6C5DA26E153C01071638A26E157801
0316706E15F001015EA26E14016D5E81027F4A5AA26F1307023F92C8FC81021F140EA26F
131E020F141C8102075CA26F137802031470A26E6C5BA2EDFF016E5CA292387F8380A216
C7033F90C9FCA216EFED1FEE16FE6F5AA36F5AA26F5AA36F5AA242407DBD4A>I<EC01E0
A24A7EA34A7EA34A7EA24A7E141CA2EC3CFFEC387FA24A6C7EA34A6C7EA2010180ECC00F
A249486C7EA349486C7EA24980010E1301010FB5FC4980A2011CC7FC49147FA201788101
70143FA201F08149141F1201486C811207486CEC3FF8D8FFFE49B512C0A332317DB038>
97 D<B612FEEDFFC016F03A03FC0007F86C48EB01FE1500167F1780163F17C0A6178016
7F170016FE4B5AED07F0ED7FE090B6128016F09039F80001FC6F7EEE7F80163FEE1FC017
E0160F17F0A617E0161FA2EE3FC0EE7F80923801FF00486CEB07FEB712F85E93C7FC2C2F
7CAE35>I<DA0FF81330DA7FFF13700103B5EAC0F090390FFC03F190391FE000F9D97F80
133F01FEC7121F4848140F48481407485A000F1503491401121F491400123F5B127F1770
A248C9FC1700AA6C6C1570A3123F6D15F0121F6D15E0000F15016D15C0000715036C6C15
806C6C14076C6CEC0F00D97F80133ED91FE05B90390FFC03F00103B55AD9007F1380DA0F
F8C7FC2C317BAF36>I<B612FCEDFFC016F03A03FE000FF86C48EB01FEED007FEE3F80EE
1FC0EE0FE0EE07F0160317F8160117FCA2EE00FEA417FFAA17FEA3EE01FCA3EE03F817F0
1607EE0FE017C0EE3F80EE7F00ED01FE486CEB0FFCB712F016C04BC7FC302F7CAE39>I<
B8FCA33903FE00016C489038003F80161F160F1607A21603A317C0ED1C01A393C7FCA215
3CA215FC90B5FCA3EBFC00153CA2151CA21770A392C712E0A41601A2EE03C0A21607160F
161F486C14FFB81280A32C2F7CAE33>I<B712FEA33903FE00036C48EB007F828282A282
A3EE0380A21538A293C7FCA31578A2EC01F890B5FCA3EBFC01EC0078A21538A592C8FCAA
487EB512FCA3292F7CAE31>I<DA0FF81360DAFFFE13E00103EBFF8190390FF807E39039
3FC000F34948137F01FEC7123F4848141F4848140F48481407120F491403485A003F1501
A25B007F1500A348C9FC1700A8031FB5FCA26C7E9238001FF0EE0FE0123F7FA26C7E120F
7F12076C7E6C7E6C6C141FD97F80133FD93FE0137B90390FFC03F10103B512E00100EC80
60DA0FFCC7FC30317BAF3A>I<B5D8F81FB5FCA3D803FEC7EA7FC06C48EC3F80B190B7FC
A301FCC7123FB3486CEC7FC0B5D8F81FB5FCA3302F7CAE38>I<B512F8A33803FE006C5A
B3B3A3487EB512F8A3152F7DAE1B>I<90383FFFFCA39038007FC0EC3F80B3AD1218127E
B4FCA3EC7F005A007C137E007813FE383C01F8381F03F03807FFC0C648C7FC1E307CAE27
>I<B500F890383FFF80A3D803FEC7381FFC006C4815E0178094C7FC163E16785E4B5A4B
5A4B5A031FC8FC153E5D5D4A5A4A5A4A7E140F4A7E4A7E147BECF1FE9038FDE0FF9039FF
C07F8014804A6C7E496D7E5B6F7E6F7E1503826F7E6F7EA2707E707E83161F83486CEC3F
FCB500F890B512C0A3322F7CAE3A>I<B512FCA3D803FEC8FC6C5AB3A7160EA4161CA416
3CA2167C16FC1501ED03F8486C131FB7FCA3272F7CAE2F>I<D8FFFE923807FFF0A3D803
FF92380FFC006C5FD9DF80141DA3D9CFC01439A2D9C7E01471A3D9C3F014E1A2D9C1F8EB
01C1A3D9C0FCEB0381A2027EEB0701A36E130EA291381F801CA391380FC038A2913807E0
70A3913803F0E0A3913801F9C0A2913800FF80A3486CEB7F00487E486C013E497EB50080
91B512F0A2151C3C2F7CAE44>I<D8FFFC49B5FC7F7F00019138001FF06EEB0FE06EEB07
C0EE0380EBDFE0EBCFF013C780EBC3FC13C180EBC0FF801580EC3FC0EC1FE0A2EC0FF0EC
07F8A2EC03FCEC01FE140015FFED7F83153F16C3ED1FE3ED0FF3A2ED07FBED03FFA28181
A2167F163F486C141F487E486C140FB56C1307A21603302F7CAE38>I<EC1FF891B5FC90
3907F00FE090390FC003F0013FC712FC017E147E49804848EC1F804848EC0FC04848EC07
E0000F16F0491403001F16F8491401003F16FCA2007F16FE90C9FCA34816FFAA6C6CEC01
FEA3003F16FCA26D1403001F16F86C6CEC07F0A26C6CEC0FE0000316C06C6CEC1F806C6C
EC3F00017E147E6D5C90390FC003F0903907F00FE00100B5C7FCEC1FF830317BAF3A>I<
B612FCEDFF8016E03A03FE000FF86C48EB03FCED00FE167FA2EE3F80A217C0A61780A2EE
7F00A216FEED03F8ED0FF090B612C093C7FC01FCC9FCB2487EB512F8A32A2F7CAE33>I<
B612E015FE6F7E3A03FE003FE06C48EB07F8ED01FC6F7EA2828283A594C7FC5E5E4B5A4B
5A4B5AED3FC090B500FEC8FC5D9038FC007FED1F806F7E826F7EA26F7EA582A4EF01C016
FEA21501486CED0380B538F800FF93383F8700EE1FFEC9EA03F832307CAE37>114
D<90383FC00C9038FFF81C0003EBFE3C390FE03FFC381F8007EB0003003E130148130015
7C5A153CA36C141CA27E6C14006C7E13E013FE383FFFE06C13FE6CEBFF806C14E0000114
F06C6C13F8010F13FC1300EC07FE14011400157F153F12E0151FA37EA2151E6C143E6C14
3C6C147C6C14F89038C001F039FBF807E000F1B512C0D8E07F130038C007FC20317BAF2A
>I<007FB712F8A39039801FF0073A7E000FE00000781678A20070163800F0163CA34816
1CA5C71500B3A8EC3FF8011FB512F0A32E2E7CAD36>I<B5D8F801B5FCA3D803FEC7EA1F
F06C48EC0FE0EE07C0EE0380B3AB16076C6C1500A2017E5C017F141E6D141C6D6C133C6D
6C5B6D6C485A903903FC07E00100B51280DA3FFEC7FCEC07F830307CAE38>I<B500E090
3807FFF0A3000790C7000113806C48913800FE000001167C0000167817706D15F06D5DA2
6D6C495AA26E1303011F5DA26D6C49C7FCA26E5B0107140EA26D6C5BA26E133C01011438
8001005CA26E13F06E5B1581023F5BA215C3021F5B15E7020F90C8FCA2EC07FEA36E5AA2
6E5AA36E5AA234307EAE38>I<B527C01FFFF8EB7FFFA3D807FEC701C0EB1FF86C486E48
EB07E094C713C000016F7E1A807F0000701400A2017F170E4C7EA26D6C5EEEE7F0A26D6C
5E923801C3F8A2D90FE05E92380381FCA2902607F0075DEE00FEA26D6C486D485A030E13
7F1803902601FC1EEC8380031C133F02FE15870100013C02C7C7FC0338131F02FF15CFDA
7F7814EE0370130F03F014FE6E486D5AA36E486D5AA2020F5D4B1301A202075D92C8FC48
307EAE4C>I<B500E0903807FFF0A3000790C7000113800001923800FE006C16F86E5C01
7F4A5A6D7E6E495A011F5D6D6C13076E49C7FC0107140E6D6C131E6E5B010114386D6C13
786F5A027F5BEC3FC191381FE3C05EEC0FF76EB4C8FC5D14036E5AB04A7E91B512F0A334
2F7EAE38>121 D<003FB612F0A39039F8001FE013C090C7EA3FC0003EEC7F80123C007C
ECFF000078495AA24A5A0070495AA24A5A4A5AC7FC4A5A4A5AA24AC7FC495AA2495A495A
A2495A495A1670495A495AA249C7FC485A16F0485A485A16E04848130148481303A24848
13074848131F15FFB7FCA3242F7BAE2E>I<003C130F007FEB3F804814C0EB807FA3EB00
3F6C1480003CEB0F001A0975BD32>127 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fu cmti10 10.95 64
/Fu 64 128 df<933807FF80043F13E09338FE00F8DB01F0133EDB07E0130E4B48131F4C
137F031F14FF4BC7FCA218FE157E1878180015FE5DA31401A25DA414030103B712F0A218
E0903A0003F000070207140F4B14C0A3171F020F15805DA2173F1800141F5D5F177EA214
3F92C712FE5FA34A1301027EECF81CA3160302FEECF03C4A1538A21878187013014A0101
13F018E0933800F1C0EF7F804948EC1F0094C7FCA35C1307A2001E5B127F130F00FF5BA2
49CAFC12FEEAF81EEA703CEA7878EA1FF0EA07C0385383BF33>12
D<DC07FCEC7FF893273FFF8003B5FC933CFC03C00FE007C0923D03F001E03F0001F0DB07
E0D9F07CEB007092260FC0074914F89326800FF11403031FDAF3F01307A2DB3F00EBF7E0
06E715F09438038FC0037ED9000FEC03C098C7FCA2181F03FE5D5DA2183FA2020193C9FC
5DA349BB12805B1C0090260003F0C7007EC7123F6306FE147E02075D5D1BFE631701020F
5D4B160163A21703021F4B13034B5FA305071407023F4B5CA292C7FC1A0F050FEDC0E060
5C027E171F1B811CC0171F02FE4B14834A1980A2053FEC0F8795C714004948EF078EF203
FCF200F8057E92C7FC495AA2177C17FC5CD81E0701785B007F9038E1FC0114C126FF0FC3
5C0283495A160727FE1F03F85BD8F81E9038E00F8028703C01C01ECBFC3A787800F07CD8
1FF0EB7FF0D807C0EB1FC0555383BF50>14 D<EE0FF8EE7FFE923901F80F80923907E007
C092390F8003E0031F14F092383F0001033E14F8157EA25DA3020114034B14F0A3EF07E0
14034B14C0170F1880180002075C4B133ED907FF143C5F5FD9000F13014B485A4C5A5FA2
021F130F1580A283A2023F804B6C7E838316034A6D7E027E808283A214FE5CA45F010101
7C5BECF8FC4C5AA24B485A902603F0E05B4C5A9238700FC0DB7C1FC7FC0107EB1FFC9138
E007F092C9FCA3495AA3001E5BEA7F1F91CAFC12FF133EA2EAFE3CEAF878EAE0F8EA71E0
EA3FC06CCBFC355382BF31>25 D<ED01801507ED0F00151C5D5D5D14014A5A4A5A4AC7FC
141E143E5C14785C1301495AA2495A5C130F49C8FCA2133EA25BA213FC5B12015BA21203
5B1207A25B120FA25BA2121FA290C9FCA25AA2123EA2127EA2127CA65AAB1278A67EA47E
A2120E120F7EA26C7EA26C7E6C7E1360215A73C325>40 D<14031580A2EC01C0EC00E0A2
1570A215781538153CA3151EA4151FA2150FA7151FA9153FA2153EA3157EA2157CA215FC
A215F8A21401A215F0A2140315E0A2140715C0A2EC0F80A2141F15005C143EA25CA25CA2
495A5C1303495A5C130F49C7FC131E5B137C5B5B485A485A485A48C8FC121E5A12705A5A
205A7FC325>I<EA01E0EA07F8120FA2EA1FFCA4EA0FF8EA0798EA001813381330A21370
136013E013C01201EA0380EA07001206120E5A5A5A5A5A0E1C7A891C>44
D<387FFFFCA3B5FCA21605799521>I<120FEA3FC0127FA212FFA31380EA7F00123C0A0A
77891C>I<1838187CA218F8170118F0EF03E0A2EF07C0A2EF0F80171F1800173EA25FA2
5F16015F4C5AA24C5AA24C5A161F94C7FC163EA25EA25E15015E4B5AA24B5AA24B5A151F
93C8FC153EA25DA25D14015D4A5AA24A5AA24A5A141F92C9FC143EA25CA25C13015C495A
A2495AA2495A131F91CAFC133EA25BA25B12015B485AA2485AA2485A121F90CBFC123EA2
5AA25AA25A5A365B7FC32E>I<15031507150F151F151E153E157EEC01FEEC03FC140714
1FEB01FF90380FFBF8EB1FC3EB0E07130015F0A2140FA215E0A2141FA215C0A2143FA215
80A2147FA21500A25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25C
EB7FE0B612F0A215E0203D77BC2E>49 D<15FE913803FFC091380F01F091383C00F84A13
7C4A7F4948133F49487F4A148049C7FC5BEB0E0C011E15C0EB1C0EEB3C06133813781370
020E133FD9F00C148013E0141C0218137F00011600EBC0384A13FEEC600102E05B3A00E3
C003F89039FF0007F0013C495A90C7485A5E037FC7FC15FC4A5A4A5AEC0FC04AC8FC147E
14F8EB03E0495A011FC9FC133E49141801F0143C48481438485A1678485A48C85A120E00
1E4A5AD83FE0130301FF495A397C3FF01FD8780FB55AD8700391C7FCD8F0015B486C6C5A
6E5AEC07C02A3F79BC2E>I<ED7F80913803FFE091380F80F891383C007C02F87FD901E0
7F494814804948130F49C7FC010E15C0131EEB1C18EB3C1CEB380C0178141F17801370A2
021C133F6D4814004A5BD91FE0137ED90F805B90C8FC4B5A4B5A4B5AED1F8003FFC7FCEC
FFFC15F0A2EC00FC153E153F8182150F82A4151FA2121E127F153F485DA3484AC7FC12F8
00E014FE5D14016C495A0070495A0078EB0FC00038495A6C017EC8FC380F01F83803FFE0
C690C9FC2A3F78BC2E>I<ED0FE0ED7FF8913801F01C913807C00E91381F800F91383E00
074A131F4A137F494813FF1303495A494813FE131F4948137891C8FC5B13FEA2485AA212
035B0007EB1FC0EC7FF0390FF1E07C9038F3803EEBF700D81FFE7F4914805BED0FC0485A
5B151F4914E0127FA25BED3FC0A248C7FCA2157F16805AA215FF1600A24A5AA2485C007C
495AA2007E495A4A5A003E495A003F495A261F807EC7FC380FC1FC6CB45A6C13E0C66CC8
FC283F76BC2E>54 D<157F913801FFE0913807C0F091381F007C023C133C4A133E4A131F
1301495A5C1307A2495AA2163F011F143EA2167E6E137C16F8ECE00102F013F09138F803
E09138FC07C090390FFE0F00ECFFBE6D13F86D5B7F6D7F8101037F90380F9FFFD91F0F13
80D97C0713C0497E48486C13E03903E0007F4848133F4848131F001F140F90C7FC003E14
07A2127E127CA200FC15C05AA2ED0F80A2ED1F00153E007C143C157C007E5C6CEB03F039
1F8007C0390FE03F802607FFFEC7FC000113F838003FC0283F78BC2E>56
D<131EEB3F80137FEBFFC05AA214806C13005B133C90C7FCB3120FEA3FC0127FA212FFA3
5B6CC7FC123C122777A61C>58 D<171C173C177CA217FCA216011603A21607A24C7EA216
1DA216391679167116E1A2ED01C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D
4A5AA24A5AA24AC7FC5C140E5C021FB6FC4A81A20270C7127FA25C13015C495AA249C8FC
A2130E131E131C133C5B01F882487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044
>65 D<49B712C018F818FE903B0003FC0001FF9438007F804BEC3FC0A2F01FE014074B15
F0180FA2140F5D181FA2021F16E05D183F19C0023FED7F804B14FF19004D5A027F4A5A92
C7EA07F0EF1FE0EF7F804AD903FEC7FC92B512F017FE4AC7EA3F800101ED1FE04A6E7E17
078401036F7E5CA30107825CA3010F5E4A1407A260011F150F5C4D5A60013F153F4A4A5A
4D5A017F4A90C7FC4C5A91C7EA0FF849EC3FF0B812C094C8FC16F83C3E7BBD40>I<9339
FF8001C0030F13E0033F9038F803809239FF807E07913A03FC001F0FDA0FF0EB071FDA1F
C0ECBF00DA7F806DB4FC4AC77E495AD903F86E5A495A130F4948157E4948157C495A13FF
91C9FC4848167812035B1207491670120FA2485A95C7FC485AA3127F5BA312FF5BA490CC
FCA2170FA2170EA2171E171C173C173817786C16706D15F04C5A003F5E6D1403001F4B5A
6D4AC8FC000F151E6C6C5C6C6C14F86C6C495A6C6CEB07C090397FC03F8090261FFFFEC9
FC010713F0010013803A4272BF41>I<49B712C018F818FE903B0003FE0003FF9438007F
804BEC1FC0F00FE0F007F014074BEC03F8F001FCA2140F4BEC00FEA3141F4B15FFA3143F
5DA3027F5D5DA219FE14FF92C81203A34917FC4A1507A219F813034A150F19F0A20107EE
1FE05CF03FC0A2010FEE7F804A16006060011F4B5A4A4A5A4D5AA2013F4B5A4AEC3FC04D
C7FC017F15FEEE03FC4AEB0FF001FFEC7FE0B8128004FCC8FC16E0403E7BBD45>I<49B8
12F8A390260003FEC7121F18074B14031801F000F014075DA3140F5D19E0A2141F4B1338
A2EF7801023F027013C04B91C7FCA217F0027F5CED80011603160F91B65AA3ED001F49EC
07805CA3010392C8FC5CF003804C13070107020E14005C93C75A180E010F161E4A151C18
3CA2011F5E5C60A2013F15014A4A5A1707017F150F4D5A4A147F01FF913807FF80B9FCA2
95C7FC3D3E7BBD3E>I<49B812F0A390260003FEC7123F180F4B1403A2F001E014075DA3
140F5D19C0A2141F5D1770EFF003023F02E013804B91C7FCA21601027F5CED8003A21607
02FFEB1F8092B5FCA349D9003FC8FC4A7F82A20103140E5CA2161E0107141C5CA293C9FC
130F5CA3131F5CA3133F5CA2137FA25C497EB612E0A33C3E7BBD3B>I<9339FF8001C003
0F13E0033F9038F803809239FF807E07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA
7F806DB4FC4AC77E495AD903F86E5A495A130F4948157E4948157C495A13FF91C9FC4848
167812035B1207491670120FA2485A95C7FC485AA3127F5BA312FF5BA30303B512FC90C7
FCA2DB000190C7FCA25FA216035FA316076C5E7FA2003F150F6D5D121F6D141F000F153F
6C6C4A5A6C6C14F76C6CEB01E36CB4EB07C1903A7FC03F81C090391FFFFE00010701F890
C8FC010013803A4272BF46>I<49B648B6FC495DA2D9000390C7000313004B5D4B5DA218
0714074B5DA2180F140F4B5DA2181F141F4B5DA2183F143F4B5DA2187F147F4B5DA218FF
91B8FC96C7FCA292C712015B4A5DA2170313034A5DA2170713074A5DA2170F130F4A5DA2
171F131F4A5DA2173F133F4A5DA2017F157FA24A5D496C4A7EB66CB67EA3483E7BBD44>
I<49B6FC5BA2D9000313005D5DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF
92C7FCA35B5CA313035CA313075CA3130F5CA3131F5CA3133F5CA2137FA25C497EB67EA3
283E7BBD23>I<4AB61280A2180091C713C0167F5FA216FF94C7FCA35D5EA315035EA315
075EA3150F5EA3151F5EA3153F5EA3157FA25EA215FFA293C8FCA25CA25DA2380F8003EA
3FC0D87FE05BA21407D8FFC05B140F01805B49485A12FC0070495A4A5A6C01FEC9FC383C
01FC380F07F03807FFC0C648CAFC314079BD30>I<49B6903807FFFE605ED9000390C700
0113E04B6E13004B15FC4E5A19E002074B5A4BEC0F804EC7FC183C020F5D4B5C4D5AEF07
C0021F4AC8FC4B131E5F5F023F5C9238C003E0EE07804CC9FC027F5B4B5AEEFF801581EC
FF834B7FED0F7FED1E3F49017C7FECFEF89138FFE01F03C07F491380ED000F4A805C0107
14074A80A21603010F815C160183131F4A6D7FA2177F013F825C173F017F82A24A81496C
4A7EB6D8800FB512C0A261473E7BBD46>I<49B612C0A25FD9000390C8FC5D5DA314075D
A3140F5DA3141F5DA3143F5DA3147F5DA314FF92C9FCA35B5CA313035C18C0EF01E00107
16C05C17031880130F4A140718005F131F4A141EA2173E013F5D4A14FC1601017F4A5A16
074A131F01FFECFFF0B8FCA25F333E7BBD39>I<49B5933807FFFC496062D90003F0FC00
505ADBBF805E1A771AEF1407033F923801CFE0A2F1039F020FEE071F020E606F6C140E1A
3F021E161C021C04385BA2F1707F143C023804E090C7FCF001C0629126780FE0495A0270
5FF00700F00E0114F002E0031C5BA2F03803010116704A6C6C5D18E019070103ED01C002
80DA03805BA2943807000F13070200020E5C5FDB03F8141F495D010E4B5CA24D133F131E
011CDAF9C05CEEFB80197F013C6DB4C7FC013895C8FC5E01784A5C13F8486C4A5CD807FE
4C7EB500F04948B512FE16E01500563E7BBD52>I<902601FFFE020FB5FC496D5CA2D900
016D010013C04AEE3F00193E70141C193CEC07BFDB3FE01438151F1978020F7FDA0E0F15
708219F0EC1E07021C6D5CA203031401023C7FDA38015DA2701303EC7800027002805BA2
047F130702F014C04A013F91C7FCA2715A0101141F4AECF00EA2040F131E010315F84A15
1C1607EFFC3C0107140391C7143817FE040113784915FF010E16708218F0131E011C6F5A
A2173F133C01385E171F137813F8486C6F5AEA07FEB500F01407A295C8FC483E7BBD44>
I<49B77E18F018FC903B0003FE0003FEEF00FF4BEC7F80F03FC00207151F19E05DA2020F
16F0A25DA2141FF03FE05DA2023F16C0187F4B1580A2027FEDFF00604B495A4D5A02FF4A
5A4D5A92C7EA3FC04CB4C7FC4990B512FC17E04ACAFCA21303A25CA21307A25CA2130FA2
5CA2131FA25CA2133FA25CA2137FA25C497EB67EA33C3E7BBD3E>80
D<49B612FCEFFF8018F0903B0003FE000FF8EF03FE4BEB00FF8419800207ED3FC05DA219
E0140F5DA3021FED7FC05DA2F0FF80143F4B15004D5A60027F4A5A4B495A4D5AEF3F8002
FF02FEC7FC92380007F892B512E01780499038000FE04A6D7E707E707E0103814A130083
A213075CA25E130F5C5F1603131F5CA3013F020714404A16E05F017F160119C04A010313
03496C1680B6D8800113079438FE0F009338007E1ECAEA3FFCEF07F03B407BBD42>82
D<92391FE00380ED7FFC913A01FFFE0700913907F01F8F91390FC007DF4AC66CB4FC023E
6D5A4A130014FC495A4948147CA2495AA2010F15785CA3011F1570A46E91C7FCA2808014
FE90380FFFE015FC6DEBFF8016E06D806D806D6C7F141F02037FEC003FED07FF1501A281
A282A212075A167E120EA2001E15FE5EA25E003E14015E003F14034B5A486C5C150F6D49
5A6D49C8FCD8F9F0137C39F8FE01F839F03FFFF0D8E00F13C026C001FEC9FC314279BF33
>I<48B9FCA25A903AFE001FF00101F89138E0007FD807E0163E49013F141E5B48C75BA2
001E147FA2001C4B131C123C003814FFA2007892C7FC12704A153C00F01738485CC71600
1403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA2147FA25DA214FFA292C9FC
A25BA25CA21303A25CEB0FFE003FB67E5AA2383D71BC41>I<001FB500F090B512F0485D
A226003FF0C7380FFC004AEC03F04A5D715A017F1503A24A5DA201FF150795C7FC91C8FC
A2485E170E5BA20003161E171C5BA20007163C17385BA2000F167817705BA2001F16F05F
5BA2003F1501A2495DA2007F1503A2495DA2160794C8FC48C8FC5E160E161E6C151C163C
5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C13F83903FC07F0C6B512C001
3F90CAFCEB07F83C406FBD44>I<B500FE91387FFFE094B5FC19C00003018091380FFC00
49C8EA07F000015F606095C7FC170EA25F173C17386D5DA26C5E16015F4C5AA24CC8FC5E
160E5E805E137F5E5EA24B5AA24B5A150793C9FCECC00EA2013F5B153C15385DA25D14C1
5DECC38014E302E7CAFCEB1FEF14EE14FCA25CA25CA25C5C130F5CA291CBFC130E3B406D
BD44>I<277FFFFE01B500FC90B512E0B5FCA20003902680000790C7380FFC006C90C701
FCEC07F049725A04035EA26350C7FCA20407150EA2040F5D1A3C041F153862163B621673
4F5A6D14E303014B5A6C15C303034BC8FC1683DB0703140E191E030E151C61031C7F61ED
380161157003F04A5A15E002014B5A15C0DA03804AC9FC60DA0700140E60140E605C029C
5D14B8D97FF85D5C715A5C4A5DA24A92CAFC5F91C7FC705A137E5F137C5F137801705D53
406EBD5B>I<027FB612FEA3913AFFF80007FC03C014F892C7EA0FF0D901FC141F4AEC3F
E04AEC7FC04A15800103EDFF004A5B4C5A4948495A5F91C7485A49141F010E4A5A4C5A5F
011E4AC7FC90C75A4B5A4B5A5E4B5A151F4B5A4B5A5E15FF4A90C8FC4A5A4A5A5D140F4A
5A4A5A4A48130E4B131E02FF141C4990C7FC495A4948143C4A1438010F1578495A494814
70494814F05C01FF4A5A4890C7FC4848140348481407494A5A000F151F4848143F4848EC
FF804848130F90B7FCB8FC94C7FC373E79BD38>90 D<147E49B47E903907C1C38090391F
80EFC090383F00FF017E137F4914804848133F485AA248481400120F5B001F5C157E485A
A215FE007F5C90C7FCA21401485C5AA21403EDF0385AA21407EDE078020F1370127C021F
13F0007E013F13E0003E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800FC
133E252977A72E>97 D<EB1FC0EA0FFF5CA2EA003FA291C7FCA25BA2137EA213FEA25BA2
1201A25BA21203A25B147E3907F1FF809038F783E09038EF01F013FE390FF800F8A24913
FC49137C485A157E5B15FE123FA290C7FCA248130115FC127EA2140300FE14F85AA2EC07
F0A215E048130F15C0141F15800078EB3F00127C147E003C5B383E01F8381E03E06C485A
6CB4C7FCEA01F81F4076BE2A>I<EC1FC0ECFFF0903803F03C903807C01E90381F800E90
383F000F017E133F4913FF485A485A000714FE5B000F14FC48481300A2485AA3127F90C8
FCA35A5AA6481403007E1407150F151E003E143C15786C14F0EC03E0390F800F803903E0
7E003801FFF838003FC0202977A72A>I<EE3F80ED1FFF1700A2ED007FA2167EA216FEA2
5EA21501A25EA21503A25EA21507A25E147E903801FF8F903807C1CF90391F80EFC09038
3F00FF017E137F5B48486D5A485AA2485A000F92C7FC5B001F5CA24848137EA215FE127F
90C75AA214015A485CA2140316384814F0A21407167891380FE070127C021F13F0007E01
3F5B003E137FECF3E1261F01E35B3A0F8781E3802703FF00FFC7FCD800FC133E294077BE
2E>I<EC3F80903801FFE0903807E0F890381F803CEB3E0001FC131E485A485A12074848
133E49133C121F4848137C15F8EC03F0397F000FE0ECFF809038FFFC00B512C048C8FCA4
5AA61506150E151E007C143C15786C14F0EC01E06CEB07C0390F801F003807C0FC3801FF
F038007F801F2976A72A>I<167C4BB4FC923807C78092380F83C0ED1F87161FED3F3FA2
157EA21780EE0E004BC7FCA414015DA414035DA30103B512F8A390260007E0C7FCA3140F
5DA5141F5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4495AA4495A121E127F
5C12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C>I<EC03F0EC0F
FC91383E0E1C9138FC077E903901F003FE1303903807E001D90FC013FCEB1F80A2EB3F00
4914F8137E01FE1303A2484814F0A2150712034914E0A2150F12074914C0A2151FA21680
5B153F1203ED7F006D5BA200015B0000495A9038F80F7E90387C1EFEEB1FF8903807E0FC
90C7FC1401A25DA21403A25D001C1307007F5C48130F5D4A5A4AC7FC48137E00F85B387C
03F0381FFFC0D803FEC8FC273B7CA72A>I<EB01FC13FF5CA21303A25CA21307A25CA213
0FA25CA2131FA25CA2133FA291C8FCEC03F890387F0FFE91383E0F80D97E7813C0ECE007
D9FFC013E014801400A2485A5BA25B0003140F16C05BA20007141F16805BA2000F143F16
005B5D001F147EEDFE074913FCA2003F0101130FEDF80E1300161E48ECF01CA2007E1538
A200FE1570020013E048EC7FC00038EC1F0028407ABE2E>I<1478EB01FCA21303A314F8
EB00E01400AD137C48B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA781F00
701380A2EAF03F140012005B137E13FE5BA212015BA212035B1438120713E0000F1378EB
C070A214F0EB80E0A2EB81C01383148038078700EA03FEEA00F8163E79BC1C>I<1507ED
1FC0A2153FA31680ED0E0092C7FCADEC07C0EC3FF0EC78F8ECE07CEB01C01303EC807EEB
0700A2010E13FE5D131E131CEB3C01A201005BA21403A25DA21407A25DA2140FA25DA214
1FA25DA2143FA292C7FCA25CA2147EA214FEA25CA213015CA2121C387F03F012FF495A5C
495A4848C8FCEAF83EEA707CEA3FF0EA0FC0225083BC1C>I<EB01FC13FF5CA21303A25C
A21307A25CA2130FA25CA2131FA25CA2133FA291C8FCED03E049EB0FF8ED3C3C017EEB70
7CEDE1FC9038FE01C1EC03839038FC0703140E0001011C13F891383800E0494813001460
000313E0EBF9C0EBF78001FEC8FC1207EBFFE0EBE7F8EBE0FE000F137F6E7EEBC01F8100
1F130F16701380A2003F15F0021F13E001001380A248148116C0007EEB0F83168000FE14
879138078F0048EB03FE0038EB00F826407ABE2A>I<EB07F0EA03FF14E0A2EA000FA214
C0A2131FA21480A2133FA21400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207
A25BA2120FA25BA2121FA25BA2123FA290C7FCA25A1307127EA2EAFE0F130E12FCA2131E
131CA2EA7C381378EA3C70EA1FE0EA0780144079BE17>I<D801F0D93F80137F3D07FC01
FFE003FFC03D0F3E07C1F80F83F03D0E1F0F00FC1E01F8001E011C90387C3800001C49D9
7E707F003C01F05C0038157F4A5C26783FC05C12704A91C7FC91C7127E00F003FE130149
4A5CEA007EA20301140301FE5F495CA203031407000160495C180F03075D0003051F13E0
494A1480A2030FEC3F810007F001C0495CA2031F91383E0380120F494AEC0700A2033F15
0E001FEF1E1C4991C7EA0FF80007C7000EEC03E0432979A74A>I<D801F0EB3F803A07FC
01FFE03A0F3E07C1F83A0E1F0F00FC001E011C137C001C49137E003C13F012385C38783F
C012705C91C7FC00F015FE495CEA007EA2150101FE5C5BA2150300015D5B15075E000302
0F13704914C0A2031F13F00007ED80E05B1681EE01C0120F49EC0380A2EE0700001FEC0F
0E49EB07FC0007C7EA01F02C2979A733>I<EC1FC0ECFFF8903803F07C90380FC01FEB1F
8090393F000F80017E14C0491307484814E0485A12075B000F15F0485AA2485AA2ED0FE0
127F90C7FCA2151F4815C05AA2ED3F80A2ED7F00A248147E007C5C007E13015D4A5A003E
495A6C495A4A5A260F803EC7FC3807C0FC3801FFF038003F80242977A72E>I<903903E0
01F890390FF807FE903A1E7C1E0F80903A1C3E3C07C0013C137801389038E003E0EB783F
017001C013F0ED80019038F07F0001E015F8147E1603000113FEA2C75AA20101140717F0
5CA20103140F17E05CA20107EC1FC0A24A1480163F010F15005E167E5E131F4B5A6E485A
4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9FCA2137EA213FEA25BA21201A25BA2
1203A2387FFFE0B5FCA22D3A80A72E>I<D801F013FC3A07FC07FF803A0F3E0F03C0260E
1F1C13E0001EEB380F001C1370003CEBE01F123814C0D8783F14C00070903880070092C7
FC91C8FC12F05BEA007EA313FE5BA312015BA312035BA312075BA3120F5BA3121F5B0007
C9FC232979A726>114 D<EC7F80903801FFE0903807C0F890381F003C013E131C013C13
1E017C133E49137E15FEA2000114FCA215706D13007FEBFFC014FC6C13FF15806D13C06D
13E0010F13F01300140F14071403120C123F387F80011403D8FF0013E0A300FCEB07C000
F0EB0F8012700078EB1F006C133C381F01F83807FFE0C690C7FC1F297AA725>I<EB01C0
EB03F01307A25CA2130FA25CA2131FA25CA2133FA291C7FCA2007FB51280B6FC1500D800
7EC7FC13FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121F141C1380A200
3F133C1438EB0078147014F05C495AEA1F03495A6C48C7FCEA07FCEA01F0193A78B81E>
I<137C48B4141C26038F80137EEA0707000E7F001E15FE121CD83C0F5C12381501EA781F
007001805BA2D8F03F1303140000005D5B017E1307A201FE5C5B150F1201495CA2151F00
03EDC1C0491481A2153F1683EE0380A2ED7F07000102FF13005C01F8EBDF0F0000903807
9F0E90397C0F0F1C90391FFC07F8903907F001F02A2979A731>I<017CEB01C048B4EB07
F038038F80EA0707000E01C013F8121E001C1403EA3C0F0038EC01F0A2D8781F13000070
5BA2EAF03F91C712E012005B017E130116C013FE5B1503000115805BA2ED07001203495B
150EA25DA25D1578000114706D5B0000495A6D485AD97E0FC7FCEB1FFEEB03F0252979A7
2A>I<017C167048B491387001FC3A038F8001F8EA0707000E01C015FE001E1403001CED
F000EA3C0F0038177C1507D8781F4A133C00701380A2D8F03F130F020049133812005B01
7E011F14784C137013FE5B033F14F0000192C712E05BA2170100034A14C049137E170318
80A2EF070015FE170E00010101141E01F86D131C0000D9039F5BD9FC076D5A903A3E0F07
C1E0903A1FFC03FFC0902703F0007FC7FC372979A73C>I<903903F001F890390FFC07FE
90393C1E0E0F9026780F1C138001F0EBB83FD801E013F89039C007F07FEA0380000714E0
D9000F140048151C000E4AC7FCA2001E131FA2C75BA2143F92C8FCA35C147EA314FE4A13
1CA30101143C001E1538003F491378D87F811470018314F000FF5D9039077801C039FE0F
7C033A7C0E3C078027783C1E1EC7FC391FF80FFC3907E003F029297CA72A>I<137C48B4
143826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F12381503D8781F14F00070
1380A2D8F03F1307020013E012005B017E130F16C013FE5B151F1201491480A2153F0003
15005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8EB3FF9EB07E1EB0003
5DA21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C137E00705B387801F0
383803E0381E0FC06CB4C8FCEA03F8263B79A72C>I<D901F01370D907FC13F0010F14E0
90381FFE0190393FFF03C049EB838090387C0FCF9039F803FF009038F0007E49133C0001
14386C48137890C75A4A5A4A5A4A5A4AC7FC141E5C5C5C495A495A495A49C8FC131E4913
075B5B48485B4848131E485A01F05BD80FFE137C391F1F81F8383E0FFFD83C075B486C5B
00705CD8F00190C7FC38E0007C24297BA725>I<B8FCA2280278982E>I<000E131E383F80
7F007FEBFF8012FFA215005B007E5B003C1338190968BD2E>127
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fv cmbx12 24.88 30
/Fv 30 123 df[<96260FFFFE0507B5FC060FB600E00307B612F04DB700FC92B712FE05
1F04FF020F707E94B900C0017F17E00407DEF003B97E041FDEF80F18FC047F9126FC001F
D9FC3F9126FE000F7F4BB6008001006DB600C001007F030702F8C8003FB600FCC8001F7F
4B02E0030F03F003077F033F02804B03C04B7F4B49C9007F92C9123F92B54893B6484C7F
4A02F04B03F893B5FC4A4A4B4B4B804A4A4B4B5D4A4A4F8451614A91C95E4A4997C9FCA2
4A496159807D5C91B5FC4C61A375735CA275735C75735C75745B76071F90C8FCA1EA07FC
A1CAFCAF101FB612FEC5B5FCA9C702FCCA6C49C912018FA17EB3B3B3B2003FB800F0011F
B800F8011FB812F8A9>181 144 123 271 194 14 D<EB1FE0EB7FF83801FFFE0007EBFF
804814C04814E0A24814F0A24814F8A2B612FCA86C14F8A26C14F0A26C14E0A26C14C06C
14800001EBFE0038007FF8EB1FE01E1E6F9D41>46 D[<F31FE0F37FF8A2517EA2507FA3
507FA25080A35080A25080A35080A25080A397B67EA24F81A34F81A24F82A34F82A24F82
A21AFBDF3FF981A2DF7FF1811AF06207FF6D80A24E01C081871A804E6E80A24E01008287
61060F6E81A24E48838761063F6E81A24E4883876106FF6F80A24D498388614D7080A24D
90C8FC768160050F7081A260051F708160053F7081A260057F70816005FF7180A2604C72
80604C7280A295CAFC4C72815F040F7281A294BDFC4C88A24C88A34C88A293BE7E05E0CB
7E5F4B7480A24B497280A294CCFC4B7481A24B487381A25E031F7481A24B487381A25E03
7F7481A24B487480A25E4A7680A24A497480A293CEFC4A7681A24A4875814A7E0107B512
FCB96C043FBA12FCA9>158 145 120 272 175 65 D[<BE12FEF5FFFCF6FFC01FFCF7FF
8020E020FC20FF21C0C700030380C8000116F0E2000F810B0015FE0C1F800C0315C00C00
810D3F8079800D0714FE79807981796C808C7A807A808F7A807A808C8F7A818DA17E8DA1
7E8DA17EA27B80A2A17E8DA17EA28DA17EA3A113808DA3A113C0A57B15E0A6A113F0B3A2
A113E0A569A113C0A5A11380A269A2A11300A3575CA2A15AA269A15A69A15AA2575CA15A
69A15A9EB6FC5692C7FC6B565C68565C565C565C565C9DB65A5592C8FC0D075C555C0D3F
5C9CB65A0C0315C00C0F5D0C7F92C9FC0B07B612FC52B712F0C212C09ECAFC20FC20F020
800DFCCBFC1FE00CFCCCFC53CDFC>156 142 120 269 178 68 D[<C212F8A48DA5C700
0303C0C9123FF5007F1E0F0C0180787E1F1F8B8B1F018BA27A7E8C8CA28CA28CA28C8EA2
8CA38CA38EA2E21FF0157FA67B7EA40A3F93C8FCA41C7FA21CFFA26363631B1F1B7F0807
B5FC95B8FCA99538C00007F2007F1B1F1B07878787A21C7FA21C3FA3FA7FC01C1FA2FAFF
80A6571300A299CAFCA369A26AA22107A3210F6AA2211FA2213FA2575AA221FFA2686856
5BA26868207F9DB5FC555C1F071F1F1F7F0C03B6FC1E3F0B1FB7FCC35AA66AA3>138
141 120 268 153 I[<BC12C0A9C7000103E0C8FCB3B3B3B3B3B3B0BC12C0A9>74
142 122 269 87 73 D[<BC0403B9FCA9C7000303C0CC000103E0C7FCE6000F01F8C8FC
7B13E05713805790C9FC575A575A56485A565B565B5613805690CAFC565A565A55485A55
5B5513C0555B5590CBFC555AF7FFFC545B545B5413C0545B5490CCFC545AF6FFFC535B53
13E0535B535B5390CDFCF57FFE535A525B5213E0525B525B5290CEFCF47FFE525A5113F0
515B515B515B093F7F6398B57E50805080625080083F80508097B7FC4F824F82614F8207
3F824F82F1FFF906C101F18106C301E08106C7496C8006DF138095B5486C8107FC6D814F
7F4F834F6D814F6D814F7F96C78206FC6E814E6F80604E6F814E6F817681A27681768188
8C76817780A2778177817781A277817781898D77817880A2788178817881A2788178818A
8E788179808B8F79817981A2798179818B8F79817A808C5615C00D03B712F0BC033FBA12
E0A9>163 142 120 269 182 75 D[<BC12F8A9C7000303C0CEFCB3B3B3B3A5F8FF80A4
672100A667A368A21F07A41F0FA3555AA21F3FA21F7FA21FFFA2666668666666666653B5
FC65650B1F5C1D7F0A03B6FC1C1F0903B7FCC1FCA468A5>121 142
120 269 140 I[<BB00E0050FB812F0A9C7001F92CE00014AC7FCE7000F13C07209035B
6E5590C8FC846E555A846E555AA2846E555A846E555A846F545A84A26F535B846F535B85
6F5390C9FC856F66210F856F535A856F535A856F66217F8570525A8570515B8570656886
705190CAFC8670515A867064201F8670515A8670515A86716320FF86714F5B86714F5B87
7198CBFC6787714F5A87714F5A8771621F3F87714F5A87724E5A87724D5B87A2724D5B88
724D90CCFC88724D5A8872601E1F88724D5A88724D5A88735F1EFF88734B5B1CFF734B5B
1D837394CDFC1D871DC773EDCFFE1DEF73EDFFFCA2735EA3735EA2745DA2745DA3745DA2
7492CEFCA2745CA3745CA2745CA2745CA3755BA2755BA2755BA27590CFFCA2F303FC>
164 144 123 269 175 86 D<93B512FC037FECFFF00207B8FC023F17E091B912F84918
FE0107727E499126C0007F14E04901E0C7000F80496D020380496D020014FE6F6F7F90B5
70806F6F8085486E6F807380A27380A28885886C5CA26D4982886D5B6D5B010713C00101
90CAFC90CCFCA90603B7FC050FB8FC0403B9FC167F0307BAFC153F4AB7EA807F020FEDE0
00023F02FCC7FC91B612E0010392C8FC4914FC011F14F04914C0495C90B548C9FC485C48
5C485C485C5A5D485CA24891CAFCA3B6FC5CA397B6FCA461806C60F107EF6C6E150F6F16
CF6C183F6FDB7F8F806C6EDBFF0F14E06C02FCDA03FE15FE6C6E91260FFC0791B5FC6C6E
6CD93FF817806C923AF803FFF003013F91B6487E010FEF8000010394C77E010004FC141F
021F03F0140702010380DA007F1400DA000701F8CDFC695F79DD71>97
D[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B296383FFFC00607B512FE063FECFFE0
4DB712F8050716FF051F17C0057F17F094B5D8C00F8004F301FCC714FE04F701E0023F7F
93B50080020F804DC86C14E005F80301804D6F804D707F05808294CA804C717F4C7180A2
4C71808BA27680A28B88A28BA28BA3888BA52080B02000A56764A267A3676467A2525CA2
67647062704D91C7FC704D5BA2714C5B7193B55A05F04B5CDCBFF84B5CDC1FFC030F5C4B
6CB44B91C8FC7001C0027F5B4B6C01F00103B55A4BC601FF013F14F04B6D90B712C04B01
1F94C9FC4B6D16FC4B010316F092C86C15804A030F02F8CAFC90CB49CBFC>113
144 121 270 129 I<94387FFFF0041FB612E093B712FE0307707E031F17F092B97E4A18
FE020784021F9126F8000F14804A0280010014C04A49C74814E049B500F85C494A17F049
4A5C495C494A4A14F84991C8FC5D495B90B5FC5D5A485C7314F05A4B6F14E05A7314C048
7214804B93383FFE00F20FF84896C8FCA4485CA5B6FCB07EA281A37EA36C80A37E6F18FE
6CF201FFA26C6E5F1CFE6C801B076C6EEF0FFC6D7F70EE1FF86DF13FF06D6E167F6D6EEE
FFE06D02F84B13C06D6E5D6D02FF030F13806D03C0023F1300023F02F0903801FFFC6E91
26FF801F5B020792B65A6E18C0020060033F4CC7FC030716F8030016C0041F4AC8FCDC00
7F13C0585F78DD67>I[<F53FE098B6FC4FB7FCA996C77E1B0FA287B3B294383FFF80040F
B512FC93B71280030716E0031F16F8037F16FE4AB9128702074AC66C13C7021F02E00107
13F74A91C890B6FC4A01FC153F49B548150F4902E081494A81494A814991CA7E495B8749
498390B548835A5D5AA2485CA25A5D5AA35AA25D5AA5B6FCB07EA57E81A37EA27EA2817E
A26C80A26C626C6E5F636D7F6D6D94B6FC6D606D6D1607705D6D6E4B81010102F0157F6D
6E92B712FE6E01FE020301EF91B512806E6D6C011F13CF020FDAF801B5120F020391B612
FE6E17F86E6C16E0030F16800301EDFC00DB003F14E0040049C74AC8FC>113
144 120 270 129 I<94387FFFC0040FB6FC93B712E0030716FC031F16FF037F17C04AB9
12F00207DAF80380021F912680003F13FE4A49C7000F7F4A01F802038049B5486E804902
C06E6C7F494A6F7F4991C9FC49727F4949707F4B84498490B548707F5A4B198048855D48
1CC086481CE05D5A871DF05AA25D5AA21DF887A2B6FCA392BBFCA51DF00380CDFCA77EA4
817EA37EA2817EA26CF307F06FF00FF87E816C1B1F6F19F06C1B3F6D6DF07FE06D7FF4FF
C06D6E4C13806D6E5E6D02F04C13006D6EEE1FFE6D6E4C5A6D6C01FFEEFFF86E02E00203
5B6E02FC021F5B02079126FFC003B55A6E92B7C7FC020060033F17F8030F17E003011780
DB003F03FCC8FC040315C0DC000F01F8C9FC5D5F7ADD6A>I<F5FFC093260FFFFC030F13
F04BB600E0027F7F031F03FE49B512FE037F9226FF8007800203B8EAF01F020FDDFC3F15
804A7148133F027FDA003F90B500F014C091B500F80107ED807F4902E00101ECFC000107
02806D6C5B93C87E49496F7F49496F7F49496F6D6D1380491A8077130090B5486F6E6C5A
F503F84875C8FCA2484A6F80A44887AB6C63A46C6E4B5CA26C63A26D6D4B5CA26D97C9FC
6D6D4B5B6D6D4B5B6D6D4B5B705C010102E049B512E06D02F801075C4902FF013F5C4992
B648CAFC496002F317F090260FE07F1680031F4BCBFC90261FC00115E0DB000F01FCCCFC
013F91CFFCA3137FA280A380A28080806E7E15F092B812F06DF0FFE01BFEF3FFC06D1AF8
1CFE767E6D1BE06D87896D1BFE6D877F6E878A0103BD7E130F013F8890BEFC4802E0C900
3F814891CBFC4801FC180F48490601804849727E484985884849737F88A2B55A88A66E61
6C65A26E616C6D4F5B6C656E616C6D4F5B6C6D96B55A6C6D6C05035C6F5FC602F0051F49
C7FC6D01FC057F5B6DD9FF800303B55A010F02F8033F14E06DDAFFE0010FB65A010192B9
C8FCD9003F19F8020F19E0020196C9FCDA001F17F0030194CAFCDB000192CBFC6A887ADD
74>103 D[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B2963803FFFC073FEBFFE096B6
12F8060715FE061F6F7E4E16E095B87E4DD9FC03804DD9C000804D48C76C7FDD0FF880DD
1FE0824D486E804D5A05FEC881DCF1FC815F04F385EEF7F04D81EEFFC0A24D84A294C9FC
A25EA35EA45EB3B3AFB9D8E001B912C0A9>114 143 119 270 129
I[<EC3FC0ECFFF0010313FC497F497F498049804980A290B67EA24881A86C5DA26D5CA2
6D5C6D5C6D91C8FC6D5B6D5B010013F0EC3FC091CAFCB3A3ED1FF0017FB5FCB7FCA9EA00
3F1307A27FB3B3B3B0B91280A9>49 144 119 271 65 I[<ED1FF0017FB5FCB7FCA9EA00
3F1307A27FB3B3083FB712C0A908014AC7FCE0003F13C09AC8FC515A515A505B5013E008
0F5B505B5090C9FCF27FFC4F485A4F5B4F5B4F5B4F90CAFCF17FFE4F5A4E5B4E5B4E13C0
061F5B4E90CBFC4E5AF0FFF805037F5F4D7F4D7F4D8094B67E16F104F38104F78193B77E
A2868605F18017E04D814D6C804D6C8004FC6D805E4C6D804C6D807280A2728072817380
8588738073807380A2738073807381A27480748074808689748074807480A274818A5015
F0B96C017F92B5FCA9>112 143 121 270 123 107 D[<ED1FF0017FB5FCB7FCA9EA003F
1307A27FB3B3B3B3B3B3ACB912C0A9>50 143 119 270 65 I<DB3FE0912601FFFC9438
01FFFC017FB5031FD9FFE0041FEBFFE0B792B600FC93B612FC060303FF030315FF060F04
C0020F16C0063F04F0023F16F095B86C91B87E4DD9FC036E49D9FC03804DD9C0006E49D9
C000804D48C7003F6D4948C7003F7FDD0FF86EDB0FF880D8003F4B48714848830107DB3F
C06E9126C03FC06E804D484E5A6D4BC86F48C881DCE1FE6FDAE1FE814D61DCE3F8DEF3F8
84DCE7F0F0F7F04D6F4B81DCEFC0F0FFC0A2DCFF804F84A294C993C9FCA24C61A34C61A4
4C61B3B3AFB900E090B900E090B912E0A9B35D77DCC2>I<DB3FE0913803FFFC017FB503
3FEBFFE0B792B612F8060715FE061F6F7E4E16E095B87E4DD9FC03804DD9C000804D48C7
6C7FDD0FF880D8003FDB1FE08201074B486E804D5A6D03FEC881DCE1FC815F04E385EEE7
F04D81EEEFC0A2DCFF8084A294C9FCA25EA35EA45EB3B3AFB9D8E001B912C0A9725D77DC
81>I<94381FFFF00407B612C0047F15FC0303B87E030F17E0037F17FC4ABAFC4A9126FC
007F80020F02C0010714E04A49C880027F01F8033F13FC91B5486F7F4902C003077F494A
6F804991C96C80494970804949717F49874949717FA290B548717F48884B83481D80A248
1DC04B83481DE0A2481DF0A3484A7114F8A4481DFCA5B61BFEAF6C1DFCA56C6E4D14F8A3
6C1DF0A36C1DE06F5F6C1DC0A26C6E4D1480A26C1D006F5F6C646D6D4D5B6F94B5FC6D63
6D6D4C5C6D6E4B5C6D6E4B5C6D02F0031F5C6D6E4B91C7FC6D6C01FE92B512FC6ED9FFC0
01075C6E02FC017F5C020791B812C0020196C8FC6E6C17FC031F17F003031780DB007F03
FCC9FC040715C0DC001F01F0CAFC675F7ADD74>I<DB1FF091381FFFC0017FB50203B6FC
B7021F15E095B712FC050316FF050F17C0053F17F094B912FC04F1DAC01F8004F79026FC
00018093B500E06D6C14C0D8003F93C86C8001074B030F8005F86F806D03E06F804D6F80
4D8194CA6C7F4C864C71805E7680A27680A27680A28B88A28BA288A28BA4882080B02000
64A467A26467A3525CA26764676467647062704D91C7FC7094B55AA2714B5C714B5C714B
5C05F84B5C71033F5C05FF4B91C8FC06C049B55A04FB01F001075C04F801FF017F14F071
90B712C0051F94C9FC7116FC050316F0DD007F1580060F02F8CAFC060049CBFC96CDFCB3
ACB912E0A9718579DC81>I<DB7FC049B47E90B6021F13F8B7027F13FE4DB67E4D15E04D
814D814D01077F94263FF00F7F94387FC01F4D48487FD8003F16000107DAC1FE491480EE
C3FC6D5DEEC7F05F16CF5F16DF4D6D1400A204FFC76C5BA2735B4C6E5B735B070013C04C
92C8FCA45EA65EB3B3AAB912FCA9515D79DC5F>114 D<92261FFFF814F80203B638C001
FC023FEDFC0791B8121F010317FF130F013F9038F8001F4990C8FCD9FFF8153F4801E015
0F484915034849814890CAFC197F4848173F191F485AA2007F180FA31907487EA27FA280
02E0705A6E93C8FC14FC14FF15F06CECFF8016FCEEFFF06CEEFF8018F06C17FE727E6C18
E0856C18FC6C846C727E6C856D84011F846D841303010084023F83140F020183EC001FDB
007F16801603DC000F15C01700183F060F14E0007F1703486C82727E857F85857FA2857F
1BC07FA27F1B806D5F7F1B006E5E6E5F6E163F6E4C5A02FC4C5A6E03035B6E6C4A5B03F0
023F5B03FF0107B55A01F991B7C7FCD9F07F16FCD9E01F16F0D9800716C0D9000193C8FC
48D9003F14F8007C020349C9FC4B5F78DD5C>I[<ED03FEA81507A5150FA4151FA3153FA2
157FA215FFA25CA25C5CA25C5C5C5C91B5FC13035B131F017F91B712F00007BAFCBBFCA7
C74AC9FCB3B3AAF101FFB1616E17FE82A219076E17FC836EEE0FF871131F6E6EEB3FF071
137F6E6EEBFFE06EDAFF0313C06E92B512806E1700033F5D6F5D03075D030015E0041F14
80040001FCC7FC>72 132 124 258 90 I<DB0FF8F01FF0017FB594B6FCB74BB7FCA9D8
003F94C77E0107190FA26D85B3B3B063A463A263A27F6398B6FCA26DF001FB7015036EEF
07F3E00FE3806E6D151FE07FC314FF6E6D6CDAFF83EDFFC06E6E010313036E02FCEB3FFE
6E91B612FC020017F86F16E0031F16800303EDFE00DB007F14F8040102C093C8FC725E77
DC81>I<B90303B7FCA9D8000702F8CA000FEBFE006D6E050013E0666D6E6164826D5090
C7FC836E4F5AA26E6E4C5AA26E6E4C5AA26E6E5F1C3F836E4F5A836E4F5AA26E6E4B5BA2
6E6E4B90C8FCA26F6E5D1B07846F4D5A846F4D5AA26F6E4A5AA26F6E4A5AA26F6E5D1BFF
846F4C5B846F4C90C9FCA2706E485AA27002C05B1A0F7002E05B1A1F19F0704B5A19F870
4B5AA2706E485AA2706E5B96B5FC7093CAFCA3715CA2715CA2715CA2715CA3715CA2715C
A2715CA27191CBFCA2725AA3725A725A725A705D7BDB7B>I<B800FE017FB700F8023FB6
12F8A9D8000F02F0C8000702C0C9003FEBF800100313806D6E6F7390C7FC775E6D69706F
6E1607A26D6E6F6277160F6D6970706D161FA26E6E6F61516D163F6E687192B6167FA26E
68714A6F15FF6E68714A608A6E9DC8FC714A6F5C6E6771DA0FFD17078A6E06F86071021F
6F140F6E67714A486C161F8A6F4D6C5F72017F6F143F6F667249486C167F8A6F4D6C5F72
487113FFA26F02F04A6C4B5B4F17C06F4C6D94C9FCDEF807715AA26F02FC496D4B5A070F
17F06F4C6D5EDEFE1FEFF80FA26F02FF496E4A5A073F17FC704B6E5D07FFEFFE3FA2704B
6E4A5A1FFF704B6E5D20FFA27092C86C5DA2704A6F92CAFCA3704A6F5CA2704A6F5CA370
4A705BA27149705BA37149705BA27149705BA37190CA6C5BA271487190CBFC7148715A9D
5D7BDBA8>I<0003BC12F81CFCA51CF80480C7123F03F0C84814F048028018E04AC9B612
C04A5D02F04B15804A19004E5C4A5D4A4B5C6391C9485C604993B65A634D5D495D98C7FC
4D5C4D5C000F5E62494B5C4D5C94B6FC624C5D4C92C8FC5EC95D4C5C5E4C5C614C5C93B6
FC4B5D614B92C9FC5D4B5C604B5C5D4B4AEC07FC6092B65A5C604A92C8EA0FF84A5C5C5F
4A5C4A5C4A181F5F91B65A495D491AF094C9123F495C5B494A167F5E494A16FF496090B6
5A4C5D484B5D484F13E04892C95A4B5E484A93B5FC481803484A151F4B0203B6FC4891BA
FCBDFCA21CC0A47E565C7ADB67>122 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fw cmr10 10.95 87
/Fw 87 128 df<16E04B7EA24B7EA24B7EA24B7EA2ED1DFFA203387FA29238787FC01570
9238F03FE015E002016D7E15C002036D7E158002076D7E15004A6D7E140E021E6D7E141C
023C6D7F143802786E7E147002F06E7E5C01016F7E5C01036F7E5C01076F7E91C8FC496F
7E130E011E6F7E131C013C6F7F13380178707E137001F0707E5B0001717E5B0003717E5B
0007717E90CAFC48717E120E001E717E001FBAFC481980A24819C0A2BB12E0A243417CC0
4C>1 D<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907F09039
7FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7FC82AD
B97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
D<EC03FE91383FFF809138FE03E0903903F800F0D90FE013384948137C90393F8001FE90
387F00035B5BA2485A6F5AED007093C7FCAA16FEB7FCA33901FC000315011500B3AC486C
497EB5D8F87F13FCA32E407EBF33>I<EC03FF023F13EE9138FE01FEEB03F090380FE003
EB1FC0EB3F80EB7F005B5B150148481300AEB7FCA3D801FCC7FCB3AE486C497EB5D8F87F
13FCA32E407EBF33>I<DA03FE49B4FC91273FFF801F13C0913BFE03E07F01F0903C03F0
00F1FC0078D90FE0D97FF0131C49484948133E4948484913FF494848495A5B491500A248
485C03016E5A0300153896C7FCAA197FBBFCA3D801FCC738FE00018485B3AC486C496CEC
FF80B5D8F87FD9FC3F13FEA347407EBF4C>I<133E133F137F13FFA2EA01FEEA03FCEA07
F813F0EA0FE0EA1FC01380EA3E005A5A1270122010116EBE2D>19
D<EC3FC0903801FFF8903807E0FE90380FC03F90391F801F80D93F0013C0017EEB0FE001
FE14F0A24848EB07F8A8ED0FF0A216E0ED1FC0A2ED3F80ED7E004A5A00FFEB1FE0A2EC01
F80001EB007C153FED1F80ED0FC016E0ED07F0A2ED03F8A216FC150116FEA3150016FFAA
16FEEC1C01147F16FCA2ED03F816F0000390383C07E000FFEC0FC091381E1F8091380FFE
00C7EA03F028417EBF2D>25 D<001E130F397F803FC000FF137F01C013E0A201E013F0A3
007F133F391E600F3000001300A401E01370491360A3000114E04913C000031301010013
80481303000EEB070048130E0018130C0038131C003013181C1C7DBE2D>34
D<013F1603D9FFC04B7E2601E0E0150F2607C070151F48486C4BC7FC023E157E48486C15
FE48D90FC0EB03FC003ED90EF0EB0FF8DA0F3F13FD007E903A070FFFF1F0007C0200EB03
E0160000FC6D6C495A170F604DC8FC5F173E5F17FC5F4C5A1603007CD907005B4C5A007E
150F003E495C020E49C9FC003F5D6C49133E260F803C5B023813FC6C6C485B3A01E0E001
F03800FFC090273F0003E0133F90C70007ECFFC09339C001E0E0923A0F8007C070031F49
487E0400143C033E90381F001C037E497F037C133E4B150F0201027E7F4B137C4A5A0207
02FCEB03805D4A5A141F92C7FC143E147E147C5CA2495A0103037CEB07005C4948147E01
0F033E5B4A160E49C8123F496F5B013E92380F803C49173801FC6F6C5A49923801E0E049
6FB45A0160043FC7FC41497BC34C>37 D<EC0F80EC7FE0ECF870903803E0380107133CEC
C01CEB0F80011F131E150EA2EB3F00A55D1480A25D157815705D6D6C5A14C1ECC38002C7
CAFC02EE91387FFFFCEB0FEC14FC4A020713C06D48913801FE006E5DEF00F06D7E01074B
5A496C5D011D1503D939FF4A5A017093C7FC496D5B0001017F140E496C6C131E00036E13
1C2607801F143C000F6E5B001F6D6C1370263F000714F0486E485ADA03FE5B913801FF03
486D495A0487C8FCED7FCFED3FFE6F4814386D5C150F007F6E6C14786D6D6C1470003F4A
6C14F06D496C6C13E0001F91393E3FC0016C6C903AFC1FF003C03D07FC07F007FC1F8000
01B5D8C001B512006C6C90C7EA7FFCD90FF8EC0FF03E437CC047>I<121EEA7F8012FF13
C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A120E5A121812381230
0B1C79BE19>I<1430147014E0EB01C0EB03801307EB0F00131E133E133C5B13F85B1201
5B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C12FCB2127C127EA6123E
123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F133E131E7FEB07801303EB
01C0EB00E014701430145A77C323>I<12C07E12707E7E121E7E6C7E7F12036C7E7F1200
7F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A6130314F0B214E01307A614
C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B485A12075B48C7FC121E
121C5A5A5A5A145A7BC323>I<1506150FB3A9007FB912E0BA12F0A26C18E0C8000FC9FC
B3A915063C3C7BB447>43 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013
C0A312011380120313005A120E5A1218123812300B1C798919>I<B512FEA617067F961E>
I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>I<ED0180ED03C01507A21680
150FA216005DA2151E153EA2153C157CA2157815F8A25D1401A25D1403A25D1407A25D14
0FA24AC7FCA2141E143EA2143C147CA2147814F8A25C1301A25C1303A25C1307A25C130F
A291C8FC5BA2131E133EA25BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9
FC5AA2121E123EA2123C127CA2127812F8A25A1260225B7BC32D>I<EB01FE90380FFFC0
90383F03F090387C00F849137C48487F48487F4848EB0F80A2000F15C04848EB07E0A300
3F15F0A290C712034815F8A64815FCB3A26C15F8A56C6CEB07F0A3001F15E0A36C6CEB0F
C0A26C6CEB1F80000315006C6C133E6C6C5B017C5B90383F03F090380FFFC0D901FEC7FC
263F7DBC2D>I<EB01C013031307131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB7FF0
B612F8A31D3D78BC2D>I<EB07FC90383FFF8090B512E03903F01FF83907C007FC390F00
01FE001E6D7E001C1580003CEC7FC05AED3FE01270B4FC6DEB1FF07FA56C5A6CC7FC120C
C813E0153FA216C0157F168015FF16004A5A5D4A5A4A5A5D4A5A4A5A4AC7FC147E147C5C
495A495A495A495A49C71270133E133C5B4914E0485A485A485A48C7120148B6FCA25A48
15C0B7FCA3243D7CBC2D>I<EB07FC90383FFF809038F80FE03901E003F839078001FCD8
0F007F000E6D7E001E1580D81F80137F486C14C07FA27F5BA2121F6C5AC8138015FF1600
A24A5AA24A5A5DEC07E04A5A023FC7FCEB1FFCECFF809038000FE0EC07F86E7E6E7E6E7E
1680ED7FC0A216E0153FA216F0A2120C123F487E487EA316E0A249137F6CC713C01278ED
FF807E6C4913006C495A3907C007FC3903F80FF0C6B55A013F1380D907F8C7FC243F7CBC
2D>I<150E151E153EA2157EA215FE1401A21403EC077E1406140E141CA214381470A214
E0EB01C0A2EB0380EB0700A2130E5BA25B5BA25B5B1201485A90C7FC5A120E120C121C5A
A25A5AB8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403D80780131F01F813
FE90B5FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E03E09038
7001F8496C7E49137E497F90C713800006141FC813C0A216E0150FA316F0A3120C127F7F
12FFA416E090C7121F12FC007015C012780038EC3F80123C6CEC7F00001F14FE6C6C485A
6C6C485A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D>I<EC1FE0ECFFF8903803
F03E90380FC00F90391F000780133E017EEB1FC049133F4848137F12035B12074848EB3F
80ED1F00001F91C7FC5BA2123FA3485AA214FE903887FF8039FF8F07E090389C01F09038
B800FC01B0137E13F0497F16804914C0A2ED1FE0A34914F0A5127FA6123F6D14E0A2121F
ED3FC0A26C6C1480A20007EC7F006C6C137E6C6C5B6C6C485A90387E07F06DB45A010F13
80D903FCC7FC243F7CBC2D>I<1238123C123F90B612FCA316F85A16F016E00078C71201
0070EC03C0ED078016005D48141E151C153C5DC8127015F04A5A5D14034A5A92C7FC5C14
1EA25CA2147C147814F8A213015C1303A31307A3130F5CA2131FA6133FAA6D5A0107C8FC
26407BBD2D>I<EB03FC90381FFF8090387C07E09038F001F83901E0007C48487F48487F
48C7FCED0F80121E16C0003E1407A4123FA26DEB0F807F6C6C131F6D140001FC133E6C6C
5B9038FF80786C6D5A6CEBF3E06CEBFF806C91C7FC133F6D13C06D7F013F13F801787F48
486C7E3903E01FFF48486C1380260F800313C048487E489038007FE0003E143F007E141F
007CEC0FF01507481403A31501A46C15E0007C1403A2007E15C06C14076CEC0F806DEB1F
006C6C133ED807F05B3901FC03F86CB512E0011F1380D903FCC7FC243F7CBC2D>I<EB03
FCEB1FFF90387E07C09038FC03F048486C7E48486C7E4848137C000F147E4848137F8100
3F15805B007F15C0A2151F12FF16E0A516F0A5127F153FA36C7EA2001F147F120F6C6C13
FF6D13DF000313013900F8039F90387E0F1FD91FFE13E0EB07F090C7FCA2ED3FC0A41680
157FD80F801400487E486C13FEA24A5A5D49485AEB8007391E000FE0001F495A260FC07F
C7FC3803FFFE6C13F838003FC0243F7CBC2D>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E
00C7FCB3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779A619>I<007FB912E0BA12F0
A26C18E0CDFCAE007FB912E0BA12F0A26C18E03C167BA147>61 D<15074B7EA34B7EA34B
7EA34B7EA34B7E15E7A2913801C7FC15C3A291380381FEA34AC67EA3020E6D7EA34A6D7E
A34A6D7EA34A6D7EA34A6D7EA349486D7E91B6FCA249819138800001A249C87EA2498201
0E157FA2011E82011C153FA2013C820138151FA2017882170F13FC00034C7ED80FFF4B7E
B500F0010FB512F8A33D417DC044>65 D<B712FCEEFF8017F00001903980000FF86C6CC7
EA03FE707E701380EF7FC0EF3FE0A2EF1FF0A218F8A3170F171FA318F0A2EF3FE0177F18
C0EFFF804C1300EE03FCEE0FF8EE7FE091B6C7FC17E091C7EA07FCEE01FE933800FF80EF
7FC0EF3FE0EF1FF018F8170F18FC1707A218FEA718FC170FA2EF1FF818F0173FEF7FE0EF
FFC00403138048486C90380FFE00B85A17E094C7FC373E7DBD40>I<DB3FF01306912603
FFFE130E020F9038FF801E913A3FF007E03E9139FF8000F8D903FEC7EA7C7ED907F8EC1E
FE4948140FD93FE0140749481403495A91C812014848150012034848167E5B000F173EA2
4848161EA2123F5B180E127FA349160012FFAC127F7F180EA2123FA27F001F171E181C6C
7EA20007173C6D16386C6C1678000117706C6C16F06EEC01E06D6C15C06D6C1403D90FF0
EC07806D6CEC1F00D903FE143E902600FF8013F891393FF007F0020FB512C0020391C7FC
9138003FF037427BBF42>I<B712FCEEFF8017E000019039C0001FF86C6C48EB03FEEE00
FF717E717EEF0FE084717E717E170184717EA21980187F19C0A3F03FE0A519F0AB19E0A5
F07FC0A21980A218FF19004D5AA24D5A6017074D5A4D5AEF7FC04DC7FCEE03FE48486CEB
1FF8B85A178004FCC8FC3C3E7DBD45>I<B912E0A300019038C000016C6C48EB001FEF0F
F01703A217011700A31870A418381638A41800A21678A216F81501150791B5FCA3EC8007
150115001678A21638A2180EA3181C93C7FCA4183C1838A21878A318F8EF01F0A2170717
0F173F48486CEB03FFB912E0A3373E7DBD3E>I<B91280A300019038C000036C6C48EB00
7FEF1FC0170F1707A21703A31701A4EF00E0A21638A31800A31678A216F81501150791B5
FCA3EC8007150115001678A21638A693C8FCAF3801FFE0B612F0A3333E7DBD3B>I<DB3F
E0130C912603FFFE131C021F9038FF803C913A7FF00FC07C9139FF0001F0D903FC903800
78FC4948143DD91FE0141F4948140F4948140701FF15034890C8FC491501485A00071600
5B000F177C5B001F173CA2485AA2181C127FA25B95C7FC12FFAB041FB512F0127FA26D91
39000FFE00EF03FC123FA27F121FA26C7EA212077F12036C7E7F6C7F6D6C14076D7E6D6C
140FD907F8141ED903FEEC3C7C902600FF80EBF83C913A7FF007F01C021FB5EAC00C0203
91C8FC9138003FF03C427BBF47>I<B6D8C01FB512F8A3000101E0C7383FFC0026007F80
EC0FF0B3A691B7FCA30280C7120FB3A92601FFE0EC3FFCB6D8C01FB512F8A33D3E7DBD44
>I<B612F0A3C6EBF000EB3FC0B3B3B2EBFFF0B612F0A31C3E7EBD21>I<011FB512FCA3D9
000713006E5A1401B3B3A6123FEA7F80EAFFC0A44A5A1380D87F005B007C130700385C00
3C495A6C495A6C495A2603E07EC7FC3800FFF8EB3FC026407CBD2F>I<B600C090387FFF
FCA3000101E0C7000F138026007F80913807FE0018F818E0604D5A4DC7FC173E5F5F4C5A
4C5A4C5A4C5A4CC8FC163E5E5E4B5A4B5AED07804B7E151F4B7E4B7E15FF913881EFF891
3883C7FCEC878791388F03FE91389E01FF14BCDAF8007F4A6D7E5C4A6D7E4A6D7EA2707E
707EA2707E707EA2707F717E84173F717E717EA2717E848419802601FFE04A13C0B600C0
90B6FCA3403E7DBD47>I<B612F8A3000101E0C9FC38007F80B3B0EF0380A517071800A4
5FA35FA25F5F5F4C5A160748486C133FB8FCA3313E7DBD39>I<B500C093B512C0A30001
6D4BEBE000D8007F1880D977F0ED03BFA3D973F8ED073FA3D971FC150EA2D970FE151CA3
027F1538A36E6C1470A36E6C14E0A26E6CEB01C0A36E6CEB0380A36E6CEB0700A26E6C13
0EA36E6C5BA3037F5BA26F6C5AA36F6C5AA392380FE1C0A3923807F380A26FB4C7FCA36F
5AA213F8486C6D5AD807FFEFFFE0B500F80178017FEBFFC0A34A3E7CBD53>I<B56C91B5
12F88080D8007F030713006EEC01FC6E6E5A1870EB77FCEB73FEA2EB71FF01707FA26E7E
6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F
1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF7013F0A2177F173FA2
171F170FA2170701F81503487ED807FF1501B500F81400A218703D3E7DBD44>I<ED7FE0
913807FFFE91391FC03F8091397E0007E04948EB03F8D907F0EB00FE4948147F49486E7E
49486E7E49C86C7E01FE6F7E00018349150300038348486F7EA248486F7EA2001F188049
167F003F18C0A3007F18E049163FA300FF18F0AC007F18E06D167FA4003F18C0A26C6CEE
FF80A36C6C4B1300A26C6C4B5A00035F6D150700015F6C6C4B5A6D5E6D6C4A5A6D6C4A5A
6D6C4AC7FC6D6C14FED901FCEB03F8D9007FEB0FE091391FC03F80912607FFFEC8FC9138
007FE03C427BBF47>I<B712F8EEFF8017E000019039C0003FF86C6C48EB07FCEE01FE70
7EEF7F80EF3FC018E0A2EF1FF0A218F8A818F0A2EF3FE0A218C0EF7F80EFFF004C5AEE07
FCEE3FF091B612C04CC7FC0280C9FCB3A73801FFE0B612C0A3353E7DBD3E>I<ED7FE091
3807FFFE91391FC03F8091397F000FE0D901FCEB03F8D907F0EB00FE4948147F49486E7E
49486E7E49C86C7E498248486F7E49150300038348486F7EA2000F834981001F1880A248
48EE7FC0A3007F18E0A249163FA200FF18F0AC007F18E0A26D167FA3003F18C0A26C6CEE
FF80A3000F18006D5D0007DA0F805B6C6C90393FE003FCED70706C6C496C485A6C6C4848
6C485A017FD9800E5BD93F819038061FC0D91FC19038073F80D90FE14AC7FCD907F1EB03
FE902601FDC013F8903A007EE007E091271FF03FC013180207B5FC9139007FE1E0DB0001
143883711378A2706C13F0EFFF0318FFA27113E0A37113C0711380711300715AEF01F83D
527BBF47>I<B712C016FCEEFF800001D9C00013E06C6C48EB1FF0EE07FCEE01FE707E84
717EA2717EA284A760177F606017FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B500FCC8FC
16F091388001FCED003FEE1FC0707E707E83160383160183A383A484A4F0C004190EA282
18E0057F131E2601FFE0161CB600C0EB3FF094381FF83805071370CA3801FFE09438003F
803F407DBD43>I<D907FC131890391FFF8038017FEBE0783901FC03F83A03F0007CF8D8
07C0133F4848130F001F140748C7FC003E1403007E1401A2007C140012FC1678A46C1538
A27EA26C6C14007F7FEA3FF8EBFF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F
14E0010714F0EB007F020713F89138007FFC150FED07FE15031501ED00FFA200E0157FA3
163FA27EA3163E7E167E6C157C6C15FC6C15F86D13016DEB03F06DEB07E0D8F9FCEB0FC0
3AF07F803F8090391FFFFE00D8E00713F839C0007FC028427BBF33>I<003FB91280A390
3AF0007FE001018090393FC0003F48C7ED1FC0007E1707127C00781703A300701701A548
EF00E0A5C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B600C090B512F8A30001
01E0C70007130026007F80EC01FC715A1870B3B3A4013F16F06E5DA21701011F5E80010F
15036E4A5A010793C7FC6D6C5C6D6C141E6D6C5C027F14F86E6C485A91390FF00FE00203
B51280020049C8FCED1FF03D407DBD44>I<B691380FFFFEA3000301E0020113E06C0180
9138007F806CEF3F00017F163E181C6E153C013F1638A26E1578011F1670A26D6C5DA26E
140101075EA26E140301035EA26D6C4AC7FCA2806D150EA26F131E027F141CA26F133C02
3F1438A26E6C5BA26F13F0020F5CA2EDF80102075CA26E6C485AA2EDFE07020191C8FCA2
6F5A6E130EA2ED7F9CA216DCED3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD44>I<B500
FE017FB5D88007B5FCA3000301C0010101E0C713F86C90C849EC3FE07148EC0F807E7215
006E143F017F190E84A26D6C60A24D7E6D6C60A2EFE7F86D6C60A2933801C3FC6E18F001
076104037F6E0281140101036104077F17006D6C4D5AA2040EEB7F806D6C4DC7FCA24CEB
3FC0DA7F80160EA24CEB1FE003C0161E023F171C047814F0DBE070010F133C021F173804
F014F84C1307DA0FF05EA2DBF1C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF6F5AA293C8
FCA26E5FA24B157F020094C8FCA24B81037C153EA20378151E0338151C58407EBD5D>I<
007FB5D8C003B512E0A3C649C7EBFC00D93FF8EC3FE06D48EC1F806D6C92C7FC171E6D6C
141C6D6C143C5F6D6C14706D6D13F04C5ADA7FC05B023F13036F485ADA1FF090C8FC020F
5BEDF81E913807FC1C163C6E6C5A913801FF7016F06E5B6F5AA26F7E6F7EA28282153FED
3BFEED71FF15F103E07F913801C07F0203804B6C7EEC07004A6D7E020E6D7E5C023C6D7E
02386D7E14784A6D7E4A6D7F130149486E7E4A6E7E130749C86C7E496F7E497ED9FFC04A
7E00076DEC7FFFB500FC0103B512FEA33F3E7EBD44>I<B66C0103B51280A3000101F0C8
EBF8006C6C48ED3FC0725A013F041EC7FC6D7E606D6C15386D6C1578606D6C5D6E14016D
5E6D6D1303606E6C49C8FC6E6C5B170E6E6C131E171C6E6C5B6E6C137817706E6C13F06F
5B6E13016EEB83C05FED7FC7DB3FE7C9FC16EFED1FFE5E150F6F5AB3A4ED1FFC020FB512
FCA3413E7FBD44>I<003FB712F8A391C7EA1FF013F801E0EC3FE00180EC7FC090C8FC00
3EEDFF80A2003C4A1300007C4A5A12784B5A4B5AA200704A5AA24B5A4B5AA2C8485A4A90
C7FCA24A5A4A5AA24A5AA24A5A4A5AA24A5A4A5AA24990C8FCA2495A4948141CA2495A49
5AA2495A495A173C495AA24890C8FC485A1778485A484815F8A24848140116034848140F
4848143FED01FFB8FCA32E3E7BBD38>I<EAFFFCA4EAF000B3B3B3B3ABEAFFFCA40E5B77
C319>I<486C13C00003130101001380481303000EEB070048130E0018130C0038131C00
3013180070133800601330A300E01370481360A400CFEB678039FFC07FE001E013F0A300
7F133FA2003F131F01C013E0390F0007801C1C73BE2D>I<EAFFFCA4EA003CB3B3B3B3AB
EAFFFCA40E5B7FC319>I<EB0FF8EBFFFE3903F01F8039078007E0000F6D7E9038E001F8
D81FF07F6E7EA3157F6C5AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F803801FC00
EA07F8EA0FE0485A485AA248C7FCEE038012FEA315FFA3007F5BEC03BF3B3F80071F8700
261FC00E13CF3A07F03C0FFE3A01FFF807FC3A003FC001F0292A7DA82D>97
D<EA01FC12FFA3120712031201B1EC03FC91381FFF8091387C07E09039FDE001F09039FF
C000FC4A137E91C77E49158049141F17C0EE0FE0A217F0A2160717F8AA17F0A2160FA217
E0161F17C06D1580EE3F006D5C6E13FE9039F3C001F89039F1E003F09039E0780FC09026
C03FFFC7FCC7EA07F82D407EBE33>I<49B4FC010F13E090383F00F8017C131E4848131F
4848137F0007ECFF80485A5B121FA24848EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3
003FEC01C07F001F140316806C6C13076C6C14000003140E6C6C131E6C6C137890383F01
F090380FFFC0D901FEC7FC222A7DA828>I<ED01FC15FFA3150715031501B114FF010713
E190381F80F990387E003D49131FD803F81307485A49130348481301121F123F5B127FA2
90C7FCA25AAA7E7FA2123FA26C7E000F14037F000714076C6C497E6C6C497ED8007C0179
13F890383F01F190380FFFC1903A01FE01FC002D407DBE33>I<EB01FE90380FFFC09038
3F03F09038FC01F848486C7E4848137E48487F000F158049131F001F15C04848130FA212
7F16E090C7FCA25AA290B6FCA290C9FCA67EA27F123F16E06C7E1501000F15C06C6C1303
6DEB07806C6C1400C66C131E017E5B90381F80F8903807FFE0010090C7FC232A7EA828>
I<EC1FC0EC7FF8903801F83C903807E07E90380FC0FFEB1FC1EB3F811401137FEC00FE01
FE137C1500AEB6FCA3C648C7FCB3AE487E007F13FFA320407EBF1C>I<167C903903F801
FF903A1FFF078F8090397E0FDE1F9038F803F83803F001A23B07E000FC0600000F6EC7FC
49137E001F147FA8000F147E6D13FE00075C6C6C485AA23901F803E03903FE0FC026071F
FFC8FCEB03F80006CAFC120EA3120FA27F7F6CB512E015FE6C6E7E6C15E06C810003813A
0FC0001FFC48C7EA01FE003E140048157E825A82A46C5D007C153E007E157E6C5D6C6C49
5A6C6C495AD803F0EB0FC0D800FE017FC7FC90383FFFFC010313C0293D7EA82D>I<EA01
FC12FFA3120712031201B1EC01FE913807FFC091381E07E091387803F09138E001F8D9FD
C07F148001FF6D7E91C7FCA25BA25BB3A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA
01E0EA07F8A2487EA46C5AA2EA01E0C8FCACEA01FC127FA3120712031201B3AC487EB512
F0A3143E7DBD1A>I<1478EB01FEA2EB03FFA4EB01FEA2EB00781400AC147FEB7FFFA313
017F147FB3B3A5123E127F38FF807E14FEA214FCEB81F8EA7F01387C03F0381E07C0380F
FF803801FC00185185BD1C>I<EA01FC12FFA3120712031201B292B51280A392383FFC00
16E0168093C7FC153C5D5D4A5AEC07C04A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9F
E0140F496C7E01FC7F496C7E1401816E7E81826F7E151F826F7EA282486C14FEB539F07F
FFE0A32B3F7EBE30>I<EA01FC12FFA3120712031201B3B3B1487EB512F8A3153F7DBE1A>
I<2701F801FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B7803F03C01F80007
903BE001F87000FC2603F9C06D487F000101805C01FBD900FF147F91C75B13FF4992C7FC
A2495CB3A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C>I<3901F801FE00FF
903807FFC091381E07E091387803F000079038E001F82603F9C07F0001138001FB6D7E91
C7FC13FF5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14FF010713E090381F
81F890387E007E01F8131F4848EB0F804848EB07C04848EB03E0000F15F04848EB01F8A2
003F15FCA248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6C
EB07E06C6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFFF0010090C7FC282A
7EA82D>I<3901FC03FC00FF90381FFF8091387C0FE09039FDE003F03A07FFC001FC6C49
6C7E6C90C7127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3F
C06D1580EE7F007F6E13FE9138C001F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F8
91C9FCAD487EB512F8A32D3A7EA733>I<02FF131C0107EBC03C90381F80F090397F0038
7C01FC131CD803F8130E4848EB0FFC150748481303121F485A1501485AA448C7FCAA6C7E
A36C7EA2001F14036C7E15076C6C130F6C7E6C6C133DD8007E137990383F81F190380FFF
C1903801FE0190C7FCAD4B7E92B512F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC78
7CECE1FE3807F9C100031381EA01FB1401EC00FC01FF1330491300A35BB3A5487EB512FE
A31F287EA724>I<90383FC0603901FFF8E03807C03F381F000F003E1307003C1303127C
0078130112F81400A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0
D8003F13E0010313F0EB001FEC0FF800E01303A214017E1400A27E15F07E14016C14E06C
EB03C0903880078039F3E01F0038E0FFFC38C01FE01D2A7DA824>I<131CA6133CA4137C
A213FCA2120112031207001FB512C0B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2
EB7F03013F138090381F8700EB07FEEB01F81B397EB723>I<D801FC14FE00FF147FA300
0714030003140100011400B3A51501A31503120015076DEB06FF017E010E13806D4913FC
90381FC078903807FFE00100903880FE002E297DA733>I<B539E00FFFE0A32707FE0003
13006C48EB00FC5E00015D7F00005DA26D13016D5CA26D6C485AA2ECC007011F91C7FCA2
90380FE00EA2ECF01E0107131CA26D6C5AA2ECFC7801011370A2ECFEF001005BA2EC7FC0
A36E5AA26EC8FCA3140E2B287EA630>I<B53BC3FFFE03FFF8A3290FFE003FE00013C06C
486D48EB3F806C4817006D010F141E00016F131C15076D163C00004A6C1338A2017F5E4B
7E151DD93F805DED3DFC1538D91FC04A5AED78FE9238707E03D90FE0017F5BEDE03F02F0
140701070387C7FC9138F1C01F02F9148F010315CE9138FB800F02FF14DE6D15FCED0007
6D5DA24A1303027E5CA2027C1301023C5C023813003D287EA642>I<B539F01FFFE0A300
03D9C00F1300C690388007F8D97F0013E002805BD93FC05B011F49C7FC90380FE00EECF0
1E6D6C5A01035B6D6C5A6E5AEB00FF6E5A6E5A81141F814A7E81147BECF1FC903801E1FE
ECC0FF01037F49486C7ED90F007F011E6D7E013E130F496D7E01FC80486C80000F4A7EB5
39803FFFF8A32D277FA630>I<B539E00FFFE0A32707FE000313006C48EB01FC6F5A0001
5D7F00005DA2017F495AA2EC8003013F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2EC
F83C01031338A26D6C5AA2ECFEF001005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C
143C1438A2147800181370127EB45BA2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8
EA07E02B3A7EA630>I<001FB61280A2EBE0000180140049485A001E495A121C4A5A003C
495A141F00385C4A5A147F5D4AC7FCC6485AA2495A495A130F5C495A90393FC00380A2EB
7F80EBFF005A5B484813071207491400485A48485BA248485B4848137F00FF495A90B6FC
A221277EA628>I<B812F0A22C0280982D>I<001C130E007FEB3F8039FF807FC0A5397F00
3F80001CEB0E001A0977BD2D>127 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fx cmr12 12 23
/Fx 23 128 df<B8FC17F017FC00019039C00007FF6C499038007FC0017FED1FE0EF07F0
EF03FC717E717E84727E727E727EA2727E85180385A2180185A38584A31A80AD1A00A360
61A361180361180761180F614E5A183F614EC7FC18FEEF03FC4D5AEF1FE001FFED7FC048
6DD907FFC8FCB812FC17F094C9FC41447CC34B>68 D<B912F0A3000101C0C7127F6C6C48
EC0FF817031701170018781838A2181CA3180CA4180E1806160CA21800A5161CA2163C16
7CED01FC91B5FCA3EC8001ED007C163C161CA2160CA793C8FCB08048487EB612F8A33744
7CC340>70 D<B56C933807FFFC6E5EA20001F1FE0026006FE0EE1BF8A3D967F01633A2D9
63F81663A3D961FC16C3A3D960FEED0183A2027FED0303A36E6C1406A36E6C140CA26E6C
1418A36E6C1430A36E6C1460A26E6C14C0A36E6CEB0180A3037FEB0300A292383F8006A3
6F6C5AA36F6C5AA26F6C5AA36F6C5AA36F6C5AA26FB45AA370C7FC13F0A2486C143ED80F
FFEF0FFEB500F0011C0107B512FCA34E447BC359>77 D<003FB912F8A3903BF0001FF800
1F01806D481303003EC7150048187C0078183CA20070181CA30060180CA5481806A5C816
00B3B3A54B7EED7FFE49B77EA33F447DC346>84 D<B600C0010FB5FCA3000101E0C813F0
26007F80ED1F80F00F00A21806B3B3A7180E6D6C150CA2181C131F6E1518010F16381830
6D6C1570606D6C14016D6C5D6D6CEC0780027F4AC7FC6E6C131EDA1FE0137C913907FC03
F00201B55A6E6C1380DB07FCC8FC40467CC349>I<EB07FC90383FFF809038F80FE03903
C003F048C66C7E000E6D7ED80FC0137E486C137F6D6D7EA36F7EA26C5AEA0380C8FCA4EC
0FFF49B5FC90380FFE1FEB3FC0EBFF00EA03FC485A485A485A485A127F5B176048C7FCA3
153FA36D137F007F14EF6D9038C7E0C0003F13013A1FE00783F13B07F81E03FF802701FF
FC0113003A001FE0007C2B2E7CAC31>97 D<EA01FC12FFA3120712031201B3EC03FC9138
0FFF8091383C07E091387001F89039FDE0007E02807F01FFEC1F8091C713C049EC0FE049
140717F0A2EE03F8A217FCA2160117FEAB17FC1603A217F8A2EE07F0A26DEC0FE017C06D
141F01FBEC3F80D9F380EB7E00D9E1C05B9039E0F001F89039C03C07E09039801FFF80C7
D803FCC7FC2F467DC436>I<EC7F80903803FFF090380FC07C90383F000F01FCEB038048
48EB01C00003140F4848EB1FE049133F120F485AA2485AED1FC0007FEC070092C7FCA290
C9FC5AAB7E7FA2123F16307F001F15706C6C146016E06C6C14C06C6C13010001EC03806C
6CEB0700013F131E90381FC078903807FFF001001380242E7DAC2B>I<167FED3FFFA315
018182B3EC7F80903803FFF090380FC07C90383F000E017E1307496D5AD803F87F48487F
5B000F81485AA2485AA2127FA290C8FC5AAB7E7FA2123FA26C7EA2000F5D7F6C6C5B0003
5C6C6C9038077F806C6C010E13C0013F011C13FE90380FC0F8903803FFE09026007F0013
002F467DC436>I<EB01FE903807FFC090381F03F090387E00FC49137E48487F485A4848
EB1F80000F15C049130F121F484814E01507A2007F15F090C7FCA25AA390B6FCA290C9FC
A67EA27FA2123F16306C7E1670000F15606D14E06C6C14C0000314016C6CEB03806C6CEB
0700013E131E90381F80F8903803FFE0010090C7FC242E7DAC2B>I<EA01FC12FFA31207
12031201B3EC01FE913807FFC091381E07F091383801F802707FECE000D9FDC07F5C01FF
147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F457DC436>104
D<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA3120712031201B3B0487E
B512F8A315437DC21C>I<EA01FC12FFA3120712031201B3A292381FFFE0A36F1300ED07
F816E05E5E030EC7FC5D5D5D5D4A5A4A5A4AC8FC5CEC3F804A7E14FF9038FDCFE09038FF
8FF01407496C7E01FC7F14016E7E81816F7E82151F6F7E821507826F7E8282486C491380
B5D8F81F13F8A32D457DC433>107 D<EA01FC12FFA3120712031201B3B3B3A5487EB512
F8A315457DC41C>I<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03F801E07F913C
3C01FC07803F800007903C7000FE0E001FC0000349D97E1C130F2601FDC0D97F38804A14
3001FFDA3FF06D7E91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB50003B512E0A3
4B2C7DAB52>I<3901FC01FE00FF903807FFC091381E07F091383801F8000701707F0003
EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F2C
7DAB36>I<EC7F80903803FFF090380FC0FC90383E001F496D7E496D7E48486D7E48486D
7E48486D7E000F81A24848147E003F157FA290C87E481680A44816C0AA6C1680A26D147F
003F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C6C495A013E49
C7FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3901FC03FC00FF90380FFF80
91383C07E091387001F83A07FDE000FE00030180137FD801FFEC3F8091C7EA1FC04915E0
49140F17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D15E0EE1FC0
6D143F17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03FCC7FC91C9
FCAE487EB512F8A32F3F7DAB36>I<3903F803F000FFEB1FFCEC3C3EEC707F0007EBE0FF
3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA3202C7DAB26>
114 D<90383FE0183901FFFC383907E01F78390F0003F8001E1301481300007C14781278
00F81438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14C06C14E0C6
14F0011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C6C147C1578
6C14F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26>I<1306A5
130EA4131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4150CAA017E
131C017F1318A26D133890381F8030ECC070903807E0E0903801FFC09038007F001E3E7E
BC26>I<B539F001FFFCA3000790C7EA7FE06C48EC1F8000011600160E1200160C017F5C
A280013F5CA26E1370011F146080010F5CA2ECF00101075CA26D6C48C7FCA26E5A010113
06A26D6C5AA214FF6E5AA215B8EC3FB015F06E5AA36E5AA26E5AA36EC8FC2E2C7EAA33>
118 D<001EEB0780007FEB0FE039FF801FF0EBC03FA4EB801F397F000FE0001EEB07801C
0A76C231>127 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fy cmcsc10 12 9
/Fy 9 118 df<DB03FF140C033F01F0131C4AB500FC133C91390FFE007FDA1FF090380F
C07CDA7F80903803E0FC4948C812F0D903FC15794948153FD91FF0151F4948150F494815
074A150349C9FC48481601120349160012074848177CA24848173CA2123FA249171C127F
A319005B12FFAC127F7FA2191CA2123F7FA2001F183C19386C7EA26C6C1778000318706D
17F0000118E06C6C16016D6C16C06E15036D6CED07806D6CED0F00D907F8151E6D6C5D6D
B45D6D6C6C495ADA1FF0EB07C0DA0FFEEB7F800201B500FEC7FCDA003F13F0030313803E
4879C54E>67 D<B500F094381FFFFEA26E5FC6F2FE00017F61D93BFCEF77F8A2D939FE17
E7A3D938FFEE01C7A26E6CED0387A36E6CED0707A26E6C150EA26E6C151CA36E6C1538A2
6E6C1570A36E6C15E0A26E6CEC01C0A36F6CEB0380A26F6CEB0700A26F6C130EA36F6C5B
A26F6C5BA36F6C5BA26F6C5BA36F6C485AA293387F8380A2DC3FC7C7FCA3EE1FEEA2EE0F
FCA3017C6E5AA248B46E484A7E000701C04D7EB500FE041FB512FE705AA257447BC363>
77 D<157015F8A34A7EA24A7EA34A7E81A291380E3F80A2021E7FEC1C1FA24A6C7EA34A
6C7EA202F07FECE003A249486C7EA349486C7EA201078091C77EA249B67EA24981011CC7
121FA2013C810138140FA2496E7EA201F081491403120183486C140100074B7ED81FF84A
7EB5027F13F8A335357CB43D>97 D<90383FFFFEA39038007FE0EC1FC0B3B1127EB4FCA4
EC3F805A0070EB7F006C137E001E5B380F83F83803FFE0C690C7FC1F347BB22A>106
D<B500F890380FFFF0A3D803FEC76C13806C48913803FC0017F04C5A5F4CC7FC161E5E5E
5EED03E04B5A4B5A4BC8FC153E5D15F014014A7E4A7E140F4A7EEC7CFF4A6C7EEBFDF090
39FFE03FC04A6C7EEC800FD9FE007F496D7E6F7EA26F7E6F7E8283707E707EA2707E707E
83160383486C913807FF80B500F8011F13F8A335337BB23F>I<D8FFFC91383FFFE07FA2
D801FF020713006EEB01FC6E6D5A1770EBDFE0EBCFF013C780EBC3FC13C180EBC0FF8081
6E7E6E7EA26E7E6E7E1403816E7E140081ED7F80ED3FC0A2ED1FE0ED0FF0150716F8ED03
FC150116FEED00FF167F17F0163F161FA2160F1607486C1403487ED81FFC1401B56C1300
A2177033337BB23D>110 D<B612F8EDFF8016E03A03FE000FF86C48EB03FEED00FF707E
707E83161FA283A55FA24C5A5F4CC7FC16FEED03FCED1FF090B6128003FCC8FC9038FC00
3FED0FC06F7E6F7E6F7E82150082A382A383A4EFC01CA2167FEFE03C486C023F1338B500
F890381FF07893380FF8F0933803FFE0CAEA7F8036347BB23C>114
D<90390FF0018090387FFE0348B512873907F00FEF390FC001FF48C7FC003E143F151F5A
150F5A1507A36C1403A27E6C91C7FC6C7E7FEA3FF8EBFF806C13FC6CEBFFC06C14F06C80
C614FE011F7F01031480D9001F13C014019138003FE0151F150FED07F0150312E01501A3
7EA216E06C1403A26CEC07C06CEC0F806C6CEB1F0001E0133ED8FBFE13FC00F0B55AD8E0
1F13E0D8C00390C7FC24357BB32E>I<B500F890383FFFE0A3D803FEC7000713006C48EC
01FC705A1770B3AE000016F06D5DA2017E1401017F4A5A7F6D6C495A6E49C7FC6D6C131E
D903F0137C903901FE03F89039007FFFE0021F1380DA03FCC8FC33347BB23D>117
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fz cmbx12 14.4 50
/Fz 50 128 df<EDFFFE020FEBFFE0023F14FC91B7FC0103D9F01F7F49D9800713E049D9
00017F49486D7F495A4A6E7E017F82A24A143F01FF82A84D5AA260A24D5A4C5B6004075B
041F5B047F90C7FCB590380FFFFC4B13F017C017F003007FC6ED1FFE707E04037F707F70
7F84717E84173F84171F84A2711380A319C0A283A219E0AC19C0ED0F80ED1FE0033F5BDB
7FF01480A219004D5AA24C485A6F48485AB54A485ADB1FC35B6FB512806F91C7FC6F13F8
C913C03B557BD345>25 D<151E153E157E15FCEC01F8EC07F0EC0FE0EC1FC01580143FEC
7F0014FE1301495A5C1307495AA2495A133F5C137FA2495AA24890C7FCA25A5BA21207A2
485AA3121F5BA3123FA25BA3127FA55B12FFB3A3127F7FA5123FA37FA2121FA37F120FA3
6C7EA21203A27F7EA26C7FA26D7EA2133F80131F6D7EA26D7E1303806D7E1300147FEC3F
80141F15C0EC0FE0EC07F0EC01F8EC00FC157E153E151E1F7973D934>40
D<127012F8127C127E7EEA1FC06C7E6C7E12037F6C7E6C7E7F6D7E133F806D7EA26D7E80
130780A26D7EA26D7EA215807FA215C0A2EC7FE0A315F0143FA315F8A2141FA315FCA514
0F15FEB3A315FC141FA515F8A3143FA215F0A3147F15E0A3ECFFC0A21580A25B1500A249
5AA2495AA25C130F5C495AA2495A5C137F49C7FC5B485A485A5B1207485A485A48C8FC12
7E127C5A12701F7979D934>I<171FA24D7EB3B3A4007FBD1280A2BE12C0A36C1C80A2CA
D83F80CAFCB3B3A471CBFCA25A5B79CA69>43 D<B712F0AB240B7F9F2D>45
D<EA07F0487E487E487E487EB51280A76C13006C5A6C5A6C5A6C5A1111769025>I<EF01
E01703EF07F0A2170FA2EF1FE0A218C0173FA2EF7F80A218005FA24C5AA25F1603A24C5A
A25F160FA24C5AA25F163FA24C5AA294C7FC5EA24B5AA25E1503A24B5AA25E150FA24B5A
A25E153FA24B5AA293C8FC5DA24A5AA25D1403A25D1407A24A5AA25D141FA24A5AA25D14
7FA24AC9FCA25C1301A2495AA25C1307A2495AA25C131FA2495AA25C137FA249CAFCA25B
1201A2485AA25B1207A2485AA25B121FA2485AA25B127FA248CBFCA25AA2127CA2347879
D943>I<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7FCB3B3
B3A6007FB712FEA52F4E76CD43>49 D<EC3FFE0103B512E0010F14FC013F14FF90B712C0
48D9C07F7F2703FE000F13F8D807F801037FD80FE06D7F48486D7F48488001F01680486C
6E13C07F486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03C0C914E05EA218C05E1880
A24C13005F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48C8FC4A
5A5D4A48EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A495A495AD91F80140749C8FC
013E150F017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A4344E79CD43>I<91380FFFC0
91B512FC0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803F86E7E
491680D807FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC
4C13005FA24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713
E0030113F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FEA2EA03
E0EA0FF8487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F04A13C0
6C484A1380D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F1580010302FCC7
FCD9001F1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167FA216FF
5D5DA25D5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC1F005C
147E147C5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A485A90
C8FC123E127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>I<D80380150ED8
07E0157E01FEEC03FED9FFF0137F91B65A5F5F5F5F5F94C7FC5E5E16F016C093C8FC15F8
01E190C9FC01E0CAFCABEC0FFF027F13F001E3B512FE01E76E7E9026FFF8077FDAC0017F
49C713F8496E7E49143F4981496E7E6C481680C9FC18C08218E0A418F0A3EA0FE0487E48
7E487E487EA418E0A35B6C484A13C05B491680003EC85A003F17006C6C4A5A6D5D6C6C4A
5AD807F8495BD803FE01075B2701FFC03F5B6C90B65A013F4AC7FC6D14F8010314C09026
007FF8C8FC344F79CD43>I<ED0FFF92B512E0020780021F14FC91397FFE03FE903A01FF
F0007F4901C0EB3F804990C7121F4948EC7FC0494814FF49484913E049485B01FF5C485B
A2485B5AA2486F13C04A6D1380486F1300177E94C7FC5AA291CAFC5AA21508913801FFF8
020713FFB54814C04A14F04AC66C7E023C6D7E4A6D7E4A6D7E7013804A15C0A24A15E070
13F05C18F8A491C714FCA37EA67EA46C17F880A27E18F06C5D18E06C6D15C07E6E491380
6C6D15006D6C495A6D6CEB7FFC6DB448485A6D90B55A010315C0010092C7FC023F13FC02
0713C0364F7ACD43>I<913807FFC0027F13FC0103B67E010F15E090261FFC0113F8903A
3FE0003FFCD97F80EB0FFE49C76C7E48488048486E1380000717C04980120F18E0177FA2
121F7FA27F7F6E14FF02E015C014F802FE4913806C7FDBC00313009238F007FE6C02F85B
9238FE1FF86C9138FFBFF06CEDFFE017806C4BC7FC6D806D81010F15E06D81010115FC01
0781011F81491680EBFFE748018115C048D9007F14E04848011F14F048487F4848130303
0014F8484880161F4848020713FC1601824848157F173FA2171FA2170FA218F8A27F007F
17F06D151FA26C6CED3FE0001F17C06D157F6C6CEDFF806C6C6C010313006C01E0EB0FFE
6C01FCEBFFFC6C6CB612F06D5D010F1580010102FCC7FCD9000F13C0364F7ACD43>56
D<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA34C8083047F80167E8304
FE804C7E03018116F8830303814C7E03078116E083030F814C7E031F81168083033F8293
C77E4B82157E8403FE824B800201835D840203834B800207835D844AB87EA24A83A3DA3F
80C88092C97E4A84A2027E8202FE844A82010185A24A820103854A82010785A24A82010F
855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65 D<BA12C019FEF1FFC01AF0
1AFCD8000701F0C7000313FFDE007F7F737F070F7F737F878587858785A287A84F5BA263
616361634F5B4F5B077F90C7FC4E485A060713F892B812E097C8FC861AF003F0C7000313
FE9539003FFF80070F13E0737F07017F87737F747E1C807413C0A27413E0A31CF0A386A3
62A31CE0A2621CC0A250138097B5FC1C004F5B19074F5B073F13F04EB55ABC128098C7FC
1AF81AC007F8C8FC54527CD160>I<932601FFFCEC01C0047FD9FFC013030307B600F813
07033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF9
4A01800203B5FC494848C9FC4901F8824949824949824949824949824990CA7E494883A2
484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280
A2F307C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D
4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07
FE020F01FEEC1FF80203903AFFE001FFF0020091B612C0033F93C8FC030715FCDB007F14
E0040101FCC9FC525479D261>I<BA7E19FCF1FF801AF01AFCD8000701F0C7000F13FF06
0014C0071F7F070713F807017F737F747E747F747F86747F747F8886888688A2757EA31D
8087A21DC0A51DE0A387A963A31DC0A51D80A2631D00A3515AA2646264505B6264505B50
5B5090C7FCF2FFFE4F5B07075B071F5B96B512C0060F91C8FCBB5A1AF01AC007FCC9FC19
805B527CD167>I<BC1280A5D8000701F8C7000114C0F0001F19071901851A7F1A3F1A1F
A2F20FE0A21A07A31A03A318F81BF01A01A497C7FC1701A317031707170F177F92B6FCA5
9238F8007F170F170717031701A317001B3EA31B7CA395C8FCA21BFCA21BF8A21A01A31A
031BF01A071A0FA21A1F1A3FF27FE0F101FF1907191F0603B5FCBCFCA21BC0A34F517CD0
58>I<BB12FEA5D8000701F8C700077FF0007F191F190785858586861B80A21A1FA31A0F
A41BC006F81307A497C7FCA31701A317031707170F177F92B6FCA59238F8007F170F1707
17031701A31700A795C9FCB3B812F8A54A517CD055>I<932601FFFCEC01C0047FD9FFC0
13030307B600F81307033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7383FF0
FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F882494982494982494982494982
4990CA7E494883A2484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA298C8FC
5CA2B5FCAE6C057FB712E0A280A36C94C7003FEBC000A36C7FA36C7FA27E6C7FA26C7F6C
7FA26D7E6D7F6D7F6D6D5E6D7F6D01FC93B5FC6D13FF6D6C6D5C6E01F0EC07FB020F01FE
EC1FF10203903AFFF001FFE0020091B6EAC07F033FEE001F030703FC1307DB007F02E013
01040149CAFC5B5479D26A>I<B812C0A5D8000701F8C7FCB3B3B3B2B812C0A52A527CD1
32>73 D<027FB71280A591C76C90C7FCB3B3B3EA07F0EA1FFC487E487EA2B57EA44C5AA3
4A485B7E49495BD83FF8495BD81FE05DD80FFC011F5B2707FF807F90C8FC000190B512FC
6C6C14F0011F14C0010101F8C9FC39537DD145>I<B800C091B612F8A5D8000701F8C900
03EBF8009738007F8051C7FC505AF203F8F20FF0505A505A505A50C8FCF101FCF107F84F
5A4F5A4F5A4F5A07FEC9FCF003FC4E5A4E5A4E5A4E5A4E5ADD01FECAFC4D5A4D5A4D5A4D
7E173F4D7E4C487E4C7F5E4C804C804C80EEFF7F9226F9FE3F7FDBFBFC809226FFF81F7F
4C7EDCC0077F0480804C7E4B6D804B6D804B8284727F727F8684727F727F878472808773
7F85737F87737F85737F88857380747F888697B512FCB800C0013FECFFFEA55F527CD169
>I<B812F8A5D8000701F8CAFCB3B3A91A7CA41AFC1AF8A51901A31903A219071AF0190F
A2191F193F197F19FF180360183F4DB5FCBB12E0A546527CD151>I<BAFC19F819FF1AE0
86D8000701F0C7001F13FC060113FF726C13807313C0070F13E01BF0857313F81BFCA273
13FEA41BFFA81BFEA31BFC61A21BF84F13F04F13E0614F13C04F13004E485A061F5B92B8
12F01AC04FC7FC19E003F8CBFCB3AEB812C0A550527CD15C>80 D<91260FFF80130791B5
00F85B010702FF5B011FEDC03F49EDF07F9026FFFC006D5A4801E0EB0FFD4801800101B5
FC4848C87E48488149150F001F824981123F4981007F82A28412FF84A27FA26D82A27F7F
6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFFC017F06C16FC6C16FF6C17C06C83
6C836D826D82010F821303010082021F16801400030F15C0ED007F040714E01600173F05
0F13F08383A200788200F882A3187FA27EA219E07EA26CEFFFC0A27F6D4B13806D17006D
5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFFC003FFE0486C90B65AD8FC0393C7
FC48C66C14FC48010F14F048D9007F90C8FC3C5479D24B>83 D<B700FE031FB512FEA5D8
001F01F0CA383FFE00F307F06D626F170F6D62811B1F6D6D601B3F6D97C7FC6F5F6D197E
821BFE6E6D5E1A016E6D5E1A036E60701507A26E6D5E1A0F6E6D5E1A1F6E6070153FA26E
6D93C8FC626E6E147E1AFE6F5E711301A26F6D5C19036F6D5C19076F5E71130FA26F6D5C
191F6F6D5C193F6F93C9FC715BA26FEC807E19FE706D5A18C1705C18E3705C18F318F770
EBFFE0A2705CA2705CA37091CAFCA2705BA2715AA3715AA2715AA2715A715A5F537DD166
>86 D<EC7FFF0107B512F0013F14FE90B77E48D9E00F7F2703FE000113F0486C6D7F6EEB
3FFC48826E131F83707FA36C496D7FA26C90C7FC6C5AC9FCA6037FB5FC020FB6FC91B7FC
01071487013FEBF0074913803901FFFC004813F0485B485B485B4890C7FC5A5BA2485AA4
5EA26D5C007F151D163D6C6C02797F6C6D01F113F86C9026C003E1EBFFE06C9026F81FC0
14F06C90B5487EC6ED001F011F01FC010713E0010101E090C8FC3C387CB641>97
D<EB3FF0B5FCA51203C6FCB3A4923801FFE0030F13FE033FEBFFC092B612F002F301017F
913AF7F8003FFEDAFFE0EB0FFF03806D7F92C76C7F4A6E7F4A824A6E7FA2727EA285A285
84A31A80AC1A00A44E5AA36118FF616E4A5BA26E4A5B6E4A5B6F495BDACFC04990C7FCDA
87F0EB7FFC913A03FE03FFF849C6B612E0496D148049011F01FCC8FC90C7000313C04154
7BD24B>I<913801FFF8021FEBFF8091B612F0010315FC010F9038C00FFE903A1FFE0001
FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC486F1300705A48
92C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F6CEE1F806C6DEC
3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A01001580023F49C7FC
020113E033387CB63C>I<4DB47E0407B5FCA5EE001F1707B3A4913801FFE0021F13FC91
B6FC010315C7010F9038E03FE74990380007F7D97FFC0101B5FC49487F4849143F484980
485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA26C7F5F6C6D5C7E6C6D5C6C
6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF6D90B5128F0101ECFE0FD9
003F13F8020301C049C7FC41547CD24B>I<913803FFC0023F13FC49B6FC010715C04901
817F903A3FFC007FF849486D7E49486D7E4849130F48496D7E48178048497F18C0488191
C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7EA218E06CEE01
F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00D91FFEEB03FE
903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D>I<ED3FFC02
03B5FC020F14C0023F14E09139FFF81FF0499038C03FF849EB807F49903800FFFC495A49
5AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712E0A526007FF8C8FCB3B3A7007FB5
12FEA52E547CD329>I<DA3FFF14FF0103B5D8F00713C0010FDAFC1F13E0013FECFF7F90
267FFC0F9038FF9FF09026FFE001EBF83F48496C13E0484990387FF01F4890C7D83FF813
E0489338FC0FC0F0078048486E6CC7FCA2003F82A9001F5EA26C6C4A5AA26C5E6C6D495A
6C6D495A6C6D485BDAFC0F5B4890B6C8FCD803EF14FC01C314F02607C03F90C9FC91CBFC
A2120FA37FA213F813FE90B7FC6C16F817FF18C06C836C836C836D828448B9FC12074848
C700031480D81FF8EC003F4848150748486F13C083485A83A56D5D007F18806D5D003F18
006C6C4B5AD80FFEED1FFC6C6C6CEC7FF86C01E049485A6C01FE011F5B6C6CB71280010F
03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543>I<EB3FF0B5FCA51203C6FCB3A4EE1F
FC93B512C0030314F0030F8092391FE07FFC92393F001FFE037C8003F07FDAF1E081ECF3
C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542537BD24B>I<137F497E
000313E0487FA2487FA76C5BA26C5BC613806DC7FC90C8FCADEB3FF0B5FCA512017EB3B3
A6B612E0A51B547BD325>I<EB3FF0B5FCA51203C6FCB3A54CB512F8A59339003FFE00EF
1FF0EF3FC04D5A4DC7FCEE03FEEE07F84C5A4C5AEE7FC04CC8FC4B5A4B5AED0FF8ED1FE0
4B7E4B7EECF1FF02F37F02F77F91B6FC83159F030F7F02FE80DAF8077F4A7E6F7F6F7F83
707E82707F84707F707F82707F84707F177F717E4D13C0B6D8F003B6FCA540537CD247>
107 D<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C537BD225>I<D93FF0D91FFCEDFFE0
B591B500C0010713FE030302F0011F6D7E030F6E017F8092271FE07FFCD9FF037F922A3F
001FFE01F8007F0003027C9126FF03E080C602F06DD90780137FDAF1E0038FC77FDAF3C0
159EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5EA44A5EB3ACB6D8F807B6D8C03FB5
12FEA567367BB570>I<D93FF0EB1FFCB591B512C0030314F0030F8092391FE07FFC9239
3F001FFE0003027C80C602F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3AC
B6D8F807B612C0A542367BB54B>I<913801FFE0021F13FE91B612C0010315F0010F9038
807FFC903A1FFC000FFED97FF86D6C7E49486D7F48496D7F48496D7F4A147F48834890C8
6C7EA24883A248486F7EA3007F1880A400FF18C0AC007F1880A3003F18006D5DA26C5FA2
6C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C495BD93FFE011F90C7FC903A0FFF80
7FFC6D90B55A010015C0023F91C8FC020113E03A387CB643>I<903A3FF001FFE0B5010F
13FE033FEBFFC092B612F002F301017F913AF7F8007FFE0003D9FFE0EB1FFFC602806D7F
92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A4721380AC1A0060A36118FFA2615F61
6E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC9126FBFE075B02F8B612E06F14
80031F01FCC8FC030313C092CBFCB1B612F8A5414D7BB54B>I<90397FE003FEB590380F
FF80033F13E04B13F09238FE1FF89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF
150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>114
D<903903FFF00F013FEBFE1F90B7FC120348EB003FD80FF81307D81FE0130148487F4980
127F90C87EA24881A27FA27F01F091C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C
816C816C81C681013F1580010F15C01300020714E0EC003F030713F015010078EC007F00
F8153F161F7E160FA27E17E07E6D141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FF
C00FFC6DB55AD8FC1F14E0D8F807148048C601F8C7FC2C387CB635>I<143EA6147EA414
FEA21301A313031307A2130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE
07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B0203
13802A4D7ECB34>I<D93FF8913801FFC0B50207B5FCA50003ED001FC61607B3AE5FA35F
A2017F5D173B177B6D6C14F3DC01E313F06D6CD907C3EBFFC0903A0FFFC03F836D90B512
03010114FE6D6C13F8020701E091C7FC42377BB54B>I<B600F00107B5FCA5000101F8C8
EA7FE06C6DED3F00A2017F163E6E157E013F167C6E15FC6D5E6F13016D5E8117036D5E6F
13076D5E6F130F6D5E6F131F6D93C7FC815F6E6C133E177E023F147C6F13FC6E5C16816E
5C16C3A26EEBE3E016E76E5C16FF6E5CA26E91C8FCA26F5AA36F5AA26F5AA26F5AA26F5A
6F5A40367DB447>I<B600F00107B5FCA5C601F8C8EA7FE06EED3F00A26D6C153E187E01
3F167C6E15FC6D5E6F13016D5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F
5B027F143E6F137E023F147C6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E
5CA26E91C8FCA36F5AA26F5AA26F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD81FC013
3E486C137E486C137C486C13FC5D14015D14034A5A6C48485A49485A263FC07FCAFCEB81
FE6CB45A6C13F000035BC690CBFC404D7DB447>121 D<D807E0EB01F8D80FF8EB07FCD8
3FFC49B4FC486C4913806D5BB515C0A66C1680497F6C486D1300D80FF8EB07FCD807E0EB
01F82A1074D343>127 D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%BeginPaperSize: a4
a4
%%EndPaperSize
%%EndSetup
%%Page: 0 1
0 0 bop 494 415 a Fz(ElGamal-V)-11 b(ersc)l(hl)1481 421
y(\177)1477 415 y(usselung)46 b(mit)f(elliptisc)l(hen)i(Kurv)l(en)718
673 y(\177)714 667 y(ub)t(er)e(K)1134 673 y(\177)1134
667 y(orp)t(ern)f(der)h(Charakteristik)i(gr)2821 673
y(\177)2821 667 y(o\031er)e(3)1553 1814 y Fy(Markus)38
b(Crnjak)1596 3143 y @beginspecial 125 @llx 0 @lly 470
@urx 413 @ury 850 @rwi @clip @setspecial
%%BeginDocument: Pics/athene.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Title: c:\tmp\athene.eps
%%Creator: Micrografx Graphics Engine
%%CreationDate: Tue Nov 25 14:11:00 1997
%%BoundingBox: 125 0 470 413
%%Pages: (atend)
%%LanguageLevel: 1
%%CMYKCustomColor: (atend)
%%DocumentCustomColors: (atend)
%%DocumentProcessColors: (atend)
%%DocumentSuppliedResources: (atend)
%%EndComments
%%BeginProlog
%%BeginResource: procset RangerDict 1 1
/RangerDict 150 dict def RangerDict begin /bd{bind def}bind def /ld{load def}bd
/p/closepath ld /cc/concat ld /v/curveto ld /gr/grestore ld /gs/gsave ld
/l/lineto ld /m/moveto ld /n/newpath ld /r/rlineto ld /sc/scale ld /sd/setdash
ld /g/setgray ld /lc/setlinecap ld /lj/setlinejoin ld /lw/setlinewidth ld
/c/setrgbcolor ld /sp/showpage ld /s/stroke ld /tf/transform ld /tr/translate
ld /xd{exch def}bd /MGX_Overprint false def /min{2 copy gt{exch} if pop}bd
/arct where {pop} {/arct{arcto pop pop pop pop}bd} ifelse /make_ro_array {
/packedarray where { pop packedarray }{array astore readonly } ifelse } bd
/findcmykcustomcolor where { pop }{ /findcmykcustomcolor { 5 make_ro_array }
def } ifelse /setcustomcolor where { pop } { /setcustomcolor { exch aload pop
pop 4 { 4 index mul 4 1 roll } repeat 5 -1 roll pop setcmykcolor } def } ifelse
/setcmykcolor where {pop /k/setcmykcolor ld} {/k{4 1 roll 3 {3 index add 1 min
1 exch sub 3 1 roll} repeat c pop}bd} ifelse /x {/tint xd findcmykcustomcolor
MGX_Overprint setoverprint tint 1 exch sub setcustomcolor} def /setoverprint
where {pop}{/setoverprint {/MGX_Overprint xd} def} ifelse /currentoverprint
where {pop}{/currentoverprint{MGX_Overprint}def} ifelse /op{setoverprint}def
/_mx matrix def /smx{/_mx _mx currentmatrix def}bd /rmx{_mx setmatrix}bd /_ctm
matrix def /sctm{/_ctm _ctm currentmatrix def /_res 72 72 matrix defaultmatrix
dtransform _ctm idtransform pop abs def}bd /rctm{_ctm setmatrix}bd /el{smx tr
sc 1 eq {0 -1 m} if 0 0 1 -90 270 arc rmx}bd /ea{smx tr sc 1 eq {arcn} {arc}
ifelse 1 eq {0 0 l} if rmx}bd /rt{1 eq {m} {l} ifelse 2 copy 0 r 0 exch r neg 0
r neg 0 exch r}bd /rr{smx tr /_wy exch 3 index div def /_wx exch 3 index div
def sc _wx 2 div 0 3 -1 roll 1 eq {m} {l} ifelse 0 0 0 _wy 0.5 arct 0 _wy _wx
_wy 0.5 arct _wx _wy _wx 0 0.5 arct _wx 0 0 0 0.5 arct _wx 2 div 0 l rmx}bd
/clp{/_ct xd {{gs _ct 1 eq {eoclip} {clip} ifelse}stopped {gr currentflat 1 add
setflat} {exit} ifelse} loop}bd /horz{_y1 _w 2 div add _w _y2 {dup _x1 exch m
_x2 exch l s} for}bd /vert{_x1 _w 2 div add _w _x2 {dup _y1 m _y2 l s} for}bd
/fdiag{_x1 _w _x2 _y2 _y1 sub add{_y2 m _y2 _y1 sub neg dup r s} for}bd
/bdiag{_x1 _y2 _y1 sub sub _w _x2{_y2 m _y2 _y1 sub dup neg r s} for}bd
/hf{/_ht xd clp rctm /_w _res 12 div def pathbbox _w div cvi 1 add _w mul /_y2
xd _w div cvi 1 add _w mul /_x2 xd _w div cvi _w mul /_y1 xd _w div cvi _w mul
/_x1 xd 1 lw [] 0 sd n _ht 0 eq {horz} if _ht 1 eq {vert} if _ht 2 eq {fdiag}
if _ht 3 eq {bdiag} if _ht 4 eq {horz vert} if _ht 5 eq {fdiag bdiag} if gr}bd
/bf{/_im xd clp rctm /_w _res 12 div round def pathbbox _w div cvi 1 add _w mul
/_y2 xd _w div cvi 1 add _w mul /_x2 xd _w div cvi _w mul /_y1 xd _w div cvi _w
mul /_x1 xd /_wx _x2 _x1 sub def /_wy _y2 _y1 sub def /_swx _wx _w div cvi 8
mul def /_swy _wy _w div cvi 8 mul def /_ic 0 def _x1 _y1 tr _wx _wy sc _swx
_swy false [_swx 0 0 _swy 0 0] /_swx _swx 8 div def {_im _ic _swx div cvi 8 mod
1 getinterval /_ic _ic 1 add def} imagemask gr}bd /readimg{currentfile _imgstr
readstring pop}bd /readimgx{currentfile _imgstr readhexstring pop}bd /i{gs tr
sc /_imgstr exch string def [4 index 0 0 6 index 0 0] exch 1 eq {{readimg}}
{{readimgx}} ifelse image gr}bd /im{gs tr sc /_imgstr exch string def 1 eq
{true} {false} ifelse [3 index 0 0 5 index 0 0] {readimgx} imagemask gr}bd
userdict /RangerImage 40 dict dup begin put /_image systemdict /image get def
/_setgray systemdict /setgray get def /_currentgray systemdict /currentgray get
def /_settransfer systemdict /settransfer get def /_currenttransfer systemdict
/currenttransfer get def /clr? /deviceinfo where {pop deviceinfo /Colors known
{deviceinfo /Colors get exec 1 gt}{false}ifelse }{ /statusdict where { pop
statusdict /processcolors known { statusdict /processcolors get exec 1 gt }{
false }ifelse }{ false }ifelse }ifelse def /blank 0 _currenttransfer exec 1
_currenttransfer exec eq def /negative blank{ 0 _currenttransfer exec 0.5 lt }{
0 _currenttransfer exec 1 _currenttransfer exec gt }ifelse def /inverted?
negative def /l2? /languagelevel where{pop languagelevel 2 ge}{false} ifelse
def /4= { 4 index eq 8 1 roll 4 index eq 8 1 roll 4 index eq 8 1 roll 4 index
eq 8 1 roll pop pop pop pop and and and }def clr? {/band 0 def}{/band 5
def}ifelse /setcmykcolor where { pop 1 0 0 0 setcmykcolor _currentgray 1 exch
sub 0 1 0 0 setcmykcolor _currentgray 1 exch sub 0 0 1 0 setcmykcolor
_currentgray 1 exch sub 0 0 0 1 setcmykcolor _currentgray 1 exch sub 4 {4 copy}
repeat 1 0 0 0 4= {/band 1 store} if 0 1 0 0 4= {/band 2 store} if 0 0 1 0 4=
{/band 3 store} if 0 0 0 1 4= {/band 4 store} if 0 0 0 0 4= {/band 6 store} if
} if blank {/band 6 store} if l2? {band 0 eq {/DeviceCMYK}{/DeviceGray} ifelse
setcolorspace } if /readdata {currentfile exch readhexstring pop} def /sepimage
l2? { /image ld }{ { begin Width Height BitsPerComponent ImageMatrix Decode
length 2 eq {/DataSource load image} if Decode length 6 eq {DataSource 0 get
DataSource 1 get DataSource 2 get true 3 colorimage }if Decode length 8 eq {
DataSource 0 get DataSource 1 get DataSource 2 get DataSource 3 get true 4
colorimage }if end }def }ifelse /_image2 l2? { /_image ld }{ { begin Width
Height BitsPerComponent ImageMatrix /DataSource load _image end } def }ifelse
/doimage { band 0 eq band 5 eq or { sepimage } if band 1 ge band 4 le and { {1
exch sub dummy exec} dup 3 _currenttransfer put _settransfer _image2 } if band
6 eq { negative {{pop 0}}{{pop 1} }ifelse _settransfer _image2 }if } def /ic {
gsave translate scale /scanlen xd /ncomp xd /IsBin xd /bpcomp xd /rows xd /cols
xd /picstr1 cols string def /picstr2 cols string def /picstr3 cols string def
/picstr4 cols string def /picstr5 cols string def 12 dict begin /ImageType 1
def /Width cols def /Height rows def /ImageMatrix [cols 0 0 rows 0 0] def
/BitsPerComponent bpcomp def band 0 eq { /Decode [0 1 0 1 0 1 0 1] def } {
/Decode [0 1] def } ifelse band 0 eq { /MultipleDataSources true def
/DataSource [ { picstr1 readdata } { picstr2 readdata } { picstr3 readdata } {
picstr4 readdata picstr5 readdata pop } ] def } if band 1 eq { /DataSource {
picstr1 readdata picstr2 readdata pop picstr3 readdata pop picstr4 readdata pop
picstr5 readdata pop } def } if band 2 eq { /DataSource { picstr1 readdata pop
picstr2 readdata picstr3 readdata pop picstr4 readdata pop picstr5 readdata pop
} def } if band 3 eq { /DataSource { picstr1 readdata pop picstr2 readdata pop
picstr3 readdata picstr4 readdata pop picstr5 readdata pop } def } if band 4 eq
{ /DataSource { picstr1 readdata pop picstr2 readdata pop picstr3 readdata pop
picstr4 readdata picstr5 readdata pop } def } if band 5 ge { /DataSource {
picstr1 readdata pop picstr2 readdata pop picstr3 readdata pop picstr4 readdata
pop picstr5 readdata } def } if currentdict end doimage grestore } def
currentdict readonly pop end /bullets{{/bullet}repeat} bd
/WE[/grave/acute/circumflex/tilde/macron
/breve/dotaccent/dieresis/ring/cedilla/hungarumlaut/ogonek/caron/dotlessi 18
bullets StandardEncoding 32 95 getinterval aload pop 3 bullets
/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex
/perthousand/Scaron/guilsinglleft/OE 4 bullets/quoteleft/quoteright
/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
/guilsinglright/oe 2 bullets /Ydieresis/space/exclamdown/cent/sterling
/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine
/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus
/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla
/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters
/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash
/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute
/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex
/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute
/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
/udieresis/yacute/thorn/ydieresis]def WE dup 39/quotesingle put 96/grave put
/selectfont where {pop} {/selectfont {exch findfont exch dup type /arraytype eq
{makefont} {scalefont} ifelse setfont}bd} ifelse /_mxe matrix def /_mxf matrix
def /we {/_fn xd FontDirectory _fn known {pop} {findfont dup maxlength dict
/_fd xd {exch dup /FID ne {exch _fd 3 1 roll put} {pop pop} ifelse} forall _fd
dup /FontName _fn put /Encoding WE put _fn _fd definefont pop} ifelse _fn} bd
/fnt {/_ys xd /_xs xd /_asc xd /_itl exch dup 0 ne {10.0 div sin} if def [1 0
_itl 1 0 0] [_xs 0 0 _ys neg 0 _asc] _mxf concatmatrix selectfont currentfont
dup dup /FontInfo known {/FontInfo get} if /UnderlinePosition known not {pop
/Courier findfont} if /FontInfo get /UnderlinePosition get 1000 div 0 exch _mxf
tf /_ulpos xd pop 0 .3 _mxf tf /_sopos xd pop currentfont dup dup /FontInfo
known {/FontInfo get} if /UnderlineThickness known not {pop /Courier findfont}
if /FontInfo get /UnderlineThickness get 1000 div _ys mul /_ulsiz xd } bd /to
{m show n} bd /tp {m false charpath} bd /ul {1 eq {/_pos _ulpos def} {/_pos
_sopos def} ifelse 1 eq {gs [] 0 sd 0 lc _ulsiz lw _pos add m 0 r s gr} {_pos
add _ulsiz 2 div add m 0 _ulsiz neg r 0 r 0 _ulsiz r p} ifelse} bd end
%%EndResource
%%EndProlog
%%BeginSetup
RangerImage begin RangerDict begin userdict begin 0 628 tr 0.036 -0.036 sc sctm
%%EndSetup
%%Page: 1 1
%%PageResources: (atend)
%%BeginPageSetup
%%EndPageSetup
11420 11382 m -26 13 r -22 17 r -28 56 r -15 75 r 5 84 r 45 175 r 40 76 r 51 60
r 112 -55 r 73 -80 r 39 -91 r 6 -95 r -26 -90 r -55 -75 r -42 -30 r -45 -24 r
-52 -13 r p 0.000 0.000 0.000 1.000 k eofill 11420 11382 m -26 13 r -22 17 r
-28 56 r -15 75 r 5 84 r 45 175 r 40 76 r 51 60 r 112 -55 r 73 -80 r 39 -91 r 6
-95 r -26 -90 r -55 -75 r -42 -30 r -45 -24 r -52 -13 r -60 -3 r 0.000 0.000
0.000 1.000 k s 11475 14075 m -18 -42 r -7 -43 r 9 -37 r 15 -35 r 43 -66 r 43
-62 r 20 62 r 7 58 r -8 52 r -14 45 r -43 61 r -23 14 r p 0.000 0.000 0.000
1.000 k eofill 11475 14075 m -18 -42 r -7 -43 r 9 -37 r 15 -35 r 43 -66 r 43
-62 r 20 62 r 7 58 r -8 52 r -14 45 r -43 61 r -23 14 r -24 -7 r 0.000 0.000
0.000 1.000 k s 7190 8763 m -40 -5 r -28 -18 r -22 -25 r -10 -38 r 5 -40 r 19
-30 r 25 -20 r 40 -10 r 38 5 r 30 18 r 22 25 r 10 38 r -5 40 r -19 30 r -26 20
r p 0.000 0.000 0.000 1.000 k eofill 7190 8763 m -40 -5 r -28 -18 r -22 -25 r
-10 -38 r 5 -40 r 19 -30 r 25 -20 r 40 -10 r 38 5 r 30 18 r 22 25 r 10 38 r -5
40 r -19 30 r -26 20 r -39 10 r 0.000 0.000 0.000 1.000 k s 10744 9037 m -39 -7
r -28 -17 r -22 -26 r -11 -40 r 6 -39 r 17 -30 r 27 -20 r 40 -11 r 35 6 r 28 17
r 22 28 r 11 39 r -6 40 r -19 28 r -26 22 r p 0.000 0.000 0.000 1.000 k eofill
10744 9037 m -39 -7 r -28 -17 r -22 -26 r -11 -40 r 6 -39 r 17 -30 r 27 -20 r
40 -11 r 35 6 r 28 17 r 22 28 r 11 39 r -6 40 r -19 28 r -26 22 r -35 10 r
0.000 0.000 0.000 1.000 k s 10479 9325 m -40 -7 r -29 -13 r -21 -27 r -10 -35 r
5 -31 r 18 -29 r 27 -21 r 38 -10 r 37 5 r 28 18 r 18 27 r 9 31 r -5 35 r -14 29
r -26 16 r p 0.000 0.000 0.000 1.000 k eofill 10479 9325 m -40 -7 r -29 -13 r
-21 -27 r -10 -35 r 5 -31 r 18 -29 r 27 -21 r 38 -10 r 37 5 r 28 18 r 18 27 r 9
31 r -5 35 r -14 29 r -26 16 r -35 12 r 0.000 0.000 0.000 1.000 k s 10209 9685
m -29 -3 r -25 -14 r -21 -50 r 16 -53 r 50 -23 r 52 16 r 17 24 r 6 26 r -3 29 r
-13 25 r -24 16 r p 0.000 0.000 0.000 1.000 k eofill 10209 9685 m -29 -3 r -25
-14 r -21 -50 r 16 -53 r 50 -23 r 52 16 r 17 24 r 6 26 r -3 29 r -13 25 r -24
16 r -26 7 r 0.000 0.000 0.000 1.000 k s 11459 8133 m -62 15 r -47 34 r -20 48
r 0 57 r 19 50 r 41 41 r 69 24 r 86 -7 r -8 -62 r -18 -61 r p 0.000 0.000 0.000
1.000 k eofill 11459 8133 m -62 15 r -47 34 r -20 48 r 0 57 r 19 50 r 41 41 r
69 24 r 86 -7 r -8 -62 r -18 -61 r -60 -139 r 0.000 0.000 0.000 1.000 k s 8965
8963 m -46 15 r -47 -1 r -87 -2 r 30 57 r 49 28 r 93 30 r p 0.000 0.000 0.000
1.000 k eofill 8965 8963 m -46 15 r -47 -1 r -87 -2 r 30 57 r 49 28 r 93 30 r 8
-127 r 0.000 0.000 0.000 1.000 k s 9435 9175 m 30 42 r 34 30 r 95 45 r -44 78 r
-66 90 r -47 -132 r -12 -70 r -1 -28 r p 0.000 0.000 0.000 1.000 k eofill 9435
9175 m 30 42 r 34 30 r 95 45 r -44 78 r -66 90 r -47 -132 r -12 -70 r -1 -28 r
11 -55 r 0.000 0.000 0.000 1.000 k s 11482 11353 m 328 12 r 0 63 r -33 37 r
-100 33 r p 0.000 0.000 0.000 1.000 k eofill 11482 11353 m 328 12 r 0 63 r -33
37 r -100 33 r -195 -145 r 0.000 0.000 0.000 1.000 k s 10480 6508 m -608 1172 r
1333 lw 2 lc 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 10165 6142 m -643 1498 r 0.000 0.000 0.000 1.000
k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 9534 6400
m -372 1192 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 9162 6068 m -398 1547 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 8629 6425 m
-180 1178 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 8164 6168 m -105 1522 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 7679 6577 m
38 1133 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 7182 6450 m 190 1423 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6795 6950 m
254 1070 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 6290 6828 m 469 1394 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6004 7430 m
450 1040 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 5494 7460 m 686 1185 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5300 8057 m
604 833 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 4832 8187 m 870 1008 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 4735 8805 m
759 730 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 4254 8992 m 1063 810 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 4290 9608 m
857 527 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 3830 9868 m 1212 605 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 3994 10498 m
925 294 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 3600 10873 m 1310 275 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 3855 11442 m
954 106 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 3565 11877 m 1265 25 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 3880 12378 m
974 -90 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 3662 12912 m 1283 -275 r 0.000 0.000 0.000 1.000
k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 4102 13307
m 953 -282 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 3974 13890 m 1203 -562 r 0.000 0.000 0.000 1.000
k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 4444 14155
m 816 -500 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 4440 14738 m 999 -746 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 4902 15033 m
760 -751 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 10497 8212 m -395 -119 r -378 -83 r -370 -48 r
-357 -19 r -347 14 r -328 40 r -315 66 r -302 94 r -290 116 r -270 144 r -255
156 r -241 185 r -220 195 r -205 217 r -190 228 r -167 244 r -150 253 r -130
270 r -113 275 r -90 280 r -69 285 r -48 295 r -25 293 r -7 295 r 19 295 r 41
294 r 65 293 r 89 285 r 115 277 r 140 271 r 161 264 r 194 251 r 225 282 r 116
158 r 110 175 r 85 185 r 60 200 r 19 110 r 6 110 r -21 235 r 0.000 0.000 0.000
1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm
10140 7798 m -165 0 r -150 20 r -65 27 r -56 37 r -49 45 r -40 58 r 0.000 0.000
0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s
rctm 5849 13808 m -55 130 r -42 144 r -15 146 r 22 149 r 0.000 0.000 0.000
1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm
11369 7838 m -187 169 r -182 176 r -343 377 r -327 398 r -315 422 r -296 437 r
-292 451 r -572 907 r -580 892 r -305 428 r -313 410 r -333 383 r -349 357 r
-183 165 r -192 153 r -195 150 r -205 135 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 11677 8538 m -215 174
r -207 178 r -378 367 r -352 380 r -323 386 r -303 390 r -292 397 r -547 798 r
-556 784 r -289 385 r -113 145 r -193 228 r -330 363 r -357 352 r -390 333 r
-427 317 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 9742 8758 m -20 -125 r 17 -111 r 46 -87 r 70 -58
r 85 -34 r 95 -1 r 97 38 r 47 37 r 41 45 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 9687 8525 m -60 -17 r
-60 -8 r -97 15 r -73 40 r -50 67 r -27 80 r 5 93 r 30 97 r 65 98 r 0.000 0.000
0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s
rctm 9460 8950 m -798 860 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000
0.000000 0.078740 3462.126 5983.465 ] cc s rctm 9017 8273 m 87 -5 r 71 7 r 62
25 r 48 33 r 65 90 r 15 50 r 4 55 r -30 109 r -29 45 r -36 41 r -50 35 r -62 20
r -65 7 r -80 -7 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 8839 8427 m -77 -75 r -47 -72 r -21 -68
r 3 -69 r 25 -60 r 40 -50 r 110 -78 r 67 -20 r 70 -3 r 63 11 r 62 27 r 50 50 r
38 63 r 27 94 r 3 113 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 8715 8237 m -66 5 r -54 15 r -46 26 r
-37 30 r -25 37 r -22 40 r -11 92 r 18 93 r 48 80 r 75 58 r 95 30 r 0.000 0.000
0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s
rctm 8704 8687 m -272 1106 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000
0.000000 0.078740 3462.126 5983.465 ] cc s rctm 9054 8722 m -39 285 r -3 146 r
0 60 r 23 120 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 7674 8158 m -85 89 r -67 90 r -48 103 r -30 100 r
-14 103 r 4 102 r 21 98 r 34 95 r 53 92 r 63 80 r 80 73 r 94 59 r 110 45 r 120
31 r 130 10 r 146 -3 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 7949 8418 m -60 39 r -44 46 r -36 50 r
-22 54 r -8 55 r 0 58 r 11 55 r 22 53 r 65 92 r 47 35 r 48 27 r 120 23 r 62 -8
r 70 -20 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 7885 8407 m 327 231 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 8137 8052 m
62 635 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 8220 8922 m 37 443 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6767 8625 m
58 118 r 79 105 r 91 94 r 107 71 r 110 54 r 122 31 r 115 9 r 116 -19 r 0.000
0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc
s rctm 6652 9137 m 57 63 r 61 60 r 152 92 r 173 65 r 189 40 r 185 13 r 181 -15
r 164 -38 r 130 -64 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 7912 9348 m 0 70 r 15 62 r 52 123 r 81
109 r 90 98 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 6622 9147 m -33 120 r -19 135 r 2 150 r 28 156 r
0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 6269 9065 m 410 110 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6079 9305 m 111 147 r
64 65 r 66 55 r 147 85 r 162 60 r 171 41 r 184 25 r 403 10 r 430 -6 r 453 5 r
230 16 r 232 34 r 230 48 r 230 77 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5992 9425 m 42 293 r
66 252 r 44 117 r 48 103 r 118 182 r 135 150 r 150 128 r 160 105 r 175 88 r 360
135 r 362 112 r 333 118 r 155 74 r 54 28 r 81 58 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6077 9778 m
122 115 r 138 94 r 152 66 r 168 50 r 175 32 r 183 17 r 390 8 r 405 -10 r 404 0
r 198 10 r 190 25 r 183 35 r 174 53 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6302 10365 m 137 47 r
143 38 r 315 40 r 328 15 r 339 -5 r 335 -5 r 323 5 r 303 25 r 139 27 r 131 35 r
0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 6937 10865 m 170 22 r 202 8 r 440 -12 r 441 -3 r 202 12 r
72 6 r 101 27 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 8182 11312 m -173 10 r -225 36 r -259 64 r -253
98 r -122 63 r -111 69 r -94 81 r -81 92 r -60 98 r -34 114 r -8 121 r 22 137 r
73 63 r 77 39 r 73 15 r 70 -5 r 62 -19 r 53 -38 r 45 -47 r 32 -56 r 20 -65 r 3
-67 r -15 -67 r -32 -61 r -55 -60 r -78 -47 r -105 -40 r -128 -23 r 0.000 0.000
0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s
rctm 7665 11390 m 110 107 r 94 121 r 68 122 r 32 97 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 7200 11528 m
115 52 r 99 67 r 83 73 r 63 87 r 47 100 r 32 115 r 11 133 r -6 152 r 0.000
0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc
s rctm 7447 11032 m -162 58 r -150 63 r -135 69 r -116 70 r -104 76 r -93 77 r
-78 80 r -65 83 r -97 169 r -53 163 r -14 163 r 22 157 r 55 138 r 83 125 r 105
100 r 127 75 r 142 44 r 153 10 r 83 -10 r 80 -20 r 165 -77 r 0.000 0.000 0.000
1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6929
10860 m -195 110 r -175 128 r -152 152 r -125 162 r -103 175 r -75 178 r -49
185 r -20 182 r 7 176 r 37 169 r 70 156 r 103 140 r 133 122 r 167 93 r 98 42 r
105 28 r 115 20 r 124 17 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000
0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6667 10655 m -245 183 r -200
175 r -158 170 r -124 162 r -93 152 r -67 146 r -46 137 r -29 132 r -28 238 r
-22 210 r -18 92 r -32 85 r -48 81 r -72 72 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5500 12673 m
212 -8 r 75 -13 r 58 -24 r 94 -68 r 90 -92 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5250 12192 m
185 -122 r 130 -83 r 49 -25 r 81 -34 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5235 11957 m 139 -202
r 158 -165 r 167 -120 r 88 -48 r 80 -34 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5824 10150 m -37 192 r
-17 95 r -1 110 r 15 125 r 48 151 r 78 177 r 129 213 r 0.000 0.000 0.000 1.000
k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5815 10150
m 35 123 r 50 112 r 70 98 r 80 95 r 167 150 r 162 125 r 0.000 0.000 0.000 1.000
k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5787 10708
m -168 45 r -115 55 r -90 57 r -107 62 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5254 11112 m 285 455 r
0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 5865 10972 m -268 141 r 145 307 r 0.000 0.000 0.000 1.000
k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5779 12648
m 126 205 r 49 85 r 18 25 r 42 50 r 85 82 r 123 95 r 183 107 r 259 138 r 0.000
0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc
s rctm 5860 12825 m 15 315 r 4 168 r -4 69 r -20 131 r 0.000 0.000 0.000 1.000
k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 5822 13478
m 195 -16 r 125 -39 r 87 -61 r 93 -95 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6497 14715 m -193 130
r -154 135 r -126 138 r -90 144 r -57 145 r -30 148 r -5 147 r 30 148 r 52 147
r 81 145 r 102 138 r 127 140 r 150 132 r 170 123 r 188 120 r 208 108 r 227 100
r 243 92 r 257 83 r 268 67 r 287 57 r 295 41 r 305 25 r 317 12 r 326 -8 r 330
-19 r 340 -45 r 340 -65 r 350 -80 r 349 -105 r 351 -128 r 350 -150 r 0.000
0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc
s rctm 6642 15038 m -125 70 r -105 80 r -90 94 r -65 95 r -45 96 r -25 109 r -5
103 r 15 110 r 33 108 r 59 107 r 71 102 r 99 100 r 120 91 r 135 90 r 158 77 r
178 73 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 6912 14667 m 48 86 r 35 132 r 10 153 r -10 80 r
-23 84 r -33 81 r -47 79 r -67 70 r -83 68 r -103 58 r -119 47 r -145 37 r -168
21 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 7229 14442 m 63 115 r 43 118 r 24 128 r 10 127 r -7 127 r
-28 128 r -39 123 r -56 119 r -72 111 r -85 104 r -102 88 r -116 82 r -127 63 r
-143 48 r -155 30 r -165 10 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000
0.000000 0.078740 3462.126 5983.465 ] cc s rctm 7482 14177 m 62 106 r 50 124 r
48 135 r 32 140 r 21 150 r 9 156 r -10 154 r -25 160 r -45 153 r -67 150 r -90
143 r -113 137 r -142 123 r -168 109 r -199 95 r -228 76 r 0.000 0.000 0.000
1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 7742
13920 m 83 145 r 77 158 r 62 165 r 46 175 r 30 177 r 12 183 r 0 185 r -25 184 r
-43 185 r -69 176 r -88 175 r -112 165 r -141 159 r -164 148 r -193 133 r -222
120 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 8415 14952 m -3 195 r -20 190 r -40 176 r -53 172 r -64
158 r -81 155 r -92 140 r -98 132 r -107 122 r -115 108 r -237 188 r -248 142 r
-118 50 r -120 40 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 7534 16718 m 396 90 r 550 160 r 572 190
r 473 184 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 7832 16440 m 713 188 r 605 185 r 1275 419 r 0.000
0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc
s rctm 10850 15550 m -68 303 r -27 179 r -28 200 r -15 213 r -2 228 r 15 240 r
35 250 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 10709 16708 m 370 109 r 180 56 r 70 24 r 108 51 r
0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 10735 16365 m 599 180 r 298 108 r 110 40 r 28 14 r 115 73
r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 8614 14948 m -124 -5 r -115 -26 r -106 -50 r -90 -65 r -80
-85 r -62 -100 r -42 -109 r -20 -120 r 5 -123 r 29 -117 r 48 -108 r 68 -92 r 84
-80 r 98 -60 r 112 -43 r 121 -18 r 119 3 r 111 30 r 102 48 r 95 69 r 77 83 r 61
102 r 42 111 r 20 122 r -5 122 r -28 113 r -49 105 r -66 95 r -85 77 r -95 60 r
-109 41 r -116 20 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 8590 14587 m -95 -14 r -43 -16 r -38 -27
r -30 -33 r -22 -39 r -25 -91 r 13 -97 r 19 -45 r 25 -37 r 33 -28 r 42 -23 r 93
-25 r 95 13 r 40 17 r 38 26 r 30 34 r 22 41 r 25 94 r -13 95 r -17 41 r -27 37
r -33 28 r -37 24 r -95 25 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000
0.000000 0.078740 3462.126 5983.465 ] cc s rctm 8067 13545 m 38 197 r 24 65 r
36 73 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 8355 13182 m 17 203 r 25 142 r 82 231 r 0.000 0.000 0.000
1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 8417
13548 m 45 -45 r 45 -35 r 50 -23 r 50 -18 r 98 -4 r 92 27 r 75 55 r 48 80 r 10
105 r -31 120 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740
3462.126 5983.465 ] cc s rctm 8704 13080 m 103 12 r 88 25 r 85 38 r 72 47 r 62
60 r 51 66 r 72 154 r 33 160 r -1 161 r -47 142 r -35 62 r -43 53 r 0.000 0.000
0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s
rctm 8810 12882 m -26 210 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000
0.000000 0.078740 3462.126 5983.465 ] cc s rctm 8969 14832 m 158 128 r 165 117
r 168 103 r 170 85 r 179 75 r 178 65 r 175 48 r 180 37 r 358 45 r 344 7 r 165
-15 r 160 -19 r 301 -61 r 267 -90 r 222 -112 r 171 -130 r 67 -75 r 52 -73 r 31
-74 r 19 -80 r -2 -83 r -25 -77 r -40 -85 r -60 -78 r -88 -82 r -107 -80 r
0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 12175 14383 m 77 -106 r 83 -77 r 84 -45 r 78 -3 r 17 -102
r -20 -85 r -49 -72 r -63 -70 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000
0.000000 0.078740 3462.126 5983.465 ] cc s rctm 11472 14028 m 232 -81 r 240 -74
r 125 -23 r 121 -20 r 122 2 r 118 11 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 12620 13070 m -75 72 r
-46 63 r -29 52 r -10 48 r 4 43 r 15 39 r 43 68 r 43 68 r 10 35 r 4 39 r -14 45
r -33 45 r -135 118 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 8914 12497 m 211 -69 r 190 -110 r 89 -68
r 81 -77 r 139 -173 r 58 -95 r 45 -97 r 67 -201 r 23 -204 r -7 -101 r -21 -97 r
0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 8612 12878 m 205 -5 r 197 -31 r 185 -55 r 168 -77 r 157
-100 r 141 -120 r 124 -133 r 108 -150 r 88 -159 r 74 -170 r 51 -173 r 34 -178 r
8 -187 r -12 -180 r -33 -180 r -60 -178 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 10545 10168 m 0 252 r
-16 128 r -32 129 r -52 125 r -73 130 r -103 125 r -134 126 r 0.000 0.000 0.000
1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm
10830 9843 m 47 250 r 18 244 r -13 233 r -50 223 r -45 105 r -52 110 r -68 104
r -77 106 r -93 100 r -108 102 r -260 198 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 11342 9330 m 5 138 r
-12 127 r -25 117 r -40 108 r -61 103 r -80 99 r -100 101 r -129 102 r 0.000
0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc
s rctm 11690 9037 m 15 240 r -8 238 r -42 230 r -73 218 r -113 204 r -155 186 r
-94 85 r -105 79 r -118 70 r -133 63 r 0.000 0.000 0.000 1.000 k [0.078740
0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 10695 11070 m 165 -70
r 194 -62 r 210 -53 r 223 -37 r 232 -21 r 223 5 r 217 30 r 195 60 r 0.000 0.000
0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s
rctm 10464 11802 m 116 -99 r 125 -81 r 134 -75 r 146 -57 r 152 -45 r 160 -30 r
163 -10 r 167 10 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 10492 11762 m 107 48 r 125 35 r 278 42 r
265 13 r 192 -17 r 0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000
0.078740 3462.126 5983.465 ] cc s rctm 11040 11490 m 22 212 r 17 98 r 35 97 r
0.000 0.000 0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126
5983.465 ] cc s rctm 11105 8028 m -73 620 r 383 79 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 10275 7822 m
-353 -112 r -348 -78 r -345 -45 r -342 -15 r -333 16 r -325 44 r -319 70 r -310
95 r -296 120 r -287 143 r -275 168 r -260 185 r -243 204 r -229 223 r -213 242
r -193 256 r -174 272 r -155 285 r -131 297 r -109 305 r -86 318 r -64 327 r
-35 330 r -10 338 r 20 343 r 49 344 r 76 346 r 109 349 r 143 350 r 175 345 r
207 341 r 245 340 r -815 977 r -182 -202 r -167 -206 r -155 -212 r -146 -212 r
-132 -213 r -123 -217 r -110 -221 r -100 -220 r -87 -224 r -77 -223 r -70 -225
r -53 -230 r -83 -452 r -25 -226 r -19 -229 r -3 -453 r 35 -448 r 72 -445 r 103
-434 r 140 -425 r 167 -413 r 201 -400 r 232 -383 r 128 -185 r 130 -179 r 287
-345 r 317 -323 r 336 -300 r 357 -272 r 383 -243 r 199 -110 r 203 -103 r 423
-180 r 440 -145 r 460 -112 r 234 -38 r 238 -30 r 488 -30 r 497 13 r 255 20 r
258 35 r 259 47 r 265 60 r 530 153 r -879 1457 r 0.000 0.000 0.000 1.000 k
[0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s rctm 6529 14840 m
210 -120 r 200 -130 r 380 -292 r 363 -330 r 340 -360 r 323 -386 r 312 -410 r
300 -420 r 298 -429 r 587 -856 r 297 -420 r 306 -402 r 314 -378 r 333 -355 r
343 -322 r 184 -145 r 185 -133 r -509 -1492 r -195 165 r -191 175 r -359 368 r
-343 395 r -322 419 r -305 430 r -300 448 r -580 907 r -291 455 r -295 448 r
-305 440 r -317 427 r -333 406 r -352 385 r -378 354 r -402 325 r 0.000 0.000
0.000 1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s
rctm 11717 9008 m 1258 3679 r 22 96 r 2 79 r -17 65 r -37 48 r -51 40 r -70 32
r -180 30 r -155 -25 r -92 -7 r -90 2 r -98 13 r -92 30 r -92 48 r -83 69 r -75
-67 r -35 -53 r -23 -62 r -9 -75 r 15 -78 r 47 -87 r 80 -92 r 0.000 0.000 0.000
1.000 k [0.078740 0.000000 0.000000 0.078740 3462.126 5983.465 ] cc s
%%PageTrailer
%%Trailer
end end end
%%DocumentProcessColors: Black
%%Pages: 1
%%EOF
%%EndDocument
@endspecial 1668 3378 a Fx(Diplomarb)s(eit)1424 3580
y(F)-8 b(ac)m(h)m(b)s(ereic)m(h)33 b(Mathematik)1221
3782 y(T)-8 b(ec)m(hnisc)m(he)35 b(Univ)m(ersit)2100
3786 y(\177)2100 3782 y(at)d(Darmstadt)531 5365 y Fw(Betreuer:)1697
b(Prof.)31 b(Dr.)f(J.)g(Buc)m(hmann)531 5591 y(Abgab)s(edatum:)1706
b(29.)31 b(Oktob)s(er)f(1999)p eop
%%Page: 1 2
1 1 bop 270 1082 a Fv(V)-19 b(orw)-6 b(ort)270 1530 y
Fw(Elliptisc)m(he)19 b(Kurv)m(en)i(erfreuen)g(sic)m(h)g(in)f(den)h
(letzten)i(Jahren)e(so)m(w)m(ohl)h(in)e(der)h(Mathematik)270
1643 y(als)41 b(auc)m(h)h(in)f(der)g(Informatik)g(immer)f(gr)1769
1647 y(\177)1769 1643 y(o\031erer)j(Beliebtheit.)e(Dies)g(mag)i(zum)e
(einen)270 1756 y(daran)27 b(liegen,)g(da\031)h(die)e(Theorie)h
(inzwisc)m(hen)e(sehr)i(umfangreic)m(h)g(ist.)g(Auf)g(der)g(anderen)270
1869 y(Seite)42 b(bieten)g(sie)g(auc)m(h)g(direkte)g(An)m(w)m(endungsm)
2057 1873 y(\177)2057 1869 y(oglic)m(hk)m(eiten)f(in)g(der)h(Zahlen)m
(theorie)270 1982 y(und)29 b(der)h(Kryptographie.)411
2097 y(Es)43 b(gibt)g(mittlerw)m(eile)f(nic)m(h)m(t)h(n)m(ur)f(F)-8
b(aktorisierungsalgorithmen)42 b(und)g(Primzahl-)270
2210 y(b)s(ew)m(eise,)35 b(die)f(auf)h(elliptisc)m(hen)e(Kurv)m(en)h(b)
s(eruhen.)g(Auc)m(h)h(b)s(ei)f(der)h(Konstruktion)f(v)m(on)270
2323 y(Kryptosystemen)g(spielen)f(sie)h(in)f(der)h(letzten)i(Zeit)e
(eine)g(b)s(eac)m(h)m(tlic)m(he)h(Rolle.)f(Bei)h(den)270
2436 y(Public)41 b(Key)h(Kryptosystemen)h(m)m(u\031)g(man)f(sic)m(h)h
(im)e(Gegensatz)k(zu)e(symmetrisc)m(hen)270 2549 y(Kryptosystemen)36
b(oft)g(die)g(Praktik)-5 b(abilit)1755 2553 y(\177)1755
2549 y(at)34 b(mit)i(einer)f(w)m(esen)m(tlic)m(h)h(sc)m(hlec)m(h)m
(teren)h(E\016-)270 2662 y(zienz)e(erk)-5 b(aufen.)35
b(Elliptisc)m(he)e(Kurv)m(en)h(heb)s(en)g(diesen)g(Nac)m(h)m(teil)i(zw)
m(ar)g(nic)m(h)m(t)f(auf,)g(man)270 2775 y(k)-5 b(ann)37
b(jedo)s(c)m(h)h(im)e(V)-8 b(ergleic)m(h)38 b(zu)g(b)s(eispielsw)m
(eise)c Fu(RSA)k Fw(b)s(ei)e(v)m(ergleic)m(h)m(barer)i(Sic)m(herheit)
270 2888 y(k)321 2892 y(\177)318 2888 y(urzere)28 b(Sc)m(hl)757
2892 y(\177)754 2888 y(ussel)f(v)m(erw)m(enden,)h(w)m(as)h(sic)m(h)f
(dann)f(b)s(ei)g(der)h(Laufzeit)h(p)s(ositiv)d(b)s(emerkbar)270
3001 y(mac)m(h)m(t.)411 3116 y(In)c(einem)g(Pro)5 b(jekt)23
b(am)g(Institut)e(f)1592 3120 y(\177)1589 3116 y(ur)h(Theoretisc)m(he)h
(Informatik)e(der)i Ft(Technischen)270 3229 y(Universit)715
3225 y(\177)712 3229 y(at)29 b(D)m(armst)-6 b(adt)25
b Fw(geh)m(t)i(es)f(darum,)f(einen)h(Pro)m(vider)f(f)2621
3233 y(\177)2618 3229 y(ur)g(An)m(w)m(endungen)g(in)270
3342 y(der)32 b(Public)e(Key)i(Kryptographie)f(zu)h(en)m(t)m(wic)m(k)m
(eln.)h(Dazu)g(geh)2483 3346 y(\177)2483 3342 y(oren)f(insb)s(esondere)
e(V)-8 b(er-)270 3455 y(sc)m(hl)423 3459 y(\177)420 3455
y(usselungsalgorithmen)23 b(und)h(digitale)h(Signaturen.)g(Im)g(V)-8
b(ordergrund)25 b(steh)m(t)i(dab)s(ei,)270 3568 y(da\031)33
b(man)f(jederzeit)g(zwisc)m(hen)g(den)f(v)m(ersc)m(hiedenen)h(V)-8
b(erfahren)33 b(ausw)2762 3572 y(\177)2762 3568 y(ahlen)d(k)-5
b(ann.)32 b(Ein)270 3681 y(w)m(eiterer)38 b(Gesic)m(h)m(tspunkt)f(ist)g
(die)g(Aktualit)1848 3685 y(\177)1848 3681 y(at,)h(so)m(wie)f(die)g
(Standardisierung)d(der)j(Al-)270 3794 y(gorithmen.)d(Gerade)h(im)f
(Bereic)m(h)h(der)f(elliptisc)m(hen)e(Kurv)m(en)h(sollen)g(hier)h(F)-8
b(ortsc)m(hritte)270 3907 y(erzielt)30 b(w)m(erden.)411
4023 y(Diese)46 b(Diplomarb)s(eit)d(b)s(esc)m(h)1458
4027 y(\177)1458 4023 y(aftigt)j(sic)m(h)f(mit)g(der)h(Implemen)m
(tierung)d(eines)i(V)-8 b(er-)270 4135 y(sc)m(hl)423
4139 y(\177)420 4135 y(usselungsalgorithm)m(us)29 b(un)m(ter)k(V)-8
b(erw)m(endung)33 b(v)m(on)g(elliptisc)m(hen)d(Kurv)m(en.)j(Als)f(Pro-)
270 4248 y(grammiersprac)m(he)i(wurde)g(JA)-10 b(V)g(A)34
b(ausgew)1806 4252 y(\177)1806 4248 y(ahlt,)h(da)g(sie)f(ein)g
(Strukturk)m(onzept)g(f)3156 4252 y(\177)3153 4248 y(ur)g(die)270
4361 y(Realisierung)19 b(kryptographisc)m(her)i(V)-8
b(erfahren)21 b(in)f(Soft)m(w)m(are)j(b)s(ereitstellt.)d(Der)i(En)m
(tsc)m(hei-)270 4474 y(dung)30 b(zugunsten)h(der)g(Arc)m(hitektur)g
(soll)f(dab)s(ei)g(die)h(E\016zienz)g(gegen)2728 4478
y(\177)2725 4474 y(ub)s(ergestellt)h(w)m(er-)270 4587
y(den.)e(So)m(w)m(eit)h(es)f(m)937 4591 y(\177)937 4587
y(oglic)m(h)g(w)m(ar,)h(wurden)e(Standards)g(mitein)m(b)s(ezogen.)411
4703 y(Die)c(Kom)m(bination)e(v)m(on)i(Theorie)e(und)g(An)m(w)m(endung)
h(w)m(ar)h(hierb)s(ei)c(aussc)m(hlaggeb)s(end)270 4816
y(f)301 4820 y(\177)298 4816 y(ur)27 b(meine)h(En)m(tsc)m(heidung,)g
(die)f(Diplomarb)s(eit)f(im)i(Bereic)m(h)h(der)f(Kryptographie)f(anzu-)
270 4929 y(fertigen.)35 b(Die)h(elliptisc)m(hen)d(Kurv)m(en)h(bilden)f
(dab)s(ei)h(einen)g(mathematisc)m(h)i(anspruc)m(hs-)270
5042 y(v)m(ollen)29 b(Bereic)m(h)h(der)g(Zahlen)m(theorie.)f(Dar)1759
5046 y(\177)1756 5042 y(ub)s(erhinaus)e(sind)h(sie)h(ab)s(er)g(auc)m(h)
i(ein)e(Gegen-)270 5154 y(stand,)e(der)f(in)g(der)g(mo)s(dernen)g
(Kryptographie)g(eingesetzt)i(w)m(erden)f(k)-5 b(ann.)26
b(Diese)h(spielt)270 5267 y(in)32 b(der)h(heutigen)g(Zeit)g(eine)g
(immer)g(wic)m(h)m(tigere)g(Rolle,)h(denn)e(gerade)i(f)2820
5271 y(\177)2817 5267 y(ur)f(das)g(inno)m(v)-5 b(a-)270
5380 y(tiv)m(e)29 b(F)-8 b(eld)28 b(des)g(E-Commerce)g(ist)g(die)f
(Kryptographie)g(sc)m(hlie\031lic)m(h)g(v)m(on)h(en)m(tsc)m(heidender)
270 5493 y(Bedeutung.)411 5609 y(An)46 b(dieser)g(Stelle)g(m)1191
5613 y(\177)1191 5609 y(oc)m(h)m(te)j(ic)m(h)d(all)f(denen)h(dank)m
(en,)h(deren)f(Un)m(terst)2946 5613 y(\177)2943 5609
y(utzung)h(zur)1807 5858 y(1)p eop
%%Page: 2 3
2 2 bop 390 82 a Fw(2)390 415 y(Qualit)644 419 y(\177)644
415 y(at)30 b(dieser)f(Diplomarb)s(eit)f(b)s(eigetragen)j(hat.)g
(Zuerst)e(sei)h(mein)f(Betreuer)i Ft(Pr)n(of.)390 528
y(Buchmann)g Fw(genann)m(t,)i(der)f(auc)m(h)h(das)f(in)m(teressan)m(te)
i(Thema)e(v)m(orgesc)m(hlagen)i(hat.)f(Bei)390 641 y(Problemen)f(und)f
(F)-8 b(ragen)34 b(w)m(aren)f Ft(Markus)j(Ma)n(urer)31
b Fw(und)h Ft(Markus)j(R)m(upper)-6 b(t)32 b Fw(im-)390
754 y(mer)e(hilfsb)s(ereit)d(und)h(k)m(omp)s(eten)m(t.)k(Auc)m(h)e
Ft(Tobias)k(Hahn)c Fw(half)f(mir)f(einige)i(Male)3333
758 y(\177)3330 754 y(ub)s(er)390 867 y(tec)m(hnisc)m(he)i(Probleme)f
(hin)m(w)m(eg.)h(W)-8 b(eiterhin)30 b(dank)m(e)i(ic)m(h)g
Ft(Safua)-6 b(t)33 b(Hamd)n(y)g Fw(f)3120 871 y(\177)3117
867 y(ur)d(die)h(Er-)390 980 y(laubnis,)37 b(die)h(Abbildungen)d
(elliptisc)m(her)i(Kurv)m(en)h(aus)g(seiner)g(Diplomarb)s(eit)f(f)3272
984 y(\177)3269 980 y(ur)h(die)390 1093 y(meinige)26
b(zu)g(mo)s(di\014zieren.)f(W)-8 b(as)28 b(die)e(Arb)s(eit)f(mit)h(T)
2207 1112 y(E)2257 1093 y(X)h(b)s(etri\013t,)f(so)h(stand)g(mir)e
Ft(Stef)-8 b(an)390 1205 y(Br)519 1201 y(\177)515 1205
y(otz)29 b Fw(zur)h(Seite.)531 1318 y(Besonders)35 b(b)s(edank)m(e)f
(ic)m(h)h(mic)m(h)f(b)s(ei)g(den)g(Korrekturlesern)f
Ft(Manuel)k(Breuning)390 1431 y Fw(und)f Ft(Rainer)k(M)1030
1427 y(\177)1027 1431 y(uller)p Fw(,)c(so)m(wie)h(b)s(ei)f(meiner)g(F)
-8 b(reundin)35 b Ft(Anja)h Fw(f)2736 1435 y(\177)2733
1431 y(ur)g(ihre)g(p)s(ermanen)m(te)390 1544 y(Un)m(terst)691
1548 y(\177)688 1544 y(utzung.)2786 1757 y Ft(Markus)d(Crnjak)2485
1870 y Fw(Darmstadt,)e(Oktob)s(er)f(1999)p eop
%%Page: 3 4
3 3 bop 270 1082 a Fv(Inhaltsv)-6 b(erzeic)g(hnis)270
1623 y Fs(V)d(orw)m(ort)2694 b(1)270 1831 y(1)84 b(Einleitung)2461
b(5)270 2040 y(2)84 b(Elliptisc)m(he)36 b(Kurv)m(en)2081
b(7)406 2156 y Fw(2.1)94 b(Grundlagen)59 b(.)46 b(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)128 b(7)406 2272 y(2.2)94 b(Elliptisc)m(he)28
b(Kurv)m(en)i(als)f(ab)s(elsc)m(he)i(Grupp)s(en)39 b(.)46
b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)128
b(9)406 2387 y(2.3)94 b(Kryptographisc)m(h)29 b(geeignete)j(Kurv)m(en)
64 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)82 b(12)270 2596 y Fs(3)i(Der)35 b(Algorithm)m(us)2106
b(15)406 2712 y Fw(3.1)94 b(Das)32 b(ElGamal-V)-8 b(erfahren)71
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)82 b(15)406 2828 y(3.2)94 b(V)-8
b(ersc)m(hl)904 2832 y(\177)901 2828 y(usselung)29 b(mit)h(elliptisc)m
(hen)e(Kurv)m(en)72 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)82 b(17)406 2944 y(3.3)94 b(Alternativ)m(en)28
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)82
b(18)270 3152 y Fs(4)i(Die)35 b(Implemen)m(tierung)1904
b(19)406 3268 y Fw(4.1)94 b(Die)31 b(JA)-10 b(V)g(A)30
b(Cryptograph)m(y)g(Arc)m(hitecture)81 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)82 b(19)406 3384 y(4.2)94
b(Der)31 b(Standard)e(IEEE)h(P1363)i(/)f(D8)92 b(.)45
b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)82
b(20)615 3500 y(4.2.1)106 b(Die)31 b(Domain)f(P)m(arameter)93
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)82 b(21)615 3616 y(4.2.2)106 b(Das)31 b(Sc)m(hl)1255
3620 y(\177)1252 3616 y(usselpaar)89 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)82
b(22)406 3732 y(4.3)94 b(Die)31 b(C++-Klassen)m(bibliothek)c(LiDIA)60
b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
82 b(22)406 3847 y(4.4)94 b(Der)31 b(ElGamal-Pro)m(vider)e(mit)h
(elliptisc)m(hen)e(Kurv)m(en)79 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)82 b(23)615 3963 y(4.4.1)106 b(Klassendiagramme)56
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)82 b(23)615 4079 y(4.4.2)106 b(Besc)m(hreibung)30
b(der)g(Programmsc)m(hnittstelle)39 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)82 b(25)270 4288 y Fs(5)i(E\016zienz)2496 b(29)406
4404 y Fw(5.1)94 b(Kurv)m(engenerierung)54 b(.)46 b(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)82 b(29)406 4519 y(5.2)94 b(V)-8 b(ersc)m(hl)904
4523 y(\177)901 4519 y(usselung)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)82 b(30)270 4728 y Fs(6)i(Ausblic)m(k)2487 b(33)270
4937 y(A)57 b(cdc.ec)2606 b(35)406 5053 y Fw(A.1)71 b(Pro)m(vider)44
b(.)h(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)82
b(35)270 5261 y Fs(B)62 b(cdc.ec.ecelgamal)2135 b(37)406
5377 y Fw(B.1)75 b(ECElGamalGFPKey)50 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
82 b(37)406 5493 y(B.2)75 b(ECElGamalGFPPriv)-5 b(ateKey)46
b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)82 b(40)406 5609 y(B.3)75 b(ECElGamalGFPPublicKey)i(.)45
b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)82 b(42)1807 5858 y(3)p eop
%%Page: 4 5
4 4 bop 390 82 a Fw(4)2040 b(INHAL)-8 b(TSVERZEICHNIS)526
415 y(B.4)75 b(ECElGamalGFPKeyP)m(airGenerator)50 b(.)c(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)82 b(44)526
528 y(B.5)75 b(ECElGamalGFPBlo)s(c)m(kCipher)69 b(.)46
b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)82 b(48)526 641 y(B.6)75 b(ECElGamalGFPCipher)80
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)82 b(57)390 845 y Fs(C)60 b(cdc.lidia)2504
b(71)526 958 y Fw(C.1)73 b(LECDomainP)m(arametersP1363)33
b(\(JA)-10 b(V)g(A-Co)s(de\))43 b(.)j(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)82 b(71)526 1071 y(C.2)73 b(LECDomainP)m(arametersP1363)33
b(\(C++-Co)s(de\))66 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)82 b(79)390 1274 y Fs(Literaturv)m(erzeic)m(hnis)2103
b(87)p eop
%%Page: 5 6
5 5 bop 270 1052 a Fr(Kapitel)66 b(1)270 1481 y Fv(Einleitung)270
1940 y Fw(In)38 b(der)g(Kryptographie)f(un)m(tersc)m(heidet)h(man)h
(zwisc)m(hen)e Fu(symmetrischen)47 b Fw(und)37 b Fu(asym-)270
2053 y(metrischen)d Fw(V)-8 b(erfahren.)27 b(Bei)g(den)e(symmetrisc)m
(hen)h(handelt)g(es)g(sic)m(h)g(um)g(die)g(klassisc)m(he)270
2166 y(Metho)s(de)d(der)g(V)-8 b(er-)23 b(und)f(En)m(tsc)m(hl)1453
2170 y(\177)1450 2166 y(usselung)f(mit)h(einem)g(v)m(orher)h(v)m(erein)
m(barten)g(Sc)m(hl)3181 2170 y(\177)3178 2166 y(ussel.)270
2279 y(Im)j(Gegensatz)j(dazu)d(ist)g(dies)g(b)s(ei)f(den)h(asymmetrisc)
m(hen)g(V)-8 b(erfahren)26 b(nic)m(h)m(t)h(not)m(w)m(endig.)270
2392 y(Dort)34 b(b)s(esteh)m(t)f(der)g(Sc)m(hl)1138 2396
y(\177)1135 2392 y(ussel)e(aus)i(einem)1785 2396 y(\177)1785
2392 y(o\013en)m(tlic)m(hen)h(und)d(einem)i(geheimen)f(An)m(teil.)270
2504 y(Der)449 2508 y(\177)449 2504 y(o\013en)m(tlic)m(he)h(T)-8
b(eil)32 b(dien)m(t)h(zum)f(V)-8 b(ersc)m(hl)1786 2508
y(\177)1783 2504 y(usseln.)32 b(Un)m(ter)i(V)-8 b(erw)m(endung)32
b(des)h(geheimen)270 2617 y(An)m(teils)d(erh)706 2621
y(\177)706 2617 y(alt)f(man)h(wieder)g(die)f(urspr)1691
2621 y(\177)1688 2617 y(unglic)m(he)e(Nac)m(hric)m(h)m(t.)411
2744 y(Der)g(V)-8 b(orteil)27 b(der)f(asymmetrisc)m(hen)h(V)-8
b(erfahren)26 b(liegt)h(n)m(un)f(darin,)f(da\031)i(man)g(aus)f(der)270
2857 y(Kenn)m(tnis)h(des)809 2861 y(\177)809 2857 y(o\013en)m(tlic)m
(hen)h(Sc)m(hl)1457 2861 y(\177)1454 2857 y(usselteils)d(nic)m(h)m(t)j
(bzw.)g(n)m(ur)f(sehr)g(sc)m(h)m(w)m(er)i(den)f(anderen)270
2970 y(T)-8 b(eil)20 b(b)s(erec)m(hnen)h(k)-5 b(ann.)21
b(Somit)g(k)1399 2974 y(\177)1399 2970 y(onnen)g(v)m(on)h(allen)e(P)m
(ersonen)h(Daten)i(un)m(ter)e(V)-8 b(erw)m(endung)270
3083 y(desselb)s(en)30 b(Sc)m(hl)842 3087 y(\177)839
3083 y(ussels)f(an)i(einen)g(b)s(estimm)m(ten)g(T)-8
b(eilnehmer)29 b(v)m(ersc)m(hl)2703 3087 y(\177)2700
3083 y(usselt)i(w)m(erden.)g(Es)270 3196 y(ist)26 b(also)i(m)649
3200 y(\177)649 3196 y(oglic)m(h,)e(die)1074 3200 y(\177)1074
3196 y(o\013en)m(tlic)m(hen)h(Sc)m(hl)1721 3200 y(\177)1718
3196 y(ussel)e(allen)h(zug)2282 3200 y(\177)2282 3196
y(anglic)m(h)g(zu)h(mac)m(hen,)h(ohne)f(die)270 3309
y(Sic)m(herheit)j(des)g(V)-8 b(erfahrens)31 b(zu)f(b)s(eein)m(tr)1704
3313 y(\177)1704 3309 y(ac)m(h)m(tigen.)i(Daher)f(b)s(ezeic)m(hnet)g
(man)g(die)f(asym-)270 3422 y(metrisc)m(hen)k(V)-8 b(erfahren)35
b(auc)m(h)g(als)g Fu(Public)h(Key)42 b Fw(V)-8 b(erfahren.)35
b(Es)g(soll)f(jedo)s(c)m(h)h(nic)m(h)m(t)f(der)270 3535
y(Eindruc)m(k)25 b(erw)m(ec)m(kt)j(w)m(erden,)f(diese)f(seien)g(den)g
(asymmetrisc)m(hen)g(in)f(jeder)i(Hinsic)m(h)m(t)f(un-)270
3648 y(terlegen.)g(In)e(b)s(ezug)g(auf)h(die)f(E\016zienz)h(sind)e(sie)
h(i.a.)h(erheblic)m(h)e(b)s(esser.)i(Das)g(f)2984 3652
y(\177)2981 3648 y(uhrt)f(dazu,)270 3760 y(da\031)33
b(man)f(in)f(der)h(Praxis)f(mittels)h(eines)g(Public)e(Key)j(V)-8
b(erfahrens)32 b(einen)f(sogenann)m(ten)270 3873 y Fu(Session)g(Key)37
b Fw(austausc)m(h)m(t.)29 b(Dieser)g(wird)d(dann)h(f)1996
3877 y(\177)1993 3873 y(ur)h(die)f(eigen)m(tlic)m(he)2706
3854 y(\177)2695 3873 y(Ub)s(ermittlung)e(der)270 3986
y(Nac)m(hric)m(h)m(t)31 b(mit)f(einem)g(symmetrisc)m(hen)f(V)-8
b(erfahren)30 b(b)s(en)m(utzt.)411 4113 y(Es)f(gibt)f(im)g(w)m(esen)m
(tlic)m(hen)h(zw)m(ei)g(Ans)1728 4117 y(\177)1728 4113
y(atze)h(b)s(ei)d(der)i(Konstruktion)e(v)m(on)i(Public)e(Key)270
4226 y(V)-8 b(erfahren.)27 b(Die)h(einen)e(b)s(eruhen)g(auf)h(dem)g(F)
-8 b(aktorisierungsproblem,)25 b(die)i(anderen)f(auf)270
4339 y(dem)43 b(Problem)f(des)i(Diskreten)f(Logarithm)m(us.)g(Bei)h
(letzterem)g(ist)f(es)h(n)m(un)e(m)3135 4343 y(\177)3135
4339 y(oglic)m(h,)270 4452 y(elliptisc)m(he)27 b(Kurv)m(en)h(zu)h(v)m
(erw)m(enden.)g(Diese)g(bieten)f(in)g(der)g(Regel)h(V)-8
b(orteile,)30 b(w)m(enn)e(man)270 4565 y(gewisse)i(Dinge)h(b)s(ei)e
(der)g(Ausw)m(ahl)h(der)f(Kurv)m(en)h(b)s(eac)m(h)m(tet.)411
4692 y(Wir)e(w)m(erden)g(in)f(dieser)h(Arb)s(eit)f(eine)h(An)m(w)m
(endung)g(zum)g(V)-8 b(ersc)m(hl)2715 4696 y(\177)2712
4692 y(usseln)27 b(v)m(on)i(Daten)270 4805 y(en)m(t)m(wic)m(k)m(eln,)40
b(die)e(im)g(folgenden)g(als)h Fu(Pr)-5 b(ovider)50 b
Fw(b)s(ezeic)m(hnet)39 b(w)m(erden)g(soll,)f(da)h(sie)f(eine)270
4918 y(F)-8 b(unktionalit)760 4922 y(\177)760 4918 y(at)28
b(b)s(ereitstellt.)f(Dab)s(ei)h(w)m(erden)g(elliptisc)m(he)e(Kurv)m(en)
h(als)h(mathematisc)m(he)270 5030 y(Grundlage)37 b(b)s(en)m(utzt.)i
(Zur)e(T)-8 b(ec)m(hnik)38 b(z)1659 5034 y(\177)1659
5030 y(ahlt)g(die)f(JA)-10 b(V)g(A)39 b(Cryptograph)m(y)e(Arc)m
(hitecture,)273 5147 y(\177)270 5143 y(ub)s(er)29 b(die)g(am)i(Ende)e
(auc)m(h)i(ein)f(Urteil)f(abgegeb)s(en)i(w)m(erden)f(soll.)411
5270 y(Damit)37 b(hab)s(en)e(wir)g(sc)m(hon)i(die)e(wic)m(h)m(tigsten)i
(Asp)s(ekte)f(angespro)s(c)m(hen,)h(die)e(in)h(die-)270
5383 y(ser)30 b(Diplomarb)s(eit)e(V)-8 b(erw)m(endung)30
b(\014nden.)e(Im)i(folgenden)f(soll)g(jedo)s(c)m(h)h(no)s(c)m(h)g(ein)f
(kurzer)281 5477 y(\177)270 5496 y(Ub)s(erblic)m(k)700
5500 y(\177)698 5496 y(ub)s(er)42 b(die)h(in)g(den)g(einzelnen)g
(Kapiteln)f(b)s(ehandelten)g(Themen)h(gegeb)s(en)270
5609 y(w)m(erden.)g(Die)g(erforderlic)m(he)f(Theorie)h(der)f(elliptisc)
m(hen)f(Kurv)m(en)h(wird)f(in)h(Kapitel)h(2)1807 5858
y(5)p eop
%%Page: 6 7
6 6 bop 390 82 a Fw(6)1908 b(KAPITEL)29 b(1.)61 b(EINLEITUNG)390
415 y(dargestellt.)32 b(Dab)s(ei)g(wird)e(k)m(ein)h(W)-8
b(ert)34 b(auf)d(V)-8 b(ollst)2143 419 y(\177)2143 415
y(andigk)m(eit)32 b(gelegt.)i(Dem)e(Leser)g(sollen)390
528 y(n)m(ur)27 b(die)h(Grundlagen)e(b)s(ereitgestellt)i(w)m(erden,)g
(die)f(f)2241 532 y(\177)2238 528 y(ur)g(die)g(Implemen)m(tierung)g
(relev)-5 b(an)m(t)390 641 y(w)m(aren.)38 b(In)g(Kapitel)e(3)j(wird)d
(der)h(v)m(erw)m(endete)i(Algorithm)m(us)e(erl)2714 645
y(\177)2714 641 y(autert.)h(Den)g(Aufbau)390 754 y(und)30
b(die)g(F)-8 b(unktionsw)m(eise)30 b(des)h(Pro)m(viders)g(erkl)2065
758 y(\177)2065 754 y(art)f(Kapitel)g(4.)i(Dort)g(w)m(erden)f(eb)s
(enfalls)390 867 y(v)m(ersc)m(hiedene)e(Asp)s(ekte)g(der)g(Implemen)m
(tierung)d(b)s(etrac)m(h)m(tet.)31 b(Die)e(E\016zienz)g(ist)f(Thema)390
980 y(v)m(on)39 b(Kapitel)f(5,)i(w)m(o)f(auc)m(h)g(v)m(ersuc)m(h)m(t)h
(wird,)d(F)-8 b(olgerungen)39 b(daraus)f(abzuleiten.)g(Einen)390
1093 y(Ausblic)m(k)45 b(auf)i(w)m(eitere)g(En)m(t)m(wic)m(klungen)f
(gibt)h(Kapitel)f(6.)h(In)f(den)h(Anh)3055 1097 y(\177)3055
1093 y(angen)f(wird)390 1205 y(sc)m(hlie\031lic)m(h)40
b(der)g(Quellco)s(de)g(der)g(Klassen)g(mit)h(der)f(dazugeh)2611
1209 y(\177)2611 1205 y(origen)h(Dokumen)m(tation)390
1318 y(aufgelistet.)531 1431 y(Wie)36 b(ob)s(en)f(sc)m(hon)h(erw)1349
1435 y(\177)1349 1431 y(ahn)m(t,)g(erheb)s(en)f(die)g(Ausf)2274
1435 y(\177)2271 1431 y(uhrungen)2682 1435 y(\177)2680
1431 y(ub)s(er)f(elliptisc)m(he)g(Kur-)390 1544 y(v)m(en)k(k)m(einen)g
(Anspruc)m(h)e(auf)i(V)-8 b(ollst)1662 1548 y(\177)1662
1544 y(andigk)m(eit.)37 b(Daher)i(soll)d(n)m(un)h(eine)h(Au\015istung)e
(v)m(on)390 1657 y(B)457 1661 y(\177)454 1657 y(uc)m(hern)g(folgen,)g
(die)f(f)1235 1661 y(\177)1232 1657 y(ur)f(eine)i(v)m(ertiefte)h(Besc)m
(h)2136 1661 y(\177)2136 1657 y(aftigung)f(mit)g(dem)f(Thema)h
(geeignet)390 1770 y(sind.)22 b(Allgemeine)g(zahlen)m(theoretisc)m(he)j
(Grundlagen,)d(die)h(nic)m(h)m(t)h(un)m(b)s(edingt)d(auf)i(ellipti-)390
1883 y(sc)m(he)h(Kurv)m(en)f(b)s(ezogen)i(sind,)d(stehen)h(in)g(dem)g
(auc)m(h)h(f)2251 1887 y(\177)2248 1883 y(ur)f(Laien)g(v)m(erst)2792
1887 y(\177)2792 1883 y(andlic)m(hen)g([Bur94].)390 1996
y(Die)k(Theorie)f(elliptisc)m(her)f(Kurv)m(en)h(wird)f(sehr)h(ausf)2213
2000 y(\177)2210 1996 y(uhrlic)m(h)f(in)g([Sil86])i(und)e([Hus87)q(])i
(b)s(e-)390 2109 y(sc)m(hrieb)s(en.)33 b(W)-8 b(enn)35
b(man)f(jedo)s(c)m(h)g(den)g(Zusammenhang)f(mit)h(der)g(Kryptographie)f
(her-)390 2222 y(stellen)40 b(will,)f(so)j(sind)e(neuere)h(W)-8
b(erk)m(e)43 b(aufgrund)c(ihrer)h(gr)2514 2226 y(\177)2514
2222 y(o\031eren)i(Aktualit)3147 2226 y(\177)3147 2222
y(at)g(b)s(esser)390 2335 y(dazu)34 b(geeignet.)h(V)-8
b(or)34 b(allem)f([Kob94)q(])h(und)e([Men93)q(])i(sollen)f(an)g(dieser)
g(Stelle)g(erw)3331 2339 y(\177)3331 2335 y(ahn)m(t)390
2447 y(w)m(erden.)k(Einen)f(allgemeinen)1513 2428 y(\177)1502
2447 y(Ub)s(erblic)m(k)1926 2451 y(\177)1923 2447 y(ub)s(er)g
(Kryptographie)h(geb)s(en)g([Buc99)r(])g(und)390 2560
y(das)29 b(Standardw)m(erk)e([Sti95].)j(W)-8 b(as)30
b(die)d(Programmierung)h(kryptographisc)m(her)f(V)-8
b(erfah-)390 2673 y(ren)28 b(in)g(JA)-10 b(V)g(A)29 b(b)s(etri\013t,)f
(so)h(ist)f([Kn)m(u98)q(])h(das)f(derzeit)h(einzige)g(mir)e(b)s(ek)-5
b(ann)m(te)29 b(Buc)m(h,)g(das)390 2786 y(hierauf)g(n)747
2790 y(\177)747 2786 y(aher)h(eingeh)m(t.)p eop
%%Page: 7 8
7 7 bop 270 1043 a Fr(Kapitel)66 b(2)270 1463 y Fv(Elliptisc)-6
b(he)75 b(Kurv)-6 b(en)270 1913 y Fw(Elliptisc)m(he)29
b(Kurv)m(en)i(sind)f(aufgrund)g(ihrer)h(algebraisc)m(hen)g(Struktur)f
(f)2806 1917 y(\177)2803 1913 y(ur)h(die)g(V)-8 b(erw)m(en-)270
2026 y(dung)33 b(in)f(Kryptosystemen)h(geeignet.)i(Dab)s(ei)f(ist)f(en)
m(tsc)m(heidend,)g(da\031)h(man)f(auf)h(ihnen)270 2139
y(eine)c(Grupp)s(enstruktur)d(de\014nieren)h(k)-5 b(ann.)411
2256 y(In)28 b(diesem)h(Kapitel)e(soll)h(eine)h(kurze)g(Einf)1903
2260 y(\177)1900 2256 y(uhrung)c(in)j(die)g(Theorie)g(der)h(elliptisc)m
(hen)270 2369 y(Kurv)m(en)24 b(gegeb)s(en)i(w)m(erden.)f(Beginnen)g(w)m
(ollen)f(wir)g(dab)s(ei)g(mit)h(den)g(grundlegenden)e(De-)270
2482 y(\014nitionen.)31 b(Ansc)m(hlie\031end)h(soll)h(das)g(Grupp)s
(engesetz)g(dargestellt)g(und)f(erl)2945 2486 y(\177)2945
2482 y(autert)i(w)m(er-)270 2595 y(den.)i(Im)f(letzten)h(Absc)m(hnitt)g
(geh)m(t)h(es)f(um)f(die)g(Bestimm)m(ung)g(f)2540 2599
y(\177)2537 2595 y(ur)g(die)g(Kryptographie)270 2708
y(geeigneter)d(Kurv)m(en.)411 2826 y(V)-8 b(orgestellt)25
b(w)m(erden)e(jedo)s(c)m(h)h(n)m(ur)e(die)h(f)1771 2830
y(\177)1768 2826 y(ur)f(das)i(V)-8 b(erstehen)24 b(des)f(Programms)h
(not)m(w)m(en-)270 2939 y(digen)29 b(F)-8 b(akten.)32
b(F)901 2943 y(\177)898 2939 y(ur)e(alles,)g(w)m(as)g(dar)1552
2943 y(\177)1549 2939 y(ub)s(er)f(hinausgeh)m(t,)g(dienen)g(die)h
(Literaturhin)m(w)m(eise,)270 3052 y(w)m(elc)m(he)k(sc)m(hon)f(in)g
(Kapitel)f(1)i(angegeb)s(en)g(wurden.)d(Aufgrund)h(der)h(Un)m(v)m
(ollst)3027 3056 y(\177)3027 3052 y(andigk)m(eit)270
3165 y(dieses)g(Absc)m(hnitts)g(sollen)g([Men93)q(])i(und)d([Sil86)o(])
i(jedo)s(c)m(h)g(no)s(c)m(h)g(einmal)f(erw)3008 3169
y(\177)3008 3165 y(ahn)m(t)h(w)m(er-)270 3277 y(den.)40
b(Das)i(erste)f(Buc)m(h)g(stellt)f(den)g(Bezug)h(elliptisc)m(her)d
(Kurv)m(en)i(zur)g(Kryptographie)270 3390 y(her,)30 b(das)g(zw)m(eite)h
(geh)m(t)h(auf)e(die)f(Theorie)h(der)g(elliptisc)m(hen)e(Kurv)m(en)h
(ausf)2839 3394 y(\177)2836 3390 y(uhrlic)m(h)e(ein.)270
3705 y Fz(2.1)135 b(Grundlagen)270 3918 y Fs(De\014nition)35
b(1)46 b Fu(Eine)37 b(el)5 b(liptische)37 b(Kurve)g Fq(E)1893
3922 y Fu(\177)1892 3918 y(ub)-5 b(er)38 b(einem)f(K)2439
3922 y(\177)2440 3918 y(orp)-5 b(er)39 b Fq(K)k Fu(in)38
b(Weierstr)-5 b(a\031-)270 4030 y(Normalform)35 b(wir)-5
b(d)34 b(dar)-5 b(gestel)5 b(lt)34 b(dur)-5 b(ch)34 b(die)f(Gleichung)
964 4249 y Fq(E)e Fw(:)25 b Fq(y)1160 4212 y Fp(2)1220
4249 y Fw(+)20 b Fq(a)1359 4263 y Fp(1)1398 4249 y Fq(xy)j
Fw(+)d Fq(a)1657 4263 y Fp(3)1696 4249 y Fq(y)28 b Fw(=)d
Fq(x)1917 4212 y Fp(3)1977 4249 y Fw(+)20 b Fq(a)2116
4263 y Fp(2)2155 4249 y Fq(x)2207 4212 y Fp(2)2267 4249
y Fw(+)g Fq(a)2406 4263 y Fp(4)2445 4249 y Fq(x)h Fw(+)e
Fq(a)2656 4263 y Fp(6)3203 4249 y Fw(\(2.1\))270 4468
y Fu(mit)59 b(Ko)-5 b(e\016zienten)59 b(aus)f Fq(K)7
b Fu(.)58 b(A)n(ls)g(Kurvenpunkte)g(b)-5 b(ezeichnen)59
b(wir)g(die)f(Elemente)270 4581 y Fw(\()p Fq(x;)15 b(y)s
Fw(\))34 b Fo(2)f Fq(K)692 4548 y Fp(2)731 4581 y Fu(,)j(die)h(obige)g
(Gleichung)g(erf)1723 4585 y(\177)1723 4581 y(ul)5 b(len,)37
b(sowie)g(einen)g(zus)2604 4585 y(\177)2605 4581 y(atzlichen)h(F)-7
b(ernpunkt)270 4694 y Fw(\()p Fo(1)p Fw(\))p Fu(,)30
b(der)g(nicht)f(in)h(der)f(a\016nen)h(Eb)-5 b(ene)29
b(lie)-5 b(gt.)30 b(Wir)f(nennen)g(die)h(Menge)e(dieser)i(Punkte)270
4807 y Fq(E)5 b Fw(\()p Fq(K)i Fw(\))p Fu(.)411 5044
y Fw(In)37 b(dieser)f(De\014nition)g(hab)s(en)g(wir)g(eine)g(elliptisc)
m(he)f(Kurv)m(e)i(in)f(der)h Fu(a\016nen)i(Eb)-5 b(ene)270
5157 y Fq(K)354 5124 y Fp(2)422 5157 y Fw(de\014niert.)28
b(Der)h(F)-8 b(ernpunkt)29 b(m)m(u\031te)g(dab)s(ei)f(explizit)g
(hinzugenommen)f(w)m(erden,)i(ob-)270 5270 y(w)m(ohl)37
b(er)i(k)m(eine)f(a\016ne)g(Ko)s(ordinatendarstellung)d(b)s(esitzt.)j
(Dieser)g(Nac)m(h)m(teil)h(l)3077 5274 y(\177)3077 5270
y(a\031t)g(sic)m(h)270 5383 y(jedo)s(c)m(h)d(durc)m(h)f(den)1011
5364 y(\177)999 5383 y(Ub)s(ergang)h(zu)g Fu(pr)-5 b(ojektiven)39
b(Ko)-5 b(or)g(dinaten)46 b Fw(b)s(eheb)s(en,)34 b(w)m(orauf)i(hier)270
5496 y(nic)m(h)m(t)23 b(n)541 5500 y(\177)541 5496 y(aher)g
(eingegangen)i(w)m(erden)e(soll.)f(Eine)h(v)m(erst)2118
5500 y(\177)2118 5496 y(andlic)m(he)f(Erl)2591 5500 y(\177)2591
5496 y(auterung)g(hierzu)g(gibt)270 5609 y([Ham98)r(].)1807
5858 y(7)p eop
%%Page: 8 9
8 8 bop 390 82 a Fw(8)1456 b(KAPITEL)30 b(2.)61 b(ELLIPTISCHE)28
b(KUR)-10 b(VEN)531 415 y(W)i(as)31 b(die)d(Ko)s(e\016zien)m(ten)i(b)s
(etri\013t,)f(so)g(wird)f(in)g([Hus87)q(])h(durc)m(h)g(sogenann)m(te)i
Fu(zul)3328 419 y(\177)3329 415 y(assi-)390 528 y(ge)i(T)-7
b(r)i(ansformationen)42 b Fw(gezeigt,)33 b(wie)e(die)f(fehlenden)g
(Summanden)f(einer)h(allgemeinen)390 641 y(kubisc)m(hen)25
b(Gleic)m(h)m(ung)i(eliminiert)c(w)m(erden)k(k)1989 645
y(\177)1989 641 y(onnen,)f(um)g(die)g(W)-8 b(eierstra\031-Normalform)
390 754 y(zu)30 b(erhalten.)755 2261 y @beginspecial
0 @llx 0 @lly 413 @urx 248 @ury 1700 @rhi @clip @setspecial
%%BeginDocument: Pics/weierstrass.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: picweier.eps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Fri Oct 8 13:44:58 1999
%%For: crnjak@fb0409 (Markus Crnjak)
%%Orientation: Portrait
%%BoundingBox: 0 0 413 248
%%Pages: 0
%%BeginSetup
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.298 0.298 0.298 srgb} bind def
end
save
3.0 248.0 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog
$F2psBegin
10 setmiterlimit
n -1000 5128 m -1000 -1000 l 7827 -1000 l 7827 5128 l cp clip
0.06000 0.06000 sc
% Polyline
1 slc
7.500 slw
n 4858 4116 m 4858 13 l gs col0 s gr
% Polyline
n 3533 2359 m 6815 2359 l gs col0 s gr
% Polyline
n 55 3127 m 55 3169 l gs col0 s gr
% Polyline
n 55 3127 m 55 3123 l gs col0 s gr
% Polyline
n 55 3082 m 55 3123 l gs col0 s gr
% Polyline
n 55 3082 m 55 3077 l gs col0 s gr
% Polyline
n 58 3034 m 55 3077 l gs col0 s gr
% Polyline
n 57 3034 m 59 3034 l gs col0 s gr
% Polyline
n 58 3022 m 58 3034 l gs col0 s gr
% Polyline
n 97 3495 m 86 3449 l 83 3431 l gs col0 s gr
% Polyline
n 76 3403 m 83 3431 l gs col0 s gr
% Polyline
n 76 3403 m 73 3374 l gs col0 s gr
% Polyline
n 69 3356 m 73 3374 l gs col0 s gr
% Polyline
n 69 3356 m 64 3317 l gs col0 s gr
% Polyline
n 64 3311 m 64 3317 l gs col0 s gr
% Polyline
n 64 3311 m 58 3265 l 58 3262 l gs col0 s gr
% Polyline
n 58 3022 m 62 2991 l gs col0 s gr
% Polyline
n 62 2989 m 62 2991 l gs col0 s gr
% Polyline
n 62 2989 m 65 2951 l gs col0 s gr
% Polyline
n 66 2943 m 65 2951 l gs col0 s gr
% Polyline
n 66 2943 m 70 2911 l gs col0 s gr
% Polyline
n 72 2896 m 70 2911 l gs col0 s gr
% Polyline
n 72 2896 m 75 2872 l gs col0 s gr
% Polyline
n 78 2852 m 75 2872 l gs col0 s gr
% Polyline
n 78 2852 m 81 2832 l gs col0 s gr
% Polyline
n 86 2805 m 81 2832 l gs col0 s gr
% Polyline
n 86 2805 m 88 2793 l gs col0 s gr
% Polyline
n 95 2759 m 88 2793 l gs col0 s gr
% Polyline
n 95 2759 m 95 2757 l gs col0 s gr
% Polyline
n 97 2747 m 95 2757 l gs col0 s gr
% Polyline
n 135 3601 m 128 3587 l 125 3574 l gs col0 s gr
% Polyline
n 111 3541 m 125 3574 l gs col0 s gr
% Polyline
n 111 3541 m 97 3496 l gs col0 s gr
% Polyline
n 96 3496 m 98 3496 l gs col0 s gr
% Polyline
n 97 3496 m 97 3495 l gs col0 s gr
% Polyline
n 97 2747 m 103 2720 l gs col0 s gr
% Polyline
n 104 2712 m 103 2720 l gs col0 s gr
% Polyline
n 104 2712 m 111 2685 l gs col0 s gr
% Polyline
n 115 2667 m 111 2685 l gs col0 s gr
% Polyline
n 115 2667 m 120 2649 l gs col0 s gr
% Polyline
n 127 2623 m 120 2649 l gs col0 s gr
% Polyline
n 127 2623 m 129 2615 l gs col0 s gr
% Polyline
n 135 2597 m 129 2615 l gs col0 s gr
% Polyline
n 173 3674 m 150 3632 l 135 3601 l gs col0 s gr
% Polyline
n 135 2597 m 139 2582 l gs col0 s gr
% Polyline
n 140 2576 m 139 2582 l gs col0 s gr
% Polyline
n 140 2576 m 150 2549 l gs col0 s gr
% Polyline
n 157 2529 m 150 2549 l gs col0 s gr
% Polyline
n 157 2529 m 161 2514 l gs col0 s gr
% Polyline
n 172 2484 m 161 2514 l gs col0 s gr
% Polyline
n 172 2484 m 172 2483 l gs col0 s gr
% Polyline
n 173 2481 m 172 2483 l gs col0 s gr
% Polyline
n 211 3724 m 210 3722 l gs col0 s gr
% Polyline
n 177 3679 m 210 3722 l gs col0 s gr
% Polyline
n 177 3679 m 173 3674 l gs col0 s gr
% Polyline
n 173 2481 m 186 2452 l gs col0 s gr
% Polyline
n 190 2438 m 186 2452 l gs col0 s gr
% Polyline
n 190 2438 m 198 2421 l gs col0 s gr
% Polyline
n 210 2391 m 198 2421 l gs col0 s gr
% Polyline
n 210 2391 m 211 2390 l gs col0 s gr
% Polyline
n 211 2387 m 211 2390 l gs col0 s gr
% Polyline
n 211 3724 m 212 3726 l gs col0 s gr
% Polyline
n 250 3761 m 212 3726 l gs col0 s gr
% Polyline
n 211 2387 m 224 2362 l gs col0 s gr
% Polyline
n 232 2346 m 224 2362 l gs col0 s gr
% Polyline
n 232 2346 m 238 2331 l gs col0 s gr
% Polyline
n 250 2307 m 238 2331 l gs col0 s gr
% Polyline
n 289 3789 m 262 3770 l 250 3761 l gs col0 s gr
% Polyline
n 250 2307 m 252 2302 l gs col0 s gr
% Polyline
n 254 2300 m 252 2302 l gs col0 s gr
% Polyline
n 254 2300 m 267 2275 l gs col0 s gr
% Polyline
n 279 2254 m 267 2275 l gs col0 s gr
% Polyline
n 279 2254 m 283 2247 l gs col0 s gr
% Polyline
n 289 2239 m 283 2247 l gs col0 s gr
% Polyline
n 289 3789 m 312 3799 l gs col0 s gr
% Polyline
n 327 3805 m 312 3799 l gs col0 s gr
% Polyline
n 289 2239 m 298 2220 l gs col0 s gr
% Polyline
n 306 2208 m 298 2220 l gs col0 s gr
% Polyline
n 306 2208 m 316 2194 l gs col0 s gr
% Polyline
n 327 2177 m 316 2194 l gs col0 s gr
% Polyline
n 364 3817 m 327 3805 l gs col0 s gr
% Polyline
n 327 2177 m 333 2168 l gs col0 s gr
% Polyline
n 337 2162 m 333 2168 l gs col0 s gr
% Polyline
n 337 2162 m 349 2145 l gs col0 s gr
% Polyline
n 364 2122 m 349 2145 l gs col0 s gr
% Polyline
n 363 3817 m 365 3817 l gs col0 s gr
% Polyline
n 403 3821 m 364 3817 l gs col0 s gr
% Polyline
n 364 2122 m 368 2120 l gs col0 s gr
% Polyline
n 370 2117 m 368 2120 l gs col0 s gr
% Polyline
n 370 2117 m 388 2097 l gs col0 s gr
% Polyline
n 403 2076 m 388 2097 l gs col0 s gr
% Polyline
n 403 3821 m 407 3821 l gs col0 s gr
% Polyline
n 441 3821 m 407 3821 l gs col0 s gr
% Polyline
n 403 2076 m 406 2073 l gs col0 s gr
% Polyline
n 408 2071 m 406 2073 l gs col0 s gr
% Polyline
n 408 2071 m 425 2051 l gs col0 s gr
% Polyline
n 441 2034 m 425 2051 l gs col0 s gr
% Polyline
n 441 3821 m 444 3820 l gs col0 s gr
% Polyline
n 470 3817 m 444 3820 l gs col0 s gr
% Polyline
n 470 3817 m 478 3815 l gs col0 s gr
% Polyline
n 480 3815 m 478 3815 l gs col0 s gr
% Polyline
n 441 2034 m 445 2029 l gs col0 s gr
% Polyline
n 452 2024 m 445 2029 l gs col0 s gr
% Polyline
n 452 2024 m 466 2008 l gs col0 s gr
% Polyline
n 480 1997 m 466 2008 l gs col0 s gr
% Polyline
n 480 3815 m 510 3807 l gs col0 s gr
% Polyline
n 517 3804 m 510 3807 l gs col0 s gr
% Polyline
n 480 1997 m 488 1990 l gs col0 s gr
% Polyline
n 500 1977 m 488 1990 l gs col0 s gr
% Polyline
n 500 1977 m 511 1969 l gs col0 s gr
% Polyline
n 517 1964 m 511 1969 l gs col0 s gr
% Polyline
n 517 3804 m 539 3796 l gs col0 s gr
% Polyline
n 556 3791 m 539 3796 l gs col0 s gr
% Polyline
n 517 1964 m 533 1951 l gs col0 s gr
% Polyline
n 556 1934 m 533 1951 l gs col0 s gr
% Polyline
n 556 3791 m 568 3785 l gs col0 s gr
% Polyline
n 594 3775 m 568 3785 l gs col0 s gr
% Polyline
n 556 1934 m 558 1934 l gs col0 s gr
% Polyline
n 559 1931 m 558 1934 l gs col0 s gr
% Polyline
n 559 1931 m 582 1917 l gs col0 s gr
% Polyline
n 594 1909 m 582 1917 l gs col0 s gr
% Polyline
n 594 3775 m 597 3772 l gs col0 s gr
% Polyline
n 600 3770 m 597 3772 l gs col0 s gr
% Polyline
n 600 3770 m 622 3759 l gs col0 s gr
% Polyline
n 633 3753 m 622 3759 l gs col0 s gr
% Polyline
n 594 1909 m 606 1902 l gs col0 s gr
% Polyline
n 633 1887 m 606 1902 l gs col0 s gr
% Polyline
n 633 3753 m 648 3743 l gs col0 s gr
% Polyline
n 671 3729 m 648 3743 l gs col0 s gr
% Polyline
n 632 1887 m 634 1887 l gs col0 s gr
% Polyline
n 634 1887 m 633 1887 l gs col0 s gr
% Polyline
n 634 1887 m 661 1873 l gs col0 s gr
% Polyline
n 671 1869 m 661 1873 l gs col0 s gr
% Polyline
n 671 3729 m 673 3727 l gs col0 s gr
% Polyline
n 676 3724 m 673 3727 l gs col0 s gr
% Polyline
n 676 3724 m 697 3710 l gs col0 s gr
% Polyline
n 708 3703 m 697 3710 l gs col0 s gr
% Polyline
n 671 1869 m 687 1861 l gs col0 s gr
% Polyline
n 708 1852 m 687 1861 l gs col0 s gr
% Polyline
n 708 3703 m 720 3693 l gs col0 s gr
% Polyline
n 740 3679 m 720 3693 l gs col0 s gr
% Polyline
n 740 3679 m 745 3674 l gs col0 s gr
% Polyline
n 747 3672 m 745 3674 l gs col0 s gr
% Polyline
n 708 1852 m 717 1849 l gs col0 s gr
% Polyline
n 744 1840 m 717 1849 l gs col0 s gr
% Polyline
n 744 1840 m 746 1839 l gs col0 s gr
% Polyline
n 747 1838 m 746 1839 l gs col0 s gr
% Polyline
n 747 3672 m 767 3656 l gs col0 s gr
% Polyline
n 785 3639 m 767 3656 l gs col0 s gr
% Polyline
n 747 1838 m 778 1831 l gs col0 s gr
% Polyline
n 785 1828 m 778 1831 l gs col0 s gr
% Polyline
n 785 3639 m 788 3636 l gs col0 s gr
% Polyline
n 793 3632 m 788 3636 l gs col0 s gr
% Polyline
n 793 3632 m 810 3617 l gs col0 s gr
% Polyline
n 824 3605 m 810 3617 l gs col0 s gr
% Polyline
n 785 1828 m 810 1824 l gs col0 s gr
% Polyline
n 824 1821 m 810 1824 l gs col0 s gr
% Polyline
n 824 3605 m 832 3597 l gs col0 s gr
% Polyline
n 842 3587 m 832 3597 l gs col0 s gr
% Polyline
n 842 3587 m 853 3576 l gs col0 s gr
% Polyline
n 861 3566 m 853 3576 l gs col0 s gr
% Polyline
n 824 1821 m 843 1818 l gs col0 s gr
% Polyline
n 861 1816 m 843 1818 l gs col0 s gr
% Polyline
n 861 3566 m 873 3554 l gs col0 s gr
% Polyline
n 888 3541 m 873 3554 l gs col0 s gr
% Polyline
n 888 3541 m 894 3534 l gs col0 s gr
% Polyline
n 901 3526 m 894 3534 l gs col0 s gr
% Polyline
n 861 1816 m 880 1814 l gs col0 s gr
% Polyline
n 901 1813 m 880 1814 l gs col0 s gr
% Polyline
n 901 3526 m 914 3511 l gs col0 s gr
% Polyline
n 929 3496 m 914 3511 l gs col0 s gr
% Polyline
n 929 3496 m 934 3489 l gs col0 s gr
% Polyline
n 938 3484 m 934 3489 l gs col0 s gr
% Polyline
n 901 1813 m 915 1813 l gs col0 s gr
% Polyline
n 938 1812 m 915 1813 l gs col0 s gr
% Polyline
n 938 3484 m 954 3467 l gs col0 s gr
% Polyline
n 969 3449 m 954 3467 l gs col0 s gr
% Polyline
n 969 3449 m 973 3445 l gs col0 s gr
% Polyline
n 977 3441 m 973 3445 l gs col0 s gr
% Polyline
n 938 1812 m 954 1813 l gs col0 s gr
% Polyline
n 977 1814 m 954 1813 l gs col0 s gr
% Polyline
n 977 3441 m 993 3422 l gs col0 s gr
% Polyline
n 1007 3403 m 993 3422 l gs col0 s gr
% Polyline
n 1007 3403 m 1011 3398 l gs col0 s gr
% Polyline
n 1015 3393 m 1011 3398 l gs col0 s gr
% Polyline
n 977 1814 m 994 1816 l gs col0 s gr
% Polyline
n 1015 1817 m 994 1816 l gs col0 s gr
% Polyline
n 1015 3393 m 1029 3375 l gs col0 s gr
% Polyline
n 1043 3356 m 1029 3375 l gs col0 s gr
% Polyline
n 1043 3356 m 1049 3351 l gs col0 s gr
% Polyline
n 1053 3344 m 1049 3351 l gs col0 s gr
% Polyline
n 1015 1817 m 1037 1821 l gs col0 s gr
% Polyline
n 1053 1821 m 1037 1821 l gs col0 s gr
% Polyline
n 1053 3344 m 1067 3326 l gs col0 s gr
% Polyline
n 1079 3311 m 1067 3326 l gs col0 s gr
% Polyline
n 1079 3311 m 1085 3303 l gs col0 s gr
% Polyline
n 1091 3294 m 1085 3303 l gs col0 s gr
% Polyline
n 1053 1821 m 1083 1828 l gs col0 s gr
% Polyline
n 1091 1831 m 1083 1828 l gs col0 s gr
% Polyline
n 1091 3294 m 1103 3278 l gs col0 s gr
% Polyline
n 1113 3265 m 1103 3278 l gs col0 s gr
% Polyline
n 1113 3265 m 1120 3253 l gs col0 s gr
% Polyline
n 1130 3240 m 1120 3253 l gs col0 s gr
% Polyline
n 1130 1842 m 1126 1840 l 1091 1831 l gs col0 s gr
% Polyline
n 1130 3240 m 1138 3229 l gs col0 s gr
% Polyline
n 1145 3218 m 1138 3229 l gs col0 s gr
% Polyline
n 1145 3218 m 1156 3204 l gs col0 s gr
% Polyline
n 1168 3187 m 1156 3204 l gs col0 s gr
% Polyline
n 1130 1842 m 1131 1842 l gs col0 s gr
% Polyline
n 1168 1853 m 1131 1842 l gs col0 s gr
% Polyline
n 1168 3187 m 1173 3179 l gs col0 s gr
% Polyline
n 1176 3173 m 1173 3179 l gs col0 s gr
% Polyline
n 1176 3173 m 1189 3153 l gs col0 s gr
% Polyline
n 1207 3130 m 1189 3153 l gs col0 s gr
% Polyline
n 1168 1853 m 1185 1860 l gs col0 s gr
% Polyline
n 1207 1869 m 1185 1860 l gs col0 s gr
% Polyline
n 1207 3130 m 1207 3129 l gs col0 s gr
% Polyline
n 1207 3127 m 1207 3129 l gs col0 s gr
% Polyline
n 1207 3127 m 1224 3102 l gs col0 s gr
% Polyline
n 1237 3082 m 1224 3102 l gs col0 s gr
% Polyline
n 1237 3082 m 1239 3075 l gs col0 s gr
% Polyline
n 1244 3070 m 1239 3075 l gs col0 s gr
% Polyline
n 1207 1869 m 1243 1883 l gs col0 s gr
% Polyline
n 1244 1884 m 1243 1883 l gs col0 s gr
% Polyline
n 1244 3070 m 1257 3049 l gs col0 s gr
% Polyline
n 1265 3034 m 1257 3049 l gs col0 s gr
% Polyline
n 1265 3034 m 1272 3023 l gs col0 s gr
% Polyline
n 1283 3007 m 1272 3023 l gs col0 s gr
% Polyline
n 1283 1904 m 1249 1887 l 1244 1884 l gs col0 s gr
% Polyline
n 1283 3007 m 1290 2997 l gs col0 s gr
% Polyline
n 1294 2989 m 1290 2997 l gs col0 s gr
% Polyline
n 1294 2989 m 1305 2969 l gs col0 s gr
% Polyline
n 1321 2943 m 1305 2969 l gs col0 s gr
% Polyline
n 1320 2943 m 1322 2943 l gs col0 s gr
% Polyline
n 1283 1904 m 1310 1919 l gs col0 s gr
% Polyline
n 1321 1925 m 1310 1919 l gs col0 s gr
% Polyline
n 1321 2943 m 1335 2916 l gs col0 s gr
% Polyline
n 1347 2896 m 1335 2916 l gs col0 s gr
% Polyline
n 1347 2896 m 1353 2888 l gs col0 s gr
% Polyline
n 1360 2876 m 1353 2888 l gs col0 s gr
% Polyline
n 1360 1949 m 1333 1931 l 1321 1925 l gs col0 s gr
% Polyline
n 1360 2876 m 1367 2861 l gs col0 s gr
% Polyline
n 1373 2852 m 1367 2861 l gs col0 s gr
% Polyline
n 1373 2852 m 1382 2832 l gs col0 s gr
% Polyline
n 1397 2805 m 1382 2832 l gs col0 s gr
% Polyline
n 1360 1949 m 1394 1975 l gs col0 s gr
% Polyline
n 1397 1977 m 1394 1975 l gs col0 s gr
% Polyline
n 1397 2805 m 1412 2777 l gs col0 s gr
% Polyline
n 1422 2759 m 1412 2777 l gs col0 s gr
% Polyline
n 1422 2759 m 1427 2748 l gs col0 s gr
% Polyline
n 1437 2731 m 1427 2748 l gs col0 s gr
% Polyline
n 1437 2008 m 1400 1977 l 1397 1977 l gs col0 s gr
% Polyline
n 1437 2731 m 1441 2719 l gs col0 s gr
% Polyline
n 1445 2712 m 1441 2719 l gs col0 s gr
% Polyline
n 1445 2712 m 1455 2691 l gs col0 s gr
% Polyline
n 1467 2667 m 1455 2691 l gs col0 s gr
% Polyline
n 1467 2667 m 1469 2662 l gs col0 s gr
% Polyline
n 1474 2650 m 1469 2662 l gs col0 s gr
% Polyline
n 1474 2046 m 1453 2024 l 1437 2008 l gs col0 s gr
% Polyline
n 1474 2650 m 1482 2632 l gs col0 s gr
% Polyline
n 1488 2623 m 1482 2632 l gs col0 s gr
% Polyline
n 1488 2623 m 1494 2601 l gs col0 s gr
% Polyline
n 1507 2576 m 1494 2601 l gs col0 s gr
% Polyline
n 1507 2576 m 1510 2572 l gs col0 s gr
% Polyline
n 1512 2563 m 1510 2572 l gs col0 s gr
% Polyline
n 1512 2090 m 1497 2071 l 1474 2046 l gs col0 s gr
% Polyline
n 1512 2563 m 1522 2540 l gs col0 s gr
% Polyline
n 1525 2529 m 1522 2540 l gs col0 s gr
% Polyline
n 1525 2529 m 1533 2509 l gs col0 s gr
% Polyline
n 1542 2484 m 1533 2509 l gs col0 s gr
% Polyline
n 1542 2484 m 1543 2476 l gs col0 s gr
% Polyline
n 1551 2456 m 1543 2476 l gs col0 s gr
% Polyline
n 1551 2154 m 1530 2117 l 1512 2090 l gs col0 s gr
% Polyline
n 1551 2456 m 1555 2443 l gs col0 s gr
% Polyline
n 1557 2438 m 1555 2443 l gs col0 s gr
% Polyline
n 1557 2438 m 1564 2408 l gs col0 s gr
% Polyline
n 1569 2391 m 1564 2408 l gs col0 s gr
% Polyline
n 1569 2391 m 1571 2371 l gs col0 s gr
% Polyline
n 1576 2346 m 1571 2371 l gs col0 s gr
% Polyline
n 1576 2346 m 1577 2331 l gs col0 s gr
% Polyline
n 1580 2300 m 1577 2331 l gs col0 s gr
% Polyline
n 1580 2300 m 1580 2290 l gs col0 s gr
% Polyline
n 1578 2254 m 1580 2290 l gs col0 s gr
% Polyline
n 1578 2254 m 1575 2237 l gs col0 s gr
% Polyline
n 1571 2208 m 1575 2237 l gs col0 s gr
% Polyline
n 1571 2208 m 1558 2170 l gs col0 s gr
% Polyline
n 1555 2162 m 1558 2170 l gs col0 s gr
% Polyline
n 1555 2162 m 1551 2154 l gs col0 s gr
% Polyline
n 2010 2137 m 2004 2117 l 2004 2110 l gs col0 s gr
% Polyline
n 2000 2071 m 2004 2110 l gs col0 s gr
% Polyline
n 2000 2071 m 2000 2060 l gs col0 s gr
% Polyline
n 2000 2024 m 2000 2060 l gs col0 s gr
% Polyline
n 2000 2024 m 2003 2015 l gs col0 s gr
% Polyline
n 2006 1977 m 2003 2015 l gs col0 s gr
% Polyline
n 2006 1977 m 2006 1975 l gs col0 s gr
% Polyline
n 2010 1957 m 2006 1975 l gs col0 s gr
% Polyline
n 2048 2252 m 2028 2208 l 2016 2171 l gs col0 s gr
% Polyline
n 2014 2162 m 2016 2171 l gs col0 s gr
% Polyline
n 2014 2162 m 2010 2137 l gs col0 s gr
% Polyline
n 2010 1957 m 2013 1937 l gs col0 s gr
% Polyline
n 2013 1931 m 2013 1937 l gs col0 s gr
% Polyline
n 2013 1931 m 2021 1900 l gs col0 s gr
% Polyline
n 2024 1887 m 2021 1900 l gs col0 s gr
% Polyline
n 2024 1887 m 2029 1865 l gs col0 s gr
% Polyline
n 2036 1840 m 2029 1865 l gs col0 s gr
% Polyline
n 2036 1840 m 2039 1829 l gs col0 s gr
% Polyline
n 2048 1801 m 2039 1829 l gs col0 s gr
% Polyline
n 2087 2323 m 2071 2300 l 2049 2256 l gs col0 s gr
% Polyline
n 2049 2254 m 2049 2256 l gs col0 s gr
% Polyline
n 2049 2254 m 2048 2252 l gs col0 s gr
% Polyline
n 2048 1801 m 2049 1797 l gs col0 s gr
% Polyline
n 2049 1794 m 2049 1797 l gs col0 s gr
% Polyline
n 2049 1794 m 2060 1762 l gs col0 s gr
% Polyline
n 2064 1747 m 2060 1762 l gs col0 s gr
% Polyline
n 2064 1747 m 2071 1729 l gs col0 s gr
% Polyline
n 2080 1702 m 2071 1729 l gs col0 s gr
% Polyline
n 2080 1702 m 2082 1697 l gs col0 s gr
% Polyline
n 2087 1686 m 2082 1697 l gs col0 s gr
% Polyline
n 2124 2386 m 2099 2346 l 2087 2323 l gs col0 s gr
% Polyline
n 2087 1686 m 2094 1666 l gs col0 s gr
% Polyline
n 2095 1655 m 2094 1666 l gs col0 s gr
% Polyline
n 2095 1655 m 2105 1633 l gs col0 s gr
% Polyline
n 2113 1611 m 2105 1633 l gs col0 s gr
% Polyline
n 2113 1611 m 2117 1601 l gs col0 s gr
% Polyline
n 2124 1582 m 2117 1601 l gs col0 s gr
% Polyline
n 2163 2443 m 2160 2438 l 2144 2414 l gs col0 s gr
% Polyline
n 2128 2391 m 2144 2414 l gs col0 s gr
% Polyline
n 2128 2391 m 2124 2386 l gs col0 s gr
% Polyline
n 2124 1582 m 2128 1570 l gs col0 s gr
% Polyline
n 2131 1564 m 2128 1570 l gs col0 s gr
% Polyline
n 2131 1564 m 2140 1538 l gs col0 s gr
% Polyline
n 2147 1518 m 2140 1538 l gs col0 s gr
% Polyline
n 2147 1518 m 2152 1507 l gs col0 s gr
% Polyline
n 2163 1482 m 2152 1507 l gs col0 s gr
% Polyline
n 2201 2496 m 2191 2484 l 2163 2443 l gs col0 s gr
% Polyline
n 2163 1482 m 2165 1475 l gs col0 s gr
% Polyline
n 2165 1473 m 2165 1475 l gs col0 s gr
% Polyline
n 2165 1473 m 2176 1444 l gs col0 s gr
% Polyline
n 2184 1426 m 2176 1444 l gs col0 s gr
% Polyline
n 2184 1426 m 2190 1413 l gs col0 s gr
% Polyline
n 2201 1384 m 2190 1413 l gs col0 s gr
% Polyline
n 2240 2550 m 2224 2529 l 2201 2496 l gs col0 s gr
% Polyline
n 2201 1384 m 2202 1381 l gs col0 s gr
% Polyline
n 2202 1380 m 2202 1381 l gs col0 s gr
% Polyline
n 2202 1380 m 2214 1351 l gs col0 s gr
% Polyline
n 2219 1334 m 2214 1351 l gs col0 s gr
% Polyline
n 2219 1334 m 2226 1319 l gs col0 s gr
% Polyline
n 2238 1289 m 2226 1319 l gs col0 s gr
% Polyline
n 2237 1289 m 2239 1289 l gs col0 s gr
% Polyline
n 2240 1288 m 2238 1289 l gs col0 s gr
% Polyline
n 2278 2603 m 2257 2576 l 2240 2550 l gs col0 s gr
% Polyline
n 2240 1288 m 2251 1256 l gs col0 s gr
% Polyline
n 2257 1242 m 2251 1256 l gs col0 s gr
% Polyline
n 2257 1242 m 2264 1225 l gs col0 s gr
% Polyline
n 2275 1197 m 2264 1225 l gs col0 s gr
% Polyline
n 2275 1197 m 2277 1196 l gs col0 s gr
% Polyline
n 2278 1191 m 2277 1196 l gs col0 s gr
% Polyline
n 2315 2656 m 2290 2623 l 2278 2603 l gs col0 s gr
% Polyline
n 2278 1191 m 2289 1163 l gs col0 s gr
% Polyline
n 2293 1151 m 2289 1163 l gs col0 s gr
% Polyline
n 2293 1151 m 2301 1133 l gs col0 s gr
% Polyline
n 2313 1106 m 2301 1133 l gs col0 s gr
% Polyline
n 2313 1106 m 2313 1101 l gs col0 s gr
% Polyline
n 2315 1095 m 2313 1101 l gs col0 s gr
% Polyline
n 2354 2709 m 2323 2667 l 2315 2656 l gs col0 s gr
% Polyline
n 2315 1095 m 2325 1072 l gs col0 s gr
% Polyline
n 2330 1059 m 2325 1072 l gs col0 s gr
% Polyline
n 2330 1059 m 2339 1039 l gs col0 s gr
% Polyline
n 2348 1013 m 2339 1039 l gs col0 s gr
% Polyline
n 2348 1013 m 2351 1008 l gs col0 s gr
% Polyline
n 2354 1000 m 2351 1008 l gs col0 s gr
% Polyline
n 2392 2763 m 2389 2759 l 2375 2739 l gs col0 s gr
% Polyline
n 2356 2712 m 2375 2739 l gs col0 s gr
% Polyline
n 2356 2712 m 2354 2709 l gs col0 s gr
% Polyline
n 2354 1000 m 2363 978 l gs col0 s gr
% Polyline
n 2367 967 m 2363 978 l gs col0 s gr
% Polyline
n 2367 967 m 2375 945 l gs col0 s gr
% Polyline
n 2386 922 m 2375 945 l gs col0 s gr
% Polyline
n 2386 922 m 2388 915 l gs col0 s gr
% Polyline
n 2392 904 m 2388 915 l gs col0 s gr
% Polyline
n 2431 2815 m 2422 2805 l 2392 2763 l gs col0 s gr
% Polyline
n 2392 904 m 2400 886 l gs col0 s gr
% Polyline
n 2404 875 m 2400 886 l gs col0 s gr
% Polyline
n 2404 875 m 2413 853 l gs col0 s gr
% Polyline
n 2422 830 m 2413 853 l gs col0 s gr
% Polyline
n 2422 830 m 2425 822 l gs col0 s gr
% Polyline
n 2431 807 m 2425 822 l gs col0 s gr
% Polyline
n 2468 2870 m 2455 2852 l 2431 2815 l gs col0 s gr
% Polyline
n 2431 807 m 2437 791 l gs col0 s gr
% Polyline
n 2439 782 m 2437 791 l gs col0 s gr
% Polyline
n 2439 782 m 2449 759 l gs col0 s gr
% Polyline
n 2459 736 m 2449 759 l gs col0 s gr
% Polyline
n 2459 736 m 2461 729 l gs col0 s gr
% Polyline
n 2468 711 m 2461 729 l gs col0 s gr
% Polyline
n 2507 2925 m 2487 2896 l 2468 2870 l gs col0 s gr
% Polyline
n 2468 711 m 2473 696 l gs col0 s gr
% Polyline
n 2476 690 m 2473 696 l gs col0 s gr
% Polyline
n 2476 690 m 2486 667 l gs col0 s gr
% Polyline
n 2494 646 m 2486 667 l gs col0 s gr
% Polyline
n 2494 646 m 2498 634 l gs col0 s gr
% Polyline
n 2507 612 m 2498 634 l gs col0 s gr
% Polyline
n 2545 2982 m 2518 2943 l 2507 2925 l gs col0 s gr
% Polyline
n 2507 612 m 2510 603 l gs col0 s gr
% Polyline
n 2512 599 m 2510 603 l gs col0 s gr
% Polyline
n 2512 599 m 2522 571 l gs col0 s gr
% Polyline
n 2530 553 m 2522 571 l gs col0 s gr
% Polyline
n 2530 553 m 2534 540 l gs col0 s gr
% Polyline
n 2545 514 m 2534 540 l gs col0 s gr
% Polyline
n 2583 3036 m 2583 3034 l 2576 3028 l gs col0 s gr
% Polyline
n 2551 2989 m 2576 3028 l gs col0 s gr
% Polyline
n 2551 2989 m 2545 2982 l gs col0 s gr
% Polyline
n 2545 514 m 2547 509 l gs col0 s gr
% Polyline
n 2547 506 m 2547 509 l gs col0 s gr
% Polyline
n 2547 506 m 2560 478 l gs col0 s gr
% Polyline
n 2565 461 m 2560 478 l gs col0 s gr
% Polyline
n 2565 461 m 2572 447 l gs col0 s gr
% Polyline
n 2583 416 m 2572 447 l gs col0 s gr
% Polyline
n 2582 416 m 2584 416 l gs col0 s gr
% Polyline
n 2583 415 m 2583 416 l gs col0 s gr
% Polyline
n 2622 3093 m 2613 3082 l 2583 3036 l gs col0 s gr
% Polyline
n 2583 415 m 2595 384 l gs col0 s gr
% Polyline
n 2601 369 m 2595 384 l gs col0 s gr
% Polyline
n 2601 369 m 2607 351 l gs col0 s gr
% Polyline
n 2619 322 m 2607 351 l gs col0 s gr
% Polyline
n 2619 322 m 2619 321 l gs col0 s gr
% Polyline
n 2622 315 m 2619 321 l gs col0 s gr
% Polyline
n 2659 3151 m 2644 3127 l 2622 3093 l gs col0 s gr
% Polyline
n 2622 315 m 2631 290 l gs col0 s gr
% Polyline
n 2636 277 m 2631 290 l gs col0 s gr
% Polyline
n 2636 277 m 2644 258 l gs col0 s gr
% Polyline
n 2653 232 m 2644 258 l gs col0 s gr
% Polyline
n 2653 232 m 2656 226 l gs col0 s gr
% Polyline
n 2659 214 m 2656 226 l gs col0 s gr
% Polyline
n 2698 3210 m 2674 3173 l 2659 3151 l gs col0 s gr
% Polyline
n 2659 214 m 2668 194 l gs col0 s gr
% Polyline
n 2670 186 m 2668 194 l gs col0 s gr
% Polyline
n 2670 186 m 2680 164 l gs col0 s gr
% Polyline
n 2688 140 m 2680 164 l gs col0 s gr
% Polyline
n 2688 140 m 2692 131 l gs col0 s gr
% Polyline
n 2698 114 m 2692 131 l gs col0 s gr
% Polyline
n 2736 3269 m 2733 3265 l 2725 3252 l gs col0 s gr
% Polyline
n 2704 3218 m 2725 3252 l gs col0 s gr
% Polyline
n 2704 3218 m 2698 3210 l gs col0 s gr
% Polyline
n 2698 114 m 2703 100 l gs col0 s gr
% Polyline
n 2706 94 m 2703 100 l gs col0 s gr
% Polyline
n 2774 3329 m 2764 3311 l 2736 3269 l gs col0 s gr
% Polyline
n 2813 3389 m 2793 3356 l 2774 3329 l gs col0 s gr
% Polyline
n 2851 3451 m 2850 3449 l 2847 3443 l gs col0 s gr
% Polyline
n 2822 3403 m 2847 3443 l gs col0 s gr
% Polyline
n 2822 3403 m 2813 3389 l gs col0 s gr
% Polyline
n 2889 3512 m 2878 3496 l 2851 3451 l gs col0 s gr
% Polyline
n 2928 3575 m 2907 3541 l 2889 3512 l gs col0 s gr
% Polyline
n 2965 3638 m 2962 3632 l 2952 3616 l gs col0 s gr
% Polyline
n 2934 3587 m 2952 3616 l gs col0 s gr
% Polyline
n 2934 3587 m 2928 3575 l gs col0 s gr
% Polyline
n 3004 3704 m 2990 3679 l 2965 3638 l gs col0 s gr
% Polyline
n 3042 3769 m 3016 3724 l 3004 3704 l gs col0 s gr
% Polyline
n 3081 3834 m 3070 3817 l 3046 3776 l gs col0 s gr
% Polyline
n 3043 3770 m 3046 3776 l gs col0 s gr
% Polyline
n 3043 3770 m 3042 3769 l gs col0 s gr
% Polyline
n 3119 3900 m 3097 3862 l 3081 3834 l gs col0 s gr
% Polyline
n 3158 3968 m 3149 3954 l 3131 3924 l gs col0 s gr
% Polyline
n 3122 3908 m 3131 3924 l gs col0 s gr
% Polyline
n 3122 3908 m 3119 3900 l gs col0 s gr
% Polyline
n 3195 4037 m 3174 4001 l 3158 3968 l gs col0 s gr
% Polyline
n 3654 3386 m 3651 3370 l 3650 3365 l gs col0 s gr
% Polyline
n 3642 3325 m 3650 3365 l gs col0 s gr
% Polyline
n 3642 3325 m 3639 3308 l gs col0 s gr
% Polyline
n 3635 3282 m 3639 3308 l gs col0 s gr
% Polyline
n 3635 3282 m 3631 3253 l gs col0 s gr
% Polyline
n 3629 3236 m 3631 3253 l gs col0 s gr
% Polyline
n 3629 3236 m 3625 3203 l gs col0 s gr
% Polyline
n 3624 3191 m 3625 3203 l gs col0 s gr
% Polyline
n 3624 3191 m 3622 3153 l gs col0 s gr
% Polyline
n 3622 3147 m 3622 3153 l gs col0 s gr
% Polyline
n 3622 3147 m 3621 3106 l gs col0 s gr
% Polyline
n 3621 3102 m 3621 3106 l gs col0 s gr
% Polyline
n 3621 3102 m 3621 3060 l gs col0 s gr
% Polyline
n 3621 3057 m 3621 3060 l gs col0 s gr
% Polyline
n 3621 3057 m 3621 3017 l gs col0 s gr
% Polyline
n 3621 3012 m 3621 3017 l gs col0 s gr
% Polyline
n 3621 3012 m 3622 2975 l gs col0 s gr
% Polyline
n 3623 2967 m 3622 2975 l gs col0 s gr
% Polyline
n 3623 2967 m 3625 2933 l gs col0 s gr
% Polyline
n 3627 2921 m 3625 2933 l gs col0 s gr
% Polyline
n 3627 2921 m 3629 2892 l gs col0 s gr
% Polyline
n 3631 2877 m 3629 2892 l gs col0 s gr
% Polyline
n 3631 2877 m 3633 2852 l gs col0 s gr
% Polyline
n 3635 2832 m 3633 2852 l gs col0 s gr
% Polyline
n 3635 2832 m 3638 2814 l gs col0 s gr
% Polyline
n 3642 2787 m 3638 2814 l gs col0 s gr
% Polyline
n 3642 2787 m 3644 2775 l gs col0 s gr
% Polyline
n 3650 2741 m 3644 2775 l gs col0 s gr
% Polyline
n 3650 2741 m 3650 2738 l gs col0 s gr
% Polyline
n 3654 2714 m 3650 2738 l gs col0 s gr
% Polyline
n 3693 3506 m 3693 3504 l gs col0 s gr
% Polyline
n 3676 3462 m 3693 3504 l gs col0 s gr
% Polyline
n 3676 3462 m 3667 3431 l gs col0 s gr
% Polyline
n 3662 3416 m 3667 3431 l gs col0 s gr
% Polyline
n 3662 3416 m 3654 3386 l gs col0 s gr
% Polyline
n 3654 2714 m 3657 2701 l gs col0 s gr
% Polyline
n 3657 2697 m 3657 2701 l gs col0 s gr
% Polyline
n 3657 2697 m 3664 2665 l gs col0 s gr
% Polyline
n 3667 2653 m 3664 2665 l gs col0 s gr
% Polyline
n 3667 2653 m 3673 2630 l gs col0 s gr
% Polyline
n 3678 2608 m 3673 2630 l gs col0 s gr
% Polyline
n 3678 2608 m 3682 2594 l gs col0 s gr
% Polyline
n 3690 2563 m 3682 2594 l gs col0 s gr
% Polyline
n 3690 2563 m 3690 2560 l gs col0 s gr
% Polyline
n 3693 2551 m 3690 2560 l gs col0 s gr
% Polyline
n 3730 3584 m 3713 3550 l 3693 3506 l gs col0 s gr
% Polyline
n 3693 2551 m 3700 2527 l gs col0 s gr
% Polyline
n 3702 2519 m 3700 2527 l gs col0 s gr
% Polyline
n 3702 2519 m 3711 2494 l gs col0 s gr
% Polyline
n 3717 2473 m 3711 2494 l gs col0 s gr
% Polyline
n 3717 2473 m 3720 2462 l gs col0 s gr
% Polyline
n 3730 2431 m 3720 2462 l gs col0 s gr
% Polyline
n 3769 3639 m 3737 3595 l 3730 3584 l gs col0 s gr
% Polyline
n 3730 2431 m 3731 2429 l gs col0 s gr
% Polyline
n 3733 2428 m 3731 2429 l gs col0 s gr
% Polyline
n 3733 2428 m 3743 2398 l gs col0 s gr
% Polyline
n 3749 2383 m 3743 2398 l gs col0 s gr
% Polyline
n 3749 2383 m 3756 2367 l gs col0 s gr
% Polyline
n 3767 2338 m 3756 2367 l gs col0 s gr
% Polyline
n 3767 2338 m 3768 2337 l gs col0 s gr
% Polyline
n 3769 2335 m 3768 2337 l gs col0 s gr
% Polyline
n 3807 3679 m 3770 3640 l 3769 3639 l gs col0 s gr
% Polyline
n 3769 2335 m 3781 2308 l gs col0 s gr
% Polyline
n 3789 2293 m 3781 2308 l gs col0 s gr
% Polyline
n 3789 2293 m 3794 2279 l gs col0 s gr
% Polyline
n 3807 2252 m 3794 2279 l gs col0 s gr
% Polyline
n 3845 3709 m 3814 3686 l 3807 3679 l gs col0 s gr
% Polyline
n 3807 2252 m 3808 2249 l gs col0 s gr
% Polyline
n 3809 2249 m 3808 2249 l gs col0 s gr
% Polyline
n 3809 2249 m 3824 2221 l gs col0 s gr
% Polyline
n 3832 2203 m 3824 2221 l gs col0 s gr
% Polyline
n 3832 2203 m 3838 2195 l gs col0 s gr
% Polyline
n 3845 2181 m 3838 2195 l gs col0 s gr
% Polyline
n 3883 3730 m 3845 3709 l gs col0 s gr
% Polyline
n 3845 2181 m 3853 2167 l gs col0 s gr
% Polyline
n 3858 2158 m 3853 2167 l gs col0 s gr
% Polyline
n 3858 2158 m 3869 2143 l gs col0 s gr
% Polyline
n 3883 2118 m 3869 2143 l gs col0 s gr
% Polyline
n 3883 3730 m 3884 3730 l gs col0 s gr
% Polyline
n 3922 3744 m 3884 3730 l gs col0 s gr
% Polyline
n 3883 2118 m 3886 2115 l gs col0 s gr
% Polyline
n 3885 2115 m 3887 2115 l gs col0 s gr
% Polyline
n 3886 2115 m 3902 2090 l gs col0 s gr
% Polyline
n 3916 2070 m 3902 2090 l gs col0 s gr
% Polyline
n 3916 2070 m 3919 2065 l gs col0 s gr
% Polyline
n 3922 2062 m 3919 2065 l gs col0 s gr
% Polyline
n 3922 3744 m 3937 3747 l gs col0 s gr
% Polyline
n 3960 3752 m 3937 3747 l gs col0 s gr
% Polyline
n 3922 2062 m 3938 2042 l gs col0 s gr
% Polyline
n 3951 2024 m 3938 2042 l gs col0 s gr
% Polyline
n 3951 2024 m 3955 2019 l gs col0 s gr
% Polyline
n 3960 2012 m 3955 2019 l gs col0 s gr
% Polyline
n 3960 3752 m 3979 3753 l gs col0 s gr
% Polyline
n 3999 3754 m 3979 3753 l gs col0 s gr
% Polyline
n 3960 2012 m 3974 1997 l gs col0 s gr
% Polyline
n 3989 1978 m 3974 1997 l gs col0 s gr
% Polyline
n 3989 1978 m 3994 1974 l gs col0 s gr
% Polyline
n 3999 1969 m 3994 1974 l gs col0 s gr
% Polyline
n 3999 3754 m 4017 3752 l gs col0 s gr
% Polyline
n 4036 3752 m 4017 3752 l gs col0 s gr
% Polyline
n 3999 1969 m 4014 1952 l gs col0 s gr
% Polyline
n 4030 1935 m 4014 1952 l gs col0 s gr
% Polyline
n 4030 1935 m 4034 1931 l gs col0 s gr
% Polyline
n 4036 1928 m 4034 1931 l gs col0 s gr
% Polyline
n 4036 3752 m 4052 3750 l gs col0 s gr
% Polyline
n 4074 3745 m 4052 3750 l gs col0 s gr
% Polyline
n 4036 1928 m 4056 1911 l gs col0 s gr
% Polyline
n 4074 1893 m 4056 1911 l gs col0 s gr
% Polyline
n 4074 3745 m 4085 3742 l gs col0 s gr
% Polyline
n 4113 3735 m 4085 3742 l gs col0 s gr
% Polyline
n 4074 1893 m 4076 1891 l gs col0 s gr
% Polyline
n 4079 1890 m 4076 1891 l gs col0 s gr
% Polyline
n 4079 1890 m 4100 1873 l gs col0 s gr
% Polyline
n 4113 1862 m 4100 1873 l gs col0 s gr
% Polyline
n 4113 3735 m 4115 3734 l gs col0 s gr
% Polyline
n 4127 3730 m 4115 3734 l gs col0 s gr
% Polyline
n 4127 3730 m 4146 3723 l gs col0 s gr
% Polyline
n 4152 3721 m 4146 3723 l gs col0 s gr
% Polyline
n 4113 1862 m 4123 1856 l gs col0 s gr
% Polyline
n 4136 1844 m 4123 1856 l gs col0 s gr
% Polyline
n 4136 1844 m 4146 1838 l gs col0 s gr
% Polyline
n 4152 1834 m 4146 1838 l gs col0 s gr
% Polyline
n 4152 3721 m 4172 3712 l gs col0 s gr
% Polyline
n 4190 3704 m 4172 3712 l gs col0 s gr
% Polyline
n 4152 1834 m 4170 1821 l gs col0 s gr
% Polyline
n 4190 1807 m 4170 1821 l gs col0 s gr
% Polyline
n 4190 3704 m 4200 3697 l gs col0 s gr
% Polyline
n 4226 3686 m 4200 3697 l gs col0 s gr
% Polyline
n 4226 3686 m 4227 3684 l gs col0 s gr
% Polyline
n 4229 3684 m 4227 3684 l gs col0 s gr
% Polyline
n 4190 1807 m 4194 1806 l gs col0 s gr
% Polyline
n 4205 1800 m 4194 1806 l gs col0 s gr
% Polyline
n 4205 1800 m 4220 1792 l gs col0 s gr
% Polyline
n 4229 1787 m 4220 1792 l gs col0 s gr
% Polyline
n 4229 3684 m 4253 3669 l gs col0 s gr
% Polyline
n 4265 3661 m 4253 3669 l gs col0 s gr
% Polyline
n 4229 1787 m 4247 1778 l gs col0 s gr
% Polyline
n 4265 1769 m 4247 1778 l gs col0 s gr
% Polyline
n 4265 3661 m 4277 3653 l gs col0 s gr
% Polyline
n 4298 3640 m 4277 3653 l gs col0 s gr
% Polyline
n 4298 3640 m 4302 3638 l gs col0 s gr
% Polyline
n 4304 3635 m 4302 3638 l gs col0 s gr
% Polyline
n 4265 1769 m 4273 1765 l gs col0 s gr
% Polyline
n 4296 1754 m 4273 1765 l gs col0 s gr
% Polyline
n 4296 1754 m 4303 1752 l gs col0 s gr
% Polyline
n 4304 1752 m 4303 1752 l gs col0 s gr
% Polyline
n 4304 3635 m 4325 3620 l gs col0 s gr
% Polyline
n 4343 3607 m 4325 3620 l gs col0 s gr
% Polyline
n 4304 1752 m 4332 1741 l gs col0 s gr
% Polyline
n 4343 1737 m 4332 1741 l gs col0 s gr
% Polyline
n 4343 3607 m 4349 3602 l gs col0 s gr
% Polyline
n 4358 3595 m 4349 3602 l gs col0 s gr
% Polyline
n 4358 3595 m 4372 3585 l gs col0 s gr
% Polyline
n 4380 3577 m 4372 3585 l gs col0 s gr
% Polyline
n 4343 1737 m 4362 1733 l gs col0 s gr
% Polyline
n 4380 1725 m 4362 1733 l gs col0 s gr
% Polyline
n 4380 3577 m 4394 3566 l gs col0 s gr
% Polyline
n 4413 3550 m 4394 3566 l gs col0 s gr
% Polyline
n 4413 3550 m 4417 3547 l gs col0 s gr
% Polyline
n 4419 3545 m 4417 3547 l gs col0 s gr
% Polyline
n 4380 1725 m 4392 1723 l gs col0 s gr
% Polyline
n 4419 1717 m 4392 1723 l gs col0 s gr
% Polyline
n 4419 3545 m 4438 3526 l gs col0 s gr
% Polyline
n 4457 3511 m 4438 3526 l gs col0 s gr
% Polyline
n 58 3262 m 55 3218 l 55 3215 l gs col0 s gr
% Polyline
n 4419 1717 m 4424 1715 l gs col0 s gr
% Polyline
n 55 3173 m 55 3215 l gs col0 s gr
% Polyline
n 4452 1710 m 4424 1715 l gs col0 s gr
% Polyline
n 4452 1710 m 4456 1710 l gs col0 s gr
% Polyline
n 4457 1710 m 4456 1710 l gs col0 s gr
% Polyline
n 4457 3511 m 4460 3508 l gs col0 s gr
% Polyline
n 4463 3504 m 4460 3508 l gs col0 s gr
% Polyline
n 4463 3504 m 4480 3489 l gs col0 s gr
% Polyline
n 4495 3475 m 4480 3489 l gs col0 s gr
% Polyline
n 4457 1710 m 4491 1703 l gs col0 s gr
% Polyline
n 4495 1703 m 4491 1703 l gs col0 s gr
% Polyline
n 4495 3475 m 4501 3468 l gs col0 s gr
% Polyline
n 4509 3462 m 4501 3468 l gs col0 s gr
% Polyline
n 4509 3462 m 4523 3448 l gs col0 s gr
% Polyline
n 4534 3437 m 4523 3448 l gs col0 s gr
% Polyline
n 4495 1703 m 4525 1700 l gs col0 s gr
% Polyline
n 4534 1699 m 4525 1700 l gs col0 s gr
% Polyline
n 4534 3437 m 4544 3426 l gs col0 s gr
% Polyline
n 4553 3416 m 4544 3426 l gs col0 s gr
% Polyline
n 4553 3416 m 4563 3405 l gs col0 s gr
% Polyline
n 4571 3397 m 4563 3405 l gs col0 s gr
% Polyline
n 4534 1699 m 4561 1698 l gs col0 s gr
% Polyline
n 4571 1698 m 4561 1698 l gs col0 s gr
% Polyline
n 4571 3397 m 4583 3384 l gs col0 s gr
% Polyline
n 4596 3370 m 4583 3384 l gs col0 s gr
% Polyline
n 4596 3370 m 4603 3363 l gs col0 s gr
% Polyline
n 4610 3355 m 4603 3363 l gs col0 s gr
% Polyline
n 4571 1698 m 4599 1697 l gs col0 s gr
% Polyline
n 4610 1697 m 4599 1697 l gs col0 s gr
% Polyline
n 4610 3355 m 4622 3341 l gs col0 s gr
% Polyline
n 4637 3325 m 4622 3341 l gs col0 s gr
% Polyline
n 4637 3325 m 4643 3320 l gs col0 s gr
% Polyline
n 4648 3312 m 4643 3320 l gs col0 s gr
% Polyline
n 4610 1697 m 4637 1698 l gs col0 s gr
% Polyline
n 4648 1698 m 4637 1698 l gs col0 s gr
% Polyline
n 4648 3312 m 4661 3296 l gs col0 s gr
% Polyline
n 4676 3282 m 4661 3296 l gs col0 s gr
% Polyline
n 4676 3282 m 4681 3275 l gs col0 s gr
% Polyline
n 4687 3269 m 4681 3275 l gs col0 s gr
% Polyline
n 4648 1698 m 4678 1699 l gs col0 s gr
% Polyline
n 4687 1699 m 4678 1699 l gs col0 s gr
% Polyline
n 4687 3269 m 4700 3252 l gs col0 s gr
% Polyline
n 4714 3236 m 4700 3252 l gs col0 s gr
% Polyline
n 4714 3236 m 4720 3229 l gs col0 s gr
% Polyline
n 4724 3223 m 4720 3229 l gs col0 s gr
% Polyline
n 4687 1699 m 4720 1703 l gs col0 s gr
% Polyline
n 4724 1703 m 4720 1703 l gs col0 s gr
% Polyline
n 4724 3223 m 4738 3206 l gs col0 s gr
% Polyline
n 4751 3191 m 4738 3206 l gs col0 s gr
% Polyline
n 4751 3191 m 4757 3184 l gs col0 s gr
% Polyline
n 4764 3177 m 4757 3184 l gs col0 s gr
% Polyline
n 4724 1703 m 4761 1708 l gs col0 s gr
% Polyline
n 4764 1708 m 4761 1708 l gs col0 s gr
% Polyline
n 4764 3177 m 4776 3160 l gs col0 s gr
% Polyline
n 4788 3147 m 4776 3160 l gs col0 s gr
% Polyline
n 4788 3147 m 4794 3137 l gs col0 s gr
% Polyline
n 4801 3129 m 4794 3137 l gs col0 s gr
% Polyline
n 4801 1712 m 4777 1710 l 4764 1708 l gs col0 s gr
% Polyline
n 4801 3129 m 4812 3115 l gs col0 s gr
% Polyline
n 4823 3102 m 4812 3115 l gs col0 s gr
% Polyline
n 4823 3102 m 4830 3092 l gs col0 s gr
% Polyline
n 4839 3080 m 4830 3092 l gs col0 s gr
% Polyline
n 4801 1712 m 4805 1714 l gs col0 s gr
% Polyline
n 4839 1720 m 4805 1714 l gs col0 s gr
% Polyline
n 4839 3080 m 4850 3068 l gs col0 s gr
% Polyline
n 4858 3057 m 4850 3068 l gs col0 s gr
% Polyline
n 4858 3057 m 4867 3044 l gs col0 s gr
% Polyline
n 4878 3032 m 4867 3044 l gs col0 s gr
% Polyline
n 4839 1720 m 4851 1723 l gs col0 s gr
% Polyline
n 4878 1727 m 4851 1723 l gs col0 s gr
% Polyline
n 4878 3032 m 4886 3020 l gs col0 s gr
% Polyline
n 4893 3012 m 4886 3020 l gs col0 s gr
% Polyline
n 4893 3012 m 4904 2997 l gs col0 s gr
% Polyline
n 4915 2983 m 4904 2997 l gs col0 s gr
% Polyline
n 4878 1727 m 4896 1730 l gs col0 s gr
% Polyline
n 4915 1735 m 4896 1730 l gs col0 s gr
% Polyline
n 4915 2983 m 4923 2973 l gs col0 s gr
% Polyline
n 4929 2967 m 4923 2973 l gs col0 s gr
% Polyline
n 4929 2967 m 4940 2950 l gs col0 s gr
% Polyline
n 4954 2933 m 4940 2950 l gs col0 s gr
% Polyline
n 4915 1735 m 4941 1740 l gs col0 s gr
% Polyline
n 4954 1741 m 4941 1740 l gs col0 s gr
% Polyline
n 4954 2933 m 4958 2928 l gs col0 s gr
% Polyline
n 4964 2921 m 4958 2928 l gs col0 s gr
% Polyline
n 4964 2921 m 4976 2904 l gs col0 s gr
% Polyline
n 4992 2883 m 4976 2904 l gs col0 s gr
% Polyline
n 4954 1741 m 4987 1747 l gs col0 s gr
% Polyline
n 4992 1748 m 4987 1747 l gs col0 s gr
% Polyline
n 4992 2883 m 4995 2881 l gs col0 s gr
% Polyline
n 4998 2877 m 4995 2881 l gs col0 s gr
% Polyline
n 4998 2877 m 5014 2857 l gs col0 s gr
% Polyline
n 5031 2836 m 5014 2857 l gs col0 s gr
% Polyline
n 5031 1757 m 5025 1754 l 4992 1748 l gs col0 s gr
% Polyline
n 5031 2836 m 5032 2832 l gs col0 s gr
% Polyline
n 5033 2832 m 5032 2832 l gs col0 s gr
% Polyline
n 5033 2832 m 5050 2810 l gs col0 s gr
% Polyline
n 5069 2788 m 5050 2810 l gs col0 s gr
% Polyline
n 5031 1757 m 5032 1757 l gs col0 s gr
% Polyline
n 5069 1762 m 5032 1757 l gs col0 s gr
% Polyline
n 5069 2788 m 5069 2787 l 5087 2765 l gs col0 s gr
% Polyline
n 5106 2741 m 5087 2765 l gs col0 s gr
% Polyline
n 5106 2741 m 5107 2741 l gs col0 s gr
% Polyline
n 5069 1762 m 5076 1763 l gs col0 s gr
% Polyline
n 5107 1766 m 5076 1763 l gs col0 s gr
% Polyline
n 5107 2741 m 5125 2719 l gs col0 s gr
% Polyline
n 5145 2697 m 5125 2719 l gs col0 s gr
% Polyline
n 5107 1766 m 5118 1767 l gs col0 s gr
% Polyline
n 5145 1769 m 5118 1767 l gs col0 s gr
% Polyline
n 5145 2697 m 5166 2675 l gs col0 s gr
% Polyline
n 5183 2657 m 5166 2675 l gs col0 s gr
% Polyline
n 5145 1769 m 5157 1769 l gs col0 s gr
% Polyline
n 5183 1767 m 5157 1769 l gs col0 s gr
% Polyline
n 5183 2657 m 5185 2654 l gs col0 s gr
% Polyline
n 5187 2653 m 5185 2654 l gs col0 s gr
% Polyline
n 5187 2653 m 5206 2633 l gs col0 s gr
% Polyline
n 5221 2619 m 5206 2633 l gs col0 s gr
% Polyline
n 5183 1767 m 5194 1766 l gs col0 s gr
% Polyline
n 5221 1762 m 5194 1766 l gs col0 s gr
% Polyline
n 5221 2619 m 5228 2613 l gs col0 s gr
% Polyline
n 5235 2608 m 5228 2613 l gs col0 s gr
% Polyline
n 5235 2608 m 5250 2595 l gs col0 s gr
% Polyline
n 5260 2586 m 5250 2595 l gs col0 s gr
% Polyline
n 5221 1762 m 5228 1762 l gs col0 s gr
% Polyline
n 5254 1754 m 5228 1762 l gs col0 s gr
% Polyline
n 5254 1754 m 5259 1753 l gs col0 s gr
% Polyline
n 5260 1753 m 5259 1753 l gs col0 s gr
% Polyline
n 5260 2586 m 5271 2577 l gs col0 s gr
% Polyline
n 5294 2563 m 5271 2577 l gs col0 s gr
% Polyline
n 5294 2563 m 5296 2560 l gs col0 s gr
% Polyline
n 5298 2559 m 5296 2560 l gs col0 s gr
% Polyline
n 5260 1753 m 5289 1743 l gs col0 s gr
% Polyline
n 5298 1739 m 5289 1743 l gs col0 s gr
% Polyline
n 5298 2559 m 5322 2545 l gs col0 s gr
% Polyline
n 5337 2538 m 5322 2545 l gs col0 s gr
% Polyline
n 5298 1739 m 5315 1730 l gs col0 s gr
% Polyline
n 5337 1718 m 5315 1730 l gs col0 s gr
% Polyline
n 5337 2538 m 5349 2533 l gs col0 s gr
% Polyline
n 5375 2525 m 5349 2533 l gs col0 s gr
% Polyline
n 5337 1718 m 5341 1715 l gs col0 s gr
% Polyline
n 5346 1710 m 5341 1715 l gs col0 s gr
% Polyline
n 5346 1710 m 5365 1698 l gs col0 s gr
% Polyline
n 5375 1691 m 5365 1698 l gs col0 s gr
% Polyline
n 5375 2525 m 5379 2524 l gs col0 s gr
% Polyline
n 5410 2519 m 5379 2524 l gs col0 s gr
% Polyline
n 5410 2519 m 5412 2517 l gs col0 s gr
% Polyline
n 5414 2517 m 5412 2517 l gs col0 s gr
% Polyline
n 5375 1691 m 5387 1680 l gs col0 s gr
% Polyline
n 5401 1664 m 5387 1680 l gs col0 s gr
% Polyline
n 5401 1664 m 5407 1660 l gs col0 s gr
% Polyline
n 5414 1655 m 5407 1660 l gs col0 s gr
% Polyline
n 5414 2517 m 5450 2516 l gs col0 s gr
% Polyline
n 5451 2516 m 5450 2516 l gs col0 s gr
% Polyline
n 5414 1655 m 5428 1638 l gs col0 s gr
% Polyline
n 5445 1620 m 5428 1638 l gs col0 s gr
% Polyline
n 5445 1620 m 5449 1616 l gs col0 s gr
% Polyline
n 5451 1614 m 5449 1616 l gs col0 s gr
% Polyline
n 5489 2521 m 5460 2519 l 5451 2516 l gs col0 s gr
% Polyline
n 5451 1614 m 5467 1594 l gs col0 s gr
% Polyline
n 5483 1574 m 5467 1594 l gs col0 s gr
% Polyline
n 5483 1574 m 5485 1571 l gs col0 s gr
% Polyline
n 5489 1566 m 5485 1571 l gs col0 s gr
% Polyline
n 5489 2521 m 5494 2522 l gs col0 s gr
% Polyline
n 5528 2533 m 5494 2522 l gs col0 s gr
% Polyline
n 5489 1566 m 5503 1547 l gs col0 s gr
% Polyline
n 5516 1532 m 5503 1547 l gs col0 s gr
% Polyline
n 5516 1532 m 5521 1523 l gs col0 s gr
% Polyline
n 5528 1515 m 5521 1523 l gs col0 s gr
% Polyline
n 5528 2533 m 5546 2539 l gs col0 s gr
% Polyline
n 5565 2549 m 5546 2539 l gs col0 s gr
% Polyline
n 5528 1515 m 5538 1498 l gs col0 s gr
% Polyline
n 5546 1484 m 5538 1498 l gs col0 s gr
% Polyline
n 5546 1484 m 5556 1473 l gs col0 s gr
% Polyline
n 5565 1457 m 5556 1473 l gs col0 s gr
% Polyline
n 5605 2568 m 5593 2563 l 5565 2549 l gs col0 s gr
% Polyline
n 5565 1457 m 5572 1447 l gs col0 s gr
% Polyline
n 5575 1440 m 5572 1447 l gs col0 s gr
% Polyline
n 5575 1440 m 5587 1420 l gs col0 s gr
% Polyline
n 5602 1395 m 5587 1420 l gs col0 s gr
% Polyline
n 5602 1395 m 5604 1395 l gs col0 s gr
% Polyline
n 5605 1395 m 5604 1395 l gs col0 s gr
% Polyline
n 5605 2568 m 5614 2576 l gs col0 s gr
% Polyline
n 5642 2592 m 5614 2576 l gs col0 s gr
% Polyline
n 5605 1395 m 5619 1369 l gs col0 s gr
% Polyline
n 5629 1351 m 5619 1369 l gs col0 s gr
% Polyline
n 5629 1351 m 5635 1341 l gs col0 s gr
% Polyline
n 5642 1328 m 5635 1341 l gs col0 s gr
% Polyline
n 5680 2620 m 5661 2608 l 5642 2592 l gs col0 s gr
% Polyline
n 5642 1328 m 5649 1314 l gs col0 s gr
% Polyline
n 5654 1306 m 5649 1314 l gs col0 s gr
% Polyline
n 5654 1306 m 5664 1288 l gs col0 s gr
% Polyline
n 5680 1260 m 5664 1288 l gs col0 s gr
% Polyline
n 5680 1260 m 5680 1259 l gs col0 s gr
% Polyline
n 5679 1259 m 5681 1259 l gs col0 s gr
% Polyline
n 5680 2620 m 5713 2645 l gs col0 s gr
% Polyline
n 5719 2650 m 5713 2645 l gs col0 s gr
% Polyline
n 5680 1259 m 5694 1232 l gs col0 s gr
% Polyline
n 5703 1216 m 5694 1232 l gs col0 s gr
% Polyline
n 5703 1216 m 5709 1205 l gs col0 s gr
% Polyline
n 5719 1187 m 5709 1205 l gs col0 s gr
% Polyline
n 5756 2683 m 5721 2653 l 5719 2650 l gs col0 s gr
% Polyline
n 5719 1187 m 5723 1177 l gs col0 s gr
% Polyline
n 5726 1171 m 5723 1177 l gs col0 s gr
% Polyline
n 5726 1171 m 5738 1149 l gs col0 s gr
% Polyline
n 5749 1126 m 5738 1149 l gs col0 s gr
% Polyline
n 5749 1126 m 5753 1121 l gs col0 s gr
% Polyline
n 5756 1112 m 5753 1121 l gs col0 s gr
% Polyline
n 5795 2718 m 5772 2697 l 5756 2683 l gs col0 s gr
% Polyline
n 5756 1112 m 5766 1092 l gs col0 s gr
% Polyline
n 5772 1081 m 5766 1092 l gs col0 s gr
% Polyline
n 5772 1081 m 5781 1064 l gs col0 s gr
% Polyline
n 5794 1036 m 5781 1064 l gs col0 s gr
% Polyline
n 5793 1036 m 5795 1036 l gs col0 s gr
% Polyline
n 5795 1035 m 5794 1036 l gs col0 s gr
% Polyline
n 5833 2756 m 5819 2741 l 5795 2718 l gs col0 s gr
% Polyline
n 5795 1035 m 5808 1006 l gs col0 s gr
% Polyline
n 5816 991 m 5808 1006 l gs col0 s gr
% Polyline
n 5816 991 m 5822 979 l gs col0 s gr
% Polyline
n 5833 955 m 5822 979 l gs col0 s gr
% Polyline
n 5872 2793 m 5865 2787 l 5833 2756 l gs col0 s gr
% Polyline
n 5833 955 m 5837 951 l gs col0 s gr
% Polyline
n 5838 947 m 5837 951 l gs col0 s gr
% Polyline
n 5838 947 m 5850 921 l gs col0 s gr
% Polyline
n 5858 903 m 5850 921 l gs col0 s gr
% Polyline
n 5858 903 m 5863 893 l gs col0 s gr
% Polyline
n 5872 875 m 5863 893 l gs col0 s gr
% Polyline
n 5910 2836 m 5907 2832 l 5872 2793 l gs col0 s gr
% Polyline
n 5872 875 m 5877 863 l gs col0 s gr
% Polyline
n 5880 857 m 5877 863 l gs col0 s gr
% Polyline
n 5880 857 m 5890 834 l gs col0 s gr
% Polyline
n 5901 811 m 5890 834 l gs col0 s gr
% Polyline
n 5901 811 m 5903 806 l gs col0 s gr
% Polyline
n 5910 793 m 5903 806 l gs col0 s gr
% Polyline
n 5949 2877 m 5947 2877 l 5910 2836 l gs col0 s gr
% Polyline
n 5910 793 m 5917 776 l gs col0 s gr
% Polyline
n 5922 767 m 5917 776 l gs col0 s gr
% Polyline
n 5922 767 m 5930 747 l gs col0 s gr
% Polyline
n 5942 723 m 5930 747 l gs col0 s gr
% Polyline
n 5942 723 m 5943 717 l gs col0 s gr
% Polyline
n 5949 708 m 5943 717 l gs col0 s gr
% Polyline
n 5949 2877 m 5963 2894 l gs col0 s gr
% Polyline
n 5986 2921 m 5963 2894 l gs col0 s gr
% Polyline
n 5949 708 m 5957 687 l gs col0 s gr
% Polyline
n 5962 677 m 5957 687 l gs col0 s gr
% Polyline
n 5962 677 m 5971 659 l gs col0 s gr
% Polyline
n 5982 632 m 5971 659 l gs col0 s gr
% Polyline
n 5982 632 m 5984 629 l gs col0 s gr
% Polyline
n 5986 622 m 5984 629 l gs col0 s gr
% Polyline
n 6024 2967 m 5986 2921 l gs col0 s gr
% Polyline
n 5986 622 m 5996 599 l gs col0 s gr
% Polyline
n 6002 586 m 5996 599 l gs col0 s gr
% Polyline
n 6002 586 m 6009 570 l gs col0 s gr
% Polyline
n 6021 542 m 6009 570 l gs col0 s gr
% Polyline
n 6021 542 m 6023 540 l gs col0 s gr
% Polyline
n 6024 535 m 6023 540 l gs col0 s gr
% Polyline
n 6063 3012 m 6061 3012 l 6028 2971 l gs col0 s gr
% Polyline
n 6025 2967 m 6028 2971 l gs col0 s gr
% Polyline
n 6025 2967 m 6024 2967 l gs col0 s gr
% Polyline
n 6024 535 m 6036 511 l gs col0 s gr
% Polyline
n 6041 498 m 6036 511 l gs col0 s gr
% Polyline
n 6041 498 m 6048 480 l gs col0 s gr
% Polyline
n 6060 453 m 6048 480 l gs col0 s gr
% Polyline
n 6060 453 m 6060 450 l gs col0 s gr
% Polyline
n 6063 447 m 6060 450 l gs col0 s gr
% Polyline
n 6100 3060 m 6097 3057 l 6063 3012 l gs col0 s gr
% Polyline
n 6063 447 m 6074 420 l gs col0 s gr
% Polyline
n 6080 407 m 6074 420 l gs col0 s gr
% Polyline
n 6080 407 m 6087 392 l gs col0 s gr
% Polyline
n 6098 363 m 6087 392 l gs col0 s gr
% Polyline
n 6098 363 m 6099 362 l gs col0 s gr
% Polyline
n 6100 357 m 6099 362 l gs col0 s gr
% Polyline
n 6140 3110 m 6132 3102 l 6100 3060 l gs col0 s gr
% Polyline
n 6100 357 m 6111 331 l gs col0 s gr
% Polyline
n 6118 319 m 6111 331 l gs col0 s gr
% Polyline
n 6118 319 m 6125 301 l gs col0 s gr
% Polyline
n 6137 273 m 6125 301 l gs col0 s gr
% Polyline
n 6137 273 m 6137 270 l gs col0 s gr
% Polyline
n 6140 266 m 6137 270 l gs col0 s gr
% Polyline
n 6178 3160 m 6166 3147 l 6140 3110 l gs col0 s gr
% Polyline
n 6140 266 m 6149 241 l gs col0 s gr
% Polyline
n 6155 228 m 6149 241 l gs col0 s gr
% Polyline
n 6155 228 m 6162 211 l gs col0 s gr
% Polyline
n 6173 182 m 6162 211 l gs col0 s gr
% Polyline
n 6173 182 m 6174 179 l gs col0 s gr
% Polyline
n 6178 174 m 6174 179 l gs col0 s gr
% Polyline
n 6216 3211 m 6200 3191 l 6178 3160 l gs col0 s gr
% Polyline
n 6178 174 m 6186 151 l gs col0 s gr
% Polyline
n 6192 139 m 6186 151 l gs col0 s gr
% Polyline
n 6192 139 m 6200 120 l gs col0 s gr
% Polyline
n 6210 94 m 6200 120 l gs col0 s gr
% Polyline
n 6254 3265 m 6233 3236 l 6216 3211 l gs col0 s gr
% Polyline
n 6292 3319 m 6266 3282 l 6254 3265 l gs col0 s gr
% Polyline
n 6330 3374 m 6329 3370 l 6321 3360 l gs col0 s gr
% Polyline
n 6297 3325 m 6321 3360 l gs col0 s gr
% Polyline
n 6297 3325 m 6292 3319 l gs col0 s gr
% Polyline
n 6368 3429 m 6360 3416 l 6330 3374 l gs col0 s gr
% Polyline
n 6406 3485 m 6390 3462 l 6368 3429 l gs col0 s gr
% Polyline
n 6446 3543 m 6420 3504 l 6406 3485 l gs col0 s gr
% Polyline
n 6483 3601 m 6479 3595 l 6465 3574 l gs col0 s gr
% Polyline
n 6449 3550 m 6465 3574 l gs col0 s gr
% Polyline
n 6449 3550 m 6446 3543 l gs col0 s gr
% Polyline
n 6522 3661 m 6508 3640 l 6483 3601 l gs col0 s gr
% Polyline
n 6560 3721 m 6537 3686 l 6522 3661 l gs col0 s gr
% Polyline
n 6597 3783 m 6593 3775 l 6580 3752 l gs col0 s gr
% Polyline
n 6564 3730 m 6580 3752 l gs col0 s gr
% Polyline
n 6564 3730 m 6560 3721 l gs col0 s gr
% Polyline
n 6636 3845 m 6621 3820 l 6597 3783 l gs col0 s gr
% Polyline
n 6674 3908 m 6648 3866 l 6636 3845 l gs col0 s gr
% Polyline
n 6713 3972 m 6702 3954 l 6677 3913 l gs col0 s gr
% Polyline
n 6675 3910 m 6677 3913 l gs col0 s gr
% Polyline
n 6675 3910 m 6674 3908 l gs col0 s gr
% Polyline
n 6751 4037 m 6729 3999 l 6713 3972 l gs col0 s gr
% Polyline
n -20 2368 m 3260 2368 l gs col0 s gr
% Polyline
n 1302 4116 m 1302 13 l gs col0 s gr
% Polyline
[150] 0 sd
n -22 3198 m 2714 1655 l gs col0 s gr [] 0 sd
% Polyline
n 55 3173 m 55 3169 l gs col0 s gr
% Polyline
[150] 0 sd
n 3533 3121 m 6258 1621 l gs col0 s gr [] 0 sd
$F2psEnd
rs
%%EndDocument
@endspecial 3051 1732 a Fq(x)2352 891 y(y)1832 1732
y(x)1137 891 y(y)736 2557 y Fw(Abbildung)d(2.1:)32 b(Elliptisc)m(he)27
b(Kurv)m(en)j(in)f(W)-8 b(eierstra\031-Normalform)531
2777 y(Abh)701 2781 y(\177)701 2777 y(angig)26 b(v)m(om)h(v)m(erw)m
(endeten)g(K)1722 2781 y(\177)1722 2777 y(orp)s(er)e(gibt)h(es)g(no)s
(c)m(h)g(die)g(M)2682 2781 y(\177)2682 2777 y(oglic)m(hk)m(eit,)h(die)e
(W)-8 b(eier-)390 2890 y(stra\031-Normalform)40 b(zu)f(v)m(ereinfac)m
(hen.)i(Bei)e(K)2064 2894 y(\177)2064 2890 y(orp)s(ern)f
Fq(K)46 b Fw(mit)39 b(c)m(har)q(\()p Fq(K)7 b Fw(\))41
b Fo(6)p Fw(=)g(2)f(k)3273 2894 y(\177)3273 2890 y(onnen)390
3003 y(die)35 b(Ko)s(e\016zien)m(ten)i Fq(a)1142 3017
y Fp(1)1217 3003 y Fw(und)e Fq(a)1453 3017 y Fp(3)1529
3003 y Fw(eliminiert)e(w)m(erden.)j(Hat)h(man)f(auc)m(h)h(no)s(c)m(h)f
(zus)3250 3007 y(\177)3250 3003 y(atzlic)m(h)390 3116
y(c)m(har\()p Fq(K)7 b Fw(\))29 b Fo(6)p Fw(=)f(3,)33
b(w)m(elc)m(hes)f(der)g(f)1459 3120 y(\177)1456 3116
y(ur)f(uns)g(in)m(teressan)m(te)i(F)-8 b(all)31 b(ist,)h(so)g(gilt)g
(dies)f(auc)m(h)h(f)3282 3120 y(\177)3279 3116 y(ur)f
Fq(a)3445 3130 y Fp(2)3485 3116 y Fw(,)390 3229 y(und)e(man)h(erh)901
3233 y(\177)901 3229 y(alt)g(sc)m(hlie\031lic)m(h)1607
3405 y Fq(y)1655 3367 y Fp(2)1719 3405 y Fw(=)25 b Fq(x)1867
3367 y Fp(3)1927 3405 y Fw(+)20 b Fq(ax)g Fw(+)g Fq(b:)1030
b Fw(\(2.2\))758 4998 y @beginspecial 0 @llx 0 @lly 357
@urx 215 @ury 1700 @rhi @clip @setspecial
%%BeginDocument: Pics/weierstrass23.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: picweier23.eps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Fri Oct 8 13:50:33 1999
%%For: crnjak@fb0409 (Markus Crnjak)
%%Orientation: Portrait
%%BoundingBox: 0 0 357 215
%%Pages: 0
%%BeginSetup
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.298 0.298 0.298 srgb} bind def
end
save
1.0 218.0 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog
$F2psBegin
10 setmiterlimit
n -1000 4632 m -1000 -1000 l 6929 -1000 l 6929 4632 l cp clip
0.06000 0.06000 sc
% Polyline
1 slc
7.500 slw
n 1084 3620 m 1084 77 l gs col0 s gr
% Polyline
n 11 1849 m 2846 1849 l gs col0 s gr
% Polyline
n 4173 3620 m 4173 77 l gs col0 s gr
% Polyline
n 3082 1849 m 5917 1849 l gs col0 s gr
% Polyline
1 slj
n 3145 1969 m 3148 1987 l gs col0 s gr
% Polyline
n 3145 1969 m 3142 1948 l gs col0 s gr
% Polyline
n 3141 1935 m 3142 1948 l gs col0 s gr
% Polyline
n 3141 1935 m 3139 1911 l gs col0 s gr
% Polyline
n 3138 1901 m 3139 1911 l gs col0 s gr
% Polyline
n 3138 1901 m 3137 1874 l gs col0 s gr
% Polyline
n 3137 1866 m 3137 1874 l gs col0 s gr
% Polyline
n 3137 1866 m 3137 1840 l gs col0 s gr
% Polyline
n 3137 1832 m 3137 1840 l gs col0 s gr
% Polyline
n 3137 1832 m 3138 1806 l gs col0 s gr
% Polyline
n 3138 1798 m 3138 1806 l gs col0 s gr
% Polyline
n 3138 1798 m 3140 1773 l gs col0 s gr
% Polyline
n 3141 1763 m 3140 1773 l gs col0 s gr
% Polyline
n 3141 1763 m 3144 1742 l gs col0 s gr
% Polyline
n 3145 1729 m 3144 1742 l gs col0 s gr
% Polyline
n 3145 1729 m 3147 1711 l gs col0 s gr
% Polyline
n 3150 1695 m 3147 1711 l gs col0 s gr
% Polyline
n 3150 1695 m 3152 1682 l gs col0 s gr
% Polyline
n 3157 1660 m 3152 1682 l gs col0 s gr
% Polyline
n 3157 1660 m 3158 1653 l gs col0 s gr
% Polyline
n 3165 1626 m 3158 1653 l gs col0 s gr
% Polyline
n 3165 1626 m 3165 1625 l gs col0 s gr
% Polyline
n 3165 1623 m 3165 1625 l gs col0 s gr
% Polyline
n 3202 2182 m 3199 2175 l 3198 2172 l gs col0 s gr
% Polyline
n 3187 2141 m 3198 2172 l gs col0 s gr
% Polyline
n 3187 2141 m 3179 2120 l gs col0 s gr
% Polyline
n 3175 2108 m 3179 2120 l gs col0 s gr
% Polyline
n 3175 2108 m 3165 2075 l gs col0 s gr
% Polyline
n 3165 1623 m 3172 1599 l gs col0 s gr
% Polyline
n 3175 1591 m 3172 1599 l gs col0 s gr
% Polyline
n 3175 1591 m 3181 1572 l gs col0 s gr
% Polyline
n 3187 1557 m 3181 1572 l gs col0 s gr
% Polyline
n 3187 1557 m 3190 1546 l gs col0 s gr
% Polyline
n 3199 1522 m 3190 1546 l gs col0 s gr
% Polyline
n 3199 1522 m 3200 1521 l gs col0 s gr
% Polyline
n 3202 1517 m 3200 1521 l gs col0 s gr
% Polyline
n 3239 2255 m 3233 2245 l 3228 2235 l gs col0 s gr
% Polyline
n 3215 2211 m 3228 2235 l gs col0 s gr
% Polyline
n 3215 2211 m 3202 2182 l gs col0 s gr
% Polyline
n 3202 1517 m 3211 1497 l gs col0 s gr
% Polyline
n 3215 1489 m 3211 1497 l gs col0 s gr
% Polyline
n 3215 1489 m 3223 1473 l gs col0 s gr
% Polyline
n 3233 1454 m 3223 1473 l gs col0 s gr
% Polyline
n 3233 1454 m 3235 1450 l gs col0 s gr
% Polyline
n 3239 1444 m 3235 1450 l gs col0 s gr
% Polyline
n 3275 2310 m 3254 2279 l 3239 2255 l gs col0 s gr
% Polyline
n 3239 1444 m 3248 1428 l gs col0 s gr
% Polyline
n 3254 1419 m 3248 1428 l gs col0 s gr
% Polyline
n 3254 1419 m 3262 1407 l gs col0 s gr
% Polyline
n 3275 1387 m 3262 1407 l gs col0 s gr
% Polyline
n 3312 2355 m 3306 2348 l 3285 2323 l gs col0 s gr
% Polyline
n 3277 2314 m 3285 2323 l gs col0 s gr
% Polyline
n 3277 2314 m 3275 2310 l gs col0 s gr
% Polyline
n 3275 1387 m 3276 1386 l gs col0 s gr
% Polyline
n 3277 1385 m 3276 1386 l gs col0 s gr
% Polyline
n 3277 1385 m 3292 1366 l gs col0 s gr
% Polyline
n 3306 1350 m 3292 1366 l gs col0 s gr
% Polyline
n 3306 1350 m 3309 1347 l gs col0 s gr
% Polyline
n 3312 1343 m 3309 1347 l gs col0 s gr
% Polyline
n 3349 2391 m 3339 2382 l 3312 2355 l gs col0 s gr
% Polyline
n 3312 1343 m 3326 1329 l gs col0 s gr
% Polyline
n 3339 1316 m 3326 1329 l gs col0 s gr
% Polyline
n 3339 1316 m 3344 1312 l gs col0 s gr
% Polyline
n 3349 1307 m 3344 1312 l gs col0 s gr
% Polyline
n 3385 2421 m 3380 2417 l 3349 2391 l gs col0 s gr
% Polyline
n 3349 1307 m 3363 1295 l gs col0 s gr
% Polyline
n 3380 1281 m 3363 1295 l gs col0 s gr
% Polyline
n 3380 1281 m 3382 1279 l gs col0 s gr
% Polyline
n 3385 1277 m 3382 1279 l gs col0 s gr
% Polyline
n 3385 2421 m 3399 2429 l gs col0 s gr
% Polyline
n 3422 2444 m 3399 2429 l gs col0 s gr
% Polyline
n 3385 1277 m 3404 1265 l gs col0 s gr
% Polyline
n 3422 1254 m 3404 1265 l gs col0 s gr
% Polyline
n 3458 2464 m 3434 2452 l 3422 2444 l gs col0 s gr
% Polyline
n 3422 1254 m 3426 1251 l gs col0 s gr
% Polyline
n 3434 1247 m 3426 1251 l gs col0 s gr
% Polyline
n 3434 1247 m 3450 1239 l gs col0 s gr
% Polyline
n 3458 1234 m 3450 1239 l gs col0 s gr
% Polyline
n 3458 2464 m 3484 2475 l gs col0 s gr
% Polyline
n 3495 2480 m 3484 2475 l gs col0 s gr
% Polyline
n 3458 1234 m 3474 1227 l gs col0 s gr
% Polyline
n 3495 1218 m 3474 1227 l gs col0 s gr
% Polyline
n 3531 2492 m 3512 2486 l 3495 2480 l gs col0 s gr
% Polyline
n 3495 1218 m 3499 1217 l gs col0 s gr
% Polyline
n 3512 1213 m 3499 1217 l gs col0 s gr
% Polyline
n 3512 1213 m 3527 1208 l gs col0 s gr
% Polyline
n 3531 1207 m 3527 1208 l gs col0 s gr
% Polyline
n 3531 2492 m 3540 2494 l gs col0 s gr
% Polyline
n 3568 2501 m 3540 2494 l gs col0 s gr
% Polyline
n 3531 1207 m 3555 1201 l gs col0 s gr
% Polyline
n 3568 1198 m 3555 1201 l gs col0 s gr
% Polyline
n 3568 2501 m 3588 2504 l gs col0 s gr
% Polyline
n 3605 2507 m 3588 2504 l gs col0 s gr
% Polyline
n 3568 1198 m 3585 1194 l gs col0 s gr
% Polyline
n 3605 1192 m 3585 1194 l gs col0 s gr
% Polyline
n 3605 2507 m 3630 2509 l gs col0 s gr
% Polyline
n 3642 2511 m 3630 2509 l gs col0 s gr
% Polyline
n 3605 1192 m 3618 1190 l gs col0 s gr
% Polyline
n 3642 1188 m 3618 1190 l gs col0 s gr
% Polyline
n 3642 2511 m 3668 2512 l gs col0 s gr
% Polyline
n 3678 2512 m 3668 2512 l gs col0 s gr
% Polyline
n 3642 1188 m 3652 1188 l gs col0 s gr
% Polyline
n 3678 1187 m 3652 1188 l gs col0 s gr
% Polyline
n 3678 2512 m 3705 2511 l gs col0 s gr
% Polyline
n 3715 2510 m 3705 2511 l gs col0 s gr
% Polyline
n 3678 1187 m 3687 1187 l gs col0 s gr
% Polyline
n 3715 1188 m 3687 1187 l gs col0 s gr
% Polyline
n 3715 2510 m 3739 2508 l gs col0 s gr
% Polyline
n 3751 2507 m 3739 2508 l gs col0 s gr
% Polyline
n 3715 1188 m 3727 1189 l gs col0 s gr
% Polyline
n 3751 1192 m 3727 1189 l gs col0 s gr
% Polyline
n 3751 2507 m 3771 2505 l gs col0 s gr
% Polyline
n 3788 2502 m 3771 2505 l gs col0 s gr
% Polyline
n 3751 1192 m 3768 1193 l gs col0 s gr
% Polyline
n 3788 1197 m 3768 1193 l gs col0 s gr
% Polyline
n 3788 2502 m 3802 2499 l gs col0 s gr
% Polyline
n 3825 2495 m 3802 2499 l gs col0 s gr
% Polyline
n 3788 1197 m 3812 1202 l gs col0 s gr
% Polyline
n 3825 1204 m 3812 1202 l gs col0 s gr
% Polyline
n 3825 2495 m 3833 2493 l gs col0 s gr
% Polyline
n 3862 2486 m 3833 2493 l gs col0 s gr
% Polyline
n 3825 1204 m 3860 1212 l gs col0 s gr
% Polyline
n 3862 1212 m 3860 1212 l gs col0 s gr
% Polyline
n 3861 2486 m 3863 2486 l gs col0 s gr
% Polyline
n 3864 2486 m 3862 2486 l gs col0 s gr
% Polyline
n 3864 2486 m 3890 2478 l gs col0 s gr
% Polyline
n 3898 2476 m 3890 2478 l gs col0 s gr
% Polyline
n 3898 1223 m 3864 1213 l 3862 1212 l gs col0 s gr
% Polyline
n 3898 2476 m 3917 2469 l gs col0 s gr
% Polyline
n 3935 2464 m 3917 2469 l gs col0 s gr
% Polyline
n 3898 1223 m 3914 1228 l gs col0 s gr
% Polyline
n 3935 1234 m 3914 1228 l gs col0 s gr
% Polyline
n 3935 2464 m 3945 2460 l gs col0 s gr
% Polyline
n 3971 2452 m 3945 2460 l gs col0 s gr
% Polyline
n 3970 2452 m 3972 2452 l gs col0 s gr
% Polyline
n 3971 2451 m 3971 2452 l gs col0 s gr
% Polyline
n 3971 1247 m 3935 1234 l gs col0 s gr
% Polyline
n 3971 2451 m 3997 2441 l gs col0 s gr
% Polyline
n 4009 2436 m 3997 2441 l gs col0 s gr
% Polyline
n 3971 1247 m 3972 1247 l gs col0 s gr
% Polyline
n 4009 1263 m 3972 1247 l gs col0 s gr
% Polyline
n 4009 2436 m 4022 2430 l gs col0 s gr
% Polyline
n 4045 2421 m 4022 2430 l gs col0 s gr
% Polyline
n 4009 1263 m 4038 1275 l gs col0 s gr
% Polyline
n 4045 1277 m 4038 1275 l gs col0 s gr
% Polyline
n 4045 2421 m 4047 2420 l gs col0 s gr
% Polyline
n 4053 2417 m 4047 2420 l gs col0 s gr
% Polyline
n 4053 2417 m 4072 2408 l gs col0 s gr
% Polyline
n 4082 2403 m 4072 2408 l gs col0 s gr
% Polyline
n 4082 1295 m 4053 1281 l 4045 1277 l gs col0 s gr
% Polyline
n 4082 2403 m 4096 2396 l gs col0 s gr
% Polyline
n 4118 2386 m 4096 2396 l gs col0 s gr
% Polyline
n 4082 1295 m 4111 1309 l gs col0 s gr
% Polyline
n 4118 1313 m 4111 1309 l gs col0 s gr
% Polyline
n 4118 2386 m 4120 2384 l gs col0 s gr
% Polyline
n 4124 2382 m 4120 2384 l gs col0 s gr
% Polyline
n 4124 2382 m 4144 2372 l gs col0 s gr
% Polyline
n 4155 2366 m 4144 2372 l gs col0 s gr
% Polyline
n 4155 1332 m 4124 1316 l 4118 1313 l gs col0 s gr
% Polyline
n 4155 2366 m 4167 2360 l gs col0 s gr
% Polyline
n 4189 2348 m 4167 2360 l gs col0 s gr
% Polyline
n 4189 2348 m 4190 2348 l gs col0 s gr
% Polyline
n 4191 2347 m 4190 2348 l gs col0 s gr
% Polyline
n 4191 1351 m 4189 1350 l 4155 1332 l gs col0 s gr
% Polyline
n 4191 2347 m 4214 2334 l gs col0 s gr
% Polyline
n 4227 2327 m 4214 2334 l gs col0 s gr
% Polyline
n 4191 1351 m 4194 1353 l gs col0 s gr
% Polyline
n 4227 1373 m 4194 1353 l gs col0 s gr
% Polyline
n 4227 2327 m 4236 2321 l gs col0 s gr
% Polyline
n 4251 2314 m 4236 2321 l gs col0 s gr
% Polyline
n 4251 2314 m 4259 2309 l gs col0 s gr
% Polyline
n 4264 2305 m 4259 2309 l gs col0 s gr
% Polyline
n 4264 1393 m 4251 1385 l 4227 1373 l gs col0 s gr
% Polyline
n 4264 2305 m 4282 2296 l gs col0 s gr
% Polyline
n 4301 2284 m 4282 2296 l gs col0 s gr
% Polyline
n 4264 1393 m 4288 1407 l gs col0 s gr
% Polyline
n 4301 1414 m 4288 1407 l gs col0 s gr
% Polyline
n 4301 2284 m 4304 2282 l gs col0 s gr
% Polyline
n 4309 2279 m 4304 2282 l gs col0 s gr
% Polyline
n 4309 2279 m 4326 2268 l gs col0 s gr
% Polyline
n 4338 2261 m 4326 2268 l gs col0 s gr
% Polyline
n 4338 1437 m 4309 1419 l 4301 1414 l gs col0 s gr
% Polyline
n 4338 2261 m 4349 2256 l gs col0 s gr
% Polyline
n 4368 2245 m 4349 2256 l gs col0 s gr
% Polyline
n 4368 2245 m 4372 2242 l gs col0 s gr
% Polyline
n 4374 2241 m 4372 2242 l gs col0 s gr
% Polyline
n 4374 1458 m 4368 1454 l 4338 1437 l gs col0 s gr
% Polyline
n 4374 2241 m 4394 2229 l gs col0 s gr
% Polyline
n 4411 2220 m 4394 2229 l gs col0 s gr
% Polyline
n 4374 1458 m 4385 1464 l gs col0 s gr
% Polyline
n 4411 1479 m 4385 1464 l gs col0 s gr
% Polyline
n 4411 2220 m 4418 2216 l gs col0 s gr
% Polyline
n 4429 2211 m 4418 2216 l gs col0 s gr
% Polyline
n 4429 2211 m 4440 2203 l gs col0 s gr
% Polyline
n 4447 2199 m 4440 2203 l gs col0 s gr
% Polyline
n 4447 1499 m 4429 1489 l 4411 1479 l gs col0 s gr
% Polyline
n 4447 2199 m 4463 2191 l gs col0 s gr
% Polyline
n 4485 2181 m 4463 2191 l gs col0 s gr
% Polyline
n 4447 1499 m 4474 1513 l gs col0 s gr
% Polyline
n 4485 1519 m 4474 1513 l gs col0 s gr
% Polyline
n 4485 2181 m 4487 2179 l gs col0 s gr
% Polyline
n 4494 2175 m 4487 2179 l gs col0 s gr
% Polyline
n 4494 2175 m 4511 2167 l gs col0 s gr
% Polyline
n 4521 2162 m 4511 2167 l gs col0 s gr
% Polyline
n 4521 1536 m 4494 1522 l 4485 1519 l gs col0 s gr
% Polyline
n 4521 2162 m 4537 2157 l gs col0 s gr
% Polyline
n 4558 2149 m 4537 2157 l gs col0 s gr
% Polyline
n 4521 1536 m 4546 1546 l gs col0 s gr
% Polyline
n 4558 1551 m 4546 1546 l gs col0 s gr
% Polyline
n 4558 2149 m 4562 2147 l gs col0 s gr
% Polyline
n 4579 2141 m 4562 2147 l gs col0 s gr
% Polyline
n 4579 2141 m 4590 2138 l gs col0 s gr
% Polyline
n 4594 2136 m 4590 2138 l gs col0 s gr
% Polyline
n 4594 1562 m 4579 1557 l 4558 1551 l gs col0 s gr
% Polyline
n 4594 2136 m 4620 2131 l gs col0 s gr
% Polyline
n 4631 2129 m 4620 2131 l gs col0 s gr
% Polyline
n 4594 1562 m 4601 1564 l gs col0 s gr
% Polyline
n 4631 1570 m 4601 1564 l gs col0 s gr
% Polyline
n 4631 2129 m 4652 2127 l gs col0 s gr
% Polyline
n 4668 2126 m 4652 2127 l gs col0 s gr
% Polyline
n 4631 1570 m 4646 1571 l gs col0 s gr
% Polyline
n 4668 1573 m 4646 1571 l gs col0 s gr
% Polyline
n 4668 2126 m 4689 2127 l gs col0 s gr
% Polyline
n 4705 2128 m 4689 2127 l gs col0 s gr
% Polyline
n 4668 1573 m 4683 1572 l gs col0 s gr
% Polyline
n 4705 1570 m 4683 1572 l gs col0 s gr
% Polyline
n 4705 2128 m 4734 2135 l gs col0 s gr
% Polyline
n 4741 2137 m 4734 2135 l gs col0 s gr
% Polyline
n 4705 1570 m 4716 1568 l gs col0 s gr
% Polyline
n 4741 1562 m 4716 1568 l gs col0 s gr
% Polyline
n 4777 2150 m 4753 2141 l 4741 2137 l gs col0 s gr
% Polyline
n 4741 1562 m 4745 1560 l gs col0 s gr
% Polyline
n 4753 1557 m 4745 1560 l gs col0 s gr
% Polyline
n 4753 1557 m 4771 1551 l gs col0 s gr
% Polyline
n 4777 1549 m 4771 1551 l gs col0 s gr
% Polyline
n 4777 2150 m 4797 2160 l gs col0 s gr
% Polyline
n 4814 2169 m 4797 2160 l gs col0 s gr
% Polyline
n 4777 1549 m 4795 1539 l gs col0 s gr
% Polyline
n 4814 1530 m 4795 1539 l gs col0 s gr
% Polyline
n 4851 2192 m 4825 2175 l 4814 2169 l gs col0 s gr
% Polyline
n 4814 1530 m 4819 1527 l gs col0 s gr
% Polyline
n 4825 1522 m 4819 1527 l gs col0 s gr
% Polyline
n 4825 1522 m 4841 1513 l gs col0 s gr
% Polyline
n 4851 1507 m 4841 1513 l gs col0 s gr
% Polyline
n 4887 2220 m 4875 2211 l 4851 2192 l gs col0 s gr
% Polyline
n 4851 1507 m 4862 1499 l gs col0 s gr
% Polyline
n 4875 1489 m 4862 1499 l gs col0 s gr
% Polyline
n 4875 1489 m 4882 1483 l gs col0 s gr
% Polyline
n 4887 1480 m 4882 1483 l gs col0 s gr
% Polyline
n 4924 2250 m 4918 2245 l 4887 2220 l gs col0 s gr
% Polyline
n 4887 1480 m 4902 1468 l gs col0 s gr
% Polyline
n 4918 1454 m 4902 1468 l gs col0 s gr
% Polyline
n 4918 1454 m 4921 1450 l gs col0 s gr
% Polyline
n 4924 1449 m 4921 1450 l gs col0 s gr
% Polyline
n 4960 2284 m 4955 2279 l 4924 2250 l gs col0 s gr
% Polyline
n 4924 1449 m 4940 1434 l gs col0 s gr
% Polyline
n 4955 1419 m 4940 1434 l gs col0 s gr
% Polyline
n 4955 1419 m 4958 1417 l gs col0 s gr
% Polyline
n 4960 1415 m 4958 1417 l gs col0 s gr
% Polyline
n 4997 2320 m 4990 2314 l 4960 2284 l gs col0 s gr
% Polyline
n 4960 1415 m 4976 1399 l gs col0 s gr
% Polyline
n 4990 1385 m 4976 1399 l gs col0 s gr
% Polyline
n 4990 1385 m 4994 1381 l gs col0 s gr
% Polyline
n 4997 1378 m 4994 1381 l gs col0 s gr
% Polyline
n 5034 2358 m 5023 2348 l 4997 2320 l gs col0 s gr
% Polyline
n 4997 1378 m 5011 1364 l gs col0 s gr
% Polyline
n 5023 1350 m 5011 1364 l gs col0 s gr
% Polyline
n 5023 1350 m 5029 1345 l gs col0 s gr
% Polyline
n 5034 1340 m 5029 1345 l gs col0 s gr
% Polyline
n 5071 2399 m 5055 2382 l 5034 2358 l gs col0 s gr
% Polyline
n 5034 1340 m 5046 1327 l gs col0 s gr
% Polyline
n 5055 1316 m 5046 1327 l gs col0 s gr
% Polyline
n 5055 1316 m 5062 1308 l gs col0 s gr
% Polyline
n 5071 1300 m 5062 1308 l gs col0 s gr
% Polyline
n 5107 2442 m 5085 2417 l 5071 2399 l gs col0 s gr
% Polyline
n 5071 1300 m 5079 1289 l gs col0 s gr
% Polyline
n 5085 1281 m 5079 1289 l gs col0 s gr
% Polyline
n 5085 1281 m 5096 1271 l gs col0 s gr
% Polyline
n 5107 1257 m 5096 1271 l gs col0 s gr
% Polyline
n 5144 2486 m 5115 2452 l 5107 2442 l gs col0 s gr
% Polyline
n 5107 1257 m 5111 1251 l gs col0 s gr
% Polyline
n 5115 1247 m 5111 1251 l gs col0 s gr
% Polyline
n 5115 1247 m 5128 1233 l gs col0 s gr
% Polyline
n 5144 1213 m 5128 1233 l gs col0 s gr
% Polyline
n 5181 2530 m 5171 2521 l 5145 2486 l gs col0 s gr
% Polyline
n 5144 2486 m 5145 2486 l gs col0 s gr
% Polyline
n 5143 2486 m 5145 2486 l gs col0 s gr
% Polyline
n 5144 1213 m 5160 1193 l gs col0 s gr
% Polyline
n 5171 1179 m 5160 1193 l gs col0 s gr
% Polyline
n 5171 1179 m 5176 1174 l gs col0 s gr
% Polyline
n 5181 1168 m 5176 1174 l gs col0 s gr
% Polyline
n 5218 2578 m 5199 2554 l 5181 2530 l gs col0 s gr
% Polyline
n 5181 1168 m 5191 1153 l gs col0 s gr
% Polyline
n 5199 1143 m 5191 1153 l gs col0 s gr
% Polyline
n 5199 1143 m 5207 1134 l gs col0 s gr
% Polyline
n 5218 1122 m 5207 1134 l gs col0 s gr
% Polyline
n 5254 2625 m 5252 2623 l 5248 2618 l gs col0 s gr
% Polyline
n 5226 2589 m 5248 2618 l gs col0 s gr
% Polyline
n 5226 2589 m 5218 2578 l gs col0 s gr
% Polyline
n 5218 1122 m 5222 1115 l gs col0 s gr
% Polyline
n 5226 1109 m 5222 1115 l gs col0 s gr
% Polyline
n 5226 1109 m 5237 1095 l gs col0 s gr
% Polyline
n 5252 1075 m 5237 1095 l gs col0 s gr
% Polyline
n 5252 1075 m 5253 1075 l gs col0 s gr
% Polyline
n 5254 1073 m 5253 1075 l gs col0 s gr
% Polyline
n 5290 2674 m 5278 2658 l 5254 2625 l gs col0 s gr
% Polyline
n 5254 1073 m 5268 1055 l gs col0 s gr
% Polyline
n 5278 1042 m 5268 1055 l gs col0 s gr
% Polyline
n 5278 1042 m 5283 1034 l gs col0 s gr
% Polyline
n 5290 1024 m 5283 1034 l gs col0 s gr
% Polyline
n 5327 2724 m 5303 2692 l 5290 2674 l gs col0 s gr
% Polyline
n 5290 1024 m 5298 1014 l gs col0 s gr
% Polyline
n 5303 1006 m 5298 1014 l gs col0 s gr
% Polyline
n 5303 1006 m 5313 993 l gs col0 s gr
% Polyline
n 5327 975 m 5313 993 l gs col0 s gr
% Polyline
n 5364 2775 m 5353 2760 l 5332 2731 l gs col0 s gr
% Polyline
n 5329 2727 m 5332 2731 l gs col0 s gr
% Polyline
n 5329 2727 m 5327 2724 l gs col0 s gr
% Polyline
n 5327 975 m 5328 973 l gs col0 s gr
% Polyline
n 5329 972 m 5328 973 l gs col0 s gr
% Polyline
n 5329 972 m 5343 952 l gs col0 s gr
% Polyline
n 5353 938 m 5358 932 l gs col0 s gr
% Polyline
n 5364 923 m 5358 932 l gs col0 s gr
% Polyline
n 5401 2827 m 5378 2795 l 5364 2775 l gs col0 s gr
% Polyline
n 5364 923 m 5372 911 l gs col0 s gr
% Polyline
n 5378 903 m 5372 911 l gs col0 s gr
% Polyline
n 5378 903 m 5387 890 l gs col0 s gr
% Polyline
n 5401 871 m 5387 890 l gs col0 s gr
% Polyline
n 5437 2880 m 5426 2864 l 5405 2834 l gs col0 s gr
% Polyline
n 5402 2829 m 5405 2834 l gs col0 s gr
% Polyline
n 5402 2829 m 5401 2827 l gs col0 s gr
% Polyline
n 5401 871 m 5401 870 l gs col0 s gr
% Polyline
n 5402 869 m 5401 870 l gs col0 s gr
% Polyline
n 5402 869 m 5415 848 l gs col0 s gr
% Polyline
n 5426 835 m 5415 848 l gs col0 s gr
% Polyline
n 5426 835 m 5431 828 l gs col0 s gr
% Polyline
n 5437 818 m 5431 828 l gs col0 s gr
% Polyline
n 5474 2934 m 5473 2933 l 5471 2931 l gs col0 s gr
% Polyline
n 5450 2899 m 5471 2931 l gs col0 s gr
% Polyline
n 5450 2899 m 5437 2880 l gs col0 s gr
% Polyline
n 5437 818 m 5445 807 l gs col0 s gr
% Polyline
n 5450 800 m 5445 807 l gs col0 s gr
% Polyline
n 5450 800 m 5459 786 l gs col0 s gr
% Polyline
n 5473 766 m 5459 786 l gs col0 s gr
% Polyline
n 5473 766 m 5474 765 l gs col0 s gr
% Polyline
n 5510 2988 m 5496 2967 l 5474 2934 l gs col0 s gr
% Polyline
n 5474 765 m 5487 745 l gs col0 s gr
% Polyline
n 5496 731 m 5487 745 l gs col0 s gr
% Polyline
n 5496 731 m 5502 723 l gs col0 s gr
% Polyline
n 5510 710 m 5502 723 l gs col0 s gr
% Polyline
n 5547 3044 m 5541 3036 l 5532 3023 l gs col0 s gr
% Polyline
n 5519 3002 m 5532 3023 l gs col0 s gr
% Polyline
n 5519 3002 m 5510 2988 l gs col0 s gr
% Polyline
n 5510 710 m 5516 702 l gs col0 s gr
% Polyline
n 5519 697 m 5516 702 l gs col0 s gr
% Polyline
n 5519 697 m 5530 681 l gs col0 s gr
% Polyline
n 5541 662 m 5530 681 l gs col0 s gr
% Polyline
n 5541 662 m 5544 659 l gs col0 s gr
% Polyline
n 5547 654 m 5544 659 l gs col0 s gr
% Polyline
n 5583 3101 m 5563 3071 l 5547 3044 l gs col0 s gr
% Polyline
n 5547 654 m 5558 638 l gs col0 s gr
% Polyline
n 5563 628 m 5558 638 l gs col0 s gr
% Polyline
n 5563 628 m 5571 617 l gs col0 s gr
% Polyline
n 5583 599 m 5571 617 l gs col0 s gr
% Polyline
n 5620 3158 m 5609 3140 l 5590 3111 l gs col0 s gr
% Polyline
n 5586 3106 m 5590 3111 l gs col0 s gr
% Polyline
n 5586 3106 m 5583 3101 l gs col0 s gr
% Polyline
n 5583 599 m 5585 595 l gs col0 s gr
% Polyline
n 5586 594 m 5585 595 l gs col0 s gr
% Polyline
n 5586 594 m 5599 573 l gs col0 s gr
% Polyline
n 5609 559 m 5599 573 l gs col0 s gr
% Polyline
n 5609 559 m 5613 552 l gs col0 s gr
% Polyline
n 5620 541 m 5613 552 l gs col0 s gr
% Polyline
n 5657 3216 m 5652 3208 l 5645 3197 l gs col0 s gr
% Polyline
n 5630 3173 m 5645 3197 l gs col0 s gr
% Polyline
n 5630 3173 m 5620 3158 l gs col0 s gr
% Polyline
n 5620 541 m 5626 531 l gs col0 s gr
% Polyline
n 5630 524 m 5626 531 l gs col0 s gr
% Polyline
n 5630 524 m 5641 509 l gs col0 s gr
% Polyline
n 5652 490 m 5641 509 l gs col0 s gr
% Polyline
n 5652 490 m 5654 487 l gs col0 s gr
% Polyline
n 5657 484 m 5654 487 l gs col0 s gr
% Polyline
n 5694 3275 m 5673 3243 l 5657 3216 l gs col0 s gr
% Polyline
n 5657 484 m 5667 466 l gs col0 s gr
% Polyline
n 5673 455 m 5667 466 l gs col0 s gr
% Polyline
n 5673 455 m 5681 445 l gs col0 s gr
% Polyline
n 5694 424 m 5681 445 l gs col0 s gr
% Polyline
n 5730 3334 m 5717 3311 l 5697 3280 l gs col0 s gr
% Polyline
n 5695 3277 m 5697 3280 l gs col0 s gr
% Polyline
n 5695 3277 m 5694 3275 l gs col0 s gr
% Polyline
n 5694 424 m 5695 423 l gs col0 s gr
% Polyline
n 5695 422 m 5695 423 l gs col0 s gr
% Polyline
n 5695 422 m 5708 401 l gs col0 s gr
% Polyline
n 5717 387 m 5708 401 l gs col0 s gr
% Polyline
n 5717 387 m 5721 379 l gs col0 s gr
% Polyline
n 5730 365 m 5721 379 l gs col0 s gr
% Polyline
n 5767 3394 m 5758 3380 l 5747 3361 l gs col0 s gr
% Polyline
n 5738 3345 m 5747 3361 l gs col0 s gr
% Polyline
n 5738 3345 m 5730 3334 l gs col0 s gr
% Polyline
n 5730 365 m 5735 357 l gs col0 s gr
% Polyline
n 5738 353 m 5735 357 l gs col0 s gr
% Polyline
n 5738 353 m 5748 335 l gs col0 s gr
% Polyline
n 5758 319 m 5748 335 l gs col0 s gr
% Polyline
n 5758 319 m 5761 313 l gs col0 s gr
% Polyline
n 5767 305 m 5761 313 l gs col0 s gr
% Polyline
n 5803 3455 m 5800 3449 l 5795 3441 l gs col0 s gr
% Polyline
n 5779 3414 m 5795 3441 l gs col0 s gr
% Polyline
n 5779 3414 m 5767 3394 l gs col0 s gr
% Polyline
n 5767 305 m 5775 291 l gs col0 s gr
% Polyline
n 5779 284 m 5775 291 l gs col0 s gr
% Polyline
n 5779 284 m 5788 269 l gs col0 s gr
% Polyline
n 5800 249 m 5788 269 l gs col0 s gr
% Polyline
n 5800 249 m 5801 248 l gs col0 s gr
% Polyline
n 5803 244 m 5801 248 l gs col0 s gr
% Polyline
n 5840 3516 m 5821 3483 l 5803 3455 l gs col0 s gr
% Polyline
n 5803 244 m 5814 225 l gs col0 s gr
% Polyline
n 5821 216 m 5814 225 l gs col0 s gr
% Polyline
n 5821 216 m 5827 203 l gs col0 s gr
% Polyline
n 5840 182 m 5827 203 l gs col0 s gr
% Polyline
n 5861 3553 m 5842 3520 l gs col0 s gr
% Polyline
n 5841 3518 m 5842 3520 l gs col0 s gr
% Polyline
n 5841 3518 m 5840 3516 l gs col0 s gr
% Polyline
n 5840 182 m 5841 181 l 5854 159 l gs col0 s gr
% Polyline
n 5861 147 m 5854 159 l gs col0 s gr
% Polyline
n 5353 938 m 5343 952 l gs col0 s gr
% Polyline
0 slj
n 103 2103 m 95 2074 l 93 2067 l gs col0 s gr
% Polyline
n 86 2039 m 93 2067 l gs col0 s gr
% Polyline
n 86 2039 m 84 2028 l gs col0 s gr
% Polyline
n 79 2004 m 84 2028 l gs col0 s gr
% Polyline
n 79 2004 m 77 1991 l gs col0 s gr
% Polyline
n 74 1970 m 77 1991 l gs col0 s gr
% Polyline
n 74 1970 m 72 1953 l gs col0 s gr
% Polyline
n 70 1935 m 72 1953 l gs col0 s gr
% Polyline
n 70 1935 m 68 1917 l gs col0 s gr
% Polyline
n 67 1901 m 68 1917 l gs col0 s gr
% Polyline
n 67 1901 m 66 1880 l gs col0 s gr
% Polyline
n 66 1866 m 66 1880 l gs col0 s gr
% Polyline
n 66 1866 m 66 1846 l gs col0 s gr
% Polyline
n 66 1832 m 66 1846 l gs col0 s gr
% Polyline
n 66 1832 m 66 1812 l gs col0 s gr
% Polyline
n 67 1798 m 66 1812 l gs col0 s gr
% Polyline
n 67 1798 m 69 1778 l gs col0 s gr
% Polyline
n 70 1763 m 69 1778 l gs col0 s gr
% Polyline
n 70 1763 m 72 1746 l gs col0 s gr
% Polyline
n 74 1729 m 72 1746 l gs col0 s gr
% Polyline
n 74 1729 m 76 1715 l gs col0 s gr
% Polyline
n 79 1695 m 76 1715 l gs col0 s gr
% Polyline
n 79 1695 m 82 1682 l gs col0 s gr
% Polyline
n 86 1660 m 82 1682 l gs col0 s gr
% Polyline
n 86 1660 m 88 1652 l gs col0 s gr
% Polyline
n 95 1626 m 88 1652 l gs col0 s gr
% Polyline
n 95 1626 m 96 1622 l gs col0 s gr
% Polyline
n 103 1595 m 96 1622 l gs col0 s gr
% Polyline
n 165 2242 m 149 2211 l 142 2198 l gs col0 s gr
% Polyline
n 132 2176 m 142 2198 l gs col0 s gr
% Polyline
n 132 2176 m 122 2152 l gs col0 s gr
% Polyline
n 117 2141 m 122 2152 l gs col0 s gr
% Polyline
n 117 2141 m 105 2108 l gs col0 s gr
% Polyline
n 104 2108 m 105 2108 l gs col0 s gr
% Polyline
n 104 2108 m 103 2103 l gs col0 s gr
% Polyline
n 103 1595 m 104 1592 l gs col0 s gr
% Polyline
n 104 1591 m 104 1592 l gs col0 s gr
% Polyline
n 104 1591 m 115 1564 l gs col0 s gr
% Polyline
n 117 1557 m 115 1564 l gs col0 s gr
% Polyline
n 117 1557 m 127 1536 l gs col0 s gr
% Polyline
n 132 1522 m 127 1536 l gs col0 s gr
% Polyline
n 132 1522 m 139 1508 l gs col0 s gr
% Polyline
n 149 1489 m 139 1508 l gs col0 s gr
% Polyline
n 149 1489 m 152 1480 l gs col0 s gr
% Polyline
n 165 1457 m 152 1480 l gs col0 s gr
% Polyline
n 226 2327 m 216 2314 l 209 2304 l gs col0 s gr
% Polyline
n 190 2280 m 209 2304 l gs col0 s gr
% Polyline
n 190 2280 m 168 2247 l gs col0 s gr
% Polyline
n 167 2245 m 168 2247 l gs col0 s gr
% Polyline
n 167 2245 m 165 2242 l gs col0 s gr
% Polyline
n 165 1457 m 166 1454 l gs col0 s gr
% Polyline
n 167 1454 m 166 1454 l gs col0 s gr
% Polyline
n 167 1454 m 183 1429 l gs col0 s gr
% Polyline
n 190 1420 m 183 1429 l gs col0 s gr
% Polyline
n 190 1420 m 201 1405 l gs col0 s gr
% Polyline
n 216 1385 m 201 1405 l gs col0 s gr
% Polyline
n 216 1385 m 220 1381 l gs col0 s gr
% Polyline
n 226 1373 m 220 1381 l gs col0 s gr
% Polyline
n 288 2384 m 287 2383 l 284 2381 l gs col0 s gr
% Polyline
n 250 2348 m 284 2381 l gs col0 s gr
% Polyline
n 250 2348 m 226 2327 l gs col0 s gr
% Polyline
n 226 1373 m 241 1359 l gs col0 s gr
% Polyline
n 250 1350 m 241 1359 l gs col0 s gr
% Polyline
n 250 1350 m 264 1338 l gs col0 s gr
% Polyline
n 287 1316 m 264 1338 l gs col0 s gr
% Polyline
n 287 1316 m 288 1316 l gs col0 s gr
% Polyline
n 288 1315 m 288 1316 l gs col0 s gr
% Polyline
n 350 2423 m 340 2417 l 288 2384 l gs col0 s gr
% Polyline
n 288 1315 m 316 1297 l gs col0 s gr
% Polyline
n 340 1281 m 316 1297 l gs col0 s gr
% Polyline
n 340 1281 m 345 1278 l gs col0 s gr
% Polyline
n 350 1275 m 345 1278 l gs col0 s gr
% Polyline
n 350 2423 m 398 2444 l gs col0 s gr
% Polyline
n 412 2450 m 398 2444 l gs col0 s gr
% Polyline
n 350 1275 m 379 1264 l gs col0 s gr
% Polyline
n 412 1249 m 379 1264 l gs col0 s gr
% Polyline
n 474 2465 m 420 2452 l 412 2450 l gs col0 s gr
% Polyline
n 412 1249 m 414 1248 l gs col0 s gr
% Polyline
n 420 1247 m 414 1248 l gs col0 s gr
% Polyline
n 420 1247 m 457 1238 l gs col0 s gr
% Polyline
n 474 1235 m 457 1238 l gs col0 s gr
% Polyline
n 474 2465 m 503 2467 l gs col0 s gr
% Polyline
n 536 2471 m 503 2467 l gs col0 s gr
% Polyline
n 474 1235 m 506 1231 l gs col0 s gr
% Polyline
n 536 1227 m 506 1231 l gs col0 s gr
% Polyline
n 536 2471 m 569 2470 l gs col0 s gr
% Polyline
n 598 2469 m 569 2470 l gs col0 s gr
% Polyline
n 536 1227 m 563 1228 l gs col0 s gr
% Polyline
n 598 1229 m 563 1228 l gs col0 s gr
% Polyline
n 598 2469 m 624 2466 l gs col0 s gr
% Polyline
n 659 2461 m 624 2466 l gs col0 s gr
% Polyline
n 598 1229 m 636 1235 l gs col0 s gr
% Polyline
n 659 1238 m 636 1235 l gs col0 s gr
% Polyline
n 659 2461 m 672 2457 l gs col0 s gr
% Polyline
n 699 2452 m 672 2457 l gs col0 s gr
% Polyline
n 699 2452 m 715 2448 l gs col0 s gr
% Polyline
n 721 2446 m 715 2448 l gs col0 s gr
% Polyline
n 721 1253 m 699 1247 l 659 1238 l gs col0 s gr
% Polyline
n 721 2446 m 753 2435 l gs col0 s gr
% Polyline
n 783 2425 m 753 2435 l gs col0 s gr
% Polyline
n 721 1253 m 747 1262 l gs col0 s gr
% Polyline
n 783 1274 m 747 1262 l gs col0 s gr
% Polyline
n 783 2425 m 791 2422 l gs col0 s gr
% Polyline
n 802 2417 m 791 2422 l gs col0 s gr
% Polyline
n 802 2417 m 825 2406 l gs col0 s gr
% Polyline
n 845 2398 m 825 2406 l gs col0 s gr
% Polyline
n 845 1301 m 802 1281 l 783 1274 l gs col0 s gr
% Polyline
n 845 2398 m 859 2390 l gs col0 s gr
% Polyline
n 875 2383 m 859 2390 l gs col0 s gr
% Polyline
n 875 2383 m 891 2374 l gs col0 s gr
% Polyline
n 906 2365 m 891 2374 l gs col0 s gr
% Polyline
n 906 1333 m 875 1316 l 845 1301 l gs col0 s gr
% Polyline
n 906 2365 m 922 2357 l gs col0 s gr
% Polyline
n 937 2348 m 922 2357 l gs col0 s gr
% Polyline
n 937 2348 m 951 2339 l gs col0 s gr
% Polyline
n 969 2328 m 951 2339 l gs col0 s gr
% Polyline
n 969 1371 m 937 1350 l 906 1333 l gs col0 s gr
% Polyline
n 969 2328 m 980 2321 l gs col0 s gr
% Polyline
1 slj
n 3165 2075 m 3165 2073 l 3164 2072 l gs col0 s gr
% Polyline
0 slj
n 990 2314 m 980 2321 l gs col0 s gr
% Polyline
1 slj
n 3157 2039 m 3164 2072 l gs col0 s gr
% Polyline
0 slj
n 990 2314 m 1007 2301 l gs col0 s gr
% Polyline
n 1030 2285 m 1007 2301 l gs col0 s gr
% Polyline
n 1030 1413 m 990 1385 l 969 1371 l gs col0 s gr
% Polyline
n 1030 2285 m 1034 2282 l gs col0 s gr
% Polyline
n 1038 2280 m 1034 2282 l gs col0 s gr
% Polyline
n 1038 2280 m 1060 2261 l gs col0 s gr
% Polyline
n 1082 2245 m 1060 2261 l gs col0 s gr
% Polyline
n 1082 2245 m 1085 2242 l gs col0 s gr
% Polyline
n 1092 2236 m 1085 2242 l gs col0 s gr
% Polyline
n 1092 1463 m 1082 1454 l 1056 1434 l gs col0 s gr
% Polyline
n 1038 1420 m 1056 1434 l gs col0 s gr
% Polyline
n 1038 1420 m 1030 1413 l gs col0 s gr
% Polyline
n 1092 2236 m 1110 2220 l gs col0 s gr
% Polyline
n 1121 2211 m 1110 2220 l gs col0 s gr
% Polyline
n 1121 2211 m 1134 2199 l gs col0 s gr
% Polyline
n 1153 2180 m 1134 2199 l gs col0 s gr
% Polyline
n 1153 1519 m 1121 1489 l 1092 1463 l gs col0 s gr
% Polyline
n 1153 2180 m 1156 2178 l gs col0 s gr
% Polyline
n 1158 2176 m 1156 2178 l gs col0 s gr
% Polyline
n 1158 2176 m 1178 2156 l gs col0 s gr
% Polyline
n 1191 2141 m 1178 2156 l gs col0 s gr
% Polyline
n 1191 2141 m 1199 2132 l gs col0 s gr
% Polyline
n 1215 2114 m 1199 2132 l gs col0 s gr
% Polyline
n 1215 1585 m 1191 1557 l 1162 1528 l gs col0 s gr
% Polyline
n 1158 1522 m 1162 1528 l gs col0 s gr
% Polyline
n 1158 1522 m 1153 1519 l gs col0 s gr
% Polyline
n 1215 2114 m 1220 2109 l gs col0 s gr
% Polyline
n 1222 2108 m 1220 2109 l gs col0 s gr
% Polyline
n 1222 2108 m 1239 2086 l gs col0 s gr
% Polyline
n 1249 2074 m 1239 2086 l gs col0 s gr
% Polyline
n 1249 2074 m 1257 2061 l gs col0 s gr
% Polyline
n 1273 2039 m 1257 2061 l gs col0 s gr
% Polyline
n 1273 2039 m 1274 2037 l gs col0 s gr
% Polyline
n 1277 2032 m 1274 2037 l gs col0 s gr
% Polyline
n 1277 1668 m 1273 1660 l 1271 1656 l gs col0 s gr
% Polyline
n 1249 1626 m 1271 1656 l gs col0 s gr
% Polyline
n 1249 1626 m 1226 1597 l gs col0 s gr
% Polyline
n 1222 1591 m 1226 1597 l gs col0 s gr
% Polyline
n 1222 1591 m 1215 1585 l gs col0 s gr
% Polyline
n 1277 2032 m 1290 2012 l gs col0 s gr
% Polyline
n 1295 2004 m 1290 2012 l gs col0 s gr
% Polyline
n 1295 2004 m 1305 1985 l gs col0 s gr
% Polyline
n 1313 1970 m 1305 1985 l gs col0 s gr
% Polyline
n 1313 1970 m 1317 1958 l gs col0 s gr
% Polyline
n 1325 1935 m 1317 1958 l gs col0 s gr
% Polyline
n 1325 1935 m 1327 1929 l gs col0 s gr
% Polyline
n 1334 1901 m 1327 1929 l gs col0 s gr
% Polyline
n 1334 1901 m 1335 1898 l gs col0 s gr
% Polyline
n 1339 1866 m 1335 1898 l gs col0 s gr
% Polyline
n 1338 1866 m 1340 1866 l gs col0 s gr
% Polyline
n 1339 1832 m 1339 1866 l gs col0 s gr
% Polyline
n 1338 1832 m 1340 1832 l gs col0 s gr
% Polyline
n 1334 1798 m 1339 1832 l gs col0 s gr
% Polyline
n 1334 1798 m 1333 1794 l gs col0 s gr
% Polyline
n 1325 1763 m 1333 1794 l gs col0 s gr
% Polyline
n 1325 1763 m 1321 1753 l gs col0 s gr
% Polyline
n 1313 1729 m 1321 1753 l gs col0 s gr
% Polyline
n 1313 1729 m 1302 1708 l gs col0 s gr
% Polyline
n 1295 1695 m 1302 1708 l gs col0 s gr
% Polyline
n 1295 1695 m 1277 1668 l gs col0 s gr
% Polyline
n 1895 2041 m 1894 2039 l 1894 2038 l gs col0 s gr
% Polyline
n 1878 2004 m 1894 2038 l gs col0 s gr
% Polyline
n 1878 2004 m 1874 1993 l gs col0 s gr
% Polyline
n 1866 1970 m 1874 1993 l gs col0 s gr
% Polyline
n 1866 1970 m 1861 1951 l gs col0 s gr
% Polyline
n 1857 1935 m 1861 1951 l gs col0 s gr
% Polyline
n 1857 1935 m 1852 1912 l gs col0 s gr
% Polyline
n 1851 1901 m 1852 1912 l gs col0 s gr
% Polyline
n 1851 1901 m 1848 1875 l gs col0 s gr
% Polyline
n 1847 1866 m 1848 1875 l gs col0 s gr
% Polyline
n 1847 1866 m 1847 1840 l gs col0 s gr
% Polyline
n 1847 1832 m 1847 1840 l gs col0 s gr
% Polyline
n 1847 1832 m 1850 1806 l gs col0 s gr
% Polyline
n 1851 1798 m 1850 1806 l gs col0 s gr
% Polyline
n 1851 1798 m 1855 1775 l gs col0 s gr
% Polyline
n 1857 1763 m 1855 1775 l gs col0 s gr
% Polyline
n 1857 1763 m 1862 1744 l gs col0 s gr
% Polyline
n 1866 1729 m 1862 1744 l gs col0 s gr
% Polyline
n 1866 1729 m 1871 1715 l gs col0 s gr
% Polyline
n 1878 1695 m 1871 1715 l gs col0 s gr
% Polyline
n 1878 1695 m 1882 1687 l gs col0 s gr
% Polyline
n 1894 1660 m 1882 1687 l gs col0 s gr
% Polyline
n 1894 1660 m 1895 1659 l gs col0 s gr
% Polyline
n 1895 1658 m 1895 1659 l gs col0 s gr
% Polyline
n 1957 2162 m 1945 2141 l 1938 2131 l gs col0 s gr
% Polyline
n 1925 2108 m 1938 2131 l gs col0 s gr
% Polyline
n 1925 2108 m 1914 2083 l gs col0 s gr
% Polyline
n 1909 2074 m 1914 2083 l gs col0 s gr
% Polyline
n 1909 2074 m 1895 2041 l gs col0 s gr
% Polyline
n 1895 1658 m 1906 1632 l gs col0 s gr
% Polyline
n 1909 1626 m 1906 1632 l gs col0 s gr
% Polyline
n 1909 1626 m 1919 1604 l gs col0 s gr
% Polyline
n 1925 1591 m 1919 1604 l gs col0 s gr
% Polyline
n 1925 1591 m 1932 1578 l gs col0 s gr
% Polyline
n 1945 1557 m 1932 1578 l gs col0 s gr
% Polyline
n 1945 1557 m 1948 1552 l gs col0 s gr
% Polyline
n 1957 1537 m 1948 1552 l gs col0 s gr
% Polyline
n 2019 2268 m 2003 2245 l 1996 2232 l gs col0 s gr
% Polyline
n 1982 2211 m 1996 2232 l gs col0 s gr
% Polyline
n 1982 2211 m 1967 2181 l gs col0 s gr
% Polyline
n 1964 2176 m 1967 2181 l gs col0 s gr
% Polyline
n 1964 2176 m 1957 2162 l gs col0 s gr
% Polyline
n 1957 1537 m 1962 1526 l gs col0 s gr
% Polyline
n 1964 1522 m 1962 1526 l gs col0 s gr
% Polyline
n 1964 1522 m 1977 1499 l gs col0 s gr
% Polyline
n 1982 1489 m 1977 1499 l gs col0 s gr
% Polyline
n 1982 1489 m 1991 1473 l gs col0 s gr
% Polyline
n 2003 1454 m 1991 1473 l gs col0 s gr
% Polyline
n 2003 1454 m 2008 1448 l gs col0 s gr
% Polyline
n 2019 1431 m 2008 1448 l gs col0 s gr
% Polyline
n 2081 2368 m 2067 2348 l 2060 2336 l gs col0 s gr
% Polyline
n 2045 2314 m 2060 2336 l gs col0 s gr
% Polyline
n 2045 2314 m 2028 2284 l gs col0 s gr
% Polyline
n 2025 2280 m 2028 2284 l gs col0 s gr
% Polyline
n 2025 2280 m 2019 2268 l gs col0 s gr
% Polyline
n 2019 1431 m 2023 1422 l gs col0 s gr
% Polyline
n 2025 1420 m 2023 1422 l gs col0 s gr
% Polyline
n 2025 1420 m 2039 1396 l gs col0 s gr
% Polyline
n 2045 1385 m 2039 1396 l gs col0 s gr
% Polyline
n 2045 1385 m 2054 1371 l gs col0 s gr
% Polyline
n 2067 1350 m 2054 1371 l gs col0 s gr
% Polyline
n 2067 1350 m 2071 1345 l gs col0 s gr
% Polyline
n 2081 1330 m 2071 1345 l gs col0 s gr
% Polyline
n 2142 2467 m 2132 2452 l 2126 2443 l gs col0 s gr
% Polyline
n 2109 2417 m 2126 2443 l gs col0 s gr
% Polyline
n 2109 2417 m 2093 2390 l gs col0 s gr
% Polyline
n 2089 2383 m 2093 2390 l gs col0 s gr
% Polyline
n 2089 2383 m 2081 2368 l gs col0 s gr
% Polyline
n 2081 1330 m 2087 1319 l gs col0 s gr
% Polyline
n 2089 1316 m 2087 1319 l gs col0 s gr
% Polyline
n 2089 1316 m 2102 1294 l gs col0 s gr
% Polyline
n 2109 1281 m 2102 1294 l gs col0 s gr
% Polyline
n 2109 1281 m 2119 1268 l gs col0 s gr
% Polyline
n 2132 1247 m 2119 1268 l gs col0 s gr
% Polyline
n 2132 1247 m 2135 1243 l gs col0 s gr
% Polyline
n 2142 1233 m 2135 1243 l gs col0 s gr
% Polyline
n 2204 2565 m 2198 2554 l 2193 2549 l gs col0 s gr
% Polyline
n 2175 2521 m 2193 2549 l gs col0 s gr
% Polyline
n 2175 2521 m 2160 2496 l gs col0 s gr
% Polyline
n 2153 2487 m 2160 2496 l gs col0 s gr
% Polyline
n 2153 2487 m 2142 2467 l gs col0 s gr
% Polyline
n 2142 1233 m 2151 1217 l gs col0 s gr
% Polyline
n 2153 1213 m 2151 1217 l gs col0 s gr
% Polyline
n 2153 1213 m 2167 1192 l gs col0 s gr
% Polyline
n 2175 1179 m 2167 1192 l gs col0 s gr
% Polyline
n 2175 1179 m 2183 1166 l gs col0 s gr
% Polyline
n 2198 1143 m 2183 1166 l gs col0 s gr
% Polyline
n 2198 1143 m 2200 1142 l gs col0 s gr
% Polyline
n 2204 1134 m 2200 1142 l gs col0 s gr
% Polyline
n 2266 2663 m 2263 2658 l 2261 2654 l gs col0 s gr
% Polyline
n 2240 2623 m 2261 2654 l gs col0 s gr
% Polyline
n 2240 2623 m 2227 2601 l gs col0 s gr
% Polyline
n 2219 2589 m 2227 2601 l gs col0 s gr
% Polyline
n 2219 2589 m 2204 2565 l gs col0 s gr
% Polyline
n 2204 1134 m 2215 1116 l gs col0 s gr
% Polyline
n 2219 1110 m 2215 1116 l gs col0 s gr
% Polyline
n 2219 1110 m 2231 1090 l gs col0 s gr
% Polyline
n 2240 1075 m 2231 1090 l gs col0 s gr
% Polyline
n 2240 1075 m 2246 1065 l gs col0 s gr
% Polyline
n 2263 1042 m 2246 1065 l gs col0 s gr
% Polyline
n 2263 1042 m 2263 1039 l gs col0 s gr
% Polyline
n 2266 1036 m 2263 1039 l gs col0 s gr
% Polyline
n 2328 2762 m 2327 2760 l gs col0 s gr
% Polyline
n 2305 2727 m 2327 2760 l gs col0 s gr
% Polyline
n 2305 2727 m 2293 2707 l gs col0 s gr
% Polyline
n 2284 2692 m 2293 2707 l gs col0 s gr
% Polyline
n 2284 2692 m 2266 2663 l gs col0 s gr
% Polyline
n 2266 1036 m 2279 1014 l gs col0 s gr
% Polyline
n 2284 1007 m 2279 1014 l gs col0 s gr
% Polyline
n 2284 1007 m 2295 988 l gs col0 s gr
% Polyline
n 2305 972 m 2295 988 l gs col0 s gr
% Polyline
n 2305 972 m 2310 962 l gs col0 s gr
% Polyline
n 2327 938 m 2310 962 l gs col0 s gr
% Polyline
n 2326 938 m 2328 938 l gs col0 s gr
% Polyline
n 2328 936 m 2327 938 l gs col0 s gr
% Polyline
n 2390 2863 m 2369 2830 l 2357 2812 l gs col0 s gr
% Polyline
n 2347 2795 m 2357 2812 l gs col0 s gr
% Polyline
n 2347 2795 m 2328 2762 l gs col0 s gr
% Polyline
n 2328 936 m 2342 912 l gs col0 s gr
% Polyline
n 2347 903 m 2342 912 l gs col0 s gr
% Polyline
n 2347 903 m 2358 885 l gs col0 s gr
% Polyline
n 2369 869 m 2358 885 l gs col0 s gr
% Polyline
n 2369 869 m 2374 861 l gs col0 s gr
% Polyline
n 2390 836 m 2374 861 l gs col0 s gr
% Polyline
n 2452 2965 m 2431 2933 l 2421 2916 l gs col0 s gr
% Polyline
n 2410 2899 m 2421 2916 l gs col0 s gr
% Polyline
n 2410 2899 m 2391 2865 l gs col0 s gr
% Polyline
n 2390 2864 m 2391 2865 l gs col0 s gr
% Polyline
n 2390 2864 m 2390 2863 l gs col0 s gr
% Polyline
n 2390 836 m 2390 835 l 2405 810 l gs col0 s gr
% Polyline
n 2410 800 m 2405 810 l gs col0 s gr
% Polyline
n 2410 800 m 2421 783 l gs col0 s gr
% Polyline
n 2431 766 m 2421 783 l gs col0 s gr
% Polyline
n 2431 766 m 2436 758 l gs col0 s gr
% Polyline
n 2452 734 m 2436 758 l gs col0 s gr
% Polyline
n 2513 3068 m 2494 3036 l 2483 3019 l gs col0 s gr
% Polyline
n 2473 3002 m 2483 3019 l gs col0 s gr
% Polyline
n 2473 3002 m 2453 2969 l gs col0 s gr
% Polyline
n 2453 2967 m 2453 2969 l gs col0 s gr
% Polyline
n 2453 2967 m 2452 2965 l gs col0 s gr
% Polyline
n 2452 734 m 2453 732 l gs col0 s gr
% Polyline
n 2453 731 m 2453 732 l gs col0 s gr
% Polyline
n 2453 731 m 2468 706 l gs col0 s gr
% Polyline
n 2473 697 m 2468 706 l gs col0 s gr
% Polyline
n 2473 697 m 2483 680 l gs col0 s gr
% Polyline
n 2494 662 m 2483 680 l gs col0 s gr
% Polyline
n 2494 662 m 2499 654 l gs col0 s gr
% Polyline
n 2513 631 m 2499 654 l gs col0 s gr
% Polyline
n 2575 3173 m 2555 3140 l 2545 3122 l gs col0 s gr
% Polyline
n 2534 3106 m 2545 3122 l gs col0 s gr
% Polyline
n 2534 3106 m 2515 3071 l gs col0 s gr
% Polyline
n 2514 3071 m 2516 3071 l gs col0 s gr
% Polyline
n 2515 3071 m 2513 3068 l gs col0 s gr
% Polyline
n 2513 631 m 2514 628 l gs col0 s gr
% Polyline
n 2515 628 m 2514 628 l gs col0 s gr
% Polyline
n 2515 628 m 2529 603 l gs col0 s gr
% Polyline
n 2534 594 m 2529 603 l gs col0 s gr
% Polyline
n 2534 594 m 2545 576 l gs col0 s gr
% Polyline
n 2555 560 m 2545 576 l gs col0 s gr
% Polyline
n 2555 560 m 2560 551 l gs col0 s gr
% Polyline
n 2575 526 m 2560 551 l gs col0 s gr
% Polyline
n 2637 3279 m 2635 3277 l 2634 3276 l gs col0 s gr
% Polyline
n 2614 3243 m 2634 3276 l gs col0 s gr
% Polyline
n 2614 3243 m 2604 3225 l gs col0 s gr
% Polyline
n 2595 3208 m 2604 3225 l gs col0 s gr
% Polyline
n 2595 3208 m 2575 3174 l gs col0 s gr
% Polyline
n 2575 3173 m 2575 3174 l gs col0 s gr
% Polyline
n 2574 3173 m 2576 3173 l gs col0 s gr
% Polyline
n 2575 526 m 2575 524 l 2590 499 l gs col0 s gr
% Polyline
n 2595 490 m 2590 499 l gs col0 s gr
% Polyline
n 2595 490 m 2605 473 l gs col0 s gr
% Polyline
n 2614 456 m 2605 473 l gs col0 s gr
% Polyline
n 2614 456 m 2620 447 l gs col0 s gr
% Polyline
n 2635 422 m 2620 447 l gs col0 s gr
% Polyline
n 2635 422 m 2636 421 l gs col0 s gr
% Polyline
n 2637 418 m 2636 421 l gs col0 s gr
% Polyline
n 2698 3388 m 2694 3380 l 2692 3376 l gs col0 s gr
% Polyline
n 2674 3346 m 2692 3376 l gs col0 s gr
% Polyline
n 2674 3346 m 2663 3326 l gs col0 s gr
% Polyline
n 2655 3311 m 2663 3326 l gs col0 s gr
% Polyline
n 2655 3311 m 2637 3279 l gs col0 s gr
% Polyline
n 2637 418 m 2650 395 l gs col0 s gr
% Polyline
n 2655 387 m 2650 395 l gs col0 s gr
% Polyline
n 2655 387 m 2665 369 l gs col0 s gr
% Polyline
n 2674 353 m 2665 369 l gs col0 s gr
% Polyline
n 2674 353 m 2680 343 l gs col0 s gr
% Polyline
n 2694 319 m 2680 343 l gs col0 s gr
% Polyline
n 2694 319 m 2695 317 l gs col0 s gr
% Polyline
n 2698 311 m 2695 317 l gs col0 s gr
% Polyline
n 2761 3498 m 2752 3483 l 2748 3476 l gs col0 s gr
% Polyline
n 2732 3449 m 2748 3476 l gs col0 s gr
% Polyline
n 2732 3449 m 2720 3427 l gs col0 s gr
% Polyline
n 2713 3414 m 2720 3427 l gs col0 s gr
% Polyline
n 2713 3414 m 2698 3388 l gs col0 s gr
% Polyline
n 2698 311 m 2710 290 l gs col0 s gr
% Polyline
n 2713 284 m 2710 290 l gs col0 s gr
% Polyline
n 2713 284 m 2725 264 l gs col0 s gr
% Polyline
n 2732 249 m 2725 264 l gs col0 s gr
% Polyline
n 2732 249 m 2739 238 l gs col0 s gr
% Polyline
n 2752 216 m 2739 238 l gs col0 s gr
% Polyline
n 2752 216 m 2755 212 l gs col0 s gr
% Polyline
n 2761 201 m 2755 212 l gs col0 s gr
% Polyline
n 2790 3553 m 2776 3527 l gs col0 s gr
% Polyline
n 2771 3518 m 2776 3527 l gs col0 s gr
% Polyline
n 2771 3518 m 2761 3498 l gs col0 s gr
% Polyline
n 2761 201 m 2769 186 l gs col0 s gr
% Polyline
n 2771 181 m 2769 186 l gs col0 s gr
% Polyline
n 2771 181 m 2783 159 l gs col0 s gr
% Polyline
n 2790 147 m 2783 159 l gs col0 s gr
% Polyline
1 slj
n 3157 2039 m 3155 2029 l gs col0 s gr
% Polyline
n 3150 2004 m 3155 2029 l gs col0 s gr
% Polyline
n 3150 2004 m 3148 1987 l gs col0 s gr
$F2psEnd
rs
%%EndDocument
@endspecial 3052 4372 a Fq(x)2327 3632 y(y)1831 4372
y(x)1110 3632 y(y)499 5293 y Fw(Abbildung)27 b(2.2:)k(Ell.)e(Kurv)m(en)
h(in)f(W)-8 b(eierstra\031-Normalform)31 b(f)2712 5297
y(\177)2709 5293 y(ur)e(c)m(har)q(\()p Fq(K)7 b Fw(\))25
b Fo(6)p Fw(=)g(2)p Fq(;)15 b Fw(3)531 5496 y(In)35 b(der)f
(Kryptographie)g(w)m(erden)h(im)f(allgemeinen)f(zw)m(ei)j(V)-8
b(arian)m(ten)35 b(v)m(on)h(K)3250 5500 y(\177)3250 5496
y(orp)s(ern)390 5609 y(b)s(en)m(utzt.)f(Zum)e(einen)g(wird)f(b)s(ei)h
(Hardw)m(are-Implemen)m(tierungen)g(gerne)h Fn(F)3082
5623 y Fp(2)3117 5604 y Fm(n)3204 5609 y Fw(v)m(erw)m(en-)p
eop
%%Page: 9 10
9 9 bop 270 82 a Fw(2.2.)62 b(Elliptisc)m(he)28 b(Kurv)m(en)h(als)h(ab)
s(elsc)m(he)g(Grupp)s(en)1256 b(9)270 415 y(det,)34 b(w)m(as)g(sic)m(h)
f(in)f(b)s(esseren)g(Laufzeitergebnissen)g(niedersc)m(hl)2490
419 y(\177)2490 415 y(agt.)h(Andererseits)g(k)-5 b(ann)270
528 y(man)31 b(eine)f(elliptisc)m(he)f(Kurv)m(e)h(auc)m(h)1574
532 y(\177)1571 528 y(ub)s(er)g Fn(F)1831 542 y Fl(p)1908
528 y Fw(b)s(etrac)m(h)m(ten,)i(w)m(ob)s(ei)e Fq(p)g
Fw(eine)h(in)e(der)i(Regel)270 641 y(sehr)24 b(gro\031e)h(Primzahl)d
(ist.)i(Da)h(wir)e(uns)g(in)g(dieser)g(Arb)s(eit)g(n)m(ur)g(mit)h(der)f
(zw)m(eiten)i(V)-8 b(arian-)270 754 y(te)28 b(b)s(esc)m(h)591
758 y(\177)591 754 y(aftigen,)f(k)961 758 y(\177)961
754 y(onnen)f(wir)f(immer)h(v)m(on)h(Gleic)m(h)m(ung)g(\(2.2\))h
(ausgehen.)f(W)-8 b(eiterhin)26 b(sei)270 867 y(mit)f
Fq(p)g Fw(immer)g(eine)g(Primzahl)f(gr)1431 871 y(\177)1431
867 y(o\031er)j(3)f(gemein)m(t,)g(auc)m(h)g(w)m(enn)f(dies)g(nic)m(h)m
(t)h(ausdr)3119 871 y(\177)3116 867 y(uc)m(klic)m(h)270
980 y(aus)k(dem)g(T)-8 b(ext)31 b(herv)m(orgeh)m(t.)411
1095 y(Wir)k(w)m(ollen)g(no)s(c)m(h)g(kurz)g(einige)g(wic)m(h)m(tige)h
(Kennzahlen)f(v)m(on)h(elliptisc)m(hen)d(Kurv)m(en)270
1208 y(de\014nieren.)21 b(Diese)i(sind)e(insb)s(esondere)g(f)1679
1212 y(\177)1676 1208 y(ur)h(Kapitel)g(2.3)i(wic)m(h)m(tig,)f(in)e(w)m
(elc)m(hem)j(es)f(um)f(die)270 1321 y(Charakterisierung)27
b(v)m(on)j(elliptisc)m(hen)c(Kurv)m(en)j(geh)m(t,)i(die)d(sic)m(h)h(f)
2554 1325 y(\177)2551 1321 y(ur)f(die)g(Kryptographie)270
1434 y(eignen.)270 1660 y Fs(De\014nition)35 b(2)46 b
Fu(Sei)29 b(eine)g(el)5 b(liptische)30 b(Kurve)e(der)i(F)-7
b(orm)31 b Fq(y)2334 1627 y Fp(2)2398 1660 y Fw(=)25
b Fq(x)2546 1627 y Fp(3)2599 1660 y Fw(+)13 b Fq(ax)g
Fw(+)g Fq(b)28 b Fu(vor)-5 b(ge)g(geb)g(en.)270 1773
y(Ihr)g(e)34 b(Diskriminante)f(ist)f(de\014niert)i(dur)-5
b(ch)1396 1984 y Fw(\001)25 b(=)g Fo(\000)p Fw(16\(4)p
Fq(a)1882 1946 y Fp(3)1943 1984 y Fw(+)20 b(27)p Fq(b)2163
1946 y Fp(2)2203 1984 y Fw(\))p Fq(:)940 b Fw(\(2.3\))270
2208 y Fs(Satz)35 b(3)g(\(Hasse\))45 b Fu(Es)29 b(sei)g
Fq(E)35 b Fu(eine)29 b(el)5 b(liptische)30 b(Kurve)2228
2212 y(\177)2228 2208 y(ub)-5 b(er)29 b(dem)h(K)2684
2212 y(\177)2685 2208 y(orp)-5 b(er)31 b Fn(F)2971 2222
y Fl(p)3016 2208 y Fu(.)e(Die)g(A)n(n-)270 2321 y(zahl)j(der)e
(Kurvenpunkte,)g(die)h(wir)g(mit)f Fo(j)p Fq(E)5 b Fw(\()p
Fn(F)1869 2335 y Fl(p)1914 2321 y Fw(\))p Fo(j)31 b Fu(b)-5
b(ezeichnen)31 b(wol)5 b(len,)31 b(l)2785 2325 y(\177)2786
2321 y(a\031t)g(sich)f(folgen-)270 2434 y(derma\031en)k(ausdr)908
2438 y(\177)908 2434 y(ucken:)1439 2553 y Fo(j)p Fq(E)5
b Fw(\()p Fn(F)1622 2567 y Fl(p)1667 2553 y Fw(\))p Fo(j)26
b Fw(=)f Fq(p)20 b Fw(+)g(1)h Fo(\000)f Fq(t:)982 b Fw(\(2.4\))270
2728 y Fu(mit)33 b Fo(j)p Fq(t)p Fo(j)26 b(\024)e Fw(2)684
2672 y Fo(p)p 761 2672 46 4 v 761 2728 a Fq(p)o Fu(.)411
2952 y Fw(Dab)s(ei)33 b(wird)e(die)i(Gr)1145 2956 y(\177)1145
2952 y(o\031e)h Fq(t)f Fu(Spur)44 b Fw(v)m(on)34 b Fq(E)39
b Fw(genann)m(t.)34 b(Mit)f(Hilfe)f(v)m(on)i(Diskriminan)m(te)270
3065 y(und)23 b(Spur)g(lassen)i(sic)m(h)f(Eigensc)m(haften)h(wie)f
Fu(Singularit)2204 3069 y(\177)2205 3065 y(at)35 b Fw(und)24
b Fu(Sup)-5 b(ersingularit)3085 3069 y(\177)3086 3065
y(at)36 b Fw(einer)270 3178 y(elliptisc)m(hen)28 b(Kurv)m(e)i
(de\014nieren.)e(Dazu)j(sp)1778 3182 y(\177)1778 3178
y(ater)g(jedo)s(c)m(h)f(mehr.)411 3293 y(Es)f(sollte)g(auc)m(h)g(no)s
(c)m(h)g(erw)1346 3297 y(\177)1346 3293 y(ahn)m(t)g(w)m(erden,)g
(da\031)h(die)e(Bestimm)m(ung)h(der)f(Punktanzahl)270
3406 y(v)m(on)36 b(elliptisc)m(hen)c(Kurv)m(en)i(k)m(eine)i(leic)m(h)m
(te)f(Aufgab)s(e)g(ist.)g(Es)g(sind)e(zw)m(ar)j(in)e(der)g(letzten)270
3519 y(Zeit)25 b(b)s(ei)f(den)h(p)s(olynomiellen)d(Algorithmen)i(v)m
(on)i(Sc)m(ho)s(of,)g(A)m(tkin)f(und)f(Elkies)g(b)s(etr)3194
3523 y(\177)3194 3519 y(ac)m(h)m(t-)270 3632 y(lic)m(he)39
b(F)-8 b(ortsc)m(hritte)42 b(erzielt)e(w)m(orden.)g(Man)g(darf)g(jedo)s
(c)m(h)g(nic)m(h)m(t)g(die)2735 3636 y(\177)2735 3632
y(au\031erst)h(umfang-)270 3745 y(reic)m(he)h(Theorie)e(v)m(ergessen,)j
(die)e(hin)m(ter)g(diesen)f(Algorithmen)g(steh)m(t.)j(Da)g(hier)d(nic)m
(h)m(t)270 3858 y(ausf)433 3862 y(\177)430 3858 y(uhrlic)m(her)e
(darauf)j(eingegangen)h(w)m(erden)f(k)-5 b(ann,)40 b(wird)g(auf)h([Sc)m
(h95)q(])g(und)f([M)3226 3862 y(\177)3223 3858 y(u95)q(])270
3971 y(v)m(erwiesen.)270 4270 y Fz(2.2)135 b(Elliptisc)l(he)47
b(Kurv)l(en)e(als)h(ab)t(elsc)l(he)f(Grupp)t(en)270 4478
y Fw(Wir)32 b(w)m(erden)h(gleic)m(h)g(sehen,)g(wie)g(man)g(eine)f
(algebraisc)m(he)i(Struktur)d(auf)i(einer)f(ellipti-)270
4590 y(sc)m(hen)h(Kurv)m(e)g(de\014nieren)e(k)-5 b(ann.)33
b(Damit)g(ist)f(es)h(m)2057 4594 y(\177)2057 4590 y(oglic)m(h,)g
(Kryptosysteme)g(zu)g(en)m(t)m(w)m(er-)270 4703 y(fen,)h(die)g(auf)g
(elliptisc)m(hen)e(Kurv)m(en)i(b)s(eruhen.)f(Wir)g(w)m(erden)h(dab)s
(ei)g(zuerst)g(sagen,)i(w)m(as)270 4816 y(die)e(Komp)s(osition)e(v)m
(on)j(Punkten)f(b)s(edeutet.)h(Ansc)m(hlie\031end)e(folgt)i(die)e
(De\014nition)g(der)270 4929 y(Addition)28 b(als)i(Grupp)s(enop)s
(eration.)411 5044 y(Sei)25 b(eine)g(b)s(eliebige)f(elliptisc)m(he)f
(Kurv)m(e)i Fq(E)31 b Fw(gegeb)s(en.)c(Ein)d(frei)g(w)2640
5048 y(\177)2640 5044 y(ahlbarer)g(Punkt)h(auf)270 5157
y(der)37 b(Kurv)m(e)g(soll)g(mit)g Fo(O)j Fw(b)s(ezeic)m(hnet)e(w)m
(erden.)f(Sind)e(n)m(un)i(zw)m(ei)h(v)m(ersc)m(hiedene)f(Punkte)270
5270 y Fq(P)45 b Fw(und)31 b Fq(Q)i Fw(v)m(orgegeb)s(en,)h(so)e
(de\014nieren)f(wir)g(die)h(Komp)s(osition)e Fq(P)35
b Fo(\003)22 b Fq(Q)32 b Fw(als)g(den)g(dritten)270 5383
y(Sc)m(hnittpunkt)c(der)g(V)-8 b(erbindungsgeraden)28
b(durc)m(h)g Fq(P)42 b Fw(und)28 b Fq(Q)h Fw(mit)g(der)g(Kurv)m(e.)g
(Im)g(F)-8 b(alle)270 5496 y(v)m(on)26 b(gleic)m(hen)e(Punkten)h(geh)m
(t)h(die)e(V)-8 b(erbindungsgerade)24 b(in)g(die)g(T)-8
b(angen)m(te)27 b(an)e(die)f(Kurv)m(e)273 5613 y(\177)270
5609 y(ub)s(er.)p eop
%%Page: 10 11
10 10 bop 390 82 a Fw(10)1411 b(KAPITEL)30 b(2.)61 b(ELLIPTISCHE)28
b(KUR)-10 b(VEN)784 1741 y @beginspecial 0 @llx 0 @lly
695 @urx 428 @ury 1700 @rhi @clip @setspecial
%%BeginDocument: Pics/composition.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: piccomp.eps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Fri Oct 8 14:52:42 1999
%%For: crnjak@fb0409 (Markus Crnjak)
%%Orientation: Portrait
%%BoundingBox: 0 0 695 428
%%Pages: 0
%%BeginSetup
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.298 0.298 0.298 srgb} bind def
end
save
-43.0 455.0 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/DrawEllipse {
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def
/savematrix mtrx currentmatrix def
x y tr xrad yrad sc 0 0 1 startangle endangle arc
closepath
savematrix setmatrix
} def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog
$F2psBegin
10 setmiterlimit
n -1000 8577 m -1000 -1000 l 13295 -1000 l 13295 8577 l cp clip
0.06000 0.06000 sc
% Polyline
1 slc
30.000 slw
n 6930 4408 m 6943 4476 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6930 4408 m 6925 4387 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6916 4334 m 6925 4387 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6916 4334 m 6913 4301 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6908 4263 m 6913 4301 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6908 4263 m 6902 4219 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6899 4193 m 6902 4219 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6899 4193 m 6896 4142 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6894 4123 m 6896 4142 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6894 4123 m 6892 4067 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6892 4051 m 6892 4067 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6892 4051 m 6892 3995 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6892 3979 m 6892 3995 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6892 3979 m 6893 3925 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6894 3907 m 6893 3925 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6894 3907 m 6898 3857 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6899 3836 m 6898 3857 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6899 3836 m 6904 3793 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6908 3765 m 6904 3793 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6908 3765 m 6912 3729 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6916 3695 m 6912 3729 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6916 3695 m 6921 3669 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6930 3623 m 6921 3669 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6930 3623 m 6933 3608 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6945 3551 m 6933 3608 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6945 3551 m 6945 3550 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6946 3546 m 6945 3550 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7017 4704 m 7013 4689 l 7011 4683 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6987 4619 m 7011 4683 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6987 4619 m 6974 4575 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6965 4550 m 6974 4575 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6965 4550 m 6946 4481 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6946 3546 m 6960 3495 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6965 3480 m 6960 3495 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6965 3480 m 6977 3440 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6987 3408 m 6977 3440 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 6987 3408 m 6995 3386 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7013 3337 m 6995 3386 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7013 3337 m 7014 3334 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7017 3325 m 7014 3334 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7087 4854 m 7078 4834 l 7067 4814 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7043 4763 m 7067 4814 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7043 4763 m 7017 4704 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7017 3325 m 7036 3285 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7043 3268 m 7036 3285 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7043 3268 m 7058 3236 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7078 3196 m 7058 3236 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7078 3196 m 7081 3188 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7087 3176 m 7081 3188 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7160 4969 m 7119 4904 l 7087 4854 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7087 3176 m 7107 3143 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7119 3124 m 7107 3143 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7119 3124 m 7134 3099 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7160 3059 m 7134 3099 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7231 5062 m 7218 5047 l 7180 4995 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7163 4976 m 7180 4995 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7163 4976 m 7160 4969 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7160 3059 m 7162 3056 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7163 3054 m 7162 3056 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7163 3054 m 7192 3015 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7218 2980 m 7192 3015 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7218 2980 m 7224 2974 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7231 2966 m 7224 2974 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7301 5138 m 7283 5119 l 7231 5062 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7283 2909 m 7257 2937 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7283 2909 m 7292 2902 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7301 2892 m 7292 2902 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7373 5197 m 7362 5190 l 7301 5138 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7301 2892 m 7330 2867 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7362 2838 m 7330 2867 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7362 2838 m 7367 2834 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7373 2830 m 7367 2834 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7373 5197 m 7398 5215 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7443 5247 m 7398 5215 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7373 2830 m 7409 2804 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7443 2781 m 7409 2804 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7513 5288 m 7466 5261 l 7443 5247 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7443 2781 m 7451 2775 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7466 2768 m 7451 2775 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7466 2768 m 7497 2750 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7513 2740 m 7497 2750 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7513 5288 m 7563 5311 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7585 5320 m 7563 5311 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7513 2740 m 7544 2726 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7585 2708 m 7544 2726 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7655 5346 m 7617 5333 l 7585 5320 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7585 2708 m 7593 2706 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7617 2697 m 7593 2706 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7617 2697 m 7647 2688 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7655 2683 m 7647 2688 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7655 5346 m 7673 5351 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7727 5364 m 7673 5351 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7655 2683 m 7701 2671 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7727 2665 m 7701 2671 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7727 5364 m 7764 5371 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7797 5377 m 7764 5371 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7727 2665 m 7760 2658 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7797 2653 m 7760 2658 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7797 5377 m 7846 5380 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7869 5384 m 7846 5380 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7797 2653 m 7822 2649 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7869 2645 m 7822 2649 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7869 5384 m 7922 5386 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7940 5386 m 7922 5386 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7869 2645 m 7888 2645 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7940 2644 m 7888 2645 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7940 5386 m 7990 5384 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8010 5382 m 7990 5384 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7940 2644 m 7958 2644 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8010 2645 m 7958 2644 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8010 5382 m 8057 5378 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8081 5377 m 8057 5378 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8010 2645 m 8033 2647 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8081 2653 m 8033 2647 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8081 5377 m 8119 5372 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8153 5366 m 8119 5372 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8081 2653 m 8113 2656 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8153 2663 m 8113 2656 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8153 5366 m 8180 5361 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8223 5352 m 8180 5361 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8153 2663 m 8200 2672 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8223 2678 m 8200 2672 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8223 5352 m 8239 5349 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8295 5333 m 8239 5349 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8223 2678 m 8292 2695 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8295 2695 m 8292 2695 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8295 5333 m 8296 5333 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8299 5333 m 8296 5333 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8299 5333 m 8350 5316 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8366 5313 m 8350 5316 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8366 2717 m 8299 2697 l 8295 2695 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8366 5313 m 8403 5298 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8436 5288 m 8403 5298 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8366 2717 m 8396 2727 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8436 2740 m 8396 2727 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8436 5288 m 8455 5279 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8506 5261 m 8455 5279 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8506 5261 m 8507 5261 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8508 5260 m 8507 5261 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8508 2768 m 8506 2768 l 8436 2740 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8508 5260 m 8556 5240 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8579 5231 m 8556 5240 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8508 2768 m 8509 2768 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8579 2800 m 8509 2768 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8579 5231 m 8605 5217 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8649 5197 m 8605 5217 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8579 2800 m 8637 2825 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8649 2830 m 8637 2825 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8649 5197 m 8654 5196 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8665 5190 m 8654 5196 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8665 5190 m 8702 5172 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8721 5162 m 8702 5172 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8721 2867 m 8665 2838 l 8649 2830 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8721 5162 m 8749 5148 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8791 5126 m 8749 5148 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8721 2867 m 8779 2896 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8791 2903 m 8779 2896 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8791 5126 m 8795 5122 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8803 5119 m 8795 5122 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8803 5119 m 8841 5098 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8861 5085 m 8841 5098 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8861 2942 m 8803 2909 l 8791 2903 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8861 5085 m 8887 5074 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8930 5047 m 8887 5074 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8930 5047 m 8932 5047 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8933 5045 m 8932 5047 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8933 2983 m 8930 2980 l 8861 2942 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8933 5045 m 8977 5019 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9004 5003 m 8977 5019 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 8933 2983 m 8939 2986 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9004 3027 m 8939 2986 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9004 5003 m 9020 4992 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9048 4976 m 9020 4992 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9048 4976 m 9064 4966 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9075 4958 m 9064 4966 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9075 3069 m 9048 3054 l 9004 3027 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9075 4958 m 9108 4939 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9146 4914 m 9108 4939 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9075 3069 m 9121 3099 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9146 3114 m 9121 3099 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9146 4914 m 9151 4911 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9162 4904 m 9151 4911 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9162 4904 m 9195 4882 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9217 4868 m 9195 4882 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9217 3161 m 9162 3124 l 9146 3114 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9217 4868 m 9239 4855 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9275 4834 m 9239 4855 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9275 4834 m 9282 4828 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9288 4825 m 9282 4828 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9288 3204 m 9275 3196 l 9217 3161 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9288 4825 m 9327 4801 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9359 4781 m 9327 4801 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9288 3204 m 9310 3215 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9359 3248 m 9310 3215 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9359 4781 m 9372 4774 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9393 4763 m 9372 4774 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9393 4763 m 9415 4747 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9429 4738 m 9415 4747 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9429 3290 m 9393 3268 l 9359 3248 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9429 4738 m 9460 4722 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9501 4701 m 9460 4722 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9429 3290 m 9482 3318 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9501 3330 m 9482 3318 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9501 4701 m 9507 4697 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9519 4689 m 9507 4697 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9519 4689 m 9553 4672 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9572 4663 m 9553 4672 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9572 3364 m 9519 3337 l 9501 3330 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9572 4663 m 9602 4650 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9643 4634 m 9602 4650 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9572 3364 m 9619 3386 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9643 3397 m 9619 3386 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9643 4634 m 9652 4629 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9685 4619 m 9652 4629 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9685 4619 m 9706 4612 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9714 4608 m 9706 4612 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9714 3420 m 9685 3408 l 9643 3397 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9714 4608 m 9762 4598 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9784 4594 m 9762 4598 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9714 3420 m 9728 3423 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9784 3436 m 9728 3423 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9784 4594 m 9825 4590 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9856 4586 m 9825 4590 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9784 3436 m 9814 3438 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9856 3442 m 9814 3438 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9856 4586 m 9898 4590 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9927 4592 m 9898 4590 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9856 3442 m 9886 3440 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9927 3436 m 9886 3440 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9927 4592 m 9984 4606 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9998 4609 m 9984 4606 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9927 3436 m 9949 3430 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9998 3420 m 9949 3430 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10068 4638 m 10022 4619 l 9998 4609 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9998 3420 m 10006 3416 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10022 3408 m 10006 3416 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10022 3408 m 10056 3397 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10068 3392 m 10056 3397 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10068 4638 m 10106 4658 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10139 4676 m 10106 4658 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10068 3392 m 10103 3372 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10139 3354 m 10103 3372 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10211 4724 m 10160 4689 l 10139 4676 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10139 3354 m 10148 3346 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10160 3337 m 10148 3346 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10160 3337 m 10191 3318 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10211 3307 m 10191 3318 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10281 4781 m 10258 4763 l 10211 4724 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10211 3307 m 10232 3289 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10258 3268 m 10232 3289 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10258 3268 m 10270 3256 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10281 3250 m 10270 3256 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10352 4845 m 10340 4834 l 10281 4781 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10281 3250 m 10309 3225 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10340 3196 m 10309 3225 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10340 3196 m 10347 3188 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10352 3186 m 10347 3188 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10423 4914 m 10412 4904 l 10352 4845 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10352 3186 m 10383 3153 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10412 3124 m 10383 3153 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10412 3124 m 10418 3120 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10423 3116 m 10418 3120 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10494 4988 m 10480 4976 l 10423 4914 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10423 3116 m 10453 3082 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10480 3054 m 10453 3082 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10480 3054 m 10489 3046 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10494 3039 m 10489 3046 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10565 5069 m 10544 5047 l 10494 4988 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10494 3039 m 10520 3009 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10544 2980 m 10520 3009 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10544 2980 m 10555 2970 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10565 2958 m 10555 2970 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10636 5153 m 10606 5119 l 10565 5069 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10565 2958 m 10587 2933 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10606 2909 m 10587 2933 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10606 2909 m 10619 2894 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10636 2876 m 10619 2894 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10707 5241 m 10665 5190 l 10636 5153 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10636 2876 m 10653 2854 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10665 2838 m 10653 2854 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10665 2838 m 10685 2816 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10707 2788 m 10685 2816 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10779 5332 m 10722 5261 l 10707 5241 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10707 2788 m 10716 2775 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10722 2768 m 10716 2775 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10722 2768 m 10747 2737 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10779 2697 m 10747 2737 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10849 5425 m 10831 5405 l 10779 5333 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10778 5333 m 10780 5333 l gs col0 s gr
% Polyline
n 10779 5333 m 10779 5332 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10779 2697 m 10809 2656 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10831 2625 m 10809 2656 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10831 2625 m 10839 2616 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10849 2603 m 10839 2616 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10920 5523 m 10885 5475 l 10849 5425 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10849 2603 m 10870 2574 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10885 2553 m 10870 2574 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10885 2553 m 10899 2534 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10920 2508 m 10899 2534 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10992 5620 m 10988 5616 l 10981 5607 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10937 5546 m 10981 5607 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10937 5546 m 10920 5523 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10920 2508 m 10930 2493 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10937 2481 m 10930 2493 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10937 2481 m 10959 2452 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10988 2411 m 10959 2452 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10987 2411 m 10989 2411 l gs col0 s gr
% Polyline
n 10992 2407 m 10988 2411 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11062 5721 m 11037 5689 l 10992 5620 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 10992 2407 m 11019 2369 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11037 2342 m 11019 2369 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11037 2342 m 11047 2326 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11062 2306 m 11047 2326 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11132 5826 m 11086 5761 l 11062 5721 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11062 2306 m 11077 2285 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11086 2268 m 11077 2285 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11086 2268 m 11106 2242 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11132 2203 m 11106 2242 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11205 5930 m 11184 5901 l 11143 5841 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11137 5832 m 11143 5841 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11137 5832 m 11132 5826 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11132 2203 m 11135 2200 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11137 2198 m 11135 2200 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11137 2198 m 11163 2158 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11184 2127 m 11191 2115 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11205 2097 m 11191 2115 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11275 6038 m 11230 5973 l 11205 5930 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11205 2097 m 11220 2071 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11230 2055 m 11220 2071 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11230 2055 m 11249 2029 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11275 1988 m 11249 2029 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11345 6150 m 11324 6117 l 11283 6055 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11278 6045 m 11283 6055 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11278 6045 m 11275 6038 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11275 1988 m 11276 1986 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11278 1984 m 11276 1986 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11278 1984 m 11304 1942 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11324 1912 m 11304 1942 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11324 1912 m 11333 1899 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11345 1880 m 11333 1899 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11417 6261 m 11416 6259 l 11412 6255 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11370 6188 m 11412 6255 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11370 6188 m 11345 6150 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11345 1880 m 11360 1856 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11370 1841 m 11360 1856 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11370 1841 m 11388 1813 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11416 1771 m 11388 1813 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11416 1771 m 11417 1769 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11487 6373 m 11460 6329 l 11417 6261 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11417 1769 m 11443 1727 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11460 1699 m 11443 1727 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11460 1699 m 11470 1681 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11487 1655 m 11470 1681 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11559 6489 m 11548 6472 l 11530 6445 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11504 6401 m 11530 6445 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11504 6401 m 11487 6373 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11487 1655 m 11498 1638 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11504 1628 m 11498 1638 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11504 1628 m 11525 1594 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11548 1555 m 11525 1594 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11548 1555 m 11552 1550 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11559 1539 m 11552 1550 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11630 6606 m 11591 6544 l 11559 6489 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11559 1539 m 11580 1507 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11591 1486 m 11580 1507 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11591 1486 m 11606 1463 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11630 1424 m 11606 1463 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11700 6724 m 11678 6686 l 11643 6627 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11634 6616 m 11643 6627 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11634 6616 m 11630 6606 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11630 1424 m 11632 1418 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11634 1415 m 11632 1418 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11634 1415 m 11659 1372 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11678 1343 m 11659 1372 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11678 1343 m 11686 1328 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11700 1304 m 11686 1328 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11771 6845 m 11762 6828 l 11749 6806 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11720 6755 m 11749 6806 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11720 6755 m 11700 6724 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11700 1304 m 11713 1285 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11720 1272 m 11713 1285 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11720 1272 m 11740 1238 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11762 1200 m 11740 1238 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11762 1200 m 11765 1194 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11771 1186 m 11765 1194 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11842 6965 m 11803 6899 l 11771 6845 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11771 1186 m 11793 1150 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11803 1128 m 11793 1150 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11803 1128 m 11818 1106 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11842 1064 m 11818 1106 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11913 7089 m 11886 7042 l 11849 6978 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11845 6971 m 11849 6978 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11845 6971 m 11842 6965 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11842 1064 m 11844 1061 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11845 1059 m 11844 1061 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11845 1059 m 11869 1015 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11886 987 m 11869 1015 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11886 987 m 11896 967 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11913 940 m 11896 967 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11985 7214 m 11968 7185 l 11947 7146 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11928 7113 m 11947 7146 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11928 7113 m 11913 7089 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11913 940 m 11923 924 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11928 915 m 11923 924 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11928 915 m 11948 878 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11968 844 m 11948 878 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11968 844 m 11973 832 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11985 816 m 11973 832 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12055 7340 m 12049 7328 l 12040 7311 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12008 7256 m 12040 7311 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12008 7256 m 11985 7214 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11985 816 m 12000 788 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12008 772 m 12000 788 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12008 772 m 12026 743 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12049 700 m 12026 743 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12049 700 m 12051 698 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12055 690 m 12051 698 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12127 7466 m 12089 7398 l 12055 7340 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12055 690 m 12076 651 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12089 632 m 12076 651 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12089 632 m 12101 605 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12127 562 m 12101 605 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12166 7543 m 12131 7475 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12128 7469 m 12131 7475 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12128 7469 m 12127 7466 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12127 562 m 12128 559 l 12152 514 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 12166 488 m 12152 514 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 11184 2127 m 11163 2158 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 7231 2966 m 7257 2937 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 1059 4482 m 1058 4479 l 1058 4475 l gs col0 s gr
% Polyline
n 1043 4406 m 1058 4475 l gs col0 s gr
% Polyline
n 1043 4406 m 1037 4387 l gs col0 s gr
% Polyline
n 1032 4334 m 1037 4387 l gs col0 s gr
% Polyline
n 1032 4334 m 1027 4299 l gs col0 s gr
% Polyline
n 1021 4262 m 1027 4299 l gs col0 s gr
% Polyline
n 1021 4262 m 1017 4219 l gs col0 s gr
% Polyline
n 1015 4192 m 1017 4219 l gs col0 s gr
% Polyline
n 1015 4192 m 1011 4141 l gs col0 s gr
% Polyline
n 1008 4121 m 1011 4141 l gs col0 s gr
% Polyline
n 1008 4121 m 1007 4066 l gs col0 s gr
% Polyline
n 1007 4050 m 1007 4066 l gs col0 s gr
% Polyline
n 1007 4050 m 1007 3994 l gs col0 s gr
% Polyline
n 1007 3979 m 1007 3994 l gs col0 s gr
% Polyline
n 1007 3979 m 1007 3925 l gs col0 s gr
% Polyline
n 1008 3907 m 1007 3925 l gs col0 s gr
% Polyline
n 1008 3907 m 1012 3857 l gs col0 s gr
% Polyline
n 1015 3836 m 1012 3857 l gs col0 s gr
% Polyline
n 1015 3836 m 1019 3793 l gs col0 s gr
% Polyline
n 1021 3765 m 1019 3793 l gs col0 s gr
% Polyline
n 1021 3765 m 1024 3729 l gs col0 s gr
% Polyline
n 1032 3694 m 1024 3729 l gs col0 s gr
% Polyline
n 1032 3694 m 1036 3668 l gs col0 s gr
% Polyline
n 1043 3623 m 1036 3668 l gs col0 s gr
% Polyline
n 1043 3623 m 1046 3607 l gs col0 s gr
% Polyline
n 1058 3551 m 1046 3607 l gs col0 s gr
% Polyline
n 1058 3551 m 1058 3550 l gs col0 s gr
% Polyline
n 1059 3546 m 1058 3550 l gs col0 s gr
% Polyline
n 1126 4704 m 1122 4691 l 1120 4684 l gs col0 s gr
% Polyline
n 1098 4618 m 1120 4684 l gs col0 s gr
% Polyline
n 1098 4618 m 1084 4575 l gs col0 s gr
% Polyline
n 1078 4550 m 1084 4575 l gs col0 s gr
% Polyline
n 1078 4550 m 1059 4482 l gs col0 s gr
% Polyline
n 1059 3546 m 1072 3495 l gs col0 s gr
% Polyline
n 1078 3479 m 1072 3495 l gs col0 s gr
% Polyline
n 1078 3479 m 1087 3441 l gs col0 s gr
% Polyline
n 1098 3409 m 1087 3441 l gs col0 s gr
% Polyline
n 1098 3409 m 1106 3387 l gs col0 s gr
% Polyline
n 1122 3336 m 1106 3387 l gs col0 s gr
% Polyline
n 1122 3336 m 1123 3333 l gs col0 s gr
% Polyline
n 1126 3324 m 1123 3333 l gs col0 s gr
% Polyline
n 1194 4854 m 1185 4834 l 1174 4815 l gs col0 s gr
% Polyline
n 1151 4764 m 1174 4815 l gs col0 s gr
% Polyline
n 1151 4764 m 1126 4704 l gs col0 s gr
% Polyline
n 1126 3324 m 1144 3283 l gs col0 s gr
% Polyline
n 1151 3267 m 1144 3283 l gs col0 s gr
% Polyline
n 1151 3267 m 1164 3234 l gs col0 s gr
% Polyline
n 1185 3196 m 1164 3234 l gs col0 s gr
% Polyline
n 1185 3196 m 1186 3187 l gs col0 s gr
% Polyline
n 1194 3175 m 1186 3187 l gs col0 s gr
% Polyline
n 1260 4969 m 1223 4904 l 1194 4854 l gs col0 s gr
% Polyline
n 1194 3175 m 1211 3142 l gs col0 s gr
% Polyline
n 1223 3124 m 1211 3142 l gs col0 s gr
% Polyline
n 1223 3124 m 1236 3099 l gs col0 s gr
% Polyline
n 1260 3059 m 1236 3099 l gs col0 s gr
% Polyline
n 1331 5061 m 1318 5047 l 1280 4996 l gs col0 s gr
% Polyline
n 1264 4977 m 1280 4996 l gs col0 s gr
% Polyline
n 1264 4977 m 1260 4969 l gs col0 s gr
% Polyline
n 1260 3059 m 1262 3056 l gs col0 s gr
% Polyline
n 1264 3054 m 1262 3056 l gs col0 s gr
% Polyline
n 1264 3054 m 1293 3012 l gs col0 s gr
% Polyline
n 1318 2980 m 1293 3012 l gs col0 s gr
% Polyline
n 1318 2980 m 1323 2974 l gs col0 s gr
% Polyline
n 1331 2966 m 1323 2974 l gs col0 s gr
% Polyline
n 1398 5138 m 1381 5120 l 1331 5061 l gs col0 s gr
% Polyline
n 1381 2908 m 1356 2937 l gs col0 s gr
% Polyline
n 1381 2908 m 1387 2901 l gs col0 s gr
% Polyline
n 1398 2890 m 1387 2901 l gs col0 s gr
% Polyline
n 1464 5196 m 1457 5189 l 1398 5138 l gs col0 s gr
% Polyline
n 1398 2890 m 1424 2867 l gs col0 s gr
% Polyline
n 1457 2838 m 1424 2867 l gs col0 s gr
% Polyline
n 1457 2838 m 1461 2834 l gs col0 s gr
% Polyline
n 1464 2830 m 1461 2834 l gs col0 s gr
% Polyline
n 1464 5196 m 1489 5213 l gs col0 s gr
% Polyline
n 1532 5246 m 1489 5213 l gs col0 s gr
% Polyline
n 1464 2830 m 1501 2804 l gs col0 s gr
% Polyline
n 1532 2781 m 1501 2804 l gs col0 s gr
% Polyline
n 1598 5288 m 1553 5261 l 1532 5246 l gs col0 s gr
% Polyline
n 1532 2781 m 1540 2775 l gs col0 s gr
% Polyline
n 1553 2767 m 1540 2775 l gs col0 s gr
% Polyline
n 1553 2767 m 1584 2749 l gs col0 s gr
% Polyline
n 1598 2741 m 1584 2749 l gs col0 s gr
% Polyline
n 1598 5288 m 1647 5311 l gs col0 s gr
% Polyline
n 1665 5320 m 1647 5311 l gs col0 s gr
% Polyline
n 1598 2741 m 1628 2726 l gs col0 s gr
% Polyline
n 1665 2708 m 1628 2726 l gs col0 s gr
% Polyline
n 1736 5346 m 1699 5334 l 1665 5320 l gs col0 s gr
% Polyline
n 1665 2708 m 1675 2706 l gs col0 s gr
% Polyline
n 1699 2693 m 1675 2706 l gs col0 s gr
% Polyline
n 1699 2693 m 1725 2686 l gs col0 s gr
% Polyline
n 1736 2681 m 1725 2686 l gs col0 s gr
% Polyline
n 1736 5346 m 1752 5351 l gs col0 s gr
% Polyline
n 1802 5364 m 1752 5351 l gs col0 s gr
% Polyline
n 1736 2681 m 1778 2670 l gs col0 s gr
% Polyline
n 1802 2663 m 1778 2670 l gs col0 s gr
% Polyline
n 1802 5364 m 1838 5371 l gs col0 s gr
% Polyline
n 1868 5377 m 1838 5371 l gs col0 s gr
% Polyline
n 1802 2663 m 1836 2657 l gs col0 s gr
% Polyline
n 1868 2651 m 1836 2657 l gs col0 s gr
% Polyline
n 1868 5377 m 1916 5380 l gs col0 s gr
% Polyline
n 1939 5384 m 1916 5380 l gs col0 s gr
% Polyline
n 1868 2651 m 1891 2648 l gs col0 s gr
% Polyline
n 1939 2644 m 1891 2648 l gs col0 s gr
% Polyline
n 1939 5384 m 1988 5386 l gs col0 s gr
% Polyline
n 2005 5386 m 1988 5386 l gs col0 s gr
% Polyline
n 1939 2644 m 1955 2644 l gs col0 s gr
% Polyline
n 2005 2643 m 1955 2644 l gs col0 s gr
% Polyline
n 2005 5386 m 2053 5384 l gs col0 s gr
% Polyline
n 2072 5382 m 2053 5384 l gs col0 s gr
% Polyline
n 2005 2643 m 2022 2643 l gs col0 s gr
% Polyline
n 2072 2644 m 2022 2643 l gs col0 s gr
% Polyline
n 2072 5382 m 2117 5378 l gs col0 s gr
% Polyline
n 2140 5377 m 2117 5378 l gs col0 s gr
% Polyline
n 2072 2644 m 2094 2646 l gs col0 s gr
% Polyline
n 2140 2651 m 2094 2646 l gs col0 s gr
% Polyline
n 2140 5377 m 2176 5372 l gs col0 s gr
% Polyline
n 2207 5366 m 2176 5372 l gs col0 s gr
% Polyline
n 2140 2651 m 2170 2655 l gs col0 s gr
% Polyline
n 2207 2662 m 2170 2655 l gs col0 s gr
% Polyline
n 2207 5366 m 2234 5361 l gs col0 s gr
% Polyline
n 2277 5352 m 2234 5361 l gs col0 s gr
% Polyline
n 2207 2662 m 2253 2671 l gs col0 s gr
% Polyline
n 2277 2677 m 2253 2671 l gs col0 s gr
% Polyline
n 2277 5352 m 2291 5349 l gs col0 s gr
% Polyline
n 2344 5334 m 2291 5349 l gs col0 s gr
% Polyline
n 2277 2677 m 2343 2692 l gs col0 s gr
% Polyline
n 2344 2692 m 2343 2692 l gs col0 s gr
% Polyline
n 2344 5334 m 2345 5334 l gs col0 s gr
% Polyline
n 2346 5334 m 2345 5334 l gs col0 s gr
% Polyline
n 2346 5334 m 2396 5316 l gs col0 s gr
% Polyline
n 2411 5313 m 2396 5316 l gs col0 s gr
% Polyline
n 2411 2716 m 2346 2693 l 2344 2692 l gs col0 s gr
% Polyline
n 2411 5313 m 2445 5297 l gs col0 s gr
% Polyline
n 2478 5288 m 2445 5297 l gs col0 s gr
% Polyline
n 2411 2716 m 2440 2727 l gs col0 s gr
% Polyline
n 2478 2741 m 2440 2727 l gs col0 s gr
% Polyline
n 2478 5288 m 2495 5279 l gs col0 s gr
% Polyline
n 2545 5261 m 2495 5279 l gs col0 s gr
% Polyline
n 2544 5261 m 2546 5261 l gs col0 s gr
% Polyline
n 2545 5260 m 2545 5261 l gs col0 s gr
% Polyline
n 2545 2767 m 2478 2741 l gs col0 s gr
% Polyline
n 2545 5260 m 2593 5240 l gs col0 s gr
% Polyline
n 2613 5229 m 2593 5240 l gs col0 s gr
% Polyline
n 2544 2767 m 2546 2767 l gs col0 s gr
% Polyline
n 2613 2800 m 2545 2767 l gs col0 s gr
% Polyline
n 2613 5229 m 2639 5216 l gs col0 s gr
% Polyline
n 2682 5196 m 2639 5216 l gs col0 s gr
% Polyline
n 2613 2800 m 2670 2825 l gs col0 s gr
% Polyline
n 6946 4481 m 6945 4478 l 6943 4476 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 2682 2830 m 2670 2825 l gs col0 s gr
% Polyline
0 slc
7.500 slw
n 6614 3104 m 12283 809 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
1 slc
30.000 slw
n 2682 5196 m 2685 5195 l gs col0 s gr
% Polyline
n 2697 5189 m 2685 5195 l gs col0 s gr
% Polyline
n 2697 5189 m 2731 5171 l gs col0 s gr
% Polyline
n 2748 5162 m 2731 5171 l gs col0 s gr
% Polyline
n 2748 2867 m 2697 2838 l 2682 2830 l gs col0 s gr
% Polyline
n 2748 5162 m 2774 5148 l gs col0 s gr
% Polyline
n 2815 5126 m 2774 5148 l gs col0 s gr
% Polyline
n 2748 2867 m 2802 2896 l gs col0 s gr
% Polyline
n 2815 2902 m 2802 2896 l gs col0 s gr
% Polyline
n 2815 5126 m 2822 5122 l gs col0 s gr
% Polyline
n 2826 5120 m 2822 5122 l gs col0 s gr
% Polyline
n 2826 5120 m 2864 5098 l gs col0 s gr
% Polyline
n 2883 5085 m 2864 5098 l gs col0 s gr
% Polyline
n 2883 2942 m 2826 2908 l 2815 2902 l gs col0 s gr
% Polyline
n 2883 5085 m 2907 5071 l gs col0 s gr
% Polyline
n 2949 5047 m 2907 5071 l gs col0 s gr
% Polyline
n 2949 5047 m 2950 5047 l gs col0 s gr
% Polyline
n 2950 5045 m 2950 5047 l gs col0 s gr
% Polyline
n 2950 2982 m 2949 2980 l 2883 2942 l gs col0 s gr
% Polyline
n 2950 5045 m 2993 5020 l gs col0 s gr
% Polyline
n 3017 5004 m 2993 5020 l gs col0 s gr
% Polyline
n 2950 2982 m 2958 2985 l gs col0 s gr
% Polyline
n 3017 3026 m 2958 2985 l gs col0 s gr
% Polyline
n 3017 5004 m 3035 4994 l gs col0 s gr
% Polyline
n 3062 4977 m 3035 4994 l gs col0 s gr
% Polyline
n 3062 4977 m 3076 4966 l gs col0 s gr
% Polyline
n 3086 4959 m 3076 4966 l gs col0 s gr
% Polyline
n 3086 3068 m 3062 3054 l 3017 3026 l gs col0 s gr
% Polyline
n 3086 4959 m 3117 4939 l gs col0 s gr
% Polyline
n 3153 4913 m 3117 4939 l gs col0 s gr
% Polyline
n 3086 3068 m 3129 3099 l gs col0 s gr
% Polyline
n 3153 3113 m 3129 3099 l gs col0 s gr
% Polyline
n 3153 4913 m 3160 4911 l gs col0 s gr
% Polyline
n 3169 4904 m 3160 4911 l gs col0 s gr
% Polyline
n 3169 4904 m 3202 4881 l gs col0 s gr
% Polyline
n 3224 4868 m 3202 4881 l gs col0 s gr
% Polyline
n 3224 3160 m 3169 3124 l 3153 3113 l gs col0 s gr
% Polyline
n 3224 4868 m 3243 4855 l gs col0 s gr
% Polyline
n 3278 4834 m 3243 4855 l gs col0 s gr
% Polyline
n 3278 4834 m 3282 4827 l gs col0 s gr
% Polyline
n 3290 4824 m 3282 4827 l gs col0 s gr
% Polyline
n 3290 3203 m 3278 3196 l 3224 3160 l gs col0 s gr
% Polyline
n 3290 4824 m 3327 4803 l gs col0 s gr
% Polyline
n 3355 4782 m 3327 4803 l gs col0 s gr
% Polyline
n 3290 3203 m 3310 3215 l gs col0 s gr
% Polyline
n 3355 3247 m 3310 3215 l gs col0 s gr
% Polyline
n 3355 4782 m 3369 4774 l gs col0 s gr
% Polyline
n 3388 4764 m 3369 4774 l gs col0 s gr
% Polyline
n 3388 4764 m 3412 4747 l gs col0 s gr
% Polyline
n 3425 4738 m 3412 4747 l gs col0 s gr
% Polyline
n 3425 3289 m 3388 3267 l 3355 3247 l gs col0 s gr
% Polyline
n 3425 4738 m 3453 4722 l gs col0 s gr
% Polyline
n 3492 4701 m 3453 4722 l gs col0 s gr
% Polyline
n 3425 3289 m 3475 3317 l gs col0 s gr
% Polyline
n 3492 3328 m 3475 3317 l gs col0 s gr
% Polyline
n 3492 4701 m 3497 4697 l gs col0 s gr
% Polyline
n 3508 4691 m 3497 4697 l gs col0 s gr
% Polyline
n 3508 4691 m 3543 4674 l gs col0 s gr
% Polyline
n 3560 4663 m 3543 4674 l gs col0 s gr
% Polyline
n 3560 3362 m 3508 3336 l 3492 3328 l gs col0 s gr
% Polyline
n 3560 4663 m 3589 4650 l gs col0 s gr
% Polyline
n 3627 4633 m 3589 4650 l gs col0 s gr
% Polyline
n 3560 3362 m 3605 3387 l gs col0 s gr
% Polyline
n 3627 3396 m 3605 3387 l gs col0 s gr
% Polyline
n 3627 4633 m 3634 4628 l gs col0 s gr
% Polyline
n 3667 4618 m 3634 4628 l gs col0 s gr
% Polyline
n 3667 4618 m 3686 4612 l gs col0 s gr
% Polyline
n 3693 4608 m 3686 4612 l gs col0 s gr
% Polyline
n 3693 3420 m 3667 3409 l 3627 3396 l gs col0 s gr
% Polyline
n 3693 4608 m 3741 4596 l gs col0 s gr
% Polyline
n 3761 4593 m 3741 4596 l gs col0 s gr
% Polyline
n 3693 3420 m 3707 3424 l gs col0 s gr
% Polyline
n 3761 3436 m 3707 3424 l gs col0 s gr
% Polyline
n 3761 4593 m 3802 4588 l gs col0 s gr
% Polyline
n 3832 4585 m 3802 4588 l gs col0 s gr
% Polyline
n 3761 3436 m 3790 3438 l gs col0 s gr
% Polyline
n 3832 3442 m 3790 3438 l gs col0 s gr
% Polyline
n 3832 4585 m 3869 4588 l gs col0 s gr
% Polyline
n 3898 4591 m 3869 4588 l gs col0 s gr
% Polyline
n 3832 3442 m 3859 3441 l gs col0 s gr
% Polyline
n 3898 3436 m 3859 3441 l gs col0 s gr
% Polyline
n 3898 4591 m 3953 4606 l gs col0 s gr
% Polyline
n 3966 4609 m 3953 4606 l gs col0 s gr
% Polyline
n 3898 3436 m 3919 3430 l gs col0 s gr
% Polyline
n 3966 3420 m 3919 3430 l gs col0 s gr
% Polyline
n 4032 4638 m 3986 4618 l 3966 4609 l gs col0 s gr
% Polyline
n 3966 3420 m 3972 3416 l gs col0 s gr
% Polyline
n 3986 3409 m 3972 3416 l gs col0 s gr
% Polyline
n 3986 3409 m 4020 3396 l gs col0 s gr
% Polyline
n 4032 3393 m 4020 3396 l gs col0 s gr
% Polyline
n 4032 4638 m 4069 4659 l gs col0 s gr
% Polyline
n 4100 4677 m 4069 4659 l gs col0 s gr
% Polyline
n 4032 3393 m 4065 3372 l gs col0 s gr
% Polyline
n 4100 3353 m 4065 3372 l gs col0 s gr
% Polyline
n 4169 4723 m 4120 4691 l 4100 4677 l gs col0 s gr
% Polyline
n 4100 3353 m 4109 3344 l gs col0 s gr
% Polyline
n 4120 3336 m 4109 3344 l gs col0 s gr
% Polyline
n 4120 3336 m 4150 3317 l gs col0 s gr
% Polyline
n 4169 3306 m 4150 3317 l gs col0 s gr
% Polyline
n 4235 4782 m 4212 4764 l 4169 4723 l gs col0 s gr
% Polyline
n 4169 3306 m 4187 3288 l gs col0 s gr
% Polyline
n 4212 3267 m 4187 3288 l gs col0 s gr
% Polyline
n 4212 3267 m 4224 3255 l gs col0 s gr
% Polyline
n 4235 3250 m 4224 3255 l gs col0 s gr
% Polyline
n 4302 4845 m 4290 4834 l 4235 4782 l gs col0 s gr
% Polyline
n 4235 3250 m 4261 3223 l gs col0 s gr
% Polyline
n 4290 3196 m 4261 3223 l gs col0 s gr
% Polyline
n 4290 3196 m 4297 3187 l gs col0 s gr
% Polyline
n 4302 3186 m 4297 3187 l gs col0 s gr
% Polyline
n 4370 4913 m 4361 4904 l 4302 4845 l gs col0 s gr
% Polyline
n 4302 3186 m 4333 3152 l gs col0 s gr
% Polyline
n 4361 3124 m 4333 3152 l gs col0 s gr
% Polyline
n 4361 3124 m 4365 3119 l gs col0 s gr
% Polyline
n 4370 3114 m 4365 3119 l gs col0 s gr
% Polyline
n 4438 4991 m 4426 4977 l 4370 4913 l gs col0 s gr
% Polyline
n 4370 3114 m 4400 3081 l gs col0 s gr
% Polyline
n 4426 3054 m 4400 3081 l gs col0 s gr
% Polyline
n 4426 3054 m 4433 3043 l gs col0 s gr
% Polyline
n 4438 3038 m 4433 3043 l gs col0 s gr
% Polyline
n 4506 5068 m 4488 5047 l 4438 4991 l gs col0 s gr
% Polyline
n 4438 3038 m 4464 3007 l gs col0 s gr
% Polyline
n 4488 2980 m 4464 3007 l gs col0 s gr
% Polyline
n 4488 2980 m 4496 2970 l gs col0 s gr
% Polyline
n 4506 2958 m 4496 2970 l gs col0 s gr
% Polyline
n 4573 5153 m 4543 5120 l 4506 5068 l gs col0 s gr
% Polyline
n 4506 2958 m 4527 2934 l gs col0 s gr
% Polyline
n 4543 2908 m 4527 2934 l gs col0 s gr
% Polyline
n 4543 2908 m 4559 2894 l gs col0 s gr
% Polyline
n 4573 2875 m 4559 2894 l gs col0 s gr
% Polyline
n 4640 5241 m 4600 5189 l 4573 5153 l gs col0 s gr
% Polyline
n 4573 2875 m 4588 2853 l gs col0 s gr
% Polyline
n 4600 2838 m 4588 2853 l gs col0 s gr
% Polyline
n 4600 2838 m 4618 2816 l gs col0 s gr
% Polyline
n 4640 2789 m 4618 2816 l gs col0 s gr
% Polyline
n 4707 5333 m 4655 5261 l 4640 5241 l gs col0 s gr
% Polyline
n 4640 2789 m 4649 2775 l gs col0 s gr
% Polyline
n 4655 2767 m 4649 2775 l gs col0 s gr
% Polyline
n 4655 2767 m 4679 2738 l gs col0 s gr
% Polyline
n 4707 2693 m 4679 2738 l gs col0 s gr
% Polyline
n 4777 5424 m 4759 5404 l 4710 5334 l gs col0 s gr
% Polyline
n 4707 5334 m 4710 5334 l gs col0 s gr
% Polyline
n 4707 5334 m 4707 5333 l gs col0 s gr
% Polyline
n 4707 2693 m 4739 2655 l gs col0 s gr
% Polyline
n 4759 2625 m 4739 2655 l gs col0 s gr
% Polyline
n 4759 2625 m 4767 2617 l gs col0 s gr
% Polyline
n 4777 2602 m 4767 2617 l gs col0 s gr
% Polyline
n 4843 5522 m 4808 5475 l 4777 5424 l gs col0 s gr
% Polyline
n 4777 2602 m 4795 2571 l gs col0 s gr
% Polyline
n 4808 2553 m 4795 2571 l gs col0 s gr
% Polyline
n 4808 2553 m 4825 2533 l gs col0 s gr
% Polyline
n 4843 2508 m 4825 2533 l gs col0 s gr
% Polyline
n 4912 5620 m 4907 5616 l 4901 5608 l gs col0 s gr
% Polyline
n 4858 5545 m 4901 5608 l gs col0 s gr
% Polyline
n 4858 5545 m 4843 5522 l gs col0 s gr
% Polyline
n 4843 2508 m 4852 2493 l gs col0 s gr
% Polyline
n 4858 2481 m 4852 2493 l gs col0 s gr
% Polyline
n 4858 2481 m 4880 2450 l gs col0 s gr
% Polyline
n 4907 2410 m 4880 2450 l gs col0 s gr
% Polyline
n 4907 2410 m 4908 2410 l gs col0 s gr
% Polyline
n 4912 2406 m 4908 2410 l gs col0 s gr
% Polyline
n 4979 5721 m 4955 5690 l 4912 5620 l gs col0 s gr
% Polyline
n 4912 2406 m 4939 2368 l gs col0 s gr
% Polyline
n 4955 2340 m 4939 2368 l gs col0 s gr
% Polyline
n 4955 2340 m 4965 2325 l gs col0 s gr
% Polyline
n 4979 2305 m 4965 2325 l gs col0 s gr
% Polyline
n 5045 5826 m 5002 5761 l 4979 5721 l gs col0 s gr
% Polyline
n 4979 2305 m 4993 2284 l gs col0 s gr
% Polyline
n 5002 2268 m 4993 2284 l gs col0 s gr
% Polyline
n 5002 2268 m 5019 2240 l gs col0 s gr
% Polyline
n 5045 2202 m 5019 2240 l gs col0 s gr
% Polyline
n 5116 5931 m 5095 5900 l 5056 5841 l gs col0 s gr
% Polyline
n 5048 5832 m 5056 5841 l gs col0 s gr
% Polyline
n 5048 5832 m 5045 5826 l gs col0 s gr
% Polyline
n 5045 2202 m 5047 2199 l gs col0 s gr
% Polyline
n 5048 2197 m 5047 2199 l gs col0 s gr
% Polyline
n 5048 2197 m 5077 2158 l gs col0 s gr
% Polyline
n 5095 2125 m 5102 2113 l gs col0 s gr
% Polyline
n 5116 2094 m 5102 2113 l gs col0 s gr
% Polyline
n 5183 6039 m 5141 5975 l 5116 5931 l gs col0 s gr
% Polyline
n 5116 2094 m 5129 2070 l gs col0 s gr
% Polyline
n 5141 2053 m 5129 2070 l gs col0 s gr
% Polyline
n 5141 2053 m 5156 2028 l gs col0 s gr
% Polyline
n 5183 1987 m 5156 2028 l gs col0 s gr
% Polyline
n 5248 6149 m 5228 6117 l 5190 6054 l gs col0 s gr
% Polyline
n 5185 6045 m 5190 6054 l gs col0 s gr
% Polyline
n 5185 6045 m 5183 6039 l gs col0 s gr
% Polyline
n 5183 1987 m 5183 1985 l gs col0 s gr
% Polyline
n 5185 1983 m 5183 1985 l gs col0 s gr
% Polyline
n 5185 1983 m 5209 1940 l gs col0 s gr
% Polyline
n 5228 1913 m 5209 1940 l gs col0 s gr
% Polyline
n 5228 1913 m 5236 1898 l gs col0 s gr
% Polyline
n 5248 1879 m 5236 1898 l gs col0 s gr
% Polyline
n 5317 6262 m 5317 6261 l 5311 6255 l gs col0 s gr
% Polyline
n 5271 6188 m 5311 6255 l gs col0 s gr
% Polyline
n 5271 6188 m 5248 6149 l gs col0 s gr
% Polyline
n 5248 1879 m 5261 1857 l gs col0 s gr
% Polyline
n 5271 1841 m 5261 1857 l gs col0 s gr
% Polyline
n 5271 1841 m 5291 1812 l gs col0 s gr
% Polyline
n 5317 1770 m 5291 1812 l gs col0 s gr
% Polyline
n 5317 1770 m 5317 1766 l gs col0 s gr
% Polyline
n 5384 6373 m 5358 6329 l 5317 6262 l gs col0 s gr
% Polyline
n 5317 1766 m 5343 1725 l gs col0 s gr
% Polyline
n 5358 1698 m 5343 1725 l gs col0 s gr
% Polyline
n 5358 1698 m 5370 1682 l gs col0 s gr
% Polyline
n 5384 1653 m 5370 1682 l gs col0 s gr
% Polyline
n 5450 6489 m 5442 6471 l 5424 6445 l gs col0 s gr
% Polyline
n 5399 6403 m 5424 6445 l gs col0 s gr
% Polyline
n 5399 6403 m 5384 6373 l gs col0 s gr
% Polyline
n 5384 1653 m 5395 1636 l gs col0 s gr
% Polyline
n 5399 1627 m 5395 1636 l gs col0 s gr
% Polyline
n 5399 1627 m 5420 1594 l gs col0 s gr
% Polyline
n 5442 1554 m 5420 1594 l gs col0 s gr
% Polyline
n 5442 1554 m 5446 1549 l gs col0 s gr
% Polyline
n 5450 1538 m 5446 1549 l gs col0 s gr
% Polyline
n 5521 6607 m 5482 6545 l 5450 6489 l gs col0 s gr
% Polyline
n 5450 1538 m 5471 1506 l gs col0 s gr
% Polyline
n 5482 1486 m 5471 1506 l gs col0 s gr
% Polyline
n 5482 1486 m 5497 1461 l gs col0 s gr
% Polyline
n 5521 1422 m 5497 1461 l gs col0 s gr
% Polyline
n 5587 6725 m 5565 6687 l 5532 6628 l gs col0 s gr
% Polyline
n 5523 6617 m 5532 6628 l gs col0 s gr
% Polyline
n 5523 6617 m 5521 6607 l gs col0 s gr
% Polyline
n 5521 1422 m 5522 1416 l gs col0 s gr
% Polyline
n 5523 1412 m 5522 1416 l gs col0 s gr
% Polyline
n 5523 1412 m 5547 1371 l gs col0 s gr
% Polyline
n 5565 1341 m 5547 1371 l gs col0 s gr
% Polyline
n 5565 1341 m 5573 1327 l gs col0 s gr
% Polyline
n 5587 1301 m 5573 1327 l gs col0 s gr
% Polyline
n 5653 6846 m 5647 6829 l 5633 6806 l gs col0 s gr
% Polyline
n 5606 6756 m 5633 6806 l gs col0 s gr
% Polyline
n 5606 6756 m 5587 6725 l gs col0 s gr
% Polyline
n 5587 1301 m 5598 1282 l gs col0 s gr
% Polyline
n 5606 1269 m 5598 1282 l gs col0 s gr
% Polyline
n 5606 1269 m 5624 1237 l gs col0 s gr
% Polyline
n 5647 1198 m 5624 1237 l gs col0 s gr
% Polyline
n 5647 1198 m 5649 1193 l gs col0 s gr
% Polyline
n 5653 1184 m 5649 1193 l gs col0 s gr
% Polyline
n 5721 6966 m 5686 6900 l 5653 6846 l gs col0 s gr
% Polyline
n 5653 1184 m 5674 1148 l gs col0 s gr
% Polyline
n 5686 1127 m 5674 1148 l gs col0 s gr
% Polyline
n 5686 1127 m 5697 1104 l gs col0 s gr
% Polyline
n 5721 1062 m 5697 1104 l gs col0 s gr
% Polyline
n 5790 7089 m 5763 7043 l 5728 6980 l gs col0 s gr
% Polyline
n 5723 6972 m 5728 6980 l gs col0 s gr
% Polyline
n 5723 6972 m 5721 6966 l gs col0 s gr
% Polyline
n 5721 1062 m 5723 1059 l gs col0 s gr
% Polyline
n 5723 1057 m 5723 1059 l gs col0 s gr
% Polyline
n 5723 1057 m 5748 1014 l gs col0 s gr
% Polyline
n 5763 983 m 5748 1014 l gs col0 s gr
% Polyline
n 5763 983 m 5774 966 l gs col0 s gr
% Polyline
n 5790 938 m 5774 966 l gs col0 s gr
% Polyline
n 5858 7215 m 5841 7185 l 5821 7146 l gs col0 s gr
% Polyline
n 5801 7113 m 5821 7146 l gs col0 s gr
% Polyline
n 5801 7113 m 5790 7089 l gs col0 s gr
% Polyline
n 5790 938 m 5799 923 l gs col0 s gr
% Polyline
n 5801 914 m 5799 923 l gs col0 s gr
% Polyline
n 5801 914 m 5824 878 l gs col0 s gr
% Polyline
n 5841 843 m 5824 878 l gs col0 s gr
% Polyline
n 5841 843 m 5847 830 l gs col0 s gr
% Polyline
n 5858 814 m 5847 830 l gs col0 s gr
% Polyline
n 5926 7341 m 5918 7328 l 5910 7311 l gs col0 s gr
% Polyline
n 5879 7256 m 5910 7311 l gs col0 s gr
% Polyline
n 5879 7256 m 5858 7215 l gs col0 s gr
% Polyline
n 5858 814 m 5872 787 l gs col0 s gr
% Polyline
n 5879 771 m 5872 787 l gs col0 s gr
% Polyline
n 5879 771 m 5897 741 l gs col0 s gr
% Polyline
n 5918 699 m 5897 741 l gs col0 s gr
% Polyline
n 5918 699 m 5922 697 l gs col0 s gr
% Polyline
n 5926 688 m 5922 697 l gs col0 s gr
% Polyline
n 5992 7466 m 5956 7399 l 5926 7341 l gs col0 s gr
% Polyline
n 5926 688 m 5944 650 l gs col0 s gr
% Polyline
n 5956 629 m 5944 650 l gs col0 s gr
% Polyline
n 5956 629 m 5969 604 l gs col0 s gr
% Polyline
n 5992 561 m 5969 604 l gs col0 s gr
% Polyline
n 6029 7544 m 5997 7475 l gs col0 s gr
% Polyline
n 5992 7469 m 5997 7475 l gs col0 s gr
% Polyline
n 5992 7469 m 5992 7466 l gs col0 s gr
% Polyline
n 5992 561 m 5992 559 l 6015 511 l gs col0 s gr
% Polyline
n 6029 487 m 6015 511 l gs col0 s gr
% Polyline
n 5095 2125 m 5077 2158 l gs col0 s gr
% Polyline
n 1331 2966 m 1356 2937 l gs col0 s gr
7.500 slw
% Ellipse
n 7580 2711 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 11902 967 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 1012 3860 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 3001 3014 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 5095 2127 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
0 slc
n 743 3976 m 6141 1682 l gs col7 0.00 shd ef gr gs col0 s gr
$F2psEnd
rs
%%EndDocument
@endspecial 2119 718 a Fq(P)2773 390 y(P)34 b Fo(\003)20
b Fq(P)747 973 y(P)1217 761 y(Q)1417 607 y(P)34 b Fo(\003)20
b Fq(Q)1090 2037 y Fw(Abbildung)27 b(2.3:)32 b(Komp)s(osition)c(zw)m
(eier)j(Punkte)531 2315 y(Nun)26 b(sind)g(wir)f(in)h(der)h(Lage,)h(die)
f(Addition)e(als)h(eigen)m(tlic)m(he)i(Grupp)s(enop)s(eration)c(zu)390
2428 y(de\014nieren.)33 b(Dazu)i(v)m(erbindet)f(man)g(den)g(ausgezeic)m
(hneten)i(Punkt)d Fo(O)38 b Fw(mit)c Fq(P)i Fo(\003)23
b Fq(Q)34 b Fw(und)390 2541 y(nimm)m(t)j(auc)m(h)h(hier)f(wieder)g(den)
g(dritten)g(Sc)m(hnittpunkt)f(mit)h(der)h(Kurv)m(e.)g(Das)g(ergibt)390
2654 y(sc)m(hlie\031lic)m(h)29 b(die)g(Summe)g Fq(P)34
b Fw(+)20 b Fq(Q)p Fw(.)758 4192 y @beginspecial 0 @llx
0 @lly 711 @urx 428 @ury 1700 @rhi @clip @setspecial
%%BeginDocument: Pics/grouplaw.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: picgrouplaw.eps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Fri Oct 8 14:53:45 1999
%%For: crnjak@fb0409 (Markus Crnjak)
%%Orientation: Portrait
%%BoundingBox: 0 0 711 428
%%Pages: 0
%%BeginSetup
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.298 0.298 0.298 srgb} bind def
end
save
-27.0 455.0 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/DrawEllipse {
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def
/savematrix mtrx currentmatrix def
x y tr xrad yrad sc 0 0 1 startangle endangle arc
closepath
savematrix setmatrix
} def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog
$F2psBegin
10 setmiterlimit
n -1000 8576 m -1000 -1000 l 13295 -1000 l 13295 8576 l cp clip
0.06000 0.06000 sc
% Polyline
1 slc
30.000 slw
n 788 4408 m 803 4476 l gs col0 s gr
% Polyline
n 788 4408 m 784 4387 l gs col0 s gr
% Polyline
n 775 4334 m 784 4387 l gs col0 s gr
% Polyline
n 775 4334 m 771 4301 l gs col0 s gr
% Polyline
n 766 4263 m 771 4301 l gs col0 s gr
% Polyline
n 766 4263 m 761 4219 l gs col0 s gr
% Polyline
n 758 4193 m 761 4219 l gs col0 s gr
% Polyline
n 758 4193 m 754 4142 l gs col0 s gr
% Polyline
n 752 4122 m 754 4142 l gs col0 s gr
% Polyline
n 752 4122 m 750 4066 l gs col0 s gr
% Polyline
n 750 4050 m 750 4066 l gs col0 s gr
% Polyline
n 750 4050 m 750 3995 l gs col0 s gr
% Polyline
n 750 3980 m 750 3995 l gs col0 s gr
% Polyline
n 750 3980 m 751 3926 l gs col0 s gr
% Polyline
n 752 3908 m 751 3926 l gs col0 s gr
% Polyline
n 752 3908 m 756 3858 l gs col0 s gr
% Polyline
n 758 3836 m 756 3858 l gs col0 s gr
% Polyline
n 758 3836 m 763 3794 l gs col0 s gr
% Polyline
n 766 3765 m 763 3794 l gs col0 s gr
% Polyline
n 766 3765 m 770 3729 l gs col0 s gr
% Polyline
n 775 3695 m 770 3729 l gs col0 s gr
% Polyline
n 775 3695 m 780 3669 l gs col0 s gr
% Polyline
n 788 3623 m 780 3669 l gs col0 s gr
% Polyline
n 788 3623 m 791 3608 l gs col0 s gr
% Polyline
n 804 3551 m 791 3608 l gs col0 s gr
% Polyline
n 804 3551 m 804 3550 l gs col0 s gr
% Polyline
n 805 3546 m 804 3550 l gs col0 s gr
% Polyline
n 875 4704 m 871 4690 l 869 4683 l gs col0 s gr
% Polyline
n 846 4619 m 869 4683 l gs col0 s gr
% Polyline
n 846 4619 m 832 4576 l gs col0 s gr
% Polyline
n 824 4550 m 832 4576 l gs col0 s gr
% Polyline
n 824 4550 m 805 4481 l gs col0 s gr
% Polyline
n 805 3546 m 819 3495 l gs col0 s gr
% Polyline
n 824 3480 m 819 3495 l gs col0 s gr
% Polyline
n 824 3480 m 836 3440 l gs col0 s gr
% Polyline
n 846 3408 m 836 3440 l gs col0 s gr
% Polyline
n 846 3408 m 853 3386 l gs col0 s gr
% Polyline
n 871 3336 m 853 3386 l gs col0 s gr
% Polyline
n 871 3336 m 873 3334 l gs col0 s gr
% Polyline
n 875 3325 m 873 3334 l gs col0 s gr
% Polyline
n 946 4855 m 936 4834 l 925 4814 l gs col0 s gr
% Polyline
n 901 4763 m 925 4814 l gs col0 s gr
% Polyline
n 901 4763 m 875 4704 l gs col0 s gr
% Polyline
n 875 3325 m 894 3283 l gs col0 s gr
% Polyline
n 901 3268 m 894 3283 l gs col0 s gr
% Polyline
n 901 3268 m 916 3236 l gs col0 s gr
% Polyline
n 936 3196 m 916 3236 l gs col0 s gr
% Polyline
n 936 3196 m 940 3188 l gs col0 s gr
% Polyline
n 946 3175 m 940 3188 l gs col0 s gr
% Polyline
n 1018 4970 m 977 4904 l 946 4855 l gs col0 s gr
% Polyline
n 946 3175 m 965 3143 l gs col0 s gr
% Polyline
n 977 3124 m 965 3143 l gs col0 s gr
% Polyline
n 977 3124 m 993 3099 l gs col0 s gr
% Polyline
n 1018 3058 m 993 3099 l gs col0 s gr
% Polyline
n 1089 5061 m 1077 5047 l 1038 4995 l gs col0 s gr
% Polyline
n 1022 4977 m 1038 4995 l gs col0 s gr
% Polyline
n 1022 4977 m 1018 4970 l gs col0 s gr
% Polyline
n 1018 3058 m 1020 3055 l gs col0 s gr
% Polyline
n 1022 3053 m 1020 3055 l gs col0 s gr
% Polyline
n 1022 3053 m 1050 3015 l gs col0 s gr
% Polyline
n 1077 2981 m 1050 3015 l gs col0 s gr
% Polyline
n 1077 2981 m 1083 2975 l gs col0 s gr
% Polyline
n 1089 2967 m 1083 2975 l gs col0 s gr
% Polyline
n 1160 5138 m 1142 5118 l 1089 5061 l gs col0 s gr
% Polyline
n 1142 2910 m 1116 2937 l gs col0 s gr
% Polyline
n 1142 2910 m 1150 2903 l gs col0 s gr
% Polyline
n 1160 2892 m 1150 2903 l gs col0 s gr
% Polyline
n 1231 5197 m 1220 5190 l 1160 5138 l gs col0 s gr
% Polyline
n 1160 2892 m 1188 2867 l gs col0 s gr
% Polyline
n 1220 2838 m 1188 2867 l gs col0 s gr
% Polyline
n 1220 2838 m 1226 2834 l gs col0 s gr
% Polyline
n 1231 2830 m 1226 2834 l gs col0 s gr
% Polyline
n 1231 5197 m 1257 5215 l gs col0 s gr
% Polyline
n 1301 5247 m 1257 5215 l gs col0 s gr
% Polyline
n 1231 2830 m 1268 2805 l gs col0 s gr
% Polyline
n 1301 2781 m 1268 2805 l gs col0 s gr
% Polyline
n 1372 5287 m 1324 5261 l 1301 5247 l gs col0 s gr
% Polyline
n 1301 2781 m 1310 2775 l gs col0 s gr
% Polyline
n 1324 2768 m 1310 2775 l gs col0 s gr
% Polyline
n 1324 2768 m 1355 2750 l gs col0 s gr
% Polyline
n 1372 2741 m 1355 2750 l gs col0 s gr
% Polyline
n 1372 5287 m 1421 5311 l gs col0 s gr
% Polyline
n 1443 5320 m 1421 5311 l gs col0 s gr
% Polyline
n 1372 2741 m 1403 2726 l gs col0 s gr
% Polyline
n 1443 2708 m 1403 2726 l gs col0 s gr
% Polyline
n 1513 5345 m 1477 5333 l 1443 5320 l gs col0 s gr
% Polyline
n 1443 2708 m 1451 2706 l gs col0 s gr
% Polyline
n 1477 2697 m 1451 2706 l gs col0 s gr
% Polyline
n 1477 2697 m 1505 2688 l gs col0 s gr
% Polyline
n 1513 2684 m 1505 2688 l gs col0 s gr
% Polyline
n 1513 5345 m 1532 5350 l gs col0 s gr
% Polyline
n 1585 5364 m 1532 5350 l gs col0 s gr
% Polyline
n 1513 2684 m 1560 2671 l gs col0 s gr
% Polyline
n 1585 2665 m 1560 2671 l gs col0 s gr
% Polyline
n 1585 5364 m 1623 5371 l gs col0 s gr
% Polyline
n 1656 5377 m 1623 5371 l gs col0 s gr
% Polyline
n 1585 2665 m 1618 2658 l gs col0 s gr
% Polyline
n 1656 2653 m 1618 2658 l gs col0 s gr
% Polyline
n 1656 5377 m 1706 5380 l gs col0 s gr
% Polyline
n 1728 5384 m 1706 5380 l gs col0 s gr
% Polyline
n 1656 2653 m 1680 2649 l gs col0 s gr
% Polyline
n 1728 2645 m 1680 2649 l gs col0 s gr
% Polyline
n 1728 5384 m 1780 5386 l gs col0 s gr
% Polyline
n 1798 5386 m 1780 5386 l gs col0 s gr
% Polyline
n 1728 2645 m 1746 2645 l gs col0 s gr
% Polyline
n 1798 2644 m 1746 2645 l gs col0 s gr
% Polyline
n 1798 5386 m 1849 5384 l gs col0 s gr
% Polyline
n 1869 5382 m 1849 5384 l gs col0 s gr
% Polyline
n 1798 2644 m 1817 2644 l gs col0 s gr
% Polyline
n 1869 2645 m 1817 2644 l gs col0 s gr
% Polyline
n 1869 5382 m 1916 5378 l gs col0 s gr
% Polyline
n 1940 5377 m 1916 5378 l gs col0 s gr
% Polyline
n 1869 2645 m 1892 2647 l gs col0 s gr
% Polyline
n 1940 2653 m 1892 2647 l gs col0 s gr
% Polyline
n 1940 5377 m 1979 5372 l gs col0 s gr
% Polyline
n 2012 5366 m 1979 5372 l gs col0 s gr
% Polyline
n 1940 2653 m 1972 2656 l gs col0 s gr
% Polyline
n 2012 2663 m 1972 2656 l gs col0 s gr
% Polyline
n 2012 5366 m 2039 5361 l gs col0 s gr
% Polyline
n 2082 5351 m 2039 5361 l gs col0 s gr
% Polyline
n 2012 2663 m 2058 2672 l gs col0 s gr
% Polyline
n 2082 2679 m 2058 2672 l gs col0 s gr
% Polyline
n 2082 5351 m 2098 5348 l gs col0 s gr
% Polyline
n 2154 5333 m 2098 5348 l gs col0 s gr
% Polyline
n 2082 2679 m 2151 2695 l gs col0 s gr
% Polyline
n 2154 2695 m 2151 2695 l gs col0 s gr
% Polyline
n 2154 5333 m 2155 5333 l gs col0 s gr
% Polyline
n 2158 5333 m 2155 5333 l gs col0 s gr
% Polyline
n 2158 5333 m 2209 5316 l gs col0 s gr
% Polyline
n 2224 5313 m 2209 5316 l gs col0 s gr
% Polyline
n 2224 2717 m 2158 2697 l 2154 2695 l gs col0 s gr
% Polyline
n 2224 5313 m 2261 5297 l gs col0 s gr
% Polyline
n 2296 5287 m 2261 5297 l gs col0 s gr
% Polyline
n 2224 2717 m 2256 2727 l gs col0 s gr
% Polyline
n 2296 2741 m 2256 2727 l gs col0 s gr
% Polyline
n 2296 5287 m 2314 5279 l gs col0 s gr
% Polyline
n 2365 5261 m 2314 5279 l gs col0 s gr
% Polyline
n 2365 5261 m 2366 5261 l gs col0 s gr
% Polyline
n 2367 5260 m 2366 5261 l gs col0 s gr
% Polyline
n 2367 2768 m 2365 2768 l 2296 2741 l gs col0 s gr
% Polyline
n 2367 5260 m 2414 5239 l gs col0 s gr
% Polyline
n 2438 5230 m 2414 5239 l gs col0 s gr
% Polyline
n 2366 2768 m 2368 2768 l gs col0 s gr
% Polyline
n 2438 2801 m 2367 2768 l gs col0 s gr
% Polyline
n 2438 5230 m 2465 5217 l gs col0 s gr
% Polyline
n 2509 5197 m 2465 5217 l gs col0 s gr
% Polyline
n 2438 2801 m 2496 2825 l gs col0 s gr
% Polyline
n 2509 2830 m 2496 2825 l gs col0 s gr
% Polyline
n 2509 5197 m 2513 5196 l gs col0 s gr
% Polyline
n 2523 5190 m 2513 5196 l gs col0 s gr
% Polyline
n 2523 5190 m 2561 5171 l gs col0 s gr
% Polyline
n 2580 5162 m 2561 5171 l gs col0 s gr
% Polyline
n 2580 2867 m 2523 2838 l 2509 2830 l gs col0 s gr
% Polyline
n 2580 5162 m 2607 5148 l gs col0 s gr
% Polyline
n 2650 5125 m 2607 5148 l gs col0 s gr
% Polyline
n 2580 2867 m 2638 2896 l gs col0 s gr
% Polyline
n 2650 2904 m 2638 2896 l gs col0 s gr
% Polyline
n 2650 5125 m 2655 5121 l gs col0 s gr
% Polyline
n 2662 5118 m 2655 5121 l gs col0 s gr
% Polyline
n 2662 5118 m 2701 5098 l gs col0 s gr
% Polyline
n 2721 5085 m 2701 5098 l gs col0 s gr
% Polyline
n 2721 2942 m 2662 2910 l 2650 2904 l gs col0 s gr
% Polyline
n 2721 5085 m 2745 5072 l gs col0 s gr
% Polyline
n 2789 5047 m 2745 5072 l gs col0 s gr
% Polyline
n 2789 5047 m 2790 5047 l gs col0 s gr
% Polyline
n 2792 5045 m 2790 5047 l gs col0 s gr
% Polyline
n 2792 2983 m 2789 2981 l 2721 2942 l gs col0 s gr
% Polyline
n 2792 5045 m 2835 5019 l gs col0 s gr
% Polyline
n 2862 5003 m 2835 5019 l gs col0 s gr
% Polyline
n 2792 2983 m 2798 2986 l gs col0 s gr
% Polyline
n 2862 3027 m 2798 2986 l gs col0 s gr
% Polyline
n 2862 5003 m 2879 4992 l gs col0 s gr
% Polyline
n 2908 4977 m 2879 4992 l gs col0 s gr
% Polyline
n 2908 4977 m 2923 4967 l gs col0 s gr
% Polyline
n 2934 4958 m 2923 4967 l gs col0 s gr
% Polyline
n 2934 3069 m 2908 3053 l 2862 3027 l gs col0 s gr
% Polyline
n 2934 4958 m 2967 4939 l gs col0 s gr
% Polyline
n 3005 4915 m 2967 4939 l gs col0 s gr
% Polyline
n 2934 3069 m 2980 3099 l gs col0 s gr
% Polyline
n 3005 3113 m 2980 3099 l gs col0 s gr
% Polyline
n 3005 4915 m 3011 4912 l gs col0 s gr
% Polyline
n 3021 4904 m 3011 4912 l gs col0 s gr
% Polyline
n 3021 4904 m 3054 4882 l gs col0 s gr
% Polyline
n 3077 4869 m 3054 4882 l gs col0 s gr
% Polyline
n 3077 3160 m 3021 3124 l 3005 3113 l gs col0 s gr
% Polyline
n 3077 4869 m 3099 4856 l gs col0 s gr
% Polyline
n 3134 4834 m 3099 4856 l gs col0 s gr
% Polyline
n 3134 4834 m 3142 4828 l gs col0 s gr
% Polyline
n 3147 4825 m 3142 4828 l gs col0 s gr
% Polyline
n 3147 3204 m 3134 3196 l 3077 3160 l gs col0 s gr
% Polyline
n 3147 4825 m 3186 4802 l gs col0 s gr
% Polyline
n 3218 4781 m 3186 4802 l gs col0 s gr
% Polyline
n 3147 3204 m 3169 3215 l gs col0 s gr
% Polyline
n 3218 3248 m 3169 3215 l gs col0 s gr
% Polyline
n 3218 4781 m 3231 4774 l gs col0 s gr
% Polyline
n 3252 4763 m 3231 4774 l gs col0 s gr
% Polyline
n 3252 4763 m 3274 4748 l gs col0 s gr
% Polyline
n 3289 4738 m 3274 4748 l gs col0 s gr
% Polyline
n 3289 3289 m 3252 3268 l 3218 3248 l gs col0 s gr
% Polyline
n 3289 4738 m 3319 4722 l gs col0 s gr
% Polyline
n 3360 4701 m 3319 4722 l gs col0 s gr
% Polyline
n 3289 3289 m 3340 3318 l gs col0 s gr
% Polyline
n 3360 3330 m 3340 3318 l gs col0 s gr
% Polyline
n 3360 4701 m 3365 4697 l gs col0 s gr
% Polyline
n 3378 4690 m 3365 4697 l gs col0 s gr
% Polyline
n 3378 4690 m 3413 4672 l gs col0 s gr
% Polyline
n 3432 4663 m 3413 4672 l gs col0 s gr
% Polyline
n 3432 3364 m 3378 3336 l 3360 3330 l gs col0 s gr
% Polyline
n 3432 4663 m 3461 4650 l gs col0 s gr
% Polyline
n 3502 4635 m 3461 4650 l gs col0 s gr
% Polyline
n 3432 3364 m 3479 3386 l gs col0 s gr
% Polyline
n 3502 3396 m 3479 3386 l gs col0 s gr
% Polyline
n 3502 4635 m 3511 4630 l gs col0 s gr
% Polyline
n 3544 4619 m 3511 4630 l gs col0 s gr
% Polyline
n 3544 4619 m 3565 4612 l gs col0 s gr
% Polyline
n 3573 4608 m 3565 4612 l gs col0 s gr
% Polyline
n 3573 3420 m 3544 3408 l 3502 3396 l gs col0 s gr
% Polyline
n 3573 4608 m 3622 4598 l gs col0 s gr
% Polyline
n 3644 4594 m 3622 4598 l gs col0 s gr
% Polyline
n 3573 3420 m 3587 3423 l gs col0 s gr
% Polyline
n 3644 3436 m 3587 3423 l gs col0 s gr
% Polyline
n 3644 4594 m 3685 4590 l gs col0 s gr
% Polyline
n 3715 4586 m 3685 4590 l gs col0 s gr
% Polyline
n 3644 3436 m 3673 3438 l gs col0 s gr
% Polyline
n 3715 3442 m 3673 3438 l gs col0 s gr
% Polyline
n 3715 4586 m 3757 4590 l gs col0 s gr
% Polyline
n 3786 4592 m 3757 4590 l gs col0 s gr
% Polyline
n 3715 3442 m 3745 3440 l gs col0 s gr
% Polyline
n 3786 3436 m 3745 3440 l gs col0 s gr
% Polyline
n 3786 4592 m 3843 4606 l gs col0 s gr
% Polyline
n 3858 4609 m 3843 4606 l gs col0 s gr
% Polyline
n 3786 3436 m 3808 3430 l gs col0 s gr
% Polyline
n 3858 3420 m 3808 3430 l gs col0 s gr
% Polyline
n 3927 4638 m 3881 4619 l 3858 4609 l gs col0 s gr
% Polyline
n 3858 3420 m 3865 3416 l gs col0 s gr
% Polyline
n 3881 3408 m 3865 3416 l gs col0 s gr
% Polyline
n 3881 3408 m 3916 3396 l gs col0 s gr
% Polyline
n 3927 3392 m 3916 3396 l gs col0 s gr
% Polyline
n 3927 4638 m 3966 4658 l gs col0 s gr
% Polyline
n 3998 4676 m 3966 4658 l gs col0 s gr
% Polyline
n 3927 3392 m 3963 3372 l gs col0 s gr
% Polyline
n 3998 3354 m 3963 3372 l gs col0 s gr
% Polyline
n 4070 4724 m 4019 4690 l 3998 4676 l gs col0 s gr
% Polyline
n 3998 3354 m 4008 3346 l gs col0 s gr
% Polyline
n 4019 3336 m 4008 3346 l gs col0 s gr
% Polyline
n 4019 3336 m 4050 3318 l gs col0 s gr
% Polyline
n 4070 3307 m 4050 3318 l gs col0 s gr
% Polyline
n 4140 4781 m 4117 4763 l 4070 4724 l gs col0 s gr
% Polyline
n 4070 3307 m 4091 3288 l gs col0 s gr
% Polyline
n 4117 3268 m 4091 3288 l gs col0 s gr
% Polyline
n 4117 3268 m 4130 3256 l gs col0 s gr
% Polyline
n 4140 3250 m 4130 3256 l gs col0 s gr
% Polyline
n 4212 4845 m 4199 4834 l 4140 4781 l gs col0 s gr
% Polyline
n 4140 3250 m 4169 3224 l gs col0 s gr
% Polyline
n 4199 3196 m 4169 3224 l gs col0 s gr
% Polyline
n 4199 3196 m 4206 3188 l gs col0 s gr
% Polyline
n 4212 3186 m 4206 3188 l gs col0 s gr
% Polyline
n 4282 4915 m 4271 4904 l 4212 4845 l gs col0 s gr
% Polyline
n 4212 3186 m 4242 3153 l gs col0 s gr
% Polyline
n 4271 3124 m 4242 3153 l gs col0 s gr
% Polyline
n 4271 3124 m 4278 3119 l gs col0 s gr
% Polyline
n 4282 3114 m 4278 3119 l gs col0 s gr
% Polyline
n 4353 4990 m 4341 4977 l 4282 4915 l gs col0 s gr
% Polyline
n 4282 3114 m 4312 3082 l gs col0 s gr
% Polyline
n 4341 3053 m 4312 3082 l gs col0 s gr
% Polyline
n 4341 3053 m 4348 3045 l gs col0 s gr
% Polyline
n 4353 3039 m 4348 3045 l gs col0 s gr
% Polyline
n 4425 5068 m 4404 5047 l 4353 4990 l gs col0 s gr
% Polyline
n 4353 3039 m 4380 3008 l gs col0 s gr
% Polyline
n 4404 2981 m 4380 3008 l gs col0 s gr
% Polyline
n 4404 2981 m 4414 2971 l gs col0 s gr
% Polyline
n 4425 2959 m 4414 2971 l gs col0 s gr
% Polyline
n 4496 5153 m 4466 5118 l 4425 5068 l gs col0 s gr
% Polyline
n 4425 2959 m 4447 2933 l gs col0 s gr
% Polyline
n 4466 2910 m 4447 2933 l gs col0 s gr
% Polyline
n 4466 2910 m 4479 2894 l gs col0 s gr
% Polyline
n 4496 2876 m 4479 2894 l gs col0 s gr
% Polyline
n 4566 5240 m 4524 5190 l 4496 5153 l gs col0 s gr
% Polyline
n 4496 2876 m 4512 2855 l gs col0 s gr
% Polyline
n 4524 2838 m 4512 2855 l gs col0 s gr
% Polyline
n 4524 2838 m 4544 2816 l gs col0 s gr
% Polyline
n 4566 2789 m 4544 2816 l gs col0 s gr
% Polyline
n 4638 5332 m 4582 5261 l 4566 5240 l gs col0 s gr
% Polyline
n 4566 2789 m 4575 2775 l gs col0 s gr
% Polyline
n 4582 2768 m 4575 2775 l gs col0 s gr
% Polyline
n 4582 2768 m 4606 2738 l gs col0 s gr
% Polyline
n 4638 2697 m 4606 2738 l gs col0 s gr
% Polyline
n 4709 5425 m 4691 5404 l 4639 5333 l gs col0 s gr
% Polyline
n 4638 5333 m 4639 5333 l gs col0 s gr
% Polyline
n 4638 5333 m 4638 5332 l gs col0 s gr
% Polyline
n 4638 2697 m 4668 2656 l gs col0 s gr
% Polyline
n 4691 2626 m 4668 2656 l gs col0 s gr
% Polyline
n 4691 2626 m 4700 2616 l gs col0 s gr
% Polyline
n 4709 2603 m 4700 2616 l gs col0 s gr
% Polyline
n 4780 5523 m 4744 5475 l 4709 5425 l gs col0 s gr
% Polyline
n 4709 2603 m 4729 2574 l gs col0 s gr
% Polyline
n 4744 2553 m 4729 2574 l gs col0 s gr
% Polyline
n 4744 2553 m 4760 2534 l gs col0 s gr
% Polyline
n 4780 2508 m 4760 2534 l gs col0 s gr
% Polyline
n 4851 5620 m 4848 5616 l 4840 5607 l gs col0 s gr
% Polyline
n 4796 5546 m 4840 5607 l gs col0 s gr
% Polyline
n 4796 5546 m 4780 5523 l gs col0 s gr
% Polyline
n 4780 2508 m 4789 2493 l gs col0 s gr
% Polyline
n 4796 2481 m 4789 2493 l gs col0 s gr
% Polyline
n 4796 2481 m 4819 2451 l gs col0 s gr
% Polyline
n 4848 2411 m 4819 2451 l gs col0 s gr
% Polyline
n 4848 2411 m 4849 2411 l gs col0 s gr
% Polyline
n 4851 2407 m 4849 2411 l gs col0 s gr
% Polyline
n 4921 5721 m 4897 5690 l 4851 5620 l gs col0 s gr
% Polyline
n 4851 2407 m 4879 2369 l gs col0 s gr
% Polyline
n 4897 2341 m 4879 2369 l gs col0 s gr
% Polyline
n 4897 2341 m 4908 2326 l gs col0 s gr
% Polyline
n 4921 2306 m 4908 2326 l gs col0 s gr
% Polyline
n 4993 5826 m 4946 5761 l 4921 5721 l gs col0 s gr
% Polyline
n 4921 2306 m 4936 2284 l gs col0 s gr
% Polyline
n 4946 2268 m 4936 2284 l gs col0 s gr
% Polyline
n 4946 2268 m 4965 2242 l gs col0 s gr
% Polyline
n 4993 2203 m 4965 2242 l gs col0 s gr
% Polyline
n 5064 5931 m 5043 5901 l 5003 5841 l gs col0 s gr
% Polyline
n 4996 5832 m 5003 5841 l gs col0 s gr
% Polyline
n 4996 5832 m 4993 5826 l gs col0 s gr
% Polyline
n 4993 2203 m 4995 2200 l gs col0 s gr
% Polyline
n 4996 2198 m 4995 2200 l gs col0 s gr
% Polyline
n 4996 2198 m 5023 2157 l gs col0 s gr
% Polyline
n 5043 2127 m 5051 2114 l gs col0 s gr
% Polyline
n 5064 2096 m 5051 2114 l gs col0 s gr
% Polyline
n 5135 6039 m 5090 5974 l 5064 5931 l gs col0 s gr
% Polyline
n 5064 2096 m 5080 2071 l gs col0 s gr
% Polyline
n 5090 2054 m 5080 2071 l gs col0 s gr
% Polyline
n 5090 2054 m 5108 2029 l gs col0 s gr
% Polyline
n 5135 1988 m 5108 2029 l gs col0 s gr
% Polyline
n 5205 6150 m 5184 6116 l 5143 6054 l gs col0 s gr
% Polyline
n 5138 6045 m 5143 6054 l gs col0 s gr
% Polyline
n 5138 6045 m 5135 6039 l gs col0 s gr
% Polyline
n 5135 1988 m 5137 1986 l gs col0 s gr
% Polyline
n 5138 1984 m 5137 1986 l gs col0 s gr
% Polyline
n 5138 1984 m 5164 1942 l gs col0 s gr
% Polyline
n 5184 1913 m 5164 1942 l gs col0 s gr
% Polyline
n 5184 1913 m 5193 1900 l gs col0 s gr
% Polyline
n 5205 1880 m 5193 1900 l gs col0 s gr
% Polyline
n 5276 6261 m 5275 6259 l 5272 6255 l gs col0 s gr
% Polyline
n 5230 6187 m 5272 6255 l gs col0 s gr
% Polyline
n 5230 6187 m 5205 6150 l gs col0 s gr
% Polyline
n 5205 1880 m 5220 1857 l gs col0 s gr
% Polyline
n 5230 1842 m 5220 1857 l gs col0 s gr
% Polyline
n 5230 1842 m 5248 1813 l gs col0 s gr
% Polyline
n 5275 1771 m 5248 1813 l gs col0 s gr
% Polyline
n 5275 1771 m 5276 1769 l gs col0 s gr
% Polyline
n 5348 6373 m 5319 6329 l 5276 6261 l gs col0 s gr
% Polyline
n 5276 1769 m 5303 1727 l gs col0 s gr
% Polyline
n 5319 1699 m 5303 1727 l gs col0 s gr
% Polyline
n 5319 1699 m 5331 1682 l gs col0 s gr
% Polyline
n 5348 1655 m 5331 1682 l gs col0 s gr
% Polyline
n 5418 6489 m 5408 6472 l 5390 6445 l gs col0 s gr
% Polyline
n 5363 6401 m 5390 6445 l gs col0 s gr
% Polyline
n 5363 6401 m 5348 6373 l gs col0 s gr
% Polyline
n 5348 1655 m 5358 1638 l gs col0 s gr
% Polyline
n 5363 1628 m 5358 1638 l gs col0 s gr
% Polyline
n 5363 1628 m 5385 1594 l gs col0 s gr
% Polyline
n 5408 1555 m 5385 1594 l gs col0 s gr
% Polyline
n 5408 1555 m 5413 1550 l gs col0 s gr
% Polyline
n 5418 1539 m 5413 1550 l gs col0 s gr
% Polyline
n 5489 6606 m 5450 6544 l 5418 6489 l gs col0 s gr
% Polyline
n 5418 1539 m 5439 1507 l gs col0 s gr
% Polyline
n 5450 1486 m 5439 1507 l gs col0 s gr
% Polyline
n 5450 1486 m 5466 1463 l gs col0 s gr
% Polyline
n 5489 1424 m 5466 1463 l gs col0 s gr
% Polyline
n 5560 6724 m 5538 6686 l 5502 6627 l gs col0 s gr
% Polyline
n 5495 6616 m 5502 6627 l gs col0 s gr
% Polyline
n 5495 6616 m 5489 6606 l gs col0 s gr
% Polyline
n 5489 1424 m 5492 1418 l gs col0 s gr
% Polyline
n 5495 1415 m 5492 1418 l gs col0 s gr
% Polyline
n 5495 1415 m 5519 1372 l gs col0 s gr
% Polyline
n 5538 1343 m 5519 1372 l gs col0 s gr
% Polyline
n 5538 1343 m 5546 1328 l gs col0 s gr
% Polyline
n 5560 1304 m 5546 1328 l gs col0 s gr
% Polyline
n 5631 6845 m 5622 6828 l 5609 6807 l gs col0 s gr
% Polyline
n 5580 6756 m 5609 6807 l gs col0 s gr
% Polyline
n 5580 6756 m 5560 6724 l gs col0 s gr
% Polyline
n 5560 1304 m 5572 1285 l gs col0 s gr
% Polyline
n 5580 1271 m 5572 1285 l gs col0 s gr
% Polyline
n 5580 1271 m 5600 1238 l gs col0 s gr
% Polyline
n 5622 1200 m 5600 1238 l gs col0 s gr
% Polyline
n 5622 1200 m 5626 1194 l gs col0 s gr
% Polyline
n 5631 1186 m 5626 1194 l gs col0 s gr
% Polyline
n 5702 6965 m 5664 6899 l 5631 6845 l gs col0 s gr
% Polyline
n 5631 1186 m 5652 1150 l gs col0 s gr
% Polyline
n 5664 1128 m 5652 1150 l gs col0 s gr
% Polyline
n 5664 1128 m 5677 1105 l gs col0 s gr
% Polyline
n 5702 1064 m 5677 1105 l gs col0 s gr
% Polyline
n 5774 7089 m 5746 7043 l 5710 6979 l gs col0 s gr
% Polyline
n 5706 6971 m 5710 6979 l gs col0 s gr
% Polyline
n 5706 6971 m 5702 6965 l gs col0 s gr
% Polyline
n 5702 1064 m 5704 1061 l gs col0 s gr
% Polyline
n 5706 1059 m 5704 1061 l gs col0 s gr
% Polyline
n 5706 1059 m 5730 1015 l gs col0 s gr
% Polyline
n 5746 986 m 5730 1015 l gs col0 s gr
% Polyline
n 5746 986 m 5756 969 l gs col0 s gr
% Polyline
n 5774 940 m 5756 969 l gs col0 s gr
% Polyline
n 5844 7214 m 5827 7184 l 5806 7146 l gs col0 s gr
% Polyline
n 5787 7113 m 5806 7146 l gs col0 s gr
% Polyline
n 5787 7113 m 5774 7089 l gs col0 s gr
% Polyline
n 5774 940 m 5783 924 l gs col0 s gr
% Polyline
n 5787 915 m 5783 924 l gs col0 s gr
% Polyline
n 5787 915 m 5808 878 l gs col0 s gr
% Polyline
n 5827 845 m 5808 878 l gs col0 s gr
% Polyline
n 5827 845 m 5834 832 l gs col0 s gr
% Polyline
n 5844 816 m 5834 832 l gs col0 s gr
% Polyline
n 5916 7340 m 5908 7328 l 5900 7311 l gs col0 s gr
% Polyline
n 5868 7256 m 5900 7311 l gs col0 s gr
% Polyline
n 5868 7256 m 5844 7214 l gs col0 s gr
% Polyline
n 5844 816 m 5860 789 l gs col0 s gr
% Polyline
n 5868 772 m 5860 789 l gs col0 s gr
% Polyline
n 5868 772 m 5885 743 l gs col0 s gr
% Polyline
n 5908 700 m 5885 743 l gs col0 s gr
% Polyline
n 5908 700 m 5911 698 l gs col0 s gr
% Polyline
n 5916 690 m 5911 698 l gs col0 s gr
% Polyline
n 5986 7466 m 5948 7398 l 5916 7340 l gs col0 s gr
% Polyline
n 5916 690 m 5935 651 l gs col0 s gr
% Polyline
n 5948 632 m 5935 651 l gs col0 s gr
% Polyline
n 5948 632 m 5962 605 l gs col0 s gr
% Polyline
n 5986 562 m 5962 605 l gs col0 s gr
% Polyline
n 6027 7543 m 5990 7474 l gs col0 s gr
% Polyline
n 5988 7469 m 5990 7474 l gs col0 s gr
% Polyline
n 5988 7469 m 5986 7466 l gs col0 s gr
% Polyline
n 5986 562 m 5988 560 l 6012 514 l gs col0 s gr
% Polyline
n 6027 488 m 6012 514 l gs col0 s gr
% Polyline
n 5043 2127 m 5023 2157 l gs col0 s gr
% Polyline
n 1089 2967 m 1116 2937 l gs col0 s gr
% Polyline
n 6946 4481 m 6945 4478 l 6944 4476 l gs col0 s gr
% Polyline
n 6930 4408 m 6944 4476 l gs col0 s gr
% Polyline
n 6930 4408 m 6925 4387 l gs col0 s gr
% Polyline
n 6917 4334 m 6925 4387 l gs col0 s gr
% Polyline
n 6917 4334 m 6913 4301 l gs col0 s gr
% Polyline
n 6908 4263 m 6913 4301 l gs col0 s gr
% Polyline
n 6908 4263 m 6902 4219 l gs col0 s gr
% Polyline
n 6899 4193 m 6902 4219 l gs col0 s gr
% Polyline
n 6899 4193 m 6896 4142 l gs col0 s gr
% Polyline
n 6894 4122 m 6896 4142 l gs col0 s gr
% Polyline
n 6894 4122 m 6892 4066 l gs col0 s gr
% Polyline
n 6892 4050 m 6892 4066 l gs col0 s gr
% Polyline
n 6892 4050 m 6892 3995 l gs col0 s gr
% Polyline
n 6892 3980 m 6892 3995 l gs col0 s gr
% Polyline
n 6892 3980 m 6893 3926 l gs col0 s gr
% Polyline
n 6894 3908 m 6893 3926 l gs col0 s gr
% Polyline
n 6894 3908 m 6898 3858 l gs col0 s gr
% Polyline
n 6899 3836 m 6898 3858 l gs col0 s gr
% Polyline
n 6899 3836 m 6904 3794 l gs col0 s gr
% Polyline
n 6908 3765 m 6904 3794 l gs col0 s gr
% Polyline
n 6908 3765 m 6912 3729 l gs col0 s gr
% Polyline
n 6917 3695 m 6912 3729 l gs col0 s gr
% Polyline
n 6917 3695 m 6921 3669 l gs col0 s gr
% Polyline
n 6930 3623 m 6921 3669 l gs col0 s gr
% Polyline
n 6930 3623 m 6933 3608 l gs col0 s gr
% Polyline
n 6945 3551 m 6933 3608 l gs col0 s gr
% Polyline
n 6945 3551 m 6945 3550 l gs col0 s gr
% Polyline
n 6946 3546 m 6945 3550 l gs col0 s gr
% Polyline
n 7017 4704 m 7013 4690 l 7011 4683 l gs col0 s gr
% Polyline
n 6987 4619 m 7011 4683 l gs col0 s gr
% Polyline
n 6987 4619 m 6974 4576 l gs col0 s gr
% Polyline
n 6965 4550 m 6974 4576 l gs col0 s gr
% Polyline
n 6965 4550 m 6946 4481 l gs col0 s gr
% Polyline
n 6946 3546 m 6961 3495 l gs col0 s gr
% Polyline
n 6965 3480 m 6961 3495 l gs col0 s gr
% Polyline
n 6965 3480 m 6978 3440 l gs col0 s gr
% Polyline
n 6987 3408 m 6978 3440 l gs col0 s gr
% Polyline
n 6987 3408 m 6995 3386 l gs col0 s gr
% Polyline
n 7013 3336 m 6995 3386 l gs col0 s gr
% Polyline
n 7013 3336 m 7015 3334 l gs col0 s gr
% Polyline
n 7017 3325 m 7015 3334 l gs col0 s gr
% Polyline
n 7088 4855 m 7078 4834 l 7067 4814 l gs col0 s gr
% Polyline
n 7043 4763 m 7067 4814 l gs col0 s gr
% Polyline
n 7043 4763 m 7017 4704 l gs col0 s gr
% Polyline
n 7017 3325 m 7036 3283 l gs col0 s gr
% Polyline
n 7043 3268 m 7036 3283 l gs col0 s gr
% Polyline
n 7043 3268 m 7058 3236 l gs col0 s gr
% Polyline
n 7078 3196 m 7058 3236 l gs col0 s gr
% Polyline
n 7078 3196 m 7082 3188 l gs col0 s gr
% Polyline
n 7088 3175 m 7082 3188 l gs col0 s gr
% Polyline
n 7160 4970 m 7119 4904 l 7088 4855 l gs col0 s gr
% Polyline
n 7088 3175 m 7107 3143 l gs col0 s gr
% Polyline
n 7119 3124 m 7107 3143 l gs col0 s gr
% Polyline
n 7119 3124 m 7134 3099 l gs col0 s gr
% Polyline
n 7160 3058 m 7134 3099 l gs col0 s gr
% Polyline
n 7231 5061 m 7218 5047 l 7180 4995 l gs col0 s gr
% Polyline
n 7164 4977 m 7180 4995 l gs col0 s gr
% Polyline
n 7164 4977 m 7160 4970 l gs col0 s gr
% Polyline
n 7160 3058 m 7162 3055 l gs col0 s gr
% Polyline
n 7164 3053 m 7162 3055 l gs col0 s gr
% Polyline
n 7164 3053 m 7192 3015 l gs col0 s gr
% Polyline
n 7218 2981 m 7192 3015 l gs col0 s gr
% Polyline
n 7218 2981 m 7225 2975 l gs col0 s gr
% Polyline
n 7231 2967 m 7225 2975 l gs col0 s gr
% Polyline
n 7301 5138 m 7283 5118 l 7231 5061 l gs col0 s gr
% Polyline
n 7283 2910 m 7257 2937 l gs col0 s gr
% Polyline
n 7283 2910 m 7292 2903 l gs col0 s gr
% Polyline
n 7301 2892 m 7292 2903 l gs col0 s gr
% Polyline
n 7373 5197 m 7362 5190 l 7301 5138 l gs col0 s gr
% Polyline
n 7301 2892 m 7330 2867 l gs col0 s gr
% Polyline
n 7362 2838 m 7330 2867 l gs col0 s gr
% Polyline
n 7362 2838 m 7367 2834 l gs col0 s gr
% Polyline
n 7373 2830 m 7367 2834 l gs col0 s gr
% Polyline
n 7373 5197 m 7399 5215 l gs col0 s gr
% Polyline
n 7443 5247 m 7399 5215 l gs col0 s gr
% Polyline
n 7373 2830 m 7409 2805 l gs col0 s gr
% Polyline
n 7443 2781 m 7409 2805 l gs col0 s gr
% Polyline
n 7513 5287 m 7466 5261 l 7443 5247 l gs col0 s gr
% Polyline
n 7443 2781 m 7451 2775 l gs col0 s gr
% Polyline
n 7466 2768 m 7451 2775 l gs col0 s gr
% Polyline
n 7466 2768 m 7497 2750 l gs col0 s gr
% Polyline
n 7513 2741 m 7497 2750 l gs col0 s gr
% Polyline
n 7513 5287 m 7563 5311 l gs col0 s gr
% Polyline
n 7585 5320 m 7563 5311 l gs col0 s gr
% Polyline
n 7513 2741 m 7545 2726 l gs col0 s gr
% Polyline
n 7585 2708 m 7545 2726 l gs col0 s gr
% Polyline
n 7655 5345 m 7618 5333 l 7585 5320 l gs col0 s gr
% Polyline
n 7585 2708 m 7593 2706 l gs col0 s gr
% Polyline
n 7618 2697 m 7593 2706 l gs col0 s gr
% Polyline
n 7618 2697 m 7647 2688 l gs col0 s gr
% Polyline
n 7655 2684 m 7647 2688 l gs col0 s gr
% Polyline
n 7655 5345 m 7674 5350 l gs col0 s gr
% Polyline
n 7727 5364 m 7674 5350 l gs col0 s gr
% Polyline
n 7655 2684 m 7701 2671 l gs col0 s gr
% Polyline
n 7727 2665 m 7701 2671 l gs col0 s gr
% Polyline
n 7727 5364 m 7764 5371 l gs col0 s gr
% Polyline
n 7798 5377 m 7764 5371 l gs col0 s gr
% Polyline
n 7727 2665 m 7760 2658 l gs col0 s gr
% Polyline
n 7798 2653 m 7760 2658 l gs col0 s gr
% Polyline
n 7798 5377 m 7847 5380 l gs col0 s gr
% Polyline
n 7869 5384 m 7847 5380 l gs col0 s gr
% Polyline
n 7798 2653 m 7822 2649 l gs col0 s gr
% Polyline
n 7869 2645 m 7822 2649 l gs col0 s gr
% Polyline
n 7869 5384 m 7922 5386 l gs col0 s gr
% Polyline
n 7940 5386 m 7922 5386 l gs col0 s gr
% Polyline
n 7869 2645 m 7888 2645 l gs col0 s gr
% Polyline
n 7940 2644 m 7888 2645 l gs col0 s gr
% Polyline
n 7940 5386 m 7991 5384 l gs col0 s gr
% Polyline
n 8011 5382 m 7991 5384 l gs col0 s gr
% Polyline
n 7940 2644 m 7959 2644 l gs col0 s gr
% Polyline
n 8011 2645 m 7959 2644 l gs col0 s gr
% Polyline
n 8011 5382 m 8057 5378 l gs col0 s gr
% Polyline
n 8081 5377 m 8057 5378 l gs col0 s gr
% Polyline
n 8011 2645 m 8034 2647 l gs col0 s gr
% Polyline
n 8081 2653 m 8034 2647 l gs col0 s gr
% Polyline
n 8081 5377 m 8120 5372 l gs col0 s gr
% Polyline
n 8154 5366 m 8120 5372 l gs col0 s gr
% Polyline
n 8081 2653 m 8114 2656 l gs col0 s gr
% Polyline
n 8154 2663 m 8114 2656 l gs col0 s gr
% Polyline
n 8154 5366 m 8181 5361 l gs col0 s gr
% Polyline
n 8224 5351 m 8181 5361 l gs col0 s gr
% Polyline
n 8154 2663 m 8200 2672 l gs col0 s gr
% Polyline
n 8224 2679 m 8200 2672 l gs col0 s gr
% Polyline
n 8224 5351 m 8240 5348 l gs col0 s gr
% Polyline
n 8296 5333 m 8240 5348 l gs col0 s gr
% Polyline
n 8224 2679 m 8292 2695 l gs col0 s gr
% Polyline
n 8296 2695 m 8292 2695 l gs col0 s gr
% Polyline
n 8296 5333 m 8297 5333 l gs col0 s gr
% Polyline
n 8300 5333 m 8297 5333 l gs col0 s gr
% Polyline
n 8300 5333 m 8351 5316 l gs col0 s gr
% Polyline
n 8366 5313 m 8351 5316 l gs col0 s gr
% Polyline
n 8366 2717 m 8300 2697 l 8296 2695 l gs col0 s gr
% Polyline
n 8366 5313 m 8403 5297 l gs col0 s gr
% Polyline
n 8437 5287 m 8403 5297 l gs col0 s gr
% Polyline
n 8366 2717 m 8397 2727 l gs col0 s gr
% Polyline
n 8437 2741 m 8397 2727 l gs col0 s gr
% Polyline
n 8437 5287 m 8456 5279 l gs col0 s gr
% Polyline
n 8507 5261 m 8456 5279 l gs col0 s gr
% Polyline
n 8507 5261 m 8508 5261 l gs col0 s gr
% Polyline
n 8509 5260 m 8508 5261 l gs col0 s gr
% Polyline
n 8509 2768 m 8507 2768 l 8437 2741 l gs col0 s gr
% Polyline
n 8509 5260 m 8556 5239 l gs col0 s gr
% Polyline
n 8580 5230 m 8556 5239 l gs col0 s gr
% Polyline
n 8508 2768 m 8510 2768 l gs col0 s gr
% Polyline
n 8580 2801 m 8509 2768 l gs col0 s gr
% Polyline
n 8580 5230 m 8606 5217 l gs col0 s gr
% Polyline
n 8650 5197 m 8606 5217 l gs col0 s gr
% Polyline
n 8580 2801 m 8638 2825 l gs col0 s gr
% Polyline
n 8650 2830 m 8638 2825 l gs col0 s gr
% Polyline
n 8650 5197 m 8655 5196 l gs col0 s gr
% Polyline
n 8665 5190 m 8655 5196 l gs col0 s gr
% Polyline
n 8665 5190 m 8703 5171 l gs col0 s gr
% Polyline
n 805 4481 m 804 4478 l 803 4476 l gs col0 s gr
% Polyline
n 8722 5162 m 8703 5171 l gs col0 s gr
% Polyline
7.500 slw
n 8472 5674 m 12283 544 l gs col0 s gr
% Polyline
30.000 slw
n 8722 2867 m 8665 2838 l 8650 2830 l gs col0 s gr
% Polyline
n 8722 5162 m 8749 5148 l gs col0 s gr
% Polyline
n 8792 5125 m 8749 5148 l gs col0 s gr
% Polyline
n 8722 2867 m 8780 2896 l gs col0 s gr
% Polyline
n 8792 2904 m 8780 2896 l gs col0 s gr
% Polyline
n 8792 5125 m 8796 5121 l gs col0 s gr
% Polyline
n 8804 5118 m 8796 5121 l gs col0 s gr
% Polyline
n 8804 5118 m 8843 5098 l gs col0 s gr
% Polyline
n 8862 5085 m 8843 5098 l gs col0 s gr
% Polyline
n 8862 2942 m 8804 2910 l 8792 2904 l gs col0 s gr
% Polyline
n 8862 5085 m 8887 5072 l gs col0 s gr
% Polyline
n 8931 5047 m 8887 5072 l gs col0 s gr
% Polyline
n 8931 5047 m 8932 5047 l gs col0 s gr
% Polyline
n 8934 5045 m 8932 5047 l gs col0 s gr
% Polyline
n 8934 2983 m 8931 2981 l 8862 2942 l gs col0 s gr
% Polyline
n 8934 5045 m 8977 5019 l gs col0 s gr
% Polyline
n 9004 5003 m 8977 5019 l gs col0 s gr
% Polyline
n 8934 2983 m 8940 2986 l gs col0 s gr
% Polyline
n 9004 3027 m 8940 2986 l gs col0 s gr
% Polyline
n 9004 5003 m 9021 4992 l gs col0 s gr
% Polyline
n 9049 4977 m 9021 4992 l gs col0 s gr
% Polyline
n 9049 4977 m 9065 4967 l gs col0 s gr
% Polyline
n 9076 4958 m 9065 4967 l gs col0 s gr
% Polyline
n 9076 3069 m 9049 3053 l 9004 3027 l gs col0 s gr
% Polyline
n 9076 4958 m 9109 4939 l gs col0 s gr
% Polyline
n 9147 4915 m 9109 4939 l gs col0 s gr
% Polyline
n 9076 3069 m 9122 3099 l gs col0 s gr
% Polyline
n 9147 3113 m 9122 3099 l gs col0 s gr
% Polyline
n 9147 4915 m 9152 4912 l gs col0 s gr
% Polyline
n 9163 4904 m 9152 4912 l gs col0 s gr
% Polyline
n 9163 4904 m 9195 4882 l gs col0 s gr
% Polyline
n 9218 4869 m 9195 4882 l gs col0 s gr
% Polyline
n 9218 3160 m 9163 3124 l 9147 3113 l gs col0 s gr
% Polyline
n 9218 4869 m 9240 4856 l gs col0 s gr
% Polyline
n 9276 4834 m 9240 4856 l gs col0 s gr
% Polyline
n 9276 4834 m 9283 4828 l gs col0 s gr
% Polyline
n 9289 4825 m 9283 4828 l gs col0 s gr
% Polyline
n 9289 3204 m 9276 3196 l 9218 3160 l gs col0 s gr
% Polyline
n 9289 4825 m 9328 4802 l gs col0 s gr
% Polyline
n 9360 4781 m 9328 4802 l gs col0 s gr
% Polyline
n 9289 3204 m 9311 3215 l gs col0 s gr
% Polyline
n 9360 3248 m 9311 3215 l gs col0 s gr
% Polyline
n 9360 4781 m 9373 4774 l gs col0 s gr
% Polyline
n 9394 4763 m 9373 4774 l gs col0 s gr
% Polyline
n 9394 4763 m 9416 4748 l gs col0 s gr
% Polyline
n 9430 4738 m 9416 4748 l gs col0 s gr
% Polyline
n 9430 3289 m 9394 3268 l 9360 3248 l gs col0 s gr
% Polyline
n 9430 4738 m 9461 4722 l gs col0 s gr
% Polyline
n 9502 4701 m 9461 4722 l gs col0 s gr
% Polyline
n 9430 3289 m 9482 3318 l gs col0 s gr
% Polyline
n 9502 3330 m 9482 3318 l gs col0 s gr
% Polyline
n 9502 4701 m 9507 4697 l gs col0 s gr
% Polyline
n 9520 4690 m 9507 4697 l gs col0 s gr
% Polyline
n 9520 4690 m 9554 4672 l gs col0 s gr
% Polyline
n 9573 4663 m 9554 4672 l gs col0 s gr
% Polyline
n 9573 3364 m 9520 3336 l 9502 3330 l gs col0 s gr
% Polyline
n 9573 4663 m 9603 4650 l gs col0 s gr
% Polyline
n 9644 4635 m 9603 4650 l gs col0 s gr
% Polyline
n 9573 3364 m 9620 3386 l gs col0 s gr
% Polyline
n 9644 3396 m 9620 3386 l gs col0 s gr
% Polyline
n 9644 4635 m 9653 4630 l gs col0 s gr
% Polyline
n 9686 4619 m 9653 4630 l gs col0 s gr
% Polyline
n 9686 4619 m 9707 4612 l gs col0 s gr
% Polyline
n 9715 4608 m 9707 4612 l gs col0 s gr
% Polyline
n 9715 3420 m 9686 3408 l 9644 3396 l gs col0 s gr
% Polyline
n 9715 4608 m 9763 4598 l gs col0 s gr
% Polyline
n 9785 4594 m 9763 4598 l gs col0 s gr
% Polyline
n 9715 3420 m 9729 3423 l gs col0 s gr
% Polyline
n 9785 3436 m 9729 3423 l gs col0 s gr
% Polyline
n 9785 4594 m 9826 4590 l gs col0 s gr
% Polyline
n 9857 4586 m 9826 4590 l gs col0 s gr
% Polyline
n 9785 3436 m 9815 3438 l gs col0 s gr
% Polyline
n 9857 3442 m 9815 3438 l gs col0 s gr
% Polyline
n 9857 4586 m 9899 4590 l gs col0 s gr
% Polyline
n 9928 4592 m 9899 4590 l gs col0 s gr
% Polyline
n 9857 3442 m 9887 3440 l gs col0 s gr
% Polyline
n 9928 3436 m 9887 3440 l gs col0 s gr
% Polyline
n 9928 4592 m 9985 4606 l gs col0 s gr
% Polyline
n 10000 4609 m 9985 4606 l gs col0 s gr
% Polyline
n 9928 3436 m 9950 3430 l gs col0 s gr
% Polyline
n 10000 3420 m 9950 3430 l gs col0 s gr
% Polyline
n 10069 4638 m 10023 4619 l 10000 4609 l gs col0 s gr
% Polyline
n 10000 3420 m 10007 3416 l gs col0 s gr
% Polyline
n 10023 3408 m 10007 3416 l gs col0 s gr
% Polyline
n 10023 3408 m 10057 3396 l gs col0 s gr
% Polyline
n 10069 3392 m 10057 3396 l gs col0 s gr
% Polyline
n 10069 4638 m 10108 4658 l gs col0 s gr
% Polyline
n 10140 4676 m 10108 4658 l gs col0 s gr
% Polyline
n 10069 3392 m 10104 3372 l gs col0 s gr
% Polyline
n 10140 3354 m 10104 3372 l gs col0 s gr
% Polyline
n 10212 4724 m 10161 4690 l 10140 4676 l gs col0 s gr
% Polyline
n 10140 3354 m 10150 3346 l gs col0 s gr
% Polyline
n 10161 3336 m 10150 3346 l gs col0 s gr
% Polyline
n 10161 3336 m 10192 3318 l gs col0 s gr
% Polyline
n 10212 3307 m 10192 3318 l gs col0 s gr
% Polyline
n 10282 4781 m 10259 4763 l 10212 4724 l gs col0 s gr
% Polyline
n 10212 3307 m 10233 3288 l gs col0 s gr
% Polyline
n 10259 3268 m 10233 3288 l gs col0 s gr
% Polyline
n 10259 3268 m 10271 3256 l gs col0 s gr
% Polyline
n 10282 3250 m 10271 3256 l gs col0 s gr
% Polyline
n 10353 4845 m 10341 4834 l 10282 4781 l gs col0 s gr
% Polyline
n 10282 3250 m 10310 3224 l gs col0 s gr
% Polyline
n 10341 3196 m 10310 3224 l gs col0 s gr
% Polyline
n 10341 3196 m 10348 3188 l gs col0 s gr
% Polyline
n 10353 3186 m 10348 3188 l gs col0 s gr
% Polyline
n 10424 4915 m 10413 4904 l 10353 4845 l gs col0 s gr
% Polyline
n 10353 3186 m 10384 3153 l gs col0 s gr
% Polyline
n 10413 3124 m 10384 3153 l gs col0 s gr
% Polyline
n 10413 3124 m 10419 3119 l gs col0 s gr
% Polyline
n 10424 3114 m 10419 3119 l gs col0 s gr
% Polyline
n 10495 4990 m 10482 4977 l 10424 4915 l gs col0 s gr
% Polyline
n 10424 3114 m 10454 3082 l gs col0 s gr
% Polyline
n 10482 3053 m 10454 3082 l gs col0 s gr
% Polyline
n 10482 3053 m 10490 3045 l gs col0 s gr
% Polyline
n 10495 3039 m 10490 3045 l gs col0 s gr
% Polyline
n 10566 5068 m 10545 5047 l 10495 4990 l gs col0 s gr
% Polyline
n 10495 3039 m 10521 3008 l gs col0 s gr
% Polyline
n 10545 2981 m 10521 3008 l gs col0 s gr
% Polyline
n 10545 2981 m 10556 2971 l gs col0 s gr
% Polyline
n 10566 2959 m 10556 2971 l gs col0 s gr
% Polyline
n 10638 5153 m 10607 5118 l 10566 5068 l gs col0 s gr
% Polyline
n 10566 2959 m 10588 2933 l gs col0 s gr
% Polyline
n 10607 2910 m 10588 2933 l gs col0 s gr
% Polyline
n 10607 2910 m 10621 2894 l gs col0 s gr
% Polyline
n 10638 2876 m 10621 2894 l gs col0 s gr
% Polyline
n 10708 5240 m 10666 5190 l 10638 5153 l gs col0 s gr
% Polyline
n 10638 2876 m 10654 2855 l gs col0 s gr
% Polyline
n 10666 2838 m 10654 2855 l gs col0 s gr
% Polyline
n 10666 2838 m 10686 2816 l gs col0 s gr
% Polyline
n 10708 2789 m 10686 2816 l gs col0 s gr
% Polyline
n 10780 5332 m 10724 5261 l 10708 5240 l gs col0 s gr
% Polyline
n 10708 2789 m 10717 2775 l gs col0 s gr
% Polyline
n 10724 2768 m 10717 2775 l gs col0 s gr
% Polyline
n 10724 2768 m 10748 2738 l gs col0 s gr
% Polyline
n 10780 2697 m 10748 2738 l gs col0 s gr
% Polyline
n 10851 5425 m 10833 5404 l 10781 5333 l gs col0 s gr
% Polyline
n 10780 5333 m 10781 5333 l gs col0 s gr
% Polyline
n 10780 5333 m 10780 5332 l gs col0 s gr
% Polyline
n 10780 2697 m 10810 2656 l gs col0 s gr
% Polyline
n 10833 2626 m 10810 2656 l gs col0 s gr
% Polyline
n 10833 2626 m 10841 2616 l gs col0 s gr
% Polyline
n 10851 2603 m 10841 2616 l gs col0 s gr
% Polyline
n 10921 5523 m 10886 5475 l 10851 5425 l gs col0 s gr
% Polyline
n 10851 2603 m 10871 2574 l gs col0 s gr
% Polyline
n 10886 2553 m 10871 2574 l gs col0 s gr
% Polyline
n 10886 2553 m 10901 2534 l gs col0 s gr
% Polyline
n 10921 2508 m 10901 2534 l gs col0 s gr
% Polyline
n 10993 5620 m 10990 5616 l 10982 5607 l gs col0 s gr
% Polyline
n 10938 5546 m 10982 5607 l gs col0 s gr
% Polyline
n 10938 5546 m 10921 5523 l gs col0 s gr
% Polyline
n 10921 2508 m 10931 2493 l gs col0 s gr
% Polyline
n 10938 2481 m 10931 2493 l gs col0 s gr
% Polyline
n 10938 2481 m 10961 2451 l gs col0 s gr
% Polyline
n 10990 2411 m 10961 2451 l gs col0 s gr
% Polyline
n 10990 2411 m 10991 2411 l gs col0 s gr
% Polyline
n 10993 2407 m 10991 2411 l gs col0 s gr
% Polyline
n 11063 5721 m 11039 5690 l 10993 5620 l gs col0 s gr
% Polyline
n 10993 2407 m 11021 2369 l gs col0 s gr
% Polyline
n 11039 2341 m 11021 2369 l gs col0 s gr
% Polyline
n 11039 2341 m 11049 2326 l gs col0 s gr
% Polyline
n 11063 2306 m 11049 2326 l gs col0 s gr
% Polyline
n 11134 5826 m 11088 5761 l 11063 5721 l gs col0 s gr
% Polyline
n 11063 2306 m 11078 2284 l gs col0 s gr
% Polyline
n 11088 2268 m 11078 2284 l gs col0 s gr
% Polyline
n 11088 2268 m 11107 2242 l gs col0 s gr
% Polyline
n 11134 2203 m 11107 2242 l gs col0 s gr
% Polyline
n 11206 5931 m 11185 5901 l 11145 5841 l gs col0 s gr
% Polyline
n 11138 5832 m 11145 5841 l gs col0 s gr
% Polyline
n 11138 5832 m 11134 5826 l gs col0 s gr
% Polyline
n 11134 2203 m 11137 2200 l gs col0 s gr
% Polyline
n 11138 2198 m 11137 2200 l gs col0 s gr
% Polyline
n 11138 2198 m 11165 2157 l gs col0 s gr
% Polyline
n 11185 2127 m 11193 2114 l gs col0 s gr
% Polyline
n 11206 2096 m 11193 2114 l gs col0 s gr
% Polyline
n 11277 6039 m 11232 5974 l 11206 5931 l gs col0 s gr
% Polyline
n 11206 2096 m 11222 2071 l gs col0 s gr
% Polyline
n 11232 2054 m 11222 2071 l gs col0 s gr
% Polyline
n 11232 2054 m 11250 2029 l gs col0 s gr
% Polyline
n 11277 1988 m 11250 2029 l gs col0 s gr
% Polyline
n 11346 6150 m 11325 6116 l 11285 6054 l gs col0 s gr
% Polyline
n 11279 6045 m 11285 6054 l gs col0 s gr
% Polyline
n 11279 6045 m 11277 6039 l gs col0 s gr
% Polyline
n 11277 1988 m 11278 1986 l gs col0 s gr
% Polyline
n 11279 1984 m 11278 1986 l gs col0 s gr
% Polyline
n 11279 1984 m 11306 1942 l gs col0 s gr
% Polyline
n 11325 1913 m 11306 1942 l gs col0 s gr
% Polyline
n 11325 1913 m 11335 1900 l gs col0 s gr
% Polyline
n 11346 1880 m 11335 1900 l gs col0 s gr
% Polyline
n 11418 6261 m 11417 6259 l 11414 6255 l gs col0 s gr
% Polyline
n 11372 6187 m 11414 6255 l gs col0 s gr
% Polyline
n 11372 6187 m 11346 6150 l gs col0 s gr
% Polyline
n 11346 1880 m 11362 1857 l gs col0 s gr
% Polyline
n 11372 1842 m 11362 1857 l gs col0 s gr
% Polyline
n 11372 1842 m 11390 1813 l gs col0 s gr
% Polyline
n 11417 1771 m 11390 1813 l gs col0 s gr
% Polyline
n 11417 1771 m 11418 1769 l gs col0 s gr
% Polyline
n 11489 6373 m 11461 6329 l 11418 6261 l gs col0 s gr
% Polyline
n 11418 1769 m 11445 1727 l gs col0 s gr
% Polyline
n 11461 1699 m 11445 1727 l gs col0 s gr
% Polyline
n 11461 1699 m 11472 1682 l gs col0 s gr
% Polyline
n 11489 1655 m 11472 1682 l gs col0 s gr
% Polyline
n 11560 6489 m 11550 6472 l 11531 6445 l gs col0 s gr
% Polyline
n 11505 6401 m 11531 6445 l gs col0 s gr
% Polyline
n 11505 6401 m 11489 6373 l gs col0 s gr
% Polyline
n 11489 1655 m 11500 1638 l gs col0 s gr
% Polyline
n 11505 1628 m 11500 1638 l gs col0 s gr
% Polyline
n 11505 1628 m 11527 1594 l gs col0 s gr
% Polyline
n 11550 1555 m 11527 1594 l gs col0 s gr
% Polyline
n 11550 1555 m 11554 1550 l gs col0 s gr
% Polyline
n 11560 1539 m 11554 1550 l gs col0 s gr
% Polyline
n 11631 6606 m 11592 6544 l 11560 6489 l gs col0 s gr
% Polyline
n 11560 1539 m 11581 1507 l gs col0 s gr
% Polyline
n 11592 1486 m 11581 1507 l gs col0 s gr
% Polyline
n 11592 1486 m 11608 1463 l gs col0 s gr
% Polyline
n 11631 1424 m 11608 1463 l gs col0 s gr
% Polyline
n 11701 6724 m 11679 6686 l 11644 6627 l gs col0 s gr
% Polyline
n 11636 6616 m 11644 6627 l gs col0 s gr
% Polyline
n 11636 6616 m 11631 6606 l gs col0 s gr
% Polyline
n 11631 1424 m 11634 1418 l gs col0 s gr
% Polyline
n 11636 1415 m 11634 1418 l gs col0 s gr
% Polyline
n 11636 1415 m 11660 1372 l gs col0 s gr
% Polyline
n 11679 1343 m 11660 1372 l gs col0 s gr
% Polyline
n 11679 1343 m 11688 1328 l gs col0 s gr
% Polyline
n 11701 1304 m 11688 1328 l gs col0 s gr
% Polyline
n 11773 6845 m 11763 6828 l 11751 6807 l gs col0 s gr
% Polyline
n 11721 6756 m 11751 6807 l gs col0 s gr
% Polyline
n 11721 6756 m 11701 6724 l gs col0 s gr
% Polyline
n 11701 1304 m 11714 1285 l gs col0 s gr
% Polyline
n 11721 1271 m 11714 1285 l gs col0 s gr
% Polyline
n 11721 1271 m 11741 1238 l gs col0 s gr
% Polyline
n 11763 1200 m 11741 1238 l gs col0 s gr
% Polyline
n 11763 1200 m 11767 1194 l gs col0 s gr
% Polyline
n 11773 1186 m 11767 1194 l gs col0 s gr
% Polyline
n 11844 6965 m 11805 6899 l 11773 6845 l gs col0 s gr
% Polyline
n 11773 1186 m 11794 1150 l gs col0 s gr
% Polyline
n 11805 1128 m 11794 1150 l gs col0 s gr
% Polyline
n 11805 1128 m 11819 1105 l gs col0 s gr
% Polyline
n 11844 1064 m 11819 1105 l gs col0 s gr
% Polyline
n 11916 7089 m 11888 7043 l 11851 6979 l gs col0 s gr
% Polyline
n 11847 6971 m 11851 6979 l gs col0 s gr
% Polyline
n 11847 6971 m 11844 6965 l gs col0 s gr
% Polyline
n 11844 1064 m 11846 1061 l gs col0 s gr
% Polyline
n 11847 1059 m 11846 1061 l gs col0 s gr
% Polyline
n 11847 1059 m 11871 1015 l gs col0 s gr
% Polyline
n 11888 986 m 11871 1015 l gs col0 s gr
% Polyline
n 11888 986 m 11898 969 l gs col0 s gr
% Polyline
n 11916 940 m 11898 969 l gs col0 s gr
% Polyline
n 11986 7214 m 11969 7184 l 11948 7146 l gs col0 s gr
% Polyline
n 11929 7113 m 11948 7146 l gs col0 s gr
% Polyline
n 11929 7113 m 11916 7089 l gs col0 s gr
% Polyline
n 11916 940 m 11925 924 l gs col0 s gr
% Polyline
n 11929 915 m 11925 924 l gs col0 s gr
% Polyline
n 11929 915 m 11950 878 l gs col0 s gr
% Polyline
n 11969 845 m 11950 878 l gs col0 s gr
% Polyline
n 11969 845 m 11975 832 l gs col0 s gr
% Polyline
n 11986 816 m 11975 832 l gs col0 s gr
% Polyline
n 12057 7340 m 12050 7328 l 12041 7311 l gs col0 s gr
% Polyline
n 12010 7256 m 12041 7311 l gs col0 s gr
% Polyline
n 12010 7256 m 11986 7214 l gs col0 s gr
% Polyline
n 11986 816 m 12002 789 l gs col0 s gr
% Polyline
n 12010 772 m 12002 789 l gs col0 s gr
% Polyline
n 12010 772 m 12027 743 l gs col0 s gr
% Polyline
n 12050 700 m 12027 743 l gs col0 s gr
% Polyline
n 12050 700 m 12053 698 l gs col0 s gr
% Polyline
n 12057 690 m 12053 698 l gs col0 s gr
% Polyline
n 12128 7466 m 12090 7398 l 12057 7340 l gs col0 s gr
% Polyline
n 12057 690 m 12077 651 l gs col0 s gr
% Polyline
n 12090 632 m 12077 651 l gs col0 s gr
% Polyline
n 12090 632 m 12103 605 l gs col0 s gr
% Polyline
n 12128 562 m 12103 605 l gs col0 s gr
% Polyline
n 12169 7543 m 12132 7474 l gs col0 s gr
% Polyline
n 12130 7469 m 12132 7474 l gs col0 s gr
% Polyline
n 12130 7469 m 12128 7466 l gs col0 s gr
% Polyline
n 12128 562 m 12130 560 l 12154 514 l gs col0 s gr
% Polyline
n 12169 488 m 12154 514 l gs col0 s gr
% Polyline
n 11185 2127 m 11165 2157 l gs col0 s gr
% Polyline
n 7231 2967 m 7257 2937 l gs col0 s gr
7.500 slw
% Ellipse
n 3938 3386 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 5487 1427 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 2497 5205 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 3005 3113 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 8304 2699 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 10261 3269 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 8943 5041 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 1518 2684 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 11629 1427 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
0 slc
n 472 2379 m 5060 3711 l gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
1 slc
n 2180 5605 m 6141 601 l gs col0 s gr
% Polyline
0 slc
n 6614 2207 m 11202 3540 l gs col7 0.00 shd ef gr gs col0 s gr
$F2psEnd
rs
%%EndDocument
@endspecial 2316 3172 a Fq(P)2670 3474 y(P)33 b Fo(\003)21
b Fq(P)2878 2940 y Fo(O)2469 3765 y Fw(2)p Fq(P)957 3162
y(P)1267 3247 y(Q)1413 3495 y(P)33 b Fo(\003)21 b Fq(Q)1661
2940 y Fo(O)1175 3802 y Fq(P)33 b Fw(+)20 b Fq(Q)1169
4488 y Fw(Abbildung)27 b(2.4:)32 b(Addition)c(zw)m(eier)i(Punkte)531
4704 y(Abgesehen)c(v)m(om)g(Nac)m(h)m(w)m(eis)h(der)e(Assoziativit)2179
4708 y(\177)2179 4704 y(at)g(ist)g(es)h(n)m(un)f(nic)m(h)m(t)g(mehr)g
(sc)m(h)m(w)m(er)h(zu)390 4817 y(zeigen,)f(da\031)g(die)f(Menge)i(der)e
(Punkte)g(einer)g(elliptisc)m(hen)e(Kurv)m(e)i(mit)g(der)h(V)-8
b(erkn)3238 4821 y(\177)3235 4817 y(upfung)390 4930 y(der)29
b(Addition)e(zu)i(einer)g Fu(ab)-5 b(elschen)32 b(Grupp)-5
b(e)38 b Fw(wird.)28 b(Dab)s(ei)g(wirkt)h Fo(O)j Fw(als)d(neutrales)f
(Ele-)390 5043 y(men)m(t)j(in)e(der)h(Grupp)s(e.)542
5138 y(\177)531 5157 y(Ub)s(errasc)m(henderw)m(eise)i(liefert)g(diese)g
(De\014nition)g(unabh)2552 5161 y(\177)2552 5157 y(angig)f(v)m(on)i
(der)g(W)-8 b(ahl)33 b(v)m(on)390 5270 y Fo(O)k Fw(die)32
b(gleic)m(he)i(Grupp)s(enstruktur.)d(Im)i(allgemeinen)g(en)m(tsc)m
(heidet)h(man)g(sic)m(h)f(ab)s(er)g(f)3427 5274 y(\177)3424
5270 y(ur)390 5383 y(den)44 b(F)-8 b(ernpunkt)43 b(\()p
Fo(1)p Fw(\).)i(Das)g(hat)f(den)g(V)-8 b(orteil,)44 b(da\031)h(die)e
(In)m(v)m(ertierung)g(eines)h(Punk-)390 5496 y(tes)e(sehr)e(sc)m(hnell)
g(geh)m(t,)i(da)f(hierzu)f(die)g(V)-8 b(erbindungsgerade)40
b(eines)g(Punktes)h(mit)f Fo(O)390 5609 y Fw(der)j(Senkrec)m(h)m(ten)g
(im)f(a\016nen)h(Ko)s(ordinatensystem)f(en)m(tspric)m(h)m(t.)h(Das)h
(In)m(v)m(erse)g(eines)p eop
%%Page: 11 12
11 11 bop 270 82 a Fw(2.2.)62 b(Elliptisc)m(he)28 b(Kurv)m(en)h(als)h
(ab)s(elsc)m(he)g(Grupp)s(en)1210 b(11)1248 1741 y @beginspecial
0 @llx 0 @lly 341 @urx 426 @ury 1700 @rhi @clip @setspecial
%%BeginDocument: Pics/zero.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: piczero.eps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Fri Oct 8 14:26:34 1999
%%For: crnjak@fb0409 (Markus Crnjak)
%%Orientation: Portrait
%%BoundingBox: 0 0 341 426
%%Pages: 0
%%BeginSetup
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.298 0.298 0.298 srgb} bind def
end
save
-27.0 455.0 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/DrawEllipse {
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def
/savematrix mtrx currentmatrix def
x y tr xrad yrad sc 0 0 1 startangle endangle arc
closepath
savematrix setmatrix
} def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog
$F2psBegin
10 setmiterlimit
n -1000 8568 m -1000 -1000 l 7127 -1000 l 7127 8568 l cp clip
0.06000 0.06000 sc
% Polyline
1 slc
30.000 slw
n 792 4417 m 806 4486 l gs col0 s gr
% Polyline
n 792 4417 m 788 4397 l gs col0 s gr
% Polyline
n 779 4345 m 788 4397 l gs col0 s gr
% Polyline
n 779 4345 m 774 4311 l gs col0 s gr
% Polyline
n 769 4274 m 774 4311 l gs col0 s gr
% Polyline
n 769 4274 m 765 4230 l gs col0 s gr
% Polyline
n 761 4203 m 765 4230 l gs col0 s gr
% Polyline
n 761 4203 m 758 4154 l gs col0 s gr
% Polyline
n 756 4135 m 758 4154 l gs col0 s gr
% Polyline
n 756 4135 m 754 4078 l gs col0 s gr
% Polyline
n 754 4062 m 754 4078 l gs col0 s gr
% Polyline
n 754 4062 m 754 4008 l gs col0 s gr
% Polyline
n 754 3992 m 754 4008 l gs col0 s gr
% Polyline
n 754 3992 m 755 3939 l gs col0 s gr
% Polyline
n 756 3921 m 755 3939 l gs col0 s gr
% Polyline
n 756 3921 m 760 3870 l gs col0 s gr
% Polyline
n 761 3849 m 760 3870 l gs col0 s gr
% Polyline
n 761 3849 m 766 3806 l gs col0 s gr
% Polyline
n 769 3779 m 766 3806 l gs col0 s gr
% Polyline
n 769 3779 m 773 3743 l gs col0 s gr
% Polyline
n 779 3709 m 773 3743 l gs col0 s gr
% Polyline
n 779 3709 m 784 3683 l gs col0 s gr
% Polyline
n 792 3637 m 784 3683 l gs col0 s gr
% Polyline
n 792 3637 m 795 3623 l gs col0 s gr
% Polyline
n 807 3566 m 795 3623 l gs col0 s gr
% Polyline
n 807 3566 m 807 3565 l gs col0 s gr
% Polyline
n 808 3561 m 807 3565 l gs col0 s gr
% Polyline
n 878 4712 m 874 4699 l 872 4692 l gs col0 s gr
% Polyline
n 849 4628 m 872 4692 l gs col0 s gr
% Polyline
n 849 4628 m 835 4584 l gs col0 s gr
% Polyline
n 827 4559 m 835 4584 l gs col0 s gr
% Polyline
n 827 4559 m 808 4491 l gs col0 s gr
% Polyline
n 808 3561 m 823 3510 l gs col0 s gr
% Polyline
n 827 3495 m 823 3510 l gs col0 s gr
% Polyline
n 827 3495 m 839 3456 l gs col0 s gr
% Polyline
n 849 3423 m 839 3456 l gs col0 s gr
% Polyline
n 849 3423 m 856 3402 l gs col0 s gr
% Polyline
n 874 3353 m 856 3402 l gs col0 s gr
% Polyline
n 874 3353 m 875 3351 l gs col0 s gr
% Polyline
n 878 3341 m 875 3351 l gs col0 s gr
% Polyline
n 949 4862 m 938 4843 l 929 4822 l gs col0 s gr
% Polyline
n 904 4771 m 929 4822 l gs col0 s gr
% Polyline
n 904 4771 m 878 4712 l gs col0 s gr
% Polyline
n 878 3341 m 896 3300 l gs col0 s gr
% Polyline
n 904 3285 m 896 3300 l gs col0 s gr
% Polyline
n 904 3285 m 918 3252 l gs col0 s gr
% Polyline
n 938 3213 m 918 3252 l gs col0 s gr
% Polyline
n 938 3213 m 942 3205 l gs col0 s gr
% Polyline
n 949 3193 m 942 3205 l gs col0 s gr
% Polyline
n 1020 4976 m 979 4912 l 949 4862 l gs col0 s gr
% Polyline
n 949 3193 m 969 3160 l gs col0 s gr
% Polyline
n 979 3141 m 969 3160 l gs col0 s gr
% Polyline
n 979 3141 m 995 3117 l gs col0 s gr
% Polyline
n 1020 3076 m 995 3117 l gs col0 s gr
% Polyline
n 1091 5067 m 1079 5054 l 1040 5002 l gs col0 s gr
% Polyline
n 1024 4983 m 1040 5002 l gs col0 s gr
% Polyline
n 1024 4983 m 1020 4976 l gs col0 s gr
% Polyline
n 1020 3076 m 1022 3072 l gs col0 s gr
% Polyline
n 1024 3070 m 1022 3072 l gs col0 s gr
% Polyline
n 1024 3070 m 1053 3033 l gs col0 s gr
% Polyline
n 1079 2999 m 1053 3033 l gs col0 s gr
% Polyline
n 1079 2999 m 1085 2993 l gs col0 s gr
% Polyline
n 1091 2985 m 1085 2993 l gs col0 s gr
% Polyline
n 1162 5143 m 1144 5124 l 1091 5067 l gs col0 s gr
% Polyline
n 1144 2928 m 1118 2956 l gs col0 s gr
% Polyline
n 1144 2928 m 1152 2921 l gs col0 s gr
% Polyline
n 1162 2911 m 1152 2921 l gs col0 s gr
% Polyline
n 1232 5203 m 1222 5195 l 1162 5143 l gs col0 s gr
% Polyline
n 1162 2911 m 1189 2886 l gs col0 s gr
% Polyline
n 1222 2857 m 1189 2886 l gs col0 s gr
% Polyline
n 1222 2857 m 1227 2853 l gs col0 s gr
% Polyline
n 1232 2849 m 1227 2853 l gs col0 s gr
% Polyline
n 1232 5203 m 1257 5220 l gs col0 s gr
% Polyline
n 1302 5252 m 1257 5220 l gs col0 s gr
% Polyline
n 1232 2849 m 1269 2824 l gs col0 s gr
% Polyline
n 1302 2801 m 1269 2824 l gs col0 s gr
% Polyline
n 1373 5292 m 1325 5267 l 1302 5252 l gs col0 s gr
% Polyline
n 1302 2801 m 1311 2795 l gs col0 s gr
% Polyline
n 1325 2787 m 1311 2795 l gs col0 s gr
% Polyline
n 1325 2787 m 1356 2769 l gs col0 s gr
% Polyline
n 1373 2760 m 1356 2769 l gs col0 s gr
% Polyline
n 1373 5292 m 1421 5316 l gs col0 s gr
% Polyline
n 1443 5325 m 1421 5316 l gs col0 s gr
% Polyline
n 1373 2760 m 1403 2746 l gs col0 s gr
% Polyline
n 1443 2728 m 1403 2746 l gs col0 s gr
% Polyline
n 1513 5351 m 1477 5338 l 1443 5325 l gs col0 s gr
% Polyline
n 1443 2728 m 1451 2726 l gs col0 s gr
% Polyline
n 1477 2717 m 1451 2726 l gs col0 s gr
% Polyline
n 1477 2717 m 1504 2707 l gs col0 s gr
% Polyline
n 1513 2703 m 1504 2707 l gs col0 s gr
% Polyline
n 1513 5351 m 1531 5355 l gs col0 s gr
% Polyline
n 1584 5369 m 1531 5355 l gs col0 s gr
% Polyline
n 1513 2703 m 1560 2691 l gs col0 s gr
% Polyline
n 1584 2685 m 1560 2691 l gs col0 s gr
% Polyline
n 1584 5369 m 1622 5375 l gs col0 s gr
% Polyline
n 1655 5381 m 1622 5375 l gs col0 s gr
% Polyline
n 1584 2685 m 1617 2678 l gs col0 s gr
% Polyline
n 1655 2672 m 1617 2678 l gs col0 s gr
% Polyline
n 1655 5381 m 1703 5384 l gs col0 s gr
% Polyline
n 1725 5388 m 1703 5384 l gs col0 s gr
% Polyline
n 1655 2672 m 1679 2669 l gs col0 s gr
% Polyline
n 1725 2665 m 1679 2669 l gs col0 s gr
% Polyline
n 1725 5388 m 1778 5391 l gs col0 s gr
% Polyline
n 1796 5391 m 1778 5391 l gs col0 s gr
% Polyline
n 1725 2665 m 1745 2665 l gs col0 s gr
% Polyline
n 1796 2664 m 1745 2665 l gs col0 s gr
% Polyline
n 1796 5391 m 1847 5388 l gs col0 s gr
% Polyline
n 1867 5386 m 1847 5388 l gs col0 s gr
% Polyline
n 1796 2664 m 1814 2664 l gs col0 s gr
% Polyline
n 1867 2665 m 1814 2664 l gs col0 s gr
% Polyline
n 1867 5386 m 1912 5382 l gs col0 s gr
% Polyline
n 1938 5381 m 1912 5382 l gs col0 s gr
% Polyline
n 1867 2665 m 1889 2667 l gs col0 s gr
% Polyline
n 1938 2672 m 1889 2667 l gs col0 s gr
% Polyline
n 1938 5381 m 1975 5376 l gs col0 s gr
% Polyline
n 2008 5371 m 1975 5376 l gs col0 s gr
% Polyline
n 1938 2672 m 1969 2676 l gs col0 s gr
% Polyline
n 2008 2683 m 1969 2676 l gs col0 s gr
% Polyline
n 2008 5371 m 2035 5365 l gs col0 s gr
% Polyline
n 2078 5356 m 2035 5365 l gs col0 s gr
% Polyline
n 2008 2683 m 2055 2692 l gs col0 s gr
% Polyline
n 2078 2698 m 2055 2692 l gs col0 s gr
% Polyline
n 2078 5356 m 2094 5353 l gs col0 s gr
% Polyline
n 2150 5338 m 2094 5353 l gs col0 s gr
% Polyline
n 2078 2698 m 2146 2713 l gs col0 s gr
% Polyline
n 2150 2713 m 2146 2713 l gs col0 s gr
% Polyline
n 2150 5338 m 2151 5338 l gs col0 s gr
% Polyline
n 2154 5338 m 2151 5338 l gs col0 s gr
% Polyline
n 2154 5338 m 2204 5321 l gs col0 s gr
% Polyline
n 2220 5318 m 2204 5321 l gs col0 s gr
% Polyline
n 2220 2737 m 2154 2717 l 2150 2713 l gs col0 s gr
% Polyline
n 2220 5318 m 2257 5302 l gs col0 s gr
% Polyline
n 2290 5292 m 2257 5302 l gs col0 s gr
% Polyline
n 2220 2737 m 2250 2747 l gs col0 s gr
% Polyline
n 2290 2760 m 2250 2747 l gs col0 s gr
% Polyline
n 2290 5292 m 2309 5285 l gs col0 s gr
% Polyline
n 2360 5267 m 2309 5285 l gs col0 s gr
% Polyline
n 2360 5267 m 2361 5267 l gs col0 s gr
% Polyline
n 2361 5266 m 2361 5267 l gs col0 s gr
% Polyline
n 2361 2787 m 2360 2787 l 2290 2760 l gs col0 s gr
% Polyline
n 2361 5266 m 2409 5246 l gs col0 s gr
% Polyline
n 2432 5236 m 2409 5246 l gs col0 s gr
% Polyline
n 2361 2787 m 2362 2787 l gs col0 s gr
% Polyline
n 2432 2819 m 2362 2787 l gs col0 s gr
% Polyline
n 2432 5236 m 2458 5223 l gs col0 s gr
% Polyline
n 2502 5203 m 2458 5223 l gs col0 s gr
% Polyline
n 2432 2819 m 2490 2844 l gs col0 s gr
% Polyline
n 2502 2849 m 2490 2844 l gs col0 s gr
% Polyline
n 2502 5203 m 2507 5202 l gs col0 s gr
% Polyline
n 2517 5195 m 2507 5202 l gs col0 s gr
% Polyline
n 2517 5195 m 2555 5177 l gs col0 s gr
% Polyline
n 2573 5168 m 2555 5177 l gs col0 s gr
% Polyline
n 2573 2886 m 2517 2857 l 2502 2849 l gs col0 s gr
% Polyline
n 2573 5168 m 2600 5153 l gs col0 s gr
% Polyline
n 2643 5131 m 2600 5153 l gs col0 s gr
% Polyline
n 2573 2886 m 2630 2915 l gs col0 s gr
% Polyline
n 2643 2922 m 2630 2915 l gs col0 s gr
% Polyline
n 2643 5131 m 2647 5127 l gs col0 s gr
% Polyline
n 2655 5124 m 2647 5127 l gs col0 s gr
% Polyline
n 2655 5124 m 2693 5104 l gs col0 s gr
% Polyline
n 2713 5091 m 2693 5104 l gs col0 s gr
% Polyline
n 2713 2961 m 2655 2928 l 2643 2922 l gs col0 s gr
% Polyline
n 2713 5091 m 2738 5080 l gs col0 s gr
% Polyline
n 2781 5054 m 2738 5080 l gs col0 s gr
% Polyline
n 2781 5054 m 2783 5054 l gs col0 s gr
% Polyline
n 2784 5051 m 2783 5054 l gs col0 s gr
% Polyline
n 2784 3001 m 2781 2999 l 2713 2961 l gs col0 s gr
% Polyline
n 2784 5051 m 2828 5026 l gs col0 s gr
% Polyline
n 2854 5011 m 2828 5026 l gs col0 s gr
% Polyline
n 2784 3001 m 2790 3004 l gs col0 s gr
% Polyline
n 2854 3045 m 2790 3004 l gs col0 s gr
% Polyline
n 2854 5011 m 2871 4998 l gs col0 s gr
% Polyline
n 2899 4983 m 2871 4998 l gs col0 s gr
% Polyline
n 2899 4983 m 2915 4974 l gs col0 s gr
% Polyline
n 2924 4965 m 2915 4974 l gs col0 s gr
% Polyline
n 2924 3086 m 2899 3070 l 2854 3045 l gs col0 s gr
% Polyline
n 2924 4965 m 2958 4946 l gs col0 s gr
% Polyline
n 2996 4922 m 2958 4946 l gs col0 s gr
% Polyline
n 2924 3086 m 2971 3117 l gs col0 s gr
% Polyline
n 2996 3131 m 2971 3117 l gs col0 s gr
% Polyline
n 2996 4922 m 3002 4918 l gs col0 s gr
% Polyline
n 3012 4912 m 3002 4918 l gs col0 s gr
% Polyline
n 3012 4912 m 3045 4890 l gs col0 s gr
% Polyline
n 3067 4876 m 3045 4890 l gs col0 s gr
% Polyline
n 3067 3176 m 3012 3141 l 2996 3131 l gs col0 s gr
% Polyline
n 3067 4876 m 3089 4864 l gs col0 s gr
% Polyline
n 3125 4843 m 3089 4864 l gs col0 s gr
% Polyline
n 3125 4843 m 3132 4835 l gs col0 s gr
% Polyline
n 3138 4832 m 3132 4835 l gs col0 s gr
% Polyline
n 3138 3220 m 3125 3213 l 3067 3176 l gs col0 s gr
% Polyline
n 3138 4832 m 3175 4809 l gs col0 s gr
% Polyline
n 3208 4789 m 3175 4809 l gs col0 s gr
% Polyline
n 3138 3220 m 3159 3232 l gs col0 s gr
% Polyline
n 3208 3264 m 3159 3232 l gs col0 s gr
% Polyline
n 3208 4789 m 3220 4783 l gs col0 s gr
% Polyline
n 3241 4771 m 3220 4783 l gs col0 s gr
% Polyline
n 3241 4771 m 3264 4755 l gs col0 s gr
% Polyline
n 3278 4746 m 3264 4755 l gs col0 s gr
% Polyline
n 3278 3306 m 3241 3285 l 3208 3264 l gs col0 s gr
% Polyline
n 3278 4746 m 3309 4730 l gs col0 s gr
% Polyline
n 3350 4709 m 3309 4730 l gs col0 s gr
% Polyline
n 3278 3306 m 3330 3334 l gs col0 s gr
% Polyline
n 3350 3346 m 3330 3334 l gs col0 s gr
% Polyline
n 3350 4709 m 3355 4705 l gs col0 s gr
% Polyline
n 3367 4699 m 3355 4705 l gs col0 s gr
% Polyline
n 3367 4699 m 3401 4681 l gs col0 s gr
% Polyline
n 3420 4671 m 3401 4681 l gs col0 s gr
% Polyline
n 3420 3380 m 3367 3353 l 3350 3346 l gs col0 s gr
% Polyline
n 3420 4671 m 3449 4659 l gs col0 s gr
% Polyline
n 3490 4643 m 3449 4659 l gs col0 s gr
% Polyline
n 3420 3380 m 3467 3402 l gs col0 s gr
% Polyline
n 3490 3412 m 3467 3402 l gs col0 s gr
% Polyline
n 3490 4643 m 3499 4639 l gs col0 s gr
% Polyline
n 3531 4628 m 3499 4639 l gs col0 s gr
% Polyline
n 3531 4628 m 3553 4621 l gs col0 s gr
% Polyline
n 3561 4618 m 3553 4621 l gs col0 s gr
% Polyline
n 808 4491 m 807 4488 l 806 4486 l gs col0 s gr
% Polyline
n 3561 3436 m 3531 3423 l 3490 3412 l gs col0 s gr
% Polyline
7.500 slw
n 472 3639 m 6115 1166 l gs col0 s gr
% Polyline
30.000 slw
n 3561 4618 m 3609 4607 l gs col0 s gr
% Polyline
n 3631 4602 m 3609 4607 l gs col0 s gr
% Polyline
n 3561 3436 m 3574 3439 l gs col0 s gr
% Polyline
n 3631 3451 m 3574 3439 l gs col0 s gr
% Polyline
n 3631 4602 m 3672 4598 l gs col0 s gr
% Polyline
n 3702 4595 m 3672 4598 l gs col0 s gr
% Polyline
n 3631 3451 m 3660 3454 l gs col0 s gr
% Polyline
n 3702 3458 m 3660 3454 l gs col0 s gr
% Polyline
n 3702 4595 m 3743 4598 l gs col0 s gr
% Polyline
n 3773 4600 m 3743 4598 l gs col0 s gr
% Polyline
n 3702 3458 m 3732 3456 l gs col0 s gr
% Polyline
n 3773 3451 m 3732 3456 l gs col0 s gr
% Polyline
n 3773 4600 m 3829 4616 l gs col0 s gr
% Polyline
n 3844 4619 m 3829 4616 l gs col0 s gr
% Polyline
n 3773 3451 m 3795 3446 l gs col0 s gr
% Polyline
n 3844 3436 m 3795 3446 l gs col0 s gr
% Polyline
n 3913 4646 m 3867 4628 l 3844 4619 l gs col0 s gr
% Polyline
n 3844 3436 m 3850 3432 l gs col0 s gr
% Polyline
n 3867 3423 m 3850 3432 l gs col0 s gr
% Polyline
n 3867 3423 m 3901 3412 l gs col0 s gr
% Polyline
n 3913 3407 m 3901 3412 l gs col0 s gr
% Polyline
n 3913 4646 m 3951 4666 l gs col0 s gr
% Polyline
n 3984 4685 m 3951 4666 l gs col0 s gr
% Polyline
n 3913 3407 m 3948 3387 l gs col0 s gr
% Polyline
n 3984 3370 m 3948 3387 l gs col0 s gr
% Polyline
n 4054 4732 m 4005 4699 l 3984 4685 l gs col0 s gr
% Polyline
n 3984 3370 m 3993 3362 l gs col0 s gr
% Polyline
n 4005 3353 m 3993 3362 l gs col0 s gr
% Polyline
n 4005 3353 m 4035 3334 l gs col0 s gr
% Polyline
n 4054 3322 m 4035 3334 l gs col0 s gr
% Polyline
n 4124 4789 m 4101 4771 l 4054 4732 l gs col0 s gr
% Polyline
n 4054 3322 m 4076 3304 l gs col0 s gr
% Polyline
n 4101 3285 m 4076 3304 l gs col0 s gr
% Polyline
n 4101 3285 m 4115 3273 l gs col0 s gr
% Polyline
n 4124 3266 m 4115 3273 l gs col0 s gr
% Polyline
n 4196 4853 m 4183 4843 l 4124 4789 l gs col0 s gr
% Polyline
n 4124 3266 m 4153 3240 l gs col0 s gr
% Polyline
n 4183 3213 m 4153 3240 l gs col0 s gr
% Polyline
n 4183 3213 m 4191 3205 l gs col0 s gr
% Polyline
n 4196 3203 m 4191 3205 l gs col0 s gr
% Polyline
n 4266 4922 m 4256 4912 l 4196 4853 l gs col0 s gr
% Polyline
n 4196 3203 m 4226 3170 l gs col0 s gr
% Polyline
n 4256 3141 m 4226 3170 l gs col0 s gr
% Polyline
n 4256 3141 m 4261 3137 l gs col0 s gr
% Polyline
n 4266 3132 m 4261 3137 l gs col0 s gr
% Polyline
n 4337 4996 m 4324 4983 l 4266 4922 l gs col0 s gr
% Polyline
n 4266 3132 m 4297 3099 l gs col0 s gr
% Polyline
n 4324 3070 m 4297 3099 l gs col0 s gr
% Polyline
n 4324 3070 m 4331 3063 l gs col0 s gr
% Polyline
n 4337 3057 m 4331 3063 l gs col0 s gr
% Polyline
n 4408 5075 m 4387 5054 l 4337 4996 l gs col0 s gr
% Polyline
n 4337 3057 m 4363 3026 l gs col0 s gr
% Polyline
n 4387 2999 m 4363 3026 l gs col0 s gr
% Polyline
n 4387 2999 m 4397 2988 l gs col0 s gr
% Polyline
n 4408 2977 m 4397 2988 l gs col0 s gr
% Polyline
n 4478 5160 m 4449 5124 l 4408 5075 l gs col0 s gr
% Polyline
n 4408 2977 m 4430 2951 l gs col0 s gr
% Polyline
n 4449 2928 m 4430 2951 l gs col0 s gr
% Polyline
n 4449 2928 m 4461 2913 l gs col0 s gr
% Polyline
n 4478 2895 m 4461 2913 l gs col0 s gr
% Polyline
n 4549 5247 m 4507 5195 l 4478 5160 l gs col0 s gr
% Polyline
n 4478 2895 m 4494 2874 l gs col0 s gr
% Polyline
n 4507 2857 m 4494 2874 l gs col0 s gr
% Polyline
n 4507 2857 m 4527 2835 l gs col0 s gr
% Polyline
n 4549 2808 m 4527 2835 l gs col0 s gr
% Polyline
n 4619 5337 m 4563 5267 l 4549 5247 l gs col0 s gr
% Polyline
n 4549 2808 m 4557 2795 l gs col0 s gr
% Polyline
n 4563 2787 m 4557 2795 l gs col0 s gr
% Polyline
n 4563 2787 m 4588 2756 l gs col0 s gr
% Polyline
n 4619 2717 m 4588 2756 l gs col0 s gr
% Polyline
n 4690 5429 m 4672 5409 l 4620 5338 l gs col0 s gr
% Polyline
n 4619 5338 m 4620 5338 l gs col0 s gr
% Polyline
n 4619 5338 m 4619 5337 l gs col0 s gr
% Polyline
n 4619 2717 m 4649 2676 l gs col0 s gr
% Polyline
n 4672 2646 m 4649 2676 l gs col0 s gr
% Polyline
n 4672 2646 m 4681 2636 l gs col0 s gr
% Polyline
n 4690 2623 m 4681 2636 l gs col0 s gr
% Polyline
n 4761 5526 m 4725 5479 l 4690 5429 l gs col0 s gr
% Polyline
n 4690 2623 m 4710 2594 l gs col0 s gr
% Polyline
n 4725 2574 m 4710 2594 l gs col0 s gr
% Polyline
n 4725 2574 m 4741 2554 l gs col0 s gr
% Polyline
n 4761 2529 m 4741 2554 l gs col0 s gr
% Polyline
n 4831 5624 m 4828 5619 l 4822 5610 l gs col0 s gr
% Polyline
n 4777 5549 m 4822 5610 l gs col0 s gr
% Polyline
n 4777 5549 m 4761 5526 l gs col0 s gr
% Polyline
n 4761 2529 m 4770 2514 l gs col0 s gr
% Polyline
n 4777 2502 m 4770 2514 l gs col0 s gr
% Polyline
n 4777 2502 m 4800 2472 l gs col0 s gr
% Polyline
n 4828 2432 m 4800 2472 l gs col0 s gr
% Polyline
n 4828 2432 m 4829 2432 l gs col0 s gr
% Polyline
n 4831 2428 m 4829 2432 l gs col0 s gr
% Polyline
n 4901 5724 m 4877 5692 l 4831 5624 l gs col0 s gr
% Polyline
n 4831 2428 m 4859 2390 l gs col0 s gr
% Polyline
n 4877 2363 m 4859 2390 l gs col0 s gr
% Polyline
n 4877 2363 m 4888 2348 l gs col0 s gr
% Polyline
n 4901 2328 m 4888 2348 l gs col0 s gr
% Polyline
n 4972 5828 m 4927 5763 l 4901 5724 l gs col0 s gr
% Polyline
n 4901 2328 m 4916 2306 l gs col0 s gr
% Polyline
n 4927 2290 m 4916 2306 l gs col0 s gr
% Polyline
n 4927 2290 m 4945 2264 l gs col0 s gr
% Polyline
n 4972 2225 m 4945 2264 l gs col0 s gr
% Polyline
n 5043 5932 m 5023 5903 l 4982 5843 l gs col0 s gr
% Polyline
n 4976 5834 m 4982 5843 l gs col0 s gr
% Polyline
n 4976 5834 m 4972 5828 l gs col0 s gr
% Polyline
n 4972 2225 m 4975 2222 l gs col0 s gr
% Polyline
n 4976 2220 m 4975 2222 l gs col0 s gr
% Polyline
n 4976 2220 m 5002 2180 l gs col0 s gr
% Polyline
n 5023 2149 m 5030 2137 l gs col0 s gr
% Polyline
n 5043 2119 m 5030 2137 l gs col0 s gr
% Polyline
n 5114 6040 m 5069 5975 l 5043 5932 l gs col0 s gr
% Polyline
n 5043 2119 m 5059 2094 l gs col0 s gr
% Polyline
n 5069 2077 m 5059 2094 l gs col0 s gr
% Polyline
n 5069 2077 m 5087 2052 l gs col0 s gr
% Polyline
n 5114 2012 m 5087 2052 l gs col0 s gr
% Polyline
n 5184 6150 m 5162 6117 l 5122 6055 l gs col0 s gr
% Polyline
n 5117 6046 m 5122 6055 l gs col0 s gr
% Polyline
n 5117 6046 m 5114 6040 l gs col0 s gr
% Polyline
n 5114 2012 m 5114 2010 l gs col0 s gr
% Polyline
n 5117 2008 m 5114 2010 l gs col0 s gr
% Polyline
n 5117 2008 m 5143 1966 l gs col0 s gr
% Polyline
n 5162 1938 m 5143 1966 l gs col0 s gr
% Polyline
n 5162 1938 m 5171 1923 l gs col0 s gr
% Polyline
n 5184 1904 m 5171 1923 l gs col0 s gr
% Polyline
n 5254 6261 m 5253 6258 l 5250 6254 l gs col0 s gr
% Polyline
n 5208 6188 m 5250 6254 l gs col0 s gr
% Polyline
n 5208 6188 m 5184 6150 l gs col0 s gr
% Polyline
n 5184 1904 m 5198 1881 l gs col0 s gr
% Polyline
n 5208 1866 m 5198 1881 l gs col0 s gr
% Polyline
n 5208 1866 m 5227 1837 l gs col0 s gr
% Polyline
n 5253 1796 m 5227 1837 l gs col0 s gr
% Polyline
n 5253 1796 m 5254 1794 l gs col0 s gr
% Polyline
n 5325 6372 m 5297 6328 l 5254 6261 l gs col0 s gr
% Polyline
n 5254 1794 m 5280 1752 l gs col0 s gr
% Polyline
n 5297 1724 m 5280 1752 l gs col0 s gr
% Polyline
n 5297 1724 m 5309 1708 l gs col0 s gr
% Polyline
n 5325 1680 m 5309 1708 l gs col0 s gr
% Polyline
n 5396 6487 m 5385 6470 l 5367 6444 l gs col0 s gr
% Polyline
n 5341 6400 m 5367 6444 l gs col0 s gr
% Polyline
n 5341 6400 m 5325 6372 l gs col0 s gr
% Polyline
n 5325 1680 m 5335 1664 l gs col0 s gr
% Polyline
n 5341 1653 m 5335 1664 l gs col0 s gr
% Polyline
n 5341 1653 m 5362 1620 l gs col0 s gr
% Polyline
n 5385 1582 m 5362 1620 l gs col0 s gr
% Polyline
n 5385 1582 m 5390 1576 l gs col0 s gr
% Polyline
n 5396 1565 m 5390 1576 l gs col0 s gr
% Polyline
n 5466 6604 m 5427 6542 l 5396 6487 l gs col0 s gr
% Polyline
n 5396 1565 m 5416 1532 l gs col0 s gr
% Polyline
n 5427 1512 m 5416 1532 l gs col0 s gr
% Polyline
n 5427 1512 m 5443 1489 l gs col0 s gr
% Polyline
n 5466 1450 m 5443 1489 l gs col0 s gr
% Polyline
n 5537 6721 m 5514 6684 l 5479 6625 l gs col0 s gr
% Polyline
n 5471 6614 m 5479 6625 l gs col0 s gr
% Polyline
n 5471 6614 m 5466 6604 l gs col0 s gr
% Polyline
n 5466 1450 m 5469 1444 l gs col0 s gr
% Polyline
n 5471 1441 m 5469 1444 l gs col0 s gr
% Polyline
n 5471 1441 m 5496 1399 l gs col0 s gr
% Polyline
n 5514 1370 m 5496 1399 l gs col0 s gr
% Polyline
n 5514 1370 m 5522 1355 l gs col0 s gr
% Polyline
n 5537 1332 m 5522 1355 l gs col0 s gr
% Polyline
n 5607 6841 m 5597 6825 l 5585 6803 l gs col0 s gr
% Polyline
n 5556 6753 m 5585 6803 l gs col0 s gr
% Polyline
n 5556 6753 m 5537 6721 l gs col0 s gr
% Polyline
n 5537 1332 m 5549 1312 l gs col0 s gr
% Polyline
n 5556 1299 m 5549 1312 l gs col0 s gr
% Polyline
n 5556 1299 m 5575 1266 l gs col0 s gr
% Polyline
n 5597 1228 m 5575 1266 l gs col0 s gr
% Polyline
n 5597 1228 m 5602 1223 l gs col0 s gr
% Polyline
n 5607 1213 m 5602 1223 l gs col0 s gr
% Polyline
n 5678 6961 m 5639 6896 l 5607 6841 l gs col0 s gr
% Polyline
n 5607 1213 m 5628 1179 l gs col0 s gr
% Polyline
n 5639 1156 m 5628 1179 l gs col0 s gr
% Polyline
n 5639 1156 m 5653 1133 l gs col0 s gr
% Polyline
n 5678 1092 m 5653 1133 l gs col0 s gr
% Polyline
n 5749 7084 m 5722 7038 l 5685 6975 l gs col0 s gr
% Polyline
n 5681 6966 m 5685 6975 l gs col0 s gr
% Polyline
n 5681 6966 m 5678 6961 l gs col0 s gr
% Polyline
n 5678 1092 m 5679 1089 l gs col0 s gr
% Polyline
n 5681 1087 m 5679 1089 l gs col0 s gr
% Polyline
n 5681 1087 m 5706 1043 l gs col0 s gr
% Polyline
n 5722 1016 m 5706 1043 l gs col0 s gr
% Polyline
n 5722 1016 m 5731 998 l gs col0 s gr
% Polyline
n 5749 970 m 5731 998 l gs col0 s gr
% Polyline
n 5819 7209 m 5803 7179 l 5781 7141 l gs col0 s gr
% Polyline
n 5762 7108 m 5781 7141 l gs col0 s gr
% Polyline
n 5762 7108 m 5749 7084 l gs col0 s gr
% Polyline
n 5749 970 m 5758 954 l gs col0 s gr
% Polyline
n 5762 944 m 5758 954 l gs col0 s gr
% Polyline
n 5762 944 m 5783 909 l gs col0 s gr
% Polyline
n 5803 874 m 5783 909 l gs col0 s gr
% Polyline
n 5803 874 m 5808 862 l gs col0 s gr
% Polyline
n 5819 847 m 5808 862 l gs col0 s gr
% Polyline
n 5890 7334 m 5883 7321 l 5875 7304 l gs col0 s gr
% Polyline
n 5843 7250 m 5875 7304 l gs col0 s gr
% Polyline
n 5843 7250 m 5819 7209 l gs col0 s gr
% Polyline
n 5819 847 m 5835 818 l gs col0 s gr
% Polyline
n 5843 803 m 5835 818 l gs col0 s gr
% Polyline
n 5843 803 m 5860 773 l gs col0 s gr
% Polyline
n 5883 730 m 5860 773 l gs col0 s gr
% Polyline
n 5883 730 m 5886 728 l gs col0 s gr
% Polyline
n 5890 721 m 5886 728 l gs col0 s gr
% Polyline
n 5961 7460 m 5923 7392 l 5890 7334 l gs col0 s gr
% Polyline
n 5890 721 m 5910 683 l gs col0 s gr
% Polyline
n 5923 662 m 5910 683 l gs col0 s gr
% Polyline
n 5923 662 m 5935 637 l gs col0 s gr
% Polyline
n 5961 594 m 5935 637 l gs col0 s gr
% Polyline
n 6001 7535 m 5965 7467 l gs col0 s gr
% Polyline
n 5962 7463 m 5965 7467 l gs col0 s gr
% Polyline
n 5962 7463 m 5961 7460 l gs col0 s gr
% Polyline
n 5961 594 m 5962 592 l 5986 545 l gs col0 s gr
% Polyline
n 6001 520 m 5986 545 l gs col0 s gr
% Polyline
n 5023 2149 m 5002 2180 l gs col0 s gr
% Polyline
n 1091 2985 m 1118 2956 l gs col0 s gr
7.500 slw
% Ellipse
n 5464 1454 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 2387 2802 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 830 3483 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
$F2psEnd
rs
%%EndDocument
@endspecial 853 886 a Fq(P)39 b Fw(=)25 b Fq(P)33 b
Fw(+)20 b Fo(O)2162 482 y(O)1510 706 y Fq(P)33 b Fo(\003)21
b(O)1090 2037 y Fw(Abbildung)27 b(2.5:)k(Das)g(neutrale)f(Elemen)m(t)
270 2316 y(Punktes)d(ist)g(dann)g(der)g(zw)m(eite)i(Sc)m(hnittpunkt)d
(mit)h(der)g(Kurv)m(e)h(und)e(hat)i(die)f(gleic)m(he)h
Fq(x)p Fw(-)270 2429 y(Ko)s(ordinate.)g(Damit)h(v)m(ereinfac)m(hen)g
(sic)m(h)f(die)g(Additionsformeln,)e(die)i(am)h(Ende)f(dieses)270
2542 y(Kapitels)h(v)m(orgestellt)i(w)m(erden.)1246 4081
y @beginspecial 0 @llx 0 @lly 341 @urx 425 @ury 1700
@rhi @clip @setspecial
%%BeginDocument: Pics/inverse.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: picinverse.eps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Fri Oct 8 14:15:50 1999
%%For: crnjak@fb0409 (Markus Crnjak)
%%Orientation: Portrait
%%BoundingBox: 0 0 341 425
%%Pages: 0
%%BeginSetup
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.298 0.298 0.298 srgb} bind def
end
save
-397.0 455.0 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/DrawEllipse {
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def
/savematrix mtrx currentmatrix def
x y tr xrad yrad sc 0 0 1 startangle endangle arc
closepath
savematrix setmatrix
} def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog
$F2psBegin
10 setmiterlimit
n -1000 8568 m -1000 -1000 l 13294 -1000 l 13294 8568 l cp clip
0.06000 0.06000 sc
% Polyline
1 slc
30.000 slw
n 6696 4480 m 6710 4546 l gs col0 s gr
% Polyline
n 6696 4480 m 6691 4460 l gs col0 s gr
% Polyline
n 6682 4409 m 6691 4460 l gs col0 s gr
% Polyline
n 6682 4409 m 6678 4375 l gs col0 s gr
% Polyline
n 6672 4339 m 6678 4375 l gs col0 s gr
% Polyline
n 6672 4339 m 6667 4297 l gs col0 s gr
% Polyline
n 6663 4270 m 6667 4297 l gs col0 s gr
% Polyline
n 6663 4270 m 6660 4221 l gs col0 s gr
% Polyline
n 6658 4202 m 6660 4221 l gs col0 s gr
% Polyline
n 6658 4202 m 6657 4148 l gs col0 s gr
% Polyline
n 6657 4132 m 6657 4148 l gs col0 s gr
% Polyline
n 6657 4132 m 6657 4078 l gs col0 s gr
% Polyline
n 6657 4062 m 6657 4078 l gs col0 s gr
% Polyline
n 6657 4062 m 6657 4011 l gs col0 s gr
% Polyline
n 6658 3993 m 6657 4011 l gs col0 s gr
% Polyline
n 6658 3993 m 6662 3944 l gs col0 s gr
% Polyline
n 6663 3923 m 6662 3944 l gs col0 s gr
% Polyline
n 6663 3923 m 6669 3881 l gs col0 s gr
% Polyline
n 6672 3855 m 6669 3881 l gs col0 s gr
% Polyline
n 6672 3855 m 6677 3819 l gs col0 s gr
% Polyline
n 6682 3785 m 6677 3819 l gs col0 s gr
% Polyline
n 6682 3785 m 6687 3760 l gs col0 s gr
% Polyline
n 6696 3715 m 6687 3760 l gs col0 s gr
% Polyline
n 6696 3715 m 6699 3700 l gs col0 s gr
% Polyline
n 6711 3646 m 6699 3700 l gs col0 s gr
% Polyline
n 6711 3646 m 6711 3645 l gs col0 s gr
% Polyline
n 6712 3640 m 6711 3645 l gs col0 s gr
% Polyline
n 6787 4769 m 6782 4755 l 6780 4749 l gs col0 s gr
% Polyline
n 6756 4686 m 6780 4749 l gs col0 s gr
% Polyline
n 6756 4686 m 6741 4644 l gs col0 s gr
% Polyline
n 6732 4619 m 6741 4644 l gs col0 s gr
% Polyline
n 6732 4619 m 6712 4552 l gs col0 s gr
% Polyline
n 6712 3640 m 6728 3590 l gs col0 s gr
% Polyline
n 6732 3575 m 6728 3590 l gs col0 s gr
% Polyline
n 6732 3575 m 6745 3538 l gs col0 s gr
% Polyline
n 6756 3506 m 6745 3538 l gs col0 s gr
% Polyline
n 6756 3506 m 6764 3485 l gs col0 s gr
% Polyline
n 6782 3436 m 6764 3485 l gs col0 s gr
% Polyline
n 6782 3436 m 6784 3434 l gs col0 s gr
% Polyline
n 6787 3425 m 6784 3434 l gs col0 s gr
% Polyline
n 6860 4916 m 6849 4896 l 6839 4876 l gs col0 s gr
% Polyline
n 6813 4826 m 6839 4876 l gs col0 s gr
% Polyline
n 6813 4826 m 6787 4769 l gs col0 s gr
% Polyline
n 6787 3425 m 6806 3385 l gs col0 s gr
% Polyline
n 6813 3370 m 6806 3385 l gs col0 s gr
% Polyline
n 6813 3370 m 6829 3338 l gs col0 s gr
% Polyline
n 6849 3299 m 6829 3338 l gs col0 s gr
% Polyline
n 6849 3299 m 6854 3291 l gs col0 s gr
% Polyline
n 6860 3279 m 6854 3291 l gs col0 s gr
% Polyline
n 6935 5027 m 6893 4964 l 6860 4916 l gs col0 s gr
% Polyline
n 6860 3279 m 6880 3247 l gs col0 s gr
% Polyline
n 6893 3228 m 6880 3247 l gs col0 s gr
% Polyline
n 6893 3228 m 6909 3205 l gs col0 s gr
% Polyline
n 6935 3165 m 6909 3205 l gs col0 s gr
% Polyline
n 7009 5118 m 6997 5104 l 6956 5053 l gs col0 s gr
% Polyline
n 6939 5035 m 6956 5053 l gs col0 s gr
% Polyline
n 6939 5035 m 6935 5027 l gs col0 s gr
% Polyline
n 6935 3165 m 6937 3162 l gs col0 s gr
% Polyline
n 6939 3160 m 6937 3162 l gs col0 s gr
% Polyline
n 6939 3160 m 6970 3122 l gs col0 s gr
% Polyline
n 6997 3089 m 6970 3122 l gs col0 s gr
% Polyline
n 6997 3089 m 7003 3083 l gs col0 s gr
% Polyline
n 7009 3076 m 7003 3083 l gs col0 s gr
% Polyline
n 7084 5191 m 7065 5172 l 7009 5118 l gs col0 s gr
% Polyline
n 7065 3020 m 7038 3047 l gs col0 s gr
% Polyline
n 7065 3020 m 7074 3014 l gs col0 s gr
% Polyline
n 7084 3003 m 7074 3014 l gs col0 s gr
% Polyline
n 7158 5250 m 7147 5243 l 7084 5191 l gs col0 s gr
% Polyline
n 7084 3003 m 7112 2978 l gs col0 s gr
% Polyline
n 7147 2951 m 7112 2978 l gs col0 s gr
% Polyline
n 7147 2951 m 7152 2946 l gs col0 s gr
% Polyline
n 7158 2942 m 7152 2946 l gs col0 s gr
% Polyline
n 7158 5250 m 7185 5268 l gs col0 s gr
% Polyline
n 7232 5297 m 7185 5268 l gs col0 s gr
% Polyline
n 7158 2942 m 7196 2917 l gs col0 s gr
% Polyline
n 7232 2895 m 7196 2917 l gs col0 s gr
% Polyline
n 7306 5337 m 7255 5312 l 7232 5297 l gs col0 s gr
% Polyline
n 7232 2895 m 7240 2890 l gs col0 s gr
% Polyline
n 7255 2882 m 7240 2890 l gs col0 s gr
% Polyline
n 7255 2882 m 7288 2865 l gs col0 s gr
% Polyline
n 7306 2855 m 7288 2865 l gs col0 s gr
% Polyline
n 7306 5337 m 7356 5360 l gs col0 s gr
% Polyline
n 7379 5370 m 7356 5360 l gs col0 s gr
% Polyline
n 7306 2855 m 7337 2841 l gs col0 s gr
% Polyline
n 7379 2824 m 7337 2841 l gs col0 s gr
% Polyline
n 7453 5395 m 7414 5382 l 7379 5370 l gs col0 s gr
% Polyline
n 7379 2824 m 7388 2822 l gs col0 s gr
% Polyline
n 7414 2812 m 7388 2822 l gs col0 s gr
% Polyline
n 7414 2812 m 7443 2804 l gs col0 s gr
% Polyline
n 7453 2800 m 7443 2804 l gs col0 s gr
% Polyline
n 7453 5395 m 7471 5399 l gs col0 s gr
% Polyline
n 7527 5413 m 7471 5399 l gs col0 s gr
% Polyline
n 7453 2800 m 7501 2788 l gs col0 s gr
% Polyline
n 7527 2782 m 7501 2788 l gs col0 s gr
% Polyline
n 7527 5413 m 7567 5419 l gs col0 s gr
% Polyline
n 7602 5425 m 7567 5419 l gs col0 s gr
% Polyline
n 7527 2782 m 7563 2774 l gs col0 s gr
% Polyline
n 7602 2769 m 7563 2774 l gs col0 s gr
% Polyline
n 7602 5425 m 7653 5428 l gs col0 s gr
% Polyline
n 7676 5433 m 7653 5428 l gs col0 s gr
% Polyline
n 7602 2769 m 7627 2766 l gs col0 s gr
% Polyline
n 7676 2762 m 7627 2766 l gs col0 s gr
% Polyline
n 7676 5433 m 7731 5434 l gs col0 s gr
% Polyline
n 7750 5434 m 7731 5434 l gs col0 s gr
% Polyline
n 7676 2762 m 7696 2762 l gs col0 s gr
% Polyline
n 7750 2761 m 7696 2762 l gs col0 s gr
% Polyline
n 7750 5434 m 7803 5433 l gs col0 s gr
% Polyline
n 7824 5430 m 7803 5433 l gs col0 s gr
% Polyline
n 7750 2761 m 7769 2761 l gs col0 s gr
% Polyline
n 7824 2762 m 7769 2761 l gs col0 s gr
% Polyline
n 7824 5430 m 7872 5426 l gs col0 s gr
% Polyline
n 7898 5425 m 7872 5426 l gs col0 s gr
% Polyline
n 7824 2762 m 7848 2764 l gs col0 s gr
% Polyline
n 7898 2769 m 7848 2764 l gs col0 s gr
% Polyline
n 7898 5425 m 7938 5420 l gs col0 s gr
% Polyline
n 7972 5415 m 7938 5420 l gs col0 s gr
% Polyline
n 7898 2769 m 7931 2772 l gs col0 s gr
% Polyline
n 7972 2780 m 7931 2772 l gs col0 s gr
% Polyline
n 7972 5415 m 8002 5409 l gs col0 s gr
% Polyline
n 8047 5400 m 8002 5409 l gs col0 s gr
% Polyline
n 7972 2780 m 8022 2789 l gs col0 s gr
% Polyline
n 8047 2794 m 8022 2789 l gs col0 s gr
% Polyline
n 8047 5400 m 8062 5397 l gs col0 s gr
% Polyline
n 8120 5382 m 8062 5397 l gs col0 s gr
% Polyline
n 8047 2794 m 8118 2810 l gs col0 s gr
% Polyline
n 8120 2810 m 8118 2810 l gs col0 s gr
% Polyline
n 8120 5382 m 8121 5382 l gs col0 s gr
% Polyline
n 8124 5382 m 8121 5382 l gs col0 s gr
% Polyline
n 8124 5382 m 8179 5365 l gs col0 s gr
% Polyline
n 8195 5362 m 8179 5365 l gs col0 s gr
% Polyline
n 8195 2832 m 8124 2812 l 8120 2810 l gs col0 s gr
% Polyline
n 8195 5362 m 8234 5348 l gs col0 s gr
% Polyline
n 8268 5337 m 8234 5348 l gs col0 s gr
% Polyline
n 8195 2832 m 8227 2843 l gs col0 s gr
% Polyline
n 8268 2855 m 8227 2843 l gs col0 s gr
% Polyline
n 8268 5337 m 8288 5330 l gs col0 s gr
% Polyline
n 8341 5312 m 8288 5330 l gs col0 s gr
% Polyline
n 8341 5312 m 8343 5312 l gs col0 s gr
% Polyline
n 8343 5311 m 8343 5312 l gs col0 s gr
% Polyline
n 8343 2882 m 8341 2882 l 8268 2855 l gs col0 s gr
% Polyline
n 8343 5311 m 8393 5291 l gs col0 s gr
% Polyline
n 8417 5281 m 8393 5291 l gs col0 s gr
% Polyline
n 8343 2882 m 8344 2882 l gs col0 s gr
% Polyline
n 8417 2913 m 8344 2882 l gs col0 s gr
% Polyline
n 8417 5281 m 8445 5270 l gs col0 s gr
% Polyline
n 8492 5250 m 8445 5270 l gs col0 s gr
% Polyline
n 8417 2913 m 8478 2937 l gs col0 s gr
% Polyline
n 8492 2942 m 8478 2937 l gs col0 s gr
% Polyline
n 8492 5250 m 8495 5249 l gs col0 s gr
% Polyline
n 8508 5243 m 8495 5249 l gs col0 s gr
% Polyline
n 8508 5243 m 8546 5225 l gs col0 s gr
% Polyline
n 8565 5215 m 8546 5225 l gs col0 s gr
% Polyline
n 8565 2978 m 8508 2951 l 8492 2942 l gs col0 s gr
% Polyline
n 8565 5215 m 8595 5202 l gs col0 s gr
% Polyline
n 8639 5180 m 8595 5202 l gs col0 s gr
% Polyline
n 8565 2978 m 8625 3007 l gs col0 s gr
% Polyline
n 8639 3015 m 8625 3007 l gs col0 s gr
% Polyline
n 8639 5180 m 8644 5175 l gs col0 s gr
% Polyline
n 8651 5172 m 8644 5175 l gs col0 s gr
% Polyline
n 8651 5172 m 8691 5152 l gs col0 s gr
% Polyline
n 8712 5140 m 8691 5152 l gs col0 s gr
% Polyline
n 8712 3053 m 8651 3020 l 8639 3015 l gs col0 s gr
% Polyline
n 8712 5140 m 8739 5128 l gs col0 s gr
% Polyline
n 8784 5104 m 8739 5128 l gs col0 s gr
% Polyline
n 8784 5104 m 8786 5104 l gs col0 s gr
% Polyline
n 8787 5102 m 8786 5104 l gs col0 s gr
% Polyline
n 8787 3091 m 8784 3089 l 8712 3053 l gs col0 s gr
% Polyline
n 8787 5102 m 8832 5077 l gs col0 s gr
% Polyline
n 8860 5061 m 8832 5077 l gs col0 s gr
% Polyline
n 8787 3091 m 8793 3095 l gs col0 s gr
% Polyline
n 8860 3134 m 8793 3095 l gs col0 s gr
% Polyline
n 8860 5061 m 8878 5049 l gs col0 s gr
% Polyline
n 8908 5035 m 8878 5049 l gs col0 s gr
% Polyline
n 8908 5035 m 8924 5025 l gs col0 s gr
% Polyline
n 8935 5017 m 8924 5025 l gs col0 s gr
% Polyline
n 8935 3175 m 8908 3160 l 8860 3134 l gs col0 s gr
% Polyline
n 8935 5017 m 8970 4998 l gs col0 s gr
% Polyline
n 9009 4974 m 8970 4998 l gs col0 s gr
% Polyline
n 8935 3175 m 8983 3205 l gs col0 s gr
% Polyline
n 9009 3219 m 8983 3205 l gs col0 s gr
% Polyline
n 9009 4974 m 9016 4971 l gs col0 s gr
% Polyline
n 9026 4964 m 9016 4971 l gs col0 s gr
% Polyline
n 9026 4964 m 9061 4943 l gs col0 s gr
% Polyline
n 9084 4930 m 9061 4943 l gs col0 s gr
% Polyline
n 9084 3264 m 9026 3228 l 9009 3219 l gs col0 s gr
% Polyline
n 9084 4930 m 9107 4917 l gs col0 s gr
% Polyline
n 9145 4896 m 9107 4917 l gs col0 s gr
% Polyline
n 9145 4896 m 9152 4890 l gs col0 s gr
% Polyline
n 9158 4887 m 9152 4890 l gs col0 s gr
% Polyline
n 9158 3307 m 9145 3299 l 9084 3264 l gs col0 s gr
% Polyline
n 9158 4887 m 9197 4864 l gs col0 s gr
% Polyline
n 9232 4844 m 9197 4864 l gs col0 s gr
% Polyline
n 9158 3307 m 9181 3318 l gs col0 s gr
% Polyline
n 9232 3350 m 9181 3318 l gs col0 s gr
% Polyline
n 9232 4844 m 9245 4837 l gs col0 s gr
% Polyline
n 9268 4826 m 9245 4837 l gs col0 s gr
% Polyline
n 9268 4826 m 9291 4811 l gs col0 s gr
% Polyline
n 9306 4803 m 9291 4811 l gs col0 s gr
% Polyline
n 9306 3390 m 9268 3370 l 9232 3350 l gs col0 s gr
% Polyline
n 9306 4803 m 9338 4787 l gs col0 s gr
% Polyline
n 9380 4766 m 9338 4787 l gs col0 s gr
% Polyline
n 9306 3390 m 9360 3418 l gs col0 s gr
% Polyline
n 9380 3429 m 9360 3418 l gs col0 s gr
% Polyline
n 9380 4766 m 9386 4762 l gs col0 s gr
% Polyline
n 9399 4755 m 9386 4762 l gs col0 s gr
% Polyline
n 9399 4755 m 9435 4739 l gs col0 s gr
% Polyline
n 9455 4729 m 9435 4739 l gs col0 s gr
% Polyline
n 9455 3463 m 9399 3436 l 9380 3429 l gs col0 s gr
% Polyline
n 9455 4729 m 9486 4717 l gs col0 s gr
% Polyline
n 9528 4701 m 9486 4717 l gs col0 s gr
% Polyline
n 9455 3463 m 9504 3485 l gs col0 s gr
% Polyline
n 9528 3495 m 9504 3485 l gs col0 s gr
% Polyline
n 9528 4701 m 9538 4697 l gs col0 s gr
% Polyline
n 9571 4686 m 9538 4697 l gs col0 s gr
% Polyline
n 9571 4686 m 9594 4679 l gs col0 s gr
% Polyline
n 9603 4676 m 9594 4679 l gs col0 s gr
% Polyline
n 9603 3518 m 9571 3506 l 9528 3495 l gs col0 s gr
% Polyline
n 6712 4552 m 6711 4549 l 6710 4546 l gs col0 s gr
% Polyline
n 9603 4676 m 9653 4665 l gs col0 s gr
% Polyline
7.500 slw
n 6641 2085 m 11861 6653 l gs col0 s gr
% Polyline
30.000 slw
n 9676 4661 m 9653 4665 l gs col0 s gr
% Polyline
n 9603 3518 m 9616 3521 l gs col0 s gr
% Polyline
n 9676 3533 m 9616 3521 l gs col0 s gr
% Polyline
n 9676 4661 m 9719 4657 l gs col0 s gr
% Polyline
n 9751 4654 m 9719 4657 l gs col0 s gr
% Polyline
n 9676 3533 m 9707 3535 l gs col0 s gr
% Polyline
n 9751 3540 m 9707 3535 l gs col0 s gr
% Polyline
n 9751 4654 m 9794 4657 l gs col0 s gr
% Polyline
n 9825 4659 m 9794 4657 l gs col0 s gr
% Polyline
n 9751 3540 m 9782 3538 l gs col0 s gr
% Polyline
n 9825 3533 m 9782 3538 l gs col0 s gr
% Polyline
n 9825 4659 m 9884 4674 l gs col0 s gr
% Polyline
n 9900 4677 m 9884 4674 l gs col0 s gr
% Polyline
n 9825 3533 m 9848 3528 l gs col0 s gr
% Polyline
n 9900 3518 m 9848 3528 l gs col0 s gr
% Polyline
n 9972 4704 m 9924 4686 l 9900 4677 l gs col0 s gr
% Polyline
n 9900 3518 m 9907 3513 l gs col0 s gr
% Polyline
n 9924 3506 m 9907 3513 l gs col0 s gr
% Polyline
n 9924 3506 m 9960 3495 l gs col0 s gr
% Polyline
n 9972 3490 m 9960 3495 l gs col0 s gr
% Polyline
n 9972 4704 m 10012 4724 l gs col0 s gr
% Polyline
n 10047 4742 m 10012 4724 l gs col0 s gr
% Polyline
n 9972 3490 m 10009 3470 l gs col0 s gr
% Polyline
n 10047 3453 m 10009 3470 l gs col0 s gr
% Polyline
n 10120 4789 m 10069 4755 l 10047 4742 l gs col0 s gr
% Polyline
n 10047 3453 m 10056 3445 l gs col0 s gr
% Polyline
n 10069 3436 m 10056 3445 l gs col0 s gr
% Polyline
n 10069 3436 m 10100 3418 l gs col0 s gr
% Polyline
n 10120 3406 m 10100 3418 l gs col0 s gr
% Polyline
n 10195 4844 m 10170 4826 l 10120 4789 l gs col0 s gr
% Polyline
n 10120 3406 m 10143 3388 l gs col0 s gr
% Polyline
n 10170 3370 m 10143 3388 l gs col0 s gr
% Polyline
n 10170 3370 m 10184 3358 l gs col0 s gr
% Polyline
n 10195 3352 m 10184 3358 l gs col0 s gr
% Polyline
n 10268 4907 m 10256 4896 l 10195 4844 l gs col0 s gr
% Polyline
n 10195 3352 m 10224 3327 l gs col0 s gr
% Polyline
n 10256 3299 m 10224 3327 l gs col0 s gr
% Polyline
n 10256 3299 m 10263 3291 l gs col0 s gr
% Polyline
n 10268 3289 m 10263 3291 l gs col0 s gr
% Polyline
n 10343 4974 m 10331 4964 l 10268 4907 l gs col0 s gr
% Polyline
n 10268 3289 m 10301 3257 l gs col0 s gr
% Polyline
n 10331 3228 m 10301 3257 l gs col0 s gr
% Polyline
n 10331 3228 m 10338 3225 l gs col0 s gr
% Polyline
n 10343 3220 m 10338 3225 l gs col0 s gr
% Polyline
n 10417 5047 m 10404 5035 l 10343 4974 l gs col0 s gr
% Polyline
n 10343 3220 m 10374 3188 l gs col0 s gr
% Polyline
n 10404 3160 m 10374 3188 l gs col0 s gr
% Polyline
n 10404 3160 m 10411 3152 l gs col0 s gr
% Polyline
n 10417 3146 m 10411 3152 l gs col0 s gr
% Polyline
n 10492 5124 m 10470 5104 l 10417 5047 l gs col0 s gr
% Polyline
n 10417 3146 m 10445 3117 l gs col0 s gr
% Polyline
n 10470 3089 m 10445 3117 l gs col0 s gr
% Polyline
n 10470 3089 m 10480 3079 l gs col0 s gr
% Polyline
n 10492 3068 m 10480 3079 l gs col0 s gr
% Polyline
n 10565 5207 m 10534 5172 l 10492 5124 l gs col0 s gr
% Polyline
n 10492 3068 m 10515 3043 l gs col0 s gr
% Polyline
n 10534 3020 m 10515 3043 l gs col0 s gr
% Polyline
n 10534 3020 m 10548 3005 l gs col0 s gr
% Polyline
n 10565 2987 m 10548 3005 l gs col0 s gr
% Polyline
n 10640 5292 m 10595 5243 l 10565 5207 l gs col0 s gr
% Polyline
n 10565 2987 m 10582 2966 l gs col0 s gr
% Polyline
n 10595 2951 m 10582 2966 l gs col0 s gr
% Polyline
n 10595 2951 m 10617 2929 l gs col0 s gr
% Polyline
n 10640 2902 m 10617 2929 l gs col0 s gr
% Polyline
n 10713 5381 m 10656 5312 l 10640 5292 l gs col0 s gr
% Polyline
n 10640 2902 m 10648 2890 l gs col0 s gr
% Polyline
n 10656 2882 m 10648 2890 l gs col0 s gr
% Polyline
n 10656 2882 m 10681 2852 l gs col0 s gr
% Polyline
n 10713 2812 m 10681 2852 l gs col0 s gr
% Polyline
n 10788 5471 m 10769 5451 l 10714 5382 l gs col0 s gr
% Polyline
n 10713 5382 m 10714 5382 l gs col0 s gr
% Polyline
n 10713 5382 m 10713 5381 l gs col0 s gr
% Polyline
n 10713 2812 m 10746 2772 l gs col0 s gr
% Polyline
n 10769 2744 m 10746 2772 l gs col0 s gr
% Polyline
n 10769 2744 m 10779 2734 l gs col0 s gr
% Polyline
n 10788 2722 m 10779 2734 l gs col0 s gr
% Polyline
n 10862 5567 m 10825 5520 l 10788 5471 l gs col0 s gr
% Polyline
n 10788 2722 m 10809 2692 l gs col0 s gr
% Polyline
n 10825 2672 m 10809 2692 l gs col0 s gr
% Polyline
n 10825 2672 m 10840 2654 l gs col0 s gr
% Polyline
n 10862 2628 m 10840 2654 l gs col0 s gr
% Polyline
n 10936 5662 m 10933 5658 l 10925 5649 l gs col0 s gr
% Polyline
n 10879 5590 m 10925 5649 l gs col0 s gr
% Polyline
n 10879 5590 m 10862 5567 l gs col0 s gr
% Polyline
n 10862 2628 m 10872 2614 l gs col0 s gr
% Polyline
n 10879 2602 m 10872 2614 l gs col0 s gr
% Polyline
n 10879 2602 m 10902 2574 l gs col0 s gr
% Polyline
n 10933 2534 m 10902 2574 l gs col0 s gr
% Polyline
n 10933 2534 m 10934 2534 l gs col0 s gr
% Polyline
n 10936 2530 m 10934 2534 l gs col0 s gr
% Polyline
n 11009 5760 m 10984 5730 l 10936 5662 l gs col0 s gr
% Polyline
n 10936 2530 m 10965 2493 l gs col0 s gr
% Polyline
n 10984 2466 m 10965 2493 l gs col0 s gr
% Polyline
n 10984 2466 m 10995 2451 l gs col0 s gr
% Polyline
n 11009 2432 m 10995 2451 l gs col0 s gr
% Polyline
n 11084 5863 m 11036 5799 l 11009 5760 l gs col0 s gr
% Polyline
n 11009 2432 m 11025 2411 l gs col0 s gr
% Polyline
n 11036 2395 m 11025 2411 l gs col0 s gr
% Polyline
n 11036 2395 m 11056 2369 l gs col0 s gr
% Polyline
n 11084 2331 m 11056 2369 l gs col0 s gr
% Polyline
n 11159 5965 m 11138 5935 l 11095 5878 l gs col0 s gr
% Polyline
n 11087 5868 m 11095 5878 l gs col0 s gr
% Polyline
n 11087 5868 m 11084 5863 l gs col0 s gr
% Polyline
n 11084 2331 m 11086 2328 l gs col0 s gr
% Polyline
n 11087 2326 m 11086 2328 l gs col0 s gr
% Polyline
n 11087 2326 m 11116 2286 l gs col0 s gr
% Polyline
n 11138 2257 m 11145 2245 l gs col0 s gr
% Polyline
n 11159 2227 m 11145 2245 l gs col0 s gr
% Polyline
n 11233 6070 m 11186 6007 l 11159 5965 l gs col0 s gr
% Polyline
n 11159 2227 m 11175 2202 l gs col0 s gr
% Polyline
n 11186 2186 m 11175 2202 l gs col0 s gr
% Polyline
n 11186 2186 m 11205 2161 l gs col0 s gr
% Polyline
n 11233 2122 m 11205 2161 l gs col0 s gr
% Polyline
n 11306 6178 m 11283 6145 l 11241 6085 l gs col0 s gr
% Polyline
n 11235 6075 m 11241 6085 l gs col0 s gr
% Polyline
n 11235 6075 m 11233 6070 l gs col0 s gr
% Polyline
n 11233 2122 m 11234 2120 l gs col0 s gr
% Polyline
n 11235 2118 m 11234 2120 l gs col0 s gr
% Polyline
n 11235 2118 m 11262 2077 l gs col0 s gr
% Polyline
n 11283 2049 m 11262 2077 l gs col0 s gr
% Polyline
n 11283 2049 m 11293 2035 l gs col0 s gr
% Polyline
n 11306 2016 m 11293 2035 l gs col0 s gr
% Polyline
n 11380 6286 m 11379 6284 l 11376 6280 l gs col0 s gr
% Polyline
n 11332 6216 m 11376 6280 l gs col0 s gr
% Polyline
n 11332 6216 m 11306 6178 l gs col0 s gr
% Polyline
n 11306 2016 m 11321 1993 l gs col0 s gr
% Polyline
n 11332 1979 m 11321 1993 l gs col0 s gr
% Polyline
n 11332 1979 m 11351 1951 l gs col0 s gr
% Polyline
n 11379 1910 m 11351 1951 l gs col0 s gr
% Polyline
n 11379 1910 m 11380 1908 l gs col0 s gr
% Polyline
n 11455 6395 m 11425 6353 l 11380 6286 l gs col0 s gr
% Polyline
n 11380 1908 m 11408 1867 l gs col0 s gr
% Polyline
n 11425 1840 m 11408 1867 l gs col0 s gr
% Polyline
n 11425 1840 m 11437 1823 l gs col0 s gr
% Polyline
n 11455 1798 m 11437 1823 l gs col0 s gr
% Polyline
n 11528 6509 m 11518 6492 l 11499 6466 l gs col0 s gr
% Polyline
n 11471 6423 m 11499 6466 l gs col0 s gr
% Polyline
n 11471 6423 m 11455 6395 l gs col0 s gr
% Polyline
n 11455 1798 m 11465 1781 l gs col0 s gr
% Polyline
n 11471 1771 m 11465 1781 l gs col0 s gr
% Polyline
n 11471 1771 m 11493 1738 l gs col0 s gr
% Polyline
n 11518 1700 m 11493 1738 l gs col0 s gr
% Polyline
n 11518 1700 m 11522 1695 l gs col0 s gr
% Polyline
n 11528 1683 m 11522 1695 l gs col0 s gr
% Polyline
n 11603 6623 m 11562 6562 l 11528 6509 l gs col0 s gr
% Polyline
n 11528 1683 m 11549 1653 l gs col0 s gr
% Polyline
n 11562 1633 m 11549 1653 l gs col0 s gr
% Polyline
n 11562 1633 m 11577 1610 l gs col0 s gr
% Polyline
n 11603 1572 m 11577 1610 l gs col0 s gr
% Polyline
n 11676 6738 m 11653 6701 l 11616 6644 l gs col0 s gr
% Polyline
n 11608 6633 m 11616 6644 l gs col0 s gr
% Polyline
n 11608 6633 m 11603 6623 l gs col0 s gr
% Polyline
n 11603 1572 m 11606 1566 l gs col0 s gr
% Polyline
n 11608 1563 m 11606 1566 l gs col0 s gr
% Polyline
n 11608 1563 m 11633 1521 l gs col0 s gr
% Polyline
n 11653 1493 m 11633 1521 l gs col0 s gr
% Polyline
n 11653 1493 m 11661 1479 l gs col0 s gr
% Polyline
n 11676 1456 m 11661 1479 l gs col0 s gr
% Polyline
n 11751 6855 m 11741 6839 l 11727 6818 l gs col0 s gr
% Polyline
n 11697 6769 m 11727 6818 l gs col0 s gr
% Polyline
n 11697 6769 m 11676 6738 l gs col0 s gr
% Polyline
n 11676 1456 m 11690 1436 l gs col0 s gr
% Polyline
n 11697 1423 m 11690 1436 l gs col0 s gr
% Polyline
n 11697 1423 m 11717 1391 l gs col0 s gr
% Polyline
n 11741 1353 m 11717 1391 l gs col0 s gr
% Polyline
n 11741 1353 m 11744 1348 l gs col0 s gr
% Polyline
n 11751 1339 m 11744 1348 l gs col0 s gr
% Polyline
n 11825 6974 m 11784 6909 l 11751 6855 l gs col0 s gr
% Polyline
n 11751 1339 m 11772 1306 l gs col0 s gr
% Polyline
n 11784 1283 m 11772 1306 l gs col0 s gr
% Polyline
n 11784 1283 m 11799 1261 l gs col0 s gr
% Polyline
n 11825 1220 m 11799 1261 l gs col0 s gr
% Polyline
n 11900 7093 m 11871 7048 l 11833 6986 l gs col0 s gr
% Polyline
n 11828 6979 m 11833 6986 l gs col0 s gr
% Polyline
n 11828 6979 m 11825 6974 l gs col0 s gr
% Polyline
n 11825 1220 m 11826 1217 l gs col0 s gr
% Polyline
n 11828 1215 m 11826 1217 l gs col0 s gr
% Polyline
n 11828 1215 m 11854 1173 l gs col0 s gr
% Polyline
n 11871 1146 m 11854 1173 l gs col0 s gr
% Polyline
n 11871 1146 m 11881 1128 l gs col0 s gr
% Polyline
n 11900 1101 m 11881 1128 l gs col0 s gr
% Polyline
n 11973 7215 m 11955 7186 l 11933 7149 l gs col0 s gr
% Polyline
n 11913 7118 m 11933 7149 l gs col0 s gr
% Polyline
n 11913 7118 m 11900 7093 l gs col0 s gr
% Polyline
n 11900 1101 m 11909 1085 l gs col0 s gr
% Polyline
n 11913 1076 m 11909 1085 l gs col0 s gr
% Polyline
n 11913 1076 m 11935 1040 l gs col0 s gr
% Polyline
n 11955 1007 m 11935 1040 l gs col0 s gr
% Polyline
n 11955 1007 m 11962 996 l gs col0 s gr
% Polyline
n 11973 980 m 11962 996 l gs col0 s gr
% Polyline
n 12048 7338 m 12039 7325 l 12031 7310 l gs col0 s gr
% Polyline
n 11997 7256 m 12031 7310 l gs col0 s gr
% Polyline
n 11997 7256 m 11973 7215 l gs col0 s gr
% Polyline
n 11973 980 m 11989 953 l gs col0 s gr
% Polyline
n 11997 937 m 11989 953 l gs col0 s gr
% Polyline
n 11997 937 m 12016 908 l gs col0 s gr
% Polyline
n 12039 866 m 12016 908 l gs col0 s gr
% Polyline
n 12039 866 m 12043 865 l gs col0 s gr
% Polyline
n 12048 857 m 12043 865 l gs col0 s gr
% Polyline
n 12121 7462 m 12081 7395 l 12048 7338 l gs col0 s gr
% Polyline
n 12048 857 m 12069 819 l gs col0 s gr
% Polyline
n 12081 800 m 12069 819 l gs col0 s gr
% Polyline
n 12081 800 m 12095 774 l gs col0 s gr
% Polyline
n 12121 731 m 12095 774 l gs col0 s gr
% Polyline
n 12163 7535 m 12125 7469 l gs col0 s gr
% Polyline
n 12122 7465 m 12125 7469 l gs col0 s gr
% Polyline
n 12122 7465 m 12121 7462 l gs col0 s gr
% Polyline
n 12121 731 m 12122 729 l 12149 685 l gs col0 s gr
% Polyline
n 12163 660 m 12149 685 l gs col0 s gr
% Polyline
n 11138 2257 m 11116 2286 l gs col0 s gr
% Polyline
n 7009 3076 m 7038 3047 l gs col0 s gr
7.500 slw
% Ellipse
n 11600 1575 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 7458 2800 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 9601 4676 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Ellipse
n 11289 6153 46 46 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr
% Polyline
n 9049 5532 m 12282 513 l gs col0 s gr
$F2psEnd
rs
%%EndDocument
@endspecial 1426 3072 a Fq(P)2019 3878 y Fo(\000)p Fq(P)2149
2848 y Fo(O)1511 3509 y(O)23 b(\003)e(O)1116 4376 y Fw(Abbildung)27
b(2.6:)32 b(Das)f(in)m(v)m(erse)f(Elemen)m(t)411 4593
y(Wir)g(halten)g(das)g(Resultat)g(in)f(einem)h(Satz)h(fest:)270
4819 y Fs(Satz)k(4)46 b Fu(Die)35 b(Punkte)g(auf)g(einer)h(el)5
b(liptischen)36 b(Kurve)g(bilden)g(mit)g(der)g(ob)-5
b(en)36 b(b)-5 b(eschrie-)270 4932 y(b)g(enen)33 b(A)-5
b(ddition)33 b(eine)g(ab)-5 b(elsche)33 b(Grupp)-5 b(e.)411
5155 y Fw(Als)24 b(n)616 5159 y(\177)616 5155 y(ac)m(hstes)h(sollen)e
(die)g(arithmetisc)m(hen)h(F)-8 b(ormeln)24 b(f)2297
5159 y(\177)2294 5155 y(ur)f(die)g(Berec)m(hn)m(ung)i(der)f(Sum-)270
5268 y(me)d(zw)m(eier)h(Punkte)f(angegeb)s(en)h(w)m(erden.)f(Auc)m(h)g
(hier)f(gehen)i(wir)e(da)m(v)m(on)i(aus,)f(da\031)h(unsere)270
5381 y(Kurv)m(e)31 b Fq(E)i Fw(:)28 b Fq(y)745 5348 y
Fp(2)812 5381 y Fw(=)f Fq(x)962 5348 y Fp(3)1023 5381
y Fw(+)20 b Fq(ax)h Fw(+)g Fq(b)1400 5385 y Fw(\177)1398
5381 y(ub)s(er)30 b Fn(F)1659 5395 y Fl(p)1736 5381 y
Fw(de\014niert)g(ist.)i(Der)g(ausgezeic)m(hnete)h(Punkt)e
Fo(O)270 5494 y Fw(sei)f(der)g(F)-8 b(ernpunkt)29 b(im)g(Unendlic)m
(hen.)411 5609 y(Ist)j Fq(P)41 b Fw(=)28 b(\()p Fq(x)832
5623 y Fp(1)872 5609 y Fq(;)15 b(y)957 5623 y Fp(1)996
5609 y Fw(\))29 b Fo(2)f Fq(E)5 b Fw(\()p Fn(F)1306 5623
y Fl(p)1352 5609 y Fw(\),)32 b(dann)f(gilt)h Fo(\000)p
Fq(P)41 b Fw(=)28 b(\()p Fq(x)2193 5623 y Fp(1)2232 5609
y Fq(;)15 b Fo(\000)p Fq(y)2388 5623 y Fp(1)2427 5609
y Fw(\))29 b Fo(2)f Fq(E)5 b Fw(\()p Fn(F)2737 5623 y
Fl(p)2783 5609 y Fw(\).)32 b(Sei)g(w)m(eiterhin)p eop
%%Page: 12 13
12 12 bop 390 82 a Fw(12)1411 b(KAPITEL)30 b(2.)61 b(ELLIPTISCHE)28
b(KUR)-10 b(VEN)390 415 y Fq(Q)33 b Fw(=)f(\()p Fq(x)685
429 y Fp(2)725 415 y Fq(;)15 b(y)810 429 y Fp(2)850 415
y Fw(\))33 b Fo(2)f Fq(E)5 b Fw(\()p Fn(F)1169 429 y
Fl(p)1214 415 y Fw(\))35 b(mit)g Fq(P)46 b Fo(6)p Fw(=)32
b Fo(\000)p Fq(Q)p Fw(,)j(so)g(k)-5 b(ann)34 b Fq(P)j
Fw(+)23 b Fq(Q)32 b Fw(=)h(\()p Fq(x)2690 429 y Fp(3)2730
415 y Fq(;)15 b(y)2815 429 y Fp(3)2854 415 y Fw(\))35
b(durc)m(h)f(folgende)390 528 y(Sc)m(hritten)c(b)s(erec)m(hnet)g(w)m
(erden:)1239 976 y Fq(\025)83 b Fw(=)1529 735 y Fk(8)1529
817 y(>)1529 844 y(>)1529 871 y(<)1529 1035 y(>)1529
1062 y(>)1529 1089 y(:)1670 784 y Fq(y)1715 798 y Fp(2)1775
784 y Fo(\000)19 b Fq(y)1910 798 y Fp(1)p 1663 825 294
4 v 1663 908 a Fq(x)1715 922 y Fp(2)1775 908 y Fo(\000)g
Fq(x)1917 922 y Fp(1)2058 845 y Fw(:)91 b(falls)34 b
Fq(P)k Fo(6)p Fw(=)25 b Fq(Q)1661 1033 y Fw(3)p Fq(x)1758
1000 y Fp(2)1758 1058 y(1)1818 1033 y Fw(+)20 b Fq(a)p
1661 1074 297 4 v 1744 1157 a Fw(2)p Fq(y)1834 1171 y
Fp(1)2058 1095 y Fw(:)91 b(falls)34 b Fq(P)k Fw(=)25
b Fq(Q)3323 976 y Fw(\(2.5\))1200 1288 y Fq(x)1252 1302
y Fp(3)1375 1288 y Fw(=)83 b Fq(\025)1582 1251 y Fp(2)1641
1288 y Fo(\000)20 b Fq(x)1784 1302 y Fp(1)1844 1288 y
Fo(\000)g Fq(x)1987 1302 y Fp(2)3323 1288 y Fw(\(2.6\))1208
1426 y Fq(y)1253 1440 y Fp(3)1375 1426 y Fw(=)83 b Fq(\025)p
Fw(\()p Fq(x)1669 1440 y Fp(1)1729 1426 y Fo(\000)19
b Fq(x)1871 1440 y Fp(3)1911 1426 y Fw(\))h Fo(\000)g
Fq(y)2102 1440 y Fp(1)3323 1426 y Fw(\(2.7\))531 1621
y(Die)37 b(Berec)m(hn)m(ung)h(v)m(on)g(Vielfac)m(hen)e(eines)h(Punktes)
f(l)2446 1625 y(\177)2446 1621 y(a\031t)i(sic)m(h)f(b)s(esc)m
(hleunigen,)e(in-)390 1734 y(dem)h(man)f(die)g Fu(schnel)5
b(le)39 b(Multiplikation)44 b Fw(v)m(erw)m(endet.)37
b(Sie)e(en)m(tspric)m(h)m(t)h(der)f(b)s(ek)-5 b(ann)m(ten)390
1847 y Fu(schnel)5 b(len)44 b(Exp)-5 b(onentiation)52
b Fw(v)m(on)42 b(Zahlen)f(in)g(Restklassenringen.)g(Um)h(einen)g(Punkt)
390 1960 y Fq(P)49 b Fw(mit)35 b(einer)f(nat)1030 1964
y(\177)1027 1960 y(urlic)m(hen)g(Zahl)h Fq(n)g Fw(zu)g(m)m
(ultiplizieren,)d(b)s(edien)m(t)j(man)g(sic)m(h)g(dab)s(ei)f(der)390
2073 y(Bin)531 2077 y(\177)531 2073 y(ardarstellung)e(v)m(on)k
Fq(n)p Fw(.)f(Im)f(V)-8 b(ergleic)m(h)36 b(zur)e(fortlaufenden)g
(Addition)f(des)i(Punktes)390 2185 y Fq(P)13 b Fw(,)40
b(reic)m(hen)f(n)m(un)g(sc)m(hon)h(w)m(esen)m(tlic)m(h)g(w)m(eniger)f
(\(in)g(der)g(Gr)2501 2189 y(\177)2501 2185 y(o\031enordn)m(ung)h(v)m
(on)g Fq(l)r(og)s Fw(\()p Fq(n)p Fw(\)\))390 2298 y(Additionen)28
b(aus.)390 2583 y Fz(2.3)135 b(Kryptographisc)l(h)46
b(geeignete)h(Kurv)l(en)390 2786 y Fw(Es)26 b(stellt)h(sic)m(h)f(n)m
(un)g(die)f(F)-8 b(rage,)29 b(wie)d(elliptisc)m(he)f(Kurv)m(en)h(gew)
2552 2790 y(\177)2552 2786 y(ahlt)h(w)m(erden)f(m)3122
2790 y(\177)3119 2786 y(ussen,)g(um)390 2899 y(den)h(Anforderungen)e
(an)i(kryptographisc)m(he)g(An)m(w)m(endungen)f(zu)h(gen)2850
2903 y(\177)2847 2899 y(ugen.)h(Dab)s(ei)f(sind)390 3012
y(zw)m(ei)j(un)m(tersc)m(hiedlic)m(he)f(Asp)s(ekte)i(zu)f(b)s(etrac)m
(h)m(ten.)531 3125 y(Es)23 b(gibt)g(zum)f(einen)g(v)m(ersc)m(hiedene)i
(Kriterien,)d(mit)i(denen)f(man)h(sogenann)m(te)h Fu(schwa-)390
3238 y(che)35 b Fw(elliptisc)m(he)27 b(Kurv)m(en)g(erk)m(ennen)i(und)d
(damit)i(aussortieren)g(k)-5 b(ann.)28 b(Die)h(meisten)f(die-)390
3351 y(ser)h(Kriterien)d(sind)h(relativ)h(leic)m(h)m(t)h(zu)1756
3355 y(\177)1754 3351 y(ub)s(erpr)2025 3355 y(\177)2022
3351 y(ufen.)d(Wir)i(w)m(erden)g(im)g(w)m(eiteren)g(V)-8
b(erlauf)390 3464 y(dieses)39 b(Kapitels)g(einige)g(da)m(v)m(on)i(k)m
(ennenlernen.)d(Es)i(wird)e(ab)s(er)h(auc)m(h)h(v)m(erm)m(utet,)i
(da\031)390 3577 y(b)s(estimm)m(te)30 b(Klassen)g(v)m(on)h(elliptisc)m
(hen)d(Kurv)m(en)h(b)s(esonders)g(geeignet)j(bzw.)e(b)s(esonders)390
3689 y(ungeeignet)23 b(sind.)f(In)h(der)f(F)-8 b(ac)m(h)m(w)m(elt)26
b(sind)21 b(diese)i(V)-8 b(erm)m(utungen)23 b(allerdings)e(nic)m(h)m(t)
i(un)m(um-)390 3802 y(stritten.)30 b(Es)h(ist)f(jedo)s(c)m(h)g
(anzunehmen,)g(da\031)h(in)e(diesem)g(Bereic)m(h)i(aktueller)f(F)-8
b(orsc)m(h)m(ung)390 3915 y(bald)29 b(neue)h(Erk)m(enn)m(tnisse)f(gew)m
(onnen)i(w)m(erden.)531 4028 y(Andererseits)39 b(m)m(u\031)h(man)g(sic)
m(h)f(nat)1809 4032 y(\177)1806 4028 y(urlic)m(h)f(auc)m(h)i(Gedank)m
(en)2732 4032 y(\177)2730 4028 y(ub)s(er)e(die)h(Gr)3212
4032 y(\177)3212 4028 y(o\031e)i(der)390 4141 y(Kurv)m(en)33
b(bzw.)h(der)f(K)1164 4145 y(\177)1164 4141 y(orp)s(er)g(mac)m(hen,)
1770 4145 y(\177)1768 4141 y(ub)s(er)f(denen)h(die)g(Kurv)m(en)g
(de\014niert)g(sind.)f(Nac)m(h)390 4254 y(dem)42 b(heutigen)g(Stand)g
(der)h(tec)m(hnisc)m(hen)f(M)2005 4258 y(\177)2005 4254
y(oglic)m(hk)m(eiten)i(wird)c(empfohlen,)i(da\031)h(die)390
4367 y(v)m(erw)m(endete)35 b(Un)m(tergrupp)s(e)e(der)h(Punktegrupp)s(e)
e(einer)h(elliptisc)m(hen)e(Kurv)m(e)j(et)m(w)m(a)i(2)3400
4334 y Fp(200)390 4480 y Fw(Elemen)m(te)22 b(b)s(esitzt.)f(Hier)g
(zeigt)i(sic)m(h)e(n)m(un)f(deutlic)m(h)g(der)h(V)-8
b(orzug)23 b(der)e(k)2816 4484 y(\177)2813 4480 y(urzeren)g(Sc)m(hl)
3296 4484 y(\177)3293 4480 y(ussel-)390 4593 y(l)416
4597 y(\177)416 4593 y(ange)j(gegen)845 4597 y(\177)842
4593 y(ub)s(er)h(RSA.)f(Dort)h(liegt)f(man)g(inzwisc)m(hen)f(sc)m(hon)h
(b)s(ei)g(dem)g(Pro)s(dukt)f(zw)m(eier)390 4706 y(Primzahlen)30
b(in)i(der)f(Gr)1247 4710 y(\177)1247 4706 y(o\031enordn)m(ung)i(v)m
(on)f(jew)m(eils)g(512)i(Bit.)e(Generell)g(gilt)f(nat)3262
4710 y(\177)3259 4706 y(urlic)m(h,)390 4819 y(je)37 b(l)521
4823 y(\177)521 4819 y(anger)f(der)g(Sc)m(hl)1105 4823
y(\177)1102 4819 y(ussel)f(ist,)h(desto)h(b)s(esser)f(ist)g(die)g(Sic)m
(herheit,)g(desto)h(sc)m(hlec)m(h)m(ter)h(ist)390 4932
y(ab)s(er)27 b(auc)m(h)i(die)e(E\016zienz.)g(Hier)h(m)m(u\031)g(man)f
(also)h(abh)2257 4936 y(\177)2257 4932 y(angig)f(v)m(on)i(der)e(Aufgab)
s(enstellung)390 5044 y(einen)22 b(Kompromi\031)f(\014nden.)g(Wie)i
(sic)m(h)f(v)m(ersc)m(hiedene)g(Sc)m(hl)2439 5048 y(\177)2436
5044 y(ussell)2651 5048 y(\177)2651 5044 y(angen)e(auf)i(die)g
(Laufzeit)390 5157 y(der)34 b(in)f(Kapitel)g(4)i(b)s(esc)m(hrieb)s
(enen)d(Implemen)m(tierung)g(auswirk)m(en,)h(wird)f(in)h(Kapitel)h(5)
390 5270 y(dargestellt.)531 5383 y(Nun)d(k)m(ommen)i(wir)d(zu)i(den)f
(sc)m(hon)i(ob)s(en)e(angespro)s(c)m(henen)h(Kriterien)e(f)3102
5387 y(\177)3099 5383 y(ur)h(krypto-)390 5496 y(graphisc)m(h)e
(geeignete)j(Kurv)m(en.)d(Beginnen)h(w)m(ollen)f(wir)f(mit)i(dem)f
(Begri\013)i(der)e Fu(Singula-)390 5609 y(rit)485 5613
y(\177)486 5609 y(at)p Fw(.)p eop
%%Page: 13 14
13 13 bop 270 82 a Fw(2.3.)62 b(Kryptographisc)m(h)29
b(geeignete)j(Kurv)m(en)1446 b(13)270 415 y Fs(De\014nition)35
b(5)46 b Fu(Eine)31 b(el)5 b(liptische)33 b(Kurve)1767
419 y(\177)1767 415 y(ub)-5 b(er)32 b(dem)h(K)2229 419
y(\177)2230 415 y(orp)-5 b(er)33 b Fq(K)39 b Fu(hei\031t)32
b(singul)3040 419 y(\177)3041 415 y(ar,)h(wenn)270 528
y Fw(\001)25 b(=)g(0)33 b Fu(in)f Fq(K)40 b Fu(ist.)411
748 y Fw(Es)31 b(soll)g(dab)s(ei)f(kurz)h(darauf)g(hingewiesen)f(w)m
(erden,)h(da\031)h(der)f(Begri\013)h(der)f(Singula-)270
860 y(rit)367 864 y(\177)367 860 y(at)h(in)e(den)i(meisten)f(B)1162
864 y(\177)1159 860 y(uc)m(hern)1459 864 y(\177)1456
860 y(ub)s(er)g(das)g(V)-8 b(ersc)m(h)m(winden)31 b(aller)g(partiellen)
f(Ableitun-)270 973 y(gen)e(in)f(mindestens)f(einem)i(Punkt)f
(de\014niert)g(wird.)f(Obige)h(De\014nition)g(en)m(tpric)m(h)m(t)h
(dann)270 1086 y(einem)i(Satz.)638 2606 y @beginspecial
0 @llx 0 @lly 711 @urx 428 @ury 1700 @rhi @clip @setspecial
%%BeginDocument: Pics/singular.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: picsingular.eps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Fri Oct 8 13:59:52 1999
%%For: crnjak@fb0409 (Markus Crnjak)
%%Orientation: Portrait
%%BoundingBox: 0 0 711 428
%%Pages: 0
%%BeginSetup
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.298 0.298 0.298 srgb} bind def
end
save
-27.0 455.0 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog
$F2psBegin
10 setmiterlimit
n -1000 8571 m -1000 -1000 l 13295 -1000 l 13295 8571 l cp clip
0.06000 0.06000 sc
% Polyline
1 slc
7.500 slw
n 665 7559 m 665 472 l gs col0 s gr
% Polyline
n 472 4017 m 6141 4017 l gs col0 s gr
% Polyline
n 9046 7559 m 9046 472 l gs col0 s gr
% Polyline
n 6614 4015 m 12283 4015 l gs col0 s gr
% Polyline
1 slj
30.000 slw
n 7159 4187 m 7161 4215 l gs col0 s gr
% Polyline
n 7159 4187 m 7154 4141 l gs col0 s gr
% Polyline
n 7152 4123 m 7154 4141 l gs col0 s gr
% Polyline
n 7152 4123 m 7150 4067 l gs col0 s gr
% Polyline
n 7150 4051 m 7150 4067 l gs col0 s gr
% Polyline
n 7150 4051 m 7150 4000 l gs col0 s gr
% Polyline
n 7150 3984 m 7150 4000 l gs col0 s gr
% Polyline
n 7150 3984 m 7152 3932 l gs col0 s gr
% Polyline
n 7152 3912 m 7152 3932 l gs col0 s gr
% Polyline
n 7152 3912 m 7156 3865 l gs col0 s gr
% Polyline
n 7159 3845 m 7156 3865 l gs col0 s gr
% Polyline
n 7159 3845 m 7162 3802 l gs col0 s gr
% Polyline
n 7166 3775 m 7162 3802 l gs col0 s gr
% Polyline
n 7166 3775 m 7172 3741 l gs col0 s gr
% Polyline
n 7175 3708 m 7172 3741 l gs col0 s gr
% Polyline
n 7175 3708 m 7180 3686 l gs col0 s gr
% Polyline
n 7187 3640 m 7180 3686 l gs col0 s gr
% Polyline
n 7187 3640 m 7191 3627 l gs col0 s gr
% Polyline
n 7203 3571 m 7191 3627 l gs col0 s gr
% Polyline
n 7269 4672 m 7269 4668 l gs col0 s gr
% Polyline
n 7244 4601 m 7269 4668 l gs col0 s gr
% Polyline
n 7244 4601 m 7232 4564 l gs col0 s gr
% Polyline
n 7223 4536 m 7232 4564 l gs col0 s gr
% Polyline
n 7223 4536 m 7203 4466 l 7203 4464 l gs col0 s gr
% Polyline
n 7203 3571 m 7218 3518 l gs col0 s gr
% Polyline
n 7223 3502 m 7218 3518 l gs col0 s gr
% Polyline
n 7223 3502 m 7234 3464 l gs col0 s gr
% Polyline
n 7244 3433 m 7234 3464 l gs col0 s gr
% Polyline
n 7244 3433 m 7251 3412 l gs col0 s gr
% Polyline
n 7269 3365 m 7251 3412 l gs col0 s gr
% Polyline
n 7268 3365 m 7270 3365 l gs col0 s gr
% Polyline
n 7269 3362 m 7269 3365 l gs col0 s gr
% Polyline
n 7337 4816 m 7333 4807 l 7329 4801 l gs col0 s gr
% Polyline
n 7298 4740 m 7329 4801 l gs col0 s gr
% Polyline
n 7298 4740 m 7269 4672 l gs col0 s gr
% Polyline
n 7269 3362 m 7290 3316 l gs col0 s gr
% Polyline
n 7298 3295 m 7290 3316 l gs col0 s gr
% Polyline
n 7298 3295 m 7312 3271 l gs col0 s gr
% Polyline
n 7333 3228 m 7312 3271 l gs col0 s gr
% Polyline
n 7333 3228 m 7335 3224 l gs col0 s gr
% Polyline
n 7337 3217 m 7335 3224 l gs col0 s gr
% Polyline
n 7404 4923 m 7374 4878 l 7337 4816 l gs col0 s gr
% Polyline
n 7337 3217 m 7358 3181 l gs col0 s gr
% Polyline
n 7374 3156 m 7358 3181 l gs col0 s gr
% Polyline
n 7374 3156 m 7385 3139 l gs col0 s gr
% Polyline
n 7404 3109 m 7385 3139 l gs col0 s gr
% Polyline
n 7470 5011 m 7420 4945 l 7404 4923 l gs col0 s gr
% Polyline
n 7404 3109 m 7413 3096 l gs col0 s gr
% Polyline
n 7420 3089 m 7413 3096 l gs col0 s gr
% Polyline
n 7420 3089 m 7443 3060 l gs col0 s gr
% Polyline
n 7470 3024 m 7443 3060 l gs col0 s gr
% Polyline
n 7539 5081 m 7475 5016 l 7470 5011 l gs col0 s gr
% Polyline
n 7470 3024 m 7472 3020 l gs col0 s gr
% Polyline
n 7475 3017 m 7472 3020 l gs col0 s gr
% Polyline
n 7475 3017 m 7505 2986 l gs col0 s gr
% Polyline
n 7539 2955 m 7505 2986 l gs col0 s gr
% Polyline
n 7606 5139 m 7540 5083 l 7539 5081 l gs col0 s gr
% Polyline
n 7539 2955 m 7539 2953 l gs col0 s gr
% Polyline
n 7540 2950 m 7539 2953 l gs col0 s gr
% Polyline
n 7540 2950 m 7575 2921 l gs col0 s gr
% Polyline
n 7606 2896 m 7575 2921 l gs col0 s gr
% Polyline
n 7672 5184 m 7626 5152 l 7606 5139 l gs col0 s gr
% Polyline
n 7606 2896 m 7614 2890 l gs col0 s gr
% Polyline
n 7626 2880 m 7614 2890 l gs col0 s gr
% Polyline
n 7626 2880 m 7653 2862 l gs col0 s gr
% Polyline
n 7672 2849 m 7653 2862 l gs col0 s gr
% Polyline
n 7672 5184 m 7740 5219 l gs col0 s gr
% Polyline
n 7672 2849 m 7695 2838 l gs col0 s gr
% Polyline
n 7740 2813 m 7695 2838 l gs col0 s gr
% Polyline
n 7805 5249 m 7740 5219 l gs col0 s gr
% Polyline
n 7740 2813 m 7786 2793 l gs col0 s gr
% Polyline
n 7805 2784 m 7786 2793 l gs col0 s gr
% Polyline
n 7805 5249 m 7846 5262 l gs col0 s gr
% Polyline
n 7874 5273 m 7846 5262 l gs col0 s gr
% Polyline
n 7805 2784 m 7837 2773 l gs col0 s gr
% Polyline
n 7874 2764 m 7837 2773 l gs col0 s gr
% Polyline
n 7874 5273 m 7938 5289 l gs col0 s gr
% Polyline
n 7940 5289 m 7938 5289 l gs col0 s gr
% Polyline
n 7874 2764 m 7887 2758 l gs col0 s gr
% Polyline
n 7940 2748 m 7887 2758 l gs col0 s gr
% Polyline
n 8007 5298 m 7959 5291 l 7940 5289 l gs col0 s gr
% Polyline
n 7940 2748 m 7943 2748 l gs col0 s gr
% Polyline
n 7959 2746 m 7943 2748 l gs col0 s gr
% Polyline
n 7959 2746 m 8002 2737 l gs col0 s gr
% Polyline
n 8007 2737 m 8002 2737 l gs col0 s gr
% Polyline
n 8007 5298 m 8015 5298 l gs col0 s gr
% Polyline
n 8075 5300 m 8015 5298 l gs col0 s gr
% Polyline
n 8007 2737 m 8066 2734 l gs col0 s gr
% Polyline
n 8075 2734 m 8066 2734 l gs col0 s gr
% Polyline
n 8075 5300 m 8085 5300 l gs col0 s gr
% Polyline
n 8141 5300 m 8085 5300 l gs col0 s gr
% Polyline
n 8075 2734 m 8132 2734 l gs col0 s gr
% Polyline
n 8141 2734 m 8132 2734 l gs col0 s gr
% Polyline
n 8141 5300 m 8151 5298 l gs col0 s gr
% Polyline
n 8208 5296 m 8151 5298 l gs col0 s gr
% Polyline
n 8141 2734 m 8203 2740 l gs col0 s gr
% Polyline
n 8208 2740 m 8203 2740 l gs col0 s gr
% Polyline
n 8208 5296 m 8213 5294 l gs col0 s gr
% Polyline
n 8245 5291 m 8213 5294 l gs col0 s gr
% Polyline
n 8245 5291 m 8270 5289 l gs col0 s gr
% Polyline
n 8275 5285 m 8270 5289 l gs col0 s gr
% Polyline
n 8275 2748 m 8245 2746 l 8208 2740 l gs col0 s gr
% Polyline
n 8275 5285 m 8327 5275 l gs col0 s gr
% Polyline
n 8343 5273 m 8327 5275 l gs col0 s gr
% Polyline
n 8275 2748 m 8281 2750 l gs col0 s gr
% Polyline
n 8343 2764 m 8281 2750 l gs col0 s gr
% Polyline
n 8343 5273 m 8382 5262 l gs col0 s gr
% Polyline
n 8410 5253 m 8382 5262 l gs col0 s gr
% Polyline
n 8343 2764 m 8366 2768 l gs col0 s gr
% Polyline
n 8410 2782 m 8366 2768 l gs col0 s gr
% Polyline
n 8410 5253 m 8434 5247 l gs col0 s gr
% Polyline
n 8476 5233 m 8434 5247 l gs col0 s gr
% Polyline
n 8410 2782 m 8460 2795 l gs col0 s gr
% Polyline
n 8476 2802 m 8460 2795 l gs col0 s gr
% Polyline
n 8476 5233 m 8486 5231 l gs col0 s gr
% Polyline
n 8511 5219 m 8486 5231 l gs col0 s gr
% Polyline
n 8511 5219 m 8535 5213 l gs col0 s gr
% Polyline
n 8544 5211 m 8535 5213 l gs col0 s gr
% Polyline
n 8544 2827 m 8511 2813 l 8476 2802 l gs col0 s gr
% Polyline
n 8544 5211 m 8583 5190 l gs col0 s gr
% Polyline
n 8612 5182 m 8583 5190 l gs col0 s gr
% Polyline
n 8544 2827 m 8565 2833 l gs col0 s gr
% Polyline
n 8612 2854 m 8565 2833 l gs col0 s gr
% Polyline
n 8612 5182 m 8629 5172 l gs col0 s gr
% Polyline
n 8672 5152 m 8629 5172 l gs col0 s gr
% Polyline
n 8672 5152 m 8676 5150 l gs col0 s gr
% Polyline
n 8678 5150 m 8676 5150 l gs col0 s gr
% Polyline
n 8678 2885 m 8672 2880 l 8612 2854 l gs col0 s gr
% Polyline
n 8678 5150 m 8721 5127 l gs col0 s gr
% Polyline
n 8746 5114 m 8721 5127 l gs col0 s gr
% Polyline
n 8678 2885 m 8686 2890 l gs col0 s gr
% Polyline
n 8746 2921 m 8686 2890 l gs col0 s gr
% Polyline
n 8746 5114 m 8765 5105 l gs col0 s gr
% Polyline
n 8802 5083 m 8765 5105 l gs col0 s gr
% Polyline
n 8802 5083 m 8808 5081 l gs col0 s gr
% Polyline
n 8812 5079 m 8808 5081 l gs col0 s gr
% Polyline
n 8812 2957 m 8802 2950 l 8746 2921 l gs col0 s gr
% Polyline
n 8812 5079 m 8850 5054 l gs col0 s gr
% Polyline
n 8879 5036 m 8850 5054 l gs col0 s gr
% Polyline
n 8812 2957 m 8827 2965 l gs col0 s gr
% Polyline
n 8879 2997 m 8827 2965 l gs col0 s gr
% Polyline
n 8879 5036 m 8893 5029 l gs col0 s gr
% Polyline
n 8916 5016 m 8893 5029 l gs col0 s gr
% Polyline
n 8916 5016 m 8934 5002 l gs col0 s gr
% Polyline
n 8948 4995 m 8934 5002 l gs col0 s gr
% Polyline
n 8948 3042 m 8916 3017 l 8879 2997 l gs col0 s gr
% Polyline
n 8948 4995 m 8975 4975 l gs col0 s gr
% Polyline
n 9014 4951 m 8975 4975 l gs col0 s gr
% Polyline
n 8948 3042 m 9005 3078 l gs col0 s gr
% Polyline
n 9014 3087 m 9005 3078 l gs col0 s gr
% Polyline
n 9014 4951 m 9015 4951 l gs col0 s gr
% Polyline
n 9019 4945 m 9015 4951 l gs col0 s gr
% Polyline
n 9019 4945 m 9054 4919 l gs col0 s gr
% Polyline
n 9081 4903 m 9054 4919 l gs col0 s gr
% Polyline
n 9081 3137 m 9019 3089 l 9014 3087 l gs col0 s gr
% Polyline
n 9081 4903 m 9095 4890 l gs col0 s gr
% Polyline
n 9112 4878 m 9095 4890 l gs col0 s gr
% Polyline
n 9112 4878 m 9133 4860 l gs col0 s gr
% Polyline
n 9147 4850 m 9133 4860 l gs col0 s gr
% Polyline
n 9147 3184 m 9112 3156 l 9081 3137 l gs col0 s gr
% Polyline
n 9147 4850 m 9170 4832 l gs col0 s gr
% Polyline
n 9202 4807 m 9170 4832 l gs col0 s gr
% Polyline
n 9202 4807 m 9209 4803 l gs col0 s gr
% Polyline
n 9215 4797 m 9209 4803 l gs col0 s gr
% Polyline
n 9215 3239 m 9202 3228 l 9147 3184 l gs col0 s gr
% Polyline
n 9215 4797 m 9246 4771 l gs col0 s gr
% Polyline
n 9282 4742 m 9246 4771 l gs col0 s gr
% Polyline
n 9215 3239 m 9273 3287 l gs col0 s gr
% Polyline
n 9282 3291 m 9273 3287 l gs col0 s gr
% Polyline
n 9281 4742 m 9283 4742 l gs col0 s gr
% Polyline
n 9285 4740 m 9282 4742 l gs col0 s gr
% Polyline
n 9285 4740 m 9319 4710 l gs col0 s gr
% Polyline
n 9349 4681 m 9319 4710 l gs col0 s gr
% Polyline
n 9349 3352 m 9285 3295 l 9282 3291 l gs col0 s gr
% Polyline
n 9349 4681 m 9356 4677 l gs col0 s gr
% Polyline
n 9364 4672 m 9356 4677 l gs col0 s gr
% Polyline
n 9364 4672 m 9392 4645 l gs col0 s gr
% Polyline
n 9417 4621 m 9392 4645 l gs col0 s gr
% Polyline
n 9417 3412 m 9364 3365 l 9349 3352 l gs col0 s gr
% Polyline
n 9417 4621 m 9428 4614 l gs col0 s gr
% Polyline
n 9440 4601 m 9428 4614 l gs col0 s gr
% Polyline
n 9440 4601 m 9463 4580 l gs col0 s gr
% Polyline
n 9484 4560 m 9463 4580 l gs col0 s gr
% Polyline
n 9484 3475 m 9440 3433 l 9417 3412 l gs col0 s gr
% Polyline
n 9484 4560 m 9498 4549 l gs col0 s gr
% Polyline
n 9513 4536 m 9498 4549 l gs col0 s gr
% Polyline
n 9513 4536 m 9530 4513 l gs col0 s gr
% Polyline
n 9550 4495 m 9530 4513 l gs col0 s gr
% Polyline
n 9550 3538 m 9513 3502 l 9484 3475 l gs col0 s gr
% Polyline
n 9550 4495 m 9566 4481 l gs col0 s gr
% Polyline
n 9585 4466 m 9566 4481 l gs col0 s gr
% Polyline
n 9585 4466 m 9601 4448 l gs col0 s gr
% Polyline
n 9616 4430 m 9601 4448 l gs col0 s gr
% Polyline
n 9616 3605 m 9585 3571 l 9550 3538 l gs col0 s gr
% Polyline
n 9616 4430 m 9633 4414 l gs col0 s gr
% Polyline
n 9653 4396 m 9633 4414 l gs col0 s gr
% Polyline
n 9653 4396 m 9669 4381 l gs col0 s gr
% Polyline
n 9683 4359 m 9669 4381 l gs col0 s gr
% Polyline
n 9683 3674 m 9653 3640 l 9616 3605 l gs col0 s gr
% Polyline
n 9683 4359 m 9701 4343 l gs col0 s gr
% Polyline
n 9719 4327 m 9701 4343 l gs col0 s gr
% Polyline
n 9719 4327 m 9734 4309 l gs col0 s gr
% Polyline
n 9752 4289 m 9734 4309 l gs col0 s gr
% Polyline
n 9752 3744 m 9719 3708 l 9683 3674 l gs col0 s gr
% Polyline
n 9752 4289 m 9767 4274 l gs col0 s gr
% Polyline
n 9784 4260 m 9767 4274 l gs col0 s gr
% Polyline
n 9784 4260 m 9800 4237 l gs col0 s gr
% Polyline
n 9818 4215 m 9800 4237 l gs col0 s gr
% Polyline
n 9818 3818 m 9784 3775 l 9752 3744 l gs col0 s gr
% Polyline
n 9818 4215 m 9833 4201 l gs col0 s gr
% Polyline
n 9848 4187 m 9833 4201 l gs col0 s gr
% Polyline
n 9848 4187 m 9864 4167 l gs col0 s gr
% Polyline
n 9885 4141 m 9864 4167 l gs col0 s gr
% Polyline
n 9885 3895 m 9848 3845 l 9818 3818 l gs col0 s gr
% Polyline
n 9885 4141 m 9897 4130 l gs col0 s gr
% Polyline
n 9912 4123 m 9897 4130 l gs col0 s gr
% Polyline
n 9912 4123 m 9928 4096 l gs col0 s gr
% Polyline
n 9953 4060 m 9928 4096 l gs col0 s gr
% Polyline
n 9953 3970 m 9912 3912 l 9885 3895 l gs col0 s gr
% Polyline
n 9953 4060 m 9959 4060 l gs col0 s gr
% Polyline
n 10023 3984 m 9959 4060 l gs col0 s gr
% Polyline
n 10022 4049 m 9953 3970 l gs col0 s gr
% Polyline
n 10087 4125 m 10079 4123 l 10036 4071 l gs col0 s gr
% Polyline
n 10019 4049 m 10036 4071 l gs col0 s gr
% Polyline
n 10022 3984 m 10022 3986 l gs col0 s gr
% Polyline
n 10022 3984 m 10052 3948 l gs col0 s gr
% Polyline
n 10079 3912 m 10052 3948 l gs col0 s gr
% Polyline
n 10079 3912 m 10085 3912 l gs col0 s gr
% Polyline
n 10087 3910 m 10085 3912 l gs col0 s gr
% Polyline
n 10155 4206 m 10135 4187 l 10087 4125 l gs col0 s gr
% Polyline
n 10087 3910 m 10114 3874 l gs col0 s gr
% Polyline
n 10135 3845 m 10114 3874 l gs col0 s gr
% Polyline
n 10135 3845 m 10145 3836 l gs col0 s gr
% Polyline
n 10155 3829 m 10145 3836 l gs col0 s gr
% Polyline
n 10221 4289 m 10190 4260 l 10155 4206 l gs col0 s gr
% Polyline
n 10155 3829 m 10176 3800 l gs col0 s gr
% Polyline
n 10190 3775 m 10176 3800 l gs col0 s gr
% Polyline
n 10190 3775 m 10205 3764 l gs col0 s gr
% Polyline
n 10221 3744 m 10205 3764 l gs col0 s gr
% Polyline
n 10288 4379 m 10246 4327 l 10221 4289 l gs col0 s gr
% Polyline
n 10221 3744 m 10236 3721 l gs col0 s gr
% Polyline
n 10246 3708 m 10236 3721 l gs col0 s gr
% Polyline
n 10246 3708 m 10265 3686 l gs col0 s gr
% Polyline
n 10288 3658 m 10265 3686 l gs col0 s gr
% Polyline
n 10354 4466 m 10300 4396 l 10288 4379 l gs col0 s gr
% Polyline
n 10288 3658 m 10297 3646 l gs col0 s gr
% Polyline
n 10300 3640 m 10297 3646 l gs col0 s gr
% Polyline
n 10300 3640 m 10325 3609 l gs col0 s gr
% Polyline
n 10354 3571 m 10325 3609 l gs col0 s gr
% Polyline
n 10423 4552 m 10405 4536 l 10356 4466 l gs col0 s gr
% Polyline
n 10354 4466 m 10356 4466 l gs col0 s gr
% Polyline
n 10353 4466 m 10355 4466 l gs col0 s gr
% Polyline
n 10354 3571 m 10384 3533 l gs col0 s gr
% Polyline
n 10405 3502 m 10384 3533 l gs col0 s gr
% Polyline
n 10405 3502 m 10414 3492 l gs col0 s gr
% Polyline
n 10423 3482 m 10414 3492 l gs col0 s gr
% Polyline
n 10488 4643 m 10457 4601 l 10423 4552 l gs col0 s gr
% Polyline
n 10423 3482 m 10441 3455 l gs col0 s gr
% Polyline
n 10457 3433 m 10441 3455 l gs col0 s gr
% Polyline
n 10457 3433 m 10471 3415 l gs col0 s gr
% Polyline
n 10488 3390 m 10471 3415 l gs col0 s gr
% Polyline
n 10556 4735 m 10508 4672 l 10488 4643 l gs col0 s gr
% Polyline
n 10488 3390 m 10500 3374 l gs col0 s gr
% Polyline
n 10508 3365 m 10500 3374 l gs col0 s gr
% Polyline
n 10508 3365 m 10529 3336 l gs col0 s gr
% Polyline
n 10556 3297 m 10529 3336 l gs col0 s gr
% Polyline
n 10624 4829 m 10606 4807 l 10565 4751 l gs col0 s gr
% Polyline
n 10558 4740 m 10565 4751 l gs col0 s gr
% Polyline
n 10558 4740 m 10556 4735 l gs col0 s gr
% Polyline
n 10556 3297 m 10558 3295 l gs col0 s gr
% Polyline
n 10557 3295 m 10559 3295 l gs col0 s gr
% Polyline
n 10558 3295 m 10585 3257 l gs col0 s gr
% Polyline
n 10606 3228 m 10585 3257 l gs col0 s gr
% Polyline
n 10606 3228 m 10614 3217 l gs col0 s gr
% Polyline
n 10624 3204 m 10614 3217 l gs col0 s gr
% Polyline
n 10689 4925 m 10655 4878 l 10624 4829 l gs col0 s gr
% Polyline
n 10624 3204 m 10641 3179 l gs col0 s gr
% Polyline
n 10655 3156 m 10641 3179 l gs col0 s gr
% Polyline
n 10655 3156 m 10670 3137 l gs col0 s gr
% Polyline
n 10689 3109 m 10670 3137 l gs col0 s gr
% Polyline
n 10758 5022 m 10752 5016 l 10739 4995 l gs col0 s gr
% Polyline
n 10703 4945 m 10739 4995 l gs col0 s gr
% Polyline
n 10703 4945 m 10689 4925 l gs col0 s gr
% Polyline
n 10689 3109 m 10698 3096 l gs col0 s gr
% Polyline
n 10703 3089 m 10698 3096 l gs col0 s gr
% Polyline
n 10703 3089 m 10727 3058 l gs col0 s gr
% Polyline
n 10752 3017 m 10727 3058 l gs col0 s gr
% Polyline
n 10752 3017 m 10753 3015 l gs col0 s gr
% Polyline
n 10758 3013 m 10753 3015 l gs col0 s gr
% Polyline
n 10826 5121 m 10798 5083 l 10758 5022 l gs col0 s gr
% Polyline
n 10758 3013 m 10781 2977 l gs col0 s gr
% Polyline
n 10798 2950 m 10781 2977 l gs col0 s gr
% Polyline
n 10798 2950 m 10808 2934 l gs col0 s gr
% Polyline
n 10826 2912 m 10808 2934 l gs col0 s gr
% Polyline
n 10891 5219 m 10890 5219 l gs col0 s gr
% Polyline
n 10845 5152 m 10890 5219 l gs col0 s gr
% Polyline
n 10845 5152 m 10826 5121 l gs col0 s gr
% Polyline
n 10826 2912 m 10837 2894 l gs col0 s gr
% Polyline
n 10845 2880 m 10837 2894 l gs col0 s gr
% Polyline
n 10845 2880 m 10865 2854 l gs col0 s gr
% Polyline
n 10891 2813 m 10865 2854 l gs col0 s gr
% Polyline
n 10890 2813 m 10892 2813 l gs col0 s gr
% Polyline
n 10891 2811 m 10891 2813 l gs col0 s gr
% Polyline
n 10959 5322 m 10936 5291 l 10891 5219 l gs col0 s gr
% Polyline
n 10891 2811 m 10918 2770 l gs col0 s gr
% Polyline
n 10936 2746 m 10918 2770 l gs col0 s gr
% Polyline
n 10936 2746 m 10945 2730 l gs col0 s gr
% Polyline
n 10959 2710 m 10945 2730 l gs col0 s gr
% Polyline
n 11027 5428 m 10980 5359 l 10959 5322 l gs col0 s gr
% Polyline
n 10959 2710 m 10973 2690 l gs col0 s gr
% Polyline
n 10980 2677 m 10973 2690 l gs col0 s gr
% Polyline
n 10980 2677 m 11000 2649 l gs col0 s gr
% Polyline
n 11027 2609 m 11000 2649 l gs col0 s gr
% Polyline
n 11092 5531 m 11069 5496 l 11027 5430 l gs col0 s gr
% Polyline
n 11027 5428 m 11027 5430 l gs col0 s gr
% Polyline
n 11026 5428 m 11028 5428 l gs col0 s gr
% Polyline
n 11027 2609 m 11027 2607 l 11053 2566 l gs col0 s gr
% Polyline
n 11069 2537 m 11053 2566 l gs col0 s gr
% Polyline
n 11069 2537 m 11080 2521 l gs col0 s gr
% Polyline
n 11092 2503 m 11080 2521 l gs col0 s gr
% Polyline
n 11161 5636 m 11156 5634 l 11153 5628 l gs col0 s gr
% Polyline
n 11114 5565 m 11153 5628 l gs col0 s gr
% Polyline
n 11114 5565 m 11092 5531 l gs col0 s gr
% Polyline
n 11092 2503 m 11106 2483 l gs col0 s gr
% Polyline
n 11114 2470 m 11106 2483 l gs col0 s gr
% Polyline
n 11114 2470 m 11131 2440 l gs col0 s gr
% Polyline
n 11156 2401 m 11131 2440 l gs col0 s gr
% Polyline
n 11156 2401 m 11159 2398 l gs col0 s gr
% Polyline
n 11161 2396 m 11159 2398 l gs col0 s gr
% Polyline
n 11227 5744 m 11200 5703 l 11161 5636 l gs col0 s gr
% Polyline
n 11161 2396 m 11184 2355 l gs col0 s gr
% Polyline
n 11200 2333 m 11184 2355 l gs col0 s gr
% Polyline
n 11200 2333 m 11211 2316 l gs col0 s gr
% Polyline
n 11227 2290 m 11211 2316 l gs col0 s gr
% Polyline
n 11293 5855 m 11285 5839 l 11269 5816 l gs col0 s gr
% Polyline
n 11243 5772 m 11269 5816 l gs col0 s gr
% Polyline
n 11243 5772 m 11227 5744 l gs col0 s gr
% Polyline
n 11227 2290 m 11236 2272 l gs col0 s gr
% Polyline
n 11243 2262 m 11236 2272 l gs col0 s gr
% Polyline
n 11243 2262 m 11264 2230 l gs col0 s gr
% Polyline
n 11285 2195 m 11264 2230 l gs col0 s gr
% Polyline
n 11285 2195 m 11289 2187 l gs col0 s gr
% Polyline
n 11293 2181 m 11289 2187 l gs col0 s gr
% Polyline
n 11360 5962 m 11328 5910 l 11293 5855 l gs col0 s gr
% Polyline
n 11293 2181 m 11314 2148 l gs col0 s gr
% Polyline
n 11328 2124 m 11314 2148 l gs col0 s gr
% Polyline
n 11328 2124 m 11339 2104 l gs col0 s gr
% Polyline
n 11360 2071 m 11339 2104 l gs col0 s gr
% Polyline
n 11428 6078 m 11408 6047 l 11382 6000 l gs col0 s gr
% Polyline
n 11370 5977 m 11382 6000 l gs col0 s gr
% Polyline
n 11370 5977 m 11360 5962 l gs col0 s gr
% Polyline
n 11360 2071 m 11366 2061 l gs col0 s gr
% Polyline
n 11370 2057 m 11366 2061 l gs col0 s gr
% Polyline
n 11370 2057 m 11392 2017 l gs col0 s gr
% Polyline
n 11408 1988 m 11392 2017 l gs col0 s gr
% Polyline
n 11408 1988 m 11417 1976 l gs col0 s gr
% Polyline
n 11428 1961 m 11417 1976 l gs col0 s gr
% Polyline
n 11495 6191 m 11492 6186 l 11486 6177 l gs col0 s gr
% Polyline
n 11451 6114 m 11486 6177 l gs col0 s gr
% Polyline
n 11451 6114 m 11428 6078 l gs col0 s gr
% Polyline
n 11428 1961 m 11444 1934 l gs col0 s gr
% Polyline
n 11451 1919 m 11444 1934 l gs col0 s gr
% Polyline
n 11451 1919 m 11467 1891 l gs col0 s gr
% Polyline
n 11492 1849 m 11467 1891 l gs col0 s gr
% Polyline
n 11492 1849 m 11495 1846 l gs col0 s gr
% Polyline
n 11495 1844 m 11495 1846 l gs col0 s gr
% Polyline
n 11562 6305 m 11533 6251 l 11495 6191 l gs col0 s gr
% Polyline
n 11495 1844 m 11520 1802 l gs col0 s gr
% Polyline
n 11533 1781 m 11520 1802 l gs col0 s gr
% Polyline
n 11533 1781 m 11545 1761 l gs col0 s gr
% Polyline
n 11562 1730 m 11545 1761 l gs col0 s gr
% Polyline
n 11630 6422 m 11612 6390 l 11587 6345 l gs col0 s gr
% Polyline
n 11571 6323 m 11587 6345 l gs col0 s gr
% Polyline
n 11571 6323 m 11562 6305 l gs col0 s gr
% Polyline
n 11562 1730 m 11568 1719 l gs col0 s gr
% Polyline
n 11571 1710 m 11568 1719 l gs col0 s gr
% Polyline
n 11571 1710 m 11593 1674 l gs col0 s gr
% Polyline
n 11612 1643 m 11593 1674 l gs col0 s gr
% Polyline
n 11612 1643 m 11618 1631 l gs col0 s gr
% Polyline
n 11630 1613 m 11618 1631 l gs col0 s gr
% Polyline
n 11697 6538 m 11692 6530 l 11685 6514 l gs col0 s gr
% Polyline
n 11651 6459 m 11685 6514 l gs col0 s gr
% Polyline
n 11651 6459 m 11630 6422 l gs col0 s gr
% Polyline
n 11630 1613 m 11644 1591 l gs col0 s gr
% Polyline
n 11651 1575 m 11644 1591 l gs col0 s gr
% Polyline
n 11651 1575 m 11669 1546 l gs col0 s gr
% Polyline
n 11692 1506 m 11669 1546 l gs col0 s gr
% Polyline
n 11692 1506 m 11694 1504 l gs col0 s gr
% Polyline
n 11697 1499 m 11694 1504 l gs col0 s gr
% Polyline
n 11763 6655 m 11729 6599 l 11697 6538 l gs col0 s gr
% Polyline
n 11697 1499 m 11717 1459 l gs col0 s gr
% Polyline
n 11729 1439 m 11717 1459 l gs col0 s gr
% Polyline
n 11729 1439 m 11742 1416 l gs col0 s gr
% Polyline
n 11763 1380 m 11742 1416 l gs col0 s gr
% Polyline
n 11829 6776 m 11808 6735 l 11775 6680 l gs col0 s gr
% Polyline
n 11770 6664 m 11775 6680 l gs col0 s gr
% Polyline
n 11770 6664 m 11763 6655 l gs col0 s gr
% Polyline
n 11763 1380 m 11767 1372 l gs col0 s gr
% Polyline
n 11770 1366 m 11767 1372 l gs col0 s gr
% Polyline
n 11770 1366 m 11791 1329 l gs col0 s gr
% Polyline
n 11808 1299 m 11791 1329 l gs col0 s gr
% Polyline
n 11808 1299 m 11816 1286 l gs col0 s gr
% Polyline
n 11829 1259 m 11816 1286 l gs col0 s gr
% Polyline
n 11899 6897 m 11884 6874 l 11864 6838 l gs col0 s gr
% Polyline
n 11845 6805 m 11864 6838 l gs col0 s gr
% Polyline
n 11845 6805 m 11829 6776 l gs col0 s gr
% Polyline
n 11829 1259 m 11841 1241 l gs col0 s gr
% Polyline
n 11845 1230 m 11841 1241 l gs col0 s gr
% Polyline
n 11845 1230 m 11864 1196 l gs col0 s gr
% Polyline
n 11884 1163 m 11864 1196 l gs col0 s gr
% Polyline
n 11884 1163 m 11887 1151 l gs col0 s gr
% Polyline
n 11899 1135 m 11887 1151 l gs col0 s gr
% Polyline
n 11965 7018 m 11960 7009 l 11951 6998 l gs col0 s gr
% Polyline
n 11921 6942 m 11951 6998 l gs col0 s gr
% Polyline
n 11921 6942 m 11899 6897 l gs col0 s gr
% Polyline
n 11899 1135 m 11912 1109 l gs col0 s gr
% Polyline
n 11921 1093 m 11912 1109 l gs col0 s gr
% Polyline
n 11921 1093 m 11938 1066 l gs col0 s gr
% Polyline
n 11960 1026 m 11938 1066 l gs col0 s gr
% Polyline
n 11960 1026 m 11962 1021 l gs col0 s gr
% Polyline
n 11965 1013 m 11962 1021 l gs col0 s gr
% Polyline
n 12031 7144 m 11996 7079 l 11965 7018 l gs col0 s gr
% Polyline
n 11965 1013 m 11985 977 l gs col0 s gr
% Polyline
n 11996 954 m 11985 977 l gs col0 s gr
% Polyline
n 11996 954 m 12010 934 l gs col0 s gr
% Polyline
n 12031 889 m 12010 934 l gs col0 s gr
% Polyline
n 12099 7269 m 12070 7217 l 12035 7152 l gs col0 s gr
% Polyline
n 12033 7146 m 12035 7152 l gs col0 s gr
% Polyline
n 12033 7146 m 12031 7144 l gs col0 s gr
% Polyline
n 12031 889 m 12033 887 l gs col0 s gr
% Polyline
n 12032 887 m 12034 887 l gs col0 s gr
% Polyline
n 12033 887 m 12058 841 l gs col0 s gr
% Polyline
n 12070 815 m 12058 841 l gs col0 s gr
% Polyline
n 12070 815 m 12081 800 l gs col0 s gr
% Polyline
n 12099 766 m 12081 800 l gs col0 s gr
% Polyline
n 12164 7395 m 12143 7355 l 12116 7302 l gs col0 s gr
% Polyline
n 12107 7285 m 12116 7302 l gs col0 s gr
% Polyline
n 12107 7285 m 12099 7269 l gs col0 s gr
% Polyline
n 12099 766 m 12104 754 l gs col0 s gr
% Polyline
n 12107 750 m 12104 754 l gs col0 s gr
% Polyline
n 12107 750 m 12128 712 l gs col0 s gr
% Polyline
n 12143 683 m 12128 712 l gs col0 s gr
% Polyline
n 12143 683 m 12151 667 l gs col0 s gr
% Polyline
n 12164 638 m 12151 667 l gs col0 s gr
% Polyline
n 12180 7424 m 12164 7395 l gs col0 s gr
% Polyline
n 12164 638 m 12175 622 l gs col0 s gr
% Polyline
n 12180 614 m 12175 622 l gs col0 s gr
% Polyline
n 770 3982 m 837 3975 l gs col0 s gr
% Polyline
n 850 3972 m 837 3975 l gs col0 s gr
% Polyline
n 850 4060 m 875 4065 l gs col0 s gr
% Polyline
n 976 4089 m 875 4065 l gs col0 s gr
% Polyline
n 850 3972 m 930 3954 l gs col0 s gr
% Polyline
n 976 3948 m 930 3954 l gs col0 s gr
% Polyline
n 1104 4130 m 1058 4123 l 976 4089 l gs col0 s gr
% Polyline
n 976 3948 m 1012 3932 l gs col0 s gr
% Polyline
n 1058 3917 m 1012 3932 l gs col0 s gr
% Polyline
n 1058 3917 m 1091 3905 l gs col0 s gr
% Polyline
n 1104 3905 m 1091 3905 l gs col0 s gr
% Polyline
n 1104 4130 m 1148 4141 l gs col0 s gr
% Polyline
n 1234 4167 m 1148 4141 l gs col0 s gr
% Polyline
n 1104 3905 m 1173 3881 l gs col0 s gr
% Polyline
n 1234 3865 m 1173 3881 l gs col0 s gr
% Polyline
n 1360 4215 m 1276 4187 l 1234 4167 l gs col0 s gr
% Polyline
n 7203 4464 m 7187 4396 l 7184 4381 l gs col0 s gr
% Polyline
n 1234 3865 m 1253 3856 l gs col0 s gr
% Polyline
n 7175 4327 m 7184 4381 l gs col0 s gr
% Polyline
n 1276 3845 m 1253 3856 l gs col0 s gr
% Polyline
n 1276 3845 m 1331 3829 l gs col0 s gr
% Polyline
n 1360 3820 m 1331 3829 l gs col0 s gr
% Polyline
n 1488 4264 m 1467 4260 l 1360 4215 l gs col0 s gr
% Polyline
n 1360 3820 m 1408 3802 l gs col0 s gr
% Polyline
n 1467 3775 m 1408 3802 l gs col0 s gr
% Polyline
n 1467 3775 m 1480 3771 l gs col0 s gr
% Polyline
n 1488 3769 m 1480 3771 l gs col0 s gr
% Polyline
n 1488 4264 m 1534 4282 l gs col0 s gr
% Polyline
n 1616 4318 m 1534 4282 l gs col0 s gr
% Polyline
n 1488 3769 m 1555 3741 l gs col0 s gr
% Polyline
n 1616 3719 m 1555 3741 l gs col0 s gr
% Polyline
n 1744 4370 m 1639 4325 l 1616 4318 l gs col0 s gr
% Polyline
n 1616 3719 m 1629 3713 l gs col0 s gr
% Polyline
n 1639 3708 m 1629 3713 l gs col0 s gr
% Polyline
n 1639 3708 m 1700 3686 l gs col0 s gr
% Polyline
n 1744 3666 m 1700 3686 l gs col0 s gr
% Polyline
n 1872 4426 m 1799 4396 l 1744 4370 l gs col0 s gr
% Polyline
n 1744 3666 m 1770 3652 l gs col0 s gr
% Polyline
n 1799 3640 m 1770 3652 l gs col0 s gr
% Polyline
n 1799 3640 m 1839 3620 l gs col0 s gr
% Polyline
n 1872 3609 m 1839 3620 l gs col0 s gr
% Polyline
n 2001 4483 m 1948 4466 l 1872 4426 l gs col0 s gr
% Polyline
n 1872 3609 m 1910 3589 l gs col0 s gr
% Polyline
n 1948 3571 m 1910 3589 l gs col0 s gr
% Polyline
n 1948 3571 m 1977 3555 l gs col0 s gr
% Polyline
n 2001 3549 m 1977 3555 l gs col0 s gr
% Polyline
n 2129 4552 m 2091 4536 l 2001 4483 l gs col0 s gr
% Polyline
n 2001 3549 m 2045 3524 l gs col0 s gr
% Polyline
n 2091 3502 m 2045 3524 l gs col0 s gr
% Polyline
n 2091 3502 m 2112 3492 l gs col0 s gr
% Polyline
n 2129 3486 m 2112 3492 l gs col0 s gr
% Polyline
n 2257 4614 m 2229 4601 l 2129 4552 l gs col0 s gr
% Polyline
n 2129 3486 m 2179 3459 l gs col0 s gr
% Polyline
n 2229 3433 m 2179 3459 l gs col0 s gr
% Polyline
n 2229 3433 m 2244 3425 l gs col0 s gr
% Polyline
n 2257 3419 m 2244 3425 l gs col0 s gr
% Polyline
n 2385 4684 m 2360 4672 l 2257 4614 l gs col0 s gr
% Polyline
n 2257 3419 m 2307 3394 l gs col0 s gr
% Polyline
n 2360 3365 m 2307 3394 l gs col0 s gr
% Polyline
n 2360 3365 m 2372 3356 l gs col0 s gr
% Polyline
n 2385 3352 m 2372 3356 l gs col0 s gr
% Polyline
n 2513 4755 m 2486 4740 l 2385 4684 l gs col0 s gr
% Polyline
n 2385 3352 m 2435 3322 l gs col0 s gr
% Polyline
n 2486 3295 m 2435 3322 l gs col0 s gr
% Polyline
n 2486 3295 m 2500 3289 l gs col0 s gr
% Polyline
n 2513 3282 m 2500 3289 l gs col0 s gr
% Polyline
n 2639 4827 m 2607 4807 l 2513 4755 l gs col0 s gr
% Polyline
n 2513 3282 m 2563 3255 l gs col0 s gr
% Polyline
n 2607 3226 m 2563 3255 l gs col0 s gr
% Polyline
n 2607 3226 m 2624 3217 l gs col0 s gr
% Polyline
n 2639 3210 m 2624 3217 l gs col0 s gr
% Polyline
n 2769 4903 m 2727 4878 l 2639 4827 l gs col0 s gr
% Polyline
n 2639 3210 m 2685 3184 l gs col0 s gr
% Polyline
n 2727 3159 m 2685 3184 l gs col0 s gr
% Polyline
n 2727 3159 m 2748 3143 l gs col0 s gr
% Polyline
n 2769 3134 m 2748 3143 l gs col0 s gr
% Polyline
n 2897 4975 m 2845 4945 l 2769 4903 l gs col0 s gr
% Polyline
n 2769 3134 m 2807 3109 l gs col0 s gr
% Polyline
n 2845 3089 m 2807 3109 l gs col0 s gr
% Polyline
n 2845 3089 m 2870 3074 l gs col0 s gr
% Polyline
n 2897 3058 m 2870 3074 l gs col0 s gr
% Polyline
n 3025 5058 m 2956 5016 l 2897 4975 l gs col0 s gr
% Polyline
n 2897 3058 m 2929 3036 l gs col0 s gr
% Polyline
n 2956 3020 m 2929 3036 l gs col0 s gr
% Polyline
n 2956 3020 m 2990 2999 l gs col0 s gr
% Polyline
n 3025 2979 m 2990 2999 l gs col0 s gr
% Polyline
n 3153 5139 m 3065 5083 l 3025 5058 l gs col0 s gr
% Polyline
n 3025 2979 m 3048 2963 l gs col0 s gr
% Polyline
n 3065 2953 m 3048 2963 l gs col0 s gr
% Polyline
n 3065 2953 m 3107 2925 l gs col0 s gr
% Polyline
n 3153 2896 m 3107 2925 l gs col0 s gr
% Polyline
n 3281 5219 m 3174 5152 l 3153 5139 l gs col0 s gr
% Polyline
n 3153 2896 m 3166 2890 l gs col0 s gr
% Polyline
n 3174 2880 m 3166 2890 l gs col0 s gr
% Polyline
n 3174 2880 m 3223 2849 l gs col0 s gr
% Polyline
n 3281 2813 m 3223 2849 l gs col0 s gr
% Polyline
n 3409 5307 m 3384 5291 l 3283 5222 l gs col0 s gr
% Polyline
n 3281 5219 m 3283 5222 l gs col0 s gr
% Polyline
n 3280 5219 m 3282 5219 l gs col0 s gr
% Polyline
n 3281 2813 m 3338 2773 l gs col0 s gr
% Polyline
n 3384 2746 m 3338 2773 l gs col0 s gr
% Polyline
n 3384 2746 m 3395 2740 l gs col0 s gr
% Polyline
n 3409 2730 m 3395 2740 l gs col0 s gr
% Polyline
n 3538 5390 m 3485 5359 l 3409 5307 l gs col0 s gr
% Polyline
n 3409 2730 m 3454 2697 l gs col0 s gr
% Polyline
n 3485 2675 m 3454 2697 l gs col0 s gr
% Polyline
n 3485 2675 m 3508 2661 l gs col0 s gr
% Polyline
n 3538 2643 m 3508 2661 l gs col0 s gr
% Polyline
n 3664 5480 m 3586 5428 l 3538 5390 l gs col0 s gr
% Polyline
n 3538 2643 m 3565 2622 l gs col0 s gr
% Polyline
n 3586 2607 m 3565 2622 l gs col0 s gr
% Polyline
n 3586 2607 m 3622 2582 l gs col0 s gr
% Polyline
n 3664 2553 m 3622 2582 l gs col0 s gr
% Polyline
n 3794 5574 m 3783 5567 l 3752 5545 l gs col0 s gr
% Polyline
n 3685 5496 m 3752 5545 l gs col0 s gr
% Polyline
n 3685 5496 m 3664 5480 l gs col0 s gr
% Polyline
n 3664 2553 m 3676 2542 l gs col0 s gr
% Polyline
n 3685 2537 m 3676 2542 l gs col0 s gr
% Polyline
n 3685 2537 m 3733 2506 l gs col0 s gr
% Polyline
n 3783 2470 m 3733 2506 l gs col0 s gr
% Polyline
n 3783 2470 m 3787 2464 l gs col0 s gr
% Polyline
n 3794 2461 m 3787 2464 l gs col0 s gr
% Polyline
n 3922 5664 m 3878 5634 l 3794 5574 l gs col0 s gr
% Polyline
n 3794 2461 m 3842 2428 l gs col0 s gr
% Polyline
n 3878 2401 m 3842 2428 l gs col0 s gr
% Polyline
n 3878 2401 m 3897 2385 l gs col0 s gr
% Polyline
n 3922 2371 m 3897 2385 l gs col0 s gr
% Polyline
n 4048 5758 m 3974 5703 l 3922 5664 l gs col0 s gr
% Polyline
n 3922 2371 m 3951 2349 l gs col0 s gr
% Polyline
n 3974 2333 m 3951 2349 l gs col0 s gr
% Polyline
n 3974 2333 m 4006 2306 l gs col0 s gr
% Polyline
n 4048 2275 m 4006 2306 l gs col0 s gr
% Polyline
n 4178 5855 m 4157 5839 l 4111 5805 l gs col0 s gr
% Polyline
n 4067 5772 m 4111 5805 l gs col0 s gr
% Polyline
n 4067 5772 m 4048 5758 l gs col0 s gr
% Polyline
n 4048 2275 m 4060 2268 l gs col0 s gr
% Polyline
n 4067 2262 m 4060 2268 l gs col0 s gr
% Polyline
n 4067 2262 m 4113 2228 l gs col0 s gr
% Polyline
n 4157 2195 m 4113 2228 l gs col0 s gr
% Polyline
n 4157 2195 m 4165 2187 l gs col0 s gr
% Polyline
n 4178 2181 m 4165 2187 l gs col0 s gr
% Polyline
n 4306 5953 m 4249 5910 l 4178 5855 l gs col0 s gr
% Polyline
n 4178 2181 m 4218 2148 l gs col0 s gr
% Polyline
n 4249 2122 m 4218 2148 l gs col0 s gr
% Polyline
n 4249 2122 m 4272 2107 l gs col0 s gr
% Polyline
n 4306 2085 m 4272 2107 l gs col0 s gr
% Polyline
n 4432 6052 m 4428 6047 l 4415 6036 l gs col0 s gr
% Polyline
n 4338 5977 m 4415 6036 l gs col0 s gr
% Polyline
n 4338 5977 m 4306 5953 l gs col0 s gr
% Polyline
n 4306 2085 m 4323 2069 l gs col0 s gr
% Polyline
n 4338 2055 m 4323 2069 l gs col0 s gr
% Polyline
n 4338 2055 m 4377 2028 l gs col0 s gr
% Polyline
n 4428 1986 m 4377 2028 l gs col0 s gr
% Polyline
n 4428 1986 m 4430 1986 l gs col0 s gr
% Polyline
n 4432 1984 m 4430 1986 l gs col0 s gr
% Polyline
n 4560 6153 m 4514 6114 l 4432 6052 l gs col0 s gr
% Polyline
n 4432 1984 m 4482 1948 l gs col0 s gr
% Polyline
n 4514 1921 m 4482 1948 l gs col0 s gr
% Polyline
n 4514 1921 m 4533 1903 l gs col0 s gr
% Polyline
n 4560 1885 m 4533 1903 l gs col0 s gr
% Polyline
n 4688 6254 m 4684 6251 l gs col0 s gr
% Polyline
n 4600 6186 m 4684 6251 l gs col0 s gr
% Polyline
n 4600 6186 m 4560 6153 l gs col0 s gr
% Polyline
n 4560 1885 m 4585 1860 l gs col0 s gr
% Polyline
n 4600 1849 m 4585 1860 l gs col0 s gr
% Polyline
n 4600 1849 m 4638 1822 l gs col0 s gr
% Polyline
n 4688 1781 m 4638 1822 l gs col0 s gr
% Polyline
n 4687 1781 m 4689 1781 l gs col0 s gr
% Polyline
n 4687 1781 m 4689 1781 l gs col0 s gr
% Polyline
n 4816 6359 m 4770 6321 l 4688 6254 l gs col0 s gr
% Polyline
n 4688 1781 m 4739 1739 l gs col0 s gr
% Polyline
n 4770 1714 m 4739 1739 l gs col0 s gr
% Polyline
n 4770 1714 m 4791 1698 l gs col0 s gr
% Polyline
n 4816 1676 m 4791 1698 l gs col0 s gr
% Polyline
n 4946 6465 m 4940 6461 l 4930 6451 l gs col0 s gr
% Polyline
n 4856 6390 m 4930 6451 l gs col0 s gr
% Polyline
n 4856 6390 m 4816 6359 l gs col0 s gr
% Polyline
n 4816 1676 m 4841 1658 l gs col0 s gr
% Polyline
n 4856 1643 m 4841 1658 l gs col0 s gr
% Polyline
n 4856 1643 m 4892 1613 l gs col0 s gr
% Polyline
n 4940 1577 m 4892 1613 l gs col0 s gr
% Polyline
n 4940 1577 m 4942 1571 l gs col0 s gr
% Polyline
n 4946 1569 m 4942 1571 l gs col0 s gr
% Polyline
n 5072 6572 m 5022 6530 l 4946 6465 l gs col0 s gr
% Polyline
n 4946 1569 m 4993 1532 l gs col0 s gr
% Polyline
n 5022 1506 m 4993 1532 l gs col0 s gr
% Polyline
n 5022 1506 m 5043 1488 l gs col0 s gr
% Polyline
n 5072 1463 m 5043 1488 l gs col0 s gr
% Polyline
n 5203 6680 m 5184 6664 l 5156 6643 l gs col0 s gr
% Polyline
n 5102 6601 m 5156 6643 l gs col0 s gr
% Polyline
n 5102 6601 m 5072 6572 l gs col0 s gr
% Polyline
n 5072 1463 m 5091 1447 l gs col0 s gr
% Polyline
n 5102 1439 m 5091 1447 l gs col0 s gr
% Polyline
n 5102 1439 m 5140 1402 l gs col0 s gr
% Polyline
n 5184 1366 m 5140 1402 l gs col0 s gr
% Polyline
n 5184 1366 m 5192 1362 l gs col0 s gr
% Polyline
n 5203 1353 m 5192 1362 l gs col0 s gr
% Polyline
n 5331 6787 m 5264 6735 l 5203 6680 l gs col0 s gr
% Polyline
n 5203 1353 m 5240 1319 l gs col0 s gr
% Polyline
n 5264 1299 m 5240 1319 l gs col0 s gr
% Polyline
n 5264 1299 m 5289 1277 l gs col0 s gr
% Polyline
n 5331 1244 m 5289 1277 l gs col0 s gr
% Polyline
n 5457 6899 m 5423 6874 l 5369 6826 l gs col0 s gr
% Polyline
n 5343 6803 m 5369 6826 l gs col0 s gr
% Polyline
n 5343 6803 m 5331 6787 l gs col0 s gr
% Polyline
n 5331 1244 m 5339 1236 l gs col0 s gr
% Polyline
n 5343 1230 m 5339 1236 l gs col0 s gr
% Polyline
n 5343 1230 m 5387 1192 l gs col0 s gr
% Polyline
n 5423 1163 m 5387 1192 l gs col0 s gr
% Polyline
n 5423 1163 m 5438 1149 l gs col0 s gr
% Polyline
n 5457 1133 m 5438 1149 l gs col0 s gr
% Polyline
n 5585 7016 m 5581 7009 l 5570 7000 l gs col0 s gr
% Polyline
n 5501 6942 m 5570 7000 l gs col0 s gr
% Polyline
n 5501 6942 m 5457 6899 l gs col0 s gr
% Polyline
n 5457 1133 m 5484 1109 l gs col0 s gr
% Polyline
n 5501 1093 m 5484 1109 l gs col0 s gr
% Polyline
n 5501 1093 m 5534 1066 l gs col0 s gr
% Polyline
n 5581 1026 m 5534 1066 l gs col0 s gr
% Polyline
n 5581 1026 m 5583 1023 l gs col0 s gr
% Polyline
n 5585 1021 m 5583 1023 l gs col0 s gr
% Polyline
n 5713 7130 m 5656 7079 l 5585 7016 l gs col0 s gr
% Polyline
n 5585 1021 m 5631 981 l gs col0 s gr
% Polyline
n 5656 954 m 5631 981 l gs col0 s gr
% Polyline
n 5656 954 m 5677 936 l gs col0 s gr
% Polyline
n 5713 904 m 5677 936 l gs col0 s gr
% Polyline
n 5841 7247 m 5809 7215 l 5763 7175 l gs col0 s gr
% Polyline
n 5734 7146 m 5763 7175 l gs col0 s gr
% Polyline
n 5734 7146 m 5713 7130 l gs col0 s gr
% Polyline
n 5713 904 m 5725 894 l gs col0 s gr
% Polyline
n 5734 887 m 5725 894 l gs col0 s gr
% Polyline
n 5734 887 m 5774 853 l gs col0 s gr
% Polyline
n 5809 817 m 5774 853 l gs col0 s gr
% Polyline
n 5809 817 m 5820 808 l gs col0 s gr
% Polyline
n 5841 790 m 5820 808 l gs col0 s gr
% Polyline
n 5969 7361 m 5959 7355 l 5946 7343 l gs col0 s gr
% Polyline
n 5885 7285 m 5946 7343 l gs col0 s gr
% Polyline
n 5885 7285 m 5841 7247 l gs col0 s gr
% Polyline
n 5841 790 m 5870 764 l gs col0 s gr
% Polyline
n 5885 750 m 5870 764 l gs col0 s gr
% Polyline
n 5885 750 m 5917 719 l gs col0 s gr
% Polyline
n 5959 679 m 5917 719 l gs col0 s gr
% Polyline
n 5959 679 m 5965 676 l gs col0 s gr
% Polyline
n 5969 671 m 5965 676 l gs col0 s gr
% Polyline
n 6034 7422 m 5969 7361 l gs col0 s gr
% Polyline
n 5969 671 m 6009 636 l gs col0 s gr
% Polyline
n 6034 614 m 6009 636 l gs col0 s gr
% Polyline
n 850 4060 m 770 4051 l 663 4017 l gs col0 s gr
% Polyline
n 774 3984 m 665 4017 l gs col0 s gr
% Polyline
n 7175 4327 m 7172 4296 l gs col0 s gr
% Polyline
n 7166 4260 m 7172 4296 l gs col0 s gr
% Polyline
n 7166 4260 m 7161 4215 l gs col0 s gr
$F2psEnd
rs
%%EndDocument
@endspecial 2928 1968 a Fq(x)2262 1231 y(y)1711 1968
y(x)601 1231 y(y)963 2902 y Fw(Abbildung)d(2.7:)32 b(Singul)1832
2906 y(\177)1832 2902 y(are)c(elliptisc)m(he)g(Kurv)m(en)411
3135 y(In)34 b(b)s(ezug)g(auf)g(kryptographisc)m(he)g(An)m(w)m
(endungen)g(ist)g(es)h(n)m(un)e(m)2760 3139 y(\177)2760
3135 y(oglic)m(h,)h(das)h Fu(Pr)-5 b(o-)270 3248 y(blem)29
b(des)h(diskr)-5 b(eten)30 b(L)-5 b(o)g(garithmus)36
b Fw(\(siehe)26 b(hierzu)g(Kapitel)f(3.1\))j(b)s(ei)d(singul)2936
3252 y(\177)2936 3248 y(aren)f(ellipti-)270 3360 y(sc)m(hen)h(Kurv)m
(en)e(in)g(den)h(un)m(tergeordneten)h(K)1833 3364 y(\177)1833
3360 y(orp)s(er)e(abzubilden.)f(Dort)j(ist)f(es)h(v)m(ergleic)m(hs-)270
3473 y(w)m(eise)32 b(einfac)m(h)h(zu)f(l)967 3477 y(\177)967
3473 y(osen,)g(da)h(man)f(sic)m(h)g(durc)m(h)f(die)h(V)-8
b(erw)m(endung)32 b(elliptisc)m(her)e(Kurv)m(en)270 3586
y(ja)h(f)405 3590 y(\177)402 3586 y(ur)e(relativ)g(kleine)g(K)1134
3590 y(\177)1134 3586 y(orp)s(er)h(en)m(tsc)m(heiden)g(k)m(onn)m(te.)
270 3807 y Fs(De\014nition)35 b(6)46 b Fu(Eine)37 b(el)5
b(liptische)38 b(Kurve)1784 3811 y(\177)1784 3807 y(ub)-5
b(er)38 b(dem)g(K)2257 3811 y(\177)2258 3807 y(orp)-5
b(er)39 b Fn(F)2551 3821 y Fl(p)2635 3807 y Fu(hei\031t)e(sup)-5
b(ersingul)3303 3811 y(\177)3304 3807 y(ar)270 3920 y(genau)33
b(dann,)g(wenn)g Fo(j)p Fq(E)5 b Fw(\()p Fn(F)1208 3934
y Fl(p)1253 3920 y Fw(\))p Fo(j)26 b(\021)f Fw(1)h(mo)s(d)e
Fq(p)p Fu(.)411 4140 y Fw(Damit)30 b(gilt)f(insb)s(esondere)f
Fq(t)d Fw(=)g(0)30 b(in)f Fn(F)1772 4154 y Fl(p)1817
4140 y Fw(,)h(w)m(as)h(nic)m(h)m(ts)e(anderes)h(hei\031t,)g(als)f
(da\031)i(diese)270 4253 y(Kurv)m(en)j(die)f(Spur)g(0)i(hab)s(en.)e
(Nun)h(sind)e(nic)m(h)m(t)j(n)m(ur)e(sup)s(ersingul)2601
4257 y(\177)2601 4253 y(are)f(Kurv)m(en)h(sondern)270
4366 y(auc)m(h)39 b(Kurv)m(en)g(mit)f(Spur)f(1)j(o)s(der)e(2)i(anf)1734
4370 y(\177)1734 4366 y(allig)d(f)1970 4370 y(\177)1967
4366 y(ur)h(div)m(erse)g(A)m(ttac)m(k)m(en.)43 b(F)-8
b(erner)39 b(gibt)g(es)270 4478 y(die)32 b(Klasse)h(der)f(sogenann)m
(ten)i Fu(Koblitz)11 b Fw(-Kurv)m(en,)34 b(die)e(ein)g(Sp)s(ezialfall)e
(der)i Fu(T)-7 b(eilk)3142 4482 y(\177)3143 4478 y(orp)i(er)10
b Fw(-)270 4591 y(Kurv)m(en)22 b(sind.)e(Ob)m(w)m(ohl)i(es)h(b)s(ei)e
(diesen)g(m)1702 4595 y(\177)1702 4591 y(oglic)m(h)h(ist,)g(eine)g
(geringf)2551 4595 y(\177)2548 4591 y(ugige)g(Besc)m(hleunigung)270
4704 y(b)s(ei)32 b(der)g(Berec)m(hn)m(ung)i(diskreter)d(Logarithmen)i
(zu)g(erreic)m(hen,)f(w)m(erden)h(sie)f(v)m(on)i(einem)270
4817 y(T)-8 b(eil)24 b(der)g(F)-8 b(ac)m(h)m(w)m(elt)27
b(w)m(eiterhin)c(als)h(geeignet)i(angesehen.)g(Eine)d(genauere)j(Besc)m
(hreibung)270 4930 y(w)339 4934 y(\177)336 4930 y(urde)e(allerdings)946
4934 y(\177)944 4930 y(ub)s(er)g(den)h(Rahmen)g(dieser)g(Arb)s(eit)g
(hinausgehen.)f(Der)i(in)m(teressierte)270 5043 y(Leser)k(sei)g(auf)g
([Hus87)q(])h(und)d([Ham98)r(])i(v)m(erwiesen.)411 5157
y(Es)21 b(gibt)f(im)g(w)m(esen)m(tlic)m(hen)h(zw)m(ei)h(Strategien,)f
(eine)g(geeignete)h(Kurv)m(e)f(zu)g(\014nden.)f(Man)270
5270 y(k)-5 b(ann)29 b(einerseits)f(aufgrund)f(der)i(Kriterien)f(v)m
(ersuc)m(hen,)h(zu)g(einer)g Fu(guten)36 b Fw(Punkteanzahl)270
5383 y(eine)41 b Fu(gute)49 b Fw(Kurv)m(e)41 b(zu)h(\014nden.)e(Diese)i
Fu(Konstruktion)j(mit)e(komplexer)i(Multiplikation)270
5496 y Fw(hat)29 b(den)g(V)-8 b(orteil,)29 b(da\031)g(man)g(sc)m(hon)g
(b)s(ei)e(der)i(Punkteanzahl)f(sagen)h(k)-5 b(ann,)29
b(ob)g(A)m(ttac)m(k)m(en)270 5609 y(auf)j(die)g(Grupp)s(enstruktur)c
(mit)k(Algorithmen)f(wie)h Fu(Pohlig-Hel)5 b(lman)p Fw(,)33
b Fu(Pol)5 b(lar)-5 b(d-)p Fq(\032)34 b Fw(o)s(der)p
eop
%%Page: 14 15
14 14 bop 390 82 a Fw(14)1411 b(KAPITEL)30 b(2.)61 b(ELLIPTISCHE)28
b(KUR)-10 b(VEN)390 415 y Fu(Index-Calculus)40 b Fw(erfolgreic)m(h)32
b(sein)g(k)1688 419 y(\177)1688 415 y(onn)m(ten.)g(Daf)2160
419 y(\177)2157 415 y(ur)g(m)m(u\031)h(man)f(dann)f(allerdings)f(no)s
(c)m(h)390 528 y(eine)37 b(Kurv)m(e)g(dazu)h(\014nden,)e(b)s(ei)g(der)h
(auc)m(h)h(die)f(Kennzahlen)f(wie)h(Diskriminan)m(te)e(und)390
641 y(Spur)28 b(stimmen.)531 754 y(Andererseits)c(b)s(esteh)m(t)h(die)f
(M)1587 758 y(\177)1587 754 y(oglic)m(hk)m(eit)h(der)f
Fu(r)-5 b(andomisierten)30 b(Konstruktion)p Fw(.)d(Man)390
867 y(gibt)f(sic)m(h)g(dab)s(ei)g(eine)g(Kurv)m(e)g(mit)g
Fu(guten)33 b Fw(Kennzahlen)26 b(v)m(or,)h(b)s(erec)m(hnet)g(die)f
(Anzahl)f(der)390 980 y(Punkte)g(und)f(testet)k(sc)m(hlie\031lic)m(h,)c
(ob)i(die)e(ob)s(engenann)m(ten)i(Algorithmen)e(erfolglos)h(blei-)390
1093 y(b)s(en.)31 b(Ist)g(das)g(der)g(F)-8 b(all,)31
b(so)h(k)-5 b(ann)31 b(diese)g(Kurv)m(e)g(in)f(kryptographisc)m(hen)g
(An)m(w)m(endungen)390 1205 y(b)s(en)m(utzt)g(w)m(erden.)531
1318 y(Hinsic)m(h)m(tlic)m(h)f(der)h(E\016zienz)g(ist)g(die)g
(Konstruktion)f(mit)h(der)h(k)m(omplexen)f(Multipli-)390
1431 y(k)-5 b(ation)37 b(dem)g(zw)m(eiten)g(V)-8 b(erfahren)37
b(v)m(orzuziehen,)g(w)m(as)g(haupts)2609 1435 y(\177)2609
1431 y(ac)m(hlic)m(h)f(an)h(der)g(zeitauf-)390 1544 y(w)m(endigen)k
(Berec)m(hn)m(ung)i(der)e(Punktanzahl)g(b)s(ei)g(der)h(randomisierten)d
(Konstruktion)390 1657 y(liegt.)e(Eine)g(detaillierte)f(Gegen)1552
1661 y(\177)1549 1657 y(ub)s(erstellung)f(der)i(b)s(eiden)e(V)-8
b(erfahren)38 b(\014ndet)e(man)h(in)390 1770 y([PM98)q(].)g(Dort)g(w)m
(erden)f(so)m(w)m(ohl)h(die)e(Theorie)h(kurz)f(erl)2381
1774 y(\177)2381 1770 y(autert)h(als)g(auc)m(h)h(die)e(E\016zienz)390
1883 y(v)m(erglic)m(hen.)p eop
%%Page: 15 16
15 15 bop 270 1040 a Fr(Kapitel)66 b(3)270 1457 y Fv(Der)78
b(Algorithm)-6 b(us)270 1904 y Fw(Es)43 b(gibt)g(v)m(ersc)m(hiedene)g
(mathematisc)m(he)h(Konstruktionen,)e(die)g(die)g(Grundlage)h(v)m(on)
270 2017 y(V)-8 b(ersc)m(hl)559 2021 y(\177)556 2017
y(usselungsv)m(erfahren)30 b(bilden.)h(Bei)h(den)g(Public)e(Key)j
(Kryptosystemen)f(gibt)g(es)270 2130 y(im)37 b(w)m(esen)m(tlic)m(hen)g
(zw)m(ei)h(Ans)1301 2134 y(\177)1301 2130 y(atze.)h(Die)f(einen)f(V)-8
b(erfahren)37 b(v)m(erdank)m(en)h(ihre)e(Sic)m(herheit)270
2243 y(dem)26 b(Problem,)g(da\031)h(es)f(sc)m(h)m(w)m(er)i(ist,)e(sehr)
f(gro\031e)j(Zahlen)d(zu)i(faktorisieren)e(\(z.)16 b(B.)27
b Fu(RSA)p Fw(\).)270 2356 y(Andere)k(V)-8 b(erfahren)32
b(hingegen)f(v)m(ertrauen)h(auf)f(die)g(Sc)m(h)m(wierigk)m(eit,)g
(diskrete)g(Logarith-)270 2469 y(men)f(in)f(endlic)m(hen)g(ab)s(elsc)m
(hen)g(Grupp)s(en)f(zu)j(b)s(erec)m(hnen)e(\(z.)16 b(B.)31
b Fu(ElGamal)9 b Fw(\).)411 2584 y(Dieses)29 b(Kapitel)f(hat)i(den)e
(Sinn,)f(die)h(not)m(w)m(endigen)h(Kenn)m(tnisse)2705
2588 y(\177)2702 2584 y(ub)s(er)f(V)-8 b(ersc)m(hl)3200
2588 y(\177)3197 2584 y(usse-)270 2697 y(lungsv)m(erfahren)34
b(b)s(ereitzustellen.)g(Dab)s(ei)h(gehen)h(wir)e(zuerst)i(auf)f(das)h
Fu(Diskr)-5 b(ete)37 b(L)-5 b(o)g(ga-)270 2810 y(rithmus)39
b(Pr)-5 b(oblem)38 b(\(DLP\))h Fw(ein.)c(Ansc)m(hlie\031end)f(k)m
(ommen)j(wir)d(zur)h(allgemeinen)f(De\014-)270 2923 y(nition)g(des)i
Fu(ElGamal)9 b Fw(-V)-8 b(erfahrens.)39 b(Sc)m(hlie\031lic)m(h)34
b(wird)g(die)i(sp)s(ezielle)e(V)-8 b(arian)m(te)38 b(mit)d(el-)270
3036 y(liptisc)m(hen)k(Kurv)m(en)h(f)1053 3040 y(\177)1050
3036 y(ur)h(den)f(hier)g(en)m(t)m(wic)m(k)m(elten)j(Pro)m(vider)d(v)m
(orgestellt.)i(Auf)f(andere)270 3149 y(Alternativ)m(en)30
b(soll)f(am)i(Sc)m(hlu\031)e(dieses)h(Kapitels)f(kurz)h(eingegegangen)i
(w)m(erden.)270 3447 y Fz(3.1)135 b(Das)46 b(ElGamal-V)-11
b(erfahren)270 3655 y Fw(In)35 b(diesem)f(Absc)m(hnitt)h(soll)g(das)g
(ElGamal-V)-8 b(erfahren)35 b(v)m(orgestellt)h(w)m(erden.)f(Seine)g
(Si-)270 3768 y(c)m(herheit)27 b(b)s(eruh)m(t)g(auf)g(dem)g(Problem,)f
(diskrete)h(Logarithmen)g(in)f(endlic)m(hen)g(ab)s(elsc)m(hen)270
3880 y(Grupp)s(en)k(zu)h(b)s(erec)m(hnen.)g(Bev)m(or)i(das)f(V)-8
b(erfahren)31 b(erl)2179 3884 y(\177)2179 3880 y(autert)h(wird,)e(soll)
g(no)s(c)m(h)i(erw)3211 3884 y(\177)3211 3880 y(ahn)m(t)270
3993 y(w)m(erden,)39 b(w)m(as)i(das)e(DLP)h(aussagt.)h(Die)e(folgenden)
g(De\014nitionen)f(sind)g(angelehn)m(t)i(an)270 4106
y([Sti95].)270 4332 y Fs(De\014nition)35 b(7)g(\(Das)g(DLP)g(in)g
(endlic)m(hen)h(ab)s(elsc)m(hen)g(Grupp)s(en\))45 b Fu(Sei)69
b Fq(G)h Fu(eine)270 4445 y(end)5 b(liche)45 b(ab)-5
b(elsche)45 b(Grupp)-5 b(e)46 b(mit)f(der)g(V)-7 b(erkn)1914
4449 y(\177)1914 4445 y(upfung)44 b Fo(\016)p Fu(,)g
Fq(\013)k Fo(2)e Fq(G)f Fu(und)g Fq(H)51 b Fu(die)45
b(von)g Fq(\013)270 4558 y Fu(erzeugte)39 b(Unter)-5
b(grupp)g(e)41 b(in)f Fq(G)p Fu(.)f(Weiterhin)h(sei)g
Fq(\014)j Fo(2)37 b Fq(H)46 b Fu(vor)-5 b(ge)g(geb)g(en.)40
b(Man)g(\014nde)g(nun)270 4671 y(die)33 b(eindeutige)f(ganze)h(Zahl)g
Fq(a)p Fu(,)g(mit)g Fw(0)25 b Fo(\024)g Fq(a)h Fo(\024)e(j)p
Fq(H)7 b Fo(j)21 b(\000)f Fw(1)p Fu(,)33 b(f)2294 4675
y(\177)2294 4671 y(ur)f(die)h(gilt)1679 4881 y Fq(\013)1737
4844 y Fl(a)1804 4881 y Fw(=)25 b Fq(\014)5 b(:)1222
b Fw(\(3.1\))270 5092 y Fu(Dab)-5 b(ei)32 b(steht)i(die)f(Potenz)g
Fq(\013)1251 5059 y Fl(a)1325 5092 y Fu(f)1353 5096 y(\177)1353
5092 y(ur)1612 5303 y Fq(\013)21 b Fo(\016)g Fq(:)15
b(:)g(:)21 b Fo(\016)g Fq(\013)1612 5339 y Fk(|)p 1653
5339 116 11 v 116 w({z)p 1851 5339 V 116 w(})1715 5431
y Fj(a)27 b Fi(mal)2022 5303 y Fq(:)270 5609 y Fu(Diese)32
b(A)n(ufgab)-5 b(e)32 b(hei\031t)g(Diskr)-5 b(etes)33
b(L)-5 b(o)g(garithmus)35 b(Pr)-5 b(oblem.)1785 5858
y Fw(15)p eop
%%Page: 16 17
16 16 bop 390 82 a Fw(16)1519 b(KAPITEL)29 b(3.)62 b(DER)30
b(ALGORITHMUS)531 415 y(F)593 419 y(\177)590 415 y(ur)39
b(sp)s(ezielle)g(Klassen)g(v)m(on)h(Grupp)s(en,)e(wie)h(z.)16
b(B.)40 b(der)g(m)m(ultiplik)-5 b(ativ)m(en)37 b(Grupp)s(e)390
528 y(endlic)m(her)27 b(K)846 532 y(\177)846 528 y(orp)s(er)h(o)s(der)g
(der)g(Punktegrupp)s(e)f(elliptisc)m(her)f(Kurv)m(en,)i(sind)f(zur)h
(Zeit)h(k)m(ei-)390 641 y(ne)35 b(p)s(olynomiellen)c(Algorithmen)i(f)
1664 645 y(\177)1661 641 y(ur)h(das)g(DLP)h(b)s(ek)-5
b(ann)m(t.)35 b(Zu)f(den)g(b)s(esten)g(A)m(ttac)m(k)m(en)390
754 y(auf)e(das)f(DLP)i(z)970 758 y(\177)970 754 y(ahlen)e(die)g(sc)m
(hon)h(in)f(Kapitel)g(2.3)i(angespro)s(c)m(henen)f(Algorithmen)f(wie)
390 867 y(P)m(ohlig-Hellman,)e(P)m(ollard-)p Fq(\032)g
Fw(und)g(Index-Calculus.)531 989 y(Nun)k(sind)f(wir)g(in)g(der)h(Lage,)
i(das)e(ElGamal-V)-8 b(ersc)m(hl)2441 993 y(\177)2438
989 y(usselungsv)m(erfahren)32 b(zu)h(de\014-)390 1102
y(nieren.)f(Auc)m(h)h(hier)f(gehen)i(wir)e(v)m(on)h(einer)g(b)s
(eliebigen,)e(endlic)m(hen)g(ab)s(elsc)m(hen)i(Grupp)s(e)390
1215 y(aus)c(und)735 1219 y(\177)732 1215 y(ub)s(ernehmen)e(die)i
(Bezeic)m(hn)m(ungen)h(aus)f(De\014nition)f(7.)j(W)-8
b(eiterhin)28 b(setzen)i(wir)390 1328 y Fn(Z)455 1342
y Fl(n)523 1328 y Fw(=)25 b Fn(Z)p Fq(=n)p Fn(Z)n Fw(.)f(Mit)31
b Fq(e)1113 1342 y Fl(K)1212 1328 y Fw(b)s(ezeic)m(hnen)f(wir)f(die)h
(V)-8 b(ersc)m(hl)2265 1332 y(\177)2262 1328 y(usselungs-)29
b(und)g(mit)h Fq(d)3089 1342 y Fl(K)3188 1328 y Fw(die)f(En)m(t-)390
1441 y(sc)m(hl)543 1445 y(\177)540 1441 y(usselungsfunktionen)19
b(in)i(Abh)1625 1445 y(\177)1625 1441 y(angigk)m(eit)h(des)h(Sc)m(hl)
2323 1445 y(\177)2320 1441 y(ussels)d Fq(K)7 b Fw(.)23
b(Die)g(Nac)m(hric)m(h)m(t)h(selbst,)390 1554 y(d.)15
b(h.)27 b(die)f(zu)h(v)m(ersc)m(hl)1119 1558 y(\177)1116
1554 y(usselnde)e(Zahl,)h(nennen)g(wir)f Fq(m)p Fw(.)i(Dab)s(ei)g(gibt)
f(es)h(v)m(ersc)m(hiedene)h(Ko-)390 1667 y(dierungsv)-5
b(arian)m(ten,)39 b(um)i(aus)g(einer)f(Nac)m(hric)m(h)m(t,)j(die)d(i.)
15 b(a.)41 b(aus)g(Buc)m(hstab)s(en)g(b)s(esteh)m(t,)390
1780 y(eine)e(Zahl)f(zu)h(mac)m(hen.)i(Diese)e(und)f(viele)h(andere)g
(Grundlagen)f(der)h(Kryptographie)390 1893 y(sind)28
b(in)h([Buc99)r(])i(ausf)1179 1897 y(\177)1176 1893 y(uhrlic)m(h)c(b)s
(esc)m(hrieb)s(en.)390 2163 y Fs(De\014nition)35 b(8)g(\(ElGamal)1441
2168 y(\177)1439 2163 y(ub)s(er)f(endlic)m(hen)i(ab)s(elsc)m(hen)g
(Grupp)s(en\))45 b Fu(Es)59 b(sei)g Fq(G)390 2276 y Fu(wie)-5
b(derum)36 b(eine)e(end)5 b(liche)35 b(ab)-5 b(elsche)35
b(Grupp)-5 b(e)36 b(mit)f(der)g(V)-7 b(erkn)2591 2280
y(\177)2591 2276 y(upfung)34 b Fo(\016)p Fu(,)h Fq(\013;)15
b(\014)35 b Fo(2)29 b Fq(G)35 b Fu(mit)390 2389 y Fq(\013)448
2356 y Fl(a)515 2389 y Fw(=)25 b Fq(\014)38 b Fu(und)33
b Fq(H)39 b Fu(die)33 b(von)g Fq(\013)g Fu(erzeugte)f(Unter)-5
b(grupp)g(e)34 b(in)f Fq(G)p Fu(.)g(Wir)f(nennen)1634
2623 y Fq(K)g Fw(=)25 b(\()p Fq(G;)15 b(\013;)g(a;)g(\014)5
b Fw(\))390 2856 y Fu(den)30 b(Schl)721 2860 y(\177)721
2856 y(ussel)g(f)967 2860 y(\177)967 2856 y(ur)f(dieses)g
(Kryptosystem.)j(F)2001 2860 y(\177)2001 2856 y(ur)d(eine)g(zuf)2422
2860 y(\177)2423 2856 y(al)5 b(lig)29 b(gew)2762 2860
y(\177)2763 2856 y(ahlte)i(Zahl)f Fq(k)e Fo(2)d Fn(Z)3408
2874 y Fh(j)p Fl(H)5 b Fh(j)390 2969 y Fu(und)33 b Fq(x)25
b Fo(2)g Fq(G)33 b Fu(de\014nier)-5 b(en)33 b(wir)g(nun)1574
3202 y Fq(e)1616 3216 y Fl(K)1685 3202 y Fw(\()p Fq(m;)15
b(k)s Fw(\))26 b(=)f(\()p Fq(y)2127 3216 y Fp(1)2166
3202 y Fq(;)15 b(y)2251 3216 y Fp(2)2291 3202 y Fw(\))997
b(\(3.2\))390 3436 y Fu(mit)1797 3578 y Fq(y)1842 3592
y Fp(1)1906 3578 y Fw(=)25 b Fq(\013)2060 3540 y Fl(k)3323
3578 y Fw(\(3.3\))390 3779 y Fu(und)1702 3921 y Fq(y)1747
3935 y Fp(2)1812 3921 y Fw(=)g Fq(m)20 b Fo(\016)g Fq(\014)2129
3883 y Fl(k)2172 3921 y Fq(:)1126 b Fw(\(3.4\))390 4121
y Fu(F)449 4125 y(\177)449 4121 y(ur)33 b(eine)f(verschl)1034
4125 y(\177)1034 4121 y(usselte)i(Nachricht)f Fq(y)28
b Fw(=)d(\()p Fq(y)1996 4135 y Fp(1)2035 4121 y Fq(;)15
b(y)2120 4135 y Fp(2)2160 4121 y Fw(\))33 b Fu(sei)1547
4355 y Fq(d)1594 4369 y Fl(K)1663 4355 y Fw(\()p Fq(y)s
Fw(\))26 b(=)f Fq(y)1948 4369 y Fp(2)2007 4355 y Fo(\016)c
Fw(\()p Fq(y)2156 4317 y Fl(a)2153 4377 y Fp(1)2198 4355
y Fw(\))2233 4317 y Fh(\000)p Fp(1)2327 4355 y Fq(:)971
b Fw(\(3.5\))531 4616 y(Hier)31 b(ist)g(die)g(zu)g(v)m(ersc)m(hl)1404
4620 y(\177)1401 4616 y(usselnde)f(Nac)m(hric)m(h)m(t)i(sogar)g(ein)f
(Elemen)m(t)g(der)g(Grupp)s(e)f Fq(G)p Fw(,)390 4729
y(w)m(as)k(durc)m(h)e(eine)h(Ein)m(b)s(ettung)f(immer)g(erreic)m(h)m(t)
i(w)m(erden)f(k)-5 b(ann.)33 b(Der)g(Public)f(Key)h(wird)390
4842 y(durc)m(h)d Fq(G;)15 b(\013;)g(\014)38 b Fw(dargestellt,)31
b(der)g(Priv)-5 b(ate)31 b(Key)g(b)s(einhaltet)f(zus)2641
4846 y(\177)2641 4842 y(atzlic)m(h)h(das)g(Geheimnis)390
4955 y Fq(a)p Fw(.)g(Die)f(Korrektheit)g(dieses)g(Kryptosystems)g(ist)f
(gegeb)s(en)i(durc)m(h)f(folgenden)f(Sc)m(hlu\031:)1163
5311 y Fq(d)1210 5325 y Fl(K)1278 5311 y Fw(\()p Fq(e)1355
5325 y Fl(K)1424 5311 y Fw(\()p Fq(m;)15 b(k)s Fw(\)\))85
b(=)e(\()p Fq(m)20 b Fo(\016)h Fq(\014)2195 5273 y Fl(k)2238
5311 y Fw(\))f Fo(\016)h Fw(\(\()p Fq(\013)2487 5273
y Fl(k)2531 5311 y Fw(\))2566 5273 y Fl(a)2608 5311 y
Fw(\))2643 5273 y Fh(\000)p Fp(1)1784 5448 y Fw(=)83
b Fq(m)20 b Fo(\016)g Fq(\013)2161 5411 y Fl(ak)2262
5448 y Fo(\016)h Fq(\013)2386 5411 y Fh(\000)p Fl(ak)1784
5586 y Fw(=)83 b Fq(m:)1280 b Fw(\(3.6\))p eop
%%Page: 17 18
17 17 bop 270 82 a Fw(3.2.)62 b(V)-8 b(ersc)m(hl)761
86 y(\177)758 82 y(usselung)29 b(mit)g(elliptisc)m(hen)f(Kurv)m(en)1243
b(17)270 415 y Fz(3.2)135 b(V)-11 b(ersc)l(hl)1008 421
y(\177)1004 415 y(usselung)45 b(mit)h(elliptisc)l(hen)g(Kurv)l(en)270
631 y Fw(Nac)m(h)32 b(den)e(n)726 635 y(\177)726 631
y(otigen)h(V)-8 b(orb)s(emerkungen)30 b(soll)g(jetzt)i(die)e(ElGamal-V)
-8 b(ersc)m(hl)2892 635 y(\177)2889 631 y(usselung)29
b(mit)270 744 y(elliptisc)m(hen)i(Kurv)m(en)i(v)m(orgestellt)i(w)m
(erden.)f(Wie)g(sc)m(hon)g(mehrfac)m(h)g(erw)2844 748
y(\177)2844 744 y(ahn)m(t,)g(nehmen)270 857 y(wir)23
b(die)g(Punktegrupp)s(e)g(einer)h(elliptisc)m(hen)d(Kurv)m(e)k(als)f
(endlic)m(he)f(ab)s(elsc)m(he)h(Grupp)s(e)f(mit)270 970
y(der)g(Addition)e(als)i(V)-8 b(erkn)1162 974 y(\177)1159
970 y(upfung.)22 b(Die)h(Un)m(tergrupp)s(e)g(wird)e(durc)m(h)h(einen)h
(Punkt)f(auf)h(der)270 1083 y(Kurv)m(e)30 b(erzeugt.)411
1203 y(Das)f(folgende)f(V)-8 b(erfahren)29 b(wurde)e(erstmals)h(v)m(on)
g Ft(Alfred)j(Menezes)c Fw(und)f Ft(Scott)270 1316 y(V)-11
b(anstone)20 b Fw(en)m(t)m(wic)m(k)m(elt.)k(Die)e(Nac)m(hric)m(h)m(ten)
h(en)m(tsprec)m(hen)f(hierb)s(ei)e(P)m(aaren)i(v)m(on)h(Elemen-)270
1429 y(ten)k(aus)f(dem)g(zugrundeliegenden)f(K)1605 1433
y(\177)1605 1429 y(orp)s(er)g Fn(F)1891 1443 y Fl(p)1936
1429 y Fw(.)i(Im)f(Gegensatz)j(zur)d(allgemeinen)f(De\014-)270
1542 y(nition)f(des)i(ElGamal-V)-8 b(erfahrens)25 b(\(s.)i
(De\014nition)e(8\))h(wird)e(hier)h(die)g(Nac)m(hric)m(h)m(t)i(nic)m(h)
m(t)f(in)270 1654 y(die)e(Grupp)s(e,)f(d.)15 b(h.)24
b(auf)h(die)e(Kurv)m(e,)i(eingeb)s(ettet.)h(Andere)e(V)-8
b(arian)m(ten)25 b(des)f(Algorithm)m(us)270 1767 y(sind)k(jedo)s(c)m(h)
j(denkbar.)e(Auf)h(diese)g(wird)e(in)h(Kapitel)g(3.3)j(n)2358
1771 y(\177)2358 1767 y(aher)e(eingegangen.)270 2021
y Fs(De\014nition)35 b(9)g(\(Menezes-V)-9 b(anstone)36
b(Kryptosystem\))44 b Fu(Sei)27 b Fq(p)e Fo(6)p Fw(=)g(2)p
Fq(;)15 b Fw(3)27 b Fu(eine)f(Prim-)270 2134 y(zahl,)32
b Fq(E)37 b Fu(eine)30 b(el)5 b(liptische)32 b(Kurve)1475
2138 y(\177)1475 2134 y(ub)-5 b(er)31 b Fn(F)1721 2148
y Fl(p)1798 2134 y Fu(und)h Fq(G)f Fu(die)g(Punkte)-5
b(grupp)g(e)32 b(der)g(Kurve.)e(A)n(u-)270 2247 y(\031er)-5
b(dem)42 b(sei)f Fq(H)48 b Fu(die)41 b(von)h(einem)f(Punkt)g
Fq(\013)g Fu(erzeugte)g(Unter)-5 b(grupp)g(e)43 b(und)e
Fq(\014)46 b Fo(2)41 b Fq(H)48 b Fu(mit)270 2360 y Fq(a\013)26
b Fw(=)f Fq(\014)38 b Fu(ge)-5 b(geb)g(en.)32 b(Mit)g(dem)i(Schl)1470
2364 y(\177)1470 2360 y(ussel)f Fq(K)f Fw(=)25 b(\()p
Fq(E)5 b Fw(\()p Fn(F)2089 2374 y Fl(p)2135 2360 y Fw(\))p
Fq(;)15 b(\013;)g(a;)g(\014)5 b Fw(\))p Fu(,)35 b(einer)e(zuf)2897
2364 y(\177)2898 2360 y(al)5 b(lig)32 b(gew)3240 2364
y(\177)3241 2360 y(ahl-)270 2473 y(ten)f(Zahl)i Fq(k)28
b Fo(2)d Fn(Z)854 2491 y Fh(j)p Fl(H)5 b Fh(j)987 2473
y Fu(und)32 b(der)g(Nachricht)g Fq(m)25 b Fw(=)g(\()p
Fq(m)2057 2487 y Fp(1)2097 2473 y Fq(;)15 b(m)2217 2487
y Fp(2)2256 2473 y Fw(\))32 b Fu(mit)g Fq(m)2567 2487
y Fp(1)2606 2473 y Fq(;)15 b(m)2726 2487 y Fp(2)2791
2473 y Fo(2)25 b Fn(F)2926 2487 y Fl(p)3003 2473 y Fu(de\014nier)-5
b(en)270 2586 y(wir)1392 2719 y Fq(e)1434 2733 y Fl(K)1502
2719 y Fw(\()p Fq(m;)15 b(k)s Fw(\))27 b(=)e(\()p Fq(y)1945
2733 y Fp(0)1984 2719 y Fq(;)15 b(y)2069 2733 y Fp(1)2109
2719 y Fq(;)g(y)2194 2733 y Fp(2)2233 2719 y Fw(\))935
b(\(3.7\))270 2910 y Fu(mit)1673 3043 y Fq(y)1718 3057
y Fp(0)1782 3043 y Fw(=)25 b Fq(k)s(\013)1217 b Fw(\(3.8\))1582
3255 y(\()p Fq(c)1656 3269 y Fp(1)1696 3255 y Fq(;)15
b(c)1775 3269 y Fp(2)1815 3255 y Fw(\))26 b(=)f Fq(k)s(\014)1130
b Fw(\(3.9\))1628 3466 y Fq(y)1673 3480 y Fp(1)1738 3466
y Fw(=)25 b Fq(c)1873 3480 y Fp(1)1912 3466 y Fq(m)1992
3480 y Fp(1)3158 3466 y Fw(\(3.10\))270 3657 y Fu(und)1616
3791 y Fq(y)1661 3805 y Fp(2)1725 3791 y Fw(=)g Fq(c)1860
3805 y Fp(2)1900 3791 y Fq(m)1980 3805 y Fp(2)2019 3791
y Fq(:)1114 b Fw(\(3.11\))270 3982 y Fu(F)329 3986 y(\177)329
3982 y(ur)33 b(eine)f(verschl)914 3986 y(\177)914 3982
y(usselte)i(Nachricht)f Fq(y)28 b Fw(=)d(\()p Fq(y)1876
3996 y Fp(0)1915 3982 y Fq(;)15 b(y)2000 3996 y Fp(1)2040
3982 y Fq(;)g(y)2125 3996 y Fp(2)2164 3982 y Fw(\))33
b Fu(sei)1379 4207 y Fq(d)1426 4221 y Fl(K)1495 4207
y Fw(\()p Fq(y)s Fw(\))26 b(=)e(\()p Fq(y)1814 4221 y
Fp(1)1854 4207 y Fq(c)1893 4168 y Fh(\000)p Fp(1)1893
4233 y(1)1988 4207 y Fq(;)15 b(y)2073 4221 y Fp(2)2112
4207 y Fq(c)2151 4168 y Fh(\000)p Fp(1)2151 4233 y(2)2246
4207 y Fw(\))877 b(\(3.12\))270 4431 y Fu(mit)1556 4565
y Fq(ay)1649 4579 y Fp(0)1714 4565 y Fw(=)25 b(\()p Fq(c)1884
4579 y Fp(1)1924 4565 y Fq(;)15 b(c)2003 4579 y Fp(2)2043
4565 y Fw(\))p Fq(:)1055 b Fw(\(3.13\))411 4812 y(W)-8
b(enn)32 b(man)f(b)s(eac)m(h)m(tet,)j(da\031)e(man)g(sic)m(h)f(in)f
(einer)h(additiv)m(en)g(Grupp)s(e)f(b)s(e\014ndet,)g(b)s(e-)270
4925 y(steh)m(t)45 b(der)e(Nac)m(h)m(w)m(eis)i(der)e(Korrektheit)h(des)
g(obigen)f(Kryptosystems)h(in)e(der)3174 4906 y(\177)3162
4925 y(Ub)s(er-)270 5038 y(pr)360 5042 y(\177)357 5038
y(ufung)28 b(v)m(on)j(Gleic)m(h)m(ung)f(\(3.6\))i(f)1456
5042 y(\177)1453 5038 y(ur)d Fq(m)1649 5052 y Fp(1)1719
5038 y Fw(und)f Fq(m)1980 5052 y Fp(2)2020 5038 y Fw(.)411
5157 y(Dar)564 5161 y(\177)561 5157 y(ub)s(erhinaus)c(m)m(u\031)i(no)s
(c)m(h)h(gesagt)h(w)m(erden,)e(da\031)h(in)e(der)h(Gleic)m(h)m(ung)g
(\(3.9\))i(die)e(b)s(ei-)270 5270 y(den)32 b(Ko)s(ordinaten)f(v)m(on)i
Fq(k)s(\014)5 b Fw(,)33 b(d.)15 b(h.)32 b Fq(c)1550 5284
y Fp(1)1622 5270 y Fw(und)f Fq(c)1845 5284 y Fp(2)1885
5270 y Fw(,)h(nat)2076 5274 y(\177)2073 5270 y(urlic)m(h)f(ungleic)m(h)
g(0,)i(also)g(in)e Fn(F)3135 5237 y Fh(\003)3135 5293
y Fl(p)3180 5270 y Fw(,)i(sein)270 5383 y(m)349 5387
y(\177)346 5383 y(ussen,)28 b(um)f(die)h(In)m(v)m(ertierung)f(zu)i(erm)
1697 5387 y(\177)1697 5383 y(oglic)m(hen.)f(In)g(der)f(Praxis)h(tritt)g
(der)g(nic)m(h)m(tin)m(v)m(er-)270 5496 y(tierbare)37
b(F)-8 b(all)36 b(jedo)s(c)m(h)h(b)s(ei)f(zuf)1367 5500
y(\177)1367 5496 y(allig)f(gew)1721 5500 y(\177)1721
5496 y(ahltem)j Fq(k)i Fw(mit)c(hinreic)m(hend)f(geringer)h(W)-8
b(ahr-)270 5609 y(sc)m(heinlic)m(hk)m(eit)29 b(auf)h(und)f(k)-5
b(ann)30 b(in)f(einem)g(Programm)i(abgefangen)g(w)m(erden.)p
eop
%%Page: 18 19
18 18 bop 390 82 a Fw(18)1519 b(KAPITEL)29 b(3.)62 b(DER)30
b(ALGORITHMUS)390 415 y Fz(3.3)135 b(Alternativ)l(en)390
618 y Fw(Es)32 b(wurde)f(sc)m(hon)h(im)f(v)m(orangegangenen)j(Absc)m
(hnitt)d(erw)2452 622 y(\177)2452 618 y(ahn)m(t,)i(da\031)f(auc)m(h)h
(andere)f(V)-8 b(a-)390 731 y(rian)m(ten)30 b(der)h(V)-8
b(ersc)m(hl)1148 735 y(\177)1145 731 y(usselung)29 b(mit)h(elliptisc)m
(hen)f(Kurv)m(en)h(denkbar)g(sind.)f(Diese)i(sollen)390
844 y(hier)26 b(nic)m(h)m(t)i(im)e(Detail)i(v)m(orgestellt)h(sondern)d
(n)m(ur)h(kurz)g(angespro)s(c)m(hen)g(w)m(erden.)h(F)3283
848 y(\177)3280 844 y(ur)f(die)390 957 y(genaue)g(Besc)m(hreibung)e
(wird)f(an)h(en)m(tsprec)m(hender)h(Stelle)f(auf)h(die)f(Literatur)g(v)
m(erwiesen.)531 1070 y(Zuerst)20 b(sollte)g(gesagt)i(w)m(erden,)e
(da\031)g(b)s(ei)f(dem)h(V)-8 b(erfahren)20 b(v)m(on)h(Menezes)h(und)c
(V)-8 b(ansto-)390 1183 y(ne)30 b(b)s(eide)f(Ko)s(ordinaten)h(des)1437
1187 y(\177)1437 1183 y(o\013en)m(tlic)m(hen)g(Sc)m(hl)2087
1187 y(\177)2084 1183 y(ussels)f(v)m(erw)m(endet)i(w)m(erden.)f(Diese)h
(sind)390 1296 y(k)m(einesw)m(egs)36 b(unabh)1097 1300
y(\177)1097 1296 y(angig)e(v)m(oneinander,)h(w)m(as)h(die)f(Sic)m
(herheit)f(b)s(eein)m(tr)2922 1300 y(\177)2922 1296 y(ac)m(h)m(tigen)i
(k)3333 1300 y(\177)3333 1296 y(onn-)390 1408 y(te.)j(Das)g(Problem)d
(ist)i(jedo)s(c)m(h,)g(da\031)g(b)s(ei)f(der)g(Ben)m(utzung)i(n)m(ur)e
(einer)g(Ko)s(ordinate)g(die)390 1521 y(Nac)m(hric)m(h)m(t)28
b(auf)e(die)g(vierfac)m(he)g(L)1528 1525 y(\177)1528
1521 y(ange)h(expandiert)f(w)2254 1525 y(\177)2251 1521
y(urde,)f(w)m(as)i(nic)m(h)m(t)g(sehr)f(praktik)-5 b(ab)s(el)390
1634 y(ist.)531 1747 y(Nat)682 1751 y(\177)679 1747 y(urlic)m(h)55
b(ist)h(auc)m(h)g(die)f(V)-8 b(erw)m(endung)56 b(v)m(on)g(K)2338
1751 y(\177)2338 1747 y(orp)s(ern)e(der)i(Charakteristik)f(2)390
1860 y(m)466 1864 y(\177)466 1860 y(oglic)m(h,)28 b(da)f(sie)h(v)m(or)g
(allem)f(b)s(ei)g(Hardw)m(are-Implemen)m(tierungen)f(V)-8
b(orteile)28 b(in)f(der)g(E\016-)390 1973 y(zienz)g(bieten.)f(Man)h
(denk)m(e)g(hierb)s(ei)d(z.)16 b(B.)27 b(an)f(Smartcards.)h(Eine)e
(sinn)m(v)m(olle)g(Gr)3166 1977 y(\177)3166 1973 y(o\031enord-)390
2086 y(n)m(ung)32 b(liegt)h(auc)m(h)g(hier)f(b)s(ei)f(et)m(w)m(a)k(200)
f(Bit.)f(Man)g(\014ndet)f(in)g([Ros99)q(])h(eine)f(ausf)3197
2090 y(\177)3194 2086 y(uhrlic)m(he)390 2199 y(Betrac)m(h)m(tung)f(v)m
(on)f(elliptisc)m(hen)d(Kurv)m(en)1875 2203 y(\177)1873
2199 y(ub)s(er)h Fn(F)2131 2213 y Fp(2)2167 2194 y Fm(n)2219
2199 y Fw(.)i(Dab)s(ei)f(wird)e(auc)m(h)j(auf)f(die)f(Imple-)390
2312 y(men)m(tierung)i(v)m(on)g(Kryptosystemen)g(n)1768
2316 y(\177)1768 2312 y(aher)g(eingegangen.)531 2425
y(Es)f(wurde)g(sc)m(hon)g(mehrfac)m(h)h(der)f(Asp)s(ekt)g(der)g(Ein)m
(b)s(ettung)f(der)h(Nac)m(hric)m(h)m(t)i(auf)e(die)390
2538 y(Kurv)m(e)23 b(angespro)s(c)m(hen.)g(Man)g(suc)m(h)m(t)g(hierf)
1851 2542 y(\177)1848 2538 y(ur)e(eine)h(injektiv)m(e)h(Abbildung)c(v)m
(on)k(der)g(Menge)390 2650 y(der)i(Nac)m(hric)m(h)m(ten)i(in)e(die)g
(Menge)i(der)e(Kurv)m(enpunkte.)g(Zur)f(Zeit)h(ist)h(k)m(ein)f
(deterministi-)390 2763 y(sc)m(her)k(Algorithm)m(us)d(b)s(ek)-5
b(ann)m(t,)29 b(der)e(das)h(in)f(p)s(olynomieller)e(Zeit)j(leistet.)h
(In)e([Kob94)q(])i(ist)390 2876 y(jedo)s(c)m(h)h(ein)g(probabilistisc)m
(her)c(Algorithm)m(us)j(dargestellt,)i(der)f(f)2682 2880
y(\177)2679 2876 y(ur)f(elliptisc)m(he)f(Kurv)m(en)393
2993 y(\177)390 2989 y(ub)s(er)j(b)s(eliebigen)e(endlic)m(hen)h(K)1504
2993 y(\177)1504 2989 y(orp)s(ern)g(funktioniert.)h(Im)g(F)-8
b(all)32 b Fn(F)2693 3003 y Fl(p)2771 2989 y Fw(b)s(esteh)m(t)g(eine)g
(direk-)390 3102 y(te)43 b(Bezieh)m(ung)f(zwisc)m(hen)f(der)h(Nac)m
(hric)m(h)m(t)h(und)d(der)i Fq(x)p Fw(-Ko)s(ordinate)f(des)h(zugeh)3267
3106 y(\177)3267 3102 y(origen)390 3215 y(Punktes.)p
eop
%%Page: 19 20
19 19 bop 270 1043 a Fr(Kapitel)66 b(4)270 1463 y Fv(Die)77
b(Implemen)-6 b(tierung)270 1913 y Fw(Es)41 b(soll)f(n)m(un)g(der)g
(Pro)m(vider)g(f)1351 1917 y(\177)1348 1913 y(ur)g(die)g(V)-8
b(ersc)m(hl)1921 1917 y(\177)1918 1913 y(usselung)40
b(mit)g(elliptisc)m(hen)f(Kurv)m(en)h(im)270 2026 y(einzelnen)26
b(v)m(orgestellt)h(w)m(erden.)g(Die)g(JA)-10 b(V)g(A)27
b(Cryptograph)m(y)g(Arc)m(hitecture)g(als)g(zugrun-)270
2139 y(deliegende)34 b(Struktur)f(und)h(andere)h(Asp)s(ekte)g(v)m(on)g
(JA)-10 b(V)g(A)35 b(bilden)e(dab)s(ei)g(den)i(Anfang.)270
2252 y(Bev)m(or)45 b(dann)e(der)g(Zugri\013)f(auf)h(C++-Co)s(de)g(erl)
2020 2256 y(\177)2020 2252 y(autert)g(wird,)f(widmet)h(sic)m(h)g(ein)g
(Ab-)270 2365 y(sc)m(hnitt)33 b(dem)g(Standard)f(der)h(Public)e(Key)j
(Kryptographie,)e(der)h(so)g(w)m(eit)h(wie)e(m)3160 2369
y(\177)3160 2365 y(oglic)m(h)270 2478 y(b)s(ei)38 b(der)g(En)m(t)m(wic)
m(klung)g(b)s(er)1256 2482 y(\177)1253 2478 y(uc)m(ksic)m(h)m(tigt)h
(wurde.)f(Zuletzt)h(soll)f(die)g(Struktur)f(des)i(Pro-)270
2591 y(viders)29 b(dargestellt)h(w)m(erden,)g(w)m(oran)g(sic)m(h)g
(eine)g(Besc)m(hreibung)f(der)h(Programmsc)m(hnitt-)270
2704 y(stelle)k(ansc)m(hlie\031t.)h(Die)f(in)m(terne)g(F)-8
b(unktionsw)m(eise)34 b(wird)f(innerhalb)e(des)j(Quellco)s(des)f(in)270
2817 y(den)d(Anh)612 2821 y(\177)612 2817 y(angen)g(b)s(esc)m(hrieb)s
(en.)270 3133 y Fz(4.1)135 b(Die)46 b(JA)-15 b(V)g(A)44
b(Cryptograph)l(y)h(Arc)l(hitecture)270 3346 y Fw(Die)33
b(v)m(on)g(der)f(Firma)g Fg(SUN)g Fw(en)m(t)m(wic)m(k)m(elte)i
(Programmiersprac)m(he)e(JA)-10 b(V)g(A)33 b(ist)f(dab)s(ei,)g(sic)m(h)
270 3459 y(in)d(vielen)g(Bereic)m(hen)i(der)e(Soft)m(w)m(are-En)m(t)m
(wic)m(klung)i(durc)m(hzusetzen.)g(Durc)m(h)f(die)f(Eigen-)270
3571 y(sc)m(haft)37 b(der)e(Plattform)m(unabh)1335 3575
y(\177)1335 3571 y(angigk)m(eit)g(ist)h(sie)f(f)2029
3575 y(\177)2026 3571 y(ur)g(An)m(w)m(endungen,)g(die)g(sic)m(h)g(mit)g
(In-)270 3684 y(formationssic)m(herheit)i(b)s(esc)m(h)1326
3688 y(\177)1326 3684 y(aftigen,)i(b)s(esonders)e(geeignet.)j(Dab)s(ei)
f(denkt)f(man)h(z.)15 b(B.)270 3797 y(an)37 b(eine)f(sic)m(here)910
3778 y(\177)898 3797 y(Ub)s(ermittlung)f(v)m(on)i(E-Mails)f(o)s(der)g
(an)h(eine)f(Ben)m(utzerauthen)m(ti\014k)-5 b(a-)270
3910 y(tion.)38 b(JA)-10 b(V)g(A)38 b(b)s(einhaltet)e(auc)m(h)i(als)g
(erste)g(Sprac)m(he)g(ein)2296 3914 y(\177)2293 3910
y(ub)s(erzeugendes)f(Konzept)h(f)3307 3914 y(\177)3304
3910 y(ur)270 4023 y(die)j(In)m(tegration)i(v)m(on)g
Fu(Sicherheit)p Fw(.)g(Un)m(ter)g(diesem)e(Stic)m(h)m(w)m(ort)i(v)m
(ersteh)m(t)h(man)e(so)m(w)m(ohl)270 4136 y(die)37 b(Sic)m(herheit)f
(in)g(b)s(ezug)i(auf)f(die)g(v)m(erw)m(endete)i(Plattform)e(als)g(auc)m
(h)h(die)f(in)f(die)h(An-)270 4249 y(w)m(endung)25 b(selbst)h
(eingebaute)g(Sic)m(herheit.)f(Mit)h(dem)g(zw)m(eiten)h(Asp)s(ekt)f(b)s
(esc)m(h)3000 4253 y(\177)3000 4249 y(aftigt)h(sic)m(h)270
4362 y(diese)j(Arb)s(eit.)f(Mehr)1049 4366 y(\177)1046
4362 y(ub)s(er)g(Plattformsic)m(herheit)g(\014ndet)h(man)g(in)f([Oak98)
q(].)411 4480 y(Die)38 b(hier)e(v)m(erw)m(endete)j(JA)-10
b(V)g(A-Klassen)m(bibliothek,)35 b(das)i Fu(JA)-9 b(V)g(A)37
b(Development)j(Kit)270 4593 y(\(JDK\))59 b(1.2)p Fw(,)i(stellt)f(ein)f
(F)-8 b(ramew)m(ork)61 b(f)1762 4597 y(\177)1759 4593
y(ur)e(kryptographisc)m(he)g(An)m(w)m(endungen)g(zur)270
4706 y(V)-8 b(erf)437 4710 y(\177)434 4706 y(ugung.)34
b(Dieses)g(gliedert)f(sic)m(h)h(in)e(die)h Fu(JA)-9 b(V)g(A)34
b(Crypto)-5 b(gr)g(aphy)40 b(A)n(r)-5 b(chite)g(ctur)g(e)36
b(\(JCA\))270 4819 y Fw(und)30 b(die)g Fu(JA)-9 b(V)g(A)31
b(Crypto)-5 b(gr)g(aphy)37 b(Extension)d(\(JCE\))p Fw(.)d(In)g(der)f
(JCA)h(b)s(e\014nden)e(sic)m(h)h(Klas-)270 4932 y(sen,)41
b(die)f(sic)m(h)g(auf)h(die)f(Sc)m(hl)1300 4936 y(\177)1297
4932 y(ussel)f(und)g(deren)h(Erzeugung,)h(auf)g(digitale)e(Signaturen)
270 5044 y(o)s(der)23 b(auc)m(h)h(Pseudozufallszahlen)d(b)s(eziehen.)i
(Bei)g(der)g(JCE)g(handelt)f(es)i(sic)m(h)f(im)g(w)m(esen)m(t-)270
5157 y(lic)m(hen)31 b(um)g(die)g(Sc)m(hnittstelle)g(f)1389
5161 y(\177)1386 5157 y(ur)f(V)-8 b(ersc)m(hl)1792 5161
y(\177)1789 5157 y(usselungsalgorithmen.)30 b(Die)i(un)m(tersc)m
(hiedli-)270 5270 y(c)m(hen)23 b(Anf)619 5274 y(\177)619
5270 y(ange)f(der)g(P)m(ak)m(etnamen,)j Ff(java.security)18
b Fw(b)s(ei)k(der)f(JCA)h(und)f Ff(javax.crypto)270 5383
y Fw(b)s(ei)h(der)g(JCE,)h(deuten)g(sc)m(hon)g(auf)g(eine)g
(Besonderheit)g(dieser)f(Arc)m(hitektur)g(hin.)g(Die)h(Re-)270
5496 y(gierung)29 b(der)g(USA)h(hat)g(den)f(Exp)s(ort)g(v)m(on)h(V)-8
b(ersc)m(hl)2067 5500 y(\177)2064 5496 y(usselungssoft)m(w)m(are)30
b(b)s(esc)m(hr)3045 5500 y(\177)3045 5496 y(ankt,)f(so-)270
5609 y(da\031)24 b(man)f(auf)g(JCE-Implemen)m(tierungen)d(v)m(on)k
(anderer)f(Seite)g(zur)2599 5613 y(\177)2596 5609 y(uc)m(kgreifen)g(m)m
(u\031.)g(Sol-)1785 5858 y(19)p eop
%%Page: 20 21
20 20 bop 390 82 a Fw(20)1313 b(KAPITEL)30 b(4.)61 b(DIE)30
b(IMPLEMENTIER)m(UNG)390 415 y(c)m(he)i(existieren)e(z.)15
b(B.)32 b(v)m(on)f(der)g(T)-8 b(ec)m(hnisc)m(hen)30 b(Univ)m(ersit)2360
419 y(\177)2360 415 y(at)h(Graz)h(in)2814 396 y(\177)2801
415 y(Osterreic)m(h)f(\(IAIK-)390 528 y(Implemen)m(tierung\),)j(w)m
(elc)m(he)j(in)d(dieser)h(Diplomarb)s(eit)f(auc)m(h)i(v)m(erw)m(endet)g
(wurde.)f(Alle)390 641 y(diese)g(Klassen)g(w)m(erden)g(als)g
Fu(Konzeptklassen)45 b Fw(b)s(ezeic)m(hnet.)36 b(Wir)f(w)m(erden)g(im)g
(w)m(eiteren)390 754 y(V)-8 b(erlauf)30 b(darauf)g(zur)1122
758 y(\177)1119 754 y(uc)m(kk)m(ommen.)531 873 y(Die)37
b(Aufgab)s(e)g(der)f(JCA)h(ist,)f(die)g(standardisierte)g(V)-8
b(erw)m(endung)36 b(v)m(on)h(kryptogra-)390 986 y(phisc)m(hen)c(V)-8
b(erfahren)34 b(zu)g(erm)1464 990 y(\177)1464 986 y(oglic)m(hen.)g
(Diese)h(Implemen)m(tierungen)d(w)m(erden)i(in)g(soge-)390
1099 y(nann)m(ten)39 b Fu(Pr)-5 b(ovidern)47 b Fw(zusammengefa\031t.)40
b(Dar)2056 1103 y(\177)2053 1099 y(ub)s(erhinaus)c(bietet)j(die)f(JCA)h
(auc)m(h)g(die)390 1211 y(M)473 1215 y(\177)473 1211
y(oglic)m(hk)m(eit,)28 b(eigene)g(Implemen)m(tierungen)d(in)h(F)-8
b(orm)28 b(eines)f(solc)m(hen)g(Pro)m(viders)g(zu)g(en)m(t-)390
1324 y(wic)m(k)m(eln.)20 b(Das)h(k)945 1328 y(\177)945
1324 y(onnen)f Fu(digitale)k(Signatur)-5 b(en)29 b Fw(o)s(der)20
b(V)-8 b(ersc)m(hl)2448 1328 y(\177)2445 1324 y(usselungsalgorithmen,)
17 b(ab)s(er)390 1437 y(auc)m(h)33 b(andere)g(V)-8 b(erfahren)33
b(sein,)f(die)g(mit)h(der)f(Kryptographie)g(zusammenh)3089
1441 y(\177)3089 1437 y(angen,)h(wie)390 1550 y(z.)16
b(B.)31 b Fu(Pseudozfal)5 b(lszahlengener)-5 b(ator)g(en)p
Fw(.)531 1669 y(Bei)23 b(den)f(Konzeptklassen)g(in)f(den)h(ob)s
(engenann)m(ten)g(P)m(ak)m(eten)j(gibt)d(es)h(n)m(un)e(no)s(c)m(h)i
(ein-)390 1782 y(mal)30 b(eine)g(Zw)m(eiteilung.)f(Auf)h(der)g(Seite)g
(des)h(Ben)m(utzers)g(v)m(on)g(kryptographisc)m(her)f(Soft-)390
1895 y(w)m(are)k(b)s(e\014nden)e(sic)m(h)h(die)g(Klassen)g(des)h
Fu(Applic)-5 b(ation)37 b(Pr)-5 b(o)g(gr)g(amming)39
b(Interfac)-5 b(e)36 b(\(API\))p Fw(.)390 2008 y(Sie)20
b(v)m(ereinheitlic)m(hen)f(die)h(V)-8 b(erw)m(endung)20
b(v)m(ersc)m(hiedener)h(Implemen)m(tierungen.)e(Um)h(ab)s(er)390
2121 y(auc)m(h)26 b(eigene)g(Pro)m(vider)e(m)1312 2125
y(\177)1309 2121 y(uhelos)h(in)m(tegrieren)f(zu)i(k)2195
2125 y(\177)2195 2121 y(onnen,)f(greift)g(man)g(auf)g(die)g(Klassen)390
2234 y(des)j Fu(Servic)-5 b(e)31 b(Pr)-5 b(ovider)32
b(Interfac)-5 b(e)31 b(\(SPI\))h Fw(zur)1989 2238 y(\177)1986
2234 y(uc)m(k.)d(In)f(ihnen)e(wird)h(der)h(Rahmen)g(f)3283
2238 y(\177)3280 2234 y(ur)f(die)390 2346 y(Implemen)m(tierungen)h(v)m
(orgegeb)s(en.)531 2465 y(Will)41 b(man)h(z.)16 b(B.)43
b(einen)e(V)-8 b(ersc)m(hl)1708 2469 y(\177)1705 2465
y(usselungsalgorithm)m(us)40 b(implemen)m(tieren,)h(so)h(b)s(e-)390
2578 y(erbt)64 b(man)h(die)f(Klasse)g Ff(javax.crypto.CipherSpi)58
b Fw(mitsam)m(t)65 b(ihrer)e Fu(abstr)-5 b(akten)390
2691 y Fw(Metho)s(den.)52 b(Nac)m(hdem)h(diese)e(implemen)m(tiert)f(w)m
(orden)h(sind,)g(k)-5 b(ann)51 b(man)g(sic)m(h)h(un-)390
2804 y(ter)45 b(Angab)s(e)f(des)g(en)m(tsprec)m(henden)h(Algorithm)m
(usnamens)d(eine)i(Instanz)h(der)e(Klasse)390 2917 y
Ff(javax.crypto.Cipher)18 b Fw(erzeugen)24 b(lassen,)f(die)g(die)f
(Implemen)m(tierung)f(an)m(bietet.)3324 2898 y(\177)3313
2917 y(Ub)s(er)390 3030 y(die)43 b(Sc)m(hnittstelle)h(v)m(on)g
Ff(javax.crypto.Cipher)c Fw(ist)j(diese)h(v)m(erf)2749
3034 y(\177)2746 3030 y(ugbar.)h(F)3106 3034 y(\177)3103
3030 y(ur)e(die)h(ge-)390 3143 y(nauere)37 b(Besc)m(hreibung)g(wird)e
(auf)i(Kapitel)f(4.4,)j(den)d(in)g(den)h(Anh)2779 3147
y(\177)2779 3143 y(angen)g(en)m(thaltenen)390 3256 y(Sourceco)s(de)30
b(und)f(auf)h(das)g(Buc)m(h)h([Kn)m(u98])g(v)m(erwiesen.)531
3375 y(Will)52 b(man)g(auf)h(b)s(ereits)f(implemen)m(tierte)g
(Algorithmen)g(zur)2802 3379 y(\177)2799 3375 y(uc)m(kgreifen,)h(so)h
(ist)390 3487 y(dies)44 b(eb)s(enso)h(m)974 3491 y(\177)974
3487 y(oglic)m(h.)g(Die)h(Firma)e Fg(SUN)h Fw(und)f(auc)m(h)i(andere)f
(Hersteller)f(bieten)h(ei-)390 3600 y(gene)d(Pro)m(vider)d(an.)i(Die)g
(g)1371 3604 y(\177)1371 3600 y(angigsten)h(V)-8 b(erfahren)40
b(sind)f(darin)g(v)m(orhanden,)i(man)f(v)m(er-)390 3713
y(traut)29 b(dab)s(ei)f(jedo)s(c)m(h)h(auf)f(die)g(k)m(orrekte)i
(Implemen)m(tierung.)e(F)2590 3717 y(\177)2587 3713 y(ur)g(die)g(V)-8
b(erw)m(endung)29 b(die-)390 3826 y(ser)42 b(Algorithmen)e(m)m(u\031)i
(man)f(lediglic)m(h)f(den)h(en)m(tsprec)m(henden)g(Pro)m(vider)g(der)g
(Klasse)390 3939 y Ff(java.security.Security)30 b Fw(b)s(ek)-5
b(ann)m(tgeb)s(en)35 b(und)f(k)-5 b(ann)35 b(dann)f(die)h(Implemen)m
(tierun-)390 4052 y(gen)c(in)e(der)g(gleic)m(hen)h(W)-8
b(eise)31 b(b)s(en)m(utzen,)g(wie)e(dies)h(mit)f(selbst)h(en)m(t)m(wic)
m(k)m(elten)h(Pro)m(vidern)390 4165 y(der)f(F)-8 b(all)30
b(ist.)390 4485 y Fz(4.2)135 b(Der)46 b(Standard)e(IEEE)i(P1363)g(/)f
(D8)390 4700 y Fw(Der)e(v)m(ollst)791 4704 y(\177)791
4700 y(andige)e(Titel)g(der)h(Ric)m(h)m(tlinie,)f(die)g(v)m(on)i(dem)f
Ft(Institute)j(of)h(Electri-)390 4813 y(cal)30 b(and)g(Electr)n(onics)f
(Engineers,)h(Inc.)g(\(IEEE\))d Fw(v)m(er)2562 4817 y(\177)2562
4813 y(o\013en)m(tlic)m(h)m(t)h(wurde,)e(lautet)390 4926
y("Standard)38 b(Sp)s(eci\014cations)f(for)h(Public)f(Key)h
(Cryptograph)m(y\\.)h(T)-8 b(eile)38 b(daraus)g(fanden)390
5038 y(in)i(dieser)h(Diplomarb)s(eit)e(V)-8 b(erw)m(endung,)42
b(darum)e(soll)h(an)g(dieser)g(Stelle)g(kurz)g(darauf)390
5151 y(eingegangen)31 b(w)m(erden.)f(F)1298 5155 y(\177)1295
5151 y(ur)g(die)f(Details)i(wird)d(direkt)h(auf)i([ISD98])g(v)m
(erwiesen.)531 5270 y(Der)44 b(Standard)e(b)s(ehandelt)f(div)m(erse)h
(Gesic)m(h)m(tspunkte)i(der)e(Public)f(Key)i(Krypto-)390
5383 y(graphie.)f(Dies)g(sind)e(in)h(erster)i(Linie)d(Sc)m(hl)1960
5387 y(\177)1957 5383 y(usselgenerierungs-,)g(Signatur-)h(und)g(V)-8
b(er-)390 5496 y(sc)m(hl)543 5500 y(\177)540 5496 y(usselungsv)m
(erfahren.)41 b(F)-8 b(erner)44 b(wird)e(v)m(ersuc)m(h)m(t,)j(je)f(nac)
m(h)g(der)f(zugrundeliegenden)390 5609 y(mathematisc)m(hen)c
(Problemstellung,)d(die)i(zu)g(v)m(erw)m(endenden)g(P)m(arameter)i(zu)e
(v)m(erein-)p eop
%%Page: 21 22
21 21 bop 270 82 a Fw(4.2.)62 b(Der)31 b(Standard)e(IEEE)h(P1363)i(/)e
(D8)1545 b(21)270 415 y(heitlic)m(hen.)33 b(Dab)s(ei)i(sollen)e(w)m
(eder)i(b)s(estimm)m(te)f(V)-8 b(erfahren)35 b(no)s(c)m(h)f(v)m(er)2715
419 y(\177)2715 415 y(anderlic)m(he)g(Merk-)270 528 y(male)44
b(wie)g(Sc)m(hl)845 532 y(\177)842 528 y(ussell)1057
532 y(\177)1057 528 y(angen)e(empfohlen)g(w)m(erden.)i(Der)h(Sinn)d
(liegt)i(vielmehr)e(in)h(der)270 641 y(standardisierten)38
b(Au\015istung)h(v)m(on)i(tauglic)m(hen)f(V)-8 b(erfahren)41
b(im)e(Rahmen)h(der)g(Public)270 754 y(Key)30 b(Kryptographie.)411
873 y(Die)i(erste)g(V)-8 b(ersion)31 b(des)g(Standards)f(stamm)m(t)j
(aus)e(dem)g(Jahre)g(1994,)i(damals)e(no)s(c)m(h)270
986 y(un)m(ter)45 b(dem)g(Titel)f("Standard)g(for)h(Riv)m
(est-Shamir-Adleman,)e(Di\016e-Hellman,)i(and)270 1098
y(Related)i(Public-Key)e(Cryptograph)m(y\\.)i(Mit)g(zunehmender)e(Zeit)
i(v)m(ergr)2951 1102 y(\177)2951 1098 y(o\031erte)i(sic)m(h)270
1211 y(der)41 b(Umfang.)h(So)g(k)-5 b(amen)42 b(b)s(ei)e(den)h
(mathematisc)m(hen)h(Grundlagen)f(die)g(elliptisc)m(hen)270
1324 y(Kurv)m(en)28 b(mit)f(den)h(dazugeh)1249 1328 y(\177)1249
1324 y(origen)g(V)-8 b(erfahren)29 b(hinzu.)d(Leider)i(sind)e(zum)i
(jetzigen)h(Zeit-)270 1437 y(punkt)21 b(lediglic)m(h)f(Sc)m(hl)1043
1441 y(\177)1040 1437 y(usselgenerierungen)f(und)i(Signaturen)f
(mithilfe)g(elliptisc)m(her)g(Kur-)270 1550 y(v)m(en)32
b(v)m(orhanden.)e(Die)i(Aufnahme)e(v)m(on)h(V)-8 b(ersc)m(hl)1976
1554 y(\177)1973 1550 y(usselungsv)m(erfahren)30 b(in)g(den)g(Standard)
270 1663 y(ist)g(jedo)s(c)m(h)g(geplan)m(t.)411 1782
y(Inzwisc)m(hen)23 b(umfa\031t)h(der)f(P)m(ersonenkreis)g(dieses)g(Pro)
5 b(jekts)24 b(b)s(ek)-5 b(ann)m(te)24 b(Exp)s(erten)f(auf)270
1895 y(dem)29 b(Gebiet)h(der)g(Kryptographie,)f(wie)g(z.)16
b(B.)30 b Ft(Alfred)i(Menezes)c Fw(und)g Ft(Scott)33
b(V)-11 b(an-)270 2008 y(stone)34 b Fw(\(siehe)g(De\014nition)g(9\).)i
(Au\031erdem)f(ist)g(die)f(Institution)f Ft(IEEE)j Fw(eine)f(f)3075
2012 y(\177)3072 2008 y(uhrende)270 2121 y(Autorit)566
2125 y(\177)566 2121 y(at)i(auf)e(dem)h(T)-8 b(ec)m(hnologiesektor.)37
b(Man)g(k)-5 b(ann)35 b(also)h(erw)m(arten,)h(da\031)f(sic)m(h)g(viele)
270 2233 y(An)m(w)m(ender)30 b(der)g(Public)e(Key)i(Kryptographie)f(in)
g(Zukunft)g(danac)m(h)i(ric)m(h)m(ten.)411 2352 y(Wir)42
b(k)m(ommen)g(n)m(un)f(zu)h(den)g(f)1522 2356 y(\177)1519
2352 y(ur)f(uns)g(relev)-5 b(an)m(ten)43 b(Absc)m(hnitten)e(aus)h(dem)g
(Stan-)270 2465 y(dard.)53 b(Da)i(wir)e(uns)f(mit)i(Kryptographie)e
(auf)i(der)f(Grundlage)g(elliptisc)m(her)f(Kur-)270 2578
y(v)m(en)60 b(b)s(efassen,)f(w)m(ar)h(das)f(Kapitel)f(7.1)j(in)d
([ISD98)q(])i(v)m(on)g(b)s(esonderem)e(In)m(teresse.)270
2691 y(Dort)40 b(w)m(erden)f(die)g(P)m(arameter)h(f)1454
2695 y(\177)1451 2691 y(ur)f(V)-8 b(erfahren)39 b(mit)g(elliptisc)m
(hen)d(Kurv)m(en)j(festgelegt.)270 2804 y(Dar)423 2808
y(\177)420 2804 y(ub)s(erhinaus)52 b(wird)h(gesagt,)k(wie)e(der)1841
2808 y(\177)1841 2804 y(o\013en)m(tlic)m(he)h(und)d(der)i(geheime)g(T)
-8 b(eil)54 b(des)270 2917 y(Sc)m(hl)438 2921 y(\177)435
2917 y(ussels)36 b(aussehen)h(sollen.)g(Eingang)h(fanden)f(diese)h(Sp)s
(ezi\014k)-5 b(ationen)36 b(v)m(or)i(allem)f(in)270 3030
y(der)28 b(Klasse)g Ff(LECDomainParametersP1363)p Fw(.)22
b(W)-8 b(as)30 b(die)e(Sc)m(hl)2415 3034 y(\177)2412
3030 y(ussel)e(b)s(etri\013t,)i(so)h(b)s(eruhen)270 3143
y Ff(ECElGamalGFPPrivateKey)c Fw(und)30 b Ff(ECElGamalGFPPublicKey)25
b Fw(auf)31 b(den)f(en)m(tsprec)m(hen-)270 3256 y(den)g(F)-8
b(estlegungen)31 b(im)e(Standard.)270 3533 y Fe(4.2.1)112
b(Die)37 b(Domain)g(P)m(arameter)270 3716 y Fw(Die)30
b(Domain)h(P)m(arameter)g(f)1252 3720 y(\177)1249 3716
y(ur)e(elliptisc)m(he)g(Kurv)m(en)g(sind:)406 3958 y
Fo(\017)46 b Fw(Eine)30 b(ungerade)g(Primzahl)e Fq(p)406
4169 y Fo(\017)46 b Fw(Zw)m(ei)30 b(Ko)s(e\016zien)m(ten)g
Fq(a;)15 b(b)26 b Fo(2)f Fn(F)1546 4183 y Fl(p)1621 4169
y Fw(und)k(damit)h(die)f(Kurv)m(e)h Fq(E)h Fw(:)25 b
Fq(y)2681 4136 y Fp(2)2746 4169 y Fw(=)g Fq(x)2894 4136
y Fp(3)2954 4169 y Fw(+)19 b Fq(ax)i Fw(+)f Fq(b)406
4380 y Fo(\017)46 b Fw(Ein)34 b(Kurv)m(enpunkt)g Fq(G)i
Fw(\(der)f(Erzeuger)h(einer)f(Un)m(tergrupp)s(e)f(v)m(on)i(Kurv)m
(enpunk-)497 4493 y(ten\))406 4704 y Fo(\017)46 b Fw(Die)31
b(Ordn)m(ung)d Fq(r)33 b Fw(v)m(on)e Fq(G)406 4915 y
Fo(\017)46 b Fw(Der)36 b(Kofaktor)f Fq(k)s Fw(,)h(w)m(ob)s(ei)e
Fo(j)p Fq(E)5 b Fo(j)34 b Fw(=)f Fq(k)s(r)k Fw(\(Mit)f
Fo(j)p Fq(E)5 b Fo(j)35 b Fw(wird)e(nac)m(h)j(wie)e(v)m(or)i(die)e
(Anzahl)497 5028 y(der)c(Punkte)g(auf)g(der)g(Kurv)m(e)g(b)s(ezeic)m
(hnet.\))411 5270 y(Sie)24 b(b)s(einhalten)e(die)i(W)-8
b(erte,)26 b(die)e(allgemein)f(f)1991 5274 y(\177)1988
5270 y(ur)g(die)h(V)-8 b(erw)m(endung)24 b(elliptisc)m(her)e(Kur-)270
5383 y(v)m(en)41 b(in)e(der)h(Kryptographie)g(b)s(en)1495
5387 y(\177)1495 5383 y(otigt)g(w)m(erden.)g(Das)i(Sc)m(hl)2427
5387 y(\177)2424 5383 y(usselpaar,)d(das)h(f)3057 5387
y(\177)3054 5383 y(ur)f(jeden)270 5496 y(T)-8 b(eilnehmer)28
b(eigens)i(generiert)f(wird,)f(geh)1756 5500 y(\177)1756
5496 y(ort)j(nic)m(h)m(t)e(dazu)h(und)e(wird)g(im)h(n)2916
5500 y(\177)2916 5496 y(ac)m(hsten)h(Un-)270 5609 y(terabsc)m(hnitt)g
(angespro)s(c)m(hen.)p eop
%%Page: 22 23
22 22 bop 390 82 a Fw(22)1313 b(KAPITEL)30 b(4.)61 b(DIE)30
b(IMPLEMENTIER)m(UNG)390 415 y Fe(4.2.2)112 b(Das)38
b(Sc)m(hl)1160 420 y(\177)1157 415 y(usselpaar)390 587
y Fw(Der)31 b Fu(Private)h(Key)39 b Fw(und)28 b(der)i
Fu(Public)i(Key)38 b Fw(bilden)28 b(zusammen)i(das)g
Fu(Schl)2933 591 y(\177)2933 587 y(usselp)-5 b(aar)10
b Fw(:)526 787 y Fo(\017)46 b Fw(Eine)30 b(ganze)h(Zahl)e
Fq(s)c Fo(2)g Fw([1)p Fq(;)15 b(r)24 b Fo(\000)c Fw(1])31
b(wird)d(als)i(Priv)-5 b(ate)30 b(Key)g(b)s(ezeic)m(hnet.)526
970 y Fo(\017)46 b Fw(Der)38 b(Punkt)f Fq(W)49 b Fw(auf)37
b(der)g(Kurv)m(e)g Fq(E)43 b Fw(mit)36 b Fq(W)50 b Fw(=)36
b Fq(sG)i Fw(ist)f(der)f(zugeh)3026 974 y(\177)3026 970
y(orige)i(Public)617 1083 y(Key)-8 b(.)531 1283 y(Un)m(ter)34
b(der)e(Annahme,)h(da\031)g(das)g(DLP)g(f)1982 1287 y(\177)1979
1283 y(ur)f(elliptisc)m(he)f(Kurv)m(en)i(w)m(eiterhin)e(sc)m(h)m(w)m
(er)390 1396 y(zu)c(l)534 1400 y(\177)534 1396 y(osen)f(ist,)h(b)s
(eruh)m(t)f(die)g(Sic)m(herheit)g(des)h(V)-8 b(erfahrens,)27
b(wie)f(b)s(ei)g(jedem)h(Kryptosystem,)390 1508 y(auf)e(der)g
(Geheimhaltung)f(des)i(Priv)-5 b(ate)25 b(Key)-8 b(.)26
b(Es)f(ist)g(klar,)g(da\031)h(dieser)f(auf)g(eine)g(nic)m(h)m(tde-)390
1621 y(terministisc)m(he)32 b(W)-8 b(eise)34 b(erzeugt)h(w)m(erden)e(m)
m(u\031.)h(Des)h(w)m(eiteren)e(m)m(u\031)h(er)g(so)g(gesp)s(eic)m(hert)
390 1734 y(w)m(erden,)c(da\031)h(n)m(ur)e(die)h(b)s(erec)m(h)m(tigten)h
(P)m(ersonen)f(darauf)g(zugreifen)f(k)2835 1738 y(\177)2835
1734 y(onnen.)390 2019 y Fz(4.3)135 b(Die)46 b(C++-Klassen)l
(bibliothek)h(LiDIA)390 2222 y Fw(In)23 b(diesem)g(Absc)m(hnitt)h(soll)
e(no)s(c)m(h)i(ein)f(Asp)s(ekt)h(angespro)s(c)m(hen)g(w)m(erden,)g(der)
f(die)g(V)-8 b(erw)m(en-)390 2335 y(dung)32 b(v)m(on)g(JA)-10
b(V)g(A)33 b(als)f(Programmiersprac)m(he)g(b)s(eein)m(tr)2326
2339 y(\177)2326 2335 y(ac)m(h)m(tigt.)i(Bei)e(An)m(w)m(endungen,)g(in)
390 2447 y(denen)f(die)f(E\016zienz)h(eine)g(gro\031e)i(Rolle)e
(spielt,)f(sind)g(andere)h(masc)m(hinenn)3055 2451 y(\177)3055
2447 y(ahere)g(Spra-)390 2560 y(c)m(hen)i(b)s(esser)f(geeignet.)j(Das)f
(ist)e(auc)m(h)h(der)g(Grund,)f(w)m(arum)g(in)g(dem)g(Pro)m(vider,)h
(der)f(in)390 2673 y(dieser)d(Arb)s(eit)h(en)m(t)m(wic)m(k)m(elt)h
(wird,)e(f)1627 2677 y(\177)1624 2673 y(ur)g(rec)m(henin)m(tensiv)m(e)h
(Metho)s(den)h(auf)f(die)f(Klassen)m(bi-)390 2786 y(bliothek)23
b Fu(LiDIA)h Fw(zur)1146 2790 y(\177)1143 2786 y(uc)m(kgreift.)g(Man)h
(gibt)f(damit)f(ab)s(er)h(die)g(Plattform)m(unabh)3153
2790 y(\177)3153 2786 y(angigk)m(eit)390 2899 y(v)m(on)31
b(JA)-10 b(V)g(A)30 b(auf.)531 3012 y(LiDIA)c(ist)g(eine)f(in)g(der)h
(Programmiersprac)m(he)g(C++)f(am)i(F)-8 b(ac)m(h)m(b)s(ereic)m(h)27
b(Informatik)390 3125 y(der)38 b Ft(Technischen)k(Universit)1616
3121 y(\177)1613 3125 y(at)g(D)m(armst)-6 b(adt)38 b
Fw(en)m(t)m(wic)m(k)m(elte)j(Klassen)m(bibliothek.)390
3238 y(Sie)31 b(stellt)h(v)m(ersc)m(hiedene)g(Algorithmen)f(aus)h(dem)g
(Bereic)m(h)h(der)e(algorithmisc)m(hen)g(Zah-)390 3351
y(len)m(theorie)f(zur)g(V)-8 b(erf)1131 3355 y(\177)1128
3351 y(ugung.)531 3464 y(Es)35 b(gibt)g(b)s(ei)e(dem)i(Pro)m(vider)f
(zw)m(ei)i(Stellen,)e(an)h(denen)f(LiDIA)h(b)s(en)m(utzt)g(wird.)e(Bei)
390 3577 y(der)40 b(Multiplik)-5 b(ation)37 b(eines)j(Kurv)m(enpunktes)
f(mit)h(gro\031en)i(Zahlen)d(ist)h(eine)g(e\016zien)m(te)390
3689 y(Implemen)m(tierung)f(sehr)h(wic)m(h)m(tig.)h(Die)g(Generierung)f
(v)m(on)i(kryptographisc)m(h)d(stark)m(en)390 3802 y(Kurv)m(en)26
b(\(siehe)g(hierzu)f(Kapitel)g(2.3\))j(ist)e(in)g(LiDIA)g(sc)m(hon)g
(implemen)m(tiert)f(w)m(orden,)h(so-)390 3915 y(da\031)i(sic)m(h)f
(hier)f(ein)h(Zugri\013)f(darauf)h(angeb)s(oten)h(hat.)g(Realisiert)f
(wurde)f(die)h(An)m(bindung)390 4028 y(an)j(b)s(estimm)m(te)g
(LiDIA-Klassen)f(mittels)h(des)g Fu(JA)-9 b(V)g(A)30
b(Native)j(Interfac)-5 b(e)33 b(\(JNI\))p Fw(.)531 4141
y(In)41 b(LiDIA)h(gibt)f(es)h(die)f(Klasse)h Ff(EC)p
1823 4141 29 4 v 33 w(domain)p 2144 4141 V 33 w(parameter)p
2609 4141 V 32 w(P1363)f Fw(\(eine)g(Besc)m(hrei-)390
4254 y(bung)63 b(\014ndet)h(man)g(in)f(dem)h(Man)m(ual)g([LiD99)q(]\).)
h(Ihre)f(Hauptfunktionalit)3271 4258 y(\177)3271 4254
y(at)f(ist)390 4367 y(die)g(Generierung)g(v)m(on)h(elliptisc)m(hen)d
(Kurv)m(en,)j(die)f(f)2425 4371 y(\177)2422 4367 y(ur)f(die)h
(Kryptographie)g(ge-)390 4480 y(eignet)d(sind,)d(w)m(as)j(in)e(der)h
(Metho)s(de)g Ff(generate)p 2255 4480 V 33 w(parameters)d
Fw(erfolgt.)k(Um)f(n)m(un)390 4593 y(auf)69 b(diese)g(F)-8
b(unktionalit)1335 4597 y(\177)1335 4593 y(at)68 b(v)m(on)i(der)f(JA)
-10 b(V)g(A-Seite)70 b(aus)f(zugreifen)f(zu)h(k)3247
4597 y(\177)3247 4593 y(onnen,)390 4706 y(wurde)56 b(mit)h
Ff(LECDomainParametersP136)o(3)51 b Fw(eine)57 b(sogenann)m(te)i
Fu(Spie)-5 b(gelklasse)65 b Fw(en)m(t-)390 4819 y(wic)m(k)m(elt.)60
b(Die)g(b)s(eiden)d(T)-8 b(eile)59 b(dieser)g(Klasse)g(sind)e(auf)j(zw)
m(ei)f(Dateien)i(aufgeteilt.)390 4932 y Ff(LECDomainParametersP1363)o
(.jav)o(a)50 b Fw(en)m(th)2004 4936 y(\177)2004 4932
y(alt)56 b(die)g(De\014nition)e(der)i(JA)-10 b(V)g(A-Klasse.)390
5044 y(Dort)36 b(wird)d(u.a.)j(eine)e(Metho)s(de)i Ff
(generateParameters)30 b Fw(als)35 b Fu(native)42 b Fw(deklariert.)34
b(Dies)390 5157 y(b)s(edeutet,)54 b(da\031)h(die)f(Implemen)m(tierung)e
(dieser)h(Metho)s(de)i(in)e(einer)g(anderen)h(Pro-)390
5270 y(grammiersprac)m(he)28 b(erfolgt.)i(In)e Ff
(LECDomainParametersP1363)o(.cpp)22 b Fw(sind)27 b(alle)h(nativ)m(e-)
390 5383 y(Metho)s(den)42 b(dieser)f(Klasse)g(in)g(C++)g(implemen)m
(tiert.)f(Dort)j(wird)d(dann)h(ein)g(LiDIA-)390 5496
y(Ob)5 b(jekt)23 b(erzeugt,)i(das)f(die)f(P)m(arameter)i(generiert.)f
(Auf)f(die)g(gleic)m(he)g(W)-8 b(eise)25 b(wurden)d(auc)m(h)390
5609 y(die)28 b(Zugri\013smetho)s(den)f(realisiert,)i(so)s(da\031)g
(das)g(LiDIA-Ob)5 b(jekt)29 b(sc)m(hlie\031lic)m(h)f(wieder)g(aus)p
eop
%%Page: 23 24
23 23 bop 270 82 a Fw(4.4.)62 b(Der)31 b(ElGamal-Pro)m(vider)e(mit)h
(elliptisc)m(hen)d(Kurv)m(en)967 b(23)270 415 y(dem)28
b(Sp)s(eic)m(her)f(en)m(tfern)m(t)j(w)m(erden)e(k)-5
b(ann)28 b(und)f(die)h(P)m(arameter)i(in)d(der)h(JA)-10
b(V)g(A-Klasse)28 b(zur)270 528 y(V)-8 b(erf)437 532
y(\177)434 528 y(ugung)30 b(stehen.)h(Zu)e(w)m(eiteren)h(Details)h
(wird)d(auf)i(Anhang)g(C)g(v)m(erwiesen.)411 645 y(Das)e(P)m(ak)m(et)g
Ff(cdc.lidia)d Fw(en)m(th)1472 649 y(\177)1472 645 y(alt)i(die)f(ob)s
(engenann)m(te)h(Klasse.)f(Zus)2768 649 y(\177)2768 645
y(atzlic)m(h)g(b)s(e\014nden)270 758 y(sic)m(h)f(darin)e(auc)m(h)j(no)s
(c)m(h)f(andere)h(Hilfsklassen,)d(die)h(f)2074 762 y(\177)2071
758 y(ur)h(die)f(An)m(bindung)f(an)i(LiDIA)g(n)3239 762
y(\177)3239 758 y(otig)270 871 y(w)m(aren.)40 b(F)632
875 y(\177)629 871 y(ur)f(deren)g(F)-8 b(unktionalit)1502
875 y(\177)1502 871 y(at)39 b(wird)f(auf)h(den)g(Quellco)s(de)f(direkt)
h(bzw.)g(die)g(Di-)270 984 y(plomarb)s(eiten)24 b(der)i(en)m(tsprec)m
(henden)g(Autoren)g(v)m(erwiesen.)g(Als)g(Beispiel)e(seien)i(hier)f
(die)270 1097 y(Klassen)30 b Ff(LECCurveGFP)e Fw(und)h
Ff(LECPointGFP)f Fw(v)m(on)j Ft(Bir)n(git)36 b(Henhapl)29
b Fw(genann)m(t)i(\(siehe)270 1210 y(auc)m(h)g([Hen99)q(]\).)270
1521 y Fz(4.4)135 b(Der)46 b(ElGamal-Pro)l(vider)g(mit)g(elliptisc)l
(hen)h(Kurv)l(en)270 1733 y Fw(Es)25 b(sei)g(no)s(c)m(h)g(einmal)f
(kurz)h(erw)1362 1737 y(\177)1362 1733 y(ahn)m(t,)g(da\031)h(sic)m(h)f
(die)g(genaue)h(Erl)2497 1737 y(\177)2497 1733 y(auterung)e(der)g
(einzelnen)270 1845 y(Klassen)30 b(und)g(ihrer)f(Metho)s(den)i(im)f
(Quellco)s(de)g(selbst)g(b)s(e\014ndet.)g(Dort)i(wurde)e(f)3144
1849 y(\177)3141 1845 y(ur)g(das)270 1958 y(T)-8 b(o)s(ol)36
b Fu(javado)-5 b(c)43 b Fw(eine)35 b(umfassende)g(Dokumen)m(tation)i
(erstellt.)f(Diese)h(sollte)e(zusammen)270 2071 y(mit)43
b(den)h(Kommen)m(tarzeilen)f(innerhalb)e(der)j(einzelnen)f(Metho)s(den)
h(als)f(Erg)3107 2075 y(\177)3107 2071 y(anzung)270 2184
y(dieses)30 b(Absc)m(hnitts)f(f)1015 2188 y(\177)1012
2184 y(ur)g(eine)h(v)m(ollst)1528 2188 y(\177)1528 2184
y(andige)g(Erkl)1988 2188 y(\177)1988 2184 y(arung)e(des)i(Pro)m
(viders)g(gen)2947 2188 y(\177)2944 2184 y(ugen.)270
2453 y Fe(4.4.1)112 b(Klassendiagramme)270 2633 y Fw(Der)36
b(hier)f(v)m(orgestellte)i(Pro)m(vider)e(b)s(esteh)m(t)h(aus)g
(mehreren)f(Klassen.Deren)h(Bezieh)m(un-)270 2746 y(gen)e(sollen)e(im)h
(folgenden)f(in)h(Diagrammen)g(dargestellt)h(w)m(erden.)f(Dab)s(ei)g
(wurden)f(die)270 2858 y(Klassen)d(auf)h(mehrere)h(T)-8
b(eildiagramme)29 b(aufgeteilt,)h(w)m(as)h(nic)m(h)m(t)f(hei\031en)g
(soll,)g(da\031)h(diese)270 2971 y(unabh)519 2975 y(\177)519
2971 y(angig)e(v)m(oneinander)g(sind.)327 3809 y Fd(\033)p
327 3926 7 4 v 327 4046 a(\032)1744 3809 y(\030)p 1744
3926 V 1744 4046 a(\031)p 446 4046 1185 7 v 446 3809
V 421 3946 a Fw(ja)m(v)-5 b(a.securit)m(y)d(.KeyP)m(airGenerator)p
1747 3927 237 7 v 1977 3806 250 7 v 1977 4042 7 237 v
2011 3955 a(JCA)p 2220 4042 V 1977 4049 250 7 v 1972
3801 259 7 v 1972 4047 7 246 v 2224 4047 V 1972 4054
259 7 v 1967 3797 269 7 v 1967 4052 7 256 v 2229 4052
V 1967 4059 269 7 v 2098 3806 7 473 v 1815 3101 a Fd(\033)p
1815 3217 7 4 v 1815 3337 a(\032)3327 3101 y(\030)p 3327
3217 V 3327 3337 a(\031)p 1934 3337 1280 7 v 1934 3101
V 1893 3238 a Fw(ja)m(v)j(a.securit)m(y)d(.KeyP)m(airGeneratorSpi)p
2571 4515 7 1182 v 2574 3417 a Fc(6)2598 3942 y Ff(implements)1817
4516 y Fb(\033)p 1817 4635 4 4 v 1817 4753 a(\032)3328
4516 y(\030)p 3328 4635 V 3328 4753 a(\031)p 1934 4753
1280 4 v 1934 4516 V 1876 4656 a Fw(ECElGamalGFPKeyP)m(airGenerator)852
5046 y(Abbildung)27 b(4.1:)32 b Ff(ECElGamalGFPKeyPairGenera)o(tor)411
5270 y Fw(An)47 b(dieser)g(Stelle)f(soll)h(auf)g(die)g(einzelnen)f
(Gestaltungselemen)m(te)i(in)f(den)g(Dia-)270 5383 y(grammen)d
(eingegangen)h(w)m(erden.)e(Die)h(abgerundeten)g(K)2386
5387 y(\177)2386 5383 y(astc)m(hen)g(stellen)f(die)g(Klas-)270
5496 y(sen)f(der)h(JA)-10 b(V)g(A)42 b(Cryptograph)m(y)g(Arc)m
(hitecture)i(wie)e(auc)m(h)h(die)e(des)i(implemen)m(tierten)270
5609 y(Pro)m(viders)h(dar.)g(V)-8 b(ererbungsb)s(ezieh)m(ungen)43
b(w)m(erden)h(durc)m(h)f(Pfeile)h(sym)m(b)s(olisiert.)e(Da)p
eop
%%Page: 24 25
24 24 bop 390 82 a Fw(24)1313 b(KAPITEL)30 b(4.)61 b(DIE)30
b(IMPLEMENTIER)m(UNG)390 415 y(es)43 b(in)e(JA)-10 b(V)g(A)43
b(zw)m(ei)g(un)m(tersc)m(hiedlic)m(he)e(Arten)i(da)m(v)m(on)g(gibt,)g
(stehen)f(die)g(en)m(tsprec)m(hen-)390 528 y(den)29 b(Sc)m(hl)729
532 y(\177)726 528 y(usselw)981 532 y(\177)981 528 y(orter)f
Ff(extends)g Fw(bzw.)h Ff(implements)e Fw(mit)i(dab)s(ei.)f(In)h(den)g
(Abbildungen)390 641 y(4.1)37 b(und)e(4.2)i(\014ndet)f(sic)m(h)g(jew)m
(eils)f(ein)g(K)1849 645 y(\177)1849 641 y(astc)m(hen,)i(das)f(div)m
(erse)g(Klassen)f(der)h(JCA)g(re-)390 754 y(pr)477 758
y(\177)477 754 y(asen)m(tieren)28 b(soll.)g(Die)h(genaue)h(Aufrufk)-5
b(ask)g(ade)28 b(b)s(ei)f(Anforderung)h(einer)g(b)s(estimm)m(ten)390
867 y(Implemen)m(tierung)f(darzustellen,)h(w)1690 871
y(\177)1687 867 y(urde)g(die)2050 848 y(\177)2038 867
y(Ub)s(ersic)m(h)m(tlic)m(hk)m(eit)g(der)h(Diagramme)h(n)m(ur)390
980 y(unn)543 984 y(\177)543 980 y(otig)i(b)s(ein)m(tr)965
984 y(\177)965 980 y(ac)m(h)m(tigen.)i(In)f(Kapitel)f(4.4.2)k(wird)31
b(sie)i(ab)s(er)g(kurz)g(angespro)s(c)m(hen)h(w)m(er-)390
1093 y(den.)707 1957 y Fd(\033)p 707 2074 7 4 v 707 2194
a(\032)1651 1957 y(\030)p 1651 2074 V 1651 2194 a(\031)p
826 2194 713 7 v 826 1957 V 792 2095 a Fw(ja)m(v)-5 b(ax.crypto.Cipher)
p 1655 2076 237 7 v 1884 1954 250 7 v 1884 2190 7 237
v 1919 2103 a(JCA)p 2127 2190 V 1884 2197 250 7 v 1880
1949 259 7 v 1880 2195 7 246 v 2132 2195 V 1880 2202
259 7 v 1875 1945 269 7 v 1875 2200 7 256 v 2137 2200
V 1875 2207 269 7 v 2006 1954 7 473 v 1770 1249 a Fd(\033)p
1770 1365 7 4 v 1770 1485 a(\032)2951 1249 y(\030)p 2951
1365 V 2951 1485 a(\031)p 1889 1485 949 7 v 1889 1249
V 1910 1386 a Fw(ja)m(v)g(ax.crypto.CipherSpi)p 2360
2663 7 1182 v 2363 1565 a Fc(6)2387 2090 y Ff(implements)1770
2666 y Fd(\033)p 1770 2783 7 4 v 1770 2902 a(\032)2951
2666 y(\030)p 2951 2783 V 2951 2902 a(\031)p 1889 2902
949 7 v 1889 2666 V 1894 2804 a Fw(ECElGamalGFPCipher)1211
3195 y(Abbildung)27 b(4.2:)32 b Ff(ECElGamalGFPCipher)531
3481 y Fw(Abbildung)19 b(4.3)k(zeigt)f(die)f(Klasse)h
Ff(LECDomainParametersP136)o(3)p Fw(,)16 b(die)21 b(die)g(Domain)390
3593 y(P)m(arameter)i(f)856 3597 y(\177)853 3593 y(ur)e(elliptisc)m(he)
f(Kurv)m(en)h(b)s(einhaltet)f(und)h(f)2318 3597 y(\177)2315
3593 y(ur)f(die)i(Generierung)e(der)i(Kurv)m(en)390 3706
y(zust)552 3710 y(\177)552 3706 y(andig)30 b(ist.)1002
3880 y Fd(\033)p 1002 3997 7 4 v 1002 4116 a(\032)2892
3880 y(\030)p 2892 3997 V 2892 4116 a(\031)p 1121 4116
1658 7 v 1121 3880 V 1095 4018 a Fw(ja)m(v)-5 b(a.securit)m(y)d(.sp)s
(ec.AlgorithmP)m(arameterSp)s(ec)p 1947 4586 7 473 v
1950 4196 a Fc(6)1974 4367 y Ff(implements)1238 4589
y Fd(\033)p 1238 4706 7 4 v 1238 4825 a(\032)2655 4589
y(\030)p 2655 4706 V 2655 4825 a(\031)p 1358 4825 1185
7 v 1358 4589 V 1355 4735 a Fw(LECDomainP)m(arametersP1363)1068
5117 y(Abbildung)27 b(4.3:)32 b Ff(LECDomainParametersP136)o(3)531
5383 y Fw(Ein)21 b(gutes)i(Beispiel)e(f)1282 5387 y(\177)1279
5383 y(ur)h(die)g(durc)m(hdac)m(h)m(te)h(Konzeption)f(der)g(JCA)g(sieh)
m(t)g(man)h(in)e(Ab-)390 5496 y(bildung)h(4.4.)27 b(Die)e(Klassen)f
(des)h(Pro)m(viders)g(implemen)m(tieren,)e(als)i(eine)g(Sp)s
(ezialisierung,)390 5609 y(die)k(durc)m(h)h(die)f(JCA)h(v)m(orgegeb)s
(ene)i(Sc)m(hnittstelle.)p eop
%%Page: 25 26
25 25 bop 270 82 a Fw(4.4.)62 b(Der)31 b(ElGamal-Pro)m(vider)e(mit)h
(elliptisc)m(hen)d(Kurv)m(en)967 b(25)1354 327 y Fd(\033)p
1354 444 7 4 v 1354 563 a(\032)2299 327 y(\030)p 2299
444 V 2299 563 a(\031)p 1474 563 713 7 v 1474 327 V 1495
464 a Fw(ja)m(v)-5 b(a.securit)m(y)d(.Key)885 1032 y
Fc(\021)968 977 y(\021)1051 922 y(\021)1134 866 y(\021)1217
811 y(\021)1300 756 y(\021)1383 700 y(\021)1466 645 y(\021)1511
615 y(\021)-83 b(3)1287 824 y Ff(extends)p 1827 1505
7 945 v 1830 643 a Fc(6)1854 932 y Ff(implements)2692
1032 y Fc(Q)2609 977 y(Q)2526 922 y(Q)2443 866 y(Q)2360
811 y(Q)2277 756 y(Q)2194 700 y(Q)2111 645 y(Q)2066 615
y(Q)g(k)2491 824 y Ff(extends)409 1036 y Fd(\033)p 409
1152 7 4 v 409 1272 a(\032)1590 1036 y(\030)p 1590 1152
V 1590 1272 a(\031)p 529 1272 949 7 v 529 1036 V 525
1173 a Fw(ja)m(v)-5 b(a.securit)m(y)d(.Priv)j(ateKey)2063
1036 y Fd(\033)p 2063 1152 7 4 v 2063 1272 a(\032)3244
1036 y(\030)p 3244 1152 V 3244 1272 a(\031)p 2182 1272
949 7 v 2182 1036 V 2195 1173 a Fw(ja)m(v)g(a.securit)m(y)d(.PublicKey)
1354 1508 y Fd(\033)p 1354 1625 7 4 v 1354 1744 a(\032)2299
1508 y(\030)p 2299 1625 V 2299 1744 a(\031)p 1474 1744
713 7 v 1474 1508 V 1415 1646 a Fw(ECElGamalGFPKey)p
882 2214 7 945 v 885 1352 a Fc(6)909 1877 y Ff(implements)p
1531 2214 7 473 v 1535 1824 a Fc(6)1558 2005 y Ff(extends)p
2122 2214 V 2125 1824 a Fc(6)2149 2005 y Ff(extends)p
2772 2214 7 945 v 2775 1352 a Fc(6)2798 1877 y Ff(implements)527
2217 y Fd(\033)p 527 2334 7 4 v 527 2453 a(\032)1709
2217 y(\030)p 1709 2334 V 1709 2453 a(\031)p 647 2453
949 7 v 647 2217 V 563 2354 a Fw(ECElGamalGFPPriv)j(ateKey)1945
2217 y Fd(\033)p 1945 2334 7 4 v 1945 2453 a(\032)3126
2217 y(\030)p 3126 2334 V 3126 2453 a(\031)p 2064 2453
949 7 v 2064 2217 V 1997 2354 a Fw(ECElGamalGFPPublicKey)1163
2745 y(Abbildung)27 b(4.4:)k Ff(ECElGamalGFPKey)270 3037
y Fe(4.4.2)112 b(Besc)m(hreibung)38 b(der)f(Programmsc)m(hnittstelle)
270 3223 y Fw(In)i(diesem)g(Absc)m(hnitt)g(soll)g(der)g(Pro)m(vider)g
(v)m(orgestellt)h(w)m(erden.)g(Den)g(Hauptteil)f(bil-)270
3336 y(det)c(dab)s(ei)d(die)i(Sc)m(hnittstelle)f(zum)h(Ben)m(utzer,)i
(w)m(oran)e(sic)m(h)g(einige)f(Bemerkungen)h(zur)270
3449 y(in)m(ternen)g(F)-8 b(unktionsw)m(eise)33 b(ansc)m(hlie\031en.)i
(Die)f(folgenden)g(Erl)2475 3453 y(\177)2475 3449 y(auterungen)f(sind)g
(dab)s(ei,)270 3562 y(so)m(w)m(eit)e(sie)f(die)g(JCA)f(allgemein)g(b)s
(etre\013en,)i(an)f([Kn)m(u98])h(angelehn)m(t.)411 3682
y(Die)26 b(Klasse)e Ff(cdc.ec.Provider)d Fw(v)m(erw)m(altet)27
b(die)e(b)s(eiden)e(Implemen)m(tierungen,)g(d.)15 b(h.)270
3795 y Ff(ECElGamalGFPKeyPairGener)o(ator)25 b Fw(und)30
b Ff(ECElGamalGFPCipher)p Fw(.)d(Diese)k(w)m(erden)h(je-)270
3908 y(w)m(eils)c(mit)h(dem)g(K)925 3912 y(\177)922 3908
y(urzel)f("ECElGamalGFP\\)i(iden)m(ti\014ziert.)e(Der)i(eigen)m(tlic)m
(hen)f(Haupt-)270 4021 y(klasse)38 b(der)f(JCA,)g Ff
(java.security.Security)p Fw(,)32 b(die)37 b(die)g(V)-8
b(erbindung)35 b(zwisc)m(hen)j(den)270 4134 y(Konzeptklassen)49
b(und)f(den)h(Implemen)m(tierungen)e(herstellt,)i(m)m(u\031)h(n)m(un)e
(unser)h(Pro-)270 4247 y(vider)44 b(mit)g(der)g(Metho)s(de)h
Ff(addProvider)1833 4251 y Fw(\177)1830 4247 y(ub)s(ergeb)s(en)e(w)m
(erden.)i(Ansc)m(hlie\031end)f(k)-5 b(ann)270 4360 y(mit)26
b(den)g Ff(getInstance)p Fw(-Metho)s(den)e(v)m(on)j Ff
(java.security.KeyPairGen)o(era)o(tor)20 b Fw(bzw.)270
4473 y Ff(javax.crypto.Cipher)30 b Fw(un)m(ter)35 b(Angab)s(e)g(des)f
(Kurznamens)g(ein)g(Ob)5 b(jekt)35 b(der)f(jew)m(eili-)270
4585 y(gen)e(Klasse)e(erzeugt)j(w)m(erden,)e(mit)f(denen)h(man)f
(direkt)h(auf)g(unsere)f(Implemen)m(tierung)270 4698
y(zugreifen)e(k)-5 b(ann.)28 b(An)g(dieser)g(Stelle)g(ist)g(es)h(auc)m
(h)f(m)2066 4702 y(\177)2066 4698 y(oglic)m(h,)h(un)m(ter)f(anderen)g
(Kurznamen)270 4811 y(die)36 b(Implemen)m(tierungen)e(w)m(eiterer)j
(Pro)m(vider)e(anzusprec)m(hen,)i(sofern)f(diese)g(auc)m(h)g(der)270
4924 y(Klasse)30 b Ff(java.security.Security)24 b Fw(b)s(ek)-5
b(ann)m(t)30 b(sind.)411 5044 y(Nac)m(h)46 b(au\031en)f(hin)f(deutet)h
(nic)m(h)m(ts)g(auf)g(die)f(Aufrufk)-5 b(ask)g(ade)44
b(hin,)f(die)i(durc)m(h)f(den)270 5157 y(Aufruf)38 b(einer)g
Ff(getInstance)p Fw(-Metho)s(de)f(ausgel)1987 5161 y(\177)1987
5157 y(ost)j(wird.)e(In)m(tern)g(wird)g(durc)m(h)g(diesen)270
5270 y(Befehl)h(die)g(Klasse)g Ff(java.security.Security)34
b Fw(angespro)s(c)m(hen,)40 b(die)e(un)m(ter)i(den)f(ihr)270
5383 y(b)s(ek)-5 b(ann)m(ten)33 b(Pro)m(vidern)f(suc)m(h)m(t,)j(ob)e
(die)g(en)m(tsprec)m(hende)h(Implemen)m(tierung)e(v)m(orhanden)270
5496 y(ist.)27 b(Bei)f(Erfolg)h(erh)971 5500 y(\177)971
5496 y(alt)f(man)h(eine)f(Instanz)h(v)m(on)g(z.)16 b(B.)27
b Ff(javax.crypto.Cipher)22 b Fw(zur)3232 5500 y(\177)3229
5496 y(uc)m(k,)270 5609 y(w)m(elc)m(he)31 b(die)e(gew)858
5613 y(\177)855 5609 y(unsc)m(h)m(te)j(Implemen)m(tierung)c(b)s(en)m
(utzt.)p eop
%%Page: 26 27
26 26 bop 390 82 a Fw(26)1313 b(KAPITEL)30 b(4.)61 b(DIE)30
b(IMPLEMENTIER)m(UNG)542 396 y(\177)531 415 y(Ub)s(er)21
b(die)h(Sc)m(hnittstelle)f(v)m(on)h Ff(java.security.KeyPairGene)o
(rato)o(r)16 b Fw(m)m(u\031)23 b(n)m(un)e(un-)390 528
y(ser)27 b(Ob)5 b(jekt)26 b(initialisiert)d(w)m(erden.)k(Da)g(die)f
(Metho)s(de)h Ff(initialize)2789 532 y Fw(\177)2786 528
y(ub)s(erladen)e(ist,)h(gibt)390 641 y(es)g(im)e(w)m(esen)m(tlic)m(hen)
h(zw)m(ei)g(M)1413 645 y(\177)1413 641 y(oglic)m(hk)m(eiten.)h(Man)g(k)
-5 b(ann)25 b(als)f(Argumen)m(t)i(einen)e Ff(int)p Fw(-W)-8
b(ert)393 758 y(\177)390 754 y(ub)s(ergeb)s(en,)34 b(der)h(in)g(den)g
(meisten)g(F)1709 758 y(\177)1709 754 y(allen)f(als)i(Bitl)2225
758 y(\177)2225 754 y(ange)f(des)g(Sc)m(hl)2771 758 y(\177)2768
754 y(ussels)f(in)m(terpretiert)390 867 y(wird.)e(Denkbar)i(ist)f(ab)s
(er)g(auc)m(h,)i(sic)m(h)e(die)g(grundlegenden)f(P)m(arameter)j(f)3003
871 y(\177)3000 867 y(ur)e(den)g(Algo-)390 980 y(rithm)m(us)d(\(s.)i
(Kapitel)f(4.2.1\))j(sc)m(hon)e(v)m(orher)g(zu)g(erzeugen,)g(die)f
(dann)g(in)g(die)g(Sc)m(hl)3296 984 y(\177)3293 980 y(ussel-)390
1093 y(generierung)h(eingehen.)h(Das)g(funktioniert)e(jedo)s(c)m(h)i(n)
m(ur,)f(w)m(enn)h(die)f(Implemen)m(tierung)390 1205 y(dies)f(un)m
(terst)858 1209 y(\177)855 1205 y(utzt,)i(w)m(as)g(b)s(ei)e(unserem)g
(Pro)m(vider)h(der)f(F)-8 b(all)32 b(ist.)g(Durc)m(h)h(Aufruf)d(der)i
(Me-)390 1318 y(tho)s(de)39 b Ff(generateKeyPair)c Fw(erh)1536
1322 y(\177)1536 1318 y(alt)k(man)f(sc)m(hlie\031lic)m(h)g(als)h(R)2546
1322 y(\177)2543 1318 y(uc)m(kgab)s(ew)m(ert)h(ein)e(Ob)5
b(jekt)390 1431 y(der)30 b(Klasse)f Ff(java.security.KeyPair)p
Fw(,)c(w)m(elc)m(hes)30 b(lediglic)m(h)e(einen)h(Priv)-5
b(ate)30 b(und)f(einen)390 1544 y(Public)d(Key)j(en)m(th)1034
1548 y(\177)1034 1544 y(alt,)g(auf)f(w)m(elc)m(he)h(mit)f(den)g(Metho)s
(den)h Ff(getPrivate)c Fw(und)i Ff(getPublic)390 1657
y Fw(zugegri\013en)j(w)m(erden)g(k)-5 b(ann.)531 1770
y(Beim)48 b Ff(Cipher)p Fw(-Ob)5 b(jekt)47 b(sieh)m(t)h(die)f
(Initialisierung)2422 1774 y(\177)2422 1770 y(ahnlic)m(h)f(aus.)j(Eine)
e(wic)m(h)m(tige)390 1883 y(Angab)s(e)39 b(ist)g(der)g(Mo)s(dus,)g(d.)
15 b(h.)39 b(ob)g(v)m(er-)i(o)s(der)e(en)m(tsc)m(hl)2390
1887 y(\177)2387 1883 y(usselt)f(w)m(erden)h(soll.)g(Des)h(w)m(ei-)390
1996 y(teren)46 b(b)s(en)783 2000 y(\177)783 1996 y(otigt)g(man)g
(einen)f(Sc)m(hl)1654 2000 y(\177)1651 1996 y(ussel,)f(der)i(nat)2216
2000 y(\177)2213 1996 y(urlic)m(h)e(zum)i(Mo)s(dus)f(passen)h(m)m
(u\031.)390 2109 y(Soll)g(v)m(ersc)m(hl)858 2113 y(\177)855
2109 y(usselt)h(w)m(erden,)g(so)h(ist)f(ein)f(Public)g(Key)h(dieses)g
(V)-8 b(erfahrens,)47 b(also)h(ein)390 2222 y Ff(ECElGamalGFPPublicKey)
p Fw(-Ob)5 b(jekt)22 b(erforderlic)m(h.)j(Bei)i(der)g(En)m(tsc)m(hl)
2839 2226 y(\177)2836 2222 y(usselung)e(m)m(u\031)j(ein)390
2335 y(en)m(tsprec)m(hender)22 b(Priv)-5 b(ate)21 b(Key)1495
2339 y(\177)1493 2335 y(ub)s(ergeb)s(en)f(w)m(erden.)h(Aufgrund)f(der)h
(langen)h(Klassenna-)390 2447 y(men,)34 b(soll)f(b)s(ei)g(unseren)g
(Pro)m(viderklassen)f(der)i(P)m(ak)m(etpfad)h(w)m(eggelassen)h(w)m
(erden,)e(w)m(as)390 2560 y(jedo)s(c)m(h)42 b(durc)m(h)f(das)h(Pr)1226
2564 y(\177)1226 2560 y(a\014x)f("ECElGamalGFP\\)h(nic)m(h)m(t)g(zu)g
(V)-8 b(erw)m(ec)m(hslungen)42 b(f)3286 2564 y(\177)3283
2560 y(uhren)390 2673 y(wird.)25 b(Auc)m(h)i(hier)e(k)-5
b(ann)26 b(man)h(wieder)e(die)h(sp)s(ezi\014sc)m(hen)g(P)m(arameter)i
(zus)2928 2677 y(\177)2928 2673 y(atzlic)m(h)3217 2677
y(\177)3214 2673 y(ub)s(erge-)390 2786 y(b)s(en.)34 b(Sie)f(m)823
2790 y(\177)820 2786 y(ussen)h(ab)s(er)f(iden)m(tisc)m(h)h(mit)g(denen)
f(sein,)h(die)g(f)2491 2790 y(\177)2488 2786 y(ur)f(die)h(Sc)m(hl)2927
2790 y(\177)2924 2786 y(usselerzeugung)390 2899 y(v)m(erw)m(endet)d
(wurden.)531 3012 y(Es)24 b(wurde)g(sc)m(hon)g(gesagt,)j(da\031)e(die)f
(Erzeugung)g(des)g(Sc)m(hl)2534 3016 y(\177)2531 3012
y(ussels)e(nic)m(h)m(t)j(nac)m(h)m(v)m(ollzieh-)390 3125
y(bar)36 b(sein)f(darf,)h(um)g(die)g(Sic)m(herheit)f(nic)m(h)m(t)h(in)f
(F)-8 b(rage)39 b(zu)d(stellen.)g(Das)h(ist)f(ein)f(Grund,)390
3238 y(w)m(arum)24 b(es)i(m)863 3242 y(\177)863 3238
y(oglic)m(h)e(sein)g(sollte,)h(die)f(Domain)h(P)m(arameter)h(selbst)e
(zu)h(generieren.)g(Gera-)390 3351 y(de)33 b(b)s(ei)f(den)h
(Pseudozufallszahlengeneratoren)e(stellt)i(sic)m(h)g(immer)f(wieder)g
(die)g(F)-8 b(rage,)390 3464 y(wie)30 b(zuf)671 3468
y(\177)671 3464 y(allig)e(die)i(Ergebnisse)f(wirklic)m(h)e(sind.)531
3577 y(Jetzt)35 b(sind)c(wir)h(in)g(der)h(Lage,)i(das)e
Ff(Cipher)p Fw(-Ob)5 b(jekt)32 b(zu)i(b)s(en)m(utzen,)f(um)f(Nac)m
(hric)m(h-)390 3689 y(ten)g(zu)f(v)m(er-)h(bzw.)f(zu)g(en)m(tsc)m(hl)
1464 3693 y(\177)1461 3689 y(usseln.)f(Dazu)j(gibt)d(es)i(mehrere)f
(Alternativ)m(en.)g(Mit)h(den)390 3802 y Ff(update)p
Fw(-Metho)s(den)24 b(k)1179 3806 y(\177)1179 3802 y(onnen)g(b)s
(eliebig)f(viele)i(Daten)h(zur)f(Bearb)s(eitung)2909
3806 y(\177)2906 3802 y(ub)s(ergeb)s(en)f(w)m(er-)390
3915 y(den.)f(Alle)f(ganzen)h(Bl)1147 3919 y(\177)1147
3915 y(oc)m(k)m(e)i(w)m(erden)e(hierb)s(ei)d(auc)m(h)j(v)m(er-)h(bzw.)f
(en)m(tsc)m(hl)2799 3919 y(\177)2796 3915 y(usselt)f(und)g(zur)3347
3919 y(\177)3344 3915 y(uc)m(k-)390 4028 y(gegeb)s(en.)44
b(Durc)m(h)g(die)1233 4009 y(\177)1221 4028 y(Ub)s(erladung)d(dieser)i
(Metho)s(de)h(hat)f(der)g(Ben)m(utzer)i(dab)s(ei)d(die)390
4141 y(M)473 4145 y(\177)473 4141 y(oglic)m(hk)m(eit,)27
b(zwisc)m(hen)f(der)g(R)1497 4145 y(\177)1494 4141 y(uc)m(kgab)s(e)h
(als)f(Metho)s(denargumen)m(t)h(und)e(als)h(F)-8 b(unktions-)390
4254 y(w)m(ert)30 b(auszu)m(w)880 4258 y(\177)880 4254
y(ahlen.)e(Die)h Ff(doFinal)p Fw(-Metho)s(den)f(un)m(tersc)m(heiden)g
(sic)m(h)h(v)m(on)h(den)e Ff(update)p Fw(-)390 4367 y(Metho)s(den)41
b(insofern,)e(als)h(sie)g(die)g(V)-8 b(ersc)m(hl)1942
4371 y(\177)1939 4367 y(usselung)39 b(absc)m(hlie\031en,)i(d.)15
b(h.)40 b(den)g(letzten,)390 4480 y(ev)m(en)m(tuell)31
b(un)m(v)m(ollst)1084 4484 y(\177)1084 4480 y(andigen,)e(Blo)s(c)m(k)j
(auc)m(h)f(no)s(c)m(h)g(v)m(ersc)m(hl)2409 4484 y(\177)2406
4480 y(usseln.)f(Das)h(Ob)5 b(jekt)31 b(k)-5 b(ann)31
b(je-)390 4593 y(do)s(c)m(h)44 b(w)m(eiter)g(v)m(erw)m(endet)h(w)m
(erden.)e(Sogar)i(eine)e(erneute)i(Initialisierung)39
b(mit)44 b(neuen)390 4706 y(P)m(arametern)31 b(und)e(neuem)h(Mo)s(dus)f
(ist)h(m)1855 4710 y(\177)1855 4706 y(oglic)m(h.)531
4819 y(Absc)m(hlie\031end)77 b(w)m(ollen)h(wir)f(uns)h(no)s(c)m(h)g
(der)g(Implemen)m(tierung)f(zu)m(w)m(enden.)390 4932
y(Um)71 b(einen)f(Pro)m(vider)h(zu)g(en)m(t)m(wic)m(k)m(eln,)h(ist)f
(es)g(erforderlic)m(h,)f(die)g(en)m(tsprec)m(hen-)390
5044 y(de)86 b(Klasse)g(zu)g(b)s(eerb)s(en)f(und)g(deren)g(abstrakte)j
(Metho)s(den)e(zu)g(rede\014nie-)390 5157 y(ren)73 b(bzw.)h(zu)g
(implemen)m(tieren.)e(In)h(unserem)g(F)-8 b(all)74 b(w)m(aren)g(das)g
(die)f(Klassen)390 5270 y Ff(java.security.KeyPairGen)o(erat)o(orSp)o
(i)41 b Fw(und)46 b Ff(javax.crypto.CipherSpi)p Fw(.)41
b(Zwi-)390 5383 y(sc)m(hen)65 b Ff(javax.crypto.CipherSpi)58
b Fw(und)64 b Ff(ECElGamalGFPCipher)59 b Fw(wurde)64
b(zus)3359 5387 y(\177)3359 5383 y(atz-)390 5496 y(lic)m(h)50
b(no)s(c)m(h)i(eine)f(Klasse)g Ff(ECElGamalGFPBlockCipher)45
b Fw(gesetzt,)55 b(die)50 b(sic)m(h)h(um)g(das)390 5609
y(Blo)s(c)m(khandling)h(k)1062 5613 y(\177)1059 5609
y(ummert.)i(Alle)f(anderen)g(Metho)s(den,)i(die)e(direkt)g(v)m(on)i
(dem)e(Al-)p eop
%%Page: 27 28
27 27 bop 270 82 a Fw(4.4.)62 b(Der)31 b(ElGamal-Pro)m(vider)e(mit)h
(elliptisc)m(hen)d(Kurv)m(en)967 b(27)270 415 y(gorithm)m(us)67
b(abhingen,)f(wurden)g(nic)m(h)m(t)h(implemen)m(tiert.)f(Der)i(Co)s(de)
f(der)g(Klasse)270 528 y Ff(ECElGamalGFPBlockCipher)24
b Fw(en)m(tstamm)m(t)32 b(haupts)2122 532 y(\177)2122
528 y(ac)m(hlic)m(h)d([Kn)m(u98)q(].)411 641 y(In)23
b Ff(ECElGamalGFPCipher)c Fw(steh)m(t)25 b(sc)m(hlie\031lic)m(h)d(die)h
(Implemen)m(tierung)e(des)j(Algorith-)270 754 y(m)m(us)29
b(aus)g(Kapitel)g(3.2.)h(Die)g(eigen)m(tlic)m(he)f(Berec)m(hn)m(ung)h
(\014ndet)f(dab)s(ei)f(in)g(den)h(Metho)s(den)270 867
y Ff(encryptBlock)24 b Fw(und)h Ff(decryptBlock)f Fw(statt.)29
b(Ein)c(V)-8 b(orteil)27 b(dieses)g(Aufbaus)f(liegt)g(darin,)270
980 y(da\031)36 b(b)s(ei)e(einer)h(Mo)s(di\014zierung)f(des)h
(Algorithm)m(us,)g(als)g(Kernst)2539 984 y(\177)2536
980 y(uc)m(k)h(der)f(Implemen)m(tie-)270 1093 y(rung,)30
b(haupts)777 1097 y(\177)777 1093 y(ac)m(hlic)m(h)f(diese)h(b)s(eiden)e
(Metho)s(den)i(angepa\031t)i(w)m(erden)e(m)2800 1097
y(\177)2797 1093 y(ussen.)411 1205 y(Das)87 b(Konzept)f(der)g(JCA)f(f)
1577 1209 y(\177)1574 1205 y(uhrt)g(zu)h(relativ)g(vielen)e(Klassen,)i
(die)f(di-)270 1318 y(rekt)80 b(den)f(Sc)m(hl)898 1322
y(\177)895 1318 y(ussel)f(b)s(etre\013en.)i(Abbildung)d(4.4)k(mac)m(h)m
(te)g(das)f(sc)m(hon)g(deut-)270 1431 y(lic)m(h,)56 b(an)h(dieser)f
(Stelle)h(soll)e(no)s(c)m(h)i(eine)g(kurze)g(Erl)2246
1435 y(\177)2246 1431 y(auterung)f(folgen.)h(Durc)m(h)g(die)270
1544 y(JCA)63 b(sind)f(die)h(drei)g(Klassen)g(\(eigen)m(tlic)m(h)h
Ff(interfaces)p Fw(\))d Ff(java.security.Key)p Fw(,)270
1657 y Ff(java.security.PublicKey)24 b Fw(und)30 b Ff
(java.security.PrivateKe)o(y)25 b Fw(v)m(orgegeb)s(en.)32
b(Die)270 1770 y(erste)h(wird)e(durc)m(h)h Ff(ECElGamalGFPKey)d
Fw(implemen)m(tiert.)i(Da)m(v)m(on)j(wiederum)d(erb)s(en)h(die)270
1883 y(Klassen)38 b Ff(ECElGamalGFPPublicKey)32 b Fw(und)37
b Ff(ECElGamalGFPPrivateKey)p Fw(,)c(die)38 b(zus)3239
1887 y(\177)3239 1883 y(atz-)270 1996 y(lic)m(h)e(das)g(jew)m(eilige)g
Ff(interface)e Fw(der)i(JCA)h(implemen)m(tieren.)d(Durc)m(h)j(diese)f
(T)-8 b(renn)m(ung)270 2109 y(des)33 b(Aufgab)s(en)m(b)s(ereic)m(hs)e
(erh)1287 2113 y(\177)1287 2109 y(alt)i(man)f(somit)h(eine)f(Struktur,)
g(b)s(ei)f(der)h(sc)m(hon)h(die)f(Klas-)270 2222 y(sendiagramme)e
(deutlic)m(h)f(mac)m(hen,)i(w)m(elc)m(hen)f(Sinn)e(die)i(einzelnen)f
(Klassen)g(hab)s(en.)p eop
%%Page: 28 29
28 28 bop eop
%%Page: 29 30
29 29 bop 270 1039 a Fr(Kapitel)66 b(5)270 1455 y Fv(E\016zienz)270
1901 y Fw(Die)22 b(E\016zienz)f(ist)g(b)s(ei)f(kryptographisc)m(hen)h
(An)m(w)m(endungen)f(in)h(der)g(Regel)h(ein)e(sehr)h(wic)m(h-)270
2014 y(tiger)27 b(Gesic)m(h)m(tspunkt.)h(V)-8 b(on)28
b(JA)-10 b(V)g(A)27 b(darf)g(man)g(in)f(dieser)h(Hinsic)m(h)m(t)f
(allerdings)f(nic)m(h)m(t)j(zu-)270 2127 y(viel)21 b(erw)m(arten.)h(Es)
g(wurde)e(sc)m(hon)i(einmal)f(erw)1877 2131 y(\177)1877
2127 y(ahn)m(t,)h(da\031)g(dies)f(w)m(ohl)g(der)h(gr)2876
2131 y(\177)2876 2127 y(o\031te)h(Nac)m(h)m(teil)270
2240 y(v)m(on)38 b(JA)-10 b(V)g(A)37 b(sei.)h(Im)f(gro\031en)h(und)e
(ganzen)j(hat)e(sic)m(h)g(das)h(auc)m(h)g(b)s(ei)e(der)h(v)m
(orliegenden)270 2353 y(Implemen)m(tierung)31 b(gezeigt.)k(Neb)s(en)d
(einer)g(Au\015istung)f(der)i(Timings)e(soll)g(ferner)i(auc)m(h)270
2466 y(v)m(ersuc)m(h)m(t)e(w)m(erden,)f(die)g(Gr)1222
2470 y(\177)1219 2466 y(unde)f(hierf)1625 2470 y(\177)1622
2466 y(ur)f(herauszu\014nden.)411 2580 y(Der)43 b(Pro)m(vider)f(wurde)f
(f)1298 2584 y(\177)1295 2580 y(ur)g(die)h(Timings)e(auf)j(einer)e
(UltraSP)-8 b(AR)m(C-I)s(Ii)42 b(v)m(on)h Fg(SUN)270
2693 y Fw(mit)33 b(333)i(MHz)f(und)e(512)j(MByte)g(Hauptsp)s(eic)m(her)
d(ausgef)2345 2697 y(\177)2342 2693 y(uhrt.)i(Gemessen)g(wurde)e(die)
270 2806 y(v)m(erbrauc)m(h)m(te)38 b(CPU-Zeit,)e(w)m(ob)s(ei)g(f)1511
2810 y(\177)1508 2806 y(ur)g(die)g(V)-8 b(er-)37 b(und)e(En)m(tsc)m(hl)
2473 2810 y(\177)2470 2806 y(usselungen)g(der)h(Pro\014ler)270
2919 y(v)m(on)d Fg(JProb)s(e)g Fw(v)m(erw)m(endet)g(wurde.)e(Mit)i
(diesem)e(Programm)i(w)m(ar)f(es)h(auc)m(h)g(m)2987 2923
y(\177)2987 2919 y(oglic)m(h,)f(die)270 3031 y(Stellen)25
b(innerhalb)e(des)j(Pro)m(viders)f(herauszu\014nden,)f(die)h(die)h
(meiste)g(Zeit)g(in)e(Anspruc)m(h)270 3144 y(nahmen.)270
3437 y Fz(5.1)135 b(Kurv)l(engenerierung)953 3800 y Fw(T)-8
b(ab)s(elle)29 b(5.1:)j(Timings)c(der)i(Kurv)m(engenerierung)p
833 3929 1995 4 v 831 4041 4 113 v 883 4008 a(Sc)m(hl)1051
4012 y(\177)1048 4008 y(ussell)1263 4012 y(\177)1263
4008 y(ange)p 1490 4041 V 97 w(CPU-Zeit)p 1972 4041 V
99 w(CPU-Zeit)g(je)h(Kurv)m(e)p 2826 4041 V 833 4045
1995 4 v 833 4061 V 831 4174 4 113 v 1150 4140 a(120)h(Bit)p
1490 4174 V 254 w(85.5)g(s)p 1972 4174 V 626 w(22.5)g(s)p
2826 4174 V 833 4178 1995 4 v 831 4291 4 113 v 1150 4257
a(160)g(Bit)p 1490 4291 V 209 w(537.9)g(s)p 1972 4291
V 580 w(104.9)h(s)p 2826 4291 V 833 4294 1995 4 v 831
4407 4 113 v 1150 4373 a(200)f(Bit)p 1490 4407 V 163
w(1840.7)h(s)p 1972 4407 V 580 w(480.0)g(s)p 2826 4407
V 833 4410 1995 4 v 831 4523 4 113 v 1150 4489 a(240)f(Bit)p
1490 4523 V 163 w(3079.9)h(s)p 1972 4523 V 580 w(968.3)g(s)p
2826 4523 V 833 4526 1995 4 v 411 4817 a(Bei)25 b(diesen)f(Timings)f
(wurden)g(kryptographisc)m(h)h(stark)m(e)i(Kurv)m(en)e(erzeugt.)i(Es)f
(wur-)270 4930 y(den)35 b(dab)s(ei)g(solange)h(Kurv)m(en)f(generiert,)i
(bis)d(eine)i(die)2256 4934 y(\177)2254 4930 y(ub)s(erpr)2525
4934 y(\177)2522 4930 y(uften)d(Kriterien)h(erf)3262
4934 y(\177)3259 4930 y(ull-)270 5043 y(te.)42 b(Dadurc)m(h)f(k)-5
b(amen)40 b(sehr)h(un)m(tersc)m(hiedlic)m(he)e(W)-8 b(erte)42
b(f)2271 5047 y(\177)2268 5043 y(ur)e(die)g(einzelnen)g(Durc)m(hl)3227
5047 y(\177)3227 5043 y(aufe)270 5156 y(zustande,)g(w)m(as)f(nat)1001
5160 y(\177)998 5156 y(urlic)m(h)f(da)m(v)m(on)i(abhing,)e(wie)h(sc)m
(hnell)f(eine)h(gute)h(Kurv)m(e)f(gefunden)270 5269 y(wurde.)411
5383 y(Man)22 b(erk)m(enn)m(t)h(jedo)s(c)m(h)f(auc)m(h)g(den)g(Anstieg)
g(der)f(v)m(erbrauc)m(h)m(ten)i(Zeit)e(in)g(Abh)3032
5387 y(\177)3032 5383 y(angigk)m(eit)270 5496 y(der)41
b(Bitl)589 5500 y(\177)589 5496 y(ange)h(des)f(Sc)m(hl)1148
5500 y(\177)1145 5496 y(ussels.)f(Die)h(LiDIA-Klasse)g
Ff(EC)p 2291 5496 29 4 v 34 w(domain)p 2613 5496 V 33
w(parameters)p 3126 5496 V 31 w(P1363)270 5609 y Fw(f)301
5613 y(\177)298 5609 y(uhrt)24 b(extrem)h(viele)f(Berec)m(hn)m(ungen)i
(aus,)f(um)f(eine)h(kryptographisc)m(h)f(geeignete)i(Kurv)m(e)1785
5858 y(29)p eop
%%Page: 30 31
30 30 bop 390 82 a Fw(30)1963 b(KAPITEL)29 b(5.)62 b(EFFIZIENZ)390
415 y(zu)21 b(\014nden.)f(Die)i(Kurv)m(e,)f(die)g(dann)f(sp)1680
419 y(\177)1680 415 y(ater)i(f)1889 419 y(\177)1886 415
y(ur)e(die)h(V)-8 b(ersc)m(hl)2420 419 y(\177)2417 415
y(usselung)19 b(b)s(en)m(utzt)j(wird,)e(k)-5 b(ann)390
528 y(jedo)s(c)m(h)34 b(v)m(orb)s(erec)m(hnet)h(w)m(erden,)f(so)h
(da\031)g(sic)m(h)f(der)f(hohe)i(Zeitv)m(erbrauc)m(h)e(nic)m(h)m(t)i
(auf)f(die)390 641 y(E\016zienz)c(der)g(V)-8 b(ersc)m(hl)1201
645 y(\177)1198 641 y(usselung)28 b(auswirkt.)531 754
y(Zur)k(Zeit)h(wird)f(eine)h(Bitl)1448 758 y(\177)1448
754 y(ange)g(des)h(Sc)m(hl)1991 758 y(\177)1988 754 y(ussels)d(v)m(on)j
(200)h(empfohlen,)d(um)h(eine)g(re-)390 867 y(lativ)k(hohe)g(Sic)m
(herheit)f(zu)i(erhalten.)f(Diese)h(Zahl)2238 871 y(\177)2238
867 y(andert)f(sic)m(h)g(jedo)s(c)m(h)h(parallel)d(zum)390
980 y(tec)m(hnisc)m(hen)g(F)-8 b(ortsc)m(hritt)36 b(in)e(der)h
(Computerindustrie.)d(Auc)m(h)j(die)f(En)m(tdec)m(kung)i(eines)390
1093 y(e\016zien)m(teren)28 b(Algorithm)m(us)f(zur)g(Berec)m(hn)m(ung)h
(v)m(on)h(Diskreten)e(Logarithmen)h(b)s(ei)e(ellip-)390
1205 y(tisc)m(hen)31 b(Kurv)m(en)g(k)1070 1209 y(\177)1070
1205 y(onn)m(te)h(dazu)g(f)1571 1209 y(\177)1568 1205
y(uhren,)e(da\031)i(obige)f(Empfehlung)e(k)m(eine)j(ausreic)m(hende)390
1318 y(Sic)m(herheit)d(mehr)h(bietet.)390 1604 y Fz(5.2)135
b(V)-11 b(ersc)l(hl)1128 1610 y(\177)1124 1604 y(usselung)390
1807 y Fw(In)25 b(den)g(folgenden)g(T)-8 b(ab)s(ellen)24
b(sind)f(der)j(Zeitv)m(erbrauc)m(h)f(und)f(die)g(daraus)h
(resultierenden)390 1920 y(V)-8 b(er-)26 b(bzw.)f(En)m(tsc)m(hl)1087
1924 y(\177)1084 1920 y(usselungsraten)e(dargestellt.)i(Es)g(wurde)f
(dab)s(ei)g(eine)g(Datei)i(v)m(erw)m(en-)390 2033 y(det,)32
b(die)e(eine)h(Gr)1015 2037 y(\177)1015 2033 y(o\031e)i(v)m(on)f(et)m
(w)m(a)h(4)f(kByte)g(hatte.)h(Die)e(W)-8 b(erte)33 b(wurden)d(auc)m(h)h
(hier)3333 2037 y(\177)3330 2033 y(ub)s(er)390 2145 y(die)g(Durc)m(hl)
808 2149 y(\177)808 2145 y(aufe)g(gemittelt,)i(um)e(aussagekr)1959
2149 y(\177)1959 2145 y(aftig)h(zu)g(sein.)f(T)-8 b(rotzdem)32
b(ist)f(der)h(Zeitv)m(er-)390 2258 y(brauc)m(h)g(v)m(erh)865
2262 y(\177)865 2258 y(altnism)1160 2262 y(\177)1160
2258 y(a\031ig)f(ho)s(c)m(h.)i(Es)f(soll)f(daher)h(auc)m(h)h(v)m(ersuc)
m(h)m(t)g(w)m(erden,)g(die)e(Gr)3321 2262 y(\177)3318
2258 y(unde)390 2371 y(hierf)574 2375 y(\177)571 2371
y(ur)d(anzugeb)s(en.)1139 2632 y(T)-8 b(ab)s(elle)30
b(5.2:)h(Timings)d(der)i(V)-8 b(ersc)m(hl)2429 2636 y(\177)2426
2632 y(usselung)p 923 2761 2054 4 v 921 2874 4 113 v
973 2840 a(Sc)m(hl)1141 2844 y(\177)1138 2840 y(ussell)1353
2844 y(\177)1353 2840 y(ange)p 1580 2874 V 98 w(CPU-Zeit)p
2062 2874 V 99 w(V)g(ersc)m(hl)2403 2844 y(\177)2400
2840 y(usselungsrate)p 2975 2874 V 923 2878 2054 4 v
923 2894 V 921 3007 4 113 v 1240 2973 a(120)32 b(Bit)p
1580 3007 V 254 w(18.1)g(s)p 2062 3007 V 424 w(1812.2)h(Bit/s)p
2975 3007 V 923 3010 2054 4 v 921 3123 4 113 v 1240 3089
a(160)f(Bit)p 1580 3123 V 254 w(23.6)g(s)p 2062 3123
V 424 w(1389.8)h(Bit/s)p 2975 3123 V 923 3127 2054 4
v 921 3240 4 113 v 1240 3206 a(200)f(Bit)p 1580 3240
V 254 w(29.0)g(s)p 2062 3240 V 424 w(1131.0)h(Bit/s)p
2975 3240 V 923 3243 2054 4 v 921 3356 4 113 v 1240 3322
a(240)f(Bit)p 1580 3356 V 254 w(36.2)g(s)p 2062 3356
V 469 w(906.1)h(Bit/s)p 2975 3356 V 923 3359 2054 4 v
1135 3800 a(T)-8 b(ab)s(elle)29 b(5.3:)j(Timings)c(der)i(En)m(tsc)m(hl)
2434 3804 y(\177)2431 3800 y(usselung)p 919 3929 2063
4 v 917 4042 4 113 v 969 4008 a(Sc)m(hl)1137 4012 y(\177)1134
4008 y(ussell)1349 4012 y(\177)1349 4008 y(ange)p 1576
4042 V 97 w(CPU-Zeit)p 2058 4042 V 100 w(En)m(tsc)m(hl)2408
4012 y(\177)2405 4008 y(usselungsrate)p 2979 4042 V 919
4045 2063 4 v 919 4061 V 917 4174 4 113 v 1236 4140 a(120)i(Bit)p
1576 4174 V 300 w(8.8)f(s)p 2058 4174 V 432 w(3727.3)i(Bit/s)p
2979 4174 V 919 4178 2063 4 v 917 4291 4 113 v 1236 4257
a(160)f(Bit)p 1576 4291 V 254 w(11.8)g(s)p 2058 4291
V 432 w(2779.7)h(Bit/s)p 2979 4291 V 919 4294 2063 4
v 917 4407 4 113 v 1236 4373 a(200)f(Bit)p 1576 4407
V 254 w(14.4)g(s)p 2058 4407 V 432 w(2277.8)h(Bit/s)p
2979 4407 V 919 4410 2063 4 v 917 4523 4 113 v 1236 4489
a(240)f(Bit)p 1576 4523 V 254 w(17.8)g(s)p 2058 4523
V 432 w(1842.7)h(Bit/s)p 2979 4523 V 919 4526 2063 4
v 531 4819 a(Ein)i(Asp)s(ekt)g(ist)h(dab)s(ei)e(die)h(V)-8
b(erw)m(endung)36 b(v)m(on)g(JA)-10 b(V)g(A)36 b(als)f
(Programmiersprac)m(he.)390 4932 y(Einige)22 b(ihrer)g(V)-8
b(orz)1057 4936 y(\177)1054 4932 y(uge,)25 b(wie)e(z.)16
b(B.)24 b(die)e(Sp)s(eic)m(herv)m(erw)m(altung,)h(ziehen)f(eine)h
(Beein)m(tr)3287 4936 y(\177)3287 4932 y(ac)m(h)m(ti-)390
5044 y(gung)34 b(der)g(E\016zienz)h(unmittelbar)d(nac)m(h)j(sic)m(h.)f
(In)g(Kapitel)g(6)h(folgt)f(eine)g(detailliertere)390
5157 y(Beurteilung)29 b(der)h(JCA.)531 5270 y(Innerhalb)41
b(des)h(Pro)m(viders)g(sind)g(haupts)2019 5274 y(\177)2019
5270 y(ac)m(hlic)m(h)f(drei)h(Befehle)h(f)2891 5274 y(\177)2888
5270 y(ur)f(den)h(Zeitv)m(er-)390 5383 y(brauc)m(h)22
b(v)m(eran)m(t)m(w)m(ortlic)m(h.)j(Zum)c(einen)h(ist)h(dies)f(die)g
(Erzeugung)g(der)h(Zufallszahl)d Fq(k)26 b Fw(\(siehe)390
5496 y(hierzu)k(De\014nition)h(9\))i(in)d(der)i(Metho)s(de)g
Ff(encryptBlock)c Fw(v)m(on)33 b Ff(ECElGamalGFPCipher)p
Fw(.)390 5609 y(Auf)k(der)f(anderen)h(Seite)g(b)s(en)1462
5613 y(\177)1462 5609 y(otigen)g(die)f(Punktm)m(ultiplik)-5
b(ationen)33 b(in)j Ff(encryptBlock)p eop
%%Page: 31 32
31 31 bop 270 82 a Fw(5.2.)62 b(V)-8 b(ersc)m(hl)761
86 y(\177)758 82 y(usselung)2205 b(31)270 415 y(bzw.)24
b Ff(decryptBlock)e Fw(erw)m(artungsgem)1673 419 y(\177)1673
415 y(a\031)k(viel)d(Zeit.)i(Den)g(prozen)m(tualen)f(An)m(teil)g(an)g
(der)270 528 y(Gesam)m(tzeit)h(zeigt)f(T)-8 b(ab)s(elle)22
b(5.4.)j(Man)e(sieh)m(t,)g(da\031)h(an)f(diesen)f(Stellen)g(in)g(der)g
(Regel)i(mehr)270 641 y(als)30 b(90\045)h(der)f(Zeit)g(v)m(erbrauc)m(h)
m(t)h(wird.)1072 892 y(T)-8 b(ab)s(elle)29 b(5.4:)j(Zeitin)m(tensiv)m
(e)d(Op)s(erationen)p 270 1021 3120 4 v 268 1249 4 228
v 320 1166 a(Sc)m(hl)488 1170 y(\177)485 1166 y(ussell)700
1170 y(\177)700 1166 y(ange)p 928 1249 V 979 1101 a(Generierung)979
1214 y(der)h(Zufallszahl)p 1618 1249 V 1669 1101 a(Multiplik)-5
b(ation)27 b(b)s(ei)1669 1214 y(der)j(V)-8 b(ersc)m(hl)2115
1218 y(\177)2112 1214 y(usselung)p 2497 1249 V 2548 1101
a(Multiplik)j(ation)27 b(b)s(ei)2548 1214 y(der)j(En)m(tsc)m(hl)3003
1218 y(\177)3000 1214 y(usselung)p 3388 1249 V 270 1252
3120 4 v 270 1269 V 268 1381 4 113 v 588 1348 a(120)h(Bit)p
928 1381 V 423 w(29.4)h(\045)p 1618 1381 V 611 w(29.4)g(\045)p
2497 1381 V 623 w(27.5)g(\045)p 3388 1381 V 270 1385
3120 4 v 268 1498 4 113 v 588 1464 a(160)f(Bit)p 928
1498 V 423 w(30.3)h(\045)p 1618 1498 V 611 w(30.4)g(\045)p
2497 1498 V 623 w(30.3)g(\045)p 3388 1498 V 270 1501
3120 4 v 268 1614 4 113 v 588 1580 a(200)f(Bit)p 928
1614 V 423 w(31.2)h(\045)p 1618 1614 V 611 w(31.3)g(\045)p
2497 1614 V 623 w(30.5)g(\045)p 3388 1614 V 270 1617
3120 4 v 268 1730 4 113 v 588 1696 a(240)f(Bit)p 928
1730 V 423 w(32.1)h(\045)p 1618 1730 V 611 w(32.2)g(\045)p
2497 1730 V 623 w(30.8)g(\045)p 3388 1730 V 270 1733
3120 4 v 411 2041 a(Den)22 b(Zeitaufw)m(and)f(f)1136
2045 y(\177)1133 2041 y(ur)f(die)h(Erzeugung)g(der)g(Zufallszahlen)e(k)
2556 2045 y(\177)2556 2041 y(onn)m(te)j(man)f(einsparen,)270
2153 y(indem)32 b(man)h(eine)h(b)s(estimm)m(te)f(Anzahl)g(v)m
(orgeneriert.)h(Ist)g(das)f(der)g(F)-8 b(all,)34 b(und)e(gilt)h(das)270
2266 y(auc)m(h)38 b(f)523 2270 y(\177)520 2266 y(ur)f(die)h(elliptisc)m
(he)e(Kurv)m(e)h(inkl.)g(des)g(Sc)m(hl)2054 2270 y(\177)2051
2266 y(usselpaares,)g(so)h(l)2700 2270 y(\177)2700 2266
y(a\031t)h(sic)m(h)e(auc)m(h)i(die)270 2379 y(Punktm)m(ultiplik)-5
b(ation)41 b(b)s(ei)j(der)g(V)-8 b(ersc)m(hl)1741 2383
y(\177)1738 2379 y(usselung)44 b(sc)m(hon)h(v)m(orher)g(ausf)2844
2383 y(\177)2841 2379 y(uhren.)f(Damit)270 2492 y(erg)391
2496 y(\177)391 2492 y(ab)s(e)36 b(sic)m(h)g(eine)f(rec)m(hnerisc)m(he)
h(Besc)m(hleunigung)f(um)g(et)m(w)m(a)j(den)d(F)-8 b(aktor)38
b(10.)f(Ob)e(die)270 2605 y(V)-8 b(orb)s(erec)m(hn)m(ung)34
b(in)f(der)g(Praxis)g(jedo)s(c)m(h)h(realistisc)m(h)f(w)2236
2609 y(\177)2236 2605 y(are,)h(ist)f(nat)2680 2609 y(\177)2677
2605 y(urlic)m(h)g(eine)g(andere)270 2718 y(F)-8 b(rage.)411
2831 y(Eine)22 b(Grundv)m(oraussetzung)g(ist)h(zw)m(eifellos)f(auc)m(h)
h(eine)g(e\016zien)m(te)h(Implemen)m(tierung)270 2944
y(der)g(Multiplik)-5 b(ation)21 b(v)m(on)j(Punkten)g(auf)g(elliptisc)m
(hen)e(Kurv)m(en.)h(An)h(dieser)f(Stelle)h(sollten)270
3057 y(k)m(eine)30 b(unn)655 3061 y(\177)655 3057 y(otigen)g
(E\016zienzv)m(erluste)f(en)m(tstehen.)411 3170 y(Ein)42
b(anderer)h(Punkt,)g(der)f(no)s(c)m(h)i(angespro)s(c)m(hen)f(w)m(erden)
g(soll,)f(ist)h(die)f(generelle)270 3283 y(V)-8 b(erw)m(endung)27
b(v)m(on)h(LiDIA)e(innerhalb)f(der)h(JA)-10 b(V)g(A-An)m(w)m(endung.)28
b(En)m(tgegen)g(der)f(Erw)m(ar-)270 3395 y(tung)h(wird)e(f)716
3399 y(\177)713 3395 y(ur)h(den)h(Zugri\013)e(an)i(sic)m(h)g(relativ)f
(w)m(enig)h(Zeit)g(v)m(erbrauc)m(h)m(t.)h(Es)e(ren)m(tiert)i(sic)m(h)
270 3508 y(somit,)37 b(in)e(b)s(ezug)i(auf)g(die)f(E\016zienz,)h(auf)f
(andere)h(Programmiersprac)m(hen)f(zur)3136 3512 y(\177)3133
3508 y(uc)m(kzu-)270 3621 y(greifen,)29 b(w)m(enn)h(in)e(jenen)h(die)g
(Algorithmen)g(sc)m(hon)h(e\016zien)m(t)g(implemen)m(tiert)e(v)m
(orliegen.)p eop
%%Page: 32 33
32 32 bop eop
%%Page: 33 34
33 33 bop 270 1052 a Fr(Kapitel)66 b(6)270 1481 y Fv(Ausblic)-6
b(k)270 1940 y Fw(In)34 b(dieser)g(Arb)s(eit)g(wurde)f(ein)h(Pro)m
(vider)g(en)m(t)m(wic)m(k)m(elt,)j(der)d(un)m(ter)h(V)-8
b(erw)m(endung)34 b(ellipti-)270 2053 y(sc)m(her)27 b(Kurv)m(en)f
(Daten)h(v)m(ersc)m(hl)1358 2057 y(\177)1355 2053 y(usselt.)f(Dab)s(ei)
h(wurde)e(die)h(Theorie)g(kurz)g(angespro)s(c)m(hen,)270
2166 y(der)35 b(tec)m(hnisc)m(he)i(Hin)m(tergrund)d(nahm)h(jedo)s(c)m
(h)g(den)h(gr)2201 2170 y(\177)2201 2166 y(o\031eren)g(T)-8
b(eil)35 b(ein.)g(Ic)m(h)h(hab)s(e)f(v)m(er-)270 2279
y(suc)m(h)m(t,)i(die)e(einzelnen)g(Asp)s(ekte)h(v)m(erst)1640
2283 y(\177)1640 2279 y(andlic)m(h)f(darzustellen.)g(Es)h(wurden)e(die)
i(Kenn)m(t-)270 2392 y(nisse)28 b(v)m(ermittelt,)i(die)f(an)h(gegeb)s
(ener)g(Stelle)f(f)1907 2396 y(\177)1904 2392 y(ur)f(das)h(w)m(eitere)h
(V)-8 b(erst)2697 2396 y(\177)2697 2392 y(andnis)29 b(not)m(w)m(endig)
270 2504 y(w)m(aren.)42 b(Zur)f(V)-8 b(ertiefung)42 b(einzelner)f(F)-8
b(ragestellungen)42 b(dienen)f(die)g(Hin)m(w)m(eise)h(auf)g(die)270
2617 y(en)m(tsprec)m(hende)f(Literatur.)f(Absc)m(hlie\031end)g(soll)f
(no)s(c)m(h)h(einmal)g(v)m(ersuc)m(h)m(t)h(w)m(erden,)g(die)270
2730 y(v)m(ersc)m(hiedenen)27 b(Gesic)m(h)m(tspunkte)h(dieser)f
(Diplomarb)s(eit)e(im)h(Zusammenhang)h(zu)g(b)s(eur-)270
2843 y(teilen)i(und)g(V)-8 b(orsc)m(hl)990 2847 y(\177)990
2843 y(age)32 b(f)1183 2847 y(\177)1180 2843 y(ur)d(W)-8
b(eiteren)m(t)m(wic)m(klungen)31 b(zu)f(geb)s(en.)411
2970 y(Die)c(Arc)m(hitektur)f(der)g(JCA)f(ist)h(meiner)g(Ansic)m(h)m(t)
g(nac)m(h)h(eine)f(v)m(ern)2726 2974 y(\177)2723 2970
y(unftige)f(Struktur,)270 3083 y(um)40 b(sic)m(here)g(An)m(w)m
(endungen)g(zu)g(en)m(t)m(wic)m(k)m(eln.)i(Ob)d(diese)h(dann)g(wirklic)
m(h)e(sic)m(her)i(sind,)270 3196 y(h)321 3200 y(\177)321
3196 y(angt)32 b(nat)663 3200 y(\177)660 3196 y(urlic)m(h)e(auc)m(h)i
(v)m(on)g(den)f(v)m(erw)m(endeten)i(Algorithmen)d(ab.)i(Man)g(hat)g(ab)
s(er)f(auf)270 3309 y(jeden)25 b(F)-8 b(all)25 b(die)g(W)-8
b(ahl,)25 b(sic)m(h)g(selbst)g(um)g(Sic)m(herheitsfragen)f(zu)h(k)2518
3313 y(\177)2515 3309 y(ummern)f(und)g(m)m(u\031)i(sic)m(h)270
3422 y(dazu)41 b(nic)m(h)m(t)h(auc)m(h)g(no)s(c)m(h)f(ein)g(sinn)m(v)m
(olles)e(Strukturk)m(onzept)2461 3426 y(\177)2458 3422
y(ub)s(erlegen.)i(Sc)m(haut)g(man)270 3535 y(sic)m(h)33
b(dagegen)i(den)e(Quellco)s(de)f(in)h(den)g(Konzeptklassen)g(an,)h(so)g
(gibt)g(es)g(sc)m(hon)g(einige)270 3648 y(Absc)m(hnitte,)j(die)e(auf)i
(den)f(ersten)g(Blic)m(k)h(et)m(w)m(as)h(umst)2217 3652
y(\177)2217 3648 y(andlic)m(h)c(aussehen.)j(Der)g(Grund)270
3760 y(hierf)454 3764 y(\177)451 3760 y(ur)h(liegt)h(in)g(der)g
(Kompatibilit)1582 3764 y(\177)1582 3760 y(at)f(zu)1831
3764 y(\177)1831 3760 y(alteren)i(JDK-V)-8 b(ersionen.)40
b(Dadurc)m(h)g(m)m(u\031-)270 3873 y(ten)35 b(an)g(mehreren)f(Stellen)g
(zw)m(ei)h(leic)m(h)m(t)g(v)m(ersc)m(hiedene)g(Arc)m(hitekturen)f(b)s
(er)2969 3877 y(\177)2966 3873 y(uc)m(ksic)m(h)m(tigt)270
3986 y(w)m(erden.)26 b(T)-8 b(rotzdem)27 b(soll)e(dieser)g(Punkt)g(die)
h(Qualit)2091 3990 y(\177)2091 3986 y(at)f(des)h(Konzepts)g(nic)m(h)m
(t)h(sc)m(hm)3168 3990 y(\177)3168 3986 y(alern.)411
4113 y(W)-8 b(as)28 b(die)d(E\016zienz)h(b)s(etri\013t,)g(so)h(wurde)e
(sc)m(hon)h(in)f(Kapitel)h(5)g(einiges)g(er)2920 4117
y(\177)2920 4113 y(ortert.)h(Den-)270 4226 y(no)s(c)m(h)i(sollen)e
(hier)h(no)s(c)m(h)g(einige)g(W)-8 b(orte)31 b(darauf)d(v)m(erw)m
(endet)h(w)m(erden.)g(Eine)e(sc)m(hnelle)h(Im-)270 4339
y(plemen)m(tierung)c(der)i(Punktm)m(ultiplik)-5 b(ation)22
b(ist)j(en)m(tsc)m(heidend)g(f)2524 4343 y(\177)2521
4339 y(ur)g(einen)g(leistungsf)3240 4343 y(\177)3240
4339 y(ahi-)270 4452 y(gen)39 b(V)-8 b(ersc)m(hl)734
4456 y(\177)731 4452 y(usselungsalgorithm)m(us,)37 b(der)h(auf)h
(elliptsic)m(hen)d(Kurv)m(en)i(basiert.)h(Daraus)270
4565 y(folgt,)c(da\031)f(man)g(an)g(dieser)f(Stelle)h(jede)g(M)1810
4569 y(\177)1810 4565 y(oglic)m(hk)m(eit)h(einer)e(Besc)m(hleunigung)g
(ausn)m(ut-)270 4678 y(zen)e(sollte,)f(um)f(diese)h(dann)f(auc)m(h)i(f)
1547 4682 y(\177)1544 4678 y(ur)e(den)h(Pro)m(vider)f(v)m(erw)m(enden)i
(zu)f(k)2819 4682 y(\177)2819 4678 y(onnen.)411 4805
y(F)473 4809 y(\177)470 4805 y(ur)g(die)g(v)m(orliegende)g(An)m(w)m
(endung)g(wurde)f(JA)-10 b(V)g(A)31 b(als)f(Programmiersprac)m(he)g
(aus-)270 4918 y(gew)421 4922 y(\177)421 4918 y(ahlt.)k(Daraufhin)f
(steh)m(t)i(man)f(v)m(or)g(der)g(W)-8 b(ahl,)35 b(ob)f(f)2256
4922 y(\177)2253 4918 y(ur)f(rec)m(henin)m(tensiv)m(e)g(Op)s(eratio-)
270 5030 y(nen)28 b(auf)g(den)g(Programmco)s(de)h(anderer)f(Sprac)m
(hen)g(zur)2238 5034 y(\177)2235 5030 y(uc)m(kgegri\013en)g(w)m(erden)g
(soll.)g(Den)270 5143 y(V)-8 b(orteil)28 b(einer)g(h)838
5147 y(\177)838 5143 y(oheren)g(E\016zienz)g(erk)-5 b(auft)28
b(man)g(sic)m(h)g(dann)g(u.)15 b(a.)29 b(mit)e(dem)h(V)-8
b(erlust)28 b(der)270 5256 y(Plattform)m(unabh)904 5260
y(\177)904 5256 y(angigk)m(eit.)39 b(W)-8 b(elc)m(he)42
b(jedo)s(c)m(h)d(die)g(b)s(essere)h(V)-8 b(arian)m(te)41
b(ist,)e(h)3007 5260 y(\177)3007 5256 y(angt)h(v)m(om)270
5369 y(Einzelfall)28 b(ab.)411 5496 y(Die)23 b(V)-8 b(erw)m(endung)22
b(aktueller)g(kryptographisc)m(her)f(Standards)h(b)s(ei)f(der)h(En)m(t)
m(wic)m(klung)270 5609 y(v)m(on)j(Soft)m(w)m(are)g(f)832
5613 y(\177)829 5609 y(uhrt)e(zu)h(einheitlic)m(heren)e(An)m(w)m
(endungen.)h(Gerade)i(w)m(enn)f(viel)f(W)-8 b(ert)25
b(auf)1785 5858 y(33)p eop
%%Page: 34 35
34 34 bop 390 82 a Fw(34)1976 b(KAPITEL)29 b(6.)61 b(A)m(USBLICK)390
415 y(Erw)m(eiterbark)m(eit)36 b(und)f(Wiederv)m(erw)m(endbark)m(eit)h
(gelegt)h(wird,)e(ist)h(die)f(Anlehn)m(ung)g(an)390 528
y(Standards)827 532 y(\177)827 528 y(au\031erst)k(sinn)m(v)m(oll.)d
(Leider)g(w)m(aren)i(zum)f(Zeitpunkt)f(der)i(En)m(tsteh)m(ung)g(die-)
390 641 y(ser)e(Arb)s(eit)e(lediglic)m(h)f(V)-8 b(erfahren)36
b(zur)f(Sc)m(hl)1945 645 y(\177)1942 641 y(usselgenerierung)e(bzw.)i
(zu)h(Signaturen)e(in)390 754 y(den)28 b(Standard)f(P1363)j(in)m
(tegriert.)e(Die)g(Aufnahme)g(v)m(on)h(V)-8 b(ersc)m(hl)2704
758 y(\177)2701 754 y(usselungalgorithmen)390 867 y(ist)31
b(jedo)s(c)m(h)h(geplan)m(t.)g(In)g(der)f(Einarb)s(eitung)e(dieser)i(V)
-8 b(orgab)s(en)32 b(sehe)g(ic)m(h)f(eine)h(Erw)m(eite-)390
980 y(rungsm)685 984 y(\177)685 980 y(oglic)m(hk)m(eit)d(dieses)h(Pro)m
(viders.)531 1093 y(Es)40 b(wird)e(auc)m(h)j(sehr)f(in)m(teressan)m(t)g
(sein,)g(zu)g(v)m(erfolgen,)h(wie)e(sic)m(h)h(die)g(elliptisc)m(hen)390
1205 y(Kurv)m(en)32 b(auf)g(dem)g(Gebiet)h(der)f(Kryptographie)f(en)m
(t)m(wic)m(k)m(eln.)j(En)m(tsc)m(heidend)d(dab)s(ei)h(ist)390
1318 y(w)m(ohl)20 b(der)h(Punkt,)g(ob)g(ihre)e(V)-8 b(orteile)22
b(gegen)1879 1322 y(\177)1876 1318 y(ub)s(er)f(anderen)f(mathematisc)m
(hen)i(Strukturen)390 1431 y(b)s(estehen)32 b(bleib)s(en.)e(Des)j(w)m
(eiteren)f(bleibt)f(auc)m(h)h(abzu)m(w)m(arten,)i(w)m(elc)m(he)f(Kurv)m
(en)e(als)h(f)3427 1435 y(\177)3424 1431 y(ur)390 1544
y(die)41 b(Kryptographie)g(geeignet)i(angesehen)f(w)m(erden.)g(In)f
(jedem)h(F)-8 b(all)41 b(sind)f(elliptisc)m(he)390 1657
y(Kurv)m(en)d(ein)f(ansprec)m(hendes)h(F)-8 b(eld,)38
b(auf)g(dem)f(no)s(c)m(h)g(einige)g(En)m(t)m(wic)m(klungen)g(gemac)m(h)
m(t)390 1770 y(w)m(erden)e(k)754 1774 y(\177)754 1770
y(onnen.)g(Ic)m(h)h(ho\013e,)g(da\031)f(durc)m(h)g(diese)g(Arb)s(eit)f
(ein)g(kleiner)g(Beitrag)i(zu)g(ihrer)390 1883 y(V)-8
b(erbreitung)30 b(geleistet)h(wurde.)p eop
%%Page: 35 36
35 35 bop 270 1056 a Fr(Anhang)64 b(A)270 1489 y Fv(cdc.ec)270
1989 y Fz(A.1)135 b(Pro)l(vider)p 270 2118 3120 4 v 270
2143 4 25 v 3387 2143 V 215 2222 a Fa(1)p 270 2256 4
113 v 53 w Ff(package)46 b(cdc.ec;)p 3387 2256 V 215
2335 a Fa(2)p 270 2368 V 3387 2368 V 215 2447 a(3)p 270
2481 V 53 w Ff(import)g(cdc.ec.ecelgamal.*;)p 3387 2481
V 215 2560 a Fa(4)p 270 2594 V 53 w Ff(import)g(java.security.*;)p
3387 2594 V 215 2673 a Fa(5)p 270 2707 V 3387 2707 V
215 2786 a(6)p 270 2820 V 53 w Ff(/**)p 3387 2820 V 215
2899 a Fa(7)p 270 2933 V 101 w Ff(*)h(<code>Provider</code>)42
b(is)48 b(the)e(set)h(of)h(classes)d(that)i(implement)p
3387 2933 V 215 3012 a Fa(8)p 270 3046 V 101 w Ff(*)g(a)h(provider)d
(including)h(a)h(cipher)f(and)h(a)h(generator)d(for)i(key)g(pairs.)p
3387 3046 V 215 3125 a Fa(9)p 270 3159 V 101 w Ff(*)g(These)g(classes)f
(are)g(contained)g(in)h(the)g(subpackage)p 3387 3159
V 184 3238 a Fa(10)p 270 3272 V 102 w Ff(*)g(<code>ecelgamal</code>)42
b(which)k(is)i(also)e(the)h(provider's)e(name.)p 3387
3272 V 184 3351 a Fa(11)p 270 3385 V 102 w Ff(*)i(The)g(cipher)f(is)i
(based)e(on)h(an)g(ElGamal)f(algorithm)f(that)i(uses)p
3387 3385 V 184 3464 a Fa(12)p 270 3498 V 102 w Ff(*)g(elliptic)f
(curves)g(over)h(the)g(general)e(field)i(with)f(<code>p</code>)p
3387 3498 V 184 3577 a Fa(13)p 270 3610 V 102 w Ff(*)h(elements)f
(where)g(<code>p</code>)e(is)j(a)h(prime)e(number.)g(It)h(basically)p
3387 3610 V 184 3690 a Fa(14)p 270 3723 V 102 w Ff(*)g(maps)g(the)g
(identifiers)e(which)h(have)h(to)g(be)g(used)g(to)g(the)g(specific)p
3387 3723 V 184 3802 a Fa(15)p 270 3836 V 102 w Ff(*)g(classnames.)p
3387 3836 V 184 3915 a Fa(16)p 270 3949 V 102 w Ff(*)g(<p>)p
3387 3949 V 184 4028 a Fa(17)p 270 4062 V 102 w Ff(*)g(Details)f(to)h
(the)g(way)g(the)g(implementation)d(works)i(can)h(be)g(found)g(in)p
3387 4062 V 184 4141 a Fa(18)p 270 4175 V 102 w Ff(*)g(the)g
(description)e(of)i(the)g(classes)f(below)g(espescially)f(in)p
3387 4175 V 184 4254 a Fa(19)p 270 4288 V 102 w Ff(*)i
(<code>ECElGamalGFPCipher</)o(cod)o(e>.)p 3387 4288 V
184 4367 a Fa(20)p 270 4401 V 102 w Ff(*)g(<p>)p 3387
4401 V 184 4480 a Fa(21)p 270 4514 V 102 w Ff(*)g(The)g(C++-library)e
(for)i(calculation)e(is)i(<code>LiDIA</code>.)p 3387
4514 V 184 4593 a Fa(22)p 270 4627 V 102 w Ff(*)p 3387
4627 V 184 4706 a Fa(23)p 270 4740 V 102 w Ff(*)g(@author)f(Markus)g
(Crnjak)p 3387 4740 V 184 4819 a Fa(24)p 270 4852 V 102
w Ff(*)p 3387 4852 V 184 4932 a Fa(25)p 270 4965 V 102
w Ff(*)h(@see)g(cdc.ec.ecelgamal.ECElGam)o(alGF)o(PKey)p
3387 4965 V 184 5044 a Fa(26)p 270 5078 V 102 w Ff(*)g(@see)g
(cdc.ec.ecelgamal.ECElGam)o(alGF)o(PPri)o(vat)o(eKey)p
3387 5078 V 184 5157 a Fa(27)p 270 5191 V 102 w Ff(*)g(@see)g
(cdc.ec.ecelgamal.ECElGam)o(alGF)o(PPub)o(lic)o(Key)p
3387 5191 V 184 5270 a Fa(28)p 270 5304 V 102 w Ff(*)g(@see)g
(cdc.ec.ecelgamal.ECElGam)o(alGF)o(PKey)o(Pai)o(rGen)o(erat)o(or)p
3387 5304 V 184 5383 a Fa(29)p 270 5417 V 102 w Ff(*)g(@see)g
(cdc.ec.ecelgamal.ECElGam)o(alGF)o(PBlo)o(ckC)o(iphe)o(r)p
3387 5417 V 184 5496 a Fa(30)p 270 5530 V 102 w Ff(*)g(@see)g
(cdc.ec.ecelgamal.ECElGam)o(alGF)o(PCip)o(her)p 3387
5530 V 184 5609 a Fa(31)p 270 5643 V 102 w Ff(*)g(@see)g
(cdc.lidia.LECDomainParam)o(eter)o(sP13)o(63)p 3387 5643
V 1785 5858 a Fw(35)p eop
%%Page: 36 37
36 36 bop 390 82 a Fw(36)2080 b(ANHANG)31 b(A.)61 b(CDC.EC)304
415 y Fa(32)p 390 449 4 113 v 102 w Ff(*/)p 3507 449
V 304 528 a Fa(33)p 390 562 V 54 w Ff(public)46 b(class)h(Provider)p
3507 562 V 304 641 a Fa(34)p 390 675 V 245 w Ff(extends)f
(java.security.Provider)p 3507 675 V 304 754 a Fa(35)p
390 788 V 54 w Ff({)p 3507 788 V 304 867 a Fa(36)p 390
901 V 245 w Ff(/**)p 3507 901 V 304 980 a Fa(37)p 390
1014 V 293 w Ff(*)h(constructor,)e(that)h(makes)h(the)g
(<code>ECElGamalGFP</cod)o(e>)p 3507 1014 V 304 1093
a Fa(38)p 390 1126 V 293 w Ff(*)g(implementation)d(accessible)p
3507 1126 V 304 1205 a Fa(39)p 390 1239 V 293 w Ff(*)j(<p>)p
3507 1239 V 304 1318 a Fa(40)p 390 1352 V 293 w Ff(*)g(Accessible)e
(are)i(a)h(<code>KeyPairGenerator<)o(/cod)o(e>)41 b(and)47
b(a)p 3507 1352 V 304 1431 a Fa(41)p 390 1465 V 293 w
Ff(*)g(<code>Cipher</code>)c(both)j(specified)g(by)h("ECElGamalGFP".)p
3507 1465 V 304 1544 a Fa(42)p 390 1578 V 293 w Ff(*/)p
3507 1578 V 304 1657 a Fa(43)p 390 1691 V 245 w Ff(public)f(Provider)g
(\(\))p 3507 1691 V 304 1770 a Fa(44)p 390 1804 V 245
w Ff({)p 3507 1804 V 304 1883 a Fa(45)p 390 1917 V 436
w Ff(super)g(\("ECElGamalGFP",1.2,"Provi)o(der)41 b(for)47
b(ECElGamalGFP"\);)p 3507 1917 V 304 1996 a Fa(46)p 390
2030 V 3507 2030 V 304 2109 a(47)p 390 2143 V 436 w Ff(//)g(maps)g(the)
g(short)f(names)g(to)i(the)f(class)f(names)p 3507 2143
V 304 2222 a Fa(48)p 390 2256 V 436 w Ff(put)h
(\("KeyPairGenerator.ECElG)o(amal)o(GFP)o(",)p 3507 2256
V 304 2335 a Fa(49)p 390 2368 V 675 w Ff("cdc.ec.ecelgamal.ECElG)o
(amal)o(GFP)o(KeyP)o(airG)o(ene)o(rato)o(r"\);)p 3507
2368 V 304 2447 a Fa(50)p 390 2481 V 436 w Ff(put)g
(\("Cipher.ECElGamalGFP",)p 3507 2481 V 304 2560 a Fa(51)p
390 2594 V 675 w Ff("cdc.ec.ecelgamal.ECElG)o(amal)o(GFP)o(Ciph)o
(er"\))o(;)p 3507 2594 V 304 2673 a Fa(52)p 390 2707
V 245 w Ff(})p 3507 2707 V 304 2786 a Fa(53)p 390 2820
V 54 w Ff(})p 3507 2820 V 390 2845 4 25 v 3507 2845 V
390 2848 3120 4 v eop
%%Page: 37 38
37 37 bop 270 1051 a Fr(Anhang)64 b(B)270 1480 y Fv(cdc.ec.ecelgamal)
270 1975 y Fz(B.1)135 b(ECElGamalGFPKey)p 270 2118 3120
4 v 270 2143 4 25 v 3387 2143 V 215 2222 a Fa(1)p 270
2256 4 113 v 53 w Ff(package)46 b(cdc.ec.ecelgamal;)p
3387 2256 V 215 2335 a Fa(2)p 270 2368 V 3387 2368 V
215 2447 a(3)p 270 2481 V 53 w Ff(import)g(java.security.*;)p
3387 2481 V 215 2560 a Fa(4)p 270 2594 V 53 w Ff(import)g(cdc.lidia.*;)
p 3387 2594 V 215 2673 a Fa(5)p 270 2707 V 3387 2707
V 215 2786 a(6)p 270 2820 V 53 w Ff(/**)p 3387 2820 V
215 2899 a Fa(7)p 270 2933 V 101 w Ff(*)h(<code>ECElGamalGFPKey</cod)o
(e>)41 b(holds)47 b(the)g(common)f(key)h(parameters)p
3387 2933 V 215 3012 a Fa(8)p 270 3046 V 101 w Ff(*)g(for)g
(<code>ECElGamalGFP</code>)41 b(public)46 b(and)h(private)f(keys.)g
(These)p 3387 3046 V 215 3125 a Fa(9)p 270 3159 V 101
w Ff(*)h(are)g(called)f(domain)g(parameters)f(and)i(contain)f(the)h
(underlying)p 3387 3159 V 184 3238 a Fa(10)p 270 3272
V 102 w Ff(*)g(elliptic)f(curve)g(and)h(a)h(curve)e(point)g(that)h
(generates)e(a)j(subgroup.)p 3387 3272 V 184 3351 a Fa(11)p
270 3385 V 102 w Ff(*)f(<p>)p 3387 3385 V 184 3464 a
Fa(12)p 270 3498 V 102 w Ff(*)g(If)h(<code>G</code>)43
b(is)48 b(the)f(generator)e(and)i(<code>s</code>)d(is)j(an)p
3387 3498 V 184 3577 a Fa(13)p 270 3610 V 102 w Ff(*)g(integer)f
(number)g(with)h(<code>W)f(=)h(sG</code>,)e(then)i(<code>s</code>)p
3387 3610 V 184 3690 a Fa(14)p 270 3723 V 102 w Ff(*)g(will)g(be)g(the)
g(private)f(key)h(and)g(<code>W</code>)d(will)i(be)h(the)g(public)p
3387 3723 V 184 3802 a Fa(15)p 270 3836 V 102 w Ff(*)g(key.)p
3387 3836 V 184 3915 a Fa(16)p 270 3949 V 102 w Ff(*)g(<p>)p
3387 3949 V 184 4028 a Fa(17)p 270 4062 V 102 w Ff(*)g(The)g
(C++-library)e(for)i(calculation)e(is)i(<code>LiDIA</code>.)p
3387 4062 V 184 4141 a Fa(18)p 270 4175 V 102 w Ff(*)p
3387 4175 V 184 4254 a Fa(19)p 270 4288 V 102 w Ff(*)g(@author)f
(Markus)g(Crnjak)p 3387 4288 V 184 4367 a Fa(20)p 270
4401 V 102 w Ff(*)p 3387 4401 V 184 4480 a Fa(21)p 270
4514 V 102 w Ff(*)h(@see)g(ECElGamalGFPPrivateKey)p 3387
4514 V 184 4593 a Fa(22)p 270 4627 V 102 w Ff(*)g(@see)g
(ECElGamalGFPPublicKey)p 3387 4627 V 184 4706 a Fa(23)p
270 4740 V 102 w Ff(*)g(@see)g(ECElGamalGFPKeyPairGener)o(ator)p
3387 4740 V 184 4819 a Fa(24)p 270 4852 V 102 w Ff(*)g(@see)g
(ECElGamalGFPBlockCipher)p 3387 4852 V 184 4932 a Fa(25)p
270 4965 V 102 w Ff(*)g(@see)g(ECElGamalGFPCipher)p 3387
4965 V 184 5044 a Fa(26)p 270 5078 V 102 w Ff(*)g(@see)g
(cdc.ec.Provider)p 3387 5078 V 184 5157 a Fa(27)p 270
5191 V 102 w Ff(*)g(@see)g(cdc.lidia.LECDomainParam)o(eter)o(sP13)o(63)
p 3387 5191 V 184 5270 a Fa(28)p 270 5304 V 102 w Ff(*/)p
3387 5304 V 184 5383 a Fa(29)p 270 5417 V 54 w Ff(public)f(class)h
(ECElGamalGFPKey)p 3387 5417 V 184 5496 a Fa(30)p 270
5530 V 245 w Ff(implements)e(Key)p 3387 5530 V 184 5609
a Fa(31)p 270 5643 V 54 w Ff({)p 3387 5643 V 1785 5858
a Fw(37)p eop
%%Page: 38 39
38 38 bop 390 82 a Fw(38)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
304 415 y Fa(32)p 390 449 4 113 v 245 w Ff(/**)p 3507
449 V 304 528 a Fa(33)p 390 562 V 293 w Ff(*)47 b(holds)g(the)g(domain)
f(parameters)p 3507 562 V 304 641 a Fa(34)p 390 675 V
293 w Ff(*)p 3507 675 V 304 754 a Fa(35)p 390 788 V 293
w Ff(*)h(@serial)p 3507 788 V 304 867 a Fa(36)p 390 901
V 293 w Ff(*/)p 3507 901 V 304 980 a Fa(37)p 390 1014
V 245 w Ff(protected)e(LECDomainParametersP1363)d(mParams;)p
3507 1014 V 304 1093 a Fa(38)p 390 1126 V 3507 1126 V
304 1205 a(39)p 390 1239 V 245 w Ff(/**)p 3507 1239 V
304 1318 a Fa(40)p 390 1352 V 293 w Ff(*)47 b(constructor,)e(that)h
(sets)h(the)g(domain)f(parameters)f(of)i(this)p 3507
1352 V 304 1431 a Fa(41)p 390 1465 V 293 w Ff(*)g
(<code>ECElGamalGFPKey</co)o(de>)p 3507 1465 V 304 1544
a Fa(42)p 390 1578 V 293 w Ff(*)p 3507 1578 V 304 1657
a Fa(43)p 390 1691 V 293 w Ff(*)g(@param)f(params)g(the)h
(lECDomainParametersP1363)42 b(contains)j(the)p 3507
1691 V 304 1770 a Fa(44)p 390 1804 V 293 w Ff(*)i(domain)f(parameters)p
3507 1804 V 304 1883 a Fa(45)p 390 1917 V 293 w Ff(*/)p
3507 1917 V 304 1996 a Fa(46)p 390 2030 V 245 w Ff(protected)f
(ECElGamalGFPKey\(LECDomainP)o(ara)o(mete)o(rsP1)o(363)c(params\))p
3507 2030 V 304 2109 a Fa(47)p 390 2143 V 245 w Ff({)p
3507 2143 V 304 2222 a Fa(48)p 390 2256 V 436 w Ff(mParams)46
b(=)h(params;)p 3507 2256 V 304 2335 a Fa(49)p 390 2368
V 245 w Ff(})p 3507 2368 V 304 2447 a Fa(50)p 390 2481
V 3507 2481 V 304 2560 a(51)p 390 2594 V 245 w Ff(/**)p
3507 2594 V 304 2673 a Fa(52)p 390 2707 V 293 w Ff(*)g(sets)g(the)g
(domain)f(parameters)f(of)i(this)p 3507 2707 V 304 2786
a Fa(53)p 390 2820 V 293 w Ff(*)g(<code>ECElGamalGFPKey</co)o(de>)p
3507 2820 V 304 2899 a Fa(54)p 390 2933 V 293 w Ff(*)p
3507 2933 V 304 3012 a Fa(55)p 390 3046 V 293 w Ff(*)g(@param)f(params)
g(the)h(lECDomainParametersP1363)42 b(contains)j(the)p
3507 3046 V 304 3125 a Fa(56)p 390 3159 V 293 w Ff(*)i(domain)f
(parameters)p 3507 3159 V 304 3238 a Fa(57)p 390 3272
V 293 w Ff(*/)p 3507 3272 V 304 3351 a Fa(58)p 390 3385
V 245 w Ff(protected)f(void)i(setParams\(LECDomainParam)o(eter)o(sP13)o
(63)41 b(params\))p 3507 3385 V 304 3464 a Fa(59)p 390
3498 V 245 w Ff({)p 3507 3498 V 304 3577 a Fa(60)p 390
3610 V 436 w Ff(mParams)46 b(=)h(params;)p 3507 3610
V 304 3689 a Fa(61)p 390 3723 V 245 w Ff(})p 3507 3723
V 304 3802 a Fa(62)p 390 3836 V 3507 3836 V 304 3915
a(63)p 390 3949 V 245 w Ff(/**)p 3507 3949 V 304 4028
a Fa(64)p 390 4062 V 293 w Ff(*)g(returns)f(the)h(domain)f(parameters)f
(of)i(this)p 3507 4062 V 304 4141 a Fa(65)p 390 4175
V 293 w Ff(*)g(<code>ECElGamalGFPKey</co)o(de>)p 3507
4175 V 304 4254 a Fa(66)p 390 4288 V 293 w Ff(*/)p 3507
4288 V 304 4367 a Fa(67)p 390 4401 V 245 w Ff(protected)e
(LECDomainParametersP1363)d(getParams\(\))p 3507 4401
V 304 4480 a Fa(68)p 390 4514 V 245 w Ff({)p 3507 4514
V 304 4593 a Fa(69)p 390 4627 V 436 w Ff(return)k(mParams;)p
3507 4627 V 304 4706 a Fa(70)p 390 4740 V 245 w Ff(})p
3507 4740 V 304 4819 a Fa(71)p 390 4852 V 3507 4852 V
304 4932 a(72)p 390 4965 V 245 w Ff(/**)p 3507 4965 V
304 5044 a Fa(73)p 390 5078 V 293 w Ff(*)h(returns)f(the)h(algorithm)e
(name,)i(that)f(is)h("ECElGamalGFP")p 3507 5078 V 304
5157 a Fa(74)p 390 5191 V 293 w Ff(*/)p 3507 5191 V 304
5270 a Fa(75)p 390 5304 V 245 w Ff(public)f(String)g(getAlgorithm\(\))p
3507 5304 V 304 5383 a Fa(76)p 390 5417 V 245 w Ff({)p
3507 5417 V 304 5496 a Fa(77)p 390 5530 V 436 w Ff(return)g
("ECElGamalGFP";)p 3507 5530 V 304 5609 a Fa(78)p 390
5643 V 245 w Ff(})p 3507 5643 V eop
%%Page: 39 40
39 39 bop 270 82 a Fw(B.1.)62 b(ECElGamalGFPKey)1978
b(39)184 415 y Fa(79)p 270 449 4 113 v 3387 449 V 184
528 a(80)p 270 562 V 245 w Ff(/**)p 3387 562 V 184 641
a Fa(81)p 270 675 V 293 w Ff(*)47 b(returns)f(<code>"NONE"</code>)d
(since)j(there)g(is)i(no)f(specific)p 3387 675 V 184
754 a Fa(82)p 270 788 V 293 w Ff(*)g(format)f(used)h(to)g(encode)f(the)
h(key)p 3387 788 V 184 867 a Fa(83)p 270 901 V 293 w
Ff(*/)p 3387 901 V 184 980 a Fa(84)p 270 1014 V 245 w
Ff(public)f(String)g(getFormat\(\))p 3387 1014 V 184
1093 a Fa(85)p 270 1126 V 245 w Ff({)p 3387 1126 V 184
1205 a Fa(86)p 270 1239 V 436 w Ff(return)g("NONE";)p
3387 1239 V 184 1318 a Fa(87)p 270 1352 V 245 w Ff(})p
3387 1352 V 184 1431 a Fa(88)p 270 1465 V 3387 1465 V
184 1544 a(89)p 270 1578 V 245 w Ff(/**)p 3387 1578 V
184 1657 a Fa(90)p 270 1691 V 293 w Ff(*)h(returns)f(<code>null</code>)
d(since)k(there)f(is)h(no)g(specific)p 3387 1691 V 184
1770 a Fa(91)p 270 1804 V 293 w Ff(*)g(format)f(used)h(to)g(encode)f
(the)h(key)p 3387 1804 V 184 1883 a Fa(92)p 270 1917
V 293 w Ff(*/)p 3387 1917 V 184 1996 a Fa(93)p 270 2030
V 245 w Ff(public)f(byte[])g(getEncoded\(\))p 3387 2030
V 184 2109 a Fa(94)p 270 2143 V 245 w Ff({)p 3387 2143
V 184 2222 a Fa(95)p 270 2256 V 436 w Ff(return)g(null;)p
3387 2256 V 184 2335 a Fa(96)p 270 2368 V 245 w Ff(})p
3387 2368 V 184 2447 a Fa(97)p 270 2481 V 54 w Ff(})p
3387 2481 V 270 2506 4 25 v 3387 2506 V 270 2509 3120
4 v eop
%%Page: 40 41
40 40 bop 390 82 a Fw(40)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
390 415 y Fz(B.2)135 b(ECElGamalGFPPriv)-7 b(ateKey)p
390 537 3120 4 v 390 562 4 25 v 3507 562 V 335 641 a
Fa(1)p 390 675 4 113 v 53 w Ff(package)46 b(cdc.ec.ecelgamal;)p
3507 675 V 335 754 a Fa(2)p 390 788 V 3507 788 V 335
867 a(3)p 390 901 V 53 w Ff(import)g(java.math.BigInteger;)p
3507 901 V 335 980 a Fa(4)p 390 1014 V 53 w Ff(import)g
(java.security.*;)p 3507 1014 V 335 1093 a Fa(5)p 390
1126 V 53 w Ff(import)g(cdc.lidia.*;)p 3507 1126 V 335
1205 a Fa(6)p 390 1239 V 3507 1239 V 335 1318 a(7)p 390
1352 V 53 w Ff(/**)p 3507 1352 V 335 1431 a Fa(8)p 390
1465 V 101 w Ff(*)h(<code>ECElGamalGFPPrivateK)o(ey<)o(/cod)o(e>)42
b(holds)k(the)h(private)f(part)g(of)p 3507 1465 V 335
1544 a Fa(9)p 390 1578 V 101 w Ff(*)h(an)h(<code>ECElGamalGFP</cod)o
(e>)41 b(key.)p 3507 1578 V 304 1657 a Fa(10)p 390 1691
V 102 w Ff(*)47 b(<p>)p 3507 1691 V 304 1770 a Fa(11)p
390 1804 V 102 w Ff(*)g(If)h(<code>G</code>)43 b(is)48
b(the)f(generator)e(of)i(a)g(subgroup)f(of)h(an)p 3507
1804 V 304 1883 a Fa(12)p 390 1917 V 102 w Ff(*)g(elliptic)f(curve)g
(and)h(<code>s</code>)d(is)j(an)g(integer)f(number)g(with)p
3507 1917 V 304 1996 a Fa(13)p 390 2030 V 102 w Ff(*)h(<code>W)f(=)i
(sG</code>,)d(then)h(<code>s</code>)e(will)j(be)g(the)g(private)p
3507 2030 V 304 2109 a Fa(14)p 390 2143 V 102 w Ff(*)g(key)g(and)g
(<code>W</code>)d(will)j(be)g(the)g(public)f(key.)p 3507
2143 V 304 2222 a Fa(15)p 390 2256 V 102 w Ff(*)h(<p>)p
3507 2256 V 304 2335 a Fa(16)p 390 2368 V 102 w Ff(*)g(Here)g(the)g
(private)f(key)h(is)g(called)f(<code>Exponent</code>,)c(that)p
3507 2368 V 304 2447 a Fa(17)p 390 2481 V 102 w Ff(*)47
b(reminds)f(to)h(the)g(<code>Discrete)d(Logarithm)h(Problem)h
(\(DLP\)</code>.)p 3507 2481 V 304 2560 a Fa(18)p 390
2594 V 102 w Ff(*)h(<p>)p 3507 2594 V 304 2673 a Fa(19)p
390 2707 V 102 w Ff(*)g(The)g(C++-library)e(for)i(calculation)e(is)i
(<code>LiDIA</code>.)p 3507 2707 V 304 2786 a Fa(20)p
390 2820 V 102 w Ff(*)p 3507 2820 V 304 2899 a Fa(21)p
390 2933 V 102 w Ff(*)g(@author)f(Markus)g(Crnjak)p 3507
2933 V 304 3012 a Fa(22)p 390 3046 V 102 w Ff(*)p 3507
3046 V 304 3125 a Fa(23)p 390 3159 V 102 w Ff(*)h(@see)g
(ECElGamalGFPKey)p 3507 3159 V 304 3238 a Fa(24)p 390
3272 V 102 w Ff(*)g(@see)g(ECElGamalGFPPublicKey)p 3507
3272 V 304 3351 a Fa(25)p 390 3385 V 102 w Ff(*)g(@see)g
(ECElGamalGFPKeyPairGener)o(ator)p 3507 3385 V 304 3464
a Fa(26)p 390 3498 V 102 w Ff(*)g(@see)g(ECElGamalGFPBlockCipher)p
3507 3498 V 304 3577 a Fa(27)p 390 3610 V 102 w Ff(*)g(@see)g
(ECElGamalGFPCipher)p 3507 3610 V 304 3690 a Fa(28)p
390 3723 V 102 w Ff(*)g(@see)g(cdc.ec.Provider)p 3507
3723 V 304 3802 a Fa(29)p 390 3836 V 102 w Ff(*)g(@see)g
(cdc.lidia.LECDomainParam)o(eter)o(sP13)o(63)p 3507 3836
V 304 3915 a Fa(30)p 390 3949 V 102 w Ff(*/)p 3507 3949
V 304 4028 a Fa(31)p 390 4062 V 54 w Ff(public)f(class)h
(ECElGamalGFPPrivateKey)p 3507 4062 V 304 4141 a Fa(32)p
390 4175 V 245 w Ff(extends)f(ECElGamalGFPKey)p 3507
4175 V 304 4254 a Fa(33)p 390 4288 V 245 w Ff(implements)f(PrivateKey)p
3507 4288 V 304 4367 a Fa(34)p 390 4401 V 54 w Ff({)p
3507 4401 V 304 4480 a Fa(35)p 390 4514 V 245 w Ff(/**)p
3507 4514 V 304 4593 a Fa(36)p 390 4627 V 293 w Ff(*)i(holds)g(the)g
(private)e(key,)i(that)g(is)g(an)g(integer)f(number)p
3507 4627 V 304 4706 a Fa(37)p 390 4740 V 293 w Ff(*)p
3507 4740 V 304 4819 a Fa(38)p 390 4852 V 293 w Ff(*)h(@serial)p
3507 4852 V 304 4932 a Fa(39)p 390 4965 V 293 w Ff(*/)p
3507 4965 V 304 5044 a Fa(40)p 390 5078 V 245 w Ff(private)f
(BigInteger)f(mExponent;)p 3507 5078 V 304 5157 a Fa(41)p
390 5191 V 3507 5191 V 304 5270 a(42)p 390 5304 V 245
w Ff(/**)p 3507 5304 V 304 5383 a Fa(43)p 390 5417 V
293 w Ff(*)i(constructor,)e(that)h(sets)h(the)g(domain)f(parameters)f
(and)i(the)p 3507 5417 V 304 5496 a Fa(44)p 390 5530
V 293 w Ff(*)g(private)f(part)h(of)g(this)g(<code>ECElGamalGFPKey</)o
(cod)o(e>,)41 b(that)p 3507 5530 V 304 5609 a Fa(45)p
390 5643 V 293 w Ff(*)47 b(is)g(an)h(integer)d(number)p
3507 5643 V eop
%%Page: 41 42
41 41 bop 270 82 a Fw(B.2.)62 b(ECElGamalGFPPriv)-5 b(ateKey)1691
b(41)184 415 y Fa(46)p 270 449 4 113 v 293 w Ff(*)p 3387
449 V 184 528 a Fa(47)p 270 562 V 293 w Ff(*)47 b(@param)f(params)g
(the)h(lECDomainParametersP1363)42 b(contains)j(the)p
3387 562 V 184 641 a Fa(48)p 270 675 V 293 w Ff(*)i(domain)f
(parameters)p 3387 675 V 184 754 a Fa(49)p 270 788 V
293 w Ff(*)h(@param)f(exponent)g(the)h(bigInteger)e(contains)g(the)i
(private)f(key)p 3387 788 V 184 867 a Fa(50)p 270 901
V 293 w Ff(*/)p 3387 901 V 184 980 a Fa(51)p 270 1014
V 245 w Ff(protected)f(ECElGamalGFPPrivateKey\(LEC)o(Dom)o(ainP)o(aram)
o(ete)o(rsP1)o(363)p 3387 1014 V 184 1093 a Fa(52)p 270
1126 V 436 w Ff(params,BigInteger)e(exponent\))p 3387
1126 V 184 1205 a Fa(53)p 270 1239 V 245 w Ff({)p 3387
1239 V 184 1318 a Fa(54)p 270 1352 V 436 w Ff(super\(params\);)p
3387 1352 V 184 1431 a Fa(55)p 270 1465 V 436 w Ff(mExponent)i(=)j
(exponent;)p 3387 1465 V 184 1544 a Fa(56)p 270 1578
V 245 w Ff(})p 3387 1578 V 184 1657 a Fa(57)p 270 1691
V 3387 1691 V 184 1770 a(58)p 270 1804 V 245 w Ff(/**)p
3387 1804 V 184 1883 a Fa(59)p 270 1917 V 293 w Ff(*)f(returns)f(the)h
(private)f(key,)g(that)h(is)g(an)g(integer)f(number.)p
3387 1917 V 184 1996 a Fa(60)p 270 2030 V 293 w Ff(*/)p
3387 2030 V 184 2109 a Fa(61)p 270 2143 V 245 w Ff(protected)f
(BigInteger)g(getExponent\(\))p 3387 2143 V 184 2222
a Fa(62)p 270 2256 V 245 w Ff({)p 3387 2256 V 184 2335
a Fa(63)p 270 2368 V 436 w Ff(return)h(mExponent;)p 3387
2368 V 184 2447 a Fa(64)p 270 2481 V 245 w Ff(})p 3387
2481 V 184 2560 a Fa(65)p 270 2594 V 54 w Ff(})p 3387
2594 V 270 2619 4 25 v 3387 2619 V 270 2622 3120 4 v
eop
%%Page: 42 43
42 42 bop 390 82 a Fw(42)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
390 415 y Fz(B.3)135 b(ECElGamalGFPPublicKey)p 390 537
3120 4 v 390 562 4 25 v 3507 562 V 335 641 a Fa(1)p 390
675 4 113 v 53 w Ff(package)46 b(cdc.ec.ecelgamal;)p
3507 675 V 335 754 a Fa(2)p 390 788 V 3507 788 V 335
867 a(3)p 390 901 V 53 w Ff(import)g(java.security.*;)p
3507 901 V 335 980 a Fa(4)p 390 1014 V 53 w Ff(import)g(cdc.lidia.*;)p
3507 1014 V 335 1093 a Fa(5)p 390 1126 V 3507 1126 V
335 1205 a(6)p 390 1239 V 53 w Ff(/**)p 3507 1239 V 335
1318 a Fa(7)p 390 1352 V 101 w Ff(*)h(<code>ECElGamalGFPPublicKe)o(y</)
o(code)o(>)42 b(holds)k(the)h(public)f(part)h(of)p 3507
1352 V 335 1431 a Fa(8)p 390 1465 V 101 w Ff(*)g(an)h
(<code>ECElGamalGFP</cod)o(e>)41 b(key.)p 3507 1465 V
335 1544 a Fa(9)p 390 1578 V 101 w Ff(*)47 b(<p>)p 3507
1578 V 304 1657 a Fa(10)p 390 1691 V 102 w Ff(*)g(If)h(<code>G</code>)
43 b(is)48 b(the)f(generator)e(of)i(a)g(subgroup)f(of)h(an)p
3507 1691 V 304 1770 a Fa(11)p 390 1804 V 102 w Ff(*)g(elliptic)f
(curve)g(and)h(<code>s</code>)d(is)j(an)g(integer)f(number)g(with)p
3507 1804 V 304 1883 a Fa(12)p 390 1917 V 102 w Ff(*)h(<code>W)f(=)i
(sG</code>,)d(then)h(<code>s</code>)e(will)j(be)g(the)g(private)p
3507 1917 V 304 1996 a Fa(13)p 390 2030 V 102 w Ff(*)g(key)g(and)g
(<code>W</code>)d(will)j(be)g(the)g(public)f(key.)p 3507
2030 V 304 2109 a Fa(14)p 390 2143 V 102 w Ff(*)h(<p>)p
3507 2143 V 304 2222 a Fa(15)p 390 2256 V 102 w Ff(*)g(Here)g(the)g
(public)f(key)h(is)g(called)f(<code>Power</code>,)d(that)p
3507 2256 V 304 2335 a Fa(16)p 390 2368 V 102 w Ff(*)k(reminds)f(to)h
(the)g(<code>Discrete)d(Logarithm)h(Problem)h(\(DLP\)</code>.)p
3507 2368 V 304 2447 a Fa(17)p 390 2481 V 102 w Ff(*)h(<p>)p
3507 2481 V 304 2560 a Fa(18)p 390 2594 V 102 w Ff(*)g(The)g
(C++-library)e(for)i(calculation)e(is)i(<code>LiDIA</code>.)p
3507 2594 V 304 2673 a Fa(19)p 390 2707 V 102 w Ff(*)p
3507 2707 V 304 2786 a Fa(20)p 390 2820 V 102 w Ff(*)g(@author)f
(Markus)g(Crnjak)p 3507 2820 V 304 2899 a Fa(21)p 390
2933 V 102 w Ff(*)p 3507 2933 V 304 3012 a Fa(22)p 390
3046 V 102 w Ff(*)h(@see)g(ECElGamalGFPKey)p 3507 3046
V 304 3125 a Fa(23)p 390 3159 V 102 w Ff(*)g(@see)g
(ECElGamalGFPPrivateKey)p 3507 3159 V 304 3238 a Fa(24)p
390 3272 V 102 w Ff(*)g(@see)g(ECElGamalGFPKeyPairGener)o(ator)p
3507 3272 V 304 3351 a Fa(25)p 390 3385 V 102 w Ff(*)g(@see)g
(ECElGamalGFPBlockCipher)p 3507 3385 V 304 3464 a Fa(26)p
390 3498 V 102 w Ff(*)g(@see)g(ECElGamalGFPCipher)p 3507
3498 V 304 3577 a Fa(27)p 390 3610 V 102 w Ff(*)g(@see)g
(cdc.ec.Provider)p 3507 3610 V 304 3690 a Fa(28)p 390
3723 V 102 w Ff(*)g(@see)g(cdc.lidia.LECDomainParam)o(eter)o(sP13)o(63)
p 3507 3723 V 304 3802 a Fa(29)p 390 3836 V 102 w Ff(*/)p
3507 3836 V 304 3915 a Fa(30)p 390 3949 V 54 w Ff(public)f(class)h
(ECElGamalGFPPublicKey)p 3507 3949 V 304 4028 a Fa(31)p
390 4062 V 245 w Ff(extends)f(ECElGamalGFPKey)p 3507
4062 V 304 4141 a Fa(32)p 390 4175 V 245 w Ff(implements)f(PublicKey)p
3507 4175 V 304 4254 a Fa(33)p 390 4288 V 54 w Ff({)p
3507 4288 V 304 4367 a Fa(34)p 390 4401 V 245 w Ff(/**)p
3507 4401 V 304 4480 a Fa(35)p 390 4514 V 293 w Ff(*)i(holds)g(the)g
(public)f(key,)g(that)h(is)g(an)g(elliptic)f(curve)g(point)p
3507 4514 V 304 4593 a Fa(36)p 390 4627 V 293 w Ff(*)p
3507 4627 V 304 4706 a Fa(37)p 390 4740 V 293 w Ff(*)h(@serial)p
3507 4740 V 304 4819 a Fa(38)p 390 4852 V 293 w Ff(*/)p
3507 4852 V 304 4932 a Fa(39)p 390 4965 V 245 w Ff(private)f
(LECPointGFP)f(mPower;)p 3507 4965 V 304 5044 a Fa(40)p
390 5078 V 3507 5078 V 304 5157 a(41)p 390 5191 V 245
w Ff(/**)p 3507 5191 V 304 5270 a Fa(42)p 390 5304 V
293 w Ff(*)i(constructor,)e(that)h(sets)h(the)g(domain)f(parameters)f
(and)i(the)p 3507 5304 V 304 5383 a Fa(43)p 390 5417
V 293 w Ff(*)g(public)f(part)h(of)g(this)g(<code>ECElGamalGFPKey</c)o
(ode)o(>,)42 b(that)p 3507 5417 V 304 5496 a Fa(44)p
390 5530 V 293 w Ff(*)47 b(is)g(an)h(elliptic)d(curve)i(point)p
3507 5530 V 304 5609 a Fa(45)p 390 5643 V 293 w Ff(*)p
3507 5643 V eop
%%Page: 43 44
43 43 bop 270 82 a Fw(B.3.)62 b(ECElGamalGFPPublicKey)1722
b(43)184 415 y Fa(46)p 270 449 4 113 v 293 w Ff(*)47
b(@param)f(params)g(the)h(lECDomainParametersP1363)42
b(contains)j(the)p 3387 449 V 184 528 a Fa(47)p 270 562
V 293 w Ff(*)i(domain)f(parameters)p 3387 562 V 184 641
a Fa(48)p 270 675 V 293 w Ff(*)h(@param)f(power)h(the)g(lECPointGFP)d
(contains)i(the)h(public)f(key)p 3387 675 V 184 754 a
Fa(49)p 270 788 V 293 w Ff(*/)p 3387 788 V 184 867 a
Fa(50)p 270 901 V 245 w Ff(protected)f(ECElGamalGFPPublicKey\(LECD)o
(oma)o(inPa)o(rame)o(ter)o(sP13)o(63)p 3387 901 V 184
980 a Fa(51)p 270 1014 V 436 w Ff(params,LECPointGFP)e(power\))p
3387 1014 V 184 1093 a Fa(52)p 270 1126 V 245 w Ff({)p
3387 1126 V 184 1205 a Fa(53)p 270 1239 V 436 w Ff(super\(params\);)p
3387 1239 V 184 1318 a Fa(54)p 270 1352 V 436 w Ff(mPower)j(=)i(power;)
p 3387 1352 V 184 1431 a Fa(55)p 270 1465 V 245 w Ff(})p
3387 1465 V 184 1544 a Fa(56)p 270 1578 V 3387 1578 V
184 1657 a(57)p 270 1691 V 245 w Ff(/**)p 3387 1691 V
184 1770 a Fa(58)p 270 1804 V 293 w Ff(*)f(returns)f(the)h(public)f
(key,)h(that)f(is)i(an)f(elliptic)e(curve)i(point.)p
3387 1804 V 184 1883 a Fa(59)p 270 1917 V 293 w Ff(*/)p
3387 1917 V 184 1996 a Fa(60)p 270 2030 V 245 w Ff(protected)e
(LECPointGFP)g(getPower\(\))p 3387 2030 V 184 2109 a
Fa(61)p 270 2143 V 245 w Ff({)p 3387 2143 V 184 2222
a Fa(62)p 270 2256 V 436 w Ff(return)h(mPower;)p 3387
2256 V 184 2335 a Fa(63)p 270 2368 V 245 w Ff(})p 3387
2368 V 184 2447 a Fa(64)p 270 2481 V 54 w Ff(})p 3387
2481 V 270 2506 4 25 v 3387 2506 V 270 2509 3120 4 v
eop
%%Page: 44 45
44 44 bop 390 82 a Fw(44)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
390 415 y Fz(B.4)135 b(ECElGamalGFPKeyP)l(airGenerator)p
390 537 3120 4 v 390 562 4 25 v 3507 562 V 335 641 a
Fa(1)p 390 675 4 113 v 53 w Ff(package)46 b(cdc.ec.ecelgamal;)p
3507 675 V 335 754 a Fa(2)p 390 788 V 3507 788 V 335
867 a(3)p 390 901 V 53 w Ff(import)g(java.math.BigInteger;)p
3507 901 V 335 980 a Fa(4)p 390 1014 V 53 w Ff(import)g
(java.security.*;)p 3507 1014 V 335 1093 a Fa(5)p 390
1126 V 53 w Ff(import)g(java.security.spec.Algori)o(thmP)o(aram)o(ete)o
(rSpe)o(c;)p 3507 1126 V 335 1205 a Fa(6)p 390 1239 V
53 w Ff(import)g(cdc.lidia.*;)p 3507 1239 V 335 1318
a Fa(7)p 390 1352 V 3507 1352 V 335 1431 a(8)p 390 1465
V 53 w Ff(/**)p 3507 1465 V 335 1544 a Fa(9)p 390 1578
V 101 w Ff(*)h(<code>ECElGamalGFPKeyPairG)o(ene)o(rato)o(r</c)o(ode)o
(>)42 b(provides)j(the)p 3507 1578 V 304 1657 a Fa(10)p
390 1691 V 102 w Ff(*)i(implementation)d(to)j(generate)f(pairs)g(of)i
(<code>ECElGamalGFP</cod)o(e>)p 3507 1691 V 304 1770
a Fa(11)p 390 1804 V 102 w Ff(*)f(public)f(and)h(private)f(keys.)h
(That)f(is)h(for)g(an)g(ElGamal)f(algorithm)p 3507 1804
V 304 1883 a Fa(12)p 390 1917 V 102 w Ff(*)h(based)g(on)g(elliptic)e
(curves)i(over)f(the)h(general)f(field)g(with)p 3507
1917 V 304 1996 a Fa(13)p 390 2030 V 102 w Ff(*)h(<code>p</code>)d
(elements)i(where)g(<code>p</code>)e(is)j(a)h(prime)p
3507 2030 V 304 2109 a Fa(14)p 390 2143 V 102 w Ff(*)f(number.)p
3507 2143 V 304 2222 a Fa(15)p 390 2256 V 102 w Ff(*)g(<p>)p
3507 2256 V 304 2335 a Fa(16)p 390 2368 V 102 w Ff(*)g(If)h
(<code>G</code>)43 b(is)48 b(the)f(generator)e(of)i(a)g(subgroup)f(of)h
(an)p 3507 2368 V 304 2447 a Fa(17)p 390 2481 V 102 w
Ff(*)g(elliptic)f(curve)g(and)h(<code>s</code>)d(is)j(an)g(integer)f
(number)g(with)p 3507 2481 V 304 2560 a Fa(18)p 390 2594
V 102 w Ff(*)h(<code>W)f(=)i(sG</code>,)d(then)h(<code>s</code>)e(will)
j(be)g(the)g(private)p 3507 2594 V 304 2673 a Fa(19)p
390 2707 V 102 w Ff(*)g(key)g(and)g(<code>W</code>)d(will)j(be)g(the)g
(public)f(key.)p 3507 2707 V 304 2786 a Fa(20)p 390 2820
V 102 w Ff(*)h(<p>)p 3507 2820 V 304 2899 a Fa(21)p 390
2933 V 102 w Ff(*)g(The)g(C++-library)e(for)i(calculation)e(is)i
(<code>LiDIA</code>.)p 3507 2933 V 304 3012 a Fa(22)p
390 3046 V 102 w Ff(*)p 3507 3046 V 304 3125 a Fa(23)p
390 3159 V 102 w Ff(*)g(@author)f(Markus)g(Crnjak)p 3507
3159 V 304 3238 a Fa(24)p 390 3272 V 102 w Ff(*)p 3507
3272 V 304 3351 a Fa(25)p 390 3385 V 102 w Ff(*)h(@see)g
(ECElGamalGFPKey)p 3507 3385 V 304 3464 a Fa(26)p 390
3498 V 102 w Ff(*)g(@see)g(ECElGamalGFPPrivateKey)p 3507
3498 V 304 3577 a Fa(27)p 390 3610 V 102 w Ff(*)g(@see)g
(ECElGamalGFPPublicKey)p 3507 3610 V 304 3690 a Fa(28)p
390 3723 V 102 w Ff(*)g(@see)g(ECElGamalGFPBlockCipher)p
3507 3723 V 304 3802 a Fa(29)p 390 3836 V 102 w Ff(*)g(@see)g
(ECElGamalGFPCipher)p 3507 3836 V 304 3915 a Fa(30)p
390 3949 V 102 w Ff(*)g(@see)g(cdc.ec.Provider)p 3507
3949 V 304 4028 a Fa(31)p 390 4062 V 102 w Ff(*)g(@see)g
(cdc.lidia.LECDomainParam)o(eter)o(sP13)o(63)p 3507 4062
V 304 4141 a Fa(32)p 390 4175 V 102 w Ff(*/)p 3507 4175
V 304 4254 a Fa(33)p 390 4288 V 54 w Ff(public)f(class)h
(ECElGamalGFPKeyPairGene)o(rato)o(r)p 3507 4288 V 304
4367 a Fa(34)p 390 4401 V 245 w Ff(extends)f(KeyPairGeneratorSpi)p
3507 4401 V 304 4480 a Fa(35)p 390 4514 V 54 w Ff({)p
3507 4514 V 304 4593 a Fa(36)p 390 4627 V 245 w Ff(/**)p
3507 4627 V 304 4706 a Fa(37)p 390 4740 V 293 w Ff(*)h(holds)g(the)g
(domain)f(parameters)p 3507 4740 V 304 4819 a Fa(38)p
390 4852 V 293 w Ff(*/)p 3507 4852 V 304 4932 a Fa(39)p
390 4965 V 245 w Ff(private)g(LECDomainParametersP1363)41
b(mParams;)p 3507 4965 V 304 5044 a Fa(40)p 390 5078
V 3507 5078 V 304 5157 a(41)p 390 5191 V 245 w Ff(/**)p
3507 5191 V 304 5270 a Fa(42)p 390 5304 V 293 w Ff(*)47
b(holds)g(some)f(random)g(information)p 3507 5304 V 304
5383 a Fa(43)p 390 5417 V 293 w Ff(*/)p 3507 5417 V 304
5496 a Fa(44)p 390 5530 V 245 w Ff(private)g(SecureRandom)e
(mSecureRandom)h(=)i(null;)p 3507 5530 V 304 5609 a Fa(45)p
390 5643 V 3507 5643 V eop
%%Page: 45 46
45 45 bop 270 82 a Fw(B.4.)62 b(ECElGamalGFPKeyP)m(airGenerator)1413
b(45)184 415 y Fa(46)p 270 449 4 113 v 245 w Ff(/**)p
3387 449 V 184 528 a Fa(47)p 270 562 V 293 w Ff(*)47
b(initializes)e(this)p 3387 562 V 184 641 a Fa(48)p 270
675 V 293 w Ff(*)i(<code>ECElGamalGFPKeyPair)o(Gene)o(rato)o(r</)o
(code)o(>)42 b(with)p 3387 675 V 184 754 a Fa(49)p 270
788 V 293 w Ff(*)47 b(the)g(domain)f(parameters)f(and)i(some)g(random)f
(information.)e(This)p 3387 788 V 184 867 a Fa(50)p 270
901 V 293 w Ff(*)j(method)f(is)95 b(used)47 b(if)g(the)g(domain)f
(parameters)f(are)i(already)p 3387 901 V 184 980 a Fa(51)p
270 1014 V 293 w Ff(*)g(generated.)p 3387 1014 V 184
1093 a Fa(52)p 270 1126 V 293 w Ff(*)p 3387 1126 V 184
1205 a Fa(53)p 270 1239 V 293 w Ff(*)g(@param)f(params)g(the)h
(algorithmParameterSpec)42 b(contains)k(the)p 3387 1239
V 184 1318 a Fa(54)p 270 1352 V 293 w Ff(*)h(domain)f(parameters)p
3387 1352 V 184 1431 a Fa(55)p 270 1465 V 293 w Ff(*)h(@param)f(random)
g(the)h(secureRandom)e(contains)g(some)i(random)p 3387
1465 V 184 1544 a Fa(56)p 270 1578 V 293 w Ff(*)g(information)p
3387 1578 V 184 1657 a Fa(57)p 270 1691 V 293 w Ff(*)p
3387 1691 V 184 1770 a Fa(58)p 270 1804 V 293 w Ff(*)g(@throws)f
(InvalidAlgorithmParameter)o(Exc)o(epti)o(on)c(if)p 3387
1804 V 184 1883 a Fa(59)p 270 1917 V 293 w Ff(*)47 b
(<code>params</code>)c(is)k(not)g(an)g(instance)f(of)p
3387 1917 V 184 1996 a Fa(60)p 270 2030 V 293 w Ff(*)h
(<code>LECDomainParameters)o(P136)o(3</c)o(ode)o(>)p
3387 2030 V 184 2109 a Fa(61)p 270 2143 V 293 w Ff(*)p
3387 2143 V 184 2222 a Fa(62)p 270 2256 V 293 w Ff(*)g(@see)g
(cdc.lidia.LECDomainParam)o(eter)o(sP1)o(363)p 3387 2256
V 184 2335 a Fa(63)p 270 2368 V 293 w Ff(*/)p 3387 2368
V 184 2447 a Fa(64)p 270 2481 V 245 w Ff(public)f(void)h
(initialize\(AlgorithmPara)o(met)o(erSp)o(ec)42 b(params,)p
3387 2481 V 184 2560 a Fa(65)p 270 2594 V 341 w Ff(SecureRandom)i
(random\))p 3387 2594 V 184 2673 a Fa(66)p 270 2707 V
436 w Ff(throws)i(InvalidAlgorithmParameter)o(Exc)o(epti)o(on)p
3387 2707 V 184 2786 a Fa(67)p 270 2820 V 245 w Ff({)p
3387 2820 V 184 2899 a Fa(68)p 270 2933 V 436 w Ff(//)h(checks)f(the)h
(domain)f(parameters)p 3387 2933 V 184 3012 a Fa(69)p
270 3046 V 436 w Ff(if)h(\(!\(params)e(instanceof)g
(LECDomainParametersP1363\)\))p 3387 3046 V 184 3125
a Fa(70)p 270 3159 V 627 w Ff({)p 3387 3159 V 184 3238
a Fa(71)p 270 3272 V 818 w Ff(throw)h(new)h(InvalidAlgorithmParameter)o
(Exc)o(epti)o(on\()p 3387 3272 V 184 3351 a Fa(72)p 270
3385 V 913 w Ff("in)g(ECElGamalGFPKeyPairGenera)o(tor:)41
b(initialize:")p 3387 3385 V 184 3464 a Fa(73)p 270 3498
V 913 w Ff(+)48 b(")f(params)f(is)h(not)g(an)h(instance)d(of")p
3387 3498 V 184 3577 a Fa(74)p 270 3610 V 913 w Ff(+)j(")f
(LECDomainParametersP1363")o(\);)p 3387 3610 V 184 3689
a Fa(75)p 270 3723 V 627 w Ff(})p 3387 3723 V 184 3802
a Fa(76)p 270 3836 V 3387 3836 V 184 3915 a(77)p 270
3949 V 436 w Ff(//)g(sets)g(the)g(fields)p 3387 3949
V 184 4028 a Fa(78)p 270 4062 V 436 w Ff(mParams)f(=)h
(\(LECDomainParametersP1363)o(\)par)o(ams;)p 3387 4062
V 184 4141 a Fa(79)p 270 4175 V 436 w Ff(mSecureRandom)d(=)k(random;)p
3387 4175 V 184 4254 a Fa(80)p 270 4288 V 245 w Ff(})p
3387 4288 V 184 4367 a Fa(81)p 270 4401 V 3387 4401 V
184 4480 a(82)p 270 4514 V 245 w Ff(/**)p 3387 4514 V
184 4593 a Fa(83)p 270 4627 V 293 w Ff(*)f(initializes)e(this)p
3387 4627 V 184 4706 a Fa(84)p 270 4740 V 293 w Ff(*)i
(<code>ECElGamalGFPKeyPair)o(Gene)o(rato)o(r</)o(code)o(>)42
b(for)47 b(a)g(certain)p 3387 4740 V 184 4819 a Fa(85)p
270 4852 V 293 w Ff(*)g(strength)f(with)g(some)h(random)f(information.)
f(The)i(parameter)p 3387 4852 V 184 4932 a Fa(86)p 270
4965 V 293 w Ff(*)g(<code>strength</code>)42 b(is)47
b(interpreted)e(as)i(the)g(modulus)f(of)p 3387 4965 V
184 5044 a Fa(87)p 270 5078 V 293 w Ff(*)h(the)g(curve.)f(For)h(the)g
(cofactor)f(the)h(value)f(of)h(10)g(percent)f(is)p 3387
5078 V 184 5157 a Fa(88)p 270 5191 V 293 w Ff(*)h(set.)p
3387 5191 V 184 5270 a Fa(89)p 270 5304 V 293 w Ff(*)p
3387 5304 V 184 5383 a Fa(90)p 270 5417 V 293 w Ff(*)g(@param)f(size)h
(the)g(strength)e(of)j(the)f(keys)p 3387 5417 V 184 5496
a Fa(91)p 270 5530 V 293 w Ff(*)g(@param)f(random)g(the)h(secureRandom)
e(contains)g(random)p 3387 5530 V 184 5609 a Fa(92)p
270 5643 V 293 w Ff(*)i(information)p 3387 5643 V eop
%%Page: 46 47
46 46 bop 390 82 a Fw(46)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
304 415 y Fa(93)p 390 449 4 113 v 293 w Ff(*/)p 3507
449 V 304 528 a Fa(94)p 390 562 V 245 w Ff(public)46
b(void)h(initialize\(int)d(size,)i(SecureRandom)f(random\))p
3507 562 V 304 641 a Fa(95)p 390 675 V 245 w Ff({)p 3507
675 V 304 754 a Fa(96)p 390 788 V 436 w Ff(try)p 3507
788 V 304 867 a Fa(97)p 390 901 V 627 w Ff({)p 3507 901
V 304 980 a Fa(98)p 390 1014 V 818 w Ff(//)i(generates)e(the)i(domain)f
(parameters)f(with)i(default)p 3507 1014 V 304 1093 a
Fa(99)p 390 1126 V 818 w Ff(//)g(values)p 3507 1126 V
274 1205 a Fa(100)p 390 1239 V 818 w Ff(LBigInt)f(field)g(=)h(new)g
(LBigInt\(1\);)p 3507 1239 V 274 1318 a Fa(101)p 390
1352 V 818 w Ff(LBigInt)f(bitsize)f(=)j(new)f(LBigInt\(size\);)p
3507 1352 V 274 1431 a Fa(102)p 390 1465 V 818 w Ff(LBigInt)f
(percentage)f(=)i(new)g(LBigInt\(10\);)p 3507 1465 V
274 1544 a Fa(103)p 390 1578 V 818 w Ff(LBigInt)f(info)g(=)i(new)f
(LBigInt\(0\);)p 3507 1578 V 274 1657 a Fa(104)p 390
1691 V 818 w Ff(mParams)f(=)h(new)g(LECDomainParametersP1363)o(\(fie)o
(ld,)p 3507 1691 V 274 1770 a Fa(105)p 390 1804 V 913
w Ff(bitsize,percentage,info\);)p 3507 1804 V 274 1883
a Fa(106)p 390 1917 V 3507 1917 V 274 1996 a(107)p 390
2030 V 818 w Ff(//)g(sets)g(the)g(remaining)e(field)p
3507 2030 V 274 2109 a Fa(108)p 390 2143 V 818 w Ff(mSecureRandom)f(=)j
(random;)p 3507 2143 V 274 2222 a Fa(109)p 390 2256 V
627 w Ff(})p 3507 2256 V 274 2335 a Fa(110)p 390 2368
V 436 w Ff(catch)f(\(LiDIAError)f(lError\))p 3507 2368
V 274 2447 a Fa(111)p 390 2481 V 627 w Ff({)p 3507 2481
V 274 2560 a Fa(112)p 390 2594 V 818 w Ff(//)i(if)g(an)g(error)g
(occurred)p 3507 2594 V 274 2673 a Fa(113)p 390 2707
V 818 w Ff(System.out.println\(lErro)o(r.t)o(oStr)o(ing\()o(\)\);)p
3507 2707 V 274 2786 a Fa(114)p 390 2820 V 818 w Ff(System.exit\(0\);)p
3507 2820 V 274 2899 a Fa(115)p 390 2933 V 627 w Ff(})p
3507 2933 V 274 3012 a Fa(116)p 390 3046 V 245 w Ff(})p
3507 3046 V 274 3125 a Fa(117)p 390 3159 V 3507 3159
V 274 3238 a(118)p 390 3272 V 245 w Ff(/**)p 3507 3272
V 274 3351 a Fa(119)p 390 3385 V 293 w Ff(*)g(generates)f(a)h
(<code>KeyPair</code>)42 b(of)47 b(an)p 3507 3385 V 274
3464 a Fa(120)p 390 3498 V 293 w Ff(*)g(<code>ECElGamalGFPPrivate)o
(Key<)o(/cod)o(e>)41 b(and)47 b(an)p 3507 3498 V 274
3577 a Fa(121)p 390 3610 V 293 w Ff(*)g(<code>ECElGamalGFPPublicK)o
(ey</)o(code)o(>)42 b(and)47 b(returns)e(it)p 3507 3610
V 274 3689 a Fa(122)p 390 3723 V 293 w Ff(*/)p 3507 3723
V 274 3802 a Fa(123)p 390 3836 V 245 w Ff(public)h(KeyPair)g
(generateKeyPair\(\))p 3507 3836 V 274 3915 a Fa(124)p
390 3949 V 245 w Ff({)p 3507 3949 V 274 4028 a Fa(125)p
390 4062 V 436 w Ff(//)h(initialization)d(if)j(necessary)p
3507 4062 V 274 4141 a Fa(126)p 390 4175 V 436 w Ff(if)g
(\(mSecureRandom)d(==)j(null\))p 3507 4175 V 274 4254
a Fa(127)p 390 4288 V 627 w Ff({)p 3507 4288 V 274 4367
a Fa(128)p 390 4401 V 818 w Ff(try)p 3507 4401 V 274
4480 a Fa(129)p 390 4514 V 1009 w Ff({)p 3507 4514 V
274 4593 a Fa(130)p 390 4627 V 1200 w Ff(//)g(generates)e(the)i(domain)
f(parameters)f(with)p 3507 4627 V 274 4706 a Fa(131)p
390 4740 V 1200 w Ff(//)i(default)f(values)p 3507 4740
V 274 4819 a Fa(132)p 390 4852 V 1200 w Ff(LBigInt)f(field)i(=)g(new)g
(LBigInt\(1\);)p 3507 4852 V 274 4932 a Fa(133)p 390
4965 V 1200 w Ff(LBigInt)e(bitsize)h(=)i(new)f(LBigInt\(200\);)p
3507 4965 V 274 5044 a Fa(134)p 390 5078 V 1200 w Ff(LBigInt)e
(percentage)g(=)j(new)f(LBigInt\(10\);)p 3507 5078 V
274 5157 a Fa(135)p 390 5191 V 1200 w Ff(LBigInt)e(info)i(=)h(new)e
(LBigInt\(0\);)p 3507 5191 V 274 5270 a Fa(136)p 390
5304 V 1200 w Ff(mParams)f(=)j(new)f(LECDomainParametersP1363)o(\()p
3507 5304 V 274 5383 a Fa(137)p 390 5417 V 1295 w Ff
(field,bitsize,percentage,)o(inf)o(o\);)p 3507 5417 V
274 5496 a Fa(138)p 390 5530 V 3507 5530 V 274 5609 a(139)p
390 5643 V 1200 w Ff(//)g(sets)f(the)h(remaining)f(field)p
3507 5643 V eop
%%Page: 47 48
47 47 bop 270 82 a Fw(B.4.)62 b(ECElGamalGFPKeyP)m(airGenerator)1413
b(47)154 415 y Fa(140)p 270 449 4 113 v 1200 w Ff(mSecureRandom)44
b(=)j(new)g(SecureRandom\(\);)p 3387 449 V 154 528 a
Fa(141)p 270 562 V 1009 w Ff(})p 3387 562 V 154 641 a
Fa(142)p 270 675 V 818 w Ff(catch)f(\(LiDIAError)f(lError\))p
3387 675 V 154 754 a Fa(143)p 270 788 V 1009 w Ff({)p
3387 788 V 154 867 a Fa(144)p 270 901 V 1200 w Ff(//)i(if)g(an)g(error)
g(occurred)p 3387 901 V 154 980 a Fa(145)p 270 1014 V
1200 w Ff(System.out.println\(lErr)o(or.t)o(oSt)o(ring)o(\(\)\);)p
3387 1014 V 154 1093 a Fa(146)p 270 1126 V 1200 w Ff(System.exit\(0\);)
p 3387 1126 V 154 1205 a Fa(147)p 270 1239 V 1009 w Ff(})p
3387 1239 V 154 1318 a Fa(148)p 270 1352 V 627 w Ff(})p
3387 1352 V 154 1431 a Fa(149)p 270 1465 V 3387 1465
V 154 1544 a(150)p 270 1578 V 436 w Ff(//)g(find)g(a)g(private)f(key)h
(s)g(with)g(0)h(<)f(s)g(<)h(order)e(of)h(the)p 3387 1578
V 154 1657 a Fa(151)p 270 1691 V 436 w Ff(//)g(generator)p
3387 1691 V 154 1770 a Fa(152)p 270 1804 V 436 w Ff(BigInteger)e
(upperBound)g(=)i(\(new)g(LBigInt\(mParams.getR\(\)\)\).)p
3387 1804 V 154 1883 a Fa(153)p 270 1917 V 531 w Ff(toBigInteger\(\);)p
3387 1917 V 154 1996 a Fa(154)p 270 2030 V 436 w Ff(BigInteger)e(s)i(=)
h(new)f(BigInteger\(upperBound.bi)o(tLe)o(ngth)o(\(\)-1)o(,)p
3387 2030 V 154 2109 a Fa(155)p 270 2143 V 531 w Ff(mSecureRandom\);)p
3387 2143 V 154 2222 a Fa(156)p 270 2256 V 3387 2256
V 154 2335 a(157)p 270 2368 V 436 w Ff(//)g(construction)e(of)i(the)g
(the)g(key)g(pair)p 3387 2368 V 154 2447 a Fa(158)p 270
2481 V 436 w Ff(ECElGamalGFPPrivateKey)42 b(privateKey)j(=)i(new)p
3387 2481 V 154 2560 a Fa(159)p 270 2594 V 531 w Ff
(ECElGamalGFPPrivateKey\(mPa)o(rams)o(,s\))o(;)p 3387
2594 V 154 2673 a Fa(160)p 270 2707 V 436 w Ff(ECElGamalGFPPublicKey)42
b(publicKey)j(=)j(new)p 3387 2707 V 154 2786 a Fa(161)p
270 2820 V 531 w Ff(ECElGamalGFPPublicKey\(mPar)o(ams,)o(mPa)o(rams)o
(.get)o(G\(\))o(.mul)o(tipl)o(y\()p 3387 2820 V 154 2899
a Fa(162)p 270 2933 V 627 w Ff(new)f(LBigInt\(s\)\)\);)p
3387 2933 V 154 3012 a Fa(163)p 270 3046 V 3387 3046
V 154 3125 a(164)p 270 3159 V 436 w Ff(//)g(and)g(back)p
3387 3159 V 154 3238 a Fa(165)p 270 3272 V 436 w Ff(return)f(new)h
(KeyPair\(publicKey,privat)o(eKey)o(\);)p 3387 3272 V
154 3351 a Fa(166)p 270 3385 V 245 w Ff(})p 3387 3385
V 154 3464 a Fa(167)p 270 3498 V 54 w Ff(})p 3387 3498
V 270 3522 4 25 v 3387 3522 V 270 3525 3120 4 v eop
%%Page: 48 49
48 48 bop 390 82 a Fw(48)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
390 415 y Fz(B.5)135 b(ECElGamalGFPBlo)t(c)l(kCipher)p
390 537 3120 4 v 390 562 4 25 v 3507 562 V 335 641 a
Fa(1)p 390 675 4 113 v 53 w Ff(package)46 b(cdc.ec.ecelgamal;)p
3507 675 V 335 754 a Fa(2)p 390 788 V 3507 788 V 335
867 a(3)p 390 901 V 53 w Ff(import)g(java.math.BigInteger;)p
3507 901 V 335 980 a Fa(4)p 390 1014 V 53 w Ff(import)g
(java.security.*;)p 3507 1014 V 335 1093 a Fa(5)p 390
1126 V 53 w Ff(import)g(java.security.spec.*;)p 3507
1126 V 335 1205 a Fa(6)p 390 1239 V 53 w Ff(import)g(javax.crypto.*;)p
3507 1239 V 335 1318 a Fa(7)p 390 1352 V 3507 1352 V
335 1431 a(8)p 390 1465 V 53 w Ff(/**)p 3507 1465 V 335
1544 a Fa(9)p 390 1578 V 101 w Ff(*)h(<code>ECElGamalGFPBlockCip)o(her)
o(</co)o(de>)41 b(supplies)46 b(the)h(block)p 3507 1578
V 304 1657 a Fa(10)p 390 1691 V 102 w Ff(*)g(handling)f(for)h(block)f
(ciphers.)g(It)h(implements)e(a)i(buffering)f(scheme)p
3507 1691 V 304 1770 a Fa(11)p 390 1804 V 102 w Ff(*)h(by)h(storing)d
(the)i(data)g(in)g(an)g(internal)f(buffer.)p 3507 1804
V 304 1883 a Fa(12)p 390 1917 V 102 w Ff(*)h(<p>)p 3507
1917 V 304 1996 a Fa(13)p 390 2030 V 102 w Ff(*)g(The)g(two)g(abstract)
f(methods)g(<code>engineTransformBl)o(ock)o(</co)o(de>)p
3507 2030 V 304 2109 a Fa(14)p 390 2143 V 102 w Ff(*)h(and)g
(<code>engineTransformBloc)o(kFin)o(al</)o(cod)o(e>)42
b(have)k(to)h(be)p 3507 2143 V 304 2222 a Fa(15)p 390
2256 V 102 w Ff(*)g(implemented)e(by)i(subclasses)e(of)p
3507 2256 V 304 2335 a Fa(16)p 390 2368 V 102 w Ff(*)i
(<code>ECElGamalGFPBlockCip)o(her)o(</co)o(de>.)p 3507
2368 V 304 2447 a Fa(17)p 390 2481 V 102 w Ff(*)g(<p>)p
3507 2481 V 304 2560 a Fa(18)p 390 2594 V 102 w Ff(*)g(Parts)g(of)g
(the)g(code)f(and)h(the)g(comments)f(are)h(taken)f(from)h(the)g(book)p
3507 2594 V 304 2673 a Fa(19)p 390 2707 V 102 w Ff(*)g
(<code>JCA</code>)d(by)j(<code>Jonathan)d(Knudsen</code>,)f(which)k
(was)p 3507 2707 V 304 2786 a Fa(20)p 390 2820 V 102
w Ff(*)g(published)f(by)h(<code>o'reilly)d(\(ISBN)i
(1-56592-402-9\)</code>)c(in)p 3507 2820 V 304 2899 a
Fa(21)p 390 2933 V 102 w Ff(*)47 b(1998.)p 3507 2933
V 304 3012 a Fa(22)p 390 3046 V 102 w Ff(*)p 3507 3046
V 304 3125 a Fa(23)p 390 3159 V 102 w Ff(*)g(@author)f(Markus)g(Crnjak)
p 3507 3159 V 304 3238 a Fa(24)p 390 3272 V 102 w Ff(*)p
3507 3272 V 304 3351 a Fa(25)p 390 3385 V 102 w Ff(*)h(@see)g
(ECElGamalGFPKey)p 3507 3385 V 304 3464 a Fa(26)p 390
3498 V 102 w Ff(*)g(@see)g(ECElGamalGFPPrivateKey)p 3507
3498 V 304 3577 a Fa(27)p 390 3610 V 102 w Ff(*)g(@see)g
(ECElGamalGFPPublicKey)p 3507 3610 V 304 3690 a Fa(28)p
390 3723 V 102 w Ff(*)g(@see)g(ECElGamalGFPKeyPairGener)o(ator)p
3507 3723 V 304 3802 a Fa(29)p 390 3836 V 102 w Ff(*)g(@see)g
(ECElGamalGFPCipher)p 3507 3836 V 304 3915 a Fa(30)p
390 3949 V 102 w Ff(*)g(@see)g(cdc.ec.Provider)p 3507
3949 V 304 4028 a Fa(31)p 390 4062 V 102 w Ff(*)g(@see)g
(cdc.lidia.LECDomainParam)o(eter)o(sP13)o(63)p 3507 4062
V 304 4141 a Fa(32)p 390 4175 V 102 w Ff(*/)p 3507 4175
V 304 4254 a Fa(33)p 390 4288 V 54 w Ff(public)f(abstract)g(class)g
(ECElGamalGFPBlockCipher)p 3507 4288 V 304 4367 a Fa(34)p
390 4401 V 245 w Ff(extends)g(CipherSpi)p 3507 4401 V
304 4480 a Fa(35)p 390 4514 V 54 w Ff({)p 3507 4514 V
304 4593 a Fa(36)p 390 4627 V 245 w Ff(/**)p 3507 4627
V 304 4706 a Fa(37)p 390 4740 V 293 w Ff(*)h(This)g(method)f(is)h
(called)f(whenever)g(a)h(full)g(block)f(needs)h(to)g(be)p
3507 4740 V 304 4819 a Fa(38)p 390 4852 V 293 w Ff(*)g(encrypted)f(or)h
(decrypted.)p 3507 4852 V 304 4932 a Fa(39)p 390 4965
V 293 w Ff(*)g(<p>)p 3507 4965 V 304 5044 a Fa(40)p 390
5078 V 293 w Ff(*)g(It)g(has)g(to)h(be)f(implemented)d(by)k(subclasses)
d(of)p 3507 5078 V 304 5157 a Fa(41)p 390 5191 V 293
w Ff(*)i(<code>ECElGamalGFPBlockCi)o(pher)o(</co)o(de>)o(.)p
3507 5191 V 304 5270 a Fa(42)p 390 5304 V 293 w Ff(*)g(<p>)p
3507 5304 V 304 5383 a Fa(43)p 390 5417 V 293 w Ff(*)g(The)g(input)g
(block)f(of)h(<code>inputLength</code>)41 b(bytes)47
b(has)g(to)p 3507 5417 V 304 5496 a Fa(44)p 390 5530
V 293 w Ff(*)g(be)g(supplied)f(in)h(the)g(bytearray)e
(<code>input</code>,)e(starting)p 3507 5530 V 304 5609
a Fa(45)p 390 5643 V 293 w Ff(*)k(at)g(<code>inputOffset</code>.)41
b(The)47 b(output)f(ought)h(to)g(be)p 3507 5643 V eop
%%Page: 49 50
49 49 bop 270 82 a Fw(B.5.)62 b(ECElGamalGFPBlo)s(c)m(kCipher)1644
b(49)184 415 y Fa(46)p 270 449 4 113 v 293 w Ff(*)47
b(written)f(in)h(the)g(bytearray)e(<code>output</code>,)e(starting)i
(at)p 3387 449 V 184 528 a Fa(47)p 270 562 V 293 w Ff(*)i
(<code>outputOffset</code>)o(.)p 3387 562 V 184 641 a
Fa(48)p 270 675 V 293 w Ff(*)p 3387 675 V 184 754 a Fa(49)p
270 788 V 293 w Ff(*)g(@param)f(input)h(the)g(bytearray)e(contains)g
(the)i(input)p 3387 788 V 184 867 a Fa(50)p 270 901 V
293 w Ff(*)g(@param)f(inputOffset)f(the)i(position)f(where)g(the)h
(input)f(starts)p 3387 901 V 184 980 a Fa(51)p 270 1014
V 293 w Ff(*)h(@param)f(inputLength)f(the)i(length)f(of)h(the)g(input)p
3387 1014 V 184 1093 a Fa(52)p 270 1126 V 293 w Ff(*)g(@param)f(output)
g(the)h(bytearray)f(will)g(hold)h(the)g(output)p 3387
1126 V 184 1205 a Fa(53)p 270 1239 V 293 w Ff(*)g(@param)f
(outputOffset)f(the)i(position)e(where)i(the)g(output)f(will)p
3387 1239 V 184 1318 a Fa(54)p 270 1352 V 293 w Ff(*)h(start)p
3387 1352 V 184 1431 a Fa(55)p 270 1465 V 293 w Ff(*)p
3387 1465 V 184 1544 a Fa(56)p 270 1578 V 293 w Ff(*)g(@throws)f
(ShortBufferException)c(if)48 b(the)e(output)h(array)f(is)h(too)p
3387 1578 V 184 1657 a Fa(57)p 270 1691 V 293 w Ff(*)g(small)p
3387 1691 V 184 1770 a Fa(58)p 270 1804 V 293 w Ff(*)p
3387 1804 V 184 1883 a Fa(59)p 270 1917 V 293 w Ff(*)g(@return)f(the)h
(number)f(of)h(bytes)g(written)p 3387 1917 V 184 1996
a Fa(60)p 270 2030 V 293 w Ff(*/)p 3387 2030 V 184 2109
a Fa(61)p 270 2143 V 245 w Ff(protected)e(abstract)h(int)h
(engineTransformBlock\(byt)o(e[])41 b(input,)p 3387 2143
V 184 2222 a Fa(62)p 270 2256 V 341 w Ff(int)46 b(inputOffset,int)e
(inputLength,byte[])f(output,)p 3387 2256 V 184 2335
a Fa(63)p 270 2368 V 341 w Ff(int)j(outputOffset\))p
3387 2368 V 184 2447 a Fa(64)p 270 2481 V 436 w Ff(throws)g
(ShortBufferException;)p 3387 2481 V 184 2560 a Fa(65)p
270 2594 V 3387 2594 V 184 2673 a(66)p 270 2707 V 245
w Ff(/**)p 3387 2707 V 184 2786 a Fa(67)p 270 2820 V
293 w Ff(*)h(This)g(method)f(is)h(called)f(whenever)g(the)h(last)f
(block)h(needs)f(to)h(be)p 3387 2820 V 184 2899 a Fa(68)p
270 2933 V 293 w Ff(*)g(encrypted)f(or)h(decrypted.)e(The)i(input)f
(can)h(be)g(shorter)f(than)h(one)p 3387 2933 V 184 3012
a Fa(69)p 270 3046 V 293 w Ff(*)g(block.)p 3387 3046
V 184 3125 a Fa(70)p 270 3159 V 293 w Ff(*)g(<p>)p 3387
3159 V 184 3238 a Fa(71)p 270 3272 V 293 w Ff(*)g(It)g(has)g(to)h(be)f
(implemented)d(by)k(subclasses)d(of)p 3387 3272 V 184
3351 a Fa(72)p 270 3385 V 293 w Ff(*)i(<code>ECElGamalGFPBlockCi)o
(pher)o(</co)o(de>)o(.)p 3387 3385 V 184 3464 a Fa(73)p
270 3498 V 293 w Ff(*)g(<p>)p 3387 3498 V 184 3577 a
Fa(74)p 270 3610 V 293 w Ff(*)g(The)g(input)g(of)g
(<code>inputLength</code)o(>)42 b(bytes)k(has)h(to)g(be)p
3387 3610 V 184 3689 a Fa(75)p 270 3723 V 293 w Ff(*)g(supplied)f(in)h
(the)g(bytearray)e(<code>input</code>,)e(starting)i(at)p
3387 3723 V 184 3802 a Fa(76)p 270 3836 V 293 w Ff(*)i
(<code>inputOffset</code>.)41 b(The)47 b(output)f(ought)h(to)g(be)g
(written)p 3387 3836 V 184 3915 a Fa(77)p 270 3949 V
293 w Ff(*)g(in)g(the)g(bytearray)f(<code>output</code>,)c(starting)j
(at)p 3387 3949 V 184 4028 a Fa(78)p 270 4062 V 293 w
Ff(*)i(<code>outputOffset</code>)o(.)p 3387 4062 V 184
4141 a Fa(79)p 270 4175 V 293 w Ff(*)p 3387 4175 V 184
4254 a Fa(80)p 270 4288 V 293 w Ff(*)g(@param)f(input)h(the)g
(bytearray)e(contains)g(the)i(input)p 3387 4288 V 184
4367 a Fa(81)p 270 4401 V 293 w Ff(*)g(@param)f(inputOffset)f(the)i
(position)f(where)g(the)h(input)f(starts)p 3387 4401
V 184 4480 a Fa(82)p 270 4514 V 293 w Ff(*)h(@param)f(inputLength)f
(the)i(length)f(of)h(the)g(input)p 3387 4514 V 184 4593
a Fa(83)p 270 4627 V 293 w Ff(*)g(@param)f(output)g(the)h(bytearray)f
(will)g(hold)h(the)g(output)p 3387 4627 V 184 4706 a
Fa(84)p 270 4740 V 293 w Ff(*)g(@param)f(outputOffset)f(the)i(position)
e(where)i(the)g(output)f(will)p 3387 4740 V 184 4819
a Fa(85)p 270 4852 V 293 w Ff(*)h(start)p 3387 4852 V
184 4932 a Fa(86)p 270 4965 V 293 w Ff(*)p 3387 4965
V 184 5044 a Fa(87)p 270 5078 V 293 w Ff(*)g(@throws)f
(ShortBufferException)c(if)48 b(the)e(output)h(array)f(is)h(too)p
3387 5078 V 184 5157 a Fa(88)p 270 5191 V 293 w Ff(*)g(small)p
3387 5191 V 184 5270 a Fa(89)p 270 5304 V 293 w Ff(*)p
3387 5304 V 184 5383 a Fa(90)p 270 5417 V 293 w Ff(*)g(@return)f(the)h
(number)f(of)h(bytes)g(written)p 3387 5417 V 184 5496
a Fa(91)p 270 5530 V 293 w Ff(*/)p 3387 5530 V 184 5609
a Fa(92)p 270 5643 V 245 w Ff(protected)e(abstract)h(int)h
(engineTransformBlockFina)o(l)p 3387 5643 V eop
%%Page: 50 51
50 50 bop 390 82 a Fw(50)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
304 415 y Fa(93)p 390 449 4 113 v 341 w Ff(\(byte[])45
b(input,int)h(inputOffset,int)d(inputLength,)p 3507 449
V 304 528 a Fa(94)p 390 562 V 341 w Ff(byte[])j(output,int)f
(outputOffset\))p 3507 562 V 304 641 a Fa(95)p 390 675
V 436 w Ff(throws)h(ShortBufferException;)p 3507 675
V 304 754 a Fa(96)p 390 788 V 3507 788 V 304 867 a(97)p
390 901 V 245 w Ff(/**)p 3507 901 V 304 980 a Fa(98)p
390 1014 V 293 w Ff(*)h(holds)g(the)g(buffered)e(data)p
3507 1014 V 304 1093 a Fa(99)p 390 1126 V 293 w Ff(*/)p
3507 1126 V 274 1205 a Fa(100)p 390 1239 V 245 w Ff(protected)g(byte[])
h(mBufferedData;)p 3507 1239 V 274 1318 a Fa(101)p 390
1352 V 3507 1352 V 274 1431 a(102)p 390 1465 V 245 w
Ff(/**)p 3507 1465 V 274 1544 a Fa(103)p 390 1578 V 293
w Ff(*)h(holds)g(the)g(length)f(of)h(the)g(buffered)e(data)p
3507 1578 V 274 1657 a Fa(104)p 390 1691 V 293 w Ff(*/)p
3507 1691 V 274 1770 a Fa(105)p 390 1804 V 245 w Ff(protected)g(int)i
(mBufferedLength;)p 3507 1804 V 274 1883 a Fa(106)p 390
1917 V 3507 1917 V 274 1996 a(107)p 390 2030 V 245 w
Ff(/**)p 3507 2030 V 274 2109 a Fa(108)p 390 2143 V 293
w Ff(*)g(checks)f(if)i(the)e(internal)g(buffer)g(exists.)g(If)h(not,)g
(or)g(if)g(it)p 3507 2143 V 274 2222 a Fa(109)p 390 2256
V 293 w Ff(*)g(has)g(not)g(the)g(same)g(length)f(as)h(the)g(block)f
(size,)h(a)g(new)g(buffer)p 3507 2256 V 274 2335 a Fa(110)p
390 2368 V 293 w Ff(*)g(will)g(be)g(created.)p 3507 2368
V 274 2447 a Fa(111)p 390 2481 V 293 w Ff(*/)p 3507 2481
V 274 2560 a Fa(112)p 390 2594 V 245 w Ff(protected)e(void)i
(checkBufferedData\(\))p 3507 2594 V 274 2673 a Fa(113)p
390 2707 V 245 w Ff({)p 3507 2707 V 274 2786 a Fa(114)p
390 2820 V 436 w Ff(//)g(checks)f(the)h(state)g(of)g(the)g(buffer)p
3507 2820 V 274 2899 a Fa(115)p 390 2933 V 436 w Ff(if)g
(\(mBufferedData)d(==)j(null)g(||)p 3507 2933 V 274 3012
a Fa(116)p 390 3046 V 627 w Ff(mBufferedData.length)42
b(!=)47 b(engineGetBlockSize\(\)\))p 3507 3046 V 274
3125 a Fa(117)p 390 3159 V 627 w Ff({)p 3507 3159 V 274
3238 a Fa(118)p 390 3272 V 818 w Ff(//)g(creates)f(it)h(if)g(necessary)
p 3507 3272 V 274 3351 a Fa(119)p 390 3385 V 818 w Ff(mBufferedData)d
(=)j(new)g(byte[engineGetBlockSize\(\)])o(;)p 3507 3385
V 274 3464 a Fa(120)p 390 3498 V 818 w Ff(mBufferedLength)c(=)48
b(0;)p 3507 3498 V 274 3577 a Fa(121)p 390 3610 V 627
w Ff(})p 3507 3610 V 274 3689 a Fa(122)p 390 3723 V 245
w Ff(})p 3507 3723 V 274 3802 a Fa(123)p 390 3836 V 3507
3836 V 274 3915 a(124)p 390 3949 V 245 w Ff(/**)p 3507
3949 V 274 4028 a Fa(125)p 390 4062 V 293 w Ff(*)f(returns)f(the)h
(length)f(of)h(the)g(data)g(stored)f(in)h(the)g(buffer)p
3507 4062 V 274 4141 a Fa(126)p 390 4175 V 293 w Ff(*/)p
3507 4175 V 274 4254 a Fa(127)p 390 4288 V 245 w Ff(protected)e(int)i
(getBufferedDataLength\(\))p 3507 4288 V 274 4367 a Fa(128)p
390 4401 V 245 w Ff({)p 3507 4401 V 274 4480 a Fa(129)p
390 4514 V 436 w Ff(checkBufferedData\(\);)p 3507 4514
V 274 4593 a Fa(130)p 390 4627 V 436 w Ff(return)f(mBufferedLength;)p
3507 4627 V 274 4706 a Fa(131)p 390 4740 V 245 w Ff(})p
3507 4740 V 274 4819 a Fa(132)p 390 4852 V 3507 4852
V 274 4932 a(133)p 390 4965 V 245 w Ff(/**)p 3507 4965
V 274 5044 a Fa(134)p 390 5078 V 293 w Ff(*)h(copies)f(the)h(stored)f
(data)h(in)g(the)g(supplied)f(bytearray)p 3507 5078 V
274 5157 a Fa(135)p 390 5191 V 293 w Ff(*)h(<code>output</code>)c(and)k
(the)g(internal)e(buffer)h(is)h(reset.)p 3507 5191 V
274 5270 a Fa(136)p 390 5304 V 293 w Ff(*)p 3507 5304
V 274 5383 a Fa(137)p 390 5417 V 293 w Ff(*)g(@param)f(output)g(the)h
(bytearray)f(will)g(hold)h(the)g(data)p 3507 5417 V 274
5496 a Fa(138)p 390 5530 V 293 w Ff(*)g(@param)f(outputOffset)f(the)i
(position)e(where)i(the)g(data)f(will)p 3507 5530 V 274
5609 a Fa(139)p 390 5643 V 293 w Ff(*)h(start)p 3507
5643 V eop
%%Page: 51 52
51 51 bop 270 82 a Fw(B.5.)62 b(ECElGamalGFPBlo)s(c)m(kCipher)1644
b(51)154 415 y Fa(140)p 270 449 4 113 v 293 w Ff(*/)p
3387 449 V 154 528 a Fa(141)p 270 562 V 245 w Ff(protected)45
b(void)i(getBufferedData\(byte[])42 b(output,int)j(offset\))p
3387 562 V 154 641 a Fa(142)p 270 675 V 245 w Ff({)p
3387 675 V 154 754 a Fa(143)p 270 788 V 436 w Ff(//)i(extracts)f(the)h
(data)p 3387 788 V 154 867 a Fa(144)p 270 901 V 436 w
Ff(checkBufferedData\(\);)p 3387 901 V 154 980 a Fa(145)p
270 1014 V 436 w Ff(System.arraycopy\(mBuffer)o(edDa)o(ta,0)o(,ou)o
(tput)o(,off)o(set)o(,)p 3387 1014 V 154 1093 a Fa(146)p
270 1126 V 531 w Ff(mBufferedLength\);)p 3387 1126 V
154 1205 a Fa(147)p 270 1239 V 436 w Ff(mBufferedLength)d(=)j(0;)p
3387 1239 V 154 1318 a Fa(148)p 270 1352 V 245 w Ff(})p
3387 1352 V 154 1431 a Fa(149)p 270 1465 V 3387 1465
V 154 1544 a(150)p 270 1578 V 245 w Ff(/**)p 3387 1578
V 154 1657 a Fa(151)p 270 1691 V 293 w Ff(*)g(adds)g(the)g(data)f(of)i
(length)e(<code>length</code>)c(stored)k(in)i(the)p 3387
1691 V 154 1770 a Fa(152)p 270 1804 V 293 w Ff(*)f(bytearray)f
(<code>input</code>,)c(starting)k(at)p 3387 1804 V 154
1883 a Fa(153)p 270 1917 V 293 w Ff(*)h(<code>offset</code>,)c(to)k
(the)g(internal)e(buffer.)p 3387 1917 V 154 1996 a Fa(154)p
270 2030 V 293 w Ff(*)p 3387 2030 V 154 2109 a Fa(155)p
270 2143 V 293 w Ff(*)i(@param)f(input)h(the)g(bytearray)e(contains)g
(the)i(input)p 3387 2143 V 154 2222 a Fa(156)p 270 2256
V 293 w Ff(*)g(@param)f(offset)g(the)h(position)f(where)g(the)h(input)g
(starts)p 3387 2256 V 154 2335 a Fa(157)p 270 2368 V
293 w Ff(*)g(@param)f(length)g(the)h(length)f(of)i(the)f(input)p
3387 2368 V 154 2447 a Fa(158)p 270 2481 V 293 w Ff(*/)p
3387 2481 V 154 2560 a Fa(159)p 270 2594 V 245 w Ff(protected)e(void)i
(addToBufferedData\(byte[])41 b(input,int)k(offset,)p
3387 2594 V 154 2673 a Fa(160)p 270 2707 V 341 w Ff(int)h(length\))p
3387 2707 V 154 2786 a Fa(161)p 270 2820 V 245 w Ff({)p
3387 2820 V 154 2899 a Fa(162)p 270 2933 V 436 w Ff(//)h(adds)g(the)g
(data)p 3387 2933 V 154 3012 a Fa(163)p 270 3046 V 436
w Ff(checkBufferedData\(\);)p 3387 3046 V 154 3125 a
Fa(164)p 270 3159 V 436 w Ff(System.arraycopy\(input,o)o(ffse)o(t,mB)o
(uff)o(ered)o(Data)o(,)p 3387 3159 V 154 3238 a Fa(165)p
270 3272 V 531 w Ff(mBufferedLength,length\);)p 3387
3272 V 154 3351 a Fa(166)p 270 3385 V 436 w Ff(mBufferedLength)d(+=)j
(length;)p 3387 3385 V 154 3464 a Fa(167)p 270 3498 V
245 w Ff(})p 3387 3498 V 154 3577 a Fa(168)p 270 3610
V 3387 3610 V 154 3689 a(169)p 270 3723 V 245 w Ff(/**)p
3387 3723 V 154 3802 a Fa(170)p 270 3836 V 293 w Ff(*)g(adds)g(input)f
(data)h(to)g(the)g(cipher.)p 3387 3836 V 154 3915 a Fa(171)p
270 3949 V 293 w Ff(*)g(<p>)p 3387 3949 V 154 4028 a
Fa(172)p 270 4062 V 293 w Ff(*)g(The)g(input)g(block)f(of)h
(<code>inputLength</code>)41 b(bytes)47 b(has)g(to)p
3387 4062 V 154 4141 a Fa(173)p 270 4175 V 293 w Ff(*)g(be)g(supplied)f
(in)h(the)g(bytearray)e(<code>input</code>,)e(starting)p
3387 4175 V 154 4254 a Fa(174)p 270 4288 V 293 w Ff(*)k(at)g
(<code>inputOffset</code>.)41 b(The)47 b(output)f(will)h(be)g(written)p
3387 4288 V 154 4367 a Fa(175)p 270 4401 V 293 w Ff(*)g(in)g(the)g
(bytearray)f(<code>output</code>,)c(starting)j(at)p 3387
4401 V 154 4480 a Fa(176)p 270 4514 V 293 w Ff(*)i
(<code>outputOffset</code>)o(.)p 3387 4514 V 154 4593
a Fa(177)p 270 4627 V 293 w Ff(*)p 3387 4627 V 154 4706
a Fa(178)p 270 4740 V 293 w Ff(*)g(@param)f(input)h(the)g(bytearray)e
(contains)g(the)i(input)p 3387 4740 V 154 4819 a Fa(179)p
270 4852 V 293 w Ff(*)g(@param)f(inputOffset)f(the)i(position)f(where)g
(the)h(input)f(starts)p 3387 4852 V 154 4932 a Fa(180)p
270 4965 V 293 w Ff(*)h(@param)f(inputLength)f(the)i(length)f(of)h(the)
g(input)p 3387 4965 V 154 5044 a Fa(181)p 270 5078 V
293 w Ff(*)g(@param)f(output)g(the)h(bytearray)f(will)g(hold)h(the)g
(output)p 3387 5078 V 154 5157 a Fa(182)p 270 5191 V
293 w Ff(*)g(@param)f(outputOffset)f(the)i(position)e(where)i(the)g
(output)f(will)p 3387 5191 V 154 5270 a Fa(183)p 270
5304 V 293 w Ff(*)h(start)p 3387 5304 V 154 5383 a Fa(184)p
270 5417 V 293 w Ff(*)p 3387 5417 V 154 5496 a Fa(185)p
270 5530 V 293 w Ff(*)g(@throws)f(ShortBufferException)c(if)48
b(the)e(output)h(array)f(is)h(too)p 3387 5530 V 154 5609
a Fa(186)p 270 5643 V 293 w Ff(*)g(small)p 3387 5643
V eop
%%Page: 52 53
52 52 bop 390 82 a Fw(52)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
274 415 y Fa(187)p 390 449 4 113 v 293 w Ff(*)p 3507
449 V 274 528 a Fa(188)p 390 562 V 293 w Ff(*)47 b(@return)f(the)h
(number)f(of)h(bytes)g(written)p 3507 562 V 274 641 a
Fa(189)p 390 675 V 293 w Ff(*/)p 3507 675 V 274 754 a
Fa(190)p 390 788 V 245 w Ff(protected)e(int)i(engineUpdate\(byte[])c
(input,int)i(inputOffset,)p 3507 788 V 274 867 a Fa(191)p
390 901 V 341 w Ff(int)h(inputLength,byte[])d(output,int)i
(outputOffset\))p 3507 901 V 274 980 a Fa(192)p 390 1014
V 436 w Ff(throws)h(ShortBufferException)p 3507 1014
V 274 1093 a Fa(193)p 390 1126 V 245 w Ff({)p 3507 1126
V 274 1205 a Fa(194)p 390 1239 V 436 w Ff(//)h(concatenates)e(the)i
(data)p 3507 1239 V 274 1318 a Fa(195)p 390 1352 V 436
w Ff(int)g(bufferedLength)d(=)j(getBufferedDataLength\(\);)p
3507 1352 V 274 1431 a Fa(196)p 390 1465 V 436 w Ff(byte[])f
(totalInput)f(=)j(new)e(byte[inputLength)e(+)p 3507 1465
V 274 1544 a Fa(197)p 390 1578 V 531 w Ff(bufferedLength];)p
3507 1578 V 274 1657 a Fa(198)p 390 1691 V 436 w Ff
(getBufferedData\(totalInp)o(ut,0)o(\);)p 3507 1691 V
274 1770 a Fa(199)p 390 1804 V 436 w Ff(System.arraycopy\(input,i)o
(nput)o(Offs)o(et,)o(tota)o(lInp)o(ut,)p 3507 1804 V
274 1883 a Fa(200)p 390 1917 V 531 w Ff(bufferedLength,inputLength)o
(\);)p 3507 1917 V 274 1996 a Fa(201)p 390 2030 V 3507
2030 V 274 2109 a(202)p 390 2143 V 436 w Ff(//)j(calculates)p
3507 2143 V 274 2222 a Fa(203)p 390 2256 V 436 w Ff(int)g(blockSize)e
(=)j(engineGetBlockSize\(\);)p 3507 2256 V 274 2335 a
Fa(204)p 390 2368 V 436 w Ff(int)f(lastBlockSize)d(=)k
(totalInput.length)43 b(\045)k(blockSize;)p 3507 2368
V 274 2447 a Fa(205)p 390 2481 V 436 w Ff(int)g(lastBlockOffset)d(=)j
(totalInput.length)c(-)48 b(lastBlockSize;)p 3507 2481
V 274 2560 a Fa(206)p 390 2594 V 436 w Ff(int)f(outputLength)d(=)k(0;)p
3507 2594 V 274 2673 a Fa(207)p 390 2707 V 3507 2707
V 274 2786 a(208)p 390 2820 V 436 w Ff(//)f(processes)e(by)j(calling)d
(the)i(abstract)f(method)p 3507 2820 V 274 2899 a Fa(209)p
390 2933 V 436 w Ff(//)h(engineTransformBlock)p 3507
2933 V 274 3012 a Fa(210)p 390 3046 V 436 w Ff(for)g(\(int)g(i)g(=)g
(0;i)g(<)h(lastBlockOffset;i)43 b(+=)k(blockSize\))p
3507 3046 V 274 3125 a Fa(211)p 390 3159 V 627 w Ff({)p
3507 3159 V 274 3238 a Fa(212)p 390 3272 V 818 w Ff(outputLength)d(+=)j
(engineTransformBlock\(total)o(Inpu)o(t,)p 3507 3272
V 274 3351 a Fa(213)p 390 3385 V 913 w Ff(i,blockSize,output,output)o
(Offs)o(et)42 b(+)p 3507 3385 V 274 3464 a Fa(214)p 390
3498 V 913 w Ff(outputLength\);)p 3507 3498 V 274 3577
a Fa(215)p 390 3610 V 627 w Ff(})p 3507 3610 V 274 3689
a Fa(216)p 390 3723 V 436 w Ff(addToBufferedData\(totalI)o(nput)o(,las)
o(tBl)o(ockO)o(ffse)o(t,)p 3507 3723 V 274 3802 a Fa(217)p
390 3836 V 531 w Ff(lastBlockSize\);)p 3507 3836 V 274
3915 a Fa(218)p 390 3949 V 3507 3949 V 274 4028 a(219)p
390 4062 V 436 w Ff(//)47 b(and)g(back)p 3507 4062 V
274 4141 a Fa(220)p 390 4175 V 436 w Ff(return)f(outputLength;)p
3507 4175 V 274 4254 a Fa(221)p 390 4288 V 245 w Ff(})p
3507 4288 V 274 4367 a Fa(222)p 390 4401 V 3507 4401
V 274 4480 a(223)p 390 4514 V 245 w Ff(/**)p 3507 4514
V 274 4593 a Fa(224)p 390 4627 V 293 w Ff(*)h(adds)g(input)f(data)h(to)
g(the)g(cipher.)p 3507 4627 V 274 4706 a Fa(225)p 390
4740 V 293 w Ff(*)g(<p>)p 3507 4740 V 274 4819 a Fa(226)p
390 4852 V 293 w Ff(*)g(The)g(input)g(block)f(of)h
(<code>inputLength</code>)41 b(bytes)47 b(has)g(to)p
3507 4852 V 274 4932 a Fa(227)p 390 4965 V 293 w Ff(*)g(be)g(supplied)f
(in)h(the)g(bytearray)e(<code>input</code>,)e(starting)p
3507 4965 V 274 5044 a Fa(228)p 390 5078 V 293 w Ff(*)k(at)g
(<code>inputOffset</code>.)41 b(The)47 b(output)f(will)h(be)g(returned)
p 3507 5078 V 274 5157 a Fa(229)p 390 5191 V 293 w Ff(*)g(in)g(the)g
(function)f(value.)p 3507 5191 V 274 5270 a Fa(230)p
390 5304 V 293 w Ff(*)p 3507 5304 V 274 5383 a Fa(231)p
390 5417 V 293 w Ff(*)h(@param)f(input)h(the)g(bytearray)e(contains)g
(the)i(input)p 3507 5417 V 274 5496 a Fa(232)p 390 5530
V 293 w Ff(*)g(@param)f(inputOffset)f(the)i(position)f(where)g(the)h
(input)f(starts)p 3507 5530 V 274 5609 a Fa(233)p 390
5643 V 293 w Ff(*)h(@param)f(inputLength)f(the)i(length)f(of)h(the)g
(input)p 3507 5643 V eop
%%Page: 53 54
53 53 bop 270 82 a Fw(B.5.)62 b(ECElGamalGFPBlo)s(c)m(kCipher)1644
b(53)154 415 y Fa(234)p 270 449 4 113 v 293 w Ff(*)p
3387 449 V 154 528 a Fa(235)p 270 562 V 293 w Ff(*)47
b(@return)f(the)h(output)p 3387 562 V 154 641 a Fa(236)p
270 675 V 293 w Ff(*/)p 3387 675 V 154 754 a Fa(237)p
270 788 V 245 w Ff(protected)e(byte[])h(engineUpdate\(byte[])d
(input,int)i(inputOffset,)p 3387 788 V 154 867 a Fa(238)p
270 901 V 341 w Ff(int)h(inputLength\))p 3387 901 V 154
980 a Fa(239)p 270 1014 V 245 w Ff({)p 3387 1014 V 154
1093 a Fa(240)p 270 1126 V 436 w Ff(int)h(length)f(=)h(0;)p
3387 1126 V 154 1205 a Fa(241)p 270 1239 V 436 w Ff(byte[])f(out)h(=)g
(new)g(byte[engineGetOutputSize\(i)o(npu)o(tLen)o(gth\))o(];)p
3387 1239 V 154 1318 a Fa(242)p 270 1352 V 3387 1352
V 154 1431 a(243)p 270 1465 V 436 w Ff(//)g(calls)g(the)f(other)h
(engineUpdate)d(method)p 3387 1465 V 154 1544 a Fa(244)p
270 1578 V 436 w Ff(try)p 3387 1578 V 154 1657 a Fa(245)p
270 1691 V 627 w Ff({)p 3387 1691 V 154 1770 a Fa(246)p
270 1804 V 818 w Ff(length)i(=)h(engineUpdate\(input,inputOf)o(fse)o
(t,)p 3387 1804 V 154 1883 a Fa(247)p 270 1917 V 913
w Ff(inputLength,out,0\);)p 3387 1917 V 154 1996 a Fa(248)p
270 2030 V 627 w Ff(})p 3387 2030 V 154 2109 a Fa(249)p
270 2143 V 436 w Ff(catch)f(\(ShortBufferException)c(sbe\))47
b({})p 3387 2143 V 154 2222 a Fa(250)p 270 2256 V 3387
2256 V 154 2335 a(251)p 270 2368 V 436 w Ff(//)g(transforms)e(to)i(the)
g(right)g(size)p 3387 2368 V 154 2447 a Fa(252)p 270
2481 V 436 w Ff(if)g(\(length)f(<)h(out.length\))p 3387
2481 V 154 2560 a Fa(253)p 270 2594 V 627 w Ff({)p 3387
2594 V 154 2673 a Fa(254)p 270 2707 V 818 w Ff(byte[])f(shorter)g(=)h
(new)g(byte[length];)p 3387 2707 V 154 2786 a Fa(255)p
270 2820 V 818 w Ff(System.arraycopy\(out,0,s)o(hor)o(ter,)o(0,le)o
(ngt)o(h\);)p 3387 2820 V 154 2899 a Fa(256)p 270 2933
V 818 w Ff(out)g(=)g(shorter;)p 3387 2933 V 154 3012
a Fa(257)p 270 3046 V 627 w Ff(})p 3387 3046 V 154 3125
a Fa(258)p 270 3159 V 3387 3159 V 154 3238 a(259)p 270
3272 V 436 w Ff(//)g(and)g(back)p 3387 3272 V 154 3351
a Fa(260)p 270 3385 V 436 w Ff(return)f(out;)p 3387 3385
V 154 3464 a Fa(261)p 270 3498 V 245 w Ff(})p 3387 3498
V 154 3577 a Fa(262)p 270 3610 V 3387 3610 V 154 3689
a(263)p 270 3723 V 245 w Ff(/**)p 3387 3723 V 154 3802
a Fa(264)p 270 3836 V 293 w Ff(*)h(finishes)f(the)h(process.)e(A)j
(last)e(piece)h(of)g(input)f(data)h(can)g(be)p 3387 3836
V 154 3915 a Fa(265)p 270 3949 V 293 w Ff(*)g(added)g(to)g(the)g
(cipher.)p 3387 3949 V 154 4028 a Fa(266)p 270 4062 V
293 w Ff(*)g(<p>)p 3387 4062 V 154 4141 a Fa(267)p 270
4175 V 293 w Ff(*)g(The)g(input)g(block)f(of)h
(<code>inputLength</code>)41 b(bytes)47 b(has)g(to)p
3387 4175 V 154 4254 a Fa(268)p 270 4288 V 293 w Ff(*)g(be)g(supplied)f
(in)h(the)g(bytearray)e(<code>input</code>,)e(starting)p
3387 4288 V 154 4367 a Fa(269)p 270 4401 V 293 w Ff(*)k(at)g
(<code>inputOffset</code>.)41 b(The)47 b(output)f(will)h(be)g(written)p
3387 4401 V 154 4480 a Fa(270)p 270 4514 V 293 w Ff(*)g(in)g(the)g
(bytearray)f(<code>output</code>,)c(starting)j(at)p 3387
4514 V 154 4593 a Fa(271)p 270 4627 V 293 w Ff(*)i
(<code>outputOffset</code>)o(.)p 3387 4627 V 154 4706
a Fa(272)p 270 4740 V 293 w Ff(*)p 3387 4740 V 154 4819
a Fa(273)p 270 4852 V 293 w Ff(*)g(@param)f(input)h(the)g(bytearray)e
(contains)g(the)i(input)p 3387 4852 V 154 4932 a Fa(274)p
270 4965 V 293 w Ff(*)g(@param)f(inputOffset)f(the)i(position)f(where)g
(the)h(input)f(starts)p 3387 4965 V 154 5044 a Fa(275)p
270 5078 V 293 w Ff(*)h(@param)f(inputLength)f(the)i(length)f(of)h(the)
g(input)p 3387 5078 V 154 5157 a Fa(276)p 270 5191 V
293 w Ff(*)g(@param)f(output)g(the)h(bytearray)f(will)g(hold)h(the)g
(output)p 3387 5191 V 154 5270 a Fa(277)p 270 5304 V
293 w Ff(*)g(@param)f(outputOffset)f(the)i(position)e(where)i(the)g
(output)f(will)p 3387 5304 V 154 5383 a Fa(278)p 270
5417 V 293 w Ff(*)h(start)p 3387 5417 V 154 5496 a Fa(279)p
270 5530 V 293 w Ff(*)p 3387 5530 V 154 5609 a Fa(280)p
270 5643 V 293 w Ff(*)g(@throws)f(ShortBufferException)c(if)48
b(the)e(output)h(array)f(is)h(too)p 3387 5643 V eop
%%Page: 54 55
54 54 bop 390 82 a Fw(54)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
274 415 y Fa(281)p 390 449 4 113 v 293 w Ff(*)47 b(small)p
3507 449 V 274 528 a Fa(282)p 390 562 V 293 w Ff(*)g(@throws)f
(IllegalBlockSizeException)41 b(will)47 b(not)g(be)g(thrown)p
3507 562 V 274 641 a Fa(283)p 390 675 V 293 w Ff(*)g(since)g(an)g
(ElGamal)f(cipher)g(does)g(not)h(mind)g(a)g(partial)f(block)p
3507 675 V 274 754 a Fa(284)p 390 788 V 293 w Ff(*)h(@throws)f
(BadPaddingException)d(will)j(not)h(be)g(thrown)f(since)h(the)p
3507 788 V 274 867 a Fa(285)p 390 901 V 293 w Ff(*)g(cipher)f(does)h
(not)g(support)f(a)h(padding)f(scheme)p 3507 901 V 274
980 a Fa(286)p 390 1014 V 293 w Ff(*)p 3507 1014 V 274
1093 a Fa(287)p 390 1126 V 293 w Ff(*)h(@return)f(the)h(number)f(of)h
(bytes)g(written)p 3507 1126 V 274 1205 a Fa(288)p 390
1239 V 293 w Ff(*/)p 3507 1239 V 274 1318 a Fa(289)p
390 1352 V 245 w Ff(protected)e(int)i(engineDoFinal\(byte[])c
(input,int)i(inputOffset,)p 3507 1352 V 274 1431 a Fa(290)p
390 1465 V 341 w Ff(int)h(inputLength,byte[])d(output,int)i
(outputOffset\))p 3507 1465 V 274 1544 a Fa(291)p 390
1578 V 436 w Ff(throws)h(ShortBufferException,Ille)o(gal)o(Bloc)o(kSiz)
o(eEx)o(cept)o(ion,)p 3507 1578 V 274 1657 a Fa(292)p
390 1691 V 531 w Ff(BadPaddingException)p 3507 1691 V
274 1770 a Fa(293)p 390 1804 V 245 w Ff({)p 3507 1804
V 274 1883 a Fa(294)p 390 1917 V 436 w Ff(//)h(concatenates)e(the)i
(data)p 3507 1917 V 274 1996 a Fa(295)p 390 2030 V 436
w Ff(int)g(bufferedLength)d(=)j(getBufferedDataLength\(\);)p
3507 2030 V 274 2109 a Fa(296)p 390 2143 V 436 w Ff(byte[])f
(totalInput)f(=)j(new)e(byte[inputLength)e(+)p 3507 2143
V 274 2222 a Fa(297)p 390 2256 V 531 w Ff(bufferedLength];)p
3507 2256 V 274 2335 a Fa(298)p 390 2368 V 436 w Ff
(getBufferedData\(totalInp)o(ut,0)o(\);)p 3507 2368 V
274 2447 a Fa(299)p 390 2481 V 436 w Ff(if)j(\(inputLength)e(>)i(0\))p
3507 2481 V 274 2560 a Fa(300)p 390 2594 V 627 w Ff({)p
3507 2594 V 274 2673 a Fa(301)p 390 2707 V 818 w Ff
(System.arraycopy\(input,i)o(npu)o(tOff)o(set,)o(tot)o(alIn)o(put,)p
3507 2707 V 274 2786 a Fa(302)p 390 2820 V 913 w Ff
(bufferedLength,inputLengt)o(h\);)p 3507 2820 V 274 2899
a Fa(303)p 390 2933 V 627 w Ff(})p 3507 2933 V 274 3012
a Fa(304)p 390 3046 V 3507 3046 V 274 3125 a(305)p 390
3159 V 436 w Ff(//)g(calculates)p 3507 3159 V 274 3238
a Fa(306)p 390 3272 V 436 w Ff(int)g(blockSize)e(=)j
(engineGetBlockSize\(\);)p 3507 3272 V 274 3351 a Fa(307)p
390 3385 V 436 w Ff(int)f(lastBlockSize)d(=)k(totalInput.length)43
b(\045)k(blockSize;)p 3507 3385 V 274 3464 a Fa(308)p
390 3498 V 436 w Ff(if)g(\(lastBlockSize)d(==)j(0)h(&&)f
(totalInput.length)c(>)k(0\))p 3507 3498 V 274 3577 a
Fa(309)p 390 3610 V 627 w Ff({)p 3507 3610 V 274 3689
a Fa(310)p 390 3723 V 818 w Ff(lastBlockSize)d(=)j(blockSize;)p
3507 3723 V 274 3802 a Fa(311)p 390 3836 V 627 w Ff(})p
3507 3836 V 274 3915 a Fa(312)p 390 3949 V 436 w Ff(int)g
(lastBlockOffset)d(=)j(totalInput.length)c(-)48 b(lastBlockSize;)p
3507 3949 V 274 4028 a Fa(313)p 390 4062 V 436 w Ff(int)f(outputLength)
d(=)k(0;)p 3507 4062 V 274 4141 a Fa(314)p 390 4175 V
3507 4175 V 274 4254 a(315)p 390 4288 V 436 w Ff(//)f(processes)e(by)j
(calling)d(the)i(abstract)f(methods)p 3507 4288 V 274
4367 a Fa(316)p 390 4401 V 436 w Ff(//)h(engineTransformBlock)42
b(and)47 b(engineTransformBlockFinal)p 3507 4401 V 274
4480 a Fa(317)p 390 4514 V 436 w Ff(for)g(\(int)g(i)g(=)g(0;i)g(<)h
(lastBlockOffset;i)43 b(+=)k(blockSize\))p 3507 4514
V 274 4593 a Fa(318)p 390 4627 V 627 w Ff({)p 3507 4627
V 274 4706 a Fa(319)p 390 4740 V 818 w Ff(outputLength)d(+=)j
(engineTransformBlock\(total)o(Inpu)o(t,)p 3507 4740
V 274 4819 a Fa(320)p 390 4852 V 913 w Ff(i,blockSize,output,output)o
(Offs)o(et)42 b(+)p 3507 4852 V 274 4932 a Fa(321)p 390
4965 V 913 w Ff(outputLength\);)p 3507 4965 V 274 5044
a Fa(322)p 390 5078 V 627 w Ff(})p 3507 5078 V 274 5157
a Fa(323)p 390 5191 V 436 w Ff(outputLength)i(+=)k
(engineTransformBlockFin)o(al\(t)o(ota)o(lInp)o(ut,)p
3507 5191 V 274 5270 a Fa(324)p 390 5304 V 531 w Ff
(lastBlockOffset,lastBlockS)o(ize,)o(out)o(put,)o(outp)o(utO)o(ffse)o
(t)42 b(+)p 3507 5304 V 274 5383 a Fa(325)p 390 5417
V 531 w Ff(outputLength\);)p 3507 5417 V 274 5496 a Fa(326)p
390 5530 V 3507 5530 V 274 5609 a(327)p 390 5643 V 436
w Ff(//)47 b(and)g(back)p 3507 5643 V eop
%%Page: 55 56
55 55 bop 270 82 a Fw(B.5.)62 b(ECElGamalGFPBlo)s(c)m(kCipher)1644
b(55)154 415 y Fa(328)p 270 449 4 113 v 436 w Ff(return)46
b(outputLength;)p 3387 449 V 154 528 a Fa(329)p 270 562
V 245 w Ff(})p 3387 562 V 154 641 a Fa(330)p 270 675
V 3387 675 V 154 754 a(331)p 270 788 V 245 w Ff(/**)p
3387 788 V 154 867 a Fa(332)p 270 901 V 293 w Ff(*)h(finishes)f(the)h
(process.)e(A)j(last)e(piece)h(of)g(input)f(data)h(can)g(be)p
3387 901 V 154 980 a Fa(333)p 270 1014 V 293 w Ff(*)g(added)g(to)g(the)
g(cipher.)p 3387 1014 V 154 1093 a Fa(334)p 270 1126
V 293 w Ff(*)g(<p>)p 3387 1126 V 154 1205 a Fa(335)p
270 1239 V 293 w Ff(*)g(The)g(input)g(block)f(of)h
(<code>inputLength</code>)41 b(bytes)47 b(has)g(to)p
3387 1239 V 154 1318 a Fa(336)p 270 1352 V 293 w Ff(*)g(be)g(supplied)f
(in)h(the)g(bytearray)e(<code>input</code>,)e(starting)p
3387 1352 V 154 1431 a Fa(337)p 270 1465 V 293 w Ff(*)k(at)g
(<code>inputOffset</code>.)41 b(The)47 b(output)f(will)h(be)g(returned)
p 3387 1465 V 154 1544 a Fa(338)p 270 1578 V 293 w Ff(*)g(in)g(the)g
(function)f(value.)p 3387 1578 V 154 1657 a Fa(339)p
270 1691 V 293 w Ff(*)p 3387 1691 V 154 1770 a Fa(340)p
270 1804 V 293 w Ff(*)h(@param)f(input)h(the)g(bytearray)e(contains)g
(the)i(input)p 3387 1804 V 154 1883 a Fa(341)p 270 1917
V 293 w Ff(*)g(@param)f(inputOffset)f(the)i(position)f(where)g(the)h
(input)f(starts)p 3387 1917 V 154 1996 a Fa(342)p 270
2030 V 293 w Ff(*)h(@param)f(inputLength)f(the)i(length)f(of)h(the)g
(input)p 3387 2030 V 154 2109 a Fa(343)p 270 2143 V 293
w Ff(*)p 3387 2143 V 154 2222 a Fa(344)p 270 2256 V 293
w Ff(*)g(@throws)f(IllegalBlockSizeException)41 b(will)47
b(not)g(be)g(thrown)p 3387 2256 V 154 2335 a Fa(345)p
270 2368 V 293 w Ff(*)g(since)g(an)g(ElGamal)f(cipher)g(does)g(not)h
(mind)g(a)g(partial)f(block)p 3387 2368 V 154 2447 a
Fa(346)p 270 2481 V 293 w Ff(*)h(@throws)f(BadPaddingException)d(will)j
(not)h(be)g(thrown)f(since)h(the)p 3387 2481 V 154 2560
a Fa(347)p 270 2594 V 293 w Ff(*)g(cipher)f(does)h(not)g(support)f(a)h
(padding)f(scheme)p 3387 2594 V 154 2673 a Fa(348)p 270
2707 V 293 w Ff(*)p 3387 2707 V 154 2786 a Fa(349)p 270
2820 V 293 w Ff(*)h(@return)f(the)h(output)p 3387 2820
V 154 2899 a Fa(350)p 270 2933 V 293 w Ff(*/)p 3387 2933
V 154 3012 a Fa(351)p 270 3046 V 245 w Ff(protected)e(byte[])h
(engineDoFinal\(byte[])d(input,int)i(inputOffset,)p 3387
3046 V 154 3125 a Fa(352)p 270 3159 V 341 w Ff(int)h(inputLength\))p
3387 3159 V 154 3238 a Fa(353)p 270 3272 V 436 w Ff(throws)g
(IllegalBlockSizeException)o(,Ba)o(dPad)o(ding)o(Exc)o(epti)o(on)p
3387 3272 V 154 3351 a Fa(354)p 270 3385 V 245 w Ff({)p
3387 3385 V 154 3464 a Fa(355)p 270 3498 V 436 w Ff(int)h(length)f(=)h
(0;)p 3387 3498 V 154 3577 a Fa(356)p 270 3610 V 436
w Ff(byte[])f(out)h(=)g(new)g(byte[engineGetOutputSize\(i)o(npu)o(tLen)
o(gth\))o(];)p 3387 3610 V 154 3689 a Fa(357)p 270 3723
V 3387 3723 V 154 3802 a(358)p 270 3836 V 436 w Ff(//)g(calls)g(the)f
(other)h(engineDoFinal)d(method)p 3387 3836 V 154 3915
a Fa(359)p 270 3949 V 436 w Ff(try)p 3387 3949 V 154
4028 a Fa(360)p 270 4062 V 627 w Ff({)p 3387 4062 V 154
4141 a Fa(361)p 270 4175 V 818 w Ff(length)i(=)h
(engineDoFinal\(input,inputO)o(ffs)o(et,)p 3387 4175
V 154 4254 a Fa(362)p 270 4288 V 913 w Ff(inputLength,out,0\);)p
3387 4288 V 154 4367 a Fa(363)p 270 4401 V 627 w Ff(})p
3387 4401 V 154 4480 a Fa(364)p 270 4514 V 436 w Ff(catch)f
(\(ShortBufferException)c(sbe\))47 b({})p 3387 4514 V
154 4593 a Fa(365)p 270 4627 V 3387 4627 V 154 4706 a(366)p
270 4740 V 436 w Ff(//)g(transforms)e(to)i(the)g(right)g(size)p
3387 4740 V 154 4819 a Fa(367)p 270 4852 V 436 w Ff(if)g(\(length)f(<)h
(out.length\))p 3387 4852 V 154 4932 a Fa(368)p 270 4965
V 627 w Ff({)p 3387 4965 V 154 5044 a Fa(369)p 270 5078
V 818 w Ff(byte[])f(shorter)g(=)h(new)g(byte[length];)p
3387 5078 V 154 5157 a Fa(370)p 270 5191 V 818 w Ff
(System.arraycopy\(out,0,s)o(hor)o(ter,)o(0,le)o(ngt)o(h\);)p
3387 5191 V 154 5270 a Fa(371)p 270 5304 V 818 w Ff(out)g(=)g(shorter;)
p 3387 5304 V 154 5383 a Fa(372)p 270 5417 V 627 w Ff(})p
3387 5417 V 154 5496 a Fa(373)p 270 5530 V 3387 5530
V 154 5609 a(374)p 270 5643 V 436 w Ff(//)g(and)g(back)p
3387 5643 V eop
%%Page: 56 57
56 56 bop 390 82 a Fw(56)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
274 415 y Fa(375)p 390 449 4 113 v 436 w Ff(return)46
b(out;)p 3507 449 V 274 528 a Fa(376)p 390 562 V 245
w Ff(})p 3507 562 V 274 641 a Fa(377)p 390 675 V 54 w
Ff(})p 3507 675 V 390 700 4 25 v 3507 700 V 390 703 3120
4 v eop
%%Page: 57 58
57 57 bop 270 82 a Fw(B.6.)62 b(ECElGamalGFPCipher)1867
b(57)270 415 y Fz(B.6)135 b(ECElGamalGFPCipher)p 270
537 3120 4 v 270 562 4 25 v 3387 562 V 215 641 a Fa(1)p
270 675 4 113 v 53 w Ff(package)46 b(cdc.ec.ecelgamal;)p
3387 675 V 215 754 a Fa(2)p 270 788 V 3387 788 V 215
867 a(3)p 270 901 V 53 w Ff(import)g(java.math.BigInteger;)p
3387 901 V 215 980 a Fa(4)p 270 1014 V 53 w Ff(import)g
(java.security.*;)p 3387 1014 V 215 1093 a Fa(5)p 270
1126 V 53 w Ff(import)g(java.security.spec.*;)p 3387
1126 V 215 1205 a Fa(6)p 270 1239 V 53 w Ff(import)g(java.lang.Math;)p
3387 1239 V 215 1318 a Fa(7)p 270 1352 V 53 w Ff(import)g
(javax.crypto.*;)p 3387 1352 V 215 1431 a Fa(8)p 270
1465 V 53 w Ff(import)g(cdc.lidia.*;)p 3387 1465 V 215
1544 a Fa(9)p 270 1578 V 3387 1578 V 184 1657 a(10)p
270 1691 V 54 w Ff(/**)p 3387 1691 V 184 1770 a Fa(11)p
270 1804 V 102 w Ff(*)h(<code>ECElGamalGFPCipher</)o(cod)o(e>)42
b(provides)j(the)i(implementation)p 3387 1804 V 184 1883
a Fa(12)p 270 1917 V 102 w Ff(*)g(for)g(encryption)e(and)i(decryption)e
(with)i(an)g(ElGamal)f(algorithm)f(based)p 3387 1917
V 184 1996 a Fa(13)p 270 2030 V 102 w Ff(*)i(on)h(elliptic)d(curves)h
(over)h(the)g(general)f(field)g(with)h(<code>p</code>)p
3387 2030 V 184 2109 a Fa(14)p 270 2143 V 102 w Ff(*)g(elements)f
(where)g(<code>p</code>)e(is)j(a)h(prime)e(number.)p
3387 2143 V 184 2222 a Fa(15)p 270 2256 V 102 w Ff(*)h(<p>)p
3387 2256 V 184 2335 a Fa(16)p 270 2368 V 102 w Ff(*)g(The)g(security)f
(of)h(an)g(ElGamal)f(algorithm)f(depends)h(on)h(the)p
3387 2368 V 184 2447 a Fa(17)p 270 2481 V 102 w Ff(*)g(presumably)e
(difficult)h(problem)f(to)j(compute)d(discrete)h(logarithms)p
3387 2481 V 184 2560 a Fa(18)p 270 2594 V 102 w Ff(*)h(in)h(finite)e
(abelian)f(groups.)h(This)h(problem)f(is)h(\(might)f(be\))h(even)p
3387 2594 V 184 2673 a Fa(19)p 270 2707 V 102 w Ff(*)g(more)g
(difficult,)e(if)i(a)h(subgroup)d(of)i(the)g(points)f(on)i(an)f
(elliptic)p 3387 2707 V 184 2786 a Fa(20)p 270 2820 V
102 w Ff(*)g(curve)g(is)g(taken.)p 3387 2820 V 184 2899
a Fa(21)p 270 2933 V 102 w Ff(*)g(<p>)p 3387 2933 V 184
3012 a Fa(22)p 270 3046 V 102 w Ff(*)g(This)g(implementation)d(does)j
(not)f(embed)h(the)g(message)f(on)h(the)g(curve,)p 3387
3046 V 184 3125 a Fa(23)p 270 3159 V 102 w Ff(*)g(but)g(uses)g(the)g
(curve)f(to)h(encrypt)f(the)h(message.)f(It)h(works)f(as)p
3387 3159 V 184 3238 a Fa(24)p 270 3272 V 102 w Ff(*)h(follows:)p
3387 3272 V 184 3351 a Fa(25)p 270 3385 V 102 w Ff(*)g(<p>)p
3387 3385 V 184 3464 a Fa(26)p 270 3498 V 102 w Ff(*)g(Encryption:)e(A)
j(random)e(integer)f(<code>k</code>)f(is)k(generated)d(and)p
3387 3498 V 184 3577 a Fa(27)p 270 3610 V 102 w Ff(*)i(multiplied)e
(with)i(the)g(generator)e(<code>gamma</code>)e(resulting)i(in)p
3387 3610 V 184 3690 a Fa(28)p 270 3723 V 102 w Ff(*)i
(<code>beta0</code>.)c(The)k(public)f(key)h(<code>delta</code>)c(is)k
(also)p 3387 3723 V 184 3802 a Fa(29)p 270 3836 V 102
w Ff(*)g(multiplied)e(by)j(<code>k</code>)43 b(resulting)j(in)h
(<code>beta1</code>.)p 3387 3836 V 184 3915 a Fa(30)p
270 3949 V 102 w Ff(*)g(The)g(message)f(<code>m</code>)e(is)j(split)g
(into)f(two)h(halfs)p 3387 3949 V 184 4028 a Fa(31)p
270 4062 V 102 w Ff(*)g(<code>m1</code>)d(and)j(<code>m2</code>.)c(The)
k(first)g(half)f(is)p 3387 4062 V 184 4141 a Fa(32)p
270 4175 V 102 w Ff(*)h(multiplied)e(with)i(the)g(x-coordinate)d(of)k
(<code>beta0</code>)42 b(and)p 3387 4175 V 184 4254 a
Fa(33)p 270 4288 V 102 w Ff(*)47 b(the)g(second)f(half)h(with)g(the)g
(y-coordinate)d(resulting)h(in)p 3387 4288 V 184 4367
a Fa(34)p 270 4401 V 102 w Ff(*)i(<code>c1</code>)d(and)j
(<code>c2</code>.)c(The)k(ciphertext)p 3387 4401 V 184
4480 a Fa(35)p 270 4514 V 102 w Ff(*)g(eventually)e(consists)h(of)h
(<code>beta0</code>,)c(<code>c1</code>)p 3387 4514 V
184 4593 a Fa(36)p 270 4627 V 102 w Ff(*)k(and)g(<code>c2</code>.)p
3387 4627 V 184 4706 a Fa(37)p 270 4740 V 102 w Ff(*)g(<p>)p
3387 4740 V 184 4819 a Fa(38)p 270 4852 V 102 w Ff(*)g(Decryption:)e
(<code>beta0</code>)e(is)k(multiplied)e(with)i(the)g(private)p
3387 4852 V 184 4932 a Fa(39)p 270 4965 V 102 w Ff(*)g(key)g
(<code>s</code>)d(resulting)h(in)j(<code>beta1</code>.)42
b(The)p 3387 4965 V 184 5044 a Fa(40)p 270 5078 V 102
w Ff(*)47 b(inverses)f(of)h(the)g(x-)g(and)g(y-coordinates)d(of)j
(<code>beta1</code>)p 3387 5078 V 184 5157 a Fa(41)p
270 5191 V 102 w Ff(*)g(can)g(be)g(calculated)e(and)i(multiplied)e
(with)i(<code>c1</code>)d(and)p 3387 5191 V 184 5270
a Fa(42)p 270 5304 V 102 w Ff(*)j(<code>c2</code>)d(resulting)h(in)i
(<code>m1</code>)d(and)p 3387 5304 V 184 5383 a Fa(43)p
270 5417 V 102 w Ff(*)j(<code>m2</code>.)d(The)j(concatenation)d(of)j
(those)f(is)i(the)e(plaintext.)p 3387 5417 V 184 5496
a Fa(44)p 270 5530 V 102 w Ff(*)h(<p>)p 3387 5530 V 184
5609 a Fa(45)p 270 5643 V 102 w Ff(*)g(The)g(C++-library)e(for)i
(calculation)e(is)i(<code>LiDIA</code>.)p 3387 5643 V
eop
%%Page: 58 59
58 58 bop 390 82 a Fw(58)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
304 415 y Fa(46)p 390 449 4 113 v 102 w Ff(*)47 b(<p>)p
3507 449 V 304 528 a Fa(47)p 390 562 V 102 w Ff(*)g(In)h(order)e(to)h
(implement)e(other)i(protocols)e(for)i(ElGamalGFP)p 3507
562 V 304 641 a Fa(48)p 390 675 V 102 w Ff(*)g(encryption)e(and)i
(decryption)e(just)i(the)g(two)g(methods)p 3507 675 V
304 754 a Fa(49)p 390 788 V 102 w Ff(*)g(<code>encryptBlock</code>)41
b(and)47 b(<code>decryptBlock</code>)41 b(have)p 3507
788 V 304 867 a Fa(50)p 390 901 V 102 w Ff(*)47 b(to)h(be)f
(redesigned.)p 3507 901 V 304 980 a Fa(51)p 390 1014
V 102 w Ff(*)p 3507 1014 V 304 1093 a Fa(52)p 390 1126
V 102 w Ff(*)g(@author)f(Markus)g(Crnjak)p 3507 1126
V 304 1205 a Fa(53)p 390 1239 V 102 w Ff(*)p 3507 1239
V 304 1318 a Fa(54)p 390 1352 V 102 w Ff(*)h(@see)g(ECElGamalGFPKey)p
3507 1352 V 304 1431 a Fa(55)p 390 1465 V 102 w Ff(*)g(@see)g
(ECElGamalGFPPrivateKey)p 3507 1465 V 304 1544 a Fa(56)p
390 1578 V 102 w Ff(*)g(@see)g(ECElGamalGFPPublicKey)p
3507 1578 V 304 1657 a Fa(57)p 390 1691 V 102 w Ff(*)g(@see)g
(ECElGamalGFPKeyPairGener)o(ator)p 3507 1691 V 304 1770
a Fa(58)p 390 1804 V 102 w Ff(*)g(@see)g(ECElGamalGFPBlockCipher)p
3507 1804 V 304 1883 a Fa(59)p 390 1917 V 102 w Ff(*)g(@see)g
(cdc.ec.Provider)p 3507 1917 V 304 1996 a Fa(60)p 390
2030 V 102 w Ff(*)g(@see)g(cdc.lidia.LECDomainParam)o(eter)o(sP13)o(63)
p 3507 2030 V 304 2109 a Fa(61)p 390 2143 V 102 w Ff(*/)p
3507 2143 V 304 2222 a Fa(62)p 390 2256 V 54 w Ff(public)f(class)h
(ECElGamalGFPCipher)p 3507 2256 V 304 2335 a Fa(63)p
390 2368 V 245 w Ff(extends)f(ECElGamalGFPBlockCipher)p
3507 2368 V 304 2447 a Fa(64)p 390 2481 V 54 w Ff({)p
3507 2481 V 304 2560 a Fa(65)p 390 2594 V 245 w Ff(/**)p
3507 2594 V 304 2673 a Fa(66)p 390 2707 V 293 w Ff(*)h(holds)g(the)g
(domain)f(parameters)p 3507 2707 V 304 2786 a Fa(67)p
390 2820 V 293 w Ff(*/)p 3507 2820 V 304 2899 a Fa(68)p
390 2933 V 245 w Ff(protected)f(LECDomainParametersP1363)d(mParams;)p
3507 2933 V 304 3012 a Fa(69)p 390 3046 V 3507 3046 V
304 3125 a(70)p 390 3159 V 245 w Ff(/**)p 3507 3159 V
304 3238 a Fa(71)p 390 3272 V 293 w Ff(*)47 b(holds)g(the)g(state)f(of)
h(the)g(cipher)f(which)g(is)i(either)p 3507 3272 V 304
3351 a Fa(72)p 390 3385 V 293 w Ff(*)f(<code>Cipher.ENCRYPT_MODE)o
(</co)o(de>)41 b(or)p 3507 3385 V 304 3464 a Fa(73)p
390 3498 V 293 w Ff(*)47 b(<code>Cipher.DECRYPT_MODE)o(</co)o(de>.)p
3507 3498 V 304 3577 a Fa(74)p 390 3610 V 293 w Ff(*/)p
3507 3610 V 304 3689 a Fa(75)p 390 3723 V 245 w Ff(protected)e(int)i
(mState;)p 3507 3723 V 304 3802 a Fa(76)p 390 3836 V
3507 3836 V 304 3915 a(77)p 390 3949 V 245 w Ff(/**)p
3507 3949 V 304 4028 a Fa(78)p 390 4062 V 293 w Ff(*)g(holds)g(the)g
(key)f(of)i(the)f(cipher)f(which)g(is)h(either)f(an)p
3507 4062 V 304 4141 a Fa(79)p 390 4175 V 293 w Ff(*)h
(<code>ECElGamalGFPPrivate)o(Key<)o(/cod)o(e>)41 b(or)48
b(an)p 3507 4175 V 304 4254 a Fa(80)p 390 4288 V 293
w Ff(*)f(<code>ECElGamalGFPPublicK)o(ey</)o(code)o(>.)p
3507 4288 V 304 4367 a Fa(81)p 390 4401 V 293 w Ff(*/)p
3507 4401 V 304 4480 a Fa(82)p 390 4514 V 245 w Ff(protected)e(Key)i
(mKey;)p 3507 4514 V 304 4593 a Fa(83)p 390 4627 V 3507
4627 V 304 4706 a(84)p 390 4740 V 245 w Ff(/**)p 3507
4740 V 304 4819 a Fa(85)p 390 4852 V 293 w Ff(*)g(holds)g(some)f
(random)g(information)p 3507 4852 V 304 4932 a Fa(86)p
390 4965 V 293 w Ff(*/)p 3507 4965 V 304 5044 a Fa(87)p
390 5078 V 245 w Ff(protected)f(SecureRandom)g(mSecureRandom;)p
3507 5078 V 304 5157 a Fa(88)p 390 5191 V 3507 5191 V
304 5270 a(89)p 390 5304 V 245 w Ff(/**)p 3507 5304 V
304 5383 a Fa(90)p 390 5417 V 293 w Ff(*)i(holds)g(the)g(block)f(size)h
(for)f(the)h(plaintext)p 3507 5417 V 304 5496 a Fa(91)p
390 5530 V 293 w Ff(*/)p 3507 5530 V 304 5609 a Fa(92)p
390 5643 V 245 w Ff(protected)e(int)i(mPlainBlockSize;)p
3507 5643 V eop
%%Page: 59 60
59 59 bop 270 82 a Fw(B.6.)62 b(ECElGamalGFPCipher)1867
b(59)184 415 y Fa(93)p 270 449 4 113 v 3387 449 V 184
528 a(94)p 270 562 V 245 w Ff(/**)p 3387 562 V 184 641
a Fa(95)p 270 675 V 293 w Ff(*)47 b(holds)g(the)g(block)f(size)h(for)f
(the)h(ciphertext)p 3387 675 V 184 754 a Fa(96)p 270
788 V 293 w Ff(*/)p 3387 788 V 184 867 a Fa(97)p 270
901 V 245 w Ff(protected)e(int)i(mCipherBlockSize;)p
3387 901 V 184 980 a Fa(98)p 270 1014 V 3387 1014 V 184
1093 a(99)p 270 1126 V 245 w Ff(/**)p 3387 1126 V 154
1205 a Fa(100)p 270 1239 V 293 w Ff(*)g(returns)f(the)h(block)f(size)h
(depending)e(on)i(the)g(current)f(state)h(of)p 3387 1239
V 154 1318 a Fa(101)p 270 1352 V 293 w Ff(*)g(the)g(cipher)p
3387 1352 V 154 1431 a Fa(102)p 270 1465 V 293 w Ff(*)p
3387 1465 V 154 1544 a Fa(103)p 270 1578 V 293 w Ff(*)g(@see)g(#mState)
p 3387 1578 V 154 1657 a Fa(104)p 270 1691 V 293 w Ff(*/)p
3387 1691 V 154 1770 a Fa(105)p 270 1804 V 245 w Ff(protected)e(int)i
(engineGetBlockSize\(\))p 3387 1804 V 154 1883 a Fa(106)p
270 1917 V 245 w Ff({)p 3387 1917 V 154 1996 a Fa(107)p
270 2030 V 436 w Ff(//)g(checks)f(the)h(state)p 3387
2030 V 154 2109 a Fa(108)p 270 2143 V 436 w Ff(if)g(\(mState)f(==)h
(Cipher.ENCRYPT_MODE\))p 3387 2143 V 154 2222 a Fa(109)p
270 2256 V 627 w Ff({)p 3387 2256 V 154 2335 a Fa(110)p
270 2368 V 818 w Ff(return)f(mPlainBlockSize;)p 3387
2368 V 154 2447 a Fa(111)p 270 2481 V 627 w Ff(})p 3387
2481 V 154 2560 a Fa(112)p 270 2594 V 436 w Ff(else)p
3387 2594 V 154 2673 a Fa(113)p 270 2707 V 627 w Ff({)p
3387 2707 V 154 2786 a Fa(114)p 270 2820 V 818 w Ff(return)g
(mCipherBlockSize;)p 3387 2820 V 154 2899 a Fa(115)p
270 2933 V 627 w Ff(})p 3387 2933 V 154 3012 a Fa(116)p
270 3046 V 245 w Ff(})p 3387 3046 V 154 3125 a Fa(117)p
270 3159 V 3387 3159 V 154 3238 a(118)p 270 3272 V 245
w Ff(/**)p 3387 3272 V 154 3351 a Fa(119)p 270 3385 V
293 w Ff(*)h(returns)f(the)h(maximum)f(output)g(size)h(for)f(the)h
(next)g(call)g(to)g(an)p 3387 3385 V 154 3464 a Fa(120)p
270 3498 V 293 w Ff(*)g(<code>update</code>)c(or)k
(<code>doFinal</code>)42 b(method)k(with)p 3387 3498
V 154 3577 a Fa(121)p 270 3610 V 293 w Ff(*)h(an)g(input)g(of)g(length)
f(<code>inputLength</code>)p 3387 3610 V 154 3689 a Fa(122)p
270 3723 V 293 w Ff(*)p 3387 3723 V 154 3802 a Fa(123)p
270 3836 V 293 w Ff(*)h(@param)f(inputLength)f(possible)h(length)g(for)
h(the)g(next)f(piece)h(of)p 3387 3836 V 154 3915 a Fa(124)p
270 3949 V 293 w Ff(*)g(input)p 3387 3949 V 154 4028
a Fa(125)p 270 4062 V 293 w Ff(*/)p 3387 4062 V 154 4141
a Fa(126)p 270 4175 V 245 w Ff(protected)e(int)i
(engineGetOutputSize\(int)42 b(inputLength\))p 3387 4175
V 154 4254 a Fa(127)p 270 4288 V 245 w Ff({)p 3387 4288
V 154 4367 a Fa(128)p 270 4401 V 436 w Ff(int)47 b(inBlocks;)p
3387 4401 V 154 4480 a Fa(129)p 270 4514 V 436 w Ff(int)g(outLength;)p
3387 4514 V 154 4593 a Fa(130)p 270 4627 V 3387 4627
V 154 4706 a(131)p 270 4740 V 436 w Ff(//)g(checks)f(the)h(state)p
3387 4740 V 154 4819 a Fa(132)p 270 4852 V 436 w Ff(if)g(\(mState)f(==)
h(Cipher.ENCRYPT_MODE\))p 3387 4852 V 154 4932 a Fa(133)p
270 4965 V 627 w Ff(//)g(calculates)e(here)p 3387 4965
V 154 5044 a Fa(134)p 270 5078 V 627 w Ff({)p 3387 5078
V 154 5157 a Fa(135)p 270 5191 V 818 w Ff(inBlocks)g(=)j(\(inputLength)
c(+)k(getBufferedDataLength\(\))p 3392 5191 V 154 5270
a Fa(136)p 270 5304 V 913 w Ff(+)g(mPlainBlockSize)43
b(-)48 b(1\))f(/)g(mPlainBlockSize;)p 3387 5304 V 154
5383 a Fa(137)p 270 5417 V 818 w Ff(outLength)e(=)j(inBlocks)d(*)j
(mCipherBlockSize;)p 3387 5417 V 154 5496 a Fa(138)p
270 5530 V 627 w Ff(})p 3387 5530 V 154 5609 a Fa(139)p
270 5643 V 436 w Ff(else)p 3387 5643 V eop
%%Page: 60 61
60 60 bop 390 82 a Fw(60)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
274 415 y Fa(140)p 390 449 4 113 v 627 w Ff(//)47 b(or)g(here)p
3507 449 V 274 528 a Fa(141)p 390 562 V 627 w Ff({)p
3507 562 V 274 641 a Fa(142)p 390 675 V 818 w Ff(inBlocks)e(=)j
(\(inputLength)c(+)k(getBufferedDataLength\(\))p 3512
675 V 274 754 a Fa(143)p 390 788 V 913 w Ff(+)g(mCipherBlockSize)43
b(-)48 b(1\))f(/)g(mCipherBlockSize;)p 3507 788 V 274
867 a Fa(144)p 390 901 V 818 w Ff(outLength)e(=)j(inBlocks)d(*)j
(mPlainBlockSize;)p 3507 901 V 274 980 a Fa(145)p 390
1014 V 627 w Ff(})p 3507 1014 V 274 1093 a Fa(146)p 390
1126 V 3507 1126 V 274 1205 a(147)p 390 1239 V 436 w
Ff(//)f(and)g(back)p 3507 1239 V 274 1318 a Fa(148)p
390 1352 V 436 w Ff(return)f(outLength;)p 3507 1352 V
274 1431 a Fa(149)p 390 1465 V 245 w Ff(})p 3507 1465
V 274 1544 a Fa(150)p 390 1578 V 3507 1578 V 274 1657
a(151)p 390 1691 V 245 w Ff(/**)p 3507 1691 V 274 1770
a Fa(152)p 390 1804 V 293 w Ff(*)h(initializes)e(this)i
(<code>ECElGamalGFPCiphe)o(r</c)o(ode)o(>)42 b(with)47
b(a)p 3507 1804 V 274 1883 a Fa(153)p 390 1917 V 293
w Ff(*)g(key)g(and)95 b(some)46 b(random)h(information)d(for)j
(encryption)e(or)p 3507 1917 V 274 1996 a Fa(154)p 390
2030 V 293 w Ff(*)i(decryption)p 3507 2030 V 274 2109
a Fa(155)p 390 2143 V 293 w Ff(*)p 3507 2143 V 274 2222
a Fa(156)p 390 2256 V 293 w Ff(*)g(@param)f(opmode)g(specifies)g(the)h
(mode)f(of)h(the)g(cipher)f(which)h(is)p 3507 2256 V
274 2335 a Fa(157)p 390 2368 V 293 w Ff(*)g(either)f
(<code>Cipher.ENCRYPT_MODE<)o(/co)o(de>)41 b(or)p 3507
2368 V 274 2447 a Fa(158)p 390 2481 V 293 w Ff(*)47 b
(<code>Cipher.DECRYPT_MODE)o(</co)o(de>)p 3507 2481 V
274 2560 a Fa(159)p 390 2594 V 293 w Ff(*)g(@param)f(key)h(the)g(key)g
(is)g(either)f(a)i(private)e(or)h(a)g(public)f(key)p
3507 2594 V 274 2673 a Fa(160)p 390 2707 V 293 w Ff(*)h(depending)f(on)
h(<code>opmode</code>)p 3507 2707 V 274 2786 a Fa(161)p
390 2820 V 293 w Ff(*)g(@param)f(random)g(the)h(secureRandom)e(holds)h
(the)h(random)p 3507 2820 V 274 2899 a Fa(162)p 390 2933
V 293 w Ff(*)g(information)p 3507 2933 V 274 3012 a Fa(163)p
390 3046 V 293 w Ff(*)p 3507 3046 V 274 3125 a Fa(164)p
390 3159 V 293 w Ff(*)g(@throws)f(InvalidKeyException)d(if)k
(<code>key</code>)c(is)p 3507 3159 V 274 3238 a Fa(165)p
390 3272 V 293 w Ff(*)k(neither)f(an)h(instance)f(of)h
(<code>ECElGamalGFPPublic)o(Key<)o(/cod)o(e>)p 3507 3272
V 274 3351 a Fa(166)p 390 3385 V 293 w Ff(*)g(nor)g(of)g
(<code>ECElGamalGFPPrivateK)o(ey<)o(/cod)o(e>)p 3507
3385 V 274 3464 a Fa(167)p 390 3498 V 293 w Ff(*)p 3507
3498 V 274 3577 a Fa(168)p 390 3610 V 293 w Ff(*)g(@see)g
(cdc.lidia.LECDomainParam)o(eter)o(sP1)o(363)p 3507 3610
V 274 3689 a Fa(169)p 390 3723 V 293 w Ff(*/)p 3507 3723
V 274 3802 a Fa(170)p 390 3836 V 245 w Ff(protected)e(void)i
(engineInit\(int)d(opmode,Key)h(key,)p 3507 3836 V 274
3915 a Fa(171)p 390 3949 V 341 w Ff(SecureRandom)f(random\))p
3507 3949 V 274 4028 a Fa(172)p 390 4062 V 436 w Ff(throws)i
(InvalidKeyException)p 3507 4062 V 274 4141 a Fa(173)p
390 4175 V 245 w Ff({)p 3507 4175 V 274 4254 a Fa(174)p
390 4288 V 436 w Ff(//)h(checks)f(the)h(key)p 3507 4288
V 274 4367 a Fa(175)p 390 4401 V 436 w Ff(if)g(\(opmode)f(==)h
(Cipher.ENCRYPT_MODE\))p 3507 4401 V 274 4480 a Fa(176)p
390 4514 V 627 w Ff(if)g(\(!\(key)f(instanceof)f
(ECElGamalGFPPublicKey\)\))p 3507 4514 V 274 4593 a Fa(177)p
390 4627 V 818 w Ff(throw)h(new)h(InvalidKeyException\("I)42
b(didn't)k(get)h(an)g(")p 3507 4627 V 274 4706 a Fa(178)p
390 4740 V 913 w Ff(+)h("ECElGamalPublicKey"\);)p 3507
4740 V 274 4819 a Fa(179)p 390 4852 V 436 w Ff(else)f(if)g(\(opmode)f
(==)h(Cipher.DECRYPT_MODE\))p 3507 4852 V 274 4932 a
Fa(180)p 390 4965 V 627 w Ff(if)g(\(!\(key)f(instanceof)f
(ECElGamalGFPPrivateKey\)\))p 3507 4965 V 274 5044 a
Fa(181)p 390 5078 V 818 w Ff(throw)h(new)h(InvalidKeyException\("I)42
b(didn't)k(get)h(an)g(")p 3507 5078 V 274 5157 a Fa(182)p
390 5191 V 913 w Ff(+)h("ECElGamalPrivateKey"\);)p 3507
5191 V 274 5270 a Fa(183)p 390 5304 V 436 w Ff(else)f(throw)f(new)h
(IllegalArgumentException)o(\("Ba)o(d)42 b(mode:)k(")i(+)p
3507 5304 V 274 5383 a Fa(184)p 390 5417 V 531 w Ff(opmode\);)p
3507 5417 V 274 5496 a Fa(185)p 390 5530 V 3507 5530
V 274 5609 a(186)p 390 5643 V 436 w Ff(//)f(sets)g(the)g(fields)p
3507 5643 V eop
%%Page: 61 62
61 61 bop 270 82 a Fw(B.6.)62 b(ECElGamalGFPCipher)1867
b(61)154 415 y Fa(187)p 270 449 4 113 v 436 w Ff(mState)46
b(=)i(opmode;)p 3387 449 V 154 528 a Fa(188)p 270 562
V 436 w Ff(mKey)f(=)g(key;)p 3387 562 V 154 641 a Fa(189)p
270 675 V 436 w Ff(mParams)f(=)h(\(\(ECElGamalGFPKey\)key\).ge)o(tPar)o
(ams\()o(\);)p 3387 675 V 154 754 a Fa(190)p 270 788
V 436 w Ff(mSecureRandom)d(=)k(random;)p 3387 788 V 154
867 a Fa(191)p 270 901 V 436 w Ff(calculateBlockSizes\(mKey)o(\);)p
3387 901 V 154 980 a Fa(192)p 270 1014 V 245 w Ff(})p
3387 1014 V 154 1093 a Fa(193)p 270 1126 V 3387 1126
V 154 1205 a(194)p 270 1239 V 245 w Ff(/**)p 3387 1239
V 154 1318 a Fa(195)p 270 1352 V 293 w Ff(*)f(initializes)e(this)i
(<code>ECElGamalGFPCiphe)o(r</c)o(ode)o(>)42 b(with)47
b(a)p 3387 1352 V 154 1431 a Fa(196)p 270 1465 V 293
w Ff(*)g(key)g(and)g(the)g(domain)f(parameters)p 3387
1465 V 154 1544 a Fa(197)p 270 1578 V 293 w Ff(*)p 3387
1578 V 154 1657 a Fa(198)p 270 1691 V 293 w Ff(*)h(@param)f(opmode)g
(specifies)g(the)h(mode)f(of)h(the)g(cipher)f(which)h(is)p
3387 1691 V 154 1770 a Fa(199)p 270 1804 V 293 w Ff(*)g(either)f
(<code>Cipher.ENCRYPT_MODE<)o(/co)o(de>)41 b(or)p 3387
1804 V 154 1883 a Fa(200)p 270 1917 V 293 w Ff(*)47 b
(<code>Cipher.DECRYPT_MODE)o(</co)o(de>)p 3387 1917 V
154 1996 a Fa(201)p 270 2030 V 293 w Ff(*)g(@param)f(key)h(the)g(key)g
(is)g(either)f(a)i(private)e(or)h(a)g(public)f(key)p
3387 2030 V 154 2109 a Fa(202)p 270 2143 V 293 w Ff(*)h(depending)f(on)
h(<code>opmode</code>)p 3387 2143 V 154 2222 a Fa(203)p
270 2256 V 293 w Ff(*)g(@param)f(params)g(the)h(algorithmParameterSpec)
42 b(holds)k(the)h(domain)p 3387 2256 V 154 2335 a Fa(204)p
270 2368 V 293 w Ff(*)g(parameters)p 3387 2368 V 154
2447 a Fa(205)p 270 2481 V 293 w Ff(*)p 3387 2481 V 154
2560 a Fa(206)p 270 2594 V 293 w Ff(*)g(@throws)f(InvalidKeyException)d
(if)k(<code>params</code>)42 b(is)48 b(not)p 3387 2594
V 154 2673 a Fa(207)p 270 2707 V 293 w Ff(*)f(the)g(same)g(object)f(as)
h(the)g(params)f(contained)f(in)p 3387 2707 V 154 2786
a Fa(208)p 270 2820 V 293 w Ff(*)i(<code>key</code>)p
3387 2820 V 154 2899 a Fa(209)p 270 2933 V 293 w Ff(*)p
3387 2933 V 154 3012 a Fa(210)p 270 3046 V 293 w Ff(*)g(@see)g
(cdc.lidia.LECDomainParam)o(eter)o(sP1)o(363)p 3387 3046
V 154 3125 a Fa(211)p 270 3159 V 293 w Ff(*/)p 3387 3159
V 154 3238 a Fa(212)p 270 3272 V 245 w Ff(protected)e(void)i
(engineInit\(int)d(opmode,Key)h(key,)p 3387 3272 V 154
3351 a Fa(213)p 270 3385 V 1486 w Ff(AlgorithmParameterSpec)d(params,)p
3387 3385 V 154 3464 a Fa(214)p 270 3498 V 1486 w Ff(SecureRandom)i
(random\))p 3387 3498 V 154 3577 a Fa(215)p 270 3610
V 436 w Ff(throws)i(InvalidKeyException)p 3387 3610 V
154 3689 a Fa(216)p 270 3723 V 245 w Ff({)p 3387 3723
V 154 3802 a Fa(217)p 270 3836 V 436 w Ff(//)h(checks)f(the)h(domain)f
(parameters)f(of)i(the)g(key)g(and)g(the)p 3387 3836
V 154 3915 a Fa(218)p 270 3949 V 436 w Ff(//)g(argument)p
3387 3949 V 154 4028 a Fa(219)p 270 4062 V 436 w Ff(if)g
(\(!\(\(ECElGamalGFPKey\)key\).)o(getP)o(ara)o(ms\(\))o(.equ)o(als)o
(\(par)o(ams\))o(\))p 3387 4062 V 154 4141 a Fa(220)p
270 4175 V 627 w Ff({)p 3387 4175 V 154 4254 a Fa(221)p
270 4288 V 818 w Ff(throw)f(new)h(InvalidKeyException\("The)41
b(domain)46 b(")p 3387 4288 V 154 4367 a Fa(222)p 270
4401 V 913 w Ff(+)i("parameters)c(of)k(the)f(key)f(and)h(the)g
(argument")p 3387 4401 V 154 4480 a Fa(223)p 270 4514
V 913 w Ff(+)h("params)e(are)g(not)h(identical!"\);)p
3387 4514 V 154 4593 a Fa(224)p 270 4627 V 627 w Ff(})p
3387 4627 V 154 4706 a Fa(225)p 270 4740 V 3387 4740
V 154 4819 a(226)p 270 4852 V 436 w Ff(//)g(sets)g(the)g(fields)p
3387 4852 V 154 4932 a Fa(227)p 270 4965 V 436 w Ff(mState)f(=)i
(opmode;)p 3387 4965 V 154 5044 a Fa(228)p 270 5078 V
436 w Ff(mKey)f(=)g(key;)p 3387 5078 V 154 5157 a Fa(229)p
270 5191 V 436 w Ff(mParams)f(=)h(\(LECDomainParametersP1363)o(\)par)o
(ams;)p 3387 5191 V 154 5270 a Fa(230)p 270 5304 V 436
w Ff(mSecureRandom)d(=)k(new)f(SecureRandom\(\);;)p 3387
5304 V 154 5383 a Fa(231)p 270 5417 V 436 w Ff
(calculateBlockSizes\(mKey)o(\);)p 3387 5417 V 154 5496
a Fa(232)p 270 5530 V 245 w Ff(})p 3387 5530 V 154 5609
a Fa(233)p 270 5643 V 3387 5643 V eop
%%Page: 62 63
62 62 bop 390 82 a Fw(62)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
274 415 y Fa(234)p 390 449 4 113 v 245 w Ff(/**)p 3507
449 V 274 528 a Fa(235)p 390 562 V 293 w Ff(*)47 b(calculates)e(the)i
(block)g(sizes)f(of)h(this)p 3507 562 V 274 641 a Fa(236)p
390 675 V 293 w Ff(*)g(<code>ECElGamalGFPCipher<)o(/cod)o(e>)42
b(depending)j(on)i(the)g(size)g(of)p 3507 675 V 274 754
a Fa(237)p 390 788 V 293 w Ff(*)g(the)g(key)p 3507 788
V 274 867 a Fa(238)p 390 901 V 293 w Ff(*)p 3507 901
V 274 980 a Fa(239)p 390 1014 V 293 w Ff(*)g(@param)f(key)h(the)g(key)g
(is)g(an)g(<code>ECElGamalGFPKey</cod)o(e>)p 3507 1014
V 274 1093 a Fa(240)p 390 1126 V 293 w Ff(*)p 3507 1126
V 274 1205 a Fa(241)p 390 1239 V 293 w Ff(*)g(@see)g(#mPlainBlockSize)p
3507 1239 V 274 1318 a Fa(242)p 390 1352 V 293 w Ff(*)g(@see)g
(#mCipherBlockSize)p 3507 1352 V 274 1431 a Fa(243)p
390 1465 V 293 w Ff(*/)p 3507 1465 V 274 1544 a Fa(244)p
390 1578 V 245 w Ff(protected)e(void)i(calculateBlockSizes\(Key)41
b(key\))p 3507 1578 V 274 1657 a Fa(245)p 390 1691 V
245 w Ff({)p 3507 1691 V 274 1770 a Fa(246)p 390 1804
V 436 w Ff(//)47 b(extracts)f(the)h(modulus)e(and)i(calculates)p
3507 1804 V 274 1883 a Fa(247)p 390 1917 V 436 w Ff(BigInteger)e
(biModulusLength)f(=)j(\(\(ECElGamalGFPKey\)key\).)p
3507 1917 V 274 1996 a Fa(248)p 390 2030 V 531 w Ff
(getParams\(\).getQ\(\);)p 3507 2030 V 274 2109 a Fa(249)p
390 2143 V 436 w Ff(int)g(modulusLength)d(=)k(biModulusLength.bitLeng)o
(th\()o(\);)p 3507 2143 V 274 2222 a Fa(250)p 390 2256
V 436 w Ff(mPlainBlockSize)c(=)j(\(modulusLength)d(-)j(1\))h(/)f(8)h(*)
f(2;)p 3507 2256 V 274 2335 a Fa(251)p 390 2368 V 436
w Ff(mCipherBlockSize)c(=)48 b(\(\(modulusLength)43 b(+)48
b(7\))f(/)h(8\))f(*)g(4;)p 3507 2368 V 274 2447 a Fa(252)p
390 2481 V 245 w Ff(})p 3507 2481 V 274 2560 a Fa(253)p
390 2594 V 3507 2594 V 274 2673 a(254)p 390 2707 V 245
w Ff(/**)p 3507 2707 V 274 2786 a Fa(255)p 390 2820 V
293 w Ff(*)g(returns)f(the)h(number)f(converted)f(into)i(a)g
(bytearray.)e(This)i(is)p 3507 2820 V 274 2899 a Fa(256)p
390 2933 V 293 w Ff(*)g(just)g(a)g(helper)f(method)h(because)e(of)j
(the)e(sign)h(of)g(the)g(number.)p 3507 2933 V 274 3012
a Fa(257)p 390 3046 V 293 w Ff(*)p 3507 3046 V 274 3125
a Fa(258)p 390 3159 V 293 w Ff(*)g(@param)f(big)h(the)g(bigInteger)e
(holds)i(the)f(number)h(which)f(has)h(to)p 3507 3159
V 274 3238 a Fa(259)p 390 3272 V 293 w Ff(*)g(be)g(transformed)p
3507 3272 V 274 3351 a Fa(260)p 390 3385 V 293 w Ff(*/)p
3507 3385 V 274 3464 a Fa(261)p 390 3498 V 245 w Ff(protected)e(byte[])
h(getBytes\(BigInteger)d(big\))p 3507 3498 V 274 3577
a Fa(262)p 390 3610 V 245 w Ff({)p 3507 3610 V 274 3689
a Fa(263)p 390 3723 V 436 w Ff(//)k(transforms)e(the)i(number)p
3507 3723 V 274 3802 a Fa(264)p 390 3836 V 436 w Ff(byte[])f(bigBytes)g
(=)h(big.toByteArray\(\);)p 3507 3836 V 274 3915 a Fa(265)p
390 3949 V 3507 3949 V 274 4028 a(266)p 390 4062 V 436
w Ff(if)g(\(\(big.bitLength\(\))c(\045)48 b(8\))f(!=)g(0\))p
3507 4062 V 274 4141 a Fa(267)p 390 4175 V 627 w Ff({)p
3507 4175 V 274 4254 a Fa(268)p 390 4288 V 818 w Ff(return)f(bigBytes;)
p 3507 4288 V 274 4367 a Fa(269)p 390 4401 V 627 w Ff(})p
3507 4401 V 274 4480 a Fa(270)p 390 4514 V 436 w Ff(else)p
3507 4514 V 274 4593 a Fa(271)p 390 4627 V 627 w Ff({)p
3507 4627 V 274 4706 a Fa(272)p 390 4740 V 818 w Ff(//)h(transforms)e
(to)i(the)g(right)f(size)p 3507 4740 V 274 4819 a Fa(273)p
390 4852 V 818 w Ff(byte[])g(smallerBytes)e(=)k(new)f
(byte[big.bitLength\(\))p 3507 4852 V 274 4932 a Fa(274)p
390 4965 V 913 w Ff(/)h(8];)p 3507 4965 V 274 5044 a
Fa(275)p 390 5078 V 818 w Ff(System.arraycopy\(bigByte)o(s,1)o(,sma)o
(ller)o(Byt)o(es,0)o(,)p 3507 5078 V 274 5157 a Fa(276)p
390 5191 V 913 w Ff(smallerBytes.length\);)p 3507 5191
V 274 5270 a Fa(277)p 390 5304 V 818 w Ff(return)e(smallerBytes;)p
3507 5304 V 274 5383 a Fa(278)p 390 5417 V 627 w Ff(})p
3507 5417 V 274 5496 a Fa(279)p 390 5530 V 245 w Ff(})p
3507 5530 V 274 5609 a Fa(280)p 390 5643 V 3507 5643
V eop
%%Page: 63 64
63 63 bop 270 82 a Fw(B.6.)62 b(ECElGamalGFPCipher)1867
b(63)154 415 y Fa(281)p 270 449 4 113 v 245 w Ff(/**)p
3387 449 V 154 528 a Fa(282)p 270 562 V 293 w Ff(*)47
b(encrypts)f(one)h(block)f(of)h(data.)p 3387 562 V 154
641 a Fa(283)p 270 675 V 293 w Ff(*)g(<p>)p 3387 675
V 154 754 a Fa(284)p 270 788 V 293 w Ff(*)g(The)g(input)g(block)f(of)h
(<code>inputLength</code>)41 b(bytes)47 b(has)g(to)p
3387 788 V 154 867 a Fa(285)p 270 901 V 293 w Ff(*)g(be)g(supplied)f
(in)h(the)g(bytearray)e(<code>input</code>,)e(starting)p
3387 901 V 154 980 a Fa(286)p 270 1014 V 293 w Ff(*)k(at)g
(<code>inputOffset</code>.)41 b(The)47 b(output)f(should)g(be)i
(written)p 3387 1014 V 154 1093 a Fa(287)p 270 1126 V
293 w Ff(*)f(in)g(the)g(bytearray)f(<code>output</code>,)c(starting)j
(at)p 3387 1126 V 154 1205 a Fa(288)p 270 1239 V 293
w Ff(*)i(<code>outputOffset</code>)o(.)p 3387 1239 V
154 1318 a Fa(289)p 270 1352 V 293 w Ff(*)p 3387 1352
V 154 1431 a Fa(290)p 270 1465 V 293 w Ff(*)g(@param)f(input)h(the)g
(bytearray)e(holds)h(the)h(input)p 3387 1465 V 154 1544
a Fa(291)p 270 1578 V 293 w Ff(*)g(@param)f(inputOffset)f(the)i
(position)f(where)g(the)h(input)f(starts)p 3387 1578
V 154 1657 a Fa(292)p 270 1691 V 293 w Ff(*)h(@param)f(inputLength)f
(the)i(length)f(of)h(the)g(input)p 3387 1691 V 154 1770
a Fa(293)p 270 1804 V 293 w Ff(*)g(@param)f(output)g(the)h(bytearray)f
(will)g(hold)h(the)g(output)p 3387 1804 V 154 1883 a
Fa(294)p 270 1917 V 293 w Ff(*)g(@param)f(outputOffset)f(the)i
(position)e(where)i(the)g(output)f(starts)p 3387 1917
V 154 1996 a Fa(295)p 270 2030 V 293 w Ff(*)p 3387 2030
V 154 2109 a Fa(296)p 270 2143 V 293 w Ff(*)h(@return)f(the)h(number)f
(of)h(bytes)g(written)p 3387 2143 V 154 2222 a Fa(297)p
270 2256 V 293 w Ff(*/)p 3387 2256 V 154 2335 a Fa(298)p
270 2368 V 245 w Ff(protected)e(int)i(encryptBlock\(byte[])c(in,int)j
(inOff,int)f(inLen,)p 3387 2368 V 154 2447 a Fa(299)p
270 2481 V 341 w Ff(byte[])h(out,int)f(outOff\))p 3387
2481 V 154 2560 a Fa(300)p 270 2594 V 245 w Ff({)p 3387
2594 V 154 2673 a Fa(301)p 270 2707 V 436 w Ff(//)i(extracts)f(the)h
(data)p 3387 2707 V 154 2786 a Fa(302)p 270 2820 V 436
w Ff(byte[])f(messageBytes)f(=)i(new)g(byte[mPlainBlockSize];)p
3387 2820 V 154 2899 a Fa(303)p 270 2933 V 436 w Ff(byte[])f(firstHalf)
f(=)j(new)f(byte[mPlainBlockSize/2])o(;)p 3387 2933 V
154 3012 a Fa(304)p 270 3046 V 436 w Ff(byte[])f(secondHalf)f(=)j(new)e
(byte[mPlainBlockSize/2];)p 3387 3046 V 154 3125 a Fa(305)p
270 3159 V 436 w Ff(int)h(inputLength)e(=)i(Math.min\(mPlainBlockSize,)
o(inL)o(en\);)p 3387 3159 V 154 3238 a Fa(306)p 270 3272
V 436 w Ff(System.arraycopy\(in,inOf)o(f,me)o(ssag)o(eBy)o(tes,)o(0,in)
o(put)o(Leng)o(th\);)p 3387 3272 V 154 3351 a Fa(307)p
270 3385 V 436 w Ff(if)g(\(inputLength)e(<=)i(\(mPlainBlockSize/2\)\))p
3387 3385 V 154 3464 a Fa(308)p 270 3498 V 627 w Ff({)p
3387 3498 V 154 3577 a Fa(309)p 270 3610 V 818 w Ff
(System.arraycopy\(message)o(Byt)o(es,0)o(,fir)o(stH)o(alf,)o(0,)p
3387 3610 V 154 3689 a Fa(310)p 270 3723 V 913 w Ff(inputLength/2\);)p
3387 3723 V 154 3802 a Fa(311)p 270 3836 V 627 w Ff(})p
3387 3836 V 154 3915 a Fa(312)p 270 3949 V 436 w Ff(else)p
3387 3949 V 154 4028 a Fa(313)p 270 4062 V 627 w Ff({)p
3387 4062 V 154 4141 a Fa(314)p 270 4175 V 818 w Ff
(System.arraycopy\(message)o(Byt)o(es,0)o(,fir)o(stH)o(alf,)o(0,)p
3387 4175 V 154 4254 a Fa(315)p 270 4288 V 913 w Ff
(mPlainBlockSize/2\);)p 3387 4288 V 154 4367 a Fa(316)p
270 4401 V 818 w Ff(System.arraycopy\(message)o(Byt)o(es,m)o(Plai)o
(nBl)o(ockS)o(ize/)o(2,)p 3387 4401 V 154 4480 a Fa(317)p
270 4514 V 913 w Ff(secondHalf,0,inputLength-)o(mPla)o(inBl)o(ock)o
(Size)o(/2\);)p 3387 4514 V 154 4593 a Fa(318)p 270 4627
V 627 w Ff(})p 3387 4627 V 154 4706 a Fa(319)p 270 4740
V 3387 4740 V 154 4819 a(320)p 270 4852 V 436 w Ff(//)g(gets)g(the)g
(necessary)e(objects)h(for)h(calculation)p 3387 4852
V 154 4932 a Fa(321)p 270 4965 V 436 w Ff(ECElGamalGFPPublicKey)42
b(key)47 b(=)g(\(ECElGamalGFPPublicKey\)mKe)o(y;)p 3387
4965 V 154 5044 a Fa(322)p 270 5078 V 436 w Ff(BigInteger)e(q)i(=)h
(mParams.getQ\(\);)p 3387 5078 V 154 5157 a Fa(323)p
270 5191 V 436 w Ff(LECPointGFP)d(generator)g(=)i(mParams.getG\(\);)p
3387 5191 V 154 5270 a Fa(324)p 270 5304 V 436 w Ff(BigInteger)e(k;)p
3387 5304 V 154 5383 a Fa(325)p 270 5417 V 436 w Ff(LECPointGFP)g
(betaOne;)p 3387 5417 V 154 5496 a Fa(326)p 270 5530
V 436 w Ff(BigInteger)g(betaOneX;)p 3387 5530 V 154 5609
a Fa(327)p 270 5643 V 436 w Ff(BigInteger)g(betaOneY;)p
3387 5643 V eop
%%Page: 64 65
64 64 bop 390 82 a Fw(64)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
274 415 y Fa(328)p 390 449 4 113 v 3507 449 V 274 528
a(329)p 390 562 V 436 w Ff(//)47 b(creates)f(the)h("secret")p
3507 562 V 274 641 a Fa(330)p 390 675 V 436 w Ff(do)p
3507 675 V 274 754 a Fa(331)p 390 788 V 627 w Ff({)p
3507 788 V 274 867 a Fa(332)p 390 901 V 818 w Ff(k)g(=)h(new)f
(BigInteger\(\(q.bitLength)o(\(\)\))41 b(-)48 b(1,)p
3507 901 V 274 980 a Fa(333)p 390 1014 V 913 w Ff(mSecureRandom\);)p
3507 1014 V 274 1093 a Fa(334)p 390 1126 V 818 w Ff(betaOne)e(=)h
(key.getPower\(\).multiply\()p 3507 1126 V 274 1205 a
Fa(335)p 390 1239 V 913 w Ff(new)g(LBigInt\(k\)\);)p
3507 1239 V 274 1318 a Fa(336)p 390 1352 V 818 w Ff(betaOneX)e(=)j
(betaOne.getX\(\).toBigInte)o(ger)o(\(\);)p 3507 1352
V 274 1431 a Fa(337)p 390 1465 V 818 w Ff(betaOneY)d(=)j
(betaOne.getY\(\).toBigInte)o(ger)o(\(\);)p 3507 1465
V 274 1544 a Fa(338)p 390 1578 V 627 w Ff(})f(while)g
(\(!\(betaOneX.gcd\(q\).equa)o(ls\(B)o(igIn)o(teg)o(er.O)o(NE\)\))p
3507 1578 V 274 1657 a Fa(339)p 390 1691 V 722 w Ff(||)h
(!\(betaOneY.gcd\(q\).equal)o(s\(B)o(igIn)o(tege)o(r.O)o(NE\)\))o(\);)p
3507 1691 V 274 1770 a Fa(340)p 390 1804 V 3507 1804
V 274 1883 a(341)p 390 1917 V 436 w Ff(//)95 b(calculates)45
b(the)i(ciphertext)p 3507 1917 V 274 1996 a Fa(342)p
390 2030 V 436 w Ff(LECPointGFP)e(betaZero)g(=)j(generator.multiply\()p
3507 2030 V 274 2109 a Fa(343)p 390 2143 V 531 w Ff(new)f
(LBigInt\(k\)\);)p 3507 2143 V 274 2222 a Fa(344)p 390
2256 V 436 w Ff(BigInteger)e(mOne)i(=)g(new)g(BigInteger\(firstHalf\);)
p 3507 2256 V 274 2335 a Fa(345)p 390 2368 V 436 w Ff(BigInteger)e
(mTwo)i(=)g(new)g(BigInteger\(secondHalf\);)p 3507 2368
V 274 2447 a Fa(346)p 390 2481 V 436 w Ff(BigInteger)e(cOne)i(=)g
(betaOneX.multiply\(mOne\).m)o(od\()o(q\);)p 3507 2481
V 274 2560 a Fa(347)p 390 2594 V 436 w Ff(BigInteger)e(cTwo)i(=)g
(betaOneY.multiply\(mTwo\).m)o(od\()o(q\);)p 3507 2594
V 274 2673 a Fa(348)p 390 2707 V 436 w Ff(BigInteger)e(betaZeroX)g(=)j
(betaZero.getX\(\).toBigIn)o(tege)o(r\(\);)p 3507 2707
V 274 2786 a Fa(349)p 390 2820 V 436 w Ff(BigInteger)d(betaZeroY)g(=)j
(betaZero.getY\(\).toBigIn)o(tege)o(r\(\);)p 3507 2820
V 274 2899 a Fa(350)p 390 2933 V 436 w Ff(byte[])e(betaZeroXBytes)e(=)j
(getBytes\(betaZeroX\);)p 3507 2933 V 274 3012 a Fa(351)p
390 3046 V 436 w Ff(byte[])f(betaZeroYBytes)e(=)j
(getBytes\(betaZeroY\);)p 3507 3046 V 274 3125 a Fa(352)p
390 3159 V 436 w Ff(byte[])f(cOneBytes)f(=)j(getBytes\(cOne\);)p
3507 3159 V 274 3238 a Fa(353)p 390 3272 V 436 w Ff(byte[])e(cTwoBytes)
f(=)j(getBytes\(cTwo\);)p 3507 3272 V 274 3351 a Fa(354)p
390 3385 V 3507 3385 V 274 3464 a(355)p 390 3498 V 436
w Ff(//)f(transforms)e(the)i(ciphertext)e(to)i(the)g(right)g(format)p
3507 3498 V 274 3577 a Fa(356)p 390 3610 V 436 w Ff
(System.arraycopy\(cOneByt)o(es,0)o(,out)o(,ou)o(tOff)o(+)p
3507 3610 V 274 3689 a Fa(357)p 390 3723 V 531 w Ff
(mCipherBlockSize/4-cOneByt)o(es.l)o(eng)o(th,c)o(OneB)o(yte)o(s.le)o
(ngth)o(\);)p 3507 3723 V 274 3802 a Fa(358)p 390 3836
V 436 w Ff(System.arraycopy\(cTwoByt)o(es,0)o(,out)o(,ou)o(tOff)o(+)p
3507 3836 V 274 3915 a Fa(359)p 390 3949 V 531 w Ff
(mCipherBlockSize/2-cTwoByt)o(es.l)o(eng)o(th,c)o(TwoB)o(yte)o(s.le)o
(ngth)o(\);)p 3507 3949 V 274 4028 a Fa(360)p 390 4062
V 436 w Ff(System.arraycopy\(betaZer)o(oXBy)o(tes,)o(0,o)o(ut,o)o(utOf)
o(f+)p 3507 4062 V 274 4141 a Fa(361)p 390 4175 V 531
w Ff(mCipherBlockSize/4*3-betaZ)o(eroX)o(Byt)o(es.l)o(engt)o(h,)p
3507 4175 V 274 4254 a Fa(362)p 390 4288 V 531 w Ff
(betaZeroXBytes.length\);)p 3507 4288 V 274 4367 a Fa(363)p
390 4401 V 436 w Ff(System.arraycopy\(betaZer)o(oYBy)o(tes,)o(0,o)o
(ut,o)o(utOf)o(f+)p 3507 4401 V 274 4480 a Fa(364)p 390
4514 V 531 w Ff(mCipherBlockSize-betaZeroY)o(Byte)o(s.l)o(engt)o(h,)p
3507 4514 V 274 4593 a Fa(365)p 390 4627 V 531 w Ff
(betaZeroYBytes.length\);)p 3507 4627 V 274 4706 a Fa(366)p
390 4740 V 3507 4740 V 274 4819 a(367)p 390 4852 V 436
w Ff(//)g(and)g(back)p 3507 4852 V 274 4932 a Fa(368)p
390 4965 V 436 w Ff(return)f(mCipherBlockSize;)p 3507
4965 V 274 5044 a Fa(369)p 390 5078 V 245 w Ff(})p 3507
5078 V 274 5157 a Fa(370)p 390 5191 V 3507 5191 V 274
5270 a(371)p 390 5304 V 245 w Ff(/**)p 3507 5304 V 274
5383 a Fa(372)p 390 5417 V 293 w Ff(*)h(decrypts)f(one)h(block)f(of)h
(data.)p 3507 5417 V 274 5496 a Fa(373)p 390 5530 V 293
w Ff(*)g(<p>)p 3507 5530 V 274 5609 a Fa(374)p 390 5643
V 293 w Ff(*)g(The)g(input)g(block)f(of)h(<code>inputLength</code>)41
b(bytes)47 b(has)g(to)p 3507 5643 V eop
%%Page: 65 66
65 65 bop 270 82 a Fw(B.6.)62 b(ECElGamalGFPCipher)1867
b(65)154 415 y Fa(375)p 270 449 4 113 v 293 w Ff(*)47
b(be)g(supplied)f(in)h(the)g(bytearray)e(<code>input</code>,)e
(starting)p 3387 449 V 154 528 a Fa(376)p 270 562 V 293
w Ff(*)k(at)g(<code>inputOffset</code>.)41 b(The)47 b(output)f(should)g
(be)i(written)p 3387 562 V 154 641 a Fa(377)p 270 675
V 293 w Ff(*)f(in)g(the)g(bytearray)f(<code>output</code>,)c(starting)j
(at)p 3387 675 V 154 754 a Fa(378)p 270 788 V 293 w Ff(*)i
(<code>outputOffset</code>)o(.)p 3387 788 V 154 867 a
Fa(379)p 270 901 V 293 w Ff(*)p 3387 901 V 154 980 a
Fa(380)p 270 1014 V 293 w Ff(*)g(@param)f(input)h(the)g(bytearray)e
(holds)h(the)h(input)p 3387 1014 V 154 1093 a Fa(381)p
270 1126 V 293 w Ff(*)g(@param)f(inputOffset)f(the)i(position)f(where)g
(the)h(input)f(starts)p 3387 1126 V 154 1205 a Fa(382)p
270 1239 V 293 w Ff(*)h(@param)f(inputLength)f(the)i(length)f(of)h(the)
g(input)p 3387 1239 V 154 1318 a Fa(383)p 270 1352 V
293 w Ff(*)g(@param)f(output)g(the)h(bytearray)f(will)g(hold)h(the)g
(output)p 3387 1352 V 154 1431 a Fa(384)p 270 1465 V
293 w Ff(*)g(@param)f(outputOffset)f(the)i(position)e(where)i(the)g
(output)f(starts)p 3387 1465 V 154 1544 a Fa(385)p 270
1578 V 293 w Ff(*)p 3387 1578 V 154 1657 a Fa(386)p 270
1691 V 293 w Ff(*)h(@return)f(the)h(number)f(of)h(bytes)g(written)p
3387 1691 V 154 1770 a Fa(387)p 270 1804 V 293 w Ff(*/)p
3387 1804 V 154 1883 a Fa(388)p 270 1917 V 245 w Ff(protected)e(int)i
(decryptBlock\(byte[])c(in,int)j(inOff,int)f(inLen,)p
3387 1917 V 154 1996 a Fa(389)p 270 2030 V 341 w Ff(byte[])h(out,int)f
(outOff\))p 3387 2030 V 154 2109 a Fa(390)p 270 2143
V 245 w Ff({)p 3387 2143 V 154 2222 a Fa(391)p 270 2256
V 436 w Ff(//)i(extracts)f(the)h(data)p 3387 2256 V 154
2335 a Fa(392)p 270 2368 V 436 w Ff(byte[])f(cipherBytes)f(=)i(new)g
(byte[mCipherBlockSize];)p 3387 2368 V 154 2447 a Fa(393)p
270 2481 V 436 w Ff(byte[])f(cOneBytes)f(=)j(new)f
(byte[mCipherBlockSize/4)o(];)p 3387 2481 V 154 2560
a Fa(394)p 270 2594 V 436 w Ff(byte[])f(cTwoBytes)f(=)j(new)f
(byte[mCipherBlockSize/4)o(];)p 3387 2594 V 154 2673
a Fa(395)p 270 2707 V 436 w Ff(byte[])f(betaZeroXBytes)e(=)j(new)g
(byte[mCipherBlockSize/4];)p 3387 2707 V 154 2786 a Fa(396)p
270 2820 V 436 w Ff(byte[])f(betaZeroYBytes)e(=)j(new)g
(byte[mCipherBlockSize/4];)p 3387 2820 V 154 2899 a Fa(397)p
270 2933 V 436 w Ff(System.arraycopy\(in,inOf)o(f,ci)o(pher)o(Byt)o
(es,0)o(,)p 3387 2933 V 154 3012 a Fa(398)p 270 3046
V 531 w Ff(mCipherBlockSize\);)p 3387 3046 V 154 3125
a Fa(399)p 270 3159 V 436 w Ff(System.arraycopy\(cipherB)o(ytes)o(,0,c)
o(One)o(Byte)o(s,0,)p 3387 3159 V 154 3238 a Fa(400)p
270 3272 V 531 w Ff(mCipherBlockSize/4\);)p 3387 3272
V 154 3351 a Fa(401)p 270 3385 V 436 w Ff(System.arraycopy\(cipherB)o
(ytes)o(,mCi)o(phe)o(rBlo)o(ckSi)o(ze/)o(4,)p 3387 3385
V 154 3464 a Fa(402)p 270 3498 V 531 w Ff(cTwoBytes,0,mCipherBlockSi)o
(ze/4)o(\);)p 3387 3498 V 154 3577 a Fa(403)p 270 3610
V 436 w Ff(System.arraycopy\(cipherB)o(ytes)o(,mCi)o(phe)o(rBlo)o(ckSi)
o(ze/)o(2,)p 3387 3610 V 154 3689 a Fa(404)p 270 3723
V 531 w Ff(betaZeroXBytes,0,mCipherBl)o(ockS)o(ize)o(/4\);)p
3387 3723 V 154 3802 a Fa(405)p 270 3836 V 436 w Ff
(System.arraycopy\(cipherB)o(ytes)o(,mCi)o(phe)o(rBlo)o(ckSi)o(ze/)o
(4*3,)p 3387 3836 V 154 3915 a Fa(406)p 270 3949 V 531
w Ff(betaZeroYBytes,0,mCipherBl)o(ockS)o(ize)o(/4\);)p
3387 3949 V 154 4028 a Fa(407)p 270 4062 V 3387 4062
V 154 4141 a(408)p 270 4175 V 436 w Ff(//)g(gets)g(the)g(necessary)e
(objects)h(for)h(calculation)p 3387 4175 V 154 4254 a
Fa(409)p 270 4288 V 436 w Ff(ECElGamalGFPPrivateKey)42
b(key)47 b(=)g(\(ECElGamalGFPPrivateKey\))p 3387 4288
V 154 4367 a Fa(410)p 270 4401 V 531 w Ff(mKey;)p 3387
4401 V 154 4480 a Fa(411)p 270 4514 V 436 w Ff(BigInteger)e(q)i(=)h
(key.getParams\(\).getQ\(\);)p 3387 4514 V 154 4593 a
Fa(412)p 270 4627 V 436 w Ff(BigInteger)d(exponent)h(=)h
(key.getExponent\(\);)p 3387 4627 V 154 4706 a Fa(413)p
270 4740 V 436 w Ff(LECPointGFP)e(betaZero)g(=)j(new)f
(LECPointGFP\(\);)p 3387 4740 V 154 4819 a Fa(414)p 270
4852 V 436 w Ff(try)p 3387 4852 V 154 4932 a Fa(415)p
270 4965 V 627 w Ff({)p 3387 4965 V 154 5044 a Fa(416)p
270 5078 V 818 w Ff(//)95 b(calculates)45 b(the)i(plaintext)p
3387 5078 V 154 5157 a Fa(417)p 270 5191 V 818 w Ff(betaZero)e(=)j(new)
f(LECPointGFP\(new)c(LBigInt\()p 3387 5191 V 154 5270
a Fa(418)p 270 5304 V 913 w Ff(new)k(BigInteger\(betaZeroXBytes)o
(\)\),n)o(ew)41 b(LBigInt\()p 3387 5304 V 154 5383 a
Fa(419)p 270 5417 V 913 w Ff(new)47 b(BigInteger\(betaZeroYBytes)o
(\)\),k)o(ey.)p 3387 5417 V 154 5496 a Fa(420)p 270 5530
V 913 w Ff(getParams\(\).getCurve\(\),ne)o(w)42 b(LBigInt\(q\)\);)p
3387 5530 V 154 5609 a Fa(421)p 270 5643 V 818 w Ff(LECPointGFP)j
(betaOne)g(=)j(betaZero.multiply\()p 3387 5643 V eop
%%Page: 66 67
66 66 bop 390 82 a Fw(66)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
274 415 y Fa(422)p 390 449 4 113 v 913 w Ff(new)47 b
(LBigInt\(exponent\)\);)p 3507 449 V 274 528 a Fa(423)p
390 562 V 818 w Ff(BigInteger)e(betaOneX)g(=)j(betaOne.getX\(\).)p
3507 562 V 274 641 a Fa(424)p 390 675 V 913 w Ff(toBigInteger\(\);)p
3507 675 V 274 754 a Fa(425)p 390 788 V 818 w Ff(BigInteger)d(betaOneY)
g(=)j(betaOne.getY\(\).)p 3507 788 V 274 867 a Fa(426)p
390 901 V 913 w Ff(toBigInteger\(\);)p 3507 901 V 274
980 a Fa(427)p 390 1014 V 818 w Ff(BigInteger)d(cOne)h(=)i(new)f
(BigInteger\(cOneBytes\);)p 3507 1014 V 274 1093 a Fa(428)p
390 1126 V 818 w Ff(BigInteger)e(cTwo)h(=)i(new)f
(BigInteger\(cTwoBytes\);)p 3507 1126 V 274 1205 a Fa(429)p
390 1239 V 818 w Ff(BigInteger)e(mOne)h(=)i(BigInteger.ZERO;)p
3507 1239 V 274 1318 a Fa(430)p 390 1352 V 818 w Ff(BigInteger)d(mTwo)h
(=)i(BigInteger.ZERO;)p 3507 1352 V 274 1431 a Fa(431)p
390 1465 V 818 w Ff(if)f(\(!cOne.equals\(BigInteger)o(.ZER)o(O\)\))p
3507 1465 V 274 1544 a Fa(432)p 390 1578 V 1009 w Ff({)p
3507 1578 V 274 1657 a Fa(433)p 390 1691 V 1200 w Ff(mOne)f(=)i
(\(cOne.multiply\(betaOneX)o(.)p 3507 1691 V 274 1770
a Fa(434)p 390 1804 V 1295 w Ff(modInverse\(q\)\).mod\(q\)\);)p
3507 1804 V 274 1883 a Fa(435)p 390 1917 V 1009 w Ff(})p
3507 1917 V 274 1996 a Fa(436)p 390 2030 V 818 w Ff(if)f
(\(!cTwo.equals\(BigInteger)o(.ZER)o(O\)\))p 3507 2030
V 274 2109 a Fa(437)p 390 2143 V 1009 w Ff({)p 3507 2143
V 274 2222 a Fa(438)p 390 2256 V 1200 w Ff(mTwo)f(=)i
(\(cTwo.multiply\(betaOneY)o(.)p 3507 2256 V 274 2335
a Fa(439)p 390 2368 V 1295 w Ff(modInverse\(q\)\).mod\(q\)\);)p
3507 2368 V 274 2447 a Fa(440)p 390 2481 V 1009 w Ff(})p
3507 2481 V 274 2560 a Fa(441)p 390 2594 V 818 w Ff(byte[])e(mOneBytes)
f(=)j(getBytes\(mOne\);)p 3507 2594 V 274 2673 a Fa(442)p
390 2707 V 818 w Ff(byte[])e(mTwoBytes)f(=)j(getBytes\(mTwo\);)p
3507 2707 V 274 2786 a Fa(443)p 390 2820 V 3507 2820
V 274 2899 a(444)p 390 2933 V 818 w Ff(//)f(transforms)e(the)i
(plaintext)e(to)i(the)g(right)g(format)p 3507 2933 V
274 3012 a Fa(445)p 390 3046 V 818 w Ff(System.arraycopy\(mOneByt)o
(es,)o(0,ou)o(t,ou)o(tOf)o(f+)p 3507 3046 V 274 3125
a Fa(446)p 390 3159 V 913 w Ff(mPlainBlockSize/2-mOneByt)o(es.l)o(engt)
o(h,m)o(OneB)o(ytes)o(.)p 3507 3159 V 274 3238 a Fa(447)p
390 3272 V 913 w Ff(length\);)p 3507 3272 V 274 3351
a Fa(448)p 390 3385 V 818 w Ff(System.arraycopy\(mTwoByt)o(es,)o(0,ou)o
(t,ou)o(tOf)o(f+)p 3507 3385 V 274 3464 a Fa(449)p 390
3498 V 913 w Ff(mPlainBlockSize-mTwoBytes)o(.len)o(gth,)o(mTw)o(oByt)o
(es.)p 3507 3498 V 274 3577 a Fa(450)p 390 3610 V 913
w Ff(length\);)p 3507 3610 V 274 3689 a Fa(451)p 390
3723 V 627 w Ff(})p 3507 3723 V 274 3802 a Fa(452)p 390
3836 V 436 w Ff(catch)f(\(LiDIAError)f(le\))p 3507 3836
V 274 3915 a Fa(453)p 390 3949 V 627 w Ff({)p 3507 3949
V 274 4028 a Fa(454)p 390 4062 V 818 w Ff(System.out.println\(le.to)o
(Str)o(ing\()o(\)\);)p 3507 4062 V 274 4141 a Fa(455)p
390 4175 V 627 w Ff(})p 3507 4175 V 274 4254 a Fa(456)p
390 4288 V 3507 4288 V 274 4367 a(457)p 390 4401 V 436
w Ff(//)i(and)g(back)p 3507 4401 V 274 4480 a Fa(458)p
390 4514 V 436 w Ff(return)f(mPlainBlockSize;)p 3507
4514 V 274 4593 a Fa(459)p 390 4627 V 245 w Ff(})p 3507
4627 V 274 4706 a Fa(460)p 390 4740 V 3507 4740 V 274
4819 a(461)p 390 4852 V 245 w Ff(/**)p 3507 4852 V 274
4932 a Fa(462)p 390 4965 V 293 w Ff(*)h(returns)f(<code>null</code>)d
(since)k(there)f(is)h(no)g(initial)p 3507 4965 V 274
5044 a Fa(463)p 390 5078 V 293 w Ff(*)g(vector)f(required)g(for)h(this)
f(implementation)p 3507 5078 V 274 5157 a Fa(464)p 390
5191 V 293 w Ff(*/)p 3507 5191 V 274 5270 a Fa(465)p
390 5304 V 245 w Ff(protected)f(byte[])h(engineGetIV\(\))p
3507 5304 V 274 5383 a Fa(466)p 390 5417 V 245 w Ff({)p
3507 5417 V 274 5496 a Fa(467)p 390 5530 V 436 w Ff(return)g(null;)p
3507 5530 V 274 5609 a Fa(468)p 390 5643 V 245 w Ff(})p
3507 5643 V eop
%%Page: 67 68
67 67 bop 270 82 a Fw(B.6.)62 b(ECElGamalGFPCipher)1867
b(67)154 415 y Fa(469)p 270 449 4 113 v 3387 449 V 154
528 a(470)p 270 562 V 245 w Ff(/**)p 3387 562 V 154 641
a Fa(471)p 270 675 V 293 w Ff(*)47 b(@throws)f
(NoSuchAlgorithmException)41 b(always)46 b(since)p 3387
675 V 154 754 a Fa(472)p 270 788 V 293 w Ff(*)h
(<code>ECElGamalGFPCipher<)o(/cod)o(e>)42 b(supports)j(no)i(modes)p
3387 788 V 154 867 a Fa(473)p 270 901 V 293 w Ff(*/)p
3387 901 V 154 980 a Fa(474)p 270 1014 V 245 w Ff(protected)e(void)i
(engineSetMode\(String)42 b(mode\))p 3387 1014 V 154
1093 a Fa(475)p 270 1126 V 436 w Ff(throws)k(NoSuchAlgorithmException)p
3387 1126 V 154 1205 a Fa(476)p 270 1239 V 245 w Ff({)p
3387 1239 V 154 1318 a Fa(477)p 270 1352 V 436 w Ff(throw)g(new)h
(NoSuchAlgorithmException\()o("ECE)o(lGam)o(alG)o(FPCi)o(pher)41
b(")p 3387 1352 V 154 1431 a Fa(478)p 270 1465 V 531
w Ff(+)48 b("supports)d(no)i(modes."\);)p 3387 1465 V
154 1544 a Fa(479)p 270 1578 V 245 w Ff(})p 3387 1578
V 154 1657 a Fa(480)p 270 1691 V 3387 1691 V 154 1770
a(481)p 270 1804 V 245 w Ff(/**)p 3387 1804 V 154 1883
a Fa(482)p 270 1917 V 293 w Ff(*)g(@throws)f(NoSuchPaddingException)c
(always)k(since)p 3387 1917 V 154 1996 a Fa(483)p 270
2030 V 293 w Ff(*)h(<code>ECElGamalGFPCipher<)o(/cod)o(e>)42
b(supports)j(no)i(padding)p 3387 2030 V 154 2109 a Fa(484)p
270 2143 V 293 w Ff(*/)p 3387 2143 V 154 2222 a Fa(485)p
270 2256 V 245 w Ff(protected)e(void)i(engineSetPadding\(String)41
b(padding\))p 3387 2256 V 154 2335 a Fa(486)p 270 2368
V 436 w Ff(throws)46 b(NoSuchPaddingException)p 3387
2368 V 154 2447 a Fa(487)p 270 2481 V 245 w Ff({)p 3387
2481 V 154 2560 a Fa(488)p 270 2594 V 436 w Ff(throw)g(new)h
(NoSuchPaddingException\("E)o(CElG)o(amal)o(GFP)o(Ciph)o(er)42
b(")p 3387 2594 V 154 2673 a Fa(489)p 270 2707 V 531
w Ff(+)48 b("supports)d(no)i(padding."\);)p 3387 2707
V 154 2786 a Fa(490)p 270 2820 V 245 w Ff(})p 3387 2820
V 154 2899 a Fa(491)p 270 2933 V 3387 2933 V 154 3012
a(492)p 270 3046 V 245 w Ff(/**)p 3387 3046 V 154 3125
a Fa(493)p 270 3159 V 293 w Ff(*)g(This)g(method)f(is)h(called)f
(whenever)g(a)h(full)g(block)f(needs)h(to)g(be)p 3387
3159 V 154 3238 a Fa(494)p 270 3272 V 293 w Ff(*)g(encrypted)f(or)h
(decrypted.)e(It)i(simply)f(calls)g(one)h(of)g(the)p
3387 3272 V 154 3351 a Fa(495)p 270 3385 V 293 w Ff(*)g(methods)f
(<code>encryptBlock</code>)41 b(or)p 3387 3385 V 154
3464 a Fa(496)p 270 3498 V 293 w Ff(*)47 b(<code>decryptBlock</code>)41
b(depending)k(on)j(the)f(current)e(state)p 3387 3498
V 154 3577 a Fa(497)p 270 3610 V 293 w Ff(*)i(of)g(the)g(cipher.)p
3387 3610 V 154 3689 a Fa(498)p 270 3723 V 293 w Ff(*)g(<p>)p
3387 3723 V 154 3802 a Fa(499)p 270 3836 V 293 w Ff(*)g(The)g(input)g
(block)f(of)h(<code>inputLength</code>)41 b(bytes)47
b(has)g(to)p 3387 3836 V 154 3915 a Fa(500)p 270 3949
V 293 w Ff(*)g(be)g(supplied)f(in)h(the)g(bytearray)e
(<code>input</code>,)e(starting)p 3387 3949 V 154 4028
a Fa(501)p 270 4062 V 293 w Ff(*)k(in)g(the)g(at)h
(<code>inputOffset</code)o(>.)41 b(The)47 b(output)f(should)h(be)p
3387 4062 V 154 4141 a Fa(502)p 270 4175 V 293 w Ff(*)g(written)f
(bytearray)f(<code>output</code>,)e(starting)i(at)p 3387
4175 V 154 4254 a Fa(503)p 270 4288 V 293 w Ff(*)i
(<code>outputOffset</code>)o(.)p 3387 4288 V 154 4367
a Fa(504)p 270 4401 V 293 w Ff(*)p 3387 4401 V 154 4480
a Fa(505)p 270 4514 V 293 w Ff(*)g(@param)f(input)h(the)g(bytearray)e
(holds)h(the)h(input)p 3387 4514 V 154 4593 a Fa(506)p
270 4627 V 293 w Ff(*)g(@param)f(inputOffset)f(the)i(position)f(where)g
(the)h(input)f(starts)p 3387 4627 V 154 4706 a Fa(507)p
270 4740 V 293 w Ff(*)h(@param)f(inputLength)f(the)i(length)f(of)h(the)
g(input)p 3387 4740 V 154 4819 a Fa(508)p 270 4852 V
293 w Ff(*)g(@param)f(output)g(the)h(bytearray)f(will)g(hold)h(the)g
(output)p 3387 4852 V 154 4932 a Fa(509)p 270 4965 V
293 w Ff(*)g(@param)f(outputOffset)f(the)i(position)e(where)i(the)g
(output)f(starts)p 3387 4965 V 154 5044 a Fa(510)p 270
5078 V 293 w Ff(*)p 3387 5078 V 154 5157 a Fa(511)p 270
5191 V 293 w Ff(*)h(@throws)f(ShortBufferException)c(if)48
b(the)e(output)h(array)f(is)h(too)p 3387 5191 V 154 5270
a Fa(512)p 270 5304 V 293 w Ff(*)g(small)p 3387 5304
V 154 5383 a Fa(513)p 270 5417 V 293 w Ff(*)p 3387 5417
V 154 5496 a Fa(514)p 270 5530 V 293 w Ff(*)g(@return)f(the)h(number)f
(of)h(bytes)g(written)p 3387 5530 V 154 5609 a Fa(515)p
270 5643 V 293 w Ff(*)p 3387 5643 V eop
%%Page: 68 69
68 68 bop 390 82 a Fw(68)1464 b(ANHANG)32 b(B.)61 b(CDC.EC.ECELGAMAL)
274 415 y Fa(516)p 390 449 4 113 v 293 w Ff(*)47 b(@see)g(#mState)p
3507 449 V 274 528 a Fa(517)p 390 562 V 293 w Ff(*/)p
3507 562 V 274 641 a Fa(518)p 390 675 V 245 w Ff(protected)e(int)i
(engineTransformBlock\(byte)o([])42 b(input,)p 3507 675
V 274 754 a Fa(519)p 390 788 V 341 w Ff(int)k(inputOffset,int)e
(inputLength,byte[])f(output,)p 3507 788 V 274 867 a
Fa(520)p 390 901 V 341 w Ff(int)j(outputOffset\))p 3507
901 V 274 980 a Fa(521)p 390 1014 V 436 w Ff(throws)g
(ShortBufferException)p 3507 1014 V 274 1093 a Fa(522)p
390 1126 V 245 w Ff({)p 3507 1126 V 274 1205 a Fa(523)p
390 1239 V 436 w Ff(//)h(depending)e(on)j(the)f(state,)f(the)h
(correspondant)d(method)i(is)p 3507 1239 V 274 1318 a
Fa(524)p 390 1352 V 436 w Ff(//)h(called)p 3507 1352
V 274 1431 a Fa(525)p 390 1465 V 436 w Ff(if)g(\(mState)f(==)h
(Cipher.ENCRYPT_MODE\))p 3507 1465 V 274 1544 a Fa(526)p
390 1578 V 627 w Ff(return)f(encryptBlock\(input,input)o(Offs)o(et,i)o
(npu)o(tLen)o(gth,)p 3507 1578 V 274 1657 a Fa(527)p
390 1691 V 722 w Ff(output,outputOffset\);)p 3507 1691
V 274 1770 a Fa(528)p 390 1804 V 436 w Ff(else)h(if)g(\(mState)f(==)h
(Cipher.DECRYPT_MODE\))p 3507 1804 V 274 1883 a Fa(529)p
390 1917 V 627 w Ff(return)f(decryptBlock\(input,input)o(Offs)o(et,i)o
(npu)o(tLen)o(gth,)p 3507 1917 V 274 1996 a Fa(530)p
390 2030 V 722 w Ff(output,outputOffset\);)p 3507 2030
V 274 2109 a Fa(531)p 390 2143 V 436 w Ff(else)h(return)f(0;)p
3507 2143 V 274 2222 a Fa(532)p 390 2256 V 245 w Ff(})p
3507 2256 V 274 2335 a Fa(533)p 390 2368 V 3507 2368
V 274 2447 a(534)p 390 2481 V 245 w Ff(/**)p 3507 2481
V 274 2560 a Fa(535)p 390 2594 V 293 w Ff(*)h(This)g(method)f(is)h
(called)f(whenever)g(the)h(last)f(block)h(needs)f(to)h(be)p
3507 2594 V 274 2673 a Fa(536)p 390 2707 V 293 w Ff(*)g(encrypted)f(or)
h(decrypted.)e(The)i(input)f(can)h(be)g(shorter)f(than)h(one)p
3507 2707 V 274 2786 a Fa(537)p 390 2820 V 293 w Ff(*)g(block.)f(It)i
(basically)d(calls)h(the)h(method)p 3507 2820 V 274 2899
a Fa(538)p 390 2933 V 293 w Ff(*)g(<code>engineTransformBloc)o(k</c)o
(ode>)o(.)p 3507 2933 V 274 3012 a Fa(539)p 390 3046
V 293 w Ff(*)g(<p>)p 3507 3046 V 274 3125 a Fa(540)p
390 3159 V 293 w Ff(*)g(The)g(input)g(of)g(<code>inputLength</code)o(>)
42 b(bytes)k(has)h(to)g(be)p 3507 3159 V 274 3238 a Fa(541)p
390 3272 V 293 w Ff(*)g(supplied)f(in)h(the)g(bytearray)e
(<code>input</code>,)e(starting)i(at)p 3507 3272 V 274
3351 a Fa(542)p 390 3385 V 293 w Ff(*)i(<code>inputOffset</code>.)41
b(The)47 b(output)f(should)g(be)h(written)f(in)p 3507
3385 V 274 3464 a Fa(543)p 390 3498 V 293 w Ff(*)h(the)g(bytearray)e
(<code>output</code>,)e(starting)i(at)p 3507 3498 V 274
3577 a Fa(544)p 390 3610 V 293 w Ff(*)i(<code>outputOffset</code>)o(.)p
3507 3610 V 274 3689 a Fa(545)p 390 3723 V 293 w Ff(*)p
3507 3723 V 274 3802 a Fa(546)p 390 3836 V 293 w Ff(*)g(@param)f(input)
h(the)g(bytearray)e(holds)h(the)h(input)p 3507 3836 V
274 3915 a Fa(547)p 390 3949 V 293 w Ff(*)g(@param)f(inputOffset)f(the)
i(position)f(where)g(the)h(input)f(starts)p 3507 3949
V 274 4028 a Fa(548)p 390 4062 V 293 w Ff(*)h(@param)f(inputLength)f
(the)i(length)f(of)h(the)g(input)p 3507 4062 V 274 4141
a Fa(549)p 390 4175 V 293 w Ff(*)g(@param)f(output)g(the)h(bytearray)f
(will)g(hold)h(the)g(output)p 3507 4175 V 274 4254 a
Fa(550)p 390 4288 V 293 w Ff(*)g(@param)f(outputOffset)f(the)i
(position)e(where)i(the)g(output)f(starts)p 3507 4288
V 274 4367 a Fa(551)p 390 4401 V 293 w Ff(*)p 3507 4401
V 274 4480 a Fa(552)p 390 4514 V 293 w Ff(*)h(@throws)f
(ShortBufferException)c(if)48 b(the)e(output)h(array)f(is)h(too)p
3507 4514 V 274 4593 a Fa(553)p 390 4627 V 293 w Ff(*)g(small)p
3507 4627 V 274 4706 a Fa(554)p 390 4740 V 293 w Ff(*)p
3507 4740 V 274 4819 a Fa(555)p 390 4852 V 293 w Ff(*)g(@return)f(the)h
(number)f(of)h(bytes)g(written)p 3507 4852 V 274 4932
a Fa(556)p 390 4965 V 293 w Ff(*/)p 3507 4965 V 274 5044
a Fa(557)p 390 5078 V 245 w Ff(protected)e(int)i
(engineTransformBlockFinal)o(\(byt)o(e[])41 b(input,)p
3507 5078 V 274 5157 a Fa(558)p 390 5191 V 341 w Ff(int)46
b(inputOffset,int)e(inputLength,byte[])f(output,)p 3507
5191 V 274 5270 a Fa(559)p 390 5304 V 341 w Ff(int)j(outputOffset\))p
3507 5304 V 274 5383 a Fa(560)p 390 5417 V 436 w Ff(throws)g
(ShortBufferException)p 3507 5417 V 274 5496 a Fa(561)p
390 5530 V 245 w Ff({)p 3507 5530 V 274 5609 a Fa(562)p
390 5643 V 436 w Ff(//)h(checks)f(the)h(input)g(length)p
3507 5643 V eop
%%Page: 69 70
69 69 bop 270 82 a Fw(B.6.)62 b(ECElGamalGFPCipher)1867
b(69)154 415 y Fa(563)p 270 449 4 113 v 436 w Ff(if)47
b(\(inputLength)e(==)i(0\))p 3387 449 V 154 528 a Fa(564)p
270 562 V 627 w Ff({)p 3387 562 V 154 641 a Fa(565)p
270 675 V 818 w Ff(return)f(0;)p 3387 675 V 154 754 a
Fa(566)p 270 788 V 627 w Ff(})p 3387 788 V 154 867 a
Fa(567)p 270 901 V 3387 901 V 154 980 a(568)p 270 1014
V 436 w Ff(//)h(calls)g(the)f(engineTransformBlock)d(method)p
3387 1014 V 154 1093 a Fa(569)p 270 1126 V 436 w Ff(return)j
(engineTransformBlock\(inpu)o(t,i)o(nput)o(Offs)o(et,)p
3387 1126 V 154 1205 a Fa(570)p 270 1239 V 531 w Ff
(inputLength,output,outputO)o(ffse)o(t\);)p 3387 1239
V 154 1318 a Fa(571)p 270 1352 V 245 w Ff(})p 3387 1352
V 154 1431 a Fa(572)p 270 1465 V 54 w Ff(})p 3387 1465
V 270 1490 4 25 v 3387 1490 V 270 1493 3120 4 v eop
%%Page: 70 71
70 70 bop eop
%%Page: 71 72
71 71 bop 270 1050 a Fr(Anhang)64 b(C)270 1477 y Fv(cdc.lidia)270
1971 y Fz(C.1)135 b(LECDomainP)l(arametersP1363)49 b(\(JA)-15
b(V)g(A-Co)t(de\))p 270 2118 3120 4 v 270 2143 4 25 v
3387 2143 V 215 2222 a Fa(1)p 270 2256 4 113 v 53 w Ff(package)46
b(cdc.lidia;)p 3387 2256 V 215 2335 a Fa(2)p 270 2368
V 3387 2368 V 215 2447 a(3)p 270 2481 V 53 w Ff(import)g(java.math.*;)p
3387 2481 V 215 2560 a Fa(4)p 270 2594 V 53 w Ff(import)g
(java.security.*;)p 3387 2594 V 215 2673 a Fa(5)p 270
2707 V 53 w Ff(import)g(cdc.lidia.*;)p 3387 2707 V 215
2786 a Fa(6)p 270 2820 V 3387 2820 V 215 2899 a(7)p 270
2933 V 53 w Ff(/**)p 3387 2933 V 215 3012 a Fa(8)p 270
3046 V 101 w Ff(*)h(<code>LECDomainParametersP)o(136)o(3</c)o(ode>)41
b(specifies)k(the)i(elliptic)p 3387 3046 V 215 3125 a
Fa(9)p 270 3159 V 101 w Ff(*)g(curve)g(parameters)e(for)i(the)g
(standard)e(<code>IEEE)g(P1363/D8</code>.)p 3387 3159
V 184 3238 a Fa(10)p 270 3272 V 102 w Ff(*)i(These)g(are)g(an)g
(elliptic)e(curve)p 3387 3272 V 184 3351 a Fa(11)p 270
3385 V 102 w Ff(*)i(<code>E:)f(y^2)h(=)g(x^3)g(+)h(ax)f(+)g(b</code>)f
(with)g(its)h(prime)g(modulus)p 3387 3385 V 184 3464
a Fa(12)p 270 3498 V 102 w Ff(*)g(<code>q</code>)d(and)j(its)g
(coefficients)e(<code>a</code>)e(and)p 3387 3498 V 184
3577 a Fa(13)p 270 3610 V 102 w Ff(*)k(<code>b</code>.)d(Further)i(a)h
(point)g(<code>G</code>)d(on)j(the)g(curve,)p 3387 3610
V 184 3690 a Fa(14)p 270 3723 V 102 w Ff(*)g(its)g(order)g(\(that)f(is)
h(the)g(order)f(of)i(the)f(generated)e(subgroup\))g(and)p
3387 3723 V 184 3802 a Fa(15)p 270 3836 V 102 w Ff(*)i(the)g(cofactor)f
(with)g(regard)h(to)g(the)g(number)f(of)h(points)f(on)p
3387 3836 V 184 3915 a Fa(16)p 270 3949 V 102 w Ff(*)h(<code>E</code>.)
d(The)j(field)f(will)h(further)f(be)h(called)f(GF\(q\).)p
3387 3949 V 184 4028 a Fa(17)p 270 4062 V 102 w Ff(*)h(<p>)p
3387 4062 V 184 4141 a Fa(18)p 270 4175 V 102 w Ff(*)g(This)g(class)f
(contains)g(<code>native</code>-meth)o(ods,)41 b(which)46
b(means)p 3387 4175 V 184 4254 a Fa(19)p 270 4288 V 102
w Ff(*)h(that)g(they)g(are)g(implemented)d(in)j(an)h(other)e
(programming)f(language)p 3387 4288 V 184 4367 a Fa(20)p
270 4401 V 102 w Ff(*)i(than)g(<code>JAVA</code>.)c(In)k(this)g(case)f
(it)h(is)h(realized)d(in)p 3387 4401 V 184 4480 a Fa(21)p
270 4514 V 102 w Ff(*)i(<code>C++</code>)d(by)j(using)f(the)p
3387 4514 V 184 4593 a Fa(22)p 270 4627 V 102 w Ff(*)h(<code>JAVA)e
(native)h(interface)g(\(JNI\)</code>.)p 3387 4627 V 184
4706 a Fa(23)p 270 4740 V 102 w Ff(*)p 3387 4740 V 184
4819 a Fa(24)p 270 4852 V 102 w Ff(*)h(@author)f(Birgit)g(Henhapl)p
3387 4852 V 184 4932 a Fa(25)p 270 4965 V 102 w Ff(*)h(@author)f
(Markus)g(Crnjak)p 3387 4965 V 184 5044 a Fa(26)p 270
5078 V 102 w Ff(*/)p 3387 5078 V 184 5157 a Fa(27)p 270
5191 V 54 w Ff(public)g(class)h(LECDomainParametersP136)o(3)p
3387 5191 V 184 5270 a Fa(28)p 270 5304 V 245 w Ff(extends)f
(LiDIAObject)p 3387 5304 V 184 5383 a Fa(29)p 270 5417
V 245 w Ff(implements)f(java.security.spec.Algori)o(thm)o(Para)o(mete)o
(rSp)o(ec)p 3387 5417 V 184 5496 a Fa(30)p 270 5530 V
54 w Ff({)p 3387 5530 V 184 5609 a Fa(31)p 270 5643 V
245 w Ff(/**)p 3387 5643 V 1785 5858 a Fw(71)p eop
%%Page: 72 73
72 72 bop 390 82 a Fw(72)1950 b(ANHANG)31 b(C.)61 b(CDC.LIDIA)304
415 y Fa(32)p 390 449 4 113 v 293 w Ff(*)47 b(holds)g(the)g(value)f(of)
h(the)g(modulus)f(q,)h(that)g(is)g(a)g(prime)g(integer)p
3507 449 V 304 528 a Fa(33)p 390 562 V 293 w Ff(*)p 3507
562 V 304 641 a Fa(34)p 390 675 V 293 w Ff(*)g(@serial)p
3507 675 V 304 754 a Fa(35)p 390 788 V 293 w Ff(*/)p
3507 788 V 304 867 a Fa(36)p 390 901 V 245 w Ff(protected)e(BigInteger)
g(mQ;)p 3507 901 V 304 980 a Fa(37)p 390 1014 V 3507
1014 V 304 1093 a(38)p 390 1126 V 245 w Ff(/**)p 3507
1126 V 304 1205 a Fa(39)p 390 1239 V 293 w Ff(*)i(holds)g(the)g
(coefficient)d(a)k(of)f(the)g(elliptic)e(curve)p 3507
1239 V 304 1318 a Fa(40)p 390 1352 V 293 w Ff(*)i(<code>mE</code>)p
3507 1352 V 304 1431 a Fa(41)p 390 1465 V 293 w Ff(*)p
3507 1465 V 304 1544 a Fa(42)p 390 1578 V 293 w Ff(*)g(@serial)p
3507 1578 V 304 1657 a Fa(43)p 390 1691 V 293 w Ff(*/)p
3507 1691 V 304 1770 a Fa(44)p 390 1804 V 245 w Ff(protected)e
(BigInteger)g(mA;)p 3507 1804 V 304 1883 a Fa(45)p 390
1917 V 3507 1917 V 304 1996 a(46)p 390 2030 V 245 w Ff(/**)p
3507 2030 V 304 2109 a Fa(47)p 390 2143 V 293 w Ff(*)i(holds)g(the)g
(coefficient)d(b)k(of)f(the)g(elliptic)e(curve)p 3507
2143 V 304 2222 a Fa(48)p 390 2256 V 293 w Ff(*)i(<code>mE</code>)p
3507 2256 V 304 2335 a Fa(49)p 390 2368 V 293 w Ff(*)p
3507 2368 V 304 2447 a Fa(50)p 390 2481 V 293 w Ff(*)g(@serial)p
3507 2481 V 304 2560 a Fa(51)p 390 2594 V 293 w Ff(*/)p
3507 2594 V 304 2673 a Fa(52)p 390 2707 V 245 w Ff(protected)e
(BigInteger)g(mB;)p 3507 2707 V 304 2786 a Fa(53)p 390
2820 V 3507 2820 V 304 2899 a(54)p 390 2933 V 245 w Ff(/**)p
3507 2933 V 304 3012 a Fa(55)p 390 3046 V 293 w Ff(*)i(holds)g(the)g
(elliptic)e(curve)h(<code>mE</code>)p 3507 3046 V 304
3125 a Fa(56)p 390 3159 V 293 w Ff(*)p 3507 3159 V 304
3238 a Fa(57)p 390 3272 V 293 w Ff(*)h(@serial)p 3507
3272 V 304 3351 a Fa(58)p 390 3385 V 293 w Ff(*/)p 3507
3385 V 304 3464 a Fa(59)p 390 3498 V 245 w Ff(protected)e(LECCurveGFP)g
(mE;)p 3507 3498 V 304 3577 a Fa(60)p 390 3610 V 3507
3610 V 304 3689 a(61)p 390 3723 V 245 w Ff(/**)p 3507
3723 V 304 3802 a Fa(62)p 390 3836 V 293 w Ff(*)i(holds)g(a)g(curve)f
(point)h(G)g(that)g(generates)e(a)j(subgroup)d(on)p 3507
3836 V 304 3915 a Fa(63)p 390 3949 V 293 w Ff(*)i(<code>mE</code>)d(of)
j(order)f(<code>mR</code>)p 3507 3949 V 304 4028 a Fa(64)p
390 4062 V 293 w Ff(*)p 3507 4062 V 304 4141 a Fa(65)p
390 4175 V 293 w Ff(*)h(@serial)p 3507 4175 V 304 4254
a Fa(66)p 390 4288 V 293 w Ff(*/)p 3507 4288 V 304 4367
a Fa(67)p 390 4401 V 245 w Ff(protected)e(LECPointGFP)g(mG;)p
3507 4401 V 304 4480 a Fa(68)p 390 4514 V 3507 4514 V
304 4593 a(69)p 390 4627 V 245 w Ff(/**)p 3507 4627 V
304 4706 a Fa(70)p 390 4740 V 293 w Ff(*)i(holds)g(a)g(positive)f
(prime)g(integer)g(r,)h(the)g(order)f(of)p 3507 4740
V 304 4819 a Fa(71)p 390 4852 V 293 w Ff(*)h(<code>mG</code>,)d(which)i
(divides)g(the)h(number)f(of)h(points)f(of)p 3507 4852
V 304 4932 a Fa(72)p 390 4965 V 293 w Ff(*)h(<code>mE</code>)p
3507 4965 V 304 5044 a Fa(73)p 390 5078 V 293 w Ff(*)p
3507 5078 V 304 5157 a Fa(74)p 390 5191 V 293 w Ff(*)g(@serial)p
3507 5191 V 304 5270 a Fa(75)p 390 5304 V 293 w Ff(*/)p
3507 5304 V 304 5383 a Fa(76)p 390 5417 V 245 w Ff(protected)e
(BigInteger)g(mR;)p 3507 5417 V 304 5496 a Fa(77)p 390
5530 V 3507 5530 V 304 5609 a(78)p 390 5643 V 245 w Ff(/**)p
3507 5643 V eop
%%Page: 73 74
73 73 bop 270 82 a Fw(C.1.)61 b(LECDomainP)m(arametersP1363)33
b(\(JA)-10 b(V)g(A-Co)s(de\))1051 b(73)184 415 y Fa(79)p
270 449 4 113 v 293 w Ff(*)47 b(holds)g(the)g(cofactor)e(k,)i(where)g
(the)g(product)e(of)j(k)f(and)g(mR)g(is)p 3387 449 V
184 528 a Fa(80)p 270 562 V 293 w Ff(*)g(the)g(number)f(of)h(points)g
(on)g(<code>mE</code>)p 3387 562 V 184 641 a Fa(81)p
270 675 V 293 w Ff(*)p 3387 675 V 184 754 a Fa(82)p 270
788 V 293 w Ff(*)g(@serial)p 3387 788 V 184 867 a Fa(83)p
270 901 V 293 w Ff(*/)p 3387 901 V 184 980 a Fa(84)p
270 1014 V 245 w Ff(protected)e(BigInteger)g(mK;)p 3387
1014 V 184 1093 a Fa(85)p 270 1126 V 3387 1126 V 184
1205 a(86)p 270 1239 V 245 w Ff(/**)p 3387 1239 V 184
1318 a Fa(87)p 270 1352 V 293 w Ff(*)i(holds)g(the)g(first)f
(coordinate)f(of)i(the)g(generator)e(mG)p 3387 1352 V
184 1431 a Fa(88)p 270 1465 V 293 w Ff(*)p 3387 1465
V 184 1544 a Fa(89)p 270 1578 V 293 w Ff(*)i(@serial)p
3387 1578 V 184 1657 a Fa(90)p 270 1691 V 293 w Ff(*/)p
3387 1691 V 184 1770 a Fa(91)p 270 1804 V 245 w Ff(protected)e
(BigInteger)g(mX;)p 3387 1804 V 184 1883 a Fa(92)p 270
1917 V 3387 1917 V 184 1996 a(93)p 270 2030 V 245 w Ff(/**)p
3387 2030 V 184 2109 a Fa(94)p 270 2143 V 293 w Ff(*)i(holds)g(the)g
(second)f(coordinate)f(of)i(the)g(generator)e(mG)p 3387
2143 V 184 2222 a Fa(95)p 270 2256 V 293 w Ff(*)p 3387
2256 V 184 2335 a Fa(96)p 270 2368 V 293 w Ff(*)i(@serial)p
3387 2368 V 184 2447 a Fa(97)p 270 2481 V 293 w Ff(*/)p
3387 2481 V 184 2560 a Fa(98)p 270 2594 V 245 w Ff(protected)e
(BigInteger)g(mY;)p 3387 2594 V 184 2673 a Fa(99)p 270
2707 V 3387 2707 V 154 2786 a(100)p 270 2820 V 245 w
Ff(/**)p 3387 2820 V 154 2899 a Fa(101)p 270 2933 V 293
w Ff(*)i(constructor,)e(that)h(initializes)f(the)p 3387
2933 V 154 3012 a Fa(102)p 270 3046 V 293 w Ff(*)i
(<code>LECDomainParameters)o(P136)o(3</c)o(ode)o(>)42
b(object)k(with)h(the)p 3387 3046 V 154 3125 a Fa(103)p
270 3159 V 293 w Ff(*)g(specified)f(parameter)f(values.)h(At)h(the)g
(moment)f(there)g(is)h(just)p 3387 3159 V 154 3238 a
Fa(104)p 270 3272 V 293 w Ff(*)g(the)g(case)g(of)g(GF\(q\))f
(implemented,)f(where)h(q)i(is)f(a)g(prime)g(number.)p
3387 3272 V 154 3351 a Fa(105)p 270 3385 V 293 w Ff(*)p
3387 3385 V 154 3464 a Fa(106)p 270 3498 V 293 w Ff(*)g(@param)f(q)i
(the)f(bigInteger)e(contains)g(the)i(value)g(for)f(the)h(field)p
3387 3498 V 154 3577 a Fa(107)p 270 3610 V 293 w Ff(*)g(GF\(q\))p
3387 3610 V 154 3689 a Fa(108)p 270 3723 V 293 w Ff(*)g(@param)f(a)i
(the)f(bigInteger)e(contains)g(an)i(elliptic)f(curve)p
3387 3723 V 154 3802 a Fa(109)p 270 3836 V 293 w Ff(*)h(coefficient)p
3387 3836 V 154 3915 a Fa(110)p 270 3949 V 293 w Ff(*)g(@param)f(b)i
(the)f(bigInteger)e(contains)g(an)i(elliptic)f(curve)p
3387 3949 V 154 4028 a Fa(111)p 270 4062 V 293 w Ff(*)h(coefficient)p
3387 4062 V 154 4141 a Fa(112)p 270 4175 V 293 w Ff(*)g(@param)f(g)i
(the)f(lECPointGFP)d(contains)i(a)h(point)g(that)f(generates)p
3387 4175 V 154 4254 a Fa(113)p 270 4288 V 293 w Ff(*)h(a)h(subgroup)d
(on)i(the)g(curve)p 3387 4288 V 154 4367 a Fa(114)p 270
4401 V 293 w Ff(*)g(@param)f(r)i(the)f(bigInteger)e(contains)g(the)i
(order)g(of)g(the)p 3387 4401 V 154 4480 a Fa(115)p 270
4514 V 293 w Ff(*)g(generator)p 3387 4514 V 154 4593
a Fa(116)p 270 4627 V 293 w Ff(*)g(@param)f(k)i(the)f(bigInteger)e
(contains)g(the)i(cofactor)f(of)h(the)p 3387 4627 V 154
4706 a Fa(117)p 270 4740 V 293 w Ff(*)g(generator's)e(order)p
3387 4740 V 154 4819 a Fa(118)p 270 4852 V 293 w Ff(*)p
3387 4852 V 154 4932 a Fa(119)p 270 4965 V 293 w Ff(*)i(@throws)f
(LiDIAError)p 3387 4965 V 154 5044 a Fa(120)p 270 5078
V 293 w Ff(*/)p 3387 5078 V 154 5157 a Fa(121)p 270 5191
V 245 w Ff(public)g(LECDomainParametersP1363\()o(BigI)o(nte)o(ger)41
b(q,BigInteger)k(a,)p 3387 5191 V 154 5270 a Fa(122)p
270 5304 V 341 w Ff(BigInteger)g(b,LECPointGFP)f(g,BigInteger)g
(r,BigInteger)h(k\))p 3387 5304 V 154 5383 a Fa(123)p
270 5417 V 436 w Ff(throws)h(LiDIAError)p 3387 5417 V
154 5496 a Fa(124)p 270 5530 V 245 w Ff({)p 3387 5530
V 154 5609 a Fa(125)p 270 5643 V 436 w Ff(assign\(q,a,b,g,r,k\);)p
3387 5643 V eop
%%Page: 74 75
74 74 bop 390 82 a Fw(74)1950 b(ANHANG)31 b(C.)61 b(CDC.LIDIA)274
415 y Fa(126)p 390 449 4 113 v 245 w Ff(})p 3507 449
V 274 528 a Fa(127)p 390 562 V 3507 562 V 274 641 a(128)p
390 675 V 245 w Ff(/**)p 3507 675 V 274 754 a Fa(129)p
390 788 V 293 w Ff(*)47 b(constructor,)e(that)h(initializes)f(the)p
3507 788 V 274 867 a Fa(130)p 390 901 V 293 w Ff(*)i
(<code>LECDomainParameters)o(P136)o(3</c)o(ode)o(>)42
b(object)k(for)h(a)p 3507 901 V 274 980 a Fa(131)p 390
1014 V 293 w Ff(*)g(certain)f(strength.)f(At)j(the)e(moment)h(there)f
(is)h(just)g(the)g(case)f(of)p 3507 1014 V 274 1093 a
Fa(132)p 390 1126 V 293 w Ff(*)h(GF\(q\))g(implemented,)d(where)i(q)i
(is)f(a)h(prime)e(number.)p 3507 1126 V 274 1205 a Fa(133)p
390 1239 V 293 w Ff(*)p 3507 1239 V 274 1318 a Fa(134)p
390 1352 V 293 w Ff(*)h(@param)f(field)h(the)g(lBigInt)e(specifies)h
(the)h(field)f(\(1)h(for)p 3507 1352 V 274 1431 a Fa(135)p
390 1465 V 293 w Ff(*)g(GF\(q\)\))p 3507 1465 V 274 1544
a Fa(136)p 390 1578 V 293 w Ff(*)g(@param)f(bitsize)g(the)h(lBigInt)f
(specifies)f(the)i(bitsize)f(of)h(the)p 3507 1578 V 274
1657 a Fa(137)p 390 1691 V 293 w Ff(*)g(order)g(of)g(the)g(subgroup)p
3507 1691 V 274 1770 a Fa(138)p 390 1804 V 293 w Ff(*)g(@param)f
(percentage)f(the)i(lBigInt)f(specifies)f(the)i(percentage)e(of)p
3507 1804 V 274 1883 a Fa(139)p 390 1917 V 293 w Ff(*)i(the)g(cofactor)
p 3507 1917 V 274 1996 a Fa(140)p 390 2030 V 293 w Ff(*)g(@param)f
(info)h(the)g(lBigInt)f(specifies)f(the)i(amount)f(of)h(verbosed)p
3507 2030 V 274 2109 a Fa(141)p 390 2143 V 293 w Ff(*)g(messages)f(\(1)
h(for)g(nothing,)e(10)j(for)f(some)f(messages)g(and)h(100)g(for)p
3507 2143 V 274 2222 a Fa(142)p 390 2256 V 293 w Ff(*)g(all)g(possible)
f(ones\))p 3507 2256 V 274 2335 a Fa(143)p 390 2368 V
293 w Ff(*)p 3507 2368 V 274 2447 a Fa(144)p 390 2481
V 293 w Ff(*)h(@throws)f(LiDIAError)p 3507 2481 V 274
2560 a Fa(145)p 390 2594 V 293 w Ff(*/)p 3507 2594 V
274 2673 a Fa(146)p 390 2707 V 245 w Ff(public)g
(LECDomainParametersP1363\()o(LBig)o(Int)41 b(field,)p
3507 2707 V 274 2786 a Fa(147)p 390 2820 V 341 w Ff(LBigInt)k
(bitsize,LBigInt)f(percentage,LBigInt)f(info\))p 3507
2820 V 274 2899 a Fa(148)p 390 2933 V 436 w Ff(throws)j(LiDIAError)p
3507 2933 V 274 3012 a Fa(149)p 390 3046 V 245 w Ff({)p
3507 3046 V 274 3125 a Fa(150)p 390 3159 V 436 w Ff
(assign\(field,bitsize,per)o(cent)o(age,)o(inf)o(o\);)p
3507 3159 V 274 3238 a Fa(151)p 390 3272 V 245 w Ff(})p
3507 3272 V 274 3351 a Fa(152)p 390 3385 V 3507 3385
V 274 3464 a(153)p 390 3498 V 245 w Ff(/**)p 3507 3498
V 274 3577 a Fa(154)p 390 3610 V 293 w Ff(*)h(sets)g(the)g(domain)f
(parameters.)f(At)i(the)g(moment)f(there)g(is)h(just)p
3507 3610 V 274 3689 a Fa(155)p 390 3723 V 293 w Ff(*)g(the)g(case)g
(of)g(GF\(q\))f(implemented,)f(where)h(q)i(is)f(a)g(prime)g(number.)p
3507 3723 V 274 3802 a Fa(156)p 390 3836 V 293 w Ff(*)p
3507 3836 V 274 3915 a Fa(157)p 390 3949 V 293 w Ff(*)g(@param)f(q)i
(the)f(bigInteger)e(contains)g(the)i(value)g(for)f(the)h(field)p
3507 3949 V 274 4028 a Fa(158)p 390 4062 V 293 w Ff(*)g(GF\(q\))p
3507 4062 V 274 4141 a Fa(159)p 390 4175 V 293 w Ff(*)g(@param)f(a)i
(the)f(bigInteger)e(contains)g(an)i(elliptic)f(curve)p
3507 4175 V 274 4254 a Fa(160)p 390 4288 V 293 w Ff(*)h(coefficient)p
3507 4288 V 274 4367 a Fa(161)p 390 4401 V 293 w Ff(*)g(@param)f(b)i
(the)f(bigInteger)e(contains)g(an)i(elliptic)f(curve)p
3507 4401 V 274 4480 a Fa(162)p 390 4514 V 293 w Ff(*)h(coefficient)p
3507 4514 V 274 4593 a Fa(163)p 390 4627 V 293 w Ff(*)g(@param)f(g)i
(the)f(lECPointGFP)d(contains)i(a)h(point)g(that)f(generates)p
3507 4627 V 274 4706 a Fa(164)p 390 4740 V 293 w Ff(*)h(a)h(subgroup)d
(on)i(the)g(curve)p 3507 4740 V 274 4819 a Fa(165)p 390
4852 V 293 w Ff(*)g(@param)f(r)i(the)f(bigInteger)e(contains)g(the)i
(order)g(of)g(the)p 3507 4852 V 274 4932 a Fa(166)p 390
4965 V 293 w Ff(*)g(generator)p 3507 4965 V 274 5044
a Fa(167)p 390 5078 V 293 w Ff(*)g(@param)f(k)i(the)f(bigInteger)e
(contains)g(the)i(cofactor)f(of)h(the)p 3507 5078 V 274
5157 a Fa(168)p 390 5191 V 293 w Ff(*)g(generator's)e(order)p
3507 5191 V 274 5270 a Fa(169)p 390 5304 V 293 w Ff(*)p
3507 5304 V 274 5383 a Fa(170)p 390 5417 V 293 w Ff(*)i(@throws)f
(LiDIAError)p 3507 5417 V 274 5496 a Fa(171)p 390 5530
V 293 w Ff(*/)p 3507 5530 V 274 5609 a Fa(172)p 390 5643
V 245 w Ff(public)g(void)h(assign\(BigInteger)c(q,BigInteger)h
(a,BigInteger)h(b,)p 3507 5643 V eop
%%Page: 75 76
75 75 bop 270 82 a Fw(C.1.)61 b(LECDomainP)m(arametersP1363)33
b(\(JA)-10 b(V)g(A-Co)s(de\))1051 b(75)154 415 y Fa(173)p
270 449 4 113 v 341 w Ff(LECPointGFP)44 b(g,BigInteger)h(r,BigInteger)f
(k\))p 3387 449 V 154 528 a Fa(174)p 270 562 V 436 w
Ff(throws)i(LiDIAError)p 3387 562 V 154 641 a Fa(175)p
270 675 V 245 w Ff({)p 3387 675 V 154 754 a Fa(176)p
270 788 V 436 w Ff(//)h(sets)g(the)g(fields)p 3387 788
V 154 867 a Fa(177)p 270 901 V 436 w Ff(mQ)g(=)h(q;)p
3387 901 V 154 980 a Fa(178)p 270 1014 V 436 w Ff(mA)f(=)h(a;)p
3387 1014 V 154 1093 a Fa(179)p 270 1126 V 436 w Ff(mB)f(=)h(b;)p
3387 1126 V 154 1205 a Fa(180)p 270 1239 V 436 w Ff(mG)f(=)h(g;)p
3387 1239 V 154 1318 a Fa(181)p 270 1352 V 436 w Ff(mR)f(=)h(r;)p
3387 1352 V 154 1431 a Fa(182)p 270 1465 V 436 w Ff(mK)f(=)h(k;)p
3387 1465 V 154 1544 a Fa(183)p 270 1578 V 436 w Ff(mE)f(=)h(new)f
(LECCurveGFP\(new)c(LBigInt\(a\),new)h(LBigInt\(b\),)p
3387 1578 V 154 1657 a Fa(184)p 270 1691 V 531 w Ff(new)j
(LBigInt\(q\)\);)p 3387 1691 V 154 1770 a Fa(185)p 270
1804 V 245 w Ff(})p 3387 1804 V 154 1883 a Fa(186)p 270
1917 V 3387 1917 V 154 1996 a(187)p 270 2030 V 245 w
Ff(/**)p 3387 2030 V 154 2109 a Fa(188)p 270 2143 V 293
w Ff(*)g(sets)g(the)g(domain)f(parameters,)f(by)i(using)f(the)h
(specified)p 3387 2143 V 154 2222 a Fa(189)p 270 2256
V 293 w Ff(*)g(arguments)f(for)g(their)h(generation.)e(After)h(the)h
(usage)f(of)h(the)p 3387 2256 V 154 2335 a Fa(190)p 270
2368 V 293 w Ff(*)g(corresponding)d(LiDIA-class)h(that)i(one)g(will)f
(be)i(destroyed.)d(At)p 3387 2368 V 154 2447 a Fa(191)p
270 2481 V 293 w Ff(*)i(the)g(moment)f(there)h(is)g(just)f(the)h(case)g
(of)g(GF\(q\))g(implemented,)p 3387 2481 V 154 2560 a
Fa(192)p 270 2594 V 293 w Ff(*)g(where)g(q)g(is)g(a)h(prime)e(number.)p
3387 2594 V 154 2673 a Fa(193)p 270 2707 V 293 w Ff(*)p
3387 2707 V 154 2786 a Fa(194)p 270 2820 V 293 w Ff(*)h(@param)f(field)
h(the)g(lBigInt)e(specifies)h(the)h(field)f(\(1)h(for)p
3387 2820 V 154 2899 a Fa(195)p 270 2933 V 293 w Ff(*)g(GF\(q\)\))p
3387 2933 V 154 3012 a Fa(196)p 270 3046 V 293 w Ff(*)g(@param)f
(bitsize)g(the)h(lBigInt)f(specifies)f(the)i(bitsize)f(of)h(the)p
3387 3046 V 154 3125 a Fa(197)p 270 3159 V 293 w Ff(*)g(order)g(of)g
(the)g(subgroup)p 3387 3159 V 154 3238 a Fa(198)p 270
3272 V 293 w Ff(*)g(@param)f(percentage)f(the)i(lBigInt)f(specifies)f
(the)i(percentage)e(of)p 3387 3272 V 154 3351 a Fa(199)p
270 3385 V 293 w Ff(*)i(the)g(cofactor)p 3387 3385 V
154 3464 a Fa(200)p 270 3498 V 293 w Ff(*)g(@param)f(info)h(the)g
(lBigInt)f(specifies)f(the)i(amount)f(of)h(verbosed)p
3387 3498 V 154 3577 a Fa(201)p 270 3610 V 293 w Ff(*)g(messages)f(\(1)
h(for)g(nothing,)e(10)j(for)f(some)f(messages)g(and)h(100)g(for)p
3387 3610 V 154 3689 a Fa(202)p 270 3723 V 293 w Ff(*)g(all)g(possible)
f(ones\))p 3387 3723 V 154 3802 a Fa(203)p 270 3836 V
293 w Ff(*)p 3387 3836 V 154 3915 a Fa(204)p 270 3949
V 293 w Ff(*)h(@throws)f(LiDIAError)p 3387 3949 V 154
4028 a Fa(205)p 270 4062 V 293 w Ff(*/)p 3387 4062 V
154 4141 a Fa(206)p 270 4175 V 245 w Ff(public)g(void)h
(assign\(LBigInt)d(field,LBigInt)g(bitsize,)p 3387 4175
V 154 4254 a Fa(207)p 270 4288 V 341 w Ff(LBigInt)h(percentage,LBigInt)
e(info\))p 3387 4288 V 154 4367 a Fa(208)p 270 4401 V
436 w Ff(throws)j(LiDIAError)p 3387 4401 V 154 4480 a
Fa(209)p 270 4514 V 245 w Ff({)p 3387 4514 V 154 4593
a Fa(210)p 270 4627 V 436 w Ff(//)h(creates)f(the)h(parameters)p
3387 4627 V 154 4706 a Fa(211)p 270 4740 V 436 w Ff
(generateParameters\(field)o(,bit)o(size)o(,pe)o(rcen)o(tage)o(,in)o
(fo\);)p 3387 4740 V 154 4819 a Fa(212)p 270 4852 V 3387
4852 V 154 4932 a(213)p 270 4965 V 436 w Ff(//)g(sets)g(the)g(fields)f
(with)g(the)h(accessed)f(parameters)p 3387 4965 V 154
5044 a Fa(214)p 270 5078 V 436 w Ff(mQ)h(=)h
(LgetQ\(\).toBigInteger\(\);)p 3387 5078 V 154 5157 a
Fa(215)p 270 5191 V 436 w Ff(mA)f(=)h(LgetA\(\).toBigInteger\(\);)p
3387 5191 V 154 5270 a Fa(216)p 270 5304 V 436 w Ff(mB)f(=)h
(LgetB\(\).toBigInteger\(\);)p 3387 5304 V 154 5383 a
Fa(217)p 270 5417 V 436 w Ff(mR)f(=)h(LgetR\(\).toBigInteger\(\);)p
3387 5417 V 154 5496 a Fa(218)p 270 5530 V 436 w Ff(mK)f(=)h
(LgetK\(\).toBigInteger\(\);)p 3387 5530 V 154 5609 a
Fa(219)p 270 5643 V 436 w Ff(mX)f(=)h(LgetX\(\).toBigInteger\(\);)p
3387 5643 V eop
%%Page: 76 77
76 76 bop 390 82 a Fw(76)1950 b(ANHANG)31 b(C.)61 b(CDC.LIDIA)274
415 y Fa(220)p 390 449 4 113 v 436 w Ff(mY)47 b(=)h
(LgetY\(\).toBigInteger\(\);)p 3507 449 V 274 528 a Fa(221)p
390 562 V 436 w Ff(mE)f(=)h(new)f(LECCurveGFP\(new)c(LBigInt\(mA\),new)
h(LBigInt\(mB\),)p 3507 562 V 274 641 a Fa(222)p 390
675 V 531 w Ff(new)j(LBigInt\(mQ\)\);)p 3507 675 V 274
754 a Fa(223)p 390 788 V 436 w Ff(mG)g(=)h(new)f(LECPointGFP\(new)c
(LBigInt\(mX\),new)h(LBigInt\(mY\),mE,)p 3507 788 V 274
867 a Fa(224)p 390 901 V 531 w Ff(new)j(LBigInt\(mQ\)\);)p
3507 901 V 274 980 a Fa(225)p 390 1014 V 3507 1014 V
274 1093 a(226)p 390 1126 V 436 w Ff(//)g(destroys)f(the)h
(corresponding)d(LiDIA-object)p 3507 1126 V 274 1205
a Fa(227)p 390 1239 V 436 w Ff(finalize\(\);)p 3507 1239
V 274 1318 a Fa(228)p 390 1352 V 245 w Ff(})p 3507 1352
V 274 1431 a Fa(229)p 390 1465 V 3507 1465 V 274 1544
a(230)p 390 1578 V 245 w Ff(/**)p 3507 1578 V 274 1657
a Fa(231)p 390 1691 V 293 w Ff(*)j(returns)f(the)h(value)f(of)i(the)e
(modulus)g(q,)h(that)g(is)g(a)h(prime)p 3507 1691 V 274
1770 a Fa(232)p 390 1804 V 293 w Ff(*)f(integer)p 3507
1804 V 274 1883 a Fa(233)p 390 1917 V 293 w Ff(*/)p 3507
1917 V 274 1996 a Fa(234)p 390 2030 V 245 w Ff(public)f(BigInteger)f
(getQ\(\){)p 3507 2030 V 274 2109 a Fa(235)p 390 2143
V 436 w Ff(return)h(mQ;)p 3507 2143 V 274 2222 a Fa(236)p
390 2256 V 245 w Ff(})p 3507 2256 V 274 2335 a Fa(237)p
390 2368 V 3507 2368 V 274 2447 a(238)p 390 2481 V 245
w Ff(/**)p 3507 2481 V 274 2560 a Fa(239)p 390 2594 V
293 w Ff(*)h(returns)f(the)h(coefficient)e(a)i(of)g(the)g(curve)p
3507 2594 V 274 2673 a Fa(240)p 390 2707 V 293 w Ff(*/)p
3507 2707 V 274 2786 a Fa(241)p 390 2820 V 245 w Ff(public)f
(BigInteger)f(getA\(\){)p 3507 2820 V 274 2899 a Fa(242)p
390 2933 V 436 w Ff(return)h(mA;)p 3507 2933 V 274 3012
a Fa(243)p 390 3046 V 245 w Ff(})p 3507 3046 V 274 3125
a Fa(244)p 390 3159 V 3507 3159 V 274 3238 a(245)p 390
3272 V 245 w Ff(/**)p 3507 3272 V 274 3351 a Fa(246)p
390 3385 V 293 w Ff(*)h(returns)f(the)h(coefficient)e(b)i(of)g(the)g
(curve)p 3507 3385 V 274 3464 a Fa(247)p 390 3498 V 293
w Ff(*/)p 3507 3498 V 274 3577 a Fa(248)p 390 3610 V
245 w Ff(public)f(BigInteger)f(getB\(\){)p 3507 3610
V 274 3689 a Fa(249)p 390 3723 V 436 w Ff(return)h(mB;)p
3507 3723 V 274 3802 a Fa(250)p 390 3836 V 245 w Ff(})p
3507 3836 V 274 3915 a Fa(251)p 390 3949 V 3507 3949
V 274 4028 a(252)p 390 4062 V 245 w Ff(/**)p 3507 4062
V 274 4141 a Fa(253)p 390 4175 V 293 w Ff(*)h(returns)f(the)h(curve)f
(point)h(that)f(generates)g(the)h(subgroup)p 3507 4175
V 274 4254 a Fa(254)p 390 4288 V 293 w Ff(*/)p 3507 4288
V 274 4367 a Fa(255)p 390 4401 V 245 w Ff(public)f(LECPointGFP)f
(getG\(\){)p 3507 4401 V 274 4480 a Fa(256)p 390 4514
V 436 w Ff(return)h(mG;)p 3507 4514 V 274 4593 a Fa(257)p
390 4627 V 245 w Ff(})p 3507 4627 V 274 4706 a Fa(258)p
390 4740 V 3507 4740 V 274 4819 a(259)p 390 4852 V 245
w Ff(/**)p 3507 4852 V 274 4932 a Fa(260)p 390 4965 V
293 w Ff(*)h(returns)f(the)h(order)f(of)i(the)e(generator)p
3507 4965 V 274 5044 a Fa(261)p 390 5078 V 293 w Ff(*/)p
3507 5078 V 274 5157 a Fa(262)p 390 5191 V 245 w Ff(public)g
(BigInteger)f(getR\(\){)p 3507 5191 V 274 5270 a Fa(263)p
390 5304 V 436 w Ff(return)h(mR;)p 3507 5304 V 274 5383
a Fa(264)p 390 5417 V 245 w Ff(})p 3507 5417 V 274 5496
a Fa(265)p 390 5530 V 3507 5530 V 274 5609 a(266)p 390
5643 V 245 w Ff(/**)p 3507 5643 V eop
%%Page: 77 78
77 77 bop 270 82 a Fw(C.1.)61 b(LECDomainP)m(arametersP1363)33
b(\(JA)-10 b(V)g(A-Co)s(de\))1051 b(77)154 415 y Fa(267)p
270 449 4 113 v 293 w Ff(*)47 b(returns)f(the)h(cofactor)f(of)h(the)g
(generator's)d(order)p 3387 449 V 154 528 a Fa(268)p
270 562 V 293 w Ff(*/)p 3387 562 V 154 641 a Fa(269)p
270 675 V 293 w Ff(public)i(BigInteger)f(getK\(\){)p
3387 675 V 154 754 a Fa(270)p 270 788 V 436 w Ff(return)h(mK;)p
3387 788 V 154 867 a Fa(271)p 270 901 V 245 w Ff(})p
3387 901 V 154 980 a Fa(272)p 270 1014 V 3387 1014 V
154 1093 a(273)p 270 1126 V 245 w Ff(/**)p 3387 1126
V 154 1205 a Fa(274)p 270 1239 V 293 w Ff(*)h(returns)f(the)h(elliptic)
f(curve)p 3387 1239 V 154 1318 a Fa(275)p 270 1352 V
293 w Ff(*/)p 3387 1352 V 154 1431 a Fa(276)p 270 1465
V 245 w Ff(public)g(LECCurveGFP)f(getCurve\(\))g({)p
3387 1465 V 154 1544 a Fa(277)p 270 1578 V 436 w Ff(return)h(mE;)p
3387 1578 V 154 1657 a Fa(278)p 270 1691 V 245 w Ff(})p
3387 1691 V 154 1770 a Fa(279)p 270 1804 V 3387 1804
V 154 1883 a(280)p 270 1917 V 245 w Ff(/**)p 3387 1917
V 154 1996 a Fa(281)p 270 2030 V 293 w Ff(*)h(initializes)e(static)h
(native)g(resources.)f(The)i(method)f(is)h(called)p 3387
2030 V 154 2109 a Fa(282)p 270 2143 V 293 w Ff(*)g(automatically)d
(before)j(the)f(constructor.)p 3387 2143 V 154 2222 a
Fa(283)p 270 2256 V 293 w Ff(*/)p 3387 2256 V 154 2335
a Fa(284)p 270 2368 V 245 w Ff(public)g(static)g(native)g(void)h
(staticDPInit\(\);)p 3387 2368 V 154 2447 a Fa(285)p
270 2481 V 3387 2481 V 154 2560 a(286)p 270 2594 V 245
w Ff(/**)p 3387 2594 V 154 2673 a Fa(287)p 270 2707 V
293 w Ff(*)g(initializes)e(nonstatic)g(native)h(resources.)f(The)i
(method)f(is)p 3387 2707 V 154 2786 a Fa(288)p 270 2820
V 293 w Ff(*)h(called)f(automatically)f(before)h(the)h(constructor.)p
3387 2820 V 154 2899 a Fa(289)p 270 2933 V 293 w Ff(*/)p
3387 2933 V 154 3012 a Fa(290)p 270 3046 V 245 w Ff(protected)e(native)
h(void)h(init\(\);)p 3387 3046 V 154 3125 a Fa(291)p
270 3159 V 3387 3159 V 154 3238 a(292)p 270 3272 V 245
w Ff(/**)p 3387 3272 V 154 3351 a Fa(293)p 270 3385 V
293 w Ff(*)g(frees)g(the)g(native)f(resources.)f(The)i(method)f(is)h
(called)p 3387 3385 V 154 3464 a Fa(294)p 270 3498 V
293 w Ff(*)g(automatically)d(by)k(the)f(garbage)e(collector.)p
3387 3498 V 154 3577 a Fa(295)p 270 3610 V 293 w Ff(*/)p
3387 3610 V 154 3689 a Fa(296)p 270 3723 V 245 w Ff(protected)g(native)
h(void)h(finalize\(\);)p 3387 3723 V 154 3802 a Fa(297)p
270 3836 V 3387 3836 V 154 3915 a(298)p 270 3949 V 245
w Ff(/**)p 3387 3949 V 154 4028 a Fa(299)p 270 4062 V
293 w Ff(*)g(generates)f(the)g(domain)h(parameters,)d(by)j(using)g(the)
g(specified)p 3387 4062 V 154 4141 a Fa(300)p 270 4175
V 293 w Ff(*)g(arguments)f(for)g(their)h(generation.)e(At)i(the)g
(moment)f(there)g(is)p 3387 4175 V 154 4254 a Fa(301)p
270 4288 V 293 w Ff(*)h(just)g(the)g(case)f(of)i(GF\(q\))e
(implemented,)e(where)j(q)g(is)g(a)h(prime)p 3387 4288
V 154 4367 a Fa(302)p 270 4401 V 293 w Ff(*)f(number.)p
3387 4401 V 154 4480 a Fa(303)p 270 4514 V 293 w Ff(*)p
3387 4514 V 154 4593 a Fa(304)p 270 4627 V 293 w Ff(*)g(@param)f(field)
h(the)g(lBigInt)e(specifies)h(the)h(field)f(\(1)h(for)p
3387 4627 V 154 4706 a Fa(305)p 270 4740 V 293 w Ff(*)g(GF\(q\)\))p
3387 4740 V 154 4819 a Fa(306)p 270 4852 V 293 w Ff(*)g(@param)f
(bitsize)g(the)h(lBigInt)f(specifies)f(the)i(bitsize)f(of)h(the)p
3387 4852 V 154 4932 a Fa(307)p 270 4965 V 293 w Ff(*)g(order)g(of)g
(the)g(subgroup)p 3387 4965 V 154 5044 a Fa(308)p 270
5078 V 293 w Ff(*)g(@param)f(percentage)f(the)i(lBigInt)f(specifies)f
(the)i(percentage)e(of)p 3387 5078 V 154 5157 a Fa(309)p
270 5191 V 293 w Ff(*)i(the)g(cofactor)p 3387 5191 V
154 5270 a Fa(310)p 270 5304 V 293 w Ff(*)g(@param)f(info)h(the)g
(lBigInt)f(specifies)f(the)i(amount)f(of)h(verbosed)p
3387 5304 V 154 5383 a Fa(311)p 270 5417 V 293 w Ff(*)g(messages)f(\(1)
h(for)g(nothing,)e(10)j(for)f(some)f(messages)g(and)h(100)g(for)p
3387 5417 V 154 5496 a Fa(312)p 270 5530 V 293 w Ff(*)g(all)g(possible)
f(ones\))p 3387 5530 V 154 5609 a Fa(313)p 270 5643 V
293 w Ff(*/)p 3387 5643 V eop
%%Page: 78 79
78 78 bop 390 82 a Fw(78)1950 b(ANHANG)31 b(C.)61 b(CDC.LIDIA)274
415 y Fa(314)p 390 449 4 113 v 245 w Ff(public)46 b(native)g(void)h
(generateParameters\(LBigI)o(nt)42 b(field,)p 3507 449
V 274 528 a Fa(315)p 390 562 V 341 w Ff(LBigInt)j(bitsize,LBigInt)f
(percentage,LBigInt)f(info\);)p 3507 562 V 274 641 a
Fa(316)p 390 675 V 3507 675 V 274 754 a(317)p 390 788
V 245 w Ff(/**)p 3507 788 V 274 867 a Fa(318)p 390 901
V 293 w Ff(*)k(accesses)f(the)h(value)f(of)h(the)g(modulus)f(q,)h(that)
g(is)g(a)g(prime)p 3507 901 V 274 980 a Fa(319)p 390
1014 V 293 w Ff(*)g(integer)p 3507 1014 V 274 1093 a
Fa(320)p 390 1126 V 293 w Ff(*/)p 3507 1126 V 274 1205
a Fa(321)p 390 1239 V 245 w Ff(public)f(native)g(LBigInt)g(LgetQ\(\);)p
3507 1239 V 274 1318 a Fa(322)p 390 1352 V 3507 1352
V 274 1431 a(323)p 390 1465 V 245 w Ff(/**)p 3507 1465
V 274 1544 a Fa(324)p 390 1578 V 293 w Ff(*)h(accesses)f(the)h
(coefficient)d(a)k(of)f(the)g(curve)p 3507 1578 V 274
1657 a Fa(325)p 390 1691 V 293 w Ff(*/)p 3507 1691 V
274 1770 a Fa(326)p 390 1804 V 245 w Ff(public)f(native)g(LBigInt)g
(LgetA\(\);)p 3507 1804 V 274 1883 a Fa(327)p 390 1917
V 3507 1917 V 274 1996 a(328)p 390 2030 V 245 w Ff(/**)p
3507 2030 V 274 2109 a Fa(329)p 390 2143 V 293 w Ff(*)h(accesses)f(the)
h(coefficient)d(b)k(of)f(the)g(curve)p 3507 2143 V 274
2222 a Fa(330)p 390 2256 V 293 w Ff(*/)p 3507 2256 V
274 2335 a Fa(331)p 390 2368 V 245 w Ff(public)f(native)g(LBigInt)g
(LgetB\(\);)p 3507 2368 V 274 2447 a Fa(332)p 390 2481
V 3507 2481 V 274 2560 a(333)p 390 2594 V 245 w Ff(/**)p
3507 2594 V 274 2673 a Fa(334)p 390 2707 V 293 w Ff(*)h(accesses)f(the)
h(curve)f(point)g(that)h(generates)e(the)i(subgroup)p
3507 2707 V 274 2786 a Fa(335)p 390 2820 V 293 w Ff(*/)p
3507 2820 V 274 2899 a Fa(336)p 390 2933 V 245 w Ff(public)f(native)g
(LBigInt)g(LgetR\(\);)p 3507 2933 V 274 3012 a Fa(337)p
390 3046 V 3507 3046 V 274 3125 a(338)p 390 3159 V 245
w Ff(/**)p 3507 3159 V 274 3238 a Fa(339)p 390 3272 V
293 w Ff(*)h(accesses)f(the)h(cofactor)e(of)i(the)g(generator's)e
(order)p 3507 3272 V 274 3351 a Fa(340)p 390 3385 V 293
w Ff(*/)p 3507 3385 V 274 3464 a Fa(341)p 390 3498 V
245 w Ff(public)h(native)g(LBigInt)g(LgetK\(\);)p 3507
3498 V 274 3577 a Fa(342)p 390 3610 V 3507 3610 V 274
3689 a(343)p 390 3723 V 245 w Ff(/**)p 3507 3723 V 274
3802 a Fa(344)p 390 3836 V 293 w Ff(*)h(accesses)f(the)h(cofactor)e(of)
i(the)g(generator's)e(order)p 3507 3836 V 274 3915 a
Fa(345)p 390 3949 V 293 w Ff(*/)p 3507 3949 V 274 4028
a Fa(346)p 390 4062 V 245 w Ff(public)h(native)g(LBigInt)g(LgetX\(\);)p
3507 4062 V 274 4141 a Fa(347)p 390 4175 V 3507 4175
V 274 4254 a(348)p 390 4288 V 245 w Ff(/**)p 3507 4288
V 274 4367 a Fa(349)p 390 4401 V 293 w Ff(*)h(accesses)f(the)h
(cofactor)e(of)i(the)g(generator's)e(order)p 3507 4401
V 274 4480 a Fa(350)p 390 4514 V 293 w Ff(*/)p 3507 4514
V 274 4593 a Fa(351)p 390 4627 V 245 w Ff(public)h(native)g(LBigInt)g
(LgetY\(\);)p 3507 4627 V 274 4706 a Fa(352)p 390 4740
V 54 w Ff(})p 3507 4740 V 390 4764 4 25 v 3507 4764 V
390 4767 3120 4 v eop
%%Page: 79 80
79 79 bop 270 82 a Fw(C.2.)61 b(LECDomainP)m(arametersP1363)33
b(\(C++-Co)s(de\))1074 b(79)270 415 y Fz(C.2)135 b(LECDomainP)l
(arametersP1363)49 b(\(C++-Co)t(de\))p 270 650 3120 4
v 270 675 4 25 v 3387 675 V 215 754 a Fa(1)p 270 788
4 113 v 53 w Ff(/************************)o(****)o(***)o(****)o(****)o
(***)o(****)o(****)o(***)o(****)o(****)o(**)p 3387 788
V 215 867 a Fa(2)p 270 901 V 53 w Ff(**)p 3387 901 V
215 980 a Fa(3)p 270 1014 V 53 w Ff(**)e(Implementierung)d(of)j(the)g
(JAVA)g(native)f(interface)f(\(JNI\))h(of)i(the)p 3387
1014 V 215 1093 a Fa(4)p 270 1126 V 53 w Ff(**)f(LiDIA-class)e
(EC_domain_parameters_P136)o(3.)p 3387 1126 V 215 1205
a Fa(5)p 270 1239 V 53 w Ff(**)p 3387 1239 V 215 1318
a Fa(6)p 270 1352 V 53 w Ff(**)i(LECDomainParametersP1363)42
b(is)47 b(used)f(to)i(generate)d(the)i(domain)p 3387
1352 V 215 1431 a Fa(7)p 270 1465 V 53 w Ff(**)g(parameters)e(of)j
(elliptic)d(curves.)h(After)g(having)g(done)h(this,)f(the)p
3387 1465 V 215 1544 a Fa(8)p 270 1578 V 53 w Ff(**)h(parameter)f(can)h
(be)g(accessed)e(using)i(the)g(get-functions.)p 3387
1578 V 215 1657 a Fa(9)p 270 1691 V 53 w Ff(**)p 3387
1691 V 184 1770 a Fa(10)p 270 1804 V 54 w Ff(**)g(The)g(class)g(and)g
(method)f(documentation)e(can)j(be)g(found)f(in)h(the)p
3387 1804 V 184 1883 a Fa(11)p 270 1917 V 54 w Ff(**)g(JAVA-file.)p
3387 1917 V 184 1996 a Fa(12)p 270 2030 V 54 w Ff(**)p
3387 2030 V 184 2109 a Fa(13)p 270 2143 V 54 w Ff(**)p
3387 2143 V 184 2222 a Fa(14)p 270 2256 V 54 w Ff(**)p
3387 2256 V 184 2335 a Fa(15)p 270 2368 V 54 w Ff(**)g(\(C\))g(1999)g
(Markus)f(Crnjak)p 3387 2368 V 184 2447 a Fa(16)p 270
2481 V 54 w Ff(**)p 3387 2481 V 184 2560 a Fa(17)p 270
2594 V 54 w Ff(*************************)o(****)o(***)o(****)o(****)o
(***)o(****)o(****)o(***)o(****)o(****)o(*/)p 3387 2594
V 184 2673 a Fa(18)p 270 2707 V 3387 2707 V 184 2786
a(19)p 270 2820 V 54 w Ff(#include)g("cdc_lidia_LECDomainPar)o(amet)o
(ersP)o(136)o(3.h")p 3387 2820 V 184 2899 a Fa(20)p 270
2933 V 54 w Ff(#include)g("LJNI.h")p 3387 2933 V 184
3012 a Fa(21)p 270 3046 V 54 w Ff(#include)g(<LiDIA/eco/EC_domain_pa)o
(rame)o(ters)o(_P1)o(363.)o(h>)p 3387 3046 V 184 3125
a Fa(22)p 270 3159 V 3387 3159 V 184 3238 a(23)p 270
3272 V 54 w Ff(//)p 3387 3272 V 184 3351 a Fa(24)p 270
3385 V 54 w Ff(//)h(Klasse)f(und)h(Konstruktor)e(von)i
(LECDomainParametersP1363)p 3387 3385 V 184 3464 a Fa(25)p
270 3498 V 54 w Ff(//)p 3387 3498 V 184 3577 a Fa(26)p
270 3610 V 3387 3610 V 184 3690 a(27)p 270 3723 V 54
w Ff(/*)p 3387 3723 V 184 3802 a Fa(28)p 270 3836 V 102
w Ff(*)g(Class:)237 b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p
3387 3836 V 184 3915 a Fa(29)p 270 3949 V 102 w Ff(*)47
b(Method:)189 b(public)46 b(static)h(void)f(staticDPInit\(\))p
3387 3949 V 184 4028 a Fa(30)p 270 4062 V 102 w Ff(*)h(Signature:)e
(\(\)V)p 3387 4062 V 184 4141 a Fa(31)p 270 4175 V 102
w Ff(*/)p 3387 4175 V 184 4254 a Fa(32)p 270 4288 V 54
w Ff(jclass)h(LECDomainParametersP1363)41 b(=)48 b(NULL;)p
3387 4288 V 184 4367 a Fa(33)p 270 4401 V 54 w Ff(jmethodID)d
(LECDomainParametersP1363_L)o(ECDo)o(mai)o(nPar)o(amet)o(ers)o(P136)o
(3)d(=)p 3387 4401 V 184 4480 a Fa(34)p 270 4514 V 150
w Ff(NULL;)p 3387 4514 V 184 4593 a Fa(35)p 270 4627
V 3387 4627 V 184 4706 a(36)p 270 4740 V 54 w Ff(JNIEXPORT)j(void)i
(JNICALL)p 3387 4740 V 184 4819 a Fa(37)p 270 4852 V
150 w Ff(Java_cdc_lidia_LECDomai)o(nPar)o(ame)o(ters)o(P136)o(3_s)o
(tati)o(cDPI)o(nit)p 3387 4852 V 184 4932 a Fa(38)p 270
4965 V 150 w Ff(\(JNIEnv)e(*env,)i(jclass)f(jMyClass\))p
3387 4965 V 184 5044 a Fa(39)p 270 5078 V 54 w Ff({)p
3387 5078 V 184 5157 a Fa(40)p 270 5191 V 150 w Ff(//)h(Which)f(class)h
(is)g(LECDomainParametersP136)o(3?)p 3387 5191 V 184
5270 a Fa(41)p 270 5304 V 150 w Ff(LECDomainParametersP136)o(3)42
b(=)47 b(\(jclass\))f(env->NewGlobalRef)p 3387 5304 V
184 5383 a Fa(42)p 270 5417 V 245 w Ff(\(jMyClass\);)p
3387 5417 V 184 5496 a Fa(43)p 270 5530 V 150 w Ff(if)h
(\(handleFatalJavaExceptio)o(n)42 b(\(env\)\))p 3387
5530 V 184 5609 a Fa(44)p 270 5643 V 245 w Ff(return;)p
3387 5643 V eop
%%Page: 80 81
80 80 bop 390 82 a Fw(80)1950 b(ANHANG)31 b(C.)61 b(CDC.LIDIA)304
415 y Fa(45)p 390 449 4 113 v 3507 449 V 304 528 a(46)p
390 562 V 150 w Ff(//)47 b(looks)f(for)h(the)g(method)f
(LECDomainParametersP1363.)p 3507 562 V 304 641 a Fa(47)p
390 675 V 150 w Ff(//)h(LECDomainParametersP1363)o(\(\))p
3507 675 V 304 754 a Fa(48)p 390 788 V 150 w Ff
(LECDomainParametersP136)o(3_LE)o(CDo)o(main)o(Para)o(met)o(ersP)o
(1363)41 b(=)p 3507 788 V 304 867 a Fa(49)p 390 901 V
245 w Ff(env->GetMethodID)i(\(LECDomainParametersP1363,)e
("<init>","\(\)V"\);)p 3507 901 V 304 980 a Fa(50)p 390
1014 V 150 w Ff(if)47 b(\(handleFatalJavaExceptio)o(n)42
b(\(env\)\))p 3507 1014 V 304 1093 a Fa(51)p 390 1126
V 245 w Ff(return;)p 3507 1126 V 304 1205 a Fa(52)p 390
1239 V 54 w Ff(})p 3507 1239 V 304 1318 a Fa(53)p 390
1352 V 3507 1352 V 304 1431 a(54)p 390 1465 V 54 w Ff(/*)p
3507 1465 V 304 1544 a Fa(55)p 390 1578 V 102 w Ff(*)47
b(Class:)237 b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p
3507 1578 V 304 1657 a Fa(56)p 390 1691 V 102 w Ff(*)47
b(Method:)189 b(public)46 b(void)h(init\(\))p 3507 1691
V 304 1770 a Fa(57)p 390 1804 V 102 w Ff(*)g(Signature:)e(\(\)V)p
3507 1804 V 304 1883 a Fa(58)p 390 1917 V 102 w Ff(*/)p
3507 1917 V 304 1996 a Fa(59)p 390 2030 V 54 w Ff(JNIEXPORT)g(void)i
(JNICALL)p 3507 2030 V 304 2109 a Fa(60)p 390 2143 V
150 w Ff(Java_cdc_lidia_LECDomai)o(nPar)o(ame)o(ters)o(P136)o(3_i)o
(nit)p 3507 2143 V 304 2222 a Fa(61)p 390 2256 V 150
w Ff(\(JNIEnv)e(*env,)i(jobject)f(jThis\))p 3507 2256
V 304 2335 a Fa(62)p 390 2368 V 54 w Ff({)p 3507 2368
V 304 2447 a Fa(63)p 390 2481 V 150 w Ff(//)h(is)g(called)f(to)h
(initialize)e(the)i(object)f(\(before)g(the)h(constructor)p
3507 2481 V 304 2560 a Fa(64)p 390 2594 V 150 w Ff(//)g(is)g(called\))p
3507 2594 V 304 2673 a Fa(65)p 390 2707 V 3507 2707 V
304 2786 a(66)p 390 2820 V 150 w Ff(//)g(creates)f(the)h
(EC_domain_parameters_P1)o(363)p 3507 2820 V 304 2899
a Fa(67)p 390 2933 V 150 w Ff(jPointer)e(nThis;)p 3507
2933 V 304 3012 a Fa(68)p 390 3046 V 150 w Ff(nThis.p)g(=)j(new)f
(EC_domain_parameters_P13)o(63)41 b(\(\);)p 3507 3046
V 304 3125 a Fa(69)p 390 3159 V 150 w Ff(env->SetLongField)i(\(jThis,)j
(LiDIAObject_nThis,)c(nThis.l\);)p 3507 3159 V 304 3238
a Fa(70)p 390 3272 V 150 w Ff(if)47 b(\(handleJavaException)42
b(\(env\)\))p 3507 3272 V 304 3351 a Fa(71)p 390 3385
V 245 w Ff(return;)p 3507 3385 V 304 3464 a Fa(72)p 390
3498 V 54 w Ff(})p 3507 3498 V 304 3577 a Fa(73)p 390
3610 V 3507 3610 V 304 3689 a(74)p 390 3723 V 54 w Ff(/*)p
3507 3723 V 304 3802 a Fa(75)p 390 3836 V 102 w Ff(*)47
b(Class:)237 b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p
3507 3836 V 304 3915 a Fa(76)p 390 3949 V 102 w Ff(*)47
b(Method:)189 b(public)46 b(void)h(finalize\(\))p 3507
3949 V 304 4028 a Fa(77)p 390 4062 V 102 w Ff(*)g(Signature:)e(\(\)V)p
3507 4062 V 304 4141 a Fa(78)p 390 4175 V 102 w Ff(*/)p
3507 4175 V 304 4254 a Fa(79)p 390 4288 V 54 w Ff(JNIEXPORT)g(void)i
(JNICALL)p 3507 4288 V 304 4367 a Fa(80)p 390 4401 V
150 w Ff(Java_cdc_lidia_LECDomai)o(nPar)o(ame)o(ters)o(P136)o(3_f)o
(inal)o(ize)p 3507 4401 V 304 4480 a Fa(81)p 390 4514
V 150 w Ff(\(JNIEnv)e(*env,)i(jobject)f(jThis\))p 3507
4514 V 304 4593 a Fa(82)p 390 4627 V 54 w Ff({)p 3507
4627 V 304 4706 a Fa(83)p 390 4740 V 150 w Ff(//)h(is)g(called)f(when)h
(the)g(garbage)e(collector)h(removes)g(the)g(object)p
3507 4740 V 304 4819 a Fa(84)p 390 4852 V 3507 4852 V
304 4932 a(85)p 390 4965 V 150 w Ff(//)h(looks)f(for)h(the)g
(EC_domain_parameters_P13)o(63)p 3507 4965 V 304 5044
a Fa(86)p 390 5078 V 150 w Ff(jPointer)e(nThis;)p 3507
5078 V 304 5157 a Fa(87)p 390 5191 V 150 w Ff(nThis.l)g(=)j
(env->GetLongField)43 b(\(jThis,)j(LiDIAObject_nThis\);)p
3507 5191 V 304 5270 a Fa(88)p 390 5304 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3507 5304 V 304
5383 a Fa(89)p 390 5417 V 245 w Ff(return;)p 3507 5417
V 304 5496 a Fa(90)p 390 5530 V 3507 5530 V 304 5609
a(91)p 390 5643 V 150 w Ff(//)47 b(destroys)e(the)i
(EC_domain_parameters_P136)o(3)p 3507 5643 V eop
%%Page: 81 82
81 81 bop 270 82 a Fw(C.2.)61 b(LECDomainP)m(arametersP1363)33
b(\(C++-Co)s(de\))1074 b(81)184 415 y Fa(92)p 270 449
4 113 v 150 w Ff(delete)46 b(\(EC_domain_parameters_P)o(1363)41
b(*\))47 b(nThis.p;)p 3387 449 V 184 528 a Fa(93)p 270
562 V 54 w Ff(})p 3387 562 V 184 641 a Fa(94)p 270 675
V 3387 675 V 184 754 a(95)p 270 788 V 54 w Ff(/*)p 3387
788 V 184 867 a Fa(96)p 270 901 V 102 w Ff(*)g(Class:)237
b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p 3387
901 V 184 980 a Fa(97)p 270 1014 V 102 w Ff(*)47 b(Method:)189
b(public)46 b(void)h(generateParameters\(LBigIn)o(t,L)o(BigI)o(nt,)p
3387 1014 V 184 1093 a Fa(98)p 270 1126 V 102 w Ff(*)668
b(LBigInt,LBigInt\))p 3387 1126 V 184 1205 a Fa(99)p
270 1239 V 102 w Ff(*)47 b(Signature:)e(\(Lcdc/lidia/LBigInt;Lcdc/l)o
(idi)o(a/LB)o(igIn)o(t;L)o(cdc/)o(lidi)o(a/)p 3387 1239
V 154 1318 a Fa(100)p 270 1352 V 102 w Ff(*)716 b
(LBigInt;Lcdc/lidia/LBig)o(Int)o(;\)V)p 3387 1352 V 154
1431 a Fa(101)p 270 1465 V 102 w Ff(*/)p 3387 1465 V
154 1544 a Fa(102)p 270 1578 V 54 w Ff(JNIEXPORT)45 b(void)i(JNICALL)p
3387 1578 V 154 1657 a Fa(103)p 270 1691 V 150 w Ff
(Java_cdc_lidia_LECDomai)o(nPar)o(ame)o(ters)o(P136)o(3_g)o(ener)o
(ateP)o(ara)o(mete)o(rs)p 3387 1691 V 154 1770 a Fa(104)p
270 1804 V 150 w Ff(\(JNIEnv)e(*env,)i(jobject)f(jThis,)g(jobject)g
(jfield,)f(jobject)h(jbitsize,)p 3387 1804 V 154 1883
a Fa(105)p 270 1917 V 293 w Ff(jobject)g(jpercentage,)e(jobject)i
(jinfo\))p 3387 1917 V 154 1996 a Fa(106)p 270 2030 V
54 w Ff({)p 3387 2030 V 154 2109 a Fa(107)p 270 2143
V 150 w Ff(//)h(looks)f(for)h(the)g(EC_domain_parameters_P13)o(63)p
3387 2143 V 154 2222 a Fa(108)p 270 2256 V 150 w Ff(jPointer)e(nThis;)p
3387 2256 V 154 2335 a Fa(109)p 270 2368 V 150 w Ff(nThis.l)g(=)j
(env->GetLongField)43 b(\(jThis,)j(LiDIAObject_nThis\);)p
3387 2368 V 154 2447 a Fa(110)p 270 2481 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3387 2481 V 154
2560 a Fa(111)p 270 2594 V 245 w Ff(return;)p 3387 2594
V 154 2673 a Fa(112)p 270 2707 V 3387 2707 V 154 2786
a(113)p 270 2820 V 150 w Ff(//)47 b(declarations)d(for)j(the)g
(arguments)p 3387 2820 V 154 2899 a Fa(114)p 270 2933
V 150 w Ff(jPointer)e(jpfield,)h(jpbitsize,)f(jppercentage,)f(jpinfo;)p
3387 2933 V 154 3012 a Fa(115)p 270 3046 V 150 w Ff(bigint)i(*b_field,)
f(*b_bitsize,)g(*b_percentage,)f(*b_info;)p 3387 3046
V 154 3125 a Fa(116)p 270 3159 V 3387 3159 V 154 3238
a(117)p 270 3272 V 150 w Ff(//)j(looks)f(for)h(all)g(the)g(arguments)p
3387 3272 V 154 3351 a Fa(118)p 270 3385 V 150 w Ff(jpfield.l)e(=)i
(env->GetLongField)c(\(jfield,)j(LiDIAObject_nThis\);)p
3387 3385 V 154 3464 a Fa(119)p 270 3498 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3387 3498 V 154
3577 a Fa(120)p 270 3610 V 245 w Ff(return;)p 3387 3610
V 154 3689 a Fa(121)p 270 3723 V 150 w Ff(jpbitsize.l)i(=)k
(env->GetLongField)43 b(\(jbitsize,)i(LiDIAObject_nThis\);)p
3387 3723 V 154 3802 a Fa(122)p 270 3836 V 150 w Ff(if)i
(\(handleJavaException)42 b(\(env\)\))p 3387 3836 V 154
3915 a Fa(123)p 270 3949 V 245 w Ff(return;)p 3387 3949
V 154 4028 a Fa(124)p 270 4062 V 150 w Ff(jppercentage.l)i(=)j
(env->GetLongField)c(\(jpercentage,)p 3387 4062 V 154
4141 a Fa(125)p 270 4175 V 245 w Ff(LiDIAObject_nThis\);)p
3387 4175 V 154 4254 a Fa(126)p 270 4288 V 150 w Ff(if)k
(\(handleJavaException)42 b(\(env\)\))p 3387 4288 V 154
4367 a Fa(127)p 270 4401 V 245 w Ff(return;)p 3387 4401
V 154 4480 a Fa(128)p 270 4514 V 150 w Ff(jpinfo.l)j(=)j
(env->GetLongField)43 b(\(jinfo,)j(LiDIAObject_nThis\);)p
3387 4514 V 154 4593 a Fa(129)p 270 4627 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3387 4627 V 154
4706 a Fa(130)p 270 4740 V 245 w Ff(return;)p 3387 4740
V 154 4819 a Fa(131)p 270 4852 V 3387 4852 V 154 4932
a(132)p 270 4965 V 150 w Ff(//)47 b(casts)f(the)h(arguments)e(into)i
(int's)p 3387 4965 V 154 5044 a Fa(133)p 270 5078 V 150
w Ff(int)g(field,bitsize,percentag)o(e,i)o(nfo;)p 3387
5078 V 154 5157 a Fa(134)p 270 5191 V 150 w Ff(\(*\(\(bigint)e(*\))i
(jpfield.p\)\).intify\(field)o(\);)p 3387 5191 V 154
5270 a Fa(135)p 270 5304 V 150 w Ff(\(*\(\(bigint)e(*\))i
(jpbitsize.p\)\).intify\(bit)o(siz)o(e\);)p 3387 5304
V 154 5383 a Fa(136)p 270 5417 V 150 w Ff(\(*\(\(bigint)e(*\))i
(jppercentage.p\)\).intify\()o(per)o(cent)o(age\))o(;)p
3387 5417 V 154 5496 a Fa(137)p 270 5530 V 150 w Ff(\(*\(\(bigint)e
(*\))i(jpinfo.p\)\).intify\(info\);)p 3387 5530 V 154
5609 a Fa(138)p 270 5643 V 3387 5643 V eop
%%Page: 82 83
82 82 bop 390 82 a Fw(82)1950 b(ANHANG)31 b(C.)61 b(CDC.LIDIA)274
415 y Fa(139)p 390 449 4 113 v 150 w Ff(//)47 b(calculates)p
3507 449 V 274 528 a Fa(140)p 390 562 V 150 w Ff
(\(\(EC_domain_parameters_)o(P136)o(3)42 b(*\))47 b(nThis.p\)->)p
3507 562 V 274 641 a Fa(141)p 390 675 V 341 w Ff
(generate_parameters\(fie)o(ld,)o(bits)o(ize,)o(per)o(cent)o(age,)o
(inf)o(o\);)p 3507 675 V 274 754 a Fa(142)p 390 788 V
54 w Ff(})p 3507 788 V 274 867 a Fa(143)p 390 901 V 3507
901 V 274 980 a(144)p 390 1014 V 54 w Ff(/*)p 3507 1014
V 274 1093 a Fa(145)p 390 1126 V 102 w Ff(*)g(Class:)237
b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p 3507
1126 V 274 1205 a Fa(146)p 390 1239 V 102 w Ff(*)47 b(Method:)189
b(public)46 b(LBigInt)g(LgetQ\(\))p 3507 1239 V 274 1318
a Fa(147)p 390 1352 V 102 w Ff(*)h(Signature:)e
(\(\)Lcdc/lidia/LBigInt;)p 3507 1352 V 274 1431 a Fa(148)p
390 1465 V 102 w Ff(*/)p 3507 1465 V 274 1544 a Fa(149)p
390 1578 V 54 w Ff(JNIEXPORT)g(jobject)h(JNICALL)p 3507
1578 V 274 1657 a Fa(150)p 390 1691 V 150 w Ff(Java_cdc_lidia_LECDomai)
o(nPar)o(ame)o(ters)o(P136)o(3_L)o(getQ)p 3507 1691 V
274 1770 a Fa(151)p 390 1804 V 150 w Ff(\(JNIEnv)f(*env,)i(jobject)f
(jThis\))p 3507 1804 V 274 1883 a Fa(152)p 390 1917 V
54 w Ff({)p 3507 1917 V 274 1996 a Fa(153)p 390 2030
V 150 w Ff(//)h(looks)f(for)h(the)g(EC_domain_parameters_P13)o(63)p
3507 2030 V 274 2109 a Fa(154)p 390 2143 V 150 w Ff(jPointer)e(nThis;)p
3507 2143 V 274 2222 a Fa(155)p 390 2256 V 150 w Ff(nThis.l)g(=)j
(env->GetLongField)43 b(\(jThis,)j(LiDIAObject_nThis\);)p
3507 2256 V 274 2335 a Fa(156)p 390 2368 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3507 2368 V 274
2447 a Fa(157)p 390 2481 V 245 w Ff(return)k(NULL;)p
3507 2481 V 274 2560 a Fa(158)p 390 2594 V 3507 2594
V 274 2673 a(159)p 390 2707 V 150 w Ff(//)h(calculates)p
3507 2707 V 274 2786 a Fa(160)p 390 2820 V 150 w Ff(jobject)e(Result;)p
3507 2820 V 274 2899 a Fa(161)p 390 2933 V 150 w Ff(jPointer)g
(jpResult;)p 3507 2933 V 274 3012 a Fa(162)p 390 3046
V 150 w Ff(bigint)h(*b_Result)f(=)i(new)g(bigint)f
(\(\(\(EC_domain_parameters_P1)o(363)41 b(*\))p 3507
3046 V 274 3125 a Fa(163)p 390 3159 V 245 w Ff(nThis.p\)->get_q\(\)\);)
p 3507 3159 V 274 3238 a Fa(164)p 390 3272 V 150 w Ff(jpResult.p)k(=)i
(b_Result;)p 3507 3272 V 274 3351 a Fa(165)p 390 3385
V 3507 3385 V 274 3464 a(166)p 390 3498 V 150 w Ff(//)g(creates)f(the)h
(return)f(object)p 3507 3498 V 274 3577 a Fa(167)p 390
3610 V 150 w Ff(Result)g(=)h(env->NewObject)d
(\(LBigInt,LBigInt_LBigInt,)o(jpR)o(esul)o(t.l,)p 3507
3610 V 274 3689 a Fa(168)p 390 3723 V 245 w Ff(JNI_TRUE\);)p
3507 3723 V 274 3802 a Fa(169)p 390 3836 V 150 w Ff(if)j
(\(handleJavaException)42 b(\(env\)\))p 3507 3836 V 274
3915 a Fa(170)p 390 3949 V 245 w Ff(return)k(NULL;)p
3507 3949 V 274 4028 a Fa(171)p 390 4062 V 3507 4062
V 274 4141 a(172)p 390 4175 V 150 w Ff(//)h(and)g(back)p
3507 4175 V 274 4254 a Fa(173)p 390 4288 V 150 w Ff(return)f(Result;)p
3507 4288 V 274 4367 a Fa(174)p 390 4401 V 54 w Ff(})p
3507 4401 V 274 4480 a Fa(175)p 390 4514 V 3507 4514
V 274 4593 a(176)p 390 4627 V 54 w Ff(/*)p 3507 4627
V 274 4706 a Fa(177)p 390 4740 V 102 w Ff(*)h(Class:)237
b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p 3507
4740 V 274 4819 a Fa(178)p 390 4852 V 102 w Ff(*)47 b(Method:)189
b(public)46 b(LBigInt)g(LgetA\(\))p 3507 4852 V 274 4932
a Fa(179)p 390 4965 V 102 w Ff(*)h(Signature:)e
(\(\)Lcdc/lidia/LBigInt;)p 3507 4965 V 274 5044 a Fa(180)p
390 5078 V 102 w Ff(*/)p 3507 5078 V 274 5157 a Fa(181)p
390 5191 V 54 w Ff(JNIEXPORT)g(jobject)h(JNICALL)p 3507
5191 V 274 5270 a Fa(182)p 390 5304 V 150 w Ff(Java_cdc_lidia_LECDomai)
o(nPar)o(ame)o(ters)o(P136)o(3_L)o(getA)p 3507 5304 V
274 5383 a Fa(183)p 390 5417 V 150 w Ff(\(JNIEnv)f(*env,)i(jobject)f
(jThis\))p 3507 5417 V 274 5496 a Fa(184)p 390 5530 V
54 w Ff({)p 3507 5530 V 274 5609 a Fa(185)p 390 5643
V 150 w Ff(//)h(look)f(for)h(the)g(EC_domain_parameters_P136)o(3)p
3507 5643 V eop
%%Page: 83 84
83 83 bop 270 82 a Fw(C.2.)61 b(LECDomainP)m(arametersP1363)33
b(\(C++-Co)s(de\))1074 b(83)154 415 y Fa(186)p 270 449
4 113 v 150 w Ff(jPointer)45 b(nThis;)p 3387 449 V 154
528 a Fa(187)p 270 562 V 150 w Ff(nThis.l)g(=)j(env->GetLongField)43
b(\(jThis,)j(LiDIAObject_nThis\);)p 3387 562 V 154 641
a Fa(188)p 270 675 V 150 w Ff(if)h(\(handleJavaException)42
b(\(env\)\))p 3387 675 V 154 754 a Fa(189)p 270 788 V
245 w Ff(return)k(NULL;)p 3387 788 V 154 867 a Fa(190)p
270 901 V 3387 901 V 154 980 a(191)p 270 1014 V 150 w
Ff(//)h(calculate)p 3387 1014 V 154 1093 a Fa(192)p 270
1126 V 150 w Ff(jobject)e(Result;)p 3387 1126 V 154 1205
a Fa(193)p 270 1239 V 150 w Ff(jPointer)g(jpResult;)p
3387 1239 V 154 1318 a Fa(194)p 270 1352 V 150 w Ff(bigint)h(*b_Result)
f(=)i(new)g(bigint)f(\(\(\(EC_domain_parameters_P1)o(363)41
b(*\))p 3387 1352 V 154 1431 a Fa(195)p 270 1465 V 245
w Ff(nThis.p\)->get_a\(\).mantiss)o(a\(\))o(\);)p 3387
1465 V 154 1544 a Fa(196)p 270 1578 V 150 w Ff(jpResult.p)k(=)i
(b_Result;)p 3387 1578 V 154 1657 a Fa(197)p 270 1691
V 3387 1691 V 154 1770 a(198)p 270 1804 V 150 w Ff(//)g(create)f(the)h
(return)f(object)p 3387 1804 V 154 1883 a Fa(199)p 270
1917 V 150 w Ff(Result)g(=)h(env->NewObject)d
(\(LBigInt,LBigInt_LBigInt,)o(jpR)o(esul)o(t.l,)p 3387
1917 V 154 1996 a Fa(200)p 270 2030 V 245 w Ff(JNI_TRUE\);)p
3387 2030 V 154 2109 a Fa(201)p 270 2143 V 150 w Ff(if)j
(\(handleJavaException)42 b(\(env\)\))p 3387 2143 V 154
2222 a Fa(202)p 270 2256 V 245 w Ff(return)k(NULL;)p
3387 2256 V 154 2335 a Fa(203)p 270 2368 V 3387 2368
V 154 2447 a(204)p 270 2481 V 150 w Ff(//)h(and)g(back)p
3387 2481 V 154 2560 a Fa(205)p 270 2594 V 150 w Ff(return)f(Result;)p
3387 2594 V 154 2673 a Fa(206)p 270 2707 V 54 w Ff(})p
3387 2707 V 154 2786 a Fa(207)p 270 2820 V 3387 2820
V 154 2899 a(208)p 270 2933 V 54 w Ff(/*)p 3387 2933
V 154 3012 a Fa(209)p 270 3046 V 102 w Ff(*)h(Class:)237
b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p 3387
3046 V 154 3125 a Fa(210)p 270 3159 V 102 w Ff(*)47 b(Method:)189
b(public)46 b(LBigInt)g(LgetB\(\))p 3387 3159 V 154 3238
a Fa(211)p 270 3272 V 102 w Ff(*)h(Signature:)e
(\(\)Lcdc/lidia/LBigInt;)p 3387 3272 V 154 3351 a Fa(212)p
270 3385 V 102 w Ff(*/)p 3387 3385 V 154 3464 a Fa(213)p
270 3498 V 54 w Ff(JNIEXPORT)g(jobject)h(JNICALL)p 3387
3498 V 154 3577 a Fa(214)p 270 3610 V 150 w Ff(Java_cdc_lidia_LECDomai)
o(nPar)o(ame)o(ters)o(P136)o(3_L)o(getB)p 3387 3610 V
154 3689 a Fa(215)p 270 3723 V 150 w Ff(\(JNIEnv)f(*env,)i(jobject)f
(jThis\))p 3387 3723 V 154 3802 a Fa(216)p 270 3836 V
54 w Ff({)p 3387 3836 V 154 3915 a Fa(217)p 270 3949
V 150 w Ff(//)h(looks)f(for)h(the)g(EC_domain_parameters_P13)o(63)p
3387 3949 V 154 4028 a Fa(218)p 270 4062 V 150 w Ff(jPointer)e(nThis;)p
3387 4062 V 154 4141 a Fa(219)p 270 4175 V 150 w Ff(nThis.l)g(=)j
(env->GetLongField)43 b(\(jThis,)j(LiDIAObject_nThis\);)p
3387 4175 V 154 4254 a Fa(220)p 270 4288 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3387 4288 V 154
4367 a Fa(221)p 270 4401 V 245 w Ff(return)k(NULL;)p
3387 4401 V 154 4480 a Fa(222)p 270 4514 V 3387 4514
V 154 4593 a(223)p 270 4627 V 150 w Ff(//)h(calculates)p
3387 4627 V 154 4706 a Fa(224)p 270 4740 V 150 w Ff(jobject)e(Result;)p
3387 4740 V 154 4819 a Fa(225)p 270 4852 V 150 w Ff(jPointer)g
(jpResult;)p 3387 4852 V 154 4932 a Fa(226)p 270 4965
V 150 w Ff(bigint)h(*b_Result)f(=)i(new)g(bigint)f
(\(\(\(EC_domain_parameters_P1)o(363)41 b(*\))p 3387
4965 V 154 5044 a Fa(227)p 270 5078 V 245 w Ff
(nThis.p\)->get_b\(\).mantiss)o(a\(\))o(\);)p 3387 5078
V 154 5157 a Fa(228)p 270 5191 V 150 w Ff(jpResult.p)k(=)i(b_Result;)p
3387 5191 V 154 5270 a Fa(229)p 270 5304 V 3387 5304
V 154 5383 a(230)p 270 5417 V 150 w Ff(//)g(creates)f(the)h(return)f
(object)p 3387 5417 V 154 5496 a Fa(231)p 270 5530 V
150 w Ff(Result)g(=)h(env->NewObject)d(\(LBigInt,LBigInt_LBigInt,)o
(jpR)o(esul)o(t.l,)p 3387 5530 V 154 5609 a Fa(232)p
270 5643 V 245 w Ff(JNI_TRUE\);)p 3387 5643 V eop
%%Page: 84 85
84 84 bop 390 82 a Fw(84)1950 b(ANHANG)31 b(C.)61 b(CDC.LIDIA)274
415 y Fa(233)p 390 449 4 113 v 150 w Ff(if)47 b(\(handleJavaException)
42 b(\(env\)\))p 3507 449 V 274 528 a Fa(234)p 390 562
V 245 w Ff(return)k(NULL;)p 3507 562 V 274 641 a Fa(235)p
390 675 V 3507 675 V 274 754 a(236)p 390 788 V 150 w
Ff(//)h(and)g(back)p 3507 788 V 274 867 a Fa(237)p 390
901 V 150 w Ff(return)f(Result;)p 3507 901 V 274 980
a Fa(238)p 390 1014 V 54 w Ff(})p 3507 1014 V 274 1093
a Fa(239)p 390 1126 V 3507 1126 V 274 1205 a(240)p 390
1239 V 54 w Ff(/*)p 3507 1239 V 274 1318 a Fa(241)p 390
1352 V 102 w Ff(*)h(Class:)237 b(cdc_lidia_LECDomainParamet)o(ers)o
(P136)o(3)p 3507 1352 V 274 1431 a Fa(242)p 390 1465
V 102 w Ff(*)47 b(Method:)189 b(public)46 b(LBigInt)g(LgetR\(\))p
3507 1465 V 274 1544 a Fa(243)p 390 1578 V 102 w Ff(*)h(Signature:)e
(\(\)Lcdc/lidia/LBigInt;)p 3507 1578 V 274 1657 a Fa(244)p
390 1691 V 102 w Ff(*/)p 3507 1691 V 274 1770 a Fa(245)p
390 1804 V 54 w Ff(JNIEXPORT)g(jobject)h(JNICALL)p 3507
1804 V 274 1883 a Fa(246)p 390 1917 V 150 w Ff(Java_cdc_lidia_LECDomai)
o(nPar)o(ame)o(ters)o(P136)o(3_L)o(getR)p 3507 1917 V
274 1996 a Fa(247)p 390 2030 V 150 w Ff(\(JNIEnv)f(*env,)i(jobject)f
(jThis\))p 3507 2030 V 274 2109 a Fa(248)p 390 2143 V
54 w Ff({)p 3507 2143 V 274 2222 a Fa(249)p 390 2256
V 150 w Ff(//)h(looks)f(for)h(the)g(EC_domain_parameters_P13)o(63)p
3507 2256 V 274 2335 a Fa(250)p 390 2368 V 150 w Ff(jPointer)e(nThis;)p
3507 2368 V 274 2447 a Fa(251)p 390 2481 V 150 w Ff(nThis.l)g(=)j
(env->GetLongField)43 b(\(jThis,)j(LiDIAObject_nThis\);)p
3507 2481 V 274 2560 a Fa(252)p 390 2594 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3507 2594 V 274
2673 a Fa(253)p 390 2707 V 245 w Ff(return)k(NULL;)p
3507 2707 V 274 2786 a Fa(254)p 390 2820 V 3507 2820
V 274 2899 a(255)p 390 2933 V 150 w Ff(//)h(calculates)p
3507 2933 V 274 3012 a Fa(256)p 390 3046 V 150 w Ff(jobject)e(Result;)p
3507 3046 V 274 3125 a Fa(257)p 390 3159 V 150 w Ff(jPointer)g
(jpResult;)p 3507 3159 V 274 3238 a Fa(258)p 390 3272
V 150 w Ff(bigint)h(*b_Result)f(=)i(new)g(bigint)f
(\(\(\(EC_domain_parameters_P1)o(363)41 b(*\))p 3507
3272 V 274 3351 a Fa(259)p 390 3385 V 293 w Ff(nThis.p\)->get_r\(\)\);)
p 3507 3385 V 274 3464 a Fa(260)p 390 3498 V 150 w Ff(jpResult.p)k(=)i
(b_Result;)p 3507 3498 V 274 3577 a Fa(261)p 390 3610
V 3507 3610 V 274 3689 a(262)p 390 3723 V 150 w Ff(//)g(creates)f(the)h
(return)f(object)p 3507 3723 V 274 3802 a Fa(263)p 390
3836 V 150 w Ff(Result)g(=)h(env->NewObject)d
(\(LBigInt,LBigInt_LBigInt,)o(jpR)o(esul)o(t.l,)p 3507
3836 V 274 3915 a Fa(264)p 390 3949 V 245 w Ff(JNI_TRUE\);)p
3507 3949 V 274 4028 a Fa(265)p 390 4062 V 150 w Ff(if)j
(\(handleJavaException)42 b(\(env\)\))p 3507 4062 V 274
4141 a Fa(266)p 390 4175 V 245 w Ff(return)k(NULL;)p
3507 4175 V 274 4254 a Fa(267)p 390 4288 V 3507 4288
V 274 4367 a(268)p 390 4401 V 150 w Ff(//)h(and)g(back)p
3507 4401 V 274 4480 a Fa(269)p 390 4514 V 150 w Ff(return)f(Result;)p
3507 4514 V 274 4593 a Fa(270)p 390 4627 V 54 w Ff(})p
3507 4627 V 274 4706 a Fa(271)p 390 4740 V 3507 4740
V 274 4819 a(272)p 390 4852 V 54 w Ff(/*)p 3507 4852
V 274 4932 a Fa(273)p 390 4965 V 102 w Ff(*)h(Class:)237
b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p 3507
4965 V 274 5044 a Fa(274)p 390 5078 V 102 w Ff(*)47 b(Method:)189
b(public)46 b(LBigInt)g(LgetK\(\))p 3507 5078 V 274 5157
a Fa(275)p 390 5191 V 102 w Ff(*)h(Signature:)e
(\(\)Lcdc/lidia/LBigInt;)p 3507 5191 V 274 5270 a Fa(276)p
390 5304 V 102 w Ff(*/)p 3507 5304 V 274 5383 a Fa(277)p
390 5417 V 54 w Ff(JNIEXPORT)g(jobject)h(JNICALL)p 3507
5417 V 274 5496 a Fa(278)p 390 5530 V 150 w Ff(Java_cdc_lidia_LECDomai)
o(nPar)o(ame)o(ters)o(P136)o(3_L)o(getK)p 3507 5530 V
274 5609 a Fa(279)p 390 5643 V 150 w Ff(\(JNIEnv)f(*env,)i(jobject)f
(jThis\))p 3507 5643 V eop
%%Page: 85 86
85 85 bop 270 82 a Fw(C.2.)61 b(LECDomainP)m(arametersP1363)33
b(\(C++-Co)s(de\))1074 b(85)154 415 y Fa(280)p 270 449
4 113 v 54 w Ff({)p 3387 449 V 154 528 a Fa(281)p 270
562 V 150 w Ff(//)47 b(looks)f(for)h(the)g(EC_domain_parameters_P13)o
(63)p 3387 562 V 154 641 a Fa(282)p 270 675 V 150 w Ff(jPointer)e
(nThis;)p 3387 675 V 154 754 a Fa(283)p 270 788 V 150
w Ff(nThis.l)g(=)j(env->GetLongField)43 b(\(jThis,)j
(LiDIAObject_nThis\);)p 3387 788 V 154 867 a Fa(284)p
270 901 V 150 w Ff(if)h(\(handleJavaException)42 b(\(env\)\))p
3387 901 V 154 980 a Fa(285)p 270 1014 V 245 w Ff(return)k(NULL;)p
3387 1014 V 154 1093 a Fa(286)p 270 1126 V 3387 1126
V 154 1205 a(287)p 270 1239 V 150 w Ff(//)h(calculates)p
3387 1239 V 154 1318 a Fa(288)p 270 1352 V 150 w Ff(jobject)e(Result;)p
3387 1352 V 154 1431 a Fa(289)p 270 1465 V 150 w Ff(jPointer)g
(jpResult;)p 3387 1465 V 154 1544 a Fa(290)p 270 1578
V 150 w Ff(bigint)h(*b_Result)f(=)i(new)g(bigint)f
(\(\(\(EC_domain_parameters_P1)o(363)41 b(*\))p 3387
1578 V 154 1657 a Fa(291)p 270 1691 V 245 w Ff(nThis.p\)->get_k\(\)\);)
p 3387 1691 V 154 1770 a Fa(292)p 270 1804 V 150 w Ff(jpResult.p)k(=)i
(b_Result;)p 3387 1804 V 154 1883 a Fa(293)p 270 1917
V 3387 1917 V 154 1996 a(294)p 270 2030 V 150 w Ff(//)g(creates)f(the)h
(return)f(object)p 3387 2030 V 154 2109 a Fa(295)p 270
2143 V 150 w Ff(Result)g(=)h(env->NewObject)d
(\(LBigInt,LBigInt_LBigInt,)o(jpR)o(esul)o(t.l,)p 3387
2143 V 154 2222 a Fa(296)p 270 2256 V 245 w Ff(JNI_TRUE\);)p
3387 2256 V 154 2335 a Fa(297)p 270 2368 V 150 w Ff(if)j
(\(handleJavaException)42 b(\(env\)\))p 3387 2368 V 154
2447 a Fa(298)p 270 2481 V 245 w Ff(return)k(NULL;)p
3387 2481 V 154 2560 a Fa(299)p 270 2594 V 3387 2594
V 154 2673 a(300)p 270 2707 V 150 w Ff(//)h(and)g(back)p
3387 2707 V 154 2786 a Fa(301)p 270 2820 V 150 w Ff(return)f(Result;)p
3387 2820 V 154 2899 a Fa(302)p 270 2933 V 54 w Ff(})p
3387 2933 V 154 3012 a Fa(303)p 270 3046 V 3387 3046
V 154 3125 a(304)p 270 3159 V 54 w Ff(/*)p 3387 3159
V 154 3238 a Fa(305)p 270 3272 V 102 w Ff(*)h(Class:)237
b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p 3387
3272 V 154 3351 a Fa(306)p 270 3385 V 102 w Ff(*)47 b(Method:)189
b(public)46 b(LBigInt)g(LgetX\(\))p 3387 3385 V 154 3464
a Fa(307)p 270 3498 V 102 w Ff(*)h(Signature:)e
(\(\)Lcdc/lidia/LBigInt;)p 3387 3498 V 154 3577 a Fa(308)p
270 3610 V 102 w Ff(*/)p 3387 3610 V 154 3689 a Fa(309)p
270 3723 V 54 w Ff(JNIEXPORT)g(jobject)h(JNICALL)p 3387
3723 V 154 3802 a Fa(310)p 270 3836 V 150 w Ff(Java_cdc_lidia_LECDomai)
o(nPar)o(ame)o(ters)o(P136)o(3_L)o(getX)p 3387 3836 V
154 3915 a Fa(311)p 270 3949 V 150 w Ff(\(JNIEnv)f(*env,)i(jobject)f
(jThis\))p 3387 3949 V 154 4028 a Fa(312)p 270 4062 V
54 w Ff({)p 3387 4062 V 154 4141 a Fa(313)p 270 4175
V 150 w Ff(//)h(looks)f(for)h(the)g(EC_domain_parameters_P13)o(63)p
3387 4175 V 154 4254 a Fa(314)p 270 4288 V 150 w Ff(jPointer)e(nThis;)p
3387 4288 V 154 4367 a Fa(315)p 270 4401 V 150 w Ff(nThis.l)g(=)j
(env->GetLongField)43 b(\(jThis,)j(LiDIAObject_nThis\);)p
3387 4401 V 154 4480 a Fa(316)p 270 4514 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3387 4514 V 154
4593 a Fa(317)p 270 4627 V 245 w Ff(return)k(NULL;)p
3387 4627 V 154 4706 a Fa(318)p 270 4740 V 3387 4740
V 154 4819 a(319)p 270 4852 V 150 w Ff(//)h(calculates)p
3387 4852 V 154 4932 a Fa(320)p 270 4965 V 150 w Ff(jobject)e(Result;)p
3387 4965 V 154 5044 a Fa(321)p 270 5078 V 150 w Ff(jPointer)g
(jpResult;)p 3387 5078 V 154 5157 a Fa(322)p 270 5191
V 150 w Ff(bigint)h(*b_Result)f(=)i(new)g(bigint)f
(\(\(\(EC_domain_parameters_P1)o(363)41 b(*\))p 3387
5191 V 154 5270 a Fa(323)p 270 5304 V 245 w Ff
(nThis.p\)->get_x\(\).mantiss)o(a\(\))o(\);)p 3387 5304
V 154 5383 a Fa(324)p 270 5417 V 150 w Ff(jpResult.p)k(=)i(b_Result;)p
3387 5417 V 154 5496 a Fa(325)p 270 5530 V 3387 5530
V 154 5609 a(326)p 270 5643 V 150 w Ff(//)g(creates)f(the)h(return)f
(object)p 3387 5643 V eop
%%Page: 86 87
86 86 bop 390 82 a Fw(86)1950 b(ANHANG)31 b(C.)61 b(CDC.LIDIA)274
415 y Fa(327)p 390 449 4 113 v 150 w Ff(Result)46 b(=)h(env->NewObject)
d(\(LBigInt,LBigInt_LBigInt,)o(jpR)o(esul)o(t.l,)p 3507
449 V 274 528 a Fa(328)p 390 562 V 245 w Ff(JNI_TRUE\);)p
3507 562 V 274 641 a Fa(329)p 390 675 V 150 w Ff(if)j
(\(handleJavaException)42 b(\(env\)\))p 3507 675 V 274
754 a Fa(330)p 390 788 V 245 w Ff(return)k(NULL;)p 3507
788 V 274 867 a Fa(331)p 390 901 V 3507 901 V 274 980
a(332)p 390 1014 V 150 w Ff(//)h(and)g(back)p 3507 1014
V 274 1093 a Fa(333)p 390 1126 V 150 w Ff(return)f(Result;)p
3507 1126 V 274 1205 a Fa(334)p 390 1239 V 54 w Ff(})p
3507 1239 V 274 1318 a Fa(335)p 390 1352 V 3507 1352
V 274 1431 a(336)p 390 1465 V 54 w Ff(/*)p 3507 1465
V 274 1544 a Fa(337)p 390 1578 V 102 w Ff(*)h(Class:)237
b(cdc_lidia_LECDomainParamet)o(ers)o(P136)o(3)p 3507
1578 V 274 1657 a Fa(338)p 390 1691 V 102 w Ff(*)47 b(Method:)189
b(public)46 b(LBigInt)g(LgetY\(\))p 3507 1691 V 274 1770
a Fa(339)p 390 1804 V 102 w Ff(*)h(Signature:)e
(\(\)Lcdc/lidia/LBigInt;)p 3507 1804 V 274 1883 a Fa(340)p
390 1917 V 102 w Ff(*/)p 3507 1917 V 274 1996 a Fa(341)p
390 2030 V 54 w Ff(JNIEXPORT)g(jobject)h(JNICALL)p 3507
2030 V 274 2109 a Fa(342)p 390 2143 V 150 w Ff(Java_cdc_lidia_LECDomai)
o(nPar)o(ame)o(ters)o(P136)o(3_L)o(getY)p 3507 2143 V
274 2222 a Fa(343)p 390 2256 V 150 w Ff(\(JNIEnv)f(*env,)i(jobject)f
(jThis\))p 3507 2256 V 274 2335 a Fa(344)p 390 2368 V
54 w Ff({)p 3507 2368 V 274 2447 a Fa(345)p 390 2481
V 150 w Ff(//)h(looks)f(for)h(the)g(EC_domain_parameters_P13)o(63)p
3507 2481 V 274 2560 a Fa(346)p 390 2594 V 150 w Ff(jPointer)e(nThis;)p
3507 2594 V 274 2673 a Fa(347)p 390 2707 V 150 w Ff(nThis.l)g(=)j
(env->GetLongField)43 b(\(jThis,)j(LiDIAObject_nThis\);)p
3507 2707 V 274 2786 a Fa(348)p 390 2820 V 150 w Ff(if)h
(\(handleJavaException)42 b(\(env\)\))p 3507 2820 V 274
2899 a Fa(349)p 390 2933 V 245 w Ff(return)k(NULL;)p
3507 2933 V 274 3012 a Fa(350)p 390 3046 V 3507 3046
V 274 3125 a(351)p 390 3159 V 150 w Ff(//)h(calculates)p
3507 3159 V 274 3238 a Fa(352)p 390 3272 V 150 w Ff(jobject)e(Result;)p
3507 3272 V 274 3351 a Fa(353)p 390 3385 V 150 w Ff(jPointer)g
(jpResult;)p 3507 3385 V 274 3464 a Fa(354)p 390 3498
V 150 w Ff(bigint)h(*b_Result)f(=)i(new)g(bigint)f
(\(\(\(EC_domain_parameters_P1)o(363)41 b(*\))p 3507
3498 V 274 3577 a Fa(355)p 390 3610 V 245 w Ff
(nThis.p\)->get_y\(\).mantiss)o(a\(\))o(\);)p 3507 3610
V 274 3689 a Fa(356)p 390 3723 V 150 w Ff(jpResult.p)k(=)i(b_Result;)p
3507 3723 V 274 3802 a Fa(357)p 390 3836 V 3507 3836
V 274 3915 a(358)p 390 3949 V 150 w Ff(//)g(creates)f(the)h(return)f
(object)p 3507 3949 V 274 4028 a Fa(359)p 390 4062 V
150 w Ff(Result)g(=)h(env->NewObject)d(\(LBigInt,LBigInt_LBigInt,)o
(jpR)o(esul)o(t.l,)p 3507 4062 V 274 4141 a Fa(360)p
390 4175 V 245 w Ff(JNI_TRUE\);)p 3507 4175 V 274 4254
a Fa(361)p 390 4288 V 150 w Ff(if)j(\(handleJavaException)42
b(\(env\)\))p 3507 4288 V 274 4367 a Fa(362)p 390 4401
V 245 w Ff(return)k(NULL;)p 3507 4401 V 274 4480 a Fa(363)p
390 4514 V 3507 4514 V 274 4593 a(364)p 390 4627 V 150
w Ff(//)h(and)g(back)p 3507 4627 V 274 4706 a Fa(365)p
390 4740 V 150 w Ff(return)f(Result;)p 3507 4740 V 274
4819 a Fa(366)p 390 4852 V 54 w Ff(})p 3507 4852 V 390
4877 4 25 v 3507 4877 V 390 4880 3120 4 v eop
%%Page: 87 88
87 87 bop 270 1084 a Fv(Literaturv)-6 b(erzeic)g(hnis)270
1534 y Fw([Buc99])81 b Ft(Buchmann,)38 b(Johannes)p Fw(:)33
b Fu(Einf)1839 1538 y(\177)1839 1534 y(uhrung)k(in)g(die)h(Krypto)-5
b(gr)g(aphie)p Fw(.)58 b(Springer)646 1647 y(V)-8 b(erlag,)32
b(Berlin,)d(1999.)270 1853 y([Bur94])85 b Ft(Bur)-6 b(ton,)35
b(D)m(a)-8 b(vid)36 b(M.)p Fw(:)c Fu(Elementary)j(Numb)-5
b(er)33 b(The)-5 b(ory)p Fw(.)47 b(W)m(CB)32 b(Publishers,)646
1966 y(Dubuque,)e(USA,)g(3.)h(Auflage,)g(1994.)270 2172
y([Ham98])47 b Ft(Hamd)n(y,)28 b(Safua)-6 b(t)p Fw(:)23
b Fu(A)n(nnotationes)28 b(De)f(R)-5 b(ationibus)29 b(Cryptolo)-5
b(giae)p Fw(.)34 b(Diplom-)646 2285 y(arb)s(eit,)21 b(Univ)m(ersit)1291
2289 y(\177)1291 2285 y(at)g(Ham)m(burg,)g(F)-8 b(ac)m(h)m(b)s(ereic)m
(h)22 b(Informatik,)f(No)m(v)m(em)m(b)s(er)h(1998.)270
2491 y([Hen99])77 b Ft(Henhapl,)39 b(Bir)n(git)p Fw(:)d
Fu(Digitales)i(Signier)-5 b(en)38 b(mit)f(el)5 b(liptischen)39
b(Kurven)3224 2495 y(\177)3224 2491 y(ub)-5 b(er)646
2604 y(Primk)889 2608 y(\177)890 2604 y(orp)g(ern)p Fw(.)32
b(Diplomarb)s(eit,)22 b(T)-8 b(ec)m(hnisc)m(he)24 b(Univ)m(ersit)2593
2608 y(\177)2593 2604 y(at)f(Darmstadt,)i(F)-8 b(ac)m(h-)646
2717 y(b)s(ereic)m(h)30 b(Mathematik,)h(Oktob)s(er)f(1999.)270
2923 y([Hus87])81 b Ft(Husem)941 2919 y(\177)937 2923
y(oller,)44 b(D)m(ale)p Fw(:)e Fu(El)5 b(liptic)43 b(Curves)p
Fw(.)75 b(Springer)39 b(V)-8 b(erlag,)43 b(New)f(Y)-8
b(ork,)646 3036 y(1987.)270 3242 y([ISD98])83 b Ft(IEEE)37
b(St)-6 b(and)n(ards)33 b(Dep)-6 b(ar)g(tment,)33 b(Pisca)-6
b(t)g(a)e(w)g(a)i(y,)34 b(USA)p Fw(:)d Fu(IEEE)h(P1363)646
3355 y(/)40 b(D8)f(Standar)-5 b(d)42 b(Sp)-5 b(e)g(ci\014c)g(ations)41
b(for)f(Public)e(Key)h(Crypto)-5 b(gr)g(aphy)p Fw(,)41
b(Oktob)s(er)646 3468 y(1998.)270 3674 y([Kn)m(u98])66
b Ft(Knudsen,)39 b(Jona)-6 b(than)p Fw(:)34 b Fu(JA)-9
b(V)g(A)36 b(Crypto)-5 b(gr)g(aphy)p Fw(.)62 b(O'Reilly)34
b(&)i(Asso)s(ciates,)646 3787 y(Sebastop)s(ol,)30 b(USA,)h(1998.)270
3994 y([Kob94])69 b Ft(K)m(oblitz,)53 b(Neal)p Fw(:)48
b Fu(A)h(Course)i(in)e(Numb)-5 b(er)50 b(The)-5 b(ory)51
b(and)g(Crypto)-5 b(gr)g(aphy)p Fw(.)646 4106 y(Springer)28
b(V)-8 b(erlag,)32 b(New)e(Y)-8 b(ork,)31 b(2.)g(Au\015age,)h(1994.)270
4313 y([LiD99])84 b Ft(LiDIA-Gr)n(oup)p Fw(,)21 b(T)-8
b(ec)m(hnisc)m(he)21 b(Univ)m(ersit)2107 4317 y(\177)2107
4313 y(at)f(Darmstadt,)h(F)-8 b(ac)m(h)m(b)s(ereic)m(h)22
b(Infor-)646 4426 y(matik,)34 b(Institut)f(f)1301 4430
y(\177)1298 4426 y(ur)f(Theoretisc)m(he)i(Informatik:)f
Fu(LiDIA-Manual)p Fw(,)g(F)-8 b(ebruar)646 4539 y(1999.)270
4745 y([Men93])62 b Ft(Menezes,)23 b(Alfred)h(J.)p Fw(:)d
Fu(El)5 b(liptic)24 b(Curve)g(Public)g(Key)g(Cryptosystems)p
Fw(.)k(Klu-)646 4858 y(w)m(er)j(Academic)f(Publishers,)e(Boston,)j
(1993.)270 5064 y([M)381 5068 y(\177)378 5064 y(u95])102
b Ft(M)739 5060 y(\177)736 5064 y(uller,)25 b(V)m(olker)p
Fw(:)e Fu(Die)i(Ber)-5 b(e)g(chnung)26 b(der)h(Punktanzahl)g(el)5
b(liptischer)26 b(Kur-)646 5177 y(ven)805 5181 y(\177)805
5177 y(ub)-5 b(er)23 b(end)5 b(lichen)24 b(K)1463 5181
y(\177)1464 5177 y(orp)-5 b(ern)26 b(der)e(Char)-5 b(akteristik)26
b(gr)2554 5181 y(\177)2555 5177 y(o\031er)e(3)p Fw(.)h(Doktorarb)s
(eit,)646 5290 y(Univ)m(ersit)1009 5294 y(\177)1009 5290
y(at)30 b(des)g(Saarlandes,)g(Saarbr)2024 5294 y(\177)2021
5290 y(uc)m(k)m(en,)g(1995.)270 5496 y([Oak98])72 b Ft(O)m(aks,)45
b(Scott)p Fw(:)40 b Fu(JA)-9 b(V)g(A)40 b(Se)-5 b(curity)p
Fw(.)72 b(O'Reilly)39 b(&)i(Asso)s(ciates,)g(Sebastop)s(ol,)646
5609 y(USA,)31 b(1998.)1785 5858 y(87)p eop
%%Page: 88 89
88 88 bop 390 82 a Fw(88)1862 b(LITERA)-8 b(TUR)e(VERZEICHNIS)390
415 y([PM98])91 b Ft(P)-8 b(a)n(ulus,)39 b(Sa)n(char)34
b Fw(und)g Ft(V)m(olker)39 b(M)2172 411 y(\177)2169 415
y(uller)p Fw(:)34 b Fu(Zur)j(Erzeugung)g(krypto)-5 b(gr)g(a-)766
528 y(phisch)30 b(starker)g(El)5 b(liptischer)29 b(Kurven)p
Fw(.)34 b(Datensc)m(h)m(utz)28 b(und)d(Datensic)m(herheit,)766
641 y(Septem)m(b)s(er)30 b(1998.)390 829 y([Ros99])88
b Ft(R)m(osing,)30 b(Michael)p Fw(:)c Fu(Implementing)k(El)5
b(liptic)29 b(Curve)f(Crypto)-5 b(gr)g(aphy)p Fw(.)38
b(Man-)766 941 y(ning)29 b(Publications,)g(Green)m(wic)m(h,)h(1999.)390
1129 y([Sc)m(h95])97 b Ft(Schoof,)40 b(Ren)1346 1121
y(\023)1346 1129 y(e)p Fw(:)35 b Fu(Counting)k(p)-5 b(oints)40
b(of)f(el)5 b(liptic)39 b(curves)f(over)g(\014nite)h(\014elds)p
Fw(.)766 1242 y(Journal)27 b(de)i(th)m(\023)-43 b(eorie)30
b(des)e(nom)m(bres)h(de)f(Bordeaux)h(7,)h(Seiten)e(219{254,)k(1995.)390
1430 y([Sil86])133 b Ft(Sil)-8 b(verman,)30 b(Joseph)f(H.)p
Fw(:)f Fu(The)i(A)n(rithmetic)g(of)g(El)5 b(liptic)30
b(Curves)p Fw(.)36 b(Springer)766 1543 y(V)-8 b(erlag,)32
b(New)e(Y)-8 b(ork,)31 b(1986.)390 1730 y([Sti95])124
b Ft(Stinson,)38 b(Douglas)g(R.)p Fw(:)d Fu(Crypto)-5
b(gr)g(aphy)41 b({)c(The)-5 b(ory)39 b(and)e(Pr)-5 b(actic)g(e)p
Fw(.)55 b(CR)m(C)766 1843 y(Press,)30 b(Bo)s(ca)i(Raton,)f(USA,)g
(1995.)p eop
%%Page: 89 90
89 89 bop 270 415 a Fe(Erkl)480 420 y(\177)481 415 y(arung)270
567 y Fw(Hiermit)38 b(v)m(ersic)m(here)i(ic)m(h,)f(da\031)h(ic)m(h)e
(die)h(v)m(orliegende)g(Diplomarb)s(eit)e(selbst)2983
571 y(\177)2983 567 y(andig)g(und)270 680 y(n)m(ur)29
b(mit)h(den)g(angegeb)s(enen)h(Hilfsmitteln)c(angefertigt)k(hab)s(e.)
270 793 y(Ic)m(h)38 b(bin)f(damit)h(ein)m(v)m(erstanden,)g(da\031)g
(der)g(Betreuer)h(meiner)e(Diplomarb)s(eit)f(diese)i(zu)270
906 y(wissensc)m(haftlic)m(hen)33 b(Zw)m(ec)m(k)m(en)k(w)m(eitergibt)e
(und)f(ein)g(Exemplar)g(zum)h(Zw)m(ec)m(k)h(der)f(Ein-)270
1019 y(sic)m(h)m(tnahme)30 b(in)f(die)h(Bibliothek)e(eingestellt)i
(wird.)2219 1623 y(Darmstadt,)h(29.)g(Oktob)s(er)f(1999)p
eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
Event Timeline
Log In to Comment