%!PS-Adobe-2.0
%%Creator: dvips(k) 5.85 Copyright 1999 Radical Eye Software
%%Title: UsingLibical.dvi
%%Pages: 10
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -t letter -o
%+ /usr/local/home/eric/proj/FreeAssociation/libical/doc/UsingLibical.ps
%+ UsingLibical.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource: TeX output 2000.06.10:1815
%%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
TeXDict begin 40258431 52099146 1000 600 600 (UsingLibical.dvi)
@start
%DVIPSBitmapFont: Fa ecrm0600 6 1
/Fa 1 50 df<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>49
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb ecbx1000 10 55
/Fb 55 122 df<913A03FF8007FE027F9039F07FFF800103B500FDB512E0010F903A00FF
FE0FF0D93FF8ECF81F90267FE0019038F03FF849485A4816E014804816C00200ED1FF081
F007C06F91C7FCA8B912E0A4000390C701C0C7FCB3ABB5D8FC3FEBFF80A43D3A7EB938>
27 D<12E07E127C7E7E7F6C7E6C7E12037F6C7E7F12007F137E137FA2EB3F80A214C013
1F14E0A2130F14F0A4EB07F8A514FCB114F8A5EB0FF0A414E0131FA214C0133F1480A2EB
7F00A2137E13FE5B12015B485A5B1207485A485A90C7FC123E5A12F05A16537BBD25>41
D<B61280A819087F9620>45 D<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F
800D0D798C1B>I<49B4FC011F13F0017F13FC9038FF83FE4848C67E4848EB7F804848EB
3FC04848EB1FE0A2001F15F0A24848EB0FF8A3007F15FCA400FF15FEB3007F15FCA5003F
15F86D131FA2001F15F0A26C6CEB3FE0000715C06C6CEB7F806C6CEBFF003900FF83FE6D
B45A011F13F0010190C7FC27377CB530>48 D<141E143E14FE1307137FB5FCA3138FEA00
0FB3B3A5007FB61280A4213679B530>I<EB0FFE90387FFFC048B512F0000714FC390FE0
3FFF261F800F1380263F000313C0D87F8014E0EBE00100FF6D13F07FA2ED7FF8A46C5A6C
5A0006C7FCC8FCEDFFF0A216E05C16C04A138016004A5A4A5AEC1FF05D4A5A4AC7FC14FE
495AD903F01378495A495A495A49C712F8017C14F05B49130148B6FC5A5A5A5A5A4815E0
B7FCA425367BB530>I<EB03FF011F13F0017F13FC3901FC07FF2603F003138048486C13
C0496C13E0EA0FF86D14F0487EA66C4814E06C5A6C485AC714C04A138016004A5A4A5AEC
3FF090380FFFC05D15F090380007FE913801FF806E13C016E0ED7FF016F8ED3FFCA216FE
EA1FC0487E487E487EA416FCA249137F007F15F801C0EBFFF06C5A6C6C4813E0260FFC07
13806CB61200000114FC6C6C13F0010790C7FC27377CB530>I<ED07C0150FA2151F153F
157F15FF5CA25C5C5C5C143E143C5C5C1301495A5C495A495A5B133E5B13785B485A1203
485A5B48C7FC121E5A127C5AB81280A4C70001EBC000AA0103B61280A429367DB530>I<
001C15C0D81F80130701F8137F90B61280A216005D5D15F05D15804AC7FC14F090C9FCA7
EB03FE90381FFFE0017F13F89038FE07FC9038F003FFD9C0011380496C13C090C7FC000E
15E0C8127F16F0A216F8A3121FEA3FC0487E12FF7FA316F05B15FFD87F8014E0007EC713
C0003E5B003F4913806C6C481300390FF01FFE6CB512F8000114E06C6C1380D90FF8C7FC
25377BB530>I<EC0FF8ECFFFE0103EBFF8090390FF80FC090393FE003E090397F8001F0
9038FF000F48EC1FF84848133F485A120F5B121FA2003FEC1FF0ED0FE0484890C7FCA314
08EC7FF039FFF1FFFC01F313FFD9F78013809039FF007FC049EB3FE04914F0ED1FF85B16
FCA34914FEA4127FA5123F16FCA26C7E16F8000F143F6D14F0000715E06C6CEB7FC03A01
FF81FF806C90B51200013F13FC010F13F00101138027377CB530>I<123C123EEA3FE090
B71280A41700485D5E5E5E5EA2007CC7EA0FC000784A5A4BC7FC00F8147E485C5D14014A
5AC7485A4A5AA24A5A143F4AC8FCA214FEA213015C1303A21307A2130F5CA2131FA5133F
A96D5A6D5A6D5A29397BB730>I<49B47E010F13F0013F13FC9038FE01FF3A01F8007F80
4848EB3FC04848EB1FE0150F484814F01507121FA27F7F7F6D130F01FF14E014C09138E0
1FC06CEBF83F9138FE7F806C9038FFFE005D6C14F06C14FC6C14FF6D14806D14C090B612
E0D803FD14F02607F07F13F848487E261FC00F13FC383F8003007F010013FE90C7127F15
1F00FE140715031501A21500A216FC7E6C14016D14F86C6C13036DEB07F06C6CEB0FE0D8
0FFEEB7FC00003B61200C614FC013F13F00103138027377CB530>I<EB03FF011F13E001
7F13F83901FF01FE48486C7E4848EB7F80484814C0001FEC3FE0485AED1FF0127F16F8A2
12FF16FCA416FEA5007F143FA3123F157F6C7E000F14FF6C6C5A3903FE03DF6CB5129F6C
6C131FD91FFC13FCEB00201400A3D80FE0EB3FF8487E486C14F0A216E0157F16C0EDFF80
495A6C4848130090388007FE390FE01FF86CB55A6C14C0C691C7FCEB1FF027377CB530>
I<DB3FFCEB01C00203B5EAC003021FECF00791B6EAFC0F01039039FC00FF3F4901C0EB1F
FFD91FFEC77E49481403D97FF080494880485B48177F4849153F4890C9FC181F485A180F
123F5B1807127FA24993C7FC12FFAD127F7FF003C0123FA27F001F1707A26C6C1780180F
6C6D16006C6D5D6C173E6C6D157ED97FF85D6D6C4A5A6DB44A5A010701C0EB0FE06D01FC
EBFF80010090B548C7FC021F14F8020314E09126003FFEC8FC3A3B7BB945>67
D<B87E17F817FF18C028007FF8000713F09338007FF8EF1FFE717E050313807113C0A271
13E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19FEA419FC183FA219F8187F19F0F0
FFE0A24D13C04D13804D1300EF1FFEEF7FFC933807FFF0B912C095C7FC17FC178040397D
B849>I<B912F0A426007FF8C7FCEF1FF8170717031701A21700A21878A3043C137C183C
A41800167CA216FC150391B5FCA4ECF8031500167CA2163C180FA3181EA293C7FCA2183E
A2183C187CA218FCA2EF01F81703170F173FEE01FFB9FC18F0A338397DB83F>I<B912C0
A43A007FF800039338007FE0171F170F1707A21703A21701A318F0EE7800A41800A216F8
A21501150791B5FCA4ECF80715011500A21678A693C8FCADB7FCA434397DB83C>I<DB3F
FCEB01C00203B5EAC003021FECF00791B6EAFC0F01039039FC00FF3F4901C0EB1FFFD91F
FEC77E49481403D97FF080494880485B48177F4849153F4890C9FC181F485A180F123F5B
1807127FA24993C8FC12FFAB043FB61280A2127F7FDC0003EBC000123FA27F121FA26C7E
A26C7F6C7F6C7F7ED97FF85C6D7E6DB45C010701C05B6D01FCEBFF3F010090B5EAFE0F02
1FECF8030203ECE0009126003FFEC9FC413B7BB94B>I<B612FCA439007FF800B3B3ADB6
12FCA41E397DB824>73 D<B7FCA426007FF8C9FCB3ACEF0780A5170F1800A35FA25FA25F
5F5E5EEE0FFE167FB8FCA431397DB839>76 D<B500F80403B512F06E5EA26E5ED8007FF1
E000A2D97BFF161EA201796D5DA201786D5DA26E6C5DA36E6C4A5AA26E6C4A5AA26E6C4A
5AA26E6C4A5AA26E6C141EA36E6D5BA26E6D5BA26F6C5BA26F6C485AA36F6C485AA26F6C
485AA26F6C48C7FCA2923803FF1EA36F13BCA26F13F8A2705AA2705AA213FCB500FC6D48
48B612F0A2EE0F80EE070054397DB85B>I<EDFFF8020FEBFF80027F14F0903A01FFC01F
FC010790380007FFD91FFC010113C0D93FF06D6C7E49486E7E49486E7E48496E7E488348
90C86C7EA248486F1380A248486F13C0A2003F18E0A348486F13F0A400FF18F8AC007F18
F06D5DA3003F18E0A26D5D001F18C0A26C6C4B13806C18006E5C6C6D4A5A6C5F6C6D4A5A
6D6C4A5AD93FFC49485A6DB401075B0107D9C01F90C7FC010190B512FC6D6C14F0020F14
80020001F8C8FC3D3B7BB948>79 D<B8FC17F017FEEFFF8028007FF8000F13C0040113E0
7013F0EF7FF8EF3FFCA2EF1FFEA218FFA818FEA2EF3FFCA2EF7FF8EFFFF04C13E0040F13
C091B7120017FC17E002F8C9FCB3A4B612FCA438397DB841>I<B712FCEEFFE017FC17FF
28007FF8000F13C004017F707F717E717EA2717EA284A760A24D5A604D5A4D5A04035B04
1F90C8FC91B612FC17E0839139F8003FFCEE0FFF707F707F8284A2707FA584A51A601AF0
84177F1901DD3FFE13E0B600FC011F130394390FFF87C071EBFF8005011400CBEA1FFC44
3A7DB848>82 D<D907FF130E013FEBE01E90B5EAF83E0003ECFE7E3A07FC01FFFE390FF0
001F4848130F48481303491301007F140090C8FC167E5A163EA27F161E7F7F6D91C7FC13
FC387FFFE014FEECFFF06C14FE6F7E6C816C15F06C816C81C681133F010F801301D9000F
1480EC007F030F13C01503818100F0157FA3163FA27E17807E167F6C16007E6D14FE01E0
495A01F813039039FF801FF800FC90B512E0D8F83F5CD8F00749C7FC39E0007FF02A3B7B
B935>I<003FB91280A4D9F800EBF003D87FC09238007FC049161F007EC7150FA2007C17
07A200781703A400F818E0481701A4C892C7FCB3AE010FB7FCA43B387DB742>I<B600FC
011FB512C0A426007FF8C8381FC000725AB3B3181F013F94C7FC8060011F163E6D6C157E
187C6D6C15FC6D6D495A6D6DEB07F06D01F0EB1FE0DA7FFEEBFFC0021FB6C8FC02075C02
0014F0030F1380423A7DB849>I<B600F00103B512E0A4C601F0C83807F0006E5E017F5F
6E150FA2013F5F6E151F011F94C7FC6E5D6D163E6F147E6D167CA26F14FC6D5E6F13016D
5E6F13036D5E811707027F5D6F130F023F5D6F131F021F92C8FC815F6E143EEE807E6E14
7CEEC0FC6E5C16E016E16E5C16F36E5C16FF6F5BA36F5BA26F90C9FCA26F5AA36F5AA26F
5AA26F5A433A7EB848>I<B6D8E01FB500FC90383FFFFCA4000101F0C7D83FFCC8EA7E00
6C71153C171F6E197C017F701578836E7014F8013F6F5E6E1801011F4B6D5CA26E18036D
4B6D5CA26D6D496D495A173C6F170F6D037C6D91C7FCEF787F6F5F6D4B6C6C131E816D02
016E5BEFE01F03F8177C027F01036E13784D7E03FCEE80F8023F49486C5C15FE021F010F
EDC1E04D7E03FF16C36E49EDE3C0041E7F049E15F76E01BC6D5C04FC15FF6E95C8FC4C80
A26E5F4C143F6E5F4C141FA2037F5E4C140FA26F486E5AA2031F5E93C812036F5E5E3A7E
B863>I<007FB5D8F803B512F8A4C66C48C7D80FF0C7FC6D6C5D6D5E6F495A6D6D49C8FC
7F6D6D137E6F5B6DEBF8016D5D6F485A6E6C485A023F130FDA1FFF5BEE9F806E01FFC9FC
805E6E5B6E5B80826F7E153F826F7F5D4B7F92B57EA2DA01F97FDA03F17F03F07F913807
E07FDA0FC07F021F6D7E4B7E4A486C7F027E8102FE6D7F4A7F49488149486D7F0107804A
6E7E49488149486E7E013F81017F83B60107B61280A441397DB848>I<EB3FFE0003B512
E0000F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A6C5AEA0380C8FCA2EC3F
FF010FB5FC137F3901FFF87F00071380380FFE00EA3FF85B485A12FF5BA415FF6D5A127F
263FF00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003FE0032A257DA42E>97
D<13FFB5FCA412077EAF4AB47E020F13F0023F13FC9138FE03FFDAF00013804AEB7FC002
80EB3FE091C713F0EE1FF8A217FC160FA217FEAA17FCA3EE1FF8A217F06E133F6EEB7FE0
6E14C0903AFDF001FF80903AF8FC07FE009039F03FFFF8D9E00F13E0D9C00390C7FC2F3A
7EB935>I<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C048485AEA0FF812
1F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01E06C7E15036C6C
EB07C06C6C14806C6C131FC69038C07E006DB45A010F13F00101138023257DA42A>I<EE
7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD9038FFC07F0003EB001FD807FC
1307000F8048487F5B123FA2485AA312FFAA127FA27F123FA26C6C5B000F5C6C6C5B6C6C
4913C02701FF80FD13FE39007FFFF9011F13E1010113012F3A7DB935>I<903803FF8001
1F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC1FE05B003FEC0F
F0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F86D14F0
00071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025257DA42C>I<EC
1FF0903801FFFC010713FF90391FF87F8090383FE0FFD9FFC113C0A2481381A24813016E
1380A2ED3E0092C7FCA8B6FCA4000390C8FCB3ABB512FEA4223A7DB91D>I<161FD907FE
EBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F48486C138F003F15CF4990
387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890C7FC3907FE07FE48B512F8
6D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8EDFF8016E06C15F86C816C81
5A001F81393FC0000F48C8138048157F5A163FA36C157F6C16006D5C6C6C495AD81FF0EB
07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530>I<13FFB5FCA41207
7EAFED7FC0913803FFF8020F13FE91381F03FFDA3C01138014784A7E4A14C05CA25CA291
C7FCB3A3B5D8FC3F13FFA4303A7DB935>I<EA01F0EA07FC487EA2487EA56C5AA26C5AEA
01F0C8FCA913FF127FA412077EB3A9B512F8A4153B7DBA1B>I<141FEC7FC0ECFFE0A249
13F0A56D13E0A2EC7FC0EC1F0091C7FCA9EC0FF0EB0FFFA4EB007F143FB3B0121FEA3F80
EA7FC0EAFFE0EC7FE0A215C014FF6C481380903883FE006CB45A000F13F0000113801C4B
86BA1D>I<13FFB5FCA412077EAF92380FFFE0A4923803FC0016F0ED0FE0ED1F804BC7FC
157E5DEC03F8EC07E04A5A141FEC7FE04A7E8181A2ECCFFEEC0FFF496C7F806E7F6E7F82
157F6F7E6F7E82150F82B5D8F83F13F8A42D3A7EB932>I<13FFB5FCA412077EB3B3ACB5
12FCA4163A7DB91B>I<01FED97FE0EB0FFC00FF902601FFFC90383FFF80020701FF90B5
12E0DA1F81903983F03FF0DA3C00903887801F000749DACF007F00034914DE6D48D97FFC
6D7E4A5CA24A5CA291C75BB3A3B5D8FC1FB50083B512F0A44C257DA451>I<01FEEB7FC0
00FF903803FFF8020F13FE91381F03FFDA3C011380000713780003497E6D4814C05CA25C
A291C7FCB3A3B5D8FC3F13FFA430257DA435>I<903801FFC0010F13F8017F13FFD9FF80
7F3A03FE003FE048486D7E48486D7E48486D7EA2003F81491303007F81A300FF1680A900
7F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC
011F13FC010113C029257DA430>I<9039FF01FF80B5000F13F0023F13FC9138FE07FFDA
F00113800003496C13C00280EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17FC161FA2
17F8163F17F06E137F6E14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8020F13E0
020390C7FC91C9FCACB512FCA42F357EA435>I<9038FE03F000FFEB0FFEEC3FFF91387C
7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FE
A422257EA427>114 D<90383FF0383903FFFEF8000F13FF381FC00F383F0003007E1301
007C130012FC15787E7E6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14F81203C6
14FC131F9038007FFE140700F0130114007E157E7E157C6C14FC6C14F8EB80019038F007
F090B512C000F8140038E01FF81F257DA426>I<130FA55BA45BA25B5BA25A1207001FEB
FFE0B6FCA3000390C7FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D13809038
03FE001D357EB425>I<01FFEC3FC0B5EB3FFFA4000714016C80B3A35DA25DA26C5C6E48
13E06CD9C03E13FF90387FFFFC011F13F00103138030257DA435>I<B539F001FFF8A400
0390C7EA1F00161E6E133E6C153C6E137C6C15786E13F8017F5CECF001013F5C14F8011F
495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E
5AA26E5AA26E5AA22D257EA432>I<B500F1B538803FFFA43D07FE000FF80003E06C6C01
0715C082028015076C6E6C148015076C01C0ED0F00826E485C017FED801E5D90273FF01E
7F5B17C0DAF83E147C011F90393C3FE078037C14F8903B0FFC781FF0F0A29139FEF00FF1
0107EDF9E002FF14FB6D496CB45AA24B7E6D5EA26D496C90C7FCA292C7FC6E5CA2023E14
7C023C143C40257EA445>I<B539F01FFFF0A4000390398003F8006C01C013E06C1407D9
7FE05B6D6C485A6E48C7FC90381FFC3E010F5B903807FEFC6D6C5A5D6D5B6D5B6E7E6E7E
814A7EA24A7E903801F3FFD903E37FD907C17FEB0FC049486C7E4A6C7E013E80496D7E49
130F00016E7EB590383FFFF8A42D257EA432>I<B539F001FFF8A4000390C7EA1F00161E
6E133E6C153C6E137C6C15786E13F8017F5CECF001013F5C14F8011F495AA2ECFC07010F
5CECFE0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA2
92C8FCA25C141E003F133E387F803C38FFC07C147814F8EBC1F0EBC3E06C485A387D1F80
D83FFFC9FCEA1FFCEA07F02D357EA432>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc ecbx1200 12 41
/Fc 41 122 df<B612F8A91D097F9A25>45 D<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA
7FFCEA3FF8EA1FF0EA07C00F0F788E1F>I<EC03C01407141F147FEB03FF133FB6FCA413
C3EA0003B3B3ADB712FCA5264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E00003
15F82607FC0313FE3A0FE0007FFFD81F806D138048C7000F13C0488001C015E001F07F00
FF6E13F07F17F881A46C5A6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC
4B5A5E4B5A4B5A4A90C7FC4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D9
07E014F0495A495A49C8FC017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D41
7BC038>I<ECFFF0010713FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81
D80FF86D138013FE001F16C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B
020F1380902607FFFEC7FC15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0
A26F13F0A217F8A3EA0FC0EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80
491380D81FF0491300D80FFEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D
427BC038>I<163FA25E5E5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F87
EC1F07143E147E147C14F8EB01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A485A
485A120F5B48C7FC123E5A12FCB91280A5C8000F90C7FCAC027FB61280A531417DC038>
I<0007150301E0143F01FFEB07FF91B6FC5E5E5E5E5E16804BC7FC5D15E092C8FC01C0C9
FCAAEC3FF001C1B5FC01C714C001DF14F09039FFE03FFC9138000FFE01FC6D7E01F06D13
804915C0497F6C4815E0C8FC6F13F0A317F8A4EA0F80EA3FE0487E12FF7FA317F05B5D6C
4815E05B007EC74813C0123E003F4A1380D81FC0491300D80FF0495AD807FEEBFFFC6CB6
12F0C65D013F1480010F01FCC7FC010113C02D427BC038>I<4AB47E021F13F0027F13FC
49B6FC01079038807F8090390FFC001FD93FF014C04948137F4948EBFFE048495A5A1400
485A120FA248486D13C0EE7F80EE1E00003F92C7FCA25B127FA2EC07FC91381FFF8000FF
017F13E091B512F89039F9F01FFC9039FBC007FE9039FF8003FF17804A6C13C05B6F13E0
A24915F0A317F85BA4127FA5123FA217F07F121FA2000F4A13E0A26C6C15C06D4913806C
018014006C6D485A6C9038E01FFC6DB55A011F5C010714C0010191C7FC9038003FF02D42
7BC038>I<EE1F80A24C7EA24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F
82033F80ED3E07037E80157C8203FC804B7E02018115F0820203814B137F0207815D173F
020F814B7F021F8292C77EA24A82023E80027E82027FB7FCA291B87EA2498302F0C8FCA2
0103834A157F0107834A153FA249488284011F8491C97E4984133E017E82B6020FB612F0
A54C457CC455>65 D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791
B539E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E494881494881494816
7F4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12
FFAE127F7F1AF0A2123FA27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6D
EE1F006D6C5E6D6C167E6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF0
01FF80023F90B6C7FC020715FC020115F0DA001F1480030001F8C8FC44467AC451>67
D<BA12F8A485D8001F90C71201EF003F180F180318011800A2197E193EA3191EA21778A2
85A405F890C7FCA316011603161F92B5FCA5ED001F160316011600A2F101E01778A2F103
C0A494C7FC1907A21A80A2190FA2191FA2193FF17F0061601807181F4DB5FCBBFC61A443
447DC34A>69 D<B7D88003B612FEA526003FFEC9EBF800B3A791B9FCA54AC9FCB3AAB7D8
8003B612FEA54F447CC358>72 D<B712F0A526003FFECAFCB3B1F00780A4180F1900A460
A360A2187EA218FE170117031707171F177FEE03FFB95AA539447CC343>76
D<B500FE067FB512806E95B6FCA26F5EA2D8003F50C7FC013D6DEE03DFA2013C6DEE079F
A26E6CEE0F1FA26E6C161EA26E6C163CA36E6C1678A26E6C16F0A26E6DEC01E0A26E6DEC
03C0A36E6DEC0780A26F6CEC0F00A26F6C141EA26F6C5CA36F6C5CA26F6C5CA26F6D485A
A26F6D485AA26F6D485AA3706C48C7FCA293383FF81EA2706C5AA2706C5AA3706C5AA270
5BA2705BA2705BA2B6057FB6128071C7FCA2173E171C61447CC36A>I<B64BB512FE8181
A281D8003F6D91C7EA780081013D7F81133C6E7E6E7F6E7F6E7F6E7F82806E7F6E7F6F7E
6F7F83816F7F6F7F6F7F6F7F6F7F8382707F707F707F707F8482707F707F717E71138071
13C019E0837113F07113F87113FC7113FE19FF847213F884848484A28484197F193F191F
A2190F1907B61603190119001A78A24F447CC358>I<923807FFC092B512FE0207ECFFC0
021F15F091267FFE0013FC902601FFF0EB1FFF01070180010313C04990C76C7FD91FFC6E
6C7E49486F7E49486F7E01FF8348496F7E48496F1380A248496F13C0A24890C96C13E0A2
4819F04982003F19F8A3007F19FC49177FA400FF19FEAD007F19FC6D17FFA3003F19F8A2
6D5E6C19F0A26E5D6C19E0A26C6D4B13C06C19806E5D6C6D4B13006C6D4B5A6D6C4B5A6D
6C4B5A6D6C4A5B6D01C001075B6D01F0011F5B010101FE90B5C7FC6D90B65A023F15F802
0715C002004AC8FC030713C047467AC454>I<B9FC18F018FE727E19E0D8001F90C7000F
7F05017F716C7E727E727E721380A21AC084A21AE0A91AC0A24E1380A21A00604E5A4E5A
4D485A050F5B92B712C096C7FC18FC18C092CBFCB3A7B712E0A543447DC34D>I<DAFFE0
131C010701FE133C013F9038FF807C90B6EAE0FC4815F9489038801FFF3907FC00014848
EB007F4848143F4848140F491407007F15035B1601160012FF177CA27FA26D153C7F7F6D
92C7FC6C7EEBFFE014FE6CEBFFF015FF6C15E016FC6C816C6F7E6C826C826C6C81011F81
0107811300020F80140003077FED007F82040F1380828212F082A282A27EA218007EA26C
5D6C5E6D14036D5D6D140701F84A5A01FFEC3FF002F8EBFFE0486CB65AD8FC1F92C7FCD8
F80714FC48C614F0480107138031467AC43E>83 D<003FBA12E0A59026FE000FEB8003D8
7FE09338003FF049171F90C71607A2007E1803007C1801A300781800A400F819F8481978
A5C81700B3B3A20107B8FCA545437CC24E>I<B792B6FCA526003FFECAEAFC00806D606F
15016D608119036D606F15076D606F150F6D6081191F6D6D93C7FC61027F163E6F157E02
3F167C8119FC6E6D5C18016E5E7013036E5E8218076E6D5C180F6E5E70131F6E93C8FC70
5B037F143E82187E033F147C7013FC6F5C17816F5C17C117C36F5C17E76F5C17FF6F5CA3
6F91C9FCA2705AA2705AA3705AA2705AA2705AA250457EC355>86
D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7E
A26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC0100
0313E0481380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013EEB
FFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97
D<EB7FC0B5FCA512037EB1ED0FF892B57E02C314E002CF14F89139DFC03FFC9139FF000F
FE02FCEB03FF4A6D13804A15C04A6D13E05CEF7FF0A218F8173FA318FCAC18F8A2177F18
F0A3EFFFE06E15C06E5B6E491380027C491300496C495A903AFC1FC07FFC496CB512F0D9
F00314C049C691C7FCC8EA1FF036467DC43E>I<EC3FFC49B512C0010F14F0013F14FC90
397FF003FE9039FFC001FF0003495A48494813805B120F485AA2485A6F1300007F6E5AED
00784991C7FCA212FFAC6C7EA3123F6DEC03C0A26C6C1407000F16806D140F6C6DEB1F00
6C6D133E6C01F05B3A007FFC03F86DB55A010F14C0010391C7FC9038003FF82A2F7CAD32
>I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F013F14CF9039FFF8
07FF48EBC00148903880007F4890C7123F4848141F49140F121F485AA3127F5BA212FFAC
127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C00314FC6C9038F01F
EF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>I<EC3FF80103B57E
010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48486D1380485A001F
ED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FCA5127FA27FA2123F
17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB3F0090397FFE01FE
011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<EDFF80020F13E0027F13
F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7FF0A2ED0FFCEBFFE0ED03
F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527467DC522>I<DAFFE0137E
010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF84848EB0FFC4848
903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D5B000F5D6C6C
495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F90CAFCA47F7F
7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77ED83FC0140748
48020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD80FFEEC3FF83B
07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427DAC38>I<EB7F
C0B5FCA512037EB1ED07FE92383FFF8092B512E002C114F89139C7F03FFC9138CF801F91
39DF000FFE14DE14FC4A6D7E5CA25CA35CB3A7B60083B512FEA537457CC43E>I<137C48
B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7FFF
A512037EB3AFB6FCA518467CC520>I<EC03E0EC0FF8EC1FFCEC3FFEA2EC7FFFA5EC3FFE
A2EC1FFCEC0FF8EC03E091C7FCAAEC01FF0103B5FCA5EB000F80B3B3A7EA1F80EA3FC0EA
7FE0EAFFF0EC0FFEA215FC141F01E013F8007FEB3FF0393FC0FFE06CB512806C14000003
13FCC613C0205A86C522>I<EB7FC0B5FCA512037EB3B3B3A3B61280A519457CC420>108
D<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E002816E4880913D
87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C13
0F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>
I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F801F00039039
9F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>I<EC1F
FC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48496C7F4848C7EA3FE000
078248486E7E49140F001F82A2003F82491407007F82A400FF1780AA007F1700A46C6C4A
5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7FC6DB5
5A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90397FC00FF8B590B57E02C314
E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D13804A15C04A6D13E0
5C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B6E4913806E49
13006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092C9FCADB67EA536
407DAC3E>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE
6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>
114 D<90391FFC038090B51287000314FF120F381FF003383FC00049133F48C7121F127E
00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC6C80000380
6C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27EA26C15C06C14
1FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7C
AD2C>I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B51280B7FC
A4C601E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F8090391FFC1F006DB5
FC6D13FC01015B9038003FE023407EBE2C>I<D97FC049B4FCB50103B5FCA50003EC000F
6C81B3A85EA25EA25E7E6E491380017FD901F713FE9138F807E76DB512C7010F14070103
13FE9026007FF0EBFC00372E7CAC3E>I<B500FE90383FFFF0A5C601F0903803E0006D6C
495A6D6C495A011F4AC7FC6E5B6D6C137E6DEB807C6D6D5A6DEBC1F0EDE3E06DEBF7C06E
B45A806E90C8FC5D6E7E6E7F6E7FA24A7F4A7F8291381F3FFCEC3E1F027C7F4A6C7E4948
6C7F01036D7F49487E02C08049486C7F49C76C7E013E6E7E017E141FB500E090B512FCA5
362C7EAB3B>120 D<B6903803FFFCA5000101E09038003E006C163C80017F5D8017F801
3F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E6D
143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5AA2
6E5AA21578A215F85D14015D001F1303D83F805B387FC007D8FFE05B140F92C9FC5C143E
495A387FC1F8EB07F06CB45A6C5B000790CAFCEA01FC36407EAB3B>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd ectt1000 10 73
/Fd 73 126 df<121FEA3F80EA7FC0EAFFE0B0EA7FC0AEEA1F00C7FCA7121FEA3F80EA7F
C0EAFFE0A5EA7FC0EA3F80EA1F000B3470B32C>33 D<003C131E007F137F481480A66C14
00A6007E7FA6003E133EA3003C131E001C131C191977B32C>I<143814FC13011303EB07
F8EB0FF0EB1FC0EB3F80EB7F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A
127EA312FE5AAC7E127EA3127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F
80EB1FC0EB0FF0EB07F8EB03FC130113001438164272B92C>40 D<127012FC7E7E6C7E6C
7EEA0FE06C7E6C7E6C7E6C7E137F7F1480131F14C0130FEB07E0A214F01303A214F81301
A314FC1300AC130114F8A3130314F0A2130714E0A2EB0FC0131F1480133F14005B13FE48
5A485A485A485AEA3FC0485A48C7FC5A5A1270164279B92C>I<EB0380497EA600201408
00F8143E00FE14FE00FF13C1EBC7C7EBE7CF003FB512F8000F14E0000314806C14003800
7FFCA248B5FC481480000F14E0003F14F839FFE7CFFEEBC7C7EB07C100FE13C000F8143E
0020140800001400A66D5A1F247AAA2C>I<EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F
121F120F120013F8A21201EA03F01207EA1FE0EA7FC0EAFF80130012FC12700E17718A2C
>44 D<007FB512F0B612F8A36C14F01D0579942C>I<121FEA3F80EA7FC0EAFFE0A5EA7F
C0EA3F80EA1F000B0B708A2C>I<1507ED0F80A2151F16005D153E157E157CA215FC5D14
015D14035D14075D140F5D141F92C7FC5C143EA2147E147C14FC5C13015C13035C13075C
130F5C131F91C8FC5B133EA2137E137C13FC5B12015B12035B12075B120F5B121F90C9FC
A25A123E127E127C12FC5AA2127021417BB92C>I<EB03F8EB0FFE90383FFF80497F90B5
7E3901FE0FF03903F803F848486C7EEBE0004848137EA248487FA248C7EA1F80A2003E14
0F007E15C0A3007C140700FC15E0AC6C140F007E15C0A46CEC1F80A36C6CEB3F00A26C6C
137E6D13FE00075CEBF0016C6C485A3901FE0FF06CB55A6D5B6D5BD90FFEC7FCEB03F823
357CB32C>I<1307497EA2131FA2133F137F13FF5A1207127FB5FC13DF139FEA7C1F1200
B3AE007FB512E0B612F0A36C14E01C3477B32C>I<EB0FF890387FFF8048B512E0000780
4814FC391FF80FFE393FE001FF903880007F48C7EA3F80007E141F00FE15C0150F6C15E0
1507A3127E123CC8FCA2150F16C0151F1680153F16005D15FE4A5A14034A5A4A5A4A5A4A
5AECFF804948C7FC495A495A495AEB3FE0EB7F8049C8FC485A4848EB03C04848EB07E0EA
1FE0485A48B6FCB7FCA36C15C023347CB32C>I<EB0FFC90387FFF8048B512E0000714F8
4880391FF807FEEBC0004848137F6D7F1680151FA26C5A6CC7FCC8FC153F16005D15FE14
014A5AEC1FF890381FFFF0495BA215F86D7F90380007FEEC00FF81ED3F80ED1FC0150FA2
16E01507A2123C127EB4FC150F16C0A248141F007FEC3F806DEB7F006C6C5B391FF807FE
6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357CB32C>I<EC07F04A7E141F143FA2147E
A214FCEB01F8A2EB03F0EB07E0A2EB0FC0EB1F80A2EB3F00137EA25B485AA2485A5B1207
485AA2485A48C7FCA2127E5AB712FC16FEA36C15FCC8EAF800AA91387FFFF091B512F8A3
6E13F027347EB32C>I<000FB512FE4880A35D0180C8FCADEB83FE90389FFF8090B512E0
15F8819038FE03FE9038F000FF01C07F49EB3F8090C7121F6C15C0C8120FA2ED07E0A412
3C127EB4FC150F16C0A248141F007EEC3F80007FEC7F006C6C5B6D485A391FF80FFC6CB5
5A6C5C000114C06C6C90C7FCEB0FF823347CB22C>I<EB07FC90383FFF8090B512E00003
14F84880390FFC07FE391FF001FF9038C0007F4848EB3F8090C7121F4815C0007E140FA5
6CEC1F80A26C6CEB3F006D5B390FF001FE3903FC07F86CB55A6C6C13C0D907FCC7FC9038
7FFFC048B512F03903FC07F8390FF001FE391FC0007F497F48C7EA1F80007EEC0FC0A248
EC07E0A7007EEC0FC0A2007F141F6C6CEB3F806C6CEB7F009038F001FF390FFC07FE6CB5
5A6C5CC614E0013F1380D907FCC7FC23357CB32C>56 D<EB07FCEB3FFF90B512C0488048
803907FC07F8390FF001FC48486C7ED83F80137E157F48C77E007EEC1F8012FE5AED0FC0
A416E0A37E127E007F141F7E6D133F6C6C137F390FF001FF3807FC0F6CB6FC6C14F76C14
C7013F130FD90FF813C090C7FCA2151F1680153F1600000F5C486C137E486C13FE4A5A4A
5A14079038801FF0391FE07FE090B55A6C91C7FC6C5B000113F838007FC023357CB32C>
I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0
A5EA7FC0EA3F80EA1F000B2470A32C>I<EA0F80EA1FC0EA3FE0EA7FF0A5EA3FE0EA1FC0
EA0F80C7FCAEEA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013F8A21201EA
03F01207EA1FE0EA7FC0EAFF80130012FC12700E3071A32C>I<007FB612F0B712F8A36C
15F0CAFCA8007FB612F0B712F8A36C15F025127DA12C>61 D<EC7F80903803FFE0010F7F
013F7F497F9038FFC0FE3901FE007FD803F87F4848EB1F809038E00FCF390FC03FFF4848
4813C091B5FCEA3F01393E03F87F903907F03FE0007EEBE01F397C0FC00FEC8007A2EAFC
1F00F8EB0003A900FCEB8007D87C0F14C0A2ECC00F3A7E07E01F80003EEBF03F903903F8
7F00393F01FFFED81F805B6E5A6C6C6C5A3907E00FC09039F00007C06C6CEB0FE0D801FE
131F3900FFC0FF6DB512C06D1480010FEBFE00010313F89038007FC023337CB22C>64
D<14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C390381F83F0A590383F01F8
A490387E00FCA549137E90B512FEA34880A29038F8003FA34848EB1F80A4000715C04913
0FD87FFEEBFFFC6D5AB514FE6C15FC497E27347EB32C>I<007FB512E015F8B612FE6C80
16C03903F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090
B612005D5D15FF16C09039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE16FC
1501ED03F8150FED3FF0007FB612E016C0B712806CECFE0015F027337FB22C>I<02FF13
700107EBE0F84913F9013F13FD4913FFEBFF813901FE007F4848131FD807F0130F150748
5A491303485A150148C7FCA25A007EEC00F01600A212FE5AAB7E127EA3007F15F06CEC01
F8A26C7EA26C6C13036D14F06C6C130716E0D803FC131F6C6CEB3FC03A00FF81FF806DB5
12006D5B010F5B6D13F00100138025357DB32C>I<007FB5FCB612C015F0816C803907E0
03FEEC00FFED7F80153FED1FC0ED0FE0A2150716F0150316F81501A4ED00FCACED01F8A3
150316F0A2150716E0150FED1FC0153FED7F80EDFF00EC03FE007FB55AB65A5D15C06C91
C7FC26337EB22C>I<007FB612F0B712F8A37E3903F00001A7ED00F01600A4EC01E04A7E
A490B5FCA5EBF003A46E5A91C8FCA5163C167EA8007FB612FEB7FCA36C15FC27337EB22C
>I<007FB612F8B712FCA37ED803F0C7FCA716781600A515F04A7EA490B5FCA5EBF001A4
6E5A92C7FCAD387FFFE0B5FC805C7E26337EB22C>I<903901FC038090390FFF87C04913
EF017F13FF90B6FC4813073803FC01497E4848137F4848133F49131F121F5B003F140F90
C7FCA2127EED078092C7FCA212FE5AA8913803FFF84A13FCA27E007E6D13F89138000FC0
A36C141FA27F121F6D133F120F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC6D13EF01
1F13CF6DEB0780D901FCC7FC26357DB32C>I<D87FFEEBFFFCB54813FEA36C486C13FCD8
07E0EB0FC0B190B6FCA59038E0000FB3D87FFEEBFFFCB54813FEA36C486C13FC27337EB2
2C>I<007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA36C14F81E
3379B22C>I<0107B512804914C0A36D148090390003F000B3AF1218127EA2B4FCA24A5A
48130F007F131F9038C07FC06CB55A6C91C7FC6C5B000313F838007FC022347BB22C>I<
387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337DB2
2C>76 D<D87FE0EB0FFC486CEB1FFEA26D133F007F15FC000F15E001BC137BA4019E13F3
A3EB9F01A2018F13E3A21483A2018713C314C7A201831383A214EFA201811303A214FFEB
80FEA3147C14381400ACD87FF0EB1FFC486CEB3FFEA36C48EB1FFC27337EB22C>I<D87F
F0EB7FFC486CEBFFFEA27F007FEC7FFCD807FEEB07C013DEA213DF13CFA2148013C714C0
A213C314E0A213C114F0A213C014F8A2147CA3143EA2141E141FA2140F1587A2140715C7
A2140315E71401A215F71400A215FFD87FFC137F487E153FA26C48EB1F8027337EB22C>
I<EB7FFF0003B512E0000F14F848804880EBE003EB800048C7127FA2007E80A300FE1580
48141FB3A86C143FA2007E1500A3007F5CA26C6C13FEEBF00790B5FC6C5C6C5C000314E0
C66C90C7FC21357BB32C>I<007FB512C0B612F88115FF6C15802603F00013C0153FED0F
E0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D
15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>I<EB7FFF0003B512E0000F14F848
804880EBF007EB800048C7127FA2007E80A300FE158048141FB3A7EB01F0EB03F800FE14
3F267E01FC1300A2EB00FE007F5C147FD83F8013FEEBF03F90B5FC6C5C6C5C000314E0C6
7E90380007F0A26E7EA26E7EA26E7EA2157FA2153E21407BB32C>I<387FFFFCB67E15E0
15F86C803907E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790
B55A5D15E081819038E007FCEC01FE1400157F81A8160FEE1F80A5D87FFEEB1FBFB5ECFF
00815E6C486D5AC8EA01F029347EB22C>I<90381FF80790B5EA0F804814CF000714FF5A
381FF01F383FC003497E48C7FC007E147F00FE143F5A151FA46CEC0F00007E91C7FC127F
7FEA3FE0EA1FFCEBFFC06C13FC0003EBFFC06C14F06C6C7F01077F9038007FFEEC07FF02
001380153FED1FC0A2ED0FE0A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F
009038FE01FF90B55A5D00F914F0D8F83F13C0D8700790C7FC23357CB32C>I<007FB612
FCB712FEA43AFC007E007EA70078153CC71400B3AF90383FFFFCA2497F6D5BA227337EB2
2C>I<3B7FFF803FFFC0B56C4813E0A36C496C13C03B03F00001F800B3AF6D130300015D
A26D130700005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B010313F86D5B903800
3F802B3480B22C>I<D87FFCEB7FFC486CEBFFFEA36C48EB7FFCD80FC0EB07E06D130F00
0715C0A36D131F00031580A36D133F00011500A36D5B0000147EA4017E5BA46D485AA490
381F83F0A4010F5B14C7A301075BA214EFA201035BA214FFA26D90C7FCA46D5A27347EB2
2C>I<3A3FFF03FFE0484913F0148714076C6D13E03A01F800FE007F0000495A13FE017E
5BEB7F03013F5B1487011F5B14CF010F5B14FF6D5BA26D90C7FCA26D5AA26D5AA2497EA2
497EA2497F81EB0FCF81EB1FC7EC87F0EB3F83EC03F8EB7F01017E7FEBFE00497F000114
7E49137F000380491480151FD87FFEEBFFFC6D5AB514FE6C15FC497E27337EB22C>88
D<D87FFCEB7FFC486CEBFFFEA36C48EB7FFCD807F0EB0FC0151F000315806D133F12016D
EB7F0012006D137E017E13FE017F5BEB3F01EC81F8131FEC83F0EB0FC314C7903807E7E0
A201035B14EF6DB45AA292C7FC7F5C147EB0903807FFE0497FA36D5B27337EB22C>I<00
3FB612C04815E0A4007EC7EA1FC0ED3F80A2ED7F00157E15FE4A5A003C5CC712034A5AA2
4A5A4A5AA24A5A4AC7FCA214FE495AA2495A495AA2495A495AA2495A49C8FCA213FE485A
A24848EB03C049EB07E01207485A5B121F485AA248C7FCB7FCA46C15C023337CB22C>I<
007FB6FCB71280A46C150021067B7D2C>95 D<3801FFF0000713FE001F6D7E15E0488090
38C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB80
7E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C14
BF0001EBFE1F3A003FF007FC27247CA32C>97 D<EA7FF0487EA3127F1201AAEC1FE0ECFF
F801FB13FE90B6FC16809138F07FC09138801FE091380007F049EB03F85BED01FC491300
A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B5
1280160001FB5B01F813F83900F03FC027337FB22C>I<903803FFE0011F13F8017F13FE
48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F6C
140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0010390
C7FC21247AA32C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF5A3807
FC0F380FF00348487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C6C7E5C
6C6C5A380FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27337DB22C
>I<EB03FE90381FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0EB3F805B
4848EB1FC090C7120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6CEC03C0
6DEB07E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13FC010F13
F00101138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390FE0
3F0014C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C5C
21337DB22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC
0FF82607F003133E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5CEBE0016C
6C485A3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F06C
14FE48ECFF804815E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00FC157E48
153EA46C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E0000315806C
1500D8003F13F8010713C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC90
38F9FFFE01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB5
00F11480A36C01E0140029337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7FC90C8FC
A7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<140E
EC3F80A2EC7FC0A3EC3F80A2EC0E0091C7FCA748B512804814C0A37EC7120FB3B3A2141F
003C1480007E133FB414005CEB01FEEBFFFC6C5B5C001F5B000790C7FC1A467CB32C>I<
EA7FE0487EA3127F1201AA91381FFFF04A13F8A36E13F0913800FE004A5A4A5A4A5A4A5A
4A5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC07496C7E
496C7E811400157E811680151F3A7FFFC0FFFCB500E113FEA36C01C013FC27337EB22C>
I<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<3A7F
83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F49
6C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87F
FC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC
00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0
140029247FA32C>I<EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF001FE48
486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2007F
141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0011F90
C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000019038
F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2
ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F8EC
3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<D87FFEEB3FC0B53801FFF0020713
F8021F13FC6C5B39003F7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FCAF00
7FB512E0B67EA36C5C26247EA32C>114 D<90387FF8700003B512F8120F5A5A387FC00F
387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C
13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F0
07FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FCB712
80A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001
035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000F
B3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE07130029247FA3
2C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00011500A26D5B
0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA214C7
01075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>I<D87FFFEB7FFF6EB5
FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801F0495AECFF87A214
F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F13FFA21480A2013F
5B90381F007C29247FA32C>I<3A3FFF03FFF048018713F8A36C010313F03A00FC007E00
5D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D5A14
7C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E00017C13
7C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>I<3A7FFF01FFFC
B5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012005D6D133E137C01
7E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C0130114
F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87E0EA
7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I<003FB612E04815F0A400
7EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495AC7485A4A5A4A5A4A5A4A5A4AC7FCEB01
FC495AEB0FF0495A495A495A49C8FC4848EB01E04848EB03F0485A485A485A485A485AB7
FCA46C15E024247DA32C>I<15FF02071380141F147F91B512004913C04AC7FCEB03F85C
B31307EB1FE013FF007F5BB55A49C8FC6D7E6C7FC67F131FEB07F01303B380EB01FEECFF
C06D13FF6E1380141F14070200130021417BB92C>I<EA7FC0EAFFF813FE6D7E6C7FC67F
131FEB07F01303B380EB01FEECFFC06D13FF6E1380141F147F91B512004913C04AC7FCEB
03F85CB31307EB1FE013FF007F5BB55A49C8FC13F8EA7FC021417BB92C>125
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe ecbx1440 14.4 41
/Fe 41 122 df<DC7FFEECFFC0031FB5D8801F13F092B6D8E07F13FC020703F9B57E021F
D9C007B5EAC1FF91277FFE000102071380DAFFF8010713FC010301E049494813C0495B49
494913F04990C7FC19E0495A741380017F17C04A6E6E130071EC00FC98C7FCAEBB12FEA5
26007FFCC7000701C0C8FCB3B3A7007FB5D8FC07B612F0A552547DD34D>27
D<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7FCB3B3B3A600
7FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF804915E02701FF80
3F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013C0D87FE016E0
01F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218E05E18C05E18
804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B5A4A90C8FCEC
03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80140349C8FC01
3E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<913807FFC002
7F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE48488148486E
138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD80038168090C8FC4C13
00A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEEFF80DA000313
E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218FEA3EA03C0EA
0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE04A13C06C485C
D80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E0010F92C7FC0101
14FCD9001F1380374F7BCD42>I<17FC1601A216031607160FA2161F163F167FA216FF5D
5DA25D5D5D167F153E157E15FC15F8EC01F01403EC07E015C0EC0F80141FEC3F00143E5C
14FC495A5C495A1307495A5C49C7FC5B137E137C5B1201485A5B485A120F485A90C8FC12
3E127E5ABA1280A5C901FCC7FCAF021FB71280A5394F7CCE42>I<486C150601F0153E01
FEEC01FED9FFF0133F91B65A5F5F5F5F5F94C7FC16FC5E16E093C8FC15FC01F0138091CA
FCAC913807FF80023F13F891B512FE01F36E7E9026FFFC0113E09139E0007FF891C76C7E
496E7E01F86E7E5B7013804916C0C9FC18E08218F0A418F8A31203EA0FE0EA3FF8487EA2
12FF7FA218F0A25B5E6C4816E05B01C016C06CC85A18806C6C4A13007FD80FF04A5A6C6C
ECFFFCD803FE4913F02701FFE00F5B6C6CB612806D92C7FC010F14F8010114C09026003F
FCC8FC354F7ACD42>I<ED07FE92B512C0020314F0021F14FC91397FFC01FE9139FFE000
7F01030180EB3F804990C7121F4948EC7FC0494814FF4948010313E0495A49485B5A485B
A2485BA2486F13C091C7FC4803001300177E94C7FC5AA25B127FA2ED3FF04AB5FC020714
C000FF4914F091391F807FF891393E001FFE02786D7E4A6D13807013C06D5A4A6D13E018
F05C7013F8A291C813FCA44916FEA3127FA6123FA37F6C17FCA36C17F85E7E6E15F06C17
E06C6D5B6E15C06C4B13806D6C491300D93FFC495A6DB4EBFFFC010790B512F06D5D0100
1580021F01FCC7FC020313C0374F7BCD42>I<121F7F7FEBFF8091B8FCA45A18FE18FC18
F818F0A218E018C018804817000180C8123E007EC9127E5F007C4B5A4C5A5F16074C5A48
4B5A4CC7FC167E167CC912FC4B5A4B5AA24B5A150F4B5AA24B5AA24BC8FC5DA25C5D1403
A214075D140FA3141FA2143FA34A5AA414FFA65BAB6D5B6E5A6E5A6E5A385279D042>I<
913803FFC0023F13FC49B67E010715E090260FFC0013F8D93FE0EB1FFCD97F80EB07FE49
C76C7E496E1380484880000317C049157F120718E0173F120FA27FA27F7F6E147F02E015
C08002FC14FF6C01FF15806F481300EDE0036C9138F807FE6F485A6C9138FF1FF06CEDFF
E017806D4AC7FC7F010F6E7E6D81010115F06D81010315FE010F81D93FF71580D97FC115
C02701FF807F14E048EB001F48486D14F04848010314F848481300496E13FC003F151F49
1407007F6F13FE491400177F00FF163F49151F170F1707A21703A218FCA27F127F6DED07
F8A26C6CED0FF07F6C6CED1FE06C6CED3FC06C6CEDFF806C01C0010313006C01FCEB3FFE
6C6CB612F8011F15E001071580010002FCC7FC020F13C0374F7BCD42>I<913807FF8002
7F13F849B512FE01076E7E90261FFE0113E0903A7FF8003FF049486D7E48496D7E48496D
7E484980486F138091C7FC486F13C05A18E0485A18F0A27013F812FFA318FCA618FEA35E
127FA4003F5DA26C7E5E7E6C6D5B161E6C7F6C6D5B6C6C6C13F890393FFC03F06DB55A01
074A13FC01001400EC1FF891C8FCA218F85EA301FC16F0487E2607FF8015E05E486D15C0
A24C1380A24C13005F4A131F6C4B5A49C7485A494A5A6C48495B6D01075B2701FF803F90
C7FC6C90B512FC013F5C6D14C0010791C8FC9038007FF0374F7BCD42>I<B912FEF0FFF0
19FE737E1AE0D8000F01C0C7001F7F06037F727F726C7E867313807313C0A27313E0A373
13F0A94F13E0A34F13C01B80614F1300624F5A06035B4E13E0063F5B92B8C7FC19F8A2F1
FF8003C0C7001F13E0060113F89538007FFE737E070F13C01BE07313F0851BF87313FCA2
7313FEA31BFFA91BFEA2611BFCA2614F13F81BF0614F13E0077F13C04EB51280060FEBFE
00BB5A1AF01AC04FC7FC19C050527BD15D>66 D<932603FFF01407047F01FF140F0307B6
00E0131F033F03F8133F92B700FE137F02039126C003FF13FF020F01F8C7EA3FC1023F01
C0EC0FE391B5C80003B5FC4901FC814949814901E082011F498249498292CA7E49488349
48835A4A83485B4885A24849187FA2485B1B3FA2485B1B1FA25AA21B0091CDFCA2B5FCAE
7EA280A36C1A1FA36C7FA21B3F6C7F1B3E6C7F1B7E6C6D187C6C1AFC6E18F86C19016D6C
EF03F06D7E6FEE07E06D6DEE0FC001076DEE1F806D01F8EE3F006D6D16FE6D01FF4B5A02
3F01C0EC07F8020F01FCEC3FF00203903AFFC001FFC0020091B6C7FC033F15FC030715F0
DB007F1480040301F0C8FC505479D25F>I<BAFC19F819FF1AE01AF8D8000701F0C7001F
13FE06017FDE003F13C0070F7F07037F737F737F747E747E747F86747F8886888688A274
7FA3881B7FA288A51D80AF1D00A564A21BFF64A3505BA2505BA2505BA2505B505B99C7FC
505A1A7F4F485A4F13F0070F5B073F5B4EB55A061F49C8FCBB12F81AE097C9FC19F896CA
FC59527CD165>I<BB12FCA5D8000701F0C7000F7F1800191F190F19071903190119001A
7E1A7F86A386A51B80DD03E0130FA497C7FCA31707A3170F171F173FEE01FF92B6FCA5ED
F001EE003F171F170F1707A31703A794CAFCB3A2B812F0A549527CD153>70
D<B8D88007B712FCA5D8000701F0C9003FEB8000B3AE92BAFCA503F0C9123FB3B1B8D880
07B712FCA55E527CD167>72 D<B81280A5D8000701F0C7FCB3B3B3B2B81280A529527DD1
30>I<B812E0A5D8000F01E0CAFCB3B3A91AF8A419011AF0A51903A31907A2190F1AE019
1FA2193F197F19FF60180760187F0503B5FCBB12C0A545527CD14F>76
D<B912FCF0FFE019FE737E1AE0D8000F01E0C7003F7F060313FC06007F737E7313807313
C07313E0851BF0A21BF885A21BFCA91BF8A3611BF0A21BE04F13C0614F13804F13004F5A
060713F8063F5B92B812C097C7FC19F8198003E0CBFCB3AEB712FEA54E527CD15A>80
D<B912E018FF19F019FE737ED8000701F0C714E0060F7F060313FC06007F737E737F8587
737FA28785A287A863A261636361634F90C8FC4F5A4F5A06035B060F13E095B5128092B7
48C9FC19F019C019F09226F0000713FC050013FF063F7F727F727F727F727FA2727FA284
86A886A71D707513F8A2851C017301C013F0A273EBE003B86C6D9038F007E0739038FC1F
C0070190B51280736C1400080F5BCE13F85D537CD162>82 D<DA0FFE141C91B500F0133C
010702FC137C011F02FF13FC017F15C19026FFF00113E148903980001FFB4890C7EA07FF
D807FC14014848804848153F171F4848150FA2007F1607491503A2170112FFA217007FA2
6D167CA27F7F6D93C7FC6C7E14C014F8ECFF806C14F8EDFFC06C15FC6CEDFF8017F06C16
FC6C826C707E6C836D82011F8201078213016D6C81020781EC007F030380ED003F040314
801600173F837113C0838312F883A3837EA319807EA26C5E19007F6D4B5A7F6D4B5A01FC
4B5A6D151FD9FFC04A5AD97FF8ECFFE028FE1FFF80075B010790B6C7FCD8FC0115FC486C
6C14F048010F14C0489026007FFCC8FC3A5479D249>I<B700FE4AB612F0A5D8000F01E0
CA387FC000091FC7FCB3B3B26D611B3E811B7E6D197CA26D6D17FC636D6D1601027F4D5A
6F4C5A023F170F6E6C4C5A6E6D4B5A6E01E003FFC8FC6E01F8EC03FE020001FEEC1FFC92
3B7FFFE001FFF8031F90B612E00307168003004BC9FC041F14F0040091CAFC5C537CD165
>85 D<EC3FFE0107B512E0011F14FC017F14FF2701FFC00F13C02703FE00037F486C0100
7F6E6D7E486D80707EA2707EA3707F6C5B6C90C7FC6C5AC9FCA60307B5FC0203B6FC147F
0103B7FC011FEBF00F017F1300EBFFFC000313F04813C0485B4890C7FC5A5B485AF081F0
12FF5BA35EA26D5C127F6D5C003F03F713C36DD901E314E06CD9C00714FF00079026F01F
8114C06C90B5C61480C602FC6D1300011F01F0EB3FFC01010180EB07F03C387CB642>97
D<EB3FF8B5FCA51203C6FCB3A4EE7FF00307B5FC031F14C0037F14F0913AF9FF007FFCDA
FFF8EB1FFF03E001077F03806D7F92C76C7F4A6E7F5C4A6F7E85183F85A38584A31A80AD
1A00A36061A261187F616E15FF616E4A5B6E4A5B6F495BDACFE04990C7FCDA87F0EB3FFE
913A01FE01FFF8496CB65A49013F14C049010749C8FC90C813E041547DD249>I<913803
FFE0023F13FE91B67E010315E0010F9038003FF8D93FFCEB07FC4948497E4948131F4849
497E485B485BA24890C7FC5A5B003F6F5A705A705A007F92C8FC5BA312FFAD127F7FA312
3F7F6CEE0F80A26C6D141F18006C6D5C6C6D143E6C6D147E6C6D5C6D6C495A6DB4EB07F0
010F9038C01FE06D90B5128001014AC7FCD9003F13F80203138031387CB63A>I<943803
FF80040FB5FCA5EE003F170FB3A4913803FF80023F13F849B512FE0107ECFF8F011F9038
C03FEF90273FFE0007B5FCD97FF8130149487F484980484980484980488291C8FC5A5B12
3FA2127F5BA312FFAD127FA37F123FA3121F7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D49
14E0D97FFCD90FEFEBFF80D91FFFEB7F8F010790B5120F010114FC6D6C13E00207010049
C7FC41547CD249>I<913807FF80027F13F849B512FE01076E7E011F010313E0903A3FFC
007FF0D97FF06D7E49486D7E4849130F48496D7E48824890C77E1880485A82003F17C0A3
485A18E082A212FFA290B8FCA401FCCAFCA6127FA37F123FA2EF03E06C7E17076C17C06C
6D140F18806C6D141F6C6DEC3F006C6D147ED97FFC495AD91FFFEB07F86D9038E03FF001
0390B512C001005D023F01FCC7FC020113E033387CB63C>I<ED1FF8913803FFFE020FEB
FF80023F14C09139FFF83FE001039038E0FFF049138049010113F85BEB3FFEA2EB7FFCA2
6F13F0495AEE7FE0EE1F8093C7FCAEB712C0A5C601F8C8FCB3B3A7B612FEA52D547CD328
>I<DA1FFE14FE49B539E007FF80010FDAFC1F13C0013FDAFF7F13E090267FF807EBFF07
2701FFE001EBF07F48497E484990387FF83F91C7003F14C048EEFC1F489338FE07004902
1F90C7FCA2003F82A9001F5EA26D143F6C5E6C5E6E137F6C6D495A6C6D485B6CD9F80713
804890B6C8FCD803EF14FC01C114E02707C01FFEC9FC49CBFCA2487EA37FA27F13FC90B6
12FE6CEDFFF017FCEFFF806C8318F06C836C837F48B87E1207D80FFCC700037F4848EC00
3F4848150F48486F138083485A83A56D5D007F18006D5D003F5F6C6C4B5A01FE153FD807
FFED7FF06C01C049485AC601FC011F1380013FB648C7FC010F15F8010115C0D9000F01F8
C8FC3B4F7CB542>I<EB3FF8B5FCA51203C6FCB3A4EE1FFC93B57E030314E0030F14F892
391FC07FFC92397E003FFE03F86D7EECF9F04B6D7FECFBC0ECFF8092C76C7FA25CA25CA4
5CB3ACB6D8F807B612C0A542537CD249>I<133FEBFFC0487F487FA2487FA66C5BA26C5B
6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612F0A51C547CD324>I<EB3FF8
B5FCA51203C6FCB3A50407B512F0A59339007FF000EF3FC04D5A4DC7FCEE01FC4C5AEE0F
F04C5A4C5A4CC8FC16FEED03FC4B5A4B5A4B5A4B7E4B7EECF9FF02FB7F91B57EA28203BF
7F031F7F14FE4A6C7FDAF0077F6F7FA26F7F6F7F167F83707F707FA2707F707F707FA270
7F707F84B6D8F00F14FEA53F537DD245>107 D<EB3FF8B5FCA51203C6FCB3B3B3B1B612
F8A51D537CD224>I<D93FF0D91FF84AB47EB591B56C010F13F8030302E0013F13FE030F
6E90B6FCDB3F809027F803F80F7F922A7E007FFC07E0077F000302F890283FFE0F80037F
C6D9F1F0011F49487EDAF3E0DAFF3E814B153CDAF7805D92C76C496D7F14FF4A5EA24A5E
A34A5EB3ADB6D8F80FB66CB612F8A565367BB56E>I<D93FF0EB1FFCB591B57E030314E0
030F14F892391FC07FFC92397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092
C76C7F14FF5CA25CA45CB3ACB6D8F807B612C0A542367CB549>I<913801FFC0023F13FE
91B67E010315E0010F018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F4849
6D7F91C8127F4883488349153F001F83A2003F8349151FA2007F83A400FF1880AC007F18
00A3003F5F6D153FA2001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990
C7FCD93FFCEB1FFE6DB46CB45A010790B512F0010115C0D9003F49C8FC020313E039387C
B642>I<D93FF8EB7FF0B50107B5FC031F14C0037F14F09126F9FF0013FCDAFFF8EB3FFF
000302E0010F7FC602806D7F92C76C7F4A824A804A6E7F85187F85A2183F85A4721380AD
4E1300A44E5AA26118FF616E5C616E4A5B6E4A5B6F495B03E04990C7FC6FEB7FFE913AF9
FE01FFF802F8B65A033F14C0030749C8FC030013E093CAFCB1B612F8A5414D7DB549>I<
90393FF001FCB590380FFF804B13E0037F13F09238FE1FF89138F1F83F00019138F07FFC
6CEBF3E015C0ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E
367DB535>114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF013
0F4848130348481301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF80
6C13FEECFFF06C14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0
EC003F030713E0150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001
F85C6DEB03FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387C
B634>I<147CA614FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512
FEB7FCA426007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEB
FFF001005C023F1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B50207B5FCA500
03ED001FC61607B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907C7EBFFC0903A
0FFF801F876D90B51207010114FC6D6C13F0020701C091C7FC42377CB549>I<B600E090
381FFFFCA5000101F8C7000113006CEE007C6E15FC017F5E6E1401013F5E8017036D6D5C
17076D5E6F130F6D5E6F131F6D93C7FC815F6D6D133E177E6D157C6F13FC027F5C811601
DA3FFF5B16036E5C16876E5C16CF6E5C16EF16FF6E91C8FCA26E5BA26E5BA26F5AA36F5A
A26F5AA26F5AA35E151F93C9FC5D153E157ED81FC0137C487E486C13FC486C5B14015D4A
5A14074A5A6C48485A4948CAFC495A383F81FC6CB45A6C5B000313C0C648CBFC3E4D7DB4
45>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff ecss2074 20.74 10
/Ff 10 116 df<EAFFC0B3B3B3B3B3B390B912FCA83E7570F456>76
D<D8FFC0F03FF0B3B3B3B3AD6C6CF07FE0A46C6CF0FFC0A36D5F001F1A80A26C6C4D1300
A26C6C4D5A6D170F6C616E161F6C6D4C5A6C6D4C5A6E16FF6D6C4B5B6D6C4B5B6D6C4B5B
6D6C6C021F90C7FC6D01E0EC7FFE6D01F849485A6D9026FF801F5B6D91B65A6E5E021F16
8002074BC8FC020115F86E6C14E0030F91C9FC030013F04C7770F46D>85
D<91380FFF8049B512F0010F14FC017F14FF48B712C0000782001F824882DAE0007F49C7
EA3FFE01F8140FD81FC06E7E90C86C1380121E00186F13C0001081CAFCEF7FE0A318F017
3FAD93B5FC157F0207B6FC143F49B7FC1307011F153F017FEBF80090B512804801F8C7FC
4813C04890C8FCEA0FFC485A485A5B485A5BA248C9FCA5177FA26D15FFA26C6C5C6D5C6D
140F6C6C5C01FF91B5FC6CEBE00791B612BF6CEDFE3F16FC6C15F06C15C06CECFE006C6C
13F0D91FFCC9FC344C77CA4C>97 D<EAFFC0B3B3ADED0FFC92B57E020714E0021F80027F
14FC91B67E01C38101C7829026CFFE0080D9DFF0131FD9FFC001037F4A6D7F49C86C7E49
153F496F7E170F496F7E5B717E4981A2711380A2187FA219C0183FA419E0181FAD183F19
C0A3187FA2198018FFA24D1300A25F6D5E17076D4B5A6D151F4D5A6D4B5A6D15FF6D0203
5B6E495BD9DFE0013F5B9026CFFC01B5C7FC01C7B65A01C35D01C15D01C05D023F14C002
0F5C020301FCC8FCC8EA3FE03B7C72FA52>I<ED3FFF4AB512F8020F14FF023F15C04A15
F049B712FC4916FF49178049EBE0004990C7120FD93FFC02011300D97FF06E7E4948151F
0280814890C912034894C7FC5B485A5B120F5B121F5B123F5BA3485AA548CCFCAD6C7EA4
7F123FA27F121F7FA26C7EA26C6C17806D1601000317036C6C160F6E151F6C01E0ED7FC0
6D6CEC01FFD93FFC14076DB4143F6DD9E003B512806D90B6EAFE006D5E6D16F06D6C5D6E
1580020F02FCC7FC020114E09126003FFCC8FC3A4C78CA47>I<DB1FE04AB4FC912601FF
FE143F02079026FF8003B5FC4AECC01F023F02F0B6FC4A02FB158091BAFC49EBE01F49D9
000302FCC7FC49486D01F8C8FC02F89038007F8049486E7E49486E7E4A140F013F824A14
07A249C86C7EA401FE6F7EAA017F4B5AA46D6C4A5AA26E140F011F5E6E141F6D6C4A5A6D
6C4A5A02FEEB01FF496C4990C9FC499038E01FFE92B55A495D02BF5C020F14C0496C5CD9
7E0149CAFC9138001FE001FE90CCFCA67FA27F8080EB3FF091B612FE6DEDFFF818FF6D17
C019F0013F17FC498390BA7E48854801E0C71203480180DA001F7F4848C900037F484816
0049EF3FF84848171F49717E127F4917078648481703A76D1707007F616D170F003F616D
171FD81FFCEF7FF06C6C4D5A6D5E6C01C003075B6C01F8033F5BC601FF4AB448C7FC6D01
F0011F5B6D90B75A010F17E00103178001004CC8FC021F15F002031580DA000F01E0C9FC
496D7CC950>103 D<EAFFE0ABC7FCB3A9EA7FE0B3B3B3B30B6F74EE25>105
D<EAFFC0B3B3B3B3B3B3AF0A7B73FA25>108 D<ED1FF826FFC001B57E020714E0021F14
F8027F8091B67E01C18101C316809038C7FE00D9CFF0011F13C0D9DFE0010713E0D9FF80
130191C8FC18F049157F5B173F4916F8A249151FA35BA45BB3B3AC354A72C952>110
D<91380FFFC091B512FE0107ECFFC0011F15F8017F15FE90B812804817C05A489038F000
3F4890C70003138049EC007FD81FF8151F491507003F16014992C7FCA2485AA77FA26C7E
7F7F6CB4FC6C13C014F86CEBFF806C14FC6CECFFE06C15FC6D14FF6D15C0010F81010315
F8010081020F80DA007F7F03071480DB003F13C0160F040313E01600EF7FF0173FA2EF1F
F8A2170FA7EF1FF0A20070163F127C007FEE7FE001C015FF01F0020313C0B5020F138002
F0137F91B712006C5E001F5E000716F0C65E011F1580010302FCC7FCD9000F13C0354C7C
CA3D>115 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg ecrm0700 7 2
/Fg 2 66 df<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49
D<140EA2141FA34A7EA3EC6FC0A2ECEFE014C7A290380183F0A390380301F8A201067F14
00A249137EA2011C137F01187FA24980013FB5FCA2903960000FC0A201E080491307A248
486D7EA200038115011207D81FC0497ED8FFF890383FFFE0A22B2A7EA931>65
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh ecrm1000 10 80
/Fh 80 123 df<B81280A2290280962A>21 D<DA0FF813FC91397FFF07FF903B01F807DF
83C0903A07E001FF0F903B1F8007FE1FE090393F000FFC137E16F85B9338F00780484801
0790C7FC1503ACB812F8A32801F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7F
BA30>27 D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E
497EA25BA2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E26
7FFFE0B512C0A32A3B7FBA2E>I<EC0FFC91387FFF70903901F803F0903807E00790381F
800FEB3F00137EA25B150748481303ADB7FCA33901F80003B3AB486C497E267FFFE0B512
C0A32A3B7FBA2E>I<DA0FF0EB1FF0DA7FFEEBFFFC903B01F80F83F00F903C07E001CFC0
0380903C1F8000FF0001C090273F0007FE130F017E4948497EA2495CA248485C03076E5A
03030203C7FC95C8FCA9F007E0BAFCA33C01F80003F0001F1807B3AA486C496C497E267F
FFE0B500C1B51280A3413B7FBA45>I<007C137C00FE13FEEAFF01A3EAFE00A7007E13FC
007C137CA8003C137800381338A700181330171E77BA2A>34 D<141FEC7FC0903801F0E0
903803C0600107137090380F803090381F00381518A25BA2133E133F15381530A215705D
5D140190381F838092CAFC1487148E02DC49B51280EB0FF85C4A9039003FF8000107ED0F
C06E5D71C7FC6E140E010F150CD91DFC141C01391518D970FE143801E015302601C07F14
70D803805D00076D6C5BD80F00EBC00148011F5C4890380FE003003E6E48C8FC007E9038
07F8060203130E00FE6E5A6E6C5A1400ED7F706C4B13036F5A6F7E6C6C6D6C5B7013066C
6C496C130E6DD979FE5B281FF001F07F133C3C07F80FE03FC0F86CB539800FFFF0C69026
FE000313C0D91FF0D9007FC7FC393E7DBB41>38 D<121C127FEAFF80A213C0A3127F121C
1200A412011380A2120313005A1206120E5A5A5A12600A1979B917>I<146014E0EB01C0
EB0380EB0700130E131E5B5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA3
5AA65AB2127CA67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7F
EB0380EB01C0EB00E01460135278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C
7EA21378A2137C133C133E131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80
A31400A25B131EA2133E133C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A
13527CBD20>I<EB0380497EA7397803803C00FC147E00FE14FE397F8383FC393FC387F8
390FE38FE03903FBBF803900FFFE00EB3FF8EB0FE0A2EB3FF8EBFFFE3903FBBF80390FE3
8FE0393FC387F8397F8383FC39FE0380FE00FC147E0078143C390007C000A76D5A1F247B
BD2A>I<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E
5A5A5A12600A19798817>44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F0012
1C0909798817>I<1506A2150E150CA2151C151815381530A215701560A215E015C0A214
011580A2140315005C1406A2140E140CA2141C1418A214381430A21470146014E05CA213
015CA2130391C7FCA25B1306A2130E130C131C1318A213381330A213701360A213E05BA2
12015B120390C8FCA25A1206A2120E120CA2121C1218A21238123012701260A212E05AA2
1F537BBD2A>I<EB03F8EB1FFF90387E0FC09038F803E03901E000F0484813780007147C
48487FA248C77EA2481580A3007EEC0FC0A500FE15E0B3007E15C0A4007F141F6C1580A3
6C1500A26C6C133EA26C6C5B6C6C5BEBF0013900F803E090387E0FC0D91FFFC7FCEB03F8
23397DB62A>I<EB01C013031307131F13FFB5FCA2131F1200B3B3A7497E007FB512F0A3
1C3779B62A>I<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0001E6D7E001C6D7E486D
7E5A6E7E126012FE6CEC7F807FA56CC7FC121CC8FCEDFF00A25D14015D14035D4A5A4A5A
5D4A5A4AC7FC147E5C495A14E0495A495A49C8FC011EEB01805B5B49130348481400485A
485A90C75A48B6FC5A5A485CB6FCA321377CB62A>I<EB07F8EB3FFF90B512C03901F80F
F03903C007F848486C7E390E0001FEEA0F80391FE000FF7FA56C5A6C5AC7485AA25D1403
5D4A5A5DEC0F80027FC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0
A2153F16E0A2121EEA7F80A2487EA316C0157F491480007EC7FC0070ECFF006C495A121E
390F8003F83907F00FF00001B512C06C6C90C7FCEB0FF823397DB62A>I<1538A2157815
F8A2140114031407A2140F141F141B14331473146314C313011483EB030313071306130C
131C131813301370136013C01201EA038013005A120E120C5A123812305A12E0B712F8A3
C73803F800AA4A7E0103B512F8A325387EB72A>I<0006140CD80780133C9038F003F890
B5FC5D5D158092C7FC14FC38067FE090C9FCAAEB07F8EB1FFE9038780F809038E007E039
07C003F0496C7E130000066D7E81C8FC8181A21680A4121C127F5A7FA390C713005D12FC
00605C12704A5A6C5C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB1F
E021397CB62A>I<EC3FC0903801FFF0010713FC90380FE03E90383F800790387E001F49
EB3F804848137F485A12075B000FEC3F0049131E001F91C7FC5B123FA3127F90C9FCEB01
FC903807FF8039FF1E07E090383801F0496C7E01607F01E0137E497F16805BED1FC0A390
C713E0A57EA47F123F16C0A2001FEC3F807F000F15006D5B000714FE6C6C5B6C6C485A39
00FE07F090387FFFC0011F90C7FCEB03FC23397DB62A>I<12301238123E003FB612E0A3
16C05A168016000070C712060060140E5D5D00E014304814705D5DC712014A5A4AC7FC14
06140E5CA25C1478147014F05C1301A213035C1307A2130FA3131F5CA2133FA5137FA96D
C8FC131E233A7BB72A>I<EB03F8EB1FFF017F13C09038FC07F03901E001F83903C0007C
4848133C90C7123E48141E000E141F001E80A3121FA26D5B6D131E7FD80FF85B6D137C01
FF13786C6D5A6CEBE3E0ECF780C601FFC7FC6D5A6D6C7E010F13E0013F7F01F97F3901E0
7FFE48486C7E380F800F48486C1380001E010113C0487F007C143F0078EC1FE0150F00F8
1407481403A21501A36C15C0A200781403007C15806C14076CEC0F006C6C131ED807E013
7C3903F803F0C6B55A013F1380D907FCC7FC23397DB62A>I<EB03F8EB1FFF017F13C039
01FC07E048486C7E3907E001F8000F6D7E4848137E5B003F80A248C71380A25AED1FC0A5
16E0A56C143FA36C7E157F121F6C6C13FF6C6C13DF000313013901F0039F3900FC0F1FD9
3FFC13C0EB07F090C7FCA2153F1680A216005D120F486C137E486C5BA24A5A4A5A49485A
381F000F001CEB1F80260F807FC7FC3807FFFE000113F838003FC023397DB62A>I<121C
127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C
127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A213C0A3127F121C1200A412011380
A2120313005A1206120E5A5A5A12600A3479A317>I<EC03FF021F13E09138FC00FCD901
E0131ED90780EB0780011EC7EA01E00138EC00704981498148488148488190C97E48D901
FC1480000ED907FFEB01C0000C90391F03C000001C90267E00E013E00018490170136026
3801F86D13700030496D13300103EC0FE0267007E00107133800601718495AA200E0171C
484848150CAA6C6C7E1260A26D6C151C00701718263003F0130F0101141F00386D013F13
38261800FC01771330001C017E9038E3F070000C90261F03C113E0000E903A07FF00FFC0
6CD901FCEB3F006C90CAFC7F6C7E6C7E13706D167C011EED03FCD90780EC1FF0D901E0EC
FF80D900FC90383FFC00021FB51280020301E0C7FC363C7BBA41>64
D<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC18
0FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A249C77F167FA20106
810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D8
0FFC02071380B56C90B512FEA3373C7DBB3E>I<B712E016FC16FF0001903980007FC06C
90C7EA1FE0707E707E707EA2707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500FC
C7FCA291C7EA7F80EE1FE0EE07F0707E707E83707EA21880177F18C0A7188017FFA24C13
005F16034C5AEE1FF8486DEB7FF0B812C094C7FC16F832397DB83B>I<913A01FF800180
020FEBE003027F13F8903A01FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F
80EB00FF49C8127F01FE153F12014848151F4848150FA248481507A2485A1703123F5B00
7F1601A35B00FF93C7FCAD127F6DED0180A3123F7F001F160318006C7E5F6C7E17066C6C
150E6C6C5D00001618017F15386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF80
3FC7FC9039007FFFFC020F13F002011380313D7BBA3C>I<B712C016F816FE0001903980
01FF806C90C7EA3FE0EE0FF0EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0A3
EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE0F
F0EE3FE0486DEBFF80B8C7FC16F816C036397DB83F>I<B812FEA3000190388000076C90
C8FC173F838383A383A31880170116C0A394C7FCA31501A21503150F91B5FCA3EC000F15
031501A21500A21860A318E093C712C0A41701A3EF0380A21707A2170F173F177F486D90
3807FF00B9FCA333397EB838>I<B812F8A30001903880001F6C90C71201EE00FC177C17
3C171CA2170CA4170E1706A2ED0180A21700A41503A21507151F91B5FCA3EC001F150715
03A21501A692C8FCAD4813C0B612C0A32F397DB836>I<DBFF8013C0020FEBF001023F13
FC9139FF803F03903A03FC000787D90FF0EB03CF4948EB00EF4948147F4948143F49C812
1F485A4848150F48481507A248481503A2485A1701123F5B007F1600A448481600AB93B6
FCA26C7E9338007FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D
6C14FF6D6C14EFD90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFFFC00020F01F0
130002001380383D7CBA41>I<B648B512FEA30001902680000313006C90C76C5AB3A491
B6FCA391C71201B3A6486D497EB648B512FEA337397DB83E>I<B612C0A3C6EBC0006D5A
B3B3AD497EB612C0A31A397EB81E>I<B649B5FCA3000101809038007FF06C90C8EA3F80
053EC7FC173C17385F5F4C5A4C5A4CC8FC160E5E5E5E5E4B5AED0780030EC9FC5D153E15
7E15FF5C4A7F4A6C7E140E4A6C7E4A6C7E14704A6C7E4A6C7E14804A6C7E6F7EA26F7F70
7EA2707E707EA2707EA2707E707EA2707E707F8484486D497FB6011FEBFF80A339397DB8
41>75 D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A21601
1603160FEE1FE0486D13FFB8FCA32D397DB834>I<B5933807FFF86E5DA20001F0FC0026
00DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC
0303A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901
FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC
6D48497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238007F
E06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E
7E81140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED
01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C153E
487ED80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE01FC9039
01F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E49157E00
03167F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F8491507A300
FF17FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC0000717806D157F00
0317006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7
FC903900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016FC16FF0001D98000
13C06C90C7EA1FE0707EEE03F883707EA2707EA21880A71800A24C5AA24C5A5FEE0FF04C
5AEEFF8091B548C7FC16F091CAFCB3A5487FB6FCA331397EB838>I<EC03FF021F13E091
38FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E4848
6E7EA24848157F0007178049153F000F17C049151F001F17E0A24848ED0FF0A3007F17F8
A2491507A200FF17FCAC007F17F8A26D150FA2003F17F0A26C6CED1FE0A36C6CED3FC000
07027C14804AB4FC3C03F80383807F003B01FC0701C0FEEC0E002600FE0CEBE1FC017FEC
63F8D93F8CEB77F0D91FCCEB3FE0D907EE14806DB449C7FC0100D981FC130CEC1FFF0203
131C91C7001E131C161F183CEF807CEFC0F8EE0FFFA318F08218E07013C0701380933800
7E00364B7BBA41>I<B612FEEDFFE016F8000190388007FE6C90C76C7EEE3FC0707E707E
707EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91B512E05E9138000F
F0ED03F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F1803486D01071400B6
6D6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>I<D90FF813C090383FFE01
90B512813903F807E33907E000F74848137F4848133F48C7121F003E140F007E1407A200
7C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8ECFF806C14E06C14F8
6C14FEC680013F1480010714C0EB007F020713E0EC007FED3FF0151F150FED07F8A200C0
1403A21501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F80D8FBF0EB3F00D8
F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003FB812E0A3D9C003EB
001F273E0001FE130348EE01F00078160000701770A300601730A400E01738481718A4C7
1600B3B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFEA300010180903800
7FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14F0
6D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF8020713E09138007F80
373B7DB83E>I<B500FC91387FFF80A30003018091380FFC006C90C8EA07E0715A6C705A
6E1403017F93C7FCA280013F1506A26E140E011F150C80010F5DA28001075DA26E147001
031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A215E0021F5BA2EDF0
1C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36FC9FCA3153EA2151C
A3393B7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7EA1FF86C48C7D80F
F8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406A280013F4A6C5CA2
80011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE181FA26D6C6F5BEE30
0FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F818001FE06A203C1
150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3FF0A302075E4B141F
A202035E4B140FA202015E4B1407A2020093C8FC4B80503B7EB855>I<007FB590383FFF
FCA3C601F801071380D97FE0D903FCC7FC013FEC01F06D6C5C5F6D6C5C6D6C13034CC8FC
6D6C1306160E6D6C5B6DEB8018163891387FC0306E6C5A16E06E6C5A91380FF18015FB6E
B4C9FC5D14036E7EA26E7F6F7EA24B7E15DF9138019FF09138038FF8150F91380607FC91
380E03FE140C4A6C7EEC38000230804A6D7E14E04A6D7E49486D7E130391C76C7E01066E
7E130E010C6E7E011C1401013C8101FE822607FF80010713E0B500E0013FEBFF80A33939
7EB83E>I<B500FE91383FFFE0A3000301E0913807FE00C649EC03F0017F6F5A606D6C5D
6D6C140395C7FC6D6C1406A26D6C5C6D6C141C17186D6C143817306D6D5B6E6C13E05F91
383FE0015F91381FF003DA0FF890C8FC1606913807FC0E160C913803FE1C913801FF185E
6E13B016E0157F6F5AB3A24B7E023FB512C0A33B397FB83E>I<003FB7FCA39039FC0001
FE01C0130349495A003EC7FC003C4A5A5E0038141F00784A5A12704B5A5E006014FF4A90
C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC5B495AA2495A5C130F4948
EB0180A2495A5C137F495A16034890C7FC5B1203485AEE0700485A495C001F5D48485C5E
4848495A49130FB8FCA329397BB833>I<007FB81280B912C0A26C17803204797041>95
D<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5A
C8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA314
01A26C13036CEB077C903980063E18383FC01E3A0FE0781FF03A03FFF00FE03A007F8007
C026277DA52A>97 D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F
809039F7000FC001FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16
FEA216FC15016D14F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E9038
00FFF8C7EA1FC0283B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F8
3907E001FC380FC003A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127F
A26C14067F001F140E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381F
FF00EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F
9038F801EF3903F0007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA12
7E127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90
381FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001
F0D807E013F8380FC0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5
127EA2127FA26C14037F001F14076C6C13060007140E6D131CD801F013386C6C13709038
7E03E090381FFF80903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790
383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8
A31C3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903
E007C03A07C003E010000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D
48C7FC38073FFC38060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815
C03A0F80007FE048C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0
003F1407D80F80EB0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A
>I<EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF7
0013FE496D7EA25BA35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0
487EA56C5AEA0380C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<
EB01C0EB07F0EB0FF8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C12
7E00FF13F01303A214E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F0
12FFA3120F1203B1913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E14
38147814FC13F1EBF3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F
811680ED1FC0486CEB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3
AD487EB512C0A3123A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E0
7E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2
495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000
FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C
497EB500C1B51280A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848
137C48487F48487F4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9
007E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C
13F890387E03F090381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038
F1E07E9039F3801F803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC150016
FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F0090
38F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C09038
1FFE0190387E07819038FC01C33903F000E3000714774848133749133F001F141F485A15
0F48C7FCA312FEAA127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39
007E078F90381FFE0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00
FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300
A45BB3A2487EB512F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F
00707F12F0A2807EA27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380
EB007F141F00C0EB0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1
FFF038C03F801A277DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FC
A2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220
>I<D803F0EB07E000FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F00
00EC77F86D9038E7FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538
803FFEA33A0FF8000FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E
017E130CA26D5BA2EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7
FCA214FF6D5AA2147CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000F
F86C48017EEB03E018C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E
9038EFC00C15C7171CD93F01EBE01815830281EBF038D91F831430150102C3EBF8709026
0FC6001360A2D907E66D5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100
141E4A130E0260130C37257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092
C7FC017E131C6D13186D6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F
804A7E8114CF903801C7E090380383F090380703F8EB0601496C7E011C137E49137F0178
7F496D7E486C80000FEC3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8
000FF06C48EB07C00003EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2
ECC070010F1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A214
30A214701460A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC0
27357EA32C>I<003FB512FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB
1FC0EC3F800060137F150014FE495AA2C6485A495AA2495A495A495AA290387F000613FE
A2485A485A0007140E5B4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F
247EA325>I E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%BeginPaperSize: Letter
letter
%%EndPaperSize
%%EndSetup
%%Page: 1 1
1 0 bop 0 162 a Fh(11)17 b(11)h(T)249 180 y(E)295 162
y(X)h(L)398 145 y Fg(A)435 162 y Fh(T)481 180 y(E)527
162 y(X)0 353 y Ff(Using)54 b(Libical)p 0 467 3900 24
v 0 580 a Fh(Eric)28 b(Busb)r(o)r(om)f(\(eric@soft)n(w)n
(arestudio.org\))2054 b(Ma)n(y)26 b(2000)0 1217 y Fe(1)131
b(In)l(tro)t(duction)0 1456 y Fh(Libical)23 b(is)f(an)h(Op)r(en)g
(Source)f(implemen)n(tation)h(of)g(the)g(iCalendar)f(proto)r(cols)f
(and)i(proto)r(col)e(data)i(units.)35 b(The)23 b(iCalendar)0
1570 y(sp)r(eci\034cation)k(describ)r(es)g(ho)n(w)f(calendar)g(clien)n
(ts)i(can)f(comm)n(unicate)f(with)i(calendar)e(serv)n(ers)f(for)i
(users)g(can)g(store)f(their)0 1683 y(calendar)g(data)h(and)h(arrange)d
(meetings)i(with)h(other)f(users.)0 1840 y(Libical)g(implemen)n(ts)h
(RF)n(C2445)e(and)h(RF)n(C2446.)35 b(Ev)n(en)n(tually)-7
b(,)27 b(it)h(will)g(also)e(implemen)n(t)j(iRIP)f(and)f(CAP)-7
b(.)0 1996 y(This)32 b(do)r(cumen)n(tation)g(assumes)g(that)g(y)n(ou)g
(are)f(familiar)h(with)h(the)f(iCalendar)f(standards)g(RF)n(C2445)g
(and)h(RF)n(C2446.)0 2110 y(these)c(sp)r(eci\034cations)e(are)h(online)
g(on)h(the)g(CALSCH)g(w)n(ebpage)e(at:)0 2308 y Fd(http://www.imc.o)o
(rg)o(/ie)o(tf)o(-c)o(ale)o(nd)o(ar)o(/)0 2706 y Fc(1.1)112
b(The)38 b(libical)c(pro)6 b(ject)0 2916 y Fh(This)29
b(co)r(de)g(is)g(under)g(activ)n(e)f(dev)n(elopmen)n(t.)40
b(If)30 b(y)n(ou)e(w)n(ould)h(lik)n(e)f(to)h(con)n(tribute)g(to)g(the)g
(pro)5 b(ject,)29 b(y)n(ou)f(can)h(con)n(tact)f(me,)0
3029 y(Eric)g(Busb)r(o)r(om,)f(at)g(eric@soft)n(w)n(arestudio.org.)33
b(The)27 b(pro)5 b(ject)27 b(has)g(a)g(w)n(ebpage)g(at)0
3227 y Fd(http://softwares)o(tu)o(dio)o(.o)o(rg)o(/li)o(bi)o(ca)o(l/i)o
(nd)o(ex)o(.ht)o(ml)0 3539 y Fh(and)g(a)h(mailing)f(list)g(that)h(y)n
(ou)f(can)g(join)h(b)n(y)f(sending)g(the)h(follo)n(wing)f(mail:)0
3737 y Fd(To:)42 b(minimalist@softwa)o(re)o(st)o(udi)o(o.)o(or)o(g)0
3850 y(Subject:)e(subscribe)g(libical)0 4248 y Fc(1.2)112
b(License)0 4458 y Fh(The)60 b(co)r(de)f(and)h(data\034les)f(in)h(this)
g(distribution)g(are)e(licensed)i(under)g(the)g(Mozilla)f(Public)h
(License.)133 b(See)0 4572 y(h)n(ttp://www.mozilla.org/NPL/MPL-1.0.h)n
(tml)37 b(for)j(a)h(cop)n(y)f(of)g(the)i(license.)76
b(Alternately)-7 b(,)44 b(y)n(ou)c(ma)n(y)g(use)g(libical)0
4686 y(under)32 b(the)g(terms)g(of)g(the)g(GNU)h(Library)d(General)h
(Public)i(License.)50 b(See)32 b(h)n(ttp://www.fsf.org/cop)n
(yleft/lesser.h)n(tml)0 4799 y(for)27 b(a)g(cop)n(y)g(of)g(the)h(LGPL.)
0 4956 y(This)j(dual)g(license)f(ensures)h(that)g(the)g(library)f(can)g
(b)r(e)i(incorp)r(orated)d(in)n(to)i(b)r(oth)g(proprietary)e(co)r(de)i
(and)f(GPL'd)i(pro-)0 5069 y(grams,)23 b(and)h(will)h(b)r(ene\034t)g
(from)f(impro)n(v)n(emen)n(ts)e(made)i(b)n(y)g(programmers)e(in)i(b)r
(oth)h(realms.)34 b(I)25 b(will)f(only)g(accept)g(c)n(hanges)0
5183 y(in)n(to)j(m)n(y)h(v)n(ersion)e(of)h(the)h(library)e(if)i(they)g
(are)f(similarly)f(dual-licensed.)0 5467 y Fc(1.3)112
b(Example)37 b(Co)s(de)0 5677 y Fh(A)h(lot)f(of)h(the)g(do)r(cumen)n
(tation)f(for)g(this)h(library)e(is)i(in)g(the)g(form)f(of)g(example)g
(co)r(de.)67 b(These)37 b(examples)g(are)g(in)h(the)0
5791 y("examples")26 b(directory)g(of)i(the)g(distribution.)36
b(Also)28 b(lo)r(ok)e(in)i("src/test")e(for)h(more)g(annotated)g
(examples.)0 6122 y Fe(2)131 b(Building)46 b(the)e(Library)0
6361 y Fh(Libical)37 b(uses)g(auto)r(conf)h(to)f(generate)f(mak)n
(e\034les,)k(although)c(it)i(uses)g(none)f(of)h(the)g(auto)r(conf)f
(\035ags)f(to)i(in\035uence)g(the)0 6474 y(compilation.)e(It)28
b(should)f(built)i(with)f(no)f(adjustmen)n(ts)h(on)f(Lin)n(ux,)g(F)-7
b(reeBSD)28 b(and)f(Solaris.)0 6805 y Fe(3)131 b(Structure)0
7044 y Fh(The)28 b(iCal)f(calendar)f(mo)r(del)i(is)f(based)g(on)h(four)
f(t)n(yp)r(es)g(of)h(ob)5 b(jects:)36 b(comp)r(onen)n(ts,)27
b(prop)r(erties,)g(v)-5 b(alues)27 b(and)g(parameters.)0
7201 y(Prop)r(erties)32 b(are)f(the)i(fundamen)n(tal)f(unit)i(of)e
(information)g(in)g(iCal,)i(and)e(they)g(w)n(ork)f(a)h(bit)h(lik)n(e)f
(a)g(hash)g(en)n(try)-7 b(,)34 b(with)e(a)0 7314 y(constan)n(t)21
b(k)n(ey)h(and)g(a)f(v)-5 b(ariable)21 b(v)-5 b(alue.)35
b(Prop)r(erties)21 b(ma)n(y)h(also)f(ha)n(v)n(e)g(mo)r(di\034ers,)h
(called)g(parameters.)33 b(In)22 b(the)h(iCal)f(con)n(ten)n(t)0
7428 y(line)0 7626 y Fd(ORGANIZER;ROLE=C)o(HA)o(IR:)o(MA)o(IL)o(TO:)o
(mr)o(bi)o(g@h)o(os)o(t.)o(com)p eop
%%Page: 2 2
2 1 bop 0 -167 3900 5 v 0 -200 a Fb(3.)73 b(Structure)3313
b Fh(2)0 162 y(The)34 b(prop)r(ert)n(y)f(name)h(is)g("OR)n(GANIZER,")g
(the)g(v)-5 b(alue)34 b(of)h(the)f(prop)r(ert)n(y)f(is)h
("mrbig@host.com")e(and)i(the)g("R)n(OLE")0 275 y(parameter)26
b(sp)r(eci\034es)h(that)h(Mr)g(Big)f(is)g(the)h(c)n(hair)e(of)i(the)g
(meetings)f(asso)r(ciated)f(with)i(this)g(prop)r(ert)n(y)-7
b(.)0 432 y(Comp)r(onen)n(ts)26 b(are)f(groups)g(of)h(prop)r(erties)f
(that)i(represen)n(t)e(the)i(core)e(ob)5 b(jects)26 b(of)g(a)g
(calendar)f(system,)h(suc)n(h)g(as)g(ev)n(en)n(ts)f(or)0
545 y(timezones.)0 702 y(The)k(cen)n(tral)f(goal)g(of)h(libical)g(is)g
(to)g(parse)f(iTIP)i(data)e(in)n(to)h(an)g(in)n(ternal)f(represen)n
(tation)g(of)h(Comp)r(onen)n(ts,)g(Prop)r(erties,)0 815
y(P)n(arameters)d(an)h(V)-7 b(alues,)27 b(and)h(to)f(allo)n(w)g(the)h
(user)f(to)g(manipulate)g(the)h(data)g(in)f(v)-5 b(arious)27
b(w)n(a)n(ys)0 942 y Fg(1)37 972 y Fh(When)h(a)f(comp)r(onen)n(t)h(is)f
(sen)n(t)h(across)d(a)i(net)n(w)n(ork,)f(if)j(it)f(is)f(un-encrypted,)g
(it)h(will)g(lo)r(ok)f(something)g(lik)n(e:)p 0 1041
3900 4 v 0 1218 a Fd(BEGIN:VEVENT)0 1331 y(DTSTAMP:19980309)o(T2)o(310)
o(00)o(Z)0 1445 y(UID:guid-1.host1)o(.c)o(om)0 1558 y(ORGANIZER;ROLE=C)
o(HA)o(IR:)o(MA)o(IL)o(TO:)o(mr)o(bi)o(g@h)o(os)o(t.)o(com)0
1672 y(ATTENDEE;RSVP=TR)o(UE)o(;RO)o(LE)o(=R)o(EQ-)o(PA)o(RT)o(ICI)o
(PA)o(NT)o(;CU)o(TY)o(PE)o(=GR)o(OU)o(P:)87 1786 y(MAILTO:employee-)o
(A@h)o(os)o(t.)o(com)0 1899 y(DESCRIPTION:Proj)o(ec)o(t)38
b(XYZ)k(Review)f(Meeting)0 2013 y(CATEGORIES:MEETI)o(NG)0
2126 y(CLASS:PUBLIC)0 2240 y(CREATED:19980309)o(T1)o(300)o(00)o(Z)0
2353 y(SUMMARY:XYZ)e(Project)i(Review)0 2467 y(DTSTART;TZID=US-)o(Ea)o
(ste)o(rn)o(:1)o(998)o(03)o(12)o(T08)o(30)o(00)0 2581
y(DTEND;TZID=US-Ea)o(st)o(ern)o(:1)o(99)o(803)o(12)o(T0)o(930)o(00)0
2694 y(LOCATION:1CP)d(Conference)i(Room)i(4350)0 2808
y(END:VEVENT)p 0 3008 V 0 3235 a Fc(3.1)112 b(Core)37
b(iCal)f(classes)0 3446 y Fb(3.1.1)94 b(Comp)s(onen)m(ts)0
3656 y(3.1.2)g(Prop)s(erties)0 3866 y(3.1.3)g(V)-8 b(alues)0
4076 y(3.1.4)94 b(P)m(arameters)0 4305 y Fc(3.2)112 b(Other)37
b(elemen)m(ts)g(of)g(libical)0 4515 y Fh(In)26 b(addition)f(to)h(the)g
(core)e(iCal)h(classes,)g(libical)g(has)g(man)n(y)g(other)g(t)n(yp)r
(es,)h(structures,)g(classes)e(that)i(aid)f(in)h(creating)e(and)0
4628 y(using)j(iCal)g(comp)r(onen)n(ts.)104 4735 y Fa(1)p
eop
%%Page: 3 3
3 2 bop 0 -167 3900 5 v 0 -200 a Fb(4.)73 b(Di\033erences)31
b(F)-8 b(rom)31 b(RF)m(Cs)2732 b Fh(3)0 162 y Fb(3.2.1)94
b(En)m(umerations)0 372 y(3.2.2)g(T)m(yp)s(es)0 582 y(3.2.3)g(The)32
b(P)m(arser)0 792 y(3.2.4)94 b(Restrictions)0 1002 y(3.2.5)g(Error)32
b(ob)5 b(jects)0 1212 y(3.2.6)94 b(Memory)30 b(Managemen)m(t)0
1422 y(3.2.7)94 b(Storage)32 b(classes)0 1689 y Fe(4)131
b(Di\033erences)44 b(F)-11 b(rom)43 b(RF)l(Cs)0 1928
y Fh(Libical)c(has)f(b)r(een)h(designed)g(to)f(follo)n(w)h(the)g
(standards)e(as)i(closely)f(as)g(p)r(ossible,)j(so)e(that)g(the)g(k)n
(ey)f(ob)5 b(jects)39 b(in)g(the)0 2041 y(standards)30
b(are)g(also)g(k)n(eey)g(ob)5 b(jects)31 b(in)h(the)f(library)-7
b(.)47 b(Ho)n(w)n(ev)n(er,)30 b(there)h(are)f(a)h(few)g(areas)e(where)i
(the)h(sp)r(eci\034cations)e(are)0 2155 y(\(arguably\))g(irregular,)h
(and)g(follo)n(wing)g(them)h(exactly)f(w)n(ould)g(result)h(in)g(an)f
(unfriendly)h(in)n(terface.)49 b(These)31 b(deviations)0
2268 y(mak)n(e)c(libical)g(easier)f(to)i(use)f(b)n(y)h(main)n(taining)e
(a)h(self-similar)g(in)n(terface.)0 2560 y Fc(4.1)112
b(Pseudo)38 b(Comp)s(onen)m(ts)0 2770 y Fh(Libical)29
b(de\034nes)g(comp)r(onen)n(ts)g(for)g(groups)f(of)h(prop)r(erties)f
(that)i(lo)r(ok)f(and)g(act)g(lik)n(e)g(comp)r(onen)n(ts,)g(but)h(are)e
(not)i(de\034ned)0 2884 y(as)e(comp)r(onen)n(ts)h(in)g(the)g(sp)r
(eci\034cation.)41 b(XD)n(A)-7 b(YLIGHT)30 b(and)f(XST)-7
b(AND)n(ARD)30 b(are)e(notable)h(examples.)40 b(These)29
b(pseudo)0 2997 y(comp)r(onen)n(ts)d(group)f(prop)r(erties)g(within)i
(the)g(VTIMEZONE)g(comp)r(onen)n(ts.)36 b(F)-7 b(or)25
b(instanace,)h(the)h(timezone)f(prop)r(erties)0 3111
y(asso)r(ciated)f(with)i(da)n(yligh)n(t)e(sa)n(vings)g(time)i(starts)e
(with)i("BEGIN:D)n(A)-7 b(YLIGHT")27 b(and)f(ends)h(with)f("END:D)n(A)
-7 b(YLIGHT,)0 3224 y(just)32 b(lik)n(e)g(other)f(comp)r(onen)n(ts,)h
(but)g(is)g(not)g(de\034ned)g(as)f(a)g(comp)r(onen)n(t)g(in)h(RF)n
(C2445.)48 b(\()32 b(See)f(RF)n(C2445,)g(page)g(61)g(\))h(In)0
3338 y(Libical,this)d(grouping)e(is)i(represen)n(ted)e(b)n(y)i(the)g
(XD)n(A)-7 b(YLIGHT)30 b(comp)r(onen)n(t.)41 b(Standard)28
b(iCAL)h(comp)r(onen)n(ts)f(all)h(start)0 3451 y(with)f(the)g(letter)g
("V,")f(while)g(pseudo)g(comp)r(onen)n(ts)g(start)g(with"X.")0
3608 y(There)35 b(are)g(also)g(pseudo)h(comp)r(onen)n(ts)f(that)i(are)e
(conceptually)g(deriv)n(ed)g(classess)f(of)i(V)-9 b(ALARM.)37
b(RF)n(C2446)d(de\034nes)0 3721 y(what)d(prop)r(erties)f(ma)n(y)g(b)r
(e)h(included)g(in)g(eac)n(h)f(comp)r(onen)n(t,)i(and)e(for)h(V)-9
b(ALARM,)31 b(the)g(set)g(of)g(prop)r(erties)f(it)h(ma)n(y)f(ha)n(v)n
(e)0 3835 y(dep)r(ends)e(on)f(the)h(v)-5 b(alue)28 b(of)f(the)h(A)n
(CTION)f(prop)r(ert)n(y)-7 b(.)0 3992 y(F)g(or)19 b(instance,)j(if)e(a)
g(V)-9 b(ALARM)20 b(comp)r(onen)n(t)g(has)f(an)h(A)n(CTION)g(prop)r
(ert)n(y)e(with)j(the)f(v)-5 b(alue)20 b(of)g("A)n(UDIO,")f(the)h(comp)
r(onen)n(t)0 4105 y(m)n(ust)h(also)g(ha)n(v)n(e)f(an)h("A)-7
b(TT)g(A)n(CH")21 b(prop)r(ert)n(y)-7 b(.)34 b(Ho)n(w)n(ev)n(er,)20
b(if)i(the)g(A)n(CTION)f(v)-5 b(alue)21 b(is)g("DISPLA)-7
b(Y,")22 b(the)g(comp)r(onen)n(t)f(m)n(ust)0 4219 y(ha)n(v)n(e)26
b(a)i(DESCRIPTION)g(prop)r(ert)n(y)-7 b(.)0 4375 y(T)g(o)28
b(handle)g(these)g(v)-5 b(arious,)27 b(complex)h(restrictions,)f
(libical)h(has)g(pseudo)g(comp)r(onen)n(ts)f(for)h(eac)n(h)f(t)n(yp)r
(e)i(of)f(alarm:)37 b(XA)n(U-)0 4489 y(DIO)n(ALARM,)28
b(XDISPLA)-7 b(Y)g(ALARM,)30 b(XEMAILALARM)f(and)f(XPR)n(OCEDUREALARM.)
0 4780 y Fc(4.2)112 b(Com)m(bined)37 b(V)-9 b(alues)0
4990 y Fh(Man)n(y)34 b(v)-5 b(alues)34 b(can)g(tak)n(e)g(more)g(than)g
(one)h(t)n(yp)r(e.)58 b(TRIGGER,)35 b(for)f(instance,)i(can)e(ha)n(v)n
(e)g(a)g(v)-5 b(alue)34 b(t)n(yp)r(e)h(of)g(with)g(DU-)0
5104 y(RA)-7 b(TION)32 b(or)f(of)h(D)n(A)-7 b(TE-TIME.)33
b(These)f(m)n(ultiple)g(t)n(yp)r(es)g(mak)n(e)f(it)i(di\036cult)g(to)e
(create)g(routines)h(to)f(return)h(the)g(v)-5 b(alue)0
5217 y(asso)r(ciated)26 b(with)i(a)f(prop)r(ert)n(y)-7
b(.)0 5374 y(It)30 b(is)g(natural)g(to)f(ha)n(v)n(e)g(in)n(terfaces)g
(that)i(w)n(ould)e(return)h(the)g(v)-5 b(alue)30 b(of)g(a)g(prop)r(ert)
n(y)-7 b(,)29 b(but)i(it)f(is)g(cum)n(b)r(ersone)f(for)h(a)g(single)0
5488 y(routine)i(to)g(return)g(m)n(ultiple)h(t)n(yp)r(es.)51
b(So,)33 b(in)g(libical,)g(prop)r(erties)e(that)i(can)f(ha)n(v)n(e)f(m)
n(ultiple)i(t)n(yp)r(es)f(are)f(giv)n(en)h(a)g(single)0
5601 y(t)n(yp)r(e)26 b(that)g(is)g(the)g(union)g(of)g(their)g(RF)n
(C2445)e(t)n(yp)r(es.)36 b(F)-7 b(or)26 b(instance,)g(in)g(libical,)g
(the)g(v)-5 b(alue)26 b(of)g(the)g(TRIGGER)h(prop)r(ert)n(y)0
5715 y(resolv)n(es)e(to)j(struct)f(icaltriggert)n(yp)r(e.)35
b(This)28 b(t)n(yp)r(e)f(is)h(a)f(union)h(of)f(a)g(DURA)-7
b(TION)29 b(and)e(a)g(D)n(A)-7 b(TE-TIME.)p eop
%%Page: 4 4
4 3 bop 0 -167 3900 5 v 0 -200 a Fb(5.)73 b(Implemen)m(tation)29
b(Limitations)2539 b Fh(4)0 162 y Fc(4.3)112 b(Multi-V)-9
b(alued)36 b(Prop)s(erties)0 372 y Fh(Some)31 b(prop)r(erties,)h(suc)n
(h)f(as)g(CA)-7 b(TEGORIES)33 b(ha)n(v)n(e)d(only)h(one)g(v)-5
b(alue)32 b(t)n(yp)r(e,)h(but)f(eac)n(h)e(CA)-7 b(TEGORIES)33
b(prop)r(ert)n(y)d(can)0 485 y(ha)n(v)n(e)24 b(m)n(ultiple)h(v)-5
b(alue)25 b(instances.)35 b(This)25 b(also)f(results)g(in)h(a)g(cum)n
(b)r(ersome)f(in)n(terface)g(\025)g(CA)-7 b(TEGORIES)26
b(accessors)d(w)n(ould)0 599 y(ha)n(v)n(e)k(to)i(return)f(a)g(list)g
(while)h(all)f(other)g(accessors)e(returned)i(a)g(single)g(v)-5
b(alue.)39 b(In)29 b(libical,)g(all)f(prop)r(erties)f(ha)n(v)n(e)h(a)g
(single)0 712 y(v)-5 b(alue,)35 b(and)e(m)n(ulti-v)-5
b(alued)33 b(prop)r(erties)f(are)h(brok)n(en)f(do)n(wn)g(in)n(to)h(m)n
(ultiple)h(single)f(v)-5 b(alued)33 b(prop)r(erties)g(during)f
(parsing.)0 826 y(That)c(is,)f(an)g(input)i(line)e(lik)n(e,)0
1035 y Fd(CATEGORIES:)39 b(work,)i(home)0 1357 y Fh(b)r(ecomes)27
b(in)h(libical's)f(in)n(ternal)g(represen)n(tation)0
1566 y Fd(CATEGORIES:)39 b(work)0 1680 y(CATEGORIES:)g(home)0
2002 y Fh(Oddly)-7 b(,)34 b(RF)n(C2445)d(allo)n(ws)g(some)h(m)n(ulti-v)
-5 b(alued)33 b(prop)r(erties)f(\()h(lik)n(e)g(FREEBUSY)h(\))f(to)g
(exist)g(as)f(b)r(oth)h(a)f(m)n(ulti-v)-5 b(alues)0 2116
y(prop)r(ert)n(y)24 b(and)h(as)f(m)n(ultiple)h(single)g(v)-5
b(alue)24 b(prop)r(erties,)h(while)g(others)f(\()i(lik)n(e)e(CA)-7
b(TEGORIES)26 b(\))f(can)g(only)g(exist)f(as)h(single)0
2229 y(m)n(ulti-v)-5 b(alued)32 b(prop)r(erties.)48 b(This)31
b(mak)n(es)g(the)h(in)n(ternal)f(represen)n(tation)e(for)i(CA)-7
b(TEGORIES)33 b(illegal.)48 b(Ho)n(w)n(ev)n(er)30 b(when)0
2343 y(y)n(ou)d(con)n(v)n(ert)f(a)h(comp)r(onen)n(t)g(to)h(a)f(string,)
g(the)h(library)e(will)i(collect)f(all)g(of)h(the)g(CA)-7
b(TEGORIES)28 b(prop)r(erties)f(in)n(to)g(one.)0 2676
y Fe(5)131 b(Implemen)l(tation)44 b(Limitations)0 2971
y(6)131 b(Using)44 b(libical)0 3229 y Fc(6.1)112 b(Creating)37
b(Comp)s(onen)m(ts)0 3439 y Fh(There)e(are)g(three)h(w)n(a)n(ys)e(to)i
(create)e(comp)r(onen)n(ts)i(in)g(Libical:)53 b(creating)34
b(individual)i(ob)5 b(jects)35 b(and)h(assem)n(bling)e(them,)0
3553 y(building)28 b(en)n(tire)f(ob)5 b(jects)27 b(in)h(massiv)n(e)e(v)
-5 b(aargs)26 b(calls,)h(and)g(parsing)f(a)h(text)h(\034le)g(con)n
(taining)e(iCalendar)h(data.)0 3820 y Fb(6.1.1)94 b(Constructor)32
b(In)m(terfaces)0 4030 y Fh(Using)d(constructor)f(in)n(terfaces,)h(y)n
(ou)f(create)h(eac)n(h)f(of)i(the)f(ob)5 b(jects)29 b(sep)r(erately)g
(and)g(them)h(assem)n(ble)e(them)i(in)g(to)f(com-)0 4143
y(p)r(onen)n(ts:)p 0 4201 3900 4 v 0 4346 a Fd(icalcomponent)38
b(*event;)0 4460 y(icalproperty)g(*prop;)0 4574 y(icalparameter)g
(*param;)0 4687 y(struct)j(icaltimetype)e(atime;)0 4801
y(event)i(=)j(icalcomponent_n)o(ew)o(\(IC)o(AL)o(_V)o(EVE)o(NT)o(_C)o
(OMP)o(ON)o(EN)o(T\);)0 4914 y(prop)e(=)h(icalproperty_new)o(_d)o(tst)o
(am)o(p\()o(ati)o(me)o(\))37 b(;)0 5028 y(icalcomponent_ad)o(d_)o(pro)o
(pe)o(rt)o(y\(e)o(ve)o(nt)o(,)h(prop\);)0 5141 y(prop)k(=)h
(icalproperty_new)o(_u)o(id\()o(st)o(rd)o(up\()o("g)o(ui)o(d-1)o(.h)o
(os)o(t1.)o(co)o(m"\))o(\))37 b(\);)0 5255 y(icalcomponent_ad)o(d_)o
(pro)o(pe)o(rt)o(y\(e)o(ve)o(nt)o(,pr)o(op)o(\);)0 5369
y(prop=icalpropert)o(y_)o(new)o(_o)o(rg)o(ani)o(ze)o(r\()o(str)o(du)o
(p\()o("mr)o(bi)o(g@)o(hos)o(t.)o(com)o("\))o(\);)0 5482
y(param)k(=)j(icalparameter_n)o(ew)o(_ro)o(le)o(\(I)o(CAL)o(_R)o(OL)o
(E_C)o(HA)o(IR)o(\))0 5596 y(icalproperty_add)o(_p)o(ara)o(me)o(te)o
(r\(p)o(ro)o(p,)37 b(param\);)0 5709 y(icalcomponent_ad)o(d_)o(pro)o
(pe)o(rt)o(y\(e)o(ve)o(nt)o(,pr)o(op)o(\);)p eop
%%Page: 5 5
5 4 bop 0 -167 3900 5 v 0 -200 a Fb(6.)73 b(Using)32
b(libical)3190 b Fh(5)p 0 162 3900 4 v 0 312 a(While)31
b(w)n(e)g(are)f(on)h(this)g(example,)g(y)n(ou)g(should)f(notice)h(that)
g(libical)g(uses)g(a)f(semi-ob)5 b(ject-orien)n(ted)29
b(st)n(yle)i(of)g(in)n(terface.)0 425 y(Most)23 b(things)h(y)n(ou)f(w)n
(ork)g(with)h(are)f(ob)5 b(jects,)24 b(that)g(are)f(instan)n(tiated)g
(with)h(a)g(constructor)e(that)i(has)f("new")g(in)h(the)g(name.)0
539 y(Also)h(note)h(that,)g(other)f(than)h(the)g(ob)5
b(ject)26 b(reference,)f(most)g(structure)g(data)g(is)h(passed)f(in)h
(to)f(libical)h(routines)f(b)n(y)g(v)-5 b(alue.)0 652
y(Strings,)24 b(of)g(course,)f(are)g(passed)g(in)h(b)n(y)g(reference,)f
(but)i(libical)f(will)g(tak)n(e)f(o)n(wnership)f(of)i(the)g(memory)-7
b(,)24 b(so)f(y)n(ou)g(had)h(b)r(eter)0 766 y(strdup\(\))30
b(the)f(data)g(unless)g(y)n(ou)f(w)n(an)n(t)h(a)f(core)g(dump)i(when)f
(the)h(memory)e(is)h(freed)g(for)g(the)g(second)g(time.)42
b(Libical)29 b(has)0 879 y(some)e(complex)g(but)h(v)n(ery)f(regular)e
(memory)i(handling)g(rules.)37 b(These)27 b(are)f(detailed)i(in)g
(section)f(6.4)g(\(\).)0 1036 y(If)33 b(an)n(y)e(of)h(the)h
(constructors)d(fail,)k(they)f(will)f(return)g(0.)50
b(If)33 b(y)n(ou)f(try)g(to)g(insert)g(0)f(in)n(to)h(a)g(prop)r(ert)n
(y)f(or)h(comp)r(onen)n(t,)h(or)0 1149 y(use)j(a)g(zero-v)-5
b(alued)34 b(ob)5 b(ject)36 b(reference,)h(libical)f(will)h(either)f
(silen)n(tly)f(ignore)g(the)i(error)d(or)h(will)h(ab)r(ort)g(with)g(an)
g(error)0 1263 y(message.)61 b(This)36 b(b)r(eha)n(vior)e(is)i(con)n
(trolled)f(b)n(y)g(a)h(compile)g(time)g(\035ag)f(\(ICAL_ERR)n
(ORS_ARE_F)-9 b(A)i(T)g(AL\),)37 b(and)f(will)0 1377
y(ab)r(ort)27 b(b)n(y)g(default.)0 1649 y Fb(6.1.2)94
b(v)-5 b(aargs)32 b(Constructors)0 1859 y Fh(There)24
b(is)h(another)f(w)n(a)n(y)g(to)h(create)f(complex)g(comp)r(onen)n(ts,)
h(whic)n(h)g(is)g(arguable)e(more)h(elegan)n(t,)h(if)g(y)n(ou)f(are)g
(not)h(horri\034ed)0 1973 y(b)n(y)f(v)-5 b(arargs.)33
b(The)24 b(v)-5 b(arargs)22 b(constructor)g(in)n(terface)i(all)g(y)n
(ou)f(to)h(create)f(in)n(tricate)h(comp)r(onen)n(ts)f(in)i(a)e(single)h
(blo)r(c)n(k)g(of)g(text.)p 0 2042 V 174 2219 a Fd(calendar)40
b(=)349 2332 y(icalcomponent_v)o(an)o(ew\()523 2446 y(ICAL_VCALENDAR_C)
o(OM)o(PO)o(NEN)o(T,)523 2560 y(icalproperty_new)o(_v)o(er)o(sio)o(n\()
o(st)o(rdu)o(p\()o("2)o(.0")o(\)\))o(,)523 2673 y(icalproperty_new)o
(_p)o(ro)o(did)o(\(s)o(tr)o(dup)o(\(")o(-/)o(/RD)o(U)d
(Software//NONSGML)g(HandCal//EN"\)\),)523 2787 y(icalcomponent_va)o
(ne)o(w\()697 2900 y(ICAL_VEVENT_COMP)o(ONE)o(NT)o(,)697
3014 y(icalproperty_new)o(_dt)o(st)o(am)o(p\(a)o(ti)o(me)o(\),)697
3127 y(icalproperty_new)o(_ui)o(d\()o(st)o(rdu)o(p\()o("g)o(uid)o(-1)o
(.ho)o(st)o(1.)o(com)o("\))o(\),)697 3241 y(icalproperty_van)o(ew_)o
(or)o(ga)o(niz)o(er)o(\()872 3355 y(strdup\("mrbig@h)o(os)o(t.)o(com)o
("\))o(,)872 3468 y(icalparameter_n)o(ew)o(_r)o(ole)o(\(I)o(CA)o(L_R)o
(OL)o(E_C)o(HA)o(IR)o(\),)872 3582 y(0)872 3695 y(\),)697
3809 y(icalproperty_van)o(ew_)o(at)o(te)o(nde)o(e\()872
3922 y(strdup\("employe)o(e-)o(A@)o(hos)o(t.)o(co)o(m"\))o(,)872
4036 y(icalparameter_n)o(ew)o(_r)o(ole)o(\(I)o(CA)o(L_R)o(OL)o(E_R)o
(EQ)o(PA)o(RTI)o(CI)o(PA)o(NT\))o(,)872 4150 y(icalparameter_n)o(ew)o
(_r)o(svp)o(\(1)o(\),)872 4263 y(icalparameter_n)o(ew)o(_c)o(uty)o(pe)o
(\(I)o(CAL)o(_C)o(UTY)o(PE)o(_G)o(ROU)o(P\))o(,)872 4377
y(0)872 4490 y(\),)697 4604 y(icalproperty_new)o(_lo)o(ca)o(ti)o(on\()o
(st)o(rd)o(up\()o("1)o(CP)g(Conference)i(Room)j(4350"\)\),)697
4717 y(0)697 4831 y(\),)523 4945 y(0)523 5058 y(\);)p
0 5258 V 0 5408 a Fh(This)23 b(form)g(is)h(similar)e(to)i(the)f
(regular)f(constructor,)h(except)g(that)h(they)f(ha)n(v)n(e)g("v)-5
b(anew")22 b(instead)h(of)g("new")g(in)g(the)h(name.)0
5522 y(The)32 b(argumen)n(ts)f(are)g(similar)g(to)r(o,)j(except)e(that)
g(the)h(comp)r(onen)n(t)e(con)n(tstructor)g(can)h(ha)n(v)n(e)f(a)g
(list)i(of)f(prop)r(erties,)g(and)0 5635 y(the)f(prop)r(ert)n(y)f
(constructor)f(can)h(ha)n(v)n(e)f(a)i(list)g(or)f(parameters.)44
b(Be)30 b(sure)g(to)h(terminate)g(ev)n(ery)e(list)i(with)g(a)f('0',)i
(or)d(y)n(our)0 5749 y(co)r(de)e(will)h(crash,)f(if)h(y)n(ou)e(are)h
(luc)n(ky)-7 b(.)p eop
%%Page: 6 6
6 5 bop 0 -167 3900 5 v 0 -200 a Fb(6.)73 b(Using)32
b(libical)3190 b Fh(6)0 162 y Fb(6.1.3)94 b(P)m(arsing)32
b(T)-8 b(ext)32 b(Files)0 372 y Fh(The)g(\034nal)g(w)n(a)n(y)f(to)h
(create)f(comp)r(onen)n(ts)h(will)g(probably)f(b)r(e)h(the)h(most)f
(common;)i(y)n(ou)d(can)h(create)f(comp)r(onen)n(ts)g(from)0
485 y(RF)n(C2445)26 b(complian)n(t)h(text.)37 b(If)28
b(y)n(ou)f(ha)n(v)n(e)f(the)i(string)f(in)h(memory)-7
b(,)26 b(use)0 725 y Fd(icalcomponent*)38 b(icalparser_pars)o(e_)o(str)
o(in)o(g\()o(cha)o(r*)f(str\);)0 1078 y Fh(This)30 b(ma)n(y)f(seem)g(w)
n(asteful)h(if)g(y)n(ou)f(w)n(an)n(t)g(to)g(pull)i(a)e(large)f(comp)r
(onen)n(t)i(o\033)f(of)h(the)g(net)n(w)n(ork;)g(y)n(ou)f(ma)n(y)g
(prefer)g(to)g(parse)0 1191 y(the)f(comp)r(onen)n(t)f(line)h(b)n(y)f
(line.)37 b(This)28 b(is)f(p)r(ossible)g(to)r(o)h(b)n(y)f(using:)0
1431 y Fd(icalparser_get_l)o(in)o(e\(p)o(ar)o(se)o(r,r)o(ea)o(d_)o(str)
o(ea)o(m\))o(;)0 1545 y(icalparser_add_l)o(in)o(e\(p)o(ar)o(se)o(r,l)o
(in)o(e\))o(;)0 1658 y(icalparser_set_g)o(en)o(_da)o(ta)o(\(p)o(ars)o
(er)o(,s)o(tre)o(am)o(\))0 2011 y Fh(F)-7 b(or)27 b(an)g(example)g(of)h
(ho)n(w)f(to)g(use)h(this)f(t)n(yp)r(e)h(of)g(parsing,)e(see)h
(examples/parse_text.c)e(for)i(an)g(example.)0 2303 y
Fc(6.2)112 b(A)m(ccessing)37 b(Comp)s(onen)m(ts)0 2513
y Fh(Giv)n(en)30 b(a)g(reference)f(to)i(a)e(comp)r(onen)n(t,)i(y)n(ou)f
(probably)f(will)h(w)n(an)n(t)g(to)g(access)f(the)i(prop)r(erties,)f
(parameters)e(and)j(v)-5 b(alues)0 2626 y(inside.)35
b(Libical)22 b(in)n(terface)g(let)h(y)n(ou)e(\034nd)i(sub-comp)r(onen)n
(t,)g(add)f(and)g(remo)n(v)n(e)f(sub-comp)r(onen)n(ts,)h(and)h(do)f
(the)h(same)e(three)0 2740 y(op)r(erations)26 b(on)h(prop)r(erties.)0
3013 y Fb(6.2.1)94 b(Finding)30 b(Comp)s(onen)m(ts)0
3223 y Fh(T)-7 b(o)27 b(\034nd)h(a)f(sub-comp)r(onen)n(t)g(of)h(a)f
(comp)r(onen)n(t,)g(use:)0 3462 y Fd(icalproperty*)38
b(icalcomponent_ge)o(t_)o(fir)o(st)o(_c)o(omp)o(on)o(en)o(t\()1482
3576 y(icalcomponent*)f(component,)1482 3689 y(icalcomponent_k)o(in)o
(d)h(kind\);)0 4042 y Fh(This)27 b(routine)g(will)h(return)f(a)g
(reference)g(to)g(the)h(\034rst)f(comp)r(onen)n(t)g(of)h(the)f(t)n(yp)r
(e)h('kind.')37 b(The)28 b(k)n(ey)e(kind)i(v)-5 b(alues,)27
b(listed)h(in)0 4156 y(icalen)n(ums.h)f(are:)p 0 4209
3900 4 v 0 4386 a Fd(ICAL_ANY_COMPONE)o(NT)0 4499 y(ICAL_VEVENT_COMP)o
(ON)o(ENT)0 4613 y(ICAL_VTODO_COMPO)o(NE)o(NT)0 4726
y(ICAL_VJOURNAL_CO)o(MP)o(ONE)o(NT)0 4840 y(ICAL_VCALENDAR_C)o(OM)o
(PON)o(EN)o(T)0 4954 y(ICAL_VFREEBUSY_C)o(OM)o(PON)o(EN)o(T)0
5067 y(ICAL_VALARM_COMP)o(ON)o(ENT)p 0 5267 V 0 5417
a Fh(These)g(are)g(only)g(the)h(most)f(common)g(comp)r(onen)n(ts;)g
(there)h(are)e(man)n(y)h(more)g(listed)h(in)g(icalen)n(ums.h.)0
5573 y(As)h(y)n(ou)f(migh)n(t)h(guess,)g(if)g(there)g(is)g(more)f(than)
h(one)f(sub)r(comp)r(onen)n(t)h(of)g(the)h(t)n(yp)r(e)f(y)n(ou)f(ha)n
(v)n(e)g(c)n(hosen,)g(this)h(routine)g(will)0 5687 y(return)e(only)g
(the)h(\034rst.)37 b(to)27 b(get)h(at)f(the)h(others,)f(y)n(ou)f(need)i
(to)g(iterate)f(through)f(the)i(comp)r(onen)n(t.)p eop
%%Page: 7 7
7 6 bop 0 -167 3900 5 v 0 -200 a Fb(6.)73 b(Using)32
b(libical)3190 b Fh(7)0 162 y Fb(6.2.2)94 b(In)m(terating)32
b(Through)g(Comp)s(onen)m(ts)0 372 y Fh(Iteration)27
b(requires)f(a)h(second)g(routine)g(to)h(get)f(the)h(next)g(sub)r(comp)
r(onen)n(t)f(after)g(the)h(\034rst:)0 611 y Fd(icalcomponent*)38
b(icalcomponent_g)o(et)o(_ne)o(xt)o(_c)o(omp)o(on)o(en)o(t\(i)o(ca)o
(lco)o(mp)o(on)o(ent)o(*)f(component,)0 725 y(icalcomponent_ki)o(nd)g
(kind\);)0 1078 y Fh(With)25 b(the)g('\034rst')f(and)g('next')h
(routines,)g(y)n(ou)e(can)h(create)g(a)g(for)f(lo)r(op)h(to)h(iterate)f
(through)f(all)h(of)h(a)f(comp)r(onen)n(ts)g(sub)r(com-)0
1191 y(p)r(onen)n(ts)p 0 1261 3900 4 v 87 1444 a Fd(for\(c)42
b(=)h(icalcomponent_g)o(et_)o(fi)o(rs)o(t_c)o(om)o(po)o(nen)o(t\()o(co)
o(mp,)o(IC)o(AL_)o(AN)o(Y_)o(COM)o(PO)o(NE)o(NT\))o(;)392
1558 y(c)g(!=)g(0;)392 1671 y(c)g(=)g(icalcomponent_get)o(_n)o(ext)o
(_c)o(om)o(pon)o(en)o(t\()o(com)o(p,)o(ICA)o(L_)o(AN)o(Y_C)o(OM)o(PO)o
(NEN)o(T\))o(\))0 1785 y({)261 1899 y(do_something\(c\);)0
2012 y(})p 0 2212 V 0 2362 a Fh(This)32 b(co)r(de)f(bit)h(wil)g
(iterate)g(through)f(all)g(of)h(the)g(sub)r(comp)r(onen)n(ts)f(in)h
('comp')g(but)g(y)n(ou)f(can)g(select)h(a)f(sp)r(eci\034c)h(t)n(yp)r(e)
g(of)0 2476 y(comp)r(onen)n(t)27 b(b)n(y)h(c)n(hanging)e
(ICAL_ANY_COMPONENT)i(to)f(another)g(comp)r(onen)n(t)g(t)n(yp)r(e.)0
2748 y Fb(6.2.3)94 b(Remo)m(ving)29 b(Comp)s(onen)m(ts)0
2958 y Fh(Libical)h(comp)r(onen)n(t)g(ha)n(v)n(e)f(in)n(ternal)h
(iterators,)f(so)h(y)n(ou)g(can)g(only)g(ha)n(v)n(e)f(one)h(iteration)g
(o)n(v)n(er)e(a)i(comp)r(onen)n(t)g(at)h(a)f(time.)0
3072 y(Remo)n(ving)23 b(an)h(elemen)n(t)h(from)f(a)g(list)g(while)h
(iterating)e(through)h(the)h(list)f(can)g(cause)g(problems,)g(since)g
(y)n(ou)g(will)g(probably)0 3185 y(b)r(e)e(remo)n(ving)e(the)i(elemen)n
(t)g(that)g(the)g(in)n(ternal)f(iterator)f(p)r(oin)n(ts)i(to.)34
b(This)22 b(will)g(result)f(in)h(the)g(iteration)f(lo)r(op)h
(terminating)0 3299 y(immediately)29 b(after)f(remo)n(ving)g(the)h
(elemen)n(t.)41 b(T)-7 b(o)28 b(a)n(v)n(oid)g(the)h(problem,)f(y)n(ou)h
(will)g(need)g(to)f(step)h(the)h(iterator)d(ahead)h(of)0
3413 y(the)g(elemen)n(t)g(y)n(ou)e(are)h(going)f(to)i(remo)n(v)n(e,)e
(lik)n(e)h(this:)p 0 3482 V 0 3665 a Fd(for\(c)41 b(=)j
(icalcomponent_g)o(et)o(_fi)o(rs)o(t_)o(com)o(po)o(ne)o(nt\()o(pa)o(re)
o(nt_)o(co)o(mp,)o(IC)o(AL)o(_AN)o(Y_)o(CO)o(MPO)o(NE)o(NT)o(\);)305
3779 y(c)f(!=)g(0;)305 3893 y(c)g(=)g(next)0 4006 y({)174
4120 y(next)f(=)h(icalcomponent_get)o(_n)o(ex)o(t_c)o(om)o(po)o(nen)o
(t\()o(pa)o(ren)o(t_)o(com)o(p,)o(IC)o(AL_)o(AN)o(Y_)o(COM)o(PO)o(NE)o
(NT\))o(;)174 4233 y(icalcomponent_rem)o(ov)o(e_)o(com)o(po)o(ne)o
(nt\()o(pa)o(re)o(nt_)o(co)o(mp)o(,c\))o(;)0 4347 y(})p
0 4547 V 0 4763 a Fb(6.2.4)94 b(W)-8 b(orking)31 b(with)g(prop)s
(erties)g(and)h(parameters)0 4973 y Fh(Finding,)g(iterating)f(and)g
(remo)n(ving)e(prop)r(erties)h(w)n(orks)g(the)h(same)g(as)f(it)i(do)r
(es)e(for)h(comp)r(onen)n(ts,)g(using)g(the)h(prop)r(ert)n(y-)0
5087 y(sp)r(eci\034c)c(or)e(parameter-sp)r(eci\034c)g(in)n(terfaces:)0
5326 y Fd(icalproperty*)38 b(icalcomponent_ge)o(t_)o(fir)o(st)o(_p)o
(rop)o(er)o(ty)o(\()218 5440 y(icalcomponent*)g(component,)218
5553 y(icalproperty_kin)o(d)f(kind\);)0 5667 y(icalproperty*)h
(icalcomponent_ge)o(t_)o(nex)o(t_)o(pr)o(ope)o(rt)o(y\()218
5780 y(icalcomponent*)g(component,)p eop
%%Page: 8 8
8 7 bop 0 -167 3900 5 v 0 -200 a Fb(6.)73 b(Using)32
b(libical)3190 b Fh(8)218 162 y Fd(icalproperty_kin)o(d)37
b(kind\);)0 275 y(void)42 b(icalcomponent_ad)o(d_)o(pr)o(ope)o(rt)o
(y\()218 389 y(icalcomponent*)c(component,)218 502 y(icalproperty*)g
(property\);)0 616 y(void)k(icalcomponent_re)o(mo)o(ve)o(_pr)o(op)o(er)
o(ty\()218 730 y(icalcomponent*)c(component,)218 843
y(icalproperty*)g(property\);)0 957 y(icalparameter*)g(icalproperty_ge)
o(t_)o(fir)o(st)o(_p)o(ara)o(me)o(te)o(r\()218 1070 y(icalproperty*)g
(prop,)218 1184 y(icalparameter_ki)o(nd)f(kind\);)0 1297
y(icalparameter*)h(icalproperty_ge)o(t_)o(nex)o(t_)o(pa)o(ram)o(et)o
(er)o(\()218 1411 y(icalproperty*)g(prop,)218 1525 y(icalparameter_ki)o
(nd)f(kind\);)0 1638 y(void)42 b(icalproperty_add)o(_p)o(ar)o(ame)o(te)
o(r\()218 1752 y(icalproperty*)c(prop,)218 1865 y(icalparameter*)g
(parameter\);)0 1979 y(void)k(icalproperty_rem)o(ov)o(e_)o(par)o(am)o
(et)o(er\()218 2092 y(icalproperty*)c(prop,)218 2206
y(icalparameter_ki)o(nd)f(kind\);)0 2589 y Fb(6.2.5)94
b(Getting)31 b(V)-8 b(alues)0 2799 y(6.2.6)94 b(Setting)31
b(V)-8 b(alues)0 3009 y(6.2.7)94 b(Getting)31 b(P)m(arameters)0
3219 y(6.2.8)94 b(Setting)31 b(P)m(arameters)0 3429 y(6.2.9)94
b(Remo)m(ving)29 b(P)m(arameters)0 3639 y(6.2.10)93 b(Chec)m(king)32
b(Comp)s(onen)m(t)e(V)-8 b(alidit)m(y)0 3868 y Fc(6.3)112
b(Storing)37 b(Ob)6 b(jects)0 4078 y Fh(The)27 b(libical)g
(distribution)h(inclues)f(a)g(sep)r(erate)f(library)-7
b(,)26 b(libicalss,)h(that)g(allo)n(ws)f(y)n(ou)g(to)i(store)e(iCal)h
(comp)r(onen)n(t)g(data)f(to)0 4192 y(disk)h(in)h(a)f(v)-5
b(ariet)n(y)27 b(of)h(w)n(a)n(ys.)35 b(This)27 b(library)g(is)g(do)r
(cumen)n(ted)h(sep)r(erately)-7 b(.)36 b(\()28 b(&)f(curren)n(tly)-7
b(,)27 b(not)g(at)h(all.)36 b(\))0 4480 y Fc(6.4)112
b(Memory)37 b(Managemen)m(t)0 4690 y Fh(Libical)25 b(relies)f(hea)n
(vily)g(on)h(dynamic)g(allo)r(cation)f(for)h(b)r(oth)h(the)f(core)f(ob)
5 b(jects)25 b(and)g(for)f(the)i(strings)e(used)h(to)g(hold)g(v)-5
b(alues.)0 4804 y(Some)34 b(of)f(this)h(memory)f(the)h(library)f
(caller)g(o)n(wns)g(and)g(m)n(ust)h(free,)h(and)f(some)f(of)h(the)g
(memory)f(is)h(managed)e(b)n(y)i(the)0 4917 y(library)-7
b(.)36 b(Here)27 b(is)g(a)g(summary)g(of)h(the)g(memory)e(rules.)0
5138 y Fb(1\))208 5281 y Fh(If)k(the)g(function)g(name)g(has)f
Fd(")p Fh(new)p Fd(")g Fh(in)h(it,)h(the)f(caller)f(gets)g(con)n(trol)g
(of)h(the)g(memory)-7 b(.)42 b(\()31 b(suc)n(h)e(as)g(icalcomp)r(onen-)
208 5394 y(t_new\(\),)f(or)e(icalprop)r(ert)n(y_new_clone\(\))f(\))0
5566 y Fb(2\))208 5709 y Fh(If)j(y)n(ou)g(got)g(the)h(memory)f(from)g
(a)g(routine)g(with)h(new)f(in)h(it,)g(y)n(ou)f(m)n(ust)h(call)f(the)h
(corresp)r(onding)d(*_free)i(routine)208 5823 y(to)f(free)g(the)h
(memory)-7 b(.)36 b(\()28 b(Use)g(icalcomp)r(onen)n(t_free\(\))e(to)i
(free)f(ob)5 b(jects)27 b(created)g(with)h(icalcomp)r(onen)n
(t_new\(\)\))p eop
%%Page: 9 9
9 8 bop 0 -167 3900 5 v 0 -200 a Fb(6.)73 b(Using)32
b(libical)3190 b Fh(9)0 162 y Fb(3\))208 307 y Fh(If)29
b(the)g(function)g(name)f(has)g Fd(")p Fh(add)p Fd(")g
Fh(in)h(it,)g(the)g(caller)e(is)i(transfering)e(con)n(trol)g(of)i(the)g
(memory)f(to)g(the)h(routine.)40 b(\()208 420 y(icalprop)r(ert)n
(y_add_parameter\(\))23 b(\))0 596 y Fb(4\))208 741 y
Fh(If)29 b(the)h(function)g(name)f(has)g Fd(")p Fh(remo)n(v)n(e)p
Fd(")e Fh(in)j(it,)g(the)g(caller)f(passes)f(in)i(a)f(p)r(oin)n(ter)g
(to)g(an)g(ob)5 b(ject)29 b(and)h(after)f(the)g(call)208
855 y(returns,)j(the)h(caller)e(o)n(wns)g(the)h(ob)5
b(ject.)50 b(So,)33 b(b)r(efore)f(y)n(ou)f(call)h(icalcomp)r(onen)n
(t_remo)n(v)n(e_prop)r(ert)n(y\(comp,fo)r(o\),)208 968
y(y)n(ou)26 b(do)i(not)f(o)n(wn)g Fd(")p Fh(fo)r(o)p
Fd(")g Fh(and)g(after)g(the)h(call)f(returns,)g(y)n(ou)g(do.)0
1145 y Fb(5\))208 1290 y Fh(If)d(the)g(routine)f(returns)g(a)g(string,)
h(libical)g(o)n(wns)f(the)h(memory)f(and)g(will)h(put)g(it)h(on)e(a)g
(ring)g(bu\033er)h(to)g(reclaim)f(later.)208 1403 y(Y)-7
b(ou'd)27 b(b)r(etter)h(strdup\(\))g(it)g(if)g(y)n(ou)f(w)n(an)n(t)g
(to)h(k)n(eep)f(it,)h(and)f(y)n(ou)g(don't)h(ha)n(v)n(e)e(to)h(delete)h
(it.)0 1693 y Fc(6.5)112 b(Error)36 b(Handling)0 1903
y Fh(Libical)27 b(has)g(sev)n(eral)e(error)h(handling)h(mec)n(hanisms)f
(for)h(the)h(v)-5 b(arioust)n(yp)r(es)25 b(of)j(programming,)d(seman)n
(tic)i(and)g(syn)n(tactic)0 2017 y(errors)e(y)n(ou)i(ma)n(y)g(encoun)n
(ter.)0 2288 y Fb(6.5.1)94 b(Return)31 b(v)-5 b(alues)0
2498 y Fh(Man)n(y)29 b(library)f(routines)g(signal)h(errors)e(through)h
(their)h(return)g(v)-5 b(alues.)42 b(All)30 b(routines)e(that)i(return)
f(a)f(p)r(oin)n(ter,)i(suc)n(h)f(as)0 2611 y(icalcomp)r(onen)n
(t_new\(\),)36 b(will)f(return)f(0)g(\()h(zero)f(\))h(on)f(a)g(fatal)h
(error.)56 b(Some)35 b(routines)f(will)g(return)h(a)f(v)-5
b(alue)34 b(of)h(en)n(um)0 2725 y(icalerroren)n(um.)0
2996 y Fb(6.5.2)94 b(icalerrno)0 3206 y Fh(Most)23 b(routines)f(will)h
(set)g(the)g(global)f(error)f(v)-5 b(alue)23 b(icalerrno)e(on)h
(errors.)33 b(This)23 b(v)-5 b(ariable)22 b(is)h(an)f(en)n(umeration;)i
(p)r(ermissable)0 3320 y(v)-5 b(alues)21 b(can)h(b)r(e)g(found)g(in)g
(libical/icalerror.h.)32 b(If)22 b(the)g(routine)g(returns)f(an)g(en)n
(um)h(icalerroren)n(um,)f(then)h(the)g(return)f(v)-5
b(alue)0 3433 y(will)28 b(b)r(e)g(the)g(same)f(as)g(icalerrno.)35
b(Y)-7 b(ou)27 b(can)g(use)h(icalerror_strerror\(\))22
b(to)28 b(get)f(a)g(string)g(that)h(describ)r(es)f(the)h(error)0
3704 y Fb(6.5.3)94 b(X-LIC-ERR)m(OR)0 3914 y Fh(The)38
b(library)f(handles)g(seman)n(tic)g(and)h(syn)n(tactic)f(errors)f(in)i
(comp)r(onen)n(ts)g(b)n(y)f(inserting)g(errors)f(prop)r(erties)h(in)n
(to)h(the)0 4028 y(comp)r(onen)n(ts.)k(If)30 b(the)g(parser)d(cannot)i
(parse)g(incoming)g(text)g(\()h(a)f(syn)n(tactic)g(error)e(\))j(or)f
(if)h(the)g(icalrestriction_c)n(hec)n(k\(\))0 4141 y(routine)j
(indicates)h(that)f(the)h(comp)r(onen)n(t)g(do)r(es)f(not)h(meet)g(the)
g(requirmen)n(ts)e(of)i(RF)n(C2446)d(\()j(a)g(seman)n(tic)f(error\))f
(the)0 4255 y(library)g(will)h(insert)g(prop)r(erties)f(of)h(the)h(t)n
(yp)r(e)f(X-LIC-ERR)n(OR)g(to)g(describ)r(e)g(the)g(error.)52
b(Here)33 b(is)g(an)g(example)g(of)g(the)0 4368 y(error)26
b(prop)r(ert)n(y:)0 4598 y Fd(X-LIC-ERROR;X-LI)o(C-)o(ERR)o(OR)o(TY)o
(PE=)o(IN)o(VA)o(LID)o(_I)o(TI)o(P)38 b(:Failed)i(iTIP)i(restrictions)d
(for)j(property)e(DTSTART.)g(Expected)g(1)k(instances)39
b(of)k(the)f(property)f(and)h(got)g(0)0 4942 y Fh(This)35
b(error)f(resulted)h(from)g(a)g(call)g(to)h(icalrestriction_c)n(hec)n
(k\(\),)f(whic)n(h)g(disco)n(v)n(ered)e(that)j(the)g(comp)r(onen)n(t)f
(do)r(es)g(not)0 5056 y(ha)n(v)n(e)26 b(a)i(DTST)-7 b(AR)g(T)28
b(prop)r(ert)n(y)-7 b(,)27 b(as)g(required)f(b)n(y)h(RF)n(C2445.)0
5212 y(There)g(are)g(a)g(few)h(routines)e(to)i(manipulate)f(error)f
(prop)r(erties:)0 5369 y(Routine)g(Purp)r(ose)g(v)n(oid)f
(icalrestriction_c)n(hec)n(k\(\))e(Chec)n(k)i(a)h(comp)r(onen)n(t)f
(against)g(RF)n(C2446)e(and)j(insert)g(error)d(prop)r(er-)0
5482 y(ties)e(to)g(indicate)g(an)n(y)f(non-complianes)g(in)n(t)h
(icalcomp)r(onen)n(t_coun)n(t_errors\(\))d(Return)j(the)g(n)n(um)n(b)r
(er)g(of)g(error)e(prop)r(erties)0 5596 y(in)33 b(a)f(comp)r(onen)n(t)h
(v)n(oid)f(icalcomp)r(onen)n(t_strip_errors\(\))d(Remo)n(v)n(e)j(all)g
(error)f(prop)r(erties)h(in)h(a)f(comp)r(onen)n(t)h(v)n(oid)f(ical-)0
5709 y(comp)r(onen)n(t_con)n(v)n(ert_errors\(\))18 b(Con)n(v)n(ert)k
(some)g(error)f(prop)r(erties)h(in)n(to)h(REQUEST-ST)-7
b(A)g(TUS)24 b(prop)r(erties)e(to)h(indicate)0 5823 y(the)28
b(inabilit)n(y)f(to)h(pro)r(cess)e(the)i(comp)r(onen)n(t)f(as)g(an)h
(iTIP)g(request.)p eop
%%Page: 10 10
10 9 bop 0 -167 3900 5 v 0 -200 a Fb(7.)73 b(Useful)32
b(Recipies)3026 b Fh(10)0 162 y Fc(6.6)112 b(Naming)36
b(Standard)0 372 y Fh(Structures)26 b(that)i(y)n(ou)e(access)f(with)j
(the)f("struct")f(k)n(eyw)n(ord,)f(suc)n(h)h(as)h("struct)f(icaltimet)n
(yp)r(e")g(are)g(things)h(that)g(y)n(ou)f(are)0 485 y(allo)n(w)n(ed)g
(to)i(see)f(inside)g(and)h(p)r(ok)n(e)f(at.)0 642 y(Structures)33
b(that)h(y)n(ou)e(access)g(though)i(a)f(t)n(yp)r(edef,)i(suc)n(h)e(as)g
("icalcomp)r(onen)n(t")e(are)i(things)g(where)g(all)g(of)h(the)f(data)g
(is)0 755 y(hidden.)0 912 y(Comp)r(onen)n(t)28 b(names)g(that)h(start)f
(with)h("V")f(are)f(part)h(of)h(RF)n(C)f(2445)f(or)g(another)h(iCal)g
(standard.)38 b(Comp)r(onen)n(t)29 b(names)0 1025 y(that)h(start)f
(with)i("X")e(are)g(also)g(part)g(of)h(the)g(sp)r(ec,)g(but)h(they)f
(are)f(not)h(actually)f(comp)r(onen)n(ts)g(in)h(the)g(sp)r(ec.)44
b(Ho)n(w)n(ev)n(er,)0 1139 y(they)34 b(lo)r(ok)f(and)g(act)h(lik)n(e)f
(comp)r(onen)n(ts,)h(so)f(they)h(are)f(comp)r(onen)n(ts)g(in)h
(libical.)55 b(Names)33 b(that)h(start)f(with)h("XLIC")f(or)0
1253 y("X-LIC")26 b(are)h(not)h(part)f(of)g(an)n(y)g(iCal)g(sp)r(ec.)37
b(They)27 b(are)g(used)h(in)n(ternally)e(b)n(y)i(libical.)0
1409 y(En)n(ums)d(that)f(iden)n(tify)h(a)f(comp)r(onen)n(t,)h(prop)r
(ert)n(y)-7 b(,)24 b(v)-5 b(alue)24 b(or)g(parameter)e(end)j(with)g
("_COMPONENT,")e("_PR)n(OPER-)0 1523 y(TY,")k("_V)-9
b(ALUE,")28 b(or)e("_P)-7 b(ARAMETER"s)0 1679 y(En)n(ums)31
b(that)f(iden)n(tify)h(a)f(parameter)f(v)-5 b(alue)30
b(ha)n(v)n(e)f(the)i(name)f(of)h(the)f(parameter)f(as)h(the)h(second)e
(w)n(ord.)45 b(F)-7 b(or)29 b(instance:)0 1793 y(ICAL_R)n(OLE_REQP)-7
b(AR)g(TICIP)g(ANT)29 b(or)d(ICAL_P)-7 b(AR)g(TST)g(A)g(T_A)n(CCEPTED.)
0 1949 y(The)28 b(en)n(ums)f(for)g(the)h(parts)f(of)g(a)g(recurarance)e
(rule)j(and)f(request)g(statuses)g(are)f(irregular.)0
2287 y Fe(7)131 b(Useful)44 b(Recipies)0 2526 y Fh(Iteration)0
2683 y(Cop)n(ying)24 b(comp)r(onen)n(ts.)36 b(Remem)n(b)r(er)25
b(that)g(y)n(ou)g(m)n(ust)g(clone)g(or)f(remo)n(v)n(e)g(an)h(ob)5
b(ject)25 b(b)r(efore)g(putting)h(in)f(on)h(another)e(list.)0
2839 y(Finding)k(compliance)f(errors)0 3177 y Fe(8)131
b(P)l(erformance)0 3416 y Fh(Chec)n(king)27 b(restrictions)f(is)h
(computationally)g(exp)r(ensiv)n(e.)0 3754 y Fe(9)131
b(Hac)l(ks)45 b(and)e(Bugs)0 3993 y Fh(There)22 b(are)f(a)g(lot)h(of)g
(hac)n(ks)f(in)i(the)f(library)f(\025)h(bits)g(of)g(co)r(de)g(that)g(I)
g(am)g(not)g(proud)g(of)g(and)g(should)g(propbably)f(b)r(e)h(c)n
(hanged.)0 4107 y(These)27 b(are)g(mark)n(ed)f(with)i(the)g(commen)n(t)
g(string)e("HA)n(CK.")p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF