kjx2:2:by nameby namevabldd kpA#:2:2:#p./A k>pM2:2:2:#pM./lpp_name""D4 R I vac.html.zh_CN { vac.html.zh_CN.C 5.0.2.0 01 N U zh_CN C for AIX Compiler Documentation (HTML)--Simplified Chinese [ *prereq vac.C 5.0.2.0 % /usr/vac/html/zh_CN 8 /usr/lib/objrepos 280 /usr/vac/html/zh_CN/doc 880 /usr/vac/html/zh_CN/doc/compiler 8 /usr/vac/html/zh_CN/doc/compiler/concepts 968 /usr/vac/html/zh_CN/doc/compiler/images 1208 /usr/vac/html/zh_CN/doc/compiler/ref 4144 /usr/vac/html/zh_CN/doc/compiler/tasks 936 /usr/vac/html/zh_CN/doc/debugger 8 /usr/vac/html/zh_CN/doc/debugger/concepts 120 /usr/vac/html/zh_CN/doc/debugger/images 320 /usr/vac/html/zh_CN/doc/debugger/ref 184 /usr/vac/html/zh_CN/doc/debugger/tasks 328 /usr/vac/html/zh_CN/doc/debugger/ui 368 /usr/vac/html/zh_CN/doc/images 544 INSTWORK 512 528 % % % IY17899 19 C FOR AIX 5.0.2.0 MAINTENANCE LEVEL % ] vac.html.zh_CN.search 5.0.2.0 01 N B en_US C for AIX Compiler Documentation Search--Simplified Chinese [ *prereq vac.html.zh_CN.C 5.0.2.0 *prereq vac.html.common.search 5.0.2.0 *coreq vac.html.DBCS.search 5.0.2.0 >0 { >1 { *prereq bos.rte v<5 *prereq IMNSearch.rte.DBCS 1.2.0.2 } >1 { *prereq bos.rte v=5 r=0 *prereq IMNSearch.rte.DBCS 2.3.1.0 } } % /usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn 8 /usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data 2968 /usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/work 8 /usr/vac/html/zh_CN/doc 8 /usr/lib/objrepos 8 INSTWORK 128 1024 /lpp/vac.html.zh_CN 96 /var/docsearch/indexes/czhcn 8 /etc/objrepos 8 /var/docsearch/indexes/czhcn/data 2968 /var/docsearch/indexes/czhcn/work 8 % % % IY17899 19 C FOR AIX 5.0.2.0 MAINTENANCE LEVEL % ] } kA#:#:#:#C./usrnaA k.A#:#:#:#D./usr/lpp""DA klA#:1:1:#E./usr/lpp/vac.html.zh_CN2IxA lemx2:2:2:#F)./usr/lpp/vac.html.zh_CN/liblpp.a>m  / =acehilmoprst.4Cdnuvz",N_bgy012356789:EFILfkwx\RSADJOPTUYjq BMZ`-GH(KVX)<>Q)  2BIAABA  `b0o9K!= AD.27m@F0UUrLLG@AB@Q@|9L&b蘧GSKke29@@B0=96Q9@̙aFN2VC6 e'jg庋|hl؎lfՅG$ Vkٕ+5.4@r9880O H@(0@A ߁O O)d6yaBȣ5Cͨ9aax&><:*"9QskVLU1O61*eFr# `{skNl&s !' 3 +*0e+7./miF 6OrWD3uٱJ˫ ƏH0,׳*&Vj]qUhFr!pp0o BA  `b8jtх A@  I$ @P`0@$ Rm`h…Q0Xxi;9K0aHƸiƸ"[4ࠨ4 pZ?oU)Ta2G)d6yaB)i;9K0v\VkGMkG%N 3NP ( RuJO)+rCk{F,6m`= evN{&kGMkG%N 3NP ( RuJO)+rCk{F,6m`= evN{'kd@DLd\b?tl\b?-ppPTGɚp@Y@ 8-ӪRxN0XxX<0dYkP.+s;t9 GDON5#N&N5#٧G|(h@zM:'aNJ9K!= AHEI]}х \a'=<)=88-8KfQfP@ G4ꔞLӆRuJO)+rCk{F,qӂ [X  8 @PJfvrmgaB츮Idq1lik5o4Ő)=88-8KfIG|  G4ꔞh…q]0b*j:,HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G88@?mb(l4A@1(EI]}х \a'=ŲU Hm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ[X  8BAI1(EI]}х \a'=ŲUU 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0@ňPiĂbP6m`= evN{'kdKYCX#"c'elӒI(4ၡhTRNJq0cх {4a,BN$ $ġm'g)v{F.ˊqNVKbƼ@HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8!!Ӊ$'YkP.+s;\L[%ZZ--!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӂ,BN$  'YkP.+s;\L[%ZZ-q!R?"&2zq1:q6Zq19$3N[Ji)h…q]0b*il]GȆHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8H(*?mb(l4AI1(EI]}х \a'=ŲUsCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfňPiăP6m`= evN{'kdKY丘CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df p4ňPiĂด"ͤ.X>h…q]0b*k9a 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=r@k!CaP6m`= evN{'kdKYCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q `&%i;9K0v\Wk$vJQm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ,BN$/YkP.+s;\L[%ZZ`(2X#"c'elӒI(4ၡhTRNJq0cх {4A! Ӊ$ ġm'g)v{F.ˊqNVXSa 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=r@@GX H0 ?8"ͤ.X>h…q]0b*k9T|m`kGMkG%NI$>LӆRuJO)+rCk{F,qӃ,BN$YkP.+s;\L[%ZZbCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfňPiăP6m`= evN{'kdKY益CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfPňPiă P6m`= evN{'kdKY}jCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df$DňPiāؔ"ͤ.X>h…q]0b*h|@)=88-8KfIG|  G4ꔞh…q]0b*kCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df$%b6q$x"ͤ.X>h…q]0b*k+2X#"c'elӒI(4ၡhTRNJq0cх {4ऀ,BN$ ġm'g)v{F.ˊqNV^ q 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=r@BBk!CaH@? B,NR(] 9읮&--fa 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0 pTňPiĀP6m`= evN{'kdKY`CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df$ b6q$P6m`= evN{'kdKY`X)=88-8KfIG|  G4ꔞh…q]0b*kqt!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӃ[X  8A|JfvrmgaB츮Idq1lik6 N 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p  DňPiăB,NR(] 9읮&--f)=88-8KfIG|  G4ꔞh…q]0b*l(9)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӁ,BN$rBLJfvrmgaB츮Idq1lik4a 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pP`@ňPiĒ bP6m`= evN{'kdKYzBX#"c'elӒI(4ၡhTRNJq0cх {4@Ӊ$ ġm'g)v{F.ˊqNVc*)=88-8KfIG|  G4ꔞh…q]0b*leXP<HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 Ӊ$ġm'g)v{F.ˊqNVc*Ջ!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ,BN$ġm'g)v{F.ˊqNVd: m`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ#,BN$$'YkP.+s;\L[%ZZ͔ȆHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G9! HӉq(EI]}х \a'=ŲUJ'LX#"c'elӒI(4ၡhTRNJq0cх {4ā,BN$ġm'g)v{F.ˊqNVe))=88-8KfIG|  G4ꔞh…q]0b*l\eBX#"c'elӒI(4ၡhTRNJq0cх {4d,BN$p/YkP.+s;\L[%ZZ͔ˉ!R?"&2zq1:q6Zq19$3N[Ji)h…q]0b*mBX#"c'elӒI(4ၡhTRNJq0cх {4䀂,BN$ppOJfvrmgaB츮Idq1lik6{RX#"c'elӒI(4ၡhTRNJq0cх {4@HӉ$ ġm'g)v{F.ˊqNVi&.2!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӂ,BN$$$JfvrmgaB츮Idq1lik6 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pBB@k!Ca B,NR(] 9읮&--f0!R?"&2zq1:q6Zq19$3N[Ji)h…q]0b*h)=88-8KfIG|  G4ꔞ s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@0tňPiĂ"ͤ.X>h…q]0̥۠ykGMkG%NI$>LӆRuJO)+rCk{F,qӒ[X  8 0pYkP.+s;t95XDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df  b6q$x"ͤ.X>h…q]0̥۠b(@#"c'elӒI(4ၡhTRNJq0cх {4@!$,BN$?YkP.+s;t94}VeHDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df !b6q ! 8"ͤ.X>h…q]0̥۠Ё GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i@k!CaP6m`= evN{'n2bUKbDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q @$x"ͤ.X>h…q]0̥۠صNdpxR?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ,BN$ YkP.+s;t9[iDpxR?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁJ?mb(l4@@3|@#"c'elӒI(4ၡhTRNJq0cх {4A@Ӊ$ġm'g)v{F.ˊqNe,ŎcB8<)=88-8KfIG|  G4ꔞh…q]0̥۠DpxR?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ#,BN$ ?YkP.+s;t9a}DLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df$ b6q @@ ?%i;9K0v\Wk$v(s)f.SR8<)=88-8KfIG|  G4ꔞh…q]0̥۠MNDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df$b6q a%i;9K0v\Wk$v(s)f.SSakGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$$ ġm'g)v{F.ˊqNe,jy s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=ppPtňPiĒOB,NR(] 9읺 YH GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca  bP6m`= evN{'n2b5FU s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p @0TňPiĂx"ͤ.X>h…q]0̥۠MQ:dpxR?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӃ#,BN$$ YkP.+s;t9)kGMkG%NI$>LӆRuJO)+rCk{F,qӁ[X  8@ (EI]}х \a'=ACK1rl}DLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q !?%i;9K0v\Wk$v(s)f.S-@#"c'elӒI(4ၡhTRNJq0cх {4@ hӉ$ġm'g)v{F.ˊqNe,es s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p pňPiĂx"ͤ.X>h…q]0̥۠L9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 a(Ӊ (EI]}х \a'=ACK1rn, GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iIGX I `@%i;9K0v\Wk$v(s)f.S-9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8@B?mb(l4A@?LӆRuJO)+rCk{F,qӁ[X  8@p0YkP.+s;t9)@#"c'elӒI(4ၡhTRNJq0cх {4@Ӊ$ YkP.+s;t9)) s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p @0TňPiĂx"ͤ.X>h…q]0̥۠NQHDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df ňPiĂ bP6m`= evN{'n2bYB8<)=88-8KfIG|  G4ꔞh…q]0̥۠mykGMkG%NI$>LӆRuJO)+rCk{F,qӁ,BN$ġm'g)v{F.ˊqNe,|`ykGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$#ġm'g)v{F.ˊqNe,ňeDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q `X"ͤ.X>h…q]0̥۠8j1 kGMkG%NI$>LӆRuJO)+rCk{F,qӄ,BN$P"@JfvrmgaB츮IdPR4׍ DLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df$ %b6q !%i;9K0v\Wk$v(s)fZL GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iGX I a dX"ͤ.X>h…q]0̥۠9j\28<)=88-8KfIG|  G4ꔞdpxR?"&2zq1:q6Zq19$3N[Ji)pxR?"&2zq1:q6Zq19$3N[Ji)h…q]0̥۠8Ő9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8! hӉ(EI]}х \a'=ACK0qßP GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i@k!Ca bP6m`= evN{'n2`ȀHpR?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ,BN$ ġm'g)v{F.ˊqNe,ǍX28<)=88-8KfIG|  G4ꔞe9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G82?mb(l4@ALӆRuJO)+rCk{F,qӃ,BN$$ġm'g)v{F.ˊqNe,ɰaRDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfb6q !$X"ͤ.X>h…q]0̥۠6l*< GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAk!Ca  bP6m`= evN{'n2dVDpxR?"&2zq1:q6Zq19$3N[Ji)h…q]0̥۠ՙJVdpxR?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ,BN$p"@LӆRuJO)+rCk{F,qӁ#,BN$`YkP.+s;t9UCB8<)=88-8KfIG|  G4ꔞh…q]0s5O2 Y 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p`pBQk!CaOB,NR(] 9́3T PX#"c'elӒI(4ၡhTRNJq0cх {4`AӉ1(EI]}х \a'=>jd CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df`4ňPiĒB,NR(] 9́3T'E)=88-8KfIG|  G4ꔞ%i;9K0v\Wk$w6U)=88-8KfIG|  G4ꔞh…q]0s5o)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӂ#,BN$'YkP.+s;f`CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df  b6q $P6m`= evN{'s`}սq0X#"c'elӒI(4ၡhTRNJq0cх {4䃀,BN$PYkP.+s;fm`kGMkG%NI$>LӆRuJO)+rCk{F,qӒ [X  8@pp0OYkP.+s;fHm`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ#,BN$ 'YkP.+s;fd6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iQk!CaH  G B,NR(] 9́3V2X#"c'elӒI(4ၡhTRNJq0cх {4`HӉ1(EI]}х \a'=>jZCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfAk!CaHA!?.%i;9K0v\Wk$w6[a6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAk!Ca P6m`= evN{'s`}ռ)=88-8KfIG|  G4ꔞh…q]0s5o-)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӒ[X  8@0PYkP.+s;fʤ6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iBQk!Ca B,NR(] 9́3VX#"c'elӒI(4ၡhTRNJq0cх {4 (Ӊ (EI]}х \a'=>j]*CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df Bk!CaB,NR(] 9́3V0HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8H?mb(l4@BB ' ġm'g)v{F.ˊqNygCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfb6q `a?%i;9K0v\Wk$w6[Y 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@ RQk!CaHH(/N%i;9K0v\Wk$w6[!R?"&2zq1:q6Zq19$3N[Ji)jm`kGMkG%NI$>LӆRuJO)+rCk{F,qӒ J?mb(l4A@B\JfvrmgaB츮Idllm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ [X  8@BLJfvrmgaB츮IdlfTHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G80"?mb(l4A@?LJfvrmgaB츮Idlи)=88-8KfIG|  G4ꔞjG)=88-8KfIG|  G4ꔞjAHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 $,BN$ YkP.+s;fBX#"c'elӒI(4ၡhTRNJq0cх {4@ HӉ1(EI]}х \a'=>jq6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i@Bk!Ca B,NR(] 9́3V q 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=r@A@k!CaH9 8"ͤ.X>h…q]0s5om`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ[X  8pB?lJfvrmgaB츮Idlq 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p`Bk!CaH B,NR(] 9́3VS!R?"&2zq1:q6Zq19$3N[Ji)h…q]0s5qRX#"c'elӒI(4ၡhTRNJq0cх {4 Ӊ(EI]}х \a'=>icG-O!R?"&2zq1:q6Zq19$3N[Ji)h…q]0s4()=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӃ[X  8AA?|JfvrmgaB츮IdlXbm`kGMkG%NI$>LӆRuJO)+rCk{F,qӃ,BN$ ġm'g)v{F.ˊqNEԆHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G80!!Ӊ (EI]}х \a'=>icGQcm`kGMkG%NI$>LӆRuJO)+rCk{F,qӃ,BN$$ ġm'g)v{F.ˊqNC(CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df tňPiāOB,NR(] 9́3K:THƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8088J?mb(l4A (EI]}х \a'=>icGP6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iB@k!CaP6m`= evN{'s`}Ǝ*CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df $%b6q$"ͤ.X>h…q]0s4[m`kGMkG%NI$>LӆRuJO)+rCk{F,qӃ[X  80@ /#YkP.+s;f4q 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p` ňPiāؔ"ͤ.X>h…q]0s4m`kGMkG%NI$>LӆRuJO)+rCk{F,qӃ#,BN$O#YkP.+s;fCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q "ͤ.X>h…q]0s5\cm`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ[X  8 @/JfvrmgaB츮IdlIS 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p p dňPiĀx"ͤ.X>h…q]0s5В2X#"c'elӒI(4ၡhTRNJq0cх {4`Ӊ$ ġm'g)v{F.ˊqNbm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$$'ġm'g)v{F.ˊqNa6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iGX H8@0ON%i;9K0v\Wk$w6t$)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӂ [X  8 PBq(EI]}х \a'=>k'6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i@k!CaH09 _%i;9K0v\Wk$w6t$HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G808J?mb(l4AA(EI]}х \a'=>k(CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df  b6q `?&%i;9K0v\Wk$w6t%CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df ňPiāx"ͤ.X>h…q]0s5ДX#"c'elӒI(4ၡhTRNJq0cх {4d#,BN$ ġm'g)v{F.ˊqNjm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ,BN$p 0YkP.+s;f)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӁ,BN$$ #YkP.+s;fRX#"c'elӒI(4ၡhTRNJq0cх {4!Ӊ (EI]}х \a'=>ka 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p  @tňPiāP6m`= evN{'s`}YĆHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 *?mb(l4@AI(EI]}х \a'=>k̆HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G9 D,BN$ġm'g)v{F.ˊqN0p)=88-8KfIG|  G4ꔞh…q]0s5=Hm`kGMkG%NI$>LӆRuJO)+rCk{F,qӄ,BN$ @'YkP.+s;fΫ!R?"&2zq1:q6Zq19$3N[Ji)k}X#"c'elӒI(4ၡhTRNJq0cх {4 $,BN$p /YkP.+s;f)=88-8KfIG|  G4ꔞh…q]0s6- 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p Pp4ňPiĂ B,NR(] 9́3aA̜m`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ#,BN$` OJfvrmgaB츮Idl Hm`kGMkG%NI$>LӆRuJO)+rCk{F,qӃ[X  80`YkP.+s;fƒÈm`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ,BN$'YkP.+s;fU`CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df 0ňPiĂด"ͤ.X>h…q]0s60LHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 H*?mb(l4@ABBLJfvrmgaB츮IdlIs 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pBBBQk!Ca B,NR(] 9́3c X#"c'elӒI(4ၡhTRNJq0cх {4 HӉ 1(EI]}х \a'=>la ̆HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8$#,BN$Aġm'g)v{F.ˊqNJ)=88-8KfIG|  G4ꔞh…q]0s60CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q A &%i;9K0v\Wk$w6͌%'ȆHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G89 hӉ$'ġm'g)v{F.ˊqN)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӃ#,BN$$ ġm'g)v{F.ˊqN)=88-8KfIG|  G4ꔞlePbF)=88-8KfIG|  G4ꔞh…q]0s62X#"c'elӒI(4ၡhTRNJq0cх {4 `Ӊ(EI]}х \a'=>leUR6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iQk!Ca   B,NR(] 9́3c*!R?"&2zq1:q6Zq19$3N[Ji)leQ 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0 DňPiābP6m`= evN{'s`}ʣgRX#"c'elӒI(4ၡhTRNJq0cх {4` hӉ$ġm'g)v{F.ˊqNFҤ6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i$b6q @A ด"ͤ.X>h…q]0s62Hm`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ[X  8@@oJfvrmgaB츮IdlUjY 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pAk!Ca  B,NR(] 9́3c*6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAAk!CaH (HG B,NR(] 9́3c*!R?"&2zq1:q6Zq19$3N[Ji)leU6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAk!CaH80O B,NR(] 9́3c*K!R?"&2zq1:q6Zq19$3N[Ji)leUCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df 0$ňPiā"ͤ.X>h…q]0s62j 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pBAAk!Ca B,NR(] 9́3c*4!R?"&2zq1:q6Zq19$3N[Ji)leR8HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8J?mb(l4I(EI]}х \a'=>leRX#"c'elӒI(4ၡhTRNJq0cх {4A D,BN$ 'ġm'g)v{F.ˊqNKm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ[X  8"I'ġm'g)v{F.ˊqNK4HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G9 Ӊ q(EI]}х \a'=>leVi 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p p ňPiāB,NR(] 9́3c*s!R?"&2zq1:q6Zq19$3N[Ji)h…q]0s62yr!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӂ#,BN$ $ /YkP.+s;fUHm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$ ġm'g)v{F.ˊqNC!R?"&2zq1:q6Zq19$3N[Ji)leP^CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df  b6q @Ă"ͤ.X>h…q]0s62)=88-8KfIG|  G4ꔞh…q]0s62Hm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ[X  8` p_YkP.+s;fUkCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df DňPiāด"ͤ.X>h…q]0s62_RX#"c'elӒI(4ၡhTRNJq0cх {4Ӊġm'g)v{F.ˊqN[@X#"c'elӒI(4ၡhTRNJq0cх {4 AӉ$ ġm'g)v{F.ˊqN[J)=88-8KfIG|  G4ꔞleWID6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca HH G8"ͤ.X>h…q]0s62X#"c'elӒI(4ၡhTRNJq0cх {4 HӉ$'YkP.+s;fUq6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iGX I ! 8"ͤ.X>h…q]0s62a 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p PňPiāP6m`= evN{'s`}ʯZm`kGMkG%NI$>LӆRuJO)+rCk{F,qӒHB?mb(l4@ġm'g)v{F.ˊqN^)=88-8KfIG|  G4ꔞh…q]0s62X#"c'elӒI(4ၡhTRNJq0cх {4` Ӊ1(EI]}х \a'=>leWҤ6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i@AQk!Ca B,NR(] 9́3c*X#"c'elӒI(4ၡhTRNJq0cх {4d,BN$pYkP.+s;fUy!R?"&2zq1:q6Zq19$3N[Ji)leX(HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 (Ӊ1(EI]}х \a'=>leX)d6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAAk!CaP6m`= evN{'s`}ʰPy 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0@0ňPiĂ"ͤ.X>h…q]0s62 CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df`2Qk!Ca P6m`= evN{'s`}ʰPCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df2Ak!CaH08 B,NR(] 9́3c*jm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ,BN$ġm'g)v{F.ˊqN`i 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=rAABQk!Ca P6m`= evN{'s`}ʱy 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=rBAk!CaHG B,NR(] 9́3c*Ő)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӁH J?mb(l4I$ \JfvrmgaB츮IdlV'LHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 "?mb(l4@q(EI]}х \a'=>leY*6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!CaH( /B,NR(] 9́3c*ȰX#"c'elӒI(4ၡhTRNJq0cх {4@@d#,BN$$ YkP.+s;fUX#"c'elӒI(4ၡhTRNJq0cх {4`,BN$ $ ġm'g)v{F.ˊqNd)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӒ[X  8002@\JfvrmgaB츮IdlVF)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӄ[X  8@0rJfvrmgaB츮IdlVl 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p` pňPiĂ P6m`= evN{'s`}ʳy 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0 ňPiā bP6m`= evN{'s`}ʳ0X#"c'elӒI(4ၡhTRNJq0cх {4a,BN$$YkP.+s;fUHm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ [X  82A?LJfvrmgaB츮IdlVqY 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@pPTňPiĀP6m`= evN{'s`}ʳm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ,BN$ #ġm'g)v{F.ˊqNhؐ)=88-8KfIG|  G4ꔞleZI6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca H? B,NR(] 9́3c*F)=88-8KfIG|  G4ꔞleZN6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAIGX H 8(7N%i;9K0v\Wk$w6͌JHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8*?mb(l4@I1(EI]}х \a'=>leZTX#"c'elӒI(4ၡhTRNJq0cх {4hӉ$ 'YkP.+s;fU\CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df!b6q D B,NR(] 9́3c*ҳ!R?"&2zq1:q6Zq19$3N[Ji)h…q]0s62^CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfp@TňPiĂH B,NR(] 9́3c*m`kGMkG%NI$>LӆRuJO)+rCk{F,qӃ#,BN$#ġm'g)v{F.ˊqNM2d6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i GX H0((N%i;9K0v\Wk$w6͌lCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df$b6q @P6m`= evN{'s`}ʦф6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i@BBQk!CaHG B,NR(] 9́3c*i 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0ňPiĂbP6m`= evN{'s`}ʧ<HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 `HӉ 1(EI]}х \a'=>leQ)=88-8KfIG|  G4ꔞh…q]0s62)=88-8KfIG|  G4ꔞh…q]0s6RTHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 *?mb(l4@Iġm'g)v{F.ˊqN)=88-8KfIG|  G4ꔞh…q]0s6SQn 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pp@k!Ca  P6m`= evN{'s`}ME6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAk!CaH80O B,NR(] 9́3e50!R?"&2zq1:q6Zq19$3N[Ji)h…q]0s6STN 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=rI GX H( dด"ͤ.X>h…q]0s6STX#"c'elӒI(4ၡhTRNJq0cх {4A!Ӊ (EI]}х \a'=>lVd6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i GX H0( ?B,NR(] 9́3e2`y 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p bBk!Ca HG%i;9K0v\Wk$w6͔cCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df %b6q a &%i;9K0v\Wk$w6͔a)=88-8KfIG|  G4ꔞh…q]0s6S-!R?"&2zq1:q6Zq19$3N[Ji)l[m`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ,BN$$ 'YkP.+s;fe<X#"c'elӒI(4ၡhTRNJq0cх {4` Ӊ1(EI]}х \a'=>l[Y 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0pdňPiĂH B,NR(] 9́3e2ad6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca  bP6m`= evN{'s`}LX#"c'elӒI(4ၡhTRNJq0cх {4`HӉ 1(EI]}х \a'=>l\2X#"c'elӒI(4ၡhTRNJq0cх {4A @Ӊġm'g)v{F.ˊqNr0X#"c'elӒI(4ၡhTRNJq0cх {4@`hӉ(EI]}х \a'=>lYCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df  !b6q "ͤ.X>h…q]0s6SCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfdňPiĂP6m`= evN{'s`}N  1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@`pdňPiăP6m`= evN{'s`}Nm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$ $#ġm'g)v{F.ˊqN$ad6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAk!Ca O B,NR(] 9́3e9.n!R?"&2zq1:q6Zq19$3N[Ji)l"2X#"c'elӒI(4ၡhTRNJq0cх {4 @Ӊq(EI]}х \a'=>l'-6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!CaO B,NR(] 9́3e99!R?"&2zq1:q6Zq19$3N[Ji)h…q]0s6S"X#"c'elӒI(4ၡhTRNJq0cх {4D,BN$JfvrmgaB츮Idl)S 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0 dňPiă"ͤ.X>h…q]0s6SX#"c'elӒI(4ၡhTRNJq0cх {4!hӉ$  ġm'g)v{F.ˊqN)=88-8KfIG|  G4ꔞh…q]0s6lY 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@rAk!Ca B,NR(] 9́3i%h…q]0s4}`5d6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!CaP6m`= evN{'s`} )=88-8KfIG|  G4ꔞh…q]0s4}btm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ,BN$ `YkP.+s;!KH 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p pDňPiāB,NR(] 9TՇ$HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 @ ?mb(l4@ 'YkP.+s;!Kx׈d6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca bP6m`= evN{'uU)u5o1 HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 @B?mb(l4A@?q(EI]}х \a'=Fd6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i$ňPiāP6m`= evN{'uU)u5o[0 HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G80 ?mb(l4@ (EI]}х \a'=ʀd6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i GX I @ 8"ͤ.X>h…q]0UA ]M[Jd6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iBQk!CaB,NR(] 9TռL!R?"&2zq1:q6Zq19$3N[Ji)%i;9K0v\Wk$wUPBSVP HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G9 aӉ  q(EI]}х \a'=i 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0tňPiĒH8 B,NR(] 9Tռm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ,BN$  ġm'g)v{F.ˊqNRjZ2X#"c'elӒI(4ၡhTRNJq0cх {4a HӉ 1(EI]}х \a'=)=88-8KfIG|  G4ꔞh…q]0UA ]M[`CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q P6m`= evN{'uU)u5o2X#"c'elӒI(4ၡhTRNJq0cх {4Ӊ$'YkP.+s;!Kx!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӒH0?mb(l4@\JfvrmgaB츮Id.-xCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q ``%i;9K0v\Wk$wUPBSV T 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@`$ňPiĂP6m`= evN{'uU)u5o)=88-8KfIG|  G4ꔞh…q]0UA ]MsV,HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8(Ӊ 1(EI]}х \a'=K!R?"&2zq1:q6Zq19$3N[Ji)h…q]0UA ]MqHm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$ġm'g)v{F.ˊqNRk:" !R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӂ#,BN$  ''YkP.+s;!Kan0X#"c'elӒI(4ၡhTRNJq0cх {4 (Ӊġm'g)v{F.ˊqNRlƎ!R?"&2zq1:q6Zq19$3N[Ji)h…q]0UA ]M HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 (?mb(l4A@Aq(EI]}х \a'=A 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p P@DňPiĒ B,NR(] 9T2m`kGMkG%NI$>LӆRuJO)+rCk{F,qӄ,BN$@PJfvrmgaB츮Id.9S!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ,BN$YkP.+s;!K53q 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0@`tňPiĂ"ͤ.X>h…q]0UA ]M HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8! hӉġm'g)v{F.ˊqNRleULq 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0 `ňPiă"ͤ.X>h…q]0UA ]MHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8  ?mb(l4AA?LJfvrmgaB츮Id.UXxX#"c'elӒI(4ၡhTRNJq0cх {4@ (Ӊ$? ,JfvrmgaB츮Id.U\ !R?"&2zq1:q6Zq19$3N[Ji)h…q]0UA ]MCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q "ͤ.X>h…q]0UA ]M(HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8?mb(l4A 1(EI]}х \a'=VR 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pP dňPiāؔ"ͤ.X>h…q]0UA ]MIHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 H@J?mb(l4A@q(EI]}х \a'=TLHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 @02?mb(l4@Aq(EI]}х \a'=)d6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i@k!CaH8 ?&%i;9K0v\Wk$wUPBSe5: 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p0$ňPiĂx"ͤ.X>h…q]0UA ]M,<!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӂ#,BN$ `YkP.+s;!KeACkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df DňPiĀP6m`= evN{'uU)u6 8HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G88 82?mb(l4I$ġm'g)v{F.ˊqNRm*d6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iQk!CaHH887N%i;9K0v\Wk$wUPBShhט CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df  b6q @&%i;9K0v\Wk$wUPBSk5I 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p 0``$ňPiĀ  B,NR(]lh̝&--cVXDX#"c'elӒI(4ၡhTRNJq0cх {4,BN$ ġm'g)v{F.ˊ 4pNV,lN 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@@@ňPiāP6m`= ev[8s'kdKXՖ6J0HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 ("?mb(l4AALJfvrmgaB츮`Gdq1likf̆HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8J?mb(l4AAh…q]̥۠5Ì`8<)=88-8KfIG|  G4ꔞh…q]̥۠5Ì@#"c'elӒI(4ၡhTRNJq0cх {4@@Ӊ$ġm'g)v{F.ˊ 4pNe,qЁ GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i GX I $X"ͤ.X>h…q]̥۠6O6pxR?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ#,BN$ $ġm'g)v{F.ˊ 4pNe,8 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca HB,NR(]lh̝ YiY0YkGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$ YkP.+4Ù;t9Ҳq s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p ňPiāX"ͤ.X>h…q]̥۠6NkGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$  ġm'g)v{F.ˊ 4pNe,SDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q ``$X"ͤ.X>h…q]̥۠6 s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pňPiāX"ͤ.X>h…q]̥۠8$ GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca bP6m`= ev[8s'n2`8 s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@tňPiāX"ͤ.X>h…q]̥۠9oQDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q ?%i;9K0v\Wei2v(s)f\FpxR?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӂ,BN$0 YkP.+4Ù;t9@9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 :?mb(l4@?h…q]̥۠:4$ GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca H( 7B,NR(]lh̝ Y9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G88*?mb(l4I$ġm'g)v{F.ˊ 4pNe,c@#"c'elӒI(4ၡhTRNJq0cх {4ࠀӉ (EI]}х -M9ACK0t9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8)!Ӊ (EI]}х -M9ACK0t9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G9 Ӊ$ YkP.+4Ù;t9R/ s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@ňPiĒ  bP6m`= ev[8s'n2`Lp@#"c'elӒI(4ၡhTRNJq0cх {4 HӉ(EI]}х -M9ACK0p s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@$ňPiăX"ͤ.X>h…q]sƎY 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=r@k!CaH0O B,NR(]lh̝́1ql8HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8H?mb(l4@AA@(EI]}х -M9>5sdX#"c'elӒI(4ၡhTRNJq0cх {4Ӊ(EI]}х -M9>5t6EԆHƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G82?mb(l4I$ġm'g)v{F.ˊ 4pNf)=88-8KfIG|  G4ꔞh…q]s $6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iGX H(0@0 B,NR(]lh̝́1%Ui 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p @pňPiĂx"ͤ.X>h…q]s"X#"c'elӒI(4ၡhTRNJq0cх {4Ӊ (EI]}х -M9>4E"X#"c'elӒI(4ၡhTRNJq0cх {4䄣,BN$$ġm'g)v{F.ˊ 4pNr 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p 0`ňPiāP6m`= ev[8s's`}h!R?"&2zq1:q6Zq19$3N[Ji)4Fdm`kGMkG%NI$>LӆRuJO)+rCk{F,qӒ[X  8PP/JfvrmgaB츮`Gdl鸲X#"c'elӒI(4ၡhTRNJq0cх {4@aӉ $ ġm'g)v{F.ˊ 4pN0HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 J?mb(l4ABA@LӆRuJO)+rCk{F,qӂ[X  8@p@ JfvrmgaB츮`Gd.V6E6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iGX H &%i;9K0v\Wei2wUPBQ&(X#"c'elӒI(4ၡhTRNJq0cх {4 Ӊ 1(EI]}х -M9X>!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ,BN$2A?LJfvrmgaB츮`Gd.V8HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G80B?mb(l4AB?h…q]UA ]FCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df b6q !!%i;9K0v\Wei2wUPBQ*"X#"c'elӒI(4ၡhTRNJq0cх {4`ā#,BN$ #ġm'g)v{F.ˊ 4pNR5te@9)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӁ,BN$ ġm'g)v{F.ˊ 4pNR5g6!R?"&2zq1:q6Zq19$3N[Ji)h…q]UA ]F6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i GX H ( _%i;9K0v\Wei2wUPBQ+hVd6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iGX H0A?%i;9K0v\Wei2wUPBQ+h2X#"c'elӒI(4ၡhTRNJq0cх {4`@HӉ $'ġm'g)v{F.ˊ 4pNR4EmfCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfb6q !%i;9K0v\Wei2wUPBQ+CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfb6q ăx"ͤ.X>h…q]UA ]F!R?"&2zq1:q6Zq19$3N[Ji)h…q]UA ]FB@ 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p @dňPiĀx"ͤ.X>h…q]UA ]FҬ0X#"c'elӒI(4ၡhTRNJq0cх {4``hӉ$ ġm'g)v{F.ˊ 4pNR4F|VCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfb6q Dx"ͤ.X>h…q]UA ]FҳHm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$$YkP.+4Ù;!KԱ6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca  P6m`= ev[8s'fX "X#"c'elӒI(4ၡhTRNJq0cх {4 [X  8`0`/YkP.+4Ù;5hƨ<HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G88@ ?mb(l4AB (EI]}х -M9]f,jX#"c'elӒI(4ၡhTRNJq0cх {4`Ӊ1(EI]}х -M9]f,jI)=88-8KfIG|  G4ꔞh…q]ٮF5om`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$$ġm'g)v{F.ˊ 4pNu4!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ [X  8 PYkP.+4Ù;5hƇbm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ[X  8` `oYkP.+4Ù;5hƵ 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p PňPiāx"ͤ.X>h…q]ٮF4*6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i$!b6q $ด"ͤ.X>h…q]ٮF5 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=pP0@$ňPiĂؔ"ͤ.X>h…q]ٮF5Qd6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAk!Ca  B,NR(]lh̝4ic_!R?"&2zq1:q6Zq19$3N[Ji)h…q]ٮF42X#"c'elӒI(4ၡhTRNJq0cх {4D,BN$ `_YkP.+4Ù;5hƘ\CkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfb6q @` `%i;9K0v\Wei2vkѥBX#"c'elӒI(4ၡhTRNJq0cх {4#,BN$ #ġm'g)v{F.ˊ 4pNu4m`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ,BN$ YkP.+4Ù;5hcdCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0dfAQk!Ca  P6m`= ev[8s'fX.o!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ[X  8 2Ah…q]ٮF 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=ppPdňPiĂX"ͤ.X>h…q]ٮFo!R?"&2zq1:q6Zq19$3N[Ji)LӆRuJO)+rCk{F,qӁ[X  8AALJfvrmgaB츮`GdYde*!BX#"c'elӒI(4ၡhTRNJq0cх {4 Ӊ(EI]}х -M9]f)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӂ[X  8@bIġm'g)v{F.ˊ !R?"&2zq1:q6Zq19$3N[Ji)D6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iB@k!CaH 7B,NR(]G5Q 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@P tňPiĀP6m`= ev͉̙ 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@pdňPiĀX"ͤ.X>h…q]tm`kGMkG%NI$>LӆRuJO)+rCk{F,qӄ[X  8`@R,JfvrmgaB츮:CTa 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p `@DňPiĀx"ͤ.X>h…q]t)=88-8KfIG|  G4ꔞ%i;9K0v\Wm0 "X#"c'elӒI(4ၡhTRNJq0cх {4@@hӉ(EI]}х h)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӁ,BN$`0YkP.+m`kGMkG%NI$>LӆRuJO)+rCk{F,qӃ[X  82A,JfvrmgaB츮:Ta 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p `0ňPiāx"ͤ.X>h…q]u6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iABQk!Ca bP6m`= evk"X#"c'elӒI(4ၡhTRNJq0cх {4 Ӊ$ġm'g)v{F.ˊ2X#"c'elӒI(4ၡhTRNJq0cх {4䂄,BN$@o YkP.+ 1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p`ňPiĂX"ͤ.X>h…q]u@Hm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁH?mb(l4AAAALJfvrmgaB츮:@D6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8ik!Ca bP6m`= ev!R?"&2zq1:q6Zq19$3N[Ji)h…q]u@m`kGMkG%NI$>LӆRuJO)+rCk{F,qӂ[X  8@\JfvrmgaB츮:@6 GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8iAk!CabP6m`= ev!R?"&2zq1:q6Zq19$3N[Ji)h…q]u@m`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$  ġm'g)v{F.ˊCkDLd\b?tl\b?-rI%Qf048-ӪRxN0XxX<0df`@4ňPiĀด"ͤ.X>h…q]uAm`kGMkG%NI$>LӆRuJO)+rCk{F,qӁ#,BN$2ALJfvrmgaB츮:)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӄ#,BN$ $'$YkP.+ACKX|fd2C1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p ňPiĀ B,NR(]̥۠9j\28<)=88-8KfIG|  G4ꔞLӆRuJO)+rCk{F,qӁ#,BN$$$ ġm'g)v{F.ˊPR\9HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8(@B?mb(l4@ $ġm'g)v{F.ˊPR69HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaB)G8 J?mb(l4AB,JfvrmgaB츮e,Ԛ@#"c'elӒI(4ၡhTRNJq0cх {4Ӊ(EI]}х t9UT s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p2BQk!Ca bP6m`= ev(s)f9K s‘1ӍqӉӍqDi$GɚpުSNI8Øec1Rm`h…R?=p@@ňPiā"ͤ.X>h…q] Y\LYkGMkG%NI$>LӆRuJO)+rCk{F,qӂ[X  80` ? YkP.+ACK0qßP GDON5#N&N5#٧$Q&iCzM:'aNJ9K!= AH8i@k!Ca bP6m`= ev(s)f9|d#"c'elӒI(4ၡhTRNJq0cх {4䀂#,BN$_JfvrmgaB츮e,MpxR?"&2zq1:q6Zq19$3N[Ji)h…q]ӪRxN0XxX<0dYkP.+[2X<)=88-8KfQf@(ph4U1̮ͤ.X>h…q]ӪRxN0XxX<0d89 @H(@H!a I?01?Oх YkPfvrmgaB츭YkP.+s4fvrmgaB츮Idq1lh,NR(] 9읺  6m`= evN{'s`zi;9K0v\Wk$wUPB"ͤ.X>h…q]ɠ6m`= ev[8s'kdDfvrmgaB츮`GdPQYkP.+4Ù;EI]}х -M9Am'g)v{F.ˊ 4pNri;9K0v\Wn2"ͤ.X>h…q]0b*jڐYkP.+s;\L[%ZZP"ͤ.X>h…q]0b*ji!i;9K0v\Wk$vJTCkfvrmgaB츮Idq1lik5fH"ͤ.X>h…q]0b*j:,"ͤ.X>h…q]0b*j¤6Am'g)v{F.ˊqNVWV6Am'g)v{F.ˊqNVW:6Am'g)v{F.ˊqNVKbƼ@"ͤ.X>h…q]0b*ilYlY EI]}х \a'=ŲUذ<"ͤ.X>h…q]0b*il[q EI]}х \a'=ŲUظ2X 6m`= evN{'kdKYtHm`,NR(] 9읮&--f|m`,NR(] 9읮&--fØX 6m`= evN{'kdKY丘CkfvrmgaB츮Idq1lik50"ͤ.X>h…q]0b*k9<YkP.+s;\L[%ZZ`(ʄ6Am'g)v{F.ˊqNVX'L"ͤ.X>h…q]0b*k9Jl!i;9K0v\Wk$vJU"X 6m`= evN{'kdKYUHm`,NR(] 9읮&--f EI]}х \a'=ŲU!i;9K0v\Wk$vJ&=6Am'g)v{F.ˊqNVCPX 6m`= evN{'kdKY1FP"ͤ.X>h…q]0b*h|m`,NR(] 9읮&--ffBX 6m`= evN{'kdKYP"ͤ.X>h…q]0b*k EI]}х \a'=ŲUYĆ"ͤ.X>h…q]0b*k+2X 6m`= evN{'kdKY`"ͤ.X>h…q]0b*k&YkP.+s;\L[%ZZ{7X 6m`= evN{'kdKY`XYkP.+s;\L[%ZZyÈm`,NR(] 9읮&--f:d6Am'g)v{F.ˊqNV^` EI]}х \a'=ŲU2CkfvrmgaB츮Idq1lik6 CkfvrmgaB츮Idq1lik6 N EI]}х \a'=ŲU2"X 6m`= evN{'kdKYCkfvrmgaB츮Idq1lik4Bm`,NR(] 9읮&--fRJ!i;9K0v\Wk$vJdj将"ͤ.X>h…q]0b*l^P"ͤ.X>h…q]0b*leWX 6m`= evN{'kdKYa@X 6m`= evN{'kdKYjŐYkP.+s;\L[%ZZ͉!i;9K0v\Wk$vJ!`CkfvrmgaB츮Idq1lik6C "ͤ.X>h…q]0b*lD6Am'g)v{F.ˊqNVe(3m`,NR(] 9읮&--fSaq!i;9K0v\Wk$vJ)І"ͤ.X>h…q]0b*lZa EI]}х \a'=ŲULCkfvrmgaB츮Idq1lik6S.2 EI]}х \a'=ŲUL2X 6m`= evN{'kdKYu"X 6m`= evN{'kdKYCkfvrmgaB츮Idq1lik6Ρ EI]}х \a'=ŲU1]Hm`,NR(] 9읮&--fL\dCkfvrmgaB츮Idq1lik6Y!i;9K0v\Wk$vJJԆ"ͤ.X>h…q]0b*iΣ0"X 6m`= evN{'kdKY:m`,NR(] 9읮&--fo\N EI]}х \a'=ACK dfvrmgaB츮IdPR fvrmgaB츮IdPRk=pzi;9K0v\Wk$v(s)k6SbY,NR(] 9읺 Zͥ`9"ͤ.X>h…q]0̥۠lHfvrmgaB츮IdPRXV<Am'g)v{F.ˊqNe,ō|V!B8=YkP.+s;t96lPfvrmgaB츮IdPRXY sEI]}х \a'=ACK1k,NR(] 9읺 Y-U- sEI]}х \a'=ACK1ejfvrmgaB츮IdPRYlXTAm'g)v{F.ˊqNe,ŖŇ@6m`= evN{'n2bb sEI]}х \a'=ACK1ea9"ͤ.X>h…q]0̥۠ذ sEI]}х \a'=ACK1ea9"ͤ.X>h…q]0̥۠طdpzi;9K0v\Wk$v(s)f,. sEI]}х \a'=ACK1et,NR(] 9읺 Y-4"8=YkP.+s;t9[idpzi;9K0v\Wk$v(s)f,s sEI]}х \a'=ACK1e,NR(] 9읺 Y`)pzi;9K0v\Wk$v(s)f,>3|@6m`= evN{'n2bF,NR(] 9읺 Yp}fvrmgaB츮IdPR[u\8=YkP.+s;t9 c@6m`= evN{'n2b5,NR(] 9읺 YԧAm'g)v{F.ˊqNe,j[f@6m`= evN{'n2b5.0 sEI]}х \a'=ACK1rufvrmgaB츮IdPR\apzi;9K0v\Wk$v(s)f.SSC@6m`= evN{'n2b56 sEI]}х \a'=ACK1r`y,NR(] 9읺 Y,Am'g)v{F.ˊqNe,jz sEI]}х \a'=ACK1rufvrmgaB츮IdPR\*Dpzi;9K0v\Wk$v(s)f.STeR8=YkP.+s;t9)'LAm'g)v{F.ˊqNe,j@6m`= evN{'n2b5R sEI]}х \a'=ACK1rl}fvrmgaB츮IdPR\[ ,Am'g)v{F.ˊqNe,es sEI]}х \a'=ACK1rn sEI]}х \a'=ACK1rn,Am'g)v{F.ˊqNe,e<8=YkP.+s;t9)@6m`= evN{'n2b2fvrmgaB츮IdPR\\8Am'g)v{F.ˊqNe,r@6m`= evN{'n2bYB8=YkP.+s;t9EL sEI]}х \a'=ACK1tuV8=YkP.+s;t9AHfvrmgaB츮IdPR]jAm'g)v{F.ˊqNe,Fidpzi;9K0v\Wk$v(s)f.5[^@6m`= evN{'n2b>E<Am'g)v{F.ˊqNe,ňefvrmgaB츮IdPR5FɐAm'g)v{F.ˊqNe,MxِAm'g)v{F.ˊqNe,Rީ9"ͤ.X>h…q]0̥۠9j\28=YkP.+s;t9,28=YkP.+s;t9.&,Am'g)v{F.ˊqNe,6J,NR(] 9읺 YfvrmgaB츮IdPR9fvrmgaB츮IdPRpzi;9K0v\Wk$v(s)fp.CfvrmgaB츮IdPR69"ͤ.X>h…q]0̥۠:lzfvrmgaB츮IdPR6>dpzi;9K0v\Wk$v(s)fR8=YkP.+s;t9Rki,NR(] 9읺 Y9"ͤ.X>h…q]0̥۠8,Am'g)v{F.ˊqNe,.&,Am'g)v{F.ˊqNe,|iB8=YkP.+s;t9>D2CEI]}х \a'=ACK0q`y,NR(] 9읺 Y8=YkP.+s;t9UPBpzi;9K0v\Wk$v(s)fh…q]0̥۠MHq,NR(] 9읺 Y2fvrmgaB츮IdPR̚کy,NR(] 9읺 Ya¥9"ͤ.X>h…q]0̥۠6l*<Am'g)v{F.ˊqNe,ɇ*fvrmgaB츮IdPR̛@6m`= evN{'n23Veِ9"ͤ.X>h…q]0̥۠ՙBز8=YkP.+s;t9(,Am'g)v{F.ˊqNe.f5,NR(] 9읺 \Yq sEI]}х \a'=ACK2]HfvrmgaB츮IdPRj̥+28=YkP.+s;t9 t@6m`= evN{'n23XfvrmgaB츮IdPRUefvrmgaB츮IdPRk:" sEI]}х \a'=ACK]fvrmgaB츮Idl,"ͤ.X>h…q]0s5O0!i;9K0v\Wk$w6S̒m`,NR(] 9́3T'EYkP.+s;fsm`,NR(] 9́3Vb`8"ͤ.X>h…q]0s5o&4!i;9K0v\Wk$w6[ƽb6Am'g)v{F.ˊqNzi EI]}х \a'=>j޶d6Am'g)v{F.ˊqNza6Am'g)v{F.ˊqNzX 6m`= evN{'s`}սt EI]}х \a'=>j޺CkfvrmgaB츮IdlYkP.+s;f孤6Am'g)v{F.ˊqNyl0"ͤ.X>h…q]0s5o,=6Am'g)v{F.ˊqNyn0"ͤ.X>h…q]0s5o-T"ͤ.X>h…q]0s5o.U!i;9K0v\Wk$w6[km`,NR(] 9́3VRX 6m`= evN{'s`}ռL!i;9K0v\Wk$w6[8X 6m`= evN{'s`}ռ<YkP.+s;f凐YkP.+s;f0"ͤ.X>h…q]0s5oوYkP.+s;fY!i;9K0v\Wk$w6[\Hm`,NR(] 9́3V0 EI]}х \a'=>j@̆"ͤ.X>h…q]0s5oԆ"ͤ.X>h…q]0s5om`,NR(] 9́3Vkm`,NR(] 9́3VNYkP.+s;fHm`,NR(] 9́3V6Am'g)v{F.ˊqNxP"ͤ.X>h…q]0s5oƸX 6m`= evN{'s`}ռ\`CkfvrmgaB츮Idlk6Am'g)v{F.ˊqNxYkP.+s;fCkfvrmgaB츮IdlfCkfvrmgaB츮IdlJ EI]}х \a'=>icG-O!i;9K0v\Wk$w6,h"ͤ.X>h…q]0s4(YkP.+s;f4tX 6m`= evN{'s`}ƎCkfvrmgaB츮IdlXЁ6Am'g)v{F.ˊqN T"ͤ.X>h…q]0s4YkP.+s;f4uRX 6m`= evN{'s`}ƎǐYkP.+s;f4u EI]}х \a'=>icGPʐYkP.+s;f4u CkfvrmgaB츮IdlXԥHm`,NR(] 9́3K8ռ"ͤ.X>h…q]0s4lm`,NR(] 9́3K8<"ͤ.X>h…q]0s5]X 6m`= evN{'s`}uq!i;9K0v\Wk$w6t$̆"ͤ.X>h…q]0s5В2X 6m`= evN{'s`}BEd6Am'g)v{F.ˊqNa6Am'g)v{F.ˊqNRX 6m`= evN{'s`}BN.6Am'g)v{F.ˊqNeHm`,NR(] 9́3] =Hm`,NR(] 9́3] =!i;9K0v\Wk$w6t$"ͤ.X>h…q]0s5ДN!i;9K0v\Wk$w6t%CkfvrmgaB츮IdlJSa EI]}х \a'=>k X 6m`= evN{'s`}BS`X 6m`= evN{'s`}BTm`,NR(] 9́3] R!i;9K0v\Wk$w6t%AYkP.+s;fYkP.+s;fRX 6m`= evN{'s`}YX 6m`= evN{'s`}YĆ"ͤ.X>h…q]0s5[fCkfvrmgaB츮Idl0y EI]}х \a'=>kzX 6m`= evN{'s`}ל6Am'g)v{F.ˊqN9CkfvrmgaB츮Idl:"ͤ.X>h…q]0s5>Q EI]}х \a'=>k} EI]}х \a'=>l"[RX 6m`= evN{'s`}Ps'2X 6m`= evN{'s`}Pp|*CkfvrmgaB츮Idl !i;9K0v\Wk$w6͌$"ͤ.X>h…q]0s60L"ͤ.X>h…q]0s60RX 6m`= evN{'s`}A4"ͤ.X>h…q]0s60|fCkfvrmgaB츮IdlJ EI]}х \a'=>la(̲X 6m`= evN{'s`}Rxy EI]}х \a'=>la)>D6Am'g)v{F.ˊqNYkP.+s;fYkP.+s;fCkfvrmgaB츮IdlJCkfvrmgaB츮IdlJ,"ͤ.X>h…q]0s621#Hm`,NR(] 9́3c*pX 6m`= evN{'s`}ʪ{m`,NR(] 9́3c*YkP.+s;fUQ!i;9K0v\Wk$w6͌"ͤ.X>h…q]0s62BX 6m`= evN{'s`}ʪHm`,NR(] 9́3c*uHm`,NR(] 9́3c*Hm`,NR(] 9́3c*Hm`,NR(] 9́3c*4"ͤ.X>h…q]0s62ԲX 6m`= evN{'s`}ʫh EI]}х \a'=>leUd6Am'g)v{F.ˊqNVX 6m`= evN{'s`}ʫm`,NR(] 9́3c*K!i;9K0v\Wk$w6͌Hm`,NR(] 9́3c*YkP.+s;fU,hCkfvrmgaB츮IdlT!i;9K0v\Wk$w6͌\^CkfvrmgaB츮IdlT,"ͤ.X>h…q]0s62fYkP.+s;fUaYkP.+s;fUdCkfvrmgaB츮IdlUYkP.+s;fU`RX 6m`= evN{'s`}ʡȆ"ͤ.X>h…q]0s62{m`,NR(] 9́3c*X 6m`= evN{'s`}ʡCkfvrmgaB츮IdlT=!i;9K0v\Wk$w6͌YkP.+s;fUHm`,NR(] 9́3c*CkfvrmgaB츮IdlT<אYkP.+s;fUX 6m`= evN{'s`}ʣX 6m`= evN{'s`}ʣ2X 6m`= evN{'s`}ʣ!i;9K0v\Wk$w6͌("ͤ.X>h…q]0s62_RX 6m`= evN{'s`}ʭy EI]}х \a'=>leV҄6Am'g)v{F.ˊqN\\m`,NR(] 9́3c*sm`,NR(] 9́3c*tm`,NR(] 9́3c*X 6m`= evN{'s`}ʮ0q EI]}х \a'=>leWX 6m`= evN{'s`}ʮ16Am'g)v{F.ˊqN]%YkP.+s;fUu"CkfvrmgaB츮IdlUƐYkP.+s;fUz!i;9K0v\Wk$w6͌"ͤ.X>h…q]0s62X 6m`= evN{'s`}ʯ,i EI]}х \a'=>leWX 6m`= evN{'s`}ʯq6Am'g)v{F.ˊqN^YkP.+s;fU{m`,NR(] 9́3c*!i;9K0v\Wk$w6͌YkP.+s;fU|Hm`,NR(] 9́3c*+!i;9K0v\Wk$w6͌D"ͤ.X>h…q]0s62X 6m`= evN{'s`}ʯHm`,NR(] 9́3c*X 6m`= evN{'s`}ʯ96Am'g)v{F.ˊqN`X 6m`= evN{'s`}ʰRm`,NR(] 9́3c*A6Am'g)v{F.ˊqN`X 6m`= evN{'s`}ʰPCkfvrmgaB츮IdlVVCkfvrmgaB츮IdlVYkP.+s;fUm`,NR(] 9́3c*ŐYkP.+s;fUCkfvrmgaB츮IdlV'L"ͤ.X>h…q]0s62BX 6m`= evN{'s`}ʲ,<"ͤ.X>h…q]0s62YkP.+s;fUhCkfvrmgaB츮IdlVO!i;9K0v\Wk$w6͌# !i;9K0v\Wk$w6͌)"ͤ.X>h…q]0s62X 6m`= evN{'s`}ʲHm`,NR(] 9́3c*ʭ!i;9K0v\Wk$w6͌#Hm`,NR(] 9́3c*4X 6m`= evN{'s`}ʳem`,NR(] 9́3c*6Am'g)v{F.ˊqNfad6Am'g)v{F.ˊqNgX 6m`= evN{'s`}ʳm`,NR(] 9́3c*p!i;9K0v\Wk$w6͌FĆ"ͤ.X>h…q]0s62!"X 6m`= evN{'s`}ʴm`,NR(] 9́3c*FYkP.+s;fUCkfvrmgaB츮IdlV EI]}х \a'=>leZUD6Am'g)v{F.ˊqNiRm`,NR(] 9́3c*Ү!i;9K0v\Wk$w6͌J̆"ͤ.X>h…q]0s62 !i;9K0v\Wk$w6͌CdCkfvrmgaB츮IdlV!i;9K0v\Wk$w6͌U !i;9K0v\Wk$w6͌Q!i;9K0v\Wk$w6͌VCkfvrmgaB츮IdlV!i;9K0v\Wk$w6͌SL!i;9K0v\Wk$w6͌i!i;9K0v\Wk$w6͌lCkfvrmgaB츮IdlT0"ͤ.X>h…q]0s62YkP.+s;fU96Am'g)v{F.ˊqND^CkfvrmgaB츮IdlTFfYkP.+s;fU4"ͤ.X>h…q]0s62YkP.+s;fUCkfvrmgaB츮IdlT{m`,NR(] 9́3d9 EI]}х \a'=>li!i;9K0v\Wk$w6͔[CkfvrmgaB츮Idl)L*CkfvrmgaB츮Idl)Oy EI]}х \a'=>lD6Am'g)v{F.ˊqNYkP.+s;fj-!i;9K0v\Wk$w6͔[CkfvrmgaB츮Idl)y EI]}х \a'=>lҤ6Am'g)v{F.ˊqN`y EI]}х \a'=>lR$6Am'g)v{F.ˊqN`X 6m`= evN{'s`}MO:6Am'g)v{F.ˊqNYkP.+s;fjCkfvrmgaB츮Idl)'L"ͤ.X>h…q]0s6STX 6m`= evN{'s`}MTm`,NR(] 9́3e2`y EI]}х \a'=>l[BX 6m`= evN{'s`}LY EI]}х \a'=>l['2X 6m`= evN{'s`}L"ͤ.X>h…q]0s6S-6Am'g)v{F.ˊqNn,"ͤ.X>h…q]0s6S-,"ͤ.X>h…q]0s6S-CkfvrmgaB츮Idl)CkfvrmgaB츮Idl)̆"ͤ.X>h…q]0s6S.FCkfvrmgaB츮Idl)iYkP.+s;fp]@m`,NR(] 9́3e8.d6Am'g)v{F.ˊqN#*YkP.+s;fpYkP.+s;fr\CkfvrmgaB츮Idl)ȷL"ͤ.X>h…q]0s6SX 6m`= evN{'s`}NN|m`,NR(] 9́3e9:!i;9K0v\Wk$w6͔'Ȇ"ͤ.X>h…q]0s6SX 6m`= evN{'s`}NT[Hm`,NR(] 9́3e9Q!i;9K0v\Wk$w6͛*CkfvrmgaB츮IdlI)!i;9K0v\Wk$w6ͥ^!i;9K0v\Wk$w6͠8X 6m`= evN{'s`} ՐYkP.+s;foІ"ͤ.X>h…q]0s4}btm`,NR(] 9TՇ$"ͤ.X>h…q]0UA ]MXxAm`,NR(] 9Tռk2X 6m`= evN{'uU)u5o1 "ͤ.X>h…q]0UA ]M[֣@2X 6m`= evN{'uU)u5o[0 "ͤ.X>h…q]0UA ]M[e@2X 6m`= evN{'uU)u5o]*YkP.+s;!KyjCkfvrmgaB츮Id. "ͤ.X>h…q]0UA ]M[ˈCkfvrmgaB츮Id.ʠ EI]}х \a'=Jd6Am'g)v{F.ˊqNRjYd6Am'g)v{F.ˊqNRjYŀd6Am'g)v{F.ˊqNRjZ2X 6m`= evN{'uU)u5o,<!i;9K0v\Wk$wUPBSVYkP.+s;!Kx|fYkP.+s;!Kx!i;9K0v\Wk$wUPBSVd6Am'g)v{F.ˊqNRjam`,NR(] 9Tվu0!i;9K0v\Wk$wUPBSV!i;9K0v\Wk$wUPBSV!i;9K0v\Wk$wUPBSV T EI]}х \a'=km`,NR(] 9T!i;9K0v\Wk$wUPBSWYkP.+s;!K'YkP.+s;!K=am`,NR(] 9Td6Am'g)v{F.ˊqNRk EI]}х \a'=cN!i;9K0v\Wk$wUPBS\X 6m`= evN{'uU)u5\CkfvrmgaB츮Id.뜤CkfvrmgaB츮Id.{m`,NR(] 9T=t6Am'g)v{F.ˊqNRkQ EI]}х \a'=箬Y EI]}х \a'=K!i;9K0v\Wk$wUPBS\eY2X 6m`= evN{'uU)u5Vq!i;9K0v\Wk$wUPBS\aa EI]}х \a'=y!i;9K0v\Wk$wUPBS^a6Am'g)v{F.ˊqNRlƎ!i;9K0v\Wk$wUPBS`X 6m`= evN{'uU)u6 0"X 6m`= evN{'uU)u6 02X 6m`= evN{'uU)u6 {2X 6m`= evN{'uU)u6 ʙ EI]}х \a'= !i;9K0v\Wk$wUPBS`kfX 6m`= evN{'uU)u62S2X 6m`= evN{'uU)u628"ͤ.X>h…q]0UA ]M"ͤ.X>h…q]0UA ]M6Am'g)v{F.ˊqNRleUX 6m`= evN{'uU)u62Y EI]}х \a'=Uq0"ͤ.X>h…q]0UA ]M"ͤ.X>h…q]0UA ]MD6Am'g)v{F.ˊqNRlePL!i;9K0v\Wk$wUPBSc*ǐYkP.+s;!KeYkP.+s;!Ke)YkP.+s;!Ki5YkP.+s;!KNTm`,NR(] 9TME!i;9K0v\Wk$wUPBSe5: EI]}х \a'=)XxCkfvrmgaB츮Id.e "ͤ.X>h…q]0UA ]M`CkfvrmgaB츮Id.e "ͤ.X>h…q]0UA ]MCkfvrmgaB츮Id.ѕ$i EI]}х \a'=FUCkfvrmgaB츮Id.뒦CkfvrmgaB츮Id.ѯ0@"ͤ.X>h…q]0UA ]M&d6Am'g)v{F.ˊ 4pNV,l"a EI]}х -M9ŲUjCkfvrmgaB츮`Gdq1likFYkP.+4Ù;\L[%ZZƮlY!i;9K0v\Wei2vJ1 T"ͤ.X>h…q]b*4Dʫ!i;9K0v\Wei2vJ`ŐYkP.+4Ù;\L[%ZZƈb6Am'g)v{F.ˊ 4pNV-UjCkfvrmgaB츮`Gdq1lik"*S!i;9K0v\Wei2vJ XX 6m`= ev[8s'kdKXXCkfvrmgaB츮`GdPR[6Dpzi;9K0v\Wei2v(s)f -9S sEI]}х -M9ACK0k "8=YkP.+4Ù;t9Vdpzi;9K0v\Wei2v(s)f a*dpzi;9K0v\Wei2v(s)f `TAm'g)v{F.ˊ 4pNe,S@6m`= ev[8s'n2`1fvrmgaB츮`GdPRFl sEI]}х -M9ACK0la sEI]}х -M9ACK0lmfvrmgaB츮`GdPR6R,NR(]lh̝ Yfipzi;9K0v\Wei2v(s)f 0Y,NR(]lh̝ YiY4q,NR(]lh̝ YiY0Y,NR(]lh̝ YiY8ʐ9"ͤ.X>h…q]̥۠6N,NR(]lh̝ YiYN9"ͤ.X>h…q]̥۠6 sEI]}х -M9ACK0p H ,NR(]lh̝ Y Am'g)v{F.ˊ 4pNe,z@6m`= ev[8s'n2`l^@6m`= ev[8s'n2`Dpzi;9K0v\Wei2v(s)f@6m`= ev[8s'n2`a,NR(]lh̝ Y@6m`= ev[8s'n2`B8=YkP.+4Ù;t9"Am'g)v{F.ˊ 4pNe,Ѡ,NR(]lh̝ YB@@HfvrmgaB츮`GdPR'Am'g)v{F.ˊ 4pNe,c@6m`= ev[8s'n2` sEI]}х -M9ACK0t9"ͤ.X>h…q]̥۠:y,NR(]lh̝ Y1,NR(]lh̝ Y\a,NR(]lh̝́1,hYkP.+4Ù;cV4q EI]}х -M9>5sdX 6m`= ev[8s's`}jl EI]}х -M9>5t6@6Am'g)v{F.ˊ 4pNq!i;9K0v\Wei2w6ƈ%U6Am'g)v{F.ˊ 4pNYkP.+4Ù;cD^!i;9K0v\Wei2w6ƈ+Hm`,NR(]lh̝́1&<"ͤ.X>h…q]s#`CkfvrmgaB츮`Gdl̜m`,NR(]lh̝́12UZCkfvrmgaB츮`GdlY"X 6m`= ev[8s's`}hGMŐYkP.+4Ù;cDNZX 6m`= ev[8s's`}hōX 6m`= ev[8s'uU)u\8"ͤ.X>h…q]UA ]FErCkfvrmgaB츮`Gd.V6E6Am'g)v{F.ˊ 4pNR5cdCkfvrmgaB츮`Gd.V6OHm`,NR(]lh̝TjٲD6Am'g)v{F.ˊ 4pNR5e!i;9K0v\Wei2wUPBQxCkfvrmgaB츮`Gd.W ,"ͤ.X>h…q]UA ]Fҳ!i;9K0v\Wei2wUPBQX 6m`= ev[8s'uU)u20"ͤ.X>h…q]UA ]FCkfvrmgaB츮`Gd.WFTED6Am'g)v{F.ˊ 4pNR5te@9YkP.+4Ù;!KҬ EI]}х -M9Y!i;9K0v\Wei2wUPBQ8ٰq EI]}х -M9YƜYkP.+4Ù;!K՜"6D6Am'g)v{F.ˊ 4pNR4EU|VCkfvrmgaB츮`Gd.DUY¤6Am'g)v{F.ˊ 4pNR4Dl`y EI]}х -M9(4"ͤ.X>h…q]UA ]F6Am'g)v{F.ˊ 4pNR4EmJ̆"ͤ.X>h…q]UA ]FTm`,NR(]lh̝ThJ̆"ͤ.X>h…q]UA ]F,i EI]}х -M91cdCkfvrmgaB츮`Gd.DZԆ"ͤ.X>h…q]UA ]F͔m`,NR(]lh̝ThUCkfvrmgaB츮`Gd.Dh! @"ͤ.X>h…q]UA ]FҬ0X 6m`= ev[8s'uU)u#J+!i;9K0v\Wei2wUPBQ4RX 6m`= ev[8s'uU)u"#:4"ͤ.X>h…q]ٮF5CFȆ"ͤ.X>h…q]ٮF5G)6Am'g)v{F.ˊ 4pNu4h{m`,NR(]lh̝4icVL"ͤ.X>h…q]ٮF5om`,NR(]lh̝4icKS CkfvrmgaB츮`GdYK+!i;9K0v\Wei2vkѥqYkP.+4Ù;5hƇ6D6Am'g)v{F.ˊ 4pNu4 EI]}х -M9]f,hy,"ͤ.X>h…q]ٮF5|m`,NR(]lh̝4ic@rCkfvrmgaB츮`GdYKȆ"ͤ.X>h…q]ٮF5Qd6Am'g)v{F.ˊ 4pNu4YkP.+4Ù;5hd6Am'g)v{F.ˊ 4pNu4YkP.+4Ù;5hƘ\CkfvrmgaB츮`GdYK)6Am'g)v{F.ˊ 4pNu4m`,NR(]lh̝4ich!i;9K0v\Wei2vkѥX 6m`= ev[8s'fXDYkP.+4Ù;5hk!i;9K0v\Wei2vkѥ"X 6m`= ev[8s'f#J6Am'g)v{F.ˊ 4pNu6F>+y EI]}х -M9]f-!i;9K0v\Wei2vkѲ2Vd6Am'g)v{F.ˊ 4pNu6FLu*CkfvrmgaB츮`GdYde&YkP.+4Ù;5hJP"ͤ.X>h…q]ٮFVcm`,NR(]G,j!i;9K0v\WmCkfvrmgaB츮9q0"ͤ.X>h…q]r` EI]}х h "X 6m`= evˉ@d6Am'g)v{F.ˊm`,NR(]G.&CkfvrmgaB츮9q0"ͤ.X>h…q]r`1 EI]}х h rX 6m`= evˉA6Am'g)v{F.ˊHm`,NR(]G.&YkP.+\L!i;9K0v\WmI EI]}х hRX 6m`= evˉ6Am'g)v{F.ˊm`,NR(]G.&YkP.+\L !i;9K0v\Wm8j!i;9K0v\Wm9m`,NR(]G̙ EI]}х hQ6Am'g)v{F.ˊȆ"ͤ.X>h…q]s_ 5YkP.+lNdm`,NR(]GAN0"ͤ.X>h…q]tX 6m`= evҜVCkfvrmgaB츮:`D6Am'g)v{F.ˊCkfvrmgaB츮:`@D6Am'g)v{F.ˊCkfvrmgaB츮:`@6Am'g)v{F.ˊI EI]}х hYkP.+1 EI]}х hYkP.+A EI]}х hYkP.+ EI]}х h遀YkP.+ EI]}х h遁YkP.+! EI]}х hCkfvrmgaB츮:`6Am'g)v{F.ˊ CkfvrmgaB츮:`6Am'g)v{F.ˊCkfvrmgaB츮:a$6Am'g)v{F.ˊ5FYkP.+m`,NR(]GPj!i;9K0v\WmF*ki EI]}х h5 EI]}х hDL"ͤ.X>h…q]u@m`,NR(]GT"ͤ.X>h…q]u@m`,NR(]GT "ͤ.X>h…q]u@m`,NR(]GTX 6m`= ev!i;9K0v\WmP bX 6m`= ev!i;9K0v\WmP X 6m`= ev !i;9K0v\WmP2X 6m`= ev!i;9K0v\WmPBX 6m`= ev$"ͤ.X>h…q]uAHm`,NR(]GT"ͤ.X>h…q]uAm`,NR(]GT "ͤ.X>h…q]uBHm`,NR(]̥۠>3S28=YkP.+ACKX|fd2CEI]}х t9-K@6m`= ev(s)fYb&*dpzi;9K0v\Wn2`Ő9"ͤ.X>h…q] YfvrmgaB츮e,ßPAm'g)v{F.ˊPRpzi;9K0v\Wn2` <Am'g)v{F.ˊPR69"ͤ.X>h…q] Y5Am'g)v{F.ˊPRUP@Am'g)v{F.ˊPRr@6m`= ev(s)f9q1dpzi;9K0v\Wn2`>4,NR(]̥۠8 ,NR(]̥۠8<Am'g)v{F.ˊPRu&9"ͤ.X>h…q] Y!B8=YkP.+[2X $I$ BA  `b0/9K!= ADQǰEI]}х fv d(EI]}х m'g)v{F.ˊqOEI]}х \a'=ŲU 6m`= evN{'n2B,NR(] 9́ D6m`= evN{'uU)"ͤ.X>h…q]i;9K0v\Wei2vJQfvrmgaB츮`GdPSEI]}х -M9?%m'g)v{F.ˊ 4pNSEI]}х -M9]"ͤ.X>h…q] `p  2AB@$  OA?''X<0dQC9V3ͤ.X>h…q]u)5HƸiƸ"[4J?8`hpZ?oU)Ta2G)d6yaBȣ5G809(Ӊ 1(@8H@ ?H0(8 8'$dY AP(Mm!OYRX<0v)Qkg*v\WF*kmڳEI+9K!= n28ƶretbی-)k=2UT,N)YY APq5;.+5alKYY# 6m`= evԤX 6VrCk{F.e*2qlNˊMm[6R{Ve)B Zi;|g)d6yaBR'T츮Tqe-gfYj,6VrCk{F.e*2qlNˊMm[6R{Ve)B@%YRX<0v)Qkg*v\WF*kmڳ,UVPJ@p Am'o, (]Tdʝъn0l-UU Qp UPEI+9K!= n28ƶretbی-)k=2UUnK` " UPEI+9K!= n28ƶretbی-)k=2UUnK` "X,N)YY APq5;.+5alKYYZt[9Z,N)YY APq5;.+5alKYYZt[94fvJRm`h…یFN1q] `Zj̲U[LTfvJRm`h…یFN1q] `Zj̲U[Aji;|g)d6yaBR'T츮Tqe-gfYjiqAji;|g)d6yaBR'T츮Tqe-gfYjkAj@2BI2AA$  OA?''X<0dQE{EI+9K!= n28ƶretbی-)k=3EI+9K!= n28ƶretbی-)k=2UU"ͤ򕜥х Jc[9S1S[m ՙb16m`= exB,N %app`P/ A @2$   pO2I''Rm`h…QUT: 3i@6]9X`# h. @ d4XBŀYAxpX Xr3NQIY@  "lQpaRH PrCkP (Mm  2@))d6yP H  `AY @0"TРRH PrCk $Q @ dS*Rm`B&F*khP)$L9K!a$ @ dS*Rm``Ib@  X<0d @ dS*Rm`h…F*khP)$L9K"@X  2@))dB0 @ dS*Rȅe 0((T  ` AA@@0,Pq 0`$H  `AYA@  !Aх RH PrD! PPP)$L>a%p`P/   'B$09K!= E-UPaH Ap5 fNVp @8 `P^>LӇ0=eirAA@@0,\C(TB$1S[BH  `AY @0 RH PrCke 05(THIb@  X<Q @ dS*Rm``I@  X<0@E@@0, (Y@  X<0dQ @ dS*Rȅ,`$H  `AY AA@  !AC  2@))dB(…PP)$L9K"C  RH PrD(8(`AA@@0,PqaB((T"a$ @ dS*:iĉB0/2BI@ @( H7 d H@ ?H@0I?HI ?rCk{F,\d>nڀ9Y AP(Mm!qsjK5uq`rCk{F,q0c, (Y9Y AP "=rCk{F,1S[Hq0c, (Yb9Y AP(Mm"=rCk{F,pZ9K!= E-UP8 k0HA#:/:/:#N./usr/lpp/vac.html.zh_CN/inst_root A lHm #::#:#N./usr/lpp/vac.html.zh_CN/inst_root/liblpp.am   e /acdhimnrst.=lopv"12468CILN_quxyz,0357ESbgkw|$-9:;AFHMOTUVZ[]f{}#&Y`!'?DRPQ^<>KWXj TJ";7 8 < #鱧>@o,HԶM9)iP' ,VRbY0iQ+dKK&= bB13JrGalm`+j6K0a!NuҜTs 9%M9JW 1 L@Bb%AXP( f)5M[P2+1INX, "_@E@HHfY_1I4mzڄZA a"1qu[Jpp1&Guuu8`'04u`YW P?9M9ybENmyN@zRk+GGk1I4mz%%\Ra< o*$PPx zYMdDk D ٌ$*356pm6neX356pm6bTf..*c 0M +|$2pOfa\h' +*¸j@"@q# 8x@@o,HԶM*U 1AX)VfT<@o,HԶM:NTfhikr-mz'Ym!_y#&:*Ia,QuJ L8 j 3$!$UFfcN}bXSl^-6MnEM\$3t[M[VJ2c&1W^~ ?8 x8S?bI h2NTfh164(m:ɵRd[KdN7E%#1PBi\FLtUDY#&:*4$p_JgI$ BIܪ&Ɯ"R6JZl܋il^If趛{d2Y 0S"J2c&1W^~alnoprs"/cdfghmu.=bw0Ikvy%,ACFXx12PST-357;DEMNOV#&48:BHRWYjqLUzGIvc.VBtMղT o8CIt ]Ӛ#+!H: /PcP`X,^a pppppqU:^ :mb8@qAǖ1 iAXȽcJ(8"(H?n AdaKe۞.&ÊqTBKy+CR.X7CU%{VdTHh?QKbԌKjHŀ R# [(vL%E48UA5#\kXJt/P]G7"b<(DDzp]  Cc$ h-"Ht3c8.pH@33ӛ"0]JܙBi gA[M#7sscM+d$ L 4{1l5|TdqD{.pRŴVT͎DxPp݈u\iwdsD7>̎;}2q5e\ଗCw=,h4#ୋiF<$y餺. KԘҔE q#Y]Gi.sR" A4niJK]tr$CM1F d(8݉[oc'[HȑAfG64ҰVKB q83-hn:F8y LR3)H?F5A5#\6FQM-h,8H8U&LP$lnti1IR# [(q4EPI5AP 1$ eq#c t ė-͍4`bFe)K)@PTǍ8 ْ͎$܃`KgMRRh5f=Rbd)H )M-SCnx"(I2LZ<9w0#IHBRE48狉,†p8IRR8GrC_#4:ؤfR qL7>͊ʝm#"b<)NlR3)H?YJ⠳ m(Օ=嶇[8Ghu9H̥ )HBpRb*A08p 5*At@dGsc8+%!ΚKbܷ;TY#eM%1wNn:Jt*crF ,Vuܔ|:vȝ*q5e%d@^ t歛f\l oM%1wNn;r޶77]3ԃzj¨9fYķ NhL{v"Y=4@9+l HM+^hO-"V&19(0`74 zD{-wn}n^$v 㹷-]t0 즄T${`_nIt ]ӛܶwȆHRi.sqۖKcx ${rmnoe ( e FX[ M n,]=4@9\5e!n3q Related Reading

Related Reading

All C for AIX information is available online and can be viewed with an HTML browser. You may also want refer to the following publications for additional information:

IBM Publications

  • AIX Version 4 System User's Guide: Operating System and Devices (SC23-2544)
    Describes the AIX Version 4 Operating System for novice system users. It describes how to run commands, handle processes, files and directories, printing, and working with the AIXwindows Desktop. It also introduces system commands for securing files, using storage media, and customizing environment files.
  • AIX Version 4 Getting Started (SC23-2527)
    Contains information for users who have little or no experience with the AIX operating system. It introduces basic system commands covering tasks such as starting and stopping the system, using a keyboard or mouse, logging in and out, identifying and using the various user interfaces, and running basic file commands.
  • AIX Version 4 Commands Reference (SBOF-1851)
    A collection of volumes that contain descriptions and examples of AIX commands and their available flags.
  • AIX Version 4 General Programming Concepts (SC23-2533 and SC23-2490)
    Discusses the operating system from a programming perspective.
  • AIX Version 4 Technical Reference, Volumes 1 and 2: Base Operating System and Extensions (SC23-2614 and SC23-2615)
    Provides reference information about system calls, subroutines, macros, and statements associated with the AIX base operating system runtime services and device services.

 

Non-IBM Publications

The C language is a well-established programming language. The following standards describe it:

  • ANSI/ISO-IEC 9899-1990[1992]
    Presents the ANSI/ISO standard for the C language. This document has officially replaced American National Standard for Information Systems-Programming Language C (X3.159-1989) as the ANSI C standard, and is technically equivalent to ANSI X3.159-1989.
  • ISO/IEC 9899:1990(E)
    Presents the International Standards Organization (ISO) standard for the C language.
  • Federal Information Processing Standards Publication C (FIPS PUB 160)
    Presents the Federal Information Processing Standard (FIPS) for the C language.

 

[V lꎶ$c:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cuclfunc.htm$ aent /<>cdhiloprs".=fgmubvxy#,0Fw%+1;ATkq()2:CDIP3489ES-5NW&Kt9ۦ(9dzdҍvs% bc!<1+!  \9%Qs'h3rPz1G$^{[ Q(N]Enfq@ HU% I"]-I޹t*_(]ERQJ /M("Jsp *Oq88q-UQFG7%Fgڎc1PQxt2~q?[}%˧^+#׌LC`k+*/62Q2bW ^e)ԫ] J,u&z\G(Ie^o{p+{˝;-o_"*0./xЗwls9Λ)LC)]pͧdr 롇3-oVA|CAxt3 x !t0d*9d@G ^>-o[<%d;-..J"Ng 28"c( o|Kv8"3Z809;%p-֎( ICaclJ,%p-֎(  Xv Zgtee v-5**7T\.w?Axt01D%DUm'3ԉ,9 rrDY1Svz9(*(#P[>-oV?R}m'7= Qs_aX3 r2V۟ zw[g7jTU~zC:No^/] 9k}JboJ6J9;%p-֎( I bQe)((N]Enfq@ HU>aUwL̶wg ^k}J,Lot0"KoJwgAxt3v;] ̶Fܽw{GJLdXҍdh3G1̘ 6&7?RY)[Æ錕cp( zOtjsz"K*B>Hʼˆm=xٷ/g[|zgJT$nEG1̘"K*gS҉졄( ҈9~e˻8[\%y+]m3Ƨ;g}mC;T_e^mk!lQs&* A[;x#kl͟]=9/tn{rJ7T*9d|  ԝ;78 9 @uIDej9ςᶣLT m;۞ܒwg߱T_|(0E|egᝎ )g*k] P8(W*=v .wGW3-߭D Q2C> KڎoLejNꝛq G'0?NmuIDej9ςᶣLT m;\15**ݟ[|= vEtb29{A`?J"Hg`ipQ錭ISxI#n{r@ J7TFV( , .j9d@"|݄4߁{[e^l?tės^/] 맿A݄@nzyuC=Q2C> KڎoLejNꝛq G'0?NmuIDej9ςᶣKdNg 28"c(Hv4a#/ s5  ӲQg s5@©1R\Q>rX2UsF+z% h /mQTQ핐8.Df@zg)QJHi(MvURpҁ@;ZU`{ QJHi(MvU3t}EPdʟ@kJ)I %YׁP>"c*L1CܦdҊRQ銒a⨛0[b\@-֎(  n%8U$4sed(#j`ɣK[+ (aTQQ}ʧ`EĢQ핐8 &-o!3t}EPEE?8Qxt0moV4Q핐8 &-o!P>"(^s6CdҊRQ銒a⨛0[1. ^kG@^q-!5+ qF" "*`zbQJHi(MvQDH,f@zgmoV4Q핐8 Yky f@zglcɥoldJD[-"*z\}5($4sed("VB$Z޸`q"*Rv/)3AiE)!5+ qF"-7JDU-$Q핐8 Yk{3t}ESB;ᄄyԢQ핐8 Yk{xҁD>,3(%QksYN."\*L}=ķEWDTsls%Aj9dIDTsɮY0d.EϹ!pvhYy rfB.(9,qF Dф1KqГ.C*Q̔J=G0 i kBz$c:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cucnvari.htm $ Arithmetic Conversions

Arithmetic Conversions

Most operators perform type conversions to bring the operands of an expression to a common type or to extend short values to the integer size used in machine operations. The conversions depend on the specific operator and the type of the operand or operands. However, many operators perform similar conversions on operands of integer and floating-point types. These standard conversions are known as the arithmetic conversions because they apply to the types of values ordinarily used in arithmetic.

Arithmetic conversions are used for matching operands of arithmetic operators to a common type. See Arithmetic Conversions Table to see how operand type mismatches are resolved.



Operands
Integral Promotions
Standard Type Conversions


Arithmetic Conversions Table
Arithmetic Conversions for extended Level C

y k$c:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cucnvimp.htm$ Integral Promotions

Integral Promotions

Certain fundamental types can be used wherever an integer can be used. The fundamental types that can be converted through integral promotion are:

  • char
  • short int
  • enumerators
  • objects of enumeration type
  • integer bit fields (both signed and unsigned)

If the value cannot be represented by an int, the value is converted to an unsigned int.

Note: Integral promotions are not performed on long or long long integers.



Standard Type Conversions
Arithmetic Conversions


Arithmetic Conversions Table
Arithmetic Conversions for extended Level C
char
int, long, short

/i kf$rc:7$:#r./usr/vac/html/zh_CN/doc/compiler/concepts/cucnvstd.htm$ Standard Type Conversions

Standard Type Conversions

Many C operators cause implicit type conversions, which change the type of a value. When you add values of operands having different data types, both values are first converted to the same type. For example, when a short int value and an int value are added together, the short int value is converted to the int type.

Implicit type conversions can occur when:

  • A value is prepared for an arithmetic or logical operation.
  • An assignment is made to an lvalue that has a different type than the assigned value.
  • A prototyped function is provided a value that has a different type than the parameter.
  • The value specified in the return statement of a function has a different type from the defined return type for the function.

You can perform explicit type conversions using the cast operator or the function style cast. For more information on explicit type conversions, see Type Casting.

 

Signed-Integer Conversions

The compiler converts a signed integer to a shorter integer by truncating the high-order bits and converting the variable to a longer signed integer by sign-extension.

Conversion of signed integers to floating-point values takes place without loss of information, except when an int or long int value is converted to a float, in which case some precision may be lost. When a signed integer is converted to an unsigned integer, the signed integer is converted to the size of the unsigned integer, and the result is interpreted as an unsigned value.

 

Unsigned-Integer Conversions

An unsigned integer is converted to a shorter unsigned or signed integer by truncating the high-order bits. An unsigned integer is converted to a longer unsigned or signed integer by zero-extending. Zero-extending pads the leftmost bits of the longer integer with binary zeros.

When an unsigned integer is converted to a signed integer of the same size, no change in the bit pattern occurs. However, the value changes if the sign bit is set.

 

Floating-Point Conversions

A float value converted to a double undergoes no change in value. A double converted to a float is represented exactly, if possible. If the compiler cannot exactly represent the double value as a float, the value loses precision. If the value is too large to fit into a float, the result is undefined.

When a floating-point value is converted to an integer value, the decimal fraction portion of the floating-point value is discarded in the conversion. If the result is too large for the given integer type, the result of the conversion is undefined.

 

Pointer Conversions

Pointer conversions are performed when pointers are used, including pointer assignment, initialization, and comparison.

A constant expression that evaluates to zero can be converted to a pointer. This pointer will be a null pointer (pointer with a zero value), and is guaranteed not to point to any object.

Any pointer to an object that is not a const or volatile object can be converted to a void*. You can also convert any pointer to a function to a void*, provided that a void* has sufficient bits to hold it.

You can convert an expression with type array of some type to a pointer to the initial element of the array, except when the expression is used as the operand of the & (address) operator or the sizeof operator.

You can convert an expression with a type of function returning T to a pointer to a function returning T, except when the expression is used as the operand of the & (address) operator, the () (function call) operator, or the sizeof operator.

You can convert an integer value to an address offset.

For more information on pointer conversions, see Pointer Arithmetic.

 

Function Argument Conversions

If no function prototype declaration is visible when a function is called, the compiler can perform default argument promotions, which consist of the following:

  • Integral promotions
  • Arguments with type float are converted to type double.

 

Other Conversions

By definition, the void type has no value. Therefore, it cannot be converted to any other type, and no other value can be converted to void by assignment. However, a value can be explicitly cast to void.

No conversions between structure or union types are allowed. You can convert from an enum to any integral type but not from an integral type to an enum.



Operands
lvalues
Integral Promotions
Arithmetic Conversions


Arithmetic Conversions Table
Arithmetic Conversions for extended Level C
Data Type Qualifiers
int, long, short
float, double
enum
void
return
sizeof

rong>f k  $ d:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cucomcmt.htm$ Communicating Your Comments to IBM

Communicating Your Comments to IBM

IBM C for AIX
User's Guide and Reference
Version 5 Release 0

If there is something you like, or dislike, about this book, please let us know. You can use one of the methods listed below to send your comments to IBM. If you want a reply, include your name, address, and telephone number. If you are communicating electronically, include the title of the information item, product and version information, and panel(s) you are commenting on.

The comments you send should only pertain to the content of this information and its presentation. To request additional publications or to ask questions or make comments about the functions of IBM products or systems, you should talk to your IBM representative or to your IBM authorized retailer.

When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any way it feels appropriate without incurring any obligation to you.

If you are mailing comments from a country other than the United States, you can give it to the local IBM branch office or IBM representative for postage-paid mailing.

  • If you prefer to send comments by mail, use the following address:
    IBM Canada Ltd. Laboratory
    Information Development
    2G/KB7/1150/TOR
    1150 Eglinton Avenue East
    Toronto, Ontario, Canada M3C 1H7
  • If you prefer to send comments by FAX, use this number:
    • 416-448-6161
  • If you prefer to send comments electronically, use the network ID listed below. Be sure to include your entire network address if you wish a reply.


Notices

 kVm ${ d:7$:#{ ./usr/vac/html/zh_CN/doc/compiler/concepts/cucopts.htm$ Floating-Point Compiler Options

Floating-Point Compiler Options

Compiler options affect the accuracy, performance, and potentially the correctness of floating-point calculations. Although the default values for the options have been chosen to provide efficient and correct execution of most programs, some applications may require nondefault options to reproduce results reported by other hardware. You should read this and related pages before using the floating-point options.

By default, the C for AIX compiler produces object code that evaluates floating-point expressions in double precision, even if all operands in an expression are single precision. The results of expressions are then rounded to single precision if they are assigned to float variables.

Other C compilers might evaluate floating-point expressions in single precision where such an evaluation is permitted by the language definition. This implementation is preferred on machines where single-precision operations are faster than double-precision operations.

In general, floating-point results from programs compiled using C for AIX and executed on the RISC System/6000 system are more accurate than those from other implementations, because of the higher precision used for intermediate results and the use of maf operations.



-qfloat=nomaf
-qfloat=hssngl
-qfloat=nans
-qfloat=hsflt
-qfloat=rndsngl
-qflttrap


Sample TRAP Exception Handler


float Compiler Option
flttrap Compiler Option

Creating and Naming a C Source File

Creating and Naming a C Source File

A C program source is a collection of one or more text source files written in the C programming language, each of which can contain all or part of the functions that make up a C program. The individual source files are compiled into object modules which can then be linked together to create an executable program. You can use any text editor to create and edit a source file.

File-Naming Conventions

A file name can be up to 256 characters. (Longer names are truncated on the right.) The file name can contain lowercase and uppercase letters, numbers, underscores, periods, and other characters. The AIX Version 4 Operating System distinguishes between uppercase and lowercase letters.

By convention, C source files end with a .c filename extension, for example,

myprogram.c

The characters & | ; ( ) < > ? / * ' ~ have special meaning in the AIX system. To use them in a file name, you must place them inside quotation marks so that the shell does not interpret them. For example:

my"<"new">"program.c



C Program Development Cycle
Internal Structure of a C Program
External Structure of a C Program
C Language Levels


Writing Optimized Program Source Code


C Character Set
Reserved Keywords
ASCII Character Set

mage k $ d:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cudecblk.htm$ Block Scope Data Declarations

Block Scope Data Declarations

In C, a block scope data declaration can only be put at the beginning of a block. It describes a variable and makes that variable accessible to the current block. All block scope declarations that do not have the extern storage class specifier are definitions and allocate storage for that object.

You can declare a data object with block scope with any one of the following storage class specifiers:

  • auto
  • extern
  • register
  • static
  • typedef

If you do not specify a storage class specifier in a block-scope data declaration, the default storage class specifier auto is used. If you specify a storage class specifier, you can omit the type specifier. If you omit the type specifier, all variables in that declaration receive type int.

 

Initialization

You cannot initialize a variable declared in a block scope data declaration that has the extern storage class specifier.

The types of variables you can initialize and the values that uninitialized variables receive vary for that storage class specifier. See Storage Class Specifiers for details on the different storage classes.

 

Storage

The duration and type of storage varies for each storage class specifier.

Declarations with the auto or register storage class specifier result in automatic storage duration. Declarations with the extern or static storage class specifier result in static storage duration.



Declarations Overview
File Scope Data Declarations
Declarators
Storage Class Specifiers
Initializers
Type Specifiers


auto
extern
register
static
int
typedef

n. lh $d:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cudecdec.htm$  t<> "/acdeilnors.=ghmp%0bfuw#46vy,1DFjkqx*25AS_389:ET[]()BCIOYzyOZYs5oT){g5$s", \_pH$ QAt8ps]K殡n1і׼1:2̵- tFrG@8pȳmmjJ{-[8d]. R:')bZ-HVh-IUJ"ct@%mԞ9m)"ĴhD\]yOqq^g6m'mYIsQviVƭ꒼eIiWٸ+yY ja"ljީ+S,Y{՘. A3J&ʃ3YmhAфƤg1E840qJ!Lƭ8J03:pbZ g1EVZƭte.rO0"¢w=F^O0"Ogg0P_t`5$9j.M*(D'J%^cf8Cg-PDIMф IA`l3r[( ״:Y'3Sa7FRK qE[%x.0'*l;add((bD6Y[ܖ1{-#|V \Knbf5oTaSlnO=ncVI^29CX0T{lj.PU,;Ot椈|V  m5`$+D@)wrT%~2Q z=S 0"2nb -k%R0"Ƥg1E %L^tBrpN%771zLK殡n1і׼1F[^賛mmjHS QEF]'mjH SCf8“?(YͶԟ+9ڼm-䎀uD\*OI쳛mڻ03:CEpl?t~QzL,mSWƤYͶԟ+9ڼm-䎀uЋI=smWfrG@HpȺ6O+C[*n0"mf+D@)R{,jOm^VsmWfrG@@pȺ0@]'YͶm][!"l?t)(/DN:n0"mf6cR{,jOm^VsmWfrG@@pȺe/0Tg6mvang$t K)?tP_ta*Pt9m- SCgcR{,jOm^VsmWfrG@@pȺ¢w=B{,m-䎀uRCT-FYͶmWĪ{J{g6R|jmڻ03:E|`]n OI쳛mڻ03:CE):yZaQzL,m..lT5O0"I`EI쳛m>VsmyYͶm][" CAI=smWfrG@HpȺoy?( gg6mO0"I`EI쳛m>VsmyYͶm][" CMMI=smWfrG@HpȺ`myʆT8KsmCS:aQzL/T-FYͶmjOemImmjH_A\a?w=6mK>Ҁ+Oemم2..}k|V yˌ'sm* ?( gzn0"rNmiw/OJ!*  ~{ Q g6R|{l9YsWPkZ@m{Z: s9#8dYͶg6mvang$tPtӒ@%(0"Mz!Qщk' mڕDcW O(ĴX!zx 4]%WB%g6m+& ƬCc-ox \Kn+J'IUЉYͶmJɢGB1O(ĴX%nہ ꒻ Ut"VsmR2hбLj1<`WCp=Sj%͔*+9mX4HX5n'Z,`=lIUЉYͶmJɢGB1eO(ĴX - -p6S軧F:.)D6ik1-䎀8k' mڕDL%2RP?h&RP\*+9mX4HdɢS!K{1<nDmbd#a&L-Y#-U*JJmjV&M:2hR޵ P?h Dmbd#a&L- File Scope Data Declarations

File Scope Data Declarations

A file scope data declaration appears outside any function definition. It describes a variable and makes that variable accessible to all functions that are in the same file and whose definitions appear after the declaration.

A file scope data definition is a data declaration at file scope that also causes storage to be allocated for that variable. All objects whose identifiers are declared at file scope have static storage duration.

Use a file scope data declaration to declare variables that you want to have external linkage.

The only storage class specifiers you can put in a file scope data declaration are static, extern, and typedef. If you specify static, all variables defined in it have internal linkage. If you do not specify static, all variables defined in it have external linkage. If you specify the storage class you can omit the type specifier. If you omit the type specifier, all variables defined in that declaration receive the type int.

Initialization

You can initialize any object with file scope. If you do not initialize a file scope variable, its initial value is zero of the appropriate type. If you do initialize it, the initializer must be described by a constant expression, or it must reduce to the address of a previously declared variable at file scope, possibly modified by a constant expression. Initialization of all variables at file scope takes place before the main function begins running.

Storage

All objects with file scope data declarations have static storage duration. Storage is allocated at runtime and freed when the program stops running.



Declarations Overview
Block Scope Data Declarations
Declarators
Storage Class Specifiers
Initializers
Type Specifiers


int
extern
static
typedef

e> lf$d:7$:#J ./usr/vac/html/zh_CN/doc/compiler/concepts/cudecini.htm$    <>aeit "/dlnopr=cghs.0bfmuv,1[]wyz#23FTkx%:;DISq{}&489AEj-5V()BCOZ9IsѹY ܜВ'1Z$t@P( G @s鄺Nc6V!ZJV0!Zu$tG iC @skWKX:5G iCQ0P&`SYUcrcopDvP"a5 K3r"͘I@9:9UkзӦxKC.:9;BWrs^9? n5~[G2qUo-F />37)|m,e[]@M%sO-ӂ-,#҇@$@G*t B&9htʿ^ ax^+W{XL ݘIz9 %⚵.Ćzgf/M\,k!9=ľuzs4Wf/5ϲư][jC9 .e_`bmlfnR6_0n7ŵgү`6^b_6sc3r3r/x^i\U37)xo/TÚbX?"yz4Xa~[WҬfnR6v.٥}fnR66UfnRkYx{K[eoүǗm,eUVhdh t4:AmYxK=qdR@Maw.lfnR6xݑ0616 s$m>CS^sX6v⚵/OUmuXfn5av_ү3r8`a;skywJ_K}n/hBwgx$Is@`1rs918佣0>愉[Hc'1S_31\x4c_.Wf/5ϲư,azs l!m.7d l'vx1vYJ^/_'6K_J^EzO6 _~0},Wv@wgۍe,?XK9eX_0onڸCE1\csX5ϲưE3l!m.K/˷Sm\Hg!a%sY鞞 `gf/m\ax}_DX[K|fnR6ׅ?qv,M ,㴿VnfnR6[f33rU=~VX t4:Ae_f/kq{]oܲE{ ꭯O,Q͌UƳk[[_Ca%sY⚵/Om r UXV]i}g5=vI~*>~^ό^ڃYWb$яl[ rՆ|fnR6KQE v rՆ|fnR669h 7nNo>7d9e5~($@ W~ @?h ݘKrsBDۓH,⚵/Om r~ ivܥmn5g5=vI~* 7NcۓϹ/kpYM~_ p` @s@?hwfܜБ+i,cv9 *37)|m,e+T'v}>o tЬxKAͷ`f9hJkoZRG"ֲDc '7ƾNoҸ^ѭr& ׵]l${XLt9JixKFȘ/^ Kpa3 Ҥ+,"`{XLػfK׵'J46tk\a2 /^0*NoKX:mm/ `ֹKA"DBwf5^tlz8^ѭr&7dD'va:9UxKAͷ,"cvI~($ ($ ݘNNoz^EmixKFȘݐNuRs'_'7ƾNoz^EmixKFȘݒ_  ݘNNoz^EmixKFȘݑلW,[6ގ6tk\%HT'va:9UxKAͷ,"cvB!; I|9UxKAͷ,"cvI~($@PH *0T%fk1"!; IKX:mm/ `ֹKA PلW,[6ގ6tk\ ݘNNoKX:mm/ `ֹKA"A!PلW,[6ގ6tk\'U'7j/ `"ٶq%ZLn/B; IKX:mm/ `ֹ"0T 񯓛5^tlz8^ѭr&7dBDBwf5^tlz8^ѭr&7dD'va:9UxKAͷ,"cvI~($ 'U'7j/ `"ٶq%ZLnȈNuRs'_'7ƾNoz^EmixKFȘݒ_   'U'7j/ `"ٶq%ZLnȈNuRsƫ-oGKX:5DPH ($ ݘNNoz^EmixKFȘݑلNNhNЕܜВ-oJl49hZ[@r-ku)XG@r-k-F0!/TI񯓛5\/ D '@ptMYHx(t@B9W"`K>*hׇ+EDB67,.S_'7W)(t1V@"@ Q u"d.[ap9OCbÕ"AXQ u"d.[ap9OCd+EDByp9OC և+EDZ7,:Yo.S_'7W)(t1VF89Z,r$S50TixKFh[%IZI I|Н+9ht]'1}ä8tnCXEKI,9Z-,[ä8t&K "p`rpR8V! 9"Z9%hPnotice k޽$Fd:7$:#F./usr/vac/html/zh_CN/doc/compiler/concepts/cudecovr.htm $ Declarations Overview

Declarations Overview

A declaration establishes the names and characteristics of data objects and functions used in a program. A definition allocates storage for data objects or specifies the body for a function. When you define a type, no storage is allocated.

Declarations determine the following properties of data objects and their identifiers:

  • Scope, which describes the visibility of an identifier in a block or source file.
  • Linkage, which describes the association between two identical identifiers.
  • Storage duration, which describes when the system allocates and frees storage for a data object.
  • Type, which describes the kind of data the object is to represent.

The declaration for a data object can include the following components:

  • Qualifier and declarator
  • Storage class
  • Initializer
  • Type specifier

The following table shows examples of declarations and definitions. The identifiers declared in the first column do not allocate storage; they refer to a corresponding definition. In the case of a function, the corresponding definition is the code or body of the function. The identifiers declared in the second column allocate storage; they are both declarations and definitions.

Declarations Declarations and Definitions
extern double pi; double pi = 3.14159265;
float square(float x); float square(float x) { return x*x; }
struct payroll;
struct payroll {
                  char *name;
                  float salary;
               } employee;


Program Linkage between Identifiers
Scope of Identifier Visibility
Storage Duration
Block Scope Data Declarations
File Scope Data Declarations
Declarators
Storage Class Specifiers
Initializers
Type Specifiers

ze k{$H d:7$:#H ./usr/vac/html/zh_CN/doc/compiler/concepts/cudecsto.htm$ Storage Class Specifiers

Storage Class Specifiers

The storage class specifier used within the declaration determines whether:

  • The object has internal, external, or no linkage.
  • The object is to be stored in memory or in a register, if available.
  • The object receives the default initial value 0 or an indeterminate default initial value.
  • The object can be referenced throughout a program or only within the function, block, or source file where the variable is defined.
  • The storage duration for the object is static (storage is maintained throughout program run time) or automatic (storage is maintained only during the execution of the block where the object is defined).

For a function, the storage class specifier determines the linkage of the function.

Declarations with the auto or register storage-class specifier result in automatic storage. Those with the extern or static storage-class specifier result in static storage.

Most local declarations that do not include the extern storage-class specifier allocate storage; however, function declarations and type declarations do not allocate storage.

The only storage-class specifiers allowed in a global or file scope declaration are static and extern.

Storage class specifier keywords are:

  • auto
  • extern
  • register
  • static
  • typedef


auto
extern
register
static
typedef

 kHN$ d:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cudectyp.htm$ Type Specifiers

Type Specifiers

Type specifiers indicate the type of object or function being created.

The basic range of types are:

You can use the basic types listed above to derive the following additional object types:

The integral types are char and int of all sizes. Floating-point numbers can have types float, double, or long double. Integral and floating-point types are collectively called arithmetic types.

You can give names to both basic and derived types with the typedef specifier.



Declarations Overview
Block Scope Data Declarations
File Scope Data Declarations
Declarators
Storage Class Specifiers
Initializers
Type Specifiers
Lexical Elements of C - Character Constants
Lexical Elements of C - Integer Constants
Lexical Elements of C - Floating-Point Constants


typedef

g="0" kꮄ$d:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cudevel.htm$ C Program Development Cycle

C Program Development Cycle

A C program typically passes through four steps of development.

The solid lines show inputs into each step of the development cycle. Compile and Linkage Editor operations are performed by the C for AIX product, which also lets you specify what optional outputs are produced. Optional outputs are shown in the diagram by the broken lines. Descriptions of the steps follow below:

Design and Code Involves designing a program to meet a specified requirement, and creating the programming language text files that will comprise the program source.
Compile After checking for syntactical correctness, converts the programming language source files into machine readable instructions, where C variables are associated with memory addresses, and C statements are turned into a series of machine language instructions. The compiler can produces various forms of output, depending on the compiler options selected.
Linkage Editor Links compiler output with external modules requested by the compiled program. C programs can use routines from C libraries or any object or archive file from the IBM XL family of languages. C programs can also use modules produced by the current or previous compilations. As well as linking the external modules, the linkage editor resolves addresses within the object module.
Run and Test This stage can be both the final step in program development, or it can be an intermediate point in the program design and implementation process. A program's design commonly is further refined as a result of information gathered during testing.


Creating and Naming a C Source File
Internal Structure of a C Program
External Structure of a C Program


Writing Optimized Source Code


List of Compiler Options and Their Defaults
Message Severity Levels and Compiler Response
Compiler Return Codes
Diagnostic Message Format

 lb$Ld:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuexpcon.htm$    aeinrt "/<>clos=dfghp,.0bmux#vwy1CFIz%)-2349;ET(*58:AjkqSQZ%9e0:cVֶVub{'k[+9Ys(C cH$ ѐ 8pá|9ZԒs 어zF@tvKZd>2ÀYYh(}(dP"^!2#*h<2G##\Z^`^uI!׫RJs::ohDn-j/hD_RKY9IY̤l9Z?T[oؽ,jL_"{+JsEOң}?;8&Gʲ{$lm:p4 =|D #߂hLod]x*,7:߱{Yy/}:s2/ -ϑ{$*2y tmY 1nо,slPu:߱z%*s"{0&{oؽ,o )x~Y=g{f:߱z2{Aᢥᔒs-`iSdgcJCUl2^s՜W!/xFҧ/fQ{N>'7f@OV:Ym,JRV|/uWVqJol%X*_&r5> pxh#?qJ R_%g7oؽR[K9MZREw,*qIm,6 O/$s%vu?qJ%W߱&oNo6(Lm:oؽx_:߱z,~:[.!I~㬕싷ocfhilops"./bdgmu=y#,0Fvwx(T%)13ACDEk+-2589:IOSq4PUWjzC4$9ʒs25HAvkEkuԓ22y~ O<9h$9;"0uS !T$0p ѸG 4 &p J% }\ 8p3)5TO* @ҐZK ޥ0 I8La5²`C˚MK4D HIq'2ԓDQIYvk\ E'>|1N ůOl>-*^dyTZ #YU{0% ,lwoaP ů''hpO(oTߗEzT48!.Jh$9;<%8 @XAt)ރr'hO.@Շ\@܉`!NoʃAҨ;@;,!nA'2PK~NcH% ,A2ho6GS:߅K'$؜>L_WS*0}'YUz/mNi __TrJM6˵k_|wd~`qu޿ *7X.խ}qɏZ[g6%Wh$9Y_C»笻V.weF-}+iyC»sk+V(%򴼾..cȭ)Dqe|/,U{Y]eڵE-k^ e|_Z̩sce}?j˵k_+KˏʵP 9]Z;cNX 9dA )|;S{笻VL&L_8 1>mgepd4@W h19%V}ex=lo߬m3c6A'1̈$ K*~wW6GYvk>ra5D}y$De,06R吡Y"B k_| :ruiJĜ̥QFXZ+4]|HAvkuiJĜ̥QFXZP.'+K3gh@Ҕ9=K :9+4]|NVfUz(s{2AE)cajq `ҁu*d|IXal6Vi@ރw>cP4NoOfR(e,l-N!nP.%n|7!@Ҕ HI#˚M_=+& D lvalues

lvalues

An lvalue is an expression that represents an object. A modifiable lvalue is an expression representing an object that can be changed. It is typically the left operand in an assignment expression. For example, arrays and const objects are not modifiable lvalues, but static int objects are.

All assignment operators evaluate their right operand and assign that value to the left operand. The left operand must evaluate to a reference to an object.

The address operator (&) requires an lvalue as an operand, while the increment (++) and the decrement (--) operators require a modifiable lvalue as an operand.

Expression Lvalue of Expression
x = 42; x
*ptr = newvalue; *ptr
a++ a


Overview
Operator Precedence and Associativity
Operands
Types of Expressions


const
int
static

ned k~$Y e:7$:#Y ./usr/vac/html/zh_CN/doc/compiler/concepts/cuexpops.htm$ Operands

Operands

Most expressions can contain several different, but related, types of operands. The following type classes described related types of operands.

integral Character objects and constants, objects having an enumeration type, and objects having the types short, int, long, long long, unsigned short, unsigned int, unsigned long, or unsigned long long.
arithmetic Integral objects listed above, and objects having the types float, double, long double, and long float.
scalar Arithmetic objects listed above, and pointers to any object type.
aggregate Arrays, structures, and unions.

Many operators cause conversions from one data type to another.



Integral Promotions
Standard Type Conversions
Arithmetic Conversions


Arithmetic Conversions Table
Arithmetic Conversions for extended Level C
int, long, short
float, double

tr>  k$e:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cuexpovr.htm$ Expressions and Operators Overview

Expressions and Operators

Expressions are sequences of operators, operands, and punctuators that specify a computation. The evaluation of an expressions is based on the operators that the expression contains, and the context in which the operators are used.



Operator Precedence and Associativity
Operands
lvalues
Types of Expressions
Constant Expressions
Function Calls


Operator Precedence and Associativity Table
Primary Operators
Unary Operators
Binary Operators
Assignment Operators
Comma Operator

 kX$e:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cuexppre.htm$ Operator Precedence and Associativity

Operator Precedence and Associativity

Two characteristics of operators determine how they will group with operands:

precedence Precedence is the priority for grouping different types of operators with their operands.
associativity Associativity is the left-to-right or right-to-left order for grouping operands to operators that have the same precedence.

For example, in the following statements, the value of 5 is assigned to both a and b because of the right-to-left associativity of the = operator. The value of c is assigned to b first, and then the value of b is assigned to a.

b = 9;
c = 5;
a = b = c;

Because the order of the expression evaluation is not specified, you can explicitly force the grouping of operands with operators by using parentheses. In the expression:

a + b * c / d

the * and / operations are performed before the + because of precedence. Further, b is multiplied by c before it is divided by d because of associativity.

 

Special Cases

Order of evaluation for function call arguments or for the operands of binary operators is not specified. Avoid writing ambiguous expressions, such as:

z = (x * ++y) / func1(y);
func2(++i, x[i]);

In the example above, the order of evaluation of ++y and func1(y) is not defined. In fact, they might not even be evaluated in the same order at different optimization levels. Do not write code that depends on a particular order of evaluation of operators that have the same precedence.

The order of grouping operands with operators in an expression containing more than one instance of an operator with both associative and commutative properties is not specified. The operators that have the same associative and commutative properties are *, +, &, |, and ^.

The order of evaluation for the operands of the logical AND (&&) and OR (||) operators is always left-to-right. If the operand on the left side of a && operator evaluates to a 0 (zero), the operand on the right side is not evaluated. If the opernad on the left side of a || operator evaluates to a non-zero value, the operator on the right side is not evaluated.



Examples of Operator Precedence and Associativity


Operator Precedence and Associativity Table

"> lz$#e:7$:#F./usr/vac/html/zh_CN/doc/compiler/concepts/cuexptyp.htm$  aet <>ilnoprs"./cdfghm=buvxy0w#%,-AET28CFO()13BP'59:Uz4NjIIk2 :] P£He)HTHW' YcP(@ AVz;ԃ º .E1I[K(0EBXAAMP H?n Ad-<\dف©&u$6,r9k"ERglAZ<4̬4ɊfVXl&SP= 2^%v6XЇ£̐e`p!Uͬ:H,EZ%4j ]q<4F̦kmn++wpem[KA偦葰 AɽϨKI(!nnCrt8UcfV+ `0ڵ懨EnlyoDjfM!nhG, Q#H?GT{[B nx:ɳ RcpsKP&1Ym6h?(CQؤxԑ pŖЂ۞.laT n5SM>HjۡQ, Zٕ(ɨ8Q=[(AY ;⹌V[M&*W1irkM̭U}BZNsM>͎hhAq+)r<5 ̮ľٕЇ£ٕؗ2QW i#`+, [CQqAV2QW i6G2CfW6ˆiP!2C(1q Xuؑ;ԃ{%H?G)MH?lHRCrǰwn}BZLxtNO94pbAq[*]fn}BZL@Xy`jWfWe}BZNea偫q]]|*1[6 2QW i(?y`i$ъ°N8-Y5EQ?-'), Z㒸0&\*!{!ƛ=|*1[(?]|`y`jKfn}BZLwC6zTb7"Z!떉Kld8gF+sc!e`p" ,A1q XuؑYϨKI`M8Z)Ф̮ , R A=VRt&AH:+M@ S$ Ld_$-\dفaT6NlaT_Qfu\) ZY6`A@0@Qs)eaATR̅RP1hT6`&EM"i(?&1q Xuؔ*HX)LB)Ce C for AIX Features

C for AIX Features

The C for AIX product is an IBM licensed program that operates in the AIX Version 4 Operating System environment. Features of the C for AIX product include:

  • Ability to compile in either 64- or 32-bit modes. Programs compiled in 64-bit mode can only be run on 64-bit CPUs using AIX 4.3 or higher. Programs compiled in 32-bit mode can be run on either 64- or 32-bit CPUs using AIX 4.2 or higher.
  • Programming support for parallel processing architectures:
    • SMP automatic and explicit parallelization support
    • OpenMP Application Program Interface support
  • Conformance to the following industry standards for compiling C language source code:
    • The Federal Information Processing Standard (FIPS) PUB 160 C language
    • The American National Standard for Information Systems (ANSI) and International Standards Organization (ISO) standard ANSI/ISO-IEC 9899-1990[1992] for the C programming language
    • The International Standards Organization (ISO) standard ISO/IEC 9899:1990(E) for the C programming language
    • Conformance to IBM Systems Application Architecture (SAA) Common Programming Interface C language definition, described by the document Systems Application Architecture Common Programming Interface C Reference - Level 2. SAA Level 2 is an IBM definition of the C language that allows programmers to develop applications that can be easily transported across different SAA environments. It specifies several features of the C language that the ANSI C standard designates as implementation-defined.
  • Compiler options to provide support for different levels and features of the C language
  • Compiler options to enable various levels of optimization for generated object code
  • Unicode character support lets you use characters not in the basic character set to describe identifiers, character constants, and string literals.
  • Memory debug routines
  • xldb and IBM Distributed Debugger (idebug) graphical debugger tools
  • HTML-based product help and reference information

 

T l^$e:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cufltar.htm$    einot <>aclmprs"./=dfghu-0b,;qwxy#&13FTkv%()*8:ACEIz9OPRW\245MN{}HIAd :l >!*p1Ӵď Y*AtCxٍ(  ~f( @]A$wAӫr@ֽdVYZؽl,D 0ABIx.  RJR$ Rd;LXJ@Ij1Ϧpm:Pcq{VXp {VbG+/THJ<v@oR_.Y*Gz􏤩Rb[*At@'lïv\w\{a9MYaߕ{ ;L~F4%׽g:FAYaߕ{eDž֙ٗ]dǮƓ$ l/e>>[k jIs鲃:F ɿOLve8HeldՖ3~1鋾d:e6-FAt@[[َ}6C:yXjW),;{17W(ZpmV_v<>ltiv.c[$cV_'; 5#aZ|~\FAt@f97e~U\+Lt3wX>~璊l~Zap[&&bt :MjKi@uYES;G'bkw]}盫s鲃:{7E0mf7 w'bkwŃ牙ŵ{$#pi+_1{ݐmV_as#pfCbBdzc-NYI; eQfo<=zNzཞ[=deǺ3xA͌׽g:B;ᄚʲ[E EL&#[J17W/{ᄚ~\{|L?s钃hLMn1{֓X>xk$$7%,Am:~>`4ʏ ZO|$7w1T1?1e#pd65e2zc-E7v zG, ̸3ljdaZn/H+JG, Gm)HH:\mg޲l~>mV_v={mJ0֓f9'֙, HebrL~>mV_v>fɒzN3!1n{d#6Ʒ Atn0nl˫02n/x`G A^ Ag#8,a(?Gj@ [¯J!F愂8 0lnhHG%ᜎ @Jy0r8`(?Gj@ [¯J!F愂8 0lnhHG%tJt%pQKQ>$ޤHFʐK*N4Šn/H-uI KqseH:L!5Yj pX!;MjW䢥dX:c d6}2{1Ϧ}J(b!F ~ 74'Ɏ, adilnprs"/cfgh.=bmu-0qvwxy#,ERT%12:ABFGIOPSk39NVz()458UXDLWZ_HAv)9d*ZNcE) %pS=)99r9&(m@@, ,  BNszP;sȵ lj  lk^(@dK[8 vX`d$E SXS t.0%Tu䨉24\*m(d[*D tԐp[w=Nr*NokI^n)C58@aE;s{ZNopÍB[)9d= A`_S/&UYbA %U*{ |Ǣy "_lGޓC .tFN)$ zœRz}.=9)lú9 X'"=ʗLsZ#ph0 NA}s0}k;#NS[+Ć9/TsX}h9d-9е-MAs -kԵȖ/Q qB'7. 9kػ,@8@ 2Q8J@0%ĥN)(֓邮cK\ܑzড়䶕lq@:  {ZNopINoZ.0FN)( @Rp Iĥs֐2]0Ur)sk/Sҭ(^-˘ {ZNopINoZ.0FN)(r8JNo%(֓邮cK\ܑzড়䶕lq@:)e;='7$E'7-x[eFJ#p HBŠq)@SJ@Ri9kH.*9 yKiVcc,0Uae:!kI 9pI^bQ)%RpX@Rp Iĥs֐2]0Ur)sk/Sҭ(^HbC){ZNopIB[)9:֓9d= %tuByrWWeΈ)$$O.PœRNj};.p)Q|V *pB`' :NdFN)$ lx)$> .tFN)2 lx)'4e8c0Rc.w›E ) * r l\DN %HoeΈ)$$O@SOOS爱4e;-Q\L}; {-WUSLvR𢠡A2is7 qI %pS0S$22p"tW19e ;.xHa,DNNhoNNY!$[Sjj[J8wy)VtCi:sHae;^뛒.V ċ˞CEltOe!KWn`)\DnOœRNhOSGu_ %W* ҭ(_O*N˓\P-_eΈ)$$O@SOOSD !͘Dz%wD.8Y k{N.`s-[)ݖy)l e7 qI %pS`e::9 b|$FNi "_lU*Nw9A m.tFN) `x)' rtW+Ć l%tr.3|((Wu%0rRWe!K)ؙEobCuo Ć1lqZPc{#bgce˵hœRA$@SO7e9x܅5q]80[&L"xPc!Z :uG-N[f7 qI=N) xLLsYpD @^J$9v(tKiV!)Du%` ˄ b.n2AIm*u%` ˄ b)] -qfloat=hsflt

-qfloat=hsflt

The -qfloat=hsflt option improves the performance of floating-point computations by suppressing all rounding operations and by performing conversions from floating point to integer with inline code. This option is intended for knowledgeable programmers in specific applications where the computational characteristics of a program are known. To safely use the hsflt option, a program must never attempt to assign floating-point results to single-precision variables unless the results are known to be within the allowable range of single-precision values. In addition, if any floating-point numbers are converted to integers, the floating-point numbers must be within the representable range of integers. If the hsflt option is used in cases where a program does not have these properties, the program may produce incorrect results without warning. When the computational characteristics of a program are not known, use hssngl not hsflt.

In suppressing rounding operations, the hsflt option operates in the same way as the hssngl option. However, the hsflt option also suppresses rounding operations when double-precision values are assigned to single-precision variables. Single-precision overflow or underflow is not detected in such assignments, and the assigned value is not properly rounded according to the current rounding mode.

For floating-point-to-integer conversions, the hsflt option allows the compiler to use inline code sequences instead of subroutine calls. The inline code sequences do not check the floating-point value, and produce incorrect results in cases where the floating-point value does not fall within the range of an integer.

Use the -qfloat=hsflt option with the -O option, but not with the -qfloat=rndsngl or -qfloat=hssngl options.



Overview
-qfloat=nomaf
-qfloat=hssngl
-qfloat=nans
-qfloat=rndsngl
-qflttrap


Sample TRAP Exception Handler


-O
-qfloat
-qflttrap

H:G2 kr$ e:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cufphssn.htm$ -qfloat=hssngl

-qfloat=hssngl

The -qfloat=hssngl option improves the performance of single-precision (float) floating-point calculations by suppressing certain rounding operations. The suppressed rounding operations are required by the C language, but are not necessary for correct program execution. Rounding operations are still inserted when double-precision results are stored into single-precision memory locations.

The hssngl option retains the results of floating-point expressions in double precision when the original program would have rounded those results to single precision. The retained double-precision results are then used in later expressions instead of the rounded results. The program results may be more accurate because of the increased precision, and program execution may be faster because rounding operations have been omitted.

Rounding operations are still necessary in cases where a floating-point result is stored into a single-precision variable. The result must be rounded to detect a single-precision floating-point overflow or underflow. In some cases, program optimization can remove store operations from a program. The hssngl option allows the rounding operation that accompanied the original store to be removed also. When the hssngl option can retain such a result in double precision, an exception can be avoided.

The hssngl option is safe for all types of programs because it can only increase the precision of floating-point computations in a program.

Use the -qfloat=hssngl option with the -O option, but not with the -qfloat=rndsngl option.



Overview
-qfloat=nomaf
-qfloat=nans
-qfloat=hsflt
-qfloat=rndsngl
-qflttrap


Sample TRAP Exception Handler


-O
-qfloat
-qflttrap

float -qfloat=nans

-qfloat=nans

The -qfloat=nans option causes the compiler to generate object code that detects the conversion of a single-precision signalling NaN (NaNS) to double precision. By default, the compiler generates object code that detects the use of a NaNS in all other situations required by the IEEE standard.

Very few programs actually require checks for NaNS. A NaNS cannot be produced by any floating-point operation, and must instead be explicitly created. A program only needs to be compiled with the -qfloat=nans option if it explicitly creates a signalling NaN.



Overview
-qfloat=nomaf
-qfloat=hssngl
-qfloat=hsflt
-qfloat=rndsngl
-qflttrap


Sample TRAP Exception Handler


-qfloat
-qflttrap

stron kҗ!$Lf:7$:#L./usr/vac/html/zh_CN/doc/compiler/concepts/cufpnmaf.htm$ -qfloat=nomaf

-qfloat=nomaf

The nomaf option is provided for cases where it is necessary to exactly duplicate the double results of an implementation that does not have multiply-add operations. The nomaf option prevents the compiler from generating any multiply-add operations. Not using multiply-add operations decreases accuracy and performance but strictly conforms to the IEEE standard for double-precision arithmetic.

To duplicate the single-precision results from other implementations, you may also need to use the -qfloat=rndsngl option.



Overview
-qfloat=hssngl
-qfloat=nans
-qfloat=hsflt
-qfloat=rndsngl
-qflttrap


Sample TRAP Exception Handler


-qfloat
-qflttrap

tron ks"$ f:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cufprnds.htm$ -qfloat=rndsngl

-qfloat=rndsngl

The -qfloat=rndsngl option is provided for cases where it is necessary to exactly duplicate the results of an implementation that uses single-precision floating-point arithmetic for float expressions. The rndsngl option causes the compiler to round the results of floating-point operations on float operands to single precision. The effect of rounding the intermediate results to single precision is the same as if single-precision operations had been used for evaluating float expressions. Runtime performance can decrease significantly because of the increased rounding overhead.

Some programs might check portions of their results by comparing those results with values computed on other systems. Again, the rndsngl option may be required to duplicate the previous results and to have such programs report correct execution. Programs checking double-precision results may also require the nomaf option.



Overview
-qfloat=nomaf
-qfloat=hssngl
-qfloat=nans
-qfloat=hsflt
-qflttrap


Sample TRAP Exception Handler


-qfloat
-qflttrap

#top" l#$Lf:7$:#+N./usr/vac/html/zh_CN/doc/compiler/concepts/cugloss.htm$  enort <>adis/bcghlp.fmuy",Avw=kx()04Tjz-CFIS#BDLUq%'19:;EGMNOPWXYZ\+23578HKRV{}&*6?A62 u-'1s"e:@T(e:Nd Ki9d +@TX `,^`pP @$ @T1̂ҁKIs"1O48( ZApP$)vApP$ b8(@$9t!E0ܖ vHp$A %/  b%{`JƒTU$KZCLZP) $@ )@^$&ZP^Di`)i9-'7ÍmC9d,7cud-jO!8y;vGdG08 4VɌ J!p{ r-ۭ2lnr^0s;T`UaE`6 U- ,E@#T/xc R\@H  !ƒ>]Ie*da$r{%d6@ɆodmЁ 7dC}P$kUmЁE;q\{(Os/C1CvK9, '7Zsv6`aɄ ۩UNo-i%PC=i|_d;{%oa%*ڠVĖ/ޕ jIV] !*kXDx%ӵ+nJ]B֐x䷥[&;%W杽B|YsJ!u[&63x{%5[ҡat I9*֓2 2 pTS$P+nJRP) RNc )'7iCnH̅P%ӵ+nJ]B֐x䷥[&1-LA%*Pa-W4@ԓi9лJu0BFe-`v ZAgCjt {Ob!ǘ2<iom jIV] !##4 ۩Wi9еVM8`8(*ZФp nR$bpAUw@JRBsU'7iBPwTj`CnHHp[u0BP*L`UNo-i<3!խ2lh6R  9jm^uV3KvKi)u0B@ @!'7SjPjm 5`=0o;t I9*֓ \(;FPE0`CnH"-`U% !'7m @Zr[&6FL4ڰIOY8f9K9vMQAfk3K9Q-ȥ"!j'7iU!mh:p5%A)a3K9ƑPնCZ  k)E5$@ZNo.҆Ljzm @Z B|y+m;Jbod4 !#S[u0BNoBmpJ C]}Qޕl~kQЖX[xa;Yl0!^r|/G7ʒ:SRV婭u=fSlm; o]-VɎkhK,rvڭüX]RNo B(m @`Xb4`UNo-i˩U!/1oCj3\5j93 $_@`[rH]RNo @)'1̂i'1̂@\(;@P*P۩+nJRP) RNc )'7iCnH `ԪVL I D>SPUZ ǐ0 Bslnk ŸPZ G%* JC%*0l;u[&B^ {dBsU'7iCnHk㔡 }`UNo-ihK,rvڭüX6u53^0P$z6Uwh]RNo B(m M| hS%skHK3K۩:S' %!.a:j9];ZɍPXT\dvKr{!EU{%o! /0T^LvK[xᤢ%Gd:JOR;kIP۩:{KkY1VL I m .d`첄=[v[y-PQvcU2@9Jk{[5$@ZNo.҆L䷥\ց[u0BP*'7d:|C]xi%}-Ɇ5$@ZNo.҆LUm-`f=hS%skH>9*Ռ!X dkU%]RNo B(m Ryڢ ۩Wi9еRkTn[p;-u썬 sDM1U@ԓi9лJu0BG%Tkށ[u0BP*'7T/䪔=7^kVv`:04,lrUJޛ.˦EZoCUKTmYsV@ԓi9лJu0BG%TU1Cm @ZVF{I>:T"eԑJs%l IZ[nLU VLm !-a9%T[u0BA !"!"x䪂VLRNo B(m CVLhS%skH (Bװ7dQn%WJodAVZC q[&sU'7iCnHMdƁ[u0BP*'7㒨!GdbK~CjP *YN 7!Ev!F zjInn|y[ z9ǘzM(_jbK|g 4AœsU'2YI9dI9d% A CnH VL R@2RNo.҆Lխ2l+nJ]B֐|)Aڭü_dG :E;y sUaݶcIvK[lj U[d21Sg.!}QlQG7Bpp̆[&Uȋk {d7 Ÿh[%nsU'7iCnJj`1ǽ`UNo-i6K U cm#m( 0X9Uwh\dvK-Ɇ_in;1סS$u5+nNRrs;%6`%9(S'm;&dvKm [P`㔡 }&Z@ԓi9лJu0BV (LhS%skHK[V>CխVF{.s!aO[q;!(Kqa=7u$Rz S%6S'T/CnKmV+nIb)ӎ}Z2{!5VɎC`kԃa$9 (!E|4ֆL@!:zu0Bicm` (bfC.'7Zsv6`2[)Ƕ>[u0BP*'7ӗR;ZN=!%W vKӗR;]NYJFż[1èzuV'in;1׏+pkIP۩ ec@!(v ZA*l^nݷ4T/;!5okU '_V'ڰ {d]RNo B(m \[x`UNo-iʙ-FUw^<ũ|&izu0BW(S$ %!.a:ڭü^/{d //CnHI,)+nH1^];Zɍx]_alLt I9*֓ S%r b&Rx[u0BP( ! (VL S$+nJ]B֐}|%T# %'R9˧kź o!҈pkIP۩1ON;ɍ`UNo-i|C_݄<,Ea3KosӗN׋s*UlIrȼ!E}q斨Y=8e:ocY0@ԓi9*Is Is )(W pP ! @!(I@I9d,] !.Sx`UNo-i|y\TjPmA d75)'7Zsv6`M|r!VL I Y/Cj !, [u0Bvڭü_do-LK3K۩5+nNJ*B]xu[xKS_kԄ1nQ{dd4pK"xI/u0BX`-ɍP[שp)5$@ZNo.҆Lޕlǘm/@!(v ZAb-J%M^ȷ!QB9a:xVɎĖp ȌuF!oޕlǘm/T %Fȷ!a9QR jIV] !/*1ڈ+nJ]B֐,ط`f=vJv@w[&5ؒ.'7Zsv6`dbK}`UNo-i@w[&;[ṗn|zU`a5$@ZNo.҆LޕsZm @ZJLc6۩ثu (C5$@ZNo.҆Lh-x ۩Wi9е.d!q0]2-C䪔=lG7䪔=s[ne2ޔP\7h-x-LKm m $8P6J*B]xy7d9*oM^L VLm !# VLm !!+nH1L@! u0Bi`hm ۩ sS$!`hm Bm ۩[u0BAo ! @! J*B]xy{&Qo5S$S' %!.a:CnH%`ᤢ%׌'T @q -`u2@ԓi9лJu0B\;l+nJ]B֐xk6T[nzon=7.&[\Ea,{%yjk]7MsάBdԈC5$@ZNo.҆LNֲc@!(v ZArjLrV8\n Prpl!T ST,a,U2T[#CUc esoJ];ZɆ5$@ZNo.҆L(jkp̆[&4 ۩Wi9е[d21T#-a@ɀKṗY#=nv΢ ^J*B{%ofC-zu[ eڠDPaO73!ɀkÍVRNcNcIBPwTS$VL R@2RNo.҅p Ÿh[ !!SKt ۩T6`S%skH? rND[XQXH㔦ےSK}PuF3޻%|㔪Ucdj9"(w0 jIV] !!^[u0BP*'7SJbnR 5׌'VEH s&bкkIP۩KTV[u0BP*'7p@qK)wd%KqEa !!'ש;&A xd8=7R p jIV] !$%KqEc6VL I Eb!E'mF'in;V9*oM9^<ũ`9. RvQZC-p,[sJCuSH( .P-Ai@(n@ԓi9*Is Is )(W pP 6` ۩T HBIP۩nA`ԪVL I )`Ԫ*-/P)osV$*o!Ab/T/X jIV] !,[Ű3 ۩Wi9е~Uល֫W#=b-s1jd7l|y3!VɎCe=A[ABo4{-fSoRuDM>l!@ԓi9лJu0BXm;S%skH> -VɀkIP۩ȷ!@!(v ZA嬶?5Ð`C$O=sX!t I9*֓ S%nCuS *l/Km:*GUۚQ^b)oB;{%W*}Ck)|qOT9޶[r|㔪U`.'7Zs UA4A RP ! VL R@2RNo.҆LC ^[u0BP*'7zu+)P@l ǠkÍVRNcNcIBPwx*P۩S%()'1̅ S$ hS%skH VLH㈶Lc9 ,{%t I9*֓2 2 p*P۩ ۩T HBIP۩Jd>9*oZm @Z1u%cP*uk_.kcK)BNo嬶Lw8y~_ mYl;%pM2)㒪P9tx^0i@;#At I9*֓ S$ VL I rȷU䩺!'cr*&dYsUY/,zTc>CC|y[5$@ZNo.҆LV[u0BP*'7)&gAD8]RNo B(m Ec6VL I Y/2'ש0QRa OdԈ `kIP۩%*VL I [,O1d jIV] !2[Үk@!(v ZA49:S$$ ۩ S$VLc*v[uG%*1cqԵ0 s@J0 U:@]RNo B(m HN[u0BP*'7d歓dӴAW*#7-C_d[xem( jIV] !2 ǘ[-m @Z0[&;%W㈦$j˚Lr_h7ޕl;/;,O!%E-׈_!o҈pkÍVRNcNcIBPwH(m m @J$ Is!e$B(m -K+nJ]B֐.p(Dk.ZdvF3,uNZo Rna c4.'7Zsv6`Pwn9J[&4 ۩Wi9е[zavɎCjP^01ӎvoJ)TdƷodۚQRP}jv$7d8]RNo B(m .YVL I B^LKZCj֫W#=G7a=`.'7Zsv6`N]HhS%skH>]IodC]IirGvkm;ŷUz%d[t9 d;%oJLr_l.PpkIP۩]9u#[5@!(v ZAڭü_dCpY=r"FS$+nHs1jd7d6@ɆJ_.ݭ9]=.'7Zsv6`L$vm @Z췥n ƒpa=.[;Gߧl"0r[Үh.'7Zsv6`SsbK}`UNo-iN 8 )6u76$J {d]M͉-+TkÍVRNcNcIBPw 6`[u0BP*IsYI9лJu0Bicm@!(v ZA҈}Tǐ ثu,pm;7niD86:P?! [KqAD_!s@nf_55-th]RNo B(m !!T SS%skH>b)fC e/S&6ސ+nIۚQRݥ ǠNCoXBnJPC5$@ZNd s&s$ Jƒ ! 5`U%$9sv6`u+nJ]B֐xLC~F{e"ށ]8g߹78mP'%]RNo B(m h[S%skHJ-U|նDPRE(>I`LP>Ɯ k)sU'7iCnKY$a6䪔=m{+nJ]B֐}|%T# %'R9˧kź om4.'7Zsv6`AON;ɍ`UNo-iթ#5 ><,Ea3Kzrzogmq斨Y=8e:cY0@ԓi9лJu0B["(w˩"@!(v ZAd6@Ɇ4˷.Pp2Qs*83Ju8uK!Qᦟ\.P|uF3"sU'7iCnKmP@!(v ZA*DlCdj0_rC/Y*}X<Dl浸fCU_!mppj5MNshPZVRvXTABP@7W p,j5M7dX8 <-=pUa)VɌ3 pm !"(B 8b+nH1vMUcU}k %eiC.'7Zsv6`n ۩Wi9е6Cnl^,umpJt6`1`70iCnln9R^ƥt6`jm sU'7iCnKmV ۩Wi9е8Mkp̆AGT/)Qc!T ST/ "L4.EBLP;A%oS1O#6%_Ojd7eQB%o {d:)p5&ޡEa (C_U1C*i> L (C,YdEfNo5R!T S_U1CSN9`1Ƕ_5}=ݖ!E|%K#\xSԑJ@ԓi9лJu0B[sJ!S[[u0Bt I 06`Em ۩NCoHS$CnKmV+nH75S%6S$.'7Zsv6`FS-EhS%skH>9*oM*Z@>"&l9ê jIV] !-=+nJ]B֐}jv$^<ũQ-בR CkU)$_Z\8%K#Qۡ؊|uFJU1׭VĖ jIV] !-=DhS%skHK[Ű3%Wƒum=֫WbKpkIP۩4zawVL I O$v CTײ1C *4TUJƒ\h=0=7/dUJ@ԓi9лJu0BZ%ӵ+nJ]B֐,ǘd$vաS%,@!'7mV,.'7Zsv6`%9;mV/@!(v ZA B}p*ukbJqT43:a VUwn-l9s!E~Cj%ӵ jIVe$9M$9H+p8( 6`hS%()'1̅ S&VL I Y/:){!n[/ CaP#ڲHӛnݖK0YjsZVQB@נ?rx9TcZjՔ B|Bf 6-@6KZlACH]RNo B(m T4[&4 ۩Wi9е %GvҡQ\Z l.P}s.ueԑJ:~UZ Q]7 4u[&8w[ 5/RE(?sЈ jIV] !6$@!:]B֐,]cݒj ䷥[&*uA39a=j jIV] !6$QJhS%skH> xBz3ŜкkÍVRNcNcIBPwL(m m @J$ Is!e$B(m %>Uw+nJ]B֐|m[xUZ fS$$S$ %!.a:pItk&6FZvp|y0jxd@]RNo B(m %KPVL I 4䪔=4 JCAA%T78H )䪔=4T/Ix=S lVA<m jIVe$9M$9H+p8(RL VL R@2RNo.҆L5v,vm @Z8yQ\消l61JCp@N9שn=\,v$ @ݧǐid v$CY`kYtk&kÍVRNcNc|i@\w(Ե QM-C Kd@ I,] 8*@,֓!E0ܖ ĄҋJ S8-0l:-'7@I9-b'1̂ҁKIs!Y4B(rSУEDMw MJ8(QBCX!!H``\i@TU$@JĤ@rsoXB lꀻ$$f:7$:#w ./usr/vac/html/zh_CN/doc/compiler/concepts/cuinputs.htm $    eot<>acilnprs "./dfghmu0=bw%,FvxyAIT#-128CEOPXjk)3459SVY_(BHRqNAsR0 eE$aFaQlAao^ sϼ!eR0$QIQ@(/b!Vp0`8Œ*(¢!08aZS`qZؽKc8a,*800_\0貰588O¬AJ AtR8se3lZJGHq:PJ |axC1A%ӭ($A6RFV0S҇k pq ӠaMA7* laFH g.[={͜ R$룞"F^TZ6q >k^c8\zp >%Y# FVXUp$00Dn"cf(&7 qA6RFVXUp(001P6cjc5 /Ə:=F 6x\屳|o5A3DnBLn00Z:-@uBs q!dhzAf{0ı֥_|h.rَ%ofΈ)$ )$aye(k#UˢvTņ9W1 |)s\h.F6bF^C 6ucfKcٳƏ-wfP*`0v$,͐O|`6ucfUj_V%qcdez:!PΘFN0l룞7—2T{͝|_+al aLgkS.c[<vܜ0 [1ıO :d4/G|((jvtY20Sx\屳0KZ0_fg[1֧b']6J}9s8ΜбNlt^)$)A1SI%ma _5NƏ-jv"ucdj_8&e;6ucf]N[ latsهOSӻ6u)mc|cijS_1K7)9wo)c]6ajaJ}X_ S 2AW;KUF^CAyRZmlœbB8룎S__ \3N+]6c[ dƏ-0ٴyt~%n|OSZSόk#%>G/fΈ)$)A1SN88|%b0lcg6ts8@_X[g,f fΈ)$Ln;6tFN1 8cp)`?l,/gDn&7 qp>|%c%qcdDnQ҂d7 q!&7 q_G\%W%jq[KŎ34/Y7 q8e;|%c1Gr0屲.cq8@`Vjq \,q %my邭3S>}屲B zFI_pHE1Ǻxf :Q8āЗ—1> cf(&7 qA6RFVXUp(00/.c+[1_T:FN1$1N1+Y 6c`:>gk]@]5cUllc<˨ /XF:ދ[ dЀBWyllǺ UΧ /Jϵl屲F^A6RF0$aea*k pq>%YCFN1 NنPLnl/,%Ma=İ48P`a d ey N_FN1$EN1!18Ġ)# + SXct,*8tW.*J8v%w10xXُfT;.pc%bYfl/$œbcpcLn9N+ZZ>g]6`F&{6tFN111&7 qG0wf΅ PYN.)GI.a.\ Pٳ1\e;FN1*"8屳P9W f΅ PYN.p [.SPΨHUFl/ $aPMCe# 06 QECgP*`p떵(8\zpXUp 0`a0$aebXUp(00C3r%(ɉ.2Րc ¬ 6Xap:P" _+6Xq}o>6:Aao^o>6bT=(aqÎA1%B[ acXUp Aea Ba% LܞAp t%I@$aЬIa a%6:@p9(%_e$aea*k pq>=(~ 0: zFI_pH PFaPaF ̈́r$ ]6`J˗IYbl҆g,8IÔdė-dT 0A*H PZFg5#  kn%$f:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cuintro.htm $ Introducing C for AIX Concepts

Introducing C for AIX Concepts

The panel to the left shows a list of general C for AIX conceptual information areas. Look here to find the background information you need to use C for AIX.

Any entry ending with ... expands to a list of related sub-topics. Entries not ending with ... link directly to information content on the chosen topic, which will appear in this panel.

 

 l&$f:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuintstr.htm$  aeinort <>cdls "./fghmpu=b,0vwy#%ACFISx158EPTk239BYj4:DRz()NVXKAZ[q" ZN!8BAuU{#',r>βq9PI8k U0`P(  ( TqbP98= /T1:4HaB1: (@*WIF$ .ق^P *PPJC .r1(N\lR vOfr=߂xN9hJ(}ZN'5|%$avՅcݒM$TbN'դI@ 8$=n*9dl{#GA\+d& c4/_`oUּ/{8qQȖCF@$Dkdp (@P\!1: (@8ĜOjKI*PˢR}⵨Dq?ѫ.& `*Wd*H TwVEp>'>N'q'h0f 7r蔮r @ܺ%(V_ vI4]R(08  nߥG3 ̵C[y'}ңwJfY8rK~VL7B2YN7 }ZN'}ĜOFN'5|%$av(n)\)tˢRi8dA0^+҃ qR7\;%zr}pDOMnLunʛjYB̀~ɠ-Ɂ>'>N'q'h0f 7r蔮v]IF$ .ق^PFG\)tߥ>Oc-O۷Lr/:_p θ"j;E VF·e۷Lw,ٛ7NvHңp ѐ>'>N"I81 ASf뙐\7Q6uQPq6uUeK.+~u4q c7/_`oҟzE>*9Ҷn1ASfoңӗu.61gJd{#Q]ǝnSF@$DG3,rfzd;wG V\)t7q4e_Uּ}r lu˜7@JAY:7r蔖HDn #Q'yB#O^9ҶnL|}tuTr l7c!} ܺ%%n)(/;7NA; n)-;w.I|$,dbN!A}WA1[7@ ܺ%%n)ߥGnl<˚Ej'Trkm+f}7+zTa VFfY8Zk}f7SDߥG"qfK##Qȶ2¦DbN!AI2R)~Tt7r蔖HDm+fvJN'GCw.NF۹tJ{u 5n)-;w.I V@씜OC% n)ln)Jٺv1Rq9I81 e_SUּz ia=9 E˜7MK&fp^GңydVYX9ңfZK61fAjr S-"z&>d4nko:![!0VYYm8c`}w}n*9ެ_Uּ<q\V1VL4ٺh?z_\5;7MqbA{彶\l 5oTg |&fkoAmD;L|DdRoV/ ],6G"Y S5,n-enG-o\5;7M 8|L EݍxKԀ7d7N%D.7oS5n)M);w.O\+d&>ĒMQ]n*9oFvٸK!tbN!AYVL7wqQȖGs `_SmD;N$Ҙj|d70,n:뜅ls d}ң8Tr%4_"Y " 'Q9 98$ *8'yYfK#;./; lu; n)-;w.IĚTvٸz_5;ݿJ̹GsfY8]k7yJzQ6uMN?`_dM*i[7Mzӗ n)-;w.HGҠN9}WZML Q6uMN?ҟyҶnfN xv2ˢR[ v]1' I8Pz1ֹC /T114HaBR(0(@@TOFN'5|*WId 0nL4z'! ^+҃ IZP *Pq? [jb6قe;83pi' '@|IC *j&Z1ZXlR Ul1, @ĜO?+ Œ0ؠ,b6ق\VPADOn(0 @)b6قd*H '/ppӉEҘjゥ@$ĢK'QKra9 R(0( EDV ĜO?+ Œ0QX1ZXlR [ҀdQ Q \V0T460&ŵPq? 0>Ti`mH  $Vpdjtsq?>'h0f ±J & IZ*z1'q?$ }p서CI8~VAauYfK#UҠh6eP1ZXDOn(0 8%0Z  ^q(q8{XZN"+KbN Q\ lP'$f:7$:#5 ./usr/vac/html/zh_CN/doc/compiler/concepts/culexcom.htm $    eort /<>achilnps".bdfgmu01=#*,Cvwxy-4589;DEFPTkq%()237:L_&'6AIY{}MNRHS-Aa+AtZ,62Ru ZJtDY"4?ok#nنTv}ue}u dK5d!a~ל א#cdyh ItRXmeGgٕ6䛏~YRmNo|7ĸWAc&KAuI`we,aNQInZ4wi[rjĵm L&{֤h;l>寸Ͼ>*=#fْ|+e03f AM>% ?d'~rE/]a]]aA$ϳ~hC|h>v`L.we,aNQInZGv!\KX5Iĵ,XgS;0(-Gv!\KXrZԖ,3$3(c:rNr; OrZ&{֤}d 寸ϰaadLuvْ|+<=|K2ZKQ +B.\KZBԙ\K_ĵIĵs1ؓ3ݬY{~C~75] gdI|kvM dK5mA6o~/'پq@%:[ _0ʎϲL$G?]^vn6l AlG:}Ő$3_qʖ[js)Ag_]]d Ϸ'?:n?evp,=0B=ƹ~yqƧ~,\>́ |ڜ9/n:ٕɩE=L(X6 0wi@@4 a e; ~Su5%2ZشVW"c  0_Ō$nڄ'&5,XF'\,aBD-n-VNX (S/,aKau4ļ4rP=녌( O-,`XQL(X6!`V܆XBk!У*;?ep Tfj#E „M0+nC, QoMIbF-S;3M6; 2CFTv~gIbF-S;3Ma; TS)ꚒŨZwe,f,%ݦmeI~p2O5êjK-O0cghilos"dpu.=bfmq&,0;\vwxy'(*-145ACFITk#)2367:HLS%89ENRUVX_z+BDMOPY!W}Q[]j{?KtssmI*9c:}(# Rvs% %G1̑$Ob`H$ BZ, 444444sIJJ Qs'dc댆X,:*I%dO|J,8֋ HQQ'KF8֋ RjH^D፧VrB>u #`Q J%Ir:r('._Cu^og{T ꒆj9ҍ%G7t!/s,Y̱dc!]()G7QqG2Q1IJu{ɅG7l\E}}mr s:? uW 6qٽ㋎[_&^NlW1%xgvT+(9RarDʨ f</eDOvK9@H҂s-9/r=CEBKn{L!A;ebQ*JIܡYo%7G_ Ҵ [^Q{,\,StpJ[9+ĢT=9/r=CEBKn#a wlJ%ICܣ)3۔4Y -$X"*P.tJG7Rg(h FPaky5bD(Yc'] J%ICܣ(-9d<\Ysh9IܡYo%7G'.^GBu2i0Fإ2JRhrwθ\vobPuW[K< 9BRM-åB^]DRPRc%y{b]^sg;eg\.;7d1B1p&v~Qa5J mx&U}l\+*5{s.!/.ˍ; \voEt%^XW)+2vF>a5 #]l@<{TdӸ:O,ap|J@B>u !״͑Y9‚eTxg +8FإJ%G79;9ӭ2Őq {bBtO{dJ59ӭ2Őq {bBvxPLFG79;9Ӥ {bB4kM-å(TsI2ő(:3]̺'ޔi*9(QQ'KF]ı\%D/e(TsI2ő(:3qs. 3qs.9 guJ4n((N%e#`Q .XѮ{hJItJo"cAs|4skk\';D] Y; :ϭ BPRc%(kg~ip`   p!/q'0\P407t|Lw!lQw2Ԣ;+KˠØE[z"˹>9\| y(s;RHgֺU ]% v҅t2JP]AAJ9dr--åK˨܅ICA9dMQ4zPu]qb~~.c<4 cx5乎޹E%(9W,a K3,Bʊ0Ic\NY0Gm9d`%(9Rwθ\vocSvgvk;xo²9>o{/f3k>o|in/fWJ Qs$\l+Д)[Kqٽ҂s,*[K QJ# bs)A)%$:_ Pq\x[\7;x=Na~|K8 `F؟\ uκ7k;cNmn@76O}nG cx mwdN`C7[Kqٽ҂s,* .J9dsh=I-u쿀yu;)(h=G1̒* \.;7CSq.mr\o d]q9mr\lxo cx+(9W,a K3,Bʊ0` #h`Gm9d`%(9R6|]lJG쿮؁()G1̑£ˆҎoIJNR3sh4 f(,ZFbo p=(RPRdcనᴣKs> !G1̖,\,Stpr{,ZBO뭀N`.;7J%ICA9dK5uT{ Pu|()G1̒ޣ(!}״̗7roKܠ&T{҇G7PC^/NoJA $T.yS҇G7PB B%!]({s%G1̒mw^2_rWS9\t\in/9s&vvkTgt.^s9a{CZ+L mg&T{[G5  Tqo h2JPCı\%7;(jQ[1܅A$;+rj'4*r |'RBؠ6OƍpޘBا܅G43;(J# b.vU7;)r`XQ[( XѮoT uƾ zqٽ9L-&}%܅BPRc%(!yqҍ>:ˏ'u@ģu@O\+)tMy9 zqٽЅ`gvG79~qٽ9++h1˹?'aPRc%((plxgN *>rk{k;)[&5Ԣ;(u\kBRMg|rj+ {kot/`Q*U(WJ Qs$\l+Д)k:`0:؁()G2Ip,a JG1̝2M`H맼$[#+uY((Ne!u{XB1A'u`A׼# P1](TsI2Ő!I/.Fҍ|̱d.kRwT`4 wJ7Ti*9Ӥ{b]^`4 F꒍%G79;9Ӥ{b]^@h7J4|̱d.kRwT(4444444444ҍ%JoJ7swsI2Ő!IP6 ҍ%Jo>^XW);uIFҍ|̱d.kRwTh}(RQNe!u{XBAhzQIQFoNo>^XW);@ (RQNe!u{XB, F꒍%G79;9Ӥ{b]^4P>gJ7Ti*9Ӥ{b]^4Phhhhhh?J4n((Ne!u{XB@J7Ti*9Ӥ{b]^4P8ҍ%JoJ7swsI2Ő!IP*(RQNe!u{XB04444444447J4n(J6F>s% %AG1̒^I* (9($A/Qs%BKAL B} .)8} 9r=B9+lk`.;7J%ICA9dKJԡƇV^DzծF[\ypB|E%(9W,a K3,Bʊ0V #h`Gm9dHRPRc%(!1 J=ErUx\qq%Ss-fW 69+܀ﭯ2GurW5uk\6uо:p*s b|>D]xW 6YC\%[%܅G3.v爸lk:qٽmg\.;7qqӚJ* !G1̖,\,Stpr{,:B[`AY/Q*JQs$:\: PxgKmd(r{.ծh lk#អ*hyuk{>ᳮç"cAI^^XW).X CK*(q8iEE;in Bs)AF+(kc b;+rj>xb9+Ú;wk%PRc%(!췿Hxh%(P^wGEUD[|wlsxJq [9YC\%D[]Y[%܅@Haͭ!/.wT  L-[gv܅]9ɢEp녈Ua2GG. d a0OugײJWJ Qs$1o*WQ"kώ㭝p9]tHIJ Cώ㭞A{e\~4<Dv' 9Au[g%{XtV:tz8>2+(9VRsƻ#_ \48(Gqθ^˨^k hyt[Y]ɈC k]F#K{pZesKCWtj?[\? Ys-7E_a9Ǘ )ϝt/d0WZ%e(9R mg?묺gt~öD+<3Q̸\ie+qȊ@㭝||u;W;DV@^|]l}x:+L 뛸o\-ss爸u\.;7E=mg㭝pފ(g)SAJ9d,yp }^ \49k(,yph9Ǘ m=cˆp@,ypme.G7KOs.{pбC A̶p\ipx;:2Y\uб\!\MurWp~].THC["J# b>;:2Y\uб]()G1̒_[^*hyukQEeF|cts-T uWqQ\^4<(2V-lk<Ǖ9~wl&͜EeF~]l}qg] "cA`vƞ7C8רJ]Z;FǗ VTjk>ag] "cAJJGPRc%e);kyd ~GIt4-sA$ Ǘ >acˆ9eq|,ypkbz9+(,yp[g8,Ǘ  60,c.:_8cˆ CouPX !bᳮӁ^rvDο$G㳮_CbPRc%(ƾc b Dw!lW\xgLw!lPVKI["Grr.g%KWumɡ[%;E(-9+ ae/\!]s~_qˍ%R4O;vK+I0gʒP#IJ 6=uW)S>|wlvKt2JRwT}vcˆd1cˆv1qrǗ  \488[g8,t:I'8: J^^xg4KQ\^4

bsl K+iyal2VR/J/|w*G J Qs$/s,Y g,Y!åakV)Gq:dy7E2JPBErUx]p\|񒰬_1o>"cAl<` [^*hyukJ> )&2WvДKpJ]Z돛-J# ba{#D~^C+[K.c< y Ep^ErUx\ye}W_s`F!/.mvДKpx/e2Ī[%׀ӛ[\lk<3lkt2JRF(h@]묹Bhyuk `FB Ǻ뭳{ErUxBO{ˍg29+[#K;_[;^e^>skk o{t2JPQ+ƇV'kП+*5{(AJ9K<̱d.kRWW9d}qkG]=I$,ytĩ[ !G7qG7t/s,Y \\ծF:O,a H[9+ WJ4n((Ne!u{XBF꒍%G7t/s,Y }fP{^XW(Ј1Fҍ|̱d.kRwT(RQNe!u{XB3e|//JoJ7swsI2Ő!IP~uIF:O,a (TsQӸ:O,a N:QIQ'BrdgJ4n((Ne!u{XBOJ7Ti*9Ӥ{b]^E\6uо:p+ҍ%G79;9Ӥ{b]^<,ypn(TsI2Ő!@ >ᳮӁ^i*9(QQ'B'uA:QIQ'B]G] (TsQӸ:O,a NQIQ'B$+[ҍ%G79BIA.Qs$\B^]x ~*hyukVTj?[\uY7h[g%{Y[ˍ~\:pUC˫]GWܛhVQYb`z>>@&x |Ud뭇4D;!O -!/.mUC˫]to9.c!68>1.[9Ў%vQ\h\% %#}w_.xޔHaQiG7'uEcFPXAd5>Ǘ C%e(J> .J9d[.c=;%(WEt2JPNwldrW4 Identifiers

Lexical Elements of C - Identifiers

Identifiers consist of an arbitrary number of letters or digits. They provide names for the following language elements:

  • Functions
  • Data objects
  • Labels
  • Tags
  • Parameters
  • Macros
  • Typedefs
  • Structure and union members.

There is no limit for the number of characters in an identifier. However, the linkage editor does limit the number of significant characters in external identifiers and truncates them after 4095 characters.

The compiler distinguishes between uppercase and lowercase letters in identifiers. For example, PROFIT and profit represent different data objects.

Note: The underscore character ( _ ) is considered a letter. In ansi mode, identifiers can begin with _ but not with $. In extended mode, identifiers can begin with _ or $, but you should avoid using these characters at the beginning of identifiers because they are reserved for internal system names. . The -qdollar compiler option lets you use the $ character in identifiers.

Identifiers used by C library functions that begin with two underscores or an underscore followed by a capital letter, are reserved in all contexts.

Although the names of system calls and library functions are not reserved words if you do not include the appropriate headers, avoid using them as identifiers. Duplication of a predefined name can lead to confusion for the maintainers of your code and can cause errors at link time or run time. If you include a library in a program, be aware of the function names in that library to avoid name duplications.

You should always include the appropriate headers when using standard library functions.



Lexical Elements of C - Tokens
Lexical Elements of C - Comments
Lexical Elements of C - Constants
Scope of Identifier Visibility

 k*$wf:7$:#w./usr/vac/html/zh_CN/doc/compiler/concepts/culextok.htm$ Tokens

Lexical Elements of C - Tokens

Source code is treated during preprocessing and compilation as a sequence of tokens. There are five different types of tokens:

  • Identifiers
  • Keywords
  • Literals
  • Operators
  • Other separators

Adjacent identifiers, keywords and literals must be separated with white space. Other tokens should be separated by white space to make the source code more readable. White space includes blanks, horizontal and vertical tabs, new lines, form feeds and comments.



Lexical Elements of C - Comments
Lexical Elements of C - Identifiers
Lexical Elements of C - Constants

o l+$f:7$:#} ./usr/vac/html/zh_CN/doc/compiler/concepts/culnglev.htm$    et "<>ailnors./=cdfghmpCbuvw#%05ALy128ISTx,-FNRXk()39:DOPYq&4;BEKMHYsؔ% 6S(]L6 iP|=LJ9Ҙ% qD( @$ UlP,,sؔ% }b#"D(%Y4Ҋt !A*ɧg@[HP$$!LJ?rbQ+׸Ÿ4BBŚ i4B'59Un%bQ ,v:Q%VBXŎhbQ%벱M{ &ş2*N0S5{e1(X&% !ġ(YG6~;EEdbٵ˩T/=0KL-u0t t&~ͬ>\e̘{RJ&$+:RkЪ|ٵ%PX%RPOٴeTɓF* % BXȪ VM=索PRi%0GLJ?f{ }jŸ4‚OXkٻ^ BEڱn*!@0ɓF bQLJ?rbQ+ S;`c cŏe1(]qVi )#{6N%ۣ(`SdTT'n7X ` mMC,{)Gǹ1(]ɉG[HP(!L\Q%Jǝ01bQ+ SGO%<7m` -8ЪzQ|D 4C;6bq{mчIGicLJ?=ɉGLJ?ebUBA br enUr bDzŸ4B8rbqsaY Y1*J?;`c(u;`c7Ъ~tB=sF1{&R[pXX^B#2Dz{ܘɋ{`B Ÿ4‚*7@!csF2mk w(%Zr dՏ;`c0B*}0ҏ6q 2bq}HʸF+_f J? &Iu"M %ġcD>% =2"y/+:;`c c큂ZeoT(:3/>Q2M:c`2"r[g.,7ό.2fԷ i>Suٵw(5큏;`c2bq}Kqi@lD˨ tm<ۣ %ҭ2=BP 6q 2bq}KkLx<{RQ%(:%T|)VҊu0k<.g.-N`uB%T/k0KL9J&% BXȪ VM=索PJi%0 SܘŸ4BBŸ9Ȓ0øSJH8bUBVm8lu1b$ģm͕B y1!'ka`3sKX1([seEDΟD8> Overview of the C Language

Overview of the C Language

C is a programming language designed for a wide variety of programming tasks. It is used for system-level code, text processing, graphics, and in many other application areas.

The C language described in these pages is consistent with the Systems Application Architecture Common Programming Interface (also known as the SAA C Level 2 interface), and with the International Standard C (ANSI/ISO-IEC 9899-1990[1992]). This standard has officially replaced American National Standard for Information Systems--Programming Language C (X3.159-1989) (X3.159-1989) and is technically equivalent to the ANSI** C standard.

C supports several data types, including characters, integers, floating-point numbers, and pointers -- each in a variety of forms. In addition, C also supports arrays, structures (records), unions, and enumerations.

The C language contains a concise set of statements, with functionality added through its library. This division enables C to be both flexible and efficient. An additional benefit is that the language is highly consistent across different systems.

The C library contains functions for input and output, mathematics, exception handling, string and character manipulation, dynamic memory management, as well as date and time manipulation. Use of this library helps to maintain program portability, because the underlying implementation details for the various operations need not concern the programmer.

All of the standard C library functions and many others are part of the AIX Base Operating System (BOS) Runtime Services. The AIX Version 4 Technical Reference, Volumes 1 and 2: Base Operating System and Extensions describes all of the C library functions supported by the C for AIX compiler. Refer to "Subroutines Overview" in AIX Version 4 System User's Guide: Operating System and Devices for general information about library functions.

 

br> l-$g:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/culnkids.htm$   eit <>acdlnors"/fghp.=bkmuw,0vxy%FI#128LSTj-39:ABENPV5Cq4OAV%9d*bNcEնR`8Ngb]Y."@VÍʕ1'1̀`Na`@ B,00000000cE;g2``aZZq!\-K`at(0800d$EShXغe`$2PPJ{!K*-d[&C o,du$ABNo*!D̻]tEL"{(sكK o,mK $:-'7$@Ai QJ{wj#yt̻o9륩2]tEL#qxjӄ(@%!p0S &{)W2]tEL2\ʜZ{)W2 H\y2]tEL6ӄ(vT6LW .H@9jþ mr֖2Hamrĵ.Ha,qsM\kycbPa`8Dnq)Sp*!D%(ؓM\kycbPa`8Svӄ(޵NoeL'Ku0.v4[<^* l&Zew* HT=xq8s#-R\np  fKquedSg|0zq[˞U({*q-fSUE,]u0TI@UQ&DGSTӧ"Co9wOtBvNo)9ZA,]S앵PbHH#p{L\7SHK:v*aWOv)q I9='7. 9l%6.eF Q2p{J$EShXغe`$2@Kӄ(޵qeL',.Z%DTÄ0oՊu T09{ZtqGy2]tEL#y &@*-'75'7I]tEL#J%c.N j9=9mq;T[^\(LVDDnq)B%'7&b IsBf ImU @m$u0e*Ip˯V@.E XTIA,]S앵Pt'VX]YO}'7 3Dnq)9jNolI 9=;e'1̂E;g2``aZZq!\-K`at(0800d$EL J(I<` = Q3L% M6.e6T%Xa @x$B$bBb@kyc$ [˝`2]tELoQڰ 0PЕ1[aI,86T%Xa @x$B$b2*ĀHP;`N]s>a%4Vkys<sYP @b@kyc$(Im`ls0׬A4Vkysrs 0PЕ1[bPapceMU No+*@a@[+{hI@x$B$(Q$Kj )V$2d"@J'7 0B x [W U匘ڮԔNo+*@a@[6\H@J-'7$EShX۞. -(/ShIV2tZNolI 9=;e'1̂ҁIs!YP (B.0or仈.BbFJ(I<` 8PЕ1q+,$)4@w ;bZ l.$C!g:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cumemdbg.htm $   aeot <>chilmnprsu "./bdfgy=_v#,-kw0CFHIMSU&14;ABDETYqxz%()239:RWX'8?NOPjV5BH]ISYL13x6AmSN)No$cr! `0o hqA@P( *əMLǏD): RE8Bn ]13&k1A R): _/#p gpK ycyszr,.7}쉽뺇g|ܟ-L,%NQ]CFPDHЛ_W}wP#XU˱]Zr{Mn*\nHڷzꦴPg.oVuܟpK !꧊}]Ww.f?lMǛ`eD): =w+뺀Zj cc7ʲ+HkqC3@-<Ċp 2m73/QMv?[y۠SD8zQެ~+otۏk1^YSWn7'ᑧzO7cqN$y2 N)а% 1lRAy6#+4%"S 3W{/򬙘cg.oV.Wl&ee rA҃$?b/2W<||7'ᑧsrqt6XA"S |&fw[&SuyszxG^e vLS{@yYߛ¯{LldvDN}n.oV.VD): nO^dr^+}λv]m*NPoJL%nț%]uC|Mdc8m~O߸)d͍+Ww-<ą+VLAOk1qN%3ltJ@bW|&fw[&-<ą+VLAHdjal2qE0SX 'SMj,[r}5Z|z. votԾ2hfNSx(ܸkMo+8}]w]MY336kWqtԾۏ7wՅXdCXvP$StA .̨۔V/d9szsr}K̕srqw3dn^)}7ݑ7wS?n/vcvD_ͺ6?>ݑ7n$IA1HEu2v׮ ܀ͅ|nȚ)(Pqcˑ267 aZ@b8$dSeqڐdٺ[!׮ ܀X=<gO `%ep;ۨ J E?+6XqHj#\ ֱzy\#&ݑ7eqۨtIAHD8(8ÎCF\ysX5jÌ0 (&)许ar#e5wC\Y33cn"aǠJ E?+6XqdFeb\ &fU5)[~W=k;vDIA1HEu0,̢L.6:;" f`w27b kqUW۲&J E?+6XqdFeb׮ ܀U3.c_FS_9Y\nțu6ARPLR)]qÌ8F"3(Mz Y30CpOvDIA1HEu0,̢Lr:;" f`[x_ arAW\l9Ȍ$8H@d*ənv yE?nܐE%",8ÎDl#21׮ ܀U3:+ 7n_s;AW\l9Ȍ$pNH"7Mn+toxPbSeqȍDfQ&IZ:;" f`lU[?/}mŏ2H"bO덖a"6YD%:;" f`lUx_  dE%",8ÎDl#22O׮ ܀U3KbVO Ǫ[|!c̒SeqȍDfQ&I掽pNH"[ )< J E?+6XqdFed!׮ ܀U3Kb^i[qcCbǘ)(&)许ar#eIpNH"[^i[qcCbǘ)(&)许ar#eISG^'r$AVL5S[bܮ"oYM`'|nțˎ;eqۨ J E?+6XqdFed׮ ܀U3MwPs27b"vD<uIA1HEu0,̢L:;" f`W .q|nț9qp<uIA1HEu0,!z EwP*ə" O4i\M5<8ېcPJ!1Ƌ ^ O4AtKm"S AH许arcHV=W Xzᒆ8(8Î@Q"c rh09! I (ԊtsR)w˛լ lv/$(g:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cumemmng.htm $    aeothilmnprs <>cdfguy",./=bwkv#0CFHIMUx12ATWX%'()-4DESYqz389:?P;NO&!8ÌB& $qqڤl2 K q0iʴSet\^@MIb"`GqE4U8HP8( A{} @ )81 $ $qJU8pR6 -,4HP@\R),4HP@\ZK )#E"aI5B4.-%0@ I"H2yT L(2%A3i*DlȐM I l2 K ol~-6r-TๆS, oYd7^ IvPCI!)&HW$XRr4 EH"H"RbH'2@7TL\9s͵JF2teB%JD^@Y!GeC39s ~3UOFt,iw]r9Ws) wJD{J ;eS *z3>vQGqi$ $Ur `siRUK.]//K21iahl0ׇK ϣжhkZ]*?i0>w jTZiťJӂ6ˌGJzXoh2U2t \R\hayϒG~8'2@7q̴GIqav.}֕=vˌ.Tǎ2lY}G;kBk9VtL5PvpCgP&=/%Zi0~JI(qNs  CIa!OhHGq@ $ A9NU0׀1Ia!Ni\n%NO] xqй zXnijD_ Nta)2C4J8VPL5а )ˆ<0YN.r^]82Ö*]ћLxi#8G$1;*Rޖ0v?Zm]8R̴dY{`Fkӏ܃mToi5gI`D/•EE q+;e=hI}g)TT\ӏo)Z%qqs,vQrݢuEpe]F~bXKooR1Re:tT3Na, `T/.lrHn^)09]FRU}WN?ˢLx| 3>toL72gP*.sK*QtxnTiavm,7l4_ /HLr]%[Ʌ$/u'DCi#@$!I$ Ma Gk9=II`bE7/>J> 3>3Ƥ"KԗhoR~]8w0R6Qr>3v >{D7ԗ /1ʆe~ŦNT)\01<)]u}0!7G$1;DLQ2tL47 VU-ez!Ӧ%({Dv2ҹԑN No$Sɗ[2a2rmK/*ooDhnVvU-eIJ6耙ou)SA29Ps;Du TDG:&,>CIhr-TkgP)HlQK 1%0'DP̪eNs $6O!/t7֪**Du T>@8RIbGqi 6ʆe:bD_ћӕ+ӷ%ӏ cf ~Ö*]њ&{d>&r#C!@M H{eF`]8A9t)ˋM3TuIK`.WN?2ah%i/T T T9ÍME=+1sHK$\ /xke65ur]%.sZc8| $q ̧`P0 Ir lV.zi:tp6W,ØUٔACd>H$•E">G^"7 =4g V]8p6W,ØU#PJKiaJ8:&)&$/s) xSq Ir -6d+0i?EPu鋞X.}D_њto8p۩qrd CI8i#8!Ď0p)S.*Te  *S%  Iv!@@ $qȷ8Yxh)$%fqBB!+ekE5&Ť@@ B蔚@8FIBrt赁l~ AeࣘUA$ q#Dht$)G.Wg:-`{$ =qHG0HR\FEtФq]80א" ! 8 aXsR`\ZK H]QbB RHG0HP\]@$ $qe8YxL)&H[B $!\QaIGY#@q#@JGqi$i#8FIB 8qRڕKL*[oQ̫IR 8%plC HÚ˄$H Uy#@ZHnI l:0$w'g:7$:#<./usr/vac/html/zh_CN/doc/compiler/concepts/cumemovr.htm $    <>aet /hilmnoprs"bcdfgu.=_y,vw#&-0;HMTkx14CDFISU%()29:AEPjqz358NXY'VWRG1)"cV(tucw}SFWsJE4t0 ~GC`X,Z1/C9le# PX|ZdPX|ZM(8xZԇ s(#ZSCx-DjC-J@ 7y6>XJqaYũf\jQt:Noucw}SA.nԡ G7HtkQM..Zhq`ה>oFG76sJ6^QsKG1/zs XnKh6<%M8x P8 cwh{ZNi;Z|چZ(y;L3%(#QkrKh6>ַ{G&@O&g# ק4 nӖ  Ymv!-П1>v'-Se(sk3Kym.8Gf1S"c  qw|2'656ٌt[lf7y%}Szqo9> 8[; M}wҩj, rҨZH nCSˎC- #,%þ*Ȇ>c_@)kY͏Z@!9lbCpzpO!DjĜo MN[Z=r`iMiNCpOa̦2NotĸF Y]@O|2 c$浭a>־~#>͏T|KVj)G%9W%Op7P9i}ӟle˂~GsIcwd"6=c'3-V3>͈O.*i^cl}N2ַ(ݩDmqӛ6ǯ;p_m#O$scM,tY HPW|n 9iyt/)iAG7ŽoZhqu-/J54sΧZSCxZY͔jhO \h + !9M(Q󰣛tkQM( ­j)E{ZhqG@^kQM.F YBk[nԢ6ԣH 9vsΑj)xUE48SUeoG`R"o=E48w / \jcl}N-yFJ#l}J49H⏍܀*֢]sũ; ZE(Q(yG4|n*PB9 hx2P9iH@ܷ%C0sc(HG1/>9ӖT_²S{1k[S-qk[m# c'3(xeӖMhQ"Cp4%n./mEPՉ~DNxS0N[pzsّ'(xeӖw PG cwhArڔF9).ݠ|A 8h0]cׁ>cl}N-yFJ#l}>r07oS@0Z$V%(G1/W V(xeӖ./0SB]9;4ZIaQUPи oE:P>͏|0J֡p|sZZcl}N,{Zvv U+ULmݡַ(ݩDmݯ(ݩBG7ScwhAi{FJ#l}NyFJ9c_@339oE:P+!9'mݨenQRG360̔nԢ6nNG<`@T;4㹏R9\sYz^{Z[|{ZSQkvc=+Ә>͏}N*VB*sb;}.9( ENl~^XP9i}H>P5./Tsk\~s -w@Oecw[G9 ;4kQUv[߄CW ENlCyC9/.-dw~csJCe2v iQ!X (*b TsO>..%KϩjZ0b9-؄Ccޜ2/>厞Ȇ'1  Ψ~F8U'^oĸd~smgc}w#,ImTǏm+ nB}jĜnq=NrTgM+=Meu7s`Z7>c_@m#O#,w PG cwhA1enԢ6IK#lz'mݡ`Ŕ!yFJ#l}iS}b07oS@1pFJ#l}{icl}NW P +AڔF sJG1/zs[G9F|sZZcl}N#,(;(ZZcl}N#,2QRS^QRo6Ђ0bMnԢ6הnԡjj; 2ַ(ݩDmݯ(ݩBG7ScwhA1eZ((Z9i}ӞcsJ0bZ<;4 UPenQU<`D`Ŕ fJ#sJImT7s ڜp}~/J W%K_}ٞoHqG-(2usŠ/,Ҹ; ܷQut; 9]^ (}4 j߮T9q.R$scqqt3 S)*^v3HSs q{OֳF}wpck_2C'!Μ֦6Є@ڔFPG G1/zasm|1m$scwk°Zw>>P9i-tsU1>v["ַ{J7jQcwk7j_@2 nSItz7`Q2G`^q{Of1scub}n `ŕ-؆򅪎o6Ђ cZpb(;/7bs Sܕ/:m/83ߖ:{128@a?S%}S4|ֿcwhA-kpDv>oCmݡLj7jQc7>o-TsU1>v'-NnԢ6ח!k_f1s00F Y\>͏vXCo wdSJ9p^DgŴ'p28B=oL3;128@7>o-TsJ ]4F Y\>͏ֿ1>v'-NnԢ6ezk 8Ƕ\]ǵUImTjZ!`zsmݡLjڔF<AlxZ= ^ܣv>bKh6=x"ujkJG1/KFsJ@?Q*x1ep0sc(HG1/zs-ਿQ*[G9³W ENl~PC><0p`ŕ²S}NG9%}S9kpraٌt`}Nr :rĸ$HIm#8)DgSItz7oxǶ]+ 9 dzĸw- UrrF YRҫ=Kw?Tqezkok}NxaEٌt[lf7NbKh6?]8r0bY͈n/mk_#,+!9z:bCyC9#Pp@ĸ7SPϩ=q (fc=+ImT'pOgҩDviUo~skF Y\+!9 =9l9ӖT_+d"6>T8|F YB nԢ6IK#lz'mݡ`Ŕ Z(}N 9T#cl}NWk[ IZ nԢ6o(}4ImTǾ QG` sIkj; =nQRS^QRo6Ђ0bZr6QRS^QRo6Ђ0b[-kpڔFڔ-TsU1>vAlxZ=(ݩDmݯ(ݩBG7ScwhAdLj7jQcwk7jPQTZr t FJ#l}NyFJ9c_@ҨZ<;4Nol~;1>'߮Dp ~^rTAarٌ b'X-oSJ(,^>-q}PX-DjC`Z9vsΑF8 ԩxp 2ȡC8bH-DjC ^QI jF}0C9l1NxJi\tjx8Ꞽ9@O2s (^:F Types of Memory

Types of Memory

There are two types of memory:

  1. Regular memory

    Most programs use regular memory. This is the type provided by the default runtime heap.

  2. Shared memory

    Heaps of shared memory can be shared between processes or applications. If you want other processes to use the heaps you have created, you must pass them the heap handle and give them access to the heap. Use _ucreate to create the heap.



Memory Management Functions
Managing Memory with Multiple Memory Heaps
Debugging Memory Heaps


Example of Creating and Using a User Heap
Example of Creating and Using a Shared-Memory User Heap

 l 2$g:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cumsginf.htm$    eiorst <>achlnp"./dfgmu=b,-0wy#1Fqv%56CILST()2348:MOPkx&79;ABEHRWXYjz|DC49P9c:HE>[|f(pq<qe+fu2:Ncpj `X,O0cJzNcx k8C'\5.\HaDR>0(D5M\M¤}`ahH"PNBUʚh66Vw( &JR@)سb͗VRiv0@:Noh. &S҇6Ipa.Ifh9m@ڠ턜2 d;#|/×EbQEKwW™-tSz}6:]YTf(G6>j:u|x^C:bʌ"W8ڧZ,9EN]Mo?|/9d= q.\E>[4ۧfZP6mӉI̧u=함;cuwV[U}G]Y5ٶZE]Wq.9ic*u6<]1DǗ}d|-xӳlliή.3 ];egS[Rz</@Is!wW<"T§Y.E]]%Ŝ͗B<_G.v릖S'f胛Y.຿ME=zNcK@a'7 F 8"]]$EU (QV(0 <DviވӺ UõGa `@(W EVb;g7W-٧u?];U.Ù*u^D2Ga `@(W EVb;g7W-٧u?];U.Ù*u^D2J}Nd $ .szAG]l_Srڥr1DywG..'.9 /#6Ĥ ]6mӉOӅ9d= qYN%!ƩĴ tS497tf8(6Ĥ]llQ1A/z3nJA/R6mӉINg9 ='1̆āS|q8szAGlˉ\ÅduO\ur-xY$ˉ9#/r@\*v/N4VRiޝc{뢟-V8^;g6\O];'7j#.V;Ykh*\O^;w@Is OR'7NolG]l_r~ ɧ8sᰬ~PgG.lw(pYulu8sdGG]ji6Rs)(\|Ӿ[9/~QvN]7(<^t Il?f!{4Vn}dz~;>[¢ˎo ^˹q?YtS٧t IlwnC..;g6\O^;7[|f(າI@{Iv\AEhҁ;O wW΅>9E>[&1 =B. p@]?B+4NH@RRPs]QF k.4Yv"B5De%'7p@ak. Vi@d@JNo+ ( e֊( jKA@JNo+ ( e-bJ Example of Name Space Separation

Example of Name Space Separation

Structure tags, structure members, variable names, and statement labels are in four different name spaces; no conflict occurs among the four items named student in the following example:

int get_item()
{
   struct student        /*  structure tag        */
   {
      char student[20];  /*  structure member     */
      int section;
      int id;
   } student;            /*  structure variable   */
 
   goto student;
   student: ;            /*  null statement label */
   return (0);
}

Each occurrence of student is interpreted by its context in the program. For example, when student appears after the keyword struct, it is a structure tag. When student appears after either of the member selection operators . or ->, the name refers to the structure member. When student appears after the goto statement, control is passed to the null statement label. In other contexts, the identifier student refers to the structure variable.



Name Spaces
Scope of Identifier Visibility

 kJ4$p g:7$:#p ./usr/vac/html/zh_CN/doc/compiler/concepts/cunamspa.htm$ Name Spaces

Name Spaces

The compiler sets up name spaces to distinguish among identifiers referring to different kinds of entities. Identical identifiers in different name spaces do not interfere with each other, even if they are in the same scope.

You must assign unique names within each name space to avoid conflict. The same identifier can be used to declare different objects as long as each identifier is unique within its name space. The syntactic context of an identifier within a program lets the compiler resolve its name space without ambiguity.

Identifiers in the same name space can be redefined within enclosed program blocks, as described in Scope of Identifier Visibility.

Within each of the following four name spaces, the identifiers must be unique.

  • Tags of these types must be unique within a single scope:
    • Enumerations
    • Structures and unions
  • Members of structures and unions must be unique within a single structure or union type.
  • Statement labels have function scope and must be unique within a function.
  • All other ordinary identifiers must be unique within a single scope:
    • Function names
    • Variable names
    • Names of function parameters
    • Enumeration constants
    • typedef names.


Scope of Identifier Visibility


Example of Name Space Separation

 l&5$g:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cunotice.htm$     einot <>acdprs"/bghlmu,.=fvy0ABCIMSw&159;FNOPTUkx%'()-2347:DELRXYq#*+68GHWjV!PfoyM$SI%fi$͐Fiƭ(JdJ[Zl#M6V(%ZP(pQmr!@ B0BP)Q/ZP+XQ:`0;d^:&e 0'N HZQ-(Va]#qq:v0 Crcda 0FIi!jg#y Q,Z-alDaZHܽZ0 ZQuJ?ծmcyN zhD(4'\NiBl(J; %/8 &; 2f_cmL~k/x%&#<3ި2XzP7!D5Yk8N\wqS @ 4 (}M<*|ޥe[Mf\yo2`'QVk6]ȚQ., O?V_'! numeJPl~ 8 B0|w% ߦOc yRn Q/ZP) rq cp> N t&1% Î9DiBPƅSeiG9aYn@zҏ&Λb@0H0 f_ 6|Aip!X+ Xp5DiB(hX?6V% zL?lsm~8齏(Ǝgݛ$J n@~w÷:ocn.M|JgtmY|?saO5(':f:"K֔% zA|~6V7 s62{ːM>4:RQfo~Cd,`[ʓjGLR=™LմBhme6Aj%J=j,‹3xٵxqLjUx~Amep8 p8_ 4 ,͏`:\-DaZTsgp!|`酝7+x?yzͬ 5.D&; n˼(6< xV2+Mf_wTZnDOP J!1Sv;4W0o |IK6x~^'ZgJ^(S zz҄Ff*$1iBP6Hلf?sp|1ǷEw 3yE^ͺ]۵M>0ٽ8褡Å|u6~ɏV6ee7J*M6[c?‹3c`T.qc d . 8WxSd_0ٵn6ͬR|Y~,mu|&݈!vJ$.Lbhlw(?L|f4|&/ˍF֏K֔% zy`f~Cmef6ͬYiDO(wهeGyz/ 4]Dʲ eGyz;&>yt:x?iqɌf")fܔMTLEz' ڲ}ϦO}B[x#MYb~AYb403᧜Qᣦϑ\(fB+AN \*$/(J4ٸߦT{q33LV7 s6 (rLQe#.en@meN߫tm{ f˻GLw PմV_*?.@wꀏO8=?2}X܁J̦dyS7.e˅xܽcw[녊J{!M A0 f_ 6|A\#8) +B(0{-`${Lcr3k/5"O(w% {Ꮕ3g[r[Yqi/{;l2NngdJld 1m4O'Cǰ؊J=S\2]cn_ 4߃~1l:c Jv[,F'[Lc1]2QϨIraK֔% zvT^Q/ZP(1aH1s eLSghť BYfG to' iF<+u%ُ|&}*cDiBC a ف Sf`(VgtavɦuYc&e 0ҏkE7BD5ZQrvT^Q:q6n<bun8rҏQ;ҏkħxj'\Z쨼uJ?ծX~v_ aZٌTNiGҏViGs a!aPZQrvT^Q:q6n<rҏQ;ҏkE7BA-(V`*/rҏkE7BBDJ'\NiG`ZN`Q:,eEZQra @R-(ZQ-(Va]#q,& J'\Z쨼uJ?ծmcy H Q:v J?[q6nuJ?D(aF҅ٽ-D-(JB"xIuKd˸f=d(n{ iqy CLY$$=?4ul_Q/ZP) i9=+0Ml:b+M3J7.6{# [ʟc@-Ps 4ɄE(Jd% l 04ױΫ,avɦmYc #ӴR J?ծt0a0!jg24a =sNfiq,?8j7GpbNiGs a# Zmcf^D떔-(Q: B B̄@dKpѳ[~ĖyfBG XE&asl(xi !j%JIXJIqJf1s k[6$g:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cuolangs.htm $ Using C for AIX with Other Programming Languages

Using C for AIX with Other Programming Languages

With the C for AIX compiler, you can call functions written in other XL languages from your C program. Similarly, the other XL language programs can call functions written in C for AIX. This and related pages give you information about how to use interlanguage calls in your C program. You should already be familiar with the syntax of the languages you are using.



Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

6ͬ kꖂ7$ g:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuoptlev.htm$ Program Optimization with the C for AIX Compiler

Program Optimization with the C for AIX Compiler

During optimization, the compiler changes the unoptimized code sequences, derived from the source code, into equivalent optimized code sequences. The resulting code runs faster and usually takes less space. However, during optimization, compilation usually takes more time and space.

Because optimization transforms the code, the direct correspondence between source and object code is often lost. Therefore, debugging information is not provided for programs compiled using the optimization option. Optimized code is also more sensitive to subtle coding errors. For these reasons, do not use the optimization options while you are developing your programs. Use the -O optimization options only to compile the final versions of your programs.

 

Optimization Levels in C

The default is not to optimize your program. To optimize your program, specify one of the following optimizing compiler options:

  • -O
  • -O2
  • -O3
  • -O4
  • -qOPTimize
  • -qOPTimize=2
  • -qOPTimize=3
  • -qOPTimize=4

When you specify optimization, the compiler performs a complete control and data-flow analysis for each function. The compiler also uses global register allocation for the whole function, thereby allowing many variables to be kept in registers rather than in memory. The compiler performs optimizations such as described in Optimization Techniques Used by the C for AIX Compiler.



Optimization Techniques Used by the C for AIX Compiler
Special Handling of Math and String Library Functions


Writing Optimized Code
Inlined Components
Minimizing the Size of Object Files


-O, -qoptimize
Built-in Functions for PowerPC Processors

 k 8$ h:7$:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuoptmsf.htm$ Special Handling of Math and String Library Functions

Special Handling of Math and String Library Functions

The C for AIX compiler can improve optimization by generating substitute code for calls to some math and string functions available within the standard C runtime libraries. The functions handled this way are defined as macros in /usr/include/math.h or /usr/include/string.h.

The special handling of these functions occurs by default, when either math.h or string.h is included in the source program. To explicitly generate substitute code for a particular function, use the function with two underscores (__strcpy, for example).

When including math.h and string.h, avoid redeclaring the functions.

If your application requires a function call to one or all of the math or string functions, prevent special handling of all math or string functions within a source file by using either the -U __MATH__ or the -U __STR__ option on the command line. For example:

ixlc -c -U__MATH__ file.c

Runtime performance of an application is affected if special handling is disabled.



Program Optimization with the C for AIX Compiler
Optimization Techniques Used by the C for AIX Compiler


-U

rc= kv9$h:7$:#./usr/vac/html/zh_CN/doc/compiler/concepts/cuopttec.htm$ Optimization Techniques Used by the C for AIX Compiler

Optimization Techniques Used by the C for AIX Compiler

Technique

Description of Technique

Value Numbering Involves constant propagation, expression elimination, and folding of several instructions into a single instruction.
Branch Optimizations Rearranges the program code to minimize branching logic and to combine physically separate blocks of code.
Common Subexpression Elimination In common expressions, the same value is recalculated in a subsequent expression. The duplicate expression can be eliminated by using the previous value. This step is done even for intermediate expressions within expressions. For example, if your program contains the following statements:
a = c + d;
    .
    .
    .
f = c + d + e;

the common expression c + d is saved from its first evaluation and is used in the subsequent statement to determine the value of f.

Code Motion If variables used in a computation within a loop are not altered within the loop, the calculation can be performed outside of the loop and the results used within the loop.
Invariant IF Code Floating (Unswitching) Removes invariant branching code from loops to make more opportunity for other optimizations.

For example, in the following code segment, the condition test and the conditional assignment:

if (a[i]>100.0) b[i]=a[i]-3.7;
    x+=a[j]+b[i];

do not change during execution of the inner loop.

for (i=0;i<1000;i++) {
   for (j=0;j<1000;j++) {
      if (a[i]>100.0) b[i]=a[i]-3.7;
      x+=a[j]+b[i];
   }
}

The compiler translates the code into a machine-language loop that executes as:

for (i=0;i<1000;i++) {
   if (a[i]<100.00) {
      for (j=0;j<1000;j++) {
         b[i]=a[i]-3.7;
         x+=a[j]+b[i];
      }
   }
   else {
      for (j=0;j<1000;j++) {
         x+=a[j]+b[i];
      }
   }
}
Reassociation Rearranges the sequence of calculations in an array-subscript expression, producing more candidates for common-expression elimination.
Strength Reduction Replaces less efficient instructions with more efficient ones. For example, in array subscripting, an add instruction replaces a multiply instruction.
Constant Propagation Constants used in an expression are combined, and new ones are generated. Some implicit conversions between integer and floating-point types are done.
Store Motion Moves store instructions out of loops.
Dead Store Elimination Eliminates stores when the value stored is never referred to again. For example, if two stores to the same location have no intervening load, the first store is unnecessary and is removed.
Dead Code Elimination Eliminates code that cannot be reached or code whose results are not subsequently used.
Inlining
(
-Q option )
Replaces function calls with actual program code.
Instruction Scheduling Reorders instructions to minimize execution time.
Interprocedural Analysis
( -qipa option )
Uncovers relationships across function calls, and eliminates loads, stores, and computations that cannot be eliminated with more straightforward optimizations.
Global Register Allocation Allocates variables and expressions to available hardware registers using a graph coloring algorithm.

The -O and -Q compiler options also determine the types of inlining to be used.



Program Optimization with the C for AIX Compiler
Special Handling of Math and String Library Functions


Writing Optimized Code


-O
-Q
-qipa

anguage l:$h:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuoutput.htm$    eot<>agilnprs "./cdfhmu0=b%,-Fvwxy#8AT12IOPS_jk()3459LMXYq+BCEVRAsR0 eEaFaQlAafo>6bmH eEaFhJʦ  8qӌ(¡A/HŒ*-B[8s*Zר8R)XÏ4@8päapH”-x[ D  :PhJ ^b SA͖M+r ?SX Y:t/ 0&A6-(¡~RS ̦Ft}cf# lccٳeC /*{0!# 0 lj|k^c p>Tzc p>ÃE# / SXl.8t7 rQ-%9iA6ZF^n=] pHpaArbm%jcf# N%"0]nQٳd}Kg14t٬r[όlœR œNIlQ҂d/>NflpUe;*9N,k#Jb0w!Q-6pY;tL07TtI15:PLlQӆ_%0ܥ;:KUl LiU0QәP2J>%YP9Wѝ:acgdr%AdS.R @^l%/$ɄA%2$ aMA7/. _YxRŸ@O avhåS(H%^PLni_YxRŸ@O avh!H$1PTv)Icp-# 1Cs lP>{1fΈ)HE )J$˔t9# OSG,= ImS 9i)NZFlwGϾU1NIlQ҂d7 rE )H8;ETPE>*s'$6@(A2rQ9i 9i af8Ru WT`_fB@*و*K6Q *`|(X/nWٳG=ltgfU5Vq zFH p%6zIWvud}Kg19i iH&7 rӕGF^A6ZF0$aeJk<|-٢FNZAQ% %)J 05p>CTc' l1PTp7 rDPLn姉|ʇ!9|d<! NT%W%CxJar6tFNZB9iq d-f1PQ%_u UΧt$14/ 0&E# / SXl.8t7 r_ *c/(# PLni_YxRŸ@O avh!H |(d4| 6b0*u;Dn夆h&7 r1Cs j JSJ!hzAu>uoT2_>Nc L07gDn A1Sl͞4| 6b0T2^$WG=K0zA[/1ƏS>9&1GJ )I A1Sqdw‹G_ *^jٳGNc;t -nhœ œ/\,MQGcg2vk 7ejQg%0%_eaM# F^n=] p 80Dn.o ceNZPME)[tftGϼ6c1Y f#p-8@ A1Slf*u;Dn夃9iq2b{d*0)Fl1N1P\F'%P|YNYs)ٌlT;6pPFNZNP(&7 r0Q)őFNZH=NZsJK̨r0 _9c8[,Z#p-$cp-=CDn夆 )H `a#p-$cp-9lT'u^T%W%T584a͘f1c͝SA1S)k6a1P*/TtFNZH)NZF6bK0&HFڄR0 `TZq5>TQe8q򥭋S avhpHE4@å 9|`P Ir-(f@śb`Ba&q 8t |ǣ0%>6bT=(aA.bK l[  avhpG͖,8(œL0&7 r҅fL9 0OAp"SLn(œL0&7 r҅fL9 0O 8t҈)H@ A1SL0Vl$A0 mxDn"Ln(œL0&7 r҅fL9 0OAp"S-NZPJ0HYAL&'mxDn A1SL0Vl$A0 |Ap"S|A1SaME)[tP\Ÿ@bͱӠaMA7* laFJ zFaPI H 米J/QaRApC_ r$ a\ė-N)-08q҂TA"hԌ* 6jF  kH;$^ h:7%:#^ ./usr/vac/html/zh_CN/doc/compiler/concepts/cupgmex1.htm $ Example of a Simple C Program

Example of a Simple C Program

The source for a simple C program is shown below:

A Simple C Program
/**
 ** This is an example of a simple C program
 **/
#include <stdio.h>    /* standard I/O library header that
                         contains macros and function
                         declarations, ie printf used below  */
 
#include <math.h>     /* standard math library header that
                         contains macros and function
                         declarations, ie cos used below    */
 
#define NUM 46.0      /* Preprocessor directive             */
 
double x = 45.0;      /* External variable definitions      */
double y = NUM;
 
int main(void)        /* Function definition
                         for main function                  */
{
   double z;          /* Local variable definitions         */
   double w;
 
   z = cos(x);        /* cos is declared in math.h as
                               double cos(double arg)       */
   w = cos(y);
   printf ("cosine of x is %f\n", z); /* Print cosine of x  */
   printf ("cosine of y is %f\n", w); /* Print cosine of y  */
 
   return 0;
}

The program above defines main and declares a reference to the function cos. The program defines the global variables x and y, initializes them, and declares two local variables z and w.



Internal Structure of a C Program
Scope of Identifier Visibility
Statement Blocks


Example of a C Program Comprised of Two Source Files

L k<$ h:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cupgmex2.htm$ Example of a C Program Comprised of Two Source Files

Example of a C Program Comprised of Two Source Files

The following example shows a C program source comprised of two source files. The main and max functions are in separate files. The program logic starts with the main function.

Example Program with Two Source Files
/***********************************************************
*  Source file 1 - main function                           *
************************************************************/
 
#define ONE     1
#define TWO     2
#define THREE   3
 
extern int max(int, int);          /* Function declaration */
 
int main(int argc, char * argv[])  /* Function definition  */
{
   int u, w, x, y, z;
 
   u = 5;
   z = 2;
   w = max(u, ONE);
   x = max(w,TWO);
   y = max(x,THREE);
   z = max(y,z);
return z;
}
/***********************************************************
*  Source file 2 - max function                            *
************************************************************/
int max (int a,int b)             /* Function  definition  */
{
   if ( a > b )
       return (a);
   else
       return (b);
}

The first source file declares the function max, but does not define it. This is an external declaration, a declaration of a function defined in source file 2. Four statements in main are function calls of max.

The lines beginning with a number sign (#) are preprocessor directives that direct the preprocessor to replace the identifiers ONE, TWO, and THREE with the digits 1, 2, and 3. The directives in the first source file do not apply to the second source file.

The second source file contains the function definition for max, which is called four times in main. After you compile the source files, you can link and run them as a single program.



Internal Structure of a C Program
Scope of Identifier Visibility
Statement Blocks


Example of a Simple C Program

Rear l=$kh:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cupploop.htm$    <>e /ailmnort"=cdghps.bfuv0_kwx#%,-1;P[]q&+25:FLTy()389Cz{}!4AORSUVDEI%D2f ő JWqr%6RviAyˠN250LW] Dȇ !|`q؎0 $$$$$$jtLIen6E(V$lc 1D-0Hbɉc H?Iũ)Í6bXH%z/tq*"PZ ..5J)8yTT)PZ)F%zA1&81e8q(ʓ51e8qLSib Ay2cfrVMEm)P\Z\AyA勨pf~" qkt_DՓ{.=tQ.D4JmiM[ݬώjAȂ"+{XA"H:&P]^<1n+T/4YmlUm!LYh IA"" yaO&B0 6ڰ(M6|h!)62m|hت6tBc)Am-@*L@66*,mAo!tD1E>7H:""L/bmd1PTV1fSmmFnSle6 mXihFQۢśM8 [/m \B{hJL)ǐ <@;`6Re <@qw{Ÿ.+{awCai@I! ,")A*>$lc Q$06E$jA0bN-LYNhœ #T Ն!D=m)2H?$1',4^`bɉc@* q/@LIbN-LYNhLib6vD?6!XMhPb6r m \XTA6"SmIA1&LaH?Iũ)Í6bX P$j!u6[U M&BĚA$ŔƋ Y1,q(5EAvn%h)4Iũ)Í5ImͶ.Sm A`mͶ.SmX-m,\X?6[Z6XMXin"m mkm,\XͶ \Xin"m`G6XMym6.SmͶ!)Ԥ] H?0Se)ǐ <@;`6Re $ h:7%:#?./usr/vac/html/zh_CN/doc/compiler/concepts/cuppovrv.htm $    aeiort <>clnps"./dfghmu=by-0Pvwz#1IMOTkq%,4:ABCFx2389DLRUY_!5ESVWXNHk.^D2z$q9zcZ*t1H:RJ3FC,ڶ}dHH OR헁ppdBBBBBEWAtIAtdN$^cM(8"B$^Dia)NSCxe%U$narXʆip*dm©#‚1 2YAmHuI # AӤpe^ r \U;}!H?} `C%H:(\َN{$6oNd?>s$nJA\d̓/egtd1 h\|dIAt Rv̍i@2[ dcj잻5=nzkpP (VJ$vRK)AYed dcj}4삌Edh._f9 osiJ:Z [\m[xVYYpSvp\w[JRJ\m[FH )Alg2t!+ c%V>[$pK[JP@=9#rRuَN{vշ7$Vfҕf9#rRw"ݵm7!߹K tf9 \=/ܶ{p{1Ҕu2s۶Gn.W}c9nّѐK(66$w)AFC,%U+ λ"|df ͧ2P}/&xo}`ҽk6\KL9Kɂד$z"vpl kB6nڶH1me>\o "^GrR5(8 s;-(nܤK .zS': 26 `\li02PwFC,u٭s7s,:ʖC:d]dm.=ѐK(6H O3?Kc,3Em[_':$w)AkYJ90Y}nm~o9/Ae{/5d.{0dRe+K˷r._{mئPnkH ReJn ^յ"~=nz$HZ@EO#K~崥oܥG~崥 ooIV=/ܶ{m ^յ#rRS'=jڃ7$dRe+K[JP@=9#rRS'=jezVfK-*rG~崥w"ݵmK1_Dh]kx^L&zS'9DJA9Ro\7|炀_"W/~@2Z>WKvco2e|WG]݁ ˷;+ih?d]n .zS'9.V߶p9iu-K2YAmOeۆH R|G\lx'Ar&޻n\c%VѸ |._=|ϼ5{FC,ڶ'eۀsWD!Plm[PaWG%/->{yqBP!kum.+ڶdRAt!I`JiJ:Z "W/HܶXK tȬe$s$=ѐK)qPr$m4Vkt=2b dVפy1Cpc%>IUm\7VH"[9AsvB+g#h.{%d+ λ"FHR (&MٹʖC:dʗIAtYJ<\lx'=f$lFC,AJk7K/^?m O`otd1]}KAa\^\isK0OA2 `"G-[-һ!|2Ge) .{v:d=lDM]pw 3~7d {?Kɂ;!|2Ge) .~XG\lx'uMmܶwjmշҐ/&xP4ٹW{'_ټ&?KۧM:F/LmU`i_KَN$xRGrI Ňa x+%1TH2Ê /.h8U$F)LrI(HkV ^p; #d-r "W/pc%+-rJH ^I!aI s逍 P (քm<ko8Td1{$xRDb/$0$َZ1z`#m¨h,+ZdcAɼQK8VZ璉IAC0>kV1z`#m¨ 6[_[ de^iI1$8 >I#y0TyH ^I!aI k/LmU߹Kԏ HRQ$vhbFۅP@= ^յ#’#9y$C5Zc(U-ptյ#’;}!H?t ] aR]SCQz*Gr)􏸤#dA$w)AC0Ì0Lv˵bT0XqFq㴪b$bx'*<)H,*A9zct l?$0h:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuppredo.htm $   et "/<>adilnopr=bcghs.0fmuv;w#&+,Pkqyz%-125:CFIS_jx()389LMOR^{|}!*4BDNTUEVWP6$XJUb_PqbrKҚs(25g1s*oh-ц%Se0/t0{&Ǿ7QRmY̤LjcCš,rH1 @w@XpÇ1̩-IcVXjc :2)@&2 slg7k9mű&"$anm2@p% Q@j^!Pdǃq B C"$-Ibm4Q=cOpNE"# ZPYVsۋcLEHKT=dMĕh^g7mYs)6K9eI`UdDLC!Έ0pNATdĻ9ME0*-с{|c-+`[ !sIcOpM6Ó'n S0vd2EnbBj_e2.uS#!n8I`r%2|HEFg7:ZJŲzBV2Jlt jM XR)oJtPd['t jM XR)e$wĀDTnsʒʩg1̡QY`x͵1ɍkHQOyra# :s泛V[`2.2FC jj+ɩ4%jLK9ԛjo[ql{ȸ K ͨ[:q0eW,|u<[&^|#yL[l`B _:SMYU:Uod);^ .顰B39`>ۡU@`q+q+9ʮ]w2_:"$:ns" n8Q HnO&M}<|c,a`V[  nࣛ),8Lx&Y"3((0pP XV A7%X7o"s&SH,Rm9ԛo\sۋcLEH(d-R-T%qBVtIUǸ D0";*{U6\fXwĀDTns;3mLdFE=cZ2dS\CH깬UǸ jmYj)6՜q)6՜궬ːRmYn-q0!`Vsڰd.AJMg7=d\d&ڳVՃ 9r Rm9mű&"$,)6՜궬ːRmYn-q0!` RmYs6K9ԑQYVs75깬UǸ P(Z:ZJYn&dЕ2,Rm9mű&"$,/+ʬD^Mj njSёO|ֺ5&2g7k9mX4e&ڳVՃ 9r Rm9mX2mYj)6՜궬Rm9mX2 &ڳVՀᔛjo[V )IU`@e&ڳVՃ 9r Rm9mX1d2mYs6K9ԑQYVs75깬UǸ P(Z:ZJԚ&SMg7=d\d%Kǹ[Mg7sY},RG|HEFg1̩,& yEn :]0%`PEME0RK挭рlET1EnEEDn!ˢ-с},% `l ,ME0Ųn`F& qG5Y'>~N N"Q2,I}.TCEn1l;辁Y=[ g1̢ -|f2`xp<8 9e[}cmȧLk]F@tdS\CH-Ͳ@8깬U sl(Z$2K-0&t(d`#*IV2J泛Lʝ .bbAw!`ęNde0RX5fT@ TA >"lE,Zo3*t d*Rɖ d 7 eMYl~ t5 RXIjpr@ .h1.-Ͳ@ʧUyS2B@`ɶ-6*2JA -'̈́a} _6=8EjLsKS2@`pEΟ0ĸB06XѕN$% PYeN :L1V$q H`ԧ(3:".Fx=cOYn*K泛Lʝ&t!3)ȉ1V$q HnNDn!9N$Qex:tE]),Zo3*t d ЄTenX]HXtEIbԙ,Rm9mű&"$p\%[`2&J/RdIRnk9`樂2&K9e3*t d DDϩB6(1V% S2@` .h$njSе%9Вe$b lꘈ@$h:7%:#< ./usr/vac/html/zh_CN/doc/compiler/concepts/cuppvars.htm $   aert <>ilnops"/cdh.=bfgmuv*0Pwy#1;x(),-FMOVkqz}%239:CDELS{!+58ATj4NRUYI@l-ӗb׸`p,6$ Z"X:Ndb֓As$9dZr\T iCb/0Zx `SX.Yh"k s҂jA``6Î 9s!AIs"B*h8(0PqɕTA QVXqatI+ Pe(A`(^& *+6`t6@=åB@qqRQ + T\S8bk1UM`e-es)'7,l-B{kЪ%j҅cAI,"'2Is!/ɆeV\⤭6.rZːmak\h!9d ZNo-I/IY-e6Ʃ-}Sߵ Ķ.rTZ͢{./%}lCb /`ZsjLaM@ yqJ`mkM=Ob-˓hW5hˋָ6ZSYOSh\R+|jk>a6si}kmv\ 5D\^&A RNo1i9Bԓ ZNcH8m Sd"-hW |1r@@۔68,|Z 8+[ '7.sJR2 +}ŨꔜuJqQXS0"(P@8 4O\T97e@>⤮[EŨ!:'7RƵE`ki @`g[h/X\-m'ro?IB8˩s Ɇ1ԡjꔜuJ:P-ۢkUOR8 97^ 6.xm|}ŨL yqRVQ?AsT E9-V 0`'7e-|@3 K^Pع˚9Bg@>OJ9sS`cU sQjk1J ꔜuJS ݺ*Y2>#j~⤬I01}O፲EB+E)o3CRs)'7I貒TL`g.*Jqj'#AITkp!L? ~PعĶ.wEB+9E)xT?&+MROe? |  6 TARNot\\AADcnRsr@sE:Xu4{YJ&6_o hAZU/{ 9Zːm[[rMYQqT\66m9-qjk8`mCg*^M)֦k,BpsC P&rLZ&*^.hL;$JSX9'1̇$M츾F5 ˇ.*Jk.Ajf"NgRŨ}9-.kPWB7{pYmg1%).wȸes*Xl mr n\Zq̫SY|cl,d⤬lRB 츼lRB&ԡjM(lZ)+=KW%b.t>,S;Cb>52 8sȸ68@2 )Lpek{0Pq”UpX@@'7.s”Up +}pP/!VHaJ>˕ .ÎJRNoF]H1h tET bkSX!(I9u"CH9mkbVьkZ砈JRNoF]H1Ω)`kH䡄ښtZa \@ֵA9(P[ By R )BG”UpX,*]茺! "581v,mp#XM@psbk4eS JrNo9(P[ By R )BG”UpXqB、ҁR$8R$qJذUäB u4{G7 UI6Kk WIL!(I9u"C1"HJ ][\:AN.5J 9j]M&^RMlJRNoF]H EH(c]j`ذUä T-A茺!.$5n :@KМ:IP"YI9ecaj\>ƅT9(w P(:rNoe$AI9ENcJrNcR$81[ k [$cj&CbJ,V$81 0R %a(HSA("s (-'2.ŭ'0 -r l`A$'h:7%:#* ./usr/vac/html/zh_CN/doc/compiler/concepts/cuprdcon.htm $    eiort /<>acdhlnps".fg#=bmv0Akuw*,1CDEFMPTxy%&9;INSz238Oq45:WYLCtSbl1LSZH&ڷbNVտ%{B(>ֺRb1&)6Jׂ `d!2yb AFKdF: c)$ns.HFh! 11Ѭ%ۀ60 J-R@S d]"ۀAԐMoS_M9[V [(;@"L_X-N^ m a%ue=L_X}Ę>K&)$+ ecλ{+jާuبSo쬕 bAld-s}{+jާ8#d?[=v*m[[#jdxf.z?c=sT1d! ƭ/">d|1a cy s<PNu=5|LX&x;2OL21<=Y+1>&)$:[Hz!弔ԓJ#o%!IY9Dpx, }|zg84(A~$SOg]8^^ s?]/ar1DphP$ GH:@1C Pɋ ǩz#B HP4=E>Yc}ԠIb m쬕 ~?[xZտZ<.TxecgSbz#o%!є;SY+ %ְEO'g;R]Ao%&++%{B|21~od}l.ǫ~[1y&+\Qf_ᖹeOgODw-<2rJLVVJg{;O'E˽G/x$1PIbT%2p@#u˝1D 7\тO$@#pf@dĘpf@$(D 8J&bwM7 kD 7l-%q&/ے@ eۢdao8*W.b(1Юܒ c.(>H;&kƞOМVվ(:8 @ 1@A2A0\7RQ0㞅(NKrhm3Z `@ 4Kt@0@Iv a>!q>C/n$P:coem[ɆZ1^йI%(X)DNr]D i 4Kt@0@Iv a>Ic(ۢdQ cO$VJN$BrH0$d1n$<30\4L_Udh\JL_+$9H>C/`A2CDpvL21<Y+(:8 @Î|QEۀDpvL21<Y+(:8 @Î|Q (>Hz!Gd-s^йAԔ ĘWnIs| 2ۢd#ao _Udh\JL_+$9H>Bۢdecy&/*W.b(<bĘqjumn A(S(<bĘ$AB])1LTA(<bWnIs9bN:lNv衒O,@Îq= Q3)pM7xI1Pq6LT)1@ֵ khB$ h:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuprddef.htm $ Preprocessor Macros

Preprocessor Macros

You can use the #define preprocessor directive to define a macro that assigns a value to an identfier. The preprocessor replaces subsequent occurences of that identifier with its assigned value until the identifier is undefined with the #undef preprocessor directive, or until the end of the program source is reached, whichever comes first.

There are two basic types of macro definitions that you can use to assign a value to an identifer:

Object-like Macros Replaces a single identifier with a specified token, or constant value.
Function-like Macros Associates a user-defined function and argument list to an identifier. When the preprocessor encounters that identifier in the program source, the defined function is inserted in place of the identifier along with any corresponding arguments.


Preprocessor Directives
Preprocessing Operations
Conditional Compilation Directives


#define Preprocessor Directive
#undef Preprocessor Directive
Predefined Preprocessor Macros
Preprocessor Macro Operators

Ę k4(C$ i:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuprdops.htm$ Preprocessing Operations

Preprocessing Operations

Preprocessing carries out the following operations on your program source files:

  1. New-line characters are introduced as needed to replace system-dependent end-of-line characters, and other system-dependent character-set translations are performed as needed. Trigraph sequences are replaced by equivalent single characters.
  2. Each \ (backslash) followed by a new-line character is deleted, and the next source line is appended to the line that contained the backslash.
  3. The source text is decomposed into preprocessing tokens tokens and sequences of white space. A single white space replaces each comment. A source file cannot end with a partial token or comment.
  4. Preprocessing directives are run, and macros are expanded.
  5. Escape sequences in character constants and string literals are replaced by their equivalent values.
  6. Adjacent string literals are concatenated.

The rest of the compilation process operates on the preprocessor output, which is syntactically and semantically analyzed and translated, and then linked as necessary with other programs and libraries.



Preprocessor Directives
Preprocessor Macros
Conditional Compilation Directives


C for AIX Character Set

 k`D$ i:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/cuprdovr.htm$ Preprocessor Directives

Preprocessor Directives

Preprocessing is a step that takes place before compilation that lets you:

  • Replace tokens in the current file with specified replacement tokens.
  • Imbed files within the current file
  • Conditionally compile sections of the current file
  • Generate diagnostic messages
  • Change the line number of the next line of source and change the file name of the current file.

A token is a series of characters delimited by white space. The only white space allowed on a preprocessor directive is the space, horizontal tab, vertical tab, form feed, and comments. The new-line character can also separate preprocessor tokens.

The preprocessed source program file must be a valid C program.

Preprocessor directives begin with the # token followed by a preprocessor keyword. The # token must appear as the first character that is not white space on a line. The # is not part of the directive name and can be separated from the name with white spaces.

A preprocessor directive ends at the new-line character unless the last character of the line is the \ (backslash) character. If the \ character appears as the last character in the preprocessor line, the preprocessor interprets the \ and the new-line character as a continuation marker. The preprocessor deletes the \ (and the following new-line character) and splices the physical source lines into continuous logical lines.

Except for some #pragma directives, preprocessor directives can appear anywhere in a program.



Preprocessing Operations
Preprocessor Macros
Conditional Compilation Directives


Preprocessor Directives
#pragma Preprocessor Directives

R$ lJE$i:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/curiscfp.htm$   aeinortcfghmu.0=bwy,-FSvx#()136ACEIPRTq%&48;H259:DOk+7BLMUVWXNzI rI,ӳ o ݄ '.f (c$\@(u@vYZ '@D$I% tӮ-q*0Q"IBRHyd‰O* $$@p\BaC2t FCq[[tqjESw./pi,t# fAٺsm|d6+_fnŚ}IMܺ8A:цccyAћ }VfAٺ }>ޕk EzY溭kfAٺM-qِdn2åPvCgǣ+ l>4r lu\7DZ lpZ0{Gz wc2t{7DB@G p A]Kfٽ:@_T(:ֈG.;2 u twfX|GGx$H,>( qh.2PuIӭi l)9A_![E2:3a_ohfAٺ hҦ {dc7GEѥM푏uٖL>9ih[2 u[Z4^ 6 pcɓ-T7MhBG.ِdnٺo|fWjdg޺kfAٺZ G_f8 z|gA>jэ- }`v fAٺٺo|kc>@Eِdn1n#mQynZѭAǢi3M62+{# A]D [@"D-#8lAˣ }IMܺ8e\glso:@F 7];4r lIL,,,$|p<4FabD(cw[o,:U 2]} uZ"l2[7^7M{Ac~H.1]Ԯ+( O̵"f#̴BeWGtq`F>{vFx+}>;](Gv",o]ԢF>u@>:[tqh9)GFٺofXt;~6nwn)\\>{# CE{,XzWu+?GOz2-T3/#]ZjJnŐ9ћ7MޟvgzWB;b8Oz|x !θ vc#f86>-ܺ8Ԕˣ͛@Ek~ٺoE{,XзRw3f:Jad@($!kcSG $̅s&HK NdWu(JDDĖeGIBIZ:듨Q;l${ҸBFǮo -#t5tΙ-G.T:ah\$@fAٺMF>~Aϊ;hfAٺbco +TYJ,Vd@a`= kxX 6h}8,!s[C6n rK zEqf eo!7M=qql+ sWoG淞:L ٺA@Z8=#E%;yм4mu]xh P,H Rounding Mode Restrictions

Rounding Mode Restrictions

The floating-point rounding mode can only be changed at the beginning and end of a function. It cannot be changed across a function call, and if it is changed within a function, it must be restored before returning to the calling routine.



Floating-Point Compiler Options
Compile-Time Floating-Point Arithmetic

 kFG$i:7%:#./usr/vac/html/zh_CN/doc/compiler/concepts/cuscovis.htm$ Scope of Identifier Visibility

Scope of Identifier Visibility

An identifier becomes visible with its declaration. The region where an identifier is visible is referred to as the identifier's scope.

The scope of an identifier is determined by where the identifier is declared. The four kinds of scope and their descriptions are:

Block Scope The identifier's declaration is located inside a statement block.

A block starts with an opening brace ({) and ends with a closing brace (}). An identifier with block scope is visible between the point where it is declared and the closing brace that ends the block.

Block scope is sometimes referred to as local scope.

Function Scope The only identifier with function scope is a label name.

A label is implicitly declared by its appearance in the program source. A goto statement transfers control to the label specified in the goto statement. The label is visible to any goto statement that appears in the same function as the label.

File Scope The identifer's declaration appears outside any block.

It is visible from the point where it is declared to the end of the source file. If the source files are included by #include preprocessor directives, those files are considered to be part of the source, and the identifier will be visible to all included files that appear after the declaration of the identifier.

The identifier can be declared again as a block scope variable. The new declaration replaces the file-scope declaration until the end of the block.

Function Prototype Scope The identifier's declaration appears within the list of parameters in a function prototype.

It is visible from the point where it is declared to the closing parenthesis of the prototype declaration.



Program Linkage Between Identifiers
Storage Duration
Name Spaces
Identifiers


#include Preprocessor Directive
goto

n < kBH$7i:7%:#7./usr/vac/html/zh_CN/doc/compiler/concepts/cuselect.htm$ Compiler Modes

Compiler Modes

There are several forms of the C for AIX compiler command to support various version levels of the C language. Normally, you should use the xlc command for compiling your source files. You can, however, use other forms of the command if your particular environment and file systems require it.

The basic compiler invocations are:

xlc
Invokes the compiler for C source files with a default language level of ansi, and specifies compiler option -qansialias to allow type-based aliasing. Use this invocation for new C programs.
cc 
Invokes the compiler for C source files with a default language level of extended and compler options -qnoro and -qnoroconst (to provide compatibility with the RT compiler and placement of string literals or constant values in read/write storage). Use this invocation for legacy C code that does not require compliance with ANSI C.
c89
Invokes the compiler for C source files, with a default language level of ansi, and specifies compiler options -qansialias (to allow type based aliasing) and -qnolonglong (disabling use of long long), and sets -D_ANSI_C_SOURCE (for ANSI-conformant headers). Use this invocation for strict conformance to the ANSI standard.

 

C for AIX provides variations on the four basic compiler invocations. These variations are described below:

xlc128
cc128
All 128-suffixed invocation commands are functionally similar to their corresponding base compiler invocations. They specify the -qldbl128 option, which increases the length of long double types in your program from 64 to 128 bits.
xlc_r
cc_r
All _r-suffixed invocations are functionally similar to their corresponding base compiler invocations, but set the macro name -D_THREAD_SAFE and invoke the added compiler options:
  • -L/usr/lib/threads
  • -Lusr/lib/dce
  • -lc_r
  • -lpthreads
  • -qthreaded

Use the _r-suffixed invocations when compiling with the -qsmp compiler option or if you want to create either Posix or AIX DCE threaded applications.

xlc_r4
cc_r4
Use _r4-suffixed invocations to provide compatibility between DCE applications written for AIX Version 3.2.5 and AIX Version 4. They link your application to the correct AIX Version 4 DCE libraries, providing compatibility between the latest version of the pthreads library and the earlier versions supported on AIX Version 3.2.5.

On AIX 4.3, use _r7-suffixed invocations to compile and link applications conforming to DRAFT 7 of the Posix threads standard. Otherwise, the compiler will by default compile and link applications conforming to the current Posix threads standards.

xlc_r7
cc_r7
On AIX 4.3, use _r7-suffixed invocations to compile and link applications conforming to DRAFT 7 of the Posix threads standard. Otherwise, the compiler will by default compile and link applications conforming to the current Posix threads standards.


C Language Levels


Invoking the Compiler


-qansialias
-D
-L
-l
-qnolonglong
-qnoro
-qnoroconst

n k’I$i:7%:#./usr/vac/html/zh_CN/doc/compiler/concepts/cuspecop.htm$ Compiler Options

Compiler Options

Compiler options perform a wide variety of functions, such as setting compiler characteristics, describing the object code and compiler output to be produced, and performing some preprocessor functions. You can specify compiler options in one or more of three ways:

  • on the command line
  • in your source program
  • in a configuration file

When specifying compiler options in more than one of the above locations, it is possible for option conflicts and incompatibilities to occur. C for AIX resolves these conflicts and incompatibilities in a consistent fashion, as described in Resolving Conflicting Compiler Options.



Invoking the C for AIX Compiler
Specifying Compiler Options on the Command Line
Specifying Compiler Options in Your Source Program
Specifying Compiler Options in a Configuration File


Resolving Conflicting Compiler Options
List of Compiler Options and Their Defaults

ref= k@J$ i:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/custgdur.htm$ Storage Duration

Storage Duration

Storage duration determines how long storage for an object exists. An object has either static storage duration or automatic storage duration depending on its declaration. Descriptions of each follow:

Static storage Is allocated at initialization and remains available until the program ends. Objects have static storage duration if they:
  • Have file scope
  • Have external or internal linkage OR
  • Contain the static storage class specifier.
Automatic storage Is allocated and removed according to the scope of the identifier. Objects have automatic storage duration if they are:
  • Parameters in a function definition.
  • Declared at block scope and do not have any storage class specifier, or,
  • Declared at block scope and have the register or auto storage class specifier.

For example, storage for an object declared at block scope is allocated when the identifier is declared and removed when the closing brace (}) is reached.

Note: Objects can also have heap storage duration. Heap objects are created at runtime and storage is allocated for them by calling a function such as malloc().



Scope of Identifier Visibility
Program Linkage Between Identifiers
Name Spaces


auto Storage Class Specifier
register Storage Class Specifier
static Storage Class Specifier

>  kXwK$ i:7%:# ./usr/vac/html/zh_CN/doc/compiler/concepts/custruct.htm$ External Structure of a C Program

External Structure of a C Program

A source program consists of at least one source file. You can compile a source program that consists of several source files by specifying all of the source files as input to the compiler invocation command. Typically, compiler invocation produces calls to both the compiler and the linkage editor, and creates a single executable file as output. For example, to produce an executable file named testprog from three files, testdata.c, testres.c, and testparm.c, you would enter:

xlc testdata.c testres.c testparm.c -o testprog

You can also compile each source file separately by specifying the -c compiler option to invoke only the compiler to produce object files (.o files). You can then link-edit the resulting object files to create an executable file by invoking the compiler on these .o files without using the -c option.

For example, to produce object files for each of three programs, testdata.c, testres.c, and testparm.c, you would enter:

xlc testdata.c testres.c testparm.c -c

Then, to produce an executable file named testprog from these three object files, testdata.o, testres.o, and testparm.o, enter:

xlc testdata.o testres.o testparm.o -o testprog

To combine several source files at compilation, you can list the files on the command line when you use an invocation command to produce a compiled file for each file you specify. Or you can use the #include preprocessor directive to include the files in the primary source file so that one compiled file is produced. This directive causes the text of a named secondary source file to be imbedded at the point where the #include is encountered in the primary file.



Internal Structure of a C Program


Specifying Path Names for Include Files


List of Compiler Options and Their Defaults

nally k|L$Li:7%:#L./usr/vac/html/zh_CN/doc/compiler/concepts/cuvisex1.htm$ Example of File and Function Prototype Visibility Scopes

Example of File and Function Prototype Visibility Scopes

In the following example, the variable x, which is declared on line 1, is different from the x declared on line 2. The variable declared on line 2 has function prototype scope and is visible only up to the closing parenthesis of the prototype declaration. Visibility of the variable x declared on line 2 resumes after the end of the prototype declaration.

1   int x = 4;             /* variable x defined with file scope */
2   long myfunc(int x, long y); /* variable x has function       */
3                               /* prototype scope               */
4   int main(void)
5   {
6      /* . . . */
7   }


Scope of Identifier Visibility


Example of File and Block Visibility Scopes

to  kM$` i:7%:#` ./usr/vac/html/zh_CN/doc/compiler/concepts/cuvisex2.htm$ Example of File and Block Visibility Scopes

Example of File and Block Visibility Scopes

Functions with static storage class are visible only in the source file they are defined in. All other functions can be globally visible.

The following program illustrates blocks, nesting, and scope. The example shows two kinds of scope: file and block. The main function prints the values 1, 2, 3, 0, 3, 2, 1 on separate lines. Each instance of i represents a different variable.

 

          #include <stdio.h>
          int i = 1;                         /* i defined at file scope */
 
          int main(int argc, char * argv[])
 +------  {
 |
 |           printf("%d\n", i);              /* Prints 1 */
 |
 | +----     {
 | |            int i = 2, j = 3;            /* i and j defined at
 | |                                            block scope */
 | |            printf("%d\n%d\n", i, j);    /* Prints 2, 3 */
 | |
 | | +--        {
 | | |             int i = 0;                /* i is redefined in a nested block     */
 | | |                                       /* previous definitions of i are hidden */
 | | |             printf("%d\n%d\n", i, j); /* Prints 0, 3 */
 | | +--        }
 | |
 | |            printf("%d\n", i);           /* Prints 2 */
 | |
 | +----     }
 |
 |           printf("%d\n", i);              /* Prints 1 */
 |
 |           return 0;
 |
 +------  }


Scope of Identifier Visibility


Example of File and Function Prototype Visibility Scopes


Scope of Identifier Visibility


Example of File and Function Prototype Visibility Scopes

 k(N$g i:7%:#g ./usr/vac/html/zh_CN/doc/compiler/concepts/cuxlcovr.htm$ Using the C for AIX Compiler

Using the C for AIX Compiler

You can use the C for AIX product as a C compiler for files with a .c (small c) suffix. The compiler processes your text-based C program source files to create an executable object module.

The cc command is a tradional UNIX operating system command for invoking the C compiler. Other compiler modes and their invocation commands described in this and related pages are specific to the C for AIX compiler.

Note: Use of the xlc Command in this Information
Throughout these information panels, the xlc command is used to describe the actions of the compiler.

In most cases, you should use the xlc command to compile your C source files.

The xlc_r and xlc128 commands specify additional libraries, macros, or options that are not automatically included or set by the xlc command. Besides these differences, these commands may be considered functionally equivalent, so that any mention of one in this book implies the other. This is also true for the cc, cc_r and cc128 commands.



Compiler Modes
Specifying Compiler Options
Types of Input Files
Types of Output Files
Compiler Messages and Listings


Invoking the Linkage Editor
Invoking the C for AIX Compiler
Specifying Compiler Options on the Command Line
Specifying Compiler Options in Your Source Program
Specifying Compiler Options in a Configuration File


List of Compiler Options and Their Defaults

/ k,S$ j:7%:# ./usr/vac/html/zh_CN/doc/compiler/images/banner.gifhtm$GIF89a.!!!111999BBBJJJRRRccckkksss)Z1!R1J)c9R1sB)kB)9!c9sBZks{Z9R{{JZs{ބ΄sJB)RքcBsJ!@,.@?!**7+7, +=---±-"+*++,1+35 1!0*066<55()9P BMF'J7NG RWMVgZw^ bM62ljj r@m`>Ú.? >?MQ! $yj:hV#%+< dsBPY (00||!੊"<ˤR-Qmy%6p+a\(P(:":-_ 0 h*X2U0:a!(6O"aSSTr3ʨ?< SdIK US.8COp<WgD' f{f4Ҝ&, & ZȌz(oՐ<#VQMtAT0ſr-G8 4!(BEeeu`0-~D'ʈ%E7юz7,Jק(Mb PJcI@6)NwӞ> *P*ԢFM*RԦ2N*T*ժRV*Vծr^ +X*֢h`ֶp\J׺xͫ^׾ `KMbV:N 4A v9i >PyL]g1h8ԥ9 Pњ#t|GeR ~[,I!*4 i| q#zb1f \z^b]3$kExK^[0+7}; |%hwG [pG$@!a"bSx= 8pfL̥c Ȭ3Ϯc9ΌwOG8ѐ'MJ@.5Nƃ2~㷻|x@t2Vt*"9@B0%t1s8GF6Z2^A44ۆ.)8VJQ<. P^Da%do{-8;+i%xO|A.W,'A:7qM%0O`Q-#R AԘ3}Ebx14d=}+CY&¥)06( t誊Rb2e։Rh.oi} $UU =ZT9 f햙 xbRNý *z [" |*OpFb݉HesCfZtpiIs{pRŒ= >)Γ(Xw Χy@AHjzXU>'S'G|CH # W]M6Hbkzxq*$GkwGT0z 59rL(|ps@GtI{R ~/ @x#'y+8H: [@7!+:kyS'rx B?w(1CWqP;ɁHcTFBHɤFu1:d-G? X 7'tx3Hn+0qoTnI~m4ja7b7^a_!t,J77HG 6 Gl&e'ߣAGg)^'8ĸKnpk<&kۤGXYrPUx vB"g1%蘎 BdpX>Pt7*q9Y91uDS ِ9Yyّ "9$Y&y(*,ِ7294Y6y8:<ٓ>@B9DYFyHJLٔNPR94I5XZ\ٕ^`b9dYfyhjlٖnpr9tYvyx])76ӗ~9Yy9YyI;  kT$0j:7%:#0./usr/vac/html/zh_CN/doc/compiler/images/cforaix.jpgtm$JFIFHHPhotoshop 3.08BIMHH8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM 8BIM$8BIM@@8BIM `JFIFHH'File written by Adobe Photoshop 4.0Adobed            `"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?jJ ċvA>Dh_ܾEV3.k%v d7S>k {Eѿ+&I?^"Qރ\*`|GQ0~-41{vYd5 0A_OϑOwzzMFϲ© C[k-%K&77ٿ'pOia}SYէ9?KufWٻ|~S:6~3lSZ&Kok{"C3 BC.~v1t"R~MqvLSvo]A.ܠm#jvݖmsremGܠs~ UÚ@N Won;igOk^g@~E6ai <2}Ok6k+jFVj8b?R;C6sԆmkv O}?w q7u0Ǵlo%Ih\E5DXs}7i[ ȗ} uśu ;%ۿ%CL<$kZ Whwb^93o;lƿSʹص:XѬ~5[ֆOM8V~k,}<\j{?{Qg,O>0xqJ_Զ#>RL`8GR#'twҢNѤ;3t^NI8?#?ȳ zgC5zCe7ޣvaS⌽_/~C ®ŒtP5]uh/bR-KjA{YpBpP3DG* cgQyQ0:?#@|xrQ#eUn԰Vxk hz_ɵ<8_`vۻ}}ryujC~?ܔrr"glc];{(dGx?Vع=Ů oopaP#a:B1>A.gSd8ٕ]:4_kgekm]7}sCihF?r:WH &mْ̢Qx-Ֆ7gnmf_[K}hg]G}dXW=,eRŤ2XXn|]~P}_3e45ĐsH+}WW7K).gF]?%y{.y%a/!?I [ɶLFl){^K_oƹ~Fq>u^eo -iu7fUdTCߺYnXfSk"C=RwOd n?}Ba q $8}/׸J${:}MEInzW8 ۏ};}fn. 5,;_ߚ?%?Q?Adn_bNݯKs܈Mtb9̑rpx#*.A;e[$9Ӧ`q%L԰?w)]֙ԇB ~~T]3ݗk2!kUu?9@5c̑n5A{+~\t~EǷ&ú̌Kߍ\]S-7أŊx,P6l|3DQ㏦~_ҭs@k@2Ik9˩􏨶Yy8L^Nl_bgZnѺm2kݙ{g2|wovf_,5d_^K}ZghÂe.# de>9& z!a}Ig??$W8',ׅQ9bl ֨ 'ͯ9Pí2J 's۽v۸ER s\~f2mikˠ4Go/IWƹ9 W`0w{׷lۓPb gGol$?8<%h[Ww形l~X,;薵kkvF͟fEEk6Az"ʋˋ%^}*$w~=r!Ϻۈ6or?b.#ݭSe2 ˷OFDZ6x/#}H+ѨH?sK[o zZ!wKmg=awNB̻}kƆ[l >^ƞ+ag; i5L0,@}^O}8BIM'File written by Adobe Photoshop 4.0Adobed@      DI  s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UEBI9sINU__Eտ(촟ȏ.8[z|%ơo,lk}Nb*`Rbn? ?.c'*iQhvc{|SO2N*{qXo/1WuMn_h_.y iVzɶ{JƦ0,R>⯬?389pŠy$}HT}8ȯ\y̺ogǒ^%iW~Cԭ5aMw[&^"iBU]8J~e~Wj>g5vYxgxN톝'fEx^2d;U]{qV^M740뒤ߤ-j[I* s ű)$7Ϟ*?(-85OI0ERHچ.bƫ^Y0*kC]pewr#MF4X4g\,?Qo㰼c|,NIyʭ2\}5bbo>~UI٧y:'NyiW^foO4.mJSXvciP{Nq}VRխi.|ͩZmeibuȵ{K[hmWw2ۆ!~nIU?ț!?A6?.5Z,F-"I䱼l.bvH)"U#z'?Ǟ?%*|F?0 ;> N{Y<ǥb}g_/vU~]Ͽ?>4ɿ26ʟveѶ6yfxO#W3|YB 83-twIo9k2I,Msyw"#TS:֝BOk/1~D~ayGZSb[h!iwsq907fZUC_.|ʞO׵2UugKv,Z_JQȼ $e~6*ߚahR5˯oSG}o~Ö+Nث%<8^eҼa SZ!,$P$;jVO45OJ$2oŕ|v*U78w^g4BZ(?2mK0N_cyZ(+C\m5ɵht"[MGkEYv|USy7L4U~R~}TyO\;+ʟw:%47E$k7}+R]w&`h UA~^~y럖_K5&em|[Z]y~.J;ͤ %ȕ)UT7w2/3kZ4!YX^M`bXL b+#eBqTrá:sʞ\"cu%۬^_IUUE1TOw:ˍ ^Ǖ()a^_]Ϋ!)R8H83?9?97<:I?E-4G6ӟODW 2SzK˿ߘ]?'#tSdށCy$Wy;D>cs Ig,j2>.a^[ v6z|^4 K_9Z|׭hβjox7]v*Uث?/45k/̛ OG^J_,wyg}$)b 00ï$;Ǔ|[|{>i$rZuuirS[ڪF*'4?ߚߛzmgkO6Kz^NtE$v6?:n .14W:,wq/(;޼3:'b*ɿ3>u+>Do?,J[_llկ#Hfi(51TOA8'=4ˏAa4IΘv)/-edʑU R~doU44_ȭbx,/jzDkO{"UG_'ͽ=!?4MֵWHX{qkkkzf;Dd^rM$ S旗8ѦC#/VЖ8ཾQH$2sŃx=_#3vNm&[PO{8̳\:Iv!l |EޡO?ߟ~Z$ڝ.m:\i[d2I(w]㚣/7m߇/r?^Zu_.kUmB_.>Zg Z_^ޘ]) 8~-N|4r_z^Vѵ yEmu.JӿFA݂+D\mPy\3/̛ssO*4O"OQ~#HD~ [{c/('3?%k*wZg6]O/tѮJ({)m"Z>"l?_ΚE$am/"h+xy?痓O+ZAQl`ЭU}72i˴j>m?-cEu'ɚ櫯iZW:ϫi<!QH,f/~KHGj򶢆ᡙ{hA"|6iw9!yOL<Zƻ||\_M_]^Ӕr H a.:֯H;h~dYZ*iǔ8o7~Xy[P.=sJ׵]nKmQ&!a D̊ĕZ󓿘HC9@O<;i{!t'kz;.iSF|.yZ7zlZ%'T/;*QQxBh_"n7|ESq-|(W]W[8?2/2I,qFߖ|7Ɵ ߘmm7UׯNqiW:npNI"8F^K䞕7~jf>Z垷iGxaR=2#5鏈<+_D62\]_P -DV&I8bOx(@y7KuO/yJcէ_%TtoF#J폈w_ hZߖ?!ͭhz|<=_GX)"THOI'폈?~[E;yzqZѧeeysUu~fPr[+Kn>/O?u/ GkRL6 i>Z4z_ M/IZ?Ỏid9 &+,2!WVC)x~G~lwzydEoqqHo pw @UY*8/n>"?]v*UثWb]v*UثWb]v*Uت;OqRFU\1B'_Q?_9T[O es "dу JIc%ߢ~0x|cq\>8_.O?/].O?/].O~ ~|Rx/`/[/? 2*ك|3x/b+~_1_"_~d'./0./ُBߢ&Ubwy~1WߡU1_˖DMf?w~1Sr/?3o~1_ɿf?\4 b. 71_˗~~1W*c_?yj+rг*?E.]_cY梿. ?1WwY?ZOo˿/@Q_~qJ;:4WmJV$rE)>(+Z(qW-9uɸIGq$dmc劄>@Hfx## 8U/Ÿv <0j(|]9[ͯ?~c~j~q~i<'5,G]amvCk~n([j r{ca979ͯʻ'蟜^w&B󭦋1iG-~6Q_˗^o󯜿/,?/5kzr Dv|_R X@R$&cJӴ76oohčj*!k:cQ^7<zz|o_1_CjwGycK]*^Xec_=>R/?Mʗah8|OT#Cz}_?%C./{,21Dp/qw{aF&K 0L4?>K]*^Xec_=>R/?Mʗah8|OT#Cz}_?%C./{,21Dp/qw{aF&K 0L4?>K]*^Xec_=>R/?Mʗah8|OT#Cz}4o֡ YYx > 9|ُ^Gd7hRc\sCr ".dl9r%({I?{!AM7?G{/3ܸ~SM,w^?)GGzsG8ޟ3YB;7*od3!{ʤY$zsGB=ʤY!{ʤY_B;{I{ڽGz!RK,?woU,x?Ol~R,qD#?gwi?޿gT#gB;{#D#rTOB=L?Gz!S??w 7*?wpoe3!_?%ޟ?&S?*?Nx?!7*DkUY_AȞNS.<S.q__O'ʪdzkU_g5DoUW7?k,"7*]_'ʬx//_75EkUhV{ȾKV75EkUr;c_&W/7?kU,{?ȾN\xU,|?,?GsW_o'3_nk miWckNZwӸ֝|6+1q_; miWckNZwӸ֝|6+1q_; miWckNZwӸ֝|6//3l)oۧi{&=?ç !_⣠*K\@q* q/)0pYOlOTp޺{`) 탄bt1) ; %xtLxJ1+x <%anI<x{ _5b= @+}r?c_\a<@R|" wS+ ='O}yq,|Pߠp%|P#Q⅟c0%0Zu(F>_-:}xo4|i#F?+JF *0\:ccr8YZ?.W-cr)^1հXγv 1cTمrCJX@Q:@}cx?([v/(W!cB ~~B̅_ɔ~h)~>pLAg/2xMO'gz-#֧O[nBڛ//x!"PV}eN|/mgNYڹ10'Vw)_kzO-_Rмyesk^]j6֚#S-T@y;e}Up1f^^@ǹ%LhG/:t-w [楍j6YVо.q դW71  fRk; a8|xlNQ3LbnX?~f~HEsdyJc|7^ 䘉Xaq`Mo 3l5C4̬c_P7~6GQ,Qd/"|%_^b\ư|oEԠn[NQUO ,EJL6G>7'|;rz۽?keİW<70|_8jk'A"+k?[֫[M~i^hY8|: nnٖc"{UUBN~^i{bN5[{ &W#.KM= 'q؅f4ÎS n#D';bZ]><fyXk,K/|/;_*Z^ 똯&Eݙ&zR)8fCMnۏI0$.tk糵/2ͭCAֵ=gm+S" \ՙ<^5`r=㳧'$;`qS hf;v*UثWb]v*UgN4 o+;o2zm5pA`Xs7-Üҿ=~ 5t}d$QK3S9Y.%Q+Sa| .&Č 4z` kecŽ&R7~xWwtO5۷l%p=\]?AP2CA.۾ x '||5ZoGx~#h9 /ooS Aнr vdPk'5CRr^ATZW$1')P:x!THrr^c6d0Msd:cN;>GVI,:*pSa'ڹ1΢ګ1$4ΆmUDdƜ09ʃjx`(w՟cNCd.iդr1GS$49Xu;7|?ʋk|'9S:Ħzxr4_1h5;#>mktX5˛xX5˚@SUP2̽Y@ Ɔw*.cO &x23t- _ށ߽ۙOmRKR-lђۓQv}&? <zpC-gdόF\˞tK˞W iv%_i&Vei#tB gv䈬I냳k6s1'$z|go]wdFf@Ñ>w·ڐC{s~XZ=;Ak6 omVj" !"ECkf×&X@Af,vD {w^Ge]Ě-ͅ}.h, hc&!v` kY qvq1᭪ZT!o65u-zI7Spg*P()Ls3\sccf"J'_׼Mq56yw6aivByn;{=*, ݘOhvmt! \"OA^-8.5.ثWb]v*UثWb?,?p|=Xddzǧ !~k윻NF}Z:ʔnX̖\)J֣er,=KRd"HڻeFM#`|Rf֙&B*VG_W~X;8\bSzu5+ŠPicO %(f"A,L^*{d2lj O,ؙI;|0"kɷwCr02*f~paEE%Z}9!12*FA$1q^}u,> uTE  JMNXsFL0(Vj9`  ځ'}`ZdbJ~rTJo)8 7] v7ky+ȈiC8 Dͣyetr?oxY<$e'u{yu+dKy%K`e*$ HFNPuTy]mvF>v9{._m24_L;?K6,xEr[8n^'Ýy8Cߵ$t{?*G鄺,,,6NK WSRWc{ȯdgv[O!Acqˢql54\ B~`~d5ZZ1('LLSɗU7dVhWbӛXl?iMi?,Q3+@׾cN"nczT#)=Y@O{_g}y!R톕 bHeccMOޯ& ;aQٛYEqCRKO/Kyn)8WWn}lifш#49.hT3-jdx^"뢿S>rx' I+;bPNr;t#&+oۯ\k*L k Pj;`PKt&7Ac?#?qynݸ}|h=&nV/w1He5z[t6aAlN7#l1 C"Td`g TSݔJM %OA-&Pv>e2tbGyMEtʌDQ⧾Vd"}xxp(5!޴%ǁ X&Á$v#6)\D=B?D-2Iz<:|bI%,>ZP^P1&$!?#o%ĊQ(+|ۮݰ"d/@@~Nõ6r֢» )1!c-r@O$  )E|,HS#0R`)v;NH%MzdةG^.@_p zaᏇܢJqVo$(q$0Ą3O&OypFj?i̜pTͥd˚m XMLbx]v*UثWb]v*UثWb]v*Uت^h=&nN/w1He݆k}6W,t6ݮR+K U 4N8@1s!,MyqHB&ReyW^Obo)^]wv:|KܒC(j@hxNܸ͆67R?ǛX*<[q/]yj̺k>k֋u뵽s 1%&VSņ sV\fA G/6=4$`""[>?.4]"rt׽:zm0zMϧ\-| oB>3#n9q:S-?hW6v1~Jyʞ\5yia>cgt]Z V6*21 Hc11 pq.7W+Mxsd *5$?vЬu2[m fq ?$TzYʱvctxLQxbr&-.p;ѣ5|_)Ayxo.51Nhnm hR@K2\Gq|G?G'W.{Tߓb &[Fm|tOWLkP wڴ4'bj!Ǹ'W2Ắ6[x5+0W}̏XRo?*yZ睿1d+k@<%e(]S;T ɖ
Wye0.*Nlݓ@pc~_2b4'U_<\W\-augQt!G|xb|PLdbØ{cp!!$ F]~YkWh/u-o_7 C4Q2:pBڱr$c8V8Hߦb'fLx HV,'k[_dFjZޓsäkV7q-Q=ţȠ$.i;e)τDѲ >kv Tq( thAy^Uf{>盷uXIc02YDޤAЊf˳v&|)4~bs^.ØA #o??.Fz4柛-נv4qcwkZ喕-%^_jj2$^/ǻV,9a)UPt<8D"kx'!Qh.}!:9`,CI\Md!SzW& Px`!Dq$ )HFhOacHl*r >dV:|"3ܚaJ8ߪ*8~8p 8af+]Oë81AyȚgkGH|~2GMSaHxiq/2R<|dUCqp,Ƅ'+?/+_0yAƗki||/Z[kN6bKRX[vոc{>LQ|&'M{s 1G%Hܸhs;-G?6~a<Y,<ͫXjP5E%_]i9U8Hǟ27؀Au]M1F_H.@o\7޳]}641(u[;)fU`nfDT-Ř0 j#1!-LO#`wo?~\xHۈHs?&iXxl[QD66WׯjoysgCx-:RN=G4g(Xߟ*h81J12yW1<5|;2O2yejwr6^kuq2H% Ȏ6ة 2#:~yDҏJ$=rsc,ݷSq2CC~a7c$ޫڋcvHd^ISǐ*LaꉐMs91mNJ>E~9_6y~O)y\uM S,ho!eYE A~CGÝȃ9-d5Xc#g_ˍkph6ivacZ}WY-KMM*;$ߡ'#$|p}}cIѫ\^^4Q9B"V.ZoW_Ӵ˭'^OhkGj\Ei,sd$#}8{0.scXl󦟢{Z6^c醴Y59Or,h@!@L!Xȳ{UַN~DŽ'![c64m[ϿVYimlK7cyl b5jFFZn+0?}+M5(G? ~7Y7M~So]" ot襰kW +r7Ǧn;0R~pxR<@Ęu{ŏz.Bx.ϗKAU~|ݛvz@`_K~žfS&}[̶ y]2 G{55p\4+o+[&)މQFؙF9uY .._p0٘sgpoCswy=1؊NANΟz7ߙ~yR?趑ibp}GvPk^@,%}GlO#461rټ;w.[[/O!y)lFG%>[N>rw?4;S't0o}V=h<k8UЎFZY97o0!vztbd&?żi5VլRm3OS-KN+dTOD81ݼ5~ ;oCnW*?i;uߝF| K2ne3ikҊO^YHk"9Jy%n&=jKK)ѡ8[`;mgg@.!}ĩk76餿-|Vѭo1- ~u~n?m2v>x߽p`~..g~_d:%1[yK}cZDz/kK(丗!cU-u//T1`ZP=<"%Gh﷟3ϝd!ɻ_5m 9,|Z}2Dooag--w22K#bha@ pgF>S( W2v[מ4.|ˮy[nnCZMŵ[\Cl+Iϐ#>ޜ =:L{qWrJzʚE͚[u EV7vp  P=O js#K۲nj޶֋N'oh+t,xH#Ȏ.ZTwIbӭnF "wh =(&HyR壴50x@1)s])t,or?}Qkcu]R8,OyQYArccU* *'wyr'EDŽTw:+eH5';5.S/fH¨|#%.rD']Iv1-+]K{ykumM,Fi e0갬qJ;xj (V%v-NKZNg$$14QN{6c&ySRm5]F kXb[ID) # ôXdJ1;1[˳!(%."?v_i[k1YA/6E'O6\EyAr޴n!nL$r]2_zYxR-5[ƨ'i8o!>mib:~ml(l!X滙َ1ί8cut~\&S<"]XĞ`5ٝ;̺ޫ}q}}fbkgi#jP}A\ګczh8 _4_j֡,ķ3Jp%dݨD TL9 ({O"K̺ޙgj^i5i 2kZhDа~@ \ˏjꣀ>uά|ivnG}]Ϛ)k6yQbWI$5HNE2J[w&Iɖe_T+x{ulhB8Ȇ9WzCyɚ㯕ʷSy? %ơ+Z?Pe<@̆Jt81䭦xVOxŞR5C`uҼo_$ip^ . qO5ˤ Nř vsTpd p@W}u8͏_uW/W揖c^m?Z~层+e%Ԯ.>RՂ"`}Kb<@"_I۠7aOrB\9 ČyTR4>rմo(?A\_YiZi>\Ҭ,܉%.>jW$82jX c'ުr͏KD#so/byA{ivZ,-;YLVқMq<}DʫybGéÍs#魹G`r1KTl=ʶF{X?+lkIZj_K VqM*+a1ʈ.˲ؚml3DK6؋]lVY,ǭ woJ#p-4hJjX5u=JX d!p=4̼Rdz'b'( ?IbG ˴#$`$hZ׼my{CPã\tmA$YQN.O{Q\5pD*[yޝn`͗? d //+dj͹vyf?;#\k6>a ũ\-ъO s-@}Gf 30jG $G}y:^V&LtЕ0H DȎpGd姙? n4O1/6_켉wZV9"`~Aݛ_1쳗.<ē_0Fnf'鯨k2x[J5ȃߐxΫid׼ŭz y_G@e[}*'lțȦ٥ᩔt@vݗ,YD{O^|.~{I]+ڷm*XWeqǗBuLȔ%|=G/UGǬ\c)"vͫ#{ fLe^^5wF:DG$_6>II]^FRUثV+q|{{2qÿ??_ TTA Cq0-|o]gjj9ˑ΄= n:Ld f,)P)OcM񊬑1s|eIEiz쿲|6kTT@IHNhYhɪA+>%A+2kA-2 DG!Ns"%ֹp-d +Qtˁj!`-D5j~EQA+\ѓ^d4^ 2BLxTb;|t4YY m7R& r!Z Y wZ&  +, v;d&0:_((s eC1~L1*, XI*W!QEd|3$k;![{5ZP$(ݓ THiI L\,H_n&vQ6+[bm_ xY<7\Yy[@դ s*B$T u9~ 6\Ȏm9!iRɞmе_3ykR!X֢Se@T9Tk3J13[z%)rܭ?|mؼ?H:G$^akY>RY^o[ 4_)֘N0ۻeG'$8~^_&y'X޵aD7>} byR?Qwy_79fCYQ>׬CI9>nާCzw3i!SaeU,(nFB:,qHsl|W0 lQ@OˋO)˄3Pi$o,5D8UHCr YAx2f$:a=n8f#`zmݺ3̾Aag5_.,a>k, 3FQ@$+SЌ>6H3ëØbDw.4yO/5h6pw),xF![å˛xDp6O/2˨Nj^Ú)A6 זzP;ڨFDvT")jPMHirBbCo1XI\hpYZ2޼L#[KٚrnʥaA鲈pvf\mд[6Jk]r="Mc$ÁYUFx7QY)~N&d#ks[(yS{wc8ƭn3t_B=~vLzL$.g7rgRnϓg6sR OҭyWr1;j}FZ\2֍|N)LCM5/0[y\&k'u/Gm&4إtE K*aҹuLDchˌ fo2_j^gV [ӭy&fh9 2a^C]ZdcHܚ8#bHJ1I#pUЂh,-b]''oǷ';ٟj]Dt[TV;f.Y91J&xf)sOj |\CObNNLbfXVULDɰ +CI*)V!&$ te-R \B||KLU2nE)^ Lr  aQ'Pdvc_*L{ˢZ̟FX Λtb+et !Ɇ7X3, /L,J AC0rXv90P, J&S1K%^,)N-`ESDбV)Temaj偉R5>$)8<|2AS# =xρ>J9C5w㍫xY[3B't5h>imy{̶w6˧Y]l/tbzuS_XmN9hfOd(1? uݣY/Q6 N">yB-}#g,AxᄄBBm5[UXkEhRQ/f` KDUH׫:: x&l# n3:]ލ$\W^T}T&4K!]H"cÈ@[bp ?1y>~cmp"\P/s$zW4,ڣy˚/纉j.4X~0$U#lvfZ,EE{Ѝf#پ]_%E[ VA~^F)!1]FaA_]o?7[sq 2Wҹaͬh:>{es[s~`ϭ6-l"绝 fSI x 76X 'ă.}; b8eg^۞tKzFy731Gg˫k7OMURX$Vƒfe/z>8hI؎=5ɦsD_%/ajHO枓婯?.VonPjZ,sah_:60\?2 }O[ӖS⸳9-,h/Z:^щ qiY!@1DJ?T} $WCŠ7'WZl5t%w1x7qY4YY-\L.jhF>hr͗$#Nˤz{ \X)o|zǙۻ}3fyTѼs&[i2zM\Z[ M!C>L莖pJyƈ$t;ÈՍDe[ث!/|jNXzſ|z}umzdRSEKF)p%#b1' ;yw2=?_5C>5]7I5/?z直/2Yt>}2{/-5K [rCND~-],q˛6Hєc@|{gW38b-M9qwDCwMJwu֡j&1w5$"PhsZQgR+~>7-8G?ةKWb]Y7DHHg m#VT:r,mw<ʀd'9ln4I( j|+d\iD1bYYʀl#mPXt|foko%hD݉U0)ʢ 'b.D'-cg2]&*=l]tON'lhag=Ko+?3m{˟3uΕ]rKK)} zع}EdF~~;?8@Hk c4b$wޏp\Ǖ&-bSo&6oϨEf mpdKJli}7'3$wJO;ջf#Q@9P>O4WWּѯyKL[w]efq K%F.)xkμNў}Dpz`H⾾?+f;k޾ [}&7OK/u4KNl)cN\݈{DN\tNξ@cq{ѫfmw:Z-*9t+$C"Y us LvL^AN#'CQ:mc]/[M0$|zV~UwwB[|u*$d#ѭ/_"Ķ-. ~Μ!126}n;ǫ8% nr<=ױC]Ң׿0-llm<5yy_I; Rn+wn}GgepR~fOFUwwN?X"~#Z'/̞`:+s}iusH-YjȗEz)^u1!3H ﯾC8·{ǟ%m|yMEo˫/1\iCfGu,R@J*r5lX9cbވ(v2d#bd(5uu/.?t:&Y[Xt%UbeҴĸ+{؀IcrWAļr'ؘ͆'CGǸ6؛C2OO)eGj ~`4,Zn~5UѮLiY^潵,%@" 7[vnj<&U[P8O#g$Ў(q[r-ieOe0! q2$p 3eB14g<箬7pV2QeB8랏3jz 1>&t9eg??)|"w `VX܆#``yd~$x/ӴVw"_rqCP2C- uZP:9\GO;9ʪ~vyqKHcD*$T}֛?{?8δ_o:g^aa,RiycLjtGM0:|\2t~&<O5-%N0cu(V9+ٚOXOm= 7Ӕ/Po|_8)j?>a)V_. vx#{:=O \E{;ۨL(>#C^<͢yGuK},/bh ـ`9)EAsϵzlIyc!Їj1jb'BQ=BbQEf "J.t($8,bR,DDQ,2xHF"4y=2'D$<ŭNTѼ]̰ qFb`R:Wzi6s,)X&;yaB1@gT/$6=;<&D2|+l1Bn@]dTRV۶H(Q#e[ T˄PZZ@<{DRxe-R l[&2/ 堵a~X YWP NX z8zd`6偂vɆnraC&H!so)]!>n)Qv̠ZJ9& D&+k'1ǮTأQZSnFJxUR]~_e7&D8LV s ԖYcw9Y=2T'#3t:9c GqqÉcDG%7#dK5CkVkR_M9:e|1tH{vL8WAV+Fn- &ҟU9dpwRV۾q≌'(@=7#&I N Ȑ +x*nD ^*]Pl+efr IB i:VqjeLZ(IY*$TeoI$}2ǔT%]ǯZyKKE$WKEصKH"8ynvw207q{st۫K2򱼚XOZ /pQ0H:x1BR$r$ J-EHt{(u9 [ƳA]KUPcf$GM3]/ʹth=&8n+aeWYќ2 we$9X7;T\\z-/*W-׏UYu] wu֪lݦ5X5܆k$!L|N<"hPt;1 @ ʛv*UثW~U/-Q6dg33N])U÷BA)ݣj.@{i/"hRsq.W[3'e|2 m__^q[]jY|j Yn *_Dqηa]Y%?\Kq]还:ռӮjbgQ.,~}+>fޛM$( [2?K7GiQl~M䭸V$biBa1< {>']bB~FMJ "ܯoEGlZ.N(3{xKn[rsw|=9+)X]Cԙ^YA^vo}U ~{>x!ܞp4t8|ѣyKӯE 29 Hۏ}fCx c4ZF|xdbz#~gs$;M? dcFI8&A<`.c81b{eUX ^z_^+{K%[H(M{C\US/{;=l,@y2rvznܡ]#|9*4^MםO]P1>q5'}?{e2zxX)dM1+_Rɉ11CwcN>&<(F7`f;% 5dSˣ&~I,)PGL%A->ˢZKf<2j@Ⱦ2Z@H5堵qɂ*:, P̻`(wۖ% Nk! , PWڝ2lB|H!(E/.Sehvd@7|2星|7~x]v*UثWb]v*UثWb]v*Uث+?r|{{2qÿ??_ jm0Rh5 km'ҙ8@tf8#!B. ~<%"cO͋i>HP(fKܞ.߷{/ Qq~|/l4g?{:8$HE8,qU@ =TOIs rCdT iWRXq{0& 4wL~i[BC PDĵjEMMrkA$^g_{Z?sf#{Z3=;>^@{gtT!lIcdRX#-]$]rɪQAH'mZ Y cOeI lZe-R dlG|2hR#]j!->5/ Aj!"xeH!G|!z`B;zW- e cOe2dbƒ|AQ4ޟ~M׿A$$ l, T2~y6̛R ,y k?<3*y&/x]v*UثWb]v*UثWb]v*Uث+?ry|{{2qÿ??_ ޴vKNEzza67~2Hh_eqJ+KyǗr-6dd?zWS8cq3/>^m/NO/G)^C?!yz]ՒOqٺ.P"yNDc* iEݣ-Ds a.qkL{~xWz`JF\ B3wN` d7&&֐xrAZXU"DrY }q8u?1[~YsJj4JfQOhXЎ! g'}4yϢGOKtdbC=|n?'6 6iG J*ͧē?͸?}CHQj9>7Ԭ8^ҔYM90XA'l) $t , tҧ.k!/64.i!/)Z}tKT^ 5KMɤdSĴ%s%F/i!,u2ZH@H2赔 -#_Ֆ ¿&ևsN`, ,`T NbPl;A Pzǩ0ĥЬ;6dc=:M^^Z5.J9G3YQZڸXxmݣZ 䜆Mx@$uhH oNO3 o8dٟAdv%pe6M?H?/ο=i6 ~^iW+UH]#/k\ {> j x_j;l؎>_wVث~/*O\4wߙ^kA]/G1˩!af3p\S2/o.{2oI"Z~`_RG U6^I_ڟCfc<+ı8DQj&PL Q"'NGq4nYP;PR1UTG4{_|~Nz%ꏸ?̟^~sUIsK]/{xzNƙ~K>ΝYzu' ^?FxH9a#&E-SrIQJ揮dFMR l\ I |oĵH% 2薙U^/iJP; ȉh!*(||ȉj!,^|Z Em.jA7X+Ԏ<5#=X!)h~Y <2aa2`! %X)#ޙ`byMOa-ws08"x{ek,px58"ġPp>G*"I'vbt*i\yO{KM,qW=ߥkoq+5\wpwi\.;;m?|CZof?ˎ!-7[y_~Y㼯{KM,qW=ߥkoq+5\wpwi\.;;m?|CZof?ˎ!-7[y_~Y㼯{KM,qW=ߥkoq+5\wpZڬWn+oӎ! _oN?3 odWfC55N )&>P~wihP%O-TUSQ+qyܬJFj:?g{$"'y};HhC;t>HҴH7M;[ $P4E gBDb( |s3&R6J3$ث9gh0f.7˶ݙL_!KvѱO o7 zney,tt F3{Vg&R_WxxgqZoJv90vbjr5Ș3VW^-3h>xWacI \ʲuQjz}9_W ݼ[chM^[Ϲ%z{TCtw1b7i_??.P%/bǼ? jO/gEUv<^bIllK4mץӣRiMt,+˨9c $ajL h^tIe$q/ˏ5fyUEM9]V}&UbLα9E4SNs!r?Gɷ?iFO>4Mּu6&>WWE QAfn*h3k2xxr۫2-ʚ}gE'ӵ[Sn [?Kqy$WJJ,A5>esཽەsgk>K&kr[>O/[{sn1VxF25 ݟHjS߷ۘ,k儲F^ݟwݺ>]:ǗS,t=gOJK XO8Xѣ7=fj4$ ѫȃ t]X +}ȱ׹]v*UثWb]v*UثU8M_GfC3٪vI*MD[ g?z~jcW:E"$V[v ,-w#g/كG#=/IhV}0~_H"ߘ7濚Qq=j}]؅g]{{~żGpw%mE8+)FQ<3rDKpz2 ?@fa 4&޸LQĨ%ܞ ;k1n[MnYOz FZm~_ִ{O~-m,_jdi53fh}Pm:b)r E?k{*˨Twg[xRC 9N2GcEb8sKeGiFS gT}/8=O~75%DOѐgDljxPű9ddb\E\Ʉ' N,ʁq;̸a)hi-%S/DhzejU*fDKDU:DKL(;W2"$|EH6`-e  Y@:҇CYCk(Wzn:`Pzzv}``Tx䀐;倐PRxֽ) m}aWx̆/4]Go 'hEZeH/ҋOL)d.[P/ch@n_t@%PyZ7O*y^jO6k~e _t4?3WH\Ԥh_BL GkaX1v!ݰ;&yZ9v0g߽ll U oy&YfZ|XsثWb]v*UثWb]v*'oHHf]V%pߛLÐraʈmiG=m׆IC?}ʰ~t+Oؤ FHn'ze< w+yoI(8ɲl~o)nbd^ƔcIl=p% vp2/iT,J̈=pra?b< sUǸyoh{z=z8vy!\S`C/F.mKEIJ(jB9Ev;WڙU`705]W.⣾aE)|2I+|Z$O2 'ߖ?{FwrSڦyKXйV[Xzja׮tèBߤՊ$w{k{W. 9[s<8%׍0oji2Uk} %>xo%ԕN]9"C#.^^Ofc7߷YY~25ݿy+|2LfygNk!Bo#r((f>nŏ 9 Ϳj1Q7ؓ\0Y_n9UOXI.%I0,, *b0{'\brՏɎf# Qt~6fV=}OKԠMԭ4 _ dNpI'%>_!<_ƭys'˚ʚgiw2Q,jJ"*aどg>؜Ō2#Ϳ/˟0y󕿗ߙ_y/DpۿjS+Q§Sbd2Dt۰vLDAYuz U;?^G5K͟^Oѯ"|=Rޤ3D'%T&6:=$3eB8L#+ǿX ~Sjڅo~W:qMqqq3(U,B$gDzqC4OGR|7Ϻ<4=^y :NגMݝWZlYyJ;ex5,K.8c_ϯo(if䷑8b2o,yj[!fu4hV2JW]]N8q%!FW,@n'וE<=ox^{_F[5踬5 h%@J¤0jæ kϒP1? ^~m&ʒI-{ztm.%}G`>i(,ajO!:Οy~MˢK1գP6sy"[2Mxb >.]z;s ?"򅯑"ՓX64JHfvx'+s^.<NHU~?ZQ[/8RO~wVU=g+dAR~J_[ ҳ{591PwuBHhҵҴ^H$M"~;|#DqIw@Y_be1=t`zΞFIyenk 1,gl n+e~]_6kjW`2YAp_FH ɕ)'$@c-yuKƫe7V4E &܊X/Uϋ6x?oFOzuGVܙq ivxn5G*fF<֌T9vDpЯH;jI7`UثWb]v*UowN?3 o';ٿ{f?HݾH3jW0N(WV`$Y땘 +*,,$~SF;֧+ٲ'v@ztb :MFQlG_n+BZnd9AWP9&DAo FOW9͜`ol:f<|J`I v C1 J[r_2ǮXU,߯J ~Ni7>rMn})L1}7gWc"=YI|G wupy5|)?A懯~U~jGTY TxK^Xĺ5ވ:c W},D⽮_|)arvp%2P>(ܼw0EdWh{ ɍJS̈Dj:Ub:fwqs 6V>pi Fߗ>?t3_4gwo,76~hʉ=1 =-v^YC.I}vs˗%TB3M>"ei '9Ay7Ro>W֥SVɩ yL\w&W棯 Qcð߱gDq?{:'D`<\Z?omִA+n,5 LNބI%Z/ٌ棴+~ӳ2ེ?!09 Le15OCrN1rHc^Z:dc͔ɽ ʶpoyy8LB7qa (ь{/c{yќK>lϘnrXEZZFh*"M&y2 Mq,nʩ2g,{I/<)m&x]v*UثWb]v*UثWb]v*Uت~gA&oN/w# !v[=[A.u@9=]?ٸ e)i3s:DUثͫ=IV'm(E$wJsF^7A@2лQJ{9IEc$)Ih@e$RArbHZ["aOVbω]d$"b+)~ )6muUHAܫO0CKM&rşr DtǓNjc/T@"#ow;志6Qy@|:\.QϏ'aii:]"Mz$PDQPbP L#9nI/5?-dl,}kEcU'ִve#hRHG8~}Qy龀r e?|׿,|?b$Wi`挴n; q 0",0t_!y[ z7lc fzʭi>18!ef3ysEu*y=S@%ƙҊQRLQZ &ߞ?*O, }{I%E6O"+v~dym5 ;2^/S+~[n6[0]8r/NQiQɨaZ]<WQa{~%%h^RAlmij|;kI]i4|O)9zt}w>rlm_\gvq,(۶a-Ol"x]v*UثWb]v*UثWb]v*Uت~gA&oN/w# !G4qD䕂Ff4|k" 4@_҇8<.jֆenTPzv+AdϢFQ9DN|.IL'm=˚|W?K_ιVu{M"y\V߰. mgRur4އgvJZҹ潵}y=96zg3(SW|ŴIef,F#W*!Rr6+\ M%b '1͹S1[!$P wpo#ɚM+ai֯՝[kz_Cv˞:hL7???y~ENl\fzy,WL`_@Tn$1'4SS.X>OOy~)}wE4nFIߒ&嘚MpԝNEBkʎ0gƸ܃X8%Њ6idӂ:2R}e8Xοп,4+#1ϗY~$_7S)aǥ՚@|?F&?1`bX5KhV+gh.Pďzdk=ǘd7jh'!}NeWVGPૣ sd?$1`,rH˺]X7m,uy? J{YJ#}*"F7~YtZJS;} 2J;VFdEOڦkڟSKPyojţqIoj;S>_!ALjy/q5?VTa(gHi~~-yR-MR䇕5TO`I\āt{=.Gnhc˿5?gW4d$3_J#Z}ҜV "0ˎ;A8] [ec*zsӴş2G/[ao]+{2X'^2qۊƑh4ZsC._E?m_WR5kou]Bv,YVfbI8A\z8!D( :mˌh--_]~D?xY6創.̿^Ze$FyPӣH+|^ʂ3]V'^ppzi8.*E5[T؉-d[G7?B)4qm.c{MC̾]>]^j1I2] zqB& GCY#Nwk0?*vwbY(꺝ivIR9bxy破)yB^'a>5pdG&@8ZDV=er3:l"xGZ:b|CWE5[T؉-d[G7?B%-h [oJ~IVk^_ sKg '{y( 4eW!LU,XxC%kcI^KDOz< ˭n[|YGSCGxNa` -^(/4h]y{PtSnm}Tc2KQBzl'(vPcc H-:ϙy}Ƴw`d,湼!tG >[ ̍ge BShiLCBFO<.'umU|`6sK oEc&f t욬X@qr7:o*_;w[KgNn=KW k\;?)8J|׊|CQcc/.Go'yɗV^m廻$a2$:4Aqg@{7ac ! ;nv*UثU8M_GfC+tߙz)^IIxG-J$qx0~˴xz\iA> UثWĵ2ցљ/[E(ojDG1uW'I:_▵ݱ=e}/UsjJw>Y#ZPʌ[+1[s1d$Iv+1lTLSĝiEf-CP3(oSQ#1[ĞTljVVze;P;}XgUHeu B7䈔pd BDzYvY؃(?7鷿^.umcNi^\jL! M8(5-{ΗM-q@oVH3\H9??kegoa-6Yu>7=~]k eyk)RLߣg(T,9<>(f9+e_}8dy Bb6m?X׵}'BRt$nDERƃ` N.L)@I ݖ]D0$b9h|?_oͺo/fgGQqmH*yFM_ʚƗAN^XAup)]7fjpcg.Q1 p"˗0e2FQȐ {4%?6|Io0MUk19Xhv1RY@َ͆`9l|CCc Hx4ڙvh)n6eY8]ʟ*ӭa2' bOcOS+?Lw?9e~cͩiyW [^iҮ~ @%=C?`&q߱?Usy7ccK?4ys]Ӝln;(ߤ9{O〗x{S#;|Sir.moU!"K M3=̘RP׶\I/ڄ6wSCn_?G=߃K훯!v}̿4tf@QLHӟ@G}†bz90SMյ= Uu]3XѮҵ`q$RݙA~)! y"& O"?:?-yCl{}SVU1SEzc޾wGƧZ10<{+#tpUхAb9 KG8lxZ1XVJVVȌeQ3b]EmUz͇/w^Yto8IaxVIz~~ԇ1g&iqHHRy|racywݸy^ֵ̿3GycF3y_\Au.I}KFz҅YGjhZg], r=&*̓[O {}_3|g*GʖdmVEծby+#I 糎)ƭoOM1is,}uFoH"-|mvJPX~X稖,jq'r7<W=1}}Hb@LH V%_0AzGˆ5v "KW~Fëȗ^]n.gRdwkh)ćlD%2ϭƶ_*]3GQ}Yg׫yRD<"me!k:_]]sjM=Xnچ㏦&ɿp"<;g*mޔ4]v*'?oۿHH}M8nn?*kef,m~Ë t}y߼7]v*ښ-[rt28,^EOlѐE/MvY]2@:7镘 k\ijUj.4J+"7c)ruc>󇛿8?,|i,'^#aCF` ڍn,|r!QׅI' oC}A?»^֗}.yNt{$hGYB P"sW'[@|,|Y_uϟ>do?+4uq'f}Gn0ZHrO +`)^bN(Wwv#XZGzwݶ"^M]z* e`NeBŪUi4LhzpνûxWՖd;9_$-3Mό9O[z8s~96W+n}?cܿ?M>UלVTRw<p)͈G9<rHO,8>#@fs+W嶻muc.@Ox(y㎠4c49]<19)~7cLf)\r<@cS?گ412ieʗ71FԷ $MJLѝfX' c#qD#K+Ov_ y7w:mZJѝ".44{D? w7P9~]tp~x~q_VY?pmfq\։n+mFsRCj'-x$t -;>qXg_z~Y8k( ג?7hzG).RhӢzv'3A߳ڗ4؁pJ=!}WAN`9)LS:DCL]'_|Z}}e@L#* m - /SG46oY54P oo{[e/'}QAOg旓?/5м/Z7$ 3Zrb@d*8:R' MF -/,&x/m'RE,LUըC+=r)0-DE6&˱d72aBI, GIx^U VכzywN=y]Fty/-:)2RFm#F!*ؿWƷ;@豌uΕ]rKK)} zع}EdF~~;?8@Hk c4b$wޏp\Ǖ&-bSo&6oϨEf mpdKJli}7'3$wJO;ջf#Q@q^t?J4ZBxM׫ief&Ɯ֬W5ݓ <\6 sO],-qQrizƏgê'4};TѡVosZ]~os 7v=)Nx{2N9=&`רUHoc˿a5D7"]wnaO򎉡mk^a6P,sV{qgd̬ oMXq([Ղ%u9 cfNܕa85~GSO/v>W1kwvf6$".qUxzkrQ45<12߼ѷ-2f\1׿5-?>tߖ}kYu}S:֝iBsCmyWtS](ȫ1E`Wyt#1"E|W4/iQy*˚itjQXF-mCGZ8.ҍ&!^`s$'XU(?v_k iLxLh,'֞D-|oaO3skm"-> y\^N+?HG-c>Ɏ}, ˥p}WƁ:8u1!v.^ؑwg?/>|ߍAUtk{SjiWymK gAMwVvnj<&U[P8O#fB:P#}l5{}e)k0i~Us zޡo)y1hh58cOhVS$N0ⱣsgHNV"kz;o{K8Q𮌇σytn>?<+QK]CR-{Ď=;A:MtZ aP9Gj{:5by8ercoox⌠'΍>Dok֓w{_=iMmæZXu,rJbDP&3~02'ۥw÷/O<h}ߧ7kzŧ~WgHie˫G6&m-PGs逓\t#%sK%G1F}XD Ed=Ai2[}>OǟTi^=:avv:_O1cs]v*'?oۿHH}8 SHV4|\j(;QѯC(9@_i;u,݊v*\CIwh1[-QB6%ᘺ?#Tۗўwڤq=f Qe= ҒZuo@ʊ[l#qeRUQxOئD2Joz HTZ`#nij&7!=3(m3jjUVF&`}>֥~tja"~[לt!QI= awJ9n=lϕ??*IMGZkG,sn!_l=OUvY.|k;?!1ėz~(ITҬ*ubO|kcy֏Hp#5G$g>;=d01qyNZ[,!e l3c K}</+Qru7WQԒaߣ_GY@'~Zr^Ȍ< Ͼ`>ҝCz֧w%V xS*OŰ>Hk3[ӡ@ iNe{;H8n? 0jM^yFiQ=+ڙ H@nti@G=f y.K[ydxee;A⿑̏&?N4~ug!-8.B26iٚ%){l1pw._4#fn`ÇɁ˕ &1a`re~ϫr+t\@9~szGے8>_|8W9a?=k7FM~Oi?g.',(.`(9+33Ȅ{^&yTMƭɒ";֠2b,N t?Y-\_-z0]RM=c} OI)n?ga}n+:_i[7.|ưȊd`/a"M6Ghi;=r=/d#+\;).7 If>컺^_xYP~De%5'GK>;n涯,#@cRRĜv^Q)━V}hF$t=Ǧ;nz ^QKt3&pPY&JK9,dǟ{l| TD v(OKqaXSOp&yh4Jo,jPlj؏8ŊeKm==ǹg >\!N=?R"+JZn.<͢j~]n!H^FIloc_^9ULLˍVR&0ˎ/r4xx,rE[i6=T}2;xQ kޣ+42Jr2lϛ8F=(W˓$.yZM[ɭ+UjN3Y x&֟YBЬi;7YnQ^/fQЄombH%ތYQV#b">cq5`m˦+]3M(lk3`#+Eq QM:gɓ;'snX ! a[C;N,)i[8nIn:2aèˆ9ƉF\D~!fӭf-{h!=|c$``$DO1f2ÎR1Cn:Ve36fk7ry4_=J=1J#U\+u]w.U~ݲӤiM i ki2@#hiEB)Qcl;;>w Õ*ķ kvڬH骸>m`9o{㿽# F1h<cOJH 5G+axVPҠrReUvnUc>8ǀD|{ӛ.j:5ޖt]Bt4ׇВ;Qq*PyTV KoVoܜ>;Q[]v*'?oۿL{7zZ%5DD Mobι@i;uӋ?{s#v*Uثw~̿:QS(6xܝ!wqٯj;}ژg{;$y=+G5,C,(W;{e9w&1Ukk_)#'.).( LaI^S*n&p@ִ\ǔtc}.h\ 6J⇓ O `xĖbՏ*E/hT mǧ=]03ֿs[.cRJ/^Lj IL[̟co*̿ZvڣT$ۺ*#<.cO8A{8 q%|u.p7mD\ӟuZG,(H~Aa29ߓK ;WI4>p1WU5Ԑ#j+G/v&dC-}N"\yf#^QgÏC0OÄKX5Zcg(˵TBG[C}o_ pzR^\Co?_Q]nM2)#xu[u3ÄDHr21{tr:,T<`~y!yB!lEjd ]NuQ+ƭ|Oa˦t?"gٱŗnz/?奏;<4ΗKǮUw>/m4j Տ=١a!t~/+yV)E 5x]~#EA~U4I{SU⧳->SBzeMWyjgi??.O/ntEyqCi g[6q/ Pxmhadya|g?{ ;^X惷2J5]dB2& yoʞ^Ki=0̀<]CVfCI/. |=n: |T&]y_,h 6ˣ{ڎ 1o>ys>\QOpW[[qq%?f(1iAKSQ#O֌lR.@|w9Soo"$0X~XV,/Ш[PK[ ^7j &Ci|;gN jr|FP,Rdteee :"S?Ϗʏ8~WmfF2k-B%NUR@KNr1lŐB]OPUד|#yOgO6OQ{w(I59+ Ha: {mI;L׍fW4鱨IߠV?ơ Kr_x^5:>/4G˿,FjHb-ⷿ)3$(hKa8f'Gtx70𝄇Q;)CG[мoommd<,!Sȋ]6Եzr <Wm;;/Ŋ8<_o04Y!aš~QZͅKmu&I^0Ƽ!5]1}i0bW8}ǟ#w8;7)f\pl=1iXilu<ОU6]k>e?^x;=֛ccfʒkigj@[9V|y|"1'qZ w|3ÀC@s{Ǘ6-N?,MCO|Wߗ]E-&kqi}_OzLÐwmv΃[8 H1^?#pn80 Q#<;wHhyt~uMwy]/:_AhlV{BHɼ ko-չ)&AHŸiisjtӔ(ۡeó8̑2Ʒc?^xEƁz.amh4++9V\vU$i|8v.9V8Lb ]F݇ٹ4]s&Qn<_1/ɼ+/o.yJF|py&-Pk]-UFi_Gm;n].l#ٺ&tz:FЌB=0N?|'^y_IN妳HhZ&V(}]X~8Nt'Uy77HQc5M)Hs* Ղ~߿٧'Zak. [f} ?v]Io`l"Hh%M\C(`ٝI>sDccql׽y8=V,8D̄mP,h]MܷR^wg^KEAkƛt/V8sLP# __{iM⁻׷wD1݊md;7~D@ɣz~O^3ľlC) ͘L9;G/W g>8UثWM?f~}Na.VGCͻ[ {GX60FX|WMB>X#%ͫR2 w6 G1kcJNHAޏ sh(CSRnO)X.vڛ<r1=z];\uYgs0˽8ȿ!YD{ɛu ^}잜`"<_C^G)G.x/S4>e6YmvEGC5O^g?M?)94;_ߜ{7忚4+OEfG6V Hʆdmӆٯl0O }QeƫN=b:m8޺^wk?ϕj5tKrŒt"%wjtφ@?f9W*<<םm~bN_sx&&*K-Z{!yؐC S,{W˕ 92ܒzKqޣUZСgh|FݹO{m!#|]Rk?.Y:棪 ۛU{f+ r+'KGښm\gNTnj㮥8q hz| 9˞Vծmz BQ$p$q~YٚSc w?d}'ߛ%|qhAy^H$"F2OˆȔ>>\tzhZ7x/h=éэVyK!'nSe?=Cޙ8-G+) ~9ٷVc>? h;_ߘ^dW|>Ykc,208(Y f<_ڼژC0u}bx,Yӹמ/d5yO5˫<ݥv!7-%Jk{[˧[>fe8z^Iu]cI%|<»SQR g`ɗjvY,G82o&{Ǵv~_ܟ-Rҿ:qyO&5p9{ Ǜ[1ZYDWdW|W?L\t|{cN ػ~ʁ4{~^. ."yv1 .Cz< Ω!P;GN/O]`VGhbkYerXɿ\5Ώ'_^?nG/n42Nn[Υ>ҕԾ1$j 52gh5(G>Tz]M{ 6yPԵOPԮ ܼNIev=Yى'5B3ܹr?Mϙ-cߖ^V,"MCv{#DC`vuQ8?wN6Zi %ntN?Pt+rK6h_(*)ZRF'sIpaU~D.PĒ&T0 _mK1gTޣQ~or?->xYǐ.>{KYc 3#;3tZ ɘb@>WŤS@Oܷ`W:\DX,d{[Pe0Ĩ4ݏFR $69;Nt%9WwQ|4?.g|jZNy__fזue"VΓ[=۪q&9d0籱E-&m-yM4+7P4+ˡq ؼ^XĄIVuCP0d$G^@}\;5O062$|ˡ7N\k~dҶID5K=D7QZ _S Y!9 `)B9c1=䦱5&7m!i9t!gKW1W̌H.g =dXnq䣵 %=̮n!,uAe-w m#C'slE*R#{iyH93<lu~YD~Yե&[ ╚oN@$ӗu`y'SD$k{{OO Y;.Ζ~`F|{ 5*ˤ+^xִ{[/6Zi2_@̚h3VGU7^ -Et-XM.{y65'@#ڏoO=Ѵ:f}p\ׯ4:L]n4"z='cf( "Gӏ#$Y#Qy\ K ?U-u4k,i$hI,غӜ#TWuϾY_K1$ lf?(ry*CRUMFh;7X9r'kJZ5(ÖNGȎ{sٸ.Bǘs8M_GfC;u/1rP?cN>WeXCnq?UeuWF VЃA*Uث~}q2.hW,0o>=qDZ1y?BѬFv<ϵ3.G}E-T0Il):`94<hIL1A2N^h2dA1==>b2K!0k5"e2ۣ('nmcq_1sa܌yb~,ip^jPڠܙ'q wݲz)ear |lɫ(Q|hΡg:š-yU*f1e l CiiHk&;TD#o|FT%.iTIV{+VQk =o'GbFI#E "VH" HH\ڌxd-ˊ&"(U/u%hhWl)x?LQ>/&Gɡ1ẍ ffl,Bbf [AISң6N}4hE`è6d?+EQvak!K)y`ѯi3h5r{<~l;BuG4HXm■o^˞-NMfqGӴaOK_ǫOXigֵ z4-Ag̙y6O6<`}0|Qg hdbT #9]lnI7q\z4󗒠%)"& r~?&0,4,<Ve`Mx~'GSǖ_Qrovi@tXZfjvwֳYjet1ȇٕDHQAZnef5ߒ(Lh`Si a;t/m@_VPnԉrH{k OK^(e~mg}8<('u-1liu댏QO#h F1o ?y-;_?t9> myx ?<(ӠQFZ2Kz^ (b(j+׮Z;,Ղٿ~MDz*в(\wda=?;vnx8Ov9+m83n+zF2OX s|6w@aMnJj/!I<5rƅly)zjÓjDw/h?(1<)bK\AZK2և 2i3G,z}]nhjqrw?%@|kѨ{:|v C:PYkŔ;s_? $byy4.4麽ش3BUxגX7g8Ea#ɿ濔|/O4#I{[֎P+/%[;Hв-T?;Gxf^C\P ,usY?:(5k?8xYw0˒W:ZCeƩ*yDbF&4EQ Zڌs8Em֬ǟbVxcϧNO 9[y(~_ijMi7.ݶwv39Dj41$NoFg @cι^ǒ][kZiaTI he^9Hݑԫ)*#5Z}FM>AGvYC>3byG-%Fm a͠HLM0^$CZ`62G9B`Qy3bGgv@ig8c\Q=A^˳$EdžC{QNw.l瓯4=.8t[.-mt:9}8b2܃rgj/4xؾj})ιbQvGpƑEcF*a)Hܻlt6?.a֦m< 5"RZE5đ)qV9n2@BthēR᪳T;$e  :ة~cy^w5MU%h<}΢/GX.噒ƹ~exC1Y܎㛏݅O# b{Ic!|ѨyQ 6yfi:-vvml㾜s1nAPy=6<(_ hs}z3xb++iƉ:[C %=3HI}k6E+V60b1;I0fB>EN`v+oIygCy֙wkm%,[.8hP$UX!u*}\6 >d$?ǟ67?#*,֡ey]D-O4M@vnoM}>E>jrGG=3\'b_T`H_VTn@]hEuK ǎyk`{34y=B SRSƙ csLMjV1tg.?Xc˄uoElaoe{ۣw&qi+Q,u OD ̒ ǖןz*uFU0\iz43}bk+Iq((Mug3:Z1HG1wyooa룥027ʪou/+?6oyVgeMwQ鬖 4=Ba{6acя#GU.-T}y= {!86<ŤM'M!WQq[F :k5F8wŏkt9:]8]d:>jSNXAZ{vN^뱻"^?-|'Q9#ySo?-kSHv>+Xn՘Shc /埖7\=h`{O?-|=hk= ]E僷5 cqA妁d-ۙY|=4 /Wp0K-~u-FPu.ׁo_Gɭɠ<@esᤆ2wWܾ/+^Z=Ē"V!H9lÌDnEX̒K_SqgA"*'ƥ>D:yS?[usx;}Zi~IO]C[߀"z=-n,rP#D}{idǖL?X?c#= ߀ɍ3B_o殐4mSFM6kjx8i>>FO #aͼrzz2<'ȎD;Z~XO=4 __#YMs,K{^ږ3'rc'[]ٸX$f'6zo>oyN4X7mxFBo\z}:$3(\-_mBC:^(ILˋfrۚ;_'PӴ.u BxFy%V hRYr}Fke$`@ٲ ?-"-Zu lG"sjXasOyy#^GGQ,lP?jX@cj2L0廳>{3n9=A:>Hч}Inػ߯XԿ5QFYyuo/ |uvNq#c,b,7?νߕ_/0//3y̢&K.H0hRz ,fQ>aDrpˑ~h:M "ܹ$n3˫ U==69 W_LZ??x]v*UثWb]v*UثWb]v*Uث+9<(7E[HHf%+NPcO/W˙_~]벵OŮb>7 pviCYi8:>|-H!~V](ZI{8k \K$:p״~(i~:Z3:??_#3ɻs靏"mlw#TqGYf$;uJR4}ʹMZQT}QeD(m3 ~̆r(Jy:ג#u%K+p# 8fh]RNt}e K +~t=xu9c,yHWNV ׹?ӿ?9dlSO,s3}+ȐFE6¬ s oDu?<}:#rq\ѭ?/埓ŧH$$F}ƒo{158?yO8$k~/8'{h2h]9/_K4e!^уH:r=FBYe!oznNd1F' .7mX{<;ތAyMQ햏gܻMO~IszJ_:$hjiM@ H(k5LdU:}o87W!?)43O-yt2AeL #["I6=λٿd4Ayx;{l8 u&z#>:w׿"*4 sizƹkyrR!y$eVN{)"|bugMpwrs^WյRʓOQg&$bjcci7|~+I8m3 ɷ\@fu 顸k3A'$Ky阺Oc2F} Jy~z皿0[,iVKq0t,o ZmOOu*$l|;۝ ~7G~gb_'?ƽW~Y\0[6UX䶬^KgRi5!9=HMOWwO1_yU_'zYS1 h`H7YAŐ =^;1ɏϯ#䋿.Ǡ^\XƺOڰW%;Yfy?o{A2Om޹?]:v4y|JiFS) sqf'e9`a H>_˪Okvk2Bha( )tWV 7 t7[yiUygii^Bs(xU(5C+) a" Ϟmzǖ&Qo'SQ+O˗ǖՠ}HӿvjVTOoI?\=O.\i߇њO[]ӷP߉ҟx]v*UثWb]v*UثWb]v*Uث_'|{{2qÿ??_ ̴隮x8Qo{9'}7d prvYKGY+|b! N֠@DGcK09켱[QՕSm}D;6uI<ԕeCqw8Մީu$ZT%dGTzrژGgdVM/:rN7r᠕nUGic.Hn[.wcwHnV"3(8y;;$FԻ2};o5k j]j=3|Re/ꯇ\x]v*UثWb]v*UثWb]v*Uث*o_3)|ooGfC7Vv\, _M,5 d&(OцᔀAThx##ؿoM?z>{lbJjv%Dv$[{gfk(yKKIX!tw3b-ߛX3,a^CӑO$PaMVhc9+hxbap,Kd:Z&Ͻ!܎X _-j^"eG-'-5&K +6_MG+81V~(2'OC|+@(u>;KGɞne.w]j66 R{ am}FX}R y٣> r9mI?w<(ygA?д+ls$ 7NjԝO9B |y:uRgi'q''c&x1=X䟿<{tc$ }KYZCT^EӾyf%ƳۡtɎw!$󎌿>eǫY@?[-;tˇej='-LiC~ZG-&qAI DZځ'oZ; aP*gW;h+JV4x]v*UثWb]v*UثWb]v*Uثdo2yAI6d_3V:nvG vV }-l$8xu3+He3𘾱-0%SƖ(meYKi EY,$RsнM?]>|O6:#,>}~g>xUPЌU_hOof6?/3jLQK"z pA,GȌn@VQpRgkG>"VпYk1K膔+835ϋȕXY+q1fGFBxT\mp:6j[H*etlۺl{|hJFO,R Pr~JuF0}8a9gwKkS%ckmV.Sa]'غ=795Lz1<c>\n?Y=gC=&X~s(.&@ď+2w<{=a ԻJ'1oϒmx_ʒOu悗kǵOsQޗKz={ý-%B7{esQޗȩrj=;/ũMr~MgoFZ;Oɬz&pi޹`0yAQ僴tPt&;J,],A$3yBe$oOA\(0: !W3C$3Jz]z'C%􊣮&;F#$3yN&;Fj +-Lv;؝ w2@_:%iu2M/ֿ-/7^껱ʸįK4[R~zWv?Ww[_1oR?*/n yK/_W]\?W_o)|qKJ[K-/7^?wcp_ai~/++l?M/𷔿߾bޥexUݏU%-__Կ껱ʸįK4[R~zWv?Ww[_1oR?*/n yK/_W]\?W_o)|qKJ[K-/7^?wcp_ai~/++l?M/𷔿߾bޥexUݏU%-__Կ껱ʸįK4[R~zWv?Ww[_1oR?*/n yK/_W]\?W_^@ŔsnLKqO=G5ˣOW<{~b Q682'(_?3RMWIHf%qeaIuͤ+j:i y6An8~5wf ۨͣ$Spr*_#[yVV+jEHRwiImc\Fc{۝=#=ߩFtNثL7%:~lh\]gVܨ#j嘓y?i'.=7`G<=v_{qr+%>,ݽȇv4-?ns^×1H*]iXw7Gzkz|.?oc&\GNzyv(G`?4:Ld97C(i@bo/4j` ާ4:qgRK+Urz|MͨXr2ըY&j1O~~YyZ'mJ-\+ƅ>:,zhb=GGy/*νڒ-\`Nú#s{TH&a#`Hqgq{3܆[A1`e$$8l<  ⸥M2( 5`k1(i!2bAC< KT;@p~3`BcSɋ`HC!ZO,w%;}a ~19]B288,eUD-KYPo2c br3j žLa,(PkkM~;OHaAʢ&*]-H&>*VU deCP^@̳DcxBc !^T;o) ڈ +*cwVB)=i=XG8'.iwi_M6e"KkYU$ ^{(tځ1?Oom}<uo'Β^+SU䱴4j-e4ބH_&s)xX#(n_R,ҌR7 -#a4X惓:Gꦀ_<_cuSK_^I4/eIꦀ^6}hck:]79\4ڎhG5}7i &?& Z4k:$oN,xw09}Rɖ `sI ڝۓZi(>vUa" M|aJqߞHaJŽ1cH x1cE7!,|I(5iɌQbrIHx^XPk[|&eEn+ѷɌQAQ7{( aJq3sqݛqsl0EEZlxbERcfDŽ-s6q_xϪ];>_%j:0|Ӧ~aϣCTl[LVK8gwxee#?=M ae3 .-'j mu#V8~gfSC^Yǘ-wCmTԵ%3X[׹whzEq> 2"'<~gP r?ǟO3W_k[E棩_j奼XӦ>de BVGa:1hMDytn탛&OJ^*(s_q_펫\<=ߕ5I|yʖOsص.i*\F%T=tO'&2mwdNo {J2F#r+kK*'Gq}g@7^Eϕu fKk!k&i$8 fZ/lÇ{o$#ڨn6ؒ. 2.ℤH}˩dZ9_\jUkKz~NH`t&\KK}4D$p*M}J;KLq:'7Rې{f&3c'$,|@U|=\ܿ]Z Gm-mJ&YF_kS |ũPc|s7GWO)J*NLk:5!Mzih\Aq躾dp H8K`H>}j08xyA֙iBx ^ck| sOӼ%womcԏ~xMƣjOB8]KAhc=^|'qz([<,{:yrܞ(j1wVt{s^_o[5'iWsWQ{h|mqb9/"q0+j#(DUDԪo`g!w!q]w@hk>&%IJ3Z\G3$1l^T#g%0pԎ_a&oO}ȼr݊v*UثWb]wcq+?ooGfC8 ;.44E1IItpCEt .2H$ŠVGCţTDd~Rּm3^Nm#KV)V)jzO@9)vfQ\R>#vlGH?g~2[r7I6V'1tyS9VLwXW{f5R?Wϖu=}c'^ro߯fn++)J }dbsa]G{_eCez?RN@sDz&Ri<6Rsf94ctI#lc1Ҟ!᪏ xG`}|Op936} #)ًdxqqR|oEƃ勈ׇsܣ w~ObNc^q.H7]ǵ~֌BZ],\1='秿@: gZVWUt`2:B*yQ06LF|(tzvs9[\ۡ?{n/$+ν6^HG*Pڦ~D2gֶ> w&=V6Lqw&=g\"QsXȩguUQ'1J` (h)gm$GqCCQ *7dLHw!X[ō?q~1m?#O,몢+/c6QBCE5 np#@#,O#ccYZZe}ek" 8r!*hsaАAwsϗ%,3~S[S;ڝ EF]wrQf=G~Ry+kQKw';Ye{- o6;+$t&2|i8V}[X$k2ji~9M1 _̏toU9sqt)ߔ ~[T}De-_) q!Q&"   Jn!H*T'cJҁ&MTXY0ĭ@~8ڕ~Q.0D3"‹XeO.Lj(( m4}9D2 dp2|%Piڙ! eN}!=Gs>=%SC"j`R.#$-g4XxYlF_>ƽM]ň5*[ZA;_LKI9 +'$&E>ˎ F?bg~h,yilڟ]],?UVh1SL9+鮼·:ja|O?1]w>kՄay'V9cvIDlW`ƙ :C'Dy4P9{O-W_:g$~\@fw(U"ԒiL˿8"# iwW"E%cY 6?xN g=z+q[F~9q_wN{w%Qo+iGM[]./ah=k_T% WV.3w۹24KB F~exwf8v|2J/hwO6XI*Lczp(䱴tُȌy#(8W {]uo~O~)z.M8q}5"F:2=ym%݋ޯۛt NH$DA)~nVssI[|)c˯::mŪ=ޢo8PfUZWY(|ad`Fk7+NTHg+$R%C?T|5sW[w_Ta7QY?Izžï//jw߽GtsD42N 4atH+X- *jjLd Ɍ!~d*fUثUjz7XI{$PЗ/U<3Ikcr(9 fd1[Z\#1g9鱞Zⵈg=KxtTo8#v, #z oGlb>??TG~_}6u2x灾"&<3/ ~n~n~D\I7~r;KuIHfF #b{WzLw N4{7˽Ebӿ8\jE[]WIr+ȅ U4RSh=~c{w>}/O:H_.2.k.d @n- Yfdéq<)]<:\x-Ͽ߅Ƈ\jQ?Ѹ} }K_jiG1#U/@]~RLW^a) ^Bu_VC^4d˗=`Xcߔq:4`Us^}# ?k17p"^?e?䗔T/N?TIoy$D>2/$5:)'GIestHuZj{OSio5 98Me-X-c?%@[ Gj~D/j4G`cNsA[}OO#ϾdE~Fuv8xDi{@pCv;7=܇?cߚνgR?;WRK$$vƳH/Aܙ* P{/*-,&^RlH9ɴ^EؑǼͤ<{隶qޙ$SBԏ3K3b2đ loE&3BE>+7y~v֧ey_I}[*Rv ŷ.$~M҉JB9+xyvڍ12//?1E%9{Ef/mT$dj(((Fp2{(kQm(֣`]LX#Fs+걎9 Uv {2=?8e6쬃h=”ʻۆSC׾ksv#?bN_QzViXyv9\q|p]6'ՑS4>L;Ha9'TQ㘵Gvh9bȚ屐`bXwUG\8: (//!tIHkgj⋃f2[@*}`s 5>hk0( -e= FZaQr0`Poaġ )N1 Ăhd91 ġ" &$JrBaPhu910Ĩ4O LJ@ǹɉ11Qx_$&# xJB$$\uG R0?q<%cB!$wK#~$&ĎU#$ˠ;}䟞^$J qxS xm['ӸWx]v*UثWb]v*UثWb]v*Uت9 &&yE#;_/_EF7sG]W Zf c9":֛#0irQraY%4_=o湐brm5?T:\o_DCJxn' e~Qвq\bO Se= aŭq$'R}'E !#y(h2\gHw(ĺXM,K[fLsWR #ƧF~]"žҮ~XlU(y&7|&\8Vx՘*&)5Щ|A2bPi  yK )>$bJU_|0B;.L5t#Q]X ̇W& 8)ɂ(ɉ1!Es \EoXc¢i4ɉ&* n HLw1Q6^11DŽ42HH11*- ɉ&+ O ?MaE)f`l#Suq#4eEJ8DBWq#5Q9|{T ۾]K g$pW^x)i1xT?Džg+Ja^x^ '~DnB }JV]5+#K1o>M7}> r;$>IoͿ)gh7go$򯗵0I]ݾu 2*eP0xj2dCQLO`.nHL  ^Lb:w|=GVԾNЭ+{)bii5(֕ PR.sJQ&u;sL~8)X/Y2 oE ]П;^mb"Ii,ks"FDў7_'fa HuChheOADNB'OmVݭൻxZ[DFj!Pת6FR1L4y_+ۯŞ1j A$X\~}l~akZe/y/ͷQCIqf+kHSOӞw&=>Vi^q r˖"B1Er}t,{j"be,GyZ˻*u?͙uK-/L{:P^{47sH$pxrb˧xD.Z2:<۳~^ŏcJ]-+LIwOy,-u[4W/7;GC<0${-Y2D]^Vb󦿬y'U_A^CZ ?\leԬэ棣LTR*4adlrnay[m.1= ǖ1w߿v`U͞ y#Ft[4M%Υ\$Ԕx 'ԑ"B~'p*+0ӌr'+@wc61˝w2{Ouws$SMkqѼ2,HѺr*A φXrJE"-1J-3voZukyhj6W/.Я4 3v{&Ej͋QP"Q"'`Kز`I ֪#>v@)Y l?r~bè,WQTIФތnrc{ ?1 v5_x>R"ʲӵ}#̾mя.kW)g}uzt )5a B U>ibHU8XĐg/!A4QL%Ep)GhhA HwQ6Uȥث_8M=8d/dI\ջF_fKY, $HRF4̱sH*.|?)p,;5D&Ώs1z,yR+Gs`O 'uksn\S&48:G-L[}(*=vNZRsNg6މOJynRv [E^qd;FJS\heڡ'<[6u4%D~it~`lPuxl6~`F,7#D݃SLQklR7%19HW%hOL< Ʒ xQİ6Z('xQkKzm֗0-i JaU*'+b@|jTxt[S vh2zL441U(뒍&S3 N/2#TC}++>SE2\hGç$tf@~K1, Z`Oc§}8_xQUj}k?4嶼FCA4 #@PjWG2^RIzHUUh0=NHd>>g!xK0˘yrvWhW[̆mSUuOOs55s%ٛjje9ȔC*Q1gicANǞ|gcV/2y[6֭ob$w ZCpHGfu< ښP8HP#b6f9{7Kq(ܣTlܷu󮭨M}w-ݼvwO2Z=(`fT%4QysdQ~>NV,F#gnO1yi[_)\[,YkZr\jٓ]VǎdDG |}GfF:qY{뺎eyoNnm<5A4u_YNVphɯ|;OQ Jb™OK0cw:Qo}JVh:?FZԹ"6qK4C]ij}#x+#[,]VOoG=ƫ~Լ YΡ7Ae%O5Ē+=DMaZCAjWvQ+{iZ%"w9T5pvl^u|%Zl+irFZC;#4dww;1bI$ԜQ&|y n`!QǙ{`h [O3j֥j0AlDYB0UL,$ت{ .x0B3crWXy`7#wAEBJ/J`kj9Lyo׼lYG4,B\ZtgS0Gy5LjHG$~cRTef`UUD{e#M՞}v"a8PH"fv SHȒz)S"b~W? Q6{{2qÿ??_ ɺf;fDfõ rmccRSn36<2oE6=uia ;r6ʐr#|?^'ƽ P (\(|$G^[`Ҳ IfWTR}9OriT,`y@}$[*2&@J}2;eNpnePz,-xVJDIWKZ8FQ($ *yMijFrHYC).qC_DZN6ޮv5y`u}?Ozi9HCRD@l?r]jA( nUT! V;;r-'u/ɟ9s:_mR.c̋ɨ\}I{{^EHV$Bis%}Ϗ$2QmQ;G3%/ e̞DoCt??at(CyƯy=-7Fl'ye;0@!UW,e3gDcQIôK>9c(Xq\.oyf=3ri:6Wiv>WKDž.oZ̶dPTjH8n3 C!.w\D&1e 9'AOm>T4n-KaWl = Ku sb@w-,<}˥㔀4lߨND:}1[KUbpD,PI"eЏyuaAkAen=+N:&ӥmmoRn=EV4F<-^ixR;#f]fs1<șm~/[ b}zu;\tK>ƯAoewm=S^Vr\Qqnytf|^vl~bz)SbMPlWp0_7Aq{{FN(FЊ#N=>?#yC/8m<y1hL6Uf2sJ>(#k;3N4I7"oz<3LOq+#:t韑V{>h^GԴ0꺎c!4i4_O%28PzҜWBn22~]tݣk,Mj$xO}>u'4O2yVl.iBdYK]n?FsrvӡxYb6m8$8b߯koNşQ4%"vۂ;_|~[y{˺zo54j;/GK`9y8UxIc;kk;w U(WvNBMZvUfV+41Wo;C2mo.E)B<{خu99/+-sOЬ4?3>eM jf ˭KO3M-HOLȬQ̮x*2 ._vi׼yUDR:K?K 6w>GzO +دIb $H$6d*kiƗHP4[ž/3G?'vE/mVߧH?+9Kayg:\qDZrϬeA:uX45 @@RP2{[V6xiD"=MoI@&>?(bWI$5HNE2J[w&Iɖe_T+x{ulhB8Ȇ9WzCyɚ㯕ʷSy? %ơ+Z?Pe<@̆Jt81䭦xVOxŞR5C`uҼo_$ip^ . qO5ˤ Nř vsTpd p@W}u8͏_uW/W揖c^m?Z~层+e%Ԯ.>RՂ"`}Kb<@"_I۠7aOrB\9 ČyTR4>rմo(?A\_YiZi>\Ҭ,܉%.>jW$82jX c'ުr͏KD#so/byA{ivZ,-;YLVқMq<}DʫybGéÍs#魹G`r1KTl=ʶI<<iǝo0oͬzIӭY]c?Tҫ($h65y)z?i:[5k\ ҪCrܜc.(=_>WFD w >G jZvxeYϏY k72yO5E']je<'fi?.r!0A4L_=?g7'[bp$2 5S}IyiW?|qig41-偸\SԥV@m ##L- {2|"rOs$~r lBNŚ|?;o4"]^V &bs"C64Zx5 x?8ֲD0{}g,8\"s]q+vuW$AQmfpw2 <=׷ɯ‡ J 3ySof5TۛV?ѡX Tu]r䈉=ՇC.^Qi`ayyrb*+ޙ24y, ,.[xRIHR9)J?EzfHIr,kiohS1eϋ瓞i"Mwc P_pillct;Xcx(*e5܈xr̊$]{|(lSYn.Mn'^COӄ圀-{1$'Ez#IxYG<:w|kbӭY_BfE၈?w0^hР<_!Qo=;ƤHG3BUeC[2f|CG_yJu-Oʺe\g\\[b!<1D0uHneDۿ̈́ue#0Hw4SXbo)Kj/3^Z] [-IeeA1t~d9quF]ώ<#kV\wھy7Y5//-u>igOdbF)-|a &8J` r$w_yt_.yCW׼#mG++э3Ԯè#-x00 rc(7o.iƿ]wEmԯl.!3pG@ uB%e@a^T̺Z5- x׏* )c?cG8+p c74CDԯ}Z]?U{mFaX&Nv r)GBۏ$rDJ&G>v&MWNͅW1\_32([p9ʂ|F[=hp@??sT5xg0xy޾zfsP~gNKe2݇_B"/g J!FϹa8`<͊[Yh6^`MhI-`(:[W&ˤ9qդ5C5(Eco[ eNCqpEEz.,x# }NLP*`-Z x-aPDQUU<BsɔԲD@EWb]''oǷ';ٟ 8SKT ղ*c7O'3q8yJ V\̞)&,:{&Y;#uK޷C2 }蔇It,މXc]ߐ2 ]zި]YGz!b?@7s.]=24geX{YhxRԜɟTz rYч{2h_Կ<9f xsw-qGqܷ> ŏs`܎' s+DYy!W&Oɓ)c1/_̜:s5O%0۽GQqʪ!J?͞<8R XD8O9ak*Yo9BVp |pExYCHo|}ojQZZ-+ mMQ.nL&_82h si&5sBrck)3.ľ{k~n癿/|iˋCP Wq{jҋ̋,UrMr:hf'.} QxN'j-ìy'/Xӭ<"m,[c37ʉ.$ ?Ǘ&XJ2g;GNg1f&n&Xm/þ?4_\$-uٿ-곲;0JdYՁT EA>N(/~G'?b,3CryE՚yC:=?^s.wM4JP!K&nRn`. $U9ބP˟Ïd7rKv,㦖<>Xcym宧yYӵ._QM5{q($'` cL΢TBFQ5Dgvx4ф"Eǻ'?q|{\iRm?,5;Oʚn6cKY`M*G |Eʔj=9pc1q2FaY$N&$V/_1BI`B|D^M\%w'u v~Rן/:he%؊1?NJ2"q[3Ꚇiwo+w|_j1N 1FܛNJpmqVjXU)w*M- RJ@EN&@&Z[Q+9{" ((_6J{$-<~.ԮVY vbcҙ~ |r3]#@^G5'yH@Yq$+ * ~zk3j%aoSBE3%LNbJbp-xYΗaʰ岊V&:E܅Ե{;XZ)|@7=ǟs1!cȇU:r;JT}ߓCR]jq{k-NNHOԭ$v ^-U.FeI GVȃd`S<<)3Cx}u)v| Gf#}PAi3sN3McN֮4ytimB99"#,(I[V 9gˊy(#ݷ]OoaŖ:}Fu_u8eQ}H ZmRZ\N3Į`yUcO< ϥ.n$˭uoL~vҼq}s&եz@D(UUZB8 vT棳tcW8.}?{CTte _w^LnSlit :WV-Ek(,m“JiB$fC,N9˭ucP \{W;گdߖZ7?(u;2ʺt:Ͷi3pd&=hVUX '3 Xc\ŎCS %|ԎH#.w:XC^.53N.i"KlPԥDa B<}ya˲tCRg2G_yC g·DՏu/|3EGipjXy!_)Mԥ43&duW%jB4=>Z^w:p;=.R]?6ל)6j&{idYS-i5-Җ(#_EK4i>`$C(pTvp B*KX2vNc[X%6WMQVIr>#QƼ} PrNy~oy;^^&rw4G#w-lr`/˭;N$R'}2Kce˗bRO›q3D|Hq{_.tb{ZXDpNWNo#SJ?4,WNΑfOVm^MWK[Ƞ& FK0J[ cЍ!v/$zqUcjq3C\jp/6Rݭ]I'~ ^IJٹzF{q3])8fH;M}ϦVUӬ}Jkk0A-΋vD V ,l秆pfA\}?kXJF ُ1{*lv*9<M=8d/lWl[%A]ִ^<$}Ȁf U4)={NtJ˧5vQ9 JLrEᗄU!]? ޔ5~d2 ћzOʠG)H2 ,"F/Ƿ|5|qQF(rCRB} -xHxX5LNk k`qR(FO,x@v5wՀ5>xx贈47zxPƼ }O|[%ҭ/5qEviu2zjԕX^Қuk$[$WolurH 7]4x#M GP!?,[[midksmq LP$FQjgQfR76nQ#!ÂpN…wB _QvS߷mmxs.wn} f4t8l0H#X}Dq"%e *'-NYOFUWf_fx@:Wϗ]\i6S}a$}a3ĩسI' ˻ݰe!F C3ťį4}cngnROjrKO$<#@''oǷ';ٟOL;rؖ1œz3W31dbvwq*a.75.]߃ܟRdLd/S(t]z{}]Ȟ=pC4 ߽pZwz.OqOp]99O|K+|1*1qoAEZae@Ǎ+ g] @/ᇍ+}~\g I)V58d +KEm%-!iu-9ŭʙkwXA];:Y5O$`(.{Ȗ,y !}?^K':yCO,ïgwRӴ/k΀]KGsC/(j/fdS8sfmcn?x#3 cgz;y9*k GAu6[hEmfO.{tȏ,tTQ#6j @F`ޠ{wU,2Ȓb*t@?үD;yn8[ĚeJtRK-O/X:[IenBy eqoήF:0rG=wo׵45ɃJ4Y$ZfvP+Zլ=^Ck( ̑¢k?s{z}> A$[OEɂ2 ;᝷#}쇛ˑ_y0w?66zdE/${Ǽd,M0BёF:sslJNܻ(2<<&p$K(l9Gv*Uث9|U=8d??_ E3OnʔܷL &^ s\忙k_(|2˪.JN?]J`.h7]pјTl0~e.3xT.h+]7u!.W~cŌ\]qBFWA?O%c;7N# %/[t6 ocxя4t'|`#oCV݃)oml2Ckv+vΒ>_wAc]%}?0Dk E?~`/Vm2w臭xd//`/]%p|Hzp`#+~a\?kC'!.Z'~d#壣Hg!.P^]=6cMlxy5N;g_Ӌ_*Ah.:§1v̲ZF? !?+G_l#RtogOB\x]v*UثWb]v*UثWb]v*Uت0@z(*# Z1ÿ=/% !ۃA42Nm4吊k㘹3 6;v=\W2aܙ/ݔdۆ=ʣ˶Dd?;>_r?e_Ͻ)ʿv?zV=Q`X5Dz9>~V=Y_ǹ~?zV=mh6v?z?+An]aPPܻaP1_AE1T5 ?e* ?e* ?e* ?e* ?e*0l僿A 6Wߠ?+`DA?,"44t5i,E)aYоHC{ 4k i,KfBS4k#/|0ikQ~ aUiOm[~هkW~o1U-?G@1Yߠq, 8wq*q?*x]v*UثWb]v*UثWb]v*Uت+N5&KL*t2)o>?[φ*|1W|w|1CG{}<1V?oL*k]b1V?oLU&*w ]b1V?oLU&*=(hZekOoť߼xw=;~-]o'ߋW~I߼x[;~-?OߋVyOoţw~'ߋ]$k;~-wSyOoŮh۝G)lD(kF\-:ijzb:*LuߕD9Wl~Un_ºN[hU 䶷m[ޥʭH"GJe므O6Ia%Pr߫IM3îIp,r3 2kjnv3Sy{y4u,Ђ5JH'L7PG-TWmXg]R@; kV$Uj:7%:#U./usr/vac/html/zh_CN/doc/compiler/images/cupreced.gifm$GIF87ab+3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3f (((555CCCPPP]]]kkkxxx ,b+H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵksAdӆ kVےm+@vfīw&߾i&*@ÆF-cf]FN$6G.yVXogK+G褓^9\6ޡF+sv߭{{^Φ߬/Sؾ;\n+;rM6vnNI,s}^fkwn!{>s> |F:}ˋ(~+Lk_j(Ư+$=סY 5pF)8/Pt$l E&bl'̡Mj8-M:H"NLjHLö%:PH*ZX̢.z` H2hL;8 kW$j:7%:#./usr/vac/html/zh_CN/doc/compiler/images/custmap.gifm$GIF87aW63f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3f (((555CCCPPP]]]kkkxxx ,W6H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵ`v pRD^Ӫ][,A(waݸs;@|#>xwpÈVncam@ #;|h%aiv9_YװՖ նqkok=nsrñK:Yy9;n:oկoN9yȡ#/>??k_&hg|Zߎ hgmh頱zr]iߪ]mt3+:^wAۖw&{.wj "{>*^h(9X)UJ*v;.k!D)KiK,mڨWk,}ֳ&ý釰,!6+CWo+Fjgzˆ=hmjg,Ƭg[&Ȧ~\#r77.P }Å2)Fg<0~-OGM.So!l}3693Sn{-n'7G.Wngɜw砇.褗n皧>VeP봃zw{{5oJ_̓7z'փG/=HJ2=Lo//>o>][Ͼ%E(^K]; *nӝOdN'hMq Q2hr&Hс 'CpͻbtCe= ~'"q?4b&*uH*ZdOD-fz-'ƹq;ƒ!Nmt28rvcWuk\ AoVĊ>H$gl SB8BJro[,% ا z T[G&2镰H&1W"0@41I dzQ3UN&)njz Kq OA9Mtv:Ncγ=g퓟 4=( K0 Ȃ֓ilWPk:,͏( fOf\hGG)MMiGщQɱ1LZjoT/ 51$ oRV]Sլ^U]WC_<+Z/7wm-[Ϻ+\ժW򵯐+Ŀְa kc# NXIڔj8=b=K>"p%N-jsh_r=mo&fINB,r徉8n?vXz{V©e^P![k4W ժf5Ӥxh{35[q"3ҰTug%nJw,3$*,֪9/LsU/dZ ߼VDl~C.T F+@σ3kEX7H1֫[v`J_45GB!j;熶JRs`rn&SӛbXل &鈼.ol*ID~k]Ypϔ.RغLi%5}KoteO&պ}5+Y?϶NОg\?׾v -^oؿū!{P.mzMþvbZm/n"ýn̸EE3g\`|-*$ŲF5zt1z~R\w}/X^5;UG~ tזO_W,oj7;}y䰅Uu`?~g~ b܇?RjWs661(SK>Z"w׵/e/3^r 7Q!fBavocǀ8i%&KQD}'&&vIs5Q&T"ubx =7}.8NH0M1vW^@h5'It 2j|3KBDaW'4kX*G~duH'[v8so%#Bx8jbO68 #kg@4 cw0Dp2GfKxBmR`t|з^BV>|P%7>(fBqvxfrx-CKTuçn}_lf4Sg{Hc\[F?H]H祀2M۸`|4{g]؍x3v3w0`A-<\XՁ֏RSezyyun Ps!udJuF8c]H4 Mht i5>@8p,g+1HEywJD!TrP׈,iԑ+!a#b2v):qA }{ӊ7(ycH3؅7wÑV9Ҷvg;dwp'yrYhCB,eT~IY8ThG՘)jJ:ix ɏg'יiLI+XywٗmWsrndwSvoä}[Qop|gMu:!pD6p np;]feBc8vd(9bؕ;Y]4y~?dL/8\8eR=ȏO0W-~fKfiչ$=i .艠VHAaՄ px4K)e|A@gR*hpTʗ/Z2Axk۩h՜PF9)=:ӧFJwJuN %SJW g^AE`tavRZ j mj&Xjt:vztzZNZڧiNE:(Ĩ9_yZ/jzZw(|Gzʞhwhg|U(ݖs٫_^㇁ ؔjOI百9Zlv1m؇:uS*Jǎr*Ү78+٭6~8"8,8Xa- (c8`8Z}ۢ+D{.vڬn# Z4zUSI ʬۉ//w%ʱb+ 9f.b^K@nDz<iF|2Ň:5+h@]ڪ8Z܂qy5?J` z$I:[Tk5>b!`*Ɇfe[yخv'x{w*Ȱ+_?8X,7hE誷fj^@L;C:7tJm;#zJ{[tӼ-3[na镐 )-ss8۾,mEi")5A(ۉeֻw{4H5iuق˦2yuKTviRYܦ F5Ib;sZ~.܇~&xH[K><)cv;2{GL@PKKPR>e=eXgi嘟LiZleeGumgn[g(o`psng .&秠*jꩨ*[꫰*무j뭸뮼+k 6F[wVkfvD*On.c{R9z HToG6`o  M 7WlgE٣{in}msxm:'-5;)kj%Bzfq/o觯fjhyU&!NstZXةr]2ʌ ¹EDCZ&>  j1Gء pQ@h#t(lԢV:jl O<ܓ.B ^O Cƞ:΅)oFC&z.b8ɇd" &|h$M+?Ҁi]m8ÁK#}ֳ%r$'IJwCW$LZjӸO0 hy9#X8,GWKݲ1#-eK]0uY̌S0̋=3^2XMkʴ5yq%%97fβ\g)pR/k)LqⓋc)ILWyg=%2(3iP!.%j`U CaQ*:ZjSMS!Ӧheg\b 0i][n`:*AY%Um!ͳ-~Ur6ս[W7hA{p{7iđ=Gm͏^ƕ!hI5\&xYypT&9E9qd<{z+h:HOҳ%uQ)vJLui-V8L`2Ljݺh`Ĭ]΂$8SuqT"?ТR9XK:g<7{GOқOW;UZ kY$j:7%:#./usr/vac/html/zh_CN/doc/compiler/images/ncbitsiz.gifm$GIF87a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S˖<|IS? qfA+ JQ5y T 4fRJ6%ӁUF j;KSڬbɆLEv\p˶੄vd"_xϾ:՞V=}6dOQyӰYG~s2V%a`veTkWUo{wiRmӾ;}!}WܹX8 i&cQ2G նw-g&N?z W_eujVdVTgramLUb17&ch4!h7~a v&`mv9Vb/vۈȁW#uA6;g$f@ؒDZ*Ysۭ%j"7S.首lxk*sfm%{=أeq.z}liLe&f:WHSۥܙfjƥpV)%ypeug^njG㧬"ؤ]9Y듏~(i&+Z9)rK+k,l' 7G,Wlgw $l(2Ѯ0,s!L"\ޕ\@׼9ϽZgt^A R-P+G;X3Wbz-vZTud/F5jg=v6͒ܭ}" wssfnf-gрw{um#Z`kSo*q{,:yڡ^9~AN:QҊka ^se:qBʻ ީy^-}柿g3S?+&9/H#^W#ۅiX :1.F8%C"^Ɏ $@p{)iQAѥ/znHo3ܡBP4Y'D2 lb/8D { iDAz"Czj2`MEn}]Xyv#7E0эu#8Љ8LÔG=M|FGj,WCNhp)"(Q\^'Ubq*Ur6|,YYe+1WJ`җ-I\>Qń&2C Kirq<59S.\16)Ng&\':]r~Sp|.ItNrf @JЂ%BІ:D'JъZͨF7юz HGJҒ(MJWҖtY#c,˝L]fjAvaOT1%\3O|t^$$y ɝvUFdtt\Bj3%+ i/<ꘞ*.RI)W*Քe\#XNTkm OʒkQ*k}RʣU9"vYY` {πh!fAuцn48 iFOt/=i j_\{i}ә&tuQ:իWoMUz^>'zyz:ъp}-iZ_sldKُ6 /hZ¦vkOk6ZM.kO&wluG0sg͌~7Np?8  7n-x3ΌgEp{Mip$O>~Ǽ7ZS=?kN5[|7QFr3}3GïxY`/:q \L}GPZm=G7%vv-u%|±~t5bE8=Eq++yh!&{z%ֳ.wA䡗{r={7:i?ܽ5o{iO+Szy){? ~ww>o1^[nW>7uWrAKwxz8Qsf9(v}8v@u!7n%<#y)X6+-7/X173587Xw9hȃ=?yA5;HeAJ.cChxdmG.2g8'rjg'stP؅S(T d8{u64[eyTȅGmut}x"J%5#;~h}Wyx{W|ȇ'{}#HB|HH~{cFC(BMH;hFL؋8PO8Azxcuxhs~{rATxX򷋎],d!Ddvሉ|!wWQt?ާw(}w}Xxb%fhQ~wR8HyyZ+UQ腙aWhYgmhlX9!Yy(HQ&YՒ.P0 54P6y:9K9ٓ@8#F{E&~L KN*9KgH)hzh~K\Y^igW~Ip MtRmVXyX$g)?bIȗ\d C'꘏<9ΨkPxy>I=)tIȒ)lyear|9* ٌ锈F=8$iIٜFy;IuIeכB\֙]9)ɛ#ip&i [ǹ򉞚ؚ݉ly<,@HFr *ǝ9l9!)$9dizz ssk h ig?!xs *"_ɀ5ι.BEGRD2ȤJ x)I%V 2X\1:ʣbjP>{x0hډls]Yio ut 8ik{ <ʼnڇJ:hdعs*~ʙ^* کr̈| ZeʐJPʨ4uɪګ:yc::ZI ڬ`隠٢}Z*?\t*ʙjʬgiZz'Jꮬʧv9\:zj*iU 3۰/; kꊰZ$j:7%:#./usr/vac/html/zh_CN/doc/compiler/images/ncblocks.gifm$GIF87aF  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,F H*\ȰÇ#JHŋ3jȱGBIɓ(S\ɲ˗0clp͛8|ӢΞ@ Z'HH MtҦPJ4aթNj-WWq,ٳfϪ][&ۍib+]nr;7%߿Ǫܐ.a(+~k6b?6>r&-+{p^56h uȂ"55}%m[=wת=-⺓ܶ[:m5+.uϟ]9̉s_ѻvTۿϿ^oXkŇ{ >$j=|&]y-aBfbׅ ؜O v"lE([wRYFD.~؍7*c8 أfG 9**2XPR ]Rx%GVn $u)6B&^zxDalg8%`"Du e깜~] 稢UGp8BgVx⟑ݢ'} iF݇jZࣕZJjfW5۪+ ,~^,tR{VKYrBKm^+.;ͽ-z"H"ʬ{N;m5ko.¶*[%0jp ?fš|Pʨ˱ʆ~܉4K?sЃF4H/ͥi6 uScZ]R_VzE%5{u*a)SY^QՇZ,{{M8q :1 AzgĄx”Wq֞9j4 6w^ìo:o̭k]6}۳rozU {t[fMz7ه,s87Zx?o;~~ j&@fD8[q+֦l #X, &g4[OA vpE!T>(BUe3]ކ;0x{NȯMn as c\2eͮkC"Z=E yr<)ba8ɲ;J+bWYc2^ ~ޤCG,b~Z5Ԍ8GHjC'urfX%[<|2+Iʹ 2Ff\bZF1I.N.G'e if"0p7+GgZ̦6i;. k,[$Fj:7%:#F./usr/vac/html/zh_CN/doc/compiler/images/ncbreaks.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s9A&Z3#Q@(-(HMb:R@N5a٬Wj׭[*vBU˷DIlK۞O~۷߈Gc]g[m\ΟSΫjҁM?,8ژFMWlѸbر xrޣwxw`֗}Zf+s:dTo'߷OϿ(Q@; k\$t j:7%:#t ./usr/vac/html/zh_CN/doc/compiler/images/ncbytcnt.gifm$GIF87a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~, H*\ȰÇ#JHŋ3jȱǏ CIɓ('XreʖRdeGi&Ϟ:3lirO1-M:sϏG18jTO(SAb/ΝL^4'[nj[Q-ׁoz5h ݇Wr/a[(cyt|nrmF hB͒sYӏRZrѮ%nurl/3Ztb{];k 746D]B_z:;*4v8`kv挛݋gX`gx{lT!RhQ=܀ |8[G`HL^ȟa(u"ycm9ewZ%T b`_}H:*8S13Bx$]ޑdr`Nژ#頄mՙ)iٗ]dv׎jrUKV cygܗZbg'aEhP>cUڨ&Bi[ fإnF9W4ޚ zkBkXk&F+ԺWlf܎+k覫+k,R' 7Wl]|dt ,r~6(l'Ք(g.l߬331T;,Cu4sNKÜ47uSu5M7M[L5TF-rx=r7}=gp6Xu`nSrMbMe}7яxDž#69]wO?>skgBu8߃;>sJR@NJO;dk^8Z9UG7ЗE|N#g&u/_}dJW(Rʿd*%'uRM%9Uu\w33@ίw Vv*@ 6L<.0N$0 jc+pLQ Ї9 ŢOBa B#Ƀ8ĢQRɩPCUхMnSiG glE*6~c :`JRm,X"6/2[_83frZIjf0 5Jn$\' i:46|PYBde%sKX⒘0K8st&/:2|IM_?1=MOaL:vaT"yrN$IyOpEg? FOj ? &_e"P~1Tђ(F+,BHF7ʬ^$%Tғ6X-iG]tX6)nzST,)zJ>KvsC)j6\jS9Qft݂jU4aZ]jº "kY͊,5heTZӀYk^:ӽ˭ +NS TM`sؗUmlQȵX=FV*@̊ gqW.2]-%\ŕZcVe__&ֶ&nϷkas~ %.4j״*wrmr."XR\[ fZu*qӫm/^KU/f+߾o[?rY],`* ncn׿l/,S}Ul 9xX-}J5Wnuqi*O6p5/'c1WTȰo9$/3mrm3ρJyʟ]=YW̤Ӭ[qhn3t Qi3iug9ٟl~llh-'XFaRvzlvsr-bn'ԢΰQ0Ԁ1AS QhϦle7 =U[6$uw֝ZڢFmq;ƷmLr3$>q;7nxO '+Z L rFoL8^|,ɤ=nULc6t|moХAx;يs~^y/uc-{RxQs; q_zRכڧws$;Fw\iw=qs'YۼA7o7''|#t]Cv;>yG{9?{s<ǽؕɧ^tce >>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s9A< qhCLjfS2RVq>z1kBV*VUJEKP\z%8ػ[D+4ު}ud^w֕7qǦdL?㵫繓.\yeS?Uͺ5Ұ#?641ny/첣Knſc xුvۮ-n>/3GyywoϿ(h&/;! kN^$kk:7%:#!k./usr/vac/html/zh_CN/doc/compiler/images/ncdatdec.gifm$GIF87aq,qڋ޼"c(j 򜱉-4 [=J*n[yH* ZM]G,{Cs(݄/omǷa($eG'G'(9fӹg%i38 +ajy:HkXY 9[l||ܬ|Y»˷FJ .>N^n~ {L:<PvW>whnQZ5Y-BXEa($K6-*u2c5(R K 4b4У;*} SZQ\Ԛѫر0K6Zh} q}7޽' l8⢀9~ 9ɔ+[L)7ӝysXCg bӰXK:kį3i7ڭUƪ7۞ }6̼q Gs}zH-wmw#1}˰> ⾾qC)߇z%R*PDBL$ ~d))956~? ><1OL'H@`T%:IR ?Ә(_u hއ8#>ES(і'5H*Cx/52Ij͖=jݎir4v6( \:FLDD ^FO g7)ґyd~ AʛD>Y502Pңs K}?j*ڑ:X)@zViW',b+㨫+M4&T:=̊>(a%~!m 5gGdR=a nrKKþ`s0vSQ~9-2Lq_qoq r"Lr&r*r. s2Ls6ߌs:s> tBMtFtJ/m3tbuR[ƴUzaYXWoʙf6c_]imw6șŭ*7{mu"GGT\1b99t'|T́}|th<9!*܍v{a2j䨛%gŗk8'DHn턢&uc͇{?ӓ~|"/K"RMn~Hb SnC/\Dq+pаhvIK$:q/ljѰDubepaKKCFJ9)xJ]=-]\D!1TbSFVO֯v%Qxv֋D1*RMt$kZ;k kt_$=k:7%:#"=./usr/vac/html/zh_CN/doc/compiler/images/ncdecarr.gifm$GIF87aa4,a4ڋ޼H扦& lL[˘K*kȥ ";4`m.M1 ,BlMvFh6Xw1Gd7gYf)r(*5Zji@˩yY0sʫ JLY|J Lk[ijɚ|Gm n=k^n~^^<ܹI=&'/ke|7YL^ RȌ /i#k\s#(U+IH~ MqY3 |CҫGbsy˨dž8u&ũ<d꾨Z A5I`Ů B}nشrǢ[,޼OB;ӯ`u.ň?2n2Y%7l9df&*0og\ 3t]Ԫ_^q|_ӾCBzRe|?{n ^۾}9t_4 K뽜OIؗ2"yg{zz^rLD b"u]H 7^IU'b|b"߁Uv=OQH_w QK^&"㎢5bb4A'ߌ`D)3=Z:)qƔ农 Xe_h)s5#5yVQTȦ!JAeh)){ iKdi2NJTyS jM* JD]Zk ʫMAګ]K)ZzPg>]8.(jiQʮnkZ#Rjl$Qѷхfx4Hx(Dp.s;_b8m) )&p-|^] 0oi4eb7^Q{,<7r,N24 C JV-cba2KtsYJ͟NGtRu9aY.̒^B}`Q`M8A2gxU6^\{ty0;7zN:bzWP@;9 k`$k:7%:##./usr/vac/html/zh_CN/doc/compiler/images/ncdecbit.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱǏ @ɓ(S\ɒȂ/7lp&͛8s܉f—$gϢH*Mytђ?:TD`WP ԬN`[b굪تW9+Z^/࿄]\T/_Ƌ|7/剉 w2LB7.,fےj}/PZ o߁Gwmcd?#|УKN25{NL? #wi_{SX{賋ӱC~W^fF gE&]|6vvqiyGi$dXY9QbJXsme!jZS:fېͭxU$׀47iX9g rǣI;RrUyaI. B N "~^a(wv^|8k]Y ᙧO7YZC iGg^/nyHh蠄G}:jcj{꫰k*Y뭸Y+N!kzkF{JQ+d*4Y9BmkѶf+gěq "F7참=Xitk`xff,**L,w*i e-lsHf&BB@-;Cu k겼b$k:7%:#$./usr/vac/html/zh_CN/doc/compiler/images/ncdecfn.gifm$GIF87ae  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,e H*\ȰÇ#JHŋ3jȱǏ CI"'9t- |I͛8ab"O9@ Q9*]4!R jԢbUjӯ`~:VEDYne=U̵0SGF,E[ΕFvy-n ێcMӨ^^vfgxبmw[O;vP Nȓ+_μ۝-;z܀]-7z΋?+XSEo5wsOv-4ҡt7 IWuAoYZd[y`Z\{ 8T]ۙ) gv~W6g6^R;&?g4z=)$MIG&MSN eWfUj餗`feM]Ҙf9:p6KeƹxR&yf4ggEbO&RX^[ީ*6R5_>Qib= _l)']꧸* Z!m+u}XۂB볡ckWh(ܱ]; ](-6EyV`6jWnb陲2>if R.[߾y~F۽*&ɪ-UḦ́ʏa.YKHK3A'WMKT;zZUgm'֖j\W?s=gd-dIв=lpםki lDkߟ16:Yyxx\4yg"l+g.n/o'7WO\i?ػɽwofY/>Y~鯯K&-H O4IQG-S vRz1g#@ *o8QWdOOXO远e^;\ª%z/@!Hn t[CKT8)&үRb i(6JYB68E.**hM@~5*ZX_2Jo-+3ڌ-\ LEY(eV/_OIcJ2Ke.Af9goV7$4{51Ӛ$8o'qL';a k c$k:7%:#%./usr/vac/html/zh_CN/doc/compiler/images/ncdecfn2.gifm$GIF87aR  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,R H*\ȰÇ#JHŋ3jȱǏ CI"'9t- |I͛8ab"O9@ Q9*]4!R jԢbUjӯ`~:VEDYne=U̵0SGF,E[ΕFvy-n ێcMӨ^^vfgxبmw[O;vP Nȓ+_μ۝-;z܀]-7zΉ-N+XSEo5wsOv-t7 IWuAoYZd[y`Zl{ 8T]ۙ) gv~W6g6^R;&?g4z=)$MIG&MSN eWfUj餗`feM]Ҙf9:p6KeƹxR&yf4gHu>whTfDjOV7kRʧB#[5ꩦ ZNR/BH_yXUI₵-hakRp>|ˊ|J;+nMf췹jd5;)(Rj)kv Bu#!+(jkzokpPf[w]g'κ+Oިov)bK.U &k7I&@-ь"P\QW&՗ZX#w=g`-b%jŢ lǽhimJ*|D6D|}}g>_U8*㔃 8ƴ]YJRs.6-ꬷ.n/o'7G/Wogw/~HT+*>>}=DiK "byBX+LX$X~F&`ԛt%06{L7>VP#7N_<"ɷ;*# kd$5k:7%:#&5./usr/vac/html/zh_CN/doc/compiler/images/ncdecfn3.gifm$GIF87a*  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,* H*\ȰÇ#JHŋ3jȱG8ɓ(S\ɲF%4sa͆7StqȟGd(PGyMofS12u(UӧK^ RV\_*E95aٲY1EKs,ŪJ;WLVkӾzd;n׬3>8d]w~7pe_獬hXc ] zWӨE5gMiGQ5ɻ|f,]qky7q5.Ȼϩ&-7W;6 }-΋=;'g}΁M>Y4^'\h w%[-g\x_OWvޅwq%~uAHy~5m6E't vyo)7eMYrqĖh&a\9gpC^xO*G,5fUv塓ݎ%v"dZ_ťM1clwi$Qy੗Q]jT*ӊ:*)K9饘ZtVnY)*Ej*꣫JZV뭸F뮥zil̶lB+mhbgցؖ'v+Vrۧޖ[Z˥ Tpu*ʮk/ƫ pJJ GL֥phg<|zRk,M[(kh]^6F![ Rlhg[1кr=kD ΉNYre 甾24ْ-]mv[})&G-l|0j=޵*'L'߄،g7);  k^e$L k:7%:#'L ./usr/vac/html/zh_CN/doc/compiler/images/ncdecfn4.gifm$GIF87a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~, H*\ȰÇ#JHŋ3jȱ#D CIɓ(S\ɲ˗0cʜI͛2=t`ϟ@ JĞF}"MʴӧPj\*"ժXjծ<KlԯfM˶۷ ׾ ݻ]Ջ߿C  U 廔f̹3\A{MZhK^ojְcs|]۸#>fIg tk>]su~_|{(~ݔ g~AO5i~~_URC h :e 7f Sp ]!G"=tUYS}B'y%T#y͉%8"A$E6ދ#TZMjhS>yV9%@R$7K n&a"Y)fd\ҩtV9ozΉq#r:e{zig7x'u9 L&y^訤j .XP ڧmvׄ ^yߧ:T_V `\ i2촗 b:(,gi%Q))~)ۺ%ڤlF"jN mS{o[[**'z5vtl8nn \uq[17[',W.SWph&Rl^U^9Qf ]v%cfXK*:&-\Xsjnpnw"pRZmSm*IN x- : Ձ6nkwR 겡3xw}y²nK7 .:U4Gkk'_x-DNoͶ?ݮ՘6}*O }Xp\<ɯz_X/aW@h D. +h b$ ;J(9E Ta3a3s_\gA0G;)GA"vڒ6o 'C63lJW7{1P]pv9De^ؘ)tb#H/yyq4n_u':-ʓR;QVkݧ(-kv)$Ÿ!~Ò̄z$[3Pr]XfKx|,Y>.U2D/GǘJ!2EX{a3IgG4b4yjzӚ>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,J H*\ȰÇ#JHŋ3jȱC CIdH(S\ɲ˗0c"Б̛8sɳgKJѣH5 ͸4ӧPJubթXj:Ո_KOJͪ]˶-ŒiʝKhӰGeZ_x<9Bq-)s#4l0b )c||mgx,Y͗ #g W $ك[Wa̷yУ .|م}_>|;ӻk>drW\˥Yle[q]x]WK 8qFxU[^g}TvvތG>2cn?)$.6AݔUy=UNF#=(g]Ne~ҘV5!piF͉| fQz~砄N('{ &1S2MOhnH&|EfN߈dۂE"9o(+B%vյBԺLa +:g (^  A/~#8ع̍ _W&endXrո% m"#I'#eFV);Y kg$-k:7%:#)-./usr/vac/html/zh_CN/doc/compiler/images/ncdeclar.gifm$GIF87a,ڋ޼扦ʶ L@ GLfʦ|JTϫZڮܱuK X8aghU(qPx9iB" z@Ha:K)JX[ۻg [gC\l||,|+3[zTm(=zD(~y^&kKABJ][MliMEN fe#=Dn0 2|c9( J44ly%5{6'`{"14(Af| ݏq.8(bnEtԱMi,]kMfaB5n;5޻͡*oJeY82q>n2c;ʔkfGk9i\2ET<k)VW^ana~b"Hb&b*b.c2Hc6ވc:c>$F IdFdJYA`O%gSR[]WW@me=i]^Cufn4KrZWir&v$)8'4:}܃gwV(lɠ~ Ɵ](EWa)!I*K7m餥*]|)* isߒb[jy lKZXefzDk[BlSC=N&f{#h-͛rşdvXl.>|z/GK_7\WfIn`i0曳jҎ>V랷k9 kOk||p'm;MxK޹|>iLY/vp׾+muW @~\76٣L徸0a:ӜF=fՒ2FQ'o{fcyopp\7JWF#Cr CY3Q @P$b7;5oە+/떫 _dBAnYz֊߂TǽFf;)cBqdJ| %ܤybmo`"(@Iq Uy7cj0KNa)-] @c@Vs>!2}NE1곊Sc栐CֲQȪZ3Ip(Jט0]DEWJFlo(+`Sư丶GFMhhɧ]U.rԟi+`)#)+ҍ8[gǼ&Xْa})e[~Ll,y0h m BJ7;ۭ< kh$Ik:7%:#*I./usr/vac/html/zh_CN/doc/compiler/images/ncdecst1.gifm$GIF87a,%  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,,% H*\ȰÇ#JHŋ3jȱǂBIɓ(S\)˗0cʔ`M5oɳgÜ>_ JQCjLӧB(uի>bכZFKŔfM˶?nAƝ;$݁k`߻d- Czeᭈa%veV9UG 1iOtiAsUZk5l9|iצ晟>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,5 H*\ȰÇ#JHŋ3jȱǏ 5Iɓ' \ɲ˗0cʜI͛8sɳE"} JPF*cӥPJ]tիRԊׯKT,ٳhӆU˖ٶp}+ZxZo˾+.ˆ_$Ɛ#/d +eH3L)go/gYdIQ;伸eLɁU0Sy$ܜQN4ڶm;zSUξ^ypN~l߸}v^~~rI7|W~W\rYzݧY}iWvERmՃ]}}Ix" 0(N2`'We)tj^P嘡e&i] `cXcwNՆ:Y饖X!OFe ˥g$w YLr]Gd"ܩi)ٛ|y!MXe` x& (P1Ěl x DZvъ뮢*KiKlN`6zZ$qUmjiIxlz{;snUIh>Ih;h ֌ p%#6)qY%PBJjۯ [eu۰[n<+dtE9#Wzr]~Y~Է+f K촾I WQ][=E0r`T6Ftcqx|w|ph]-8ޭ'N␟_|b|i]ܑw.fK3;tzzX $KϰOoԵ|oۙ="/P;Mբ` kj$Uk:7%:#-U./usr/vac/html/zh_CN/doc/compiler/images/ncdecun1.gifm$GIF87aN%  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,N% H*\ȰÇ#JHŋ3jȱǏIɓ(S\R%ȗ0cʜI8ɳϟw)tѣHMq)ӧPիX::q+ׯ` +ٳh_L,۷p)-ݻxkP}E+x T!`#Gʐ'Ĭ2nI..9Z巜5oY.{A<6 zX y6q _μ%?]z4l㏑\wa+>ۻKdž\}m~NVqk(w{_X)X|q~ѽX&݀YX~C Q H\_ eb X(Xׄ*8.FctN-U)ݍnDG:!yuYbQ!cl2XIxig}yyڞU)(_9Zz:8ͧ)1}6RZ7~٧+z%馨v6ݓ:J`vaq򗣨Z<**Š)bvX &+-ɑ"2;vf@;x k2k$l:7%:#../usr/vac/html/zh_CN/doc/compiler/images/ncdecun2.gifm$GIF87a5  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,5 H*\ȰÇ#JHŋ3jȱǏ 5Iɓ' \ɲ˗0cʜI͛8sɳE"} JPF*cӥPJ]tիRԊׯKT,ٳhӆU˖ٶp}+ZxZo˾+.ˆ_$Ɛ#/d +eH3L)go/gYdIQ;伸eLɁU0Sy$ܜQN4ڶm;zSUξ^ypN~l߸}v^~~rI7|W~W\rYzݧY}iWvERmՃ]}}Ix" 0(N2`'We)tj^P嘡e&i] `cXcwNՆ:Y饖X!OFe ˥g$w YLr]Gd"ܩi)ٛ|y!MXe` x& (P1Ěl x DZvъ뮢*KiKlN`6zZ$qUmjiIxlz{;snUIh>Ih;h ֌ p%#6)qY%PBJjۯ [eu۰[n<+dtE9#Wzr]~Y~Է+f K촾I WQ][=E0r`T6Ftcqx|w|ph]-8ޭ'N␟_|b|i]ܑw.fK3;tzzX $KϰOoԵ|oۙ="/P;Mբ` kl$/l:7%:#//./usr/vac/html/zh_CN/doc/compiler/images/ncdefmcr.gifm$GIF87aE  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,E H*\ȰÇ#JHŋ3jȱǏ CIdH(S\ɲ˗0cdi͛8s܉O> JQAnLӧP2:q*իXjhu®^Ê,YfϪ]˶$̶K.ėt˷˼} ܲވ]^X#M=EY0eE \ }~n|u]͔6=2bylXUN DžvY'g۸O6q3]+t.fN"ҷ֮2Óo]߿ [^wwl!x| 6F(Vh!jUV|_o!zh 2tz%zgu.ؙHދ~+^wbH" Va:Vw&h^`)`}9*)m@$R(egiwZ>wZGg29#bJV'W&ڞK (6J5yi^)V*zEdG*n:Tꭍ鯙J6+&}#(j,jYheZf2wOZfNbbew*.s nr,Wv0EF+kn;q(|!|qik[Ɂ\01%[<ͮL^k SU?[@kDd?lM'Lۤ^9\5\r%Y,E}3tWo+mJM6mg}qx=~}wm>z2g-z< g \k? lR:Y+g'b:c4GV~;|O;ahg_Liju'}N;kzCnKQuO7{e>?1o߯TR@6(]wnxHAO'Y ZZZBB5sCa [HC v'jCbw{HDs[ѸZT&:Q;< km$@l:7&:#0@./usr/vac/html/zh_CN/doc/compiler/images/ncdolps.gifm$GIF87ar#  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,r# H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJKZݪhW_w]قf:TaزٶE(fZw=+po]!8X"†޾E7Bʉ;qz%ƚgE$9ak'\mgk_[:oԿgl"Ԭ+#/]p+<}uju_'mm}η|x![=|y啋>>tg?4I\ hes-HgF|=pM` k]n^qqmϕȢbY(1X%j|.AЍ|GsHZ"]5b5`D)XݘTb7fsڵ偙&~!Gޜӵd_l }Z韌=jXe-)0AzfX[UTY]L6ꧤjꩨꪬ꫰%*무j뭸뮼+k&̦; kꄲn$xl:7&:#1x./usr/vac/html/zh_CN/doc/compiler/images/ncexpres.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#J`ʼn3jņ,(cǓ(S$Xra%GR͕&9ΐ?o J4(˝=*IӉKa*MիXjʵ+ң^Rӳf;F*f[e% 1ů}k7a߹7=3 .>-n\8%e/c,W3gşztQBGv a7=Nq}ejs fGX-+ʌ]\eƳO=9ɡ]XݺUygO;z$ۓ-_B? x$zhPN݇H *ן5 j Ɲmaw!očhB%,hb@; ko$l:7&:#2./usr/vac/html/zh_CN/doc/compiler/images/ncforlps.gifm$GIF87a?  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,? H*\ȰÇ#JHŋ3jȱcEA~XP$ɓ(S\ɲˌ&9<3ϟ@ E qhHNJJUQ'6Td׬]$ؤWӪ]˶³JBxu{._mXir-Y0b>L˖Cb̹g?M2A Lx{u88kF+Q]&n [o |9u7uXɠ̡/w4p |w훗-3;k%_F95 ѧ}ڂvU8a ta nXG"(T榢"`6*"6cZ#XVBjXdB٣GؤU?bL>9SE TOJ.^S^%MXB͘"IhnygWef{ƭ^v]gheqYx{'Eޝr碒1`z`uHE)l{)*d霧CzIyZk RQ*Q)yVZUjNVZF8a]:{,r׮:ڲr^f*Aa{%Š7SNK~;Q;.¯,j;c!l-7z+sRrsLRp 43w `CgU=kNbe>gQG>!Ԛfj54/7o`❷|߀.n'7G.Wngw砇.褗n騧ꬷ.n}`OXQRm\ڝz>mg>(ǾDJafhSX(-ŀ@\,s&A ZC^ۦ4i@`כzk|aH쩐sOn'; k:4p$l:7&:#3./usr/vac/html/zh_CN/doc/compiler/images/ncgotos.gifm$GIF87a5   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,5  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӅF}9eUWfU`WUD#YnU,HnF+7mٔlj_َwސp0⒏i7_×;%\0cĖ=ۛ_˜7̚+w3^vۑt<ݷ|?s7ϣ g,qѱ1N>;4+xTnٮ麮ͫ]\cO}k䭞VZQ7`w1]nIuٶ`ms"AGz y5hQu *ufzρH4bE?RxC¸|darF`/)ކ:Y IASns&eKߖFlp)tix|矀*蠄j衈&P@;'E kꦾq$l:7&:#4./usr/vac/html/zh_CN/doc/compiler/images/ncifs.giffm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱG>Iɓ(S iG.#TiqfG4sɳ!΄,-(gF T&БMJJt¢Z5DR=)SeǪa[onףVaf[n֭v 8Ĵj%7h^Z3)7Ƭtsgӣ%{ѣZ=s]̄} n8DYZkȹc'oqquZ!xVv gᇷ\"28| xB\oOba}gdPFcBv*cK/Ve[3H_x} $~X XedYic="$()ybXۙ,ɥGѩKz٧ Y|9g%h6j٢v餔 iyborʖӥnXꩨBꪤnDjNzd+Ԭ밯ZүJI첫%U`Yd&v{*|F[kr搪نq%f렷Z`xD8i c믋Ғ)a6FZEݿ kSu0$:7' g,na ںAXdTɼ _%"4\s@;Rr kʬr$l:7&:#5./usr/vac/html/zh_CN/doc/compiler/images/ncinitia.gifm$GIF87a53,53ڋ|Hh~!G)3fC[O"@̙tBQA=j"{1EYB*Vm8oCy F5h$d7F Hbtvy(Xh秩 k۷ty9x[hXYK:zj+Yk7hy YE]Gǽ(Z.kMW}f?G]w#e);+q UXCč8zTAȏ$˔$9)Wh2&&ixXΝ,y ̠#JL@Xԧ[.YҪNZӪO8qQyRl d}d8ke6;nX$wF)W b4GsCŌs|}0o0N%KrO̘!!cHɢ/~[5AEQhf&EpaBnGUx}F 誎W LOJg+ӓ_b뵋{3j2o|Q~UNyx # y=r)HZ ؅$H(ȓ,Y0Ψ48Xd<t d5O%ɤeM> 6l; ks$l:7&:#6./usr/vac/html/zh_CN/doc/compiler/images/nclabels.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ Jѣ?0҂O#F]MfŪjת.+hYg5Ua[_] .SW&kԸLÝK]o*)cbU1qbkK䬞7,ssJֻ׫5aoeM[/쩾Atߚ>^5kalxV3ƾ|vSO-gcޭS՝n⯗nNҭp]%HՖuvq`e_kox G!!}yxSuթ0(4h8<@)DiHP;Ve[3 kRt$l:7&:#7./usr/vac/html/zh_CN/doc/compiler/images/ncnulls.gifm$GIF87az   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,z  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0[883&˚ kYp'N'}.'OFQMFMeRW^ZuiGRJٳ Ϫ]X[2ԩrC(ߣ7eFHkW28ǐ#KL˘3k̹ϠC ;s kNu$l:7&:#8./usr/vac/html/zh_CN/doc/compiler/images/ncpraall.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ Jѣ?0tҥHQBiCbͪ5ӨRRͩu,ӮbNU[QY\v*ڭt? ݼ$ݞ-+׭a:5n־;~xqew++pZ͔3Ѩ5yjɰYN-o ͻ7д%x;4ZƺYnˆCfvr;2!Vi~EW{ !IA e n wav ($h(,0(4a@;< kv$m:7&:#9./usr/vac/html/zh_CN/doc/compiler/images/ncprachr.gifm$GIF87aW   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,W  H*\ȰÇ#JHŋ3NpƏ C2("ɒObT ˋ/z@3eM3[ s'>W&FtFC>jQP?.}Uiצ_ȑiفL"]{3mӢm$y6ƣ+㢭+w͵X )ح$,Qo۱k>ΪW(Tc%(fj+CٹdňN̺[6]+|(mYoSgܛ#:xaS*}K뫧7,^:sA6 7{O+TS{/?so֣svxpg6`u{ qqsP8ex JႵ6#Z֘Vf]l7YsǗr8h~Z,U[BRH֑($OQbLtIbM!hZ:FEhr&Ltv7c|駛f蠄Sr"j袌hF* =JfiKB(&*꟝TH꫰{u}fe=k)z # *bɖ 5bxϵj8Se+Rshnۚ;m _+l= G\Q@;7' kd*w$}m:7&:#:}./usr/vac/html/zh_CN/doc/compiler/images/ncpracom.gifm$GIF87aH  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,H H*\ȰÇ#JHŋ3j"?R ɓ(L9J0c|RH7?tS"ə@(4b͢Hn~mL~_g&gZڳ^& P,L5Ӓ :0SL\Зd1Z3UŅ ă9Jb58(TN# I<3Rb,eMK6SYB 9V"d s%b;]/N7a`uC!-ٹEkR| lH {a,rF<*A ;ع kގx$#m:7&:#;#./usr/vac/html/zh_CN/doc/compiler/images/ncpradis.gifm$GIF87a.,.ڋ޼H& ʦL %K^ KQs$'ˡJT!rdom dpM2 ˣQ=pr@XHvf)18Qɉcei8Zj*z kd v{3՛;hKB\'lt, fL[]lB}9 ޭH@y)(E8HnQ 6/S>5r6`I&SjiʙUڬ" ] AjfIWH"}Qi˓MBe'g<t%ѯP kKh=#jV&ؽ| 80p#dX Od+SoQS:V%;J jlaqXSn㶩Y+a45flFyg4GX4Wd#ۥZNRmHy ǢEWN?8`[mN[szτݺNW8=)OAQk}Nu^Vq"n76[&aR."H)1^I5g8v#t'F>rbAXG>G wiBIf ^S2\7t=_IkD$)[Ƒp} h5'HDdRYh|̹\uTd(i=r4Ci2&婦rJk㵧d{O lKll;*\Ȱ k~y$m:7&:#<./usr/vac/html/zh_CN/doc/compiler/images/ncpraexf.gifm$GIF89a%,%@ڋ޼H扦ʶ ?LA]_8m`>XLOs> ъޚO{Z!zԛJ`92]l6GXWh)9IYiy *:J)xZڐZꊹqV%v+{h;wkPF K!mJ֌|G4*>N^n~/?O_oZ4,Vg0ؼxpXkĉ bVv-˖F>G2 w ڶ- Jx즬^_iYJ c"uB8Ō;~ 9ɔ+[9͜;{ o=цH3Vktȴ߾JZ3hZ{㖄[%|I§]3}N{ 7=[ܹ5Ts!/_Ȃd_L5K\yW 5^}k(^+FUST߅W`yQq"(F>ŸMV4u[Q0UWM"*4!xRȆ/Fx U=!RA≧=RcE(BVcbe"!g6vrΚgzg~ hJhY; k긠z$m:7&:#=./usr/vac/html/zh_CN/doc/compiler/images/ncprahfl.gifm$GIF87aB%,B%ڋ޼H扦ʶ L ĢL*̦ JԪjܮb8 v!CF qgyrzϸHP78b8wȗG9g)YG yryj**Gʊ*ɰ<KVy,ˬlYjJjgI2<;^\8]Ȏ-.H~ R8dQH…5BX" "{'VzH+"[H S7!<9k*%a9(٪3ҴyD,B5Ng@w~vM6WpfTi1윩}m;<՝u`џɒ6 iː aTI./usr/vac/html/zh_CN/doc/compiler/images/ncprahst.gifm$GIF87a%,%ڋ޼H扦ʶ L ĢL*̦ JԪ,m{-cGyƝlß9Vb! gЧE7v(vH H(Gц h*h[ KkBZy*{Qi@;'-6M}ͫgݬI^; i<-niOz[=j;}ߑqa`XB=}q`J_Xt[ʕylete,83.%#SAxc):vCī2\ M!̳*ٺ} 7ܹtڽ7޽| 8 >I; k7|$m:7&:#?./usr/vac/html/zh_CN/doc/compiler/images/ncprainf.gifm$GIF87aGX,GXڋ޼G3ʶhϴ7?r[< B;~n$̩ TNs5X4䴅lhM.Sjmf9'WwUSPgXGXhQhD&&YWԈفHzXz%VȦCgiYsZ z8+|̬,* ;]MI,E +- am;k>a>O;m!%5kn/gЙg$Vx C5UF6ȿ ƀa"g 96\6/ɓf/EGylqkÅv&LePq^AL2 樊L"rMzEeW!],k6ڵg}m ܹt֥x7޽vr 8pտX >P;~?Ȕ+ ,ٲf 2;63qhV OQk>ڑ[|+ YB6DwL\-DP/#w(Il+Cf櫞>[V; k}$qm:7&:#@q./usr/vac/html/zh_CN/doc/compiler/images/ncpraisc.gifm$GIF87ac!  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,c! H*\ȰÇ#JHŋ3jȱǏ C.@ɓ\ɲ˗)EʜI͛c>ԉsdϟ@ ڐgQ**]ʴiF>*իDbMׯ!:ٳłU[/ϲ}KЖhw&^cKآؕ; .3b'|ܘb(8qNNFiА#c,ɐ5hOFݷsڊ1C3ՙWV9|*i['7m| ؚ~3u<..]p}+tͻ^-m#sdsGtѱv(ZvH5W`xU{ub"&Hw!xs#B҂ph8!&טD 颏DZL.ڏ>'6~ W^2Y2xacH|u؈$QRV`^}weeWT]xg+6:d)_ 2V]bRRx6#̱ i:w. 'UzV Hl!f8+-+לa lϒVkfv+k覫+nt;*o1 k~$m:7&:#A./usr/vac/html/zh_CN/doc/compiler/images/ncpralan.gifm$GIF87a@J  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,@J H*\ȰÇ#JHŋ+`pcƏ Ar8cȓ(S,%Ñ=!ǚ*s* 'ψ?u *!ч1_ʤ)СE賥ԫ$?:=׭ NYKdaq([dWބr.Uxf*ٿ  Z&µ+7Vx0akrޝ}\8iX=#vk37?e=5l˞KTM[iɸoMxdœ*j=ۆ;]:fǮW[-]oC]a//{7s˯N}޵ۥK%WBo-w{Hnk}k X~ٵi({V\g$s9]^cb`&@cH"V Dd&$TVQSV\vc_dSVn l)gVAxYTpԧjo jv HF*=X߈Mwפr:ϩl*hP8xAꬁzqș}XF7Y)Ȇi,&lz6(If["j~+n^UR鶻"whҫ+/lN!Gm]Fl 0Ezi ht f6'jbuf({ ]M&7271w7l\LIi+݂& 4J4ԪNT{m?c]/){`J6e|iuL+zMw u&w?1%u=lqeONڲj~۞˹Vn颃:몿^-;պҮ׼g[y{myz k4%$m:7&:#B./usr/vac/html/zh_CN/doc/compiler/images/ncpralvs.gifm$GIF87a%,%ڋ޼H扦ʶЉ s~3ß<Ȗ`HS lawTضܲ5թAhHU 9zo8K'ha0'47qH8x)٨7RjxVH$dkzX9hk( x$l9z [m>6*L*1CKOn蕒7u>Mfݶ,q^!a~ȁ HfWb*2x -cS\xɈc /d7c3UVB> i]OEdpQn%<SjL&%.]y=q[ai#)fvz Z~1fBw -峧GNhx0g-JiUd=~ ꐡJj; k$m:7&:#C./usr/vac/html/zh_CN/doc/compiler/images/ncpramap.gifm$GIF87aI,Iڋ޼H扦ʶ L ĢL*̦ JԪjܮ N (8HXhx)9IYiy *:JZjz  "`:({B;1;|`ˠ|{K\c+mݑ }\ l]k|=~l>r^ fѲU=jڶ ">B!8qǏkćd"Jbpbi6v;DΆb4(NfťӈnT=ZFuhlUZ#تEu) ֘>=ZDҹ0MZ 淫ؠ}0e`†gMVhQd͜ +%qjLb6/eyY֪sZͨ.qlpnpi%o9/e'l4]Cs SvKk=oS_V9a`]MQ~rGxTU*3xΆI^S,xRhbr&ca`zD8gݵa *ődЍH !9.=!V̏-Ye#jfn grIgvމgzg~ hJhh.h> iNJi^ini~ jJjjjP; kv$-m:7&:#D-./usr/vac/html/zh_CN/doc/compiler/images/ncpraopt.gifm$GIF87a;!  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,;! H*\ȰÇ#JHŋ3jȱǏI$&S\ɒ$ȗ0cʜIsI7k̩ϟ@cl8gѠH*]ңLJ*BVjkV\Ê jٱhdڷp_6ݻU}X߽!MKԩž9E$wpM92jH$9ɍ5y#h̞9?הO7=lfE_m3ׄ.Yе^K6oVn's͊s~ޛm߅Es-]<)WOzw;ɚm}[gS}g7Ԃ^ɭn砂!hx陶bb#H\ùgfvZ| 0'#|́]mBD`H$VhyvtsMv"LyXoafi9og'r($b)mUVxhFUhjhKEJBi駠*ꨤjꩨꪬ꫰*무j뭸뮼:U@;7Y k$n:7&:#E./usr/vac/html/zh_CN/doc/compiler/images/ncpraovr.gifm$GIF89a!  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,!G H*\ȰÇ#JHŋ3jȱǏ CIɓ(S˗0c$@`́2aM6yhќ-y SJ ]%ӥMZ4*Rb%STX֜5gԄ_βO[v.ݽ|w]IÈ+^̸ǐ#KL˘3klQnؾ vJ!|vm{%5gkfTdZHPٖ]^A%"VF LƊ׎,#cV0|RTll{c,FDnJ[D+6y,>( +-"5Xi7rKj֪aݖ`^  )zm 3)mf.qqc|qY[dƨJv)!ˋlyyox@-DmH'L7Y@;4ԪN k괫$ n:7&:#F ./usr/vac/html/zh_CN/doc/compiler/images/ncprarch.gifm$GIF87a%,%ڋ޼H扦ʶ 012'5{e}b1TC੄zfMQ]T#Ը22݆A2?lEKw'Vօ$AHdWi8fyYYIٹI:vg*Hz;뀉w)zIwZhF}\ }]X-,}6"=mnjNL3|ˎ5M@a`gNZ"{wuX(67/BЏ6~1񵄉eN/MDyd1D=4I2*Y n♮IY ey} &zSYφZ洺"_%ٽ6v72[F~%S%$-vBD=JZ-P2۱H X,7eVJL E`sNJ ᪛Ym u/ޞ"2Qx3wϕD{ '?`` .1a Na^~bu(b&(b衋2^eHc:=d-F}"N>eX$V^ T 2]FgXI& B`e C"E\ZU 8Mp_;h8&Z!יN jjQietM*g.gZ묶ފk ;, k$n:7&:#G./usr/vac/html/zh_CN/doc/compiler/images/ncprastr.gifm$GIF87a:   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,:  H*\ȰÇ#JHŋ81Ǐ Cf(2!IOLYQŽb!̕8[lXsgO.RfQ4I&%ӝP>9RN&%hTUU)c٥HB)qcW` dW2ijJW._ǚ MlZgJ|H lbj>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,! H*\ȰÇ#JHŋhȱǏ C9ɓ(+H2c˗0[I̚8s6&Ϟ@ r(ѣ0"ŨtӉ"2JbȪ*jr+T`~ ҦdwvL?on48+\wr4/En&v`~aƎ;GZW.c˟3Х㢶9Mɛ3&ZǘZwYŹW͚ʼn=6mKLZOGl7h2N<ۣ[<yt |8rwjN}xuwF8s*mz?VwZRu6}E'klXUm͹(4h8<@)DiH&L6Ht;A kT$n:7&:#I./usr/vac/html/zh_CN/doc/compiler/images/ncprdend.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳgC 92?GMiRNz *fժ"*z4jS|UӤIϖ-Tp^t{@hBݫ[q v/Rˆ%/_lj#KV\Vk\ׂEq˗+޼ڃ>L®AME~;k^(a#xE[+_μУKNسkνY;< k $n:7&:#J./usr/vac/html/zh_CN/doc/compiler/images/ncprderr.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋhȱǏ C9ɓ(+H2c˗0[I̚8s6&Ϟ@ r(ѣ0"ŨtӉ"2JbȪ*jr+T`~ FM21RgXKH;9U]q8Jy;D"\ w*/׍1kYbs|Xq; ^3[ʦI ͚pI´状۶lˬS<;vީw#7XzWVmnν=!f_ݎ'~&M]ɗc!Wj!XpG^e_~-ނ>pqȠwu}։(Vh)0(4h8<@)DiH.P;6H k$n:7&:#K./usr/vac/html/zh_CN/doc/compiler/images/ncprdif.gifm$GIF87aT&  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,T& H*\ȰÇ#JHŋ3jȱǏ C2@ɓ(S\ɲK0cʜI@6aɳϟ6w(tѣH&,t"ӦPJ9UӪXjuxu^Êmr,AfӪ͹r?nv-ܹ7-ʸ{#Xf?/L)Xbh#엲ޒNM֓VR+~3aa;#jԔo.z/mѧMv[4މe際S]sGw{5;~>wUxsW__Ǟz]uΡ ٕ`ZUVpm[Y_/-FHKeZrIo֥GA'>xbu=%r-Θ|GbaDrgޕE*x`q[n?b FY8hu)eCQ9& !nd sfas8*fƘYEoT4&! ꇅfգ%x#MhjzEQ'뚮ƪ+FJ#[YbZ,Vkb^aH܆[ݖ+Œ*K셐hֻ,eګ^/+K!'.*+;3) k$n:7&:#L./usr/vac/html/zh_CN/doc/compiler/images/ncprdifd.gifm$GIF87a"  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~," H*\ȰÇ#JHŋ3jȱC CIɓ(SȲ˗0 Is̚8sysg˞> :(ьF*]z4)ӢOJ9ӪXFLծ`4)6ײhLk,ۆ=~uvȺտJ’[<˸/H![80B/ U`?A_ltI&|pȮI8ys٥c}|k޼S-ay%ٳE6!49᧋W-=f 󏾝pOUʟ^|;=wua~t)W_y`\QDRVG {.F>H`>b^G)j"nx75ъ7h$Fb 7#|ڃs깆ߑ\&IIdYp Y9g揽]tE֝|Rm~*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤi@;x# k$n:7&:#M./usr/vac/html/zh_CN/doc/compiler/images/ncprdifn.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱC CIɓ(SȲ˗0 Is̚8sysg˞> :(ьF*]z4)ӢOJ9ӪXFLծ`4)6ײhLkUniތ++ݴ%ٶUxMm{C27xV|G9`ǎѰ̓%o6q"^&b3E {vmдUϕ{w۹%,,`m#Wty Y>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,- H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\+]>K7T#̆? sĞ"w&TR'j u UTqf(&P2wV5cVg=KtV:ѰF} v\y?m-޴E +f[ZVڭ+2ҽ/flM~.ǛS6:5зW[̈m<vȉ'2W&wXeۙmKmym|ˊ[Lw=zկ?]ޙ8aWSzYeE7 {'~Yy҅ %QŶpMJh"Y'6Ȣ~/X2fW^YHU>&l!7i>;-8vmmIv咩 { [ [$Wn:s p;;3) k4$/n:7&:#O/./usr/vac/html/zh_CN/doc/compiler/images/ncprdlin.gifm$GIF87aY.  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,Y. H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI otaψ?w PgCn"4ϤD':8cUWmUHf UñѦj-S~Znr}siOIκ4p6u61Z;ٮee^̹sgfmiP%}(Ԧ[칶۸s=B̠Efٰb>]pjm&>)d!Z6kXtdG/]չrgSc\Yx!7k)7sk 2W *}MxVwq-rl%!G _&M%Fz~Htb5GR8#MȤuج:V{Eg6lTݮd֚lj^TꏆmV^%-[jgҁ' (+—ZǠ"0 7 B $@J?w̮=,,2&CU,g3EW\9V_ v3K+ٟ+j8_\w ۢq``-URlë?[l{0t SҲX߈'xH;e k $-n:7&:#P-./usr/vac/html/zh_CN/doc/compiler/images/ncprdprg.gifm$GIF87a,!  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,,! H*\ȰÇ#JHŋ3j! CIɓ(S\ɲʎ0c`͛8ɳ'Ν> tѣ"]TҦP>JԪXs^ʕ֮`7~ KVزhL6i۷IK둮]$wvoڼ)8ǃ[ ;/Ȃ!'֔ qrάdҖQ;ܬشYf`ٕiĭ43쁳-]ykէy3sO{zz ]?>|[鹿 S];?ˑۗ;Yyfg߂l wV(Rv=x![~Yy :XZ8"6ʨt<⷟[G`7wdt(2YMu#Ei'ZIrimC2)!yz%զnaWq`EpyzZxez |saP|be{v)U~*ꨤjꩨꪬ꫰*무j뭸뮼Zk@;Ȥ k $Ho:7&:#QH./usr/vac/html/zh_CN/doc/compiler/images/ncprpopt.gifm$GIF89a-!,-@ڋ޼H`ꚠ,*mqសpS$-#, JSuS^ܮ N ɗzT8m/'(3gwHg(I 4WHwh)Ih:ʪ); Yg{ ,aNH!6; k1$o:7&:#R./usr/vac/html/zh_CN/doc/compiler/images/ncrtrns.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JH +&̨Ǐ C0#Q$)˗/OĨR6g.h'ρ&q Q9&Ź4'ѝAJS`ͣXtҩU`uju*вhf]vbX^ᆝks׺dK߿(p\%1CmcF~ o͸Ѣԫk!䚲ܑ$ꓳZA[R>wQ[w:ַm?Xj璡KO>}v˱{lFs迧?}y╺?}3256UT]pYQ^CAhk gWUFTUO^hbkqmUXWhr.RZqXV7ɣmVHUB6J/&YNa`)D;y kR|$o:7&:#S./usr/vac/html/zh_CN/doc/compiler/images/ncscope.gifm$GIF87a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ D -ѥ(2(_ՆHTziӤ\~=jue׮TJE+Xo ;ܹ*ς;Uٺp۔0߲-.6ӰVK\ 9Ȗլnb4ΛQ|3bP^ݘ3gϮN̺`K 犭=}ݧyKݻ(mBc_l6H^mvóV{n鹟o({xe]uaPeZkek7aGwDu ($h(,0(4h8S@;X k*$fo:7&:#Tf./usr/vac/html/zh_CN/doc/compiler/images/ncswitch.gifm$GIF87a}+,}+ڋ޼"jl +ojfyBft9 5HSCb7ٲTrv^On5g~r~V.䖆VBHӈȦX$%U5d)YVYE&ZjX([!wi+G"˛?>ۻ?ۿ?E`H`` .`>aNHa^ana~b"Hb&b*b.c28^; k$ o:7&:#U ./usr/vac/html/zh_CN/doc/compiler/images/ncswtchb.gifm$GIF87a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~, H*\ȰÇ#JHŋ3jȱǃBIɓ(S\ɲ˗0cdp͛8m~ɓ @ Z'CDbDCNJ:*BT֮`ZئfM۪5Ne+#ݺx {Wƾ~)L,B#Nr_?;"ʘyi'?N9hA5yZ]KTlvȲ-)wG}?U*ȁ$#M.ymŝ%}wG!F]nڽe?8zy*Ͽ|.e{܉g1i^1B: a%]G`}=TR{6"q"^3 "r"1أf=cx> W#C"ёo1隓I`QRXEi[^ITzy"cWW&Sv%on&O W'KJڞpzjVsih{?v^tը-* i<ڞu+"邎ޘ؉h᤯7kڊ|pF|飮*-NȪ*ڬ")Zj&YZ, cJVXE-h]ޒZI+޻^8rn,0{nö>ֆK:\ɦ)Q*rɒi- v~ @^4'MW3E{Z(W$ Qҭz(Fэ)%0G5HIV4"6UZ-eLC,.MzքҗΆ;ZRfRJ)JSJ%>-Pծz`]u3zfO͌c8+jZ{k>oek8CN0pxW4aUO8X&t9Z1 ٳheXr퉅>8Ђд;-BKk:[ KD ޔ=l"߸ l ZUlg;͉ (ʼK :/.|"qGf`[%sCrpL`վM5G\R ".ѵd˙w4mIFsT%y_f}C-t!pu7v孰LW,M/[0a>/; k$o:7&:#V./usr/vac/html/zh_CN/doc/compiler/images/ncswtchc.gifm$GIF87a!  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,! H*\ȰÇ#JHŋ3NǏ CI$I(S\˅^ʜIb̚4oɓΞ+JTТ"]ʔҦB U*ՆVjyrì^ò)iٳ9CU'¶@v[ph/UX~/La&8x`c?|a|\dŎAo轣, _kyuҮ3ؤǯG;f|zx{*ȡ/);8͎U+V ygzx߯G;ws%܀)kEG }8܁*'!gM`h`PvtR]m*W܀fƨ!JU="e%U{H6PF)TViXf\v`)dihl.;v k$o:7&:#W./usr/vac/html/zh_CN/doc/compiler/images/ncswtchd.gifm$GIF87a&  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,& H*\ȰÇ#JHŋ3jȱǏ CIr$(S\ɲ˗0_I͛8s&#Ϟ@ JϢ"]ʴSJ2*իX/RJp+ׯ`VسhӖ)֬ڷpVtyܻ֭xvmYW߿YAÀE%,q␂e8^ď}"t'U>4җIl,skrգvxícZ-qg|9L;_#yzA][{pËO|1wV~T.4OQRG_?ʬRZx17TUwzҹ vWr \ um8am jd*{[bC tޡvcQ cGI%٢oiȜ$uяD}b]7q9ԏH&F2ᑊiy1$qf _)FsHh[:'PJS:1z8Aw&QU(fh]ZVN8n(u~:*S鬪֚kcEwz))^㲻rX*lZئ2Z[ZS2(S:(ƞ6'۶.&l&.Wŋ|\j{DpZTY7 e:0wֳ4nv(o(ig&>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,C  H*\ȰÇ#JHŋ3j4Ǐ CIɓ(S\ɲ˗0cvH!8sɳg͛>s JѣHMjq)ӧPJtRXjZu+®^ÊKגdӪ]{ّlv+ܹxJk7޿8~<*VƅFcDrKYs㇐-',0?6#>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,.  H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPԔV fV_Z,ưSt@,[ܵf}k7-Gwr[M;w1_zJ+ށ}앱_)veɝ-kZŞaMsî/6oíRvmy"@q@'X("619hИpg Ȉ:g7 ˚Gjwvj KZ\67nmнGH׻dճw;I)q^xyalֻ)TzGTd6Kw͛n>ϳM$&Ϫ(ez\}N}6T著`m8}`/ya>!A$Ցκ]32Jtd,m9qC|c9ǥyfo]Yլ^C7v;P*!HZhŋ\$@zW?1tXht'$2 GfP;lBqGkzo4iK\hN['65j7+ihY"9S$@Y 4x(Fy\gW8}ZdpKRSӬ;xy'U` ]u0GGo^m>2ylU8yehV]dED-ON)Lol\Ȭ7>%eA갘#pnr-C \||!ycTJnY4t[I%ʝ4;uW!.]Vm8( "yʟ|achJzsL갆S#m<ˊo$~[~_R>yYmkssi7o})^ZIUL9yɞX~~Vk_@hmdu}&KBMs.1W_?ߕ#'_^y򴺗λ}g{TIv.CV68#S`$旕qӫZwZwq[y# FS8W[?Ϳ_$?;t-wWއݍF(KԴCdC1 6Q/ȟ+rw/G󍯖+$56]4MwYkmjvoŌbN`%fJ%]H?y{cB,?to˭Oju#{e ]Aᰳm>4"kg@<>_i<ȭ/rkR<>%Ꚗj<嵳[{tCO}rgMAP$cE8_YO_o:VVdHnmBOQgjrA^{9;KUqQ8Wvp^l%j6mwg ތ&nË^9+?y ^iO_SҴ ɿUԧ5Y.{)2-e841Y%?|~SYyږ|y_Ю kxOԬdCFEBu -@ͿkZ&j蟗Uol4 [~ԯگ%W޳ HRȿ#iqk(-|Ki KV1۝BkZFq*,UcV^s/2נyOT΢U-m:ȭ Uߗ^Ho,WWWO4^jڅ@לc_^4^jGBتA9k9ˏ6y/FHu/EƽkwΖ>`ѬfcowNleNT!*=(~\~ZrYޕy _͝V ΓdV;KynQA$UyspOFݗ|ɢy:f[$4 FT}2dXhXbBsmU͊~8IHyqBL7/=1.kC,-೅g{ixF* ~Jy7/̚內7_-huf6wڋqӴ[Hx#JUiN?ʼq/ߔ^_4I?-t]K9ajv:eΣOL?# YTpQ>C/!h uAi$:Em*˪o /,UKoZg|-;N49j>N}>6u{lirOD> :R?(/t_)D:*9nZ奤7zy{.gi4{1Tfx_rOE_卧-mVyv}h@IU_X*Bߙ7o'_\Jگn,5=bWH{@Eo-q32KJ:7䎣5fPIkKɡOHN-4-p.nEG¼qTOgϓ4|9럖fu։mni31m\Ds;|]t-9![fIYL"9I!x P;6*Wq>VFO<<]RV_M U5U>ymm[<0~oEO%~dە];WS*$vL 8YW?('Qg»|t/nltBmuou2BЫpY՜wshv-4mFݧ63 Euc"dJ?m1`~Syc˞F_0bDmLɩ.z__ݓ)L>\UcPt k/y+\‹mJM2]4[O/fX_LDPF3b?_g(<é~YX~Cqޛu{40iRۮ=JOkRh)e!^W՟5垯}mTCI?- ƙ^]r.Nqksmw,RTSQW*(wweay-.mm,3^sjV:fa(J*/([G~WyZy2RZs\sͦMVb;?ܕd:75?ċ--<C1_%l3?ch]7Ku,w:$ެlGBS81? Y^nyWLu1eyݵ^\N 3L,m.n-C=o<*+4r[?Ϳ![~DWV A-&+K;4+'"^C^ YgvOʿO-7M[yKH[2 ^]-p8+uk+0kT:|t ~xijؙ?MAæYE_Nk v H|#䵈CʄTg=ڄm !p*]eYfM~_h]ʽO>3E?I|7iyGˆh x&y!?ϗ_Sz-<$kkMj:vk7K}}Nk2I1C/g ɧHp'n#>F"^d\&^X.+ ymW,蟛^gmV}{Lk]Ϧ!FׯBHJt \m8ϨQWGKm̝(qd4nt;{>]u} V|/4r3>aԯj"hIoI mNXCƂ6{)c=kmD{w,c~X[A89oX>cK}_JIkutVRFps] i.p7}9#>~Q2u)??]nca-@$kV568ÊXdN"M^ܯqP@}; .N0:oκY['/FivPhck hMT<%7w.6Id"w]{p]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Uz2S6rFkX8×/ ~_[͟ߚMu'?慉wj=̿7%u GAьR,~Qrj31q]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثV[%(wŊ-x1VCٗ k$p:7&:#^./usr/vac/html/zh_CN/doc/compiler/images/ngbulbr.jpgm$JFIFLEAD Technologies Inc. V1.01  }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzw!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz  ?O_| }K/V#2N˥^ .O'S{tlvO3<\7 uVnMTm9U5ʚ~˝pn[J*qc}I&5)ʤUWG >([ Z^n;Ŧm:)nxtd펟]Dt+,|#*5TjI8ƮR|˗޼\v_fYeNkA΍5ҌB|9W+9f+٤(J^^~xO_a?g|_^wpjZm֝~cq-ѸtH单YH (8J-QM;4՚iSOTǟZN:Sӌ$eifhϠ>E>"|<о()۝]dOfڴ˨~*>g }ηk,q^1i+-oφ8K]ήNT$44U!4[?`~XuI~*W nmBYjFmmie<%{{eUZ<UZ;5[Y+ Ut1T)Y٦2q^-Ӌ4 (&xx 'q q uMpu{dj%u vxl& Shz ~'   bq﩯 v:s>t@Jŋ3jȱǏ CIɓ1";f k$lp:7&:#cl./usr/vac/html/zh_CN/doc/compiler/images/ngcupar.gifm$GIF89af3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3!,@I"R(U?PH1ᨇ \ʡB 4ɇ)I0UUt0bI8s4ɳ€;A΍ kY$Lp:7&:#dL./usr/vac/html/zh_CN/doc/compiler/images/ngdoc.giffm$GIF89a f3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3, @1H +<8pB#TH@ !6QG F ȉ#;ɇ) k$_p:7&:#e_./usr/vac/html/zh_CN/doc/compiler/images/nggloss.gifm$GIF89aX κuuueeeUUUDDD000 ,X I8ͻ`(dihlp,tmx|'ǂaY40 ㅱpTNJ2JYX$9 p@X0@}Q% em df  {TT kew Vmt ! y p dr$  iЄ0M@g"AJԘM@Pπ ~(Bׅ CIɓ(S\ɲ˗$#;3 k$p:7&:#f./usr/vac/html/zh_CN/doc/compiler/images/nghome.gifm$GIF89a0 κuuueeeDDD000 ,0 @I8ͻA QEgx|pH,bJ F0&(A*)J"8T> w8%ԾMV$ظLk`~ bN@!a%`,m<@HWl숫C$ <VXg˗$=Ѓ=8C損Qzp;CDC 꺖SH*$aЋʀ.sPD;!m*t kT$8q:7&:#l8./usr/vac/html/zh_CN/doc/compiler/images/ngsrch.giffm$GIF89a κuuueeeUUUDDD000 , I8ͻ`(dihlp,tmx|pH,Ȥrl:Шt\4$Vc,\J#k_y2z1Na #/7}sudc'W  Zn ] j  ٯ ֺͲGG"hLk`{ @p߁$@T5 َ@.⅋%Irb.:I,DK%)a1V4$J0W 僥>+ [@ J5rZ9LP:QB4 t ;KU4BW~h 8IRq%6&E A$Ke4 0Ҫԇ̮17pȷ'j*سkνËOӫ_ϾG; k$q:7&:#m./usr/vac/html/zh_CN/doc/compiler/images/ngtask.giffm$GIF89a= κuuueeeUUUDDD000 ,= I8ͻ`(dihlp,tmT8Əh<!D M`hS[Rr[x8\`&hp+ yP  v iM oU Lip8; k$ q:7&:#n ./usr/vac/html/zh_CN/doc/compiler/images/ngvac.giffm$GIF89aG  AAI ()<>8   6,qpl 4+dJ-!T<#;+]D{`>1dQ"6%*  dB Z|T1!J2(nO sKdD-Z<uR 4% s2v^4̵Y{MH-C*;$1.)"[RNmCR36"\:"gBrJ =)F1 :̷}Kg>N.?%  _RpkyIb<fyI\zK_<T kC  -$e:M,I*5& p^MrCl>a9Z59!T|Ig=1:$5! V6 d? pG\&gzbD%2- VS`5M="O K+b9O.M yF 'sD ]*!S- |C4H!U0L*]4?$59! J- Y6fDL<*t;+  L H(    [I6f1C% L$;0 %/9 M+%31 >'Ž, %   1   ,G  6MA>tѣCl9"J(ŋjhǏ {(D#^< h0^†v"5fDrrܹϟ>e Jhѡ2stIiWJs٥pŕQKŠ۵.$hӪeŖUηj}-ZWA kh Ōa3 Nx2#CDׯbѰʔ29[ kFpaf=Q-r W(ck Z'NQo\jR  8{̙V.(.oiɢvSt"ΊOXܸ H1 \2F7!!YH-C[P"XW\DD }!WR7ŀrERL/lHȑL+%\*\ M=C `> $xphRH0p):+ Nb`21.+%(\8EVI?!:H#,|ly*#>#+򆰄 1bh$[2+]Ǩ6PDгa:#PH#aak2L8lQI@7#H4?"$|HRGm/U (|j',QxO>mx29E| Jjb"E,B ta)Q|RA*0cQI7/b7- PSӍ۠(ɨr/\T"$턲H֦u| 5Q`0Gbb$$ bFhCܐG7Ā;4m$L7ڎwDX{;cAǝK$Jh[!KrJ@PBt"@" Y ZB+ >#  6aazzCq-_* jb)1u8@ k)# h#1lZ*°~X@ |h1. Ib{l7:ڐqSx H!g#pш7#@(0N pL1nE<(6|` @Exh4;^a " Q@!86 Pid%ЇnnHAЖ

o&p>0(364%0`DhXB` X6 0&PFp8U#5 Sib $, (h :~!؂1T8Up谻@ (`^0a @wB͘EЇ>$̼^0$9c$XI%BA8 HSl  a+F/O ĠcWr%шfy! aw h@RdGN9\cO vC bp0 QMtJz$ TpxN$8q )E"]̡:\-zqs dA1`q~?XFp\HWX P$C (SG=V.*D`,aAȢ(A0yf<8!!!@dep$L(TB+J qXϺַ-x {pu.a YJ)!%ȁ琈g=_0{eVTzὁeK: Ri;$ k|$Vq:7&:#oV./usr/vac/html/zh_CN/doc/compiler/images/ngvconc.gifm$GIF89a_ Ã(2=|?j=eP2qy9s?y^9K<'4*,_ I8ͻ`(dihlp,tmx|QhXFKQ(8*Hea|Lp81 'p0 rx\1 0,&xx 'q quMpu {dj%u  vxl& Sh z~'  bq﩯 v:s>t@Jŋ3jȱǏ CIɓ1";} kp$_q:7&:#p_./usr/vac/html/zh_CN/doc/compiler/images/ngvgloss.gifm$GIF89aX Ã(2=|?j=eP2qy9s?y^9K<'4*,X I8ͻ`(dihlp,tmx|'Ga)40 QpTNJ2J)X$9bPX!@} Q%b@emdf{ TT ke  w Vmt  ! ypdr $ iЄ0M@g@JԘ AP ~(Bׅ CIɓ(S\ɲ˗$#; k $q:7&:#q./usr/vac/html/zh_CN/doc/compiler/images/ngvhelp.jpgm$JFIFHHRPhotoshop 3.08BIMHH8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM8BIM@@8BIM  JFIFHH'File written by Adobe Photoshop 4.0Adobed             "?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?GMe/alg#@3So5/~Mп_/W_??WxCMO'Jqwn]5ٴ45ekd@R_?;˿5տV?}?|i/WŢul}Mnc-~m2譂ctC/XKm?;En3?¯ G Y/*}_'ܵz[kZaƮ&۷oIW0GO~#Byrs_W2nCZ2o8Ü:QPUXi}>z//? ,dKuJ?a!coTKp~ٔmhac an|^c3(6SX[{ݮN?/??P羋?9 bv>Yx_5oxG8BIM'File written by Adobe Photoshop 4.0Adobed@       p  s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?OI8u˯CWguKSʢXiSH.@Q`_.gǴ:\1ec>(!xd:^3R$Lh3ߊ0/ ht?4O)S@Fmm?P}?LgX%QFTf۞ϡ˥<frq(c }y!#kAS PDkiK7鄢Of-cvw'疀R}K^"WMn,Y#S2<1M5đhvU o{ K.v;Yd#BDDz:Ӟz8m^@@&v{Ft|?i]VP [i1E72PSs5i#FP<zC ۈOBRw!y0V}ns/ˉRK@O hO1J_H4 Sr$`n"F[w$'$n'@y|Tn}j4Z!N}~.!q,kaij5~ uD~Oo'y#˟ڷθb]|d{YlkK5 Pwvik5Zf=LxDo&ktZK i,3_mqɋ5"28Cl OrL3kW6ꜮݧJ#d/Tc/C8)5o/hE/%jE8♬SrIp *hϳϦ͚'4sac<;wn*xq͏,dʏ/2˼Myk_v~4gkI\nMJnnZ wA sFuݓ]C!,ӄ1c>.)Umߗǡ }+ [@ JrZ9LP:QB4t;KU4BW~h 8IRq%6o&E A$KEe40Ҫԇ̮17pȷ'j*سkνËOӫ_ϾG; k2$q:7&:#t./usr/vac/html/zh_CN/doc/compiler/images/ngvtasks.gifm$GIF89a= Ã(2=|?j=eP2qy9s?y^9K<'4*,= I8ͻ`(dihlp,tmaTS8ƏRh<!M ĠhS[Rrx8b0&Dphp+  yPviMo UL ip 8; kD$r:7&:#u./usr/vac/html/zh_CN/doc/compiler/images/nlbakcmd.gifm$GIF89a3f3333f333ff3fffff3f̙3f3f3333f3333333333f333333f3f33f3ff3f3f33333f33̙33333f3333333f333ff3fffff3f3f33ff3f3f3fffff3fffffffffff3ffff̙fff3fffffff3fffff3f3333f333ff3fffff3f̙̙̙3̙f̙̙̙3f3f̙3333f3̙33ff3fff̙ff3f̙̙3f̙3f̙3f3333f333ff3fffff3f̙3f3f!,@ H*\ȰÇ#JH1"/ x#nj?܈cI"I4cɔ+ l&͛,sTM?}Lœ&t 3̐64J)ʣC5M4IH&֭gÒ۷pʝKmӶftgGxVXݯjw.0cw qė>mUb?eX3ͻRW>aҞWSUНW:ڰ Z¾yp?: ;(}z׽r7TWM[q姹2juܐ> 9mϣ/+r[tSdu6~) gf w;)`n= k$r:7&:#w./usr/vac/html/zh_CN/doc/compiler/images/nlnextpg.gifm$GIF89aB3f3333f333ff3fffff3f̙3f3f3333f3333333333f333333f3f33f3ff3f3f33333f33̙33333f3333333f333ff3fffff3f3f33ff3f3f3fffff3fffffffffff3ffff̙fff3fffffff3fffff3f3333f333ff3fffff3f̙̙̙3̙f̙̙̙3f3f̙3333f3̙33ff3fff̙ff3f̙̙3f̙3f̙3f3333f333ff3fffff3f̙3f3f!,B@ H*\x 6X0"E1f#G-N $ć" jyrȕ)ʜ"ȍihRgB)=ysb̖9Y e4R'ZٴϫXg͊*WOiJkTI-۱'Pi=u9*XqRKvݾ95KgR ;Ȫ~#/  k"$r:7&:#x./usr/vac/html/zh_CN/doc/compiler/images/nlprevpg.gifm$GIF89a\3f3333f333ff3fffff3f̙3f3f3333f3333333333f333333f3f33f3ff3f3f33333f33̙33333f3333333f333ff3fffff3f3f33ff3f3f3fffff3fffffffffff3ffff̙fff3fffffff3fffff3f3333f333ff3fffff3f̙̙̙3̙f̙̙̙3f3f̙3333f3̙33ff3fff̙ff3f̙̙3f̙3f̙3f3333f333ff3fffff3f̙3f3f!,\@ H*\Ȱ@B8Ċ#^PcG%jq$Ȑ(!f$YG$UtIS&0U:ɳgϜ +9EFDcL)#ԧQEޜѪU-W+ί3]V&YoպMkTh\I҅ToHXJF8 ,ҩQ=+1ᣈssqѬaMiӤ ;w kL$r:7&:#y./usr/vac/html/zh_CN/doc/compiler/images/nlrelrd.gifm$GIF89aj3f3333f333ff3fffff3f̙3f3f3333f3333333333f333333f3f33f3ff3f3f33333f33̙33333f3333333f333ff3fffff3f3f33ff3f3f3fffff3fffffffffff3ffff̙fff3fffffff3fffff3f3333f333ff3fffff3f̙̙̙3̙f̙̙̙3f3f̙3333f3̙33ff3fff̙ff3f̙̙3f̙3f̙3f3333f333ff3fffff3f̙3f3f!,j@ H*\ȰC QbA0jF?^HɌ%Q i%ˉIn쨒IilY3%Em>JQ-ED(C/lpgT.}j s'L^n̤hc~1(O2͆YϷR*ޑ|vUSHeT׊(y]W}VvY֭IJ,6a9 E=ٲuYTlη{*̻CȾ O-0 ;k3,Y k궢$dr:7&:#zd./usr/vac/html/zh_CN/doc/compiler/images/nrcharty.gifm$GIF87a>*,>*ڋ|Hf U .:?bG^􂓡EA8^IJMX5F)f7~obإ8kZ$kӽ Q.(HcdVH)EfqhIy xv +J䉹[[iWXJZ3Z9e7ܘ{{Hq-Ũ^,8N>#F-מ &MYʎ Cb{ \%B}/Tx1g C2r v[Ջ7e"E *We˗ iڼ̜$yl璠@#gңL20iLӤr\Wӭ\ű%TȂd5Zrrvc1ڽk ;Ovmo)Qa)Hkn˅0L8rWs5֗ ɜ kPX9q`DUSf|{ԝ(ke^<ȕ;#䑵 pOы7`/O=\̍5#C1GWv.XBɅ NؠkfA^Q>UuuH"SbP"b.cAP;3f k*$r:7&:#{./usr/vac/html/zh_CN/doc/compiler/images/nrenumtd.gifm$GIF87a , ڋ޼Fdu"@Z yks hĢLW] Ai?ࢪjܮ㩇$F;]FN~"2d8X8y27`IBYjzZtں鹩(:K骻 ,sNfKT]&sWBM_f+5[_Vdvr=VsZ6 (Z}&way|ɥGgbD_HP2.IqA1 eK0 PVPN^eaLbI&Ld; k$8r:7&:#|8./usr/vac/html/zh_CN/doc/compiler/images/nrenumty.gifm$GIF87av!,v!ڋ޼H j L{}¢LJ J>&zjwdQ| v쎨e/gȂXxxi!v(hHfFЪysYXڧh ,yL[S;[ +|J;~^,ZU?J.N <f[7p\6fzŒ!6z-j[JߔI k D:yL@`6i, ˔V! Ф/1sl[;MuKThBg:ht'vĠJK 4u6v\rܻn^]6xQdXe(Oub5aq9A>:brT:>'S=;n)dM֫jF>k֌W0ԫ{Mԩ)1n=8%Mj+ ܸ[Tq|8:6K_:oӌ`.`Q; k$r:7&:#}./usr/vac/html/zh_CN/doc/compiler/images/nrfloatp.gifm$GIF87av+,v+ڋ޼{Lّ"&qH? [&HLn$kFsZUFԫj &^O*w`Wh&&HxW'9YȹSة68٠yii{) [lK9( x;{%BJ37 nFLX\^{-},fߝ}3aÍXBK9x ᔀeb- (?r, Xp8wi,qR? reFR3MSPU0I9"OV&kiѤEf.U Ҩ4Zx測|r`Ɉ-(Gx+UiڹB wFl\^ʼ\qxutHay&hўF mfN3fOYҴނ=lyl+Ogp5Y;q{_s3*B 4݀b>Ka?ONJ$3+X}0`b<_^8& `,5aEHnjybV)hnbT#vHߥcR+D17l5P6+Z`5HQA>ɈW^k7pAɥ!e)weLigUFtYjf$')f:Z UI^W䒠uh|$LL7bȘn:~Za|Me I6K>t~ʡlaECk` NpXR:=nl̉q|;xZy#'L1.gj$a4)?JWtTљZRИ]ʬ5уbu+|B)k8^7{>.}{k/ױf>ž]?Hߟs1%sWC..DhcOB[,Io+ "+: O>&>iL~8p4a1PH$煰H$A$D2 KT9*qW& aq\F;} k$r:7&:#./usr/vac/html/zh_CN/doc/compiler/images/rucnschr.gifm$GIF87a2hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhᙙhhᙙhhhhhhhhhhhhhhhhhhhhhhᙙhhhhhhhhhhhhhhh!,2@ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲeE`tIǙ6s꜈`ό?5YpA8X3(ӥ,jT bݺV_>mVgYh#M˶mͪVn:XuδsB{ת^Â]̸ǐ#KL˘3kFv穟C=*cg(O_V]:T$a/vطs˻Oނ<+hߣ6иsA37|ukνËO?ξ˟O}g%F~EZW_q׃Q藄!ȠA=4yHeM\S!F']r+W݈"Ym% X3GC<6\Cw_Qwdt($%U{-hX`s e`)dihlp)tֹ]qigz"IfxhY(wᣃݤ]*ѥ**|\U`$Q ^Td%".vR'8(6n7 P7L]UYW6+dֹ㱋n?%FֽNK`o|^JyK؄*j \wmuYz(! {qnU\&K,ֽzʕj4U8<@-4y;¯ k$[r:7&:#[./usr/vac/html/zh_CN/doc/compiler/images/rucnsdec.gifm$GIF87a'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhᙙhhᙙhhhhhhhhhhhhhhhhhhhhhhᙙhhhhhhhhhhhhhhh!,'@ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲˎŌfK6s<3eϞ2 ,4â*uTPP.%T*éV6#֮`ÊKٳhӪ]˶۷pƝunZuW捸W U++$*<3Q.2 _˘3k̹ϠCMӨS^-װc˞M۸sM'>q"ȯ[+7t}_;,ӵ`&:~a[OqsėSeLfLkB(vE]~7'dF(Vhfv ($h(,"k~4R4c7֨\3՘@&?i9gRzi 6$HLjsNqvM"(eT6ކXBol~WɠV9'yֵ'nih rޞ&袼%hHn \'٘v%ziYU'TBu}U}aʚlߏ`2NLmV_]G7sҐ-=GN \FQOʹJ$z85**x' 34RWereE(Xb33[2OM!uZc;|n| 'c:!r^z:ԣW(:;IzJ~2ūCy+k{{juGȻU݊L14,-o觯S@; kꪷ$s:7&:#./usr/vac/html/zh_CN/doc/compiler/images/rucnshex.gifm$GIF87a4hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhᙙhhᙙhhhhhhhhhhhhhhhhhhhhhhᙙhhhhhhhhhhhhhhh!,4@ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲA`tIÙ6s܉`ό? hà)Y(ӧPeTJwjݪ*WY jtUaz=jѬȱp~KJ1{Lrpa> ̷ǐ#KL˘3k̹3Þ%Mz#m*ց[(欵K枸kގ>ٯa7=5s1FWNuɅ6ݾ,sËOӫ_ϾQ>Ox GhhHS RvKŘebAXj%Xaw 2ؠ|}mqt-uUi"uie_+xY#vW"a;io/(SCR$"h6ikGVuK&S0Ζdl%dքTXip)tix|矀*蠄j衈J$&zgvBꨜKJJ餘`q&Y֘-V*MRpO8źR]w+lvk)I*Y6F+s^jJԦ%\bb :҃@Ԝܒze_諌j 嶧vFp$n&fg _p' ?,FiJ٪+&[uaԿ.W/T5a5L$Vn;[k:.ͰVh[^M%KԐ MXg\w`-dk; k`$R s:7&:#R ./usr/vac/html/zh_CN/doc/compiler/images/rucnsint.gifm$GIF87achhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhᙙhhᙙhhhhhhhhhhhhhhhhhhhhhhᙙhhhhhhhhhhhhhhh!,c@ H*\ȰÇ#JHŋ3jȱǃ@~r$Ò&2˗0cʌR`͙ oϞ;^УH&]z(! ȧ6ipO`2U9CbY~DKMcM:g݂wp/֮}Z8h߲n]l(צ>Zjeg6rΛR;1g̍J̚.L =!쬴=+|˸1YX)im+μsßK9HnLr-ѱOaܻ8ˇܲFXDf% 6F(ave_QUT5{z(∮%gX'5\}7RXaz*ۊµ袎$ gF@ d"Y%[UUe06vgݧW9%ifٌ>)dDvZ|'S\.(}矆Z袆Y$Gn(F8](zmUI%`Trjo ꪰ*$vl[jlP~(%T^a-(jF+VkfmANc`(niT^ڨ{ZTk+M>{/Cu*ٕiˮj2v$%֋~2[gݿB V)"-Kw3BMLDUK[LC3ʥTb(uSbg;? {FZE<s(KLteg2;xKn9mKϚu/+NmVnFL=|to#-ʹΜz鬿Fxx^3JA3{z@~+s7 :.;Wogw/x;I/fe?fCLr  Vë>[5sQx_F'g)phTgIy D+81 nhkSXǞV3-} lXG< z`7FNlԳ k00&@ŭ78݄"6kXF,(MYœ2fi`\^-w"xB2Gh)] qviMBA^ fSax&5oDm< cbx*];2##Ip#&Qg6g**! J9ozwgkf@@R~%H\Ϙ#>fJe#a% sQO{&DQX_5@@@nL%)kF[oH85YZ10d3a@="ly"4yЇi:99 (/ZpԝlH?sH~yFJͯ;)TqLq"HajIxRiO&@1BݗLԤVct̠INVU-6stVqU-X8ʰfԭj]kLzL"r%t)ͻӯ#KԮu)tfPFVWCKtNɲicPzi-7e1'~mKMZUpEk ۺjtI]&XⶣMkkUߺVT5. G*ЍtK];q2 k2$s:7&:#./usr/vac/html/zh_CN/doc/compiler/images/rucnsoct.gifm$GIF87a&hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhᙙhhᙙhhhhhhhhhhhhhhhhhhhhhhᙙhhhhhhhhhhhhhhh!,&@ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲeA`tIÙ6sԉ`O8gQ/ EѤ JӪXjʵׯ`ÊKYRϪUΥiK6]wc݈wU7^} fwa+^̸ǐ#KL˘3k|ϠCMӨS^ͺ5iΰc]50ۇ?~3\Ն_KmVgYh#M˶mͪVn:XuδsB{ת^Â]̸ǐ#KL˘3kFv穟C=*cg(O_V]:T$a/vطs˻Oނ<+hߣ6иsA37|ukνËO?ξ˟O}g%b$E(mP)HU25!TqX\}we :hs1xӈ\R{%']u, Gi;֏衐=~Gd!t)&.ƈRSVXase`)dihlp)tuiz 盃O&+jwN8viK'qI%5VG!vj+{ު뮨ڧsYT*T,ˆf:XKu*6[bhmv\M,H"IzTn[՚맻k"&^!a jJFuyA]Fױ /,=7qq #1UǬcm2l8oad;m4xazvR~uLDSq.6=bw?6x@h(r'#YiyRYxZYX*ʘI+)9 V'+ QGk˪̀Lͬ\]( W܋(mIMs݈|^=m>m'޾~o\a;H-?,A_s-b&cg͝sԥ ,H3wEW28*'ILBi#ֱ^u΁R¼k[K!\hѪU1Ħ#wT)Il:%jS1AB)tO[.b7\,5`nJ)%G(&cP%݊ͭ2hr)ɧWhʐRNc{8:K"f:$g<̛;?dZ4==ڣ:˛?ߙ[գ?ۿ/v1h nq`C ⅟A8axhHwXzb%*h߈H=)θPa|HcYE.YߏH: e4YY$xZ Vx b8$afVfވ&jbf,^yM~IqV j%ebgJ2:Q )NI|ziun'Njꧏ**i;kk lKlI9j*,2gӒw-R 뤶r;r:f(ߢt&[oFB;ooyoL _p> $ŵ;1?~ W<%ux);ױ+rs-5|/ϴ| -(A}D4M爴QKZ]cXs)?m.Mh׍ph6 /-ivߍw޼5/4$ .݀N8ΉW8xJ)vF69zw6螋]Ns>^밟;kz{{z{<|H o|*|7=O1g}q{/j_&i~W;= kr$s:7':#./usr/vac/html/zh_CN/doc/compiler/images/ruexgrp2.gifm$GIF87a\,\ڋ޼H^媨z)8u w#;c@.s{9l2/S몛@(gbM !{q|c7pK|zF&aV>tŤ65F8"hw'%7ic9byWyyH֩itzv*k+I"l l7;˚ZK4]G= *h ;:..Liy~~>Ϯ9yi=  =eD*qlaĈTjT4IQUI#+UN b)qh91vUdүLl]Y$59;JX>ZҠ^Vtm< ue9 1I w&Bz{əqi|c:k*|mv[(Ql~%^$%y=lm82Οv;qN~:Ǘq{6Vƻ/4Y/yxo6~=Xf`(Ƞ!YUTqx`F Pnȡ!vHb&b*b.c2H#5wchc-` )WD$d%`<2^IN jT~Y褎b%j xFI$_Oa"u~'mqE&Kh}'rh:{>a^JiVz坛.x* *MzJhxjin8뫷Z6 ,h2*#iҶ݆:N{ o枋n_ ozދoo)% n+.k9kxqϘ!w1#7K)yr-S21Or <j֬Ϩ,3Мn곅BytEys:C-T/WR+obM6];Kv1r΍l 3W? 5 P ;.4HC @Kk>3r{^菛1,>&밻^𨳧M{{{̷<|8/.Ư|/:JO}t}k9w=s|7_k? p,hi l "  ,AQ0t;}0$fu _}v[2v!]}Yg|WF*Bx$Z\j≠]),f[R]FW}*^謴֪߹(i(6$~<+O3 ]8RzH[rYddrcZ!#e꒧q]% 71 p)yVخ'Y'eI$&aըWJdOJ# ,dTה;UOA%U P@,PS1p4*x*hoP.rxJ0j wWk, I_^ `.r#((@#TfPe1`Sf}1Rf㔙<xb  4u*Կ wba46٤nӝ)밫zgn/o:7{W#j l[b їow6^\oC L!'UW9H e%>Xɱd-Kƚ 3x^(2z֐uO+L O}+_*F>9ѯ+kztCE;VLD X?L1 ]5Ci>G2FY ؊b_1iet$G*ाƠьDd5ZcSXHI%(L&=Vb 8+.b$K2VjdU;HD`/ Z}5@ ȀO*?rfRj#t4OXϔ $9?,Ҥ 6ɛv$ʀF:6٫ 4]X~ 2yWt?dPTЛXcJ:VB=hّ|?RW# 5є:idG ? -ފV仅6x'DtR NI?%|fDH ^z̓>%YTuK5KV WI10G!vd_E5[9›Ig)upmǛJ2Ӽ5yn2NubJIgiZ\QX]:n +@uU HUj 0hdቡW> }tTFkd]\k xKp}Yq nd}dB;3 l,{JCikڽϤ9\rJBQ?r}f Tm wķNVKUZeMpH9ĥ%wQT7q)=E|5Rdr -&qׅ`#<}ZI_HVa)tLUW_s8I3SW~Zx Cc8X4bC#82D{DD2SRWRUeĥCmKL$t$p֊X>EhDA֋!<(H@/P333@!8l12%C2M፵ ݈.J6%k q1ӆn8+ 8p ) i(9 'vc[m5c΁5:hV.+b:xX5 =2x[ZSF&:w'Agq& 9ґ4WT3N+Ե@(%3a8 &AuYUja)//mHarLgQ% !'. *(Q%B{b 5֠(1IX"qjx12&a" %`" Y1. +a1a?I\i:fateEL$`"%%1 .[.x\2sXQW1-q/&y' : WP}0|h1'3,/|s ա312o3U953ʧ;!y 'Y:hqb&`622Qtc6c *GSU6<;#//r,y9CD3Yٛ%) VMQgs U`T)kc#)RA7%cM!/e31C)VP4AäYUz|ڧ~[10s(+.3NZ%2)JRJ:x)pr.i*U ;xpuʦ;P1[W qq]C 'Ÿ ),!IOJ:`Wɀ%0s8BLe"T(9)I.KML1VIQ;84co F%TfNVĔQStNE1)y 2ia gcr߉Rk 3癞9[k { J?K(C E{')**܂ 0q3`ɞRyPY1Z ֐lY7+1 ,J&.z82!vS.)@./&;#R!+!JL*44P𻮆!ayq *z3ꥳ\*_z8x"If + /mzo2@pп:K&('p¼ `3\'ܿ 7»×>×@2|-IJ=, &!:T ?UZW\Ōz/>LbLIY<е۳ ɐW+0 ta/?f@^ye%$}zL F1p7$ƈ?LEf\sV5f`ySdAnYf|:舃}gr8, <cOtgL,8Vfz@R 4@몀AA#\+0 ;F(:ꐾ[ STqE[tEcqF]d$tz{ǏB D ybH+HkFDTrK.cEJ04H2,rpLuRRD'3.*KkA<$aRӚRP$:;);qNH#=LJgC'դL:BIݪQRK5/C} iD|T'f i*ԣ"֨<)ZjA3x^mCn]U*v+o*H(n֛q%&YߎVLm/AdaHahiEþfj<|̀E`ƃFfYě?@ `n-bX3OHTjMRjO-k)QIi:5u =p-;ZX(`@(b(ZcoiT TH];zYLt,@ wawG9A P 5/ A}GD(~&N'1AH؅'.aA ^P /z MP$\a MX ^0$E /;! ;!QC$bxD$&QKdbD(FQSbxE,>yؗE0Qb&',hF8>4!!.{c 1vx\GD&rt:t!H> IM^,y)BۙD". +yIT+cF! iI•!E.)?2-c!#P+H29LSfԈ:3_RH<%e æ": H폈@R=9Ayζaa D$Y y:Kr0J|/7<2A'(>h|P#i p5,Ojת#&GVp VZU ;nN/|B̓p#A:Ohjz̋WB/x |x @%!m/?!{/~Gg~|-ӧ~ߠg->z_t_AQִ+GgR~_XQn#q $m-Kdk8/mˊV`?ÿҿ HKh'@oZˡ^B A>) &o@@wQw Ā,  :H8u kA,L ,< \1C(0А)L0 7wq@ʏC@+.@B Ĕ?BC<,XA8FT @X8 *;P?D񛂜Ȃ) SDDRV胿zV@EqCK+{ P5,+ Ef,hkȂ, H^ X0\ȏJRJdeĊӽT@gVAEkx)`Ddl0EvܿxGx$y>pAh,U܍WŁq`cY޾Z8k;t9Qe TGkdkXHk@FkJՑdWB lWHa0%5݈/M\l.ugHWxv Pd BԒ͚! tsf^ Pi#d>iHg`fFf MLB 3F3"c-[FeZn 8̌xM>&00kuP,]EnfDfkjՐiu0 k uvϸh~a '5LC\ ֋(Ľfd~VNˊh`5T,5Afd][n?ɖ Ҏ&FVkܘ~ea^m֨ E]&׆U)'F^V0ȺJ Ϫ jSp=^ئv<X+*:XUtJ~oh+£g F J0vUk*U媙t!!9˩lI/Gm9A'uRID)K'k 2,>6MU?jkn,z)M-UXLo1 k *qirSz&'3[\UD.\tAsL}5X\_HESneS' g̑UW]ʨct~P?Q_H/=]/4ج;cC<$ΊCCņ R^ sGmSؒGGRoT}/ngnm2y:gYfesZ8]\a`Q`݁(Km߀zňV DݸwϽ=ӯo>׿1:O~B+xg-`Zkꩇ Y!z!}a8"yaRܽ5v +XbQ2y"'=%7~("EiԉIv iђ*Jv$I6 y_2,= |9Z# |{]ZL~`9')ywPNOZYgHZI_)nAGh i;dz)D yQ]HzLj|w2^{t2G{, y6᱖ZM*ey0Fc?*y -;ۑEdK%Mً5V F|t%4Kn~3[|B҉0A&{X0ezG֮ kOk 1C9!p$#[Y+MR<[4Vh]u7cHkeV|+26* d%gOK_ՆoD9Dd:ҰPq k#4Ҹ]lMeCE-*]G]?-5#ռjQ[!ΩHj`0A^>8wv yzPFz ?{_cf,C.3k0w oUH35Wqۭ=S00;[88yΪ$[@oI'+E%]xd  "C #[f4z[X5 h=c<A{FdAb܁'+K?4UGС h@䝮7 ^#moҀb`EgT:.pb0#(85G;%&; xs""AyJ`#'xgI집 -2P'P&w$1%eH0UO~5k( ԤBgH%L쇿*,j8$(@4je5ђIA71\;'u\ a3je1>V+:X97kd)7W+dٓ$!YI ZGŦ?q4Y| e RKOʿbe!7?u39I,&z+l0Yy%ꄣ+D(#u YfCZN6vmN|ɉɚiJ{:q&\BaHfiXLNmKr傷m-=N!QyF'&rO!N7-moԗ>Ζ # }|kCN9soeK q|:!qfHL27YK wb G3 /Suj2`d҃TkNj!?CRޖmPdXf dcRAd~7 %:@QTf:ƛyəZZk%S l _Cl!#s0lzkg _1r䇤/?f i9Au,_0̸ ,P^S8L Cfv QӲ5 !.ߨ5xd\t!<dQFI-gD  !ޡauFX F ό! 1I -IΉ8Gd $D[AE)`l \yU "ޜ$ؠ0,͵ !ʯ@4.̧=_ٽlD7UH UlH/.Է@)CI4N,2 6nc^k,b< ?zmȍ'Yb=9Q0 E Y$sD\ ݐ9^IqI&? |J'mDxL6    `" [#6d 5ܜQ) ũΜ$zM"H|JXubPX_L!"e# H!>$:Ў5zx QP\aN5 Fd|19gcz̴"Dc&IFʕd߉rNF6 m"J~6২_/ٞM $\< !e@d!ZGZ)Em]_"SxZU@s9~Oxu548u9b yUˆfRhY|Z'=ȦIْDRNQ=dILh/ebPxD6QHq}rA|ZUܬ!>Y)}&{Ih"=W 'tް#zGtxXNѕ8k  t@d8Thv}H> (nPΥYٛ50 Hy(: N$%cHbL|r%hM]mT[Q 凘,I.-jѣd))Es"!n+ y(V׋ 5@1{ Rp@$\CPIC ilHYc!*@hIyB0qjf2W7*RO"-@k5@qDrL574g8,ש9T&(>š떠zIF# N)G8:WE~GjxQkA(ISSn9@F ۨ4ԫ`(^ҨBx$% iA@C*`v=tSGTJuUj niVycҌQKhIcs\;~gF:WcaXS^^FU=1Eeui*G(ZHARW@7ӴaފRmjZ1 aY1QW>cKWTcZES<DT*/m`DlvSWIV.FPFhoH&MWR0cSE]DQ"!e|/F5oGT^j239JE,04iSl@ bgB13a$KO1m fH1gg@gh1kVWV"tq1C_/V+\1ϱd1E{q } !rq|"7#cz=$O2M(@02%g &wr'[2{(1'JjBɹD2`%Y,!2&ATkD){%ᆘݮ ʑ H,-r 24./G2K(*#*@) kBH 35ZC4n44B`5K|\zįBdڎhMǦ*\<4TCI\ȣsVC' S,ULq%q" Y3$sDtM@LTL_`덠$fVe?gd@pLqe4>WMOK4U[D+S x J`Yټ :J[`8DToUAXu]#KKW\k]_5(_K#/sLiMׅƴKDKj}D}~Ff~Ǿ5о>˾~ӾNڬJo|۽ڐ}QXO;tHLNyYkKO3=[ ϻy3΍3È7^˗߿dYڕ v?b-)ۿ6c[|~ׯjkdd`*T[A5n3%Rˁ)\UC bjP*FzOm܈>t㪶LLu=]1X"*ҕ;' ܊(L \Y-TMwNd u jw+0K<0Wl=fX#h %š7΄&ȱMV\4PmD,c)[,\<D\ ^}5`ۢ4H(Zre ٛ+zq=k[i^bBՋ?QHeBl]B;=o (:蒾d<(8n5 A=*){2)l҆CltJI4{udJƾ/I=Hvϒ>}e$!h("~Rvz[a?XZ4NȸD:@{$:$egvK ?ǹ )R${*fAA„\D"vP"{51#1!hx0aDLh,D"NAT%x78 9TN~4Ƅe+!-W}q]]<8S=iGXn$|D>Q*}"E4°QB`>JPYYjI` qd"h\0&r0XT")ZG\,ˉJhfMֈO~SC'aFRI@(s)Ix; [kTv7~BYXih5%mw`!]|淵bgL$t(I\E'ǭ2SJWd&  Tc}o(@EeZ)OeumԚCf6*F6U,3Xn;؞rfSfe<:- +:Bё֑{D<. xMHFSUCidRMbDI+јo>:Nw&mh7S/1MeQAgU4뉌&k_epTV;3+>#Dm 6vݪbE:?JzmVtӶ!XZj-TvXw$@5LAVdз6;Qr3'̊H8m,L@ J\\]ZIg:ҕ^-z`_[bzm-2pEa{NӟԻ>tPcp<,H:tzK5 u;}2P6G$/r6/*TD_xn<.%p].`$h("K28EOa^*J@RdEd?,CGz!w1(E&D2x*Kb2?T'JP+rz]f 抹RM5'ARNz04+%/Y1\0 L'y"$3##.=1,/s44=4QS@s"D5e7Ь,Gtj&ƍbS6C-$oU l3)eK d~;8ir!%s8}l9D =Nf-4'Ū ;3q5; dj,(4 >q6>S V:@N$)>>^.3B@BWC%@7TTs$?R**t|)rm^͡wy#: 6 .'PB(I/3b&"vWqIhcV^^,T^¨UߌgX1tÉ8)$ׯ%jLGHI!T4df9E=z7iA03=){2ێ.!-u2.}f'33պE);=JÐ^GFRf4MfDb\c,7yӥ;qȠ'&Y/̂9*w_ջSj!Zc{E[vlSA.^T7&5`[`_Bsۼ;VԹ0 xX%P.42Ռ+!yW#f |Uһ#[1#$S`S5 ÃR%5YdtQM[.^B[ܮ=gdz/C$NVZ-؋ ^_Ew<ʳ >1~"i|Rx:ٶ-tѽmW ;~M=)uTsmG!I=YE Չ>!cG O6>"'+]N:GĬ;llEu̵{^^ E;O12쉰 D :"y{ 4 H5 _`XWd[_n1T{9 B̀\Bb'a.^m2nBeBV~/bɈаuɀ%`0lub >㡊eEqectc}m5U )> 2 30m%iM2l 9'\R5N2egQȥY+PY٢ <# niM'{H [!։(dԡߙzM*[Z~BRʀ#j,Fnm~ nkirJ6+ YhV^KLpf.k~9cQyy;UhR*[';&r%|V}~ f+l:LB) 4,[=r7kQg)X 5=Muk mDEVv:>G.|e׌K?2 ?9Xi|Yz)Î!Zd-vou.6 tq]2pC@sc]`w(gr[_ UTΝ!>{"J(FҸڽFǝ+d+ݯ}SK,P,H4|m1";e%+yT!:[ BJր\Ԝ睇qr+¶J> @ *Hs '=t)(,FInT3۱WI~4ߝq:3JhDJ`Bm,jqh2>aVw}ԙYF@MǍ҈̾ƚ];QAy4aE*U!z7gjܠC/j2ܤ'; Oj/'cO9.F4?+O~ԁ#_A)Z6fj1 {;szDy1Q KkLvP<ђڝ>nKބ] B)p0v&<$vcls;7`/R8u6.a! DanVP@!,`4Rqn=q?*ժXSqȺ tE1 , <!b'Uu,ƕh~'W@ibF0# .ZC&s( UP4B<-Loz[Dabʬ괶2{uFx+g :]ķR1FlT{T=nYO:7eA͉oe[|`Hz +^P3ewK]W +V6|;)@8Z &ZxG8޿}(/x}w Wd'c`7qvBx~dswqeva6ZnGqz4)}Qǀ xB~v#@j`7ycU~}=8c[q0@;]SHUhWY[ȅ]_a(cHehgik;~  kN$#s:7':##./usr/vac/html/zh_CN/doc/compiler/images/tuinvoke.gifm$GIF87a)hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhᙙhhᙙhhhhhhhhhhhhhhhhhhhhhhᙙhhhhhhhhhhhhhhh!,)@ H*\ȰÇ#JHŋ3jȱǏ C'ɓ(S\9$KaZϥ͖aL@ɲѣH*5aSKJ}*RLŪ׏4Jfٱ:]4,Z %JTXrtwڷ f JÈ+^̸(kJL˘3k̹ϠCMӕ!Vdհcv`k疭y%o߿)ԙ;gpޯEޞͼϴ ⺍Nv'8uywow';(h&FIN`V5!fh] RvmjbXzD*ŧH#k;fc8[2b_+CGG#Z[vihaY %^-]$eC]d߆)zp^BigD>|矀*蠄j衈N袋ɨSFꕣYHQ)\,n钆j期Z =E~qw{iJaBgטn '_`ڲ6F+܅N'o(u%gG^$r䗏+x*kҫm7I8Rl pY#HV 淝,bfkX\_[,_60bTea-%Ď&ui)7\jnPׇCfuui& uO{MVq%~LcNM`lQ=rw;ٯ$ k<$s:7':#./usr/vac/html/zh_CN/doc/compiler/images/tuoption.gifm$GIF87a+3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3f (((555CCCPPP]]]kkkxxx ,+H*\ȰÇ#JHŋ3jȱǏ CIɓ(Sc+ I͛8m$fϜ@ yPFA&ӧO6Y˫3bu'VW n83B^"-˶eصoÚ ݨU!&E۵¹=ra`d%[0ƏGխ㾘3k̹ϠCMhĎ#wVK Y2ŁΆmynԳ1NK<}LJRb䝷nuf ]r!Vzڗ݃qUN%JJwׇnh"'RdX!vk$Dd;))$N>)eHQآUN[P_v)DahڙYQ9fmigIs*w,Gy7ԕ4Lu"Fzb_>&鍝~j* 2jg]$騬jqJ꩒ZRKW& `Z":+d"*i^Ywmbz-$i[,S6zn} {t)|ٽG,lEւ+&\|% RK(,0s@;b l"$Ns:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rualnmac.htmifm$  et "<>adgilnor/=bcfhps.muvwy0:A#;FSTxz|(),-12368BCIMRkq%&{}459EU7NOPWDQv AuLjtUKKr4n"ap{x""j)h:.ՠ:E8BS `0 tBBBBBRAb1Au[dJm cä%95c |\:BS{lDUh?ASe0$%j, Zo)dռ%jgr1+PX @܍-d[HwX\臨mj)h?U=7#B6A]ckj sZB1ap"/Mb'Fe ۲ti<̛aFȮ˧Aȩ+Dzc:s.l="n=Ѧ$Meس(6.^Ev,7*SA܍/4YAuQ<`f mp88B* 8vM 7d臨)eQʔa%, P-S^'d莒j7SJMFkAu[dJm!95ƵpD i%p J\փۓ(c":@F,,klp=QOKr4,۠ۜkj sZ[vA&u4Y#bVnrejۜkj[vA&u4Y#bVnr!7cnrAm#Ӊd莛Z.X5 19EPՠW5MFiIJtGMĬ=C[V۲tGI5=7#lnAm#Ӊd莛Y mZkAsZn=$nK Dt܌J.SC[V۲tGI5=7#Jm4C[V۲tGI5=7#Jm5h?Uh? DtQq,r1+!(5h? DtQq,r1+-(Tݐ{M5h? DtQq,r1+)PՠW5MFiIJtGMĮJ.5h? DtQq,r1+-(Tݐ{M5h? DtQq,r1+l )PՠW5MFiIJtGMĬ>7S5h? DtQq,r1+-(Tݐ{M5h? DtQq,r1+)PՠW5MFiIJtGMĬIkj[vA&u4Y#bV[ PM Fkj[vA&u4Y#bV*SnA5h?kAm#Ӊd莛[d VAm#Ӊd莛YlB6nAm#Ӊd莛[d PMP5깭Ud莒j7SN%{:nF%p]BjڴVݐ{:IM8A*Sn=ѦڴVݐ{:IM8AB ۨkj sZ[vA&u4Y#bW Ed V&SF,(D)Cs\5nrpi1Cs\F[چUd莒j7SN%{:nF%e ۲tiUd莒j7SN%{:nF%`6b ۨkj sZBbj7SZkĭAb,H4Z1h:nr2.Zpqu(BBt`s!Xhˣk4Xr%{irƵvȵ"B"MhVZv|5#*SnDE u!k&-C]C:ZŃ%0CQ(ɱ|n=; I͹& ['ׄ*E`.8֡-Ab VЭCQ_EFT51:X2S 1Au:Z&ð, ۘop IlZd V@-:T| PkPN1`E+wc2t](DH "@Qkc'KAus\ mQr,H4Z1h:nrPiR0ix2SP/QZ.HSb!F0 QF |]E>Pi⃛sMP-A" A.;׉{D2V'!o E T5M:a 7|n[1RvE'[ F;$ ]DEچփX}A[/!nLi1Rr$"-da&ܐ.=q}g-(T܉Y1} +^NyQٖ*SnDE.yO5yCfLib6HDZɋ Z=ayȬSe 2hˮ4="&2,de]jz@PZ[ PMbQWeyF/ed )"B"LXmCAA/6 :ɔm2d!S)yO4$*->`¢,wF܊Txz5눀T*r=^C)Pzu " Aud@n˩yFL^d 1AuAxQ7\ {ِ}A=^h?7-kfkȬ thl+|}>2}@v]f!\EpAthmCAA0-AbmQrB19EDփB{ F]YÑ(ܳK5E9oB btFNc1|\|@Rr$"-dŠV>@Y1jjtF,)jŠ:-WkFMF[vAHH?mA7=$F-+ A?k"@| PkPN1`E+ hVZv"$aaFI $"N6`EC]C:ZŀXi btF-F,,1ؼUQ<`f  |nFEt mQrDփoc:s.e}y,S7d댭&AePl]N4A%sNeѹ,ey^{L$V]L6e֣nrtK19EeQ[ 4DfRk $VT"$L6[{-`AS=Qb!F1Au5:B%6HJrj1k 1.!)=XB@"VVSe0$%jxwf̑0QEӨL3RqOm:@Oqv:@+QZeΊ3#-b8*bV=12(f-DMh?:(tC!Hb8*bV;68XHHN!6"!Ff-DMh?:(tC! .ÂF%`a 7 T3&L˝:f!XpUĬ.tCoDBʔQMAәtjbDփsLHˠ}.ÂF%`8'@$IC1jڴVK Dt܌O Z#oqvZA5h: ZŨcf\0 LT&Q&F$Deo&aҵ<;fH `xv:.y0Xg Alignment Rules for Nested Aggregates

Alignment Rules for Nested Aggregates

Aggregates with different alignments can be nested. Each aggregate is laid out using the alignment rules applicable to it. The start position of the nested aggregate is determined by the alignment rules of the aggregate in which it is nested.

 

Example
The following example uses these symbols to show padding and boundaries:

     p = padding
     | = halfword boundary
     : = byte boundary

For:

     #pragma options align=mac68k
     struct A {
       char a;
     #pragma options align=power
       struct B {
         int b;
         char c;
       } B1;    // <-- B1 laid out using RISC System/6000 alignment rules
     #pragma options align=reset    // <-- has no effect on A or B, but
                                    //     on subsequent structs
       char d;
     };
 
     sizeof(A) == 12

The layout of A is:

     |a:p|b:b|b:b|c:p|p:p|d:p|


align Compiler Option
__align Specifier
RISC System/6000 Alignment Rules
Macintosh and Twobyte Alignment Rules
Packed Alignment Rules

Z kR$t:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rualnpak.htmifm$ Packed Alignment Rules

Packed Alignment Rules

All structures are byte-aligned regardless of their members. All members are also byte-aligned. (Bit fields are byte-aligned, but bit-field members are not.)

 

Example
The following example uses these symbols to show padding and boundaries:

     p = padding
     | = halfword boundary
     : = byte boundary

For:

     #pragma options align=packed
     struct {
       char a;
       double b;
     } B;
     #pragma options align=reset
 
     sizeof(B) == 9

The layout of B is:

     |a:b|b:b|b:b|b:

 

Packed Bit Fields
The following rules apply when laying out packed bit fields.

  • An individual bit field can be at most 32 bits long.
  • Bit fields are packed together into the current word. If a bit field extends beyond the current word, it starts at the next byte boundary.
  • A bit field of width zero causes the next class member to start at the next byte boundary. If the zero-width bit field is already at a byte boundary, the next structure member starts at this boundary.
  • A nonbit field following a bit field is aligned on the next byte boundary.

 

Example

#pragma options align=packed
struct {
int a : 8;
int b : 10;
int c : 12;
int d : 4;
int e : 3;
int : 0;
int f : 1;
char g;
} A;
#pragma options align=reset

sizeof(A) == 7

The layout of A is:

Member Name Displacement
bytes (bits)
a 0
b 1
c 2 (2)
d 4
e 4 (4)
f 5
g 6


align Compiler Option
RISC System/6000 Alignment Rules
Macintosh and Twobyte Alignment Rules
Alignment Rules for Nested Aggregates

1h l$Yt:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rualnrsc.htmifm$  et "<>adgilnors/=bchp.0fmuwy%v,135RSz#()-468ACFITx2BOjkq;MN_!&'9:PWEHYlYub$@:82ٕb0(IV!9dKbcMJ7 Ё`c^ F[G2F*2H42(p#lt 22KRF-G1̛Yɕ!41h {Zt:#YC0Bs䣛6%os`:.%YC $Z0:ɡй9oO q+B CZhNop 6=̀/`# Q9lV6Z8DTZ^sJ+ZolQJ95Ҏc%C7 Ёs;pʚ96d1oqsFwmͅ3B)9ʚq ʵͅ3Y$Lt{*.ŗAp@9d>)H >nָ3[^.a.IG5."J91j9d}dFLR2i-lc FM=-d 7%k{MBHɋZ:hRgr@Yt '\ss`"xx˲7 Ё`srlQJ9rQf.%os`:.%YC! LQT .;`$kbo5̀&u$a+{q-2Rgr1lT,|hA-#N5Iأ6os`: ]IJt\KF)̲@(&w(8G7 @F0j5G7F(MG7mtP0̀踖SeX`(-#[s٭lA5 # [h9PBul)F(M[jRFъs, !@#[skoܔs٭lA5 # [h9PBTezF(M[jRFъs, 0[S4lQf.%os`:.%YC B&95G7nJ9l6ԑlEĴb(t!@3zF(M[jRFъs,  l)F(M[jRFъs, !@N95G7nJ9l6ԑlEĴb(t!O0nY9l6ԑlEĴb(t!LB&{ f9l6ԑlEĴb(tPkborQo5̀&u$a+{q-2Qqt.kbo5̀&u$a+{q-2Pɚ™kbo5̀&u$a+{q-2`Bأ#\s䣛6os`: ]IJt\KF)̲@,0B]أ6os`: ]IJt\KF)̲@00B*2fiأ6os`: ]IJt\KF)̲@(:F(H%(M[jRFъs, 2"H}iأ6os`: ]IJt\KF)̲@00Bȉ!*2anw(Jx.oHӹF P\YU!NNoQ5ͅ0.9l6ԑlEĴb(tPkborQo5̀&u$a+{q-2S숒ZHoN5@@ |`DI;`qܣ/a@-#N5G7KFtlQf.%os`:.%YC! |`ӛCTdosaLLQT̀]ޑr7B:&k{ `]#[s٭lA5 # [h9PPkborQ̑d>s-I!@ H)#L^/r[\HMqeW5!zs{ f"R gG7^JP*[ssaLU;=d>:Sʭe('.[^:Rߖ1hHro $z&>n2Θ S,q o[~ʮnxܜM^(A F]+[?eW=y1ОTdN9<3""`XPHrd9Z4;*hpp 71s ^ܣC#N5G3UtxEK}zgr܄iw( wG0 ȉ!*2`l)p<>3F S숒Iw(>ʣ;;P*\C;`N$HӹF P'u k{ `S#Ij`Qs$&w(u=X48\  ! #N5I"J9"xQU \DoXADC{'gr܄iw(S#HKܤ5S &4QU<: uOdʰ$ ] { `]#=9(y+EkDgx,d:0h]#=9(zYk$S7BU&R^*2`\!su={2e^*2fDDNk]UpFoQ2"& \3ܣ/ṙ^qs,RJΧUú]"<^/|EOu6wUFL9Ȉ1rU`qNeúzQo"& \{*P#y;k]S0b,.{i0jrMiܣ&0xFt&o}J @2uOdO[Tpf)~Rk^l!Hrd%9d>Xph8\9D8^O\5D$iܣ挴5S*2;`n!5Niܣ&k*b >Ys{U TLQT&saL HӹF PSܣ2rDY@\DeVܣnCiܣu%exwSLQU7!4QUĺ2y;K>Ube HPHŨ9TsɵȌROykcɧeA21Ne:A!G7nJ9l9P!Ip#(Q!mʟ ptb(teSU!I"J9ҼPq!1.*Х͆An}Kۣ$(JAD̵ UB68%RHRHo*TtHJ $)V *t.3+\@ { _SHRHo*TtHJb[hPH`c^ FZDsyRBVAm Un%@c^ 2tÛ keM]2ԑ9lV6Z8DTZ^sJ+ZolQJ95Ҏc%#JA@P 11[R.1"aq4%DF g[jcA A% FDdʐ $eHEs$bCs  lĬ$St:7':#s./usr/vac/html/zh_CN/doc/compiler/ref/ruascii.htmifm $    "dnt<=>aegil %/01choprvws&24;b3567-Cm89ADEFISfu,.BTkxyHLMNORUVXq#()GKPQY@JWZ[]^_z!$'*+:?\j{|}~`AVB h)-(( )faeku4 S*1@IrKI-嚘 @h ֘ qqX R1B hIf L,{\˩%xSK=e&qaB5BͤŖdglXR )@,&k )9W BXŖd)-@(@8RY6p@@ b? rErb2:,Vbf5*_c B1A™X,d`^fWXn.8\]`:R @< 8jɶe%Spe @(@ ( f {=op[ LVl(@8dVMл@Tk[͖9)7$M`S u7-o,[']NS9r\x`P uxRx^fIuf$mu-]5@U'@l骢vY9`Y`S kfxvߠ-]5@PP0[4j aYu.*x . 3q%`XVp¸ / !^(WS{)٥TY@l0 `h fMP0[4j `R1B h1@ b 㵽ͤ,aʶ4Z^$e=.e2X1d T 6rb236R`Ņ -]5@- [xf٥TT 6rb236R`Ņ -]5@ &zY`it k.uͤ,ǎM qaH fMP@l@*?\{IYVc9osi1e)0 8K . QK5d 0[4j5ʄ:`U[LYfF{L8K(K\@šMXR٥T.M0[4j5ʄY?Y?\{IYVc9osi1e)0@‡5ʄ:`U[LYfF{L8 rEη%l636Y鲓,(q rEη%l636Y鲓Ë ׁ  rEη%l636Y鲓,(`NT [LYfF{L,*ߠkT T 6rb236R`Ņk.uͤ,ǎM qaDhBosi0K*lg-m&,#=e&XPhBosi0K*lg-m&,#=e&Y@VT 6rb236R`Ņ#@*?\-m&,#=e&m .]M5ʄY?Y?\{IYVc9osi1e)0@ rEη%l636Y鲓,(@*?\{IYVc9osi1e)0@‡5ʄ:`U[LYfF{L,( ^^T 6rb236R`Ņ T [LYfF{L,(-@*? f@f@sm& e[ ͤŖdgl hBosi0K*lg-m&,#=e&XP@*?\{IYVc9osi1e)0@‡hBosi0K*lg-m&,#=e&Y@\@sm& e[ ͤŖdgl  \@šMXS*rl5ʄY?Y?\{IYVc9osi1e)0@ rEη%l636Y鲓,(@*?\{IYVc9osi1e)0@‡5ʄ:`U[LYfF{L,( ^\@sm& e[ ͤŖdgl  \@šMXS*rfn ցT PP[Lʶ{I,tI5ʄ:`U[LYfF{L8>T 6rb236R`Ņ5ʄ:`U[LYfF{L,( ^\@sm& e[ ͤŖdgl  ;@*?\-m&,#=e&qkT T 6rb236R`Ņ4 rEη%l636Y鲓,(k.uͤ,ǎM qaC4 rEη%l636Y鲓Ë ׁ 7@*?\{IYVc9osi1e)0@€PfT [LYfF{L,)dm{-fT PP[Lʶ{I,tI 5ʄ:`U[LYfF{L8NT 6rb236R`Ņ 5ʄ:`U[LYfF{L,( ^k.uͤ,ǎM qa@k.s6Y鲓 cߠkT T 6rb236R`Ņ\@sm& e[ ͤŖdgl }\@sm& e[ ͤŖdgl hBosi0K*lg-m&,#=e&Y@k.uͤ,ǎM qa@ rErb236R`qaA+$BYkT T 6rb236R`Ņ\@sm& e[ ͤŖdgl \@sm& e[ ͤŖdgl Bosi0K*lg-m&,#=e&Y@vT 6rb236R`Ņ 4 rErb236R`qaEkV\@5EEη%l636Y鲓,( rEη%l636Y鲓,(m\@sm& e[ ͤŖdgl hBosi0K*lg-m&,#=e&Y@hBosi0K*lg-m&,#=e&XP@nT [LYfF{L,*~S4 r@jj:`U[LYfF{L85ʄ:`U[LYfF{L8P[Lʶ{I,tI8Bosi0K*lg-m&,#=e&Y@ 5ʄ:`U[LYfF{L8fT [LYfF{L,(n%oa:Pk5B5Bosi0K*lg-m&,#=e&XQP[Lʶ{I,tI@>T 6rb236R`Ņ0 5ʄ:`U[LYfF{L,( ^'@*?\{IYVc9osi1e)0@€h 5ʄ9{I,tIqŅ NT PP[Lʶ{I,tI@@*?\{IYVc9osi1e)0@ˆBosi0K*lg-m&,#=e&XP/@*?\{IYVc9osi1e)0 8*x\@sm& e[ ͤŖdgl k.s6Y鲓 %f嵙"mhB,.uͤ,ǎM qaDBosi0K*lg-m&,#=e&XQ\@sm& e[ ͤŖdgl hBosi0K*lg-m&,#=e&Y@k.uͤ,ǎM qa@<P9osi1e)088^X\@5EEη%l636Y鲓,(>T 6rb236R`Ņ 5ʄ:`U[LYfF{L8nT 6rb236R`qa@U$P[Lʶ{I,tIvT [LYfF{L,()N r@jj:`U[LYfF{L8P[Lʶ{I,tI >T 6rb236R`Ņ>T 6rb236R`qa@U$\@sm& e[ ͤŖdgl ` P9osi1e)08]{v%f3@*? f@f@sm& e[ ͤŖdgl k.uͤ,ǎM qa@hBosi0K*lg-m&,#=e&XQhBosi0K*lg-m&,#=e&Y@5ʄ:`U[LYfF{L8k.s6Y鲓 Y]Y#@*? f@f@sm& e[ ͤŖdgl hBosi0K*lg-m&,#=e&XP06T 6rb236R`Ņ k.uͤ,ǎMXPf nT 6rb236R`Ņ(@*?\-m&,#=e&,9ij$K~ kT T 6rb236R`Ņt rEη%l636Y鲓,( k.uͤ,ǎM qaD rEη%l636Y鲓Ë ׁ ?@*?\{IYVc9osi1e)0@€X5ʄ9{I,tIqŅKq,.߁ r@jj:`U[LYfF{L8a rEη%l636Y鲓,(@*?\{IYVc9osi1e)0@ˆ5ʄ:`U[LYfF{L,( ^fT 6rb236R`Ņ(@*?\-m&,#=e&,9ij$K~kT T 6rb236R`Ņk.uͤ,ǎM qa@}\@sm& e[ ͤŖdgl k.uͤ,ǎMXPf vT 6rb236R`Ņ,k.s6Y鲓 5v㙬 {%5ʄY?Y?\{IYVc9osi1e)0@ rEη%l636Y鲓,(k.uͤ,ǎM qaD4 rEη%l636Y鲓Ë ׁ 5ʄ:`U[LYfF{L8x rErb236R`qaA@>("tPk5B5Bosi0K*lg-m&,#=e&XP0@*?\{IYVc9osi1e)0@:P[Lʶ{I,tI@'@*?\{IYVc9osi1e)0 8*x'@*?\{IYVc9osi1e)0@€`^T [LYfF{L,)9`CWA@ ydnT PP[Lʶ{I,tI k.uͤ,ǎM qa@a rEη%l636Y鲓,(k.uͤ,ǎMXPf T 6rb236R`Ņ@(zP9osi1e)08WDPk5B5Bosi0K*lg-m&,#=e&XP0@*?\{IYVc9osi1e)0@€hBosi0K*lg-m&,#=e&XQ'@*?\{IYVc9osi1e)0 8*x~T 6rb236R`ŅhBͤŖdgl8™S0-"B,.uͤ,ǎM qa@\@sm& e[ ͤŖdgl hBosi0K*lg-m&,#=e&XQ+@*?\{IYVc9osi1e)0 8*x+@*?\{IYVc9osi1e)0@€x/@*?\-m&,#=e&XhB,.uͤ,ǎM qa@\@sm& e[ ͤŖdgl  rEη%l636Y鲓,( 5ʄ:`U[LYfF{L,( ^ 5ʄ:`U[LYfF{L8\@šMXSkT T 6rb236R`Ņ\@sm& e[ ͤŖdgl Bosi0K*lg-m&,#=e&XQVT 6rb236R`qa@U$#@*?\{IYVc9osi1e)0@€h5ʄ9{I,tIqŅ=VWekT T 6rb236R`Ņ\@sm& e[ ͤŖdgl  rEη%l636Y鲓,(k.uͤ,ǎMXPf k.uͤ,ǎM qa@\@šMXSM,a5vYPk5B5Bosi0K*lg-m&,#=e&XP}\@sm& e[ ͤŖdgl 4 rEη%l636Y鲓,(k.uͤ,ǎMXPf k.uͤ,ǎM qa@ P9osi1e)08XIf,fB,.uͤ,ǎM qa@b4 rEη%l636Y鲓,( 5ʄ:`U[LYfF{L8nT 6rb236R`qa@U$vT 6rb236R`Ņ8BͤŖdgl8€:1f7@*? f@f@sm& e[ ͤŖdgl hBosi0K*lg-m&,#=e&XP8P[Lʶ{I,tI >T 6rb236R`qa@ rEη%l636Y鲓,(k.s6Y鲓 5ׅcMB,.uͤ,ǎM qa@`6T 6rb236R`Ņk.uͤ,ǎM qa@hBosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€t rErb236R`qaL^-v0UB,.uͤ,ǎM qa@`}\@sm& e[ ͤŖdgl 5ʄ:`U[LYfF{L8`m\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XP(@vk.s6Y鲓 KـDkX@7@*? f@f@sm& e[ ͤŖdgl  rEη%l636Y鲓,( k.uͤ,ǎM qa@m\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XPP9osi1e)08 58W6'"+ZPk5B5Bosi0K*lg-m&,#=e&XPk.uͤ,ǎM qa@P[Lʶ{I,tI k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl 5ʄ9{I,tIqŅIoz¹kT T 6rb236R`Ņ:P[Lʶ{I,tI5ʄ:`U[LYfF{L8`>T 6rb236R`qa@ rEη%l636Y鲓,(]\@šMXQ4U\5ʄY?Y?\{IYVc9osi1e)0@€#@*?\{IYVc9osi1e)0@P[Lʶ{I,tI 5ʄ:`U[LYfF{L,(BT 6rb236R`Ņ 0#@*?\-m&,#=e&,u:Pk5B5Bosi0K*lg-m&,#=e&XPBosi0K*lg-m&,#=e&XP8'@*?\{IYVc9osi1e)0@:P[Lʶ{I,tIaŅHS5ʄ:`U[LYfF{L8=\@šMXR,-Y3@*? f@f@sm& e[ ͤŖdgl @*?\{IYVc9osi1e)0@€Bosi0K*lg-m&,#=e&XP05ʄ:`U[LYfF{L,(BT 6rb236R`Ņk.s6Y鲓 {,U kT T 6rb236R`Ņk.uͤ,ǎM qa@r4 rEη%l636Y鲓,(Bosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€ 5ʄ9{I,tIqŅy5e0+B,.uͤ,ǎM qa@P[Lʶ{I,tI5ʄ:`U[LYfF{L8`k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl 5ʄ9{I,tIqŅ,-\@5EEη%l636Y鲓,( k.uͤ,ǎM qa@p6T 6rb236R`Ņ^T 6rb236R`qa@ rEη%l636Y鲓,(@*?\-m&,#=e&[+ZPk5B5Bosi0K*lg-m&,#=e&XP8>T 6rb236R`Ņ rEη%l636Y鲓,( 5ʄ:`U[LYfF{L,(BT 6rb236R`ŅNT [LYfF{L,(-zPk5B5Bosi0K*lg-m&,#=e&XP8@*?\{IYVc9osi1e)0@€}\@sm& e[ ͤŖdgl zP[Lʶ{I,tIaŅHS5ʄ:`U[LYfF{L8'@*?\-m&,#=e&٫&]a\5ʄY?Y?\{IYVc9osi1e)0@P[Lʶ{I,tIhBosi0K*lg-m&,#=e&XP0 5ʄ:`U[LYfF{L,(BT 6rb236R`ŅVT [LYfF{L,(@*? f@f@sm& e[ ͤŖdgl Bosi0K*lg-m&,#=e&XPk.uͤ,ǎM qa@7@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tI6T [LYfF{L,(4½aJ5ʄY?Y?\{IYVc9osi1e)0@FT 6rb236R`Ņ5ʄ:`U[LYfF{L80P[Lʶ{I,tIaŅHS5ʄ:`U[LYfF{L8 rErb236R`qa@ r@jj:`U[LYfF{L8pk.uͤ,ǎM qa@4 rEη%l636Y鲓,( FT 6rb236R`qa@ rEη%l636Y鲓,(\@šMXP-0!\@5EEη%l636Y鲓,(>T 6rb236R`Ņ rEη%l636Y鲓,( k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl 5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@€hBosi0K*lg-m&,#=e&XP k.uͤ,ǎM qa@`6T 6rb236R`qa@ rEη%l636Y鲓,( k.s6Y鲓  kT T 6rb236R`Ņ rEη%l636Y鲓,(k.uͤ,ǎM qa@`}\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XP>T [LYfF{L,(BT PP[Lʶ{I,tIhBosi0K*lg-m&,#=e&XP k.uͤ,ǎM qa@`>T 6rb236R`qa@ rEη%l636Y鲓,(k.s6Y鲓  kT T 6rb236R`Ņ rEη%l636Y鲓,(5ʄ:`U[LYfF{L80#@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tI5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@€}\@sm& e[ ͤŖdgl t rEη%l636Y鲓,( 5ʄ:`U[LYfF{L,(BT 6rb236R`Ņt rErb236R`qa@ r@jj:`U[LYfF{L88#@*?\{IYVc9osi1e)0@#Bosi0K*lg-m&,#=e&XPhBosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€FT [LYfF{L,(BT PP[Lʶ{I,tIBosi0K*lg-m&,#=e&XP$\@sm& e[ ͤŖdgl \@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XP 5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@€#@*?\{IYVc9osi1e)0@ P[Lʶ{I,tIZP[Lʶ{I,tIaŅHS5ʄ:`U[LYfF{L8m\@šMXQ%5ʄY?Y?\{IYVc9osi1e)0@€'@*?\{IYVc9osi1e)0@ m\@sm& e[ ͤŖdgl ^T 6rb236R`qa@ rEη%l636Y鲓,(#@*?\-m&,#=e&[-ցT PP[Lʶ{I,tI@*?\{IYVc9osi1e)0@ P[Lʶ{I,tI rEη%l636Y鲓Ë  k.uͤ,ǎM qa@\@šMXS/e. r@jj:`U[LYfF{L8AP[Lʶ{I,tI Bosi0K*lg-m&,#=e&XPBosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@“k.s6Y鲓 `@ߠkT T 6rb236R`Ņ rEη%l636Y鲓,(5ʄ:`U[LYfF{L80 5ʄ:`U[LYfF{L,(BT 6rb236R`Ņ4 rErb236R`qaM5K\@5EEη%l636Y鲓,(5ʄ:`U[LYfF{L8H'@*?\{IYVc9osi1e)0@€7@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tIk.s6Y鲓 `[quk4t r@jj:`U[LYfF{L8@>T 6rb236R`Ņ8P[Lʶ{I,tI>T 6rb236R`qa@ rEη%l636Y鲓,(>T [LYfF{L,)wsk@*? f@f@sm& e[ ͤŖdgl  rEη%l636Y鲓,(5ʄ:`U[LYfF{L8r4 rEη%l636Y鲓Ë  k.uͤ,ǎM qa@+@*?\-m&,#=e& A!L@*? f@f@sm& e[ ͤŖdgl 4 rEη%l636Y鲓,( rEη%l636Y鲓,(@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tIzP9osi1e)08Z `BPk5B5Bosi0K*lg-m&,#=e&XP k.uͤ,ǎM qaD5ʄ:`U[LYfF{L8p6T 6rb236R`qa@ rEη%l636Y鲓,( 5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@#@*?\{IYVc9osi1e)0@ˆ@*?\{IYVc9osi1e)0@ rEη%l636Y鲓Ë  k.uͤ,ǎM qa@/@*?\-m&,#=e& A!L@*? f@f@sm& e[ ͤŖdgl \@sm& e[ ͤŖdgl p>T 6rb236R`Ņ rEη%l636Y鲓Ë  k.uͤ,ǎM qa@3@*?\-m&,#=e& A!L@*? f@f@sm& e[ ͤŖdgl k.uͤ,ǎM qaD5ʄ:`U[LYfF{L8pFT 6rb236R`qa@ rEη%l636Y鲓,(BͤŖdgl8h$)B,.uͤ,ǎM qa@4 rEη%l636Y鲓,(:P[Lʶ{I,tI 5ʄ:`U[LYfF{L,(BT 6rb236R`Ņk.s6Y鲓  kT T 6rb236R`ŅA rEη%l636Y鲓,(5ʄ:`U[LYfF{L8pk.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl FT [LYfF{L,(BT PP[Lʶ{I,tI hBosi0K*lg-m&,#=e&XQk.uͤ,ǎM qa@'@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tI rErb236R`qa@ r@jj:`U[LYfF{L8H>T 6rb236R`Ņ@6T 6rb236R`Ņ\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XP\@šMXP-0!\@5EEη%l636Y鲓,(5ʄ:`U[LYfF{L8hBosi0K*lg-m&,#=e&XP8Bosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€ 5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@ \@sm& e[ ͤŖdgl }\@sm& e[ ͤŖdgl  rEη%l636Y鲓Ë  k.uͤ,ǎM qa@ 5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@ \@sm& e[ ͤŖdgl >T 6rb236R`Ņ\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XP rErb236R`qa@ r@jj:`U[LYfF{L8H5ʄ:`U[LYfF{L8hBosi0K*lg-m&,#=e&XP8 5ʄ:`U[LYfF{L,(BT 6rb236R`Ņ/@*?\-m&,#=e& A!L@*? f@f@sm& e[ ͤŖdgl \@sm& e[ ͤŖdgl NT 6rb236R`Ņ\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XP4 rErb236R`qa@ r@jj:`U[LYfF{L8>T 6rb236R`Ņ >T 6rb236R`Ņ5ʄ:`U[LYfF{L,(BT 6rb236R`Ņk.s6Y鲓  kT T 6rb236R`Ņ4 rEη%l636Y鲓,(b4 rEη%l636Y鲓,(FT 6rb236R`qa@ rEη%l636Y鲓,(\@šMXP-0!\@5EEη%l636Y鲓,(hBosi0K*lg-m&,#=e&XQP[Lʶ{I,tI5ʄ:`U[LYfF{L,(BT 6rb236R`Ņ7@*?\-m&,#=e& A!L@*? f@f@sm& e[ ͤŖdgl m\@sm& e[ ͤŖdgl  k.uͤ,ǎM qa@p6T 6rb236R`qa@ rEη%l636Y鲓,(BͤŖdgl8h$)B,.uͤ,ǎM qa@ @*?\{IYVc9osi1e)0@ˆ5ʄ:`U[LYfF{L88>T 6rb236R`qa@ rEη%l636Y鲓,(4 rErb236R`qa@ r@jj:`U[LYfF{L85ʄ:`U[LYfF{L8P[Lʶ{I,tIBosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€k.s6Y鲓  kT T 6rb236R`ŅFT 6rb236R`Ņ 5ʄ:`U[LYfF{L88#@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tI\@šMXP-0!\@5EEη%l636Y鲓,(t rEη%l636Y鲓,(`NT 6rb236R`Ņ:P[Lʶ{I,tIaŅHS5ʄ:`U[LYfF{L8:P9osi1e)08Z `BPk5B5Bosi0K*lg-m&,#=e&XPP[Lʶ{I,tI@}\@sm& e[ ͤŖdgl \@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XP4 rErb236R`qa@ r@jj:`U[LYfF{L8t rEη%l636Y鲓,(1P[Lʶ{I,tI:P[Lʶ{I,tIaŅHS5ʄ:`U[LYfF{L8 rErb236R`qa@ r@jj:`U[LYfF{L8>T 6rb236R`Ņ5ʄ:`U[LYfF{L88 5ʄ:`U[LYfF{L,(BT 6rb236R`Ņ 5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@€IP[Lʶ{I,tI@ k.uͤ,ǎM qa@p 5ʄ:`U[LYfF{L,(BT 6rb236R`Ņ 5ʄ9{I,tIqŅ=BVH r@jj:`U[LYfF{L8 k.uͤ,ǎM qaD rEη%l636Y鲓,(hBosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€4 rErb236R`qaO`+ VHz•kT T 6rb236R`Ņ6T 6rb236R`ŅBosi0K*lg-m&,#=e&XPBosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€hBͤŖdgl8sJ$Ւ\@5EEη%l636Y鲓,(Bosi0K*lg-m&,#=e&XQ`FT 6rb236R`ŅfT 6rb236R`qa@ rEη%l636Y鲓,(nT [LYfF{L,(@5ʄY?Y?\{IYVc9osi1e)0@€H@*?\{IYVc9osi1e)0@ˆt rEη%l636Y鲓,(t rEη%l636Y鲓Ë  k.uͤ,ǎM qa@ rErb236R`qa@F$YkT T 6rb236R`ŅFT 6rb236R`Ņ>T 6rb236R`Ņ5ʄ:`U[LYfF{L,(BT 6rb236R`Ņ4 rErb236R`qaM5g3Y$@*? f@f@sm& e[ ͤŖdgl  \@sm& e[ ͤŖdgl \@sm& e[ ͤŖdgl k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl ^T [LYfF{L,(BT PP[Lʶ{I,tI@FT 6rb236R`Ņ k.uͤ,ǎM qa@m\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XPNT [LYfF{L,(BT PP[Lʶ{I,tI@NT 6rb236R`Ņ5ʄ:`U[LYfF{L8@@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tINT [LYfF{L,(BT PP[Lʶ{I,tI@Bosi0K*lg-m&,#=e&XQP[Lʶ{I,tI5ʄ:`U[LYfF{L,(BT 6rb236R`ŅNT [LYfF{L,(BT PP[Lʶ{I,tI@hBosi0K*lg-m&,#=e&XQ}\@sm& e[ ͤŖdgl  rEη%l636Y鲓Ë  k.uͤ,ǎM qaL5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@ˆ@*?\{IYVc9osi1e)0@ˆhBosi0K*lg-m&,#=e&XP k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl P9osi1e)08Z `BPk5B5Bosi0K*lg-m&,#=e&XQ rEη%l636Y鲓,(pNT 6rb236R`Ņ:P[Lʶ{I,tIaŅHS5ʄ:`U[LYfF{L8BͤŖdgl8h$)B,.uͤ,ǎM qaDk.uͤ,ǎM qaD5ʄ:`U[LYfF{L8@5ʄ:`U[LYfF{L,(BT 6rb236R`Ņk.s6Y鲓  kT T 6rb236R`Ņ8@*?\{IYVc9osi1e)0@ˆk.uͤ,ǎM qa@k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl vT [LYfF{L,(BT PP[Lʶ{I,tI@\@sm& e[ ͤŖdgl  k.uͤ,ǎM qa@k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl 5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@ˆk.uͤ,ǎM qaDP[Lʶ{I,tI\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XPBͤŖdgl8h$)B,.uͤ,ǎM qaD4 rEη%l636Y鲓,(8>T 6rb236R`Ņ\@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XS rErb236R`qa@ r@jj:`U[LYfF{L8:P[Lʶ{I,tI@k.uͤ,ǎM qa@k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl  rErb236R`qa@ r@jj:`U[LYfF{L8@*?\{IYVc9osi1e)0@ˆ4 rEη%l636Y鲓,(4 rEη%l636Y鲓Ë  k.uͤ,ǎM qaUk.s6Y鲓  kT T 6rb236R`ŅAP[Lʶ{I,tI@k.uͤ,ǎM qa@k.uͤ,ǎMXP-0!\@sm& e[ ͤŖdgl /@*?\-m&,#=e& A!L@*? f@f@sm& e[ ͤŖdgl m\@sm& e[ ͤŖdgl >T 6rb236R`ŅG5ʄ:`U[LYfF{L,(BT 6rb236R`Ņk.s6Y鲓  kT T 6rb236R`Ņ@@*?\{IYVc9osi1e)0@ˆk.uͤ,ǎM qa@4 rEη%l636Y鲓Ë  k.uͤ,ǎM qa@5ʄ9{I,tIqŅHS5ʄY?Y?\{IYVc9osi1e)0@ˆ @*?\{IYVc9osi1e)0@ˆhBosi0K*lg-m&,#=e&XP$@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tInT [LYfF{L,(BT PP[Lʶ{I,tIA}\@sm& e[ ͤŖdgl 5ʄ:`U[LYfF{L8H@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tI@*?\-m&,#=e& A!L@*? f@f@sm& e[ ͤŖdgl FT 6rb236R`Ņ5ʄ:`U[LYfF{L8H>T 6rb236R`qa@ rEη%l636Y鲓,* rErb236R`qa@ r@jj:`U[LYfF{L8Bosi0K*lg-m&,#=e&XQ>T 6rb236R`Ņ@P[Lʶ{I,tIaŅHS5ʄ:`U[LYfF{L8#k.s6Y鲓  kT T 6rb236R`Ņ@5ʄ:`U[LYfF{L8\@sm& e[ ͤŖdgl 4 rEη%l636Y鲓Ë  k.uͤ,ǎM qaGhBͤŖdgl8h$)B,.uͤ,ǎM qaDt rEη%l636Y鲓,(@'@*?\{IYVc9osi1e)0@ \@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XQP9osi1e)08Z `BPk5B5Bosi0K*lg-m&,#=e&XQBosi0K*lg-m&,#=e&XQ rEη%l636Y鲓,(4 rEη%l636Y鲓Ë  k.uͤ,ǎM qa@k.s6Y鲓  kT T 6rb236R`Ņ FT 6rb236R`Ņ #@*?\{IYVc9osi1e)0@ '@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tIP9osi1e)08Z `BPk5B5Bosi0K*lg-m&,#=e&XQP[Lʶ{I,tI@$@*?\{IYVc9osi1e)0@ +@*?\{IYVc9osi1e)0 8Z `BP[Lʶ{I,tI?@*?\-m&,#=e& A!L@*? f@f@sm& e[ ͤŖdgl  k.uͤ,ǎM qaD@P[Lʶ{I,tI \@sm& e[ ͤŖdgl0h$)Bosi0K*lg-m&,#=e&XPVT [LYfF{L,)YkT T 6rb236R`Ņ k.uͤ,ǎM qaDA rEη%l636Y鲓,(hBosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€ rErb236R`qaO-%o4sm YPk5B5Bosi0K*lg-m&,#=e&XQ}\@sm& e[ ͤŖdgl 5ʄ:`U[LYfF{L8H 5ʄ:`U[LYfF{L,(BT 6rb236R`ŅhBͤŖdgl8sJ$Ւ\@5EEη%l636Y鲓,(`FT 6rb236R`Ņ hBosi0K*lg-m&,#=e&XP$hBosi0K*lg-m&,#=e& A!L@*?\{IYVc9osi1e)0@€t rErb236R`qaA\4{sPk5B5Bosi0K*lg-m&,#=e&XQ\@sm& e[ ͤŖdgl  5ʄ:`U[LYfF{L8H 5ʄ:`U[LYfF{L,(BT 6rb236R`Ņ\@šMXThB4 K*j4T bXKلlǼ̺2X1d36R` T tI8Z `BP9osi1ey1H3[Lp1? r@j Z^ c b (bKshėD 1 F *R i) (p(dK6Xj`xRZ  @XE l$Jt:7':#S../usr/vac/html/zh_CN/doc/compiler/ref/rucl64mg.htmifm $   eint "<>adgloprs/=bchu0Ffmvw,-.2346xy%178;ACIMNTk&()+59EGLOSUX_qz#*:BPRVWHj!'D?P-z'hS쾐фo3F+Fh׭Ae1At[zXxpaWaD +t d&m&6DLjtEA|D ,XiBZJ@B TV"V*mHO.q)]= q)>ۦX@l[1%;鄤(d3xD<,x-Zh",<80aD +t d&m&C5j #ZZ9a)E? >L۰f#ZFh:Z+ s*|s%p6~0}\2vړ6l^;Z}LJ[D4푥鲤^*uu>j}jbCh?3*J@t+.٨-D>փkS9F 3F ̺{ٕfę5ŨSjg2T0" 5hͩ=XJ9'k\ Ǿh?8KdQ Z}Qh:§rtQZh!f+TP,! 6j"{(c%C+g.=flf3A(e }yu7L졎[mLQCe1.2AL2.Ʊ8< v5 c C+$k6:ٞL̀aˆOdi{ʝqy0:>PjD]=c[xR'O|JE%h?dZ۰Y$} N)a) JR‚qRFh?a).jIvStRPE=DZocJKڒx>݄a0 %j)`P$k6DZocJKڒx>݄a0E,:.Ʊ jQ%k{nR]fԓ1%;鄤8P)+) o8 0, B`2֭V%%mIۦ 2!aaA!` @, "2#ZFh?dZ۰Y$} N)a) Jno|1? p B`X"2֭V%%mI݄ͩ'cJvOm Hx JRpX4,@@D, ( @,,D"#*Z5ADlaO:p_8׶mٷ ˆOY>2|Д_ej( A`1͝rfБuMw+T; pʧYۆ&8J5+.srE7ʦk~D ` C.~qx^s(IkˆOY>o7&h%M'͘_egd}iaʯB[Xo}2aW}: (ͲTc\%>>ʓ?6]ʁHOTɠ4;&DV5AO 7q<€H(Se'#!0"Ch?fP Z ztQXIbn6raOT ƲB~v0eE:| Fih?XS 6JAi5% Byt,.ĤRVdխ} IuRO۰">ۦ@E,! 5Nv|1DZ>݄ͩ'cJvOm HxRVʽAlJ jV%%mIۦ@Q, b"Ba@D$pX #*Z#Zխ} IuRO۰">ۦ@Q,08, TDeKADkVa).jIvStR(2``X4<,D@#*Z#ZDldխ} IuRO۰">ۦ@Q, D`p@L( DeKADkVa).jIvStR(2Q-Z>݄ͩ'cJvOm HxRVʖ"`H0,8 Q-Z6KAղZ>݄ͩ'cJvOm HRVʖ(HXbŋ/xD&B@@"25AZ۰Y$} N)a) JRj"25AZ۰Y$} N)a) JRq$@,@  @RQՠ#d[%ocJKڒx>݄a0 %jbb (P\!0"8,Q-Z>݄ͩ'cJvOm HxRVʖ)DFTFh?[v69a)E<}L%!IZ*X " $EDFTFh?-Vh?[v69a)E<}L%"IZ*X!bŋ,Xbŋ,X`<DeKADkVa).jIvStR(2DeKADkVa).jIvStR(2DeKADkVQŸKAAOaPHm-A 5aL\R?wg1DzYx66:2vo;8T2H= ExԆBCoʽ 3|3 3vcxaW9p3f͝㾙\dw. :p"+AuTeK|1 4 DeKAAOaPHm-ASXT6KAZŸ\I"R O.q)˧qaw%"[%ocJKڒ|>qf0ȭE,#ǠOY 6AKQՠocJKڒyp|%!dVOY1`ͩp zc5DZ6KAղZ>݄ͩ'cJvOm Hxx)+QK *RFh?[v69a)E<}L%!भE,D@0RFh?-Vh?[v69a)E<}L%!बP0Xbŋ Ba@D$eZ>݄ͩ'cJvOm Hxx)+$,XbŋFh?[v69a)E<}L%!बPbŋ, Qՠ#d[%ocJKڒx>݄a0B@B (P  D&(jV%%mI݄ͩ'cJvOm Hxx)+$ (PB Qՠ#d[%ocJKڒx>݄a0BBŋ,X`b( <Fh?[v69a)E<}L%!बPbŋ, QՠocJKڒx>݄a0B@bŋ,X5AFh?aO $l6L*q(A3F *o.=fllc~kiVoD{eKŒ p6^2~fgd^U3_:9sN1DOe rxF͸dxKГ8xpaWl_L\R'b*aZH" @P }۲ po *_.~l_ UKEmOݔcxRme';*z&J/^'y0e}cˆOY?3yH>^0Ͷ?ga{x\2z݃k7^*ؾ˽TpϦJ@l6m&$. R'@9۰mfϳ'6|Y985 \dw5W`[iDEh:^X;{ͧT1}OmH0co?-pv챖[3{m׳7(J4^|ffkAOfNw;N4mf8pd F}{Q"f:0ڔ1~Ʀaw8mfnaنS`ay)gn %/oٞ~ƂT~;}[6ၪ!X>s` w8Ì||;xs] ,dTCh:5AuE`ݗ; 7;3m:a7 f1zd =p& (ASXT6KAQ.}c"w L( dtx;ʖ Z+3}eqy3 <~Ábhx0( hB ( ̲QpSP B|y)anjq[6lʢl̷SU3iAnUo ^F*?3~R>Uvwsݖ2foma"+AuE`u^2O,eǙYܸdQz?A&ٍa^2LfV,;ja$zlg+fb\}ma= !xZ@ن{x_g`[{ .Y.:;O&;zCaqpo4ʗt 0ðt-=ߢq\0uJw gxBQ}{N5da1AN50: A"+AuEjg RhTԭSC?E졎Zb=1Aś&'9j*KA'>6Y>^mKД_e޼O{%MAǙYˀ8aWlA *Ctlm.>k_a9۳͇g|ay :^fgd"tE>A#aRH Y`7-| C#*Z | Fih:yY~Ï{8aWl\} =^'[Flo/6՟Lq[' A:ߦ\T[ }2l{_1|Ugi6Zl7A 2Ľ.|N=o5eٵ̦6_eg_eٍ XTDVL*q(A6H46T{(cl/Mp::f7n5=1Q Zp;dizl|k^0Ͷ?x>5DEh:(eq¯|E-pYT^v _CJvcPy/Mv>݃k7gc46U?3{%^T\M8aWlA^*zg|1DSjSAYRc'1N1`D@06 @m ^*?YWNT[ }2k>Ìc;3Г (Okq՞{"TV^;=鲩Gg ¯|es : }sq92Fʽ϶B3RƠ;jaˆO3*;7ja~A: jS͇ߢqUv>ݔ2Y A.Ur)wVTǿn2l_S=鲩Prec6{1v mFL5DEh:(ev>݃k79an=1$ax_Լ$41 *h7#Ke\m *>WcMLicP7]L7}O ͩ}OT۲8xpaWlA}S|$۲8aW86x=cS׷\xKōmUJaDEh:(ev>݃k79an=1'G=oTP,0cآ'9dab ЪWo%yD ` "+AuE`vT%]e7&;>^{+/j{vSPq4o s򡬼7 1o( ^m E׀ϦR5(4鼡?WCJv>݃k4/dizlY8 Г ׉26'>\<806 2h=N4]6072cWd9 ^*eb\3Yy ͩxKqҪ]`ua=ﰭ}O wl )N505DEh:§rtQZh[їOlҵOe r-˧j"{(c%vW*e>W}^/frg8;vS}rvy47[2dŅi`6R>hol.yWe?3yrM@k$&Y-=o sIn^g 7x}If75}h_1>oeq,DnL>݃k47{ʽtϲUhjtQXG8xpaWlA!NrF]=}LoJ7~CPyTE4ljϦWz{َ5O "+AuEaNg]rx˧~{ʹzazYkf3^7Mq)2~>\ ug>\їOoq.ʽv"TVaS9DEh:LJBW2fT V졎XJ]=ʁښ娆-DEh:^XP:=1I q*eSC'@졎Z<,snNݔcTCh?X3g+m:@*os 2l`ʕatZ>>/6?s6 t/}vh5D>փk 2aYVT0eJ|fgǙX} *k2\<806 U Sa&`-涸}O ͩO46U?yʹ{l8aWl\}Wtgf΋ۆzYg& O7:A46U>o/6?BQ}z0Z}SCD=1>cƽ *h-(c'<806 ީ졎X"h'-mqf׼nk}^6AˆNy{ yà ` Aʝ}O d˸k}25kl`0Z}#D@06 6Rj~dizlœ7&cͯ`"9DOe r$Fo?U ,2jO3`x ey/M{ob43C ژo s>z͸gϦRԙZ}#D@0B[Xo_P -8@o7'noaٜܝ)xʧRSer|YR.AIb J%wfsrvLk,XXb Iͱ1 S5?yٜܝ) Lk(P(P\Xbb쓫1 kAAZ+0"TV|`%!ړَ5SCmIW1zb.3DP-D1j娩-QCx N ۲YlhҪ^;#lۆO: `&8-3ZeH/'cxL, 2/3+ -0Ym'* w+$>[1mOx[x"^2>2*{u?W{$5e fl(Ԯ2o?LԾÍl`k<qg+L*qN_Lf}2Kd׀3K1db-pɆA}aO61[&bq AןL2YlS "+AuV*mH˧,koJ@X]HVh?[v69a)E+QKqRFh?[v69a)E+QK *DZ>݄ͩ'cJvJRD Q-DkVla).jIvRQՠocJKڒx>݄a" @XFh?[v69a)E+€PuZ6KAղZ>݄ͩ'cJvJ۲5DkVa).jIvR0 !x5AZ۰Y$} N)Xa< Qՠ#d[%ocJKڒx>݄av5AZ۰Y$} N)XD&(jV%%mI݄ͩ'cJvJ4 `jZV%%mI݄a" @X5DkVQŸKAAOaPHm-Aq~Cx@ ,§t d$5>2PcT5x<§pxpaW\%fp@ aS8fCxL"^ pTh`&8P]q)7ׅ lblc' o1= E]/6N4}ϗa Pi"+Au%:>PjDRytōmHX]H0 %h?dZ>ۦhRV9JCCHuLt uOm H,O2i)R%g2T0"! @)X6Ip! ͸dC5AխvSȭQ} LjWQZ5ADlaO::̕ %!\R au.LѩZkY) 44TYCKkbyPjDRVDQh׭l_S l<$] t:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rucl64os.htmifm $   enot<>adilrs /cghmpu".bfy,-4=AIXvw01236:ST_k%5CMOPRxz#()8DEFHjq&7;GU!9BWYL@WEXӣ2nq±!Dȱ^eIAkR@!KI9mgClpL-ʶTMKظr/A6l$IcqeM (P )rPI rE[cN\80H NT5)kd$'*ל%  X00H$ĤnI׈).C'b J *o0J4$h[ P\ tp$ :d@᯸7[lp[*^FTPI? k!nG%jk .afXNIZHے@&- ṭڼ\jSkhE^UKظr/ q"shA^s(Xhp~( A'$$6`!y~Q}:1p,P+C@-p|l~"c 3cTqg} uIi A/Tn=ӣC%l-RZsT7_cN55VQEf6wslqpX(([/6>RZmBK%%vԗӣdXWuoFC,P,V22T'CT7)G2Ә 9G9[k @%IH0h@ ST :uIid }Zn-/` A/TdXZH0h@ Y)ծ2a{'}(yJk_.,eT\ ۪KHc@<Ў/uIi{Z }&03SDT5uIi>^RZKN?/SWV4_u,NuIid }A'$KXCX>RZ_)MuIi80,([/69!1~b |;mL,'GQ1ِnaBdm.3/C%R %+ÕpJ`XP^!{*_mR6?fCX SZ/C%mA/T…\b,ky2WّpRc&ScAt#TJl. ۪KNC@yN-ّbj^<^"3#  @l}϶TÆchbّbj~1n髇?hp~>g*Bq~i™mG 7dch?*qp2d)MuIiYf?=GݴRc%ʜcI ԵR)MuIiō{ocywYlJ+T$lJ(V20'NC46:q~=$['ddƐ?bm̒C%R %Ӻit? |t3V ʣNca8?[$HI. EYN\md_Ldvd?aΥUäB1)MuIi 2': >t>GfFHEِ4aыNI$ #C%aRZ{nW)5#= U)ƪރ24>RZMPFK%?KFcs dOfGl6j4cxdu-@)c9J=5pR@Q*6Zx0,([/`2 웮̍N(@Odj0_n-89pX(([/6=@-KEo5y-W*WаX PF: 򌂂/F̌cX e+~"0ʧ: Tl A'$KXCX>RZY6 A/TiѮ2a{'dݍ:(6|h}l_n-:SmTlc@4#Bf7cN1A-bH b@\)pc΅L/C1WыS}N۪KKjKA/Ty :3U#s!Kct.2a}:T۪KIWul0!h%ŒّFӣt-3v ʣNcaٴcCm.u:ϖXe;[ DL ӘI}leRd`ͥC;246)A mGf۪KKBK%tK27i@T.a{jKA/T ّ$3n-/` A/Tc[bňN \?hpxc {kN>JT{tT۪KIe.1pbN8,-`l\ qS05Bt>RZ^>(b },kwE$…dlRXXP|l ͥlj8h}[ Z }&06?C%.adڒK%dͥh$? k@k۪KIA/Tt)yb}ỔsѨ9 uIi4(%َ/6 :ّipא?Y;=t)o:aR+A'${R@k=n-&A(%ӛKks 1ХS5G 0cK +֐?vcK~cc79T=X<<̎ܥRNIm1Х_pk $!ّ PK%6 Eqَ/cTqо멌#of:RQ{ݘR/z=Mu}8V`@ GeKm|wDd}AuIiͥ$$:{24>RZM }:Èt)oQBYMfL7 [HRMn{ݘR߸ugU7gs{svcKP\b_ut+c79T=uIiA(%Ef5LI}RߞI}2Y%?g΢?ddgU4V1̂ީ^m>ӛvm.+{lS0H%IڒA ѡ8hp~(( b^k U;'C% ۪KIKX<ޣcQ5*S>_t>RZM }?8hp~((+9)VʝQ^UMO%[*r΂Bs(F!=U%GC;2GeN`F71R\ I yXC@@@`` DboSmd?T3#\ QWn``N.3 %fF򌅞Iy77C%l۪KOt@}AuIi؃ B v-wf1 Tx ljtPI  mH:`h p$1j^Q5A':@$[h >@9"&CDd, u5 A0jv?PI  mHm]9p 9P֜X` NT59E2K E$^ tpE8\$ A%R(&֒ESX\ 8N"ف@J@EA6?-x0MR*Z Q/} uIimi nIܒESX\ 8N"ف@JPU.A%R(&֒ESX\ 8N"ف@J@EA6?-x0MRk ũ = ۪KH$ A/T mi nIPHmH$da Xx:؛([c)S\?]Cc9-k=SpEgfF۪KIA/Td,Kn`(~12s[`׊I F*6%{_fG Tx lwZ A$\$3G \/Q5*SĕGß5I $II: rHjӗ  iZ%  ʆ(IaAq.  q) [@,]$q)C /{ (Q,5Eɒ p0N"فA @,Nd0,0HܒB 4FY)-L-ʶT?R.eKJmi Z5`B.QAښ0KY%?@&֒A6: l$% t+100HDITil8J|հe%(aqAE $PXj%Y4Ql'N\80H JPJ@$],jHf$ k$O t:7':#O ./usr/vac/html/zh_CN/doc/compiler/ref/ruclblck.htmifm $ Statement Blocks

Statement Blocks

A block statement, or compound statement, lets you group any number of data definitions, declarations, and statements into one statement. All definitions, declarations, and statements enclosed within a single set of braces are treated as a single statement. You can use a block wherever a single statement is allowed.

Definitions and declarations must come before the statements in a statement block.

Redefining a data object inside a nested block hides the outer object while the inner block runs. However, defining several variables that have the same identifier can make a program difficult to understand and maintain. You should avoid redefining identifiers within nested blocks. If a data object is usable within a block and its identifier is not redefined, all nested blocks can use that data object.

Initialization of an auto or register variable occurs each time the block is run from the beginning. If you transfer control from one block to the middle of another block, initializations are not always performed. You cannot initialize an extern variable within a block.



Block Scope Data Declarations
File Scope Data Declarations
Storage Class Specifiers
Type Specifiers


Example of Initialization within Statement Blocks

$ k$t:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclcau.htmifm$ auto

auto

The auto storage class specifier lets you define a variable with automatic storage; its use and storage is restricted to the current block. The storage class keyword auto is optional in a data declaration. It is not permitted in a parameter declaration. A variable having the auto storage class specifier must be declared within a block. It cannot be used for file scope declarations.

Because automatic variables require storage only while they are actually being used, defining variables with the auto storage class can decrease the amount of memory required to run a program. However, having many large automatic objects may cause you to run out of stack space.

Declaring variables with the auto storage class can also make code easier to maintain, because a change to an auto variable in one function never affects another function (unless it is passed as an argument).

The following example lines declare variables having the auto storage class specifier:

auto int counter;
auto char letter = 'k';

 

Initialization
You can initialize any auto variable except parameters. If you do not initialize an automatic object, its value is indeterminate. If you provide an initial value, the expression representing the initial value can be any valid C expression. For structure and union members, the initial value must be a valid constant expression if an initializer list is used. The object is then set to that initial value each time the program block that contains the object's definition is entered.

Note: If you use the goto statement to jump into the middle of a block, automatic variables within that block are not initialized.

 

Storage
Objects with the auto storage class specifier have automatic storage duration. Each time a block is entered, storage for auto objects defined in that block is made available. When the block is exited, the objects are no longer available for use.

If an auto object is defined within a function that is recursively invoked, memory is allocated for the object at each invocation of the block.



Block Scope Data Declaration


Examples Using auto Storage Classes
goto

Bs(F k$t:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclcex.htmifm$ extern

extern

The extern storage class specifier lets you declare objects and functions that several source files can use. All object declarations that occur outside a function and that do not contain a storage class specifier declare identifiers with external linkage. All function definitions that do not specify a storage class define functions with external linkage.

An extern variable, function definition, or declaration also makes the described variable or function usable by the succeeding part of the current source file. This declaration does not replace the definition. The declaration is used to describe the variable that is externally defined.

If a declaration for an identifier already exists at file scope, any extern declaration of the same identifier found within a block refers to that same object. If no other declaration for the identifier exists at file scope, the identifier has external linkage.

An extern declaration can appear outside a function or at the beginning of a block. If the declaration describes a function or appears outside a function and describes an object with external linkage, the keyword extern is optional.

If you do not specify a storage class specifier, the function has external linkage.

 

Initialization
You can initialize any object with the extern storage class specifier at file scope. You can initialize an extern object with an initializer that must either:

  • Appear as part of the definition and the initial value must be described by a constant expression. OR
  • Reduce to the address of a previously declared object with static storage duration. This object may be modified by adding or subtracting an integral constant expression.

If you do not explicitly initialize an extern variable, its initial value is zero of the appropriate type. Initialization of an extern object is completed by the time the program starts running.

 

Storage
Storage is allocated at compile time for extern variables that are initialized. Uninitialized variables are mapped at compile time and initialized to 0 (zero) at load time. This storage is freed when the program finishes running.



Constant Expressions
File Scope Data Declarations


Examples Using extern Storage Classes


Function Declarations

P l0$\t:7':# ./usr/vac/html/zh_CN/doc/compiler/ref/ruclconv.htmifm$   not "<>adeghirs/=lpv%.0cw5TbfmuyO#1ACFx,39:BL48N2Ct*-&)bc 4neFԒE1 ;-bLT )i1LTpV &88pÝ9bRb@c>!BF8s8!B-ωz)bǺ 18Si@5M=C'0rYo @D(Ip;- _B/Q؁Am( &/E%C1?4& !(#Plx= BL_ kIn 1P-v$1PB@h>xEI,_SPf/`|Jb6>xdu-RP1{3ǡ/@$1Qj-AlO`㐥ю|C$(C9bǺ 1Å:@2 $3@䘿dwF=Ľv)ԒE:$@$E%C1>% p0N,J*:#pjGi7 [ZL_ZT;#^ps:2*W&/Y bT#Է] KSI [ZL_ pIL_ZT;#^p:!Tr7 t ;,n-Ia$3@wF=Ľv)und:!T|L_$Z#pjWARԆ-&/$E&/-y*푏tA/]c te*WQKR =*,n-Ia$3@wF=Ľv)und:!T|L_$Z#pjAZ¥ [ZL_ pIL_ZT;#^p:!Tr7 "bbRh7 [ZL_ZT;#^ps:2*W&/Y bT!Xz@T! kIn 1pI^J{dc|Kna YgD2 TtFRԄL^b_[Rh7 [ZL_ZT;#^ps:2*W&/Y bT!XzԷ|¥ [ZL_ pIL_ZT;#^p:!Tr7 "bbmRC5Js:2*WQKR=KL_͠X*ZHf_nfJg@ݹ#pjB&/lf/,n-N!S"ɶ/|KR=Kw͠X*ZbגDۆ8pH# x۴FRԄL^b_͠X*ZHf*Id-FRԏRh7 1mi1-&/. 1kPl{z 8S ,ARʎ*Z,Y KSI +tC ^GDn-H-16cpj{ !}*!vh¥Ř@T8L Ȳm:FRԏRh7 @wF=Ľv) qb*Id-1FRԄL^b[mR֓bǺ 1Å:@Έd+ܨ¥/,n-Oa$3@wF=Ľv)und:!T|L_$Z#pjGn KR@wF=Ľv)tC ^GDn-H-1ǩn KSI -&/-y*푏tA/]c t9[d+EI,}ֈ*Z[Rh7 6mi1-&/. 1kPl{z 8S ,ARʎ*Z,Y KSI -&/-y*푏tA/]c t9[d+EI,}ֈ*Z,^ KR@wF=Ľv) qܢY7 h7 [ZL_ZT;#^ps82!C4FRԾmRԆ1-&/$@QؓA @*@@s8 P}Y;Dn-Kd@T&(=-od6JAx+t+t 19# .:@h>x%cT66[vP! BLSLSQق p0qRh|C$(C9/]cÅ:L_\b׉z:Pv񀁎0SYe`5ĽvkcCIn8`ˆ."$ .:@h>x%bT<` c +DYl<5Ľv3c@,b[aPxgX8 tAAv[`=I,_Sb JؼI@$@wF=D%j푏tHImi1-&*Ę*J!&)n8`† (!."`gX9҇ p Wׂ $3^ |@c:P*bPZXJLT &(@g l q$<t:7':#3 ./usr/vac/html/zh_CN/doc/compiler/ref/ruclcre.htmifm $   aeiorst <>cgln/bdhmp".=fuv,0jkwy;Ix#%&1DFTqz'()28:ABCY*-349HMNORSU[]EWXA:Ss&1̍d&suBNc|uV 0p/DA'2 J-'1̍qz" anAՈ --XT As6sHݒ Xn$i"p(2PH%iĺ@gv *pCP 6a7 ش &@Ā"No $FŻ%mhݴnZP_vJ 5bsm!'7m\vBNc&:3n.sb6mVV뎦>gR&biiϵꢋE%&\/#{N Q=ʢt-\v@ S{J .9ȁ2٦1onTl_"Ƿ٦&0`~pV\\Iۦ7 ش tդͫuS3p1|Yx@l§I㲔b!L{;~[ە"h~Is LeKWr L;)UjqoM9pV&:3n.sb6mVV뎦>aͅ¤LŀށIs vRAU]Ql_UppoppIp͋⛒DQp@$\nAP8 ",<RI-(JHJ-'2@Ul$9ZQtդvH"4 tեN`#B[;.cB3n.sb6mVCB-P^ŽQxȮ-d1ݽm*8D+A݂yieK_`? t+t.HvqnP 9]d}w j[;.-*:xо-$p s@,ɦu_ͱJWG٦1峲݂(Vo;n#3&Ovl$8s ?ɏCB}&7}%geŻGQ?dL.ܮ;)A?I}s1pV@l|\bs- [G(2 J3nfպf5i@np~MZn9h6OͫuS0R&b..;)UjqoM'Úp@7ͫuWћtզsn"ȁ2#Nm%PO{Sżd&㲔<`oCB;ve5q}żdq5|V@~Is ͺjp͋@ٷMZ} 9ȁ2#N-s l~=…^H`_ 1ʂv2q5g6[ܸO>7ПAiɎۦ7 ش tէպ㩏TZD3/ICBra;-"T2I}LqnQOcM a$Q299a8B~TA;E<_>s3ycUf ͂-\vFu;{E;ǎXӚs-'1̂ ꢋE*3J}Q2 ؾ&FmVlZͺjsPLz"s9..ZͫuS0R&b3n tդ?@Ť9Z@7% ؾD 78-\vF}%&\/ )N._![#>d_vpLSx͋M9pVQ >p͋v@TvFgUAͲT}% >* MCtro=3n.sb6mV[ܸ9q*tV뎦>gFmVnLw B~[ܸ쎧kkxa-'1̂|,Is 6Hmʶi'2ͺjhWSVGc6M6-f5in9\*D_2.9ȅ1ibs- Fu;[[ܲAnQ`踷ڿћtզsnd`~Is Is#\vGuC[Db3 uKV 08n$i"Pd8T DJu 1A"Cp#I Pt@` i9"X1WҀ@, xHe('bkl)oM @ɸ 5S⃓;EK@Δ $FŻ%mhݴnZP_vJ 5bsm!'7m\vBNcCn 8Ì(dXʦ B[*A)-B0pINr$7%:Nd =1'0at lo k.$Du:7':#D./usr/vac/html/zh_CN/doc/compiler/ref/ruclcst.htmifm $ static

static

The static storage class specifier lets you define objects with static storage duration and internal linkage, or to define functions with internal linkage.

An object having the static storage class specifier can be defined within a block or at file scope. If the definition occurs within a block, the object has no linkage. If the definition occurs at file scope, the object has internal linkage.

 

Initialization
You can initialize any static object with a constant expression or an expression that reduces to the address of a previously declared extern or static object, possibly modified by a constant expression. If you do not provide an initial value, the object receives the value of zero of the appropriate type.

 

Storage
Storage is allocated at compile time for static variables that are initialized. Uninitialized static variables are mapped at compile time and initialized to 0 (zero) at load time. This storage is freed when the program finishes running. Beyond this, the language does not define the order of initialization of objects from different files.

 

Block Scope Usage
Use static variables to declare objects that retain their value from one execution of a block to the next execution of that block. The static storage class specifier keeps the variable from being reinitialized each time the block where the variable is defined runs. For example:

static float rate = 10.5;

Initialization of a static array is performed only once at compile time. The following examples show the initialization of an array of characters and an array of integers:

static char message[] = "startup completed";
static int integers[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

 

File Scope Usage
The static storage class specifier causes the variable to be visible only in the file where it is declared. Files, therefore, cannot access file scope static variables declared in other files.

 

Restrictions
You cannot declare a static function at block scope.



Block Scope Data Declaration
File Scope Data Declarations


Examples Using static Storage Classes


Function Declarations
extern

9"&C kV$ u:7':# ./usr/vac/html/zh_CN/doc/compiler/ref/ruclctd.htmifm$ typedef

typedef

A typedef declaration lets you define your own identifiers that can be used in place of type specifiers such as int, float, and double. The names you define using typedef are not new data types. They are synonyms for the data types or combinations of data types they represent.

A typedef declaration does not reserve storage.

When an object is defined using a typedef identifier, the properties of the defined object are exactly the same as if the object were defined by explicitly listing the data type associated with the identifier.

The following statements declare LENGTH as a synonym for int, then use this typedef to declare length, width, and height as integral variables.

typedef int LENGTH;
LENGTH length, width, height;

The following declarations are equivalent to the above declaration:

int length, width, height;

Similarly, you can use typedef to define a struct type. For example:

typedef struct {
                int scruples;
                int drams;
                int grains;
               } WEIGHT;

The structure WEIGHT can then be used in the following declarations:

WEIGHT chicken, cow, horse, whale;


Type Specifiers
struct (Structures)
int, long, short

de k$u:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rucldar.htmifm$ Arrays

Arrays

An array is an ordered group of data objects. Each object is called an element. All elements within an array have the same data type.

Use any type specifier in an array definition or declaration. Array elements can be of any data type, except function. You can, however, declare an array of pointers to functions.

 

Declaring an Array

identifier The name of the array. If preceded by an * (asterisk), the array is an array of pointers.
constant expression Positive integer expression describing the number of elements in a given dimension of the array. An array can have more than one dimension.

The following example defines a one-dimensional array that contains four elements having type char:

char list[4];

The first subscript of each dimension is 0. The array list contains the elements:

list[0]
list[1]
list[2]
list[3]

The following example defines a two-dimensional array that contains six elements of type int:

int roster[3][2];

Multidimensional arrays are stored in row-major order. When elements are referred to in order of increasing storage location, the last subscript varies the fastest. For example, the elements of array roster are stored in the order:

roster[0][0]
roster[0][1]
roster[1][0]
roster[1][1]
roster[2][0]
roster[2][1]

You can leave the first (and only the first) set of subscript brackets empty in

  • Array definitions that contain initializations
  • extern declarations
  • Parameter declarations.

In array definitions that leave the first set of subscript brackets empty, the initializer determines the number of elements in the first dimension. In a one-dimensional array, the number of initialized elements becomes the total number of elements. In a multidimensional array, the initializer is compared to the subscript declarator to determine the number of elements in the first dimension.

An unsubscripted array (for example, region instead of region[4]) represents a pointer whose value is the address of the first element of the array, provided the array has been previously declared. An unsubscripted array name with square brackets (for example, region[]) is allowed only when declaring arrays at file scope or in the argument list of a function declaration. In declarations, only the first dimension can be left empty, and you must specify the sizes of any additional dimensions declared.

Whenever an array is used in a context (such as a parameter) where it cannot be used as an array, the identifier is treated as a pointer. The only exceptions are when an array is used as an operand to the sizeof expression or with an address (&) operator.

 

Initializing Arrays
The initializer for an array contains the = symbol followed by a comma-separated list of constant expressions enclosed in braces ({ }). You do not need to initialize all elements in an array. Elements that are not initialized (in extern and static definitions only) receive the value 0 of the appropriate type. You cannot have more initializers than the number of elements in the array.

The initializer must be a constant expression if the structure has static storage duration or if you are compiling your source code in ansi mode.

Note: Array initializations can be either fully braced (with braces around each dimension) or unbraced (with only one set of braces enclosing the entire set of initializers). Avoid placing braces around some dimensions and not around others.

Initializing a one-dimensional character array
Initialize a one-dimensional character array by specifying:

  • A brace-enclosed comma-separated list of constants, each of which can be contained in a character
  • A string constant. (Braces surrounding the constant are optional.)

Initializing a string constant places the null character (\0) at the end of the string if there is room or if the array dimensions are not specified.

Initializing a multidimensional array
Initialize a multidimensional array by:

  • Listing the values of all elements you want to initialize, in the order that the compiler assigns the values. The compiler assigns values by increasing the subscript of the last dimension fastest. This form of a multidimensional array initialization looks like a one-dimensional array initialization. The following definition completely initializes the array month_days:
       static month_days[2][12] =
       {
        31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
        31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
       };
  • Using braces to group the values of the elements you want initialized. You can put braces around each element, or around any nesting level of elements. The following definition contains two elements in the first dimension. (You can consider these elements as rows.) The initialization contains braces around each of these two elements:
       static int month_days[2][12] =
       {
        { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
        { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
       };
  • Using use nested braces to initialize dimensions and elements in a dimension selectively.


Constants - String Literals
Declarators
Initializers


Examples of Array Declaration and Use


Array Subscript
Pointers

e o l$Su:7':#$ ./usr/vac/html/zh_CN/doc/compiler/ref/rucldch.htmifm$   aeort /<>cghilnps"du.=bfmy&,0;Tqvw#:_kx%-138ACFIJSj'()*2459PUV\zBDHLORWXY[]{}EC4cbeI 1LSu%LAI*Yxx$pX" "$pXPPPPPP)%LS"\UG I58PTFbG `(tĘ8tx?i#@PCԠ]xU qSZ(BGۀA*d.ߩAA􄘿8tx?}(5o>5lAbIb AFȧWxE`΄C^#Ό%MzĎ:L_FL_i\ռH`:\ռHp(i!Jh ܷ(>G5o:X?5o>J#oZ@ l5;bѸG5o:X?5o>J7RN A􄘿8tx:@k)N96>2rU 1m~G2rU J7SGS'y/V S'}ԠBL_i:\ռHp B5NWy#+8N|ZB}!&/1P}N* R9^yP+Jk穓6ɍ}etGr޴rzd'Z)۬*ge`ON0ņXsH}x䮾e/PUep< K1cZ#2_䮼֩#zҦN ܷ&+c2m "O"8c+] 걐k91;nPʍ?|2rU>cȡm} i `hAC|dk8!o(<J1~8#vN;-#X$p0SV8(1=BďNft7 Ę̡bGT!{p >aH<&/'(Xd!0 JOS'#~T2QMV:yJbL_OfP#7 S0C4`/n S'"Px$A􄘿8tx?}(5o>5lAbIb ADe 8 걐kz޵T!0t8 +h h+:PyIA٣ ni.h l$u:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclden.htmifm $   aeinot <>dlprs"/cfghmu,.=bvwy0x3;EFTkq#%()12:_z{}459ACDISY&68BUWj7NOPVMIzc.ajAt;ZT٦$}dH-H:|ADc1`0 qpt-RGjt;H?u|L2n4ox)%EXqE+ڤ#ԃG)H*At@"dMd6<--to_w(8axo\t7 E5s٦Kk/6>lkq0 .7gql%ѵ[gA߱dޅ/ Eaѳ.|٦Kk-\l} q0 &KK&<=EF=q[g7#@OC+}2b2]Yh>ILPd :Zхw =KǷMf U7KÌ 4Qz`H$e$vAӰ!c.0@܉c ]YAr%{`2NH?u|L2n4n* RdRrGjAӫaUq(PdsExOt]R4Heq[d >H?}rNH?u|L2n4n* RdMd7$}Zeah#M._덏1H:2]Y|^/.an͚d6oؽb.Jr2߱{+ ;TjpA~l%ѵ~0<۠yVW#>]_͚d6?I.7k.j@|7?E{$Q5.eUs,V9}/eLHec0TO~>l%ѵECp ~ϛ4tmem"IO"䚹TdMY_K-vAKW[Pܜwf.&P!ثA,N1*W ~BZ{,7>˼_0"a}/eHe&lAt@N~U~ZT&_ê2zwTPNb>꾗(=]mC8a2E}p$ t :D3͕ TMg)W 1xs$X^F:QR6iE_('1|?d$}$vTq seH:\lDԻuSftU}z.Pq0g=;('1iu^&|'s2]+덏=;)VTHR;;TjvYJRM]Y^/%ѵ>-|f.1$kzddޤCwP y}rM\-㉇Td=&M-5exxˆzچP.N˾?EPu5usE/~㠩2MK8&P!y{Mߥ~㠩2MKo%UY_ \ FXn y zGjt"ʐK]*N%S]3tC1ˠ _{jY$}$vTq seH:]?LOBa{>l%ѵEzwT1ґTůsê2zwTڲ>tѵe$}rKAR{$Q5.~,:J#]R.zcN1yH u a'ӺTAt@' WVW-$_Z_I'Tdj\o\l}L \l}Aͻ%a3& k$ Atf*A-t;4pmeeaxJ^K5\ ?#Mr_xrX)##Ҥ#f*AtKjK&P!ӺS QtA|"|=Ux \HjW2]Y|^7HR)AӰ!c.0@܉c ]YA,cU`^`, H?\:*B0` xS*a(7.h8e$C9nC0e-׎A\/L2Zs<)"1t`#,nr 0h9oؽAa-t KT0` xS$n* sE)"1t`x91sa!}ƌXLK%ѸCk/ů;#’;T}ZeahSK|2:/FW#H?GթR2Tj;T[ 8`Ñ6.%6h ^2F0FARa $n#pqRG F,Zt^ c lv0$u:7':#` ./usr/vac/html/zh_CN/doc/compiler/ref/rucldfl.htmifm $    <>eot "/agilnprs=bcdfh.0muv-1qwxy#,2348:FTk%5;ACP_zOj679DELNSY[]IKh9Q4s45E7~N )kniIvh9|$71Ah5l3F@@EsԥsӪpȶ$9c B9!Xt @9vsΓũ[FN2bDT +c!Pb..)*PEJUE7s;nRV;jRX&oNG7Mb2 ŗst9SSG1/K9T;o&2Qȶ$9c G"ؽD1G7ŽozŸdnۂ85pz*c.!C eS9u)h'[A#SX Ǣ; r.$Ac1cR&o(Q:OSX -pGnENVwjS:OnEnW7n? U.t9SaG7=Mb2mZŸdn=;N )ݩNG7@iHHmҒKh k갰$u:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rucldin.htmifm $ Incomplete Types

Incomplete Types

Incomplete types are the type void, an array of unknown size, or structure, union, or enumeration tags that have no member lists. For example, the following are incomplete types:

void *incomplete_ptr;
struct dimension linear; /* no previous definition of dimension */

void is an incomplete type that cannot be completed. Incomplete structure or union and enumeration tags must be completed before being used to declare an object, although you can define a pointer to an incomplete structure or union.



void Type
Array Type
struct (Structures) Type
union (Unions) Type
void

 l$iv:7':# ./usr/vac/html/zh_CN/doc/compiler/ref/rucldint.htmifm$    <>ent "/adgiloprs=bch.fmuv,08Twxy34:;Fkq#%-12ACjz&+EI_569BDNSXYLtKh1dJ1LYknX?.5ۣPMTb;Yk1PX, 4cb>Su# k^)~EzHf,cZHcыu\ZZ<-F8H@ z@"$rmXBORc\ԡ4sŃlCjPH_F_qik\p\,=Q 1etb>Su#?"ץJf,c !z1vbΫ^ r/6~--bcz} J#v.1U/9p?x1=LvHvJ#v.1QaF/Z"n/>ݨh?.f7jQu\ZZ<5!;qO7n=:A+U(Qu]-bcyik\3e(Q:--bczG7n=:A+U(Qu]-bcyik\]v/6QRU/>)q ۏqv#:tx*O7n=\(Q; 1U/9p?x1=N5ؾb]v,flv1Uť^ }s@SZ ۏp|uJ? &b/cn"Cc;b(غߤ=1& _Ru?C_aQ.~]:.| b6;b{"DټJC~;xjGmwvp111QaF/l^Icv.q#v.Q7%³{A+'m\CӞcv.(غu] G`](غ͵8^y;u[yUF/6b5#1e!'S8do%"ً]é:~*7Ӟcv.(غ1t5!pŗQ7;b陲 ˇ%1MO>S_R+8t0JWqFA`+I$~Md ŗQ7d50NC/mfV!cVCS+#ӝe? ';1ĵmK}Uf3X1B٤fmvGS'=>ihTihJwLbs6p‰t51pS_ADߘY/-RXvbBvop2Zu6p:H'ȱyjWߊDً㮂W}1yj imCbD;b陲o"o]c;bVEWfl;b9BEF|X} }\n=>,^q٠9dX} }).j{S;kfmo4Sk?>S_ADl HC2u] ͔G`]$vߝԮQ@(}, v/It77jV nԡ1eF)/osZb$K}V!qMغfl;b1#."C1dv`4S|.vqJ7jP]NۣŗQ79p[1~%̸&`] ȱyjv/6QtbL~wj18(H Ftǒl&1ķKE_BBBB@FLYC1dv`4S|.vdXvpp@$$$$$Tvы(  1LY}|C1"^ ˏoW yݨ(ݮ#{} }غfl;b? &1ķKE_p;Beb?I p߰;<@.0PC1dv`4S|.v3nٛ'xゥ(|.Y@qhmъb0ŝH;?"ץJf,cml^lV1b(W bW8p`\-[ZHI6œR<(ab8p!Eb6v'D͵@&c#|#6p[:RU/>%/k Y:zF/UF/6b5#1e(}, 1Ç@p!^C~ k԰J`@áR1lI ?Uc P;F,1@#$ lꈄ$#,v:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rucldpt.htmifm $  aenort <>ilps/bcdfghmu".;=qvy&*,Tkwx#0:_j()-AFIPYz%+1238LSU[]!49BDENOW56HMQV\{}CPdO7Noq5Xt+JyJnե B)iBP+YǨ}fV(sf ZP((o m@4 @4? A P( _J9jJl^8(8(?&ZAE2-k04Pp pJ?[J?եqB? aZh0íF2(ZW a(>ۃ̇-NB 7CܴCKJ?C-(P6V% rΩ9nV(y9FxA m6|VK촢9Ql}el&+9WN-(FBy&*{o!dyRQddQM]Pܺ1}yO%t8#:y6q\ww-(J{VŅ_I6ʍ_y&k(.Jc)G|Q\Y|BkŅ_IdW9q_D(viGXU${WIN?w2ťaWT&'/ࢲ^e#6ReЎ~IsDF2l7, ץQY/xOYN6(lnk_쿦ƥ#6D(viB=J9`}q$ eco PC7eHO+Ġ/ fܴ(SD=T;% rˣ2KcFx}qCrŨZPw[+g;ʒ[%r6 e⺟tb;._a8DžIDMTl}t9Iw*kX['pe(. e6sg$2_պqu~[9RQddQFztbtb~ы Bm,ZQvJպ 38VݒC$,Y(Sr42]6T;._:cȒ'R6yRKc#o9RqKw[+g>ߎ]6T;.ZQdd<.F^ˣ2ʇ~ыDd%lWgal lFr~ыmceCrťVF u?rœtPܺ1~9/쯦|)AU9M]6T;._ rp:)Avc(!s!=[pn}?&Ϸ⒋ $625ˣo5Crłr҄D6 }(;%j[ͼɺ~ 앥 !bϽ Bgmm29ʒ[/[P϶Eu?rŲCr $62l?rŌƱ߹tbҁgX['}CiBPd>VnCvr+xlkߊ@6Il ekF,j~ы Bm,ZQvJպq#Ʊ=T>;V(rd>V% r]3l*KeKV1u~[9҈4yӑ@6IeY ”>}CiBPd>Vnh ¸CƉPPZPm,ZP) 6}Hn I-nT>?usJ >]}67_td;8WF,c;.ZQdd Bm,ZQvJպMHC1@Ha@P앥 !bϽ Bz!ܴ(S]1a3Ǩw]J4ٮ6{attk.x?{;V(rd>V% rRC`6{ͰQ6sXCg$25O}6R{e59ˠ_PZP(!bϽd[*!0a%(eo2WW%"2VݒC$,Y(SD=T;% r?rŁd5(+g߹tb<-DbҀg"φvd엽IF]gEdMl[+g;7[ (J Fy IlgdVJ_+uotJuiD?F}~ы*!߹tbQ][J >t[+g>ߎ]*F,G 6{[k!dl}[jX/w-(JClgҏSVՕg{ tA<"x8ND}ըwd(P6 }(J<9l&dsq+d OlJ6LI@ϽV#=έտqbZPS52WV$'g:W u}e+u`ϽP8D}ՈJ$,Y앫ud3ϽP8DPPZPm,ZP) 6yvc(!s<-/XdYP5u~f@eV?2?b8A&l5\֥e#=έՆL^PP y Vl2X8D/*>JXܴ(Q Bş{+J?NZVa;V(rd>V% rel&+_|k!dպ 4}3 J[&Nrn[5/{.d4ࠞ]9͞ՒlbPP(JX$b,lPXo*R[+~ߊl:r҄NX= PZP)S.X{(+g߹tbF-( nMuF%vW e[+gJ ^{tm+E3$eBn =(&+lx9}r6>gEd^:!(o;[9K]3cdJ!aպuM2|/lM[`_PZP(!bϽd[-Ƅ6R%J? C`*uj+J9 Bş{+J9aF. e߱t{e?COenj_l#6~պ6u$ɢeྡܴ(Q Bş{+J?NZVIo J?8 J?~!(BPf07D}ըwd(P6 }(J&*yel.rh3ylylJ >=Oܺ1y&18߹tb Kat8#w-(Jp BG:Eft ?rŁc4ӧXJ~ыPJ ?8];Xs6JyN{/3M:utk.[+g#/nedr҄GiGXD5(Tt-(5 )˯WynA:ˮť`YΌckŁ{ viB=J9aFet$+ۧ#o;(|COeV% le6yQlMel.qlGo /l%?6{䛢N^3 hJQ#rus9?MftWgd (w-(J<'$H^9yʒra >}[87F}FDzN6{$ J$6sd'us8n:k{+x́)F< /l[+g>Isof?|Nĺ BBx(Ϸ+dAQ^[+g>ߎelܴ(SVunu}-:k{+%B~3 h/w-(JClgҏSVջ#*uj+J9 Bş{+J9`q|ḿ2lou6{Bx?<7 SlF9ˮ5ҟJ(_ZĺMFFge(^iMelIslGPZP),LW&td elc4ߦ. eӑBRۢBx9$'D Eps4HCiBP,VrlF1OʒRWhlg[8ejQtֿM:|f@VrlF1O罔ggEWNF?Ȟ}6{V['MkaeMoCiBP,1^_ousࢲ^eFDzN6R~*MV{ϦV,Wl(w-(Jp B?rŁ}s|4'YtJ;.Xl~N%}ML59g:ˡv#'{ l~8A ǥJ < lag:ˮLWg>J4#6~=ϒ\؎ܴ(Q(V ESetS(AA2ֽK(AAc E PոZW aZh0íL8$Pqadz3%1+M0 ͖n֢1iGXM2xTT 8%PJ?ܒ rnk$Sv`u3Y `#8 Sg~(82^=c V(8  (?6Xa(8ZťnIb>>KJv7N:(6se}q(%EpPrÌE vKǣ2[ aac E a A:F-(TsrK%ЃtLVXQY/A :r6CF-(TsrK%ЃtK(`uS2I]p$  QQ,P|<- Ӂ;n S-PJ?ܒiD 8$ QQ,P|<[DveY6T<-DbҏG7$AZQmn puۍ Y6T<-DbҏG7$AZS+Dvl 0'PJ?ܒi9" Ӂ;nPJ?ܒiB 8mceCF-(TsrKkJhtNۃ ҈h @0'btaVy  PZQҸk AՆd9jwaJZQqiB!(Sܴ(TsrK@9l.׎IzdApu߄ @àxc8 c ȼ*pPpPuxZPȲ(PZPc k0$v:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rucldql.htmifm $ Data Type Qualifiers

Data Type Qualifiers

Qualifier Description
const Explicitly declares a data object as a data item that cannot be changed. Its value is set at initialization. You cannot use const data objects in expressions requiring a modifiable lvalue. For example, a const data object cannot appear on the left-hand side of an assignment statement.
volatile Maintains consistency of memory access to data objects. It tells the compiler that the variable should always contain its current value even when optimized, so that the variable can be queried when an exception occurs. Volatile objects are read from memory each time their value is needed, and written back to memory each time they are changed.

The volatile qualifier is useful for data objects having values that may be changed in ways unknown to your program (such as the system clock). Portions of an expression that reference volatile objects are not to be changed or removed.

Note: These type qualifiers are only meaningful in expressions that are lvalues.

For a volatile or const pointer, you must put the keyword between the * and the identifier. For example:

int * volatile x;     /* x is a volatile pointer to an int */
int * const y = &z;   /* y is a const pointer to the int variable z */

For a pointer to a volatile or const data object, the type specifier, qualifier, and storage class specifier can be in any order. For example:

volatile int *x1;     /* x1 is a pointer to a volatile int  */
int volatile *x2;     /* x2 is a pointer to a volatile int  */
const int *y1;        /* y1 is a pointer to a const int  */
int const *y2;        /* y2 is a pointer to a const int  */

In the following example, the pointer to y is a constant. You can change the value that y points to, but you cannot change the value of y:

int * const y

In the following example, the value that y points to is a constant integer and cannot be changed. However, you can change the value of y:

const int * y

For other types of volatile and const variables, the position of the keyword within the definition (or declaration) is less important. For example:

volatile struct omega {
                         int limit;
                         char code;
                      } group;

provides the same storage as:

struct omega {
                int limit;
                char code;
             } volatile group;

In both examples above, only the structure variable group receives the volatile qualifier. Similarly, if you specified the const keyword instead of volatile, only the structure variable group receives the const qualifier. The const and volatile qualifiers when applied to a structure or union also apply to the members of the structure or union.

Although enumeration, structure, and union variables can receive the volatile or const qualifier, enumeration, structure, and union tags do not carry the volatile or const qualifier. For example, the blue structure does not carry the volatile qualifier:

volatile struct whale {
                           int weight;
                           char name[8];
                      } beluga;
struct whale blue;

The keywords volatile and const cannot separate the keywords enum, struct, and union from their tags.

You cannot declare or define a volatile or const function but you can define or declare a function that returns a pointer to a volatile or const object.

You can put more than one qualifier on a declaration but you cannot specify the same qualifier more than once on a declaration.

If you put a type definition in the same declaration as a definition of a variable having the volatile or const qualifier, the qualifier applies to that variable only. For example:

enum shape { round, square, triangular, oblong } volatile object;
enum shape appearance;

The variable object is defined as volatile. The variable appearance does not have the volatile qualifier. Similarly, if you specified the const keyword instead of volatile, only the variable object receives the const qualifier.

 

acdilnors"/bfghpu.=mvy,;kqw&012:T_x#()*-34ABFISz%5DUY{}689CMOVj+7EHKLNPWXR[]QIv%AtKjtMJ^W#Yfʦ{urmR^AL!  7tX, Ab9At}dFM6{[Z `X)cPcam ``,RqK{& XRKc [(@˓ŌЁ& Nk-+eSR91#)H \LCd5@@qE##T{tk!IЕNk,RG*Z 6MʔM3;WkA@.a..} \% ڻ_6s]e:܍e*ظeUb'S{eL>E it56U{u*BH$z2BTKH%A9At:r5l}*Q4)[, =wM@.aB2A"&>{,];Ud]["$¡sOVU9] ɋ@R9#I Ґݩоw*B!I"JAZSUXB AI"JAZLu IR, 2Q$XdgkxAm${$sr :LP*Lbt&)3F(:k+eIw($s1Ipɂw YU1'`860 N(01RC"2mH@Sb@S3@RqK{& X2BT-ĺJ=H?m@@PeNmO_k+Leuk,Pt'hO3HPǮKFC6DP\S͛We;e[ ĭ/RRqepX$2]M IǭA.NYKta>]j]DzY5[uvÉ=[WkY#T{ܔۊ[T q0l5Ͳ q4$G*H \L@{|IВ*S̔E9>˭,]eSde0Oe)o6kEsʚ\F͕b%s 8cNq#am `4 N(0RG1H?LP$T-w5>Tdu אu= J ڻ_b̭pn-bLQJHF)F;`RV}#&('^=ڰ!|`u'k2U90AɋˬM "w]bhI.Tdu .QSڑܠu=*SdE7t4.THkrHac(:kp7@u`Yu>RA=H:GRF͕v,Lzta8e&Reʐs+Oe;eA9AtE q.O6tsr5l4$\2+6t)=Ǖ*BjU @.{ubk"eam {nAv.λ.,Mq'^&RUk2wC_;e]2r \Mظfλ.MbhI. [\F͕v,] n-5͑2 :LP FVw#YfʻevZdakt'O'\hI ov.i\_;e]2-w0փB]uΞNВ*Abt&)3F(.V6UbIRr Pk,V)rr}m][ Оq2-<2YU4'LQJZG0)X] YPNǮK'\LF ~-ĺH :LP  ǮUk,T)+\eVǮsTgh;"$>0ЪOr;eSLzM]e]i0)R;$yܣ%[ϙꖹ6%vs6U0G1H:ܣV \e*Ht;`R:ܷl-nj@ ɋn@h9[( 17dDX:1r]wwĜRmL>nUwuop'ZM ">$r5l>Rˬ t DFˈl숓WO-, 67JAdITF?_;U!akNUa,M \)aH?, 2Q-r#;[ h) ۙk/[[**BB keS!``N 66 ,T`8(0PN 66MW0Pall(k 66  h  IIRtCctIXڟtݨʐTծT9A 2u!T.MDdڐclŵBlf-B7% {Pإ@@Rgr PP*Iw(${ju@@̨]HlR k)3F(i#mRJArRn [T q0e&FTʧ0UXBHjH {Pإ@@Rn${${jrRu@@̨]HlR k)7j2$ U9ʪXHjH {Pإ@@RTĞw'@7j *0Zdll)#ݩ#T{ܔۭ*eBCb\LIQ!!;b=ڒ=H?m fT.6)oqP5U9'+MځA€Ij 66ԑA=H?nJAm2u!K{& ݨʐTDRGRGM[T ʅԆ-*2ʧ>$:iP(0P'Dll)#ݩ#T{ܔۭ*eBCb\LIQ!!9EԑAm2u!K{& ω, 67JAdITF?_;U!akNUa,M \)aH?, 2Q-r#;[ h) ʧ>I04 A€ b8U A€ .}caA8(0P'Dll+IIRtCctIXڟtݪI#ݫ\s*eBC),]IH:Yɵ!Oyk] O|[ H?nJAm2u!K{&  $T]Umq$Ԫ*jή#Iq6["\M{xFѕeI_k{%BHO ukr5l>]Zgr TI&uq%#J(] nv]i0)C91涇HrA+MBs {i\q7\8nuop'RMԐ{.em][><̦8zdc92]RɌ.qKC'q& ˮw,|̦8TeEA+=\wBjH)AbˠĘi :H|XlnRvr5t/ʪRr&XXak( A`QE ̩ -Na=Г keSRGRG2T#,0)Abb͝v[EbL}mOoe;e[WkYFTʧ4vpn] 0 U9{kv]q6U\S-b=,$۷@pڅTu-3F*w#Yiw(﫞.&VZ[9d>.фne ]ԷC2Q*KH)Ab;e]2"2e;F*.QzϤ;`RpVNABHqw#YfʱKCb[hBh9kuw( n}$yܣT :LP!tX@#I Ґ*Rn;]F=s3? \'`A` ۟[E̸DIvK@>Hˬ^Ks1@'!{w OpBjta6aytXEMu=Yy1e91 &9-nCx O`62hH)Ab22ńl!ג{g*]Ի-pnC{9Atyu!\w'2OY<_qu亞ه\MظB69At {hB\|Iu亞R@eֶU9'^C%R@XיB]^C%Rzt&(!8pLzZy.\ei0)Nyܣw(MBr POi0)Fn*д;`R{%ω=]2BR0#uq1m`u=ظdV ,A1s!`XaR%JMڧr5X AqH? x;ZaIIRtCctID`EIou亞A6kr{b̭3F(MBr V7^A+tNfCxu,L[S ͝q'`EIou亞kRdH)Abi0)Kܑr V&-Bry.|IYw( SPv$yܣZgr Q7qyܣUoq;`RT);iw(i0)Fn*eVr VC%c 1< :H)Ab^KظB7Uuw( n}$yܣZgr S# G0)H8a{uH>Rˬ t r5l-sUd:]On&R6"BPs D{tݨHj `@ '\rsAS2nO9At,0)I&Sa"E1 8;Bмż8;`t/*lv Aԑ̕)H>, 67JAt9*jĜu`Y)HF(u亞a@Bm-tsΞ/\s#9\{.)T/ Y.!ג{wC_: 6ANC%ϝW>0׆Mȉj,>F]V$Nw#YfʐvFA+/!ג{gxld-oqPzɺeK;Au亞Оˬ^KeЙTDŽo-bQNaPr"l:TdoqPPD޸7t 5–uvuw(a{"RHF+dDԸn :LP"Nu'Tu=޶4uq'\4B$]bhI)'Y8u=ظB7Qɹ6 \S6ʲc&S{;\]]p᱓r"l qPP$6U=SdE5t0G1H:.b5+ĘLzSڅTݨ- H="س+Mڧr5JGP;H)ACct&JNk/$ l&M⋼6qPX; ^ț  ܁wS6qPfФ̈́T);B6qP|X`Rn*6qPe`7 uԑ̕)H>, 67JAtyuk,V]A#ݫdakt'ӊ.4${t .ayu!]ڛ$*}\2YTk4$0Si kk{PK*RRC"2mH@Sb@S3@Ru@@̨]HlR k)3F(I, Iw(${ju@@̨]HlR k)3F(eVla:r RGH% )M[T ʅԆ-*2v#ݩ#Tۭ*eBCb\L@̇ZGH% )M[T ʅԆ-*2vu$vmRn [T q0e2iڤ#ܔ6oqP3*R` [Z\mRn [T q0e\xPFBY$IH:G0)@{%\[f=Zgr P$yܣ"Ls\LF9AtyuYoqPP;`RŽ@A $yܣQu׺{$,'!ג{gU*sSdE7t4.THkrH%@sT/8S=A+eSHP|u亞Uv]dkV ZdeJS̓j]Zgr UāwIw(ktjG0)H<"&[ 9At}dFM6{[Z `6{b `XArRn)oqP5600qܣa ]G0)Iڤ6R k(u亞f-tиc&PʵBCc&D5ry.{FJ37"&y޹VLdoqkˮɹ6 \*ˡ|r0ז5"&LPu=kxke'@'R2u‚7$T;\]]pMȉj-U אu=ޅT7uu(amu=^ז7"&k,R:pmJ Xke:]Ol={Yh?\h*\I:@6u亞ه9Abv]dkWA1uu=ˤw#YfʴݪfSSHj* n22kWq;`RŽ@EāwIw( 2b,0)I&@9YBWta=oqPa ];fSSb-rx; ^FФ ك`xVrspԑ̕)H>, 67JAbL^de\ˈl.\M$Ț:\[iKVb@G1H?L2u! + `pS ]6؁qFʲkyPptzCX`N(0029 H)Iy.MڈHjkό5Mȉj-"g\Ḯ&u(amw(:r RC%c}Y.rsOeeMt u⍕p>gYSۦLHj4U.\0n@#{%ϲ `ZEXmT2O5mLdoqk뼁wXoi p]dSc.|IALMu7!>$ >RA=H?nJAm-*6b2;`R[w(${jqK{& =ג{gUwBd AbA=ג{gk."&zY1)?ǝW.PF[Y"l Sۆ׆_p^u(91*}\(#xEKe @B=X'RySۺz*[Ey"l Ar5lBHsu*#,^KВ*Y1{!ג{wO[T)au‚7."&G1H?LP#ˬ t "&>{.y.{tk,VFM${kk{7[5+]i0)@Xb Ű.r R-р;H)I Ґ*Rn%%|LF-tw#Y|dږak 0{0v  ^0R}` \Bpԑ̕)H>, 67JAbL^de\ˈl.\M$TdڒGPt]s-m.zYk] 3[T ʅԆRHR\$r`VULx0\ )č `+QZT#{]3tam `4 qbRG1H?LPLY^Kv${ne3 ]ָ5b;eDMW!yaPu< փ6w+y0>wkA9.Mښձpmd9]d ȉj/"6nAɌM.JAt}dFM6{[Z `X)cPcam ``,Rp608KL0pJʩO`rHkeF˧]RH.TH(˘5b@{(.)u$IH?W*$@Îevcؐ``rN4$%J&8q%eTǁRrHke N(0 % ^\=asc;.ĀP+c|I+eH? =r]0*t֤bI\;*T)čX .Qv `I"JAҼQ"{]ؐ``ȉ1uřSHRH.THk2A˱ 8EJfSP%r5l\:0A*R#)%]0HRH.THkLJ.ĀP ]2%)u$IH?W*$@5k ]& $u$IH?W*$@5ka˱ =XNeV֤% ^\Hؙk|b@{( [T:Ԓ$+˕ i.6L@Xemu##Tۊ[T q0n RLIc+bmRJA=Ґt&)#JD8qÇcR(˘62bFR\$r`8q%eTǁN K 6Ddڐc)#H:G"-#b^ l$4#v:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rucldun.htmifm $    aenot <>hilprsu"/bcdfgm.=wy,0;kqv#123:ITUx%&()56ADFNSz{}'4789CMY[\]*-BLOVX_EPQjJ֩AҺ:uTm| [2}fuԔIPAqF h'Fr;!ǕO0Xܚk]%0HcriYF aZ#uAӥpk #n8n)jČ$Б얅.Zde&}ɴ$m *-V̸iRGX9H?GҔJbFpSKX+ܤ#JA#ԃ}JAt@wM2=yDfy.υoɴW6""ѤS𿫯rm[ɛWy|-#4|<,+7&P :\qeykp+l׆W/^eCyi]x2»y}QL;:,}ǠeVWv/26T_6 ѤS$w)A6DܤKkPD^3 [2<5f)#H:),4$aae@{$&6 c aZ#na#8HRd#U^!E٬ˇtul♫e] Q-γ/W\-!#JA#ԃuAӥpk #n8n)jČ RhFOHj>:W6PEuoiw?UC;(?uqLT {_ơsExn>AW^6̱.RXi$HdʀITLl 7µbFptF)#H?\;FOVT=ӟPt :\;ٗɛ>W-]|/aͣHhGZA95͠f_NXGW'/eLwU&RGPRʑiuA_ӺTu\qs.#W];szZGWѵ{W\kpS,A95ͤ{0>8;PwDa];ucB$HANlPטA]:wT6ʑiu]t{YtAt$4:9ғgshA ~$:9`4 h`b Վm+szXG40$:9]Վm!Օ"###$4:9KkPEfy+f_y{$Hzt ~Ym|>^!ʢlerYp˖n>L!hXyA_W]0嘨2<5f+бX2ɁH<^yTKe"e;,;PNn] e{$ЎܤK]}uOuhXy]0嘨2<5f)/Er]{kW^6̿B8 c Q-f_*v~ur(}qyL*eןf_\ߢB:Grt.P fT[.2S[͕ٗ𿫝-h>$6y$I U|?{OAʝ\-fXܤK]rq}U e<+!|S5W]0嘠lIa1DR<5f+FZO;r+fZN͌7^y9pٽsf_aW^6̾kT6uxkWE' s1E' 醿,M¨Gult_b;qerevo&o]dYW\O:2`Z^5* bs}' tmx2|4!LhfZNl|7FO_fXܤK]rL=6ׂi]d}]rjf_6"ӺYR-#W^6̾/dSHAt$4:9ғ2(_ceH@xbɔ'xa{x(G40,p$:9bTRnRL5f(lLKfuOA]p{$60fy߫E˶Y 6Dt :\_b6~V̸$xkRHzp-rZ,ڽ_$_PexkNͣH˜h>獳.\S5W\kpS,A2ḭkPKXeX@ ~YA̾x:al2+^eC}6y3yl|S `u<0o ^pW\S /!e4sS4+|/ٗ#w)A&^Xr0+f\<5f)$=H8JٗɛW*l♫*lw}sh)Z7$__lV̸qLwD_;&Z)Mfal˂GT!#H:G6\_bxkWś._^{uuDp6ddٲy"c +AGe_b'eQI\U|ܤ#$4:9K)_ybٗɛWIBTAʢ[/L}W\[, |Iؾ?ٖ#rkA\]rL<5'bw)ACpҐKJNꡯ;D!?6̾ /y?[rwP^D_;: ؿC>;JA9 CCJAtBrG600o 葁)A~0e el&qLw*lwHbtR!ͥ >Fٗ e@b <5'|Am~ ďҐtCpҐt.PB_+NMsj_W\4|93|I5Q^aӺ>JGPR! 6WNꊐJGP :\:Xr0ec WmE?a_W[-]?7#f_C6">+_v/AleCD_Ey[^㫊f#yTKemE>_^|$6ׄ^3u=W/3ٗ/D_Pe:wUjGP=#H:G6\RwUf_7?[rw1###$4:9K]p{$:wTBGW+uD}r߆[!ljExŠ6 PW+뗍n e᳴m^Êc[̫O~> :HnRsIQOrx $}$w>rG6[ԃ!ǕO0Xܚk]%0HcriYF aZ#uAӥqL+V$` <HɕIc aZ#04na#3,HNY4Ī$$B^PD_;G$L0M;`91*eB^PB٬#ʒCԃzE@&m^ p\f̌\h>*Kg02=n10XhtF#)$=H?gXfbKJ/M8e'&fZ-γ/͕P*HR),4$aae@{1׈10X`8na#3,Hω-)!zh/q(!dmmpT<$=H?gXZT4B^T5'x kNRG$L3KBnx頳h)u2-|Iؾ\%lA]E?NX[ fZG$L3KJh頽 >vxD[2|<$=H?gXZL4B^T6uyRHz[#>$頽 G$L3KI҄/M8ehQTZG$L3m^ p0k *HR Ҹ|X7r-a$gw)HRH dҐt.RGrt3,H @ci㓖M;`91B<H@lPab acr1SČ2<HaBԃuR6 k>$v:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rucldvd.htmifm $ void

void

The void data type always represents an empty set of values. The only object that can be declared with the type specifier void is a pointer.

When a function does not return a value, you should use void as the type specifier in the function definition and declaration. An argument list for a function taking no arguments is void.

You cannot declare a variable of type void, but you can explicitly convert any expression to type void with the resulting expression used only as one of the following:

  • An expression statement
  • The left operand of a comma expression
  • The second or third operand in a conditional expression.


Example of a void Declaration

-]| kN$R v:7':#R ./usr/vac/html/zh_CN/doc/compiler/ref/ruclfdc.htmifm$ Function Declarations

Function Declarations

A function declaration establishes the name and the parameters of the function.

A function is declared implicitly by its appearance in an expression if it has not been defined or declared previously; the implicit declaration is equivalent to a declaration of extern int func_name(). The default return type of a function is int.

To indicate that the function does not return a value, declare it with a return type of void.

A function cannot be declared as returning a data object having a volatile or const type but it can return a pointer to a volatile or const object. Also, a function cannot return a value that has a type of array or function.

If the called function returns a value that has a type other than int, you must declare the function before the function call. Even if a called function returns a type int, explicitly declaring the function prior to its call is good programming practice.

Some declarations do not have parameter lists; the declarations simply specify the types of parameters and the return values, such as in the following example:

int func(int,long);


Functions
Function Calls


Example of the main() Function
Examples of Function Declarations
Examples of Function Definitions


main() Function
Function Definitions

5W\k lh$$n'v:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclfdf.htmifm$   aenort <>chilps"/dfgmu.=by,vw#()0;AFkqx%&*1234DITY_:E5789NPj}-BHUW\{CB9s25H8VrC)˧mfRs e@OJp8/qAX, srP3s/(,^k]$8z{LC }Xq@pX,'7q'74~ a4] >8 J]o"!Ōd4%rЩ*J#!p@Аqte k.Ԡe)96? .ۅayJ&%z*966Nd !CCO~(8  xԡDP/ `@@/\q@(9d9 AteHe3Yu2\v^މtWN.Q̫Sy[( 3s-9 bA˨oCgT8] g]D g])|y™R[7yҵAGgT9WMJ]uvr|!ksăk۵Pކ'D{*a @HO [P~yҵ_'KxnIJC';Ate\?OC.K+P3.Hc3X$Đ]+YuǕ6261!<-lR˜<]+YtsW!=Q\W9Ǘ"~~t#CKWs.:^S|PQ]~=ѐTo\o VEҭKgs~yҵ]tYDJmG죛ѓZ|7@bNoCXoC!~SZ)}W[ c$2y?U!ks bړC t콽J]qS5]Q^뀩:FAS0F kbǗ"~~tѐT7 VX/ t콽J]<'2 9*ldSKDD7@Is! k.ꆶGk{ O\ V`Se. k.W=ySat2sD g]WGe٫e}\Se⧐nC]+Yu&z{L!ܺ%/)?r蔜מ>NKޮstJYZtJB~yҵG0C)˯y*ldk.W ?}GC.K+P3.HĮk_yҵ]Q\Dy$=+d G VeE\N ^3 O;|Z˧9d9 -{9d9(~)J]p.TĜD \1$J]qM@Oz.+]+Yts$2[; ARAte׊\J]wFAS e?v5!W \J]xv쏫Atetd;8e /9|eO V*ldmTGtd;8s)r{('p¤p \aGpiy<ÛW8H,(*vpT]cII@:NohC 'PaPLjP( K}Xq@ /\q@p EJsII}Xq@X*`C!Z*ldmsGJQ= 3 eR@/ `@@/\q@ (GIq'2Is!C.J~)hC @Is!C.HOJ]p.TǠF$@ܺ% *vsv[G'*ld٫e}\ k.aM 'Ate(t=W=T,5 ,\g_Wt#CK9'1̇$ \&z{L! sˢSKD~A3{*a 'O{L!ѐTchkl.G 8/~{*a~ztJrIcq?r蔜&z{L!?W=ѐT c[SsˢSg]ySat2p7le3~~tT9l2}^'/oDy}<ʟAteO*vs뀩%ˢR ˢRg$9!x@IvJQV X@7`xuT 씜Cm@wCY}QU{Ǖ62|wFASsNqMe?{cGlղxF9d9 -{9d9(~)k?­F$@ܺ% ֱcoϚ; <9CQYB'= ,c yɍ9qA?W>(D;*a a%5D^watd;9Ǖ625\߽VTE\kXW9=Ӆ3vG ^Z9vJy*; \7aNlֱc g$9!x@IvJQV, 0(Rm.Rsr@UTqE\kXe42rNcHASe^2{*GS#9ҵ\-W ,e} ^3sP< ];%(K+y`gr *vq R씣u,A@n@$'e 10 >t*vq 2JvJNd !x@Is!ג|a%5ySc#YuTMe?}ѺHUpROeFr k.7$tJBg]'W$. dK et?r蔅[@ܺ%<Կ9l~) tJA]Q\D#@Is!+mm J]tnH)nNfV3ѐTyO|*\𵱳ѺA B.k_td;8?+d9dm.Rsn*? QH$*8)n;%'2P< ]9D?r蔀! g$9D]+Yuc@ÍtJ@cGAtecq 6J9'1̇$ \-Q+Y@80_'7!Y\?1v2H .!Y\?5Aghimos.=cdflpubv#0Fwy%,1ITkx()359DEj28ABCLS[]-4NRUzSu9ڑs2M-~]:&s)-g1̠/`&*BBBBBQ*s)jIK9el&h`!j$qlQ$ĩPBoVohr^Psl~KNԝŜŜy%̱Q))E@$ jqԚzԝg7~Is,Tl BQ-{ >od#^G: bl[2B6N mFoGrŌ&;/0Cl|{,@k띡wl3%qcʘƇVA/M9ݽPu'GYNoVohNKk8㭇7Ydݮ\ B WI%ΨBط˭I-95 %Ƹ\ M_[\mt/;-aԘBسa[%ׁ[QT{YGWtyq.I$/o813*r_[X'Rtu,RvCK9e[kK:`M=};m{-<A׵[^s$/Ri3%!bhs&WO\43g$m![:s ukfK><t/ܾd[;l]D}m{n5qk[\dti{}T0:O_*yY$9#m`I)g1̢ k_]@|.-{ck}Q܅oZ[! M;BYdܾ𿭮4b]tꧮq)4|IuG`u&GrŀrŜAױVA//:RcE,)Q[^xj< }^e[\h=cĺO\4;,)1܅jq)4;,1܅g4!qB]qX( NIK9e7s Mp@B8I%H*ƢIR3!)E@$ ŜS֊B>YQM(cG pP s Bs{rcQ[XĐ]#umt.*LAg7(P 5H4 ck|$I6,T*0 H`dTZboOnQA4,j+bвn`R * *q+QKST"\eE6̢tF8pHGm9P!j 9=D NANE$Dn`ReQ#ckg7I+PlY T"vb t q7^) Kг t.*LAg7(P و2)$x>, &G .Bo.u] +RJY=80DʊmDqNZ* Hs Bs{rXĐ87^) .BC9:\TZboOnQ Č }HXIv6!t.*LAg7(QH4F!c6qI6,T*0ע7^) u# `#ŰRejIK9ԝg7~Is,Tl Gd2F9/IsI M,9RԒsʞܢ@$A4SHбF.n ST"D.|c break

break

A break statement lets you end an iterative (do, for, while) or switch statement and exit from it at any point other than the logical end.

In an iterative statement, the break statement ends the loop and moves control to the next statement outside the loop. Within nested statements, the break statement ends only the smallest enclosing do, for, switch, or while statement.

In a switch body, the break passes control out of the switch body to the next statement outside the switch body.

 

Restrictions
A break statement can appear only in the body of an iterative statement or a switch statement.



Examples Using the break Statement


do Statement
for Statement
switch Statement
while Statement

 kV$v:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclscnt.htmifm$ continue

continue

A continue statement lets you end the current iteration of a loop. Program control is passed from the continue statement to the end of the loop body.

The continue statement ends the processing of the action part of an iterative (do, for, or while) statement and moves control to the condition part of the statement. If the iterative statement is a for statement, control moves to the third expression in the condition part of the statement, then to the second expression (the test) in the condition part of the statement.

Within nested statements, the continue statement ends only the current iteration of the do, for, or while statement immediately enclosing it.

 

Restrictions
A continue statement can only appear within the body of an iterative statement.



Examples Using the continue Statement


do Statement
for Statement
while Statement

. k>$w:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclsdo.htmifm$ do

do

A do statement repeatedly runs a statement until the test expression evaluates to 0. Because of the order of processing, the statement is run at least once.

The body of the loop is run before the controlling while clause is evaluated. Further processing of the do statement depends on the value of the while clause. If the while clause does not evaluate to 0, the statement runs again. When the while clause evaluates to 0, the statement ends. The controlling expression must be evaluate to a scalar type.

A break, return, or goto statement can cause the processing of a do statement to end, even when the while clause does not evaluate to 0.



Example Using the do Statement


break Statement
goto Statement
return Statement
while Statement

src= k@$rw:7':#r./usr/vac/html/zh_CN/doc/compiler/ref/ruclsexp.htmifm$ Expressions

Expressions

An expression statement contains an expression. The expression can be null.

An expression statement evaluates the given expression, which can then be assigned to a variable or used as an argument in a function call. Some examples are:

printf("Account Number: \n");           /* call to the printf     */
marks = dollars * exch_rate;            /* assignment to marks    */
(difference <0) ? ++losses : ++gain;    /* conditional increment  */
switches=flags | BIT_MASK;              /* assignment to switches */


Types of Expressions

>

for

for

A for statement lets you do the following:

  • Evaluate an expression before the first iteration of the statement (initialization)
  • Specify an expression to determine whether or not the statement should be processed (controlling part)
  • Evaluate an expression after each iteration of the statement
  • Repeatedly process the statement if the controlling part does not evaluate to zero.

Arguments to the for statement are:

expression1 Is the initialization expression. It is evaluated only before the statement is processed for the first time. You can use this expression to initialize a variable. If you do not want to evaluate an expression prior to the first iteration of the statement, you can omit this expression.
expression2 Is the controlling part. It is evaluated before each iteration of the statement. It must evaluate to a scalar type.

If it evaluates to 0 (zero), the statement is not processed and control moves to the next statement following the for statement. If expression2 does not evaluate to 0, the statement is processed. If you omit expression2, it is as if the expression had been replaced by a nonzero constant, and the for statement is not terminated by failure of this condition.

expression3 Is evaluated after each iteration of the statement. You can use this expression to increase, decrease, or reinitialize a variable. This expression is optional.

A break, return, or goto statement can cause a for statement to end, even when the second expression does not evaluate to 0. If you omit expression2, you must use a break, return, or goto statement to end the for statement.



Examples Using the for Statement


break Statement
goto Statement
return Statement

 k$w:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclsgot.htmifm$ goto

goto

A goto statement causes your program to unconditionally transfer control to the statement associated with the label specified on the goto statement.

Because the goto statement can interfere with the normal sequence of processing, it makes a program more difficult to read and maintain. Often, a break statement, a continue statement, or a function call can eliminate the need for a goto statement.

If you use a goto statement to transfer control to a statement inside of a loop or block, initializations of automatic storage for the loop do not take place and the result is undefined. The label must appear in the same function as the goto.



Example Using the goto Statement


break Statement
continue Statement

tro kꀒ$w:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclsif.htmifm$ if / else

if / else

An if statement lets you conditionally process a statement when the specified test expression evaluates to a nonzero value. The expression must evaluate to a scalar type. You can optionally specify an else clause on the if statement. If the test expression evaluates to 0 and an else clause exists, the statement associated with the else clause runs. If the test expression evaluates to a nonzero value, the statement following the expression runs and the else clause is ignored.

When if statements are nested and else clauses are present, a given else is associated with the closest preceding if statement within the same block.



Examples Using the if/else Statement

r> < k$w:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclsnul.htmifm$ Null Statement

Null Statement

The null statement performs no operation.

A null statement can hold the label of a labeled statement or complete the syntax of an iterative statement.



Examples using the Null Statement

claus k$b w:7':#b ./usr/vac/html/zh_CN/doc/compiler/ref/ruclsrtn.htmifm$ return

return

A return statement ends the processing of the current function and returns control to the caller of the function.

A return statement in a function is optional. The compiler issues a warning if a return statement is not found in a function declared with a return type. If the end of a function is reached without encountering a return statement, control is passed to the caller as if a return statement without an expression were encountered. A function can contain multiple return statements.

 

Value of a return Expression and Function Value
If an expression is present on a return statement, the value of the expression is returned to the caller. If the data type of the expression is different from the function return type, conversion of the return value takes place as if the value of the expression were assigned to an object with the same function return type.

If an expression is not present on a return statement, the value of the return statement is undefined. If an expression is not given on a return statement in a function declared with a nonvoid return type, a warning message is issued, and the result of calling the function is unpredictable.

You cannot use a return statement with an expression when the function is declared as returning type void.



Examples Using the return Statement


Expression Statement

> acghilr".bdfmpu=vwy,0x3AT#%128FI_k459SY:;ENOqz&7RUWK(9X9c:?X_Cc95\.!@( (OAW9d2ucBx!a8濾NɄ0Ђ <}pAp``Eo*A6x 0KI[[$ WLνI_!(E% V~AZuF:? =MaA"DW()G7Qb(Ս Qs$:^ cjIԡ1>;"c55{$np>zsct`gfXa䩡M_]<*\#gcONln c5G4}$!W׳뾶[Å\ zPRc%(Xӛ?X67MW^3[u}gK̂ġe?7()G1̒ࣛӛJ3ctx,iJ =@Vp͍T͍UrQ9Qy 9®ϲ=#맱y>Aʌ>~~jI9B>*3*6̑YA~xBˆXf{qTm#IJKoȰ "pyp\@8/k "s)@OKՁw=] [':~e֭s$>^< X 1y=Yy8=@t?_K<3 R^cC䅗 ]v]jG6jI(9R[, 䭳`mc N@8BIAJ9d@W}?^<f<3Ϯ9R$>J*9qQ*@׫Aq^( zB*4 YRX< I@UG3qAJ9dGKAeWe֭}/S౦ CȸBH`2?c쏚fAJ9d(y+l)X א' N{]RPRc%(1y> `=]Z}tsct1y)Fln,4]خYTg1]t?_e^1=غzsct1y)Fln0( yP9j67MWƘ`AJ9d(y+l)X א' q;v2JP#HYp,վ67MPBˆjh,i" #M~jI/u/zsct1y)Fln a]1]=9j\5(͍U౦GNln c5G6jIrϺu=9j\5(͍U౦(9R[, 䭳`mc NA8BDRPRc%(͍UrQd/2scp]'6jIEu>X WL֜\!aM͍UrQc]<*\#r9*2s맧67MV~Fln5vbKssfY/ 9u .~y*39BGz3Tg1IC/J Qs$]<*\#맧67MV~Fln Fsu߇3,~맅\ d}t*3;67MSf9,J}7\ Yt8/eߜHo^3[ȸB>ӛJ3ctx,i/{.o9^Ϧr/XxU]1͍Tzsct`gfXdH2JP5ur9jI͍UrQ u{𕅜͍UrQc5s'67MPѕFlnf<,ٌ?]> 9WLONln c5\k?~rl^IJ,8/]wbrd޾9S.$e|}/]y*3ﯮ5L^JQ^3[qˠOœ?C=yuAӚAʌ>^IJ "PRc%)9j9{5XfHQ t9(͍Uc5L^JQr9Iy =u[-9R/xUG9j67MQ Fsu/7JAW箇䗛ƞYTg1B2JP͍TsgFdJ(y+l)DV8g wK I*9Ҿl 4Wi .B(h5{$jP%(J4uUm'  "AJ9ҍG7FhJc%)()G1̕FH QP$b]2JC ײEv"[, QPVS^1,(8yq#B "JèJG0@id k$w:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclswhl.htmifm $ while

while

A while statement repeatedly runs the body of a loop until the controlling expression evaluates to 0.

The expression is evaluated to determine whether or not to process the body of the loop. The expression must be convertible to a scalar type.

If the expression evaluates to 0, the body of the loop never runs.

If the expression does not evaluate to 0, the loop body is processed. After the body has run, control passes back to the expression. Further processing depends on the value of the condition.

A break, return, or goto statement can cause a while statement to end, even when the condition does not evaluate to 0.



Example Using the while Statement


break Statement
goto Statement
return Statement

 k$w:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclxass.htmifm$ Assignment Operators

Assignment Operators

Operators Description
= Simple Assignment

The simple assignment operator stores the value of the right operand in the object designated by the left operand.

Both operands must have arithmetic types, the same structure type, or the same union type. Otherwise, both operands must be pointers to the same type, or the left operand must be a pointer and the right operand must be the constant 0 or NULL. If the language level is extended, both operands can be pointers to different types.

If both operands have arithmetic types, the system converts the type of the right operand to the type of the left operand before the assignment.

If the left operand is a pointer and the right operand is the constant 0, the result is NULL.

Pointers to void can appear on either side of the simple assignment operator.

A packed structure or union can be assigned to a nonpacked structure or union of the same type, and a nonpacked structure or union can be assigned to a packed structure or union of the same type.

If one operand is packed and the other is not, the layout of the right operand is remapped to match the layout of the left. This remapping of structures might degrade performance. For efficiency, when you perform assignment operations with structures or unions, you should ensure that both operands are either packed or nonpacked.

Note: If you assign pointers to structures or unions, the objects they point to must both be either packed or nonpacked.

You can assign values to operands with the type qualifier volatile. You cannot assign a pointer of an object with the type qualifier const to a pointer of an object without the const type qualifier. For example:

const int *p1;
int *p2;
p2 = p1;  /* this is NOT allowed */

p1 = p2;  /* this IS allowed */

Note: The assignment (=) operator should not be confused with the equality operator (==).

For example,

if(x == 3)
evaluates to 1 if x is equal to three. Equality tests like this should be coded with spaces between the operator and the operands to prevent unintentional assignments.
if(x = 3)
is taken to be true because (x = 3) evaluates to a non-zero value (3). The expression also assigns the value 3 to x.
+=
-=
*=
/=
%=
<<=
>>=
&=
^=
|=
Compound Assignment

The compound assignment operators consist of a binary operator and the simple assignment operator. They perform the operation of the binary operator on both operands and give the result of that operation to the left operand.

The following table shows the operand types of compound assignment expressions:

Operator Left Operand Right Operand
+= or -= Arithmetic Arithmetic
+= or -= Pointer Integral type
*=, /*, and %/ Arithmetic Arithmetic
<<=, >>=, &=, ^=, and |= Integral type Integral type

Note that the expression a *= b + c is equivalent to a = a * (b + c), and not a = a * b + c.



Operator Precedence and Associativity
Expressions and Operators
Types of Expressions


Examples Using Compound Assignment Operators


Operator Precedence and Associativity Table
Primary Operators
Unary Operators
Binary Operators
Conditional Operator
Comma Operator
Data Type Qualifiers

 l $uw:7':#A./usr/vac/html/zh_CN/doc/compiler/ref/ruclxbin.htmifm$   et <>ahilnoprs"/0cdguv.=bfm&1;Twy%(),Oqx5:ABFINRk|#*+-234DELjz!CU'89PSW^_7MY][K,[e, :mn Iw M#mԤ#Rt"`Pn$`H@ 0  `AA+AtI*Atĺ0U!6M9YE5iΜVK^X iV@$e )M4ƕl0",2ոqm%c)+ޱt kFRGZr A.)qP}#HRYsKx|$1IW*A=#ܔ{XRt1RGt6.L$UH@#dӝS^XiΜVK^XH?nJAeksKxHlչ@4`HljKJiw(<${)H?lnio14 4ܠdɱw(<${)H?G)MH?lnio14 4ƕl0IX0c)3A7jIw(<$u#JAef-De&w(<csI]HA1P[+?(Y%v<5%%Teq 0+mjKySFX8[iV۟Ԗ epIo*x'{mk~6.Tu^5n2*A0pIo*z\a6M.=o+RԗmMO_*3W*-!.P3|eS`Bx(a>Yq.R~# xLT ~;@ɀ)6ʗԖ}i Aʦcl@ǕEwȩ>GAlU3{gS_Em+5%[]@}#H?b2U!kO.yx]M e4Ͱ~$7&ei-@׊G-H?06<:GAlɘkmNLmJmF=r5!P(:Ge)H% )M-&u!V\"6ҭ 2B I-IP%#ݩ#${)H?lչ@>*rRbV ARkkʩFӊlT-myU,T/RSMl+u -bC{eril-Iz >2Ͱ~ɥFѫqpvS1׶y*5P| m.-l\m6V(+L^0 lT5sl qS핚\ +{yV|NʧOu:Gt BH?c*Rn ׏x^ ą${$xʔq. 8])LTWlT-myU-b\esio)V2}5% AAʦc/q_sYu˛JH?%8[*]o핊l{J.m*ek AʦclU k[+&TS (ҩR$k\`Ja2qu5lel vܒ=ڸ]+P})\'HRʔ5RXh)k b5K 6=ڒ|+jKyS*R lU3{>]ƸM 핓R`l-O[=oje1P+ gԖU }ԧ;esX64 픃qkY0y+lU3}[-݆ƻbFU:}϶VpHn|+/WaAQRΦ5<[EvSʆZ*R&]kHR 7% 鲵@6j kFU@$FRWb@fܠԛ:‚aI% PAvԑrRGZ=6Vj kFRgrP l3*rRbR%64UIw OkV%S+^%\P M[UIo+hmOVjew M cE] eril-sM`5.m틾XVjekw MscE] er=oje[8F=6esXA*&ZVV`z8MGu@2M>JMK R0H4Eeז ` lsז bR3V\"2.-#ٚ4Yu{brRZ biR5nio5#(! =6Vj kFPJ+۞Wp64U]öVae)H% )M-&u!V\"2 +HRYsKx@ki+lKnz]H?WEw\[,> #ĺriRRG)1P Y,V,śZߵEnA64 ed\ZH\-epH?#R[ʘ|-\[/jKy[gR+v;ZHA:S1ױsbֹBjKyX)b+\lVr`jSl0X}#H?bW&W6@fֽZjepո틽˕.]o.-öVҭ^mπ]*i/*[+L_H?cg\W>a,[c*)ĺ*Aeril-l\efV@3W*A핚\vBjKyX)b+2f-`R`*AXPC+jKK:y%wEb[sl}J@V:XavlոQ vAĶ$q-T$-v +MڝB0GVف:Gt BH?c*RnAAAAA@HI{$xʔq. 8])LTT?MڝB0C!AXPC!@%#ݩ m8:Gt BH?c*RnAAAA@HHHHI!$A${$xʔq. 8])LTA΀c^_kOV&[ p+.‚ . 'HRn4}ԆRIIIuba"B &謢  NtZ @ArRfj kFP WcR[cZG)M5nio5#(+.‚ #{ܔO٫sKxI-F>m-RG-H?ƴe)M4Y++۞V)u6؃&HRrRZ biR5nio5#(Emi-F>m-RG-H?ƴe)M4q\H?8[iWl*FZU 픃[g%tWp.eril-Y%wEb[s+_6+5n2ʐMs1y0o][|vA|WEfP}#JA=H?nJAeksKxHlչ@:];ZE$yܠԃlkHRYsKxAlyf,ʅO|/h AY%wEb[s(a4V$7V]aH?#R]ZXP}#JA=H?Gu)HSMRG{ܔO٫sKx iV I^J2;ZvXRDH?Av2R 2R]HjHA#IR+5nio5#)3A.w(<&* e .#R]SɀUd8F=o+*-YsJm9v>llCh\˶cbtV$7Wԗp#(+5n2 ʦcl+NV+\f: >S1փ{z߸ոxLTA΀c^_kʩ&@r.?#R]St )sKxHe$}ԔXV&* `iΊ),@@4N+%,@ 7% f-DecR]ZG)M5nio5#(H 7% 鲵@6j kFPC+HRYsKx@ki+ʶTefWH?PV϶-V+H?[/jKyAe)H% )M-&u!V\"2 #JAef-De)xc*R핚\ BjKy[g*]Իb+5n2 픃ɥFHRrRZ biR5nio5#(!#HRYsKx@ki+ʶTefWH?PV϶-%8ŻvA[eril-=#ܔ6V4}Ԇ[[ p.„iR+5nio5#( yM%wSVʗlո)V|#R[|+jKyS*R *A\#R[ʞW5R3W*Aʫ kHol%v>|v$Q7>1R5R*Req_u)C|/ w@usA\.K vS1׶{yT)*A`jKJ{mnVM-s-]ht \]@]*:Gt BH?c*RnԼ!aB2R=ڒb A3d(ڐ3bͭ{R*&]o픃ʜlpIw L>ʜl66]Cqsl5jKJ`N2R6.L$UH@#dӝS^XiΜVK^XH?nJAl[[ pƤlRfj kFPe֑A=H?nJAeksKxHlչ@ݨ@v;Ze)M4ጫeKVjep+u -m@+5n2 픃ɥFHRrRZ biR5nio5#(DiR+5nio5#( yM%wSVʗlո)V|#R[=-öVjep)KeIo(> #ĺ*lTfN,&մcS,M _u)\. 8KjKyX'{mkA]Ƶ\-.-b̝k_5R?i\%@p erع;ZHA:1P+WԖfֹ6.3Vd[ɶum'&66\#R[ʞWH]HR +jKyS*SvS1׶yUu!m} 핺π\&04vSABA 銀\\#R[=|`K[RV٠~RسZefV@3V G@ʧ6g܌pn]Ԗ5n1wSn8 AV8F5n1wS+W5RRT*zZ;Uѫqn8 A 銀+~N][a#R]S0ʐ.O.ʸ b$ʆZ&;esX$Q6 eb@1/|eS`z>6uT`jKJ`N1*.XV-`E G;]HRrRYsKxIISE=ڒ|}JqH,>AT?[ sK|efV{=ڃRJA=KH?G{ܔO٫sKx iV I^ [I-IPB)#ݩ#${)H?lչ@--#Al!b:8F`.+OKou} m ΁o\edR)/LZ%2*AppIo*x'{mk~%|-3rm][IɃͩM|?-kq AR*lk]Ƶ϶VLmJ-L>1PDlKl17j5%%s؃s-]`,YiPJSvɀ,.R[ˮ\#R[ʞ@ʧ6w*%֛@p HjxLTA΀c^_@ >Yq>ݩi@7j Aer+Mږ3PB(!g)H?2<%k RxIM7[[ M>C)$ĺ0U!NtVQMybɧ:qY-yb e )M4%wu'KHj=6Vj kFRnAAAAAA@I!!$ԑ 7% 鲳V\"2ݨJGV 鲳V\"2v       $$$ve)H% )M4%wu'Kx(!b3Pv#JAef-De&DAAAAAAA!$ԑ #ĺriRRG)1RDq* eb[a`PPB(͐1ok&d1[[I[(x(!bq Iw Kz v!bv[]Bƺݨ'X,\Bѫqpt RJArR+[[ M>Cf-Dl1[ @$e%{. &!ܠԛ!#ݩ#${)H?lչ@-ɴzG-IH?cg]qi@., Sd+mNF;edR)/+W:&)jKyA4V&KnzXHX[1-d `H?0qkĶ ʦcl 6R l϶VL%*`Tu[} xLT5%̝Y_t\cAVd[ɶum'&66K8FUƤ*EH?f:.}]v>Y0y+F=o+lqqHR VdV%@\dm`?jKKb牅\ZidX-vk 핓qkY+z*\]F=Nmb&AUKl1ɴԗpFSe 0H|eS`tKmr8TeNHR-ƼW6@2}V*|iR=ځn%#ݨvS1V,!gJH4${)H?G)MH?lnio14 4ƕl0IX0C)3A7jR=ڒdjKyZ\jB!tP|-ʦcb+as핓R+jKyS|/[A 銀%fNeb[amy.2m6h5%%s؃s-]`,YiPJSvɀ,.R[ˮ\#R[ʞ@ʧ6w*%ג&k#R]]OO픃4sl=rsIm7.P24Vgʟl*APsח=bOVjeO7jZGP3Mڄ{\f: v2Ͱ|b&@`PFʺ5n1wE:Gu@2M>JMK R0H4Eeז ` lsז bR3V\"6ҭslAl[[ pcJ 2lRJArR+[[ M>Cf-Dl1[  IPJq Xd${${)H?lnio14 4ƕl0@$e&D${${)H?G)MH?lnio14 4ƕl0@$e&A(?B(!bve)M-&u!V\"6ҭݨ%#ݩ#JA=H?nJAeksKxHlչ@4`#)7j!X,\B=ڒ=6V4}Ԇ[[ pcJ 2v=ڒ=#ܔ{XRM>JH4&* eb@1/zՙ:l-?..4ٶĆ>'HR. 8])LeJMځA V ᠴvR%$ 銂]*P? Hj=[]Xc)n(v[]@}#H?bP 'HTJ݁@p A P/ c AL(Xcm-ΰ(x(!b @ v!bq RGWF.} V V=ں5n1wSGe)H% )M-&u!V\"6ҭ 2Bt$2;ZvDHjHA#IR+5nio5#)3A`=#AlPS[I[h J2.lpIo)b|P[+*\#R[عV(+L^϶Vjea!m3W*lոxLT5%̝Y+rlh>̙r6.Ԧ>|gԖʸԅBB[)L^ϰ֙ܠG-ZVzV(>1P+V-ζ6X4Iw ;e`"5%%bTP&ո`e Io*a4Wl*Fs׾(fP3R&VjbxLTA΀c^_@|͐ T>}v[[I[h5%%Uѫq( ijH)JJ8qɃɨ$^l`k[\cH?AԦ>ijH)JJ8qɃɨ$^l`0k2 H?AԦ>ijLT/0pZ˩Nr(l1[ SKe)"d+* iKvX pƤʉַS jpu$u"d+* iKvX p,-r .)u"d+* iK<;,XDe; GZ&JAҽBL,\"2)=n.$$L{%B # p=svX p6t.)u"d+* iKXvX ph HRDH?WT(@0,\"26. R`kHRDH?WT(@0&մX5R6.u"d+* iKk;,XDe5  J:ԑ2R 4m,\"289$xHRYsKx|$1IW*A=#ܔ{XRt1RGt+* `r`.-uHr`j711AbRZ,r$@Î8cLCCCba"B e$uH`Pjt ݩa k^H$w:7':#./usr/vac/html/zh_CN/doc/compiler/ref/ruclxcom.htmifm $ Comma Operator ( , )

Comma Operator ( , )

A comma expression contains two operands separated by a comma. Although the compiler evaluates both operands, the value of the right operand is the value of the expression. The left operand is evaluated, possibly producing side effects, and the value is discarded. The result of a comma expression is not an lvalue.

Both operands of a comma expression can have any type. All comma expressions have left-to-right associativity. The left operand is fully evaluated before the right operand.

In the following example, if omega has the value 11, the expression increments delta and assigns the value 3 to alpha:

alpha = (delta++, omega % 4);

Any number of expressions separated by commas can form a single expression. The compiler evaluates the leftmost expression first. The value of the rightmost expression becomes the value of the entire expression.

For example, the value of the expression:

intensity++, shade * increment, rotate(direction);

is the value of the expression:

rotate(direction)

The primary use of the comma operator is to produce side effects in the following situations:

  • Calling a function
  • Entering or repeating an iteration loop
  • Testing a condition
  • Other situations where a side effect is required but the result of the expression is not immediately needed

To use the comma operator in a context where the comma has other meanings, such as in a list of function arguments or a list of initializers, you must enclose the comma operator in parentheses. For example, the function

f(a, (t = 3, t + 2), c);

has only three arguments: the value of a, the value 5, and the value of c. The value of the second argument is the result of the comma expression in parentheses:

t = 3, t + 2

which has the value 5.



Operator Precedence and Associativity
Expressions and Operators
Types of Expressions


Examples Using the Comma Operator ( , )


Operator Precedence and Associativity Table
Primary Operators
Unary Operators
Binary Operators
Conditional Operator
Assignment Operators

"d l$4x:7':#{ ./usr/vac/html/zh_CN/doc/compiler/ref/ruclxcon.htmifm$    enort "<>acdhilps/=gm.bfuvxy0Tw#,1AOP%()-3:CFq'289?EIUjz45BLRSkNCt1PSb*5Htk k6TĘ*[.x9pp+G8 )%A&)Pg x~{1@?\ s ΓѸ%Oq9~kG8Δ4 JoV9O^&uQ҅zQ29te$ cJy @(ZL_ Igp? A(SE|q ӧkbIA)1LTA %+cJPɌ]tGɅ*1[uuG]p!Jn4$F,Lb믷O*xl?]Tz]@6r;2A>]} @rL_CܔGr脉1Gr脠g&** όTϭv3'LZz-ճЇŅs:Ш 1LTA!70 VO]k>xKfELl. iWs[>*&~{ڡ3gH'ud[g##tBDۘtBBh$1Q6xwdwȨd.*xlvGBgvGLY _'DeGg/SH'gWt"&,S+e3,[?&"EA=TWd~xl1?Ȩd. >2*1E^K;]FBh$1Q6~]:ZgN*]S\$Ű[?&"Qm /1A&)Pg x ?\S sQ11Ѭ{ι:Qˢ.?Td'L@ܺ!(XΧåܺ!!>fs!8b @Ęu=P\(  ,CGr脠mbL_@ۉ11Ѭ{ι:Axi3Z$F":p㵤ιhXΧä֓: DD)Xi3Y3uP6&/mĘĘu=P\ !z#'q믢(XΧä `pgώ茟ySmbL_k:(skg8upoSbt} zpU2(X6L_FL_k:(skg6 mbL_k:(skg6 mbL_k:(skg6 mbL_@ۉ11Ѭ{ι:AϷdZϟ(XΧän}vL .1Ѭ{ι:AϷ\'[lx=9JgJ$ ѸΧänEP6&/5Oq95J7RSnFzJ$F":p۫g>p Iq&/q&/5Oq95H6[9Ի&(XΧän|MXΧän|M%ާd)Vp[?EP6&/mĘTCq&)Pg x~{1@?\ s ΓѸkG8Δ8L_6]) mRP4b C#9…ĨFK)~kG8(ˈnpt6$BrC|nہ rW,\S _\ckr]B>P2ؓ 9B*H#nH7J_Bq[y 6$BrC|A[6tV N+o"ĘWnHqςAA[6tX/!8RPb]!>[*1 $&kx2Ƞe%&/ےsR쐭Ap:@$pd'I@lIv!o]АAp:Axi3_nEQ @JbL_+$8 {![֓: ul㵤ιhI@lIv!o`nہ& h$@Ęq*{ϷTu=P: 16&/mĘTDBrCpF e0s]"\ $C#9…(QJD81+89kNps)&* l7IzLPdence l$x:7':#y./usr/vac/html/zh_CN/doc/compiler/ref/ruclxop.htmifm $ t "<=>adeilnoprs&/;bcgh%0mvw.3f#2Ouxy+-1ABCFT*9ENPR^|!(),58DLU]_4:?IMS[z~qIv 9d5g1s&prSur(\Dlp./eC"Hs$bƬ9D (BTRpp 0`!ys&kHYs&D*5R#%Є־%)Ba/J@db^-H ,M<)j@ &Q%HeAn[bq`w))iMeʇ7 s]]-Dn9#6XBomYn!yQR.SG &dTT< #Mg7FHEDL&P%v ײ݁l)ܦ2J*5Ύ%tIvȷr^vA;+Y[>Ls9n.TΏyMeʕ`v[Qns]\s&AóF\[HK|\D੺R99wVvU$ [;ՁΎ%tIp:Fc6 Q#%Є־%)B |JR!g7n9m2**EhĽZ*8M5ID2L;o[R5g7m ۨC \KeP(bEf8Zȗ! 95nKH՜"4-5J%,XY ˕+j%95g7n9m2**EhĽZ*8M5<;( 5g7m ۨC \KePbEf<}.mYn!yQR.SBvbEf88"XYqbEf8 +1ʼnĊqbEf8)V9֑95g7n9m2**EhĽZ*8M5lY@n9m FDb"4b^-H +1򋳛7kjoq ʊr+1 XY,H@bEf8"$Vc+1bEf8"EĊp+1ʼn<$Vc+1@"XYizvrFZFzvHkK7k$Vc+1:A)i֑95g7n9m2**EhĽZ*8M5 |Yo#[Vs۲**A.2**EhĽZ  $Vc7܎oainops"/=cdghlmu.bfxy0Tvw#%(),1;O[]kq&+2359:AFPSU4EI-68BCMNWDGzQqJ,)iBP*fi̡x>LT=͕ aKJyB_D 0 V@ B B C詢 &M6 ( &M60a-qd 6ҬFZQ결@ 0(2` {dMa$ɶna@ ŁәBҏ|&oq/uC(PRҏYXc in k|dl5c/ZQ({`eiBP-CiBP`g*hdɦ@@2i k `iG12 a- okJ jZete-(U֖&]sCa5jZ1& kܡte-(PKJ?tVVZ[u 0֖l5Y 3s*\2`֡tŨ{)iG15-Q{XʗYJľ *1^4tA`|g*]fLf=P5})G;詭y ůw!4[^Yy5-(PZe>c[.&3XQ]<5Tv8e 2x2db]6ZY "0 %J^ʜ](;f$m{Xi}c{2r^tl]ണPXYmF6N^<6U0^c#ٓ& ƒfO"Sv^a{"f2pģM׵ݙ;*/%a6PZQ,fqJia*,y,wR&j\LLJ?:]x)EMoԲ-q|m5Dԝ.̞Ys|Oi5!3hҏA`cL:3'Mxk\_ehddz' aQ 96N^vd`Wk%H@B8D av+PZQLܭ(T*V}`-FĶxmpv[QZQ /qXm`v^iG}`1VFXmvchZQ %#$BchF ({xT(P y! ZQ쥥iGkKq.@ 0@na@I& $e7OqkUè{x=ŭCjZv`v{)iG15-Q{Xty6}Nk݀<"i($KIeP{ZLsfo=($l+={Q9OMy@+eSpPV ^q[2Ys]qp J? [;*vqRL%bM9/PZlqIGkd@T%A$v-{2r{4};2xSNe T*cG]cvv.Oɳw{68̝K[5|osp{1l'd45gfN%%<>}gvt"h>d1< a=)GoPZmf0>ണPXT*ck }ҏBj]>74qCJQOyaT=<*VqLܭ(T&Ko?>3ٓ4};2xSNe J?T*c8MSgp1(cT%Y0ٝ''';(={fOSͽiOfN%q<>}%繯vt"k4;2x=EB1kԉ|('Mxk\_"t fJ^v=ŭIGҏ5䄂giGR].ۘt{xT(P y! ZQ쥥iB6V% 2% 6q(l40(l4Ő0PkJ iGZU@ jiH8qs M$9m6ҬPlifY#-B)iGR$rOPHs,E, [(jIqk-jPZQfT `%&aqTA̳ *1^qIG>LT;L̩@ÎKL9'ȨX2[2cJQB1kŪ SN/@ÎӘ\wRm-FZU@ 2ZY@HPZQfT j̳ |&o &J;RQ/%6llv-B)iGR$M{g-`{B|&ov-B)iGR$M!ee+\4}ECjKJ?ʑ$ Gh^Y|X=60 [CjKJ?ʑ$ GhF!̳ .1in:]x>LT;L̩@y&%2[2 [CjKJ?ʑ$ GiLY|XTxXJb""H$ңa̳ M:&ϩ/  PZRҏ32IQQee(s^pŨE-(S3*D5I58ok c;ണCKJ?ea5siZ֖e<{)iGZP B BR$8qyiC0I}e2ӋD0p;Nas[DL-F> `شCyB֔(s,V ainps "/cdfghlu.1=bmvy,0Tqwx#()+-2;kz%:AFIO_&35CUj!*4BDELNPWY~89S\6MRVX{}HI-9Y r t-P jn:)w4l!D t.PH ( lI pU9INQ:mbTёBI '.A04$ ,4$00P+Yˢ;>1AςE-l~͍5{%XPl$+Ki  X!FH$pZ3pK9SX+r  *I) ) ,(1B}gl1v}DpꇽׁJr"hˆ.Rn4F'r #b7AcD`,h0@AcA,h3b*I) ) ,(<_ё\Š٭芀T=얿c{AK {vbb棳Z\lidcpY).\64@nB;>3e$1;T=q_nĕvFƗP.pf* kYKKtݨ5%]i) BK7 IPN`'l*I) ) ,(CBύtkg.[Lm?pu- "-#{o[t-`>|h@Y^\dS--Ki7E4. IVb%](tM$ qA4I7.' axA 9*J\ $,%RӔi*I)RӔf(fchn\Ji.\6S).PQd2  O.]oDU˷3jE|c1ɺ.[Lˢ6?^cn(#2 [g.[L |rog"l}{ ?e6] ɽ]@m?)vh|(Ki_x׋k)Jr.PJ9knoPlsZ͸ώ]d:OAQˢ;>9tRfAu?ggdP.pf1h#3c{>8 uCh| 4`nt.ۊKihCoM >9tRf ώ]P[v|r襴͏  pۃ) @T S@ Fn@uBv  r #nAcAX5%]%:D!%ћ?\?X1hCo͔4Ϩ]PZ#INQRX8-Q MڜƈAcD`@4܂w 0V4 w N4ԕv?J Fn@r Z/ώhȮMbEvnlE@kK_ٽk c%h;^1tŊB1sQo-.64]P[a,όbl~dP.p`|  X!ƝkKql8Z/7jbJQ2  3G5ۊE%n@~ZB 4?E!%ћ?]Pݨn' 0`ԕv?J Fn@rygƺ5E-k6:slb70 >4^ ,ql/.Z2)얿|r襴uINQ1D@QփhKQ8ŠÚ$09tR`r >9tRfZ۞u,ql/Q=/cz۠1h#?\z(_&|ht7rT=.ƺ5E-k6⵴nKCuHK_  X!_u-9EIOK)i E t<\[ ˖{%彟)m3]A(١p`t?\PJZ7r{nԶ7^\ǐ?f.{>2寵) f(U҈7J ٚaIpۊ'sDrpg$jQƒZrvZJRJ}Դ$%Y ٘ŠÚ$ZrcWCp^u-9Ir@Z^ KrZ&|r襴|r襴̵=c#[FY_c]z(^ǐ?f@bF) @T #aneIWj[>1AiP,-@Š`!!S@r|[ uCnzbk[>9tRfn+[FmԴ7Td ٢ՋrRӔY뤔itZrIOHr >4^LŰhȧZ[ˢ5?INQH\J%w nmKou_kmyor7.Z[l>IVb%](tM$ qA4I7.' axA 9*J\ %ĩ/ݨUڒS)%-I*Q-$ܸ%RӔRs Z˶KRS).PQ@ Z.-d\P6|Wgˢ8]'kl8"T=YόbF1"7E-? Zv|c1Vώ]@1h":ASZ|(Ki_yb}tbώ|ˢl5ti}Դ1u-9ZfA(Ɲdꇽ- Z4?E!%ћ?]Pݨ)`}D ԕv?J Fn@r5,ql/.Z2)얿|r襴ufS@*Q?n@5Ú$N1h0&2H0$%I^Ջ$lJiMڀ=%]%>ZrRԒ?lbaMˉR_u-9@ c9vjJ}Դ% >@Xc`%]Ʋ1Xc\r.|ˢ[{>1LjoPmviɽCB87[>9s-c{>^|bޡMKiKi_y۱Rk>|uE [>tkg.[L#{o[t-`>Kd\|iPjJWPm[ bF0 >bx5t7uCᶻdtݨ5%]c%9DHI`fDT)7j !%]%:D!%ћ?\T=PcYόA cN u|6x 2LjnE4?E!%ћ?]Pݨ@ @ @ @ IWjINQHI`fD((H0)cWCzT>kKy7Mڀ<%%]c%9DHI`fDT)7j @ @ @ @IWjINQHI`fD?JQD3Z 9I.qDhn\N,$@rTXJ2R_u-9IPXRUڒS)%-I*Q-$ܸ%RӔeCޒu-9Ir,[YT=]Ʋ1Kq].[L.[LŢF Z5KKs!9dZټTk2Yk-myigFZ {Zrc)%>Zr?Jr.Pog.[Lmk5lv|uE cN {T=5 X! >8 uCnzFKNSi)RӔ=,{[y`X4ƺ4ZrIO|uE z۠1h#?\,7jprIWj55^cn+/6S(4ݨjJVnKNSi)RӔ(!!i{-濳YT=]1b7j@=7jprIWj4?E!%ћ?]Pݩm7p4h5%]%:D!%ћ?J@*D?lh0$mZ 9Iq8c Ē RWbI,iTKNRn*I)RӔf(fchn\Jic* KRS).PQ)P]Z Kȸll?ت;7t ]INQ >9tRfZټTk,mw:۱ȷ!t E.-Ʋ1۠1h#ּZ][a]? Ki:Qivh| Xidhȫ;S) AGc]ˢ3"ⅱώƺ97 X! KitnKNSi)RӔ@|uE [icm%>Zr) @;f P][ˢs]ζ,m?˖n {=wfAoD@{o2 c`Jr.Pn8 Fl~d߯tnKNSi)RӔ@io/6S(#T=얼S@ Fn@uBv hN-ѠW hNA*I) ) ,(_)v*]P\0dv|c1Jr%Y tM҈6fsD\6-$ܸ1YI+ڱp$%I}Դ&@-o%]%>ZrvBJR`ZvZpԒZvJJRJZUMZ 9Iq*K((kk}$KNR\'KZi) tRk.Z2*G&|r襴^Al5a_c]fflzn\dS-s@襴ٮώƺ) AGZ|)w5-+cw.|>c;>9tRf-*7A㱮փ_u-9C%$KNP|(|v5ɤgAl5fb}tb70INQ >3e$1;T=mlkkKB4ݨd)RUڂ.Z2*E-roc]_u-9LmKNWs-c{i2Q$KNP() ,(&Lmu1h 6 hћ`%H@$4 IWjINQHI`fD((E%nclԕv`g1h#A*Di2Q$KNP|(.HF?@igAk}S@*Q?n@5Ú$N1h0&2H0$%I^Ջ$IR_u-9IS5%]%>ZrRԒ?lbaMˉR_u-9@`>97[p0P %>ZrKNS5%>ZrtRk@|o`>67K(mS@og.[L t?-ml*3 6 z_u-9O`>$Ԕi  uCh|CK^}Դ@mLS+&Fύ/jJ}Դr%kkfQ(١pat?QAD'd fb(1@Nj-.-R Q( ngk )(҃cKnB.;DK(dĔi?JA  AG.[L[qQu V.97_c]kKC) AG\sŢFHGsŠ;>7ˑnb|(5{%oA P@284. X!Šrn IWjY"5Šz㆙ɻN() ,(&@v420_f2Ci;x ?(@M  %]%:D!%ћ?\ >""?cp e@mYra >""?cp@) ۢװӃ(MץRӔY뤔iP c>7& S\[.HFgt?_u-9EIOώ]P[O`>$@h%%]րbƿA?S@r|{&%c]_u-9O`>IO =ۢװpu-ƺ3 6 ύ/_f<`Ԕi fEB̊bu邠͍[.`?Odl b86*\$pJr.PQmP c"ⅱg--&?-kd>|i}Դ=RS+E.&@lнm-K^Kir[E.F ˖{%ˑnbY X:;>rёOds-{ ]Z >3e$185{%kEύ5,ql/.Z2)얿A(١p`|(ɽd7jpV#IWj=o icm%>ZrC vԕv/]$KNPARӔ%>Zr9/6S+Ѥ D\Rƺ:f-m)VM1 IWj%9DHI`fDT)7j{&RUڒS@(RX8-QױR\=Y.2rƽ/jJ}Դ?d >*EknKC.Z[ocYP`| l?\-|?6kK)Ěu-9D.]ls-ύ&(v] b s44ZIkKB65F6lE%(->+Eɺ_u-9O`>$Ԕi5li\˩{ 6h[(>Q@gƗKNS5%>Zr]s"ⅱ޼ T>oS\[#INQRX8-Q Mڞ|I6 ԕv?J Fn@rcӻ>4Zr|I)Rӕˢs\^)@3c˸3ctZrױ%>Zrrd ?ZHd_u-9Pp Ĕiɐu5gzޛo`>$C`vJr.P 3׀%ra_u-9O`>$Ԕi -kAkEQd.Z[mZƺ4ZrIOkK)6 6S(>u2 u.)vn\sRӔ ,KŭS+[%PPMi{&KNW.][{>7Tgc]/;h!%},͚ >8j"lINQ1D@*)Q:O9)M$r cNHI9prcNHI8c Ē $$%D?l1YI HJgoĒ9L4 s ' axD00aؒ@ J*@^}AIíϱ`{1Kʂiq`K%v)jHQy$8rZ0Aϱ`{ uCkzJZ*@^}AIíƸ9,rT5M  uCkRԗ),v,I!Ôk:SNBIe$( 8HIRER+Ϩ4I4h˃b.%@csXTCKm0KbcpBRԑTJ M"Zذ=ˉPScsOIKRER+Ϩ4I4hcCb.%@ƮcsOIKRER+Ϩ4I4h-}ܸiKV:)w4?WPhi [q*^pE.枒?WPhi .E>Ł\J\ tRi%-IJ >$%\`sXĨ Y^"kBRԑTJ M"Z:ßb.%@,m=%-IJ >$%]@sXĪ>RԑTJ M"ZxsXĨI)jHQy&-}ܸ1-8#yV?WPhi0b.%F+DR?WPhi0aϱ`{RԑTJ M#.j!ϱ`{X\5i)jINQ1D3sDrve-KÚ$a*%9D?JQX!D@rS@$[QEK[-Ͱ}%I`bI`)0P494TёBI %I)j t*LIGش@@hNA* lҍ$x:7':# ./usr/vac/html/zh_CN/doc/compiler/ref/rucompat.htmifm $    et <>ailnoprs/cdfghmu".=Cby),0;AIXvw&(-1:ELNST_kx #%3489FORUj{}MW]qz*Y[2DKP\Qs% 6R҄(UK a;V"`tYm6Ǩm(i-(J:L `X`X+c B BXHAi΋ )0`Y4N,%0`XJF –䴣VV$4njpMY!0j.C2Mc U ZPWZbIGxǕ[G5ͱ >֢ ֔)iGIi*['&Ej4nj&m_"+J?ED\(`R҄QXHdcO)\̓:L-L6Xx@"! ǓB.J?*â ˃6̘\é=Q+?C1^8~7.AZpUEՃ!Q6Z0XtC\{c\{,m DEiG*Z%{%PiYgQn/,,ŋ,^ʖ+$vkgu0Guq:6J?t|Y&WRͬ-m}If[e;>wqZ[hI(fqicJL/f:.;fEWpVy0:./cUcIG)`t]W[%&^y0:./k,^"QZ-MX8*âpjj@&=@ɢ_IUԒV_AXWEwͮK6x.,%&zҏFT]TG{0 J'r<ق_{D9(k,;ۅ*IQkQ-(TV6r<ى{_rGEm~,nl1(cfCd56y\ =`%̓- eQm{mxDEiGsVXHXxL]R`]K.P;v(iuO[`YT[_Eqd| ǘ{ zrҏ9Y*}U.$l0>{ɶfcΧ6ٔ.Yu*}&7p`cfr$<@D^Y-(܇)0~e>ˤU3sf%O̕2YM,<$kg(lVέ+=c`U/TeKUVU`XtY,9(ҁ(4H)_xҀA(ɯ@ |,9(3 Pf`1@x$  h` JJc^ J %049(ҏ=䂉 H`*"j"2#lD~ͮU3s*"+J?Rv0`0``BZiG7 a=\gT DV2m``@`BZiGsVXQ ieԩUusVq>ʧR)e 5()(S9QG>N}(ܠQ6* gl]X1M}Okҏq>!ZQ5`J2`t]WY&P(l4cʢTVl=Eu>zrҏ9 a<T5w(<ŀ 9#m1DPyU 2Kl%9iG#d*r<>UE~5(c9mj1`,db1}dcLQǏ6X.̝ͭkI6܏&ϕeQm{mxD9J?SA-yDPy|klWE%%OyU,< ΁T/TPytf<;bҏϕEcsٵP%?&Ǖ4o.;bH(ܠj1d R1aG$ܦ̓[o?h=3kTPygyQA-(mxD9J?AP 5vmd,T򨶾Nx@" p4'rZQ =]Zr[I@;bKTPy$ DPyJ?(lcʘg g9~גʭSA.vǔ1fܠ-( :aͩVVs?>tYʢ`~m0[]S^V^U]tV&m?TPy "10A"w(<ťYtMT[_ZrXL<  @8 QA-(?񋇵j1`ИD Ѡ;bZQL]R(l/Qjҏ{5iB% /8((JlBET NtXQMyɧ:qa-yU0P044W%겱6f– x9DYKJ?ebLsLxW92+Tv9<`4lRQZQ,"䴡D[:% DV% fl X kDQIm)jis# @d4S!4qxXt$UH`KQ ZP@JAs[ kx$'x:7':#'./usr/vac/html/zh_CN/doc/compiler/ref/rudbgcal.htmifm $ _debug_calloc

_debug_calloc - Allocate and Initialize Memory

Format

#include <stdlib.h>   /* also in <malloc.h> */
void *_debug_calloc(size_t num, size_t size,
                    const char *file, size_t line);

Language Level: Extension

_debug_calloc is the debug version of calloc. Like calloc, it allocates memory from the default heap for an array of num elements, each of length size bytes. It then initializes all bits of each element to 0.

In addition, _debug_calloc makes an implicit call to _heap_check, and stores the name of the file file and the line number line where the storage is allocated. This information can be used later by the _heap_check, _dump_allocated or _dump_allocated_delta functions.

To use _debug_calloc, you must compile with the debug memory -qheapdebug compiler option. This option maps all calloc calls to _debug_calloc.

Note: The -qheapdebug option maps all calls to memory management functions (including heap-specific versions) to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

To reallocate or free memory allocated by _debug_calloc, use _debug_realloc and _debug_free; you can also use realloc and free if you do not want debug information about the operation.

A heap-specific version (_debug_ucalloc) is available. _debug_calloc always allocates memory from the default heap.

Return Value
_debug_calloc
returns a pointer to the reserved space. If not enough memory is available, or if num or size is 0, _debug_calloc returns NULL.

Example
This example reserves storage of 100 bytes. It then attempts to write to storage that was not allocated. When _debug_calloc is called again, _heap_check detects the error, generates several messages, and stops the program.

Note: You must compile this example with the -qheapdebug option to map the calloc calls to _debug_calloc.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
   char *ptr1, *ptr2;
   if (NULL == (ptr1 = (char*)calloc(1, 100))) {
      puts("Could not allocate memory block.");
      exit(EXIT_FAILURE);
   }
   memset(ptr1, 'a', 105);         /* overwrites storage that was not allocated */
   ptr2 = (char*)calloc(2, 20);      /* this call to calloc invokes _heap_check */
   puts("_debug_calloc did not detect that a memory block was overwritten.");
   return 0;
   /****************************************************************************
      The output should be similar to:
      End of allocated object 0x00073890 was overwritten at 0x000738f4.
      The first eight bytes of the memory block (in hex) are: 6161616161616161.
      This memory block was (re)allocated at line number 9 in _debug_callo.c.
      Heap state was valid at line 9 of _debug_callo.c.
      Memory error detected at line 14 of _debug_callo.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

s k$x:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rudbgfre.htmifm$ _debug_free

_debug_free - Free Allocated Memory

Format

#include <stdlib.h>    /* also in <malloc.h> */
void _debug_free(void *ptr, const char *file,
                        size_t line);

Language Level: Extension

_debug_free is the debug version of free. Like free, it frees the block of memory pointed to by ptr. _debug_free also sets each block of freed memory to 0xFB, so you can easily locate instances where your program uses the data in freed memory.

In addition, _debug_free makes an implicit call to the _heap_check, and stores the file name file and the line number line where the memory is freed. This information can be used later by the _heap_check, _dump_allocated, or _dump_allocated_delta functions.

To use _debug_free, you must compile with the debug memory -qheapdebug compiler option. This option maps all free calls to _debug_free.

Note: The -qheapdebug option maps all calls to memory management functions (including heap-specific versions) to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

Because _debug_free always checks what heap the memory was allocated from, you can use _debug_free to free memory blocks allocated by the regular, heap-specific, or debug versions of the memory management functions. However, if the memory was not allocated by the memory management functions, or was previously freed, _debug_free generates an error message and the program ends.

Return Value
There is no return value.

Example
This example reserves two blocks, one of 10 bytes and the other of 20 bytes. It then frees the first block and attempts to overwrite the freed storage. When _debug_free is called a second time, _heap_check detects the error, prints out several messages, and stops the program.

Note: You must compile this example with the -qheapdebug option to map the free calls to _debug_free.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
   char *ptr1, *ptr2;
   if (NULL == (ptr1 = (char*)malloc(10)) || NULL == (ptr2 = (char*)malloc(20))) {
      puts("Could not allocate memory block.");
      exit(EXIT_FAILURE);
   }
   free(ptr1);
   memset(ptr1, 'a', 5);      /* overwrites storage that has been freed       */
   free(ptr2);                 /* this call to free invokes _heap_check       */
   puts("_debug_free did not detect that a freed memory block was overwritten.");
   return 0;
   /****************************************************************************
      The output should be similar to:
      Free heap was overwritten at 0x00073890.
      Heap state was valid at line 12 of _debug_free.c.
      Memory error detected at line 14 of _debug_free.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

p> _debug_heapmin

_debug_heapmin - Free Unused Memory in the Default Heap

Format

#include <stdlib.h>  /* also in <malloc.h> */
int _debug_heapmin(const char *file, size_t line);

Language Level: Extension

_debug_heapmin is the debug version of _heapmin. Like _heapmin, it returns all unused memory from the default runtime heap to the operating system.

In addition, _debug_heapmin makes an implicit call to _heap_check, and stores the file name file and the line number line where the memory is returned. This information can be used later by the _heap_check function.

To use _debug_heapmin, you must compile with the debug memory -qheapdebug compiler option. This option maps all _heapmin calls to _debug_heapmin.

Note: The -qheapdebug option maps all calls to memory management functions (including heap-specific versions) to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

A heap-specific version of this function (_debug_uheapmin) is also available. _debug_heapmin always operates on the default heap.

Return Value
If successful, _debug_heapmin returns 0; otherwise, it returns -1.

Example
This example allocates 10000 bytes of storage, changes the storage size to 10 bytes, and then uses _debug_heapmin to return the unused memory to the operating system. The program then attempts to overwrite memory that was not allocated. When _debug_heapmin is called again, _heap_check detects the error, generates several messages, and stops the program.

Note: You must compile this example with the -qheapdebug option to map the _heapmin calls to _debug_heapmin.

#include <stdlib.h>
#include <stdio.h>
int main(void)
{
   char *ptr;
   /* Allocate a large object from the system */
   if (NULL == (ptr = (char*)malloc(100000))) {
      puts("Could not allocate memory block.");
      exit(EXIT_FAILURE);
   }
   ptr = (char*)realloc(ptr, 10);
   _heapmin();                /* No allocation problems to detect             */
   *(ptr - 1) = 'a';          /* Overwrite memory that was not allocated      */
   _heapmin();                /* This call to _heapmin invokes _heap_check    */
   puts("_debug_heapmin did not detect that a non-allocated memory block"
        "was overwritten.");
   return 0;
   /****************************************************************************
      Possible output is:
      Header information of object 0x000738b0 was overwritten at 0x000738ac.
      The first eight bytes of the memory block (in hex) are: AAAAAAAAAAAAAAAA.
      This memory block was (re)allocated at line number 13 in _debug_heapm.c.
      Heap state was valid at line 14 of _debug_heapm.c.
      Memory error detected at line 17 of _debug_heapm.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

ogra kꐖ$-x:7':#-./usr/vac/html/zh_CN/doc/compiler/ref/rudbgmal.htmifm$ _debug_malloc

_debug_malloc - Allocate Memory

Format

#include <stdlib.h>  /* also in <malloc.h> */
void *_debug_malloc(size_t size,
                    const char *file, size_t line);

Language Level: Extension

_debug_malloc is the debug version of malloc. Like malloc, it reserves a block of storage of size bytes from the default heap. _debug_malloc also sets all the memory it allocates to 0xAA, so you can easily locate instances where your program uses the data in the memory without initializing it first.

In addition, _debug_malloc makes an implicit call to _heap_check, and stores the file name file and the line number line where the storage is allocated. This information can later be used by the _heap_check , _dump_allocated, or _dump_allocated_delta functions.

To use _debug_malloc, you must compile with the debug memory -qheapdebug compiler option. This option maps all malloc calls to _debug_malloc.

Note: The -qheapdebug option maps all calls to memory management functions (including heap-specific versions) to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

To reallocate or free memory allocated by _debug_malloc, use _debug_realloc and _debug_free; you can also use realloc and free if you do not want debug information about the operation.

A heap-specific version of this function (_debug_umalloc) is also available. _debug_malloc always allocates memory from the default heap.

Return Value
_debug_malloc
returns a pointer to the reserved space. If not enough memory is available or if size is 0, _debug_malloc returns NULL.

Example
This example allocates 100 bytes of storage. It then attempts to write to storage that was not allocated. When _debug_malloc is called again, _heap_check detects the error, generates several messages, and stops the program.

Note: You must compile this example with the -qheapdebug option to map the malloc calls to _debug_malloc.

#include <stdlib.h>
#include <stdio.h>
int main(void)
{
   char *ptr1, *ptr2;
   if (NULL == (ptr1 = (char*)malloc(100))) {
      puts("Could not allocate memory block.");
      exit(EXIT_FAILURE);
   }
   *(ptr1 - 1) = 'a';        /* overwrites storage that was not allocated    */
   ptr2 = (char*)malloc(10); /* this call to malloc invokes _heap_check      */
   puts("_debug_malloc did not detect that a memory block was overwritten.");
   return 0;
   /****************************************************************************
      Possible output is:
      Header information of object 0x00073890 was overwritten at 0x0007388c.
      The first eight bytes of the memory block (in hex) are: AAAAAAAAAAAAAAAA.
      This memory block was (re)allocated at line number 8 in _debug_mallo.c.
      Heap state was valid at line 8 of _debug_mallo.c.
      Memory error detected at line 13 of _debug_mallo.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

es  kꐈ$ax:7':#a./usr/vac/html/zh_CN/doc/compiler/ref/rudbgmcp.htmifm$ _debug_memcpy

_debug_memcpy - Copy Bytes

Format

#include <string.h>
void *_debug_memcpy(void *dest, const void *src, size_t count,
                    const char *file, size_t line);

Language Level: Extension

_debug_memcpy is the debug version of memcpy. Like memcpy, it copies count bytes of src to dest, where the behavior is undefined if copying takes place between objects that overlap.

_debug_memcpy validates the heap after copying the bytes to the target location, and performs this check only when the target is within a heap. _debug_memcpy makes an implicit call to _heap_check. If _debug_memcpy detects a corrupted heap when it makes a call to _heap_check, _debug_memcpy will report the file name file and line number line in a message.

Note: _debug_memcpy checks only the current default heap. Therefore, this debug support will not check all heaps within applications that have multiple user heaps.

To use _debug_memcpy, you must compile with the debug memory -qheapdebug compiler option. This option maps all memcpy calls to _debug_memcpy. You do not have to change your source code, in order for _debug_memcpy to verify the heap.

Note: The -qheapdebug option maps all calls to other string functions and all calls to memory management functions (including a heap-specific version), to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

Return Value
_debug_memcpy
returns a pointer to dest.

Example
This example contains a programming error. On the memcpy used to initialize the target location, the count is more than the size of the target object, and the memcpy operation copies bytes past the end of the allocated object.

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#define  MAX_LEN       10
int main(void)
{
   char *source, *target;
   target = (char*)malloc(MAX_LEN);
   memcpy(target, "This is the target string", 11);
   printf("Target is \"%s\"\n", target);
   return 0;
   /****************************************************************************
      The output should be similar to:
      End of allocated object 0x00073c80 was overwritten at 0x00073c8a.
      The first eight bytes of the memory block (in hex) are: 5468697320697320.
      This memory block was (re)allocated at line number 11 in memcpy.c.
      Heap state was valid at line 11 of memcpy.c.
      Memory error detected at line 12 of memcpy.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

a heap- kꞲ$x:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rudbgmmv.htmifm$ _debug_memmove

_debug_memmove - Copy Bytes

Format

#include <string.h>
void *_debug_memmove(void *dest, const void *src, size_t count,
                    const char *file, size_t line);

Language Level: Extension

_debug_memmove is the debug version of memmove. Like memmove, it copies count bytes of src to dest, and allows for copying between objects that may overlap.

_debug_memmove validates the heap after copying the bytes to the target location, and performs this check only when the target is within a heap. _debug_memmove makes an implicit call to _heap_check. If _debug_memmove detects a corrupted heap when it makes a call to _heap_check, _debug_memmove will report the file name file and line number line in a message.

Note: _debug_memmove checks only the current default heap. Therefore, this debug support will not check all heaps within applications that have multiple user heaps.

To use _debug_memmove, you must compile with the debug memory -qheapdebug compiler option. This option maps all memcpy calls to _debug_memmove. You do not have to change your source code, in order for _debug_memmove to verify the heap.

Note: The -qheapdebug option maps all calls to other string functions and all calls to memory management functions (including a heap-specific version), to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

Return Value
_debug_memmove
returns a pointer to dest.

Example
This example contains a programming error. The count specified on memmove is 15 instead of 5, and the memmove operation copies bytes past the end of the allocated object.

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#define  SIZE          21
int main(void)
{
   char *target, *p, *source;
   target = (char*)malloc(SIZE);
   strcpy(target, "a shiny white sphere");
   p = target+8;                    /* p points at the starting character
                                       of the word we want to replace   */
   source = target+2;               /* start of "shiny" */
   printf("Before memmove, target is \"%s\"\n", target);
   memmove(p, source, 15);
   printf("After memmove, target becomes \"%s\"\n", target);
   return 0;
   /****************************************************************************
      The output should be similar to:
      Before memmove, target is "a shiny white sphere"
      End of allocated object 0x00073c80 was overwritten at 0x00073c95.
      The first eight bytes of the memory block (in hex) are: 61207368696E7920.
      This memory block was (re)allocated at line number 11 in memmove.c.
      Heap state was valid at line 12 of memmove.c.
      Memory error detected at line 18 of memcpy.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

 k4$y:7':#./usr/vac/html/zh_CN/doc/compiler/ref/rudbgmst.htmifm$ _debug_memset

_debug_memset - Set Bytes to Value

Format

#include <string.h>
void *_debug_memset(void *dest, int c, size_t count,
                    const char *file, size_t line);

Language Level: Extension

_debug_memset is the debug version of memset. Like memset, it sets the first count bytes of dest to the value c. The value of c is converted to an unsigned character.

_debug_memset validates the heap after setting the bytes, and performs this check only when the target is within a heap. _debug_memset makes an implicit call to _heap_check. If _debug_memset detects a corrupted heap when it makes a call to _heap_check, _debug_memset will report the file name file and line number line in a message.

Note: _debug_memset checks only the current default heap. Therefore, this debug support will not check all heaps within applications that have multiple user heaps.

To use _debug_memset, you must compile with the debug memory -qheapdebug compiler option. This option maps all memset calls to _debug_memset. You do not have to change your source code, in order for _debug_memset to verify the heap.

Note: The -qheapdebug option maps all calls to other string functions and all calls to memory management functions (including a heap-specific version), to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

Return Value
_debug_memset
returns a pointer to dest.

Example
This example contains a programming error. The invocation of memset that puts 'B' in the buffer specifies the wrong count, and stores bytes past the end of the buffer.

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#define  BUF_SIZE      20
int main(void)
{
   char *buffer, *buffer2;
   char *string;
   buffer = (char*)calloc(1, BUF_SIZE+1);    /* +1 for null-terminator */
   string = (char*)memset(buffer, 'A', 10);
   printf("\nBuffer contents: %s\n", string);
   memset(buffer+10, 'B', 20);
   return 0;
   /****************************************************************************
      The output should be:
      Buffer contents: AAAAAAAAAA
      End of allocated object 0x00073c80 was overwritten at 0x00073c95.
      The first eight bytes of the memory block (in hex) are: 4141414141414141.
      This memory block was (re)allocated at line number 12 in memset.c.
      Heap state was valid at line 14 of memset.c.
      Memory error detected at line 16 of memset.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap

m kꚕ$y:7(:#./usr/vac/html/zh_CN/doc/compiler/ref/rudbgrea.htmifm$ _debug_realloc

_debug_realloc - Reallocate Memory Block

Format

#include <stdlib.h>  /* also in <malloc.h> */
void *_debug_realloc(void *ptr, size_t size,
                     const char *file, size_t line);

Language Level: Extension

_debug_realloc is the debug version of realloc. Like realloc, it reallocates the block of memory pointed to by ptr to a new size, specified in bytes. It also sets any new memory it allocates to 0xAA, so you can easily locate instances where your program tries to use the data in that memory without initializing it first.

In addition, _debug_realloc makes an implicit call to _heap_check, and stores the file name file and the line number line where the storage is reallocated. This information can be used later by the _heap_check, _dump_allocated, or _dump_allocated_delta functions.

If ptr is NULL, _debug_realloc behaves like _debug_malloc (or malloc) and allocates the block of memory.

To use _debug_realloc, you must compile with the debug memory -qheapdebug compiler option. This option maps all realloc calls to _debug_realloc.

Note: The -qheapdebug option maps all calls to memory management functions (including heap-specific versions) to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

Because _debug_realloc always checks what heap the memory was allocated from, you can use _debug_realloc to reallocate memory blocks allocated by the regular or debug versions of the memory management functions. However, if the memory was not allocated by the memory management functions, or was previously freed, _debug_realloc generates an error message and the program ends.

Return Value
_debug_realloc
returns a pointer to the reallocated memory block. The ptr argument to _debug_realloc is not the same as the return value; _debug_realloc always changes the memory location to help you locate references to the memory that were not freed before the memory was reallocated.

If size is 0, _debug_realloc returns NULL. If not enough memory is available to expand the block to the given size, the original block is unchanged and NULL is returned.

Example
This example uses _debug_realloc to allocate 100 bytes of storage. It then attempts to write to storage that was not allocated. When _debug_realloc is called again, _heap_check detects the error, generates several messages, and stops the program.

Note: You must compile this example with the -qheapdebug option to map the realloc calls to _debug_realloc.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
   char *ptr;
   if (NULL == (ptr = (char*)realloc(NULL, 100))) {
      puts("Could not allocate memory block.");
      exit(EXIT_FAILURE);
   }
   memset(ptr, 'a', 105);     /* overwrites storage that was not allocated    */
   ptr = (char*)realloc(ptr, 200);        /*  realloc invokes _heap_check     */
   puts("_debug_realloc did not detect that a memory block was overwritten." );
   return 0;
   /****************************************************************************
      The output should be similar to:
      End of allocated object 0x00073890 was overwritten at 0x000738f4.
      The first eight bytes of the memory block (in hex) are: 6161616161616161.
      This memory block was (re)allocated at line number 8 in _debug_reall.c.
      Heap state was valid at line 8 of _debug_reall.c.
      Memory error detected at line 13 of _debug_reall.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

 lҧ$y:7(:# ./usr/vac/html/zh_CN/doc/compiler/ref/rudbgsct.htmifm$  ert */<>acghinops".bdflmu=_vy#-01;w&(),CFMSTkq%237:BEHIUx5689ADLRVZz4NjOPY\}{\4؃녴 :lMkqիcuX"d=.x `p8`(000000ft]Q:i"xMˣI&2x˭ ĝCqI\_!l7;Pf.KT弦 ܋KB{4f-M2 Z$MwA6rsvݾ܌^9k,A֭%?)6΃yL?F.6EљZjXոj֐]AF.Z9=U $6{lAtbX8I /C,7jttb9=I x9Wrr{8[_ m;Jӓ&d]vȟK§W#^[^r,_-|k㰌|-$ ׉㛫Uw''Е׶H/4%uie]w''L-[KUw''$ ׉㛫Uw''IJ]'ʉw/SqaQ.֭-BA"yqab^ vnjgyZ:F :rr{{`Z] &5k]%Tr,__q-M4~e<5eyFʼ8Im]inQwyX@g٠ rl_3enmGeoosK/3q,bFau Qvri:F :rr{U.Y18l^&nUܜϗ8o>/rsvݲPzFObY]VMQ:1uܜ4i.֪NOb FBrUɿaO_^4V m_)-)}// ܌׺HLrLBfCx׺rsvݲGZ]2ؽFN,oK%ā ~ Q4:Lf</*2qf|^Wr2xC-Tbl^+ 7C-Tbl^#-62 I AAxM7-Tbl^?QWG: ĂieXr,Ax LXrպŪlAu-gG㛠 (g͞zdߍ06z AJBfC4x͞9Uh,9.nj[ttbYRR)JR)JR)JR)JR)JR)JR)JR)JR)JR?7}a3K'~2%> ZXS-:e{Wie'̀o C%3b;.ဈ```tQ︾_2d_ %Q ܰ/@$ `P:a,AspK ie'yqa4㛣t׊iq'yq'̯]7Gp?'O97{w_ ~ez9;AR)JR)JR)JR)JR)JR)JR)JR)JR)JR*պŪlAu֐]'0n,4c'0n,Ѯ `|I400?q?v8\L8@ÎU''` ` ` 3F1[|20ӓU8,Hxt"5dZ[iUYm(@ÎNNmTL&+ٓ|5ePqvr,be aS']6qYIL f&2ٓh?|vi{|fO:JMb 8ꉍ}R~Yz;P>$  q|4@f,be aV*M2$ 0+gA,^Y2 *am8>̞ ZŪAF.&? aTLk'` `q|4@f,be l6t[G Bl_2.jkF1[|26IsK`V΃0I6A\,}%K '֦dc,adžMkĕ|/r˛J'֦dc,aPl3d0˅v]BFAd_i{mdc,aXtI xYsw 2x-jkF1[|26I1`V΃0I6Ae |: `Mb oYBI!(xi[: $Ia|/gA| UYm(@i$<tI x,`Y5#e $xi[: $N[K.n|[K.nn'\ZőA CcL f &5k |: ZőA C-`V΃0I6A]96rsvݴ!>SX1?PH}d,xi[: $Mw$ |: ZőA C* 0+gA$ ׉{Bm|e֦dc,aGMkr//x6 ƻo*\!=jkF1[|26I5ŏ 0+gA$ ׉5,u}%K 'Y38![[h5#e $Mkě m _e$mlfO˂uSX1?PHy<4`l^$Ysw *x*}<+&g+ymdc,a<4`XNdZjXI\_!l7b\_!d_ A֭%?[A֭ittbF :PCLD:ruj)]cLq8ꉍ}R|H1;P܉7 SXDLlA֨i<str k겫$y:7(:# ./usr/vac/html/zh_CN/doc/compiler/ref/rudbgscy.htmifm $ _debug_strcpy

_debug_strcpy - Copy Strings

Format

#include <string.h>
char *_debug_strcpy(char *string1, const char *string2,
                    const char *file, size_t line);

Language Level: Extension

_debug_strcpy is the debug version of strcpy. Like strcpy, it copies string2, including the ending null character, to the location specified by string1.

_debug_strcpy validates the heap after copying the string to the target location, and performs this check only when the target is within a heap. _debug_strcpy makes an implicit call to _heap_check. If _debug_strcpy detects a corrupted heap when it makes a call to _heap_check, _debug_strcpy will report the file name file and line number line in a message.

Note: _debug_strcpy checks only the current default heap. Therefore, this debug support will not check all heaps within applications that have multiple user heaps.

To use _debug_strcpy, you must compile with the debug memory -qheapdebug compiler option. This option maps all strcpy calls to _debug_strcpy. You do not have to change your source code, in order for _debug_strcpy to verify the heap.

Note: The -qheapdebug option maps all calls to other string functions and all calls to memory management functions (including a heap-specific version), to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

Return Value
_debug_strcpy
returns a pointer to the copied string string1.

Example
This example contains a programming error. The source string is too long for the destination buffer, and the strcpy operation damages the heap.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define  SIZE          10
int main(void)
{
   char *source = "1234567890123456789";
   char *destination;
   char *return_string;
   destination = (char*)malloc(SIZE);
   strcpy(destination, "abcdefg"),
   printf("destination is originally = '%s'\n", destination);
   return_string = strcpy(destination, source);
   printf("After strcpy, destination becomes '%s'\n\n", destination);
   return 0;
   /****************************************************************************
      The output should be similar to:
      destination is originally = 'abcdefg'
      End of allocated object 0x00073c80 was overwritten at 0x00073c8a.
      The first eight bytes of the memory block (in hex) are: 3132333435363738.
      This memory block was (re)allocated at line number 13 in strcpy.c.
      Heap state was valid at line 14 of strcpy.c.
      Memory error detected at line 17 of strcpy.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

_debug_ l$y:7(:#./usr/vac/html/zh_CN/doc/compiler/ref/rudbgsns.htmifm$  aghinops".bcdlmu=_fvy#,-0w&17;FMTk%()389:BCHSUqxzADEILR2NVj45OPY\}{iA–=kXZ"{+_zS-A舔/b\p8 p8 -0H``````:R]*KAz]#^0nM\QOC7&.ra/C7 yZQn-+aol5k..İ31,)XגLam])UkDOrA{3NO|Bc ])BV)6CxD7%Ի {`l{]/JV[AZ =Iu=G fҧ5t-AHD6;kAXKIf|^g4w3:Dd܄@b\n3[VBՅw}+ut)Y4҅3[ x'b7ҷWB•PbuaH?Oy.ftҷWBՉywJ](S1u7v#}+ut)YoҷWJ]nҷWJZzQĐ"lvփ%#2 5,UT#[p T%#AVA=N=_*5Ux='{J`Վo#{*{V߾w dg_]|K{S1uRWJZK'o''Цbus|J](S1cS1ui[ f-^m=3pS1uRWJ_|rٷ>S1u> n)]>3[VBA>lyoOLJ](S1cҤ.5b hBwF _S6l`A{~ >|Y!/>{V ֈ'{J`Ay-y,,=d$#J`Տ8S܌YD!;T#*rclK߼n}_`ՈuB uOr0jz`Ո*5' ҧ5|5߮%߃ BՉywJ](S1h; W-L"ЦbueJ](S1}\-AKF Xl Or0jOr0jd܄iS܌Kx]|s.ʱ,4H~u剎XW>| )G7xGy.B=lkχd[f03{*w͝d=*KAzOr0jd܄iS܌.& bd]}u[̳#Or0j[$UkiS܌LL˼0902S,S܌BwF _%?=UkDOrOr0jA yQ0U%̃opī y=Or0jdYOr0j}x"%=Iu=XtF _:Or0j[$UkiS܌kJ}aeydp_1clˆ&|a>>iO{w[$9Y/xɾ0ʲ o&&o$ُp_3oy&e]sx']|I'_x0%=Iu=780nŠ hBwF _rᷟc^Y^3[VB:yϗ8mJt`Հ`IHOr0jZsa.1d[0#~{Bn{Յ ᬟ'-epnxYa{xc͎}1Du|k7~3c5s܄iS܌rLM=\_'믰K6 %=K-u*(J-StiWE6zS;MjY_> 6Tփ, 1E8?3:g n,=K-u8~b@sYq$VRZԲ[ cЃ>u> {YD4+p7!ҥeWRR)JR)JR)JR)JR)JR)JR)JR)JR)JRAntM,EtҥeWh'K6 တ```0$ ᬟ~óx`$  X:|K{vO_2̎ B<|;2 AH0  $`:,Aq$#Y>e,Ͳ7_yyBw:y6k'0ټ,'rR)JR)JR)JR)JR)JR)JR)JR)JR)JR=+uteAشa"8UqeɅ48rl&48pו0,00h?Ҹk F]̎ A.:t.Š!ur٨L Gv k#<.>̎ uS1u%oaScnjr#pו0,w[02ZLaVaM2(0'c!lZ &]d>̎ 1t-.c|:csT^׉pq``(eݖ$8le0'c!"[ؙ'y-|aJbZLl4K `NC,AVAK .$ .$o װwdp])1h?3,Hq҈hݦd2drv]Yq%e 28.ݖ$8iD50wi; YC1||}lK /xl)1h?3,Hq҈i,wi; YA,,ʹfGҘ#;ć (LvUkDf!|/ ۝)1h?3,Hq҈i `NC,AVAedE_ ld/JbZLl4dwi; YAdx_x/nb3 6L]AbCCr;XZ#-x_6ˉ,Adp_ !SDbgvXaٓL e*5'K760%pf> )1h?3,Hq҈l;XZ"{_ ld/gJbZLl48hv2b h@o l`K6ʹ|:SDbgvXaXv2b h@ | ?qlL]AbCCg=`NC,AVA=5A> 1tF-we6Q 4vUkDK .$nw װwdp_3uT.Š!J!ݦd2d#w;)ّ}8l)1h?3,Hq҈i;XZ Yq'sh?>̎ aq$#L8l)1h?3,Hq]l`NC,,uEYҤ-+aol Iu.hҤ-VzVh:R]*KAzgvX:D<r٨ay6;O1xHqC #r#^0eҘDJ0er=" k@${y:7(:#{./usr/vac/html/zh_CN/doc/compiler/ref/rudbgsnt.htmifm $ _debug_strncat

_debug_strncat - Concatenate Strings

Format

#include <string.h>
char *_debug_strncat(char *string1, const char *string2, size_t count,
                    const char *file, size_t line);

Language Level: Extension

_debug_strncat is the debug version of strncat. Like strncat, it appends the first count characters of string2 to string1 and ends the resulting string with a null character (\0). If count is greater than the length of string2, the length of string2 is used in place of count.

_debug_strncat validates the heap after appending the characters, and performs this check only when the target is within a heap. _debug_strncat makes an implicit call to _heap_check. If _debug_strncat detects a corrupted heap when it makes a call to _heap_check, _debug_strncat will report the file name file and line number line in a message.

Note: _debug_strncat checks only the current default heap. Therefore, this debug support will not check all heaps within applications that have multiple user heaps.

To use _debug_strncat, you must compile with the debug memory -qheapdebug compiler option. This option maps all strncat calls to _debug_strncat. You do not have to change your source code, in order for _debug_strncat to verify the heap.

Note: The -qheapdebug option maps all calls to other string functions and all calls to memory management functions (including a heap-specific version), to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

Return Value
_debug_strncat
returns a pointer to the joined string string1.

Example
This example contains a programming error. The buffer1 object is not large enough to store the result after eight characters from the string " programming" are concatenated.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define  SIZE          10
int main(void)
{
   char *buffer1;
   char *ptr;
   buffer1 = (char*)malloc(SIZE);
   strcpy(buffer1, "computer");
   /* Call strncat with buffer1 and " programming"                            */
   ptr = strncat(buffer1, " programming", 8);
   printf("strncat: buffer1 = \"%s\"\n", buffer1);
   return 0;
   /****************************************************************************
      The output should be similar to:
      End of allocated object 0x00073c80 was overwritten at 0x00073c8a.
      The first eight bytes of the memory block (in hex) are: 636F6D7075746572.
      This memory block was (re)allocated at line number 12 in strncat.c.
      Heap state was valid at line 13 of strncat.c.
      Memory error detected at line 17 of strncat.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

nctio k\$Oy:7(:#O./usr/vac/html/zh_CN/doc/compiler/ref/rudbgsny.htmifm$ _debug_strncpy

_debug_strncpy - Copy Strings

Format

#include <string.h>
char *_debug_strncpy(char *string1, const char *string2, size_t count,
                    const char *file, size_t line);

Language Level: Extension

_debug_strncpy is the debug version of strncpy. Like strncpy, it copies count characters of string2 to string1. If count is less than or equal to the length of string2, a null character (\0) is not appended to the copied string. If count is greater than the length of string2, the string1 result is padded with null characters (\0) up to length count.

_debug_strncpy validates the heap after copying the strings to the target location, and performs this check only when the target is within a heap. _debug_strncpy makes an implicit call to _heap_check. If _debug_strncpy detects a corrupted heap when it makes a call to _heap_check, _debug_strncpy will report the file name file and line number line in a message.

Note: _debug_strncpy checks only the current default heap. Therefore, this debug support will not check all heaps within applications that have multiple user heaps.

To use _debug_strncpy, you must compile with the debug memory -qheapdebug compiler option. This option maps all strncpy calls to _debug_strncpy. You do not have to change your source code, in order for _debug_strncpy to verify the heap.

Note: The -qheapdebug option maps all calls to other string functions and all calls to memory management functions (including a heap-specific version), to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

Return Value
_debug_strncpy
returns a pointer to string1.

Example
This example contains a programming error. The source string is too long for the destination buffer, and the strncpy operation damages the heap.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define  SIZE          10
int main(void)
{
   char *source = "1234567890123456789";
   char *destination;
   char *return_string;
   int index = 15;
   destination = (char*)malloc(SIZE);
   strcpy(destination, "abcdefg"),
   printf("destination is originally = '%s'\n", destination);
   return_string = strncpy(destination, source, index);
   printf("After strncpy, destination becomes '%s'\n\n", destination);
   return 0;
   /****************************************************************************
      The output should be similar to:
      destination is originally = 'abcdefg'
      End of allocated object 0x00073c80 was overwritten at 0x00073c8a.
      The first eight bytes of the memory block (in hex) are: 3132333435363738.
      This memory block was (re)allocated at line number 14 in strncpy.c.
      Heap state was valid at line 15 of strncpy.c.
      Memory error detected at line 18 of strncpy.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

/ lh$y:7(:#./usr/vac/html/zh_CN/doc/compiler/ref/rudbgsst.htmifm$   ert */<>aghilnops".bcdmu=_fvy#,-0;Mkw&()18CFHSTx%'379:BRUqz256ADEILV\+4NPYjO{}[ȱAilAt{ QvI]ޭ[ Zm-:fXKgG x<#΃1A׭&7ɞx$pWѥ 8H1T$#`^Hv tx8[,\[J# ؅24v-M2ďZE&Uw+zp=ҶIPX< bilAץ!#?qb:BG9;?UZ[ZZclAuы7VNNbF :Ɍ ]2ؽBEDc܄C.:EdUܭ(:V,cqew!'-[Z7[֭,cqaKV/uh?9WyOnt[Xp[Z7[֭,cqda+ZX n1{-[Zj&3(@6{lAuыƵ]jܫ jttb99MpVjxWd2򰜼VBw+zᾷyOn4/u܄nj`Za2EN61=Ҷhh,/7njb *ry_Q:1uܜE&Uw+zWrrs8n_}v ;1=Ҷb7WrrպŨcq}-W(CQ_rux5o}urrsdUܭ]Ah׶^R0*lc}uܜOQONNa .5«[ժ{em{yS6ei_rcD.?g]m(Aj .5«[ժaO7oɦ_Xp[Z7EWiun1{%kVxKu]d-Tb]w''0'-UܜκNN`\*Z99BA(r]im'X|+˲Mwx#SSǾJk.R0) ʿ^h#| Ҥ-Tb O[ .5«[ժaT̤#|F_|$s,޺NN`` m Mr]LB7tND '¾tN\ҽ]w''2Z995>NN`\*Z99 3yse)퓯3pL y:99MpVj >2}hBF :rrs{`b]']w''00}&jya9 6yMk~z]IY+a9WE<5>e<5exdVrBED'vhZYPrg.5ܩ-sjG O,e{yMxm)en\X7ś"L1AF.^16N1]kWrUw''3*NϳY}c^+ 9jb1p/¾SY.} !`V΃QvIm gml>̞ -xBEY8m$|4\cbC`\(3+p̦dj,b>Y.00+gA($ 2*xgNx7nSXq?ߖ,Hid0+gA($ 22c/pt7v5'bďK0+gA($ 2̭ ۯ٠16֦d,Xv[H~]ke1\3e7m'x 5'bďKV0+gA($ MӑMۓv$Mb o~X#ᥒ4[:E&Uw Ӡ܄UY8m$|4]YitMpH Ȧɻh?GruVd,Xud4[:E&Uw$U$Mb o~X#ᥒʤ?L v .5«*An4Grr,b>Y.40+gA($ 43+p:x2dZ cF}<}o8BEY8m$|4\k!`V΃QvIk2|2x7\[h5'bďK2$?L v .51 >̞ lfP3 md,X_m!`V΃0}&jk1Z tb81t!#A֭-?[A֭i1 :ŪAu,X!De!9tڨe=VCظ\(HT kIPi3;ZcXO"`ly k$Jy:7(:#J./usr/vac/html/zh_CN/doc/compiler/ref/rudbgucl.htmifm $ _debug_ucalloc

_debug_ucalloc - Reserve and Initialize Memory from User Heap

Format

#include <umalloc.h>
void *_debug_ucalloc(Heap_t heap, size_t num, size_t size,
                     const char *file, size_t line);

Language Level: Extension

_debug_ucalloc is the debug version of _ucalloc. Like _ucalloc, it allocates memory from the heap you specify for an array of num elements, each of length size bytes. It then initializes all bits of each element to 0.

In addition, _debug_ucalloc makes an implicit call to _uheap_check, and stores the name of the file file and the line number line where the storage is allocated. This information can be used later by the _uheap_check, _uheap_allocated, or _udump_allocated_delta functions.

To use _debug_ucalloc, you must compile with the debug memory -qheapdebug compiler option. This option maps all _ucalloc calls to _debug_ucalloc.

Note: The -qheapdebug option maps all calls to memory management functions (including heap-specific versions) to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

_debug_ucalloc works just like _debug_calloc except that you specify the heap to use; _debug_calloc always allocates from the default heap.

If the heap does not have enough memory for the request, _debug_ucalloc calls the getmore_fn that you specified when you created the heap with _ucreate.

To reallocate or free memory allocated with _debug_ucalloc, use the non-heap-specific _debug_realloc and _debug_free. These functions always check what heap the memory was allocated from.

Return Value
_debug_ucalloc
returns a pointer to the reserved space. If size or num was specified as zero, or if your getmore_fn cannot provide enough memory, _debug_ucalloc returns NULL. Passing _debug_ucalloc a heap that is not valid results in undefined behavior.

Example
This example creates a user heap and allocates memory from it with _debug_ucalloc. It then attempts to write to memory that was not allocated. When _debug_free is called, _uheap_check detects the error, generates several messages, and stops the program.

Note: You must compile this example with the -qheapdebug option to map the _ucalloc calls to _debug_ucalloc and free to _debug_free.

#include <stdlib.h>
#include <stdio.h>
#include <umalloc.h>
#include <string.h>
int main(void)
{
   Heap_t  myheap;
   char    *ptr;
   /* Use default heap as user heap */
   myheap = _udefault(NULL);
   if (NULL == (ptr = (char*)_ucalloc(myheap, 100, 1))) {
      puts("Cannot allocate memory from user heap.");
      exit(EXIT_FAILURE);
   }
   memset(ptr, 'x', 105);   /* Overwrites storage that was not allocated */
   free(ptr);
   return 0;
   /****************************************************************************
      The output should be similar to :
      End of allocated object 0x00073890 was overwritten at 0x000738f4.
      The first eight bytes of the memory block (in hex) are: 7878787878787878.
      This memory block was (re)allocated at line number 14 in _debug_ucallo.c.
      Heap state was valid at line 14 of _debug_ucallo.c.
      Memory error detected at line 19 of _debug_ucallo.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

not a l$y:7(:#D./usr/vac/html/zh_CN/doc/compiler/ref/rudbguhm.htmifm$  ert /<>aghilmnopsu"._bcd=fy#)-0;vw&(*,CFHILMSUkqx1ABERTz%39:DNj{}'268VX\!45PYOKvQs%s2uQ5amptRvs% I2,_%I#`07 葂ÃW9dIDsՒ 0pܫ{tX$`Vk)`./Z$`88Ӹ:_[ȉe1։(K@2*Q)eX[M^p#l2우8:'7oe FB,ҁR(hQij9ӥ̈SB83{#c_j9ҍ-G79Y/2frQb/RnJ,RQ52I| +-; tJ}K~ {PCgGy5amptA\ޔn" 'uM(RP RwT J4SWn" 'uBJ7T/ҍ$AxJNҍ%Q̔ V[j9dIUl xJ)(\ ƎR95&AvMXE[kO]Vq :QME"QME'}4ܔX*\ܔXWvFokK/,sߤ u RwT\ҍ% })/]z Dsɚ|Go, ]VVE(rMYo.UY|E.Uel\akzi(DTܔX8W*-}}7eK TRG2i(DdՄUJ)(]eo\K{\8pDsɚ,kWM7%(우8:)E7%+a;\NgBoqNRVAMiE7%+츂׷s61҉95&AvMXE[ke:pZo{wME &!J)(G5J֯xWvS ia4ܔX jks-+OZ]>v)u~:Q52f2^nJ,Q5amptRnJ,P+|+MJsZskod՞ `nJ,PhQdՉE7%+(MϼQyO](.t{i(DUJ)(\.nJ,Q5amptRnJ,PDsɚMER E7%+nJ,PhQdՉE7%+zDNep \V˅xĭtNtJ}KtXs60Np/(Fe5g*UMyYR+%M,\eחmmmUZGp҉95&#oQ̔SrQb½*QWJ ]4ܔX j*\ܔX2y/R-ϮX+o3)_u+%-I's}b۰ LekvMX-IDsZo|Aos"$m.jLDH7FW(oKQFdVKG1̙(c+$a@㠩Bn} JUc-qV;v).=0#:tDX`TŎ ,.H)(Zd-G2P݃sring k$!y:7(:#!./usr/vac/html/zh_CN/doc/compiler/ref/rudbguml.htmifm $ _debug_umalloc

_debug_umalloc - Reserve Memory Blocks from User Heap

Format

#include <umalloc.h>
void *_debug_umalloc(Heap_t heap, size_t size,
                     const char *file, size_t line);

Language Level: Extension

_debug_umalloc is the debug version of _umalloc. Like _umalloc, it reserves storage space from the heap you specify for a block of size bytes. _debug_umalloc also sets all the memory it allocates to 0xAA, so you can easily locate instances where your program uses the data in the memory without initializing it first.

In addition, _debug_umalloc makes an implicit call to _uheap_check, and stores the name of the file file and the line number line where the storage is allocated. This information can be used later by the _uheap_check, _udump_allocated, or _udump_allocated_delta functions. _debug_umalloc also sets all the memory it allocates to 0xAA; this can help you debug problems where your program uses the data in the memory without initializing it.

_debug_umalloc works just like _debug_malloc except that you specify the heap to use; _debug_malloc always allocates from the default heap.

If the heap does not have enough memory for the request, _debug_umalloc calls the getmore_fn that you specified when you created the heap with _ucreate.

To use _debug_umalloc, you must compile with the debug memory -qheapdebug compiler option. This option maps all _umalloc calls to _debug_umalloc.

Note: The -qheapdebug option maps all calls to memory management functions (including heap-specific versions) to their debug counterparts. To prevent a call from being mapped, parenthesize the function name.

To reallocate or free memory allocated with _debug_umalloc, use the non-heap-specific _debug_realloc and _debug_free. These functions always check what heap the memory was allocated from.

Return Value
_debug_umalloc
returns a pointer to the reserved space. If size was specified as zero, or the getmore_fn cannot provide enough memory, _debug_umalloc returns NULL. Passing _debug_umalloc a heap that is not valid results in undefined behavior.

Example
This example creates a heap myheap and uses _debug_umalloc to allocate 100 bytes from it. It then attempts to overwrite storage that was not allocated. The call to _debug_free invokes _uheap_check, which detects the error, generates messages, and ends the program.

Note: You must compile this example with the -qheapdebug option to map _umalloc to _debug_umalloc, and free to _debug_free.

#include <stdlib.h>
#include <stdio.h>
#include <umalloc.h>
#include <string.h>
int main(void)
{
   Heap_t  myheap;
   char    *ptr;
   /* Use default heap as user heap */
   myheap = _udefault(NULL);
   if (NULL == (ptr = (char*)_umalloc(myheap, 100))) {
      puts("Cannot allocate memory from user heap.\n");
      exit(EXIT_FAILURE);
   }
   memset(ptr, 'x', 105);   /* Overwrites storage that was not allocated */
   free(ptr);
   return 0;
   /****************************************************************************
      The output should be similar to :
      End of allocated object 0x00073890 was overwritten at 0x000738f4.
      The first eight bytes of the memory block (in hex) are: 7878787878787878.
      This memory block was (re)allocated at line number 14 in _debug_umallo.c.
      Heap state was valid at line 14 of _debug_umallo.c.
      Memory error detected at line 19 of _debug_umallo.c.
   ****************************************************************************/
}


Debugging Memory Heaps
Memory Management Functions
Managing Memory with Multiple Memory Heaps


Debugging Problems with Heap Memory


-qheapdebug Compiler Option
_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
-qheapdebug

not al k7$ y:7(:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruescseq.htmifm$ Escape Sequences for Non-Printable Characters

Escape Sequences for Non-Printable Characters

Escape Sequence Character Represented
\a Alert (bell, alarm)
\b Backspace
\f Form feed (new page)
\n New-line
\r Carriage return
\t Horizontal tab
\v Vertical tab
\' Single quotation mark
\" Double quotation mark
\? Question mark
\\ Backslash


Constants - Escape Sequences

r ktm$i z:7(:#i ./usr/vac/html/zh_CN/doc/compiler/ref/ruextinl.htmifm$ _Inline, _inline, __inline

_Inline, _inline, __inline

C for AIX provides keywords that you can use to specify functions that you want the compiler to inline:

  • _Inline
  • _inline
  • __inline

For example:

_Inline int catherine(int a);

causes catherine to be inlined, meaning that code is generated for the function, rather than a function call. The inline keywords also implicitly declare the function as static.

Using the inline specifiers with data generates an error.

By default, function inlining is turned off, and functions qualified with inline specifiers are treated simply as static functions. To turn on function inlining, specify either the -qinline or -Q compiler options. If you turn optimization on (/O+), /Oi+ becomes the default.

Recursive functions (functions that call themselves) are inlined for the first occurrence only. The call to the function from within itself is not inlined.

You can also use the -qinline or -Q compiler options to automatically inline all functions smaller than a specified size. For best performance, however, use the inline keywords to choose the functions you want to inline rather than using automatic inlining.

An inline function can be declared and defined simultaneously. If it is declared with one of the inline specifier keywords, it can be declared without a definition. The following code fragment shows an inline function definition. Note that the definition includes both the declaration and body of the inline function.

_inline int add(int i, int j) { return i + j; }

Note: The use of the inline specifier does not change the meaning of the function, but inline expansion of a function may not preserve the order of evaluation of the actual arguments.



Program Optimization with the C for AIX Compiler


Using Inlined Components
Writing Optimized Code


-qinline Compiler Option
-Q Compiler Option

right"> kB^$z:7(:#./usr/vac/html/zh_CN/doc/compiler/ref/ruimparr.htmifm$ Arrays and Pointers (F.3.7)

Implementation Dependency - Arrays and Pointers (F.3.7)

The type of the integer required to hold the maximum size of an array (the type of the sizeof operator, size_t) is unsigned long. (3.3.3.4 and 4.1.1)

For a pointer to be converted to an integral type, the size of integer required is 32 or 64 bits. (3.3.4)

The type of the integer required to hold the difference between two pointers to elements of the same array (ptrdiff_t) is long. (3.3.6 and 4.1.1)

When a pointer is cast to an integer, or an integer is cast to a pointer, the bit patterns are preserved. (3.3.4)



Implementation-Defined Behavior
Implementation Dependencies

the  lx $z:7(:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruimpchr.htmifm$    "ent <=>acdghilor./ps%025bfmuvw)13y(-4AFT\qx#89BCDISk:NVX',67;?HMQRz&CdTs}9c zm̾@$!662I|S(i ``MÇ=+2 R )G1̍X)]zIJcA돃u預RoFG75rbkdUqn4 JC”rM.p\@ װbH_ŌȪR ZF^jÛ xK5ne8,!$\T^Ts[.0v&EWR WTs ٨A:Q2 P1.S,HaPύ.yr6_^7>7a,9lۙ~F /Um(_xƮm#R@HB AJ>| *$_|\;lYVs`᷌9qe PAE(tRcQ*Sm4]КIJcAG7f޸ؚe\`Ml> צ JA{9cX8m,A%R ֨F0v&y:;["uCR^XV \NoKQo\`M2nu.0v&EWBC ^s9*ʝyނKQ'fѳQo\`M2nu.0v&EWBWNG75q4͹ؚ\|MTs[;L۝qˌUА@B: ֨Q٨F0v&y:;["uCR ֨F0v&y:;["uCRnu9ѭ^mθȪzhHpԠ!lK)lu9s6j9ѭ^mθȪzh@Ԡhu9ѭ^mθȪzh@ԠTs[;L۝qˌUА@Lgvނu9s6j9ѭ^mθȪzh@ԠntQo\`M2nu.0v&EWB'Z޸ؚe\`Ml> צ J?}Ts ٨ls[;L۝qˌUЁ!@Qo\`M2nu.0v&EWBtQo\`M2nu.0v&EWBC+Y;ѳ΂u9s6j9ѭ^mθȪzh@ԠnQo\`M2nu.0v&EWBTs[;L۝qˌUА@)嚸]Ts ٨ls[;L۝qˌUЁ!@Ts[;L۝qˌUЁ!A!=Ts[;L۝qˌUА@"bb ֨Q٨F0v&y:;["uCR /A:/6\rbkdUqn4 HjPP'jokzbis9q5*7^5( Q6Z\ނu9s6j9ѭ^mθȪzh@ԠhQo\`M2nu.0v&EWBTs[;L۝qˌUА@d1ѳ6Z\ނu9s6j9ѭ^mθȪzh@ԠhtQo\`M2nu.0v&EWBWA:/6\rbkdUqn4$8jP1sNoQ'fѳQo\`M2nu.0v&EWBATs[;L۝qˌUЁ!@8u9ѭ^mθȪzhHpԠ!lKA:vj9NTmG1̂clۙ}sx6zǮkfh6`._) P^c5ndpV=s[6Y9q|3. wY@HE+s)@Ǯkf3>7a,zmϗ{, 7 ,J A J9IJ9dcYEC/e l}\͹xs1ٷ>o/g w6渖\es/_߰}nXs1ٷ>]~YeG@ˆ (HB JQs |6wxO!e}v] $!$RdRc(/x' /ʝy\͹K ǾRD@$!P9IJ9d oD`Vxfۮ`=s[6,/W, zmg7ŕ| eS6_|R˃=vÛ\͹H&0Q 1ٷ>azf__c5n~S[U8m/ʝy {sޑL`(c5n}y\02S^yezm̎c@> Csjz,6;A{}\͹L`c(/L\o.]=`(/oٷ2hf˲STqm=s[6_M8OlǮkffK Ɨs6-t P( J$2 P1b6;6U Ep΂r)\I{9cs@r(ne /g,r8Q $!W> =s-9G4K9w}U zm̲: )G1̇G1̍X)]zIJcA돃u預RoFG75|MR͉&,t3!\|M SQŦ6 ?F"@X£c/5{ ` pi[: Z*j9оشaR2]T,aQVUo -H5_|ZjcdV!0J̴ jokxȪ!YJA]q589JsjoA;5'V*6AJA%(9شAC ndX+K%r[Yє@csbh `1n@PC.M4zR Zd*M Q̂_"  kQ $z:7(:#!./usr/vac/html/zh_CN/doc/compiler/ref/ruimpdec.htmifm $ Declarators (F.3.11)

Implementation Dependency - Declarators (F.3.11)

There is no limit to the number of declarators that can modify a structure, union, or arithmetic type. (3.5.4)



Implementation-Defined Behavior
Implementation Dependencies

zh@Ԡ kh $z:7(:#"./usr/vac/html/zh_CN/doc/compiler/ref/ruimpenv.htmifm$ Environment (F.3.2)

Implementation Dependency - Environment (F.3.2)

Program termination and library facilities are not available to a free-standing program. Only a hosted environment is available. (2.1.2.1)

Arguments passed to a C program from the AIX operating system command line can be retrieved as arguments of the function main. (2.1.2.2.1) The first argument passed indicates the number of white-space-separated parameters supplied. The second argument is an array of pointers to these parameters. The third argument is a null-terminated array of pointers to a set of system arguments for the program. The arguments are traditionally named argc, envp[], and argv[], but these names are not mandatory. To access these variables, the main() function of your program must declare them as arguments. The following table summarizes the main() function arguments and their uses.

Name Meaning Purpose
int argc Argument count Contains the number of parameters supplied on the command line. The name with which the program was invoked is the first parameter.
char* argv[ ] Argument vector An array of pointers to character strings. Each character string is a parameter supplied on the command line. Valid pointers are from argv[0] to argv[argc-1]. argv[0] is the command name, and argv[1] contains what was specified as the first argument to the command.
char* envp[ ] Environment pointer An array of pointers to character strings. Each character string is an environment parameter supplied to the program. The array ends at the first null pointer (array element with a value of zero).

An asynchronous terminal and a paired display and keyboard are the valid interactive devices. (2.1.2.3)



Implementation-Defined Behavior
Implementation Dependencies

nc kl $z:7(:##./usr/vac/html/zh_CN/doc/compiler/ref/ruimpflt.htmifm$ Floating Point Types (F.3.6)

Implementation Dependency - Floating Point Types (F.3.6)

The scaled value of a floating-point constant that is in the range of the representable value for its type is controlled at compile time by the -y compiler option, and conforms to the IEEE standard for binary floating-point arithmetic. (3.1.3.1)

The following table shows the storage occupied and the range of various floating-point types (3.1.2.5):

Type

Size (bits)

Range of base 10 Exponents

Range of Decimal Values
(in float.h)

Precision (decimal digits)

float

32

-37 to 38

1.175494351E-38 to 3.402823466E+38

7

double

64

-307 to 308

2.2250738585072014E-308 to 1.7976931348623157E+308

15

long double

64

-307 to 308

2.2250738585072014E-308 to 1.7976931348623157E+308

15

long double
(-qldbl128 option)

128

-307 to 308

2.2250738585072014E-308 to 1.7976931348623157E+308

31

Other floating-point limits are set in the /usr/include/float.h header file, described in "Header Files Overview" in the AIX Version 4 Files Reference.

When an integral value is converted to a floating-point number that cannot exactly represent the original value, the direction of truncation depends on the compile-time rounding mode set by the -y compiler option. (3.2.1.3)

When a floating-point number is converted to a narrower floating-point number, the direction of truncation or rounding depends on the rounding mode set by the -y compiler option. (3.2.1.4)

 

Using 16-byte long doubles (-qldbl128 Option)
The mathematical functions contained in the <math.h> header file, such as cosl, tanl, fmodl, have been updated to work with 16-byte long double floating-point numbers.

The input/output functions in the <stdio.h> header file, such as printf, scanf, vsprintf, have been updated to work with 16-byte long double floating-point numbers.

A new function atold, which converts a string to a long double representation, has been added to the existing string-to-number functions strtod, strtol, and strtoul.

 

Alignment Rules
If the first member of a union or structure is a long double, the aggregate is aligned on a 128-bit boundary. Other aggregates and long double identifiers are aligned on a 32-bit boundary. If -qalign=natural is specified, all long doubles are aligned on a 128-bit boundary, regardless of their placement in a union or structure.

The 2-byte alignment rules remain unchanged. All identifiers and aggregates are aligned on a 16-bit boundary.

For bind-time type checking, a long double has type r16.

There are three floating types: float, double, and long double. The range of values of each type is a subrange of the values of the next type in the list.

When the compiler converts a value of floating type to integral type, the fractional part is discarded. If the value of the integral part is too large to be represented by an integral type, the value is converted to the maximum value of an integral type.

When a long double is demoted to double or float, if the value being converted is in the range of values that can be represented but cannot be represented exactly, the result is either the nearest higher or nearest lower value, depending on the IEEE rounding mode.



Implementation-Defined Behavior
Implementation Dependencies
-y
-qalign
-qldbl128

n="cen kbM $Jz:7(:#%J./usr/vac/html/zh_CN/doc/compiler/ref/ruimpids.htmifm$ Identifiers (F.3.3)

Implementation Dependency - Identifiers (F.3.3)

In an identifier without external linkage, 219 characters beyond 31 (for a total of 250) are significant. (3.1.2)

In an identifier with external linkage, 244 characters beyond 6 (for a total of 250) are significant. (3.1.2)

Case is significant in an identifier with external linkage.



Implementation-Defined Behavior
Implementation Dependencies

bounda lrq$`"z:7(:#&./usr/vac/html/zh_CN/doc/compiler/ref/ruimpint.htmifm$   enot<>agilrs "/cdhp.=bfmuv(),012347wy-568FIx#9AEOTW%&+;CDRqz*:BGLNXHSVY^|A5$HAУRII[a ɸ\98,Hh@B [a$΅H$ Dqk2NP `Y]6 !H$Z1taŠ +2i((k^zdQAEb 6PXPP)$rI#n=MbQWG08Q@ RPpjP221M :>-(\l *Ԑ`bmVʒHP|I&|7 ? Ac*m(,ԒG RIqk"XѲn> A$YѡꕥSd }iZAD ŧAg ! :'T}i/b AoT;&p̩7աꕥ\-ꕤ7 t39M8'U:v?=p4'TI1gñl\CaعŲp!BĆ iY$HAVXU82Lh|h}iZ }i uJ@ AoT$4@9nZ@nZppu:>R5RC&ps㳣U:zѽ76ZAD iY$HA t;ʓzn`=;-VѺ9I3/ʺvtmSpv{9SӸ,)`0u["lNi $ŧAg ! :'V- ,s^۪V v[+HGC5DlnZ^nZvMܦ"|l~9hN=F*H~F1l2at H8h!,Zp4XXs^\ԁ`uJ.`uJӲn7)ڧC+H{0j }i7 r؉8I [-5n ;xH$4s+uJڕZ }i8v{nPׄt@khAÛyMH$ne =FZI# b@ã{lt3>7~K8X$5gd.RTr؉ꕥ+Rh-ꕤ?Z#f `6 ňtms>R-ꕤI$$ L웅ó*_jgo0cnZZuJӜGnZ[R+6nZzv۪V.`HmJԯd }i3ngo0cnZG5-ꕤ?nZZ-ꕧ9ODuJ:^dڕAoT"t$?$7 rVʗtcÕ+Dɸ[PڶT?>26 t>R{jWm-ꕤNĒGĀ粧d-ob'uꕥ+Rh-ꕤ?Z#цs cT4CʒH =MsOT-^ڕAoT"t$?$ :'V=M uJ1AoT=R>pi$h}imJԭR"|tc-*nzd)p`Όz::Ѳn7=NL?pn,GC+KjW{&[+Ob'I$Ѻ9X4pz::ѡꕥ+RHd }iD$ i:hf۪VԯmJM۪VO$*Gî [%};vtcыJ*Gî $?dtnT:SGC9W=qc?T^.7A5F[DB{:7C6?Y΂HSŝ!ǩ'65?Pnk%x6:3(ilc@PIk%x61YݝnZ@(-ꕧ2É#T[XHCX];Sz>?|O/ʓ_Ne6-G;p:Ib'Ƈ۪V.`ݵ+$ԯd }i ·t|9RnT\h}i/b $ԯmJM۪V8gC 3Y*MS#OT-^ڕAoT!=Y*MH2|:C+KjW{&[+H$5j8nf[,1w@2_Ų-I$HR>T> `eN5B96NeJꕥAoT!$ dzЃ%znZMAoT!:nZXnZBI#T4nZBt>RAoT!:nZA-ꕤ$?nZ@%RT=;σ1GCZnZ[RHmJM۪Vꕤt7mJԯd }i$9c؝$5Ӵ>RBuJө\Û uJڕGjWmR6&1u-n6K%znZ[RHmJM۪Vl ~Fs:Hp[,?5N$ wb'ZkJvSGC؉ꕤÔuJI}i/b 9NAoT!:nZ[R+6nZBI#ꕤt7mJԯd }i̩{ AmMbfT-^ڕAoT$NuJ:^{jWmR[XHCX0v qJ5yPڕ^ɸ\;NuJ.`HmJԯd }ilMc!&\jWdɸ\;NuJڕ^ɴuJӰ؛`C'AmbI# bAnJ)q:ꕥ\jW{&[+I$Q`uS  ` &T#\jVI^ɴuJӍQ`uS88-I$ I$BHgCn eS|^uJX縶Il eI-ꕤ1'T-`[ĜnZsFñll~l<0\I"Ό0a-Xp@C;:4˄ {*p tIeD,A$ $ !m]8p̆k%b +2מ+PQX JI$ܒHE08Q@ RP$Il˕+`±g (,Vt1gXnI$Y΁p > :ƀG`bmVʐ8 4?PSZnI$Y΁p >I4<jT*6$CZnI$Y΁p >Ou) `񀚑粥-IAvjI#n=MbQWG9Gk"suY$f?]$B $HAAg ! t P%Y46Y&A5l2cJJ5{`,H5K+`"%lV.l8QAE%$Ѣ)$ujI "< l$jz:7(:#)O./usr/vac/html/zh_CN/doc/compiler/ref/ruimplib.htmifm $   "ent<>adgilopr /=chs5vw%.13bfmu4y(),029INTk-678ACEFLOSx&:;BDMPR[]qz#GUVX_*WZ'HK1VÌ(˜BN0 0$AaOCx mm(kIÕ(IaLԂ5@x<@@4 @>0 gø 02p2 ct c r ](cD@@A/81j"ĭ6Qh9 9W"aRk%s#Imtàc!V[ha"]4AxžDEP f-g0a= kN! Z:h31j!QWø a'_o8˜{@S$ 0qc/<6z;S@ .p"z-t ˹  H ,6a)x%|z¥:aS6]vT%w'[k`U,3  fV42K\\EZXr'sEY%w'.Ba@hSk/"%"ubWrp,V9zSڧ01te^a]SR3]ስ46,)x/ mm(™1pD@r !kN][]S!`raJ&_r܊I}3sWW/mh3om(P# r0QP8@8p,Å08Œ)pH]a˷|1f ]JueNbp:GAe])R@Kr_eN1WJ$ЩvJ^E$aKʝjG@paŽqaLƒ pknN0qvpYr[k B)\ݜs]@%ч9Ú`{Ckz@d{y 9l]Nai 9ԀCCaq0Li  0q k,*@s]-l$ݜaS$aZSד8Z:)90;Rz {y >*FغCB*t\!VwaF8$T䔇t 1vҎM&{iG&/]2C 9vҎ )u8r ]j]uƉr Som(-]Y.QJ: s{iG kʜ-cDRn^^`@pp,Ås(˜)$ܜah dMze@29 JD@@2Q%i0淜ai!UF%iseaŽa'_ZqbDEpH r  0 <@na'_o8q5-TD[]"Au8f(q5-TD[] qH Y9%!&@`0{I0淜ai!UF%iseVf(q5-TD[]NzJ)A7//E'Eս)A7/h `h 6P{I0淜ai!UF%isee 9ai!UA"cDAsRn^^a= ky֜BQmtbV( 0Q[ÅN0ŪkS)/Y f&Qkm)# [LzJ)A7//0/ao8ӈC"-Je : s 9ai!UA" s䠹)A7//N0q0IÅ1`ۓ(™w/ѥ]rb@]`geN*Ck$ mm͆*q`l.Q&{iGp( 0G;0 g*pYRY%aM^\eNT&e{iGa˷qTS 1vҎ, {iGXm&^ƉWDE n<%a`A6mmi,D/FZH`> %DE|*d^NJN` )$Y(fr/&@`hd0)8Ұ$ .3E'N[hJN(P(f( aqS8Ij0-鷔@dܼ*I@isR 鷅6` `@ppQ3 :d-RXVOeNR),]+E{TeaVZHf%| T.QZ 0J>DC Ι,*S]S{iG-jA6ч.QJ9kP$×om(`¢{iG-j0×om(Xmkm(P(f(qaLEO d ]RE@`p@ 0J>2SH[_=9(c6Z E%|G@(  0G;0 g*tZYyHte] @`@{iGR֪C5I@H_%akʜJ9kU!{iGP&p(|ø 0qpwaF9p%oK0J9q..h^ ]P_M|^E0"@CSRn^(P(|ø 0qL䔇HKw56n ]P0 ,RΎHbrJCM9҇J˷50' A p(Y >aqS8z c2JCMEaSΚLEvR)v@`>`@p<8Q(™-l-vֺJEBV:i8cS9v@ftZ^斻[jS*y p(f(qaLKsw N-m4Ym%hNOmPJ.SH-Ej  Y >aqS8!h ekdAarҵ(4,._)z8PhX\tP…N\mغm8]9rƒB9vҎ0aM(P( 8Q(™4+ ['%Yv(P( 8Q(™J8{iG)A7/_M cDu֌B(Z= 2A  Y >aqS8SEaSR052{Xd(P( 8Q(™J;1$×om(Xmkmilo|4D譮PAH^ hNe䱥A p,Å08Œ)p@/FNJp_eNbH ]aM0]H[_:2Pvʜ,6ʜ-le@dEĠ0 8 @pawaF8$T .Qa˷|ЉykmkʜJ8[]*)9pEr mm.@86h@S$aI)A7//]hur~s乫E(P( )8( paŽ0Q3WeNb,QAf{iGh[h ј{iG{iGP([JCM)vT [˾ʝ.ruSJ+b˼-]f{iGm¬ur>nSt]+FRh^IHz yz벧,P±e>@0[CrQ\7>K/4   (h> 9pa˷q.I/ krISR"_STAwRn^0ʜQ[] 8 H8pQ3[ø 0q]R=l*Nh[h 0J9q]c<Ep_eNbI.Q,66Y(czera};=H,aPMxbX>`@p<pQ3[ø 0q]M L])PH]M0J>!Z:˛806vT(b {som(8@ pa˷|(S{iG TۚY.Q]ܱ{iGh[kmah[_ p<#E$aA@x8 8Q(™J;k9vҏ6%/F%NR=<~pmR/LK%TAwD6_)P^Yw!(c6bž&p(,Å08Œ)pHk,*u, LS'h_eNO@ge"P\alk𶱍)z3om( a˷| %m`f)L P,*r):: !)A7/"40*_sX[S C1z]M0J8)d.oT֊kHk0_MJ)ĕ5,4dX0^>aqS8Shһ@S'b˲*r[W5{B*y{2K- .޺Q`qaMh dMze@Dd%+&X܂WJ"8q5C"-Jev-TD5r8{CCqG_YX1j"ĭ6QghbDA3W/LZ# Hø a죌/BQmtbV( 31j s׌/"/;08!UF%is;C" |dЩ_J@_ea= ky֝ Z&jC"-Jev-TD5r8_i8ӡU\1bDEщZl $84Ūf_{_I$5_i8ӡU\1bDEщZl 84Ūf_f_i8ӡU\1bDEщZl $84Ūf_ZXZ;_ .308{I0淜aiŪf_1j"ĭ6QghbDA3W/qN0bDA3W/BQmtbV(  31j 5/;0q5C" |bŪkD@@ph9U\'08{I֝ Z&jC"-Je!v-TD5r8v^ƒ p^Yv[_wa= a_[0bDA3W/BQmtbV( 31j ;08{I֝ Z&jC"-Je!v-TD5r8"ܰJ+|mx/08{I֝ Z&jC"-Jev-TD5r8pVaq0/:QL-TD[]"CA Z&jp"z-mKCX)$;0q0/_Zt1j ! Z1+MDQLhNaq0/:QL-TD[]"CA Z&jpEa&K/08{I֝ Z&jC"-Jev-TD5r8pqN0bDA3W/BQmtbV(  31j 赶huS/a= ky֝ Z&jC"-Jev-TD5r8 ;0q5C" |bŪkD@Hph9U\U˹ Cwa= kN-TD5r!UF%is;C" |8 ;0q5C" |bŪkD@Hph9U\]/E$=|^aq0/ao8ӡU\1bDEщZl 84Ūf_C_i8ӡU\1bDEщZl $84Ūf_<~aq0/:QL-TD[]"A Z&jp+08{I֝ Z&jC"-Je!v-TD5r8i Kkmm@ _i8{y/:QL-TD[]"A Z&jp4_i8ӡU\1bDEщZl $84Ūf_[IZdBɝДK/08{I֝ Z&jC"-Jev-TD5r8pwa= kN-TD5r!UF%is;C" |$]"ДK/|pj);0q0/_Zt1j ! Z1+MDQLh ;0q5C" |bŪkD@Hph9U\.kv6wa= kN-TD5r!UF%is;C" |8wa= kN-TD5r!UF%is;C" |dЩVaq0/ao8ӡU\1bDEщZl 84Ūf_@^aq0/:QL-TD[]"CA Z&jp- EqN0bDA3W/BQmtbV( 31j Hwa= kN-TD5r!UF%is;C" |i-f%v tm~[I/a= ky֝ Z&jC"-Jev-TD5r8_i8ӡU\1bDEщZl $84Ūf_t' ['~aq0/:QL-TD[]"A Z&jpwa= kN-TD5r!UF%is;C" |i-gM )wa= a_[0bDA3W/BQmtbV( 31j ø a'_Zt1j ! Z1+MDQLrJ[&K.K;0q5C" |bŪkD@@ph9U\@ø a'_Zt1j ! Z1+MDQLIk:m冹}s/a= ky֝ Z&jC"-Jev-TD5r8@Faq0/:QL-TD[]"CA Z&jp g s^6! b9qN0bDA3W/BQmtbV( 31j HNaq0/:QL-TD[]"CA Z&jp$A9nyas_rø a'_o8q5C" |bŪkD@@ph9U\f_i8ӡU\1bDEщZl $84Ūf_[|CTV[L_i8ӡU\1bDEщZl 84Ūf_ ø a'_Zt1j ! Z1+MDQLEZ]6\;k-syqN0q5 kN-TD5r!UF%is;C" | '08{I֝ Z&jC"-Je!v-TD5r8KYkmi\08{I֝ Z&jC"-Jev-TD5r8 wa= kN-TD5r!UF%is;C" |i-fŰo,5kSwa= a_[0bDA3W/BQmtbV( 31j YqN0bDA3W/BQmtbV(  31j  ДK/08{I֝ Z&jC"-Jev-TD5r8 9qN0bDA3W/BQmtbV(  31j bR,yas_r(ah [yqN0q5 kN-TD5r!UF%is;C" | >aq0/:QL-TD[]"CA Z&jpcIȅ;VNaq0/:QL-TD[]"A Z&jp/aiŪf_1j"ĭ6QghbDA3W/ĥYzBAz .s/a= ky֝ Z&jC"-Jev-TD5r8@ ;0q5C" |bŪkD@Hph9U\!dX/08{I֝ Z&jC"-Jev-TD5r8 yqN0bDA3W/BQmtbV(  31j j*z -j]t%/;0q0/_Zt1j ! Z1+MDQL+08{I֝ Z&jC"-Je!v-TD5r8['&ø a'_Zt1j ! Z1+MDQL$;0q5C" |bŪkD@Hph9U\͉k=eh;0q0/_Zt1j ! Z1+MDQL/08{I֝ Z&jC"-Je!v-TD5r8 {K,&D,غ/aiŪf_1j"ĭ6QghbDA3W/708{I֝ Z&jC"-Je!v-TD5r8#6%Naq0/ao8ӡU\1bDEщZl 84Ūf_/aiŪf_1j"ĭ6QghbDA3W/- $2!daq0/:QL-TD[]"A Z&jpwa= kN-TD5r!UF%is;C" |ׂz^:Sک&[乼ø a'_o8q5C" |bŪkD@@ph9U\qN0bDA3W/BQmtbV(  31j ލ+|mx/08{I֝ Z&jC"-Jev-TD5r8 /aiŪf_1j"ĭ6QghbDA3W/&ؔ>rP\%RM)ø a'_o8q5C" |bŪkD@@ph9U\f_i8ӡU\1bDEщZl $84Ūf_ ѥom_i8ӡU\1bDEщZl 84Ūf_A9qN0bDA3W/BQmtbV(  31j kj[k|7L08{I0淜aiŪf_1j"ĭ6QghbDA3W/vaq0/:QL-TD[]"CA Z&jpB!N42j/aiŪf_1j"ĭ6QghbDA3W/Vaq0/:QL-TD[]"CA Z&jpEPhX\-&tB؀Naq0/ao8ӡU\1bDEщZl 84Ūf_s/aiŪf_1j"ĭ6QghbDA3W/{@S'hx['08{I֝ Z&jC"-Jev-TD5r8 wa= kN-TD5r!UF%is;C" | 4NoYzBAy-nSwa= a_[0bDA3W/BQmtbV( 31j Vaq0/:QL-TD[]"CA Z&jpI@/08{I֝ Z&jC"-Jev-TD5r8 9qN0bDA3W/BQmtbV(  31j Io%RMs/a= ky֝ Z&jC"-Jev-TD5r808{I֝ Z&jC"-Je!v-TD5r8"-%~aq0/:QL-TD[]"A Z&jp/aiŪf_1j"ĭ6QghbDA3W/U6擠.m$(65wa= a_[0bDA3W/BQmtbV( 31j wa= kN-TD5r!UF%is;C" |'xZ8Pi`ø a'_Zt1j ! Z1+MDQL(_i8ӡU\1bDEщZl $84Ūf_mm)yqN0q5 kN-TD5r!UF%is;C" |YqN0bDA3W/BQmtbV(  31j z=Naq0/:QL-TD[]"A Z&jp_i8ӡU\1bDEщZl $84Ūf_mm\08{I0淜aiŪf_1j"ĭ6QghbDA3W//08{I֝ Z&jC"-Je!v-TD5r8"ܷ !wȅ9qN0bDA3W/BQmtbV( 31j Xwa= kN-TD5r!UF%is;C" |޲Mf_i8{y/:QL-TD[]"A Z&jp8;0q5C" |bŪkD@Hph9U\13.d;0q5C" |bŪkD@@ph9U\3/aiŪf_1j"ĭ6QghbDA3W/-۞۔08{I0淜aiŪf_1j"ĭ6QghbDA3W/qN0bDA3W/BQmtbV(  31j .P`/ [',]faq0/:QL-TD[]"A Z&jpf_i8ӡU\1bDEщZl $84Ūf_.r308{I0淜aiŪf_1j"ĭ6QghbDA3W/f_i8ӡU\1bDEщZl $84Ūf_1 غ;0q5C" |bŪkD@@ph9U\s/aiŪf_1j"ĭ6QghbDA3W/Mn{I˒/a= ky֝ Z&jC"-Jev-TD5r8Hwa= kN-TD5r!UF%is;C" |Nkr9qN0bDA3W/BQmtbV( 31j X+08{I֝ Z&jC"-Je!v-TD5r8$ሠ^\ø a'_o8q5C" |bŪkD@@ph9U\wa= kN-TD5r!UF%is;C" |=AW6hbYqN0bDA3W/BQmtbV( 31j X|ø a'_Zt1j ! Z1+MDQL["{$Dy`d]e_i8{y/:QL-TD[]"A Z&jpVaq0/:QL-TD[]"CA Z&jp Y}Naq0/:QL-TD[]"A Z&jps/aiŪf_1j"ĭ6QghbDA3W/z@dm+08{I0淜aiŪf_1j"ĭ6QghbDA3W/;0q5C" |bŪkD@Hph9U\ Bh^-o t_i8ӡU\1bDEщZl 84Ūf_`+08{I֝ Z&jC"-Je!v-TD5r8-Mྛ|:yqN0q5 kN-TD5r!UF%is;C" |$_i8ӡU\1bDEщZl $84Ūf_5k \|4D08{I֝ Z&jC"-Jev-TD5r8 yqN0bDA3W/BQmtbV(  31j !ex&e2ø a'_o8q5C" |bŪkD@@ph9U\/aiŪf_1j"ĭ6QghbDA3W/ґU,40*_6E*s/aiŪf_1j"ĭ6QghbDA3W/9qN0bDA3W/BQmtbV(  31j eP۔08{I0淜aiŪf_1j"ĭ6QghbDA3W/ø a'_Zt1j ! Z1+MDQLBDK0;X.)|08{I֝ Z&jC"-Jev-TD5r8@_i8ӡU\1bDEщZl $84Ūf_MoXc!W);0q0/_Zt1j ! Z1+MDQL ~aq0/:QL-TD[]"CA Z&jp!"%NRrø a'_Zt1j ! Z1+MDQLnaq0/:QL-TD[]"CA Z&jp a A3_i8{y/:QL-TD[]"A Z&jpPwa= kN-TD5r!UF%is;C" |HfK;0q5C" |bŪkD@@ph9U\wa= kN-TD5r!UF%is;C" |1̛Pm2J-mø a'_o8q5C" |bŪkD@@ph9U\ ;0q5C" |bŪkD@Hph9U\@AR/z)Swa= kN-TD5r!UF%is;C" | ;0q5C" |bŪkD@Hph9U\Es6wa= a_[0bDA3W/BQmtbV( 31j @vaq0/:QL-TD[]"CA Z&jp {m^z.IRø a'_Zt1j ! Z1+MDQL9qN0bDA3W/BQmtbV(  31j /TլZXM.Swa= a_[0bDA3W/BQmtbV( 31j A9qN0bDA3W/BQmtbV(  31j 4 vl5B2s/aiŪf_1j"ĭ6QghbDA3W//aiŪf_1j"ĭ6QghbDA3W/-$SSڧ01 _\h,rQ@,;0q0/_Zt1j ! Z1+MDQLVaq0/:QL-TD[]"CA Z&jp!"%\08{I֝ Z&jC"-Jev-TD5r8@@|ø a'_Zt1j ! Z1+MDQLCJ9%!&qN0q5 kN-TD5r!UF%is;C" |08{I֝ Z&jC"-Je!v-TD5r8Jƒ 䶒[kX^ƒ s/aiŪf_1j"ĭ6QghbDA3W/ø a'_Zt1j ! Z1+MDQL0]SM /9(eø a'_o8q5C" |bŪkD@@ph9U\ 9qN0bDA3W/BQmtbV(  31j "D,鷾P^aq0/:QL-TD[]"A Z&jpwa= kN-TD5r!UF%is;C" |м @`-[C^Lwa= a_[0bDA3W/BQmtbV( 31j @+08{I֝ Z&jC"-Je!v-TD5r8O]srMpJјwa= kN-TD5r!UF%is;C" | _i8ӡU\1bDEщZl $84Ūf_@C2PvN;0q0/_Zt1j ! Z1+MDQLwa= kN-TD5r!UF%is;C" |׆"S薆9N)Z3/aiŪf_1j"ĭ6QghbDA3W/qN0bDA3W/BQmtbV(  31j wIeS/m+[08{I0淜aiŪf_1j"ĭ6QghbDA3W/ø a'_Zt1j ! Z1+MDQLv4L )wa= kN-TD5r!UF%is;C" | s/aiŪf_1j"ĭ6QghbDA3W/罯[i-faq0/ao8ӡU\1bDEщZl 84Ūf__i8ӡU\1bDEщZl $84Ūf_m8@SYX mTkmf_i8ӡU\1bDEщZl 84Ūf_3/aiŪf_1j"ĭ6QghbDA3W/-$ЩYv@fT; 86Cg08{I0淜aiŪf_1j"ĭ6QghbDA3W/;0q5C" |bŪkD@Hph9U\[U$X4Mf_i8ӡU\1bDEщZl 84Ūf_ø a'_Zt1j ! Z1+MDQLi鷠JrJv@faq0/aL=)qS8 8"ې8Q&K- Rp<p4|%8[^0aK|ø 0qpwaF9p ƼDi f1); cIxmkmrO8‚}9k %ܧYxvT.QCL9vҎf.Q4] Nb1r mm͆tnjp,ÅaL;0 g((1qaL㘻{iG@S_x mm])P])]aM13kRF1z /C%.Rh!k^Iz<A p,ÅaL;0 g((1qaL㘻{iG&xmkmrO8‚}806vTzC&T.Q 9vҎ0aMTX`8$p$@@p@f8$p @ ݕ# 紙,i% }SCgA};_Y-L 8 A@ Y 8˜waF8PQnc(™1vҎ mm])PBd/CL8P/ ]+,c0]+ .R0 8 A@,Å08Œ)pH-ɫزhUu)z2PvʜJ:raBh[kYzrN4JXb*pP8( 0G\ø 0k0b 9uM0J>DYrTR0BdYw2m s]$Cdݜañg_1gJ:r mmanja!*rC^-ɫ5冒VzZ_>K| $vҵos乫4f.Q a˷qsWW/^Ԥ0YYfJۘ{iGpm0J> $T{m t/[_{iGpm0J>3']^ۚRϓ/b0b 9vҰ1$ÈCb]Bq`lqyTsCH !>*y {h2jzI!806L8< *z806p]8˜v 0qpwaF9re܆`<69vҎ`aA" ]+%,fxbK^оʜzC e")9re܆r0QP8@ pQ3 9vһ),Om] .0×om( DZ%[`/T䆽WT$TeNYR )- E']\ϛ/]/FKCIIE|G@h8(8aŽ0Q3`-\Å*som(˹ 0J>D[hX€;C_S"om(Ea˷p/%EN,5^†ӟ)Y6Nʜz[MoF! Zsom(Ea˷q%Q3[ø 0q]oxmkmrO8‚EN׆"TdZ;Cm/1vҎ]^×om( DZ@d/ kom(0J8>`@ppf( aqS8Sڹ/h_eO/{_IeSo](aN ђ0am9r{iGh[kY}9h m~b{iGS p8 0G;0 bqSZ8S^yLBRQLDZl A ky֜Je, ay$@88 BO<K Jec*V y| Xc *mt s$2jkmԤaJ@0S0FS,xj*mt s$2jkm`.L+:a'_ZqbDED9UZ?_i8{y'Q3aqS#)D9- r/2,rCid ay$@881 ǥ,(0԰šȀ6aq0MH, aʰa@ kڡ$z:7(:#3./usr/vac/html/zh_CN/doc/compiler/ref/ruimplim.htmifm $ C for AIX Compiler Limits

C for AIX Compiler Limits

The limits for your program might differ from those stated here depending on its complexity.

Language Feature Limit
Nesting levels for included files 255
Significant initial characters in identifiers
No limit (but the linker has a limit of 4095 characters for external names).

Other system limits are set in the /usr/include/sys/limits.h file. The limits.h header file is described in the "Header Files Overview" in the AIX Version 4 Files Reference.



Implementation Dependencies

9 l*$5z:7(:#4W./usr/vac/html/zh_CN/doc/compiler/ref/ruimploc.htmifm$   et "/<>adilnor=cghmps.1bfv%02Iuwy(),-45:FSTx#3;ABCDEMRkq$&89LNPVXz67HJOUW[]j|!'*+?@GKQYZ^_`{}~\YV\* :}˜Ca@C<5 }˜ES\X8GI:@H$ ltAf1QAuE±rc199$t'"Li#18eAib۱ɈAH KPŌo(tolTռoCbX5ř .m(?!FT]Q G`:D6 D$ 2xǑ5GZb> A(Up o.'(ػsD`J֍|Im^,E6NhE-xAEl֨=? dUۜKnr,ċ|mQ̜MȔmOeVdL^smpb $4Hb-?\UD6[FUdٴgeWAZ >(Չr.HȔmAMHe6=#i;#Uعpb $P1jj؃`PGɾ627U-!CAP Tp{V!|o ͤ]Oy$Ca@L1 ReR}Ӱ0yp w{**oXno ݱvD6k(y &%4ѵ|Iػsno:k.- DmL9Qow6PgeWLAc͙HAU?sb۱ɈAHZX-akUŪv@UЫ/V U͈?lAnƶ&#by@(Rq"ib."e-WlZ-V c[r196#5,74!Nň bȔF|Sf.h(Udٴ.A||I7l#V U͈?lAnƶ&#bq"ŋ`X!Bص[ݍlLGMİ'Flʭͺʤd[oY9D(,Ej6(2S*̅PJ(5j]͈?t܌N YCP`ZXl jŪvk`b:nF%:6fUnh!Yrݻq,]OX( emMsJi"Tv[W6 빱]<(t K-` bnbv5y17#NQ{*$XƜSmkl]ť2S" nr, ֣nr,Jej]͈?t܌N YCP`ZXl +Zj1]<`'FNٽ[E {n(H?Z]c%>ʮ!2S*̅p lAnb\؃vk`b:nF'{(0-,XZj1]<`qxЀ:dٴU?sb۱ɈAHb[s۱ɈtdڍUSmkKdUD6V U͈?lAnƶ&#bq"ŋ`\[s۱ɈtdڍUSmk)Up kU?sb۱ɈAHb=jŪvk`b:nF%rhpL8? QE6'C*u(@<5.B8k*mĜ&"m{b D&Q`O.S)|\﷗[bͺJe'l]UۜK KQ9D EQF1AcmQ%yMHm'l]6IsIb͈8P+D6u<ڼd U0<8;"Pm'6P[` Zػ(H A(UdJ79C ͤ]Ltdڍ$JorX5Sv`ݱv2S/T0kTp{Vi" lEb=`p V` x0n֫-P{]1Xn!NX n]j؃bY6` WlZ ػ!8K>xv0X7pO L#~` ֫-P{]CpkU=?.n,ǖf W]j؃b`֫-P{]PjbZYSb.S!Ȩ@ƹω#19cH|I!(t K؃݈=PibY9 thD&$N YCP@ NU Implementation-Defined Behavior - Overview

Implementation-Defined Behavior

Appendix F and other sections of the American National Standard for Information Systems -- Programming Language C (X3.159-1989) standard designate several C language features as implementation-defined. The ANSI standard for the C language requires that manufacturers document the specifics of these features for their compiler.

This and related pages provide this ANSI-required documentation, and references the relevant sections of the ANSI standard. The references are given in parentheses for each item, for example, (2.1.1.2) .



Implementation Dependencies

b= kP${:7(:#7./usr/vac/html/zh_CN/doc/compiler/ref/ruimpovr.htmifm$ Implementation Dependencies Overview

Implementation Dependencies Overview

The behavior of some features of the C language depends on the particular C compiler used. This and related pages describe these C for AIX implementation-specific dependencies.

Note: Compiling your C for AIX programs with C for AIX
The C for AIX compiler is a stricter compiler than the XL C compiler. See C for AIX and XL C Compatibility, which discusses the issues you should consider if you plan to use your XL C programs with the C for AIX compiler.

 

elds kT$a {:7(:#8a ./usr/vac/html/zh_CN/doc/compiler/ref/ruimppre.htmifm$ Preprocessing Directives (F.3.13)

Implementation Dependency - Preprocessing Directives (F.3.13)

The value of a single-character character constant in a constant expression that controls conditional inclusion does not match the value of the same character constant in the execution character set. (3.8.1)

A single-character character constant in a constant expression that controls conditional inclusion can have a negative value. (3.8.1)

The method of locating included source files is described in Directory Search Sequence for Include Files Using Relative Path Names. (3.8.2)

Headers are identified by the directive #include <file_name>, and are stored under /usr/include. (3.8.2)

User-defined include-file names can be specified in double quotation marks ("). (3.8.2)

The mapping between the name specified in the include directive and the external source file name is one to one. Multibyte characters are permitted in the include directive. (3.8.2)

The definitions of the __DATE__ and __TIME__ predefined macros are always defined to the system date and time. (3.8.8)



Implementation-Defined Behavior
Implementation Dependencies
#include Preprocessor Directive

< kV$O{:7(:#9O./usr/vac/html/zh_CN/doc/compiler/ref/ruimpqua.htmifm$ Qualifiers (F.3.10)

Implementation Dependency - Qualifiers (F.3.10)

For access to an object that has a type qualified as volatile, all access is retained. (3.5.5.3) The volatile attribute maintains consistency in memory access to data objects. Volatile objects are read from memory each time their value is needed, and written back to memory each time they are changed. When optimizing the code, the compiler cannot remove any access to a volatile variable. The volatile attribute is useful for objects (such as the system clock) that have values that may be changed in ways unknown to your program.

For example, in the following program fragment,

volatile int i;
i=3;
i=5;
i=6;

all of these statements are kept by the compiler even if the -O option to optimize the code is active. If int i was not defined as volatile, only i=6 would be kept in the optimized code.



Implementation-Defined Behavior
Implementation Dependencies
O, optimize Compiler Option

c k ${:7(:#:./usr/vac/html/zh_CN/doc/compiler/ref/ruimpreg.htmifm$ Registers (F.3.8)

Implementation Dependency - Registers (F.3.8)

Objects in registers declared with the storage class specifier register are treated as int objects. (3.5.1)



Implementation-Defined Behavior
Implementation Dependencies
register
int

by kbx$m{:7(:#;m./usr/vac/html/zh_CN/doc/compiler/ref/ruimpsta.htmifm$ Statements (F.3.12)

Implementation Dependency - Statements (F.3.12)

There is no limit to the number of case values in a switch statement. (3.6.4.2)



Implementation-Defined Behavior
Implementation Dependencies


CCC


TTT


RRR

d  kc$ {:7(:#< ./usr/vac/html/zh_CN/doc/compiler/ref/ruimpstr.htmifm$ Structures, Unions, Enumerations, Bit Fields (A.6.3.9) (F.3.9)

Implementation Dependency - Structures, Unions, Enumerations, Bit Fields (A.6.3.9) (F.3.9)

If a union object is accessed using a member of a different type, the result is undefined. (3.3.2.3)

The alignment and padding of structures and unions are subject to the following rules (3.5.2.1):

  • Padding is added to align the structure and union members on their natural boundaries.
  • Padding is added to the end of structures and unions on their natural boundary.
  • The alignment of a structure or union is that of its strictest member.

An unsigned int bit field is equivalent to a plain int bit field. (3.5.2.1)

Bit fields within an int are allocated from low memory to high memory. For example, 0x12345678 is stored with byte 0 containing 0x12, and byte 3 containing 0x78. (3.5.2.1)

The type of an enum bit field is the underlying type of the enumeration.

The maximum bit field length for the compiler is 32 bits. If a series of bit fields does not add up to the size of an int, padding may take place.

Bit fields cannot cross a storage-unit boundary. For example, in the following struct, with bit fields mapped as shown,

struct S {
    unsigned int bit : 30;
    unsigned int bit : 3;
    unsigned int bit : 8;
}

the 3-bit bit field following the 30-bit bit field would cross a 32-bit word-storage boundary. Because crossing a word boundary is not allowed, the 30 bit field is padded and the 3-bit field starts another word.

The -qalign= option allows you to specify different bit-field alignment rules.

Values of an enumeration type are represented by the integral type signed int. (3.5.2.2)

You can use the -qenum=small compiler option to minimize the size of enumerations to 1, 2, or 4 bytes.



Implementation-Defined Behavior
Implementation Dependencies
-qalign
-qenum

lE k4m$ {:7(:#= ./usr/vac/html/zh_CN/doc/compiler/ref/ruimpsyn.htmifm$ Synchronization of Stores and Loads to I/O Space

Synchronization of Stores and Loads to I/O Space

Stores and loads to I/O space must be separated from other store and load operations by synchronization instructions. These synchronization instructions allow the compiler to synchronize the execution of the code block.

The C for AIX compiler provides two built-in functions that you can use to specify the type of synchronization, and where and how it should take place.

For C source programs, the two functions are:

  • extern void __iospace_eieio(void);
  • extern void __iospace_sync(void);

Use the function __iospace_eieio (Enforced In-order Execution for I/O) when you want to synchronize cache-inhibited memory-mapped I/O.

Use the function __iospace_sync (I/O Space Synchronization) when all the multiple dispatch capabilities of the processor must be synchronized.

To use these built-in functions effectively, you should use pointers to volatile to access device registers, and then place either of these built-in functions at the completion of this access section of your code.



Example of Reading and Writing to Mapped-to-I/O Space
Example of Multiple Writes to a Single Register


Implementation Dependencies

he inte l$m{:7(:#> ?./usr/vac/html/zh_CN/doc/compiler/ref/ruimptyp.htmifm$   not "<>degilrs/=ahpv%17bcuw,fmy-25PTx.0:;CRSFNZ#&36DGHIUVq()_8AL49BO\zI62Ia Qsɷ[ؠPIL)obdKZc")a8@p8퀻0 Vs)I2lf"@tı(#Ǿ%%##0 BosזCE##0*@I,A<<[$H`) H)$r@C@($`MIl]S(S0&B.F!IԑU֣6)иRVCsI+RokQ 95!Qs$Jf&B.D !d[uJ6=9{%!( 8MIl]S $!=Ȁ0upJdwH[4RE͖-#FRdJR Ťh*Zlla%28KT$ pjR:m#FRi¥5 94n-Q1TOjF¥&ZnRKT s&7 t(Cؑpj%zcpjRt(Cؑpj )tRc"/rFL: )XI@)6`P @02 )R[!T[,^Slk!Jdp$b{2`qN*JIH@t(S0&B.9.bT`v@$gG7^$0t@S Rl $$``@5%uLp1D[&7Jdp$b{2`qN*JI@pd( -KpICo.n+!H)#=9)$dUa,!l@  6?‚*RRF{s$aOQs$$@BF)G1̛ Cو-cQ [K@KG@ [d0  9pQ^&RH䀆 p( X  Ln-P($MIl]S0 se*md0PILF¥H)#Zskosא6G@M!lr8T)%d=͑4BKT HѸTI֣6:mFYsdt].%#[d¡I¥,Y$!h*ZkQ^CY6#,:.G F-˲G@`PRE͖,5 4n-RFM!l,dCE# DH#0pRcpjsoHѸTI֣6:mFYsdt].%#[d¡I¥,Y7 #Zsא6G@M!l…Ģ$tыr8T)1TQse9R-4n-RFH(MI¥#FR$kZopQo{#bܻ$t Ln-T\b$KTskZo{#bܻ$t ,5G7myd=͑tR1n]: nl%zFM,:.F-˲G@`P-͝dHֵ6GEHŹvH *l֣6).B6v풽#ZskosזCE##0pRcpjĚh*Z#ZsזCE##0pP& [7а5Al &#ZsזCE##0pPfj9k!lr8T*.l%zFM,:.F-˲G@`Pl֣6).B]WkZopQo{#bܻ$t Ln-T\bMh*Z#ZsזCE##0pP& [7а5Al &#ZsזCE##0pP& [7а5Al &#ZsזCE##0pPfj9k!lr8T(E-^Ql֣6).B]WkZopQo{#bܻ$t Ln-T\bԵ#FR֣6).B0dYپ d16֣6).B0dYپ d16֣6).B0dYپ d16֣6).BEK4kQ^Ysdt][d¡Qsg`.+5G7F(MG7myd=͑tR1n]: &7 .l{[7 Hֵ6GEHŹvH * ", P[! GHֵ6GEHŹvH * ", P[! GHֵ6GEHŹvH * ", P[! GHֵ6GEHŹvH * ", P[! GHֵ6GEHŹvH **YkZopQo{#bܻ$t Ln-P,^$ pjokQ^Ysdt][d¡@2,l:d$9sITbx G8^j9k!lr8T(l֣6).BK![v^j9k!lr8T(l֣6).BK![v^j95G7n 9k!lr8T)1TB.l|IZF¥95G7myd=͑tR1n]: `Ȳ} Tbm5G7myd=͑tR1n]: `Ȳ"퐐%$ P[!u&.lzFM,:.F-˲G@`PV]WkZo{#bܻ$t ,l%zFM,:.F-˲G@`PV]WkZopQo{#bܻ$t Ln-P,^鴍KTskZo{#bܻ$t d f-#kZo{#bܻ$t d f-#kZo{#bܻ$t d f!הE! 9KHC0M2<\:kQ^Ysdt][d¡@2,l:d$9sITbx G8^j9k!lr8T(l֣#\sࣛ6).BKT*b7 Hֵ6GEHŹvH * ", P[! GHֵ6GEHŹvH * ", P[! GHֵ6GEHŹvH * "C(B@s45Al!׈`dxu֣6).B0dYوuvHs-: A 6q#ZsזCE##0pP d+`.+5G7F(MG7myd=͑tR1n]: &7 T͖/}KwԵ#FR֣6).B0dYپ d16֣6).B0dYپ d16֣6).B0dYپ d16֣6).B0dYپ d16֣6).B0dYوuvHs-: A 6q#ZskosזCE##0pRcpjDZF¥5G7myd=͑tR1n]: 5%i¥tF¥9ȕjKd/Ln-S4n-Wu7 .lxHF¥95G7myd=͑tR1n]: 5%i¥tF¥9ȕjKd/Ln-S4n-Wu7 .l|IZF¥95G7myd=͑tR1n]: *DlȽl9Ȋ}u[ȃY4R:m#FRpdE>D+`;5G7myd=͑tR1n]: *DlȽl9Ȋ}u[ȃY4R>7 ")'7[,^j9k!lr8T(R$fE`p9DSt{D7 -RԍKT sT/Hֵࣛ76GEHŹvH **ZСbF¥5G7myd=͑tR1n]: 5%i¥tF¥9ȕjKd/Ln-S4n-Wu7 .lxHF¥95G7myd=͑tR1n]: 5%i¥tF¥9ȕjKd/Ln-S4n-Wu7 .l|IZF¥95G7myd=͑tR1n]: *DlȽl9Ȋ}u[ȃY4R:m#FRpdE>D+`;5G7myd=͑tR1n]: *DlȽl9Ȋ}u[ȃY4R>7 ")'7[,^j9k!lr8T(R$fE`p9DSt{D7 -RԍKT sT/Hֵࣛ76GEHŹvH **ZԷ] $h*Z#ZsזCE##0pPR[!}֘*ZMh*Zc^&BR:m#FRwZcpj$$h*Z#ZsזCE##0pPR[!}֘*ZMh*Zc^&BR:m#FRwZcpjĚh*Z#ZsזCE##0pP*I̋.!.s U5=CLn-S4n-P7DStNoRX#ZsזCE##0pP*I̋.!.s U5=CLn-SZpj2"{s֣6).BP"Hd^ pAwdE>GAcpjR-HѸT@7OJbkQ 95!Qs$$@BF)G1̛ Cو-cQ [K@KG@ [d0  9pQ^&RH䀆 p( X BKT )7R[!T ,^Slk!JdR4n-RF!I֣#\sࣛ6:mFYsdt][d¡I+!l9*ZUF¥H(Hֵ=͑%l2{#pq(tbܻ$t Ln-P,Y$!h*ZkQ^CY6#,:.G F-˲G@`PR Ŝ&zF¥Hֵ=͑%l2{#pq(tbܻ$t Ln-P,Y#FR$kZoɶAd=͑tR8PD:1n]: &7 T͖,}KtKTj9k{#K&e6GEHBQ:ŹvH **ZS6X-R#FR$kZopQoԘ*Z 4n-RFH(M,:.F-˲G@`PRE͖/IHѸTG7FM,:.F-˲G@`PL@byD]sd"m=sgQ#ZsזCE##0pP]Wi¥5 HѸT@7MIlZcpjL\bPKUkZo{#bܻ$t  J1TNHѸT@7MIl¥tF¥R HѸTG7FM,:.F-˲G@`P-͝dKTh*Zc^&BR>7 KT*bs7 Hֵ6GEHŹvH *lZcpjRӛ-HѸT@MIl¥}KwԵ#FRwZcpjL\boԷ}KR4n-Vj95G7n 9k!lr8T)1TQ&i7 Hֵ6GEHŹvH * ", P[! i֣6).B0dYوuvH͓TT͜C}FkQ^Ysdt][d¡@[;v_u7 i7 "W-1TNHѸT]֘*ZS6Xi7 Hֵ6GEHŹvH *lZcpjRԍKT s+Ԗ^*ZԵ#FRwZcpjL\boԵ#FRi֣6).B6v풾Ln-SZs7 "W-1TOnh*ZLn-P,YjF¥5G7F(MG7myd=͑tR1n]: &7 i7 Hֵ6GEHŹvH * ", P[! i֣6).B0dYپ d16#ZsזCE##0pP& [1. s6ꞁuޑj9k!lr8T(E-^Ql\9HuO@\:oHֵ6GEHŹvH *lZcpjRӛ-HѸT@MIl¥}KwԵ#FRwZcpjL\boԷ}KR4n-Vj95G7n 9k!lr8T)1TOjF¥5G7myd=͑tR1n]: `Ȳ} TbmFM,:.F-˲G@`PL@o`j @MHֵ6GEHŹvH * "C(B@~.lM~.l{7kZo{#bܻ$t d f!הE! ?6NoqR&S?6q5G7myd=͑tR1n]: nl%}֘*ZԴ}KR4n-P6DR[!zcpjR-HѸT]֘*ZS6X-RԍKUkZopQo{#bܻ$t Ln-S[7 Hֵ6GEHŹvH * ", P[! i֣6).B0dYپ d16#ZsזCE##0pP& [7а5Al &٤kZo{#bܻ$t d f-4kQ^Ysdt][d¡@2,l:d$*D۪z!׾zFH(M,:.F-˲G@`PR I" 7 Hֵ6GEHŹvH **YkZo{#bܻ$t ,l%zFM,:.F-˲G@`PV]WkZo{#bܻ$t ,l%zFM,:.F-˲G@`PV]WkZopQo{#bܻ$t Ln-P,_jpjokQ^Ysdt][d¡@2,lBfj9k!lr8T(THֵ6GEHŹvH *Y JkQ^Ysdt][d¡@%dHֵ6GEHŹvH *Y JkQ 9pQ^Ysdt][d¡I¥1se6pjokQ^Ysdt][d¡@2,lBdtkQ^Ysdt][d¡@2,lBdtkQ^Ysdt][d¡@"FM,:.F-˲G@`PL@byD]kZo{#bܻ$t ,l%zFH(M,:.F-˲G@`PR jF¥95G7myd=͑tR1n]: `Ȳ} Tbm5G7myd=͑tR1n]: `Ȳ} Tbm5G7myd=͑tR1n]: `Ȳ"퐝#ZsזCE##0pPfj9k!lr8T(l֣#\sࣛ6).BKT*bZpjokQ^Ysdt][d¡@2,lBdtkQ^Ysdt][d¡@2,lBdtkQ^Ysdt][d¡@2,lBdtkQ^Ysdt][d¡@2,lBdtkQ^Ysdt][d¡@"FH(M,:.F-˲G@`PRKUkZo{#bܻ$t jKd/KT鴍KT s+Ԗ^*ZMh*ZLn-P,^$ pjokQ^Ysdt][d¡@MIlZcpjL\boMh*Zl^&BR HѸTG7֘*ZS6X$-#FRi֣6).BP"H2"{sEu귑YT/Hֵ6GEHŹvH * EX-ųwU5ݒ ltzFM,:.F-˲G@`PTH-F~ Ƒn-CApdE>G+`;5G7F(MG7myd=͑tR1n]: &7 t(CؑpjkQ^Ysdt][d¡@MIlZcpj6pjo%x KT鴍KUi¥1seĒD4n-Qj9k!lr8T( -Ln-P,Y鴍KT +Ԗ^*ZS6Xi7 KT*bĚh*Z#ZsזCE##0pP*I#p?DStNocHΡV vK82"{֣6).BP"H2"{sEu귑YT/Hֵ6GEHŹvH * EX-ųwU5ݒ ltzFH(M,:.F-˲G@`PR>P#FR֣6).B R:m#FRJ5%7 i7 KT*b$$h*Z#ZsזCE##0pPR[!}֘*ZS6Xi7 "W-1TB.l{4n-Qu7 T͖/5 HѸTZFM,:.F-˲G@`PTH-F~ Ƒn-CApdE>G+`;5G7myd=͑tR1n]: *Dl7dE>D4qlo" `7d")8[,^j9k!lr8T(R$`")'7[gPyk%OJbkQ 95!Qs$$@BF)G1̛ Cو-cQ [K@KG@ [d0  9pQ^& I  $ Ln-P($MIl]S0K@SPILF¥H)#Zskosא6G@M!lr8T)%d=͑4BKT HѸTI֣6:mFYsdt].%#[d¡I¥}i7 #Zsא6G@M!l…Ģ$tыr8T)1TKBčKTj9k{#K&e6GEHBQ:ŹvH **ZԴ] $h*ZkQ 9pQZKTA:F¥Hֵࣛ76GEHŹvHI¥,^$ pjokQ^Ysdt][d8 *lZcpj6pjo%x KT鴍KUi¥}i7 Hֵ6GEHŹvH@[;v_u7 i7 "W-1TNHѸT]֘*ZСbF¥95G7myd=͑tR1n]:P]Wi¥tF¥9ȕjKd/Ln-S4n-Wu7 -B=7 Hֵࣛ76GEHŹvHI¥,_jpjokQ^Ysdt][d8 *lZcpj6pjo%x KT鴍KUi¥}i7 Hֵ6GEHŹvH@[;v_u7 i7 "W-1TNHѸT]֘*ZСbF¥95G7myd=͑tR1n]:P]Wi¥tF¥9ȕjKd/Ln-S4n-Wu7 -B=7 Hֵࣛ76GEHŹvHI¥,^鴍KUkZo{#bܻ$tP)AdDtRKTi¥tF¥đ3WgElYYm h!1* 躧 '"ECHֵ6GEHŹvH@S "ɼ¥] $h*Z p?dLn-S4n-V$C802,boo A Q@P`E8A= *FM,:.F-˲G@ TMGLn-SZs{4n-PY7 i7 D^!7TM{d qoǠ|0K  #ZskosזCE## &7 .l{ZpjokQ^Ysdt][d8 *02,Ȏ*Zwpj1TOjF¥đ3WgElYYm h!1* 躧 '"ECHֵ6GEHŹvH@S "ɼ¥] $h*Z p?dLn-SZpj$LAds@xH7fzʃ. HP5G7myd=͑tR1n]:P Ȳo":cpjRӛt(Cؑpj1TOjF¥đ3WaEl^Ym h!1* 躧 '"ECHֵࣛ76GEHŹvHI¥,^jF¥95G7myd=͑tR1n]:P Ȳo":cpjDZF¥oK4R>Zpj$LAds@xH7fzʃ. HP5G7myd=͑tR1n]:P Ȳo":cpjB=7 9,KTjF¥đ3WgElYYm h!1* 躧 '"ECHֵ6GEHŹvH@S "ɼ¥}KNoСbF¥7K4R>Zpj$L՜Ad@xH7fzʃ. HP5G7F(MG7myd=͑tR1n]:RcpjL\b$KTskZo{#bܻ$tP-͝dKT鴍KT s+Ԗ^*ZMh*ZLn-P;HѸTG7FM,:.F-˲G@  J1TNHѸT@7MIl¥tF¥R.{4n-Qj9k!lrB6v풾Ln-S4n-P1DR[!zcpj6pj1TOn!HѸTG7FH(M,:.F-˲G@ Ln-P,_jpjokQ^Ysdt][d8 *lZcpj6pjo%x KT鴍KUi¥}i7 Hֵ6GEHŹvH@[;v_u7 i7 "W-1TNHѸT]֘*ZСbF¥95G7myd=͑tR1n]:P]Wi¥tF¥9ȕjKd/Ln-S4n-Wu7 -B=7 Hֵࣛ76GEHŹvHI¥1se6pjokQ^Ysdt][d8 *02,Ȏ*Zwpj1TNHѸTX&j  Ȳm9 M$3}F=A]T$Hi֣6).p@T( aPdY71TKBčKTi¥tF¥đ3WgElYYm h!1* 躧 '"ECHֵ6GEHŹvH@S "ɼ¥}KNoСbF¥7K4R:m#FRbH0 "ɶ/`,6n4 t]SБ"kZopQo{#bܻ$tPR jF¥95G7myd=͑tR1n]:P Ȳo":cpjDZF¥oK4R>7 D^!TMg7d qoǠ|0K  #ZsזCE## L*  t(Cؑpj1TOjF¥đ3WgElYYm h!1* 躧 '"ECHֵ6GEHŹvH@S "ɼ¥}KNoСbF¥7K4R>7 D^!7TM{d qoǠ|0K  #ZskosזCE## &7 T͖/}KwԵ#FR֣6).p@T( aPdY71T@-#FR7%cpjR-HѸTX&j  Ȳm9 M$3}F=A]T$Hi֣6).p@T( aPdY71TKBčKTi¥}KwԵ#FRbH3 "ɶ,`,6n4 t]SБ"kZo{#bܻ$tP)AdDtR>7P#FR%cpjR-HѸTX&jo  Ȳm M$3}F=A]T$Hi֣#\sࣛ6).p@T)1T@-#FRi֣6).p@T(THֵ6GEHŹvH@MIlZcpjB=7 Hֵ6GEHŹvH@MIlZcpjRӛt(CؑpjkQ 9pQ^Ysdt][d8 **ZСbF¥5G7myd=͑tR1n]:P Ȳo":cpjDZF¥odE>GAȊ}*VwKkZo{#bܻ$tPR#ZsזCE## 5%i¥}KNoСbF¥5G7F(MG7myd=͑tR1n]:RcpjRt(CؑpjokQ^Ysdt][d8 *Ԗ_u7 Eh*Z#ZsזCE## L*  t(CؑpjOyk;C802,b#7 t(Cؑpjo2"{֣6).p@T(THֵࣙ#Y2JPH$bs)I#:%-( Ln-PR[!n"$]W[ C④pj1 Ln-RDAG2F¥1T@`  IQ$h*ZTjKd.8$!4nu>=K0zF* PU`F9S@!E|nK fF6MMd{%I@7K@]#IJIRc%)$r@C@0t)1T@6PE[R4n-RF!I¥H(HѸT@Y }h =nmʅU'5&B4R $$h*Zm1TQ&{4n-P6*ZM`c֑pjd1S6XJdAD̑A Jgu:cpj6pj\% tX ,$Ύ&Bؾ"tR HѸT@.Qs$f*Z0(MIi7 9PG"BtR Ťh*ZJgCHKT鴍KUdN*ZS6Xi7 tB'Ln-S4n-P Qs$(9d{1F%yD-n=(..`*sࣛ6[d`R\0:PgDilp:1n]:,sI H(I0`8耧E&( {6Ev[$KB" 9FL: *@4 %FRDAG7$dP; P1 Hֵ6GEH胚M_bskZopQ̑bc%)#I0`8@QPa4S &K $TոKRl! KG@ 8 #K\ IA +\EAlBd"#aQ kꐣ$G{:7(:#EG./usr/vac/html/zh_CN/doc/compiler/ref/ruimpxlt.htmifm $ Translation (F.3.1)

Implementation Dependency - Translation (F.3.1)

Translation is the process of transforming all or part of a source program into a program image that contains all the information needed for the program to run.

Each nonempty sequence of white-space characters in a source program, other than the new-line character, is replaced by one space character. Comments are treated as white space. (2.1.1.2)

If you use the -C compiler option, comments are retained.

Diagnostic messages have the following format (2.1.1.3):

15cc-nnn (severity) text.

where:

cc Is a two-digit code indicating the compiler component that issued the message:
00 Code-generation or optimization message
01 Compiler services message
05 Front-end text message
06 Front-end error message
nnn Is the message number
severity Is a letter representing the severity level of the message
text Is the message text describing the error

Diagnostic messages have the following severity levels:

Letter Severity Compiler Response
I Informational Compilation continues. The message reports conditions found during compilation.
W Warning Compilation continues. The message reports valid, but possibly unintended, conditions.
E Error Compilation continues and object code is generated. Error conditions exist that the compiler can correct, but the program might not run correctly.
S Severe error Compilation continues, but object code is not generated. Error conditions exist that the compiler cannot correct.
U Unrecoverable error The compiler halts. An internal compiler error has been found. This message should be reported to your IBM service representative.

The translator returns the following status codes for each severity level of diagnostic message:

Message Severity Return Code
Informational, Warning, or Error 0
Severe 1
Unrecoverable 40

The level of diagnostic can be controlled with the following compiler options (2.1.1.3):

halt=severity
flag=severity1:severity2

See Message Severity Levels and Compiler Response for detailed information about C for AIX compiler diagnostic messages.



Implementation-Defined Behavior
Implementation Dependencies
Message Severity Levels and Compiler Response
Compiler Return Codes
-C
-qflag
-qhalt

n lV$'{:7(:#Ga./usr/vac/html/zh_CN/doc/compiler/ref/ruintrin.htmifm$   >t "/Sv [ ."&ˌ S/ispxNc%q.`0rmX.04A8K]q6\`h.H Kns&&٠6t0K@ ;c@,1нnǿN֗e z&&ټ[.d.0ˀȉen. 4j :@䋀.07k29>#vM٢(@Nǿ5@qM ip+d1p4\ۛ.l[Ƌ}d7Nqc5;V͓-R]C݈鎐t\ɍip(tt [YP/q6cYP7'F͒ aZb]ʀ{ʀ<"6l,]sd]-V*ح,N1,K@1.p Njw$M [Lfc R\]ΐح,N1,#fQcBᖫH?<:n2O%D, 1iR_X.K|YaVAm1qh 1iUb([P.A+SLZe`FA Sq8PH?sw:Ab<:^m8<:n2O%DIkBᖫH?<:n2O%MrAƷ ؋툱p.؋[i]ǖTMI$5Ub([P.A+SLZe`FA Sq8PH?sw:Am1qxDl*djn1,#fP$ Uqye@tddj\]ΐح,N1,#fQa XAm1qxDl*%eInŖ r_X`Uqye@td L4XpqũP*A S]n2VA1n28n2XPJ( A֫m Uΐ]ʀ{ʀ<"6lA&,@\2b]ǖTMId!A # ؋툱p.؋[i]ǖTMI$E­S@?e-N2u ZeŸb+5Ze`NA+S5ZW:AsvcYP7'F͒H6A֫m ʀ<"6l@A[i]ǖTMIH6A֫m Uΐ]ʀ{ʀ<"6lA01ip:A֫H?<:n2O%D, kM’r_X.K jn1,DL cZnn28A(!jq PJ(6>8Ub+5Ze`[P`5ZW:Asv+c*&ӌc*$ٲTA5pUvcYP7'F͒X `c+b,C "=b,C:mvcYP7& Ʒ LZeq8(%jq*e1jqe-N2PJ(0VA֫ n1,#fP$ Uqye@td6J Zیc*$$ UH?tlye@tqye@td6J h,DZU ʀ<"6l&,AR_X.K|YaVAm1qh nn28A(!jq PJ(6>8Ub+5Ze`NA+Sj[iZtH?VǖTKMǖTMId  XAm1qxDl*lE{&,F!b]! jn1,DL 4X*e1jq PB([Pl| pqũVkq8n2VAj\]ΐqye@td6J Zیc*$ٲT :mvcYP7& ZW:Asv+c*&ӌc*$ٲTAN ZU ʀ<"6l$:vnŖ:mvcYP7& @ٸUZeAnuZe-VA֫ i1qxDl* MapUvcYP7'F͒X MxVX0uH?<:n2MA&Ӽ*e-N2 7so:e-N2m Uΐ]ǖTMId uH?<:n2O%@lVAm1qh uH?sw:Ab<:^m8<:n2O%DLn ZU ʀ<"6l6"=?3@۰p`Uqye@td fh;vn2A0+e! @UZeuH?sw:Am1qxDl*djn1,#fP$ Uqye@tddj\]ΐح,N1,#fQ7 XAm1qxDl*%eLnŖ:mvcYP7& *e-N2c`WewC Kq8uH?sw:Am1qxDl*djn1,#fP$ Uqye@tddj\]ΐح,N1,#fQkh\2b]ǖTMIdŖA&I|Y`/,%e[i]ǖTMI­SH?!V|7b 57 LZeq8(%jq[P}b'H?k$<*e1jq PB([Pl}n2VKUH?tlye@tqye@td6J \eRn1,#fSb,C܃A&VXlE{vX0uH?<:n2MNn28A dI~n28(!jq PJ(2>A SNA+SH?sw:Am1qxDl*djn1,#fP$ Uqye@tddj\]ΐح,N1,#fQ XAm1qxDl*%eKnŖ:mvcYP7& 4*e-N2 ze-N2j\]ΐح,N1,#fQ-V*qye@td6Jb `pp`Uqye@td X *e-N2 ze-N2j\]ΐqye@td6J Zیc*$ٲT :mvcYP7& ZW:Asv+c*&ӌc*$ٲTA 4.jTیc*$ٲTKA 0AI|YaVAm1qh nn2A$[P[iZtH?VǖTKMǖTMId  XAm1qxDl*lE{& n! jn1,DL *e-N2 HA S=j\]ΐqye@td6J Zیc*$ٲT :mvcYP7& ZW:Asv+c*&ӌc*$ٲTA "ᖫH?<:n2O%C"[rhہVAm1qhl >"@r$P6X{C$q'1Fa8\ ]vl$KsP5qاme" [iZtH?VǖTKMǖTMId uRn1,#fP$ Uqye@tddj\]ΐح,N1,#fQ4H V*qye@td6JD"zdKn[i]ǖTMI e$S?!ӈ6]f)ٲp-ƛ;k- N8PpUH?tlye@tqye@td6J ZU ʀ<"6l@A[i]ǖTMIH6A֫m Uΐ]ʀ{ʀ<"6lE͒ ZU ʀ<"6l m" K[i]ǖTMI %ObɓaO,qZW:Asv+c*&ӌc*$ٲT :b]ǖTMId uH?<:n2M@A[iZtH?VǖTKMǖTMId.lBᖫH?<:n2O%C"[PM¾0+|`P`Uqye@tdٲYd)?6t{mj\ZAu :DfLtLkKC8=ɂKC8bHd Km ɥaY:AY)ƪMϘ1EimCӊqe 4N7:f,ȵ014Dt -H  Dc<Hl\݁Q0Ape2m ʀ<"6l.[YP3,V֩R[iZtVu :KTATHP02MBc.",KYaY:A aN5P( H1EDfLtRBiZY<"6l k$7|:7(:#J7./usr/vac/html/zh_CN/doc/compiler/ref/ruintro.htmifm $ Introducing C for AIX References

Introducing C for AIX References

The panel to the left shows a list of C for AIX reference information areas. These areas give you the detailed technical information you need to use C for AIX, such as specific information about compiler options, compiler and C language specifications, and compiler messages.

Any entry ending with ... expands to a list of related sub-topics. Entries not ending with ... link directly to information content on the chosen topic, which will appear in this panel.


 

 l$j|:7(:#K& ./usr/vac/html/zh_CN/doc/compiler/ref/rulngchr.htmifm$    <>et "/acdinr=ghlopsbm.0;?fu%&Cqvwy#,1:ADFISTk'()*-3589PXY[x{}~!+2467BEJKLRUVWZ\]^jz|GHMNOQ_Is=)s4[l~HP-p./p# `Vw0RsHlCf }L]`y67(IA v!.`G ӂG0f"1ppgLp p9MJ}I !s `z)Kc]¸I lֲ]o$c]E>[\69/h Q@ siը aļNTCd愇'1H.H:<9zSԻ}n&T Dӂ-y.N°0H~;]?:.t.9QTmv./˷d6 O(.=p5YOJ~]j '1H(ўv>]ˢT &H~% *NhcB:h ]= ]>Nc-BA/exPFk,qP0$zhب9XPJ4`Hd!4g*MNoaќ*,TZhh'IRsmsmsBmB9h*a%IsBA ()!AIY"Ji.Ұm]bQ0#eb()!AIh E4@ S@Z&9" `NNhH$9YP k$X |:7(:#MX ./usr/vac/html/zh_CN/doc/compiler/ref/rulngkey.htmifm $ Reserved Keywords

Reserved Keywords

Keywords are identifiers reserved by the C language for special use. You can use them for preprocessor macro names but that is, however, considered poor programming style.

Only the exact character case and spelling of keywords is reserved. For example, auto is reserved, but AUTO is not.

Keywords reserved by the C programming language are:

auto break case char
const continue default do
double else enum extern
float for goto if
int long register return
short signed sizeof static
struct switch typedef union
unsigned void volatile while

Identifier names should not start with an underscore (_) followed by an uppercase letter, and should not contain two underscores (__) anywhere. The compiler and library use identifiers beginning with single and double underscores for their own purposes.

 

 lz $O|:7(:#N+/./usr/vac/html/zh_CN/doc/compiler/ref/rulvlari.htmifm$  et "<>adgilnors/=chpuv.bfm0wy#%,5CTx-234AEHNOR_j()1:;DFILPSUWkq&89BXz!*67GMV~YI%9dKbcMJ M[u)0"2#uS0EzE[G2E"2CŁxvC X `,Ys$$RTsɵ}a&T@J1%lcѐz{Jt2Q9@! (MG7mk{q%Sd  !I RDFX2'-)ոuI_q% HRWbhdm@td p>0.7FFZgrAċ;`6$Q"(HelEĔpTJNsH+JolQnJ9-;G1̒T![keLy8=O+O#-ru&ÜԦ}Lj\R(dV-sLL=3F UnbE0j`*<T)*9d/rP"['"Ă D@&R߁.Ax>0.7FHQ^{J ޹81$L`@ (PK~I@sSta4iP)G7^%y"E0.7FHV^{J ޹81$RR4hPu#R UHroJ%BDyo\ )lXD(7>0.7FHV^{J ޹81$RR4P۟G7>0.7FHV^M@Q̑D Qs$(9JP"['"Ă6bhd()3F PK~ M"5IjLQTQ̑gr2.Axu)0*aCdWad[ʩB+"IsXy A$,"Rߕ,0.7FRTs)9( Eq&2|DvEeAr MIwL`P7 WG7^$ԗOȬ;&#0m(KܠM(MB@{taDe]X=03upf@{ta(l,>eXw WG2E)9dA;{s,kyU>]EeL* ^<`]Jn'@FIQs$;8eFG7maXxɕ!яOy+cr1+h Boܔs٭l@ #-os`2.$/+Ф5AhyT0d;`$[borQo5̀u$elEĔaNe2 )3F PzQ MцgrlQf.̀ȸ)̲@8$&w(Xiw(H䣛7%k{=BH[ (œ dAP.ZE(M[ RFZd\IFY  B -G7E(MG7mdP26"J02bT&˜sB[bo5̀u$elEĔaNe2 (Mͅ0t/H䣛7%k{=BH[ (œ dATȌHk{=BH[ (œ dASzE(H%(M[ RFZd\IFY  BSo^m9l6 zԑQ9@76Ûн"s[oܔs٭l@ #-os`2.$ s, !Bޑm9l6 zԑQ9@D"s[oܔs٭l@ #-os`2.$ s, !Kʈɤiأ6os`2]Ik{q%Sd pH1 &.ԴWɤiأ"ܔs[XwҎd 2tI*Hu1E$,L"Rߕ/0.7F4Di0j>+;`w3F S"PwE0j\Pt1@{ta|`"LQT!]YܣpVdK\8R\FnpA>H7modV+;`t5LAIw(˃45O%}$Yܣ6k{R\=YusDGdT밲j`ȮasREeTMIpdeȮɩSdQT%n76E%G1̒$I*J%BDyo\ GLA"&w(76jsSt`gr&w(Hy(HF P s5 nj Mц%`J\DvErsH$ԗd,5vɭsB/5%J 9ESs5 ,LjфʹI10}G3J9)*9d|G@L(M;22:1%lcѐF==%c (Qo5̀u$elEĔc%pZܣ M0d;`$[borQo5̀u$elEĔaNe2 )3F P sDԗiw(Hk{=BH[ (œ dARgrM"oH"5Iأ"ܔs䣛6os`2]Ik{q%Sd pH1 sNո~ɭ"s٭l@ #-os`2.$ s, !@to@Y5[borQo5̀u$elEĔaNe2 (EкqXY4\"s٭l@ #-os`2.$ s, !@:.Ԏo*ɤx+AQ1t/-o* ܣCHF P'7XKR#+dJ0[ʠE(H%(M-os`2.$ s,P |Wn@B!t-ElQfZd\IBV-5>!ЮȬMYau+t|Wn@b^ZUOdT+"Is[%gǷF+s|Wn@b^ZU-G7E(MG7mk{q%Sd 0$$:d.%-] t] (u$[bo26"J"~-5>Dudp7^CEK&T;òȣCtBja#^CEK&T;t.R3x;3F PvgrodW*OAgr"5G74"MI^|Ddʇt-G7E(H2IRW*2$SzXXF:8,M Bʐ()3F P%pR Yܣ"I2maXxɕ!z{[4dO|XF@Js䣛6̵̀ȸ)̲@ B@-] t] +i:-G7mk{q% dD\$>+;`k56EK5% ad֙ܣ(;"5G7ew(|`ݑ(;"5@Ȭx%ϩcԮg7Zgr"5]Dz+&S[w(dJHF Qi0j7dJHF VZU-G7E(MG7mk{q%Sd 0$$:d.%-] t] (u$[bo26"J"$>R\]6KyZUOqk}BhL] [ʩ-G7E(MG7mk{q%Sd 0$$:&™u&ÜxDn4Iأ6̵̀ȸx%ϩcԮ|)D*w(*saLHF Q:V} s*Zgr76ċ;`듬5n-o* [7+-o*:&-G7E(MG7mk{q%Sd 0$$:{ fI@sW 0(u$[bo26"J" )mdD((Tk5n-o*URgqœʑ76ru&T`D R'Yj9ZUn<`]J^Tk5n-o*7XKR['u|G];dV|DvEeQ#^8+C4sY5U̠%todV/t5\pfܣ Yܣ&.ϸEb"&g7RXX7+2цܣ E0joS< iأ"ܔs䣛6̵̀ȸ)̲@ B@2MpBZElQfZd\IB p o[ʭP{Ǻa"Q&.ԁXKRĔq/uO+t.%-o*}[ 8D8r;"b]HO,(z lds DQuZas(=c3(ɋu, U2{&.԰ Btbkk\"tR7B*S:8+C޹̡4㇭5RXXc"s[dkQs$%|&@!KeH!I0jsSta4;`$U+ȕ)rpb,H,#l&@!KeH!I0jsSta4;`$U3F RCG2E0jEXuk$Ԧ}Dz(("B6ZUqLQT\\ċ;`q G0.g5\e>׈*ۣ uǰkLQT\\ċ;`rG5X&`<׏R '\Dk9ц:7C\:*s Xl]V$7(!Ny/c:Er#+TF{ݩl`@ H9 2t$ʔRevLG2EQQs$%y"E0.7FHF REZ)*9dþ*C %1h#(MG7mk{q%Sd 0$$:n}w n}i:-G7mk{q% (5à/pu\J\5nlo"ψzgr۟Iw(ػ_}^L] vBtPBy1t-oq0./]sv!Z`0GdVܣvE0jh{3T"PM#C&.ԁ\e>L* 06m9-G7nJ9l[ (œ d )!>\^sHԑm9l[ (PkvEkc%SoF>.8+Cd.Oet)Bzgr۟Iw(9ػ_a#+`\^spVB*U7(99b]H$.KE n}q z5E>,QU8+Cc"s[dkQs$(9kL cJA %̕4d s,BAQo02  B-!@`¸JS adilnoprs"/cfghm.=buvw#,0;kxy&()*+2CFT%1:AELMSW\qz-3HINOPUj589D'4RBIk2 :mQ6 c%S3m'm)lRT,:8H@ A$pՠ:b :mbXI!#NtV5,|sז$pe$p,,H?nJAl--GD|kYf aԓ"TyK&5n 22u%{m Ԓz͡#m$uAm|ܠԷͩ"w(<` c%S3w(<m%$NTjIE "ؤ6b${G\TsKx̱HlR.JAESH: &m;2mIA6 lds \ͤܠծUyPs6`F"H)K2TP-K 4&Oh"l:0 ]I RHsTRW*(H%eTejs@&U@lhʚHZC.jQBG q.,ГVL:œ(`PtVI RHsTRW*(H%etc#A׀wvIܤLT x1$EH:+̕$y p2 %˜Hm Oh"l:;Z0 ]IA$-I% (0Y4P~jɔ:6VL 1u}| Φ#M%npxWf6}Ux%bLewA.tͦm>meK259SAbm2غ|»2ʣ(S%\K(%2"\LٕbTi"*AtAKMk.T Kg?&OՇtኬ)w H|]6#*=|Śj A+ P.K7&Ům~ܠK9;Zs`>5"#iF"H)K&e?̮p"k)̭}6h?[w΁tkY&.K&SƘLɀ3'6pzT$nO!.l]AZnh4 v4sv^*q A/8ACCZHWC)eMT ^*q ^*q A/8viWmi!R5@̮Oʄme>SjZͷzVLfWfVjɔ6ϕE&]]64qZSiw(<k$NmB0)drYu-Qrɦb2WfVL%*`5bͧ،MʹQLʔ B"śO{;2VLX$9A %o{^^62);Jeq_zcI3+5dϕE&{Jxڕq\]H?$\h$9A2ٕ2rY*eQ Θٕʦ-փ|[LZPfVL ]R=l|!\=l3 q*Uͯ&2H?ֹت Փ(OrdЌ,]>b2)fJg1ʧFuqFP&6mSA* (S3\$HsTnR*׶{_ٍٕ5P+3gً̮:-d.ʆ6uw]6<Շ&k*7} ADT銂&V"Y&.K&YP澲`kŮힲI1My{u%z̓%u,>vU@6TMeLF"LTrMϘL=$EH:ʔ~Ұ X`HֽwLA k@n Sk^krkA$O7zA XbHRHH:k\}Iw[ Iͩe¹fVSe;=oAžFfInx@ +D<Uuu,Փ(tm`heKIR2&_b'P.Ԓ#*R*;.R]ֽYo^Mves5mԖAvm^L 阪*̮venkF"LT1rY7R۩-*@m0F2pWfVInA<,F"LT x1$EH:+̕$y p2 %˜Hm 2:;ZL259lhʚH-I!jH)Zn.iz\+)25!]6i]Ӄ@k^^mk)Օ fAl#[[U^.m@zHW?i]H;mp++ceDFV+k2@k^_A6.̭7j$ .xxARvYE5 XP^hPdQf !$]$FTLeJMڿ eP)aBz?8P8dQf !$]$FTLT2 uO&&7jEڵ.ƙVeK2v6TMem1nkaKPV"LeJMڿ E5nt0a>(Ak0os6AQM}?fnt0a>š1npXS_X] dbK klsYEڒDeJAtA9חUٕU@-m[QU*y5M9ӊk8XArRf1nio=#Z0Hu$RZS(ZSEi REH?mŹH8fVSe; JmH+|65eS˭˧ԗtogfRL`HB4lR.JArRf1nio=#Z0Hu$Riӭ$ RH)M4Oʕktr_p +|5eS˭˧ԗtH)I% )M4e$ppX :)A44$ RH)M4Oʕktr_p +|5eS˭˧ԗtH)I% )M4e$ppX :)A-y.@$b1sKxA+5$ *Q\uiL[*[g LM{^_fW8Ӝח̤ `33+犫ṬDa*TT%Zn@1$][٦D.ծUʉoh#L<m>炖k pՇϝɱ0ޛApđvof$]d1T[_R[me`Xfa4I #If+Mڈ!$]Y04}\[i3A娘\6DPyj>qZSizHlR.JArRf1nio=#Z0Hu$R\֒)$[ٌ[[ďp\Ns^_6{꙾w&ͺ1H)I% )M4e$ppX :)A5)BZHlRf1nio=#Q0-i_w(<m%$N2i"ؤ$\6b${GƵ``0HkI-Al--GDu8ŹY2fԷ6wͳ)jP,Jm))LQ\tP~ԡY W1DɁz[K|%Lveq\m]Ksg{f,kһ2* %6#\W%WRA޳j{꙾[ +*Uz`l+)r{msқL<>!-osXrYu-͝kƮOk=`5dmm*e15(<+^5r{^^5v*b?̭7e׶LI "7% c#">5 RE($[Ei REH?mŹH8fT\m>a[-𝴜ڜ]m]>EH?H)IN :bKN!"*AtI^d#[8LAhI.\G޳hH欙@u&w(<&PA:+|ܠԒ :EH?\S24UKZXi>ךe WmB$̭RWfԦ=/lb4K WfVEڻm?lʧOe]K+5dm +^PmY&P {gܩwL> E6sKP@ofj9C.jJjS*Qrɦm;^^In$dIsnLF sT,غiIW,P/A eK X-%S_X,(P/ (P,?`(7éJ pP,3tll?\m>a?  lzXiʡXi<BHRHH?HsTnR*T"LTY${I-A ;ZBԑRR^KgpQrɬm>#IR)AkBL ,|s1,Hcӝ8#k,#a`0ArRf5a`0KM/84՗S!ʜHPֲ8 p̱# H)J%E @ ɨ$[[`,ЛGP?ŬNHZ%D@j˩NPֲ8@|ifXu$Ty!nY7|SMmS{)=[ـ2t24$Ty!nY" Bn@Pu>}G&PS1A?]=2TP-5AhM#k[?Z`Jh] `2TP-4AhM# ljNT>yPAOe3e;"+̕$y pLY Bn@hM\-o,Zˬ sI REIH?W*(H1$AhM#I "ؤ6b${G\TsKx̱HlR.JAESH:$EH:J8A06-uH`j72 [IY-4r$H A 5eymi1[J 2$pԒ$ ԃ,) l"$#|:7(:#V/./usr/vac/html/zh_CN/doc/compiler/ref/rulvlext.htmifm $   enot<>adgilrs /cfhmp".Cbux,=vwy#0:AISTFLNORk$%()123BMqz*89EPj+-45;VXD9vcP8Ìr*@0m)&߀Ȱ]Ī*.0 yȶ[ar 8J Ĭm8 0 w 0qjAa=KcNT8 0 6L5Jd 0 6L55$V b$8 qjR.B] b rZUM$ 1-.RO)2]!(:yI]ʉ %59nZ ]ĪrnZFVp kBPr ZZ8a)k! 9&k!ŗa5r-Hon@HqjuJ%PuJѶa~ˍPRE6JlrݗnZ $>RdцDR8ц&TEáe `/ dS`‹@%EâImS,0)_eq liTsqEdí, mLRW)eKtI1v\`(  2] 1aQ$A00)^qjqj\mc5%51aQ 9q⚁;X-P@g hK`].^;+D BC+F q*uJЙ{C+F %!@AӖ( 34%.×fdAnZ ]ĪrnZ1Vq!(9 b jq[8ÌsPt  M l ـqw*$7)2&^;+@m ƁwV#LLuJrR۪Vr\eS[ALtit%QpuJ%PuJѶaxM[0ɩ}Q62eK(i ą}hL!ꕠq0@'9q⚁;X]\ 52TL8W ndYp앶:p l`8UZm9p jjIuf2.*™eG o2V jI"oz]Za[';+Be9Te*1"Ktԓ 9nZ ]ĪrnZ3)P9qCX;XSerjBaeKU;i0>ɸ[5e[*^9AnZ ]ĪrnZ6L7MmRfR>r @vUj,TVMRMꕡ2۪V2 crI6ʝPKRVw۪Vm۪Vƨ) =de1ɶTsꕢJG!ꕠq̥@>RM{ j] uJMuJ8E^W d¶OeLlieƨ%rm;80ְ[BBЬT.rnZoITlKs!Jc]JL(>r @v}h{|QG!ꕣaɺwSe2sS[APꕢJG!ꕣ*ą}hL!ꕠ8P8!@@2^\9-x'9e}hL!ꕣL;+D BC+@J`Lat+$a1YY+ndk.q\;2˜-)L)ĊˍPRE6ߥ8aECl> .5AIS bD2nZ ]ĪrnZ2TJaLHU;;+Be9Tj5o fR\`(  2ZL?Hp}`e[%ĵ=6ʝQ )PܪpА mS,:Rݬ5+nZ ]ĪrnZToiejE³)P|(t%nZ/a}ho)QQӭrh,*z+}ޙPYlKXl̥C^9qCX;XR s -.9TeYnZKعo.g!ꕠqIJ S9@)VuJ%PuJљJ*9nZ/a}h̥@|9nZ ]ĪrnZTvd=\l~ǼT(*hX*GdeYynZKعd۪V2T\‡Ӭ>Ritd\+uJ*^+d}h8E;d5OuJ*^+$>Rig}h/b8.g!ꕣK$]w۪VR.a[&C+@q9qCX;XR6{jWl>RvlsS[APꕢJG!ꕠq̥F$UWsR&^ÐuJљJ5r7-.I7ԛOaf9nZ -.9TnZKع7%!ꕠg}h{0uJ jsꕡ2۪V206J11aQqnoKKMû 6]ꕢJG!ꕣ2&5j5zdS^&,*"sRZ\rnZ2T\²KKC+@|9 bbjIunAL[*A9AnZ/a}h0@p:i9%ՉT d±0U:6^Jg) ҴvNTuAL9T&R@T(>R7`&SK&7BL+ eB)}a*0*vITlKs!Jc=]ixiˍMJAL[*v?P|9 bb.Mj]Z\nv*&S!5uJ%PuJ8RhX?eMkS.0 uSZob7%&&1Olw)2e$5%-k1aQJiq\Ի{ #cj)kZ\nNبaL?d}hL!ꕠq̥@|9 bbjIudԒMJRA}h5C$/;+D BC+F$UW uJЙ{C+@q9qCX9c09n8SB[9v`]ʉ LβC T*Jk 2,*"GJX2 C+AJ%`Z-hX>w۪Vq*۪VTo.5Yi64 3STaLUԔaK'/qK-/eVMIMa72@P0@,E;ꕢJG!ꕠqFU5d^#L&~/585}hwQ}h0FWQӯq+n#TecjbuJЗrnZ4ʳRN&NC+@NS!@@ti™e16 A-K]8q2aZo$ M q $/dؖS2ˡWrICX;Xiq/0L; &:5AL[*yc%7 o!zw&R9 bbf`w5{ cXQq:yIi)/o],Oh^) 9nZ,,TrnZ6 Extensions to RT C Provided by extended C

Extensions to RT C Provided by extended C

The following are part of the ANSI/ISO C definition and are part of the extended language level. They cause no conflict with existing RT C source:

  • #pragma, #elif, and #error preprocessor directives.
  • Ability to form macro literals using #.
  • Macro concatenation using ##.
  • Recursive macro definitions are only expanded once.
  • White space or comment allowed before #.
  • Trigraph sequences.
  • Redeclaration of typedef names (variable defined as a typedef can be redeclared as an identifier).
  • const and volatile type qualifiers.
  • Support of the signed keyword with char, int, short, and long data types.
  • Suffixes l and L for type long double floating-point constants.
  • Suffixes u and U for types unsigned char and unsigned int.
  • Hexadecimal constants of the form \0xdd.
  • Unary + operator.
  • enum and void types.
  • Function prototypes (including variable number of arguments specified by an ellipsis (...)).
  • Initialization of auto aggregate variables.


C Language Levels


Conflicts Between extended C and Other Levels
Exceptions to ansi C Addressed by classic C
saal2 C Deviations from SAA Level 2 C
Arithmetic Conversions for extended Level C
Summary of C Language Level Conflicts

 k$$ |:7(:#Z ./usr/vac/html/zh_CN/doc/compiler/ref/rulvlsaa.htmifm$ saal2 C Deviations from SAA Level 2 C

saal2 C Deviations from SAA Level 2 C

saal2 level C deviates from the SAA C definition as follows:

  • The _Packed attribute for structures and unions is not supported by the C compiler component of C for AIX. The -qalign=packed compiler option provides some of the function of the attribute.
  • Record input/output is not supported by the AIX Version 3.2 operating system, and is not available on the C compiler. SAA Level 2 defines record input/output.
  • AIX Version 3.2 operating system error conditions for the following differ from those of SAA Level 2:
acos asin atan2 the bessel functions (y0, y1, yn)
fmod gamma log log10   pow sqrt


C Language Levels


Conflicts Between extended C and Other Levels
Extensions to RT C Provided by extended C
Exceptions to ansi C Addressed by classic C
Arithmetic Conversions for extended Level C
Summary of C Language Level Conflicts
-qalign

owra l%$_'|:7(:#[./usr/vac/html/zh_CN/doc/compiler/ref/rulvlsum.htmifm$  "dt <=>aeinor/0cghlpsw%2SfuNbmv.4Cxy#AFLRTk1BEIMPq*3589OX_z$()+,-:DUHI6Rt$AnB_'SBZV ċn"Rt ^@*TH H=jaazRփR4㴢eSBiiE[sT9%R,Mh?n9%RZDA`T.a@%;%if5Sp.VXBZ'SBZV Ċ"R@h?EZ%8nL\A7+""-HSV-`a.31۠! 5b!polZ-Aǃ̧miL[itZt% EXKq(na04(01ŦpˌB IˌBrҰOd8{uKc`f A+%1i=7F.0y h*m$S.0y 88 do 0Jȷ|/)[ks%^SL3Z ˋLkf< `}"M6*8(T琩yiE[sT+AqZ%8nkT +I<k80x=ˌB-l)=R;_m溬Hae!`Xte!ih?ns]VJ0ei2<`"qZEZ8GkU 0YZL-k鵂te!ih?EMh?n9%R,&\`)<}i2ŏH\`њEZ8GkU 0YXq%kHKAuH}3U! +Ė\#m"-MœC#kT,Ypt"V7XK qT U V.0y P)<}i2"qZ\#[SzvuY*Ypt7[ qTc9%R`h^Ie6-l)=R;_m溬Haxq%kHKA-h?n+AuMuY*@e``,!͎_.i4f7Yy3.- tP/s[ ,Dn1i֑naN!lg5dC VIe6-l)=R;_m溬Haxq%kHKAuH}3U! +Ė\#m"-H鸭MœC75dAl^ºeS"!mlۤ[SzvuY*.)EZ8GkU 0YX*EZ8GkU 0YX*EZn+AqZ%8nkT +I<ML-cFTp+m.3rB[SzvuY*Ypt7[ qTc9%R`h^Ie6-l)=R;_m溬Haxq%kHKA-h?n+AuMuY*@e`c;N!kYm3HKAuH}3U! +$mih?ns]VJ0e`м8˄m[SzvuY*Ypt"V7XK qT U V^$!e飔Ȳ'9m\Yih?ns]VJ0eaĖ\#m"-MœC#kT,Ypt7[ qTc9%R`K.֑n[V aN!ꛁsU /&osn;KM綶~naN!lg5dC VIe6-l)=R;_m溬Haxq%kHKAuH}3U! +$mih?EMh?n9%R, l~naN!lg5dC V .kHKAuH}3U! +D-"-MœC#kT,m]֑n[V aN!ꛁsU e!f8[ ˌBزx43HKAuH}3U! +$mih?ns]VJ0e`м8˄m[SzvuY*Ypt"V7XK qT U VF,{)t&miEZ8GkU 0YXq%kHKAuH}3U! +Ė\#m"-MœC#kT,Ypt"V7XK qT U V02${{~_mCm`ཙp*-l)=R;_m溬HaÉ,FZEZ8GkU 0YX4/$mih?ns]VJ0e`м8˄m[7XSz\溬H `D9!"-MœC#kT,&\`%$S.0y e!`@ e!h?EZ8GkU 0YZL,iˌBt7[ qTc9%R`qX()<h?EMh?n9%R,8,M}C4t7[ qTc9%R`؄:[SzvuY*ZEZ8GkU 0YX lBv-qZa,)=Sp.s]VJ0YX `<;-eĘ瑤ˌBP"qZnaN!lg5dC VIe6-l)=R;_m溬Haxq%kHKAuH}3U! +$mih?EHrI1ZSpxFHӎҊ-Ny al!R4溬H`7uY*,.#2#@q\`"-(p99%R% TL ZdŢ p8㴻0QĔ hH8ǐ%7ҌHZKZ\FdGT!4^DZT@8D溬HpmR2h?YTIA%4`rl + pff X%c%+xK2b ($rl + ktgp320 u6pZU)H|:7(:#^U%./usr/vac/html/zh_CN/doc/compiler/ref/rumodlst.htmifm $   "t <=>adeilnor/cghps%02bmuvw-.46CPR_fy,13AHSq#EOW()FITkx57:GMz89BDLY!UXH 6cd3 rd!ѥ.Ah:ƭAtX \e\HaDn9MD-ll݅H`ŖDԑo9h:H-jt"YDpUD$M/Atbt6pv.SkY. cZY. 1%*=@a"DRփێdTUW#+j KI`u:Q9TɽuR,UZHb-*C |<$lpȗl&Iocf*C,&F֒ IՠU!aI 򢪛.jsZ-:LX7%ƚvnrK$nrK6(`XHBH6(*nrKd %, -mQ)`$nrKɐMDxǀK-܆كowe&C |>5H1h:Z=v[so2Fpvkm 2y.4L*Hփ[9%;vdK6S7-ٔΎdK6SA2K}7aRD0zٚf^s'"\i:HփZŀ;1O@^w#-enåH{P$֓nrKi ۜRtM }a\ ֓nrK$nrKtM }a\ ֓nrKd %/5q6oe)t 9ȗldq66nå.Aǖ黲ݓ&C؃=h:H:LX -vɻa=D'K|\h$ 8bHփXX႒D0z= Izt6 At;k |r9689to|M&(cm4M2d0d4YAmi6D|,@p[mi6G5փݙLtua`@o1s]` -\aaH;mi6G5׾$k\nƵEncI&QA$ 60X'W4%;ra`@o1X>/d qX+ra`@ ncI&a`@o1X>t9̱qtŻn$ &Ɠos]x1ex d1ѷ7s;y#`r酅fNDe3A[w#- 96nʜnɸAAt4iJwJ}쩰Imi6G*rbHփYL2S:Sf{mi6G*rbHփYL2S:SBFdxI9DBA9Da|D$ t&,adoe:.-2k-|!lv9ns&X ȗlhk-t |JYr nmQ)`LA9DHsJX0. ۜRrd0eQ4 ]!>n=X$֓nrKdd1$sJ^=1D$$AA& d-FH6({cc;"Hh?XႱ$"Z=i6(`[&Ij0|$nrK,ۜR1FnrK6(nrK6(JH6( |!lyFH+K|\h:HփZM%,ɒZ0mQ)xǔ`;! .C0c -q"Z=i6(`XHBH6({cc0.C0c -q?xH@0h $AAV[ۜRl%nrKeQ7|$KÞNdK6S7CȇbMQd 5Ft±$ep ` p wDz܃طBC2kd0ǾmQ)`L`A9Dl6<9&vƓ7swK2P89@QX]a!˱5X(Ĭ*C |<2(Jh8"dq66n^@P7)!xT2(,$M\骀Ւ@5JB_Bih?nkAeLdUBjBDR-`LoR@-h?lriUc-T(HZE.nk5$ ^k9$kIZ|<PǽZPX s .kAv6.eQ5$ ZHփ!ȪV=BZ f#-HeM(c"K O&$YkAEh?nkAe-T"k$kIZxUBE$\փ6ݐyQUۧXAEUr2m$E-"L$kIՠʊF:2**{lP")aHhP "ڴ6ݐyQUۧXAEUr2m$E,8`\փX]ld"sZ`5"\փ>`-"FsZ$ sZ$REh?H:Eh?H tċ-$$[V۲**]tbEh?m %ѷÑʊec-T"REh?m %ѷÑʊec-T"REh?HMh?m %ѷÑʊec-T(HZEI֒-AmQ.udTUW#+jBDRA@а$1$[V۲**]ti5Q5 H0Q\փ$jvAETKncUǽZPRHMdTUD69yQU\{eDRjHMdTUD69yQU\{eDR$mZ.kAsZn`-$ ZHMdTUD69yQU\{e K CBċ@`P$4, -AmQ.udTUW#+jBDR1I5R.kA0sZ`IIՠʊF:2**{lP")fmZn )!IK2U@$4FV\] ͙*prxHO0xub6j4Š \$c 0ʊ k6'$*|:7(:#b*./usr/vac/html/zh_CN/doc/compiler/ref/rumsgerr.htmifm $ Message Catalog Errors

Message Catalog Errors

Before the compiler can compile your program, the message catalogs must be installed and the environment variables LANG and NLSPATH must be set to a language for which the message catalog has been installed. See Setting Up the C for AIX Compilation Environment for more information about setting these variables.

If you see the following message during compilation, the appropriate message catalog cannot be opened:

Error occurred while initializing the message system in
file: message_file

where message_file is the name of the message catalog that the compiler cannot open. This message is issued in English only.

You should then verify that the message catalogs and the environment variables are in place and correct. If the message catalog or environment variables are not correct, compilation can continue, but all nondiagnostic messages are suppressed and the following message is issued instead:

No message text for message_number.

where message_number is the C for AIX internal message number. This message is issued in English only.

To determine message catalogs which are installed on your system, list all of the file names for the catalogs using the following command:

ls /usr/lib/nls/msg/%L/vac*.cat

where %L is the primary language environment (locale) selected during installation of the AIX Version 4 Operating System. If the AIX system has never been installed on the system before, the default locale is C. The locale for United States English is en_US. The default message catalogs in /usr/vac/exe/default_msg are called when:

  • The C for AIX compiler cannot find message catalogs for the locale specified by %L.
  • The locale has never been changed from the default, C.

For more information about the NLSPATH and LANG environment variables, see the AIX Version 4 System User's Guide: Operating Systems and Devices.

The AIX national language facilities are described in the "Introducing National Language Support for Programming" in the AIX Version 4 General Programming Concepts.



Setting Up the C for AIX Compilation Environment

XAEU l1($|:7(:#c ./usr/vac/html/zh_CN/doc/compiler/ref/rumsgfmt.htmifm$   <>et "/ainorcdghlmps.0=bfuv-w%125Cqy#(),6:AFIkx&348;DMPSX_79LRT|zlAX<[,k1SF+peR‰(:8?@)86 8` t QkUb8QF,q2q1c1Hd,P`AŬ%!S0H%cPtY@Q4P /jˠ.A,OAMjȬs]„0@$Pk)4:m'k^& ShtiFJ [ZRd,`ti"XĸƑs]${&x^KHtS^XRlbf H@95imi \27Xu$bv5BV(@d<1E] uxU¨.`Z1w"XUB-oU1E] uxU¨rWs\bJchQb)𫹅 [E [.((QmX|*aBpP2w0-o](Z1E [.l*aBQsr.`Z1w&к{, PaT\܁<*b]#p [E]Tw0%A &@g 2Ptp]JV!!Eb :AƢ4ŌƐ!{$:A&P>-e0M,X`Jf(ªw0.aVc AŬ%! L1w# U0P%^3.;&n%< 8U?ŘoW{ 4U5F(/\܌4*aT\-+]XSX1k(UEAUsǧHdQEcHbq1c1HdAŬ c>-e0MF3m=vƑ?2VEByAVA(?X6!PPk)4:m&B1Y*Oܺ4ՑAaV<|o,|Za q\*ǔ,|Za q4ՑYPv Ĺ?gc ¬yAVA(?X6 4*ǔ,|Za q4ՑYPv Ĺ?gc ¬yAVA(?X6  CCbd#.5dVi3n݃q.z3Ř©PUP>-e0MV-e0MV-e0M,X`Jf(k[ U0PMeѦ(U(?*(?[CCbpdH,0%3\ܛB|*aT\¬yAǖ*ѴcH͡tX?pɤ>c AŬ%! L1w7@®E*ǔ,yaVEcѣ=;&{U(?*(?*  :Ptp]JHhL%)N$1d5ˣMYnJd%4KZ &544Q4Aeni38Q :P2`Z1w *aB0P2w0-ok[ Pb@UbMtX>w0k|܁(?*`Z1w7@®-o*aFJ Su(:HI4{D܂0osHʫ~O{GnփcHod%"^d< (X4~ɮycopɮ?c{&pi=±Fd$ k,!F'q4 ׉cH1ǸqCP)=YS[Mt a0e*{v(f `(Qmɬ xՔ\sVYPŒ8`@)Rs FJ>.Pl;zcl PBXPD (BAׄ```, xP57pHlsu> cždѴhTFP 8 []]?yoE4kcq[jb޲,\*M e<Ш8F @ )oYutVS Kѭnsmli9z˫p=6%B𫹅 :Pt &,i6QVc8}pYL66 Ae ɮ H@8 x 6;9xQKA 9ä2qX㱤HdQEbcHX= )-ŏ{$:@0`JfY:BS YjC衂)X= NM0l:@ 3(?/%$:BPhei h`= MYm#%-v6&Y:BS YjC觅!S{$:A@atf>P^KHtSpI{qk1SF—0!_BC4hXRlbdѦ] к(mU?J44څ.`C侄K85&&BƸSƨR>P^KHtS^XRlbd k,!KQ¬yAŬ z̘3YL!M(?*ǔokUJ 2Pt!B(U aT FYS]lea(U (4,cH`3 \(<(,Ae>  k)$C }:7(:#eC ./usr/vac/html/zh_CN/doc/compiler/ref/rumsgsev.htmifm $ Message Severity Levels and Compiler Response

Message Severity Levels and Compiler Response

The following table shows the compiler response associated with each level of message severity.

Letter Severity Compiler Response
I Informational Compilation continues. The message reports conditions found during compilation.
W Warning Compilation continues. The message reports valid, but possibly unintended, conditions.
E Error Compilation continues and object code is generated. Error conditions exist that the compiler can correct, but the program might not run correctly.
S Severe error Compilation continues, but object code is not generated. Error conditions exist that the compiler cannot correct.
U Unrecoverable error The compiler halts. An internal compiler error has been found. This message should be reported to your IBM service representative.


Message and Listing Information
Compiler Message Format


Compiler Return Codes

:BS l|*$!}:7(:#f ./usr/vac/html/zh_CN/doc/compiler/ref/ruompatm.htmifm$  et "/<>ailmnopr=cdghs.bfuv#0;Pwxy&+-1%*,DEFO[]jkq23589:CLS_!4ANRTUV^z|MP6Uow!BՉJH2JjY̢Ys(a 9cVu,Sa/ge Jq.3·&nITsqFc  @4 QXBTg1̫`V"3"2NtA # !&2(dB,Ug7[`2.2F,B-EuLaxC!kNV؅!jK)N8E[gCEҒ&0%uMVF-i0#B-R6U2Y 9ԛe&!ԳTVq+s ^CgCE*-ʇh(V*D2荗v9 G" K;NelDQx\m=:aRdTq+)%Vg1̡&*7K9)6q|\^oS] RiRe:Y̤tG1QYs*K *Z.t4/d: e.P"rc3e]퀕OeV&3y}ΈX RdPDpHub#2*c !I2Bs泛VF-i0!j3IU=t)46BoY9d\dS`V"3"2NtA # !g7k9dbqz6>2RiRl1lsIȸ T9d:¸jLshZ:X/z|''/NS'DH( Re:YkRlMg7k9dbqz2SRiRl1lsIȸ i{!dEÈLWe2#E5:M=jMIRmK9ԛ!g7sYoY9d\d&X-Isű&"$,%Is75깬UcLEHX,zzԛ!g7[`2.2BP\T!g7sYoY9d\d&`1Isű&"$,%Is75깬UcLEHX0zzԛ!g7[`2.2BP\T!g7sY:s)" LTnsʒP\T,9%`J7E%VYb6@댪llq1z RisLDꧮ%5&츽RdTnvˋ?:SE-P l0؊)ęg1L[12!l:%28@#C}d1 #l92ls F+,PFsM<`CmyeDSW){0]Z/ˋ:]0%g1 mA&K9eIj.01$`Jԙ,9)2pĺ,0 6a*LK9eJt8Tt=%w̓<`Cm{SubC.JN`yM_-s0l=!BTNsʔip{KXˢ*qIX`%'0<^/ˋ9 = tQSYs*!Ոȩcӝ&C`HF=9Ƀam"Ѐ! 9sY# iP!B2K^hӇKD iPFU4d-B&Lʝ äxzJQ1aʷdN$͏9™69S-ŨDsS# 8tR8H[&Xr!`8N0[.odfɱΧ`dqj5fTH#Ԭ*Rtc [2BdEB!ՀE,Z5q:ZEΝaham"hFU4d-B&Lʝ æX$ZlTero rpsaLv8EjLsKS^N\åa4Z`LKD iPi%XHZMg7:2&*S r!` {0ԧ3 l{h/Lv8Ej5fTHȘS[2BT(-0/Lv8EjLs6BoY9d\d $KcLDIVg7d,Rnk9`RcRZ%2:2Hp/]SH+-#mrZr8!åa4Z`KD ḵ+$[ }:7(:#h[ ./usr/vac/html/zh_CN/doc/compiler/ref/ruompbar.htmifm $ #pragma omp barrier Preprocessor Directive

#pragma omp barrier Preprocessor Directive

The omp barrier directive identifies a synchronization point at which threads in a parallel region will wait until all other threads in that section reach the same point. Statement execution past the omp barrier point then continues in parallel.

Syntax

#pragma omp barrier

Notes
The omp barrier directive must appear within a block or compound statement. For example:

if (x!=0) {
   #pragma omp barrier    /* valid usage    */
}
if (x!=0)
   #pragma omp barrier    /* invalid usage  */


Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
OpenMP Run-time Options for Parallel Processing

g7 k,$ }:7(:#i ./usr/vac/html/zh_CN/doc/compiler/ref/ruompcrt.htmifm$ #pragma omp critical Preprocessor Directive

#pragma omp critical Preprocessor Directive

The omp critical directive identifies a section of code that must be executed by a single thread at a time.

Syntax

#pragma omp critical [(name)]
   statement_block

where name can be used to optionally identify the critical region. Identifiers naming a critical region have external linkage.

Notes
The compiler reports an error if you try to branch into or out of a critical section. Some situations that will cause an error are:

  • A critical section that contains the return statement.
  • A critical section that contains goto, continue, or break statements that transfer program flow outside of the critical section.
  • A goto statement outside a critical section that transfers program flow to a label defined within a critical section.

A thread waits at the start of a critical region identified by a given name until no other thread in the program is executing a critical region with that same name. Critical sections not specifically named by the ibm critical or omp critical directives are mapped to the same unspecified name.

Example

/* #pragma ibm critical */
int s, a[100], i; 
#pragma ibm parallel_loop
for (i = 0; i < 100; i++) {
   #pragma ibm critical (lock1)
   s = s + a[i]*i;
}


Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
#pragma ibm critical Preprocessor Directive
OpenMP Run-time Options for Parallel Processing

 k-$ }:7(:#j ./usr/vac/html/zh_CN/doc/compiler/ref/ruompflu.htmifm$ omp flush

#pragma omp flush Preprocessor Directive

The omp flush directive identifies a point at which the compiler ensures that all threads in a parallel region have the same view of specified objects in memory.

Syntax

#pragma omp flush [ (list) ]

where list is a comma-separated list of variables that will be synchronized.

Notes
If list includes a pointer, the pointer is flushed, not the object being referred to by the pointer. If list is not specified, all shared objects are synchronized except those inaccessible with automatic storage duration.

An flush directive is implied with the following directives:

  • omp barrier
  • Entry to and exit from omp critical.
  • Exit from omp parallel.
  • Exit from omp for.
  • Exit from omp sections.
  • Exit from omp single.

The omp flush directive must appear within a block or compound statement. For example:

if (x!=0) {
   #pragma omp flush    /* valid usage    */
}
if (x!=0)
   #pragma omp flush    /* invalid usage  */


Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
OpenMP Run-time Options for Parallel Processing

/a>adilmnoprs"/cghuv.=bfw0ky%,_#()-125:;DPTqxz&+8ACEFIS39ORUV]LMN[!4jH@+ɷ7A@eX]&цۚA49d[-2QWG `29X P[-JZNcజ9a@pX `,^€9dE()9dZAةkc (8* 0X$0X88,T$E-Ma -"X$0*PH (z *4M4RoS0 ro:8KeQJHDi@ĀNo kI^Z[E2TRkxad SNo kII95;i'1̈&N:8INll.>w"Mcj]['r`ru%[ Yd]ҝGdʔJu)K'1c=@Is")DPy /w( ıdZUjC}òUg7j[U;u%[ *LPvoNl!YjiUc[S=uu'1SJ7 VZmOcSN59:\* 9ǃ@ִ䓛$婬!ᅸD\Kd dTAra@7)k'h%Zsזq,]P  HD$K({d7cZmOcSN599Sc9KNL#RUHRLPv?E9-dSsU΢*xpx9ʘTE #Z:PLPv%jrvOT!.9=*Rœ"&zju>ɬC婥To U<"ʟ\el&(;kT?V=-Q1W]òkjJH9S)|Zxuɮa z\Ms%R=T)9BmOhve/c&NRiܠs:4RsCX; jeɊG7#RUAP3X b\T\T{5l&Ǒ59%NL5K Ĝk{y*.a1IjNo kII9rI^Z[EıvHa@pX&Ja%ԩh֓5<0b€ppX 'Y;&N!'7akal]/S55A]*RQm婥Trl&4*jK\zkb 0h* 0E'7-yjkxan!b*)DeIXKs,%s"jrP4eI95'7-yjkxan 0Fr^=q!f˩*π[akal],c̀h!#ǐrHr^Sԁ eԕl恩伧` dʔjr@@`S|CC)`Mn9%<"z\o6jrB%N7tDS{)T?49ȕ*AP4Rs)$k zքC}òeJ\o?V!C 2S*u"z2.g7zEPv\%ǃ*cu57H#d趮E'7@$$E-Ma -"X$0`8,]%E($b b`S NJ'7E-Ma -"S'UK2ͅByMmK)Mk )scv9%<#Z>Tɥ"kNo)'G6w(`SDZ jrFE9/)@2.h$*" E9/@8X3ksrJxA6|r^ jrw;}SuNl!@eS 2ҫoK"T@INK59;'4;2 ծ(ZUp{'s)԰NoE $=RS}/vLK92S(x:JvN]a6OT&TCը1 Dx}Tln l< h@ִ䓛$婬!ᅸD\Kd d&E>@ѕ$@ִ婬!ᅸDTɥ<0k 3uu'1WȧVP\]X  sdS-Rb:ɮcK)y7Ƶ=xlh.i95'7.I9kSXC p. ( |QJ#*LV4eI95'7-yjkxan 2JA#VB:G7[K9%<"|s`+Z'rHƱ iܠ" lYu%[ jrFE9/)@2.h$)9=*ROTK΢*H$K&srie5#vOSg !SNHvpcK)y)95'7$E'7-yjkxan!b*)DeI81S*Ii9kSXC pRU*9غ^1)#ZNK59!p9$l̈́>5vLK=`T@2YDRr^TZDIM99}NlSJ ,RE'7"HOkG5잦C%7#YMc@@Ii95'7.I9kSXC p. ( |QJ#*LVZ'7E-Ma -"]IV>|jGT[ b{p$Olk)CIO3S}/jR)ɔ z@;9*d %94Ǒ `;' ~$pM, jrBh@ִ䓛ZskZNo rINoZ".%C 2TR S-Zsזq,]P  :O*u5,kcRNꔙR@ӹA'UMts5w(<4Py P. TAM Y*.d[[=tATT9>g7%J[a%ՐU%5TC 7<Z'rK%L ;BqڢX~ƕ.9Ր'rHINll.kZNo rIAI90vpL]$9ēR䈄"=Z'rHINNa܊,{&k`%#O:̕F 2eB'7#*HKNK) jr@(S%@#$ NHs"vSS*ÍeB'1̀PII5*4Rs `PIs ;`8@&T.s;`8@&T.sR (8K[@a@q魜T;@aAINoZ".%C RʒrXX6HS*Ii9kSXC p. (M" kZNoZ"*QRQNK a59'2)cV^@ѕ$@ִ䓛$婬!ᅸD\Kd Ab%(S*Ii9kSXC p. (M" kZNoZ"*QRQNK @NIAf+lSPsjrp ESPsjrp ErJ@ѕ$@ִ䓛$婬!ᅸD\Kd Ab%@d@ѕ$@ִ婬!ᅸD\Kd AbSBN5'7-yjkxan( "9NK @` s@R)ah䰴 NHȧ%jrp E9,x@2)ah DToAl^&XY,d։ܠ"@ӹA$l! 赃K2ajB]G7ʒZ'rHIN*9`q!S;BZdtrH0keԕl&(;kƷ%E֧zNctsZ]KkjJAt[WS ZskNo\sזq,]P,*QRQNHt NH3E9%@4SǏ$ NJ'7E-Ma -"Pv|vMm"59$?DPy 4Py PO8}!3YM ;BqڢS Ĝk YjiUFr^) &Ոo5*RF*o*!xT $@5'1̂dE;k .Pqq魊<ƒMl .%C INoZ,]P (c! (r%M) .%C  L ( No+&T 0B<=F0F0.E&"*A@)7")U@J'7*PFsr)&"*@i*/Sׂ2aj9!RbERS[MSdS)(PC(QSJaH`q,]P, ɦMJ'7*PFL"cYP1 MDT<0FJ!ʟp9LrpERS[M@z2IdʄEAёO MDT,ip)UՀ,m|Jki#(SBRP4Rs)CG9PFcELg*lX$0Xb& 䓛 ɕ ,H)6RJ!TesoAJki#(SBRPI9ЬPȨ:0“n )6R8r0B(r$) .]H0)'2@ۚ) kL/$?}:7(:#o?./usr/vac/html/zh_CN/doc/compiler/ref/ruompmst.htmifm $ #pragma omp master Preprocessor Directive

#pragma omp master Preprocessor Directive

The omp master directive identifies a section of code that must be run only by the master thread.

Syntax

#pragma omp master
   statement_block

Notes
Threads other than the master thread will not execute the statement block associated with this construct.

No implied barrier exists on either entry to or exit from the master section.



Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
OpenMP Run-time Options for Parallel Processing

 k.0$ }:7(:#p ./usr/vac/html/zh_CN/doc/compiler/ref/ruompord.htmifm$ #pragma omp ordered Preprocessing Directive

#pragma omp ordered Preprocessor Directive

The omp ordered directive identifies a structured block of code that must be executed in sequential order.

Syntax

#pragma omp ordered
    statement_block

Notes
The omp ordered directive must be used as follows:

  • It must appear within the extent of a omp for or omp parallel for construct containing an ordered clause.
  • It applies to the statement block immediately following it. Statements in that block are executed in the same order in which iterations are executed in a sequential loop.
  • An iteration of a loop must not execute the same omp ordered directive more than once.
  • An iteration of a loop must not execute more than one distinct omp ordered directive.


Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
#pragma omp for Preprocessor Directive
OpenMP Run-time Options for Parallel Processing

jɃ k1$ }:7(:#q ./usr/vac/html/zh_CN/doc/compiler/ref/ruompplf.htmifm$ #pragma omp parallel for Preprocessor Directive

#pragma omp parallel for Preprocessor Directive

The omp parallel for directive effectively combines the omp parallel and omp for directives. This directive lets you define a parallel region containing a single omp for directive in one step.

Syntax

#pragma omp parallel for [clause[ clause] ...] 
<for_loop>

All clauses and restrictions described in the omp parallel and omp for directives apply to the omp parallel for directive.



Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
OpenMP Run-time Options for Parallel Processing
#pragma omp parallel Preprocessor Directive
#pragma omp for Preprocessor Directive

ef="ru k&2$}:7(:#r./usr/vac/html/zh_CN/doc/compiler/ref/ruompplp.htmifm$ #pragma omp parallel Preprocessor Directive

#pragma omp parallel Preprocessor Directive

The omp parallel directive explicitly instructs the compiler to parallelize the chosen segment of code.

When a parallel region is encountered, a logical team of threads is formed. Each thread in the team executes all statements within a parallel region except for work-sharing constructs. Work within work-sharing constructs is distributed among the threads in a team.

Syntax

#pragma omp parallel [clause[ clause] ...] 
<statement_block>

where clause is any of the following:

if (exp) When the if argument is specified, the program code executes in parallel only if the scalar expression represented by exp evaluates to a non-zero value at run-time. Only one if clause can be specified.
private (list) Declares the scope of the data variables in list to be private to each thread. Data variables in list are separated by commas.
firstprivate (list) Declares the scope of the data variables in list to be private to each thread. Each new private object is initialized with the value of the original variable as if there was an implied declaration within the statement block. Data variables in list are separated by commas.
shared (list) Declares the scope of the data variables in list to be shared across all threads. Data variables in list are separated by commas.
copyin (list) For each data variable specified in list, the value of the data variable in the master thread is copied to the thread-private copies at the beginning of the parallel region. Data variables in list are separated by commas.

Each data variable specified in the copyin clause must be a threadprivate variable.

default (shared | none) Defines the default data scope of variables in each thread. Only one default clause can be specified on an omp parallel directive.

Specifying default(shared) is equivalent to stating each variable in a shared(list) clause.

Specifying default(none) requires that each data variable visible to the parallelized statement block must be explcitly listed in a data scope clause, with the exception of those variables that are:

  • const-qualified,
  • specified in an enclosed data scope attribute clause, or,
  • used as a loop control variable referenced only by a corresponding omp for or omp parallel for directive.
reduction (operator: list) Performs a reduction on all scalar variables in list using the specified operator. Reduction variables in list are separated by commas.

A private copy of each variable in list is created for each thread. At the end of the statement block, the final values of all private copies of the reduction variable are combined in a manner appropriate to the operator, and the result is placed back into the original value of the shared reduction variable.

Variables specified in the reduction clause:

  • must be of a type appropriate to the operator.
  • must be shared in the enclosing context.
  • must not be const-qualified.
  • must not have pointer type.

Notes
Loop iterations must be independent before the loop can be parallelized. An implied barrier exists at the end of a parallelized statement block.

Nested parallel regions are always serialized.



Program Parallelization
Shared and Private Variables in a Parallel Environment


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
OpenMP Run-time Options for Parallel Processing
#pragma omp parallel sections Preprocessor Directive

iable  k3$ }:7(:#t ./usr/vac/html/zh_CN/doc/compiler/ref/ruomppls.htmifm$ #pragma omp parallel sections Preprocessor Directive

#pragma omp parallel sections Preprocessor Directive

The omp parallel sections directive effectively combines the omp parallel and omp sections directives. This directive lets you define a parallel region containing a single omp sections directive in one step.

Syntax

#pragma omp parallel sections [clause[ clause] ...] 
   {
     [#pragma omp section]
          statement-block
     [#pragma omp section]
          statement-block
       .
       .
       .
     ]
   }

All clauses and restrictions described in the omp parallel and omp sections directives apply to the omp parallel sections directive.



Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
OpenMP Run-time Options for Parallel Processing
#pragma omp parallel Preprocessor Directive
#pragma omp sections Preprocessor Directive

ma k4$~:7(:#u./usr/vac/html/zh_CN/doc/compiler/ref/ruomprun.htmifm$ OpenMP Run-time Options for Parallel Processing

OpenMP Run-time Options for Parallel Processing

OpenMP run-time time options affecting parallel processing are specified in a set of OMP environment variables. These environment variables, which must be set before you run an application, use syntax of form:

env_variable=option_and_args

Parallelization run-time options can also be specified by the XLSMPOPTS environment variable. When OMP and XLSMPOPTS run-time options conflict, OMP options will prevail.

OpenMP run-time options fall into different categories as described below.

Scheduling Algorithm Environment Variable
OMP_SCHEDULE=algorithm
This option specifies the scheduling algorithm used for loops not explictly assigned a scheduling alogorithm with the omp schedule directive. For example:
OMP_SCHEDULE="guided, 4"

Valid options for algorithm are:

  • dynamic[, n]
  • guided[, n]
  • runtime
  • static[, n]

If specified, the value of n must be an integer value of 1 or greater.

The default is scheduling algorithm is static.

See #pragma omp for Preprocessor Directive for a description of these algorithms.

   
Parallel Environment Environment Variables
OMP_NUM_THREADS=num
num represents the number of parallel threads requested, which is usually equivalent to the number of processors available on the system.

This number can be overridden during program execution by calling the omp_set_num_threads( ) runtime library function.

Some applications cannot use more threads than the maximum number of processors available. Other applications can experience significant performance improvements if they use more threads than there are processors. This option gives you full control over the number of user threads used to run your program.

The default value for num is the number of processors available on the system.

OMP_NESTED=TRUE|FALSE
This environment variable enables or disables nested parallelism. The setting of this environment variable can be overrridden by calling the omp_set_nested( ) runtime library function.

If nested parallelism is disabled, nested parallel regions are serialized and run in the current thread.

In the current implementation, nested parallel regions are always serialized. As a result, OMP_SET_NESTED does not have any effect, and omp_get_nested() always returns 0. If -qsmp=nested_par option is on (only in non-strict OMP mode), nested parallel regions may employ additional threads as available. However, no new team will be created to run nested parallel regions.

The default value for OMP_NESTED is FALSE.

   
Dynamic Profiling Environment Variable
OMP_DYNAMIC=TRUE|FALSE
This environment variable enables or disables dynamic adjustment of the number of threads available for running parallel regions.

If set to TRUE, the number of threads available for executing parallel regions may be adjusted at runtime to make the best use of system resources. See the description for profilefreq=num in IBM Run-time Options for Parallel Processing for more information.

If set to FALSE, dynamic adjustment is disabled.

The default setting is TRUE.

Note: You must use thread-safe compiler mode invocations when compiling parallelized program code.


Program Parallelization
Shared and Private Variables in a Parallel Environment
Compiler Modes


Invoking the Compiler


#pragma Preprocessor Directives for Parallel Processing
IBM Run-time Options for Parallel Processing
#pragma ibm schedule Preprocessor Directive
Built-in Functions Used for Parallel Processing
-qsmp

ignific l6K5$~:7(:#wu./usr/vac/html/zh_CN/doc/compiler/ref/ruompsct.htmifm$   aet <>cilnoprs"/bdghm.=fuvw0#%DPky,-128Fqx()39:ATV[]5CEORSUz!4NWj{}M@Hrʲټ8Z@]Xa"ʲ0Rs -9dRBNcEI>IsZSTb`•kHlsqSh@}*sCҁEw@QALcB.c"RHQAĬ((P88$T$E,q+" ( ((%J(*֩(]R I.No4[ |] Rb)sm(Y 9db%%E<] zPXZX,TY 95'2C 9ſ*F撜•kG1 c%r[OeB;HPe02sB[='1̇9A4ni)@Is v9@8;s $[ҭnlp-*d j- ;E2CƐ579|$qoJ(uNcHJ!HNnݕXg13sP0뤜P (8|BHQ@]TE򥴐1ŒТ۞.%dYAE"pK,D`ZX5F"XZ[sĬ((`8$TLT{*ϭo*&0\ʎ5ݏ[uێoP & Dr;*:ۢK@Zy&pn\"skNo\sKKBnxe a/He6,D`ZX5F"XZ[sĬ((`8$TLT{*ϭo*&0\ʎ5ݏ[uێoP &ҢНX8iW:ڻ\`Da*X-[غ#"ɄJ쥷tc 0\ʎ5aG7i #ŗ11ŒТ۞.%dYAE"pKɍ 7XE.6t d$E,q+" (  S&ʮ*spcʬL#(q Ec,DvEvT*H « 17RmEj- A+%@[]X`z1Y-;weM& ZUcz#psILiV5F撐7 .GeGkd,XR"iWP-mD=Ss.GeG[tQibhI04 ˘@BNo pINoYbhQm,`vL%V7Ȣ& E51ŒТ۞.%dYAE"P xQksw43 Dr;*:ۢK@Zp[I9R.EϨMHL(굹vTuE.6 OMN,D= /|"n9s.Gekn-,\mQiP# u*+R@CeWM#pnʮ77EoP0-D=DpnXX箣7eW :nn"`(Sm5kjs๺ݕ[PtZAeW v^dǕ5U %mb%pcʮ%L(@uZDr;("zNo= 6`/,2mJaDU@Ѹ9S$6@ZNo1i,QUtF撗4[ JNb UEa%Kr(2Dc{*c%m'Dni)qo9J74.X8{0Ά΀P{[sIni #pragma omp single Preprocessor Directive

#pragma omp single Preprocessor Directive

The omp single directive identifies a section of code that must be run by a single available thread.

Syntax

#pragma omp single [clause[ clause] ...] 
   statement_block

where clause is any of the following:

private (list) Declares the scope of the data variables in list to be private to each thread. Data variables in list are separated by commas.
firstprivate (list) Declares the scope of the data variables in list to be private to each thread. Each new private object is initialized as if there was an implied declaration within the statement block. Data variables in list are separated by commas.
nowait Use this clause to avoid the implied barrier at the end of the single directive. Only one nowait clause can appear on a given single directive.

Notes
An implied barrier exists at the end of a parallelized statement block unless the nowait clause is specified.



Program Parallelization
Shared and Private Variables in a Parallel Environment


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
OpenMP Run-time Options for Parallel Processing

- k7$~:7(:#z./usr/vac/html/zh_CN/doc/compiler/ref/ruompthd.htmifm$ #pragma omp threadprivate Preprocessor Directive

#pragma omp threadprivate Preprocessor Directive

The omp threadprivate directive defines the scope of selected file-scope data variables as being private to a thread, but file-scope visible within that thread.

Syntax

#pragma omp threadprivate (list)

where list is a comma-separated list of variables.

Notes
Each copy of an omp threadprivate data variable is initialized once prior to first use of that copy. If an object is changed before being used to initialize a threadprivate data variable, behavior is unspecified.

A thread must not reference another thread's copy of an omp threadprivate data variable. References will always be to the master thread's copy of the data variable when executing serial and master regions of the program.

Use of the omp threadprivate directive is governed by the following points:

  • An omp threadprivate directive must appear at file scope outside of any definition or declaration.
  • A data variable must be declared with file scope prior to inclusion in an omp threadprivate directive list.
  • An omp threadprivate directive and its list must lexically precede any reference to a data variable found in that list.
  • A data variable specified in an omp threadprivate directive in one translation unit must also be specified as such in all other translation units in which it is declared.
  • Data variables specified in an omp threadprivate list must not appear in any clause other than the copyin, schedule, and if clauses.
  • The address of a data variable in an omp threadprivate list is not an address constant.
  • A data variable specified in an omp threadprivate list must not have an incomplete or reference type.


Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
OpenMP Run-time Options for Parallel Processing

and l68$~:7(:#{ ./usr/vac/html/zh_CN/doc/compiler/ref/ruopt64b.htmifm$    agilnprs=bcdhmu-.3fq,0246Cvwy#%1AFIOT_jkxBDEMPS5789:NXY!JRUVz|LǭAaKAtXJkh=(aKAz# 4~Ht@P( O%}A+Eh:Z|W!MaE: !I8A)ı+x0;JLXJҋ-+lNSdWQ{'4JiKAZJZWJt>"CMaE:  <{4t%h?h?i]s`:Im<=s`:w" ⴱt5tBdhnBSdVǹ$6ǹ;OqZX, c ~ ǛtJҖ֕6ܓ6r)+K"ŁҺ!`hɍ1?G]V[%[%v=̀&$=̀܊xH Һ ՉJ ՘!JJҖ֕6ܓ6r)+K"Łұ4)h?i]s`:Im<=s`:w" ⴱ,X+1biVbZRlҵ>փY #J TVZu$hHVQA+ XlTY-n ;?n\XXᡂHvpȹ.fbQZWSdsOejnzVߩ XSd{,V$hhe*{,W:|I_EϹs0.{mh8 Bpt\7Na"pXϥߩ XSd+YHTYu J3|dcA0p pt\7Nafބ.8d\Ua,,I߆MfbQZV s]~,wC !¬'w x,&<1;ʱ*=E` ;=A4X]*{,WOejč OejG]J.Oejčd.=A^5bF鰺TY' rvBa?su8w݉gEϹ}ϥ[e! q%-݉/;(W;rKLf6R ՂI&!ðȹ.Wp*XMy. %l6Wðkt ])2\=qH98a5 =A4X]*{,V{,V$hhe*{,VYHHSd{,V$n Oej8d\d&*=E`q\1WcI8dYA5bFDJ ՠ^5bF鰺TYEϹ|!02\ H98d\[6`"=Or{,V$hTY~5bFD98g4X]*{,WJ{=˩ X _dOejčd,rp$hhe*{,WJ{ҍzt Ձ*{,WutDҷV 8.#oF7XCX0Ϸ=t"\d&(#a2&ˈ;KĐV\$m}n@#ҢkAXE9箃y16L0QփҢrcHJ)DsJ' MfMkE]8ȑ(R Scnj\ADS\1 aggrcopy

aggrcopy

Option Type Default Value #pragma options
-qoption See notes. -

Syntax

    -qaggrcopy=overlap | -qaggrcopy=nooverlap

Purpose
Enables destructive copy operations for structures and unions.

Notes
If the -qaggrcopy=nooverlap compiler option is enabled, the compiler assumes that the source and destination for structure and union assignments do not overlap. This assumption lets the compiler generate faster code.

Default Setting
The default setting of this option is -qaggrcopy=nooverlap when compiling to the ANSI, SAA and SAAL2 language levels.

The default setting of this option is -qaggrcopy=overlap when compiling to the EXTENDED and CLASSIC language levels.

Programs that do not comply to the ANSI C standard as it pertains to non-overlap of source and destination assignment may need to be compiled with the -qaggrcopy=overlap compiler option.

Example

xlc myprogram.c -qaggrcopy=nooverlap


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

eot "/adilnprs=bcghm.fuwy0v#%,-13:AFIOT[]jkqx5CDLNPSz)789RV(*EYsIVsӬ)Te:m)*Ժ9i/I܀p8ѐ EsԥsӪ.2ȶZF@b9!$d#b ok pz8/J0u"1( AVTEz*RSXDc%_ SXKF݂Կ%" $E/S; 9:tscuC@)k^$d[[89vsί% vTᑸqL^2@ 1ԏA17D[R=JcR]k p"ݷp5dn=S X, 9:&#ԧWG7\2m5Ma.GC  z> $f:>R=JutsaG7Žo5dnۂ8j\27)҆@(S81cJl_SXKA#%#q☽(d`tR4[cMk;TWG7\2m5Ma.GC  8< 6]DHf:SeJlDHf:SeNS; 9:ts1-ڠ; q5)}4S_ )TFu!NDHf:SRB6]HjSA)NJCU .5PݠdDc;) T*SeL$8p u;#NJl JwjlDHf:SR.vrڔG1/M"`LvjGn;_# {pO{E5OTcpc8-j%"U0)ooav#Vs)TXz[ၷYU1`A%͸Nj>/ _*)sKc@FmcR<(ckyMZ4@1c"G1қ.bc2T8#!J! mnsK"U0)oS}Mb5FAlq?sVsƷ1"G1єt sNv G"שkc"9!$d"ok pz8/J DMa;):qۄ~[[z}pkX~qUÊ. }*[k1KVws\-[~*.w oVutsaG7Žo5dn=S PENLTyNJutsή:ۏT/ cD0c%͸VZqd~+nj8j2QL Zq)Qvlǻw]JF5Zq%)ow _[";xa}[!doQ\bsP$ߌv"utsaG7Žo5dn=S PENL@)ݩNoD[:kk81O `f8s)q0ү5MqRqB-ǫZ,%_ `pDqRD!Ne96]ws YGүEo7DG a&S8]U؅ n_1]JcG7Mr aocn1cL1ܥGo"%͸Nj=Mx`J1cHBS89p/x/l8v)d; q4UalncAkr1yMcAovC]E;nsvhtw)M)ow11yKYG4Kh91c ; q5#Ž`x`|VB: !QQcDf:Ma.a%j+)}])Q)ۣԥsҮT,@!ä-m$cR@fVOä8tqK`a`q TTsJGŋRV9  l;$Q%~:7(:#../usr/vac/html/zh_CN/doc/compiler/ref/ruoptaln.htmifm $  et "<>agilnoprs/=cdhmubfv.0;wy#%*-1ATk&,236:IRSqx58BCDFMNO_{}7EGLPUWj!()49VYzHHɲİhڱEe8QiQ̒l(9M,1̛m5Hu(HQs$< ðx:X `-'c g1̘"G1̛XwV"2NtVA {@R1ΜV;^1Y#  BoܔsĭcE(E28P- I b"Bǡ5n hB*E(REZDjH9-6F%nk2.FIqRccDm "G7Es[dkQs&*HQs&Շ r1Ί!`ǧ:qX{@Rs䣛6F5Jɬ!(P4((($[ǕOE 3AT`RHAW26?lo&=3AP;[!G7E(MG7lJ+#D$Yܠ([ǕOE<}-g2Dmd׉(˝X9/8X9&w(=PMeEՃn"QRgrؤ` ^ɬx`:xX9RvMInk1K C]A# uA!eyT[ b<)*EREG1̘V!W0;HQs&2&S=ްr,{Fo\o XwV@Y —6>z

D`R-ڒ,eJ9d@MJ ua#`vbLeJMڨ܋~"s=0*2[ _`sX4F(3]a`n\<}-?`4Ex?7,\`"s%5U:PfXB[[ǕOE9i܋~ uA>˛^+#DksXȷTN`xA-ծ1sh0;c< "ݩ"TLT<bLTܠ(A5V`YQua`>+#D`-&grؤ`|YM{;&s׳ȱVP\;HQs&2&@l)|#mcX ȱ7}ߵ8 9k#ߵ``Y_xߵs~9+-/m|xҩՅ[$XʔsɊv5X\j|5ƽKMyI*9dtEG7c*Rn6P xHjH(H pQs&2&Ky[`rEREG1̐H](M; RcӝC^Nt (MG7lP V@2RjʤdM[njQN+xР D-"ܔs䣛6N%nk2.B@m-6N%nk2.BCniQnJ9rQ#[njRF%nk2.Bl5xu$bV"()" 9dksX=>HĭcE(PREs[oܔs z}ԑ[njPQ#[njRF%nk2.BQ#[njRF%nk2.B-"ܔs䣛6F5JHĭcE(Pl5xu$bV"( HBorQoHĭcE(PHBo@T*ԐQʄ >+eB!chS uM"I%^L@ȑks޶eBkU>@TjwD2TM"IQ#5|$1"Ma6~b" 9-G2Eu(9$X9P(HH!GǨ=e!IiL!@HH!"+Ж4B0!$UH@jdMi k(<$ ~:7(:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptans.htmifm $ ansialias

ansialias

Option Type Default Value #pragma options
-qoption ansialias* ANSIALIAS

Syntax

    -qansialias | -qnoansialias 
    ANSIALIAS | NOANSIALIAS 

Purpose
Specifies whether type-based aliasing is to be used during optimization. Type-based aliasing restricts the lvalues that can be used to access a data object safely.

Notes
This option is obsolete. Use -qalias= in your new applications.

This option has no effect unless you also specify the -O option.

* The default with xlc and c89 is ansialias. The optimizer assumes that pointers can only point to an object of the same type.

The default with cc is noansialias.

If you select noansialias, the optimizer makes worst-case aliasing assumptions. It assumes that a pointer of a given type can point to an external object or any object whose address is already taken, regardless of type.

The following are not subject to type-based aliasing:

  • Signed and unsigned types; for example, a pointer to a signed int can point to an unsigned int.
  • Character pointer types can point to any type.
  • Types qualified as volatile or const; for example, a pointer to a const int can point to an int.

Example
To specify worst-case aliasing assumptions when compiling myprogram.c, enter:

xlc myprogram.c -O -qnoansialias


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced
-O
-qalias

 k=$q~:7(:#q./usr/vac/html/zh_CN/doc/compiler/ref/ruoptarc.htmifm$ arch

arch

Option Type Default Value #pragma options
-qoption arch=com -

Syntax

    -qarch=suboption 

Purpose
Specifies the general processor architecture for which the code (instructions) should be generated.

Notes
If you want maximum performance on a specific architecture and will not be using the program on other architectures, use the appropriate processor architecture option. You can specify the architecture using the following basic suboptions:

auto Automatically detects the specific architecture of the compiling machine. Use this suboption only if the execution environment is the same as the compilation environment.
com Produces object code that contains instructions that will run on all the POWER, POWER2*, and PowerPC* hardware platforms (that is, the instructions generated are common to all platforms. Using -qarch=com is referred to as compiling in common mode) Defines the _ARCH_COM macro.

Use this option if you want your program to be portable.

pwr Produces object code that contains instructions that will run on any of the POWER and POWER2 hardware platforms. Defines the _ARCH_PWR macro.
pwr2 Produces object code that contains instructions that will run on the POWER2 hardware platforms. Defines the _ARCH_PWR and _ARCH_PWR2 macros.
pwrx Produces object code that contains instructions that will run on the POWER2 hardware platforms (same as -qarch=pwr2). Defines the _ARCH_PWR and _ARCH_PWR2 macros.
ppc Produces object code that contains instructions that will run on any of the 32-bit PowerPC hardware platforms. This suboption will cause the compiler to produce single-precision instructions to be used with single-precision data. Defines the _ARCH_PPC macro.
ppcgr Produces object code that contains optional graphics instructions for PowerPC processors. Defines the _ARCH_PPC and _ARCH_PPCGR macros.
noauto Valid only when the -O4 compiler option is in effect, this option disables automatic setting of the -qarch and qtune compiler options.

Additional -qarch suboptions for specific processors can be found in Acceptable Compiler Mode and Processor Architecture Combinations.

You can use -qarch=suboption with -qtune=suboption. -qarch=suboption specifies the architecture for which the instructions are to be generated, and -qtune=suboption specifies the target platform for which the code is optimized.

Default
The default setting of the -qarch option depends on the setting of the -qtune option.

If -qtune is specified without -qarch, the compiler uses -qarch=com.

If -qarch is specified without -qtune, the compiler uses the default tuning option for the specified architecture. Listings will show only:

    TUNE=DEFAULT

To find the actual default -qtune setting for a given -qarch setting, refer to Acceptable Compiler Mode and Processor Architecture Combinations.

Example
To specify that the executable program testing compiled from myprogram.c is to run on a computer with a 32-bit PowerPC architecture, enter:

xlc -o testing myprogram.c -qarch=ppc



Specifying Compiler Options for Architecture-Specific, 32- or 64-bit Compilation


Acceptable Compiler Mode and Processor Architecture Combinations
List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced
-O4
-qtune

t conta kB>$ ~:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptass.htmifm$ assert

assert

Option Type Default Value #pragma options
-qoption noassert -

Syntax

    -qassert=suboption 

Purpose
Requests the compiler to apply aliasing assertions to your compilation unit. The compiler will take advantage of the aliasing assertions to improve optimizations where possible.

Notes
This option is obsolete. Use -qalias= in your new applications.

The compiler will apply aliasing assertions when you specify the following suboptions:

-qASSert=TYPeptr Pointers to different types are never aliased. In other words, in the compilation unit no two pointers of different types will point to the same storage location.
-qASSert=ALLPtrs Pointers are never aliased (this implies -qassert=typeptr). Therefore, in the compilation unit, no two pointers will point to the same storage location.
-qASSert=ADDRtaken Variables are disjoint from pointers unless their address is taken. Any class of variable for which an address has not been recorded in the compilation unit will be considered disjoint from indirect access through pointers.


List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics
-qalias

 k?$ ~:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptatt.htmifm$ attr

attr

Option Type Default Value #pragma options
-qoption noattr ATTR

Syntax

    -qattr | -qattr=full | -qnoattr 
    ATTR | ATTR=FULL | NOATTR 

Purpose

Produces a compiler listing that includes an attribute listing for all identifiers.

Notes

-qattr=full Reports all identifiers in the program.
-qattr Reports only those identifiers that are used.

This option does not produce a cross-reference listing unless you also specify -qxref.

The -qnoprint option overrides this option.

If -qattr is specified after -qattr=full, it has no effect. The full listing is produced.

Example
To compile the program myprogram.c and produce a compiler listing of all identifiers, enter:

xlc myprogram.c -qxref -qattr=full

A typical cross-reference listing has the form:



List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-qnoprint
-qxref

s kBa@$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptbit.htmifm$ bitfields

bitfields

Option Type Default Value #pragma options
-qoption unsigned -

Syntax

    -qbitfields=suboption   

Purpose
Specifies if bitfields are signed. By default, bitfields are unsigned.

Notes
The -qbitfields suboptions are:

signed Bitfields are signed.
unsigned Bitfields are unsigned.


List of Compiler Options and Their Defaults

> k?A$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptbrt.htmifm$ brtl

brtl

Option Type Default Value #pragma options
-flag - -

Syntax

    -brtl

Purpose
Tells the linkage editor to perform library searches of both .a and .so library files.

Notes
This option affects all library searches.

For a library name and path specied by the -l and -L options, the linkage editor searches, if they exist, the .so library first and then the .a library.

Example
To compile myprogram.c searching both shared and static versions of the C for AIX compiler libraries, enter:

xlc myprogram.c -brtl


List of Compiler Options and Their Defaults
Options that Specify Linkage Options
-qstatic, -qdynamic
-l
-L

 lB$3:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptbst.htmifm$   <>ert "/adgilnops=bchm-.fy%0kuvw#,13FLTx5CO78:Dq()9EMNSV|P4ъbQb Np/B\XlV)pcԍ@HbVJL_XGF_nQF/ZŸSn𤵋p-8ɠ,jWKX qx~nZ@C(KKjWKX qx~nZ@A1QF,R3nSaSǹt]#.Ře:`xa%%7jQ 1LYLwr#.l{8ˏN_<{m\a>0 KC#~+X6'$/Jڙ׼"0j 1tǹt=ˮ+w`L;rǺ=#S_ּ-_HBSu#6^ psT9b?#r_pp-8=N .I,QRUIkO9qǹt=˩h",1 cZq_HEܺ 2$yDwыk/G=˦iDw4beMLwxQǹtbǹt (ܺ&,LɩܺDwы Аi M|A2ԣUF/RZŸS~aSnőb5TbrYFf,¥Ŕ2 p:y0co;=b\`$,%~88áw9l$: g89P1e=BhŔPns and  k}C$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptbu.htmifm $ B

B

Option Type Default Value #pragma options
-flag - -

Syntax

    -B | -Bprefix | -B -tprograms | -Bprefix -tprograms 

Purpose
Determines substitute path names for the compiler, assembler, linkage editor, and preprocessor.

Notes
The optional prefix defines part of a path name to the new programs. It must end in /.

To form the complete path name for each program, the C for AIX compiler adds prefix to the standard program names for the compiler, assembler, linkage editor and preprocessor.

Use this option if you want to keep multiple levels of some or all of the C for AIX compiler executables and have the option of specifying which one you want to use.

If -Bprefix is not specified, the default path is used.

-B -tprograms specifies the programs to which the -B prefix name is to be appended.

The -Bprefix -tprograms options override the -Fconfig_file option.

Example
To compile myprogram.c using a substitute xlc compiler in /lib/tmp/mine/ enter:

xlc myprogram.c -B/lib/tmp/mine/

To compile myprogram.c using a substitute linkage editor in /lib/tmp/mine/, enter:

xlc myprogram.c -B/lib/tmp/mine/ -tl


List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics
-F
-t

 lD$$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptcac.htmifm$  et "<>acilnoprs/=dfghmbuvy-.w,0125:qxz #%346DFIOSTk8C|7KLPU\_!&()9;ENV[j{}BHG,Lk*wh VՐ(V[*rc%RQsɶ۩L[ mRdU,u2C@q8bYBC 0 wA 0( HVsɊ,Tsɵua!C Ecג2HNt5䌀R0e X(G7nJ9cp0e  Ф)$AP\Jk%{] P1l*)}"(H:od\" [KDIV~b"9-G2Eu(9$X9k BCԆ@-)Ί$dQlk(MG7l}ni/ Id\"-C :ܠTmo@Li"RE%IQ[KC)RF!ni/ hP HetBúo"REs}ԑ[KE(=2 B@4dKY`2-"ܔs䣛6>4SB^2.F졐 p LPy* YܠT-PHZ-6>4SB^2.F졐:lud2u$bp0e РcH%ԣLTܠT} grVbHgA<<.s2&A -P0`s2ERh&OXjEREԛ`$Vဓd'c$[&Rn,uM"ݩ"jMڰ+E8dvjMڝB)IRnՀ\Iԛu4vE7jNshFHjMݨ EREԛ`'9["ݩ4Zv-PؘEREԛg0@‚Nnԑc*Q̑C: AtLTܠTAN,Py*J9.uM`Sd*-Q<Kq4Ț?-l)NaA*}JUlqkrš d ]RΧM<K^D$Zpim@,5"!"P$m`w.NԗmK~܃ʇ,3F [B5S-+:GeV:{«*\9!Lmš HQs&*D.I %@Uض\#m=o)s4Lt4Ɛ'HeR(ei 8 H ;J@jE%@;JA.)w(!ni/@`w8HJ81aTlu䣛7%d2u$bp-OHZ`;Jiw(<$[G7l|B^2.BEPHZ \5vsl*-"ܔs[XgRocH%(M[KE(.*X{Es-%"(16Ul*A4]7kKvUlqkrš H:orQod\" Bv2h0KSHZ-6>!ni/@|i!=܃,uM"j9vt?k{+=n=SD^aU+ .-uK:e6x=aeS$ * o5"!"m"lKUuA -V[g:REs[oܔs-%"o\:SMPrEԑlu sIxȸE Li Unl[ dLsR4ZB)Vſ @:А! Fsk(MG7l}ni/ Id\"&w(<,Py*H:od\"M-REs[oܔs}ԑ[KE(RgrP1"cM[KE(PЊpH3bUxK-r~@ \=aEKk孅5K|7PpH3bU$[G7E(MG7l}ni/ Id\"&w(< w(<$[G7l|B^2.B -r~@ \=aEKko孅5K^N l[ cH%ԣ1PF!ni/@|i!>ʮƸl*SXWeQ\&z eTM-PؘEձoP96ά4$=HdqF@5 9rQ[KC)RF!ni/I%@!";JgrREs-%"(@}^e9ضIQnJ9rQ[KC)RF!ni/I%@ZE%G7%w(<grREs-%"( ]bU$[G7E(MG7l}ni/ Id\"&w(<w(<ܠTԋ;J-6>!ni/@krll*-"ܔs[XgRocH%ԣLTsʬ9 k}O *sN4Ɛ%'LPy* l*,Py*4#mHQs$;sPcHBEBZ疷9Cv?S>0\sTUM_A `{lL\o*쥿up#bUp|+{©"45tl*PpREsTsPF&ʰyW;*-͡9GeVŰ ]DkaM}yƘS-W6k*;G UHnp.-V] ü<~[6ضYm|%dBú(4Ɛ%'YŰЍn\vR߭np2)"9*kضYKRS,e )o܃[ 4L,EnimZ-XgWp!K+RŰCv>`zm}vUpdCI%`q4v>yeV:{«!$W5G7\b`i OeV(R@HHa7[«s_S&4RflWضCX:SЍ k`( .sd5ċRoKB}q !-|-WapB)F:g7¨4Ɛ'LPy* l*,Py*l죛K"aTRf8H=aT5 B)hF@s ˜o{¨k :SЍ k``4 .sd5ċRoKB}q !-|-WapLj|ض@d1 ;JA[ ;JF{("l+1l[ vʔs08 -P&40u M k``4 .sp 9A[ Lh`4NB404 9( PS,eJ9+"9d%2maXhHz#e9X䌀R6S8y# -C  Qo[G@RZY<+KY51^L %# hP@eSI*@Po*T@ȐxF; *B%`"Ů`tm|s*, 4$4syRD60(,E mK 9D ]R ^ =`(:EZJ9ҼQ"Al(,E 8H>Ѝ$U!+ʕ2$ɁEY`5(PH=raIjHi(JD mXQVX plVVo*T@ȐxF\BkP|ˊEZJ9ҼQ"A *BAVcM[KE(.*LudIhW*9-"ܔs$[XgRc1REc+ʕ2 .-uHVA`w *B& Bik&+hb!Da!C $UH8-9o lE$:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptchk.htmifm $    et "<>acinoprs/=bdghlu.fmvw0ky%,-13CFTqx#*25:;DEIKLNOUz|()49AGHPSVj{}78Y[]W'Qv$Š:An)m.e-P ZS`d$:@H$ ltaaaaai^4VedBDԇHZvцE:BӶ2qc\HZqn& bVVN)8Sq6X bV P> mI0]*bVo`7jit "b A5VN)8SȭQcx铊.ҿ4Vk%h?-P : :Y5!N0Ȱ\Ha:BҴW%v:[OqL1aXe֩ܠ PӹA/mz n.N8pw(454eKA1ACatQ\eN&hcV"UH6s*ڍ!-*h?`cD9R2NaTgDT"OmsIPtCEh?@FsgZr[ 1CN[˭SA-:)h?HO\#n ;Raw(<.NEv] )3Hmx}CEh?Vk\0pqn& P N "]A J7,A0PA J7-C]CY+AdcxE+U!55hcW &U9>0sd ΉEJp ?LI2tM v_e9Fl ܙ[1Zl0kt*s?P}CY+A5h?KAdcxE8e( '|ɑZD y3}"jZ'SM)X ϑ CI2Φ.&:6畋um6oZ2sɠ.D3e]xg*^zIN}uO-ȁ&|v]p l IP|&G ֛-;.LsɅO|/1ԃu]d@ד>;.iPJ rZY8:nN-c rdV Pt@(jjZ'SM)X ϑ CH?.~aeF컡1İ?.k 7Pk%h?-P -CKAuE`.NpQC4PyKtuocPyD#nٲ|ge3Hm|<>TV +TPyK]41CNAY|"AA>}\MpQ<"A;.raUu|TkHT>PZ+ ZrX0,PӹA/m|]*mUbMR8\!NEN.s.L\c-~ka :uw(<.r_۠Sn}\}M ;.F&9AO]41+t{254hdJ>u+w>u11esKİ7L/syu.mx}CEh:SA, LL ;R]DIh:XJ;RFM `D y3PӹA, 4V 40(l.2bq`9&8`' ɑwOfL3`H8ATN ״ n}AϽ@j씘\|@o0pۧۛLyU`H8PkPѕ-TV,itpZ3PkPZʖ{y?  rdgF@~ v Ru Ah`P]-A\edBDԇHZvцE:BӶ2qc\HZqn& bVVN-cZ$rhg aU1T)q6Xaӊ.HJDrF6d9v$E+;#L\eK#n2Lf-DIh?*:dl#f@rHpV Fϲx 5p:42͕MC1jZ'SM)rdV1 chars

chars

Option Type Default Value #pragma options
-qoption chars=unsigned CHARS=sign_type

Syntax

    -qchars=signed | -qchars=unsigned 
    CHARS=signed | CHARS=unsigned 

Purpose
Instructs the compiler to treat all variables of type char as either signed or unsigned.

Notes
You can also specify sign type in your source program using either of the following preprocessor directives:

     #pragma options chars=sign_type
     #pragma chars (sign_type)

where sign_type is either signed or unsigned.

The _CHAR_SIGNED or _CHAR_UNSIGNED macros are defined according to the setting of the -qchars option or corresponding preprocessor directives.

Regardless of the setting of this option, the type of char is still considered to be distinct from the types unsigned char and signed char for purposes of type-compatibility checking.

Example
To treat all char types as signed when compiling myprogram.c, enter:

xlc myprogram.c -qchars=signed


List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics

A\ k G$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptcl.htmifm$ c

c

Option Type Default Value #pragma options
-flag - -

Syntax

    -c 

Purpose
Instructs the compiler to pass source files to the compiler only.

Notes
The compiled source files are not sent to the linkage editor. The compiler creates an output object file, file_name.o, for each valid source file, file_name.c or file_name.i.

The -c option is overridden if either the -E, -P, or -qsyntaxonly options are specified.

The -c option can be used in combination with the -o option to provide an explicit name of the object file that is created by the compiler.

Example
To compile myprogram.c to produce an object file myfile.o, but no executable file, enter the command:

xlc myprogram.c -c

To compile myprogram.c to produce the object file new.o and no executable file, enter:

xlc myprogram.c -c -o new.o


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-E
-o
-P
-qsyntaxonly

g sr kHH$Y :7):#Y ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptcom.htmifm$ compact

compact

Option Type Default Value #pragma options
-qoption nocompact COMPact

Syntax

    -qcompact | -qnocompact 
    COMPACT | NOCOMPACT 

Purpose
When used with optimization, reduces code size where possible, at the expense of execution speed.

Notes
Code size is reduced by inhibiting optimizations that replicate or expand code inline. Execution time may increase.

Example
To compile myprogram.c to reduce code size, enter:

xlc myprogram.c -qcompact


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced
#pragma option_override Preprocessor Directive

th="153 l<I$!:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptcpc.htmifm$   >enot /'K84TD= YKq*N(?4;*? -*sI  weˏRH'IԝzҬPڀ$4>'K80Aʣ*BƩ1e*'RhRtAդXWIniV(}ǏÚN(ph4<16,3T&Pi=niV(vU@~[Uq擥 " HbNPu'VCPtOGaT 1e=DBPu%|*U?5qa'clXfń@@ < ń@@ ΤʒT:*,iI,"o]نWaVD +k":Au>UYRfT2ʞ!(8auYR|Qn\T2ʞKaLքlwÑC2u6^ѕ{K/vQ*p2ƺ잷ͨKWquKAنW%_K3 gTveJS&; G .b.%x 2ʔI,ouZmCƆVR@!l/imW0G[liE>FsoZ׫'ϥv-8l]ͺuǶkO ? sn \ͨczنW8auYR1e(94ݨv.݌^={arst_snu%|; )Rc*{0*=p-~ ( x8auQ5g;epx< /TgkȤ̄)3; ,kb5I,폋$ԗcFR nɋm?WPތ#Mh`v *P8N/J`hsjPtO! fCГIy.; ,kb5I,A1H+uQ5 0qGR_(:au |19k]Qs0*=1\9au%5ݘc͔3uYR-I,n_lz7PэA]nwfe^ǮF`J|)[(@ZNCa:sd , aT~/ة-1H)fe^ǮyͷTc{p}}QA%kBU[!p(*GR\ANl#:*B LveOl|_Lh ̽mnZm[*=p fmtOmݘa{'yԗ6PS HΨ2ʐYS1H+ 2c AL­.|v {2gtd m-ڵyۨK(:kAaUbaֽX|ZŻ +Q '>]waMbۯ (lkϥ!l p  \ͨ{~Tju[bľj`Ҡ`KATveH@&3 **LveJv6YuGļ]sc_qaA]a{wR_(: nmJ|*U)OaU׾/]vp5wWsn)0ʽZ:PXxew6*N/J`hsjPtOGaTaO2כ YupbYSD%2K3mلe^Au`hsjPSRmX?<نWK^w-8l]ͺ(?S l{cŅvaUH'vT¥RHv04i(:auyd>]Qe!a&; }u%!ѦԠ¥[ޱ(;oyPv AH'vT¥RHv04i(:auP0n2K2ʐ Ԙ2ʜ~.(;bKACMͩAOJebPvfe^-{~gwWsnJaA]az%Iݕ%AԒ nmJ]|7^nTveHXAI,n_lAI|:v04i(?VJ@*N/J`hsjPtO0 a5yd>]Qe!a-I,n\PvԗcFR nͺ nhD04(;ozĠ ) ߥ|^jyak6 Em`)ᅶ=‚0*m$J*KR$;4ڔS ڲhf_ כfCuYRbԘ2ʟuGaT8X&; q;/Q76>*ݖA{Sa{q A,>-bۨ<0Ƕ=|XPWfe^RweI|*Pu$cFR|; # |18n{nkBUCn2ʔDBPp#!1^8l]MqYFU;/Q76>*ݖAs S l{cŅvaUŵwn`mPvJxamlz0ʽA{%Iݕ%AԒ nmJ]|7^nTveHXEI,n_lAI|:v04i(?VJ@ʒTI76A .7ẋ; ,#ũ1e?ˈ;/Q76>*ݖA{)ᅶ=‚0*m`'vT¥RHv04i(:auyd>]Qe!a&; }u%!ѦԠ¥[sn3F$d( 74Jޱ(8ͺ%;o{;(:CMͩAu>C 3!, pjLveOrKACMͩAOJdpg74HQ" nhbPp;u m Jǯ TR_ I!ѦԠ:*,Ÿ eF97x@&J AnZFWLveOQ}.s9WWf\dQzKACMͩAOJdM m0kփozĠ@0Jxamlz0ʽAm!,o{aA]azoy"TR_ I!ѦԠ:!u]uGaTT2ʟ僺Au`hsjPSRmX?%m`RweI|*Pu$cFR|_ כfCuYRbԘ2ʟԗcFR nozĠ ,(;o{O -_نW;oy"TR_ I!ѦԠ:!u]uGaT2ʟԗcFR nͺ nhD04(;ozĠ A{rJvD;(:CMͩAu>C 3!, pjLveOrbKACMͩAOJdpg74HQ" nhbPv9eA{%Jxamlz0ʽA{ʒTI76AaU1az_ 6g -'k -p[6I|:!akٵm[+<),(+ 2A^lnA˥P(ZmC.:W_WsvCfe^akٵm[+ vOvy %n‚0*GWuԗVg=eWP2}a{I|:*,= Ǻ2ʞ!(8fvakaPY#>‚0*=p fmtO\PvaUA^jPtD;4ڔTvBng0= 3clXf;(:CMͩAu Aujur2 笒[e ?e9z(PsI J'4,P *ix!-1eTSeB4`9b 4~]4PTD%RpttAz`qlw/ {]P[qPCk*JDBP/ (x?с?Fc*1p-ܸ+ AԾ\(`n?Xh>ǐjJDBP/ (x4Az`qXAI\JCqD C

C

Option Type Default Value #pragma options
-flag - -

Syntax

    -C 

Purpose
Preserves comments in preprocessed output.

Notes
The -C option has no effect without either the -E or the -P option. With the -E option, comments are written to standard output. With the -P option, comments are written to an output file.

Example
To compile myprogram.c to produce a file myprogram.i that contains the preprocessed program text including comments, enter:

xlc myprogram.c -P -C


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-C
-E
-P

¥ k K$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptdat.htmifm$ datalocal, dataimported

datalocal, dataimported

Option Type Default Value #pragma options
-qoption dataimported DATALOCal, DATAIMPorted

Syntax

    -qdatalocal | -qdatalocal=names 
    -qdataimported | -qdataimported=names 
    DATALOCAL | DATALOCAL=names 
    DATAIMPORTED | DATAIMPORTED=names 

Purpose
Mark data as local or imported.

Notes

Local variables are statically bound with the functions that use them. -qdatalocal changes the default to assume that all variables are local. -qdatalocal=names marks the named variables as local, where names is a list of identifiers separated by colons (:). The default is not changed. Performance may decrease if an imported variable is assumed to be local.

Imported variables are dynamically bound with a shared portion of a library. -qdataimported changes the default to assume that all variables are imported. -qdataimported=names marks the named variables as imported, where names is a list of identifiers separated by colons (:). The default is not changed.

Conflicts among the data-marking options are resolved in the following manner:

Options that list variable names
The last explicit specification for a particular variable name is used.
Options that change the default
This form does not specify a name list. The last option specified is the default for variables not explicitly listed in the name-list form.


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

 kL$& :7):#& ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptdbx.htmifm$ dbxextra

dbxextra

Option Type Default Value #pragma options
-qoption nodbxextra -

Syntax

    -qdbxextra | -qnodbxextra 

Purpose
Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugger processing.

Notes
Use this option with the -g option to produce additional debugging information.

When you specify the -g option, debugging information is included in the object file. To minimize the size of object and executable files, the compiler only includes information for symbols that are referenced. Debugging information is not produced for unreferenced arrays, pointers, or file-scope variables unless -qdbxextra is specified.

Using -qdbxextra may make your object and executable files larger.

Example
To include all symbols in myprogram.c for debugger processing, enter:

xlc myprogram.c -g -qdbxextra


List of Compiler Options and Their Defaults
Options that Specify Debugging Features
-g

 k:M$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptdig.htmifm$ digraph

digraph

Option Type Default Value #pragma options
-qoption nodigraph -

Syntax

    -qdigraph | -qnodigraph 

Purpose
Lets you use digraph character sequences to represent characters not found on some keyboards. Digraphs are enabled by default.

Example
To disable digraph character sequences when compiling your program, enter:

    xlc myprogram.c -qnodigraph


List of Compiler Options and Their Defaults
C Programming Character Set

>  kN$z:7):#z./usr/vac/html/zh_CN/doc/compiler/ref/ruoptdol.htmifm$ dollar

dollar

Option Type Default Value #pragma options
-qoption nodollar -

Syntax

    -qdollar | -qnodollar 

Purpose
Allows the $ symbol to be used in the names of identifiers.

Example
To compile myprogram.c so that $ is allowed in identifiers in the program, enter:

    xlc myprogram.c -qdollar


List of Compiler Options and Their Defaults

/compi kLO$u :7):#u ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptdpc.htmifm$ dpcl

dpcl

Option Type Default Value #pragma options
-qoption nodpcl -

Syntax

   -qdpcl | -qnodpcl

Purpose
Generates symbols that tools based on the Dynamic Probe Class Library (DPCL) can use to see the structure of an executable file.

Notes
When you specify the -qdpcl option, the compiler emits symbols to define blocks of code in a program. You can then use tools that use the DPCL interface to examine performance information such as memory usage for object files that you have compiled with this option.

You must also specify the -g option when you specify -qdpcl.

You cannot specify the -qipa or -qsmp. options together with -qdpcl.



List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

top lh$P$:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptdu.htmifm$     <>et "/agilnoprs=cdfhmu.0by#-3CDOST_vw%,1AEFINPRUXqVkx&24578:;B|()9LMWYHZxmAziZvZJ/M= #xBC$ @'GHHbŋ:QTmAV1BDH1Ί%`F9ӊk:E,tŋ%xEz>D o8`p7$kp@IK$rdMvOk)bȔ;fO7K^zeҧh<#pד̄'%k_=Qi9JeXFC|%ZאILlSAKel$4R Dh ,5>%n @`XC)5>²X3҈n s!,yP*6/9yMa^5͞Oy{(=JeG[8 (o:m{J5փg׿KD%,#y"P*`llS]r)@P{,(6=mq5{9"PY+`llS]!Ɠ^zeMy4TSSAY9.S]n6 dZmaA X@D<8 ҧh>Ť/9M{u|P׼zTmA6 +#9MvvNOy{(=g%58qSռș.=Aœ5=b!!p`&=ze`xp< Oe:OX48<4_\5Oi\l K;98S_o_KzTmA6 ^zeSA-3)XeG[>[X^I'F}-o^zeҧu[fRJ=F{(= Vd]_] ]n؄<4K^ݯd ^w`<.YO7ŋ0leIf ^t@ "l7-vAYA`qb[JzP@ "l7-A6 [g?Z$c9kk{(=N 8XTP{-^/8c^}/}o%/.,lK+A|aCF:Qz`N)`-{4?6Y@.l:RJ_.XP鑰hSa@RZO[ǎS9.7QsX&MQXe=FQB(RkJ"##Q0Qzbnc<@)B)-5=a))agiors"/=cdhlmpubfvy,.w#*-0124EINT_q%()35678:;AFLMORSUxz|}9Ck{DPVW&+BHQZJKYGQviJ,)iBP*fJ5C۬ZP˖(P/^c@<<@  (Jr9J[8ɓ 9iɓ % ,!2ҏ\06p{ -EPXL3 \*mİe0 ky-CsGľjiG06p<> 9j;am4eZQ쥥ഡC+Jr҄VN!*`@daE:@@2a9@ണVV bf`6)9@U@(jըB#Ϥ.,Pp}5jZQ+am13W0 kya* `Z,$K2ҏaʇe-(U6 am5e0-B : iJ?uCZ{ҏ\cD L06p{"-Q>xeCj&[JMZcD L06p{A4y:CKJ?el1͢&jbcD o8l=Yd  PDIuը{)iG-(PJ҄G-Q>P][e9J Z i5<34y:0xfhHuY iᙣ %<34ycf4-( PDPC0XH 1"@T, `T #P, $c PD a@* P =9Е BZp}5` ||eCjҀP%]1kϫ' l$tlCr҄G-Q>bp}5zAi@0M\OϨy5{! b9iBP`'0 `2a0M ` l0Ȝ]M `J?pZQ+ kya* `@jX<34yDf֡쥥겱L1͢2C tDz|n}Gy$pGy y{3Ys "w x61'Mnls7W4y7V!ڇ{ҏ\06p{$Z i==VV)9@X(t.[/<ك-Ϩ$ҏcO|El1+/Tnj7V{)iG-(UiGS sh ,Ae`M==VV)9@X(t.[/<ك-Ϩ$iGw1' l좶BxIИ\7Vc7VJp}5x<2P>mq&d˜ľp}5nP>CKJ?=iG J?ebcD o8l=Yd -Wkf4֡쥥겱L1͢2C tDz|n}Gy$p"sO|=CണVV)9@U@ 2vxfhH jjZQ+ ky,:IpL{-lwI IGw1' ljZQ J?pZQ+ kya* `@jX<34yve-(Uam5 $K=6`s;$4@6Ce-(P-(Uam5e0H  ]<CݭCKJ?ebcD o8e3 q[{B`sfJ?C tDz|n}Gy$p 6˓f},;3q髚<a:'\<^Do"_ >s2C hsXqΦ<'I.+uv\\d\P>Rj2`%Cɫkϫ' l[/txHdBJ J"k 2cyВKJYlW :_SgxQ>P>mq/*D,7eg\ڒ%HTسts%aQ)C(^M\xM^K6ʽZp ͩ)(:TuI]:wG>2PvZP(˝Q>P>Rj}FW&d'aRtպCjyv\^au7% B1iGr¢uFj$&p}5{KJ Enr'3;o.x2;պCjRFj5Cj_QUqeT,>ԔCjQXxw1}49C1 @ t')Oeg%e\wG"Ev\e6wuZՆj侣l `YӪ7Vc7VN1c(sZP(˝Q>xfhH `&p}5{η>K.vq:Ip0ןWO|+TnhTi 7WI6RYl[>V-:lhnyYa6gTJ |!19Sp}5`Ӡƚ[Q">L09( e0^}:*j\d`ssV`Mu7TnhHP>3vn;)\'zp}5`Q&TxM\RXvn&{ 7V : iuhHmCj_e4V;(^%Oe_VTuFjA5Cη>i 7WI6SC(Q =AķDz:|b/2ISvgBJ.)(gHvEKx|{.{.s%HTس75< )Bp}5sGp}5y/*|;.r_LN}nt$꒒t좻.vo==В/e҃%HTسl^\al˝Q>P>Lo+0<csqy+TnhTԕ[!{)iG9@\lS sh UZQ+am13W0 ky,!jZQ+am13W0 ky,#{)iG-(UiG9@\lS sh cD L06pˋRVIl쥥겶5sL1͢2W{)iG9@\lS sh x  X H =VV bf`6)9@XGPRҏpZQҏY[ shئ[`:cD L06p>ԕķe-(U6 am5CKJ?el1͢&jbcD o8e;~@jZQ+am13W0 ky,%{)iG-(UiG9@\lS sh cD L06pˉo,\ڒX {)iG9@\lS sh UZQ+am13W0 ky, ( 8H @CKJ?el1͢&jbcD o8ee-(P-(U6 am5({)iG9@\lS sh .mI[e-(U6 am5}Eͩ+u^쥥겶5sL1͢2 L4 PhHcD L06p ZQ J?pZQ+am13W0 ky, PRҏY[ shئ[nX%ne-(U6 am5CKJ?el1͢&jbcD o8ePhD&4 X ҏhD&4 ZcD L06p ZQ J?pZQ+am13W0`RcD LY6T=VV bf`2Ϩ%f>쥥겶5sIQ<'$&yP<{)iG9@\ex ,CKJ?=iG J?el1͢&j, S1CKJ?el1͢&j..mIY{)iG9@\eͩ+1e-(U6 x Zy@uZ/~%D󖨞rCyJ?PRҏY[ sh38Y 2{ҏ\y9@@UA| 0@l0ØQN06LdNa.0@e-(UFjϹ.\Ճ3GCBI hW0WeQg'qo0sF9aQ8%EՃ3GDMa(xM^J?yuHnυI[ĉ ĺQ>icMbQϨGCKe6{.x y,>\ԣp}5`Ӡƚ[Q4e.R[[hCsy<=ܗ&w髚<J?u;Oj:]tYs<XaGo!cRRG41yy!xU>ulʒLdn}`ҏRy dvt%iGX\l7W4y7W9,0ģ=[)O.p}5g\ڒUxMZQjպbԕP>|9iHoeQ%Sr^T5q}[\@CGBVNk7n}G<"k 1(1ln $ A0,B`_ン;-Yƞn:Q<2jZ:G,.\j侣ll>cJ?e.x2;Q>U,\ڒU7VsJvicMfϨGDMa%4y->G L PH8Aefq!L֡΄(Q :p}5sGp}5y/*29OĺҏYn˞ ;+TnRV9J?t%j_41yy"&cJ?e.x2;Q>U,\ڒU7VssCb҄G,.\ՃNk7n}ECj "7V "Ն'I./5O4VMXP, Ձp}5a@* [Y/&'>u7\ՃNkn}G PDL( 7WI6SOAgFð:M:MJ-Q>xfhHmCjLs{!NbP+ym>PvZP(7ViLTU^J6!Ma&48Go(sGҏ7-p $($ ` pT,PX* GGK >L20T,T=9Е9ar<ك-ϨGp}5{(Q>a*`p}5iG{$<@6vQ[!;,uZՇ%r9 Q>$0)P>꒷RQXa/y$s8G.x61t&3W%bQ>.mIY% 7WbQbΐCC1 ļnq0cMy8+us7W4yDbե:5 Zo!cp@nH3`S {s+J?rlnK6ʸaqb'>2Wo'Bc5}:p}5sGp}5aG9iG1J?cy/4;1.2sE 48sMej:]'4Y{`Cᙣ"&=9Е9lO5KgA ')y/cTntXs$:Cj.M0Q>P>S 2cub|888{3y$p˜S<ԣxvZQrҏD~K9NK[π![/%luG( x{Jv7pH,  pa@2osu7&4 J44o:4yDbQ>%x`@7@L. 0*@ A5(hx݉t#aF jQ41yy!iGG|\N0HX((P@@d J?VIert "/agilnops=cdhm-.bfquvw%03xy#,15:TkCDFIOS_()678EM!9ALNPRUVW[]|2%h\/XK/D$<-MsIZ[h9Q4s45E*%:m)*M4y!|B{_ H(aZ:s ŽcuB|CEQ$[[(9c!k ҇@$ sQ:On#a:Pa(&KݼJЬb*2)*Qv:5EJUE*%"^IA4st9I-ã_w~c. -AW)ܺ,{U9-*=~}='~ǹtQj Lw̧;r0ݔq]wXG/C}*q]Z2Sǹts?*?-Dd*ok fÇԦsJD5E ~4€>c. sPUJc.# !Yd>~ݬx"a,mG?-j[qxSyeqCaG10![aT-A|EǵOǹtPr=ˣN'waQe2=ˮk臔ŽcaSǹt\r=˨aG1/m-e㯇!V =xÑƕn5X9q9<[{v}*,8_sJ^9iא -ts.vG,.G (^`XNJaG4C^@4PsKG7Y@ypcU{^(q[+^_NoeqAQ)[ ̷o=ˠŠSvSǹtsǻSEd|q]=ˮc/,=o>g7,8_sJ^9iא -ts.vG,.G (^`NJaG4C^@4PsKG7Y@ypcU{^(q[Oc VSbs/ۈxmUYjq )k(攽s! ([]N4X\1Qj AlԦtsŸL(]N4X\1Qj @Qj xaE);%;)]ґ yB߷G1%e467!k`Ic:ȶ0Q r@B8H@@:(ܣt5Cåwym`q'JPJ9VŕR#(rĎkc"<ypco8 cs g,Jc)UHU:0[!"k)[Y w6U"2oW+,Heq"m*]2^3BXlzI10{rT9\#%VPrT9\#St9ZX_PaE))UHU:0[i`}|AD\!UR&ox5pL:ŸtcVQ)hNҝP4¥0rĎ:HypcoCEb,9ZZ*XZp:CK R)r l!MEJUG4C RV9KJ ldS$a:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruopteu.htmifm $   enorst <>acdilp"/ghmu.=bf#,-0qvwy%3;CETkx()*1AFOPS&578:IMNU+29BDLRVWzA:Ss&Ĝ1̍n @t$@˜@`BbF0 ?D2ys!@Is#T)U,HcuÜ17\9-@f$`(,,2NoFNok8j$HO5H@X dJP.x.jL865PB6JRA]N I9ѬsH#mS'1̇'1̍PGVȱ#CuÜ1;H0X9i9ѬsH#.'bsH#m'75Ni$eX5Ni$mÚ$HH d }bNo@i9>S'1̇RB@>mԐޓCP3}Ԡw$96HH]>mԐV˜L|qŵўTT3~tS [S$cKʱLtfI  |۩!>SI\fU6zͺ9ycc>I ;szQu$$V |۩!='04ͺ @RBzRBBu$'9Plhqq;0nLOc6HHP1I mOn[E뢞EfTgUIy{۝\ŵ,9ocz5.{] ~Kgl(Bz\fUcmk\fC:1vP9X WKlT%֬]NKVÚ ugdb0PJ3о N9Zڐ ]h+гIVKl;HSt̫ -MqPsQz;w^9d= 7$tfI  |۩!=j/#:3n96HI/ZDūak"c1]U,cpGG*A͘Ϋm{Rp)p(?|N+[$ͺ |۩!=^60G@Is!͘jW gT1sf0U]Jձ*gnͺ |۩!>%Oc6HHP1I 9ڐDUǢUc>h}Eckce[#IlmO .%qP5T ퟤ:Ր#w9I۩!!@u$'>bLtfI >mԐRBBI tfI \n~NeK:~TmtyQP#w9|p?I۩!!@-I mHOFmԐbͺs5`R.k8st۩!"n-}_WFmԐ @RBx.3!(\qmt`s kTT|,Xp>Fp<]-3kTT|,Xe\}V:\fC:0'Y]1DGnDūa;szAtQQ;WRᝳ}2y{|l9\uR,GٌtfI sf>mԐ/Zs*0gWEoǪyEZG.͘g&$FmԐZͺ۞k~>m(%Rae=VAeDUd:6#w9Iݽt 뢞@OT 7~Qv9џk酮:>^SkG@Is!FmԐ`=E=Ёn 뢞G(=DZgȖ}&;t̆|qlKl^ ;zzNcK[ 9J7RrA"PbJ}Nd)԰pauCtE :ڈ*'~z2: .spn!-,Gࣘ͝!-\p'InvW]TNQt̫mf\8;skI뢊ޥfuw6c89޾ 98&/*'x9̾'4 <ERzڞ t pRJ}Nd)԰pauCӤǢk@ @Is S`a'7 FBَ\Z (=DZ ]h(lP(sf89;ns6wss|I>P;s qN 2 25BU["Č7\9S HcuÝR$ ,ni"F$mF5H@X d$aiJ"0y" 5H  0 W&X~4A:PFH77о E5ڜan u%'7ɸ$k.]'Jx_Ϥx[E],KחI@Irn}͑AO!lRP*s\bFm extchk

extchk

Option Type Default Value #pragma options
-qoption noextchk EXTCHK

Syntax

    -qextchk | -qnoextchk 
    EXTCHK | NOEXTCHK 

Purpose
Generates bind-time type checking information and checks for compile-time consistency.

Notes
-qextchk checks for consistency at compile time and detects mismatches across compilation units at link time.

-qextchk does not perform type checking on functions or objects that contain references to incomplete types.

Example
To compile myprogram.c so that bind-time checking information is produced, enter:

xlc myprogram.c -qextchk


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

FmԐ kHU$T :7):#T ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptfdp.htmifm$ fdpr

fdpr

Option Type Default Value #pragma options
-qoption nofdpr -

Syntax

    -qfdpr | -qnofdpr

Purpose
Collects information about your program for use with the AIX fdpr (Feedback Directed Program Restructuring) performance-tuning utility.

Notes
You should compile your program with -qfdpr before optimizing it with the fdpr performance-tuning utility. Optmization data is stored in the object file.

For more information on using the fdpr performance-tuning utilty, refer to the AIX Version 4 Commands Reference or enter the command:

man fdpr

Example
To compile myprogram.c so it include data required by the fdpr utility, enter:

xlc myprogram.c -qfdpr


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

 kꌧV$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptfl.htmifm$ f

f

Option Type Default Value #pragma options
-flag - -

Syntax

    -f filename

Purpose
Linkage editor (ld command) option only. Passes to the linkage editor the filename of a file containing a list of input files to be processed

Notes
Each line in filename is treated as if it were listed separately on the ld linkage editor command line. Lines in this file can contain the following shell pattern characters to designate multiple object files:

  • * asterisk
  • [ left bracket
  • ] right bracket
  • ? question mark

For more information on the -f compiler option, refer to the ld command in the AIX Commands Reference.



List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics

ble>  kRW$.:7):#../usr/vac/html/zh_CN/doc/compiler/ref/ruoptfld.htmifm$ fold

fold

Option Type Default Value #pragma options
-qoption fold FOLD

Syntax:

    -qfold | -qnofold 
    FOLD | NOFOLD 

Purpose
Specifies that constant floating-point expressions are to be evaluated at compile time.

Notes
This option is obsolete. Use -qfloat=fold in your new applications.



Floating-Point Compiler Options


List of Compiler Options and Their Defaults
-qfloat

hr k:X$':7):#'./usr/vac/html/zh_CN/doc/compiler/ref/ruoptflg.htmifm$ flag

flag

Option Type Default Value #pragma options
-qoption flag=i:i FLAG=severity1:severity2

Syntax

    -qflag=severity1:severity2 
    FLAG=severity1:severity2 

Purpose
Specifies the minimum severity level of diagnostic messages to be reported in a listing and displayed on a terminal.

Notes

severity1 Message level reported in listing
severity2 Message level reported on terminal

You must specify a level for both severity1 and severity2.

Diagnostic messages have the following severity levels:

i Informational
w Warning
e Error
s Severe Error
u Unrecoverable Error

Specifying informational messages does not turn on the -qinfo option.

Example
To compile myprogram.c so that the listing shows all messages that were generated and your workstation displays only error and higher messages, enter:

xlc myprogram.c -qflag=I:E


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
Message Severity Levels and Compiler Response
-qinfo
-qsuppress

 l\qY$;:7):#"./usr/vac/html/zh_CN/doc/compiler/ref/ruoptflo.htmifm$   nort<>aegilps "/cdfh-.=bmquvwy%,0Tx#123CFNOPSU|()48:EIk57ADLz9GVWjM9%a9Ihac-Aɶ[T9&%q$Bʖ , ;P6Ð`X,B1c%a=CU-TYJk\d,92ֽ)] =^p049 !4 A̘Ĕ&SAl)$ "TM&-$%rl7-b9.#vpbͲrhot96 Rq q V"hPrr2ֹ%Xr5rJd,98@.RD`kȹqC C$S A u`q.QhozZr TZ-b9.#avhr$B! -8!&@.RD`kȹqC C qIX70Aɲ8&{7-b9*-TFp0498HAu0r_u0BQ.L Aɲ8Q:Zr.\F H$DHq1ȳ7"8&R$׾ӈ7q-E qjE qi"8/t&rl7-b9*-TFp049H !X 96Z qMCTc}ŤK8u)GQF6SaM(8:iCň[&rnrAH9*ݣo,97h:"]lyɻAM Jvݠ五c} Kr_u0gH`=)1OLol d_.L<6 5OW.L?uH; P U*/}mKb5QllvB5ZJ(]$Lc)BºY-L<6r\c}M%S Fq_f;)[&1) RXҞ-M2i\Mǩ=/eċmT5J*SŶ߉HHVŔޖ QyS04J6vjƥ%a2/y- Ž]d0S(eMȼmMa Z^H 9!a],`tZ Lnr:^=C ͑u%)UTF"uJ"C`z91%L[(YRxclH rSlcH1 ua%((ɥb_f09.@1܀alahɌԿU-l2BPb%ɇ @aFa2/bf٩a[ň[&[mZQ°YGl@ q V"hPrr2ֹ%Xr5rJd,98@.r0f HAQu ڰDqŠ1"ڛVrnrl7-b9.!$HVce6XWK"ClxȖ]@Of!TX;JS4mlY}ѽVﺘZ1cmg%S @v}TKUL-o()6r_u07k8$[P8rS d/U˭XLmP:1o(٪o퐾Lg}cmg%S G.Ll3;l9/ZԿKiI,'F(9.@Fg}Qs[&氦[BGWf;t¯p_t¬ahɁc[ ajz퐷5TǨ٪Qo퐽.rLKcoQaK8&@78t\!١`{ce6ix"8EM2Z^rnrl7-b9.!{S b٩b)BºY8ai]!ZiKv*6jqƛ\v* ﺘZ1dqɎ椥?UȇUj(%L-.L;lÙ-,ahL8s“lxlrl7ɺ@{/KXEˈ]  !@QF6SayolĚyɻAɲ8t\R~-IiBڛd:ɢ 7H-Lʑ.j/KEBڭԢLbd҇4^/ʘU=̩MY܎7"ԵPlﺘZ"My{S b٩{!mPWRc1Sɇu"Uj`qMcL٩mE ȵ-U0{&8w8eZ̚]ajjxl@0g}kmL-.Lrjah-𶜗L-ﺘZ!08ah{0[&9.@8jaט9/Z9ucc&QL1is“l~ aF6Slt,qʑ.iL?5 \HDeIVc<6=c]l Ta2/M+*Dd/5Uk McuJ"^8&7T,lE_JxY.2w jah (l91r_u0rdJsRR٪ojYu0kmL-0ﺘZ1kmL-d]p.sXRm qM97Ho qekȹqC C$ h (l9|-"8EM597h96Z^p=)1OBڠDz`q u)dҺpZtmM+}(d\}ce6r_u0bT&h'ldg}k i}8raS57+E1 u)dҺpZoj@RLjKE0^wL-𶜗L-Rc`Tqlʣ& V ]~-}Qs^clah 8r;lÚr_u0rdJsRR8jjYu0k i}˭A()𶜗L-d]p.sXRm qM97Ho qekȹqC C$ h (l8#Qx)397h96Z^p j~ce6XWK"҅6ɇ%oxi(tV 'B)BºYc%8 *0 R.&mR!CjJ-j͗2N cSYIiBڛdʣ&7"\ƫ W5sf rəR%TÍ 5ɌJBtbVQL{&931d,+cȵPںSŶ; 5Yu0ce6JL9/Z]lNjJS5\|VﺘZK[&`՝S @QF6SaĤÒda2.P@k Ma᳒7ɲ8&{7-b9.#avhrX$EMDqŠ1 &&@.r5B6'd>YVɇ9jc.ֲ0MHP0X ʘU[!y"w7E1rXu(=oq6 5\1S DL&r_u07ܢcMk0{&8RoZ;la%S @(PR̚H5j@H 6L,0ﺘZ y[&9US S5Yu0Ba%S @˭7܀TbޢYﺘZ1tL-wL-EۺKr_u070 eH1ZtRm)ɇ7#*D4rRm%.U¹3T8R`~\%d/9.@ﺘZ1 L-1ҜԔjD>ZVwL-EM{0[&4}ﺘZ{0qɀ g}QxLZVwL-ET[NK]l VwL-EM-𶜗L-d]p.sXRm qM97Ho qekȹqC C$ h (l=Pol MM=\" -!a],,t&8joM+d"\`eи WR. d/o7@ LT4%5U٩PMȾ\^&KV%!9F7иU7f6Slt/ձMb*E}“J}#M.;`S @QF6SaꄜL-$[QL1/a l d^l[cL]KzRUl~Q7иUDS[Ce-`Rl2Cg%oUS @QF6SaꄜL-1ҜԔjD>ZVwL-EU 9/Z9u`6=Yu0ce6I}8&E 5&0rhot=^p049@,BvlUce6&*97h96Z^p=)1O UӽB W&eIjo57~[Lb{5])|xiu3yI椥 KJ!}SRR[ɝⅦ83z`HЖB`C!}5%(JT,eot "/adilnprs=cfgh.0bmuvw%-Tqxy#123:FNOz,AEGILPR589CDSVk|47UXZMSh9R9iknnN[tsJK.cDx@ }q!c_RsNKo.:#mkԵ[[8!k@aG758tn=k !%Io%DXTF^"]cqJOڔ Su|bœ:7>MaNaE+)}])Q) msKR9i m9@!k^(t4r-CP9vsί)àv))ãqX,t!1c@17PkR&1cNo58tnۂ858tn=kP(!"h*9J."jSu}MaN[1MaNGc EH (Ro~)R])Q󰣛u}MaN[1MaNGcAUcSbJlUJutsί)àv))ãqX,tAa-݂):-pGǣb "XPP])Q) msKc@ 5ڠ\; qU/wkBnHY-݂F}b8cA!n[>S89!o73`G`,f:=kon+mas}YkYU)_FS8~cA!n[>S89wPqK+%~!_G1/v⨖Oa*?Y?KN55+͊c)T 9/P]tG"שkc kb:"oѸq^:"S@p%7wjSu|bœ:7mmǑ{doS yKqZcˁ-WG7vs(_ǣb 0h;):1MaNE6낶뽲7<%c ~1Źw[CNo(Q:1MaNGc !;@[1w;):1MaNE6낶뽲7<%c ~11Ho0?NŽoѸq^:"S@P4_ԧWG758tn=ۮ ۏ#sާ/ⵎ(%oc)_{ "߬D?NŽoѸq^:"S@P4ESR]ѸPn+n<]λ#zSo[81:9SaG758tn=kHT PߔԧWG758tn=9B[q]a, "߬GKB?K)Lw|0(P~[#,N?Y쏅d-g7 /S}|w-w)cY9bHkWb?NŽoѸq^:"S@PY NJutsίSXSF@M୸1wv |,Flf8~~/K-~1z0~ 7f]푶Ka#{pk1 ] "߬vDvo]Sk:9SSۣ}CX⾗~cDv |; qUw/hcab1Mo81c[<|  luJcA`af:=Pޡ{!Mho(Km`7S֜ķqA/;~>f:=PAv@ `.d26sXaf8%Bf8?c_@Q<7þT+1aNSZ/ļqߘ1PHY-hS)Un85_1PHY-݂)U}ϰS0~R9i}|60 flj15V[Xk PƗn]U)1W1ݑ}Yk9 .ƳK8 0r1W1K9[hk(k41ct; qT -sHU୸yU-Jc^17ZqOccRQP[ ۏS1Mb>f;Z9"G7Z9Z/v$ a*~Eo ʷ\1c`Lvaf8STz."ۿ q,s47Z9Z}8m=!K ~g7c1R-sR-s1POmc^DŽ``T(99o%c ~1eާ, n r1$7 뽲6{v~R9i|.v1qA G %S[Abܻ-}]۔ԥ9i.sӪr [Z-lqCB9!(tGc @B(Q:5@ +J* ia(X,t]tTT\,:Hoؤdc!@}ǢkPHv=psUR +J* lQƱzX0R9v‹QR&sʹpGD>@[# =ps9g7Qvpd[v2T\,xrPq蠐tU"aG7 $t@^?In/E %L(rd ?CEJR9:9W))ãqS_^)ҝP4/rd:HOcn #Eb5XrR*X(:Hp`qK`D<49L%NAw!)Uґ89%  kꢚ[$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptfst.htmifm $ fastcopy

fastcopy

Option Type Default Value #pragma options
-qoption See notes. -

Syntax

    -qfastcopy | -qnofastcopy

Purpose
Enables destructive copy operations for structures and unions.

Notes
If the -qfastcopy compiler option is enabled, the compiler assumes that the source and destination for structure and union assignments do not overlap. This assumption lets the compiler generate faster code.

Default Setting
The default setting of this option is -qfastcopy when compiling to the ANSI. language level. Programs that do not comply to the ANSI C standard as it pertains to non-overlap of source and destination assignment may need to be compiled with the -qnofastcopy compiler option.

For all other language levels the default is -qnofastcopy.

Example

xlc myprogram.c -qfastcopy


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

 k"\$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptfu.htmifm$ F

F

Option Type Default Value #pragma options
-flag - -

Syntax

    -Fconfig_file:stanza | -Fconfig_file | -F:stanza 

Purpose
Names an alternative configuration file for xlc.

Notes

config_file Specifies the configuration of your system to the compiler.
stanza Is the name of the command used to invoke the compiler. This directs the compiler to the config_file under stanza for the description of the compiler environment.

This suboption is not required.

The default is a configuration file supplied at installation time called /etc/vac.cfg. Any file names or stanzas that you specify on the command line or within your source file override the defaults specified in the /etc/vac.cfg configuration file.

For information regarding the contents of the configuration file, refer to Specifying Options in the Configuration File.

Options specified with -W option override options in the -Fconfig_file configuration file. The -B, -t, and -W options override the -F option.

Example
To compile myprogram.c using a configuration file /usr/tmp/myvac.cfg with an xlc stanza, enter:

xlc myprogram.c -F/usr/tmp/myvac.cfg:xlc


List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics
Default Compiler Configuration File
-B
-t
-W

 kF]$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptful.htmifm$ fullpath

fullpath

Option Type Default Value #pragma options
-qoption nofullpath -

Syntax

    -qfullpath | -qnofullpath 

Purpose
Specifies what path information is stored for files when you use the -g option.

Notes
Using -qfullpath causes the compiler to preserve the absolute (full) path name of source files specified with the -g option.

The relative path name of files is preserved when you use -qnofullpath.

-qfullpath is useful if the executable file was moved to another directory. If you specified -qnofullpath, the debugger would be unable to find the file. Using -qfullpath would locate the file successfully.



List of Compiler Options and Their Defaults
Options that Specify Debugging Features
-g

 k"^$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptgl.htmifm$ g

g

Option Type Default Value #pragma options
-flag - -

Syntax

    -g

Purpose
Generates information used by debugging tools such as the xldb graphical debugger.

Notes
Avoid using this option with -O (optimization) option. The information produced may be incomplete or misleading.

If you specify the -g option, the inlining option defaults to -Q! (no functions are inlined).

The default with -g is not to include information about unreferenced symbols in the debugging information.

To include information about both referenced and unreferenced symbols, use the -qdbxextra option with -g.

To specify that source files used with -g are referred to by either their absolute or their relative path name, use -qfullpath.

You can also use the -qlinedebug option to produce abbreviated debugging information in a smaller object size.

Some symbols which are clearly referenced or set in the source code may be optimized away by IPA, and may be lost to debug, nm, or dump outputs. Using IPA together with the -g compiler will usually result in non-steppable output.

Example
To compile myprogram.c to produce an executable program testing so you can debug it, enter:

xlc myprogram.c -o testing -g

To compile myprogram.c to produce an executable program testing_all containing additional information about unreferenced symbols so you can debug it, enter:

xlc myprogram.c -o testing_all -g -qdbxextra


List of Compiler Options and Their Defaults
Options that Specify Debugging Features
-O
-Q
-qdbxextra
-qfullpath
-qipa
-qlinedebug

html>  k_$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptgpc.htmifm$ genpcomp

genpcomp

Option Type Default Value #pragma options
-qoption nogenpcomp -

Syntax

    -qgenpcomp | -qgenpcomp=directory | -qnogenpcomp 

Purpose
Generates a precompiled version of any header file for which the original source file is used. This may help improve compile time when you use the -qusepcomp option.

Notes

-qgenpcomp Generates a precompiled header file called csetc.pch, and saves it to the current directory.
-qgenpcomp=directory Generates a precompiled header file.
  • If directory is the name of an existing directory, the precompiled header file is named csetc.pch and saved to that named directory.
  • If a directory with the name directory does not exist, the precompiled header file is named directory, and is saved to the current directory.
-qnogenpcomp Does not generate precompiled header files.

-qgenpcomp and -qusepcomp will be ignored if they are both specified along with the -a or -ae options. Without the -qusepcomp option, -qgenpcomp is accepted in all cases.

Example
To compile myprogram.c and generate a precompiled header file for any files that have changed since the last compilation, or for any files that do not have precompiled header files, and then place them in the directory /headers, enter:

xlc myprogram.c -qgenpcomp=/headers

The new precompiled header is called csetc.pch.



Creating and Using Precompiled Header Files


List of Compiler Options and Their Defaults
-qusepcomp

W@ k̾`$} :7):#} ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptgpr.htmifm$ genproto

genproto

Option Type Default Value #pragma options
-qoption nogenproto -

Syntax

    -qgenproto | -qgenproto=parmnames | -qnogenproto

Purpose
Produces ANSI prototypes from K&R function definitions. This should help to ease the transition from K&R to ANSI.

Notes
Using -qgenproto without PARMnames will cause prototypes to be generated without parameter names. Parameter names are included in the prototype when PARMnames is specified.

Example
For the following function, foo.c:

foo(a,b,c)
  float a;
  int *b;

specifying

xlc -c -qgenproto foo.c

produces

int foo(double, int*, int);

The parameter names are dropped. On the other hand, specifying

xlc -c -qgenproto=parm foo.c

produces

int foo(double a, int* b, int c);

In this case the parameter names are kept.

Note that float a is represented as double or double a in the prototype, since ANSI states that all narrow-type arguments (such as chars, shorts, and floats) are widened before they are passed to K&R functions.



List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics

 kLJa$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptgu.htmifm$ G

G

Option Type Default Value #pragma options
-flag - -

Syntax
This is a linkage editor (ld) option. Refer to AIX Version 4 Commands Reference for a description of ld command usage and syntax.

Purpose
Tells the linkage editor to create a dynamic library.



List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

t lNb$1:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruopthea.htmifm$   ert "<>adghilmnops./=bcfu#_y-0Mvw%,13BCDFSqAEHOTUkxz()5789ILPRV24:NWGK0Qs%ֶ(9dZ m~s$gZأI`CI'8<`vAAAAAHW9dI9dȅ'H!EG@R97V%h G {5àBoNo8btlk@ !Ip-I*rRɱмz u2 J:!Iju jF*r$gsmbo8btl)ӮlF=+#ksFQ̑dBsɢ5sՑ Ox:H!EG@G& dMHQQg\n[x=:# )5ܜ*1 HܜQg\n[x=:# u7 \ B6G7up{d: m8btlk@,BBج5zF!IX6oNo:trp5P!IR5w'&7N#\T9Ӭ!MoCgDp׳\:`B)FY#ksYC#.lFΈft`(1pHs$mY2hrrje5w'&#QG1̚e;𐋭te[R652sɢ]ɪe'[I#Wrrj,]{,/*ʾexg|W%rQr'_9TTE2hrrj{uHܜ9_Mw'&$"]dԍ]ɪr,/~,s^U|Km弢Nrie[DBdjNMP$Mw'&C,"+&JFzk95Rԍ]ɪE9^Y7Wip^xg|W%rQr'_9T^r9e>W_NMP @P !#WrrjVNLTE2huˉ~^PNMPHEֺ2-T 4|/fܯ^1p͗׿]|k'ɾe{ .D/^|\~&JY]|Nrn}|VNgg|˓z>2WzȅTE2h`)eA?]|Ə._Km1Eȝ|^]ɪ%pHܜJk95^+&JFzk95Rԍ]ɪפ:|o~xLgmMNMP.4jNMRH\3 Lqqw_e[xe_9W̯Imܷ\UHQs$L4"\si<$"]d4ɷI3uɽ#n#S-G2F"$ =2]9dȅ'H!EG@R97V%h G {5àBoNo8kٮ(%o:gm&Z^phRH_vYCQF&r&qa :!@ o MHRH_vYCQF&r&qf }O \ۍNoyr'_9U#-I#s}eEțbK2h؇ \ɼ.<s]ˆq MHRh-G@QܸhyHft@{]!I#s}eEWP6iq}u[Z7 ~6pJFZ5sK\$t (ϊuMˆ הk@(okt)$bo,хΛ ؇ O S_9WL9[󃬥 FZF(J\abgD( r/xBKAmkӛkꑖ9Ҿ첇FJ+!tB2- \!2xO 02~px|.<9Ҿ첇FVX؇  +.O w$Qe:0R"bgD(C,!ֺE<| uw}uu #-I#s}e-6+؇  xLw$Qe:0ؓA]!Am4x6tvꑖ9Ҿ첇F } hc0<: ;uHRH_vYC a tWlCe[DF['nfsHRH_vYC a X؇  \!2xOBdl d&H9Ҿ첇FRtWlCe[DWp ȕ{g7CqmR2Ԓ1G7WݖPCjH]!Am]h'l'7&#-I#s}e-6]!Am]<9/ln>MFZF(J[md$WlCe[DWrDO On>MFZF(J[meQ]!Am]V rd{R2Ԓ1G7WݖPCk]:!Bdܭ rdNo˄7&e$bo,хLv>ΈPYAd<'˭eɇ7 wVN< mtHRH_vYC a -:!BdH\'.Û.<.V6$e$bo,х } hBd.sgx2$ dp&D$j(HpS I\{]W#QG7F(􍸣#jȅ9E$j(9첇@(8țbKخءI|[넎EQF|Vۨkȉ4+^R9^)#-G2F"l#;cco kXc$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruopthlt.htmifm $ halt

halt

Option Type Default Value #pragma options
-qoption halt=s HALT=severity

Syntax

    -qhalt=severity 
    HALT=severity 

Purpose
Instructs the compiler to stop after the compilation phase when it encounters errors of specified severity or greater.

Notes
severity is one of:

severity Description
i Information
w Warning
e Error
s Severe error
u Unrecoverable error

When the compiler stops as a result of the -qhalt option, the compiler return code is nonzero.

When -qhalt is specified more than once, the lowest severity level is used.

The -qhalt option can be overridden by the -qmaxerr option.

Diagnostic messages may be controlled by the -qflag option.

Example
To compile myprogram.c so that compilation stops if a warning or higher level message occurs, enter:

xlc myprogram.c -qhalt=w


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
Message Severity Levels and Compiler Response
-qflag
-qmaxerr

"top" kd$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruopthsf.htmifm$ hsflt

hsflt

Option Type Default Value #pragma options
-qoption nohsflt HSFLT

Syntax:

    -qhsflt | -qnohsflt 
    HSFLT | NOHSFLT 

Purpose
Speeds up calculations by removing range checking on single-precision float results, and on conversions from floating point to integer. -qnohsflt specifies that single-precision expressions are rounded after expression evaluation, and that floating-point-to-integer conversions are to be checked for out of range values.

Notes
This option is obsolete. Use -qfloat=hsflt in your new applications.

The hsflt option overrides the -qrndsngl and -qspnans options.

The -qhsflt option is intended for specific applications in which floating-point computations have known characteristics. Using this option when compiling other application programs can produce incorrect results without warning. See Floating-Point Compiler Options before you use the -qhslft option.



Floating-Point Compiler Options


List of Compiler Options and Their Defaults
-qfloat
-qrndsngl
-qspnans

ke$5	:7):#5	./usr/vac/html/zh_CN/doc/compiler/ref/ruopthss.htmifm$




hssngl


 

hssngl

Option Type Default Value #pragma options
-qoption nohssngl HSSNGL

Syntax

    -qhssngl | -qnohssngl 
    HSSNGL | NOHSSNGL 

Purpose
Specifies that single-precision expressions are rounded only when the results are stored into float memory locations. nohssngl specifies that single-precision expressions are rounded after expressione valuation. Using hssngl can improve run-time performance.

Notes
This option is obsolete. Use -qfloat=hssngl in your new applications.



Floating-Point Compiler Options


List of Compiler Options and Their Defaults
-qfloat

"9" kꢀf$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptidr.htmifm$ idirfirst

idirfirst

Option Type Default Value #pragma options
-qoption noidirfirst IDIRFirst

Syntax

    -qidirfirst | -qnoidirfirst 
    IDIRFIRST | NOIDIRFIRST 

Purpose
Specifies the search order for files included with the #include "file_name" directive.

Notes
Use -qidirfirst with the -I directory option.

The normal search order (for files included with the #include "file_name" directive) without the idirfirst option is:

  1. Search the directory where the current source file resides.
  2. Search the directory or directories specified with the -I directory option.
  3. Search the standard include directory, /usr/include.

With -qidirfirst, the directories specified with the -I directory option are searched before the directory where the current file resides.

-qidirfirst has no effect on the search order for the #include <file_name> directive.

-qidirfirst is independent of the -qnostdinc option, which changes the search order for both #include "file_name" and #include <file_name>.

The search order of files is described in Directory Search Sequence for Include Files Using Relative Path Names.

The last valid #pragma option [NO]IDIRFirst remains in effect until replaced by a subsequent #pragma option [NO]IDIRFirst.

Example
To compile myprogram.c and search /usr/tmp/myinclude for included files before searching the current directory (where the source file resides), enter:

xlc myprogram.c -I/usr/tmp/myinclude -qidirfirst


List of Compiler Options and Their Defaults
-I
-qnostdinc

c k g$<:7):#<./usr/vac/html/zh_CN/doc/compiler/ref/ruoptige.htmifm$ ignerrno

ignerrno

Option Type Default Value #pragma options
-qoption noignerrno -

Syntax

    -qignerrno | -qignerrno

Purpose
Allows the compiler to perform optimizations that assume errno is not modified by system calls.

Notes
Library routines set errno when an exception occurs. This setting and subsequent side effects of errno may be ignored by specifying -qignerrno.



List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

on a lh$i:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptigp.htmifm$    <>ert "/adgilnops=chm.0bfu#%vwy,-13DFIOPTkq2:G_jx578AENRS!9BCMVWLS_#Io-`t!jKPqŒ4ъbQb1n%rfŔiU,zx8H, g`^p SaRQbΤKo~*c?%Jc1ml`qV1_1U-_+H@QHԊ{H1ӌK@[BX:ORc_ԡ4ź=R4b5TbΫ[>xf&0kᏌYz!F/UF/7(ŔjD1f(,D8 {k`)X[$v9cAܣu]-b1ǷmZZŸc~iBSǹu"h cbar5(ܺjWKX qx~n1Z@BR&V)"ۦ/%P&1U-{v[>V1 ԉbVJL_XGԣUF/7(ܣu]-b1ǷmZZŸc~iBSǹt#.ɧXJ,jWKX qx~n1Z@B@yF_tpݷikᏯc pH$( H8p ij"ľǺQdԣUF/7(ŔjD1f1{@,5ڐ.QǹuŘe,[Xҍڛ&v,K{(jwh`A(J7jlڈ/nԢɩD21f1{@y{^wjD:;"& m-jX JLCD(1f1{@%qGq]yD(1fʼn|5tzryD(1gR%Ŀx1ml1{kc,c=;bΫ1Z@vFJ5TbΪ@D[v9}-o|5tz#ڸk5Tbr_1U cSJd@(Q:-ˏK[;r&D {=ˣLXqw/{1QF/V1aGݦENڼv1U@Źqk|q]S;jGK[(ܺ1̱w}"^/)QbQ:iz`|v1U@Źqkx089}LXqw,191ǹt JO`|kmK^J#./q]S$ȵ m#.p1QF/V1aGݧ(ݩF_P1n~\zZ A ĵ xfXc_"^/)7鏘=ˠbVJ{ɇq-mQǹt1;r&akKe{@oz8pU(ܣQۣŘP<ǹtź#.{# o꽱Y1cY)~ p̱LX.[߼L]!;ӗN+ȷta718 n$^"[~u2)-9E_ǹtn%r=ˮ#bw(ܺ}")Juw,v eH-bb/S!m p̱?BSa@k/b~u2)9~ ĵ x1ṮwBwI<1>7K6n%.Wq-mXyD(1f1{@ I0mQǹuŗ_㼘1 =xCv-po=ˠbVJL_ENڥ{]LXq{vD"߷F/2wh hc׉$8b Jd^QReы(׎~(k(k(;Ƀ|c׉$8.QŹ}-oq-m=,r1+%1{v% 1aS@[GI!XC$Q 1Zoۣ eSH1LYԉm/^ q[Lr8; 18 @ыF/c p (,%~88 %+n[1Z@@IőR'(2 |kcBu=\L KbȶgXnP9F/(cZ!Bu=a{p(7HY 輸R'(2 pѩB(pĪ Xr4|A0Ĭ2 S1pǏq󂙖>. byb> %xr4|A0ĬENڀ֘cǸLXrԉ1xf&0kᏌYz!F/UF/7(ŔjD1f(,(c;Ƀx-aORWヌp:JWqC$`/^ qBhŔ zhŔPas l0i$#!:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptinf.htmifm $    <>t "/adeilnors=cgpbfhmuv.0w#%-3FNOqy1:CDILPSTUx|,258G[]z!7AEVY9MRSǰ+X 1vUbZ-ǣDXъbȅTb,-8;jŔZUF)!cAh4 ?k,cBYb5(&Sm!3cmi)R8QĔ1V cA@ы7 1ՋKXC=lU(zʐu::`Ĵ[E:ORo$(M1(]J(ZV--aOpI5$kpǃgы(Q(Q(j1dF)6^R1c㭭%*S@[[R;@ =pmZZ1[p>--aOV c =Lnq!M1+Dnq(Q6-aָ {y'ث1QCP1-@jZV q\KXC=lU`(!L@&GE_EŒ_Q6-aָ {y'ث1`7%=TMXBG-B=ҋZV--aO@[#q$3W&|;sZb<CZ`Ćjb%0KZ{ Z\(jť!I* p  =Jxeu(XZV--aO@p:;ĕ"LwĮ1I 1. bh9r(Q(Q7 1ե!uREJ-TbͪI!{V-m:Ǹ-Tb.bŒ_ikpn7tє]ԢF/ڨ/jxuAqZ\(j:knT1@{J`v-[x}bI=ҋUpmZZ1[p=MJ.QjmTTV"Wke1 1F/ڴ8cZz%]ԢF/ڨZC5{R$Ѹ (Q(Q7 1ե!u$(E_PŁ<3V&8[,F*,q^LL:QjQpnbͫKXC8uIEJ-Tbͪ$u=F/F/(V q\SwD򋺔ZUFS=0}$2UpmZZ1[p=MAi]ԢF/ڨz؄:\|-RUpmZZ1[p=MAw(E_PEpb6X(Q(Q7 1ե!uRZUX:mvm|c>w& c(Q(Q7 1ե!uT1@ 1!N6a=^;ĒƮUpmZZ1[p=M s%u(Q6bZb$3WE_EŒ_Q6-aָErZUH~+>-0bC5qZ\(j:knX{]ԢF/ڨ-˂mvB%qNv\e1 1]UHfSDBSm!3cmi)R8QĔ1V cA@ы7 1ՅV cpQX$0cRB$09* p[c 18,8ǀm y'-!IcW M(-He 18,8ǀm",H&IMbxJ`p inlglue

inlglue

Option Type Default Value #pragma options
-qoption noinlglue INLGLUE

Syntax

    -qinlglue | -qnoinlglue 
    INLGLUE | NOINLGLUE 

Purpose
Generates fast external linkage by inlining the pointer glue code necessary to make a call to an external function or a call through a function pointer.

Notes
Glue code, generated by the linker, is used for passing control between two external functions, or when you call functions through a pointer. Therefore the -qinlglue option only affects function calls through pointers or calls to an external compilation unit. For calls to an external function, you should specify that the function is imported by using, for example, the -qprocimported option.

The inlining of glue code can cause the size of code to grow. This can be overridden by specifying the -qcompact option, thereby disabling the -qinlglue option.



List of Compiler Options and Their Defaults
Options that Specify Linkage Options
-qprocimported
-qcompact

 kꤋk$8 :7):#8 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptini.htmifm$ initauto

initauto

Option Type Default Value #pragma options
-qoption noinitauto INITAuto

Syntax

    -qinitauto=hex_value | -qnoinitauto 
    INITAUTO=hex_value | NOINITAUTO 

Purpose
Initializes automatic storage to the two-digit hexadecimal byte value hex_value. The option generates extra code to initialize the automatic (stack-allocated) storage of functions. It reduces the runtime performance of the program and should only be used for debugging.

Notes
There is no default setting for the initial value of -qinitauto; you must set an explicit value (for example, -qinitauto=FA).

Example
To compile myprogram.c so that automatic stack storage is initialized to hex value FF (decimal 255), enter:

xlc myprogram.c -qinitauto=FF


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

 l.l$!%:7):#`./usr/vac/html/zh_CN/doc/compiler/ref/ruoptinl.htmifm$   >einot /3$`Hp CH: KaAիK7XƬ*0XycՏVP,HPЃЃHebFh]BCB‰JǑ#-Զ, 4)~dqBe\$)%aRtAդpղ#n4ox-l)lH΢ѣ'Hԝt NS&tM%ՊdX%Fǖ1 ǖ1Xe ,hAZAդu#7jEX7DibF (hSeB@ ݬREBvYPHebFoepղ#n4n.Č  6IYa'HZG[(0{.UqqtF$`h44(TZbn[*"RuЃЃHebFoepղ#n4n.Č @PЧʀ%첡Rdcvԙ2"ilHnQV$mƍXPЩ2T*Y)2d):D :EXp5lHۍ4#A)I!']:ɄSaOe(>aKeGR[:L a[Vʹ/UD;2[RwaI![_ e\);2%N)2d+v8 Al!I݅Iص/RwaI![_ e\RwaRd+vFV;ɐ/^Uz K]0" ͘Au6vYP sq]Tu t ^lI>[[VGySrY\uh9&Yb8l+e㌒=ۏ} dFO"[6EY_-]_Ae.'d߆O$k-(JVʹ GR[:Ÿ*6^]Tu t 철(2r]T|n_M 6VɽA>=Oe@%I~,ݬ KaAGYVʺ/k o!sd}~Oݬq׻&7~Vʹs6~;n0?G5ϠceGR[:[ֲ^_lq7hot/eWe?]T KeGe=vG m2\\N8edD7{0~nє^XtMysN;`xu?]T5l%철'철r]T:*Fr]Tv.5eOHxq.u=lgSe@Pe[*I~,AYo[>r@ծZG [(6F,H$7Al*N*LnƖyxRdV N):D 8jEX4F{(ߗceqRղHϳL.OXO~dɽ0=Z㼆}Ω24Kɑ}.y&Yq>r@24Kɑ5O_n>e*\#˞DY5l6}?p+n! [ ?]T/euceqRղH<~I>[pBHK\?]T [*I~, AvYPʹR_*~;철e\/e?BCx<#Kta L5l6zT ¨u&8#n^[>xm? }_rk'`wR[?nX&p Aް('p^a`W @7~dɽ+wL = +H72PԝRZI!']?]?QV$mƍXH(ox-l+v*W!JN*[k2^“PAԝRtAդpղ#n4h<|1w#%}[*m8Y&GRչ{>V9}U%IKAeOe%철3.k]u/e$k-nVʹ G?ƲOeAl%철Bu%VUB-Xt!͛|*nIz K]0:|cep^>}#첡b]T~,ՇKԗʀʉlKe@Ou?]T k^]T TUǾ2Du%kuՕ̗eO{͒98I>[tAȒjW\3/~,)/e8\n_ʗ?]TUTʁM;rk$'-B ͘AMt·`(2r@8vf/ue;?)8@0لMklg$k-dvYPNa Ke@OSe@.^]TʀՎ%첣qSW$z' A̲?.ce([*ԖŭVW2^>6H&YoZ5"I=_ pɦO}-{I5rGnwVʹ GR[?e :|ՕT[RdAVdG>]_=Kta5l6~2fY\]i}OeAl!I~,T%L?e\Gh~I>[p;9f5KaS]0 e\ RwaIk6 3Px;-Mt·`(2r=l[ڰx8TܓZ'vaS`uUF[Ԛ$k-dvYPnR_*P?]TjåKe@Ou?]T k^]T}TU>Ǿ2BzyK ?ˡce|`AUՔ#˧Q$~>ue|'rMIl}N?:AZAդpղ#n4n.Č AC{n[a[VʹRwaI!VV*čѠfO[P ԝ"RuЃ:LAu6vYP+5]Tu t $oϮe\Ghue|K|1pO]Kf˾7k-K^5|GwR[:Y?y7k/ۈ?Sr$Qzq/k, l}}[*IeBe@O{#!KʀAI~,ݬn ݣ(#l}}[*䀟7wR[:L a[v ~pʶUʓ K]0" ͘Au6L`{]9f>\%{cusղPrML}-w`ʹxOp;-P`sfS]0` r? 8Pe[*H,’L H`sftEtZL+DHcqj"#ǖ1Xe ,n.Č  ?]?.Č`Ta]H&YRN $n.Č 0n\E葀8СNKI0 ,yn#HhNF)1eW֗g'<86.RW l*+É@ы*^)U7DibFr/Dƅ t _-HNM[w4ep>W$ fܹzPB$@ztn/L4h3jvD+%0$aF,zlK $n.Č Ar/Dƅ t _-Hn7X^ h:~'ci7k-vB.i Vk5JB?t$g` ;ek5sA1wL 'a$)+ t _-Hlm[w45l%pԾ[#8ڶ/L4h@e\+#|I"Fql^ h5l%pNKI3L^ hRPB$w ;%pNKI3a ;JR[?B#Uq{n[aMebFu^%:D Rub0l)-RnD BDHci䏖<^ͼD pF!"&YRT( $n+DHcBAԑX@| Izc! lؒm$\:7):#a3./usr/vac/html/zh_CN/doc/compiler/ref/ruoptipa.htmifm $   eit <>adlnors"/cfghmpu=bw,-.qvy0AIPSk%13FOTjxz{}#&25:;CD_|'()*ELMR[]6789GNUVWY!QXHH,xdYm4Ch|P̫- .H:JڤIR)At[eTb5նTblRC$w(0 {BÊ@P( Z$c鵈lL ZS((\ykbbǧPPeP( ER0Ŷpqm YA ( I( RH{!cqW [B MI^!ŷ*2F-#Z1@ZlRf.-wGJtkpnE6q]:Nrnc׀=9k Ae>!#k̃ɂ n1bA|5\@#,"qYf&1=Ĩ$.ZF%AI ؤ#\kXʐt< H̠ :LP pR1At`4 :J1A %]sT0R!|0((\ykL[N$8,\ykbbǧPPApRf.( -Ko0\M2(TTF-p<&R4nq*H km.bD8Rcp{P 2HѸ=ĩ#[k٭K<mL$Ub5H?mbD8Pt,6 n-$kbpR5pqG\\1m\[yiPq@1iؤ61m\[y=bcӮ`d<-ܶƣ)!kӉJBŤhUKTM.%d[q5ARcp{U9m7$fҐT 4nq*Hͥ m)1=Ĩić5 6ZͧS憅`qȘ5L`$z"{:2>9q!IRZͧHtjr˔%L,HZ4R1@$z":Yk .j7\=ރ{Nm:B1%L' tG\'Kf 7L,HZ3,9Ӥ:d9eF &KS\i-@FeKq=Sx,L\r͵FAe.͍}'6,ĕ0\=p."2Z#Ij HbNm:C-N4%#2ԃP)n&cSƁEDz}:cp{PHI7 2͌Ƿ웘N4rsi҃ b{~d*mbQ*Y(?Qib&?׉yfSf6;WfMdL\B h `#|18ir(?cdu7cp{U9m7  HbNm:CP:dFHZ3-H?X芘TdÍ3FAoJNm:X*a:dFHZ1m6udNf 1=ĪtmVp{PVQAM.]}Gl.f47TLnq*6!m#FIR ؤ#\6m\Q0 [h`.jF)MIcTڻL,HZ$jr˔%H̵ c2G*cmFKUE]4\=]}㼳)MYX0 5eL:ڻ |2 pOtq5eS*jkq]9n$L;~K^!m XB3#1A5H?F)MH?mD8ˮ`..-T\"&ԍlRbƩK-MhtjrFԑjA(dDTDzyE"lKrs m65*vI 5C%GͲ-N=x#1A),j H̵ c1Ө\Gf/iOvb &Řt1nf \.bVR RA5H?n Al%]spŶpqm 0kb5H?Yjkđ -NYrA )KP&jA(dDTr˘# tGUVNC{z"q:qeЬ*c8k{ 2[Za)nciĄw!ӪmEwOrAV8,l-a!T1p#2& /\na q;f1Aet|1ǷTr pOtB3#1A5H?F)MH?mD8ˮ`..-T\"&ԍlRbƩK-EcN$:d. ۔%#2ԃP8eONx`$Sἄ1{?IZT${[[IZ pOvc0 3,T^ܱ#2ԃPk{*+c>T${ho "a.PZ nR6cq1 ߆ThCe tD+ pOtq5ȃR,AB T\'\bir߈2Z/jX RZ6jA( 5=ĕCKTVDi-Z2Z/jX s1%Pl~NeBGm8eXcB= ІAV-F HZ pOtu/Xd~,Ce\o]V e.H̵ c;$7tB8.J?&7 SGNx`2Wtd>kcj5;p{B8N&azws㼌Dbk+u8㔷9y|%oA-Be63ħb'mW,d7O0/]N'|.!ZF1H?Fcf5H?F)H )M[hyu%ŷ*KDAlRX ea!%.R4H!2Z#Ij3-H?X芘Qia% tGh?;x,lVVTF-#F\=fa%,"tjbFԃ%+"R4nfYϽmeJN6φR'2Bd${F",ܺmhnœN] ІoA[[0 HbƩH 7 km.bD8P pR5H?mK,EdHtjr˔%L,HZ4R1@$z":oydEdJFՐk{Kpϼwe6Y+Lnq* p{PRYk{e@nK^!m XB1Zw>㼳)MYZcp{PH]J3#1A5H?F)MH?mD8ˮ`..-T\"&ԍlRbƩK-Fptjr˔%L,HZ4R1@$z":oyd{%KVAe.w>Yf&1=Ĩ$.ZF%AH?-{=Rq%.HZml{~*a\wȘ5ei%A!tb4nq*e@nK^!mA Xu ,p$)HjlR ApRf.( -Ko0U5#[ؤARdM,HZ3-H?X&=;\#^E6q%Pcֺtx!]=?8=;_$z[raXTSg!-v{*rּM8C^8<,ܩI((+.L„rAd. ۔%)KP$KS\i-@]F4pd. ۔%%wpܤi-@!W>-NYrAd9eF ;^$H^L,HZ 2Z#Ijtm8}Ytjr˔%%.R4O<2Z#Ij4jr˔%6!6T&%=kDX)$4tkDX)$4;M, ׸ϧ6:ӛN>-NYrAd9eF KS\i-@F-NYr`C%| -mnrixڸ8%FtSI$i-IJ!kT *a:d. ۔%t $cdRҤFm)KiMx!!i-{%-EdJFm)KiUw,Hͥ m(a)# R ؤ#\kXʐt< H̠ :LRcp{P4F%ZDAH8l sco.v1F.EwOtp{%Ӯ`d<-ܶƣ80 #ILnq*;bp{VRRҁ^:ƉuCޜ<%qwe5wOwt\r.AՕS7ы@#F%[̺{864P`4ħb'mW,92`CZ jƉrۀĕC9  s0`49Xol٦uqK1\r)#6um8@#q+f&A u1BeN;20xk67ˢl'xk͌N)wu\o]TYs[+nT3vT㼳)Y+ 8$fҐys4lq%PkW&ovTyqXn"wt]2bV XF3-ao" $#qamm+Dih/6TVReNTJF%X,lMnlM[Zbko {cramm$fҐtAbt1 @fRRҁ!-ˀndy65ngfJ"H|'M+Lnq* p{V.Dc=80 65u%&.1ˑ[%R \f8,ls6Ӂr-%<^\㼳)N +f 764{*t1a{HѸ=ĩyOpRFm)Ki@$z 7Lnq* p{V.>AyfSg[SrdwSˮ:1:AG+y^>1 &yOt{NeqtG'-lbm.vTAeFԃ̦15ei%A!tb4nq* y̦AyfSfm,6 n-t ʝ1=Ĩ)7dSd+œNp>HGeNTF-#F]=63x, M]ݼʞ]u Aati#=Atk 鵈lL ZS( Zؘć.&e T61m\[yiPq@P*Jp{RF)M [h`Hdy l#SAyfSWti%A!tb4nq*6l@pp+[rbf>η-l_rbA5H?FlHfH:T@1p{VR?M|fMj02Xln[CcQ0F1H: x_r&)7j>>xы" A2a!OBI C^8<,ܩAbL'G" hHH$.XvI Ba! @ ,#]##k :Jt6 CɀqABZbq! -lLXC L@HApRf&e$U&'(PPZɘa-Q4@eP(bMU" +ʄX-o0U]Fe6a]= qSP|[qHRDAH?W 85[^8QVX*.RE:{*P̦04@#{ X*@q`k̸U- rFZ" AҼIŁ2 *PH]9HRDAH?W 85[j!EY`"` mF2ԑAl%ŷ.牂RL%ŅU1A5H?F)Hֱ :LRF1H:BH(PPAC̦L9}U*E((`1Ђ04( \CɀqAB#-H:FHYmR-mn kn$k:7):#k./usr/vac/html/zh_CN/doc/compiler/ref/ruoptiso.htmifm $ isolated_call

isolated_call

Option Type Default Value #pragma options
-qoption - ISOLATED_CALL

Syntax

-qisolated_call=function_name
ISOLATED_CALL=function_name 

Purpose
Specifies functions in the source file that have no side effects.

Notes

function_name Is the name of a function that does not have side effects or does not rely on functions or processes that have side effects.

Side effects are any changes in the state of the runtime environment. Examples of such changes are accessing a volatile object, modifying an external object, modifying a file, or calling another function that does any of these things. Functions with no side effects cause no changes to external and static variables.

function_name can be a list of functions separated by colons (:).

Marking a function as isolated can improve the runtime performance of optimized code by indicating to the optimizer that external and static variables are not changed by the called function.

The #pragma options keyword isolated_call must be specified at the top of the file, before the first C statement. You can use the #pragma isolated_call directive at any point in your source file.

Example
To compile myprogram.c, specifying that the functions myfunction(int) and classfunction(double) do not have side effects, enter:

xlc myprogram.c -qisolated_call=myfunction:classfunction


List of Compiler Options and Their Defaults
#pragma options Preprocessor Directive
#pragma isolated_call Preprocessor Directive

@pp+ ko$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptiu.htmifm$ I

I

Option Type Default Value #pragma options
-flag - -

Syntax

    -Idirectory 

Purpose
Specifies an additional search path if the file name in the #include directive is not specified using its absolute path name.

Notes
The value for directory must be a valid path name (for example, /u/golnaz, or /tmp, or ./subdir). The compiler appends a slash (/) to the directory and then concatenates it with the file name before doing the search. The path directory is the one that the compiler searches first for #include files whose names do not start with a slash (/). If directory is not specified, the default is to search the standard directories.

The normal search order is:

  1. Search the directory where the current source file resides.
  2. Search the directory or directories specified with the -I directory option.
  3. Search the standard include directory, /usr/include.

If the -I directory option is specified both in the configuration file and on the command line, the paths specified in the configuration file are searched first.

When all specified directories have been searched, the directories on the standard list for #include files are searched. The directories on the standard list differ for the two versions of the #include directive. See Directory Search Sequence for Include Files Using Relative Path Names for more information about searching directories.

The -I directory option can be specified more than once on the command line. If you specify more than one -I option, directories are searched in the order that they appear on the command line.

If you specify a full (absolute) path name on the #include directive, this option has no effect.

Example
To compile myprogram.c and search /usr/tmp and then /oldstuff/history for included files, enter:

    xlc myprogram.c -I/usr/tmp -I/oldstuff/history


List of Compiler Options and Their Defaults
idirfirst Compiler Option

H kbJp$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlan.htmifm$ libansi

libansi

Option Type Default Value #pragma options
-qoption nolibansi -

Syntax

    -qlibansi | -qnolibansi 

Purpose
Assumes that all functions with the name of an ANSI C library function are in fact the system functions.

Notes
This will allow the optimizer to generate better code because it will know about the behavior of a given function, such as whether or not it has any side effects.



List of Compiler Options and Their Defaults

e k¤q$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlcc.htmifm$ Options that Specify Compiler Characteristics

Options that Specify Compiler Characteristics

To: See:
Specify the language level langlvl
Specify a different configuration file or stanza F
Specify path names to other program names B
Specify program options W
Specify a search path I
Specify if char variables are treated as signed or unsigned chars
Specify the use of multibyte characters mbcs, dbcs
Change the length of tabs in your source file tabsize
Produce ANSI prototypes from K&R function definitions genproto
Specify aliasing assertions alias
assert


Invoking the C for AIX Compiler
Specifying Compiler Options on the Command Line
Specifying Compiler Options in Your Source Program
Specifying Compiler Options in a Configuration File


List of Compiler Options and Their Defaults
Options that Specify Debugging Features
Options that Specify Preprocessor Options
Options that Specify Compiler Output
Options that Define the Compiler Object Code Produced
Options that Specify Linkage Options

 l]r$:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlco.htmifm$   >t "/Ǹ lKfT@ d0&.0xJZzA֫ Ǹ @.N{p@XR3amp{4eM X,-IRN*m T4B&RN*m ThYan2M:XieM \,-I:ZzA֫ Ǹ @k-1`6&0hא%s s h[ ?<$֫`*Fl-Nq07&̩S3c+$ dXW:Asv>q07& m-$ŪǤv>Ǹ lӇcLMI*m T4B&Rc\]ΐv=Td#3q\{@`*Fl-Nq07&̩S3c+!VX[PZXieM YB&S)aH?ٕ6*flef d0]RN*m T̙be4d,FZK :A̩S3c+@Yan2Msi S)aH?ٕ6*flel,-I]je,4[2L͌0B&-je,4[2L͌DB&.2XW:Asv>q07&$ќ@NcCn#&22[L1ŪǤv>Ǹ lӇcLMI*m Ty"e4CJZzA֫ Ǹ ASieKLZzAc{8v=Td[2L͌d!VX[F)M2tSifV xYan2MVRc\]ΐv=Td>).N{gۑfg$ќC>F4;f Z]qLlM`4Mmj]&f4SqilʛH362be4SkS)jZtH?|;`*n2MK}h'=mFP4jit31h!f[gэٺV[&ݰ&6XR3amp{4eM [g1 d-[g5XW:Asv>q07&"3--ZbccLHͅiñ&$ٕ6*flene4XW:Asv>q07&kee7l2#L fT@E[ 62&0Yan2MI8@%ly[7C<"&fyęӤlʛH"afV1U$D3 t \03t6`с$ٲ`g=S)rs&0E8fB\BpKH2rJRSK :A̩S3c+y!VX[@1_0h'=n S]< i 5bXieM [B&n ^&ph'=Ad5n21S)aH?ٕ6*fleo0Yan2ML"MSCI.(?fRN*m T(U$<с$ќ@Je8 y[RN*m T* qhVeSHtMA\ 5qњ:XieM [!VX[@FvS/Fq8 t %?<сS)j UH?|;`*n2OfR&n$M~JǤj[=-R[2H(A4K٨hfP6!VZin,Ɍ*DBZbK4D%' يTA֠&u-  lTs$:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptldb.htmifm $   t "/<>aegilnopr.=bcdfhmsu#y0COSvw1DFMPk%3LTx589:GHIj(),-24AEXY_zYV\X)!:qs)pGCw k ?9m\bp:SCtcLqEH`@ ۀ!AF-Tb4]:ꊐd1H"xN;('dp" ```,Aub# l` (Tp`,Y@CLy-¥be:!NԱm*ntK" m4p$>pƽCf-DVŨ!?d1]60|MΉ0]6UTbY A֫u4\]Q:hv4C*@tcFD$R4xI,Aub!29=TJer{!?,ˬ%j29=Uj]Ո?2 a'r4]#2fwd.܃DΥ9dκ̺OakQYZ 6ҷU,[rEMM.0YatK# 8 k֦jWV 뺱]60|MΉ`* ݐ :ۄ:29= F]g'j>BwJTM!SsXUĊ:[!VXkǭMbd1ZAub# l` :2g\&c4]M.g`i`Lj8( %b#l` +uS60|MΉbەW*jldPq (BD>S*$Td* sX.'ۈF]g'jk 2JŪb#l` +uS60|MΉbەW*jlp}* sYʕk֦jWV Uh:]hu! tcFD$R wF&QO E*@:XvF,Rtp-T"[^'Gp" `T:*HK5XUq"A<;f(sKqd \1|$P? shb,j[rEH(ywRPQ \\\M{t!SXmʫ"!K1C[.O,5Ή`%k':Ae`cp]\\nm ZыǫA>.YB T:*HK5XUq"Am0bY2?9MGV\1jk5XUq"ΗLB:%NFvSo !U]JwdR95AܪSSgK,5Ή`E.hH|euPn,j[rEMM.3B:%NFvSoIݔeupkd;Vd;ZōV nU\Hbe,r3xM< 0-rKb-TbY AdaM!SsyL.M*kigUVCj1AF-TbUq"A euT<;f(se;-,\ ~eG"T kb X#JqRQR -Mb 2Z * l t$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptldl.htmifm $     <>ot "/adegilnprs=bch.128fmuvw%-0Ly#,35CDFOTkqx()BN|467:AEGPSU_9IVYjzc9)vs5k췬(ߐji/e']eԒإsQ8KJ@ }`GH@,,,,,-ctsV[$Bc-nH@Z9L{4r ,,%sl_!Gd PXJ.] oB')r]+CB7"޲^ H9WI{)"tsuvs֯SȣQS9/I]IYIYsTn9jrrKd@rK[ G)|⢝Y}Os`B d5G!Gd @ EY`786,t No=́)IrnE{@ %D-5s5n}Os`B d5G!Gd  E6ъ9:$No{S!8=́܊8/K!(J.6‚ ` No=́)IrnE{@ % zx":9W6 CY$q{q^BX`, $U'Wg7vVsRuDs  PF=A1ɗ[A+|(! zx"‚5x4|(! ~AX H( C  H,CP @`='v1,97Sd`(le&{,o2`M[<|{,m^LYس 9 g8".هsTn6N=AvYIݰql=A~A d;yc:z =d@T #sTl*&J>3X9b䷈((o s/Rg6œŲlq2T{,1Zt_pxٳ-+]`ǻK[=Oem*=AsLhn6/(@T =AQBem`ӘC1P7ϥ((oM w*Ndatz }&{,n`]#^t>Ø^==ooI5j{99%D B9L{⥭iǾqQNH@Z,YZ_S^SȣU% ` ~8aD@Sdo7Rg6'K!`G!G+8 J,@AD}Oem ӛx4=A:]IY|rnESda&Joemuvs֯SȢ{,l_ŸI ۧX=YSdyvCg6:9W)lFQu=AdLY'Wg7j=́܊.6!-) uIu=Ad=&{,n;+9Vs֯Sȣr${W_!Gd H$%$No{q^BBQoq EW_!Gd H$%$NoYZ9Os`B7"=@HJ-$ W_!Gd H$%T':9W)lFQǹzY EĂ  W_!Gd H$%P"?I[+9W)lFQǹzY Eĕ"Cuvs֯Sȣr$ yX2/`Guvs֯Sȣr${+E(:'Wg7j=́܊8/K!A!("D :9%쳘ctǻKqE)!?%I̟[ sx% fE=Azi/e&{,n|9PȽ~|7Ņ8Xo K I ~AGӚ2ō)l#&-j{<1هsTl[=Oem^ HLYl2~6h @$ H`$U&{,l9I5FųY2SF+u g6&0l1bsy&}-[==Vc![,K-C_YJɂDuPr`r(lu -[l3l9X2.{%+ ųbƔUtLrd"Cr:/F" }%WIZ9Os`B7" %F=Os`B$旨&6suvs'eg5'TKg1QLl9\0Y!ä=IYJ ]8c|Q!åM0kTCC-!hJ椓 ^} kru$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlin.htmifm $ linedebug

linedebug

Option Type Default Value #pragma options
-qoption nolinedebug -

Syntax

    -qLINEDebug | -qNOLINEDebug

Purpose
Generates line number and source file name information for the debugger.

Notes
This option produces minimal debugging information, so the resulting object size is smaller than that produced if the -g debugging option is specified. You can use the debugger to step through the source code, but you will not be able to see or query variable information. The traceback table, if generated, will include line numbers.

Avoid using this option with -O (optimization) option. The information produced may be incomplete or misleading.

If you specify the -qlinedebug option, the inlining option defaults to -Q! (no functions are inlined).

The -g option overrides the -qlinedebug option. If you specify -g -qnolinedebug on the command line, -qnolinedebug is ignored and the following warning is issued:

1506-... (W) Option -qnolinedebug is incompatible with option -g and is ignored.

Example
To compile myprogram.c to produce an executable program testing so you can step through it with a debugger, enter:

xlc myprogram.c -o testing -qlinedebug


List of Compiler Options and Their Defaults
Options that Specify Debugging Features
-g
-O
-Q

 k:v$:7):#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlis.htmifm$ list

list

Option Type Default Value #pragma options
-qoption nolist LIST

Syntax

    -qlist | -qnolist 
    LIST | NOLIST 

Purpose
Produces a compiler listing that includes an object listing.

Notes
Options that are not defaults appear in all listings, even if nolist is specified. The noprint option overrides this option.

Example
To compile myprogram.c to produce an object listing enter:

xlc myprogram.c -qlist


List of Compiler Options and Their Defaults
Options that Specify Compiler Output

 k(w$3 :7):#3 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptll.htmifm$ l

l

Option Type Default Value #pragma options
-flag See below. -

Syntax

    -lkey 

Purpose
Searches the specified library file, libkey.so, and then libkey.a for dynamic linking, or just libkey.a for static linking.

Notes
The actual search path can be modified with the -Ldirectory option. See -B, -brtl, and -bstatic,-bdynamic for information on specifying the types of libraries that are searched (for static or dynamic linking).

Default
The default is to search only the C library (-lc).

Example
To compile myprogram.c and include the Task Library, libtask.a, and the Complex Mathematics Library, libcomplex.a, enter:

xlc myprogram.c -ltask -lcomplex


List of Compiler Options and Their Defaults
Options that Specify Linkage Options
-B
-brtl
-bstatic, bdynamic
-L
-l

br>  lڵx$:7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptllt.htmifm$   nt "<>adegiloprs/=bchfmuv.0wy%-13Fqx#,46;CDLOTUk578IP!&9:AMNSVX_j|2@X\Ya@qBXaE]&üQYGIl;b%ZLSEľ׺-Ę)i1LT㴈>04 A0HHHHHIӘ*" *-C!|=Rh >CD:1O9vHN$T6='œ$cI҂A@hUC:<%q :P/5 i@b[ZL_Z*{C*)Du=͡'4:@Imi1-&*$1QX1QjDŽ pYK[!|M'IL_Z=͡C*#T6='œ$c@$DPbqb(w(SRmi1k69 dS r쑎 N1!bJ!t[ZL_Z=͡C*#T6='œ$c1t*z(֓ܒbOshcʶH=͡p. :Q;),P F @ kI^1e[$|JǸDSdp`0t kh֓OshcʶH=͡p.`$ [ZL_ rImC1LTE(Ԁ@]Zw(SSX1Q1(OsM{>׺ v 1&)B"Q؁gr5:LP,SY=.,ǰt+u`H ׇ1fIZ[ '3'7 X1Qw(SRM jPPt+T^{u/ SY3gaqgڞEL@`{K";U\%W@Cd6K; 4N j]Vgr5<$ܡMN" jB,Rb@YS{Pg2`=.,ǰt*|Y Аv,/Ys,)N^&/Yw(SRS^@BBVEh)1LTBؓxIl!|T1a'c8SF8IbN%Oshc"t8HI'1:@Pxx-I'1:A@š_ۡ[)C@JL_ rIL_Y8=͡p" 0gؽl! dES2>%Oshc"tͦ/uZL_5&/L^SP-&/-z!l*{Cnm1{M@I" kInI1rI'1:DT {SK% dES2>%Oshc"tͦ/uZL_76hI1$*nm1{M@{CUGĩm {N5&/L^SP-&/$E&/,JǸD阀b%I^1e[$|JǸDSsiVEMͦ/|)֓OshcʶH=͡p" kInI1rI'1:f 0gؼp%I^1e[$|JǸD雛L^SP<$Hc(I1P(XZLT MzLP h ky$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlng.htmifm $ longlong

longlong

Option Type Default Value #pragma options
-qoption longlong* -

Syntax

   -qlonglong | -qnolonglong 

Purpose
Allows long long integer types in your program.

Default
The default with xlc, and cc is -qlonglong, which defines _LONG_LONG (long long types will work in C programs). The default with c89 is -qnolonglong (long long types are ignored).

Example
To compile myprogram.c so that long long ints are not allowed, enter:

xlc myprogram.c -qnolonglong


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

 kpz$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlo.htmifm$ Options that Specify Linkage Options

Options that Specify Linkage Options

To: See:
Name the output file or directory o
Search specified libraries l
Search a path for libraries L
Produce an output file even if not all symbols are resolved r
Specify which types of library file are used by the linkage editor brtl
bstatic, bdynamic
Generate fast external linkage inlglue


Invoking the C for AIX Compiler
Specifying Compiler Options on the Command Line
Specifying Compiler Options in Your Source Program
Specifying Compiler Options in a Configuration File


List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics
Options that Specify Debugging Features
Options that Specify Preprocessor Options
Options that Specify Compiler Output
Options that Define the Compiler Object Code Produced

n l`{$":7):#0./usr/vac/html/zh_CN/doc/compiler/ref/ruoptloc.htmifm$  ot "/<>adegilnpr=cfhms.uv#by0COSk(),-1Fqwxz%238DGILPj4569:MNRTAEUXYQHDbbSMo4gŽDIlX@ht遅k}1Rڶ(1RL -B!4 @4 A I՘*dJ1LT "COBKcpI[%COe!H$F/nj1lîtD=ԏe!H$I)#TobCo\+!u% P.V&/h'ۂ> U100bP5FԔba"G@|%&ZDCί҉(J-1ҋT1S%%Qb66b >+a -|\! |\!'Q_nu(҂nu)((MI&Qrh.RQlQ\b6:DCHI`n;ix~iAANCyQlQf=6ٟ=R:ya0+P =u#p+PJMF/W6!kGu.b-I_mC5J4BdHjP%EF/nj1lîtD=Ԏo7ku>m]Y\qBI\1(&Qrhu)EF/mDCf|:DCHJфJأ(MF/mu Ex;cs\ <k:_iNų]Rb_5uԕͣyY$H(@=ԎHP%EF/nj1lîtD=ԎPDޥo!o[bٮtD8gîtD=ԎmC5JXGu GjP$"j1Ҽya0+[{ GRR JMF/W6!u+ =u#u+yZ-I_mC5JdHL RB&+ǛF RaGu>KJMF/W6!a0R:Fu% RQlQ\b6:DCHmfnS!v v&QrdsF/1d." |][bٮtD8gîtD=ԎmC5JddHP%EF/nj1lîtD=Ԏco|`.V)EF/mDCf|:DCHJф-Jأ(MF/mu  'Λ\i)EF/mDCf|:DCHJф@أ6p{!lm>p{!u%xhaW@(@=Ԏ0"`)BԔ[b5鹨M=R:cSnnu*p|m(&Qr_ IJ-1l"V3"GRW6!pdHEШ(Zb_75a"GP1A64)v >6bI/[bٮtD8gîtD=ԎmC5J`{ GPJP%EF/nj1lîtD=Ԏ k Zcr^((M\q[lχ\{I^<0jD-%iBԔ[b5鹨M=R:hRw*|o[$k+cmu#+ǛF RAGu ] RQlQ\b6:DCH6hwCd.@ML_I%Rb_5uԕͣyXРR:.҅M΢`pХ؃L]ERb_75a"GP .knaI6- J-1l"V3"GRW6!cBdHJI7:BbEq%(&Qrأ(MF/muM"Ab_5uԕͣyXРR:.҅M΢`pХ؃4-(&Qrأ(MF/mu mc|]rEy/BI\KEL_f}Dأ6p{!lm>p{!u%xhaV4((@=ԎKjs@X4)v$b%.P[b5鹨M=R:Sm޸XХTً@VQ%((M\q[lχ\{I^<0j =u#h]rJ((J.j1sQfp{!uų]|]ʟ |1naIJ-1l"V3"GRW6!cBdHJI7:Bbnu( J-1ҋ_bه\{@:mDIv7[x"}Dأ6p{!lm>p{!u%xhaV4((@=ԎKjs@X4)v$BPM΢)EF/QsQ_0u#A˶BoS{A M:CRb_5uԕͣyXРR:.҅M΢`pХ؃Ts@JQlQ\b6:DCHmfn dQ(5rQlQf=6ٟ=R:ya0+h!aGu4G RQlQ\b6:DCHTK{ @kK큦[x"}E((M\q[lχ\{I^<0j =u#pzJMF/W6!k!Gu.$pzJأ(MF/mu"zE]x7S[[bٮtD8gîtD=ԎmC5J(Zb_75a"GP yn(4oEL%((M\q[lχ\{I^<0j@(@=Ԏ((J.j1sQfp{!uB ػ^xPSDv%k+cmu#+ǛF R.dHbpW+bo"U;k((J.j1sQfp{!uB mu…\Jm`_ƀk+cmu#+ǛF RLPR::*r %S 1:4A>)BԔ[b5鹨M=R: knn-1.1֮M RB&+ǛF RJdHQ'x2M:mVMOQ%(Z5^<0jZ =u#+}D]4W> r iBԐJф Options that Specify Preprocessor Options

Options that Specify Preprocessor Options

To: See:
Define a name in a #define directive D
Undefine a name as in a #undefine directive U
Create an output file for use with the make command M
makedep


Invoking the C for AIX Compiler
Specifying Compiler Options on the Command Line
Specifying Compiler Options in Your Source Program
Specifying Compiler Options in a Configuration File


List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics
Options that Specify Debugging Features
Options that Specify Compiler Output
Options that Define the Compiler Object Code Produced
Options that Specify Linkage Options

f k}$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlso.htmifm$ listopt

listopt

Option Type Default Value #pragma options
-qoption nolistopt -

Syntax

    -qlistopt | -qnolistopt 

Purpose
Produces a compiler listing that displays all options in effect at time of compiler invocation

The listing will show options in effect as set by the compiler default, configuration file, and command line settings. Option settings caused by #pragma statements in the program source are not shown in the compiler listing.

Example
To compile myprogram.c to produce a compiler listing that shows all options in effect, enter:

xlc myprogram.c -qlistopt


List of Compiler Options and Their Defaults
Options that Specify Compiler Output

Spec l~$P:7):#r./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlst.htmifm$  <>t "/adegilnopr=cmsfhuv#-.bqySkwx,0ACIPz*12DFGLOT&()3468;NRUX_j%EW'+59:BMQ!KY$[X[9ثsӅsƢB͢Bh) I[U@1ATpCU28("6Ǔ-NHM$ |b 7jCP F)&'$ڬJ!QT K x V9b !(ME'hN b!616C( j^C",C@HU4:(܁!5I@1ATJOCU28("6Ǔ{@E'E'pk o< !S b!ŅWxQI'I'I'TR 3,?ATwJAX/R ǸN/PpACC(*v%]V@f #ATwu+ҡŋ!l{aQ{l{<+ϵKDR,Ҡ á '$€EzUhcTcݽ cݵڒqZ@*K c}[UvvO ) IX;DCQT K sbXFn4RͧCXaTTMCXk| RBH[R=]-qI 8u'EI4RͧCXaTTMCXk| R=] q{R{Mi-U:a-Tq{@ ۓq{R{Mi-U:a-Tq{@ŋ!l{^ԞE'E'hN b!5L45pND(A4C>$- oNŠO=O-TCXaTTMR#P:<(hN b!5L45pND '{Miá[5PV+ƃc݁L z^,CX4E'E'hN b!5L45pND(A4C>-5NIRxQI'I6:ŸC[jhk *jGˠP4{ܺ O5IE'E'pk oa[0u&Y<(hN b!5 jX. @(;/ATqI4R4RƊO-TCXaTTMR,TCD3hZW'EIE'E'pk oa[0u&.@q/rT5>'P'{Miá[5n©֨+ab! B ԅ"y:(O )?)?ӇCXk| @9PT=0|ਢ|JO!P3 'I'I7)?ӇCXk| S b!SQ5J0PA υ c[jCX<(hN b!5L45pND#^(N=]JOim8t5p0-U:Pr,TCD3hk y:(O )?)?ӇCXk| @D+1CPV < ԝ bcr߃ :4Xf[i=O=ƊOI6:ŸC[jhk *jQh|- p0[RźNŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ5![ŠO=O-P PkVnN!O W5QV+ƃc 'I'I7)?ӇCXk| S b!SQ5J0PA υÃ-5!ñ bOim8t5p0-U:Tq{@i8u* jŠO=O-TCXaTTMHpCX&O )?)?ӇCXk| @D+1CPUXUG< ԝ bcr߃ :4Xf[i=O=ƊOI6:ŸC[jhk *jQh|-- o,'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC ZjDE O )?)?ӇCXk| @D+1CZ"(VZV`PV )?Pրv^l c[gI4R4RƊO-TCXaTTMR,TCD3hp`0%:rtTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *j@7'{Miá[5 CV+ƃ@,@6Ǹ~߁8 j-v̰i=O=ƊOI6:ŸC[jhk *jQh|-`l`K| H'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC Zjsw<(hN b!5!P1^4Gk9}Ep .p֭ nĩTGhhiá[5n©֨X g-5Oim8t5p0-U:Tj.NO )?)?ӇCXk| S b!SQ5E'E'pk ojr =Z"@E' jt:jvJIe 'C*^*hhiá[5n©֨X g`l`K| @찌SR<'{Miá[5n©֨CP(Fru RxQI'I6:ŸC[jhk *j3bܤE'E'pk o`F(}0vXF)DUŹIhhiá[5n©֨X g`l`K| @RxQI'I6:ŸC[jhk *jT5j'P'{Miá[5n©֨dOim8t5p*kG*JIe=@=]8tR{ܺD{ܺx |#P{M{qm8t5p0-U:T  X8 =( r`tTR4RͧnŸC Zj @5IE'E'pk oa[0u&t܁,R4Rͧn1V(| Bk∁j)?c* pRYo4E'E'hN b!5L45pND(A4C>(``0%'EIE'E'pk oa[0u&P \CTR4RͧnŸC ZjŠO=O-PTC|W2cwxu$xkkhhiá[5n©֨X gh0[PtTR4RͧnŸC Zj @5IE'E'pk oa[0u&Y<(hN b!5q -Ubh1oxh#aUƪ;84E'E'hN b!5L45pND(A4C>* c[jT'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC ZjŠO=O-P PV* W#(=GAI<+0]@Z l{(V9@{M{qm8t5p0-U:T  Xb (TDy:*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pND(TDq8v-LR4Rͧnk*^4G"5'tEj<t(TFN=]hS,*t;&N=]#^gŹIq{@{M{qm8t5p0-U:T  X@`0%BP&NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ59PLR4Rͧn9NTQjV`x*!Tm qI`x(}8p-ebPKi=O=ƊOI6:ŸC[jhk *jQh|,W +Ƃ:*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pNDnO )?)?ӇCXk| @Sé8 l{O$0V;z(*v@'EZ)ëxM@Z l{O$OiOqn4RͧnŸC Zjab! -5 QNŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ59kŠO=O-PWaX>[0;`Rx  X'W =Ic4EVP{M{qm8t5p0-U:T  ZC-5d'{Miá[5n©֨CP(Fru RxQI'I6:ŸC[jhk *jO )?)?ӇCXk| @r*%Nbʆ eI5hcr=]%AIǸˮT"T8EBOiOqn4RͧnŸC Zjab! J,- o(0h>6(5⡲tTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *j(0h>6E'E'pk oB"E@^*;jH4E'E'hN b!5L45pND(A4C>p,- o Z$<(hN b!5L45pND#^(N=]JOim8t5p0-U:Sp-@]xQI'I6:ŸC[j X o#^Ձन${ܺ)?ҡZy.^ {ܺ =q/rry.IǸˮVcl{lp $P8eQc 'I'I7)?ӇCXk| S b!SQ5J0PA υ c[jK@,'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC Zjs '{Miá[5ּ  : @ NCvxh 'I'I7)?ӇCXk| S b!SQ5J0PA υ c[jKFNŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ59{ZE'E'pk o*8`wwaTR(}6%Nb84E'E'hN b!5L45pND(A4C> Ԙ :*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pNDO )?)?ӇCXk| @*(u'{O @x:>" 8xP0WaTRq -@Z hjj)?)?E'pk oa[0u&F*! c[jNŠO=O-TCXaTTMR#P:<(hN b!5L45pND '{Miá[5pV;DUa);Uh1x=݅,/aU*^*hhiá[5n©֨X gl`K| Jpa<(hN b!5L45pND#^(N=]JOim8t5p0-U:RaŠO=O-P PV׼&=(Z(h1I)?VQEOiOqn4RͧnŸC Zjab! P`l`K| JPL'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC Zjsء@<(hN b!5r>$2XT(,c>#"hrqBP$|#ƨ2^=)?)?E'pk oa[0u&F*!𰁁6NŠO=O-TCXaTTMR#P:<(hN b!5L45pND '{Miá[5 ejlW#(=F5E'GǑ/r hq/rOiOqn4RͧnŸC Zjab! `0%tTR4RͧnŸC Zj @5IE'E'pk oa[0u&Y<(hN b!5{jԖ[G˦N=]a|-v4 :V8 Bթ,ǰCPF5N@ʓj)?FV+hcxMk1)?RA)?)?E'pk oa[0u&F*!𰉀0[PD2tTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *jFO )?)?ӇCXk| @1jz⁶8#2-v e)?*@t0{ܺ਄|FCP-s584E'E'hN b!5L45pND(A4C> c[j.NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ5j#2O )?)?ӇCXk| @D+1CXs 6:,>Sw)?-.2 PWA$OiOqn4RͧnŸC Zjab! ׃-5krtTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *jRF*!x0[PF'EIE'E'pk o`F(|:"džע{{l{)?RxuvZ4P(xL#^cuc84E'E'hN b!5L45pND(A4C> qD$<(hN b!5L45pND#^(N=]JOim8t5p0-U:SqD$Oim8t5prP68{ampJBI'F/[)?)?E'pk oa[0u&F*!H0[PG2tTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *j#ڙ<(hN b!5PT^+=ׄklr=@\"c> Rt^+ƃ2)?)?E'pk oa[0u&F*!𰁚 3[XY:*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pND O )?)?ӇCXk| @D+1CPT_X]cݰr{|T#cT>S;aWaUt 8tRǸOiOqn4RͧnŸC Zjab! X``0%Oim8t5p0-U:Tj.NO )?)?ӇCXk| S b!SQ5E'E'pk o% V=]52q/r $l{plé=ZգH`:")?1hhiá[5n©֨X g`0%RxQI'I6:ŸC[jhk *jT5j'P'{Miá[5n©֨dOim8t5prPTkcl{é88ҠpZ 'I'I7)?ӇCXk| S b!SQ5J0PA υ-5-NtTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *jZ^4$Oim8t5prP8EBh1NQv)?© Tpj`{ b7*Ihhiá[5n©֨X g-5-N_oOim8t5p0-U:Tq{@i8u* jŠO=O-TCXaTTMNzE<(hN b!5!P `xEC"  h,'@iPF9Ǹpi=O=ƊOI6:ŸC[jhk *jQh|,+l- o*rtTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *j*b'{Miá[5! W5Qh jaTRƢp ՁAT헩¼3QTb&<+1ICPu E'*E {M{qm8t5p0-U:T  XU - o*2<(hN b!5L45pND#^(N=]JOim8t5p0-U:SHTrxQI'I6:ŸC[jjҠpê#xLe O-C)ׄ mp{M{qm8t5p0-U:T  XQ-5#nNŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ59GۓŠO=O-P)#ᡊ=~*CP crڠXEBv=FCmW:;xF/jZ 'I'I7)?ӇCXk| S b!SQ5J0PA υp`0%NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ59GlR4Rͧn(Vb*/[T VǸPq*JPU;6c⤔uע3Ql{hhiá[5n©֨X g- oRxQI'I6:ŸC[jhk *jT5j'P'{Miá[5n©֨dOim8t5pAB#>hJYl{u"" !IaUcU+c GˠF8VJ^֖EB`xP' ;>q֮2)?)?E'pk oa[0u&F*!& l`K| LK"<(hN b!5L45pND#^(N=]JOim8t5p0-U:SIJ!O )?)?ӇCXk| @D+1CXDE )TpP'+C%IX^«/r`ϰǸ˩PP'P#^` q{E'Y li=O=ƊOI6:ŸC[jhk *jQh|-P0[SF.|'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC Zjsط*1sOim8t5pׁCX j*!O3z-pEp+/rQ'.R#6*)?)?E'pk oa[0u&F*!.l`K| L[.NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ5E'E'pk o{al~«AT{~ŹV*hcOE I4R4RƊO-TCXaTTMR,TCD3lp@`0%8#<(hN b!5L45pND#^(N=]JOim8t5p0-U:S|R4Rͧnt^¨}c܆(qе 'I'I7)?ӇCXk| S b!SQ5J0PA υ c[jch oOim8t5p0-U:Tq{@i8u* jŠO=O-TCXaTTMN{@k|R4RͧnklCX>l-])? x*X^@ZX2Xt42P@X'P 'I'I7)?ӇCXk| S b!SQ5J0PA υ c[jcT'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC Zjs歡'{Miá[5SZ {ڢ7kj'9_aUu:XJ(U:"U iIo@].Cp-k{ X]@{j4E'E'hN b!5L45pND(A4C>4- ok:*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pND)\  [`0%9ri<(hN b!5 sXa8[c>jBw)?֧*(9xkG0-hhiá[5n©֨X g-52Oim8t5p0-U:Tq{@i8u* jŠO=O-TCXaTTMOW5@'P` dT55Am*NxQI'I6:ŸC[jpݾ8b!I[`E\)Tahv`i=O=ƊOI6:ŸC[jhk *jQh|-- o$Oim8t5p0-U:Tq{@i8u* jŠO=O-TCXaTTM@xQI'I6:ŸC[j X;xh#¢bU E cI4R4RƊO-TCXaTTMR,TCD3m tTR4RͧnŸC Zj @5IE'E'pk oa[0u&!JX g- oi<(hN b!5 DE x(VbPI Rpp?aUt 8tRǸOiOqn4RͧnŸC Zjab! kA'EIE'E'pk oa[0u&P \CTR4RͧnŸC ZjQh|- c[jl '{Miá[5!HT>x(VbD@GĤkhhiá[5n©֨X gl`K| MC퓢Oim8t5p0-U:Tq{@i8u* jŠO=O-TCXaTTMMC'{Miá[5!MP?aUͨr!jڠn)?xcQl{)?)?E'pk oa[0u&F*!𶥠l`K| MH;@(vKRtTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *jjA@<(hN b!5  uUcxNG˦)?T{ܺa"#e `)?)?E'pk oa[0u&F*!l`K| M`:;$<(hN b!5L45pND#^(N=]JOim8t5p0-U:SòO )?)?ӇCXk| @,q 8[c>2[2O0 x | g l{E[@Ucǵ R mp{M{qm:ŸC Zl:ŸC[jab! k 9IP8eR{Mi-U:a-Tq{@i8u* jhNn©֨nJ.Oim8t5prPE;Xn 0:)?xh#[ǻZTkTA)?)?E'pk oa[0u&F*!p`0%{Oim8t5p0-U:Tq{@i8u* jŠO=O-TCXaTTMN{X=E'E'pk oE *ъƪ;X=*,chd} {X=hhiá[5n©֨X g;:*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pND絃rxQI'I6:ŸC[jzC bh1lr )?clOiOqn4RͧnŸC Zjab! kl- or˓Oim8t5p0-U:Tq{@i8u* jŠO=O-TCXaTTMN{^嵗'{Miá[5Z4Y}u5B)?Pv^3Ү߆[Q:QhAUpxhhiá[5n©֨X g-55[^RxQI'I6:ŸC[jhk *jGˠP4{ܺ O5IE'E'pk oa[0u&kܰ ŠO=O-P k^t׹{^ǸˮP'<"I4R4RƊO-TCXaTTMR,TCD3c c[j'EIE'E'pk oa[0u&P \CTR4RͧnŸC ZjŠO=O-P jC#¢^C9Ihce>;+CǻciPŐ=F5XGĤX #^U'.^0rA=O=ƊOI6:ŸC[jhk *jQh|,d-5 :*O )?)?ӇCXk| S b!SQ5JPBOim8t5p0-U:P,R4Rͧn,5}kWXG hGˤ5q/r@r=]B(X)?ּTIǸ˭,P"*"P4E'E'hN b!5L45pND(A4C>2 c[j{'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC Zjs@'{Miá[5Tl| qP{E c'5"Ԝ{(*«ȏx8ՊZ r.V=ŎX4E'E'hN b!5L45pND(A4C>2-5 tTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *jdŠO=O-P PVQ*z-X,YI0f 8*[c>֧*($OiOqn4RͧnŸC Zjab! H0[PTBNŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ5E'E'pk oEH\^WaQxuEj2acݱ4qb[##RU`,?/rd*q{Xd9 ܞE'E'hN b!5L45pND(A4C>- odjd<(hN b!5L45pND#^(N=]JOim8t5p0-U:S2F2xQI'I6:ŸC[j[xcU߅ClAEvx(Vb0} OXN늑j:,>RA)?)?E'pk oa[0u&F*!-5 ,e 'EIE'E'pk oa[0u&.@q/rT5>'P'{Miá[5n©֨@2P'{Miá[5`̱ <3xLe é8GĤkC{@;T>P@N2|@uð:3z-p{M{qm8t5p0-U:T  X-5 ('H8RxQI'I6:ŸC[jhk *jGˠP4{ܺ O5IE'E'pk oa[0u&<`qGŠO=O-PWaUt Q^[0;G^lWp=*"mQOiOqn4RͧnŸC Zjab! X ,uRxQI'I6:ŸC[jhk *jGˠP4{ܺ O5IE'E'pk oa[0u&Y<(hN b!5q>lrhhiá[5n©֨X g  c[j'EIE'E'pk oa[0u&.@q/rT5>JOPBOim8t5p0-U:S[`TR4RͧnB>+ҭ+*ڠh'CE^+ƃc 'I'I7)?ӇCXk| S b!SQ5J0PA υl`K| OOim8t5p0-U:Tj.NO )?)?ӇCXk| S b!SQ5E'E'pk o`F(}2K"m¨xkkPրvƨ*E:aUUbh1I[X% Vi=O=ƊOI6:ŸC[jhk *jQh|-- oRtTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *j{TR4RͧnXw#p 9z0BU#g]COUjl  Rv;A7xN«ƨ|'"W5X4E'E'hN b!5L45pND(A4C>l`K| @:NŠO=O-TCXaTTMR#P:<(hN b!5L45pND '{Miá[5B/C c4EVP2'V+ƃpwcݡŊjCT"T8N;DUaaH.@54EVP4E'E'hN b!5L45pND(A4C>-5BNŠO=O-TCXaTTMR#P:<(hN b!5L45pND '{Miá[5!V>Vp[1^©88)?xcU#/Ʊhhiá[5n©֨X gCd<(hN b!5L45pND#^(N=]JOim8t5p0-U:S*'{Miá[5>*-5ArtTR4RͧnŸC Zj @5IE'E'pk oa[0u&Y<(hN b!5 *EBPGDŽ^cJOp/Ĩ|g[ǻvEؕ'\q{@q{E'l{)?)?E'pk oa[0u&F*!- oGc>NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ59 ;xQI'I6:ŸC[jjWl] S;R RƢp 'I'I7)?ӇCXk| S b!SQ5J0PA υ"-5B/ <"X4R@IIP\)tTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *jxxhE'E'pk oB"8[c>T4 '|JO\){M{qm8t5p0-U:T  \"`0%E:*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pND/E'E'pk o8a>E\"}ःI4R4RƊO-TCXaTTMR,TCD3``l`K| @d<(hN b!5L45pND*B5 jŠO=O-TCXaTTM@B0PA υ-5 Oim8t5p4,~߱c mp= Z⡭pǸOiOqn4RͧnŸC Zjab! A'EIE'E'pk oa[0u&P \CTR4RͧnŸC ZjŠO=O-PUQhjEB4E'E'hN b!5L45pND(A4C>$- o.H[d<(hN b!5L45pND#^(N=]JOim8t5p0-U:S$w-xQI'I6:ŸC[j X« R R-T+c݀#^6*(=:3v9mWVǸOiOqn4RͧnŸC Zjab! :*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pNDLR4Rͧn(Vb*B >89e'Yj84E'E'hN b!5L45pND(A4C> rtTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *j/&O )?)?ӇCXk| @D+1CXjQl{I+=ׇCC(pi=O=ƊOI6:ŸC[jhk *jQh|.1- o1NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ59xQI'I6:ŸC[jPu:59`{{l=Ǹr¢E[+Ƃ-V2 [`K䔟1s,pi=O=ƊOI6:ŸC[jhk *jQh|,pl`K| @D'{Miá[5n©֨CP(Fru RxQI'I6:ŸC[jhk *jO )?)?ӇCXk| @*(CXd-XF5Xd{ܺN=]@q"ƨOiOqn4RͧnŸC Zjab! + )NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ59x '{Miá[5 :LW#^(wq{E'l{NZ*1DU´2T*"k9`{M{qm8t5p0-U:T  X@- oq'EIE'E'pk oa[0u&.@q/rT5>'P'{Miá[5n©֨ƄR4Rͧn(VbCxCZ;"lVʊ-Ihhiá[5n©֨X gLjl`K| C4ET'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC Zjsxh<(hN b!5!P1^4Gk9zO"P4E'E'hN b!5L45pND(A4C>< <RxQI'I6:ŸC[jhk *jGˠP4{ܺ O5IE'E'pk oa[0u&ƴ@rxQI'I6:ŸC[j X`VW-ڢRx=c[*@4E'E'hN b!5L45pND(A4C>< <'EIE'E'pk oa[0u&.@q/rT5>'P'{Miá[5n©֨8y<(hN b!5r>.⍎[c?oҫPRŹ kfba"\"X;RڮPp4E'E'hN b!5L45pND(A4C>'P'{Miá[5n©֨8i<(hN b!5|0*TR@N@].Cw eRT^գ;:BՊ?o* em` 'I'I7)?ӇCXk| S b!SQ5J0PA υi c[j 'EIE'E'pk oa[0u&.@q/rT5>'P'{Miá[5n©֨E'E'pk o`F(| B*Z*N2=]1´2TR8u*12{ܺ"rq/rCt QI@0g^Ԩjƨ@ʓj/r`ϰǸˢ,P{M{qm8t5p0-U:T  X`0%,<(hN b!5L45pND#^(N=]JOim8t5p0-U:Pr,TCD3cA[Oim8t5p! kվl{*, *>b6«C!G4JOEhhiá[5n©֨X gǶ-5q`9!=tTR4RͧnŸC Zj/r '.CSru RxQI'I6 b!SQ6 b!5L45pND)\  X`0%, $0ǺNŠO=O-P0tC{ -â,@;TRl{*/ *>b6¨C!G4xEhhiá[5n©֨X g- op;[<'{Miá[5n©֨{ܺIǸ˩P\CTR4RͧnŸC ZjŠO=O-P @a?aUƪ=@RB,r)Zvp[1hhiá[5n©֨X g `0%BPRxQI'I6:ŸC[jhk *jGˠP4{ܺ O5IE'E'pk oa[0u&'P'{Miá[5n©֨k@&O )?)?ӇCXk| @B~T@bDP-,({M{qm8t5p0-U:T  ]H0[U&NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ5 W(A4C>aR ab%IOim8t5p\ PxcU¢ z⁰)olRpvENi=O=ƊOI6:ŸC[jhk *jQh|.8- o9RtTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *jRF*! `0% I@xQI'I6:ŸC[j XB-`{ @Z hjE>[`RA)?)?E'pk oa[0u&F*!'EIE'E'pk oa[0u&P \CTR4RͧnŸC ZjŠO=O-Pc>x(Vb*u#*)%'8xcUW#^(IǸ˭={M{qm8t5p0-U:T  XgD- o3NŠO=O-TCXaTTMR=]^Ԩj|.NO )?)?ӇCXk| S b!SQ5t^ֈ ŠO=O-Ps|«^l - {M{qm8t5p0-U:T  Xh <(hN b!5L45pND#^(N=]JOim8t5p0-U:S&O )?)?ӇCXk| @:*Q Gˠr'.OX`PU;^Z7^3p{M{qm8t5p0-U:T  Xa u@W :*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pNDPBO )?)?ӇCXk| @\"^4' %Q1pƨ~¢ϼPrԜv8Uv\"^4' %Q)?"Ԑi=O=ƊOI6:ŸC[jhk *jQh|,;ARxQI'I6:ŸC[jhk *jT5j'P'{Miá[5n©֨dOim8t5p\=0?aUƪ=I|FE«^q*^4[i=O=ƊOI6:ŸC[jhk *jQh|, <'{Miá[5n©֨CP(Fru RxQI'I6:ŸC[jhk *jO )?)?ӇCXk| @9 Ԝ |R?oѥCnE%' j/\P04E'E'hN b!5L45pND(A4C>4- o Oim8t5p0-U:Tj.NO )?)?ӇCXk| S b!SQ5E'E'pk oP?aQx^2 P:OBP {M{qm8t5p0-U:T  X-5H:*O )?)?ӇCXk| S b!SQ5Ht q{R:<(hN b!5L45pNDH<(hN b!5 CR"9{px/ujZ;g c84E'E'hN b!5L45pND(A4C>`0%,T5tTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *jC['{Miá[5SZzUx5aX j-v̽ U)QV.!kGhhiá[5n©֨X g c[j⠒tTR4RͧnŸC Zj/r '.CSru RxQI'I6:ŸC[jhk *j⠒xQI'I6:ŸC[jhk PUATJO{cT^ P1b**p^ғS '{M{qm8t5p0-U:T  Xl`K| @y:*O )?)?ӇCXk| S b!SQ5JPBOim8t5p0-U:TjjŠO=O-TCXf%(Vb*O^4WrX=*59`{e'ECǸpi<(hhڪ) I ) IX;DCb9bMh@r0 616CP @OI6 bl(P ,xC!j\T[ !(,U1alC5H( c[j X/ jR-pU`1 '9RtTƊOF*!h (0[P v9x xcU!l{ ᣁ Uq@tTƊOF*!h B,- o`@;<- o!l{*/ XRxw[,TCD3ml`K| @! c?aQx |׊ =b1*Oƪ8EB`:/HaT:*AE'  [^ =P=P! c< Qh|.*- o/pF[cǍ5Q)?BǸy:*O )?)?ӇCXk| TQ hk ,-ŠO=O=ƊI=TR,TCh1{T,s϶ `1X2(8012a`[|R`jI8;Nmn kK$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlu.htmifm $ L

L

Option Type Default Value #pragma options
-flag See below. -

Syntax

    -Ldirectory 

Purpose
Searches the path directory for library files specified by the -lkey option.

Notes
If the -Ldirectory option is specified both in the configuration file and on the command line, the paths specified in the configuration file are searched first.

Default
The default is to search only the standard directories.

Example
To compile myprogram.c so that the directory /usr/tmp/old is searched for the library libspfiles.a, enter:

xlc myprogram.c -lspfiles -L/usr/tmp/old


List of Compiler Options and Their Defaults
Options that Specify Linkage Options
-l

<' l$C<:7):#_"./usr/vac/html/zh_CN/doc/compiler/ref/ruoptlvl.htmifm$    ent <>adilors"/cghmp.=bfuvw,0y#%&(;ACSTkx)*+-125:FINU\q389DELMOPWz46R[]j7GHX!$'KVY`@H,y6lَ%' ͊ [2DA] :KH:n9tS9$[mҤ$+bt"^IDπ`  ?rV5I :mb]8.qcE0|sjm pe p000:ٌ[Uhֲ8 TO,:ո,pɶԕ$@GRHZ)>I $[ٌ[Uh5:$Ja 6R@$E)$[٭*L-*o4|kYeP`HnU\*I ksJ5ssJYb:%@`Zm JEH?H)MH?mҨ@\|bҨ@GƵXRcp},I>Rd1niT {yZ,@P @pLm&)$[tkR&7J լ*#p}$I&_X*N "IDXm}$$1IP"IDXm}$$1IV8p .ԙ1ITEyHRH8.ԙ1ITEyHRHaÇIjIT5IRhHRpI\ˢ#%ظ1OK5]IAjni 2dX^BT.ԑcK^-m xR{.r^at]:cp}I>ViR$F)H9/02dX^BTHV,I>R45Dž'%L1qms7J$ LT5@<^J\x˜Sm 6&cca$FJ tǷ6Ih˝ˢ#%ظ1dZXkx9yPY~ RJvYYF/yw.pIjLݪ"ļk$]$IMڀIjLݪ"ļk$]$IMڰÀBHRH6I&_`^NrHRd&Q%_I"I"LRn$$a*Ats7J6 (ŤE+ca$FN`޳M" A=>yMZ1]<^.K!jt&1>P$E+H)K#%EyrWXlMb+]k&1wynxmd&\}9,"ļk뉲KE4_[cķklY \g$d!p/6fLrWXa,ŴW-M xف+䖸,D> R%Ӊ|08`21PeΉ%PRzҨ@V>1niT {y$,KͶE6^4;U[Uh`meI )M4=e p0ݨ $]$[ٌ[UhZ_Y/O8@ (?E YSFK鋃"ؤ$\6bҨ@GƵX8:v@ $]$[ٌ[UhZ_Y/O8H 8  4ܺ(Zʝ2]E6m}[eyT6}$[ٌ[Uhֲ8Rn4vlRf1niT {y" km}d>G\䋄& ?GGrk*wHvm HBj ".H)I )M4=e p0ݨ'4f.Ԓ-Al-*o4uQ.\bRDntP;d!lR. ApRf1niT {yZ,@` IPD#$b1sJA9cs km}o A Erk*wHvlTdB2_B#\.P0xnIy3lR. ApRf1niT {yZ,@` IP$0I"`vlRf1niT {y&\KD$ %_Y+L,M0ƶe4)@X*N %_QTe6`E8c &)"7J A^/%u&[K\M:Y| +I R`&$5ZE6kpinD*FaK%k.  !`0p$&&\&[K\M:YUU$dťRc$d[8Ɣ[{Y5mقjCT 8hɄVsd&$5H?&-*sy% &`[SoodմSf?cI P|$[{Y5mلw-pY70Jdl! @"B8)6j) ⴵUUI!AvuJ.4 ɫh7UU$:H5H?MP'M0ݒZna̘,7(?6M[E6as muq Lpm0[LZU.$d= .P+I-pY706b&[K\M:Yĵ>$Pns io-𽬚ll@js r"ܤ.j1eg!RdAx```@^f8p /|C.j]<EN0`be/ m\.-!C$ r%$( }ʐlR. AEKH:T|'[w.tmdl/rak;xɄpsfͶB0H_d m RKHP 6,r pZV,IT.y!@T[T5CZpu˜k]0ŴWe![drk*wHpt&\&M--Ӯs7J&)"7JL &)"7JA,KͶ->Atp{L 2k˘ RUˢ1"7J,KͶ$I!Rdk=LnRDnN21!cp}\ŤE)\'\qOs6 ~ R%Ӊ|08`21PeΉ%PR1sJYbC&@zlRbo MGm\d1!&*j-}f,79/0KjXmf&\f!664}ؠWuK&B\eL5dծH?Ɇl$<_bddiL_Q ̈́1\uWAf K|gx4]W2.r^at>-AEH?n AlƵX`ИI (|8ƹp+!})52j໖oCu&1ag% mK;~)3_Na(?c \wxh]V<,̗k],H?cp}\ŤE+1읱͘ | ^ sTyM5˞/gH_eR˝Ϣ7AQsDY% &J5D7&Uf v@P@.ԃ=)4,7jh6xhLM@P6x 14)"H?췋(7jh6xhLM@AP 14)"H? X1my/$̓ʂ5H?\".{xRk,uVMkkY0zK2B.sL<$,f$7 ](?)5&-fq"R#p}m!K\dlxIY2Hoer.r_LM}1V,ɫ^aWpcK1Py}:P&:靗9&ABIj [cb,f67&;.P^ڽw-s`jMrɖ[m0[`!R5@8˞j ̓ʂ\q35 6&c`Ze ^%uRe- y qH?87L$m8ܛ\0-gk`kL/qʚ.嘐˜SaL6=1sa&b+ca$FLuP}c,",> !R-AEH?n AlƵX`ИI (]=3]3pܛ]\![)[%d^$]F52jໞbq3?ԍIjeΛ"Y% &sjP_VkluLrݵ+]3$dsn`G]3}fMɘŴVIAAj/q,AAl%IWඊ`usKb.i dmN h*-6mE Z1`Kܳ`vl%H?MPֹ> ՕOɌVT/h6Xܳsn`mx A s v\_Lk\1dM]E6FL$&T~Ika zHRH6&k\쩩ujʧNd+*x˞7H?smiP&Ijy/0M12)˞i \mH}$&m䖸,nms6X 8Ÿ\r0[AAEH?H)MH?mŹP揍k,a&b+ca$FLREH?m :n IjIqf+6YWeԇeo Mm0cWrSm@v1mrĺqObɃ _As9+L侭.Ym@HVpn]=,+ca$FN`^=x\Va˝7j$ 83@~a*MڿE6XX#X%P(#uLr !$]$ Ra*MڿE6XX#X%P8A#z&Mf.Ԓ I "7 cZ,@h`0uhLMb.x t%L›EiP(.լ\.ltAI6ѓ8Ź!Uk/I&_DH/? xf.Ԓ I&_"D/?'޷9eBHRH6&T~ dmH(3u,EڒA 6ݫ[6Ax<1n߂)8 FM oQx-S=>sYI "I JlR. ApRf5P6zH)M@ms 6&cca$FNƊ0&b3Zcp}\ŤE+1t1>R-I>Rc!I6ѓ{e'%dirݵ}LC鵉t_L>Lƭm p8|sjm pԃ6bҨ@GRn hH& AmLZHRH)M4=6zk&0 񶓙1ʝʚ.h?靗9/6 bpR1sJIP.]EڒEH?mŹP掠\e'\'})5*i9XI "7 cB:v\+IjI cB:qs]0pBBzƬ|mLblr `}$[ٌ[UhMځm\-$b1sJA24WܠC2.VɆ%ܗ%+6+4[e\P3cfkL|' L#\'>X9/0ɫ]3\'[6Y.kLnq$I>R6IhH)I )M4=ԛڝ$]$[ٌ[Uh Y)DqII>Rc!lR. ApRf1niT {y7jE6IjI cB:ŹY0~j&A}E1𝬚l<ɫY y.!s \uvO]15pYs ͍K7dܳ\v %dl>.sW70fLzgOL頨".a;c%)&.w.7̔&-f^U45@᮶ŹA\dscaz6`|1d?,ږc[eFM_Az6Ƶ\]3E6m} ,TbpR1sJIP,]2Ei"I"ؤ6bҨ@GP.kV_OAՕOɌVTTw,bpR-b]*AEH?H)MH?mŹP揍k,LTZI )"ܤ.jqs]= 0Lxp(YW1d?hc]yKYf 2nax›Em\> sTݼ)59^W0Y0K2wA׊D_@[œko~*FB̚X#]3^5p[c1,5H?\fM#Mrɖm7[s:?% &s!KYb6ݫ[$Sjp?[$SjpH#r[$SjpXX#`V "I J Rn   a 2j$@Ɇn)B̚]3#ufM\p$vl%H?HsTnR-AEH?n Al-*o4|kYe ov-AlP$+{c50]; 5&r^aWH)I "%ҤIpR%Ӊ|08`21Pɗ:&B YbMH?mֲ8 ¸CLYS(KYb >\@u$LypBn.@)Ⰻ5`0k:?Ll0"-$LypBn$ـym}GxH%p5 sLRBԑ0REmi!˳vGP kē-$-I"ؤ6bҨ@G`TuPҋH5H?H)I "%ҤIIAҼH@p k&MH}]: D9ÐTĊ)L$4P K$f9H8 kꘗ$ :7):# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptma.htmifm $ ma

ma

Option Type Default Value #pragma options
-flag - -

Syntax

    -ma 

Purpose
Substitutes inline code for calls to function alloca as if #pragma alloca directives are in the source code.

Notes
If #pragma alloca is unspecified, or if you do not use -ma, alloca is treated as a user-defined identifier rather than as a built-in function.

Example
To compile myprogram.c so that calls to the function alloca are treated as inline, enter:

xlc myprogram.c -ma


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

 l|$m!:7):#g./usr/vac/html/zh_CN/doc/compiler/ref/ruoptmac.htmifm$   et <>acilnoprs"/bdghu=fmq&.0;P\kvwy',-:ACDEFSTx#%()35BIMNO12LQRU78?j|69VW_HI1AtK)H:n [#;H۩H:H2Rt$<BBB@  ءPՠ:b :mda"B e9YE50}N+c^XĚU(p7% 鲱P40P"ŭ(uɫp$p[XԕX=#$-C`$YJAeb+sKx|1Cɥc "R.JAERt1RHt6]Y0U!CASS^XS8yb H?nJAeksKxO({GĚU(p`0LPyjI*mi$;ZE6V4-⇸D|IY@u$Zu[JE6V4-⇸D|IY@u$A*IRrRZ(vS>"4&f  :;ZCRDPyjM T#mE RHCu!P40PHbܒE6V4-⇸D|IY@uhpD$E$\Y. :ba4;Z :c*Rn 1lX࡯Ų3h? B@#|`48"HRHH:3A8F;Zݩ$H:HP6\͋w;^^In71]\MysAČWfV-lm|2S˳8 rk DT銓;Z]M$N7jI2R. ×6-My{u%['=}fV%S;Z H-Ah8Hb]JzgrP|RDPyj̬cJ)^w& !͋w;^^In b]Jxgy5hSWt42QTRHjD2pKl..KeԂ :bk2͋w;^^Inطn˩ b߀P( ٕXM ]ً~-D$EH:! tXȺ=ZgrP(hŲ3$ܠղ\zHt$ l.2&ACMB IjI)I l.銮$EH:] 6JARv@x`8 8 ` `IjI)I l.銂FV ]R[*fVܠ 1lI"w(Dl1r[.0$EH:$ei-@,d/m|DPyj(LJ+LPyjAH$ܠԃ|丙ΆOeO$O)d%*`庁L1r[.ʣ*>m%Mc""*At0@iRʔ 6 Dxl[ܚ† IjI)I l.銉@eLAKH?c*Rn4Xh|xl[ܚ† IjI)I l.銂FV.tʺ d]S/[Vnrk۩-"*AtudET>sk8>s,PჩMH?lEnio=#M*8 RgrP0$N$YJAeb+sKxIPPaa⹱nrk l,5$]1P=l1kk{+{H澶-RhSWt42QMyy+`ܹF%[gN<汯-+skp6L}Okp}L/B]2.Z"$ l.2&ACMNJŻAܚ† IjI)I l.* C\طs5mԖlػዄ }a˛w&ͺ!.kP/IR] 6JARvChPaaPaaPaa"I"2 AMҐP"$ l.2&ACM`СpAPaa"I"2 AMҐD 2 DTAMҐTݨ(ih8 l,5$]$FT$0@iR! vecC xDI. 錩IP U k xG`FEڒDeJAA. 銄VܠIAlzH0@iRʔNJŻɯ-$]$FT$0@iRDTAMҐT\طa?;^ZHH?H%`at1Q4  %`at1)7j l,4>̮kZX02.^"1)7j͋w;^Z+=rkIjI)IRrR-d銓;Z7&6Kv(26;Zv% "A#+:MyyU6I %.l[ܚ6Ktʐx Ί DT5AwO]×6-My{u%k [ܚ#S׾.l[ܚ%Mc"錩IWPaa,4Xn4Xh|APaa"I"2 銋hLLeJMڿ† `؃REڒDeJAC.jrŻɯ/snl[ ɭ{t6צw(< 4IAɯ/sn!R5A#+dEw#^O^nrk۩-ݘ4yu.[ Y"wSz Ɣחٕ]'uve R׮8` w @V%S C.jFV ]R[*fVܠ 1lI"w(< /LPyj K&'rW i-@ɤܠԃy:VڞIr{^^25AzHsTPLY̩VnNז snqS^_h?Jw&sfחٕظ:m=w(<$N׉4rk۩-ؓḽ3A4bܒDPyjAl ˧ԗu=xeNk.̮Ɛi쭳[*(/Ij XrŻɯ/snmk\H?M.O\3RMy{u%ax0]Ի2 ͯ/̬9sbחR[dEt AS5חח}ʗtWfW5sp*H?Mys }\e䱜W9w&km1wN4˞9sbז ,EF5{2hňA<וB(/Ij]my}C\طs5mԖqpA5w(e4,PI&JAҼPCF; 2 x6"T>6>zR2,Bki!jI2RJF60c[GPY0NQ,HZE6V"4JKnio maf

maf

Option Type Default Value #pragma options
-qoption maf MAF

Syntax

    -qmaf | -qnomaf 
    MAF | NOMAF 

Purpose
Specifies whether floating-point multiply-add instructions are to be generated. This option affects the precision of floating-point intermediate results. Before using this option, see Floating-Point Compiler Options for more information about floating-point operations.

Notes
This option is obsolete. Use -qfloat=maf in your new applications.



Floating-Point Compiler Options


List of Compiler Options and Their Defaults
-qfloat

6JA l $:7*:#P ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptmak.htmifm$   <>eot /adgilnprs".cfhmu=by-0Fkqvw#%,3I_x1:AOST()578;CDMNPRVX49ULtsI6QsӬUQ҂m*G1/Ga]y 9D-;qw!xKc[5"|wcz#c m2I1ˢr1ˣ|(CyC91c@/6("sߘ1ˠpj#.?Y %ثvtMR1˯c>c_S9t1r1ˮCqf)!W(1sLv#. mǔ\wjfڸ#!IR\NC):wK#ŠK ;6 f;QIrmprٷCyC9 #7;9t1˯c?I ח69tRBVDv1ݑ9m]M˄-X7%19t1r1ˣ%CpjJ{lE%|s!8PYyG7u; h,Zあm07jP]ҁ ‚ͺ9i}>Ǹ&/y m# #7>c_@W1ˡGa]rr2.{'v#.Cv̔Ga]xA 1ˡGa]1_vor2.Irۈ'!&a>P9i(,ۣ~RBV>82cak2e(|.i@Ae4 Qc~!|a] EዔGa]t^c.cv1r1ˣ%wm^CoLxm nv#. mDr2I`$o(}4d}&d,} vo 5"`9t1r1ˣ6#DžmCpYN 9t1˩6IW(Kq|a]UQ9t MDvC}jGv;7XSW'v>J#.ʢ9%\ʡ`jJ{l}&k`c(}4n^m]NZ? )!V|Ҟ%(|.i@Ae4ԏqMDv!yFh#.9a] N#7 cnQ9u"!G0M/^^,tz{Xd>}y{cowld=r{;KU&( sHAe/ miFLvJ7jQ9u;1*Ɣna]N(ݩDvC`$QS9u;ڔGa]N,p-V !cU7jP]ҁ ‚ͺ9i};KUۏL/WH/}&m0UNb2I1c@v8vGa]w S!c,s*<")(#SKcij(B0[EXsO,,pp[ijxŎ_/<41d}&;KUvo# r=ޕ*>~c..Q9tsG1/6YgcijNV|1E ח6sԱr:XJwsD&rJsL(9R!dp(@{k^)XqB[v9aZHq@@s(W b`@,)~08 PVP N 9Š2;0YKs!M۱&D(adҀ1Jw@B ߬FPSɅXҋ(hJR"sy0(h% Fopĵpqw/v/KX Y:-Q 9 9i}JG1)( a>6(f{(ZQ@!%w9lP2@FAW R(G4)s l$:7*:#7 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptmax.htmifm $  eiot "<>achlmnprs/=bdfgu.0wy,-3vx#%1FTkqz489CDIO2567LPS:AEVjNKuQs%s2vԧ-􋷮s)A H$ 8pá\9$X9RNtVA@tvS8@tqFdG7d:G [ ȣ5 BЕ$V V%~ } ȡIjzOH5I*9.:G [ ȣIqRc*"VSu XHBoH%V;G1̘"G1̝X>H#謂. sPon2Pڒ8Re@dnEE B=@$uq1:,Yt:e@d2$pʀ܊8#Z2B@RGPDiqtGREsHuʆԑ–*#r(,h I@he=g7Go!>GREsE(sHuʆԑ–*#r(,h`:( gՑ$Zz.:G[ T6YPGdkF@HH zO@d(N*! #-TFQYѐB..G2EՎQs&*LYDVgbLeJN 2ERiHRv )"ԝtRc1Rg\=@t%{?p߄Bys99.bc8,`9~HHEj5{y Κz`Hp]0 $֯{!>,mPNKran\Gm ^@h25🭯}W?* QEc1Rgf,Y,Ts-9.M=Sm$ZzR]|'6>ɕɷT>1T*uNg7!!Euّ#*~ʜ+p}jkʦ[W-Ezvjf>6zn6蜕rn\ sF9-.S9=μjD䞸2tQu %K}#*~ʜ+p\>{sʦ[W-Ez{R f>6sKwW䴸^O{%KzOПAw= +G7֠Skv3d P@go=@$Y(1֣"2bSkDoe)AǬ-pHd P?c|Lns/Do}?$'X95Ck +n=\ Dmy6sL,*K|k (klm»2E{y~s݋#>iup+k{3o}hV՗=nCran\LD RX[,Ys-Rd'r]pn.=,96p2SλAmYs߭*&T*s?'E9 .#lmƒt2be)@ԑg䣘۫LeIo <}?$'4&NKڱ^=@p g `vRbHҎoLeJN1%38@1 }<`8R.,eJ9(Ҏc-c:\|!Edp(dGe9ӊp(dGdkF@ 8p:svJ9ӤqFdRmyɃ 0am*, :AQYѐ()2t)#G7W*$dHz6Ps߄#uKqOˁ4Jv"IJ9ҾQ#"Euׁ"qOW ns۪\ i"[($y(JeD܎n ( HREsHKux`.*Lze@dJn_HQd"u(9$X9Q# 0aC۪B ʎV en M90d (`ULXc%|! HQ̑GH׹G0@ k$ :7*:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptmbc.htmifm $ mbcs, dbcs

mbcs, dbcs

Option Type Default Value #pragma options
-qoption nombcs DBCS

Syntax:

    -qmbcs | -qdbcs | -qnombcs | -qnodbcs 
    MBCS | DBCS | NOMBCS | NODBCS 

Purpose
Use the -qmbcs option if your program contains multibyte characters. The -qmbcs option is equivalent to -qdbcs.

Notes
Multibyte characters are used in certain languages such as Japanese and Korean.

Example
To compile myprogram.c if it contains multibyte characters, enter:

xlc myprogram.c -qmbcs



List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics

( lЉ$:7*:#( ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptmu.htmifm$     <>eot /acgilnprs".dfhmu=by-0Fkvw#%,3IM_qx1:ACDOST)578NPRVX(49;ULtsI69iknficD`x(((((((_BBBBBEs>cu"|F@{qBE궵v9a ؽ*cPxkCaG71-b]NjX>P UI%VTh$hejSܒ8 dvԠUobZŸ8`Կ[,(FŽiFCnc_RsNCop( /UH(ؽ*cPhQ:?KXV -x5!( Z1˩@[ DvԣGt~n*p%[xkC @Uۧ7 KK@hsΏ-Unĵpqw/ `HqA@@"(%e$1(FŽopqUnۀ1-b]NjX>P r*=pqUnۀ1-b]NjX>PP(-J4z9GkݷxbZŸ8}$8P ZhsaG4R!G1/RGa]yC9gnԡ9i}Lv.ܢ; rȈQӷ|/^^Jwc0]|KfCo94=PcC|o; r褅ܢ; rVR\8P9i}Lv͸#.i7; r (f;<ܭf9-h%s7; r RB{|; r1JG1/Dv!|a]Ga]rۈ9t1r1ˮCq/2ԗqˍsIM)!w(ŠKd9Y q|qͤ=XQIp*fU,pNR\}HP9i}M[Z '=ټ6 Ԉm{v#.bT-;cdq8_L O1ˠGa]MD1 rJEG2[_ f; r (&a] \; rdNg* )e 9t1˩6IW(c+!2IF5/1?>cD7/6|.vWp}\#:4FFJ P!qyG1/*&a] \; rzca]#Jz4bcC҇sKc.'~Yz1( &/y mc,tz{Xd>}y{co۶Nb2Ң{=&(sH/ m\iFLvJ7jQ9u;5*Ɣna]N*QR1˩ݣ6IV4v; rwk%(4C`$nԡ9 tsM,{1_k#?J_M`~@{md>~c.rX(rvBլ I=P`SɅQF!qF)1:PvB0Q0@S!j܀ D2ە|M,{Lmǀ,XmN2N:JC #74d{y[od{zGI1cC(9cl`Sq{icߎlvǾ9jCq9Աr:XJwsD&rJsL(9R!d$^k^cPzҦ9a }$80HH Z9vsΏX>P / (!%w9pexkC@Pb"!G7 8/NxG~)mÁoco4d8d$e  9Š-t~cL I!o*߬FPSɅXh@}NjA(MHQ), I (h RB{|5(%[{6 }KZŸ8bk(}ol(jD69(}4 8 B+~ -٬UN-K _Q@!%w9lR$exℋR(PN9 l($k:7*:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptol.htmifm $   <>eot "/acilnprs=bdfghmu.y,-0vwx#%3F_k1IOTq578:CDELPSWj(V)9ANtsI69iknSҒmCQsH0~) @ A }`W9i}J_G1:[|\k^c붶/R@B8SD@E; 9F*kpz8SD@EHv")BoX"]*FRVJGmJIQ)Ѩ!#q)/kp'Q_KsaG4T+nc_RsNV 5D붵f8ml^Q󰣛tn۶ǣ0m$D 1T@K R1TFtn۶ǣ0m$DtT@QmӛR-Jtj9Fkp]n*kpz8SD@ EH|AJ9t|ZsaG7ŽoѺ"nۂ8J"70:*l"SeTFtn۶ǣ0m$DtP/vXQT7G2𧵗լyv6Q}SeWZſ߅ZB^z&d-{\v6J_G189ZePm\ʮ&UZ Noն7?o {pKo@8o)k(k(Z 3IM(ePm\ʮ6\{No dt7; q1W1/v\~MQW`ŮMOcn)oT;`)17FmǮ}xSۇ c[@ICcr7on1uOcn7VdXQ;"ŽoC/usȰSO Z?I^8uLv(c; q 1WpwjE,( jt2>wXT 9XQ)ݧ-w@mxmE:¥1cچ?1Ra{)EysȰ~lT_kU™p wcoı`_)E\; qsg7XZc3rpN`E,(L,q'Jn=1cucRQ ; q1W"7xS9wcoz |/O1P:1cNv(%1cv6Q}SeP7S9co<[cžIKʡEMAo ~VB|up]QWGln}&oOcn ūYMOcnw9 *}Nd.>c@)EsJqs*/Xbt6S81TT \X"'Jn=1cp)EJU@Nʹ0D C1:Pq詎EqP^91cJpߘ1P>JcSePmE\ʯcyK91c۔a"sӍ嬠+:𧱷aQAIV&.%X8mDZv(Zl; q SGUsZ 3IQW; qPu-x[S8Aov/sJqs+q`,ۣ𶯔 /(:-)ݩKtsJEn,ts+q`,ۣ28(:-)Eq-ck/T+o|0bcqC&𧱷K9cERׅe1c3!k܀pҗ)X^msI0P.@kG]P1u[lq !)i" op EK # %(\D- CG `H!a*EL,qbt6@%߃ =p%tz1l:nRaG7 D@~_G*k` cj"o%te*sʹ0D ( P:*sʹ0D ( P8XQ*/,1:Pqp)UHUɅ" ^?bҀۏEqP^9*NG7%MaGvAOSXCDA:_G7F; 9:[tscUɅ"H`^6oإe5HaDxb 0d .)q 8b:8 !)Uґp`sJIқG0 at$ k6$m:7*:# m./usr/vac/html/zh_CN/doc/compiler/ref/ruoptonc.htmifm $ once

once

Option Type Default Value #pragma options
-qoption noonce ONCE

Syntax

    -qonce | -qnoonce 
    ONCE | NOONCE 

Purpose
Avoids including a header file more than once even if it is specified in several of the files you are compiling.

Notes
The compiler uses the full path name to determine if a file has already been included. No attempt is made to resolve . or .. in the path name. #include statements that include . or .. in the path statements may cause the same file to be included more than once.

The #pragma options keyword ONCE may appear anywhere in your code. It can be turned on and off by specifying ONCE and NOONCE, respectively.

Important!
Do not use the -qonce option if both of the following conditions are true:
  1. You include both stdio.h and stdarg.h (in that order) in your source files, and,
  2. You are using the macro va_list. va_list must be defined twice to have any effect, and -qonce defeats this purpose.

Example
The following example shows how the compiler resolves whether a file has already been included.

#include <stdio.h>         /* Found in /usr/include/stdio.h */
#include <stdio.h>         /* Already included              */
#include </usr/include/stdio.h>    /* Already included      */
#include <./stdio.h>  /* Resolves to /usr/include/./stdio.h */
                      /* which is the same file, but this   */
                      /* file will be included again.       */


List of Compiler Options and Their Defaults

] l7$g8:7*:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptopt.htmifm$    eiot<>agnprs "/cdhlm-.=bfu,0OTqvwyz#23Px%+1:;CF|*45AEINSX[]_k&()9DLRYj678WZ{!'BGMV}@Qvͳ4Y^HegQPR@69$@6bH6t$$ܟ!lIaF$Zˣ‰ =6 %9:Ԑ9,ӌ $ 8%HA9pqj,Q!e(0 %$rHflMId4Q J )Qp(:Tp9pd\RlQ(?62iAF@*Iti;(5jPGJ(JͲS jHY nIP$@jPSR@PN2(08%H '.9QrŊ$ ?- YQ%.NlMId4Q `@R۩J%4 l iAOSf$fj:VD q8bQ7M' ,D`Q)@L PӬQa J @5+`K\81GJ(ɖhA`(ZA-rzsL~Y nIܒE[\2:VD46LE %(} AOSA- RTf$fj:VD q8bQ7M' ,D`Q)eSnOAVbHflIpˇ([tp2H,*IrHZ rCR۩Hen-: jHBQv8# ` $88m# ܟ!(8mx#? ܟ!(` .r|8U6nO@AR|V >CP/p`T!(` >hHH0*O$'| UPS] rCR۩H0kOu1iv rH]%'|?.W,ڒ㡙?0kˣ'*'AMI:>LZ@m\=>LZt]ܒAWij-*u1iM>CH()bh} ؑ"PSŤI=@>۩HU6Sŧ6Ct2Slm)b$SR@0B,_ftA 'ziW4 bN=L.9=>ŏ /aś udv("~0kwMm:ƲnaqnO\) rCR퓕sL~6oM>CsL~z@Xtgӣ>50=E,ufòʹCsLS25p|2b> ΝEaQo6fʼ\ol#& u1xlٽn-"n-$0/Nu1i0X5>LZw. Xu-CsLtԐ9,ӌ $ 8%H '.9QrŊ$ ?- YbQ7M' ,DR۩H >SŤUE([tR9GƧ} ISŤH?22{aX, Qj;ܟ!깦?xcLG,^|W4ΆgQj;.>h1t5!Fw,_'} }K%,0iw4u1i :SlۤRsLAOS^@ i\ɃUAV?- YbQ7M' ,DR۩H|@XH0*OAOSAVbHflMIH22{mc5WٱGN?Sa˦>LA}効c)]9W43S 5'pqap'CRl?6U15L\cG0iw>;͂dlNa7dA ^tA 'zir0;cSZkW6) 5!Fܱ|Ӧb -t`JX`i)b@Xt=n-"n K ]1>LZy֝%͜@l#& AVbH[@$fa:VD46LE Jn-"A@`T!(۩J @0+`nJ@rOu1in-"tf$U$rHflMId4Q (b $ Iz }1$3 QҶ &餤N=2ni;ܟ!깦?UdF|N |@>]:\ᏐغD?Q'ziN> 嚌2nifN> fvlh} AOSsL   N]|03 6ٱF2@˓ Y˦f2,>X.lf} qp:er͌=t8?agR{232gM>CsLb $n-$pq'zi^j#cm\2GwDfڎwf=L- èk':an-"AH)bӝwC:ma͛` 3pp(ˣ'CSyj>66U1CŤ@H)>LZD) 5 CrkcCŤ@[]۩OMaf} ۩Iv5`͍K['zi^| S23VRܣ} }Ku1i r3 7CŤ@H->LZy`e8~ mcÆS5^۩HR }~@~0kvuSzmc6;5Wٱb -.SŤˣ'Cm3ꦈ)Ҧ^0U!,.hU3U|CXgLG>,mqYP՛:lvʼ\gd>LZDSŤjˣ6sLPvZ53ipۚ`Wb $n- t{dv'A@x-C_/WK; |ja4m0NloQpSQ@(6Yԣ;55fRˇrϠ0Υ j/oj|n@&C PU} ۩HF<Ѳ.2wX-pۃCŤ@H)>LZqpZ5mu-o3FhJ`E]Mˡ[g-W42h\) 5!FtMi̓,X5$S Q:SŤ c;61q,Y5Gzn-"AH)bٱGm@3EEeyt6ٱTe86BLxGeQvAҙ_L|3èkpZ9^@Jb6aʹh(ILeCUYc]8 mUٮ4Ϊn? @j@U} ۩H?f]> : jH t%i"D?u*0 8SV u܁`X?fp:@B@09V/8ĉ҂I$ }0e80X 4~F9@0Nf}  ۩IK:mc:6U b |?0iqs+g,Sl٤>[N}L3k`;tAM|\aʹvj=AjGa͎?éW,XԲ SR@jA wӠCŤ^$!>LZy~ʲGwXjưvX {u1i$ HF+n- iYCŤ@AOS$vZGM>CsL~zmc5WLf>[N 7c u1{l=@>۩H`rB };tLZB ۩HAMIϧZ̑!vln:|ujf-W4L3CŤ@H->LZHGA|tۓ=W4ljSR@(IH u*ږ_ֺ?=Aظ` HGmxSq`u1iPv.7@k@~۩J9`Z }0Nta[N/Ze7ֺ?K7t)S,NpӔ\z$2L6lDxӮZpv,;ct-u~Utt0 {U:rňmK/.hU1tԐ? :R@*I1$ [@*IJn- 6n-(rHJPu1i0Uu, sh)bө1ad Pӯh} ۩H) )lb%.Wju1i9n-$u1i AOS: :R@:RC!nO\Z%,ARXYLcGA\bR4]67CŤ@XéV(׌:SŤu1i5bAOS}L3CŤ@XéV)1Y)b%) ) 63 bzn-'|n-8bCŤ@n-$u1i AOS: :R@:Rp2h} u۔u1ivl?5ANgf]: ènr0;CŦr| }?66l͍S]MAOSsL@(IHQb $n-=6:an-"OIv$SŤ(nZ|vlh} }Ku1i sLn:'zi 5Wm\ヲS23QԷ(8t06t{dwMg}?S wfƇ۩HZ }ۚ`tt(u1i AOS=t;9=L?CŤ@[).SŤư{>LZD%4b }kN.FL%) 4? @*ܒE$3 QҶ &e(P@JPu1ia >CPAOSf$fa:VD4/4_ٱGƧ} ۩H94mjs @Ӓ@:Rٱb .Zu1i4ttEcCŤ@ZY)bөh} u1i m1fƧlc] ˣ'K@稳e? rH Jn- 6u1i)Wrſn-"PSŤu1iZ6SŤCŤ@\H)bb -N,u1i 0Sv5n-=66N;s ܱo0f,;cCŤ@HAOSsLAVbH[@$fa:VD46LE Jn-"@H> ,$'| ()b҂Đ?,1GJ(e667S !>LZAoU|$tEcCŤ@\B8P)>LZzm3 ÆS 8Yp溋Gf*Ռ:u0GJ@b|J :R@(i 5(}ڸPSŧ\;|]h} AOSrCŤ@Yj,AOS}Sr ۩H>۩H8PSŤ4>LZDB }ۚc8!Γ#`rſt͍S %>LZzm0J jHY nIP$@jPu1i`ӡ>LZt]ܒAWi =tg5Է(%)O'zi2n t :acj$N/<9G/ AWiAMt$P&6@jg,d6̗5gC3h7'|jada5RܣC͍B[r|晩aCY,^21)00\$N t9,ӌ $ 8%HA9pqj,Q!e(0 %$rHf&Y0@JQ'{H%I\<-qbW# d4Q `lQ JP- +50Q"D]0ml m i):@->CsLfe;@0}:5(׽Ŋ$H.S:ĮFɖh@0NlJͱDA)@$Ь@DUMXmF 64r->C:AJJ$f $HOo*Ɵ,`$<tR$'|} .BN%5$zDTb8Ja8lf$  sbVm$ J$f %isIx&餤'CaFĸ&(i[@Vk`\6gQbM7M%!-?Uxdvl?GNa"6 #:\ rH t Kʠ 64Z,tۚ`s c`.C!)(?( m i)[@Vk`\6jqbM7M%"AJJ$f %iZm i)Z6RnIYpm:gnJD:h)I@$Ь@Dm6bM7M%"v5)(?( ܵBM7M%"AJJ$f %iplMIHۤAJJ$f %i&oIv .昂 rH t KnưIx&餤@]d %5$Đ?,1GJ(\ tt%?UAV: :@5$@Vk`D(H'C.\6QcYW%lR={XD(H.S"-W# ӌ $ $P09$I k$$ :7*:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptovr.htmifm $ Compiler Options - Overview

Compiler Options

The compiler options pages describe each of the compiler options, including:

  • The command-line syntax of the compiler option. The first line under the Syntax heading specifies the command-line or configuration-file method of specification. The second line, if one appears, is the #pragma options keyword for use in your source file.
  • The default setting of the option if you do not specify the option on the command line, in the configuration file, or in a #pragma directive within your program.
  • The purpose of the option and additional information about its behavior.

Uppercase letters in the option, suboption, or #pragma options keyword syntax represent its valid abbreviation. For example, both of the following are acceptable specifications of the LANGlvl option in a source file:

#pragma options lang=ansi
#pragma options langlvl=ansi

Options that appear entirely in lowercase must be entered in full.



Invoking the C for AIX Compiler
Specifying Compiler Options on the Command Line
Specifying Compiler Options in Your Source Program
Specifying Compiler Options in a Configuration File


Resolving Conflicting Compiler Options
List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics
Options that Specify Debugging Features
Options that Specify Preprocessor Options
Options that Specify Compiler Output
Options that Define the Compiler Object Code Produced
Options that Specify Linkage Options

d4Q ` k$J:7*:#J./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpas.htmifm$ pascal

pascal

Option Type Default Value #pragma options
-qoption nopascal -

Syntax

    -qpascal | -qnopascal 

Purpose
Ignores the word pascal in type specifiers and function declarations.

Notes
This option can be used to improve compatibility of C for AIX programs on some other systems.



List of Compiler Options and Their Defaults

voking l $+:7*:#F./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpdf.htmifm$    eot <>ailnprs/cdfghmu".b,-=DFPkqvwy0123IRx#%:;OTz()45CL&7AEHNSWY_j|8BVXZ[]9UIvcT.VBtM*yH%#[-#+!H:t@, 8XXXXXXa"@p8īAtIAtŶqu&"@qz!($HNEـ=ĩ1SPCR4n┑N)O 8 e;dxHql.vn^s7 qJI7 qJAv%I5l1jXbxGbڃ]lw]8cهOS#ǣeK163Ѹ$wY˞+2z}#5A(k.wŠ\ Q8} QPY$z %cj.N l9.b+7nk.wŠ5Ƕ{aAZC &a.[ %cj.Nciw$w[A"uXѮˡr. pu{Xl[Ŷ D6G6Z^P,-n%H3_eGu=s_e5?͌l5Ѱc𢠳iA3X-b=6q6EAfŎ+̜z1lç)A\PYZSV)( 9HѸSWu7 qJyR4n)I`eN)A5#FN)@cph)([FOV\:;XهOSb4n:ݎZT\-Lun޸[5>X|\œR HѸSROS6`v[#GF=]sq0֮X8&b͌df{.P}S+ [lq[EAfcӭltwRQ,kWAdkq tuIo̐+HbtMR ta`M@Ÿy͌\œRRFœR}2яcWlG.]ѹ0(/ v\ YlAE /LnR4n0 ]ӧ{.s*7-n0(/ `e:825 nuƷ"Z- ygAQ,ly#c.q̈́%׈TX  C!#fI˝1SP`PXP,p\SZ1b; 1b;#lVKValqXc)G e; &{.PtN)AAa@bFœRp{!N2]xzŋl[u4۝# ‹[e;&ge! qY u5k:m˝X]%AdZ-o| ;EAff,Gu^.z}F=B=G ,GqGuɹV\"EQLqZGf)drXD \ztOeܾ8&;ͻcAN NgA&7 qJLn NFœR :Mn=jA(*U0䱳xJHň\KEbMC`X1Yx`P^K1DŽXH{(IRAA}>c) 5wW!:cp-#FN)B)KX0[Tfa\яcdA^P %cA nS hAn63lOSl1lp\zV\]Tu^lM[Z"P]μűEAf5hűEAfd;.PYF=]re\- * 3&rGяcWl 3X-bu^=6z]؅d0fNec(?`\X["|YU1 @v#FDZ28L(˜sa u2=Eiz,v#F,6q[](?u)G {ku]>ctmm\KԛZ>>K (PIA0ʐ)KX ,{cf;X:nK (U$kcع?48ڹR7j| 9 cd*X6AB%*1fZFRFz-8hqr#5A(k|mLqYy $9B`NmC zvoFm@[,Q I RQ#l c탭PBzFREH?nԱTm"˅:ZFRFz-8hqr#5A((܊Wd넏F=˞4lN XH@"CW*A&@֏]C.%@[Z XAe6ab:GQB4y!#-I ^\$06m4Qv`t*jH)J$kEfOe"+˄&b{P@d)M)"n'uAoR_)"`‹*#=H?FktkRHRypBD0CF= =8y}au[EقTW$P ,)"a"qu&"@T# TbƩV kڌ$ :7*:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpg.htmifm $ pg

pg

Option Type Default Value #pragma options
-flag - -

Syntax

    -pg 

Purpose
Sets up the object files for profiling, but provides more information than is provided by the -p option.

If the -qtbtable option is not set, the -pg option will generate full traceback tables.

Example
To compile myprogram.c for use with the AIX gprof command, enter:

xlc myprogram.c -pg

Remember to compile and link with the -pg option. For example:

xlc myprogram.c -pg -c
xlc myprogram.o -pg -o program


List of Compiler Options and Their Defaults
Options that Specify Debugging Features
-p
gprof command in the AIX Version 4 Commands Reference, for details on profiling.

R k $:7*:#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptphs.htmifm$ phsinfo

phsinfo

Option Type Default Value #pragma options
-qoption nophsinfo -

Syntax

    -qphsinfo | -qnophsinfo 

Purpose
Reports the time taken in each compilation phase. Phase information is sent to standard output.

Example
To compile myprogram.c and report the time taken for each phase of the compilation, enter:

xlc myprogram.c -qphsinfo


List of Compiler Options and Their Defaults
Options that Specify Compiler Output

uoptl k$ :7*:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpl.htmifm$ p

p

Option Type Default Value #pragma options
-flag - -

Syntax

    -p 

Purpose
Sets up the object files produced by the compiler for profiling.

If the -qtbtable option is not set, the -p option will generate full traceback tables.

Example
To compile myprogram.c so that it can be used with the AIX prof command, enter:

xlc myprogram.c -p

Note: When compiling and linking in separate steps, the -p option must be specified in both steps.



List of Compiler Options and Their Defaults
Options that Specify Debugging Features
pg Compiler Option
prof
command in the AIX Version 4 Commands Reference, for details on profiling.

 k"$3 :7*:#3 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpnd.htmifm$ #

#

Option Type Default Value #pragma options
-flag - -

Syntax

-#

Purpose
Traces the compilation without invoking anything. This option previews the compilation steps specified on the command line. When the xlc command is issued with this option, it names the programs within the preprocessor, compiler, and linkage editor that would be invoked, and the options that would be specified to each program. The preprocessor, compiler, and linkage editor are not invoked.

Notes:
The -# option overrides the -v option. It displays the same information as -v, but does not invoke the compiler. Information is displayed to standard output.

Use this command to determine commands and files will be involved in a particular compilation. It avoids the overhead of compiling the source code and overwriting any existing files, such as .lst files.

Example
To preview the steps for the compilation of the source file myprogram.c, enter:

 xlc myprogram.c -#


List of Compiler Options and Their Defaults
Options that Define the Compiler Output
-v

)K k$:7*:#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptprc.htmifm$ proclocal, procimported, procunknown

proclocal, procimported, procunknown

Option Type Default Value #pragma options
-qoption proclocal* PROCLOCal, PROCIMPorted, PROCUNKnown

Syntax

    -qproclocal | -qproclocal=names 
    -qprocimported | -qprocimported=names 
    -qprocunknown | -qprocunknown=names 
    PROCLOCAL | PROCLOCAL=names 
    PROCIMPORTED | PROCIMPORTED=names 
    PROCUNKNOWN | PROCUNKNOWN=names 

Purpose
Marks functions as local, imported, or unknown.

Default
The default is to assume that all functions whose definition is in the current compilation unit are local (proclocal), and that all other functions are unknown (procunknown). If any functions that are marked as local resolve to shared library functions, the linkage editor will detect the error and issue warnings such as:

ld: 0711-768 WARNING: Object foo.o, section 1, function .printf:
          The branch at address 0x18 is not followed by a recognized no-op
          or TOC-reload instruction.  The unrecognized instruction is 0x83E1004C.

An executable file is produced, but it will not run. The error message indicates that a call to printf in object file foo.o caused the problem. When you have confirmed that the called routine should be imported from a shared object, recompile the source file that caused the warning and explicitly mark printf as imported. For example:

xlc -c -qprocimported=printf foo.c

 

Notes

Local functions Are statically bound with the functions that call them. -qproclocal changes the default to assume that all functions are local. -qproclocal=names marks the named functions as local, where names is a list of function identifiers separated by colons (:). The default is not changed.

Smaller, faster code is generated for calls to functions marked as local.

Imported functions Are dynamically bound with a shared portion of a library. -qprocimported changes the default to assume that all functions are imported. -qprocimported=names marks the named functions as imported, where names is a list of function identifiers separated by colons (:). The default is not changed.

The code generated for calls to functions marked as imported might be larger, but it is faster than the default code sequence generated for functions marked as unknown. If any marked functions are resolved to statically bound objects, the generated code may be larger and run more slowly than the default code sequence generated for unknown functions.

Unknown functions Are resolved to either statically or dynamically bound objects during link-editing. -qprocunknown changes the default to assume that all functions are unknown. -qprocunknown=names marks the named functions as unknown, where names is a list of function identifiers separated by colons (:). The default is not changed.

Conflicts among the procedure-marking options are resolved in the following manner:

Options that list function names The last explicit specification for a particular function name is used.
Options that change the default This form does not specify a name list. The last option specified is the default for functions not explicitly listed in the name-list form.

Example
To compile myprogram.c along with the archive library oldprogs.a so that the functions fun and sun are specified as local, moon and stars are specified as imported, and venus is specified as unknown, enter:

xlc myprogram.c oldprogs.a -qprolocal=fun(int):sun()
  -qprocimported=moon():stars(float) -qprocunknown=venus()


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

/ k$m :7*:#m ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpri.htmifm$ print

noprint

Option Type Default Value #pragma options
-qoption - -

Syntax

    -qnoprint 

Purpose
Suppresses listings. -qnoprint overrides all of the listing-producing options, regardless of where they are specified.

Notes
The default is not to suppress listings if they are requested.

The options that produce listings are:

  • -qattr
  • -qlist
  • -qlistopt
  • -qsource
  • -qxref

Example
To compile myprogram.c and suppress all listings, even if some files have #pragma options source and similar directives, enter:

xlc myprogram.c -qnoprint


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-qattr
-qlist
-qlistopt
-qsource
-qxref

>  k:$ :7*:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpro.htmifm$ proto

proto

Option Type Default Value #pragma options
-qoption noproto PROTO

Syntax

    -qproto | -qnoproto 
    PROTO | NOPROTO 

Purpose
Assumes all functions are prototyped.

Notes
This option asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. Callers can pass floating-point arguments in floating-point registers only and not in General-Purpose Registers (GPRs). The compiler assumes that the arguments on procedure calls are the same types as the corresponding parameters of the procedure definition.

You can obtain warnings for functions that do not have prototypes.

Example
To compile my_c_program.c to assume that all functions are prototyped, enter:

xlc my_c_program.c -qproto


List of Compiler Options and Their Defaults
info Compiler Option

 l6L$_:7*:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpth.htmifm$   <>t "/adeilnopr=cgms0bhv%.fuw-13Fkqy#5:CDLTx,78ABIOP!()9ESVNSưl(;X6p:JV"jYd6SD-*1fm]A6"QlY@Tb|E8 @QXb 0`Yb*Q 1LYjNk`)S>2`8clUF/hV%-` b@R R^)%B%vzI  &J^@MUjĥžx\S ikpgQjQqQiъb*Q 1LYjN>2%Jc9֓)_ы6-`-ָw {|V S(9Iԇ cb.P^QjmZZ)[q>%-` b@AR)b:Z@zZVw q\OKX;=ث) sԇH$|-q<=J-Tb.4bƌ_ikpnS|-AR(ԏ(Y(Q6-`-ָw {|V SA XN UHvSaRMHJ (,+82 .VEHƦ(@ƥ "EJȩ&J.P*QSaX`D1d;^0,]i."1*S8F/hV%-`dT"% "1ՉKX;=SR?+%n8}8" jb -4dZk%11F/ڱ)kp+"(Y(Q6JZ)=6#kMVg5qy{NL3Xa^F/CxwK |eJ)s-& S=qmZZ)[q>%-` b@=I7zqxI ԢF/ڱ)kp$^ Y#E=҂n/p(Q(ы71եœeROo* p@`s+u(WF/F/ڱ)kp1\F/F/hVw q\OKX;=ث)S.Q_E_bROo ycW:FrE_Eƌ_ы6-`-ָw {|V S]MBQwREtb-Tbͫw {|@KȃI|yE_Eƌ_ы6-`-ָw {|V S]M&QwREtb-Tbͫw {|@V@vF/+5da6A6 T C, Ʈ$.QY@v`X0)1LY1LYjNk`)S>2`8clUF/hVXN8@BBGY(p[b;OV SpI `,S!Cƌ_N"+  |-@ 1l{``&/6ɔ&R) Pы(d6Pepts kD$L:7*:#L./usr/vac/html/zh_CN/doc/compiler/ref/ruoptpu.htmifm $ P

P

Option Type Default Value #pragma options
-flag - -

Syntax

    -P 

Purpose
Preprocesses the C source files named in the compiler invocation and creates an output preprocessed source file, file_name.i, for each input source file, file_name.c. The -P option calls the preprocessor directly as /usr/vac/exe/xlCcpp.

Notes
The -P option retains all white space including line-feed characters, with the following exceptions:

  • All comments are reduced to a single space (unless -C is specified).
  • Line feeds at the end of preprocessing directives are not retained.
  • White space surrounding arguments to function-style macros is not retained.

#line directives are not issued.

The -P option cannot accept a preprocessed source file, file_name.i as input. Source files with unrecognized filename suffixes are treated and preprocessed as C files, and no error message is generated.

In extended mode, the preprocessor interprets the backslash character when it is followed by a new-line character as line-continuation in:

  • macro replacement text
  • macro arguments
  • comments that are on the same line as a preprocessor directive.

Line continuations elsewhere are processed in ANSI mode only.

The -P option is overridden by the -E option. The -P option overrides the -c, -o, and -qsyntaxonly option. The -C option may used in conjunction with both the -E and -P options.

The default is to compile and link-edit C source files to produce an executable file.



List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-C
-c
-E
-o
-qsyntaxonly

name l q$!:7*:#./usr/vac/html/zh_CN/doc/compiler/ref/ruoptqu.htmifm$  enot<>ailprs "/cdfghm.=bu,-0Qvwy#%1:T_x()*+23;ACDFIOkqz!59PS|78ENXj{}&4LUVWYBA{8ÌEqqkBCM dt(0 U4e8I@@#ؒaaaaaad'aCRZdZ21TH #*ƨ& ,c4Ida.@4,,BG7,5LY$,8I  !(8 J HS YJ!(W*>tTeMqME6Dt9)Cu1fȒN jGionH PBGqԠqLU8peCZ$r2{TR$E#/Sl 6Dt0g ۪MJ$mq)(%Rl7,LY$nF,EHÖ]$,  H([,q )(&Hś"H*&ab͑$]49eHa @zk~E%ionHܑE6DTMÈTś"Hir˳ @a DPLeqeb͑$p01fȒ.F$`X0H oP`-#/Sl 6Dt0g $)ionH PBGqԡRA/T#8k(OPf(&(ҋ·L-ݥEp J.*>n҂`8 ƒvAEeGMPL]xP`MPK] aCR۪MH Rjt rG o1.JԿ\EflL9V7)LcC`*R#eɺ߶e8/YiX@N(]bK\Ԏ0q(k=`u/2|rU4b q Jn5 WA/T rGt!S ۪MOM~`*R0?PZTț:4>RjBE08%SMԈA-H2 |k.W&?LP{Pln= ^[ kgG[3kp.`}sWmCb7ABNb rU4Ԏ0!zqcu5YJN=RTkMV fB@(.cMUVC&(A/TkuIyT{Vp6e8IQ6zX/Y} ˮj@(.}6zUZDh%aCR:0;2h}Ԅ,\ }Ԅ}ԄbK&$q%}Ԅ .aRjv*Mc<:[ 9eƦ3C&(1RjGkRK&F:29lgnrf u/S8/]8j[!άv۪MHPb }Ԏ56S.&B jGqԃ=AV5+Bw Y6zUZpTIRj@qT킖`gF-Wn5!A%Smu!:8rAxeԎ0")@YP5E4Ic4Id$qnHTś"Hir˳J.-#/ Sl"$ o1ֺq%Z_.0PPF}ǸpHX kz3TggFb]n5!A%R8]H3C&(1Rju{`/ba:0\k~Fb -#mo[81fȒ.F$A`mݥioYxjdIM! }C,\Ʃ%Z^#LuI %R8~K1p^>yrU勘,Fl7 $qnHTś"Hir˳J.%ݥzQv9󩅠=(H-#/ Sl"$EVgΌrU*r#=(&HTś"Hi ^b3V[ *>`o SqŠ;DQ`˳eS*pTr }Ԁ c:ښS\\f u/,\b0ymu#>RjBK&FpQdԎ7J.1NZ0t[x8TLz J k# |?S.JԿP|rTpz }Ԅ7n56=RjBt>Rj`"ؗK&'h}ԊoA/TFb f{)#A-Hp:W&ޣc[v`*RUtsV8/\ton*3qMA67-oYxjdIM#Yvpa EBvAEeGMPL]qMPME6DtZ勘%Z_o,q*>`HVt;SZkrUQ ʏ<[r ʦT2n5 uI7<鶺g}ԅ ۪MH H!N" KR8k(OP`eQ`Vt<kA7iA-t$qԔoc3VT*A/TTVt=RjBGRkA/T勘/YiX@H&˳HVt;0\k Y̧k.W&KR8j@9Nɹox/2.JԿzՎ7pb =[Ų:wg*:2yJoQXh%o5 Smu=Ü?|]M΍zlCΦ`7j.`yJ[Wg:u05Lʓpn5!AJ }ԢLz 8Z勘)f,rU0BEGKR8k(OP`vBG IPth%o5Д](0 zAx8TLz J k# |?BRtf u/Gzn5/SuI o>RjmAz }ԄTQ0b%S7,\a:Oz2uI|Vt94Ԏ7 8&ܑA6L0!C&-۪MJ9#:2 euۡWX킖bU9s}g@Glj%·t]K9Wн* jGq-o1iL^K0?C&(uI鶺obaʸˁB&SU Vtk.` b8bн킖`gF۪MHP$_n5=6SCMV0\}R_gF۪MHPb }]HZ勘%Z^teQ[!ڮr7]KR۪MN_n5(%H lH2>Rj@"A/TUղ;:6rk(oUY]K:r8qE`H!QQ ,(0 8$S(LW aCR=dvtmu( QQ ]ʣڶCWp{mֹb3VfdC9S@xOpvZd e #XVxx@]FG+  )ݥБA"E`H2rGqjS ,c\$2{TR$,8Iаa o[8g B% <(Il<5„Ö]$h3fbH%B @J*o$td:4QQ 6zUZpݝND0:jA*J,w$JQdC,A09eH@3fbH%B @mOMwM! z.`JNHY΃ A6o&l,Ax.$]M&X+7E RPKR8jPℐ A+=Fɓ] pVar˳ YгN$NHY΃tcAx.$k}fQ[!$]KIc:-S8Vs$8]6E:4MԿx.cq=d;LxE]E* A*J9#g: CF,u i .XVs$8\mrY໦#,\ RBuIz0I\Ax.$ \s%I@$qЬAHpmY໦PJNHY΃tۦ؃]HHP$T rG t$ wM!!@勘A*J jGioYxjdIM#r7Sl!4!?qMA62 d$q J jGqAH  *j$J5k*g,w$H&MXhxVaqp$2 EqI{8b l $:7*:#"./usr/vac/html/zh_CN/doc/compiler/ref/ruoptres.htmifm $    "eint <=>adglopr/chms%-.04fvw2bqu#,CFLSkxy|13IOPU(68ABERTW)59M:XYzA:Ss&1̍u(opC[o<[< [s {%=ϊd A Ln@D$L2 25a.]eGƯ75yPT~/",hG1̈(yE/וŹm_[8ǔW\ uD^جž>*/ƨ8@_P9{T̂/ƨ8ؿAL!BQ^׌9YtPK>{b,,PY{˅bt~5DBr/ƨs !P9{T/bjyOr/ƨ^9r/ƨs>=_R|5~5^5~ {o.B8 &bQKuqn[Kp.>5T~M__heƈg&rT-YB:cP @*o5/_!-F7o_I/ƨ8ؿQJeƈt~5AHE\h|AW|6߅ly+G1e{c+бtFƓYuƹp,]9O}%y߄P2 #9O/y .dm{yP^KoG4he3^7^)W,yG75ndͨ[q3%2(HiP)h9ˡw.E`9Ts6*9Ѭu$VmFxźۉ|'i)!A±}bok:mQ1ng_ mJdPҠ@аxp(Ċ uÅ:Qg["j3-Lە>G75ndͨ[q3%2(HiP)e|6߇7p,]>G7}oFG75ndͨ[q3%2$48P64-sYn&Hڌu:OlS" ƅHXη[q2Efg[xf$48P64- , @*9uۉ+6G75ndͨ[q3%2(HiPpK@*9uۉ+6G75ndͨ[q3%2(HiPr @uۉ+6ÀyvиmsW.oZ(FLYn&u6٤E *}bo@ok:mQ1ng_ mJd HiPpZ(FLYn&u6٤E *B(FLYn&u6٤E * @*9>%ԣA1Qs#V/*)3ȧ: c/G7}d u(9 x(9LhZd@ uDrT4 B ҥHˉ  {)mID@!.xKʊdLG2 {99:Ss kp$:7*:#$./usr/vac/html/zh_CN/doc/compiler/ref/ruoptrl.htmifm $ r

r

Option Type Default Value #pragma options
-flag - -

Syntax

    -r 

Purpose
Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.

Notes
A file produced with this flag is expected to be used as a file parameter in another call to xlc.

Example
To compile myprogram.c and myprog2.c into a single object file mytest.o, enter:

xlc myprogram.c myprog2.c -r -o mytest.o


List of Compiler Options and Their Defaults
Options that Specify Linkage Options

g_ kf:$ :7*:#% ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptrnd.htmifm$ rndsngl

rndsngl

Option Type Default Value #pragma options
-qoption norndsngl RNDSNGL

Syntax:

    -qrndsngl | -qnorndsngl 
    RNDSNGL | NORNDSNGL 

Purpose
Specifies that the results of each single-precision (float) operation is to be rounded to single precision. -qnorndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated.

Notes
This option is obsolete. Use -qfloat=rndsngl. in your new applications.

The -qhsflt option overrides the -qrndsngl options.

The -qrndsngl option is intended for specific applications in which floating-point computations have known characteristics. Using this option when compiling other application programs can produce incorrect results without warning. See Floating-Point Compiler Options before you use the -qrndsngl option.



Floating-Point Compiler Options


List of Compiler Options and Their Defaults
-qfloat
-qhsflt

 kz:$ :7*:#& ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptro.htmifm$ ro

ro

Option Type Default Value #pragma options
-qoption ro* RO

Syntax:

    -qro | -qnoro 
    RO | NORO 

Purpose
Specifies the storage type for string literals.

Default
The default with xlc and c89 is ro. The default with cc is noro.

Notes
If ro is specified, the compiler places string literals in read-only storage. If noro is specified, string literals are placed in read/write storage.

You can also specify the storage type in your source program using:

#pragma strings storage_type

where storage_type is read-only or writable.

Placing string literals in read-only memory can improve runtime performance and save storage, but code that attempts to modify a read-only string literal generates a memory error.

Example
To compile myprogram.c so that the storage type is writable, enter:

xlc myprogram.c -qnoro


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

ms kv[$:7*:#'./usr/vac/html/zh_CN/doc/compiler/ref/ruoptroc.htmifm$ roconst

roconst

Option Type Default Value #pragma options
-qoption roconst* ROCONST

Syntax

    -qroconst | -qnoroconst 
    ROCONST | NOROCONST 

Purpose
Specifies the storage location for constant values.

Default
The default with xlc and c89 is roconst. The default with cc is noroconst.

Notes
If -qroconst is specified, the compiler places constants in read-only storage. If -qnoroconst is specified, constant values are placed in read/write storage.

Placing constant values in read-only memory can improve runtime performance, save storage, and provide shared access. Code that attempts to modify a read-only constant value generates a memory error.

Constant value in the context of the -qroconst option refers to variables that are qualified by const (including const-qualified characters, integers, floats, enumerations, structures, unions, and arrays). The following variables do not apply to this option:

  • variables qualified with volatile and aggregates (such as a struct or a union) that contain volatile variables
  • pointers and complex aggregates containing pointer members
  • automatic and static types with block scope
  • uninitialized types
  • regular structures with all members qualified by const
  • initializers that are addresses, or initializers that are cast to non-address values

The -qroconst option does not imply the -qro option. Both options must be specified if you wish to specify storage characteristics of both string literals (-qro) and constant values (-qroconst).



List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced
-qro

  k@$ :7*:#( ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptrrm.htmifm$ rrm

rrm

Option Type Default Value #pragma options
-qoption norrm RRM

Syntax

    -qrrm | -qnorrm 
    RRM | NORRM 

Purpose
Prevents floating-point optimizations that are incompatible with run-time rounding to plus and minus infinity modes.

Notes
This option informs the compiler that, at run time, the floating-point rounding mode may change or that the mode is not set to -yn (rounding to the nearest representable number.)

-qrrm must also be specified if the Floating Point Status and Control register is changed at run time.

The default, -qnorrm, generates code that is compatible with run-time rounding modes nearest and zero. For a list of rounding mode options, see the -y compiler option.

This option is obsolete. Use -qfloat=rrm in your new applications.



List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced
-y
-qfloat

/li>  kȎ$e:7*:#)e./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsho.htmifm$ showinc

showinc

Option Type Default Value #pragma options
-qoption noshowinc SHOwinc

Syntax

    -qshowinc | -qnoshowinc 
    SHOWINC 

Purpose
If used with -qsource, all the include files are included in the source listing.

Example
To compile myprogram.c so that all included files appear in the source listing, enter:

xlc myprogram.c -qsource -qshowinc


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-qsource

wid l8$I(:7*:#*./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsmp.htmifm$    eot <>ailnprs"/=cdghmu.bf0vwy#%,-3OP_kqxz1:CFIMST[]259DE+478ABNUVj!&();LR|HI,5f7y1Ac ɱ# Mf4a©IvcT.VJtM*HlHRE(m@qAH H/r A$gAkT (Pֽd8BK[8  a6XA@T6N-M8 I,^%dH [AEBBRWfHI :^N)@`h)+Mڒ" A5ڀ Ɏ:N]o\XzEQ39RI ,q]֙1Q4E>N@q|,@t :D6M 鵈l*(\k^IcP.DzcPT6NlEA[Ԙ)( 4E>NHѸSRFTRcp1" }pdH )MM%Ër80A5#\6N-M8H2 zJmYI R' [XSb1,6cۣl!zබZz8,ۤ8leLYtN)@LzFœRG d2ˣoLnF=#FN)\MOS.`+&DœRK6#FN)A3ԃk%H?F)MH?l-maN[0,qA@wPd%HIa !'23*A56N-P r6c2Yl|QE:MkW!'2 ke NNEXڧ:^N)R{XC-#FN)[#s"Vkl>/P'Lnꐓi7 qJH"ZcpCಌZtc ke=#FN)[#.Pq(?cـ}#=H?FTkźxc  uAoR_ S7$޸ LnIpHτHJ8Zœ8O@-ُPdV!kkScrNml"\Cz8:1$#FN)H?#s"Vkl> ӽp[[-ȧFi< v\/:V\zබ[N,sJH6NJe9 "GkrN 7"{0A1w00P1n"CgK 8:crH=FœRGc&HR;܊tnq W`ŵ9$>6 E@ -kI,qCR8Zœ8OIœR*bh))#Y*Adkk p(?kIO!) ےxDumho!r{-vw"D. ke N.`\ņA$Lb1HwŠA0P1n"rD:FkjjdH !#Y*A5H?n Adkk p<\1c  /z R p8qn*[!ȬCf A!Y$EM0e\œRǤh)))p+^9+2c;#d\x"lE\$HRZ-bmFkS7$޸$fH?ZBHE#5A*$$bD̰&)LRFkcZ#Y*A5H?n Adkk p<\1c  /@=@B(;@=@B) R' [XS |,͗0$.vIɒȃ--de:!BtN)PHѸSRw"D $.vIkq;7$A2E1n꼅ד+%@@:Fz@is"VkodtN)NIh)(IFpD"#=H?FTkźxc  uAoR_ TH.I5:dD}R48tɊrF R' [XS |,ᅮOBx\kX,#k qZ9q5 Ou A]Ys$$8m*,̵2BOke5\b$we6NE!bz}MCL\FgIRDf08tɊrFfH?Zk @&)LP k]8tɊrFfH?Z,H91NHb)KXa ֩K &*$$5l/%H+Ln]l2R4n┃:LuDz&DcgK3*j.N"˘ MkRPedA\fx\kg|Q#Y*A5H?FlHD&ʐt/P"/*Fzt/Rcp h)+HR֩KX1CiœRa8ah}A"ku\_$0HkV)(f{XC,uQPNܒzĂ[#[ 8HbK1SP,"ꉏHѸSVLYlq8/%]&xFDK 'PA޸-&e;%-sWeѥ5ְAr@A+ cZ'|M@$>q1SP,"œ,ǀbFœR1훖) ޸-&e;%-sR@c c8117 qJɑ,tDz@X9|%&1cY)KX1CiœRa8l1a 񛎘)( 7 qJΘ)(HѸSWOS AtN)@l19HѸSP)mu_As08č8u 1SP,7 qJ k)(HѸSVaDI e\%d2F=fQ3tB4Lni$h)(:1 lGDOe.tN)O+&)7 qJ œRMHѸSP+[Jbg E'[Z"Vko ppBI.xLMm  l3X# :Kt6 E@ -kI,qC.DzcPpe(  H?n Ad&P ¸f#8KHS0,q@` ..$qCq\×f.*ТrබZ䌵$Dyp#8SF d]x(DZ f)jKԖW8ÌTg m)EM80 ˖]( I ^\$H5!fxrEPŎ+AeH?NSprබ[DLb.$qCFXHrEP1v\E6` z 8qbʘ-r$\1c`r‹"" +˄XO×f.* Bp"{0SĠir`*DR2ԑRD, hـkZR%˔0h /(ТM"IHRDAH?W 85y,rEP!YF/B_ "c "10rබ[DLb.$q`kXrEP!YF/`8\keB_ "c ")jH)J"G50tTHN }MA. ke:D,qIjH)J"GMq˳O@k`;Mqtp mlBŎ)#-I ^\$H}9v`" HRDAH?W 86l)˳O@ sಒ2ԑRD, >×f.*aU>cr.$q`m>Cf.*a.d$gHJ8Zœ8OuAoR_)Ë]3ԃk%H?F)Hֱ :^ :W 8Ì8QcfN"_q]V$9v`K +Pf#80)ET (PHRQ!A1vcT k\$? :7*:#-? ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptspi.htmifm $ spill

spill

Option Type Default Value #pragma options
-qoption spill=512 SPILL=size

Syntax

    -qspill=size 
    SPILL=size 

Purpose
Specifies the register allocation spill area as being size bytes.

Notes
If your program is very complex, or if there are too many computations to hold in registers at one time and your program needs temporary storage, you might need to increase this area. Do not enlarge the spill area unless the compiler issues a message requesting a larger spill area. In case of a conflict, the largest spill area specified is used.

Example
If you received a warning message when compiling myprogram.c and want to compile it specifying a spill area of 900 entries, enter:

xlc myprogram.c -qspill=900


List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

n k0I$:7*:#../usr/vac/html/zh_CN/doc/compiler/ref/ruoptspn.htmifm$ spnans

spnans

Option Type Default Value #pragma options
-qoption nospnans SPNANS

Syntax

    -qspnans | -qnospnans 
    SPNANS | NOSPNANS 

Purpose
Generates extra instructions to detect signalling NaN on conversion from single precision to double precision. The nospnans option specifies that this conversion need not be detected.

Notes
The -qhsflt option overrides the spnans option

This option is obsolete. Use -qfloat=nans in your new applications.



List of Compiler Options and Their Defaults
-qfloat
-qhsflt

tm#to k6$ :7*:#/ ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsrc.htmifm$ source

source

Option Type Default Value #pragma options
-qoption nosource SOURCE

Syntax:

    -qsource | -qnosource 
    SOURCE | NOSOURCE 

Purpose
Produces a compiler listing and includes source code.

Notes
The -qnoprint option overrides this option.

Parts of the source can be selectively printed by using pairs of #pragma options source and #pragma options nosource preprocessor directives throughout your source program. The source following #pragma options source and preceding #pragma options nosource is printed.

Example
The following code causes the parts of the source code between the #pragma options directives to be included in the compiler listing:

#pragma options source
   . . .
/* Source code to be included in the compiler listing
   is bracketed by #pragma options directives.
*/
   . . .
#pragma options nosource

To compile myprogram.c to produce a compiler listing that includes the source for myprogram.c, enter:

xlc myprogram.c -qsource


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
#pragma options Preprocessor Directive
-qnoprint

\ k4$ :7*:#0 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsrm.htmifm$ srcmsg

srcmsg

Option Type Default Value #pragma options
-qoption nosrcmsg SRCMSG

Syntax

    -qsrcmsg | -qnosrcmsg 
    SRCMSG | NOSRCMSG 

Purpose
Adds the corresponding source code lines to the diagnostic messages in the stderr file.

Notes
The compiler reconstructs the source line or partial source line to which the diagnostic message refers and displays it before the diagnostic message. A pointer to the column position of the error may also be displayed. Specifying -qnosrcmsg suppresses the generation of both the source line and the finger line, and the error message simply shows the file, line and column where the error occurred.

The reconstructed source line represents the line as it appears after macro expansion. At times, the line may be only partially reconstructed. The characters "...." at the start or end of the displayed line indicate that some of the source line has not been displayed.

The default (nosrcmsg) displays concise messages that can be parsed. Instead of giving the source line and pointers for each error, a single line is displayed, showing the name of the source file with the error, the line and character column position of the error, and the message itself.

Example
To compile myprogram.c so that the source line is displayed along with the diagnostic message when an error occurs, enter:

xlc myprogram.c -qsrcmsg


Compiler Message Format
Error Severity Levels and Compiler Response
Message and Listing Information


List of Compiler Options and Their Defaults
Options that Specify Compiler Output

rF k6+$:7*:#1./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsta.htmifm$ statsym

statsym

Option Type Default Value #pragma options
-qoption nostatsym -

Syntax

    -qstatsym | -qnostatsym

Purpose
Adds user-defined, nonexternal names that have a persistent storage class, such as initialized and uninitialized static variables, to the name list (the symbol table of xcoff objects).

Default
The default is to not add static variables to the symbol table. However, static functions are added to the symbol table.

Example
To compile myprogram.c so that static symbols are added to the symbol table, enter:

xlc myprogram.c -qstatsym


List of Compiler Options and Their Defaults

ine is  k<$ :7*:#2 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptstd.htmifm$ stdinc

stdinc

Option Type Default Value #pragma options
-qoption stdinc STDINC

Syntax:

    -qstdinc | -qnostdinc 
    STDINC | NOSTDINC 

Purpose
Specifies which files are included with #include <file_name> and #include "file_name" directives.

Notes
If you specify -qnostdinc, the compiler will not search the directory /usr/include (unless you explicitly add them with the -Idirectory option).

If a full (absolute) path name is specified, this option has no effect on that path name. It will still have an effect on all relative path names.

-qnostdinc is independent of -qidirfirst. (-qidirfirst searches the directory specified with -Idirectory before searching the directory where the current source file resides.

The search order for files is described in Directory Search Sequence for Include Files Using Relative Path Names.

The last valid #pragma options [NO]STDINC remains in effect until replaced by a subsequent #pragma options [NO]STDINC.

Example
To compile myprogram.c so that the directory /tmp/myfiles is searched for a file included in myprogram.c with the #include "myinc.h" directive, enter:

xlc myprogram.c -qnostdinc -I/tmp/myfiles


List of Compiler Options and Their Defaults
-I
-qidirfirst

 kxL$( :7*:#3( ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsti.htmifm$ strict_induction

strict_induction

Option Type Default Value #pragma options C C++
-qoption See below. - x x

Syntax

    -qstrict_induction | -qnostrict_induction     

Purpose
Setting -qstrict_induction disables loop induction variable optimizations that have the potential to alter the semantics of your program. Such optimizations can change the result of a program if truncation or sign extension of a loop induction variable should occur as a result of variable overflow or wrap-around.

Notes
This option affects only loops which have an induction (loop counter) variable declared as a different size than a register. The most probable incidence of such a situation will likely involve using 32-bit loop counters (int or unsigned int) when compiling in 64-bit mode. Unless you intend such variables to overflow or wrap around, use -qnostrict_induction.

Using -qstrict_induction can cause considerable performance degradation. However, the option may be useful for debugging a program sensitive to variable overflow or wrap-around.

Default

  • -qstrict_induction with optimization level 0, or when using c89 compiler invocation mode.
  • -qnostrict_induction otherwise.


Compiler Modes


Compiler Options and Their Defaults

 lַ$:7*:#4 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptstr.htmifm$    <>ort "/aegilnps=cdfhm-.bquv03wy#%:FOTxz,12CDEIRSk()578PUY_!9NV|4"и/P4~KW$i-Jފ9-sRE1:r;e:r攔G1",!ۯ@  `}X;F@ !caRQsNC^΂!`Gnt` p  9w(#Snj#4(dpJ*J &߼j ^u"]-c#nJ;e$%)(#Snj#±PSnjk WS 9:E)ܣSsL*S 9ir GntA {@Gnt` QG7Nk2[x-Nk264`J*coeHC[o9p\EJcoeJt9HsX:߫qjsXp J*DPT)s")r)(#c@~ũcFšF2BA(@bZo)R"oQG7Nk2[x-Nk264`J*coe)录+.|eԧHt5G5pG iP e )Yu)(#c@~ũcFšF2BA(8H6SQ9:]4¦;PP:S{+aG10Əxa/4}74 Axh )ݩL1ts [@ VBLw-;"2iNEcz\bk im[oҕ _җzToڼRVZ>v+<2ي,?ŽcaS{(WLw-;"2iNLw-_qh)录T{﬒V>o[A[G5Z[A-n0Tr &;e1ܷ$)|s)ap֖zs)s׳d/zS){=eV[oCQyZ`h[_{.Z|~,kX8u[o.m.mr{8o S_`9q.m.mTccZ׳V k \b|CKG4S9^=`9\/J_[AVcoe m)4u.mLw-cS{+{1ܷ %֭KS"'6S{(96o6;Pa/4}r^w-IuF%+"'6S{(96iHQsL(X:E~coeKZ1.ֿe1ܷG[AV)彔smƐ/w-cS{+{{"aG10]X9EyL(9Sshůg[A<04}ᄒVKLw-ZRw-IuF%;Wl{_I+@n VR}X/:\bk im[o)shshůg[A<0w>IuF}DcoeOҕJ_˃\^x\z3ZoխǬ:coeKZ6DNl;P)sh攊u4¦;PT)Lw-ݩsJwh Y*^^Mҗ;Tw>coe{s V5q{}1ܷ<;UZ[A-ny̲IX ŽcD:Ċ]:_xBd#: :0P{@B(9t-Nk264QaXP2V"2orŭҝ*o+cCNSnj#±P)dS{{o&V]H+.5NG7roܣHsX:߫qjsXp sZt9;s:GSnj^#Snj#4(dP)(89xۂ(04}sw(9t5G5pG iP(NG7ΑũcFASQ)ܣw(:t9;sT!ˣR!8$U9WO-y!J_!dS{{#p_Zn{(04}rcoeGLw-0/ ucoeƏ[]Z-g6-?J_[A2[^-km[>QsHXxW8~X\2ي,800'Ə0]jщv ȉ͔Ԧ9"cE^caS{( (9r[^wjDeҝ˃\X\2ي,87oҗb_kKh=Z|Nk'w-Lw-쮬_X@o{)c{;cV=dI<w-IuF%;PG!/)sY=^"E+{cprY@_,Sp[^ /K ;Pa$գdDcoe@[x QsHXxW8~X\2ي,800'Ə0]jщv ȉ͔Ԧ9"cE^cJ9ir !uQ5Ό;^4QG7p  EKKg2KKS`v4p G7$d`:,Pe^pd5< )mÛ Y*팥U"2oW+HPXVۂ( S Wkm.ů1,eMŏJDeV,pi`"%*sʹXFF i.i`" %֭FQ*b*և+KmLw>CmTHt-Nk26 BNk21+Q_L(sriNCG10L(9\Y# 8t5ďopؤqOhVd/cD<ñ!x2RQ)d)+Ku.htm"> l~e${:7*:#6W ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsu.htmifm $    <>eort /agilnps"bcdhm-.=fu0kvwxy#%,13FSTq:AEPRV()4578DILNOXYj29CGIsATd9h*A^I&NcCx"x$`80 }0 i1C9R;+xM`SJڡ# Ȧ1I j7 Y:PAܓ4-M6ۆk'J0 0P.`UxBFN-,L Y a=.[vai2sƓ’ũFpݶtúX4HصO9Lܓ'1C9R;+xM`Cr)rI%mP(܊c䐶HI'7i=,Z$b)X7 Kmp L?rک;Wm9@~Sd'SDE7kIb#mnt#`B-s`0&NozX4HSvn-M6ۆk'J0,`ys۵v@dFsƓũF"pjh7 Y:P@4!1*Qsd'SDE7kIb#mnt#`<#I4-M1ݬ%SDZ҄ &NonIԎʓL?rکR~SeLnF'1~R[j'0)Kz^,vVv%WWPjCܶ@xsRH+-#lյ^mT|!OS odX~vY"ȯc#|?rکp[U«1d?rکmTC'70j8~S*M?-C-bbmTmT œOj9[U>IsCR +(&Er)8K)+U iR+T+B.ߥW"--'m9htKxҫ-~SڻouAJԗG5UqKewe,'X+wk-.[@Wleoa ,#'1 91!#bK#bKpÃavTЁdԜ4:aHOYkܶ|smbv{Y-M &XϥW%:'zs-0Y4O[z|?rکp[U)lܶK vZ%C-IM#'1 91!#bKF'4 vY w'1u,- vZ%#e,oKEĵBҪj/-jĖ![U G:Nce{Rs;*cvCG,5jĖ KvZ%|#vaʓ;,xړ悲Nc5#  nE1I$0@܊c䐶Hp No9Ik'J0 0߄ @,)!K7 Y:P@7*H4'7'(H.ݬ~+KiK~rYcvU/8I|!3VP#`vi`} !Ȅ&`|$ln ,8L'7'(H.ݪ`>ۆ&`|$ln`>ۆL'7'(H.ݮ ,8L'7'(H.ݫrD4Ʉ&`|^ԁ $6 %W(Ue4No!{RǮ'-Pi!{Sd'%SDl/tjhj+F!s49'4#R;*Nc0IsByYB BA[m"Az(AZX -]@@YiU= R,R Ǽ&HL!2sBCdN`V k$ :7*:#8 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsup.htmifm $ suppress

suppress

Option Type Default Value #pragma options
-qoption nosuppress -

Syntax

    -qsuppress=msg_num[:msg_num ...] | -qnosuppress

Purpose
This compiler option lets you specify warning or information messages to be suppressed in compiler listings or screen displays.

Notes
This option suppresses compiler messages only, and has no effect on linker or operating system messages.

Compiler messages that cause compilation to stop, such as (S) and (U) level messages, or other messages depending on the setting of the -qhalt compiler option, cannot be suppressed. For example, if the -qhalt=w compiler option is set, warning messages will not be suppressed by the -qsuppress compiler option.

The -qnosuppress compiler option cancels previous settings of -qsuppress.

Example
Assuming a sample program called myprogram.c, shown below:

#pragma incorrect_pragma

void () {
}

Compiling the program above would normally result in the following or similar compiler message:

"t.c", line 1.1: 1506-224 (I) Incorrect #pragma ignored

To suppress this message, compile the sample program with the -qsuppress option as follows:

xlc myprogram.c -qsuppress=1506-224


List of Compiler Options and Their Defaults
-qflag
-qhalt
-qmaxerr

r k>$ :7*:#9 ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptsyn.htmifm$ syntaxonly

syntaxonly

Option Type Default Value #pragma options
-qoption - -

Syntax

    -qSYNTAXonly

Purpose
Causes the compiler to perform syntax checking without generating an object file.

Notes
The -P, -E, and -C options override the -qsyntaxonly option, which in turn overrides the -c and -o options.

The -qsyntaxonly option suppresses only the generation of an object file. All other files (listings, precompiled header files, etc) are still produced if their corresponding options are set.

Example
To check the syntax of myprogram.c without generating an object file, enter:

xlc myprogram.c -qsyntaxonly

or

xlc myprogram.c -o testing -qsyntaxonly

Note that in the second example, the -qsyntaxonly option overrides the -o option so no object file is produced.



List of Compiler Options and Their Defaults
Options that Specify Debugging Features
-C
-E
-P

ef k\$M :7*:#:M ./usr/vac/html/zh_CN/doc/compiler/ref/ruopttab.htmifm$ tabsize

tabsize

Option Type Default Value #pragma options
-qoption tabsize=8 -

Syntax

    -qtabsize=n 

Purpose
Changes the length of tabs as perceived by the compiler.

Notes
n is the number of character spaces representing a tab in your source program.

This option only affects error messages that specify the column number at which an error occurred. For example, the compiler will consider tabs as having a width of one character if you specify -qtabsize=1. In this case, you can consider one character position (where each character and each tab equals one position, regardless of tab length) as being equivalent to one character column.



List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics

wi l2G$:7*:#; ./usr/vac/html/zh_CN/doc/compiler/ref/ruopttbt.htmifm$   <>et "/acgilnoprs=bdfhmu.0vTkwy#%,-13ACDFqz5:BILORSVWx&48;ENX*79MPGtYsQ89jmPN]sRIg1C@p3BBB!> @"sTn9j BC@u;^P!xN*[^P!1" @%slSNJQ>*(J.!KP5NթJQX*6EUz6ge$?nH6oNg7hJK?)x?km'>x±տIϏݟ\sTn`"en +98"۬*vXЎ' ݾ` IݺLl9T3 ׎tT8{@ s-`9Vs֏ĩcF(I]n'G~%Nk*6E})aT3}‰Ûz$O|7@[+9GTapƏ`J.lNt{9GTaX;[J^ PcJsEٹx*vHk`oYZ?54}$TQus)Nu'v:=*sXQ,(%/Rggf?$*|o𗊤r]")Z</|4cgO[s씼K TT3\ :=IYI 쳘Q9{(=•IeG[ώbs\4i D%ICe=n':TZk`[ۡ1OeBvg~nԝE<7$D$Rb\~?, gW ;씼K 9C;>PIOSByiM psP{-9H,:e&{(=s.Eu5Z?g\k&ékP[Ili`H ~`_, g ;씼K B\6u4'|p֧Nr󊗜`R}'9sװY*{2a`\OeӚRìRg}p*-vH\CX\ vԘsTg7ӛ`^9=C; :=J}'=Oel:LP{,s_#9p*-r5L=%ͳͰ/ NzeZ[IeG[%`{gg7#9{(=!T_5sR`9j~βTd_I>ݳB_ISAT3=9l,1g7ӛ`q8g nhMZ?:>~ySAXKF e)Τe.mNmTZ潜1O|<54&ll? $\4yIKn僀s)<(gd38dJ۹a&6sL9T3 ׎tT8{@u8m{@pƏ`Y~PDQtҙ%Ҕ̚^c!1"Qưg7+, THG]=NE{G.G[ϩDeBvΒg7+, THG\8ҁ`%[@o`ű{o+KNg7+, TT,|!d09:P#aXCQnQkG7>!.J"e%WISNJQ*7QsXQ&E1ԝP9jcg1Jä8tE%pz;4ZN9,TҔ̚^ƌR!hH|jH6jI:St k$+ :7*:#=+ ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptthd.htmifm $ threaded

threaded

Option Type Default Value #pragma options
-qoption See below. -

Syntax

    -qthreaded | -qnothreaded

Purpose
Indicates to the compiler that the program will run in a multi-threaded environment. Always use this option when compiling or linking multi-threaded applications.

Notes
This option applies to both compile and linkage editor operations.

To maintain thread safety, a file compiled with the -qthreaded option, whether explicitly by option selection or implicitly by choice of _r compiler invocation mode, must also be linked with the -qthreaded option.

This option does not make code thread-safe, but it will ensure that code already thread-safe will remain so after compile and linking.

Default
The default is -qthreaded when compiling with _r invocation modes, and -qnothreaded when compiling with other invocation modes.



Specifying Compiler Options for Architecture-Specific, 32- or 64-bit Compilation


Compiler Modes
List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced
-qsmp

 ./usr/vac/html/zh_CN/doc/compiler/ref/ruopttl.htmifm$   <>t "/aegilnopr=cdms0bfh%.uvw,-13kxy#:ABFITq()578CDL!9EOPSVNX6 8!bB=)ǣD ő*Hb,-[-P%ISCpnc=( (b 0`Yb*Q 1LYjꈧ |e5HᏌ$f9b1bE8$0`sы71’-žlĊp"AU"$e tʼnhJ`=Jw$ {|R=R 1=cIkOo<.)L4p&_!F/ǣQqQiQb*Q 1LYjꈧMl8r8>2`pǣn4b͏[8u'’-žlĊpH=I7u!!l{_0JԠܺXb͏[8u'’-žlĊpP(!(BB[f/*EF/ZŸSZ|)-b)>HRhE+!&/l{Qcы(ы71-œe:IkOobE8$DP CRBEF/ZŸSZ|)-b)>HR(:BEF/ZŸSZ|)-b)>H@EF/F,ŘTq{@ u ˮQ 1LYUSw_]ԨƦ) EJ(u(UF)0&.&0y*q{\@ؕp0 PpobU7te^[bؕc-ɵʈEH&P(#BSaRM]e^ԇ`ǻ.pIP[,ObU7te^[ CRxQ*uJm.1P(Q$(1P!F)!`hKTbͤ;U|GTE8c)GXSZL3Nbƌ_pNDRZŸS|-ؑN zRM],^e^ԡDTǣl|)-b)=I7tHd-tܺXb.4bƌ_pNDRZŸS|-ؑN zEU7t4Xb͏%[= ƪ8ש_Eƌ_ы6>n)֨ KX {|{)!S.Q_EF/RZŸSz/" jHNXb.4bƌ_pNDRZŸS|-ؑN zEU7u EJ!Q( KX {|@%ATxEPQ$<ǣQqn4b͏[8u'’-žlĊpH`s*.Q_EF/RZŸSz %Dj,z11F/ZŸSZ|)-b)>H=L"u(UF/ǣl|)-b)=nFx&)n9-{{ۂ _DpU(\hckN2j𤵋p["0n.Q_EF/RZŸSzj"8LRrZ %mcf/J,z11F/ZŸSZ|)-b)>H=L"lXb͏%[=ҵj_Eƌ_ы6>n)֨ KX {|{)!S]ԢU_𤵋pZVJGM] ˠ b,z11Ux4%1LYI7t!!-A7uxъ䛋ܺ2n/ra90P TEB*dDVw>-V:$%*fy&.C^F䛋ܺ2n/rTEB*dDQw>`!Mk@WCv%Y6/\RF䐢LV7t:(&.9D(1f䛋ܺ2n/ra90P IˠE ˩QqIE'sؕcBB[{ q7lN䐢q*1It~z7$Iˡ^Iˠn/r7t ˠ9$^e^I˭n/rM](&.(G(,¤ܺ0bHU(&.1@<1/\R@@/Jo*ܒ$^ъ9Aor@" jJ%^xEB P*ycU.I$TxEHܒHSQD(1d;^0, }_USw@ƍ ^@9Aor@" jJ0EEJ!Q(׌ B_jő1śHvpS[;NkIFc) `$SC=ql|-ؑN/&# p0DˊAbE8$S&80nbD(Xb.4b-!ڪ1LYJ!F))B8@B3ȃgeB@.}e R8@B-ЅAꈧ z&Y@w P&mr>  k{$}:7*:#@}./usr/vac/html/zh_CN/doc/compiler/ref/ruopttun.htmifm $ tune

tune

Option Type Default Value #pragma options
-qoption See below. TUNE=suboption

Syntax

    -qtune=suboption 
    TUNE=suboption 

Purpose
Specifies the architecture system for which the executable program is optimized.

Notes
Allowable values for suboption are:

auto Automatically detects the specific architecture of the compiling machine. Use this suboption only if the execution environment is the same as the compilation environment.
403 
Produces object code optimized for the PowerPC 403 processor.
601 
Produces object code optimized for the PowerPC 601 processor.
602 
Produces object code optimized for the PowerPC 602 processor.
603 
Produces object code optimized for the PowerPC 603 processor.
604 
Produces object code optimized for the PowerPC 604 processor.
p2sc 
Produces object code optimized for the PowerPC P2SC processor.
pwr 
Produces object code optimized for the POWER hardware platforms.
pwr2 
Produces object code optimized for the POWER2 hardware platforms.
pwr2s 
Produces object code optimized for the POWER2 hardware platforms, avoiding certain quadruple-precision instructions that would slow program performance.
pwr3 
Produces object code optimized for POWER3 processors.
pwrx 
Produces object code optimized for the POWER2 hardware platforms (same as -qtune=pwr2).
rs64a
Produces object code optimized for the RS64A processor.
rs64b
Produces object code optimized for the RS64B processor.

If -qtune is specified without -qarch=suboption, the compiler uses -qarch=com.

You can use -qtune=suboption with -qarch=suboption.

  • -qarch=suboption specifies the architecture for which the instructions are to be generated, and,
  • -qtune=suboption specifies the target platform for which the code is optimized.

Default
The default setting of the -qtune= option depends on the setting of the -qarch= option.

  • If -qtune is specified without -qarch, the compiler uses -qarch=com.
  • If -qarch is specified without -qtune=, the compiler uses the default tuning option for the specified architecture. Listings will show only:
        TUNE=DEFAULT

To find the actual default -qtune setting for a given -qarch setting, refer to Acceptable Compiler Mode and Processor Architecture Combinations.

Example
To specify that the executable program testing compiled from myprogram.c is to be optimized for a POWER hardware platform, enter:

xlc -o testing myprogram.c -qtune=pwr


Specifying Compiler Options for Architecture-Specific, 32- or 64-bit Compilation


Acceptable Compiler Mode and Processor Architecture Combinations
List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced
-qarch

Pro kN$} :7*:#B} ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptunr.htmifm$ unroll

unroll

Option Type Default Value #pragma options
-qoption unroll=4* -

Syntax

-qunroll=n | -qnounroll 

Purpose
Unrolls inner loops in the program by a factor of n.

Notes
When -qunroll is specified, the bodies of inner loops will be duplicated n-1 times, creating a loop with n original bodies. The loop control may be modified in some cases to avoid unnecessary branching.

The maximum value for n is 8.

Default
The compiler will perform automatic unrolling of inner loops by a factor of 4 at an optimization level of 2 or higher (for example, when the -O3 optimizing option is specified). This will be disabled, however, if -qnounroll is specified at the same time.

Example
In the following example, loop control is not modified:

while (*s != 0)
{
  *p++ = *s++;
}

Unrolling this by a factor of 2 gives:

while (*s)
{
  *p++ = *s++;
  if (*s == 0) break;
  *p++ = *s++;
}

In this example, loop control is modified:

for (i=0; i<n; i++) {
  a[i]=b[i] * c[i]; 
}

Unrolling by 3 gives:

i=0;
if (i>n-2) goto remainder;
for (; i<n-2; i+=3) { 
  a[i]=b[i] * c[i];
  a[i+1]=b[i+1] * c[i+1]; 
  a[i+2]=b[i+2] * c[i+2]; 
} 
if (i<n) { 
  remainder: 
  for (; i<n; i++) { 
    a[i]=b[i] * c[i]; 
  } 
}


List of Compiler Options and Their Defaults
Options that Specify the Compiler Object Code Produced
-O

WER k$ :7*:#C ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptupc.htmifm$ upconv

upconv

Option Type Default Value #pragma options
-qoption noupconv* UPCONV

Syntax

    -qupconv | -qnoupconv 
    UPCONV | NOUPCONV 

Purpose
Preserves the unsigned specification when performing integral promotions.

Notes
The -qupconv option promotes any unsigned type smaller than an int to an unsigned int instead of to an int.

Unsignedness preservation is provided for compatibility with older dialects of C. The ANSI C standard requires value preservation as opposed to unsignedness preservation.

Default
The default is -qnoupconv, except when -qlanglvl=ext, in which case the default is -qupconv. The compiler does not preserve the unsigned specification.

The default compiler action is for integral promotions to convert a char, short int, int bitfield or their signed or unsigned types, or an enumeration type to an int. Otherwise, the type is converted to an unsigned int.

Example
To compile myprogram.c so that all unsigned types smaller than an int are converted to unsigned int, enter:

xlc myprogram.c -qupconv

The following short listing demonstrates the effect of -qupconv:

#include <stdio.h>
int main(void) {
  unsigned char zero = 0;
  if (-1 <zero) 
    printf("Value-preserving rules in effect\n"); 
  else 
    printf("Unsignedness-preserving rules in effect\n"); 
  return 0; 
}


List of Compiler Options and Their Defaults
-qlanglvl

td va l$:7*:#D- ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptuse.htmifm$   eirt "/<>acdglnops=fhmu.bwy,-0qv#%13FTxACDIPUk()5789:LOX|2HSVWNHCb)}(ԙ$mF*P=-1LTDd_pX, )!!!!!'W1LTIDbՇ}p pS% pS9- pSBBAQQo [ RF7P^Z=<.س+Y)2:ԙ$ jJ1ҍj_xZn.۠)>_J1ҍj_J7b*dJ1LTþxk8$mmœl8SF/qF/uo@Sk}c#S@0 L#)!2:FRQQo[maZnEGP Hu42~I@u%Nʆ }[tqN PX2ی'ҀJ51(QQo[maZnEG := J'9Im EZ:޷۠)POn)@A:"Dj_zneCkt>G-8PBQQFTVLFPOr0rQ%*eI"\gRdHFD);m3cR%Bx@T"LLFꒉe(1S%&{(`td}~YLxqoKik}O::bu;+ȑ+}7Kmge/i0{!bxD!u%oEDb=vOr0rI1R&W"-!LLJ(QbVX)OO|)))˃8Ibwb[t>G-8gRdHJ51ӭk}c# Oȑ+}7Kmg]{3܌N҉FP9c{@۞>]T7!j_J7bwb[t>G-8gRdHfB_Z:۠)2:%om[%$F/ m3cR!^zY7\=n{pqfGFS'Z`D#(S"D=-k}z~um3cC%ڗyL"ׂȮ!MlpJQD+53@۞_S"D=-k}v- m3cR!F/n{?p=vPfJj1҂^(֨qF/qF/u-o@Sd~"ۣpPH  II"](֨N }&5?&uȑ+}7KmgS ҍj_J7b*d`= &u&D%܌7{ꄙ$Or0rXn0^WmN oɝ7]Z=`?N'L,KLb_o\uχ-CF/r0rI"ID#+:o[ -κb6ye2$JMYƷzLb_n&$x{c =dHǥo2$JMc|p8m ^PQ*d= &u&D%܌7{ꄙ$Or0rUrgMVXzq!{l['κ ̨oS"D=-Q%*d(n&$dq1'pu$>(JC p4i2} e/nx;_/)"Vo*[k8.SJI"[hcAGո} H|QLeHdu+}grی'42~(Zb||>,m@{Ki(Zb||>k}T$ȑ$jJ$(֨N })2}-J$(֨qF*QQbJJ$JC p2%oC#Tha0(0Aԛ!xN2ETXr!!c6SIBb*1R%"> k$T :7*:#FT ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptuu.htmifm $ U

U

Option Type Default Value #pragma options
-flag - -

Syntax

    -Uname 

Purpose
Undefines the identifier name defined by the compiler or by the -Dname option.

Notes
The -Uname option is not equivalent to the #undef preprocessor directive. It cannot undefine names defined in the source by the #define preprocessor directive. It can only undefine names defined by the compiler or by the -Dname option.

The identifier name can also be undefined in your source program using the #undef preprocessor directive.

The -Uname option has a higher precedence than the -Dname option.

Example
To compile myprogram.c so that the definition of the name COUNT, is nullified, enter:

xlc myprogram.c  -UCOUNT

For example if the option -DCOUNT=1000 is used, a source line #undefine COUNT is generated at the top of the source.



List of Compiler Options and Their Defaults
Options that Specify Preprocessor Options
-D

Z k@$u :7*:#Gu ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptvl.htmifm$ v

v

Option Type Default Value #pragma options
-flag - -

Syntax

    -v 

Purpose
Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed to standard output.

Notes
The -v option is overridden by the -# option.

Example
To compile myprogram.c so you can watch the progress of the compilation and see messages that describe the progress of the compilation, the programs being invoked, and the options being specified, enter:

xlc myprogram.c -v


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-#

ght k+$+:7*:#H+./usr/vac/html/zh_CN/doc/compiler/ref/ruoptwl.htmifm$ w

w

Option Type Default Value #pragma options
-flag See below. -

Syntax

    -w 

Purpose
Requests that warnings and lower-level messages be suppressed. Specifying this option is equivalent to specifying -qflag=e:e.

Example
To compile myprogram.c so that no warning messages are displayed, enter:

xlc myprogram.c -w


List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-qflag

cify  kt$.:7*:#I../usr/vac/html/zh_CN/doc/compiler/ref/ruoptwrn.htmifm$ warn64

warn64

Option Type Default Value #pragma options
-qoption nowarn64 -

Syntax

    -qwarn64

Purpose
Enables checking for possible long-to-integer truncation.

Notes
All generated messages have level Informational.

This option functions in either 32- or 64-bit compiler modes. In 32-bit mode, it functions as a preview aid to discover possible 32- to 64-bit migration problems.

Informational messages are displayed where data conversion may cause problems. The 64-bit compiler mode , such as possible:

  • truncation due to explicit or implicit conversion of long types into int types
  • unexpected results due to explicit or implicit conversion of int types into long types
  • invalid memory references due to explicit conversion by cast operations of pointer types into into types
  • invalid memory references due to explicit conversion by cast operations of int types into pointer types
  • problems due to explicit or implicit conversion of constants into long types
  • problems due to explicit or implicit conversion by cast operations of constants into pointer types
  • conflicts with pragma options arch in source files and on the command line


Specifying Compiler Options for Architecture-Specific, 32- or 64-bit Compilation


Acceptable Compiler Mode and Processor Architecture Combinations
List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

e  k8g$:7*:#J./usr/vac/html/zh_CN/doc/compiler/ref/ruoptwu.htmifm$ W

W

Option Type Default Value #pragma options
-flag - -

Syntax

-Wprogram, options 

Purpose
Passes the listed options to the designated compiler program.

program can be:

Program Description
a Assembler
b Compiler back end
c Compiler front end
I Interprocedural Analysis tool
l linkage editor
p compiler preprocessor

Notes
When used in the configuration file, the -W option accepts the escape sequence backslash comma (\,) to represent a comma in the parameter string.

Example
To compile myprogram.c so that the option -pg is passed to the linkage editor (l) and the assembler (a), enter:

xlc myprogram.c -Wl:a, -pg

In a configuration file, use the \, sequence to represent the comma (,).

-Wl:a\,-pg


List of Compiler Options and Their Defaults
Options that Specify Compiler Characteristics

gram kb$7:7*:#K7./usr/vac/html/zh_CN/doc/compiler/ref/ruoptxca.htmifm$ xcall

xcall

Option Type Default Value #pragma options
-qoption noxcall -

Syntax

-qxcall | -qnoxcall 

Purpose
Generates code to static routines within a compilation unit as if they were external routines.

Notes
-qxcall generates slower code than -qnoxcall.

Example
To compile myprogram.c so all static routines are compiled as external routines, enter:

xlc myprogram.c -qxcall

 


List of Compiler Options and Their Defaults

a k$ :7*:#L ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptxrf.htmifm$ xref

xref

Option Type Default Value #pragma options
-qoption noxref XREF

Syntax

    -qxref | -qnoxref 
    XREF | NOXREF 

Purpose
Produces a compiler listing that includes a cross-reference listing of all identifiers.

Notes
Usage modes for xref are:

-qxref=full Reports all identifiers in the program.
-qxref Reports only those identifiers that are used.

The -qnoprint option overrides this option.

Any function defined with the #pragma mc_func function_name directive is listed as being defined on the line of the #pragma directive.

Example
To compile myprogram.c and produce a cross-reference listing of all identifiers whether they are used or not, enter:

xlc myprogram.c -qxref=full

A typical cross-reference listing has the form:



List of Compiler Options and Their Defaults
Options that Specify Compiler Output
-qnoprint

ma (,) k꾺$ :7*:#M ./usr/vac/html/zh_CN/doc/compiler/ref/ruoptyl.htmifm$ y

y

Option Type Default Value #pragma options
-flag - Yrounding_mode

Syntax

    -yrounding_mode
    Yrounding_mode

Purpose
Specifies the compile-time rounding mode of constant floating-point expressions.

Notes
rounding_mode must be one of the following:

n Round to the nearest representable number. This is the default.
m Round toward minus infinity.
p Round toward plus infinity.
z Round toward zero.

Example
To compile myprogram.c so that constant floating-point expressions are rounded toward zero at compile time, enter:

xlc myprogram.c -yz



List of Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced

ts/cuno kH$.:7*:#N../usr/vac/html/zh_CN/doc/compiler/ref/rupgerr.htmifm$ Page Space Errors During Compilation

Correcting Page Space Errors During Compilation

If the AIX operating system runs low on paging space during a compilation, the compiler issues one of the following messages:

1501-229 Compilation ended due to lack of space.
  
1501-224 fatal error in ../exe/xlCcode: signal 9 received. 

If lack of paging space causes other compiler programs to fail, the following message is displayed:

Killed.

To minimize paging-space problems, do any of the following and recompile your program:

  • Reduce the size of your program by splitting it into two or more source files
  • Compile your program without optimization.
  • Reduce the number of processes competing for system paging space.
  • Increase the system paging space.

To check the current paging-space settings enter the command: lsps -a or use the AIX System Management Interface Tool (SMIT) command smit pgsp.

The paging-space overview in AIX Version 4 System User's Guide: Operating System and Devices describes paging space and how to allocate it.


 

gn l $$:7*:#O./usr/vac/html/zh_CN/doc/compiler/ref/ruppfunc.htmifm$    et <>adilnoprs"/cfghmu.=_bvw0ky%(),-35;PTx#*1FIMOzAEUjq+289:BCDRS!&4LNVYHHY,.5f;\1cڲG̻1ÏOH:KIt)AtmԠ 5[_&l<Ι `nu;TהR˥H:0`^$ H80 Hl80HHHHHHt1RGt6.L$ʐqFȧ:+c6E9ӊk0Hض0H?nJAl-)ƸDl[Ye@)%`Yeɫp(pYkFRGZ$ֺmz-|:fL%%(S^RG&$rA=H?m<8丩1Ic+ ؤ#ܔ{XRt1PlIfd-˩$ֺm~I"ϸ A$/ ^L$b~06.Ksy0e֙ܠ"!#^EBރme֙ܠ";Rld#H:XV&eH8@Elc^PqdS87% <8΢llRҞkFŵXq8.K^EAIR/[SÌ&-)ƸDe]L66=#jA=H?nJAl-)ƸDl[Ye 丩1)@V[&*RAl-)ƸDe lMy?Y|.Kq˭3A*+ɤyܠׂW`Oe֙ܠdt"遒}[0MK(?*['lOet:^Wenu9?&P3[H/mB`dlRJArRf)niO5#b,8hm%IM}2" b",R0@5rGH?G)M4-5[`UfXEf)n6-wkY}3:}ÁUX`.TL2G)H% )M4me``46 TUK`` TH9#T#ي[SÍp-*d]v\lij@[lmϺY]v\l#Dmy]Y&l]*[7`5bꟄ{UyKd@0 `@+kqh H?*[8u,ͳRلH 7% b\"6-Ì r\Tʔ" 4 TH9#T#ي[SÍp-*d]f," 3y 'ENp-w\MkSò댠T`dlRJArRf)niO5#b,8hm%IM}2"\SA2 ؤ6RҞkFP@$בmU'| jPN4[l`[cH#tN+w*)zA k+p;R+m6O#{ܔي[SÍpض00|qRc*P5 Ո`[cH5-1Kd RlRf)niO5#( [gkȶ=b]S-ĺ-1k` 6ve>uԸrz-XVL$F6':ʊl0ؤ#ܔ6RҞkFŵXq8.KRdDV!oY * `$*RAl-)ƸDe lMy?Y|6 zi*[5;2sfY|]H[gA=H?G)MH?m<8k,q\&2 YȈXk}N逐rGH?G)M4-5[`.b]SSbnu902G)H% )M4me``46 TU}N送Pk RlRf)niO5#( [gkȶ͓(m'}N?W%ͳf N=ĺ#{ܔي[SÍp.KRAdD5@B/ RTPk8 {lCv! ("!;" (H)H b\"2$בmPWe/2'km[k`!dkȶ^j6tkCWt[lˮ+̫nY0lk&tͧBH 7% b\"6 TPk8 ܠ! ("! (E;@P$*Rʔ* g"!;>b2"SB/ RlRf)niO5#( ]NMy>}>fʻ-wu }\. +l^׶ڷ4 H 7% b\"6 TPk8" (H)LeJ:؇@D C@Pw@H9#T#ي[SÍp ]NMy>x@] \l#Dmy]Y&lk.ƈi-n[fRuk{;.ή}[@Pliun[fRum'mkkXAN<׺S8Ki;olTf$/KbA k5[`ؤ#ܔ6RҞkFr\Tʔ* g" άC@P"DC@Pw@H9#T1(TDAXC@P"DCv! (E;@P$*RAl-)ƸDe I"ό)ˬ[T\ }Je< ׺H 7% b\"6 TS@B/ RTS؇@D C@Pw@H9#T#ي[SÍpS^E279&o]`]v\l A=H?nJAlȃ8 2kL$ls1(8є6RҞkFRgrPat w(<${b1KsJxq@S. Ⱥx)}NW%TS`kpϝIs@`l_*Vܠ""ubSbG)[!SA X&VLPyJUXrR X\U' A=H?Gu)H #ĺ銀K"EuF.o#O}2\rMy>`TMKv]`diX?(B~ AH\D4l#H:MK 2`)ΊƼNt6-ÌR1me` ¹Ȁ ;LYU1T)k,Qaq2Rʉ0`ÑQAHPb As@`$LyrC0ATnclb)rbTofE.2ՉuOknu;AS#I% ^\ 9ybP5.f֤Iis vcS6-ÌAeJ.Ì)"d+˕iEbFK(Te*s lhL%%(S^RGZ&JAҼQ!Ƒ}.@Px]`H?=r[N9$u"d+˕i##^0De` x.e`dm|a$-Χ`@:ԑ2Rʉ4nfD1v` p$LyrC]@ qŋБC( < !`u#H?G)M4\&:Ҟi4e~#{tkR*HRyrC0D ]Radeinops=cfghlm#.0uv%3bwy,CDFPx1-2589AILNST4EMRXOQ6YK9e5g1s*e9`)#2)Ҩ5N%RmSs)$Ys(- %F@P8ہ6*8p^sʒԙ,9l)v亜ȏqtN9^qa,9l)qC;ox7T/`B¼u&wQ j`B¼vu&wQ `B¼x5é3Xj`B¸0!}vsǕ0Mg7tWK9mİQq0P3&8& qMKVsۉaO"$, 5!8ہ7sw*pDN0!a^:;5N0!a^;\:;oN0!a^<ԙF, ƵN0!a\SRgu;9cʘe&ڳIYXSȀCd`ZNTPS]& qkRX&ڳVK y!`0k Vs7K9tVK y#{lP  S2iÊ*ke Ғũ6՜XSȀ 8wǍlƉryNvݺ4s̈́82mY,Uo[q,)@T\d!E@0pT-Lɧ*(D16X[Ibԛjo[q,)@T\dc0wb5\JT9?8 t1_FBeNRm9ԛYn%< =H 4E516X[Ibԛjo[q,)@T\dc0wb53p&-Tx0o9jo&g7sۉaO"$am*jfM8qQB%M|,-HXWu%Rm9mİQq|`Š ODP>Û Qݾ|#{\;Rm9ԛYn%< =H 4E516X[k-IUžDEHX W> z{!%"(gcRm9ԛYn%< =H 4E416X[>RX&ڳVK y!`0DS=O,ՏƉryNNl! Vs7K9tVK y#{lP  S2iÊ*c_Ad0ؤjMg7 *.2Bd3{ e0mps50qcD5K S9),Z%Mg7 *.2GS$KaO"A6g7mY,Rm9g1̩-IcLɧ*H`%:4`3sH!x MΆ$0d<4P,Y̤š+9lsʊl0 l $_(:7*:#T./usr/vac/html/zh_CN/doc/compiler/ref/rupprunt.htmifm $  et <>adilmnoprs"/cfghu.=bv0Pwy#%,-3OSTk12Mqxz&5;DFIR89:ACELVWX[]_!'467BNUYH@W.5no5₆d 2yV5x~26<,}U&(Cja *O^ A o" :hF!80 d<)oP14RsȊ@yo[\#l琦cA*}I=SSLK9S`E'1̋P"]H8[-ly!B[8v< $T".<8EJ'rH4re' 2q %(֓\s䓛J^[E˜(8@DeIRmE9*i0, NHpE9/@䀂'7ER)d4;eORkI 2v\yB3 X=/T_Ksre'S`L$)S,ʭA䥂re4Py)9%DRk6>yrTa&YN@:NoԜkIl]-59%DDz3X bV9f'7l591mI4;e,USKh%7tMK\ɕ*A AV!EORkN 2v%3[@ӹA1H6BDEQ*DT%lcK-sʣ(S%J BZǓ#lU:9a&YNmE'7@$$Ep.(, *@KN -Zs׉SXKËp/8 kII9rI^%Ma/-"P$Tw(hw(xy@djL\KCSHIxєө=vUηBUR.}UJJ L6)ds5<.(7eV"Ի*T.tȷp.\ed@IUk[oYr^[59;'Up =Np S ;@Ii95'7.I9kĩ%ŸD\)  FT+)sr^[59(2֓J^[EJ)yn@ʧOUo-*\9˝KJ\#C,6S'6?P-V\{9(%; ȵ*U*TQLuNS܁T jίvUo-*\R3yR@IUk[oYr^[59;'@Ii95'7.I9kĩ%ŸD\)  FTڇE9/- RNo kI^%Ma/-"伷 jryƇa UmT@9C*dyʕ)`;P"qTsQmJ]dBZ)yn@ @ @ ZskNo\s׉SXKËpSe %'i9kĩ%ŸDT@Z@$$EqO(*Q;JBjDBNSǬ[Nodm|4Py)@ִ䓛$T".AJ#*L:)yn@hʒskZNoZ*k xqn(%Sʣ*>Up l!qc爢!*Յ\HOR,j{.xT$UvTKǃ.Cly;U#B[+ cj;*oHeuz\zPb X()Lv<2 X()Lvu?rlG7u[ SBT͂h.M2'vURS[ʧ>lOρ\t췶>ʮʕ){&s4ȱ| /~D%M_p9@Yu;DUKTbd0)9F< jȄrc\ oEdBC|' +DPy)XiܠS;JBM\4Py)9@d AV!E*iu h%SxE'7@$$Ep.(, *QRBM\â NJ'7ERr^[59<2}[poSWSNjcVT9\SUB@ .(rFjOP2|{uscm)H,ǩ]5A{aDR* -SKKE9/-P@@d ֓\s䓛J^[E˜(8@/8 kI^%Ma/-"D5'7$E'7-x58*xq@RܠRާ0|&P!c9A@ӹAZskNo\s׉SXKËpSe((V:@6b2 m*2伷 jrP4eI95'7-x58S܁QNsEy'7u9](r>T%e9t!.*o@zChAW" :oD N`e<-sSZoʣ5"!')5pr ERS[M`KFa9cXrUeTBNU"B<{{c}]]I}l#l!e@\:˧օǜT{*}Rd*PjToJ*NVTeA@ӹASעw(<΀*U2ՠiܠRs-s(Ʊ']Ly0E/MPd @q)yn@ cXvO_zo J\)Wq˖"QsqcXp5|9q)yn@LWR?-c펮vU#{\%K5 伷 jr{c}(IG7[a@IUk[o"NKr'd qU@c[okO%]l C`0X44S܁*9)O&0XE'7@$$Ep.(, *QRbYR:)p6@hʒskZNoZ*k xqn(%S4;eO24=oVcZz爦+ )l!sȷ,}MhXmCjrqEsK˛ISxCh@q'rLU+*U2ՠiܠSg7 RS[M`KG c[ԱΤ5m/sU-s(ԃ hDR* -SKKE9.'7ֲt<@Ii95'7.I9kĩ%ŸD\)  FTeJT%S*Ii9kĩ%ŸDTht NO8!>ʮK9[Ǔ[k'C"E0rm#JLTu&)ixʭaoS?@6*Rs #pragma alloca Preprocessor Directive

#pragma alloca Preprocessor Directive

The #pragma alloca directive specifies that the function alloca(size_t size) is to allocate space for an object of size bytes. The allocated space is put on the stack.

You must include the #pragma alloca directive to have the compiler provide an inline version of alloca. Alternatively, the -ma compiler option substitutes inline code for calls to function alloca without specifying the #pragma alloca directive in the source code. If #pragma alloca is unspecified, or if you do not use -ma, alloca is treated as a user-defined identifier, rather than as a built-in function.

This pragma must be included in the source before the first function definition. Once specified, it applies to the rest of the file and cannot be turned off. If a program source contains functions that you want compiled without #pragma alloca, place these functions in a different file.

Whenever you make a call to alloca, you must include the header file <malloc.h> to define alloca. Header files are described in the AIX Version 4 Files Reference.



Preprocessor Directives


#pragma Preprocessor Directives
List of Preprocessor Directives
-ma

ly k:$?:7*:#X?./usr/vac/html/zh_CN/doc/compiler/ref/rupracha.htmifm$ #pragma chars Preprocessor Directive

#pragma chars Preprocessor Directive

The #pragma chars directive specifies that the compiler is to treat all char objects as signed or unsigned.

This pragma must appear before any statements in a file. Once specified, it applies to the rest of the file and cannot be turned off. If a program file contains functions that you want compiled without #pragma chars, place these functions in a different file.

The chars compiler option has the same effect as this pragma.

The _CHAR_SIGNED or _CHAR_UNSIGNED macros are defined according to the setting of the -qchars option or corresponding preprocessor directives.



Preprocessor Directives


#pragma Preprocessor Directives
List of Preprocessor Directives
-qchars

t kY$ :7*:#Y ./usr/vac/html/zh_CN/doc/compiler/ref/rupracom.htmifm$ #pragma comment Preprocessor Directive

#pragma comment Preprocessor Directive

The #pragma comment directive places a comment into the object file.

compiler The compiler appends the name and version of the compiler to the end of the generated object module.
date The compiler appends the date and time of compilation to the end of the generated object module.
timestamp The compiler appends the date and time of the last modification to the sourcer to the end of the generated object module.
copyright The compiler places text specified by the token_string into the generated object module. This text loads into memory when the program runs.
user The compiler places text specified by the token_string into the generated object module. This text does not load into memory when the program runs.


Preprocessor Directives


#pragma Preprocessor Directives
List of Preprocessor Directives

 kz$:7*:#Z./usr/vac/html/zh_CN/doc/compiler/ref/rupradir.htmifm$ #pragma Preprocessor Directives

#pragma Preprocessor Directives

A pragma is an implementation-defined instruction to the compiler. It has the general form:

where character_sequence is a series of characters giving a specific compiler instruction and arguments, if any.

The character_sequence on a pragma is not subject to macro substitutions. More than one pragma construct can be specified on a single #pragma directive. The compiler ignores unrecognized pragmas.

Some #pragma directives, as indicated in the list below, must appear before any statements in the C source code. The other #pragma directives can be used throughout your program to affect a selected block of source code.

The C for AIX compiler lets you specify many compiler options as either command line options or as #pragma statements. In addition, the C for AIX compiler recognizes the pragmas listed below:

Pragma Directive Description
alloca Provides an inline version of function alloca. This directive must appear before any statements in the C source code.
chars Sets the sign type of character data. This directive must appear before any statements in the C source code.
comment Places a comment into the object file.
disjoint Lists identifiers not aliased to each other within the current scope of their use.
execution_frequency Identifies the expected frequency with which a block of code will be executed.
hdrfile Specifies the file name of the precompiled header to be generated and/or used.
hdrstop Terminates the initial sequence of #include directives being considered for precompilation.
info Controls the diagnostic messages generated by the -qinfo compiler option.
isolated_call Lists functions that do not alter data objects visible at the time of the function call.
langlvl Selects the C language level for compilation. This directive must appear before any statements in the C source code.
leaves Specifies that a given function never returns.
map Tells the compiler that all references to an identifier are to be converted to "name".
option_override Lets you specify alternate optimization options for specific functions.
options Specifies settings for compiler options in your source program.
reachable Specifies that the point after a given routine, marked reachable, can be reached from a point other than the return from that routine.
strings Sets storage type for strings. This directive must appear before any statements in the C source code.

Note: The #pragma page, #pragma skip, #pragma subtitle, and #pragma title directives are not recognized by the C for AIX compiler.

Another set of pragma directives let you control parallel processing operations. See #pragma Preprocessor Directives for Parallel Processing for more information.



Preprocessor Directives


Preprocessor Directives
#pragma Preprocessor Directives for Parallel Processing
Compiler Options and Their Defaults
-qinfo

uency  kv$ :7*:#\ ./usr/vac/html/zh_CN/doc/compiler/ref/rupradis.htmifm$ #pragma disjoint Preprocessor Directive

#pragma disjoint Preprocessor Directive

The #pragma disjoint directive lists the identifiers that are not aliased to each other within the scope of their use.

where identifier is a primary expression that can be the name of an operator function, conversion function, destructor, or a qualified name.

The directive informs the compiler that none of the identifiers listed shares the same physical storage, which provides more opportunity for optimizations. If any identifiers actually share physical storage, the pragma may give incorrect results.

The pragma can appear anywhere in the source program that a declaration is allowed. An identifier in the directive must be visible at the point in the program where the pragma appears. The identifiers in the disjoint name list cannot refer to any of the following:

  • A member of a structure, or union
  • A structure, union, or enumeration tag
  • An enumeration constant
  • A typedef name
  • A label

The identifiers must be declared before they are used in the pragma. A pointer in the identifier list must not have been dereferenced or used as a function argument before appearing in the directive.

The -qignprag compiler option causes aliasing pragmas to be ignored. Use this option to debug applications containing the #pragma disjoint directive.



Preprocessor Directives


Example of the #pragma disjoint Preprocessor Directive


#pragma Preprocessor Directives
List of Preprocessor Directives
-qignprag Compiler Option
-qignprag

h k$ :7*:#] ./usr/vac/html/zh_CN/doc/compiler/ref/rupraexf.htmifm$ #pragma execution_frequency Preprocessor Directive

#pragma execution_frequency Preprocessor Directive

The #pragma execution_frequency directive identifies the expected frequency with which a block of code will be executed. This information is used by the compiler as hint to the optimizer.

The currently accepted value for frequency is:

very_low The probability of execution for the statement block in which the pragma resides is very close to nil.

This pragma has effect only if:

  • the program is optimized.
  • the pragma is placed inside statements with block scope such as if-then-else, looping and switch statements. A warning message is issued and the pragma ignored if it is placed outside of block scope.

Examples

  1. In the following sample program, execution is unlikely to branch through Block A:
    int *array = (int *) malloc(10000);
    if (array == NULL) {
        /* Block A */
        #pragma execution_frequency(very_low)
        error();
    }
  2. In the following sample program, code "Block B" is marked as being infrequently executed, indicating that "Block C" is most likely to be chosen during branching.
    if (Foo > 0) {
        #pragma execution_frequency(very_low)
        /* Block B */
        doSomething();
    } else {
        /* Block C */
        doAnotherThing();
    }


Preprocessor Directives


List of Preprocessor Directives

r/ k$V :7*:#^V ./usr/vac/html/zh_CN/doc/compiler/ref/ruprahst.htmifm$ #pragma hdrstop Preprocessor Directive

#pragma hdrstop Preprocessor Directive

The #pragma hdrstop directive manually terminates the initial sequence of #include directives being considered for precompilation.

It has no effect if:

  • The initial sequence of #include directives has already ended
  • Neither the -qgenpcomp or -qusepcomp compiler options are specified
  • It does not appear in the primary source file

Using precompiled header files can decrease compile time. Using precompiled headers will not improve compile time performance in most applications without some organization of the headers included by each source file.

Some examples of #pragma hdrfile directives are:

/************************************************************************
* 
In the following example, only header file h1.h is precompiled and the 
precompiled output is written to the file csetc.pch (provided the 
-qgenpcomp compiler option is specified). If both -qusepcomp=dave.pch 
and -qgenpcomp=john.pch are specified then the compiler looks for the 
precompiled header in john.pch (since this is the name specified last), 
and regenerates it if it is not found or unusable.
* 
************************************************************************/

#include "h1.h"
#pragma hdrstop 
#include "h2.h"
main () {}


/************************************************************************
* 
In the following example, no precompiled headers are generated or used 
for the compilation, even if -qgenpcomp or -qusepcomp compiler options
are specified. 
* 
************************************************************************/

#pragma hdrstop 
#include "h1.h"
#include "h2.h"
main () {}


Preprocessor Directives


List of Preprocessor Directives
-qgenpcomp
-qusepcomp

es kb"$:7*:#_./usr/vac/html/zh_CN/doc/compiler/ref/ruprainf.htmifm$ #pragma info Preprocessor Directive

#pragma info Preprocessor Directive

The #pragma info directive controls the diagnostic messages generated by the info compiler option.

You can use this directive in place of the info option to turn groups of diagnostic messages on or off. The #pragma info directive overrides any info options stated on the command line.

Available options are:

all Turns on all diagnostic checking.
none Turns off all diagnostic suboptions for specific portions of your program.
restore Restores the options that were in effect before the previous #pragma info directive.

Because #pragma info operates like a stack, the options restored may not be those given on the command line. If no options were previously in effect, #pragma info(restore) does nothing.

group Turns on specific groups of messages, where group can be one or more of:
group Type of messages returned
cmp Possible redundancies in unsigned comparisons
cnd Possible redundancies or problems in conditional expressions
cns Operations involving constants
cnv Conversions
dcl Consistency of declarations
eff Statements with no effect
enu Consistency of enum variables
ext Unused external definitions
gen General diagnostic messages
gnr Generation of temporary variables
got Use of goto statements
ini Possible problems with initialization
inl Functions not inlined
lan Language level effects
obs Obsolete features
ord Unspecified order of evaluation
par Unused parameters
por Nonportable language constructs
ppc Possible problems with using the preprocessor
ppt Trace of preprocessor actions
pro Missing function prototypes
rea Code that cannot be reached
ret Consistency of return statements
trd Possible truncation or loss of data or precision
tru Variable names truncated by the compiler
uni Unitialized variables
use Unused auto and static variables
vft Generation of virtual function tables


Preprocessor Directives


#pragma Preprocessor Directives
List of Preprocessor Directives
-qinfo

sed  l $:7*:#a ./usr/vac/html/zh_CN/doc/compiler/ref/rupraiso.htmifm$   aeirt <>cdghlnops"./fmu=bv#0wy,DF_x%-13PTjq259ALMk48:CEIUWzN;41Nʕ 1LSiY/l(kx zj1~pE'l=mm 8̩R Sហi{_DA H$O Тb4b ៊ 84Trˆ'M5ܰ-Z011Ϫ嶷_8EX@AǔQ'.Ze4=mDAHk"4+"L_;J&ZeC_yIGwPq8ڤp[ɂ-(kfƂ _Aq) Ab\{hdv L;ryIF+n;9.Nsvv{qͯ;b]eqrvkE8Ab=HQk"WQɆM"ZD@0lТ H8Ab^+"y|9P閶?_%{YF-=vt^=G㴮A1-p;]eƕY^+"@\A1 ;rѡ0P;rb~9.N)Ƃ S@YÿWKȅ'{+KDmi]UzzN^ %{+VRC׍ZzNYA q9-Am%5mw):qh1 @t0IӌAm=V8O=3m/'mާ|'!8ʹ1O\אָ+Ӄ=SLTѵVRګt^Lcn_'m$vdž CSF-ǽjCI߬-k)@~ud%{b^^uz2*$cN+۹-Yb^P)2֜h=GU'l=DS)8%{^W*;Qm`Y-.Wxyːͨ˜᫥Ҹ`kiF(;op˕(zrj?_]t˸jҸ>T[n_'m 0>s/gGpp򟊬?+Jy[w+<.uuSd&>\5bۖKdynٷRe{;J閴SNv-o?{^Wy{XʕwbCۗQ~{q-l \!1c!ˏNۗ]|)ɨq< %{ MtnvY+°ݥ}\n{Xox`2|'Kv?Y;P+Y^;;]㘺KȯNxNxyl_zp:׃J'˂|n8Hl|&1wQrv?NZ?(zrh^s''m1u2ƚ?~|GݯLgm>:мvܿRr\>ǹhJȟq{gi@Zq-Wb]ae*ӲKv"h 1Olx=@^P)2֜h=GKȅowd(Ō^c "-ǹh[ǹh1R!m$ƣ1/#5{[xƾbowPbWmv6r-Yb^P)2֜h=GU'l= q;1)}ͮMl%J,(t[Jm 8"լ ϸja{!~8 (D3ԊNj 'eZ١D /(p ({P،ax|@6 ʆ=5 _E'l=DJ_$(5+7E]'kNʵBAb _fPDQb6 ,VimwbC%dOReVT1q1_$(5+7]'k`$NʵBAb _fPDaYk"'YPǦ퇨iAb _fPDa U&+*b1(8lAy(Kᶸ _C%gPp؃ٔ8Q0n/@6 n/l(kN4A/ >M|xFLxymD[4D4bmR _8ۈ1N6f SAƂ Sٔ8QaE/"&$iY ąQFQ]Dg.N(1N0g%)f k$u:7*:#cu./usr/vac/html/zh_CN/doc/compiler/ref/rupralng.htmifm $ #pragma langlvl Preprocessor Directive

#pragma langlvl Preprocessor Directive

The #pragma langlvl directive selects the C language level used for compilation.

This pragma must appear before any statements in a source file. The compiler uses predefined macros in the header files to make declarations and definitions available that define the specified language level.

Language levels available with the C for AIX compiler are:

Language Level Description
ansi Defines the predefined macros __ANSI__ and __STDC__, and defines other langlvl variables. The default language level for the clc and c89 compiler invocations is ansi.
classic Defines the predefined macro __CLASSIC__, and undefines other langlvl variables.
extended Defines the predefined macro __EXTENDED__, and undefines other langlvl variables. The default language level for the CC compiler invocation commands is extended.
saa Defines the predefined macro __SAA__, and undefines other langlvl variables.
saa12 Defines the predefined macro __SAA_L2__, and undefines other langlvl variables.

This pragma has the same effect as the -qlanglvl compiler option.



Preprocessor Directives
C Language Levels


#pragma Preprocessor Directives
List of Preprocessor Directives
-qlanglvl

 k$L:7*:#dL./usr/vac/html/zh_CN/doc/compiler/ref/rupralvs.htmifm$ #pragma leaves Preprocessor Directive

#pragma leaves Preprocessor Directive

The #pragma leaves directive takes a function name, and specifies that the function never returns to the instruction following that function call.

If the specified function is not found, a warning message is produced.



Preprocessor Directives
C Language Levels


#pragma Preprocessor Directives
List of Preprocessor Directives

 k$ :7*:#e ./usr/vac/html/zh_CN/doc/compiler/ref/rupramap.htmifm$ #pragma map Preprocessor Directive

#pragma map Preprocessor Directive

The #pragma map directive tells the compiler that all references to an function identifier are to be converted to "name".

The following describes the options available for #pragma map:

identifier Name of a function.
name External name that is to be bound to the given function.

The directive can appear anywhere in the program. The identifier appearing in the directive is resolved as though the directive had appeared at file scope, independent of its actual point of occurrence.

For example:

int func(int);

{
     void func(void);
#pragma map(func, "funcname1")  /* maps func to funcname1  */
};


Preprocessor Directives


Example of the #pragma isolated_call Preprocessor Directive


#pragma Preprocessor Directives
List of Preprocessor Directives

>  l$(:7+:#f ./usr/vac/html/zh_CN/doc/compiler/ref/rupraopt.htmifm$    eiort "/<>adglnps=chm.0bfuvw#%3y,1CDFT*:BNP24589ILOS_kx!-qMHИO#Iw C5%D1RF*HF)bk]*-6^L2ǘk$}RmkF*PD1LTx1@P( ?1 0c*` 1LTúx{N p˝p˝,z{F8ct c:_N_8t cPRHRD[X1ה u%}&F>j-m[e1HB(o%(J51Ӭk>bpRak>SHӫAF/QQFTVңL "zcoji+ |R[ڮhTŌ$zS= tm[֑O6'mŒ(S0Rh(TQ+lm?L8@44cIDb.7'6B*Y8'"|k'6'!(S0RwT?':=oVL>uhbJjhT/bŴվ={\)Ek-4|aNpp؜LS?'}D؜xs\xyu /J7TC%F)(yɼOxJaNS=j79W1M] Fu,S8 վ=og5"%j AF)(DX{zcoji+ |R[ڮhTǎ%ydNO"|lN,2ۋ'(1S81˝p~<тǧc:_N_:Mx_k>4Lw-P41m%f/j,J#ojb_:Mx_k>4Lw-P41m%f/e(彪J51Ӭu5y~[p:{Tc2XR[ڤXҍu:eOD؜L_ kbQӸ:ηS^1Ǘt c:^E(RQQg[pRMxہf1IP/"n((N[p:y=o /'bHTXҍu4N69(RQQg[pRMxہf1IUFܽ%J51Ӭk>&D^O[xs=}|Bn(J5a*1LTI彪dJ#oj41m%~o^@ɒU!VIQQ^llNacdnoprs"/fghlm.=bu-0vy#(),3Sqwz%DFOPT_124589:CLkx!6ABjY@˰MV" 5M0̶de 4T&)'1̂eLIsȺ wDϺs@L!L \.T%wARÍ1'1́`^ @8p$ @$ P8HHHHHHcJzNcN!d8"뒊zi \T^H(H:dE'7-R[s$8$($:!T)Ej(V!ŷ68z^8͈d 2QdqÊ0Zվ pTCHq@(Qrf&Ê  2 #IV 7s|fLqeʦ̧3n8 0\ w>ʛ'3Od3GPH;Z68!ZGՁQrNjn0='1̇ %sw>͎JǕt]tEBTZK1z[]9t: 1ĵwNn@]9z*JʘDzTȄ%M9^vɞ?d8(DHEK`*Wtg>͏dH'j; VǕw4ɞ/Ϻ.sw>%JX ltkPgUKh4n}ӛ9d= QN(ASnG%ϺsP4P@ 딜*q& \SSH('7. 9lKx XkbNo[ Qs<_+h!!P@Ѹ9'9]Rq-]Ӛ@Ĝ%ϼTI@ @Ĝ$TxWCHBBZ!8dzcj$@$E.})v @Ĝ$TxWCHBBRF搜w@gt=K1ĵwNhm[skNo\sؗ>DnasJ$E :.F —h747<_+Y%sChؓ\sĹ#p+k(ؓă\pi#psHH@5—h74<_+Y%sChؓ\sĹޥ%[sؐbQ]M#Dni ŽK Bqɞ/,9 lI 9pIb\ qoRA(ؓă\pi#psHH@5n-]hL|f8 kbNo pINo[[z`kbNo[ Qs<_+h!!ֹn-]hsvL|f8 kbNo pIB ANX uNcH2J9t4Iis %T'k +ݖ4ש42zNcHMG|Aj8%scG:n0E*9SYMʡ`f{&uJsq-c4g9$*"Gt't5s Z[]9ՠb'7 CògKWttb'7 CògKWt암*@RNoI#q-]ӛ&[GKW,@RNoIƙ;Mƙ:ĵwNnWNhd U$@JIs $9jTL.(PuEE]4ℋHq@HH*No\sكHq@8H*QE (`Qj"b3HPeP@ 3Da ɄP[}e|&۞*@KbEBWt1@JQdqÊ0Z!%@18:d`X3Da ɄX |ʀbl=(Ձp˘9*bNo+&8q`%ϲa犐Q)ž`Sko0`D%\P2IdG,e@16XR7| \.T%wAS DsY0Ë.},nxX@5Ϻ.򁔔No+&8q`%ϵ`{sH@5n-]e% ɄX s7`{sH@67 ]e%='7$E QTCCnx\?QTCC ?g@ĜZ)9d=(9d+&8qC0aEL[}ek!J(8a `DfB [Ct0(H@Í9i916YI9$M k`$:7+:#j./usr/vac/html/zh_CN/doc/compiler/ref/ruprarch.htmifm $ #pragma reachable Preprocessor Directive

#pragma reachable Preprocessor Directive

The #pragma reachable directive takes a function name, and declares that the point in the program after that function can be the target of a branch from some unknown location. In other words, the instruction after the specified function can be reached from a program point other than the return statement in the named function.

If the specified function is not found, a warning message is shown.



Preprocessor Directives
C Language Levels


#pragma Preprocessor Directives
List of Preprocessor Directives

 k$\:7+:#k\./usr/vac/html/zh_CN/doc/compiler/ref/ruprastr.htmifm$ #pragma strings Preprocessor Directive

#pragma strings Preprocessor Directive

Specifies that the compiler can place strings into read-only memory, or must place strings into read/write memory.

This pragma must appear before any statements in a source file. The default for ansi mode is readonly. The default for extended mode is writable. The specification writable is supported for portability between releases of the XL C compiler product.

This pragma has the same effect as the -qro compiler option.



Preprocessor Directives


#pragma Preprocessor Directives
List of Preprocessor Directives
-qro

"Gt l2$):7+:#l./usr/vac/html/zh_CN/doc/compiler/ref/ruprddef.htmifm$    ert <>acinops/dfghlmu".=b#0kqvwy()+,-1TUx2:;ACDFMNOP%&*49ISj358LWX[]_6EQRYzIVajAt+H:eʂGS1Rhlkm*A1Rԃd待 @4 @F A$h)Ak\C #d\8q"%-q"Ú=(@8((R Ֆ\(E0e @BP$=אH aRXlX J," HPHC](?#S {&1}`cjYm CjHcMB-Ը)0[IpJ #AH?Fԃk ,R P=䆺qRhlf,T=SY|M 6]{j̘#^bOAÛeq6G`Z&Kˢ'HR KL'0P"Fi&b3KFBp !IJ`6Y`h\rOFJ56>KBij,,[B1l smrFjLuk.v.٬9WeOKCdtdx\"pySxs\N`6Y`8C\k܃fcS¦LbL ['Ye4\d0utmndy;G[Hl֛`@kaͲ*P=ѵݨi[kT*MڂG@ pPPRFRFJ,,0ܩLk2]zF- 5*A &Mu, R5ڒ4*TaeaH?`.ky!m̜:S$5Ͷʞ0cKaKq3Rrd~"{ }ʐ¥IS]z$@JFRFJ,,0ܩLvT6m#L)'HR(䆹׺;ŅRDԹ*v.٤7jHj4 [kT*MڂG(, x?x8()#]#BH?F[kT <*aOd/V¸.2lK(?v8 HjÛeiPxp w pPRFP1)+L)R9V;H,\`5ڄ A54s] j,?kKX~ŲF tZm xGvT=1E T14Ů$VY'_\Vd geJC-q8sK/s爫vT,vpP#]mv!y} 4Yo`XaRT7j Hk^ A$HjHЩR 邂kye9'YqSKv!y}F- 5*A &A# tH8HC]8bAv Yo`XaR(eO S1뺕eOSKqŮ$AVY S {&1mqyisصTJFJ<4?eK<4biv7Oq*ԍ 40P ]m!Q޺ j,?kKyz!-kݘϼ\k$q8 Hj*PIrP%`$.0E5ڀ#AH?E Jv䆺p+ `X)#]#BH?F[kT  smvśeO S1)n&{*PYokk2]q-#u\!+d\eJ ּ smp(4Yo`XaRT7jf+8|`0 B PԑR# - 5*AvT6m#L) 쩌ܙ.4#HReaH?aRݩxx( AيF <k$hTH{ }ʐAԺʘ{.;U,CVYA`Z&K؜ }rY.A8C\ki A,,0ܩL*T$5ӀWA,`# HjHЩR 邪C mLx.Tckl+fMiS5ڐHkm{}5>Ye]η Lb׻-ri A,,0ܩL*T0W`%#]#BH?F[kT <*aOd/B0[e61BԤi1H?L [$u#fMGk[^im Ų%# -;0\5&.vS5]66ʞ+2uDzq G̛vT}Tpq9e?Hkm{bڤ%@[1qʜŲbv$%ז;>]i0].QÊvTijA[Tl)t\Ǻ6\R1mRڦ\N[nie# -O5 u1lR1mR-H?F-A[T*xk[)C\k݋Zʔy!m1^%LnTk4nUږ[CglyskjG;*jvs>cv1{PIHHѺ{R;jYm geO>ʜŲs]m/ʝ2 -v׻lzJF-A[Tu,6[)cie<'_H?Vd geN<6&*MڿG %`p0X, x HjHЩR(9?!-äh)L*TA 8P0 HjHЩR*ޑ0Rn@p0 ^R5ڒ4*T S]wAq=*s~R5ڐkpfMvی@ ImP$5ͶcԆڑK@zS2]}.]8)jHRT(@#1d3 Uo50c6يFZ%Ƙ(@#4œ1ԗbIi0e 2b HRT(@#ZPUo" \# HkjaOd/ mK- 邒 L HbɘjK$sG ʖU)"H?WR@l(s\8|($$`L)e6R2ԑt+ʩ P69%Y6P#R #else Preprocessor Directive

#else Preprocessor Directive

If the condition specified in the #if, #ifdef, or #ifndef directive evaluates to 0, and the conditional compilation directive contains a preprocessor #else directive, the source text located between the preprocessor #else directive and the preprocessor #endif directive is selected by the preprocessor to be passed on to the compiler.



Conditional Compilation Directives
Preprocessor Directives


Examples of Conditional Preprocessor Directives


#elif Preprocessor Directive
#endif Preprocessor Directive
#if Preprocessor Directive
#ifdef Preprocessor Directive
#ifndef Preprocessor Directive
List of Preprocessor Directives

9 k0$:7+:#p./usr/vac/html/zh_CN/doc/compiler/ref/ruprdend.htmifm$ #endif Preprocessor Directive

#endif Preprocessor Directive

The preprocessor #endif directive ends the #if conditional compilation directive.



Conditional Compilation Directives
Preprocessor Directives


Examples of Conditional Preprocessor Directives


#elif Preprocessor Directive
#else Preprocessor Directive
#if Preprocessor Directive
#ifdef Preprocessor Directive
#ifndef Preprocessor Directive
List of Preprocessor Directives

 k$:7+:#q./usr/vac/html/zh_CN/doc/compiler/ref/ruprderr.htmifm$ #error Preprocessor Directive

#error Preprocessor Directive

A preprocessor error directive causes the preprocessor to generate a severe (S) compile-time diagnostic error message. Preprocessing continues, but no object code is generated.

Use the #error directive as a safety check during compilation. For example, if your program uses preprocessor conditional compilation directives, put #error directives in the source file to prevent code generation if a section of the program is reached that should be bypassed.

For example, the directive

#error Error in TESTPGM1 - This section should not be compiled

generates the following error message:

Error in TESTPGM1 - This section should not be compiled


Preprocessor Directives


List of Preprocessor Directives

cpy. k궬$$:7+:#r$./usr/vac/html/zh_CN/doc/compiler/ref/ruprdhfl.htmifm$ #pragma hdrfile Preprocessor Directive

#pragma hdrfile Preprocessor Directive

The #pragma hdrfile directive specifies the file name of the precompiled header to be generated and/or used.

This pragma must appear before the first #include directive, and either the -qgenpcomp or -qusepcomp compiler options must also be specified.

If a file name is specified by both a -qgenpcomp or -qusepcomp compiler option and a #pragma hdrfile entry, the name specified by the pragma takes precedence. If the name specified is a directory, the compiler searches for or generates a file with the default name in that directory.

In order to maximize the reuse of precompiled headers, use #pragma hdrfile in combination with #pragma hdrstop to manually limit the initial sequence of #include directives.

Using precompiled header files can decrease compile time. Using precompiled headers will not improve compile time performance in most applications without some organization of the headers included by each source file.

Some examples of #pragma hdrfile directives are:

/************************************************************************
* 
In the following example, the headers h1.h and h2.h are precompiled and 
the precompiled output is written to the file fred.pch (provided the 
-qgenpcomp compiler option is specified). If -qgenpcomp=dave.pch is 
specified, the precompiled output will still be written to fred.pch since
the name specified in the pragma takes precedence. To use the precompiled
output in fred.pch when compiling, specify the -qusepcomp compiler option.
* 
************************************************************************/

#pragma hdrfile "fred.pch"
#include "h1.h"
#include "h2.h"
main () {}


/************************************************************************
* 
In the following example, only header h1.h will be precompiled (provided
the -qgenpcomp compiler option is specified) and the precompiled output 
is written to the file fred.pch. To use the precompiled output in fred.pch 
when compiling, specify the -qusepcomp compiler option. 
* 
************************************************************************/

#pragma hdrfile "fred.pch"
#include "h1.h"
#pragma hdrstop 
#include "h2.h"
main () {}


Preprocessor Directives


List of Preprocessor Directives
#pragma hdrstop Preprocessor Directive
-qgenpcomp
-qusepcomp

? k$:7+:#s./usr/vac/html/zh_CN/doc/compiler/ref/ruprdif.htmifm$ #if, #elif Preprocessor Directives

#if, #elif Preprocessor Directives

The #if and #elif directives compare the value of the expression to zero.

If the constant expression evaluates to a nonzero value, the tokens that immediately follow the condition are passed on to the compiler.

If the expression evaluates to zero and the conditional compilation directive contains a preprocessor #elif directive, the source text located between the #elif and the next #elif or #else preprocessor directive is selected by the preprocessor to be passed on to the compiler. The #elif directive cannot appear after the preprocessor #else directive.

All macros are expanded, any defined() expressions are processed and all remaining identifiers are replaced with the token 0.

The expressions that are tested must be integer constant expressions with the following properties:

  • No casts are performed.
  • Arithmetic is performed using long int values.
  • The expression can contain defined macros. No other identifiers can appear in the expression.
  • The constant expression can contain the unary operator defined. This operator can be used only with the preprocessor keyword #if. The following expressions evaluate to 1 if the identifier is defined in the preprocessor, otherwise to 0:
        defined identifier
        defined(identifier)

    For example:

        #if defined(TEST1) || defined(TEST2)

Note: If a macro is not defined, a value of 0 (zero) is assigned to it. In the following example, TEST must be a macro identifier:

#if TEST >= 1
    printf("i = %d\n", i);
    printf("array[i] = %d\n", array[i]);
#elif TEST <0
    printf("array subscript out of bounds \n");
#endif


Conditional Compilation Directives
Preprocessor Directives


Examples of Conditional Preprocessor Directives


#else Preprocessor Directive
#endif Preprocessor Directive
#ifdef Preprocessor Directive
#ifndef Preprocessor Directive
List of Preprocessor Directives

p/C` k$ :7+:#t ./usr/vac/html/zh_CN/doc/compiler/ref/ruprdifd.htmifm$ #ifdef Preprocessor Directive

#ifdef Preprocessor Directive

The #ifdef directive checks for the existence of macro definitions.

If the identifier specified is defined as a macro, the tokens that immediately follow the condition are passed on to the compiler.

The following example defines MAX_LEN to be 75 if EXTENDED is defined for the preprocessor. Otherwise, MAX_LEN is defined to be 50.

#ifdef EXTENDED
#   define MAX_LEN 75
#else
#   define MAX_LEN 50
#endif


Conditional Compilation Directives
Preprocessor Directives


Examples of Conditional Preprocessor Directives


#elif Preprocessor Directive
#endif Preprocessor Directive
#if Preprocessor Directive
#ifndef Preprocessor Directive
List of Preprocessor Directives

(TEST k$ :7+:#u ./usr/vac/html/zh_CN/doc/compiler/ref/ruprdinc.htmifm$ #include Preprocessor Directive

#include Preprocessor Directive

A preprocessor include directive causes the preprocessor to replace the directive with the contents of the specified file.

The preprocessor resolves macros contained in a #include directive. After macro replacement, the resulting token sequence must consist of a file name enclosed in either double quotation marks or the characters < and >. For example:

#define MONTH <july.h>
#include MONTH

If the file name is enclosed in double quotation marks, (") the preprocessor searches the place (for example, directories or libraries) that contain the source files and then a standard or specified sequence of places until it finds the specified file. For example:

#include "payroll.h"

If the file name is enclosed in the characters < and >, the preprocessor searches only the standard or specified places for the specified file. For example:

#include <stdio.h>

The -I compiler option specifies a search path if the file name in the #include directive is not an absolute path.



Preprocessor Directives


Example of the #include Preprocessor Directives


List of Preprocessor Directives
-I

ript o kLG$N :7+:#vN ./usr/vac/html/zh_CN/doc/compiler/ref/ruprdind.htmifm$ #ifndef Preprocessor Directive

#indef Preprocessor Directive

The #ifndef directive checks for the existence of macro definitions.

If the identifier specified is not defined as a macro, the tokens that immediately follow the condition are passed on to the compiler.

An identifier must follow the #ifndef keyword. The following example defines MAX_LEN to be 50 if EXTENDED is not defined for the preprocessor. Otherwise, MAX_LEN is defined to be 75.

#ifndef EXTENDED
#   define MAX_LEN 50
#else
#   define MAX_LEN 75
#endif


Conditional Compilation Directives
Preprocessor Directives


Examples of Conditional Preprocessor Directives


#elif Preprocessor Directive
#endif Preprocessor Directive
#if Preprocessor Directive
#ifdef Preprocessor Directive
List of Preprocessor Directives

oc kT$ :7+:#w ./usr/vac/html/zh_CN/doc/compiler/ref/ruprdlin.htmifm$ #line Preprocessor Directive

#line Preprocessor Directive

A preprocessor line control directive supplies line numbers for compiler messages. It causes the compiler to view the line number of the next source line as the specified number.

In order for the compiler to produce meaningful references to line numbers in preprocessed source, the preprocessor inserts #line directives where necessary (for example, at the beginning and after the end of included text).

A file name specification enclosed in double quotation marks can follow the line number. If you specify a file name, the compiler views the next line as part of the specified file. If you do not specify a file name, the compiler views the next line as part of the current source file.

The token sequence on a #line directive is subject to macro replacement. After macro replacement, the resulting character sequence must consist of a decimal constant, optionally followed by a file name enclosed in double quotation marks.

Note: In extended mode, the keyword line is optional. The directive

# line 300

is equivalent to

# 300

The keyword line is required in ansi mode.



Preprocessor Directives


List of Preprocessor Directives

> adilnors=cghp._fmuv%0AIbwy#,-12DMSTq:CELNPX&)3456;FHORkx(8BGJUVW*9Y!jP-]eX { J]V))m*Ž)!g2oYs(cVs2X*m t)*.Q"80FjMK9Ys(6-I"/@ ` Gtlt9ZԒsʶɵ!{cZ:O|a#)seXPPJs䳛Vk`:.%slaA(ZPL"C$<Uʬ-ϩe$TS1s}*9d>#%#$Ee$ɂaaίuUw(R;`JoTEmRKYVs7%,UcLA #ǸhÜ(tP]HhX@ %IZmYn5q0а&u.w'@[{*o*U#$EbÙ<-ϦQkXeeWV"db0U[XXA@"27K9\jXp{[P Rn֤*Y$,Qk*@JZo[_Xldڐ FE=屭t %̶:W%Xq-seXPJRn֤VsۍcLEĴ.T\u eV.0CdoʆMFBURn vAM:dNo],)7kX9M: ݬ` 1M'70&`WkjM:&`Wkb5IX$]D)7kjo&䳛W%Xq-seXPJMԛjo[q{踖ʋNs"*q U>d0XP'N]MoOf@d0Rm9ԛo\sۍcLEĴam:aA(ZݭIUǸh\T>ʬ>! Mg7rY_K9ԛjo&䳛W%{"u$cXq-se`PJ@"T6՜Xq- [tMKP]O}Xse,Td.}Dz Ak$ -j0%`ln&w(<[wOЧBWeV@&~'7 e:]a`h<0BZo&ڳI,Ug7`:]I=t\KFCbDX*Mԛjo[q{踖0s:uԘ:UvuP"N}a̞DED( k2o;`Jĉ"TܣWS MOd*",>s(SOd@mbe2J++sG7r2`@tC Ts5 FFg7-WkQ@H`LB##`-IZ\g7##tE8*Ik9l }ajC)Ƶ$tdS2CH Bo\sۍcLEĴam:aA(ZQJMԛjo[q{踖ʋNsʈRm9ԛo\sۍcLEĴam:aA(Z,Zv&ڳVk`:.%rS\*n˩Rm9ԛo\sۍcLEĴam:aA(Z97kRm9mƱ&Z*.U:ϲ6bjo&䳛Is .OcØ>u}Dz|t!I-g7mYܖs䳛Vݏq0T.k`:.%sl Bv"B, D7kRm9mX^AL;N]IȌ-OeV]lNopÊvUsX>O{'xM*x9+TQ+$ p$J;`J d eVDEԎo*s!X>LJ2\2DQ\L,F*dUۅVvUb!`JZo$,Qr`"26nQ@H`L燇P Rn֤*Y$,Qk*@JZo[_Xldڐ FE=屭t %̶:W%m:aA(Z `zv&ڳVʋNs"* #%])7kX@e)7kXTu] P&`WkrvIjMʬ\aen s.3 ݬ`2Tu])7kXYrRn vsԛu]AIX'UcԛNo],a*M:ԛu]jM:jvIjX6Rn)6՜Mg7K9mƱ&Z06-WkkT6՜Xq- *BUEvUb (A+kO}N}`OeV)ҝ=7k!S$.!IRnK9rYn5q0ч9PjYE)7kRm9mƱ&Z*.U:ϲ*#$!IRnK9rYn5q0ч9PjXjMԛjo[q{踖ʋNsź.!IRnK9rYn5q0ч9Pj\ݭIUǸh\T>ʮtD`وRm9ԛo\sۍcLEĴam:aA(ZݭIUǸh\T>ʬ>! Mg7rY_K9ZV]l{p*ϝ_q;{Yts BZo&ڳI,Ug7|d@1 TQ+ct3FQzo=Fd2']Zr X(ԙܣWĻtaNom t+f\)Цa KܳIs6՜Mg2l },9Z,fX RKYs*c&ԇ@-Ƶ$tdS2CH Bo\shƱ&Z2"bb,,09ShSMQr9X9J3RlMg7K9ecXq-se`PJ])6RoYX=t\KB2$тe,RnK9rYnǸ*RF5q0ч9PjX ( `@H&jMg7=t\KB)ЦUe-se ^.-@O%eDc72u ShSM.TSD)6՜Mg7K9mEBHƱ&Z06-Wkpbv&ڳVk`:.%`Sw ]I>wBO o)08ge8Bjo&䳛W%{"u$cXq-se`PJ @-IZmYn5q0аm t)vUq.t ;{7ڔ` @/IU! Mg7rYo[v=tP1{踖9Ͳ@0(% Uą 7kRm9mƱ&Z N7pʮ%ԙneF!} AMm t)ɺUj0%`E{ KƽI0%{]*"6˲TQ+^Rgr YDEԸn)%Rm9ԛo\s۱&ԑcLEĴam:A(Z$,@4HT6՜Xq- \C.Lʬ-ϩd*LD[]ǐqeV)"*sDj-`ʭSFd)I0%y[R]0FXʎo@Td-BZo&ڳI,Ug7`:]I=t\KFCb@ă Mԛjo[q{踖A!S_eV&u#˭aMhSMÊvUj0%`2Sn&&w(DYn}KvtCB*NPD)3F""s\KFV RKYVs7%,UcLA #ǸhÜ(tP]HBxA `&jMg7=t\KB ˩S/m `ALa!7 hEB nUCTQ+H)!7 j;`Jo",>Ļta{СTE]Zr X("ALԙܣVse.%ۣ TetFBn)%Rm9ԛo\s۱&ԑcLEĴam:A(Z$HP*Mԛjo[q{踖D:8eVܣVC9&w(d k} 2 u4BX6:d{*NAra"s%^n\eUw(/d xש3F""s\KFs6՜Mg7K9mEBHƱ&Z06-Wk$ X D7kRm9mƱ&Z:{[?{ HYC#\nUX  -.lFZ)Ц&sUw( /&w(tp.ʭSF{ KƽI0%g7[R]0IRnK9rYnǸ*RF5q0ч9PjX 0( "T6՜Xq- \C.U눮ʬPn0t 9Ȉh&ڳI,Ug7`:]I=t\KFCbDݭIUǸhXdu>ʬReн9 Mg7rYo[v=tP1{踖9Ͳ@0(% Uĉ @p$Jv&ڳVk`:.%`(FB}Xڔp,6WeQDEԁ8ˠ"e8!@O%eDcۆ2tЅdE!IRnK9rYnǸ*RF5q0ч9PjX!&jMg7=t\KB"QB nUC*Uw(3Z;`Jo",>Ļta|ED)6՜Mg7K9mEBHƱ&Z06-WkݭIUǸhX6:»*",>xɺU uea=b~'MÊdDYn{I\L.xPkЌ Sa21h:))Ц*m t)jo&䳛W%{"u$cXq-se`PJp@*v&ڳVՃD:8eVDEԷOt6bY]H[zr [w3Fdw(L)7w3Fbjo&䳛W%{"u$cXq-se`PJp``7kRm9mX>}\ qq8*.U:UXV;b05#[`kv{%X  ӛ <51 Mg7rYo[v=tP1{踖9Ͳ@0(% Uāp  Mԛjo[q{踖hSM+""s[OeQ@(5׵\[O tًi7*e'7r2`,PkЌ Sa21h:))Ц*m t)jo&䳛W%{"u$cXq-se`PJ "T6՜Xq- CUdDYn}K*L906vu*2c>"+2[ =lY&W! $'p('2F*C E0S {)ØTs:ݓEP@FQ-J3^DsãjS"2ݬneVܣVFʮ%ԙn"'2[ =lY&W! $'p('2F*C E0S {)ØTs:ݓEP@FQ-J3^DsãjS"2ݬneVܣVF # (Null) Preprocessor Directive

# (Null) Preprocessor Directive

The null directive performs no action. It consists of a single # on a line of its own.

The null directive should not be confused with the # operator or the character that starts a preprocessor directive.

In the following example, if MINVAL is a defined macro name, no action is performed. If MINVAL is not a defined identifier, it is defined 1.

#ifdef MINVAL
  #
#else
  #define MINVAL 1
#endif


Preprocessor Directives


List of Preprocessor Directives

 k$T :7+:#~T ./usr/vac/html/zh_CN/doc/compiler/ref/ruprdund.htmifm$ #undef Preprocessor Directive

#undef Preprocessor Directive

A preprocessor undef directive causes the preprocessor to end the scope of a preprocessor definition.

If the identifier is not currently defined as a macro, #undef is ignored

Macros can also be undefined with the -U compiler option.

Example of Usage
The following directives define BUFFER and SQR:

#define BUFFER 512
#define SQR(x) ((x) * (x))

The following directives nullify these definitions:

#undef BUFFER
#undef SQR

Any occurrences of the identifiers BUFFER and SQR that follow these #undef directives are not replaced with any replacement tokens. Once the definition of a macro has been removed by an #undef directive, the identifier can be used in a new #define directive.



Preprocessor Macros
Preprocessor Directives


#define Preprocessor Directive
List of Preprocessor Directives
#define
-U

 k]$:7+:#./usr/vac/html/zh_CN/doc/compiler/ref/ruprmct1.htmifm$ ## Preprocessor Macro Operator

## Preprocessor Macro Operator

Use the ## operator according to the following rules:

  • The ## operator cannot be the very first or very last item in the replacement list of a macro definition.
  • The last token of the item in front of the ## operator is concatenated with first token of the item following the ## operator.
  • Concatenation takes place before any macros in arguments are expanded.
  • If the result of a concatenation is a valid macro name, it is available for further replacement even if it appears in a context in which it would not normally be available.
  • If more than one ## operator and/or # operator appears in the replacement list of a macro definition, the order of evaluation of the operators is not defined.

The following examples demonstrate the use of the ## operator:

Sample Preprocessor Macro Definitions
#define ArgArg(x, y) x##y
#define ArgText(x) x##TEXT
#define TextArg(x) TEXT##x
#define TextText TEXT##text
#define Jitter 1
#define bug 2
#define Jitterbug 3
Invocation Result of Macro Expansion
ArgArg(lady, bug) "ladybug"
ArgText(con) "conTEXT"
TextArg(book) "TEXTbook"
TextText "TEXTtext"
ArgArg(Jitter, bug) 3


Preprocessor Directives
Preprocessor Macros


Preprocessor Macro Operators
#define Preprocessor Directive

  k궵$\:7+:#\./usr/vac/html/zh_CN/doc/compiler/ref/ruprmct2.htmifm$ /**/ Preprocessor Macro Operator

/**/ Preprocessor Macro Operator

The /**/ operator differs from the ## operator only in the way that the preprocessor treats white space between the operator and its arguments.

For example, the macro definition:

#define XY(x, y) x /**/y

does not give the same result as:

#define XY(x, y) x ##y

because the preprocessor preserves white space with the /**/ operator. With the ## operator, arguments are concatenated without white space.

The following examples demonstrate the use of the /**/ operator:

Sample Preprocessor Macro Definitions
#define ws1(x, y) x /**/y
#define ws2(x, y) x/**/ y
#define nws1(x, y) x ##y
#define nws2(x, y) x##y
Invocation Result of Macro Expansion
ws1(Turtle, neck) Turtle neck
ws2(Turtle, neck) Turtle neck
nws1(Turtle, neck) Turtleneck
nws2(Turtle, neck) Turtleneck

For /**/ to function the same way as ## in ANSI/ISO C, there can be no spaces between the operator and the arguments.



Preprocessor Directives
Preprocessor Macros


Preprocessor Macro Operators
#define Preprocessor Directive

53"  k$R :7+:#R ./usr/vac/html/zh_CN/doc/compiler/ref/ruprmops.htmifm$ Preprocessor Macro Operators

Preprocessor Macro Operators

This page lists and briefly describes preprocessor macro operators available to you with the C for AIX compiler. To get more information on any item listed here, go to the reference page for that item.

Preprocessor Macro Operators
Name Action
# Converts a parameter of a function-like macro into a character string literal.
## Concatenates two tokens in a macro, ignoring white space between macro tokens and operators.
/**/ Concatenates two tokens in a macro, preserving white space between macro tokens and operators.


Preprocessor Directives


#define Preprocessor Directive
List of Preprocessor Directives

acdgilnps=hu.bfmv#&)0;\qwx(1FMOPRSTk%',-:ABCEIN23589DXyHUW4I2 1LTKjSNaJ ܩe; [22Uģ_A1R*x2x9A@P( ?usLIF)XWx~ʄ$p ?eBs=@QQo=r?{tCS$5$]x:E@mkس+Xr:$K-9pZٗ^%:(֨N\}1rRe#4QkTbQ(Պ(1S%|] $`7!~X츍^,emg}|Y1fA̾[6qqb'=d@?x1lPFBo&oF(,Awk@OJ$H[!Ҍ_L5, DR%Q "M(1S%.$T.~.[׎$eGLY.s@XnO^zXBX(TzDsRYQ*ub\Uk8$ImkP>.QQ#\}@tFHQ#\}@0b-lhҍ!F/1;1ӭʎ\}IPH_J7TkTb[#?=r:oCA!AކuIFF/1;1ӭʎ\}IPBYAiF꒍j_zDsW#nGRwTMh!f/YAAކuIFF/1RXRTRP׍QbJ]3ܸA)D..WV/o<Ȳ`*."ɝ7?H1t_#(XeZ$#3ܸA)D..RPx~S5hOJ$LSWL..PJQ=ˋUdŚk[2Vз[xo!b ҉(1RLb`^KŌ3ܸA)D..WV/o;b&,@<#\bٗ>ˈͦoٵ{_?kˎ|]2Ko-bzQ2NKev[6H^T]{α{Y1׎$eG|9~+[2j=(b`ɆP ClfO`kiAC1׎$eG|9~+[27Уr[+ٵzQ"Č:oEqf_eVϯqqbJ'qr R2^-XbR\~:eŽ3ܸAD..QfwϾ3oB+pJ'qr_*?H1l.-D2Ko-}[>\\oCR\\$T+z}nj^B^-Xrt{)/ͬ1>γiU WL..PPy7D..W"1-}#%Ŵ=(b`]xFTws7"ų/|g=ˋ%ܸF/"o\<*We7} ޼q#*:'z_L8_y_H\}ƺgqrBR\\r^{Ι\\{(V/o:*^O?H(-2-f/h[}E{{jJb^X|_зƚ'z_L8_+LoH1l#%o\/ͬ|]\WD,k;ɋh[M҈=F*PLbWp>."vˌ?W&u_+{(%(1nU'Qo\vTvK*;XNT+m` -|\9!*Ü01;1ӭʎ\}9.#IdF/7*Yl̾[}iD..RQQF_N_zDsW#nGNKGRwTы!|$E"F/Kh[\@_-op`JQZҍ8ۑDmzJ48ۑ /̾q=(bQӸ:޸=aۑԝ@txPy7 &4J51ӭʎ\}IPPy71Âɽ pPy7 MjQZҍeGkƮtG>܎xn(֨NtG;*;X~5p{9u'uAAކ4(<ԣuIFF/1;1ӭʎ\}IP`J51ӭʎ\}IPPy7oCR%n((NtG;*;X~5p{9u'u@ ɽ " &4-(RQQo\vTvjDsNꂃɽ  &4,8(<РoCR%n(J5bJ1RTvIC^5F)1F)XWx~ʄ$p ?eBs=@QQo{tCS/<`%TeA\gn9 GSFp u$V(JB8(eŕ-L7vurʜ _k҅"F/W9ĉC.,lem F ۑ ʖ[*s1kf\҅2R^1x$J1n.ʆ sş=@@~E=hREb_,s2)#FK-9pZٗ^M(Z+b|c 5,I0'nGPKh[\,Ty;IBԔIF/QQo=r?bˮtG>=iJ$(֨qF*Q QbJJ$JB8(% |+ˋ*[40޽$u%DH #pragma ibm critical Preprocessor Directive

#pragma ibm critical Preprocessor Directive

The critical pragma identifies a critical section of program code that must only be run by one process at a time.

Syntax

#pragma ibm critical [(name)]
<statement>

where name can be used to optionally identify the critical region. Identifiers naming a critical region have external linkage.

Notes
The compiler reports an error if you try to branch into or out of a critical section. Some situations that will cause an error are:

  • A critical section that contains the return statement.
  • A critical section that contains goto, continue, or break statements that transfer program flow outside of the critical section.
  • A goto statement outside a critical section that transfers program flow to a label defined within a critical section.

A thread waits at the start of a critical region identified by a given name until no other thread in the program is executing a critical region with that same name. Critical sections not specifically named by the ibm critical or omp critical directives are mapped to the same unspecified name.



Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
#pragma omp critical Preprocessor Directive
-qsmp=rec_locks

W l$":7+:#./usr/vac/html/zh_CN/doc/compiler/ref/ruprpdir.htmifm$  et "<>adilnoprs/=cfghm.buv#0Pwy%-13Dx,AFIMOSkqz59BCEW_28:RTUj!4;XYLHY.5eh"ڲ̫-‹OBdeG1̒lQsɶ۩@-xL29X1jy-Χa29[ms$RlQs$<$x:@@c  ! c1REc6<$ʐF=9[ג2NtF@B0Bs䣛6J^2.FYC RJ$Ad.M[bj:ФzˡpVxd&U@z,P5vUc oB*Ti eVB8eTJsr[NhL m9-G7nJ9lĭ%"aMe2a)+ʕ2$"2ne"49g7nl4$[bo1+sIxȸE #C*25xԸ۩."*""s[oܔsى[KE(š(dRW* dHDe!B+p t!$[bo1+sIxȸE  عUTnu9}vUc B m9-G7nJ9lĭ%"aMe2a)+ʕ2$"2dXb{P,HlVlQf%ni/@R=sr[ND m9-G7nJ9lĭ%")+ʕ2$"vXb{Pw:EZ-G7md\",HmO^] ;9",]5 hsxzN2:P sͥu¤kR0E(H%(M4P*T@Ȑ 1VX=(T CL$[bo1+sIxȸE 9Rm -'Y59]X.-uKD}vTl9-Χr[,MvUsYump#hvgCo.$[borQo1+sIxȸE JD q,*DŽR$U"sى[KE(P}Jo19X.z"m[B m9-G7nJ9lĭ%")+ʕ2$"`b{Pʕ-D"Iأ6J^2.BC_S<#\NP&c4svJՇuO\דM᯲K` g7 uf<#X͡XSl}*[$[borQ̑maJ9d%2maXxI!zs1$d#c䌀aMe2A(MG7mSYe !Iid 0aZZɩeN1-!SYe P TJo*T@ Q71GL*E 9W%jHy(JD sq &ABeQ9mSHRbyq0-dy2XbZB0P*IV22QJ k1lD#qCe"Dp,>s>a+v(S^JEZ,Ts*KK' MLW*t5PPZ2c !I%^T!*E a2 ʇU!䣛+ʕ2$"1b{P$Xx&]`\m|!#%r[NeskHRCG7W* dHD <1VX=(Px0m"9W%&P6$xN +v(S^JEZJ9ҼQ"B!q Up \R*ԐQJ]E(((4#O.!"P.4('#Cl4$XHbVp7*Kni/i%ZEolQnJ9-;G1̘"G1̕J 0!GǨCmeIid 0aC%!aiL )"G2EHYnQE _; k$9 :7+:#9 ./usr/vac/html/zh_CN/doc/compiler/ref/ruprpicl.htmifm $ #pragma ibm independent_calls Preprocessor Directive

#pragma ibm independent_calls Preprocessor Directive

The independent_calls pragma asserts that specified function calls within the chosen loop have no loop-carried dependencies. This information helps the compiler perform dependency analysis.

Syntax

#pragma ibm independent_calls [(identifier [,identifier] ... )]
<countable for/while/do loop>

where identifier represents the name of a function.

Notes
identifier cannot be the name of a pointer to a function.

If no function identifiers are specified, the compiler assumes that all functions inside the loop are free of carried dependencies.

Example

/* #pragma ibm independent_calls */
int s, a[100], i, N = 100; 
int foo (int);
#pragma ibm independent_calls (foo)
for (i = 0; i < N; i++) {
   a[i] = foo(i);
}


Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing

sIxȸE  kꂒ$ :7+:# ./usr/vac/html/zh_CN/doc/compiler/ref/ruprpilp.htmifm$ #pragma ibm independent_loop Preprocessor Directive

#pragma ibm independent_loop Preprocessor Directive

The independent_loop pragma asserts that iterations of the chosen loop are independent, and that the loop can be parallelized.

Syntax

#pragma ibm independent_loop [if (exp)]
<countable for/while/do loop>

where exp represents a scalar expression. When the if argument is specified, loop iterations are considered independent only as long as exp evaluates to TRUE at run-time.

Notes
This pragma can be combined with the schedule pragma to select a specific parallel process scheduling algorithm. For more information, see the description for the schedule pragma.

Examples

/* #pragma ibm independent_loop applied to a for loop */
#pragma ibm independent_loop
for (i = 0; i < N; i++) {
   a[i] = i;
}
/* pragma independent_loop applied to a do-while loop */
i = 0;
#pragma ibm independent_loop
do {
   a[i] = i;
   i++;
} while (i < N);
/* pragma independent_loop with if clause, applied to a while loop */
i = 0;
#pragma ibm independent_loop if (dist >= N/2)
while (i < N/2) {
   a[i] = a[i+dist];
   i++;
} 


Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
#pragma ibm schedule Preprocessor Directive

C k$7:7+:#7./usr/vac/html/zh_CN/doc/compiler/ref/ruprpite.htmifm$ #pragma ibm iterations Preprocessor Directive

#pragma ibm iterations Preprocessor Directive

The iterations pragma specifies the approximate number of loop iterations for the chosen loop.

Syntax

#pragma ibm iterations (iteration-count)
<countable for/while/do loop>

where iteration-count represents a positive integral constant expression.

Notes
The compiler uses the information in the iteration-count variable to determine if it is efficient to parallelize the loop.



Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing

= k~$:7+:#./usr/vac/html/zh_CN/doc/compiler/ref/ruprpplp.htmifm$ #pragma ibm parallel_loop Preprocessor Directive

#pragma ibm parallel_loop Preprocessor Directive

The parallel_loop pragma explicitly instructs the compiler to parallelize the chosen loop.

Syntax

#pragma ibm parallel_loop [if (exp)] [schedule (sched-type)]
<countable for/while/do loop>

where exp represents a scalar expression, and sched-type represents any scheduling algorithm as valid for the schedule directive. When the if argument is specified, the loop executes in parallel only if exp evaluates to TRUE at run-time. Otherwise the loop executes sequentially. The loop will also run sequentially if it is in a critical section.

Notes
This pragma can be applied to a wide variety of C loops, and the compiler will try to determine if a loop is countable or not.

Program sections using the ibm parallel_loop pragma must be able to produce a correct result in both sequential and parallel mode. For example, loop iterations must be independent before the loop can be parallelized. Explicit parallel programming techniques involving condition synchronization are not permitted.

This pragma can be combined with the ibm schedule pragma to select a specific parallel process scheduling algorithm. For more information, see the description for the ibm schedule pragma.

A warning is generated if this pragma is not followed by a countable loop.

Example

/* #pragma ibm parallel_loop 
   The loop will execute in parallel if N is greater
   or equal to 10000. Dynamic scheduling will be used. */
#pragma ibm parallel_loop if (N >= 10000) schedule (dynamic)
for (i = 0; i < N; i++) {
   a[i] = z;
}


Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
#pragma ibm schedule Preprocessor Directive
smp=nested_par Compiler Option

R k$::7+:#:./usr/vac/html/zh_CN/doc/compiler/ref/ruprpprm.htmifm$ #pragma ibm permutation Preprocessor Directive

#pragma ibm permutation Preprocessor Directive

The permutation pragma asserts that specified arrays in the chosen loop contain no repeated values.

Syntax

#pragma ibm permutation (identifier [,identifier] ... )
<countable for/while/do loop>

where identifier represents the name of an array.

Notes
identifier cannot be the name of a pointer.

An array specified by this pragma cannot be a function parameter.



Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing

count k)$:7+:#./usr/vac/html/zh_CN/doc/compiler/ref/ruprpsch.htmifm$ #pragma ibm schedule Preprocessor Directive

#pragma ibm schedule Preprocessor Directive

The schedule pragma specifies the scheduling algorithms used for parallel processing.

Syntax

#pragma ibm schedule (sched-type)
<countable for/while/do loop>

where sched-type represents one of the following options:

affinity
affinity,n
Iterations of a loop are initially divided into local partitions of size ceiling(number_of_iterations/number_of_threads). Each local partition then further subdivided into chunks of size ceiling(number_of_iterations_remaining_in_partition/2).

If n is specified, each local partition is subdivided into chunks of size n, where n is an integral assignment expression of value 1 or greater.

When a thread becomes available, it takes the next chunk from its local partition. If there are no more chunks in the local partition, the thread takes an available chunk from the partition of another thread.

dynamic
dynamic,n
If n is not specified, iterations of a loop are divided into chunks of size 1.

If n is specified, all chunks are set to size n, where n is an integral assignment expression of value 1 or greater.

Chunks are assigned to threads on a first-come, first-serve basis as threads become available. This continues until all work is completed.

guided
guided,n
Chunks are made progressively smaller until the default minimum chunk size is reached. The first chunk is of size ceiling(number_of_iterations/number_of_threads). Remaining chunks are of size ceiling(number_of_iterations_remaining/number_of_threads).

If n is specified, the minimum chunk size is set to n, where n is an integral assignment expression of value 1 or greater.

If n is not specified, a default value of 1 is assumed.

Chunks are assigned to threads on a first-come, first-serve basis as threads become available. This continues until all work is completed.

runtime
Scheduling policy is determined at run-time.
static
Iterations of a loop are divided into chunks of size ceiling(number_of_iterations/number_of_threads). Each thread is assigned a separate chunk.

This scheduling policy is also known as block scheduling.

static,n
Iterations of a loop are divided into chunks of size n. Each chunk is assigned to a thread in round-robin fashion.

n must be an integral assignment expression of value 1 or greater.

This scheduling policy is also known as block cyclic scheduling.

static,1
Iterations of a loop are divided into chunks of size 1. Each chunk is assigned to a thread in round-robin fashion.

This scheduling policy is also known as cyclic scheduling.

Notes
Scheduling algorithms for parallel processing can be specified using any of the methods shown below. If used, methods higher in the list override entries lower in the list.

  • pragma statements
  • compiler command line options
  • run-time command line options
  • run-time default options

Scheduling algorithms can also be specified using the schedule argument of the parallel_loop pragma statements. For example, the following sets of statements are equivalent:

#pragma ibm schedule (guided, 10) 
#pragma ibm parallel_loop 
for (i = 0; i < N; i++) {
  ... 
}

and

#pragma ibm parallel_loop schedule (guided, 10)
for (i = 0; i < N; i++) {
  ... 
} 

If different scheduling types are specified for a given loop, the last one specified is applied.



Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing
#pragma ibm parallel_loop Preprocessor Directive
Built-in Functions Used for Parallel Processing
IBM Run-time Options for Parallel Processing
-qsmp

#pragma ibm sequential_loop Preprocessor Directive

#pragma ibm sequential_loop Preprocessor Directive

The sequential_loop pragma explicitly instructs the compiler to execute the chosen loop sequentially.

Syntax

#pragma ibm sequential_loop
<countable for/while/do loop>

Notes
This pragma disables automatic parallelization of the chosen loop, and is always respected by the compiler.



Program Parallelization
Shared and Private Variables in a Parallel Environment
Countable Loops


Using Pragmas to Control Parallel Processing


#pragma Preprocessor Directives for Parallel Processing

top" k $:7+:#./usr/vac/html/zh_CN/doc/compiler/ref/ruretcod.htmifm$ Compiler Return Codes

Compiler Return Codes

At the end of compilation, the compiler sets the return code to zero under any of the following conditions:

  • No messages are issued.
  • The highest severity level of all errors diagnosed is E, W, or I.
  • The highest severity level of all errors diagnosed is less than the setting of the -qhalt compiler option, and the number of errors did not reach the limit set by the -qmaxerr compiler option.

Otherwise, the compiler sets the return code to one of the following values:

Return Code Error Type
1 Any error with a severity level higher than the setting of the halt compiler option has been detected.
40 An option error or an unrecoverable error has been detected.
41 A configuration file error has been detected.
250 An out-of-memory error has been detected. The xlc command cannot allocate any more memory for its use.
251 A signal-received error has been detected. That is, an unrecoverable error or interrupt signal has occurred.
252 A file-not-found error has been detected.
253 An input/output error has been detected: files cannot be read or written to.
254 A fork error has been detected. A new process cannot be created.
255 An error has been detected while the process was running.


Message and Listing Information
Compiler Message Format


Message Severity Levels and Compiler Response
-qhalt
-qmaxerr

 lK$:7+:#./usr/vac/html/zh_CN/doc/compiler/ref/ruspalgn.htmifm$    et /<>agilnorscdhmpu"0=_bfy()*.12;Avw,-48Sz#%&356:FITkq{}BCOR[]jx9MNPUW!EVP <ʲߘh׸H-)uX䤛'*zSPEYoZa+AtV},`=͆2pTu%S ZlIi|d,H h{bĀ… (P:UkR$P{a$ $P{ct,H8 (W%q=̀7.&$(C 0%s *!V%jgBL%1s`9%$takRJV6JY8XxDFL1j3c '4ԓ6J&I }-Abԓ1j0jljLQVPĀ@67KAdj֫D=eJMԚ-j^0cRn֪-j[tڐ# !jMԚ-jXNݭTZvPuIIZEWkRn֤*Z%KU]w#H`d̢9%&jM]1sa)7kU]кmHa퐵&jM]' MEWkq5 pT4ZvRn֪-j\Fc 2 {jMԚ-jX&C&J#_D-AbJPPĀ@67KAlDԅ'"I.EUh?As`,M8 0Ū[tڐ# !jM&Z'c q0JQh[bl d]60vZE,6Ct.R*eԐ)l=&fdDj\GajMI-Rm_KAԑ"ln1j0jғ;`ըl4벫TQV0cI0jD8s]ǠcCD8ps`]B@KDMIodAnK-ZbtF-SF XFjLQVZZr6 LQW!ÝRd8:'uD=e0Jv }SI5Y49u0Z^22L.='an"azbtF,*N5c1lܣC:B7<`AĚ.s]e:!5Y49u0cMאci6tOlƶT]dAÅNES[SYtC[$Š:XUj0j c)3F _3(uK!oYwC".ye0QZ`t p5]B爺t6Cc[*k.hst`A,L5\ /r=UKTɢ2Ohsta0W3H+deCX`E0l=@ԗh?9U*}q2N`ǹ.{̶=.d;*\Gv<6,-I{&h:ܣ -;`թ&-Ab10j c)3F _q:S[B2N`$Š:-Wkt/1s`(42A+dOcQJQ&jI:-WkQ4;t/1s` éJ2’ݭI2TQc1l: Ƃ0!X|:/)*Mԓ%KAu"f`rbtF,<=nܣ`=͂;`sa0lA퍞"*&èt5YtXڔ$Š:-Wk1s`(4iiN Pp& r4r4=saDAXX؛Y!nփC%nc %o`f4}7kRL-AdjX{A:0̓t/pv^0fцlǹxf``,hlM,EW7A!7170Ph3>xRT&J1`D$Š:Xy<{SF X{&w(;9܍"͕qlqUUv=́u ;c[*k.f7,Rfц:$ RLZRv6Оw#HNÿHW7#'r48x`h7’iR`(BR`6OaXX؛Y!}DpD)0xN,^ IAr4{,AHWRe=́u ;d[S!l _ݏ2 J;^ )܍"w0н07t=ͅ`h44}6&H~"+AQ0МX4 IRn֤*ZŁ31auN5c1lܣI$Š:-WkP_] {UaݕZR`'&5>QU;AJLEn%IZdh:@lRLZŇcǺ ;`ՌǹRgrDsp>'0kcPR:Q/wc̭s`]B$Š:,`=̀@ r4$^L9/c1lОa(l{v 9_[̶=-CcP#ew#Hǹ  7t=ͅ`h44}6&HIAr4{,'HWRe&jI:-Wkt/1s`()*Mԓ%KAu*Z0c 0'/`{0!]JQRT&J1`D$Š:tVldMHXBr)14XBr)!h".&$0PJ\\M,H4P%jqm" KcjieO[\8N"lbC$NU9X %j%fTp26&[`l0 sX2),Zh?*,Lc)U\L.;+{s_SRX 3*T8XU\Lael8#.x55%P-S2C| ƅe=l ^}O` S%keMeԖ-IV6L"2aQX9XIV7%Mkh:S2C HXZHf9$F\A *8ą,-.- p0x[\8N62&,H+RXIGRJ޴` Statement Labels

Statement Labels

A label is an identifier that allows your program to transfer control to other statements within the same function. It is the only type of identifier that has function scope.

Control is transferred to the statement following the label by means of the goto or switch statements. The case and default label names are reserved for use within the body of the switch statement.

In the examples below, the label is both the identifier and the colon (:) character at the beginning of each line.

comment_complete : ;            /* null statement label */
test_for_null : if (NULL == pointer)


Scope of Identifier Visibility


goto Statement
switch Statement

 l^$y:7+:# ./usr/vac/html/zh_CN/doc/compiler/ref/rusysinf.htmifm$    /rt <>acdeilnosbpuv".fghm0=Cxy8AI_w%,1DEFPRSTXk#&239;MY()-56:HL8)1+AbۘD+  ^ xP`ͶLJb :`X`Xna 888888df)qy){Hf4)l1+[^$ 08mLs:T׉ v( 0A{`֮q@!*`@dRSK-Hd;-A( B_P,<@/փ^8mGAx@jhVGAy< |m.s^'Lc̣w%Lbk^'2<`<=g3P@` 69åkkĄ@ژDt2 _ =8V b4ST+TikXKkBzBؽbZl;P+1Sckap#",S5@Xs+ S1 mPkA{Z$ԒHSd @H mh17H1t*YփI%*2B>/y)qfIx#Ԍeǃ_f-08h Converting Files Containing Multibyte Data to New Code Pages

Converting Files Containing Multibyte Data to New Code Pages

If you have installed new code pages on your system, you must use the AIX iconv migration utility to convert files containing multibyte data to use new code pages. This command converts files containing multibyte data from the IBM-932 code set to the IBM-euc code set.

The iconv command is described in the AIX Version 4 Commands Reference. Using the NLS code set converters with the iconv command is described in "Converters Overview for Programming" in the AIX Version 4 General Programming Concepts.



National Language Support in the C for AIX Compiler
Where Multibyte Characters are Supported

 kF=$D:7+:#D./usr/vac/html/zh_CN/doc/compiler/ref/ruxltmbs.htmifm$ Where Multibyte Characters are Supported

Where Multibyte Characters Are Supported

In the examples that follow, multibyte_char represents any string of one or more multibyte characters.

 

String Literals and Character Constants
Multibyte characters are supported in string literals and character constants. Strings containing multibyte characters are treated in essentially the same way as strings without multibyte characters. Multibyte characters can appear in several contexts:

  • Preprocessor directives
  • Macro definitions
  • The # and ## operators
  • The definition of the macro name in the -D compiler option

Wide-character strings can be manipulated the same way as single-byte character strings. The system provides equivalent wide-character and single-byte string functions.

The default storage type for all string literals is read-only. The -qro option sets the storage type of string literals to read-only, and the -qnoro option makes string literals writable.

Note: Because a character constant can store only 1 byte, avoid assigning multibyte characters to character constants. Only the last byte of a multibyte character constant is stored. Use a wide-character representation instead. Wide-character string literals and constants must be prefixed by L. For example:

wchar_t *a = L"wide_char_string" ;
wchar_t b = L'c'

String literals and character constants are described in AIX Version 4: Language Reference. The # and ## operators, preprocessor directives, and macro definitions are also described there.

 

Preprocessor Directives
The following preprocessor directives permit multibyte-character constants and string literals:

  • #define
  • #pragma comment
  • #include

These and other preprocessor directives are described in AIX Version 4: Language Reference.

 

Macro Definitions
Because string literals and character constants can be part of #define statements, multibyte characters are also permitted in both object-like and function-like macro definitions.

 

Compiler Options
Multibyte characters can appear in the compiler suboptions that take file names as arguments:

  • -l key
  • -o file_name
  • -B prefix
  • -F config_file:stanza
  • -I directory
  • -L directory

The -D name=definition option permits multibyte characters in the definition of the macro name. In the following example, the first definition is a string literal, and the second is a character constant:

-DMYMACRO="kpsmultibyte_chardcs"
-DMYMACRO='multibyte_char'

The -qmbcs compiler option permits both double-byte and multibyte characters. In other respects, it is equivalent to the -qdbcs option, but it should be used when multibyte characters appear in the program.

The listings produced by the -qlist and -qsource options display the date and time for the appropriate international language. Multibyte characters in the file name of the C source file also appear in the name of the corresponding list file. For example, a C source file called:

multibyte_char.c

gives a list file called

multibyte_char.lst

 

File Names and Comments
Any file name can contain multibyte characters. The file name can be a relative or absolute path name. For example:

#include<multibyte_char/mydir/mysource/multibyte_char.h>
#include "multibyte_char.h"

xlc /u/myhome/c_programs/kanji_files/multibyte_char.c
-omultibyte_char

Multibyte characters are also permitted in comments, if you specify the -qmbcs compiler option. Comments are described in AIX Version 4: Language Reference.

 

Restrictions

  • Multibyte characters are not permitted in identifiers.
  • Hexadecimal values for multibyte characters must be in the range of the code page being used.
  • You cannot mix wide characters and multibyte characters in macro definitions. For example, a macro expansion that concatenates a wide string and a multibyte string is not permitted.
  • Assignment between wide characters and multibyte characters is not permitted.
  • Concatenating wide character strings and multibyte character strings is not permitted.


National Language Support in the C for AIX Compiler
Where Multibyte Characters are Supported
-B
-D
-F
-I
-L
-l
-o
-qlist
-qmbcs, -qdbcs
-qro
-qsource

that ku$<:7+:#<./usr/vac/html/zh_CN/doc/compiler/ref/ruxltovr.htmifm$ National Languages Support in the C for AIX Compiler

National Languages Support in the C for AIX Compiler

This and related pages summarize the national language support (NLS) specific to the C for AIX Compiler.

Note: You must specify the -qmbcs option to use multibyte characters anywhere in your program.

Support for multibyte characters includes support for wide characters. Generally, wide characters are permitted anywhere multibyte characters are, but they are incompatible with multibyte characters in the same string because their bit patterns differ. Wherever permitted, you can mix single-byte and multibyte characters in the same string. See Restrictions for more information.



Converting Files Containing Multibyte Data to New Code Page
Where Multibyte Characters are Supported
-qmbcs, -qdbcs

 l$)*:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tucfg41.htmfm$  lr -/ceiost,=_abdnpu.0ACDELfghmv"128:<>FISTqx*+HMPRUX()4NOVwy%39 #&;BGY!7WZkj tJLv5|ȵM SZAVs)ARM -KPd:xiS)I 8N4@5jZ^y'Ff pppppp?7p,Xbuj H41KPd>A`8}ϪH$RHAF!2f AVj42T "`<>A 0(X &CNs:uMU ;D0qH419œD!jBxآFB1Fa&Vի2heNDy }VrAgT "`=9H5j l Z; Z3KPbAcR Zĭᡓhjc@H(ǀ&#hؔJZPDC@/Ѡp>6($(aOZPa ZP  ӄQ:NPE 9卍+ pX.X-}z P!== tp:\R} GpJZ0C}QI,N D-2O/A4:pθ>^frč@~f Ԯ$aO@jrjW0)(͂Tr$9lF7$n.2Ե ӂB1È_{]s*+WG\3m@uX_s͵I1b[)WW56{R=AP=\Hž/6 u@*@ Z67tJ% }NoEZNO3<8j1bu6iG\ŊI?P=s*+W@:y)!Eq#P>_j+S-ڕČ)-_Jp23`*+F*'g}EZLz'CBB1È_9[Jm@,TVfm*sIQ1bu6+iSMN}p|s6jr9$ځ岆[(lrč@~f NVҧ9$P=\Hžl ځJF a+m@q# z W4*3a+iSځ岉-L WR"$r2[ $)jZܦr(hnBy3Ӎ IB@*'N69?p+Wm\śbu6iG\śbu6i'\śbS{fNr-BEmmځrč@~f Ԯ$aO@jrjW0B|6jr9ͨ[(D )NF_l9@-S'o9["8`MF jԵLP:ݺ%>IgKs IB@*a'@Eju͵똳lTVfځ(똳lTVNfځ$똳lTVu6jrlBE;yHSڜP=ŽZҸ/AڕČ) NVځJFhTf NVҧ9e()(͂Tr$9lF7$n.2l;y=8@,xƈ [h0h(h$@D_59[J-L/6 QȒcPzIK`1(eJ>B`Aƈc4@`p8@A@A !暵-@lN@}()P:OC:X 6`x7'o9 P 69?p+WmNVҧ9$P=6Ej(mNVҧ9$P=smI?ڜNrI6{I:,)NF_l9@-S'o9["8`MF jP>θ>A959[jd!"AT$jm[))e8-P+m@p$j6jr9$ځJF ajW0[59[j+SZɡP>_59[J-Li[(D jc@}()P< $+>(Њg`x7'o9 P  61È_9[Jm@,9[Jm@uY*+W'\3jr9$ځ$똳lTVu AP='o9  NVҧ9$P_SI&jW0[6{R=AP=\HžM AT6ylcMD m_Jp23`Tl%2vzq X<4$`P(H0yKPE ۢQ(S:tt:q` UNm~f8xqu͵똳lTV{J:,$mN6EjAP='o9 AϨlRzS'o9 Jd!"N6e9jҸ/AڕČ) NVځJFSm@D m_R"$r2[Nr@4D 0qƚ  48с h <` `F4@Ə-  `{SAAZ7)ZDPu@= nq` U6`NO3<8j1fب_s͵Q1fب_s͵I1fب_l mٓe q[)=)e%2vleq#P>_j+S-ڕČ)-_Ш/̈́Nsj&QmjSQIQZ1sz(=$n%I]e2%2vzq X<4$`P(H0yƌ`DA[0x@04ylhh [ڜEԚjzԵ ӂB/NO3<8j1fب_s͵Q1fب_s͵I1fب_l mٓe q[)=)e%2vle[)l-_\Hl ځJF a+m@q# z W4*3a+iSځ岉@Zef#"%HA!EJd `DA 08yliHQaMZ67tJ% }NoEZl 1È_{]smQ?P=smI?P=smP>θ>^f NVځ;yHR}@esҙ;yHRS'o9 p@HQ[)!Emrč@~f Ԯ$aO@jrjW0B|6jr9ͨ[(D )NF_l%Ehlj `1$cqtQ` })-njhq#FAC5jZ؝ ƁQ(S:tt:m8hj '@EjuͩT$j1fب_sͩT$jbͱQZ:SI&i'\śbNf NVځ;yHjr9$ځ岆eAϨlRzS'o9 Jd!"N6e-P=(+̈́NrI6{R=AڕČ) NVځJFhTf NVҧ9em&QmjSQFP:t`Aƚ  48@,xƈ [0<Mnj `Alhh [0x@04yljrRh=9RƁQ(S2x@HV|'Q%ϧ n"NrV:mzrV\ڜNrI6{]smQ?ڜNrI6{J:,9[Jm@uY*+W@:l mٓa+iSM[(h@HQ[(h@HQlls-BE;yHSBN -lQBNZҸ/AT$j+S-P=\Hžl mԮ$aOAj&@l m*sP_l m*sP95ɣNeC P+q4Pğ&Jr@XP"A`8pƜ4A'2;y l$5:7+:#S!./usr/vac/html/zh_CN/doc/compiler/tasks/tucfg43.htmfm $   l -/acdeiorst,=_bhp.0ACDELTfgmnu"128:<>FIPRSXqvx*+47HMU()3NOV69wy%&;BG#WY !Zjk u@:0Щ[.}2¤+ld )!hT)*HZk%I kp kA`p-nH[^!gma@dX^`\,bp8@I.ʘFN } ] $۔g"wȰ&FYq=Dpy"ˉFr'Yq=Dpz'7Y(2y@ԟ#Xȵ?&ԋn-`*JV{fۤU'Aiێ !85T[q I)?q=F Uӯ츞®F Qӯ츞ŽF q>maO7Yq=Bpkb851v'ȝ~n,g"q<őazM،N7?>}?uazMs.'@ԟ#Xȵ?&ԋn-_< XF8 "H8㔕$ ہN+n :aYzCy$N츞NI*v\OaWNI(v\OaGNI60 lʡ851vPp8@I)?D'ue#9, lg"q=IA lkq<^En6[qm X 1buBpk<@G"44qHdIrzUٿvF7 ~nqAY$'*0$u7e:u.JOWN{ u.JOGN{ :u.JOq.'Ȝn1dX^e#9OOdX^`\ˉ.*'H2-OuKK6g,L#&ZSZ1bv $ʼn XD p,y#G $qJlv8 "=LV<%Bpk"8yzCy$N츞NI*v\OaWNI(v\OaGNI5Sbm-H:85yq H@ŏ8$h@$9I60Fn,/I{*őazMr(y.Ѫ_CeL]IFr'q> lkE،N7,g"q<őazM،N7?>}?uazMs.'@q IR@ۤU'h  '>5Eosn- :x48K$RElp8@I $u7e:u.JOWN{ u.JOGN{ :u.JOq3uazMT', lkE] 1v85Bpkb&.ʘrN}?7Y(".'Ȝn1dYq=Dpy".'ȜnR}"\O1vhz$kZmŴ1bv $ʼn XD p,y#G $qJV{fۤU'Aiێ " I)?_v\OcQ]:nˉ*`)?GN{ :u.JOq>maO7Yq=Bpkb3ot_Ch ΑT[Sh )?3;dYq=Dpy".'ȜnRq>Ȱ&F]UO$kZmŴ1buBpk<@G"44qHdIqp#D "pAp  @Gbǜ4 @,@q<@ps"Y]c%IpREm'LqHRN츞NIʺuݗUӨrR7et0\|8žn,/I{* :f.#T'.Ѫ_C".Ѫ_Cn 1v'Fr'q>.'Ȝn1dX^e#9O'7Y(2y Ic"7XKR-,NN |bǜH @hF1c8 8<@RElqeqHR:{:%'_q=]:%'_q=:%'|8Ȱ&ˉ_CE6 5Ȣˉ.{q=Lj5BpksU5Bpkb쩋)?D'uazMr({E،N7,/I{'On,/IQeh1vW?FjM[C'T'1c$  4y#CHp(Dq 8<$@' $  4x,yC,yH"1a/I%e=RT.+c`6F7 5C ύ{b\ۋi+cN "8 $²I)?q=F Uӯ츞®F Qӯ츞ŽF q>ma@dX^eU "QecL]1vB{ jH-.Ѫ_Cn 1vbO3;dX^`\,g"q<őe#9, lg"q=IA lkE]8^En6[qm X 1buBpk<@G"44qHdIqp#D "pAp  @Gbǜ48Hbǜ4 @,@q"Y]c%IR@*l߻t?kQAXx"%IBpk" I)?v\OcQtnˉ*`)?:{ :u.JOq?7Yq=Bpkb859*jb851vbO3;7Y\Ob38bȰ&ˉFr'ԟq>n,/IQehz$kn6[qm XP<ŏ8$@ bǜp4pxyYAbǜ48H@G<"p I)?v\OcQtnˉ*`)?:{ :u.JOq?7Yq=Bpkb859*jb851vpn:f.ܤ9Oue#9, lg"q=IA"\O1vW?FjijEʼn XD p,y#G $q,yC$  4x,N}*HZYnTcpۋi<%!XpA$'*0@WqHRN츞NIʺuݗUӨrR7et0\|8žn,/I{*5BpksU5BpkbL۔ȝ~n,g"q<őazM،N7?OdX^`\ˉ.*'5Sbv,R̀`Yy-)ʼnLXP<ŏ8$@ bǜp4pxyYAbǜ48H@G<.p8@I~^7@4%'tnˉt0\_q=]:%'(v\OaGNI'ͳ)".'N } ]T':EQmL]T'.bL۔ȝ~n,g"q<őazM،N7?OdX^`\ˉ.*'5Sbv,R̀`Yy-)ʼnLXP<ŏ8$@ bǜp4pxyYAbǜ48H@G<b8@Jq[H1OmŴLC D8K6$RElqeqHR:{:%'_q=]:%'_q=:%'|8Ȱ&ˉ_CE6 5Ȣˉ.FN }tژFN } ]阻*c lˉ'ȝ~n,/IQE\Ob38bȲ{E6\Ob38E6 5̸b.*'H2-Ou"ۋhb,yā"8Dhi<】Ȓ8LXP<ŏ8$@ bǜp4pxyYAbǜ48H@G< ]*VEKFj)#$EH?&FYX0V@fԟ:EQ^`\ :>n@V Γ@v(2`r(?Kr lkE ,^`\ EOO^`\ "87azMr(cbq?/IQd`uROvmf[ԟ[ lkEijlrQg&FYβ$kp#<@0Ap 89p 8 bǜ<  Y *0` 1g<(`@ 1I&^US¤B@D(PР A2?>}?E6 5̸bRls7XKR-OS ݗa.JOWN@?츞®Ftpnˉ(a.JO q>maLv+t*$kq>maLv+rFOH nQeNTT-Te:7azMsfXFSҪH[+P#8)*H]Z}>S|&h0mлE|K4`6]% 0}P4` R0'.4_T  `X"lmġcA$Aj!h,h4Q alD1I e^ RBVp RTC؈bBp&h0l-Tcp"΂5\@Z* :Mƃ b) 0HUȀqe"L>S|&h0`41I ax RB؅Jb(t] k$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuclblkx.htmm $ Example of Initialization within Statement Blocks

Example of Initialization within Statement Blocks

The following program shows how the values of data objects change in nested statement blocks:

 1   #include <stdio.h>
 2
 3   int main(void)
 4   {
 5      int x = 1;                 /* Initialize x to 1  */
 6      int y = 3;
 7
 8      if (y > 0)
 9      {
10         int x = 2;              /* Initialize x to 2  */
11         printf("second x = %4d\n", x);
12      }
13      printf("first  x = %4d\n", x);
14   }

The program produces the following output:

second x =    2
first  x =    1

Two variables named x are defined in main. The definition of x on line 5 retains storage while main is running. However, because the definition of x on line 10 occurs within a nested block, line 11 recognizes x as the variable defined on line 10. Because line 13 is not part of the nested block, x is recognized as the variable defined on line 5.



Initializers


Statement Blocks

ʼn  k>$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuclbrkx.htmm$ Examples Using the break Statement

Examples Using the break Statement

The following example shows a break statement in the action part of a for statement. If the ith element of the array string is equal to '\0', the break statement causes the for statement to end.

for (i = 0; i < 5; i++)
{
   if (string[i] == '\0')
      break;
   length++;
}

The following is an equivalent for statement, if string does not contain any embedded null characters:

for (i = 0; (i < 5)&& (string[i] != '\0'); i++)
{
   length++;
}

The following example shows a break statement in a nested iterative statement. The outer loop goes through an array of pointers to strings. The inner loop examines each character of the string. When the break statement is processed, the inner loop ends and control returns to the outer loop.

/**
 **  This program counts the characters in the strings that are
 **  part of an array of pointers to characters.  The count stops
 **  when one of the digits 0 through 9 is encountered
 **  and resumes at the beginning of the next string.
 **/
 
#include <stdio.h>
#define  SIZE  3
 
int main(void)
{
   static char *strings[SIZE] = { "ab", "c5d", "e5" };
   int i;
   int letter_count = 0;
   char *pointer;
 
   for (i = 0; i <SIZE; i++) /* for each string */ 
                             /* for each character */ 
       for (pointer=strings[i]; *pointer != '\0' ; ++pointer)
       {                     /* if a number */ 
           if (*pointer >='0' && *pointer <= '9' ) 
               break; 
           letter_count++;
       }
   printf("letter count="%d\n"," letter_count);
}

The program produces the following output:

letter count = 4

The following example is a switch statement that contains several break statements. Each break statement indicates the end of a specific clause and ends the switch statement.

#include <stdio.h>
 
enum {morning, afternoon, evening} timeofday = morning;
 
int main(void) {
 
   switch (timeofday) {
      case (morning):
         printf("Good Morning\n");
         break;
 
      case (evening):
         printf("Good Evening\n");
         break;
 
      default:
         printf("Good Day, eh\n");
   }
}


break Statement

l l$$:7+:#o ./usr/vac/html/zh_CN/doc/compiler/tasks/tuclcaux.htmm$    *t <>aeinors"/=cdghlpu.0;bfmv&(),1_qwy%235T[]jk#+478:EFS\xz{}-69COUWIDY8)*JsLb+`4rxnn8qMvl鬛})+$4)*JDaȢ@, , #Q B C5%IZ Y(1IRWm{D #-ǞL14Ϛ -4<8E 'w&)?1=.(<8@lX-=Ǻ[HbQbk9=R4vqˌk{g7Md-$[f1I]i6q@Pb{́DId3Y(1IY6crbms%h0s<>J&ɣ s)/={mr cQܣYlчbpiƣ񆻶knؤᯃ؄q0L3sK;G8wlj7ɻ`sI1_%Bpi35}0Yh{In3|K{4'IUUUUUUUUUUUUUUUUUUUUUUUUUD8 G1I.vc$lZ%'|/(|^`Z N|^f[O<8j0,)n08{d-I Fp+ 58k|ann!/T$4 ڍ8{e\\`fcFF=$4ГcBCэ| mF=& F6,3j7X$4xp`XSQlũ!?'ƅmڍ8{eL`lXfn! jHhu(b!EI RAAi F>lԐP+AI >4($=ش9V 0 Hz1a `p,Z n08{eũ g'ƅg7=& F6,3ARA@ Edݱd'1IY#acnbN|%ds<>FFd%IXXD=ۘ 9cKj7V RPlYXjg7=jLQKj7VnزPİz11IRVtqD%IZ lO>"@h D{9sd]{g5%sFVLQ: 4tܟ{g; 8M ӝF wlek&휜[=m0:s7sdRgr| 9ó[s7Rhsd9.Fd+Y7l9g6i|Fs΅|;9Ke&J RT>%CэOГUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUJOUw' D4v@g>{@h6stl Rz )=UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUHz&; >|DmR@G1I.w''bԝI|/(|^`Z)?XQg6]6Rhf_jOs>p`h4҈CܘǴF , H`FFM'vf=EPK=nvœf1IY7&)?1I]i6q@AY ɳǴCv`=dݱdٌRMɊOɶ=RI1IY&%IYb0c##"F[=ciD #-ǟ4[iD #yqD !OLRfb2( P$-" H^9d8 5HeQYyYD2bIJ Hd-:cQeM5=kM'vf=E8DBMACi6'ud'dٌRMɊJɶ=RTŒ%mΓ@$Iqt.0-\-F[cb8r,$H^9d׌Z"Mx1D !%RVHȘ"%dcbo l$8:7+:#y./usr/vac/html/zh_CN/doc/compiler/tasks/tuclcexx.htmm $     *t /<>aeilnor"cdghps.01;=bfmu&()qvwxy%,2359:FTjk#+-4678EOS[\]{}CIUWz_BYB Jġ(Jo9PH37[ M;0ips4% BHqJ@0@  4 PB %P,-G1(Jmc21')Ё,')Ё4'yvhE %GlJ?e̓̈nG4i HI,Y,|xᤶolFηXi &q,Z(AJ?-ӎ\4z>Q-FV[xs`"4|sv<ȍ&o0%sbQ\ؔ-Vsg0"k$966Ak>!6CsLc-ӊ}Q1DU%ī|x"ksLc-ӊ}Q1UeCqPl_(|]kU9vZvͱ/x>.vb֫%-j`"k=}Q?]B8UeCN9͙1j`"ksLc-ӊ}Q11*(eZؔ<|\^`Av Z'youݲWllqJv{H;;iAvSo=to8N'(]5Zٝ7fe{|~ؗk=feCb^[a퀭wl jf[fݲWlݰXb^\Z<k`Zv:sg1g|Z&1j9BPБA021(Ysv_ꪪJ0_V5ӑin)q鼧r;[K,w%3ļ6f[a#vq?T`%`GT*0-hQ1(~AXtXbP,Ws|r |I@'a<ꬷͶGyo{l #Ғ`pqMmUc3-AmQ?[aJJ`77Džnf85i :!Aec%mB%:o #+D>wryFV0ܭ  `OFq 1(U%)jbtġj  #+sg0*#8bsg1g|֣rZbP,t$PL4J?tݳUMynvm+l(ٶ(ܭRP, 6#ƒHGaM p˕`7D1@fw]@oܭA@bP,Un}KU% PHi[% 9Qy% 9>(sLbsc"aenbQk`MmŪQst$PL4JvqkOv#WlZ%U͉GlJ?e̓̈nG4i"XqZ%Di7#b V-V[ģw6%Di7#]4`I,mjؔÛ܎%`}D]mG@0p5jbe(ZlJ?֫h9GYlJġ(YxpEġ(Y| &gNFM3͐yϹ&1j>(9{GAǥOqx#p8=Y1*(WlݰN֫%6;J)ǟ%ؘvqksLc-ӊ}Q1@sfvoU6Ľwle]Wl˓J#+hssO?9i[rv;Z'ZbP,t$PL4J?tݱUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTuX)ۋϹ&gNFM0ןA͐y-ӏ%VD>X1*(RQUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUR(DaPoB@% >$У,bQ JfJ4_<ĠJ?ϔ,:O,0bQ7Džn]g ~yM2ƒHofsptBϹ& J?>SGMaAec&>Ss|Lx?D(4`+>1(ҏ#8 +U%:nb')XtXbP%7Ӂ[XHۈ1(ҏxY;2Ղf4(ӵ aGspT,d,ћ@3J?\Ɯ3J?%cⰦ8`SH3>(s|LBX ӀGncN J?A(;s|LB@xģ`74%8s|LBX Ӏon pģREjbtġj  #+sg0kΜHo?6opٻ*D`^tY֣% . J?Yl]ttƒ(B4,Q9N9>& $Q,J?sbQ/ldFr8=٣I ,F֫-G9yMXQO3U-GsbQxs`"4.Hh$(F֫-G9yMXQ]jؔW6%빱(]62#INѤI`F#kUģv^<ȍ&q,]&>Ss|Lx?h jbe(ZlJ?֫h9GYlJġ(YbP.:JecINSYoINSiOINѤ(Kؔ]4$P$- ϙCI%O zd 1]4`a9yAıcģm͛$HM2%@ 6w#c-ӎ\4֦jؔÛ܎'ӘDi3y,֣V[ġj% 9QJ6n4"T$JMEJ%8=E8I@- ϙCI%BDcTLx"$Ǐ')$Q,Zġj"X-F1(f="../. k%$ :7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuclcntx.htmm $ Examples Using the continue Statement

Examples Using the continue Statement

The following example shows a continue statement in a for statement. The continue statement causes processing to skip over those elements of the array rates that have values less than or equal to 1.

/**
 ** This example shows a continue statement in a for statement.
 **/
 
#include <stdio.h>
#define  SIZE  5
 
int main(void)
{
   int i;
   static float rates[SIZE] = { 1.45, 0.05, 1.88, 2.00, 0.75 };
 
   printf("Rates over 1.00\n");
   for (i = 0; i < SIZE; i++)
   {
      if (rates[i] <= 1.00)  /*  skip rates <= 1.00  */
         continue;
      printf("rate = %.2f\n", rates[i]);
   }
 
   return(0);
}

The program produces the following output:

Rates over 1.00
rate = 1.45
rate = 1.88
rate = 2.00

The following example shows a continue statement in a nested loop. When the inner loop encounters a number in the array strings, that iteration of the loop ends. Processing continues with the third expression of the inner loop. The inner loop ends when the '\0' escape sequence is encountered.

/**
 ** This program counts the characters in strings that are part
 ** of an array of pointers to characters.  The count excludes
 ** the digits 0 through 9.
 **/
 
#include <stdio.h>
#define  SIZE  3
 
int main(void)
{
   static char *strings[SIZE] = { "ab", "c5d", "e5" };
   int i;
   int letter_count = 0;
   char *pointer;
   for (i = 0; i <SIZE; i++) /* for each string */ 
                             /* for each each character */ 
       for (pointer="strings[i];" *pointer !="\0" ; ++pointer) 
       {                     /* if a number */ 
           if (*pointer>= '0' && *pointer <= '9') 
              continue; 
           letter_count++; 
       }
   printf("letter count="%d\n&quot;," letter_count);
}

The program produces the following output:

letter count = 5

Compare this program with the third program in Examples Using the break Statement, which uses the break statement to perform a similar function.



continue Statement

`a9y k~$}:7+:#}./usr/vac/html/zh_CN/doc/compiler/tasks/tuclcstx.htmm$ Examples Using static Storage Classes

Examples Using static Storage Classes

The following program shows the linkage of static identifiers at file scope. This program uses two different external static identifiers named stat_var. The first definition occurs in File 1. The second definition occurs in File 2. The main function references the object defined in File 1.. The var_print function references the object defined in File 2.

File 1

/**************************************************************
** Program to illustrate file scope static variables         **
**************************************************************/
 
#include <stdio.h>
 
extern void var_print(void);
static stat_var = 1;
 
int main(void)
{
   printf("file1 stat_var = %d\n", stat_var);
   var_print();
   printf("FILE1 stat_var = %d\n", stat_var);
 
   return(0);
}

 

File 2

/**************************************************************
** This file contains the second definition of stat_var      **
**************************************************************/
 
#include <stdio.h>
 
static int stat_var = 2;
 
void var_print(void)
{
    printf("file2 stat_var = %d\n", stat_var);
}

This program produces the following output:

file1 stat_var = 1
file2 stat_var = 2
FILE1 stat_var = 1

The following program shows the linkage of static identifiers with block scope. The test function defines the static variable stat_var, which retains its storage throughout the program, even though test is the only function that can refer to stat_var.

/**************************************************************
** Program to illustrate block scope static variables        **
**************************************************************/
 
#include <stdio.h>
 
int main(void)
{
   void test(void);
   int counter;
   for (counter = 1; counter <= 4; ++counter)
      test();
 
   return(0);
}
 
void test(void)
{
   static int stat_var = 0;
   auto int auto_var = 0;
   stat_var++;
   auto_var++;
   printf("stat_var = %d auto_var = %d\n", stat_var, auto_var);
}

This program produces the following output:

stat_var = 1 auto_var = 1
stat_var = 2 auto_var = 1
stat_var = 3 auto_var = 1
stat_var = 4 auto_var = 1


static Storage Class

./. kz $:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tucldarx.htmm$ Examples of Array Declaration and Use

Examples of Array Declaration and Use

The following show four different character array initializations:

static char name1[] = { 'J', 'a', 'n' };
static char name2[] = { "Jan" };
static char name3[3] = "Jan";
static char name4[4] = "Jan";

These initializations create the following elements:

name1 name2 name3 name4
Element Value Element Value Element Value Element Value
name1[0] J name2[0] J name3[0] J name4[0] J
name1[1] a name2[1] a name3[1] a name4[1] a
name1[2] n name2[2] n name3[2] n name4[2] n
    name2[3] \0     name4[3] \0

Note that the NULL character (\0)is lost for name1[] and name3[3]. A compiler warning is issued for name3[3].


The following program defines a floating-point array called prices.

The first for statement prints the values of the elements of prices. The second for statement adds five percent to the value of each element of prices, and assigns the result to total, and prints the value of total.

/**
 ** Example of one-dimensional arrays
 **/
 
#include <stdio.h>
#define  ARR_SIZE  5
 
int main(void)
{
  static float const prices[ARR_SIZE] = { 1.41, 1.50, 3.75, 5.00, .86 };
  auto float total;
  int i;
 
  for (i = 0; i < ARR_SIZE; i++)
  {
    printf("price = $%.2f\n", prices[i]);
  }
 
  printf("\n");
 
  for (i = 0; i < ARR_SIZE; i++)
  {
    total = prices[i] * 1.05;
 
    printf("total = $%.2f\n", total);
  }
 
  return(0);
}

This program produces the following output:

price = $1.41
price = $1.50
price = $3.75
price = $5.00
price = $0.86
 
total = $1.48
total = $1.57
total = $3.94
total = $5.25
total = $0.90

The following program defines the multidimensional array salary_tbl. A for loop prints the values of salary_tbl.

/**
 ** Example of a multidimensional array
 **/
 
#include <stdio.h>
#define  ROW_SIZE     3
#define  COLUMN_SIZE  5
 
int main(void)
{
  static int salary_tbl[ROW_SIZE][COLUMN_SIZE] =
  {
    {  500,  550,  600,  650,  700   },
    {  600,  670,  740,  810,  880   },
    {  740,  840,  940, 1040, 1140   }
  };
  int grade , step;
 
  for (grade = 0; grade < ROW_SIZE; ++grade)
   for (step = 0; step < COLUMN_SIZE; ++step)
   {
     printf("salary_tbl[%d] [%d] = %d\n", grade, step,
             salary_tbl[grade] [step]);
   }
 
   return(0);
}

This program produces the following output:

salary_tbl[0] [0] = 500
salary_tbl[0] [1] = 550
salary_tbl[0] [2] = 600
salary_tbl[0] [3] = 650
salary_tbl[0] [4] = 700
salary_tbl[1] [0] = 600
salary_tbl[1] [1] = 670
salary_tbl[1] [2] = 740
salary_tbl[1] [3] = 810
salary_tbl[1] [4] = 880
salary_tbl[2] [0] = 740
salary_tbl[2] [1] = 840
salary_tbl[2] [2] = 940
salary_tbl[2] [3] = 1040
salary_tbl[2] [4] = 1140


Array Type

t k$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tucldenx.htmm$ Examples of Eumerator Declaration and Use

Examples of Eumerator Declaration and Use

The following data type declarations list oats, wheat, barley, corn, and rice as enumeration constants. The number under each constant shows the integer value.

enum grain { oats, wheat, barley, corn, rice };
   /*         0      1      2      3     4         */
enum grain { oats=1, wheat, barley, corn, rice };
   /*         1        2      3      4     5       */
enum grain { oats, wheat=10, barley, corn=20, rice };
   /*          0     10        11     20       21  */

It is possible to associate the same integer with two different enumeration constants. For example, the following definition is valid. The identifiers suspend and hold have the same integer value.

enum status { run, clear=5, suspend, resume, hold=6 };
   /*          0      5        6       7       6       */

The following example is a different declaration of the enumeration tag status:

enum status { run, create, clear=5, suspend };
   /*          0     1        5       6             */

The following program receives an integer as input. The output is a sentence that gives the French name for the weekday that is associated with the integer. If the integer is not associated with a weekday, the program prints "C'est le mauvais jour."

** Example program using enumerations
 **/
 
#include <stdio.h>
 
enum days {
            Monday=1, Tuesday, Wednesday,
            Thursday, Friday, Saturday, Sunday
          } weekday;
 
void french(enum days);
 
int main(void)
{
   int num;
 
   printf("Enter an integer for the day of the week.  "
          "Mon=1,...,Sun=7\n");
   scanf("%d", &num);
   weekday=num;
   french(weekday);
   return(0);
}
void french(enum days weekday)
{
   switch (weekday)
   {
      case Monday:
         printf("Le jour de la semaine est lundi.\n");
         break;
      case Tuesday:
         printf("Le jour de la semaine est mardi.\n");
         break;
      case Wednesday:
         printf("Le jour de la semaine est mercredi.\n");
         break;
      case Thursday:
         printf("Le jour de la semaine est jeudi.\n");
         break;
      case Friday:
         printf("Le jour de la semaine est vendredi.\n");
         break;
      case Saturday:
         printf("Le jour de la semaine est samedi.\n");
         break;
      case Sunday:
         printf("Le jour de la semaine est dimanche.\n");
         break;
      default:
         printf("C'est le mauvais jour.\n");
   }
}


enum Data Type

 k$E:7+:#E./usr/vac/html/zh_CN/doc/compiler/tasks/tucldox.htmm$ Example Using the do Statement

Example Using the do Statement

The following statement prompts the user to enter a 1. If the user enters a 1, the statement ends. If not, it displays another prompt.

#include <stdio.h>
 
int main (void)
{
   int reply1;
 
   do
   {
      printf("Enter a 1\n");
      scanf("%d", &reply1);
   } while (reply1 != 1);
 
   return(0);
}


do Statement

teg l$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tucldptx.htmm$   *t <>aeinor"/=cdghlmpsu&.;bfqw%()01T_vy#,5EFILUk{:DNOPS\xz}!-39AMR+28XZ[]j46J?aցZթjZpX=rRmw{넣&`n{ڵ0-L#q#2`0Gol7Z"Vᇿ)@ao<\aF[=$\\"iDqDի6_1bQ$H80$ oQx$ n!w "CXK \'%Cp*PxtpwDHFNZMիf lJ"d>nEGq6%8u݄իٍZMͫS =Z"㟍|"nl܆t2O-rInє#orݍN%%3,Ds /.92mZ#iw a(jZ0Z،]Z8%97!ލq)>`|s\䞗-U_gA.8ߌqgwƧ\!ꖪYn<+jVjB%ğbҳ!!G 6ŭZ\! oZރ @"a1Y-\_+V~$rr`[ ȉXXtF XIG'+ ĹE},ZVpAğb֯Fp 99X ܖn]p~ x# __uǝ߅e8y.AvpA ktpA+]_֯64(Hbàp<'MDHb=|WBG'+<%,癁Ϝ99Xz@~M`Gq'زQěbMXJ3{V"1"J-Z،]Z㠖58ps\䞗g?q鿐yszRUn&s}8q?s>|zXWRUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUDZ\! o_5Kv\7v|pA蕨"7sPpA 5# 4F7:蕨q3.I̐K k FojF"RZ&#D[ ERZ n.(gvtќ˒g9ody$ Z-L|NV_ =L̢y M(2y"J 0_칵je8"F>Y !Jvvlƭ_1bQ$Hk.rݵٍZMͫW.mZfb>Ģ.HqDHh6(l&j3q6%rDMXMիڵիf lJ"g@h($)) | D\!ht|$pSMWt|$pdڵAJyrN7+6_AҸ~\& &ի:>zW˒qDXkMWt|7f>rnlƭ_&իۆL$a, 99[ڵ-L:zPQ5jZC~6G!3rrKFP{7l%KS"W˶UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTU`Tl܇r{YOҾECwi"63Zt]zW8Dӛy 9qv\RTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUkP",~$ 8I-jB%ğbҳG 6ŭ@D1ZW8DG 6ŭZ1a `_b1a,A X/ -Zރ @"~^YΟQrH8ŀ X'99Xłq#N@Hb8ŁiHb8.A@|ŭZ3lhPło ~2yȉXXtF XJBG'+ r  e畍LxT\xZFp 99X)6I2"G'+ r_ eV Hb#",",Hb# ~6 Phpx0A 5g!z%ja7ma(Z،]j&'60>.A8%N%%'eGt7z]I7vl.A`6 Z\#jNnNqKv|g?)@<7Z qdLKUW-U^YΟTG[eܷNnKB6:I?j`ZjtJx%FP},Msp?Z>r ,Ot" 9+M Z+We<(_Np V{1 {Y\V+Wn̴ Nb +M + ɮtph:;ZӜBӘX&N&p ~_NB\i=B65g!DK jQڵ0ȰojԵ1coJ8Yݝg#f2hF&[9|&I=$(l%KS"W-~2S1(2y!J 40zHD҈ !W.mZfb>Ģ.HqDHh1W,AؔE˶o ~2yMXMիڵիf lJ"g@h($bvlƭ_1bQ$Hk.0 k V\ڵ| D\#, %;E;a6cVY($5m~06Ivf5ja76_&0ja#aթjb-fVaիᇿ)@ao<\aF[=$\\"iDի6_1bQ$H8AA$4 NNMիf lJ" eAqϋr?Igb12(P#94(CX2mZiD L4Y#b$Hh(F<8E5ٍZfb>Ģ.HCZwbQY J-ZMիڵ0pթjb-a(jZiD HD$%%HӌQց d7Je@DLqH`4dcQ5S #Z0ڵ  l`3$:7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tucldstx.htmm $    et "/<>adilnor=cghmpsu.;b013_fvwx&()*,2LTkqy{}#%48:FNSUz-5E!+9BDMV\jIY6T& :}˜ZQp9`]<6vKULA֢ib\Ő<) @$ SA[؃붋b7THRq-s@ N=BHRq!aA@*Xv=y7"ӈ=H€Td1aҍKfM@>,[x7"ũ-(Q?.hlZ mػ :Q-D1ZAnr-$a클`EA1[E±rc$-89 dd am d%?lAn=Fir-,Y9D5.sHbnbv<7SNX%j1ZlA֫hSb: Auq5ohVNpir|n]yrOm̹=:ADv򛖫 {5Νg wlJ8"ɬ]#wdN,'Zbf\ KKQ9DpiQ\};̾勤ӳcoNpir|n]jv88A̶Q#Zb\$8< lv .O .O(ؚPQs PHpx@]1A[z3k.OdB&,NY3xC$-,Auq5JGB-(Va23&Bu>5.2hl}̹=:EA.6WLA\鋻a3Gx>xIlTZU A˙K (R H?f! Example of union Declaration and Use

Example of union Declaration and Use

The following example defines a union data type (not named) and a union variable (named length). The member of length can be a long int, a float, or a double.

union {
        float meters;
        double centimeters;
        long inches;
      } length;

The following example defines the union type data as containing one member. The member can be named charctr, whole, or real. The second statement defines two data type variables: input and output.

union data {
             char charctr;
             int whole;
             float real;
           };
union data input, output;

The following statement assigns a character to input:

input.charctr = 'h';

The following statement assigns a floating-point number to member output:

output.real = 9.2;

The following example defines an array of structures named records. Each element of records contains three members: the integer id_num, the integer type_of_input, and the union variable input, which has the union data type defined in the previous example.

struct {
         int id_num;
         int type_of_input;
         union data input;
       } records[10];

The following statement assigns a character to the structure member input of the first element of records:

records[0].input.charctr = 'g';


union (Unions) Type

 k$ :7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tucldvdx.htmm$ Example of a void Declaration

Example of a void Declaration

On line 7 of the following example, the function find_max is declared as having type void. Lines 15 through 26 contain the complete definition of find_max.

Note: The use of the sizeof operator in line 13 is a standard method of determining the number of elements in an array.

 1   /**
 2   ** Example of void type
 3   **/
 4   #include <stdio.h>
 5
 6   /* declaration of function find_max */
 7   extern void find_max(int x[ ], int j);
 8
 9   int main(void)
10   {
11      static int numbers[ ] = { 99, 54, -102, 89 };
12
13      find_max(numbers, (sizeof(numbers) / sizeof(numbers[0])));
14
15      return(0);
16   }
17
18   void find_max(int x[ ], int j)
19   { /* begin definition of function find_max */
20      int i, temp = x[0];
21
22      for (i = 1; i < j; i++)
23      {
24          if (x[i] > temp)
25             temp = x[i];
26      }
27      printf("max number = %d\n", temp);
28   } /* end definition of function find_max  */


void Type

 k*9$ :7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuclfdcx.htmm$ Examples of Function Declarations

Examples of Function Declarations

The following example defines the function absolute with the return type double. Because this is a non-integer return type, absolute is declared prior to the function call.

#include <stdio.h>

double absolute(double);

int main(void)
{
   double f = -3.0;

   printf("absolute number = %lf\n", absolute(f));
}

double absolute(double number)
{
   if (number < 0.0)
      number = -number;

   return number;
}

The following example defines the function absolute with the return type void. Within the function main, absolute is declared with the return type void.

#include <stdio.h>

int main(void)
{
   void absolute(float);
   float f = -8.7;

   absolute(f);
}

void absolute(float number)
{
   if (number < 0.0)
      number = -number;

   printf("absolute number = %f\n", number);
}


Functions
Function Calls


Examples of Function Calls
Example of the main() Function
Examples of Function Definitions


main() Function
Function Declarations
Function Definitions
double
void

cunotic lF$:7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuclfdfx.htmm$    aet "/<>cilnoprs.=bdfghmu();y#,01F[]_kqvwx&*+23Tj{}%-89:DEz5C47NIat% 7, BP~ ӆWȾ|]x/5b jPśSRȡ(J(,,,,,-_pOHP8HHHHHJ҄k6 C6ɆreB(%]N)0! BUĞVBB@%5(mJ7HP)4(.݄*A׺_+e55vtJ?_ >.<e:,KR/JjQ+dHVj.mdDQobԣҚjP jP2m~B|L'gNٺ۠/ut-()rϋ򏜟T~ ;.40$4Xc? ,+2ҏB2y\PXy0bCE X\!^Yp#2ҎR>;>. #'-(%|O8G>'NPbP J:P#'>. *G -(%   A#k.tƥ Y0RN5(J6\ >&| ﯾ8f+ |_|nrϋPր݋RN>[J?5|w>;EģLB|ƋXֱs5(bɄ |% AF,_(nu'H<3=3Ok)D鷼ۯѳ%]cB=Įm蔼vnRD6y]c_b봔Lo+ b[%vnkҀQ>.<7Q|k2뷸vG~{}#_QS/ul^}Į֍bZ?bԡ(ax()MJMs(BBO;ƾgGTmeMbZ ?Mn0/ut.WOQ1uJ&4!(ٺdLXкa^lIDƾ:i(q(o}Җ6trL:p{(7 /~r|w(lFbԡ(a0RdfDdeM&șJG LbP˕88Hș ťr w? | 3M`p8+l`cxɆE}a 0dž>0XhģɆypJ?5({bLjPœ 8<@n5(Jm=^ SRh(g;:pJ;o%ѳYvQct*1sjP0IqGtƳuHa0Qp1(|w2>;;hEv6ˣn1{bLjPœ 8<@n5(Jm=^ SRh(g;:pSd%^lWi(<+ b봔LjPYvQs\+>gGT(JL$ԣ:cY<+ pqgowyω;͑ģ=3%7h{;F%L:Dhv#p1CL$ԡ(ax()MJMs(BBO|Urкe}ܧ{J+=}3ȿg*;u^t^RnM],־<;+Lm0r]vRN>[J?5hqW*cO]Up1W=ʽ0)0GW=3Fcy%p:{@ fNGbP bZΘԡ&pxjP05(JL3*!A*BvQO(%]Vv$)GhԣWyZi @%58Z8:u\LAØĞVBnjhYvQma4jQ !CJ.VNeӁSSBϋwUmc3֎!CfeW)yjO+M!AA@sq(SXMV\]p8e54 |,_(pXk R_6Y Έ)@8gMu"|XMVS7NMM+_ >.)GXk6XPYUd(9-\Ii((UǘnMa4jQ !CakgDst}ӭ/k.hԣͦBtCp)gG]/_(Ջ5(ei]0@8e54,_( |_jXMP㮘Z{(st}<+ b&J?|ad(qL-t=u0st}ak R_6Y u ]t |tst}B<%=M5sjQMJ?٥q̉ M^2ͬ<Ȑ Example of the main() Function

Example of the main() Function

The following program backward prints the arguments entered on a command line such that the last argument is printed first:

#include <stdio.h>
int main(int argc, char *argv[])
{
  while (--argc > 0)
    printf("%s ", argv[argc]);
}

Invoking this program from a command line with the following:

backward string1 string2

gives the following output:

string2 string1

The arguments argc and argv would contain the following values:

Object Value
argc 3
argv[0] pointer to string "backward"
argv[1] pointer to string "string1"
argv[2] pointer to string "string2"
argv[3] NULL


Functions
Function Calls


Examples of Function Declarations
Examples of Function Definitions


main() Function
Function Declarations
Function Definitions

b kW$5:7+:#5./usr/vac/html/zh_CN/doc/compiler/tasks/tuclforx.htmm$ Examples Using the for Statement

Examples Using the for Statement

The following for statement prints the value of count 20 times. The for statement initially sets the value of count to 1. After each iteration of the statement, count is incremented.

for (count = 1; count <= 20; count++)
   printf("count = %d\n", count);

The following sequence of statements accomplishes the same task. Note the use of the while statement instead of the for statement.

count = 1;
while (count <= 20)
{
   printf("count = %d\n", count);
   count++;
}

The following for statement does not contain an initialization expression:

for (; index > 10; --index)
{
   list[index] = var1 + var2;
   printf("list[%d] = %d\n", index, list[index]);
}

The following for statement will continue running until scanf receives the letter e.

for (;;)
{
   scanf("%c", &letter);
   if (letter == '\n')
      continue;
   if (letter == 'e')
      break;
   printf("You entered the letter %c\n", letter);
}

The following for statement contains multiple initializations and increments. The comma operator makes this construction possible.

for (i = 0, j = 50; i < 10; ++i, j += 50)
{
    printf("i = %2d and j = %3d\n", i, j);
}

The following example shows a nested for statement. It prints the values of an array having the dimensions [5][3].

for (row = 0; row <5; row++)
   for (column=0; column < 3; column++) 
      printf("%d\n", table[row][column]);

The outer statement is processed as long as the value of row is less than 5. Each time the outer for statement is executed, the inner for statement sets the initial value of column to zero and the statement of the inner for statement is executed 3 times. The inner statement is executed as long as the value of column is less than 3.



for Statement
break Statement
continue Statement

 k$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuclgotx.htmm$ Example Using the goto Statement

Example Using the goto Statement

The following example shows a goto statement that is used to jump out of a nested loop. This function could be written without using a goto statement.

void display(int matrix[3][3])
{
   int i, j;
 
   for (i = 0; i < 3; i++)
      for (j = 0; j < 3; j++)
      {
         if ( (matrix[i][j] < 1) || (matrix[i][j] > 6) )
            goto out_of_bounds;
         printf("matrix[%d][%d] = %d\n", i, j, matrix[i][j]);
      }
   return;
   out_of_bounds: printf("number must be 1 through 6\n");
}


goto Statement

/s kR$ :7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuclifx.htmm$ Examples Using the if/else Statement

Examples Using the if/else Statement

The following example causes grade to receive the value A if the value of score is greater than or equal to 90.

if (score >= 90)
   grade = 'A';

The following example displays Number is positive if the value of number is greater than or equal to 0. If the value of number is less than 0, it displays Number is negative.

if (number >= 0)
   printf("Number is positive\n");
else
   printf("Number is negative\n");

The following example shows a nested if statement:

if (paygrade == 7)
   if (level >= 0 && level <= 8)
      salary *= 1.05;
   else
      salary *= 1.04;
else
   salary *= 1.06;

The following example shows a nested if statement that does not have an else clause. Because an else clause always associates with the closest if statement, braces might be needed to force a particular else clause to associate with the correct if statement. In this example, omitting the braces would cause the else clause to associate with the nested if statement.

if (kegs > 0) {
   if (furlongs > kegs)
      fpk = furlongs/kegs;
}
else
   fpk = 0;

The following example shows an if statement nested within an else clause. This example tests multiple conditions. The tests are made in order of their appearance. If one test evaluates to a nonzero value, a statement runs and the entire if statement ends.

if (value > 0)
   ++increase;
else if (value == 0)
   ++break_even;
else
   ++decrease;


if / else Statement

ng= k$N:7+:#N./usr/vac/html/zh_CN/doc/compiler/tasks/tuclnulx.htmm$ Examples using the Null Statement

Examples Using the Null Statement

The following example initializes the elements of the array price. Because the initializations occur within the for expressions, a statement is only needed to finish the for syntax; no operations are required.

for (i = 0; i < 3; price[i++] = 0)
   ;

A null statement can be used when a label is needed before the end of a block statement. For example:

void func(void) {
  if (error_detected)
    goto depart;
  /* further processing */
  depart: ;  /* null statement required */
}


Null Statement

al kꮀ$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuclrtnx.htmm$ Examples Using the return Statement

Examples Using the return Statement

The following are examples of return statements:

return;            /* Returns no value            */
return result;     /* Returns the value of result */
return 1;          /* Returns the value 1         */
return (x * x);    /* Returns the value of x * x  */

The following function searches through an array of integers to determine if a match exists for the variable number. If a match exists, the function match returns the value of i. If a match does not exist, the function match returns the value -1 (negative one).

int match(int number, int array[ ], int n)
{
   int i;
 
   for (i = 0; i < n; i++)
      if (number == array[i])
         return (i);
   return(-1);
}


return Statement

 l8$m:7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuclswtx.htmm$    te /<>achilnors".;dfgmpu:=bkqw&'(),0vxy#%+1\*3689EFIST[]{}25AUz-47DOC[bP-Ҙ% BĎbe_XH6!o߃;&bG8v-M`N(mՄ6gon]j.rZ(mZLJ6m JchӘc$$z@ٖm-\%lz1(ZEFؔ% 9k8ca#2۟K,HYjj7h'غNF2aZĢ͹|˶NF1ͭUftZ}n+NW_IeJ[#-syӗl%\Yw6Ef>X!TC;_I Z_I-MbQ^fܹ }r1mWr1͹za/9zN)Atְ16%.w=jcS(<ġ(Y_ITl;Wr1Îְ'w_PBҎ6w,;r@6Z'mku{{}r3 .w=jcS(<ġ(X?lJ6gRؿ綘]dB\qϒ3eHw~::d0BJ*Ȱqϒ p8 i.‰J2QQ~ aI@ mJ6fPHQ)Fl*d(9!ڧkHQ)Fl*d(9J6cO %(mR,%g6!(ml RU-J2Q*iB\qϓ 0+ l>HQ)Fl*dlJQ>~ؔ% 9Y{FùÎְ}79aRXNA{Ҋ6닜c1[u.KRn9mϥ$rU,PF,A>gr1mWr1SXWٷ/]rtϗYZtEi-ĎA ֣y|c*6Z9ũ¦PzQ [\(ġ([bGġ(Y8ca#54ӣaymϥ$rU,PF,A>gr1mWr1SXWٷ/\^:[#e^_WЪQclw_ W ͌w}.|ҹ :mD`,i@kb}闗=p:z4+a Z`^_tjȬf$[keQ}ZfRIԶ//{thWJX(B4~% BFn0bQ:=ø J!/ӚbJQL!ǓX{a>øQ:XVmFù'w%l%mskx J6msA`R9Ё Fmth,JQb!(m}J6J-GRؔ-B7 |(Jjؑ(Js.qFe>X!TCo!OñueFùU}'#5E{}rsoWٷ/\\鍝/wZrNF1ͭUbQQJ,aģmu-] BLWVY79wB^xRPTl;M’A(9 b[ Fͭ!(m% |&]VspK1x6@$/9wm©mJPmD%g6BQskxJ6c rA>I~\S |!x˼(mKhRl !(9b[8m:,$a9wQZH^6r %(mR,(9[@!(e Flu!.XH86r+?[|!x˼(Zbu-B*3pg0 /wްu',lߞPq6=iE{}r2sb7 |(eKbaԄa $˿ЮnԄ]>|lJlJQ>~ؔ% 9k-ĎA Uh'غNF0U-֪NF1jk6ͭnӗ}6sf63w[seK-T=ѭF;_ITl;Wr1SYL2so}xTUH\bsJ*0H\cSH##C(e1(m_+ ]GCp4Z8H.Ѓ Xl 80 8;*J6mYbG RUtj*4pKhv6֦bģmmϥ$rU,PF4pw?͹uZLJ6m JchӘc$$z@ٖm-\%lz1(ZEFؔ% 9QJ>X!DLӡ9:Sd?;LգA @֙uT\py@Ыb% Pġj6,J Example Using the while Statement

Example Using the While Statement

In the following program, item[index] triples each time the value of the expression ++index is less than MAX_INDEX. When ++index evaluates to MAX_INDEX, the while statement ends.

#define MAX_INDEX  (sizeof(item) / sizeof(item[0]))
#include <stdio.h>
 
int main(void)
{
   static int item[ ] = { 12, 55, 62, 85, 102 };
   int index = 0;
 
   while (index < MAX_INDEX)
   {
      item[index] *= 3;
      printf("item[%d] = %d\n", index, item[index]);
      ++index;
   }
 
   return(0);
}


while Statement

>øQ: kb $:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuclxass.htmm$ Examples Using Compound Assignment Operators

Examples Using Compound Assignment Operators

The table below lists the compound assignment operators and shows an expression using each operator:

Operator Example Equivalent Expression
+= index += 2 index = index + 2
-= *(pointer++) -= 1 *pointer = *(pointer++) - 1
*= bonus *= increase bonus = bonus * increase
/= time /= hours time = time / hours
%= allowance %= 1000 allowance = allowance % 1000
<<= result <<= num result = result << num
>>= form >>= 1 form = form >> 1
&= mask &= 2 mask = mask & 2
^= test ^= pre_test test = test ^ pre_test
|= flag |= ON flag = flag | ON

Although the equivalent expression column shows the left operands (from the example column) evaluated twice, the left operand is evaluated only once.



Assignment Operators

5 k& $ :7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuclxcom.htmm$ Examples Using the Comma Operator ( , )

Examples Using the Comma Operator ( , )

The table below gives some examples of the uses of the comma operator:

Statement Effects
for (i=0; i<2; ++i, f() );
A for statement in which i is incremented and f() is called at each iteration.
if ( f(), ++i, i>1 )
   { /* ... */ }
An if statement in which function f() is called, variable i is incremented, and variable i is tested against a value. The first two expressions within this comma expression are evaluated before the expression i>1. Regardless of the results of the first two expressions, the third is evaluated and its result determines whether the if statement is processed.
func( ( ++a, f(a) ) );
A function call to func() in which a is incremented, the resulting value is passed to a function f(), and the return value of f() is passed to func(). The function func() is passed only a single argument, because the comma expression is enclosed in parentheses within the function argument list.


Comma Operator ( , )

d v k $ :7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuconopx.htmm$ Examples Using the Conditional Operator

Examples Using the Conditional Operator

The following expression determines which variable has the greater value, y or z, and assigns the greater value to the variable x.

x = (y > z) ? y : z;

The following is an equivalent statement:

if (y > z)
   x = y;
else
   x = z;

The following expression calls the function printf, which receives the value of the variable c if c evaluates to a digit. Otherwise, printf receives the character constant 'x'.

printf(" c = %c\n", isdigit(c) ? c : 'x');


If the last operand of a conditional expression contains an assignment operator, use parentheses to ensure the expression evaluates properly. For example, the == operator has higher precedence than the ?: operator in the following expression:

int i, j, k;
(i == 7) ? j ++ : k = j;

This expression generates and error because it is interpreted as if it were parenthesized this way:

int i, j, k;
((i == 7) ? j ++ : k) = j;

The value k, and not k = j, is treated as the third operand. This error arrises because a conditional expression is not an lvalue, and the assignment is not valid. To make the expression evaluate correctly, enclose the last operand in parenetheses. For example:

int i, j, k;
(i == 7) ? j ++ : (k = j);



Operator Precedence and Associativity
Expressions and Operators
Types of Expressions
lvalues


Operator Precedence and Associativity Table
Conditional Operator

adeilnor/3cghpsw%muv,.0125ACERbfy)*-DFILOPST[](+48;GHNXqx#&67:BKMUjk'VY_9\}{Y6MJ=BP.rDZi7e[9d\nPjP ԡ(X/U%J@  AwFؠBPZ jP.+(bV(5YPs*Ƹ̶(5Y}SRZߏt\ثϋ( ZjNg)Ջd$>6 U5d9T`q2ҏcL\;j0"ԣv{] W:W՛Q.lUbY ֥"ԣd]Z,pԡ(Y Z²q<̆U+Xm&Lb d7ع;pFN8ũ\D@b`bF-J @'}`m`t'n|g\qNJV`s㎇f@jPymh]\4lf^-J²tHIVPʄrQ%:َtƺ23/{݋N5kRvYC_ Aʄk̶(AYP5FeAϋ( jQR#tآT՝uh+Xm&Lta1s`rQᴙx^$x6a{"tAZL{RujQRٛJ֬{] V|_f1D1M7@@nJ?bdYJ?fnK( ZKt5Y}H4J]<rQ6k"jQ3t\ة@ZՏt\ثϋ(F)SnJ?bdYJ?EթGJ?oǺQ.lUgcI#ҌuuojQ~=҉sb>/I""A11Md[ڔߏt\ثϋ(F)@h-J?EթGJ?oǺQ.lUgcI#Ӣ\]d[ڔߏt\ثϋ(F)8&& թG@-J?oǺQ.lUgcI#Ј `(008<k"ԣd]Zԣv{] V|_f1D1M3\]d[ڔߏt\ثϋ(F)ojQ~=҉sb>/IDDH3 EGȺ(]թGJ%͊b$btKe+|gzȷ(]DWCUٌQ$SApLL "ԣv{] V|_f1D1M0f $<P(00 @6-J?EթGJ?oǺQ.lUgcI#:%23d[ڔߏt\ثϋ(F)ojQ~=҉sb>/IDDH3 k"ԣd]Zԣv{] V|_f1D1M:%Iw{RKt5Y}H41@P{RKt5Y}H41Md[ڔRZߏt\ثϋ(F)tKʓ/Y(6*j1$h< A'Y(6*j1$h,{RujQRKt5Y}H48?&_*L3d[ڔߏt\ثϋ(F)8&& d[ڔߏt\ثϋ(F)^-J?EթGJ?oǺQ.lUgcI#:%Iʓ/Y(6*j1$h< A+Y(6*j1$h,{RujQRKt5Y}H4ZTu"ԣv{] V|_f1D1MRA1x( EGJ%͊b$bB1A1~-J?EթGJ?oǺQ.lUgcI#p{RKt5Y}H4PLD թG0 @/I AY(6*j1$h,{RujQRKt5Y}H4ua[JojQ~=҉sb>/IPD&R P{RKt5Y}H4PLH ( -@h@P&(&" k"ԣd]Zԣv{] V|_f1D1M:8XtoY@d[ڔߏt\ثϋ(F)A VJ?x@A`~-J?oǺQ.lUgcI#A1 3gojQ.J?ujQ~=҉sb>/IuU: v}9ReY@d[ڔߏt\ثϋ(F)A {RKt5Y}H4 EGȺ(]թGJ%͊b$buqW{RKt5Y}H4 EGJ%͊b$b(&$`9Ї:\a* EGȺ(]թGJ%͊b$b  I"ԣv{] V|_f1D1M100LP"ԣv{] V|_f1D1Mᰫ4-J?EթGJ?oǺQ.lUgcI#ҌuB "ԣv{] V|_f1D1MDEDbb"ԣv{] V|_f1D1M0f"(("@Ʌp7DE5ojQ.J?ujQ~=҉sb>/Ipm#;p  d[ڔߏt\ثϋ(F)ȍ΍'XVPJ?{q:"ԣv{] V|_f1D1MMd[ڔRZߏt\ثϋ(F)3W@WOY(6*j1$h4tʸnu\6 "ԣv{] V|_f1D1MWM.]d[ڔRZߏt\ثϋ(F)]Gc >6fmK q@5duh%(Y(6*j1$hJLob>\k"ԣv{] V|_f1D1M0f(&$k"ԣd]Z,pԡ(YKVn( )!J6Eul'}#Wp(,\0c!Y-JCᰬJwbUNS][;qUvd;2Q'L.bF:*]~ˬ u{݋8I(6Z% &Z Sٮ{2M6a2p^$uUNt Ro "tuh@Pe({݋dJ-J?(K(U\+u;ua g]i2 Րu֓-c )e긫q\+(oJ?Xti3>Beٝv\*63^UA(fq@X̽,pN̅Rup {fETa;ˈ̾̇(L3%d8M2Xᰝ̉ܡ2,pN񣎴Verga3!eQ2t8ls)w tِiһTX?&]eIG{a: Yk:IӮ)ֲe/YZLuFY]i2ou֓-]fQ &[qa*I[!u;%]Qp&d,:e\i3VqU} eFp*ti< p(ħK+ !`vo>t3/ po΍&r*7k"QjQESGa 87عʥkwt݉g]GcJ\4@06jb" p@vՐm`ԣf'pD{ t5GͬuU%˳\ iGvՐm`ԣf!Xr˳2;tfwfCqV9 ftA1@pk ֥"QjQE3!&[A`iUu֓- yTV.8I(:7 GqӘHp]c2 2fA(NT^Iۣ322΂ݙ fXf%Z%o.8K:Xn\/P gևƸR*U(Z_6ϳ!CPE<8NJNgC0m+ut󮕁۫W vw8MiGJc;!f J\uj~N4̆s*6} (qT'x EP\i3!L%Ԕ|f_EM3fPݟ@[6:4pQ'VE!PxW D(HXp``xW) 7GHXx'm+uttթG²+Jb H=lP)kbUٌQ AMJ?ujQ~U$qw7 pJmXBWJ%݄Ϡ,Ѥ,Fpj:IՐ欋{RujQR٘J%͊b)+\\08޲,ƥ1Kt5Y} SDMbrNҏ9a1G{] V|_f1AЋ)sYcR٘J%͊b)VrN9`1GȺ(]թG *{] V|_f1A}֔{RJ%͊*UXJ%͊b)!@ЪQ "ԣv҉sbV=҉sb>/hP8,8*{RJ%͊*UXJ%͊b) 8pXp%(Y"ԣwVKT'pKt5Y} S@$N4 YKT'pKt5Y} SDBT(EG *{] V|_f1ApXxU(YKT'pKt5Y} SD@pJQ-J?EթGJ?o(6(NUc(6*j1Ih-J?o(6(NUc(6*j1GP4+{RJ%͊*UXJ%͊b)!@Q-J?o(6(NUc(6*j1䅇RojQ.J?ujQ~DEBw DWCUٌPx4LT@ojQ~DEBw DWCUٌPx4D(J?]d[ڔߺQ.lQPªǺQ.lUgc 1M RojQ~DEBw DWCUٌPx4D "ԣd]Zԣv҉sbV=҉sb>/hƁk"ԣv҉sbV=҉sb>/hP<*Bȷ(]t\آ;Ut\ثϋ(<@b"$,8*{RJ%͊*UXJ%͊b) 8xXx%(Y"ԣwVKT'pKt5Y} S@ؖdd[ڔߺQ.lQPªǺQ.lUgc 1M RpWYKT'pKt5Y} SDBRojQ~DEBw DWCUٌPx4D$,<{RujQ-²R((\t8U ũ]Ҹ#a3I[W ;N̂Q @l'gtn\/}|+ِXrt_uQ6iQphx,ke+p|e,VÊ3},C(Gb:uCvU$8lc\)]ի)bJ?Qro#ucgp:5((Yԡ(YjP.+(bV(5YPs*Ƹ̶(5Y}SRZߟٌP1M\FR"5&]a+ ."ϋ(88=Yf[5bjQfVU 2ƀ;h:w ,s$J3-(wLVJ?Yha4 S@Yљ} $8Vq0|f\\*L|'q<;d9trsV+Vve`,XpdewCTГ(aкhı'JQiG6k!kWT(00qp8XJYY}D- Z([+f(00X5c@4 qFuYj5Gȷ(]DWCU·ƵfKXe5Gȷ(YV "+(5(JkVAJ2b 62H**:t,j/:1A.2*4E ZU5(YxReR@(( k  $ :7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tucsampl.htmm $ Sample Program: C Calling Fortran

Sample Program: C Calling Fortran

A C program can call a Fortran function or subroutine.

The following example illustrates how program units written in different languages can be combined to create a single program. It also demonstrates parameter passing between C and Fortran subroutines with different data types as arguments.

#include <iostream.h>
extern double add(int *, double [],
int *, double []);

double ar1[4]={1.0, 2.0, 3.0, 4.0};
double ar2[4]={5.0, 6.0, 7.0, 8.0};
main()
{
int x, y;
double z;

x = 3;

z = add(&x, ar1, y, ar2); /* Call Fortran add routine */
/* Note: Fortran indexes arrays 1..n*/
/* C indexes arrays 0..(n-1) */

printf("The sum of %1.0f and %1.0f is %2.0f \n",
ar1[x-1], ar2[y-1], z);

}

The Fortran subroutine is:

C Fortran function add.f - for C interlanguage call example
C Compile separately, then link to C program
REAL FUNCTION ADD*8 (A, B, C, D)
REAL*8 B,D
INTEGER*4 A,C
DIMENSION B(4), D(4)
ADD = B(A) + D(C)
RETURN
END



Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls

I kd$g :7+:#g ./usr/vac/html/zh_CN/doc/compiler/tasks/tudefcfg.htmm$ Default Compiler Configuration File

etc/vac.cfg - Default Configuration File

The C for AIX Compiler includes two versions of the default configuration file. When you install the C for AIX Compiler, only one of these configuration files is linked to /etc/vac.cfg according to the following criteria:

  • If the level of your operating system is AIX 4.3 or higher, /etc/vac.cfg is linked to the vac.cfg.43 default configuration file
  • If the level of your operating system is earlier than AIX 4.3, /etc/vac.cfg is linked to the vac.cfg.41 default configuration file.


Specifying Compiler Options


Invoking the C for AIX Compiler
Specifying Compiler Options on the Command Line
Specifying Compiler Options in Your Source Program
Specifying Compiler Options in a Configuration File


Resolving Conflicting Compiler Options
List of Compiler Options and Their Defaults

m kh$3:7+:#3./usr/vac/html/zh_CN/doc/compiler/tasks/tufncalx.htmm$ Examples of Function Calls

Examples of Function Calls

For example, the declaration of funct is a protoype. When function funct is called, the parameter f is converted to a double, and parameter c is converted to an int.

char * funct (double d, int i);

main
{
   float f;
   char c:

   funct(f, c)  /* f is a double, c is an int */
}

The order in which parameters are evaluated is not specified. Avoid calls such as:

method(sample1, batch.process--, batch.process);

In this example, batch.process-- might be evaluated last, causing the second and third arguments to be passed with the same value.


In the following example, main passes func two values, 5 and 7. The function func receives copies of these values, and accesses them by the identifiers a and b. The function func changes the value of a. When control passes back to main, the actual values of x and y are not changed. The called function func only receives copies of x and y, and not the actual values themselves.

#include <stdio.h>

int main(void)
{
   int x = 5, y = 7;

   func(x, y);
   printf("In main, x = %d   y = %d\n", x, y);
}

void func (int a, int b)
{
   a +=b;
   printf("In func, a = %d   b = %d\n", a, b);
}

This program produces the following output:

In func, a = 12    b = 7
In main, x = 5     y = 7


Functions
Function Calls
Types of Expressions
Operands
lvalues


Example of the main() Function
Examples of Function Declarations
Examples of Function Definitions


Function Declarations
Function Definitions
float, double
int, long, short

6E kf$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuilccbr.htmm$ Interlanguage Calls - Call-by-Reference Parameters

Interlanguage Calls - Call by Reference Parameters

For call-by-reference (as in Fortran), the address of the parameter is passed in a register.

When passing parameters by reference, if you write C function that...

  • you want to call from a Fortran program, declare all parameters as pointers.
  • calls a program written in Fortran, all arguments must be pointers or scalars with the address operator.
  • you want to call from a Pascal program, declare as pointers all parameters that the Pascal program treats as reference parameters.
  • calls a program written in Pascal, all arguments corresponding to reference parameters must be pointers.


Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

 kF$ :7+:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuilccbv.htmm$ Interlanguage Calls - Call-by-Value Parameters

Interlanguage Calls - Call by Value Parameters

In prototype functions with a variable number of arguments-- specified with an ellipsis, as in function(...)-- the compiler widens all floating-point arguments to double precision. Integral arguments (except for long int) are widened to int. Because of this widening, some data types cannot be passed between Pascal and C without explicit conversions, and Pascal routines cannot have value parameters of certain data types.

The following information refers to call by value, as in C. In the following list, arguments are classified as floating values or nonfloating values:

  • Each nonfloating scalar argument requires 1 word and appears in that word exactly as it would appear in a GPR. It is right-justified, if language semantics specify, and is word aligned.
  • Each float value occupies 1 word, float doubles occupy 2 successive words in the list, and long doubles occupy either 2 or 4 words, depending on the setting of the the -qldbl128/-qlongdouble option.
  • Structure values appear in successive words as they would anywhere in storage, satisfying all appropriate alignment requirements. Structures are aligned to a fullword and occupy (sizeof(struct X)+3)/4 fullwords, with any padding at the end. A structure smaller than a word is left-justified within its word or register. Larger structures can occupy multiple registers and can be passed partly in storage and partly in registers.
  • Other aggregate values are passed val-by-ref; that is, the compiler actually passes their addresses and arranges for a copy to be made in the invoked program.
  • A function pointer is passed as a pointer to the routine's function descriptor. The first word contains the entry-point address. See Pointers to Functions for more information.


Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Pointers to Functions
Sample Program: C Calling Fortran


-qldbl128/-qlongdouble

 kz$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuilcfrv.htmm$ Interlanguage Calls - Function Return Values

Interlanguage Calls - Function Return Values

Functions pass their return values according to type:

  • Pointers, enumerated types, and integral values (int, short, long, char, and unsigned types) of any length are returned, right-justified, in R3; long long values are returned in R3 and R4.
  • floats and doubles are returned in FP1; 128-bit long doubles are returned in FP1 and FP2.
  • Calling functions supply a pointer to a memory location where the called function stores the returned value.
  • long doubles are returned in R1 and R2.


Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

 kꦢ$F :7+:#F ./usr/vac/html/zh_CN/doc/compiler/tasks/tuilcptf.htmm$ Interlanguage Calls - Pointers to Functions

Interlanguage Calls - Pointers to Functions

A function pointer is a data type whose values range over function addresses. Variables of this type appear in several programming languages such as C and Fortran. In Fortran, a dummy argument that appears in an EXTERNAL statement is a function pointer. Function pointers are supported in contexts such as the target of a call statement or an actual argument of such a statement.

A function pointer is a fullword quantity that is the address of a function descriptor. The function descriptor is a 3-word object. The first word contains the address of the entry point of the procedure, the second has the address of the TOC of the module in which the procedure is bound, and the third is the environment pointer for languages such as Pascal. There is only one function descriptor per entry point. It is bound into the same module as the function it identifies, if the function is external. The descriptor has an external name, which is the same as the function name, but without a leading . (dot). This descriptor name is used in all import and export operations.



Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

s  k t$T :7+:#T ./usr/vac/html/zh_CN/doc/compiler/tasks/tuilcrpp.htmm$ Interlanguage Calls - Rules for Passing Parameters by Value

Interlanguage Calls - Rules for Passing Parameters by Value

The following is an example of a call to a prototyped function:

int i, j, k;
double d1, d2;
float f1;
short int s1;
char c;
...
void f(int, int, int, double, float, char, double, short);
f( i, j, k, d1, f1, c, d2, s1 );

The function call results in the following storage mapping:

Notes:

  1. A parameter is guaranteed to be mapped only if its address is taken.
  2. Data with less than fullword alignment is copied into high-order bytes. Because the function in the example is prototyped, the mapping of parameters c and s1 is right-justified.
  3. The parameter list is a conceptually contiguous piece of storage containing a list of words. For efficiency, the first 8 words of the list are not actually stored in the space reserved for them, but passed in GPR3-GPR10. Furthermore, the first 13 floating point value parameter values are not passed in GPRs, but are passed in FPR1-FPR13. In all cases, parameters beyond the first 8 words of the list are also stored in the space reserved for them.
  4. If thecalled procedure intends to treat the parameter list as a contiguous piece of storage (for example, if the address of a parameter is taken in C), the parameter registers are stored in the space reserved for them in the stack.
  5. A register image is stored on the stack.
  6. The argument area (P1 ... Pn) must be large enough to hold the largest parameter list.


Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

llin k$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuilcsfl.htmm$ Interlanguage Calls - Stack Floor

Interlanguage Calls - Stack Floor

The stack floor is a system-defined address below which the stack cannot grow. All programs in the system must avoid accessing locations in the stack segment that are below the stack floor.

Other system invariants related to the stack must be maintained by all compilers and assemblers:

  • No data is saved or accessed from an address lower than the stack floor.
  • The stack pointer is always valid. When the stack frame size is more than 32767 bytes, take care to ensure that its value is changed in a single instruction, so that there is no timing window in which a signal handler would either overlay the stack data or erroneously appear to overflow the stack segment.


Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

piece  k$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuilcsov.htmm$ Interlanguage Calls - Stack Overflow

Interlanguage Calls - Stack Overflow

The RISC System/6000 linkage convention requires no explicit inline check for overflow. The operating system uses a storage-protect mechanism to detect stores past the end of the stack segment.



Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

"tuinte kl$L:7+:#L./usr/vac/html/zh_CN/doc/compiler/tasks/tuilctba.htmm$ Interlanguage Calls - Traceback Table

Interlanguage Calls - Traceback Table

The compiler supports the traceback mechanism, which is required by the AIX Version 4 Operating System symbolic debugger to unravel the call or return stack. Each function has a traceback table in the text segment at the end of its code. This table contains information about the function, including the type of function as well as stack frame and register information.



Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

k.ht kp$:7+:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuilctec.htmm$ Interlanguage Calls - Type Encoding and Checking

Interlanguage Calls - Type Encoding and Checking

Detecting errors before a program is run is a key objective of the C for AIX compiler. Runtime errors are hard to find, and a many are caused by mismatching subroutine interfaces or conflicting data definitions.

The C for AIX compiler uses a scheme for early detection that encodes information about all external symbols (data and programs). If the -qextchk option has been specified, this information about external symbols is checked at bind or load time for consistency.

The Assembler Language Reference for the AIX RISC System/6000 book describes the following details of the Subroutine Linkage Convention:

  • Register usage (general-purpose, floating-point, and special-purpose registers)
  • Stack
  • The calling routine's responsibilities
  • The called routine's responsibilities


Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

 k$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuinclud.htmm$ Specifying Path Names for Include Files

Specifying Path Names for Include Files

When you imbed one source file in another using the #include preprocessor directive, you must supply the name of the file to be included. You can specify a file name either by using a full path name or by using a relative path name.

 

Using a Full Path Name to Imbed Files

The full path name, also called the absolute path name, is the file's complete name starting from the root directory. These path names start with the / (slash) character. The full path name locates the specified file regardless of the directory you are presently in (called your working or current directory).

The following example specifies the full path to file mine.h in John Doe's subdirectory example_prog:

/u/johndoe/example_prog/mine.h

 

Using a Relative Path Name to Imbed Files

The relative path name locates a file relative to the directory that holds the current source file or relative to directories defined using the -Idirectory option. See AIX Version 4 System User's Guide: Operating System and Devices for a complete explanation of the AIX. file system.

 

Directory Search Sequence for Include Files Using Relative Path Names

The C language defines two versions of the #include preprocessor directive. The C for AIX compiler supports both. With the #include directive, you can search directories by enclosing the file name between < > or " " characters.

The result of using each method is as follows:

#include type Directory Search Order
#include <file_name>
  1. If you specify the -Idirectory option, the compiler searches for file_name in the directory called directory first. If more than one directory is specified, the compiler searches the directories in the order that they appear on the command line.
  2. Searches the directory /usr/include.
#include "file_name"
  1. Searches the directory where your current source file resides. The current source file is the one that contains the directive #include "file_name".
  2. If you specify the option -Idirectory, the compiler searches for file_name in directory. If more than one directory is specified, the compiler searches the directories in the order that they appear on the command line.
  3. Searches the directory /usr/include.

Notes:

  1. file_name is the path name of the file to be included. When you specify a full path name, the two versions of the #include directive have the same effect because the location of the file to be included is completely specified. With a relative path name, the directory search sequence is determined by whether you use the < > or the " " characters.
  2. The only difference between the two versions of the #include directive is that the " " (user include) version first searches in the directory where your current source file resides. Typically, standard header files are included using the < > (system include) version, and header files that you create are included using the " " (user include) version.
  3. You can change the search order by specifying the -qstdinc and -qidirfirst options along with the -Idirectory option.

    Use the -qnostdinc option to search only the directories specified with the -Idirectory option and the current source file directory, if applicable. The /usr/include directory is not searched.

    Use the -qidirfirst option with the #include "file_name" directive to search the directories specified with the -Idirectory option before searching other directories.

    Use the -I option to specify the directory search paths.



External Structure of a C Program
-I
-qidirfirst
-qstdinc

Interlanguage Calling Conventions

Interlanguage Calling Conventions

You should follow these recommendations when writing C for AIX code to call functions written in other languages:

  • Avoid using uppercase letters in identifiers. Fortran and Pascal use only lowercase letters for all external names. Both fold external identifiers to lowercase (by default).
  • Avoid using the underscore (_) and dollar sign ($) as the first character in identifiers, to prevent conflict with the naming conventions for the C language library.
  • Avoid using long identifier names. The maximum number of significant characters in identifiers is 250 characters.


Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls...
Sample Program: C Calling Fortran

dire kꢿ$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuintro.htmm$ Introducing C for AIX Procedures

Introducing C for AIX Procedures

The panel to the left shows a general list of C for AIX procedural activities. Look here to find instructions for performing C for AIX operations, and examples of the same.

Any entry ending with ... expands to a list of related sub-topics. Entries not ending with ... link directly to information content on the chosen topic, which will appear in this panel.

 

h="100 k$ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuinvoke.htmm$ Invoking the Compiler

Invoking the Compiler

All forms of the C for AIX compiler are invoked using the following syntax, where invocation can be replaced with any valid C for AIX compiler mode invocation command:

The parameters of the compiler invocation command can be the names of input files, compiler options, and linkage-editor options. Compiler options perform a wide variety of functions, such as setting compiler characteristics, describing the object code and compiler output to be produced, and performing some preprocessor functions.

To compile without link-editing, use the -c compiler option. The -c option stops the compiler after compilation is completed and produces as output, an object file file_name.o for each file_name.c input source file. The linkage editor is not invoked. You can link-edit the object files later using the invocation command, specifying the object files without the -c option.

Notes

  1. Any object files produced from an earlier compilation are deleted as part of the compilation process, even if new object files are not produced.
  2. By default, the invocation command calls both the compiler and the linkage editor. It passes linkage editor options to the linkage editor. Consequently, the invocation commands also accept all linkage editor options.


C Program Development Cycle
Compiler Modes


Specifying Compiler Options on the Command Line


List of Compiler Options and Their Defaults
Message Severity Levels and Compiler Response
Compiler Return Codes
Diagnostic Message Format
-c

ap># k~$ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuiosync.htmm$ Example of Reading and Writing to Mapped-to-I/O Space

Example of Reading and Writing to Mapped-to-I/O Space

/* The following example assumes a special machine
with three hardware locations.
There is an input data buffer at 0xFFFFFF20
There is an output data buffer at 0xFFFFFF24
There is a control data buffer at 0xFFFFFF28
The third-least-significant bit set in the control
buffer indicates there is data in the input buffer.
This bit is unset when the data is read out of the
input buffer by the program.
The second-least-significant bit set in the control
buffer indicates the output device is ready to accept
output data.
This bit is unset when the data is placed in the
output buffer and is read out.
*/
typedef unsigned long datatype, controltype, counttype;
#define CONTROLLER ((const volatile controltype *const) 0xFFFFFF28)
#define INPUT_BUF ((const volatile datatype *const) 0xFFFFFF20)
#define OUTPUT_BUF ((volatile datatype *const) 0xFFFFFF24)
#define INPUT_READY_BIT 0x4
#define OUTPUT_READY_BIT 0x2
#define INPUT_READY ((*CONTROLLER) & INPUT_READY_BIT)
#define OUTPUT_READY ((*CONTROLLER) & OUTPUT_READY_BIT)
/*
The function copy_data copies data from the input buffer
to the output buffer until an input value of 0 is seen.
The number of characters copied is returned.
*/
 
/* Make count of the input global so that other CPUs can access it */
counttype volatile count=0;
counttype copy_data()
{
    datatype temp;
    for(;;) {
            while (!INPUT_READY);         /* Wait for input      */
            temp=*INPUT_BUF;
            __iospace_eieio();  /*     synchronize the I/O */
            if (temp==0) return count;
 
            while (!OUTPUT_READY);        /* Wait for output     */
            *OUTPUT_BUF=temp;
            __iospace_eieio();  /*     synchronize the I/O */
            count++;
            __iospace_sync();   /*     synchronize the CPU */
                                /*           for count to allow  */
                                /*           other CPUs to
                                /*           access it           */
     }
}


Example of Multiple Writes to a Single Register


Implementation Dependencies Overview
Synchronization of Stores and Loads to I/O Space

em>& k긛$w:7,:#w./usr/vac/html/zh_CN/doc/compiler/tasks/tuledinv.htmm$ Invoking the Linkage Editor

Invoking the Linkage Editor

The linkage editor link-edits all of the specified object files to create one executable file. Invoking the compiler with one of the invocation commands automatically calls the linkage editor unless you specify one of the following compiler options: -E, -P, -c, or -#.

 

Input Files

Object files, library files, and unstripped executable files serve as input to the linkage editor.

 

Object Files

Object files must have a .o suffix, for example, year.o.

 

Library Files

Static library file names have a .a suffix, for example, libold.a. Dynamic library file names have a .so suffix, for example, libold.so. Library files are created by combining one or more files into a single archive file with the AIX ar command. For a description of the ar command, refer to the AIX Version 4 Commands Reference.

 

Output Files

The linkage editor generates an executable file and places it in your current directory. The default name for an executable file is a.out. To name the executable file explicitly, use the -ofile_name option with the xlc command, where file_name is the name you want to give to the executable file. If you use the -ofile_name option, the resulting executable file is called file_name.

 

Using the ld Command

You can invoke the linkage editor explicitly with the ld command. However, the compiler invocation commands set several linkage-editor options, and link some standard files into the executable output by default. In most cases, it is better to use one of the compiler invocation commands to link-edit your .o files.

Note: When link-editing .o files, do not use the -e option of the ld command. The default entry point of the executable output is __start. Changing this label with the -e flag can cause erratic results.



C Program Development Cycle


Invoking the Compiler


-#
-c
-E
-o
-P

e kF1$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tumemdbg.htmm$ Debugging Problems with Heap Memory

Debugging Programs with Heap Memory

C for AIX provides debug versions of both general memory management functions and heap-specific memory management functions. To automatically call the debug versions of these functions, specify the -qheapdebug compiler option when compiling your program. Bear in mind that specifying this option can significantly increase the memory requirements and running time of your program.

 

Memory Allocation Fill Pattern

Some debug functions set all the memory they allocate to a specified fill pattern. This lets you easily locate areas in memory that your program uses.

The debug_malloc, debug_realloc, and debug_umalloc functions sets allocated memory to a default repeating 0xAA fill pattern. To enable this fill pattern, export the HD_FILL environment variable.

The debug_free function sets all free memory to a repeating 0xFB fill pattern.

 

Skipping Heap Checks

Each debug function calls _heap_check (or _uheap_check) to check the heap. Although this is useful, it can also increase your program's memory requirements and decrease its execution speed.

To reduce the overhead of checking the heap on every debug memory management function, you can control how often the functions check the heap with the HD_SKIP environment variable. You will not need to do this for most of your applications unless the application is extremely memory intensive.

Set HD_SKIP like any other environment variable. The syntax for HD_SKIP is:

set HD_SKIP=increment,[start]

where:

increment Specifies how often you want the debug functions to check the heap.
start Optional. Use this parameter to start skipping heap checks after start calls to debug functions.
Note: The comma separating the parameters is optional.

When you use the start parameter to start skipping heap checks, you are trading off heap checks that are done implicitly against program execution speed. You should therefore start with a small increment (like 5) and slowly increase until the application is usable.

For example, if you specify:

set HD_SKIP=10

then every tenth debug memory function call performs a heap check. If you specify:

set HD_SKIP=5,100

then after 100 debug memory function calls, only every fifth call performs a heap check. Other than the heap check, the debug functions behave exactly the same as usual.

 

Using Stack Traces

Stack contents are traced for each allocated memory object. If the contents of an object's stack change, the traced contents are dumped.

The trace size is controlled by the HD_STACK environment variable. If this variable is not set, the compiler assumes a stack size of 10. To disable stack tracing, set the HD_STACK environment variable to 0.



Memory Management Functions
Managing Memory with Multiple Memory Heaps
Types of Memory
Debugging Memory Heaps


Creating and Using a Fixed Size Heap
Creating and Using an Expandable Heap
Changing the Default Heap Used in a Program
Example of Creating and Using a User Heap
Example of Creating and Using a Shared-Memory User Heap


_debug_calloc - Allocate and Initialize Memory
_debug_free - Free Allocated Memory
_debug_heapmin - Free Unused Memory in the Default Heap
_debug_malloc - Allocate Memory
_debug_memcpy - Copy Bytes
_debug_memmove - Copy Bytes
_debug_memset - Set Bytes to Value
_debug_realloc - Reallocate Memory Block
_debug_strcat - Concatenate Strings
_debug_strcpy - Copy Strings
_debug_strncat - Concatenate Strings
_debug_strncpy - Copy Strings
_debug_strnset - Set Characters in String
_debug_strset - Set Characters in String
_debug_ucalloc - Reserve and Initialize Memory from User Heap
_debug_uheapmin - Free Unused Memory in User Heap
_debug_umalloc - Reserve Memory Block from User Heap
-qheapdebug

in k~ $ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tumemdef.htmm$ Changing the Default Heap Used in a Program

Changing the Default Heap Used in a Program

The regular memory management functions (malloc and so on) always use whatever heap is currently the default for that thread. The initial default heap for all C for AIX applications is the runtime heap provided by C for AIX. However, you can make your own heap the default by calling _udefault. Then all calls to the regular memory management functions allocate from your heap instead of the runtime heap.

The default heap changes only for the thread where you call _udefault. You can use a different default heap for each thread of your program if you choose.

This is useful when you want a component (such as a vendor library) to use a heap other than the C for AIX runtime heap, but you can't actually alter the source code to use heap-specific calls. For example, if you set the default heap to a shared heap then call a library function that calls malloc, the library allocates storage in shared memory.

Because _udefault returns the current default heap, you can save the return value and later use it to restore the default heap you replaced. You can also change the default back to the C for AIX runtime heap by calling _udefault and specifying _RUNTIME_HEAP (defined in <umalloc.h>). You can also use this macro with any of the heap-specific functions to explicitly allocate from the runtime heap.



Memory Management Functions
Managing Memory with Multiple Memory Heaps
Types of Memory
Debugging Memory Heaps


Creating and Using a Fixed Size Heap
Creating and Using an Expandable Heap
Debugging Problems with Heap Memory
Example of Creating and Using a User Heap
Example of Creating and Using a Shared-Memory User Heap

 kj!$ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tumemex1.htmm$ Example of Creating and Using a User Heap

Example of Creating and Using a User Heap

The program below shows how you might create and use a heap.

Assuming that the program file is called t.c, compile it with the following command:

/usr/vac/bin/cc -qheapdebug t.c -lhu

 

#include <stdlib.h>
#include <stdio.h>
#include <umalloc.h>

static void *get_fn(Heap_t usrheap, size_t *length, int *clean)
{
   void *p;

   /* Round up to the next chunk size */
   *length = ((*length) / 65536) * 65536 + 65536;
   *clean = _BLOCK_CLEAN;
   p = calloc(*length,1);
   return (p);
}

static void release_fn(Heap_t usrheap, void *p, size_t size)
{
   free( p );
   return;
}

int main(void)
{
   void    *initial_block;
   long   rc;
   Heap_t  myheap;
   char    *ptr;
   int     initial_sz;

   /* Get initial area to start heap */
   initial_sz = 65536;
   initial_block = malloc(initial_sz);
   if(initial_block == NULL) return (1);

   /* create a user heap */
   myheap = _ucreate(initial_block, initial_sz, _BLOCK_CLEAN,
                     _HEAP_REGULAR, get_fn, release_fn);
   if (myheap == NULL) return(2);


   /* allocate from user heap and cause it to grow */
   ptr = _umalloc(myheap, 100000);
   _ufree(ptr);

   /* destroy user heap */
   if (_udestroy(myheap, _FORCE)) return(3);

   /* return initial block used to create heap */

   free(initial_block);
   return 0;
}


Memory Management Functions
Managing Memory with Multiple Memory Heaps
Types of Memory
Debugging Memory Heaps


Creating and Using a Fixed Size Heap
Creating and Using an Expandable Heap
Debugging Problems with Heap Memory
Changing the Default Heap Used in a Program
Example of Creating and Using a Shared-Memory User Heap

g src l"$::7,:#l ./usr/vac/html/zh_CN/doc/compiler/tasks/tumemex2.htmm$   -e ahinoprst*/cdflmu"().;<=>g,0EFHLMU_bwy#&ACINOPRTvx'1BDGSkqz{}%+2:VW35Yj!689Z\4K| ɠy%%I Y%I!6$Z>k\O[dׁL\l\FW:ͳ>)$ eJJ@Mdy`|'2"aaaaabjJBJJBk>7ۉab,Mk/2>PYq2"6l", )?'JO {IF6@,!"=YDZ՞<%siH- ".oD Y Ё\zn#& bfЅ2ָd 9" )? 7 ,qs|xWD!qqi6LY,p$.fR8RH5d$ Yy<5E91LU4'h[IeٸR.6q%qYi̹J; \ )*I (ZÙ4@@8dkB2ָtt|^eD Y.Lx.6̹H+cLfdmsse2bfv|z kE3y96ޤb|ٺ+͗ͮ'VS1ɮ&k\ Z͗h>"͋/2+bݣ+5qeZ'bl̹J嘷hܴ,vesg^'-ّ\{-pYy|6/AmwV ϊ ׺[͗n7Yzkl̹J;E9ݘϗ6_;ȸɵ+snSyZ9IRrRTz& >cAg0NcԜz& >c3Z'5OL&9s6I)Ů&9s8 9 A$H4a0'g5׈ $ P@8 9AB aaaaajJkLÁ@ <3`kOV}~4ԞS\f{M+ ,9n4g;7B|Eԕ',;≓д㟁OI7V=IJ\8  %I*Ԝd?E9eaɵzn[Z6l׹hYٺ+LUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTQjO)m3J{\ٲ$6ħ)4 N)?@hh8H#<啃sN(4cZV <&.6nEse LW26bfZZY\5ɮ'{ў vk$(B79ԕ'>8.6kO q1P4 @H0hxxR!APB`R)4 ho8`uS@_1  A``$ EcZ}Hnh4D<Lz'?a%{]ƞo˔dQjJ#.!(85`Lf֟aXh0<0H@!`D0+ °ABJ+\?;+ȑ!p9Iыhxx'RTq4'fhfwџ6^\6-ƟzY6_ZYX{-piK\;&9'lL\l AQjJ#"dms b59W^Mm kxХ'eRh}rho8c\sƅ)?pp, Xx`(Ax Xp`($ DCA'`ԕ'iƸ玀^D O`O*O+ ɠmq4z`/c\s@:p;t--psf|nH?RR%IkxZ=IRp=IRrʪ(',wQjNYXj.2m{0۔^lUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTQjO)m3k 0:)N)?;$V1Z4o啘{{-p('ыzӱHr^*1Z|L۔≓kݼ햸e1vRT ؠ8֟c Y\nh+e;CRgV}`kOԕ'74b,zJUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQE9eh-QjNYX\ds;#k\L+fn768U'7(',Rrʪ('k`I4jO]=\LYX1O[sF.yZ%=Z?,s~dmsԟnS\ى emsf՟oѕQjO\r?+9y1skElRTR+1g͞r.2m{26޷lQjOe)? 6lp@`Rv1Z#DCVc,/9䉆\1vvrz174bv_QjJY_QjOepͯtEE?apIGQ@(OHyeX 4啬byz,ԟv284D<5Y\͗ɋh>"Obse'.ll[>lfF;5ILW/n˔a_˔ݾse)Iw-ͳkVsℹ= ׺JOvw6^{(yse̹KrR/yD+0͗+\l)*JZ6I <9s6I)׎`$ǩ8!0M|f1'5ON-q1%I5ͦah5+[>B|Es}QjO)m3 =\V}~yh>"QjJVmqDZMq'$p+Z%?uԜpDzUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTQjNY[\ٲDr.2kQjNYXj.2m{26޷lb5Zo&.6n{2yE9eUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUZkLíp6lh''@0@H  vc)&oRTзsebfZsOLWrбe4,Mrw/-I,Bdx .i;RT[Z}.k  @$ a(0+c  AH"VS?('{aq=IRsF.ǩ89eUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUZV啈-EMw7O26±Hmq>osnSZz1qRrk(',Rvz kF8`VYYϏ1vcͰgq\ZkYkVeZ·nmO\?('.9PYYώy\O:/C/eZWE?啁7>lrw͗ɋh>"WE? 6lԟEdHO]ԕ'-I,!d)tYkfDEjK ^ͳԟ('\28&DE c5dH1w; YkH?QjOe`ϊq\K{YkE?QjOώ11pQO = Ə+Ag4erͳkV(ƘͲMZQjOZVXhc 4h'RT('{mrͳk0 rDWE?;-pGD9h17ۉab,Mk/2>PYq2"6l", )?'JO 4ٰAd5|acN[0q6/ia`0^i6L$@N$ 8Ë129b(Z Ds&"oB+-'h[&׺D Y"q$^EYq ȳBA2h& $ ,\OU'Qf lB|Ep\$@ 'JO썜DXŘp1- s&"oAX\ZHI)?6qccer,P &9@7Y "&M'ZkD HP'&8qmAdEl&Ӆ6l",0l`HI)?6qsE @2h& $ mq=n7\O^НMok$@N$ 8\G2h& $ mq=n7\O[V&}ָ-d ĒA{#g4P &9@7Y "&M'3 b0\ A Z%'F".hhgdMHŸ\O/,|\1YO]DII (Z2h& $Z>k\O[dR׈Z@ \ )? 7 ,qs|xWD!qqi6LY,p$.fR8RH5d$ .$F",p,ǡq,Ǹ˄Yi9@Y" @(DXŎ[PY;n&4 m8^&q",,Y"@7*II [&䔐 lʩ#$!:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tumemfix.htmm $    aeot <>chilmnprs/bdfuy",.0_g*;=Hkvwx#()1ACEFILMNTUqz&45:DOPS%'-236BKRWYZ!+89[]jGK5RE)Atu֠lp=vPuZtˢ' 7=xp@<؞  4hѢt1RHt;D9"A†:4QMCEu۝8†M+X(4hӲR+Ӛ>·"+4`p), Iy 8UIl޵t)I } ܈$P6WZAp=vWu^CT)H?t#Nh ܈ EI4|I٢DT)H?tKH:Yy+ֶv]D_7 2{l]mAv,C}!`}q_Y}QŒKbOy6> ϹZٖo;/ߒ7\|2^2&;Bۢ@Nro.َ+r;Z܂+ Y_sC/#8_%رsblh9fKYrb[򰱗=캏k˦gIR* 2a(S`^IyXXӺ`8$ <7Tn%;ÂA< #u]Ym;CL}9رjH =@8:߮˨T>d7h;#ydeO򰱍}cgi_^ܞ__BY|b9g_swЅ+!?y)Z鱾 1/eJr_Y}Qឥ}rxΒ"LT /n\3oӝr]_}$h]me]Ent;bu7T'Ot :b~K؝>./AKbc3mH?2'uAQAQ >_f=`@XB@g{ovnPvqPѣy&ϗ캏 !ֵ}lr]Q`8$ < CF`-vP}xwbu %ر|8< 1x@ 4h(_r] ! h4Ao0pT" yXRL*0D" @g {ϺIII 36ԃ銂A,p4"FjTۗl jnY[oY|b;*~vsBWFp}ĮW{8^K؝>.|zgOoH>* K q^qzwT8@h  48Q:|Tsi"t >*bŤY^!>d6}/$>k,em,#{fӥtQnн8Yf|.nнΒ"LTekߦc5ȊPPV"3A^m4˨,SnS+*6}; B!:Ht1Pgԑ :X+6d}RC :b6 nB7+d./u>Fۼ2w5]9̀3#pIHt$ 36ԃc+RwT8̍[DRFDejAA.ň͵ :b?O/*A]3IPNv-$n$N F\dOd8=h>*NNv-$n$NzI>*NŤ$h=36o_e~2w|JSh^v,AVp%Pќ'O_boƍ7n|cwT[Dh:Ht$ 36ԃc+RwT#+8ӝ;(>",hѠԑZtKbc3mH:)WNv.@\#E'Y~V*NꋕHRH>*rVk>;rATlkL캏_}$o]>rNjn]+ 󍭥u̝:|]bgO]9ش:|T >*NꋕHRH>*:}㝂M*rCpbtqY~t9Ytc>W7 ˨}$EH:] jA1;ƕ"/<;X$4hPoNv.,hѼv˖?eю˨s#øNv,[DౣF 3ӝ 4o.X[DtWNv,|4 3.XUF;{.Atb&D_ tbo,-vP}0.W`\#y4ʲoexa9rPo\#y4hu !$n$FV$XXR*@߄=Epκ-+ę[uU?Nv.A˖?o]9̀su:|T33>l >DuݝIt6gOOkf7T'OLjp/Ac\yg}$o_e{1OlMn0}$o2vW/$ɗEHsT\yg}$ol̔}9غ+,_ezHsT\V67~H/=$9A.j6Y}!=kGOŶ_}$jB4Q.\Y}Q!R rt1P eÛuӝ]Gd 2Wun6ol9 .? #NiB6nKYh;.2 '>d (gIR* L"K )=p{D /|>)!Jt1P10{9g\캏n-vWB/u=RKb_}$o$gNEzHPcgP2vYA_7 R~C~oblyShheK[bp'{~H^K%رFF6|b8\M(+}e2RoeE}_Kb3Ev/ΟM-}$oe]Gz(n$EH:'O_Q\ /tAQIHt$ 36ԃc+RwU=jR"]P@ 0j2)Im/v]Gz( !"]H/v,Cz( p 8`wo !$n$FV$XXR* ͰӺQE>ޒ7U?qJ\Y~m N캈Β"LTTͰ/T{v,C}3E s y7$ 䛷>\W̝<%}۔)ݰ/$p ]eͧz~ _.۽z(\AR|b'~H߬w }9ܗb&3A&q IRJ˞ lKE$0 R*sp[`ٲMu}nn&:gO-;IICp6 nB7읕uz.1Y[,]}u Aݐrbo,y^(wFϬ캈/X~l__eEePֹn!w7 vNvl=𿬷uȼ#rnB!>ۗ7 6;+z*l,M[DT銂l)7saY}QNwLRwT8®{,5$n$N A]#}Jw;[eyI+:_*1z܀\Xk`?e|#spoi}TR&\e3`/^IV!?>ۗ7 7ʹ+z*l,M[DT銁˛r{,7K;(M{캈2?s}WJY}_ex'Y}nv,C}1e}ΙqHRH>*@ߚ˗%ر QVW$ޝ2)W6{oDTd%r4W]Ѣl +Ɩ4WiZ@@ \Ik)Ika† !2 >Vq& @8hhp% Ya† !yvd,FCnDRV%P nBi"d5+,8P/ ̅{(?Jߒ5$RL%e o*x#r" e@{`?/]QYH?a򧤊RIdZc& x#r" ֶ@`=ˇE$RL%e o01FE('O|+l\+6z\eJ+~HˇE$RDT)H?t#Nh ܈ EI4|I٢DT)H?tKH:$EH:앖(` !x"]fB̆kWcC0a }%뉣\W CE)$RtNjt{ l$$%!:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tumemvar.htmm $    <>aet /himnoprscdfgluy"._bv*,=Hkwx#()0;CEMqz-356:AFIKLNPRSTUWY%&1BDO!'2489GZ{}+[]Xk eH:ίK/Vҽ m+xHE,ayò)yH[҃Dm(4H5\I7e,z7dv(;,wǶ.. p qᗹ-U{Ƕ}GX<8[;s#m TK4fue3+Ruв(=c KqcwiYnSR^3#U< n͏^Ͳuв30Wŗp, jk[VŅs곫-Az1>v-[e;) jk|T-DC>< ndco}V ~Bm+0Wt_@dž^}^ue3;#92 A1w!T@?D0/eX;Vk Ke;HPlv=q+8f}V3*91Ntp+3:7n#UIV~9w  fnB?]v<2%;lw,~< |vwm܄y3#XEa\x8W6ǗWtF†;r*wh;-e oV?W0!a ,A`! ?H_+7-Ç9Ppv[o`-Çqa ,A`! Bvi\an?@@ :|s~ZP`HP< ?aFp:iA:,H_$Əs~ueayqdLh7U?--2ڔHv<2%;))Ivk)]@޸VC:걼{,\dp]w,af nr ߍq+}[3oWM /e{չ d7 o#C1=ޫqYt0Y-b ҹ2qP~j+?l3뾫vmԦ6tX~y;-Yob)ݩLmG^\guogV[/,o5qbŶSR_]u>uecl}N 0wjScϪIVǏeq6SPlv#nAU;1]Ylw+eZ׽q?빮3Ǘ\y&4}[+_H:/]CۅNC ˎ %ڔWaޫU[Ґw5yKAan<(c)|2vdph\0Ze^NHۅNNJF*wh3rrڑ [Ԥm§vv<2%;))Ik Jp+ V[=Plv<bŶSRH?1>vFG`e;)RPI9 nh[JcwhY{NJcl}r]+h+Yo$d{]{29?BCmݡf+-[e;)<|3LcZWSB##qڔ+h+?pgV[Ǒ8 3ݮ VAsscǶߐ%f޽ )w[҃Dm(4H?bf0 VxX0Š[J?bkckԭxp"$PVE-)c;R:dDԦq)VAs~ k%$5:7,:#5./usr/vac/html/zh_CN/doc/compiler/tasks/tuminobj.htmm $ Minimizing the Size of Object Files

Minimizing the Size of Object Files

To minimize the size of object files, you can specify the -qcompact option. Using this option may increase execution time.



-qcompact

 kl&$? :7,:#? ./usr/vac/html/zh_CN/doc/compiler/tasks/tumulwri.htmm$ Example of Multiple Writes to a Single Register

Example of Multiple Writes to a Single Register

/*
Consider a machine with a single register.
This register must be fed a sequence of four
commands in exact order to form a complete instruction.
To prevent reordering of the command sequence,
the __iospace_eieio(); function is used.

The sequence of commands is:
    1. load address
    2. low-order byte data
    3. high-order byte data
    4. load word command

Each set of instruction data needs to be synchronized.
*/
typedef unsigned long data;
#define COMMAND_REG ((volatile data *const) 0xFFFFFF20)
#define LOAD_ADDRESS 0xFFFF2000
#define LOAD_HIGH_DATA 0xFF
#define LOAD_LOW_DATA 0xA0
#define LOAD_COMMAND 0x10
void send_load_command()
{
     *COMMAND_REG=LOAD_ADDRESS;
     __iospace_eieio(); /*   ensure the stores are ordered */
     *COMMAND_REG=LOAD_LOW_DATA;
     __iospace_eieio(); /*   ensure the stores are ordered */
     *COMMAND_REG=LOAD_HIGH_DATA;
     __iospace_eieio(); /*   ensure the stores are ordered */
     *COMMAND_REG=LOAD_COMMAND;
     __iospace_eieio(); /*   ensure the stores are ordered */
}


Example of Reading and Writing to Mapped-to-I/O Space


Implementation Dependencies Overview
Synchronization of Stores and Loads to I/O Space

X k'$ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuopaex.htmm$ Examples of Operator Precedence and Associativity

Examples of Operator Precedence and Associativity

The parentheses in the following expressions explicitly show how the compiler groups operands and operators. If the parentheses did not appear in these expressions, the operands and operators are grouped in the same manner as indicated by the parentheses.

total = (4 + (5 * 3));
total = (((8 * 5) / 10) / 3);
total = (10 + (5 / 3));


Because the order of grouping operands with operators that are both associative and commutative is not specified, the compiler can group the operands and operators in the expression:

total = price + prov_tax + city_tax;

in the following ways, as indicated by the parentheses:

total = price + prov_tax + city_tax;
total = price + prov_tax + city_tax;
total = price + prov_tax + city_tax;

If the values in this expression are integers, the grouping of operands and operators does not affect the result. Different groupings of floating-point operators, however, may give different results because intermediate values are rounded.


In certain expressions, the grouping of operands and operators can affect the result. For example, in the following expression, each of the three function calls might modify the same global variables.

a = b() + c() + d();

This expression might give different results, depending on the order in which the functions are called.


If the expression contains operators that are both associative and commutative, and the order of grouping operands with operators can affect the result of the expression, separate the expression into several expressions. For example, the following expressions could replace the previous expression if the called functions do not produce any side effects that affect the variable a.

a = b();
a += c();
a += d();

Integer overflows are ignored. Division by zero and floating-point exceptions are implementation-dependent.



Operator Precedence and Associativity


Operator Precedence and Associativity Table

n k($p:7,:#p./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptarg.htmm$ Function Arguments

Function Arguments

Optimization is effective when function arguments are used. It is usually better to pass a value as an argument to a function than to let the function take the value from a global variable.

The #pragma isolated_call preprocessor directive lists functions that have no side effects. Using the pragma to list functions that do not have side effects, that is, that do not modify global storage, can improve the runtime performance of optimized code.



Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Variables
Pointers
Functions
Expressions
Critical Loops
Conversions
Arithmetic Constructions
Inlined Components

 k@)$ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptari.htmm$ Arithmetic Constructions

Arithmetic Constructions

Wherever possible, use multiplication rather than division. For example:

x*(1.0/3.0);

produces faster code than:

x/3.0;

Assigning the reciprocal of the divisor to a temporary variable and then multiplying by that variable is beneficial, especially if you divide many values by the same number in your code. This is attempted by the compiler when the -O3 option is specified.



Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Variables
Pointers
Functions
Function Arguments
Expressions
Critical Loops
Conversions
Inlined Components


-O

f  l**$*:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptcfg.htmm$   eot<>adgilnprs "/cfhmu.=bvTwy#%,-015CFkxzAILOPSq()2:Yj389DEX4RVM9vcP0 r*@Œ(žmOXP[F=`CvN)6 Ss'"m ).R (œE(/iぁp8XqP( aFAzaOiT08(|k^)XqC[9a1VXq`Pt /_ڱ)k<|)Î`89`N!L a)N!Ǻx9 @%_m6aSpm8,&NlփX aE {V%-b{-ǃ]= r-H_p@œHaN:ɧś)Ll2& JI IK ,_$Lv8S-7sF=fc.ݎ@a$G)RS1ĥsc*\яcfM6ph¾$ȆEf$<ɏulS=^|˜H“F=M@Y 2]q^e0nM56p˄%zaNQlGVv\ӊb͂m6z0=# )&WeOS`S cS3*7|™*V;&Slle1ݛt&a)R@_OSlaX˞4l 6t];&1.V:C`CZoUnRdx\:a;YlvtJ8`BJ"ـkLiXqMa6/яcf >NJaF@JXڃ86Sll`6O9h8 aNDn$%$M8,&Ncgdr& JI IK rS"Ki}1H>rKK1.ri}^,_$F=M@Y 2]q^e0h“F=M˄%Mq|‚ӊb͂m6z eݗ:atnlgx)B)ȍœ /M 694Sr)ԯl"™e_* biYaS9t)Aȵ ajĥ[tܓ'NleYU˝k,aZc=sF=KRRMmx)A I$HBH459h 0"ԁ9 /_ڱ)k<|)Î Ap- sXȍœRJZŸ8O;#}T;.v9s20WeM6`9 /ȸ ap@ՉKXLUpX0:9hjDnZ0bR-ǺxSeIb'62kKLa .uII59p-cjDn6r-H_p@=n=˜,8`t7 rSFNZE {V%-b{t{-7nUv\/XzWN#0Mʱy4a aeM6a1L{.v70Is]# 8*egœ5 2bDn壋ɏe 2ci˝p=+T˨lu{Xx&T_aPUS/KQLkIsJI_19 /ȸ ap@ՉKXLUpX0:9h0YȍœRJZŸ8OJl2z+&I6w1isF 2nav\c\]CaX]20|™*9hFNZ:} .uII5'œ / ` & G"7 rZ0"= {V%-b{1VXq`8N#0Mʱy4a aeM6a1ǺҹL\a )c|™* 7 rQM`)@K dDz|(5^`ɎleX˝p=+2okʙ} :SHCX ŠceG"7 r0rNZ 95|(6Tr#p-j@ /Xpq>YaSҊ`@FNZE {V%-b{牥UCLc&l)KT[{#7 r'"7 r9 /ȸ ap@ՉKXLUpX0:9h62r#p-"ԁ=n=@f9U 7p`ncAQ# *ipE:\Q;h,r )iM ۘ1)i9h62r#p-m.a/a[;#%lwe%-u RRMm6RT2h 0Mʶ7Ge%-6c 3a͌"0*TĥrFv\R6RZ0"= {V%-b{1VXq`8IaAlrm6aSӆ˜F+9 AA tJ=Oـk)K chDZ }_F8 \aJC0z0bbW1!˄‡˜,8`,Yvp /ӗ (8 (OLCf:1ci5яcfe:'!(8 aΜIA ID@}60 t7X6{0_!ttXIr` %$NBPq@9pfJ$.]"qC% rR0 1P@6 k +$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptcmd.htmm $ Specifying Compiler Options on the Command Line

Specifying Compiler Options on the Command Line

Most options specified on the command line override both the default settings of the option and options set in the configuration file. Similarly, most options specified on the command line are in turn overridden by options set in the source file. Options that do not follow this scheme are listed in Resolving Conflicting Compiler Options.

There are two kinds of command-line options:

  • -qoption_keyword (compiler-specific)
  • Flag options (available to compilers on AIX systems)

 

-q Options

Command-line options in the -qoption_keyword format are similar to on and off switches. If the option is specified more than once, the last instance is recognized by the compiler. For example, -qsource turns on the source option to produce a compiler listing; -qnosource turns off the source option, so no source listing is produced. For example:

xlc -qnosource MyFirstProg.c -qsource MyNewProg.c

would produce a source listing for both MyNewProg.c and MyFirstProg.c because the last source option specified (-qsource) takes precedence.

You can have multiple -qoption_keyword instances in the same command line, but they must be separated by blanks. Option keywords can appear in either uppercase or lowercase, but you must specify the -q in lowercase. You can specify any -qoption_keyword before or after the file name. For example:

xlc -qLIST -qnomaf file.c
xlc file.c -qxref -qsource

Some options have suboptions. You specify these with an equal sign following the -qoption. If the option permits more than one suboption, a colon (:) must separate each suboption from the next. For example:

xlc -qflag=w:e -qattr=full file.c

compiles the C source file file.c using the option -qflag to specify the severity level of messages to be reported, the suboptions w (warning) for the minimum level of severity to be reported on the listing, and e (error) for the minimum level of severity to be reported on the terminal. The option -qattr with suboption full will produce an attribute listing of all identifiers in the program.

 

Flag Options

The compilers available on AIX systems use a number of common conventional flag options. The C for AIX compiler supports these flags. Lowercase flags are different from their corresponding uppercase flags. For example, -c and -C are two different compiler options: -c specifies that the compiler should only preprocess and compile and not invoke the linkage editor, while -C can be used with -P or -E to specify that user comments should be preserved.

The C for AIX compiler also supports flags directed to other AIX programming tools and utilities (for example, the AIX ld command). The compiler passes on those flags directed to ld at link-edit time.

Some flag options have arguments that form part of the flag. For example:

xlc stem.c -F/home/tools/test3/new.cfg:myc -qproclocal=sort:count

where new.cfg is a custom configuration file.

You can specify flags that do not take arguments in one string. For example:

xlc -Ocv file.c

has the same effect as:

xlc -O -c -v file.c

and compiles the C source file file.c with optimization ( -O) and reports on compiler progress ( -v), but does not invoke the linkage editor ( -c).

A flag option that takes arguments can be specified as part of a single string, but you can only use one flag that takes arguments, and it must be the last option specified. For example, you can use the -o flag (to specify a name for the executable file) together with other flags, only if the -o option and its argument are specified last. For example:

xlc -Ovotest test.c

has the same effect as:

xlc -O -v -otest test.c

Most flag options are a single letter, but some are two letters. Note that -pg (extended profiling) is not the same as -p -g (profiling, -p, and generating debug information, -g). Take care not to specify two or more options in a single string if there is another option that uses that letter combination.



Specifying Compiler Options


Invoking the C for AIX Compiler
Specifying Compiler Options in Your Source Program
Specifying Compiler Options in a Configuration File


Resolving Conflicting Compiler Options
List of Compiler Options and Their Defaults

ges k,$E:7,:#E./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptcod.htmm$ Writing Optimized Source Code

Writing Optimized Program Source Code

This page contains tips for writing code to take advantage of the optimization features of the compiler. The following language elements are discussed:

You can also refer to the Optimization Guide for Fortran, C, and C++ for more information about optimizing and tuning your code.



Program Optimization with the C for AIX Compiler

" c k-$ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptcon.htmm$ Conversions

Conversions

Avoid forcing the compiler to convert numbers between integer and floating-point internal representations. Conversions require several instructions, including some double-precision floating-point arithmetic. For example:

float array[10];
float x = 1.0;
int i;
for (i = 0; i< 9; i++)  {     /* No conversions needed */
     array[i] = array[i]*x;
      x = x + 1.0;
} 
for (i = 0; i< 9; i++)        /* Multiple conversions needed */
   array[i] = array[i]*i;

When you must use mixed-mode arithmetic, code the fixed-point and floating-point arithmetic in separate computations wherever possible.



Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Variables
Pointers
Functions
Function Arguments
Expressions
Critical Loops
Arithmetic Constructions
Inlined Components

 k$.$ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptcri.htmm$ Critical Loops

Critical Loops

If your program contains a short, heavily referenced for loop, consider expanding the code to a straight sequence of statements. For example:

array[0] = b[k+1]*c[m+1];
array[1] = b[k+2]*c[m+2];
array[2] = b[k+3]*c[m+3];
array[3] = b[k+4]*c[m+4];
array[4] = b[k+5]*c[m+5];

would run faster than:

for (i = 0; i < 5; i++)
   array[i] = b[k+i]*c[m+i];

The compiler will perform automatic unrolling of inner loops when the -O3 option is specified. In this case, the compiler will unroll the loop once.



Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Variables
Pointers
Functions
Function Arguments
Expressions
Conversions
Arithmetic Constructions
Inlined Components


-O

 k\/$ :7,:# ./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptexp.htmm$ Expressions

Expressions

If components of an expression are duplicate expressions, code them either at the left end of the expression or within parentheses. For example:

a = b*(x*y*z);       /* Duplicates recognized */
c = x*y*z*d;
e = f + (x + y);
g = x + y + h;
a = b*x*y*z;         /* No duplicates recognized */
c = x*y*z*d;
e = f + x + y;
g = x + y + h;

When components of an expression in a loop are constant, code the expressions either at the left end of the expression, or within parentheses. If c, d, and e are constant and v, w, and x are variable, the following examples show the difference in evaluation:

v*w*x*(c*d*e);           /* Loop invariant expressions recognized    */
c + d + e + v + w + x;
v*w*x*c*d*e;             /* Optimization required for loop invariant */
v + w + x + c + d + e;   /*       expressions to be recognized       */

For integer expressions, the loop invariant expression will be recognized if -O is specified. For floating-point expressions, the loop invariant expression will be recognized if -O3 is specified.



Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Variables
Pointers
Functions
Function Arguments
Critical Loops
Conversions
Arithmetic Constructions
Inlined Components

-O

r kF0$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptfun.htmm$ Functions

Functions

Declare nonmember functions as static whenever possible. This will speed up calls to the function.



Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Variables
Pointers
Function Arguments
Expressions
Critical Loops
Conversions
Arithmetic Constructions
Inlined Components

ized  kJ1$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptinl.htmm$ Inlined Components

Using Inlined Components

By default, the compiler inlines certain library functions, meaning that it replaces the function call with the actual code for the function at the point where the call was made. These library functions are called intrinsic or built-in functions.

You can also request that the compiler inline the code for your own functions. There are benefits and drawbacks of, and restrictions on, inlining user code.

There are two ways to inline user code:

  1. Use the C for AIX _inline, _Inline, and __inline keywords to specify which functions you want to have inlined. You must specify the Q or -qinline options to turn inlining on.
  2. Use the -Q or -qinline option with a value parameter to automatically inline functions smaller than the value specified.

You should use inlining only for very small functions. See -Q or -qinline for more information about the inlining option.

Note: Requesting that a function be inlined makes it a candidate for inlining but does not necessarily mean that the function will be inlined. In all cases, the compiler ultimately decides whether a function is inlined.

 

Benefits of Inlining

Inlining user code eliminates the overhead of the function call and linkage, and also exposes the function's code to the optimizer, resulting in faster code performance. Inlining produces the best results when:

  • The overhead for the function is significant; for example, when functions are called within nested loops.
  • The inlined function provides additional opportunities for optimization, such as when constant arguments are used.

For example, given the following function:

void glen(int a, int b)
{
   if (a == 10)
   {
      switch(b)
      {
         case 1 : .
                  :
         case 20: puts("b is 20");
                  break;
         case 30: .
                  :
         default: .
                  :
      }
   }
}

and assuming your program calls glen several times with constant arguments, for example, glen(10, 20);, each call to glen causes the if and switch expressions to be evaluated. If glen is inlined, the compiler can then optimize the function. The evaluation of the if and switch statements can be done at compile time, and the function code can then be reduced to only the puts statement from case 20.

The best candidates for inlining are small functions that are called often. Use the Performance Analyzer or a profiler to determine which functions to inline to obtain the best results.

 

Drawbacks of Inlining

Inlining user code usually results in a larger executable module because the code for the function is included at each call site. Because of the extra optimizations that can be performed, the difference in size may be less than the size of the function multiplied by the number of calls.

Inlining can also result in slower program performance, especially if you use auto-inlining. Because auto-inlining looks only at the number of ACUs for a function, the functions that are inlined are not always the best candidates for inlining. As much as possible, use the _Inline or inline keyword to choose the functions to be inlined.

When you use inlining, you need more stack space. When a function is called, its local storage is allocated at the time of the call and freed when it returns to the calling function. If that same function is inlined, its storage is allocated when the function that calls it is entered, and is not freed until that calling function ends. Ensure that you have enough stack space for the local storage of the inlined functions, in order to avoid a stack overflow.

 

Restrictions on Inlining

The following restrictions apply to inlining:

If the definition and reference to a given function reside in different files, all such files must be compiled and linked using the -qipa compiler option. To inline across source files, you must place the function definition (qualified with _Inline) in a header file that is included by all source files where the function is to be inlined.

Turn off inlining if you plan to debug your executable module. Inlining can make debugging difficult. For example, if you set an entry breakpoint for a function call but the function is inlined, the breakpoint will not work.

The Performance Analyzer treats an inlined function as part of the function in which it is inlined.

A function is not inlined during an inline expansion of itself. For a function that is directly recursive, the call to the function from within itself is not inlined. For example, given three functions to be inlined, A, B, and C, where:

  1. A calls B
  2. B calls C
  3. C calls back to B

the following inlining takes place:

  1. The call to B from A is inlined.
  2. The call to C from B is inlined.
  3. The call to B from C is not inlined because it is made from within an inline expansion of B itself.


Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Variables
Pointers
Functions
Function Arguments
Expressions
Critical Loops
Conversions
Arithmetic Constructions


_Inline, _inline, __inline
-Q

ain t ks2$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptpoi.htmm$ Pointers

Pointers

Keeping track of pointers during optimization is difficult and in some cases impossible. Using pointers inhibits most memory optimization (such as dead store elimination and store motion).

Using the #pragma disjoint preprocessor directive to list identifiers that do not share the same physical storage can improve the runtime performance of optimized code.

Also see assert for information on applying aliasing assertions to pointers in your compilation unit.



Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Variables
Functions
Function Arguments
Expressions
Critical Loops
Conversions
Arithmetic Constructions
Inlined Components

ll to l3$B:7,:#H ./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptppp.htmm$    ae <>cilmnoprt"./bdghs=fuv#0P_kqwy,1:;Fx%&()*-IMOSz|+23589BCDTU{}!4EVYLH>777Z˘*efM xAd :L)H:lm@4<*T[pT9AUJn(.5-$MmI]I0(?$p8 `:b :gDa"B ]c0H64<0 `XHH2JA2tNaS0@$I0"`iv j)-l] upIkZ*-o8`**Mm fǖRH0I)H?fV. i#ot*Lzk x̘DT$NJADڐt1PUJoAviy|#r7^>r[edds`7c @S`*KtQ&eHX!xƥMm4חZvh̡wd=mz̩Rrab$EH:-Hck4QLybk H?g% 陘k x8 ds`5$L 陘k xB6<+llf$NJA9)LX[ 8De$-@{@bH6rRIl* 錭AKەQnӬ.P]HPp%:%E@m1nP&rB)"ܠ$RDejAA-EBv1PTVS%kٻ>lsT6&fZml 09aF-B[lԩfǗT[)͂f0\^F&ODe냢ܰ50r$Owx yCLTW52Xʋue2V]맠QYesZ)[{a."*AK`PLejV]\m[B))IFT[a.6 ]5KVe): Zr |&Ii(86E@m*ar II  ڐ@|eE+\.WTSZ=mk=A3.Cp¦*6hX.ʋuԯ66 eyD*-նlml+ŬyÙf_`t[y6zM5жIPyjA*-ՔZwޣf^B W3/IZVB) -H?eE+\.VP"*AK`PLejV]ae4-SnR-V]ƥMm-RDejAA-EBv1P!3.\eEl[qL%[fPS&wؑ6."*AK`PLejV]SKܜ*u6A-$FV1S 4SmbHVʋul%nN: Q i"2 a;R&R̬]5@ӄFRMt$g(<$a;RQnr*-u jlv|l-II  ڐARYLlfTևKce2mɱ02msdN|ř1hxH@0l: Specifying Compiler Options In Your Program Source Files

Specifying Compiler Options in Your Program Source Files

To specify compiler options in your program source files, use the preprocessor directive:

#pragma options compiler_options

If you specify more than one compiler option, separate the options using a blank space. For example:

#pragma options langlvl=ansi halt=s spill=1024 source

Most #pragma options directives must come before any statements in your source program; only comments, blank lines, and other #pragma specifications can precede them. For example, the first few lines of your program can be a comment followed by the #pragma options directive:

/* The following is an example of a #pragma options directive: */
#pragma options langlvl=ansi halt=s spill=1024 source
/* The rest of the source follows ... */

Options specified before any code in your source program apply to your entire program source code. You can use other #pragma directives throughout your program to turn an option on for a selected block of source code. For example, you can request that parts of your source code be included in your compiler listing:

#pragma options source 
/*  Source code between the source and nosource #pragma
    options is included in the compiler listing                */
#pragma options nosource

Options specified in program source files override all other option settings.

These #pragma directives are listed in the detailed descriptions of the options to which they apply. For complete details on the other #pragma preprocessor directives, see #pragma Preprocessor Directives and #pragma Preprocessor Directives for Parallel Processing.



Specifying Compiler Options


Invoking the C for AIX Compiler
Specifying Compiler Options on the Command Line
Specifying Compiler Options in a Configuration File


Resolving Conflicting Compiler Options
List of Compiler Options and Their Defaults
#pragma Preprocessor Directives
#pragma Preprocessor Directives for Parallel Processing

th k5$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tuoptvar.htmm$ Variables

Variables

Use local variables, preferably automatic variables, as much as possible. The compiler can accurately analyze the use of local variables, but it has to make several worst-case assumptions about global variables. These assumptions tend to hinder optimization. For example, if you write a function that uses external variables heavily, and that function also calls several external functions, the compiler assumes that every call to an external function could change the value of every external variable. If you know that none of the function calls affects the global variables that you are using, and you have to read them frequently with function calls interspersed, copy the global variables to local variables and then use these local variables. The compiler can then perform optimization that it could not otherwise perform.

If you must use global variables, use static variables with file scope rather than external variables wherever possible. In a file with several related functions and static variables, the optimizer can gather and use more information about how the variables are affected.

To access an external variable, the compiler has to make an extra memory access to obtain the address of the variable. When the compiler removes extraneous address loads, it has to use a register to keep the address. Using many external variables simultaneously takes up many registers. Those that cannot fit into registers during optimization are spilled into memory. Because all elements of an external structure use the same base address, you should group external data into structures or arrays wherever it makes sense to do so.

The #pragma isolated_call preprocessor directive can improve the runtime performance of optimized code by allowing the compiler to make less pessimistic assumptions about the storage of external and static variables.

Because the compiler treats register variables the same as it does automatic variables, you do not gain anything by declaring register variables. Note that this differs from other implementations, where using the register attribute can greatly affect program performance.



Program Optimization with the C for AIX Compiler


Writing Optimized Code...
Overview
Pointers
Functions
Function Arguments
Expressions
Critical Loops
Conversions
Arithmetic Constructions
Inlined Components

Example of the #pragma disjoint Preprocessor Directive

Example of the #pragma disjoint Preprocessor Directive

The following example shows the use of #pragma disjoint.

int a, b, *ptr_a, ptr_b;
#pragma disjoint(*ptr_a, b) // *ptr_a never points to b
#pragma disjoint(*ptr_b, a) // *ptr_b never points to a
one_function()
{
b = 6;
*ptr_a = 7; // Assignment will not change the value of b
another_function(b); // Argument "b" has the value 6
}

Because external pointer ptr_a does not share storage with and never points to the external variable b, the assignment of 7 to the object that ptr_a points to will not change the value of b. Likewise, external pointer ptr_b does not share storage with and never points to the external variable a. The compiler can assume that the argument to another_function has the value 6 and will not reload the variable from memory.



Preprocessor Directives


#pragma disjoint Preprocessor Directive
#pragma Preprocessor Directives
List of Preprocessor Directives

 k>7$:7,:#./usr/vac/html/zh_CN/doc/compiler/tasks/tupraisx.htmm$ Example of the #pragma isolated_call Preprocessor Directive

Example of the #pragma isolated_call Preprocessor Directive

The following example shows the use of the #pragma isolated_call directive. Because the function this_function does not have side effects, a call to it will not change the value of the external variable a. The argument to that_function has the value 6.

int a, this_function(int)     /* Assumed to have no side effects */

#pragma isolated_call(this_function)

that_function()
{
    a = 6;

    this_function(7);   /* Call does not change the value of "a" */
    other_function(a);  /* Argument "a" has the value of 6       */
}


Preprocessor Directives


#pragma isolated_call Preprocessor Directive
#pragma Preprocessor Directives
List of Preprocessor Directives

Directi k8$d:7,:#d./usr/vac/html/zh_CN/doc/compiler/tasks/tuprddfx.htmm$ Example of the #define Preprocessor Directive

Example of the #define Preprocessor Directive

The following program contains two macro definitions and a macro invocation that refers to both of the defined macros:

/**
 ** This example illustrates #define directives.
 **/
 
#include <stdio.h>
 
#define SQR(s)  ((s) * (s))
#define PRNT(a,b) \
  printf("value 1 = %d\n", a); \
  printf("value 2 = %d\n", b) ;
 
int main(void)
{
  int x = 2;
  int y = 3;
 
     PRNT(SQR(x),y);
 
  return(0);
}

After being interpreted by the preprocessor, this program is replaced by code equivalent to the following:

#include <stdio.h>
 
int main(void)
{
  int x = 2;
  int y = 3;
 
     printf("value 1 = %d\n", ( (x) * (x) ) );
     printf("value 2 = %d\n", y);
 
  return(0);
}

This program produces the following output:

value 1 = 4
value 2 = 3


Preprocessor Macros


#define Preprocessor Directive
List of Preprocessor Directives

top" k+9$0 :7,:#0 ./usr/vac/html/zh_CN/doc/compiler/tasks/tuprdenx.htmm$ Examples of Conditional Preprocessor Directives

Examples of Conditional Preprocessor Directives

Example 1
The following example shows how you can nest preprocessor conditional compilation directives:

#if defined(TARGET1)
#   define SIZEOF_INT 16
#   ifdef PHASE2
#      define MAX_PHASE 2
#   else
#      define MAX_PHASE 8
#   endif
#elif defined(TARGET2)
#   define SIZEOF_INT 32
#   define MAX_PHASE 16
#else
#   define SIZEOF_INT 32
#   define MAX_PHASE 32
#endif

 

Example 2
The following program contains preprocessor conditional compilation directives:

/**
 ** This example contains preprocessor
 ** conditional compilation directives.
 **/
 
#include <stdio.h>
 
int main(void)
{
   static int array[ ] = { 1, 2, 3, 4, 5 };
   int i;
 
   for (i = 0; i <= 4; i++)
   {
      array[i] *= 2;
 
#if TEST >= 1
   printf("i = %d\n", i);
   printf("array[i] = %d\n", array[i]);
#endif
 
   }
   return(0);
}


Conditional Compilation Directives


#elif Preprocessing Directive
#else Preprocessing Directive
#endif Preprocessing Directive
#if Preprocessing Directive
#ifdef Preprocessor Directive
#ifndef Preprocessor Directive

 k::$ :7,:#@ ./usr/vac/html/zh_CN/doc/compiler/tasks/tuprdex1.htmm$ Example of Predefined Macros in a Program

Examples of Predefined Macros in a Program

Example 1
The following printf statements display the values of the predefined macros __LINE__, __FILE__, __TIME__, and __DATE__ and print a message indicating the program's conformance to ANSI/ISO standards based on __STDC__:

/**
 ** This example illustrates some predefined macros.
 **/
 
#pragma langlvl(ANSI)
#include <stdio.h>
 
#if __STDC__
#   define CONFORM    "conforms"
#else
#   define CONFORM    "does not conform"
#endif
 
int main(void)
{
  printf("Line %d of file %s has been executed\n", __LINE__, __FILE__);
  printf("This file was compiled at %s on %s\n", __TIME__, __DATE__);
  printf("This program %s to ANSI/ISO standard C\n", CONFORM);
}

 

Example 2
The following program uses the __FUNCTION__ macro to determine the name of the program function currently in effect.

/**
 ** This example illustrates the __FUNCTION__ predefined macro
 ** in a C program.
 **/
#include <stdio.h>
 
int foo(int);
 
main(int argc, char **argv) {
   int k = 1;
   printf (" In function %s \n",__FUNCTION__);
   foo(k);
}
 
int foo (int i) {
   printf (" In function %s \n",__FUNCTION__);
}

 

The output of this example is:

      In function main
      In function foo


Preprocessor Directives


Predefined Preprocessor Macros
#define Preprocessor Directive
#line Preprocessor Directive
#undef Preprocessor Directive
List of Preprocessor Directives

Wr kZ;$o :7,:#Ao ./usr/vac/html/zh_CN/doc/compiler/tasks/tuprdinx.htmm$ Examples of the #include Preprocessor Directive

Examples of the #include Preprocessor Directive

Example 1
Declarations that are used by several files can be placed in one file and included with #include in each file that uses them. For example, the following file defs.h contains several definitions and an inclusion of an additional file of declarations:

/* defs.h */
#define TRUE 1
#define FALSE 0
#define BUFFERSIZE 512
#define MAX_ROW 66
#define MAX_COLUMN 80
int hour;
int min;
int sec;
#include "mydefs.h"

You can embed the definitions that appear in defs.h with the following directive:

#include "defs.h"

The preprocessor looks for the file defs.h first in the directory that contains the source file. If the file is not found there, the preprocessor searches a sequence of specified or standard locations.

Example 2
In the following example, a #define combines several preprocessor macros to define a macro that represents the name of the C standard I/O header file. A #include makes the header file available to the program.

#define  IO_HEADER   <stdio.h>
      .
      .
      .
#include IO_HEADER   /* equivalent to specifying #include <stdio.h> */
      .
      .
      .


Preprocessor Directives


#include Preprocessor Directive
List of Preprocessor Directives

r kn]<$ :7,:#B ./usr/vac/html/zh_CN/doc/compiler/tasks/tuprehdr.htmm$ Creating and Using Precompiled Headers

Creating and Using Precompiled Headers

You can improve your compile time by using precompiled headers. Use the -qgenpcomp and -qusepcomp compiler options to create and maintain precompiled header files for your application.

If you use these two options consistently, a precompiled header file is created if it does not exist, and used if it does exist. When a source file is changed, the precompiled version is automatically regenerated.

The compiler generates a single precompiled object for the first initial sequence of #include directives. The next time you compile, this single object can be used wherever that initial sequence appears. Since the precompiled object is only used in cases where the context is the same (same language, same beginning sequence of #include directives, compatible options and macro definitions), the precompiled object does not have to be reinterpreted every time it is included.

To get the most benefit from this new method, use the same initial sequence of headers wherever possible. The more files that share the same initial sequence, the greater the improvement in your compile time.

You can specify different names or directories for precompiled header files with the -qgenpcomp and -qusepcomp compiler options. This allows you to create more than one initial sequence, and further improve your compile time.

When you use precompiled header files, the following restrictions apply:

  • To create a precompiled header file, the compiler process must have write permission to the directories you specify, or to the current working directories if none are specified.
  • To use a precompiled header, the compiler process must have read permission for that file.
  • Precompiled header files do not appear in any listing files.


#include
-qgenpcomp
-qusepcomp

htm lhM=$!:7,:#C./usr/vac/html/zh_CN/doc/compiler/tasks/tuset64b.htmm$   enot<>agilrs "/cdhmp-.=bfqu,0Cvw#123456Oy%:ABDEFIMST_'()JPRxz89;UXYkjLAsR@aF$l@ WDZ }v8Yp]tς-Xr`hqL.=U[-AFŒI:QR˦ӄ 0 {bI tZ61T!I '.a$(k^zdI!D2H(((%$rHfr$Xe$ J %oI*sГal-D G@n%()Iς,"YDZ }v8Yp]tς-X~2.=U A f$fak"IRcfS+HAMbH b@U6ꕤ{ʗ6`J }iDG*PT Đ: 62[*s]SZƾ {62vdcV])eOB67%o_fƇ۪VuJꕤ8x5>R:nZCS5>R4>RcfS+N]{ z>RE cMmWRc-/Q r@֤%rBvu*N]8J͍}Cdd%B64>R ۪Vꕤ8x5>R?tql;/Yl>2wG*_Y͌86FF{604lt/`HD@_Txb lAMbH bQ$qfN\Z ]8J͂ja3d%B64>Rj }i wG*BsA2 _f dꕤ88PS+I.+8[60Y GóAPrHvX ٱꕤ88PS+OG*v?|XOf]{:C+Hqqf۪V|]WнT%)ꕤFĐ?ĂeljqfN\^Yt+6}Cd͒T uJeAOT$]{eHN{1AuJeAOT$dclYflhk. Š9$3Dvu*Nd04_fƇ۪V,l }i >S ˣcaڞCf@ m}i2 ۪V|]W2Wvlh}i1N,uJӾ.+ N5!5 t5 rA P])eKٰeK:1t6L=nZ@˃BGð:RfENk. .U)ꕤBQ rASc9u"̺86Ml_f˩ȯ 1P Q r@֤%T!h)ꕧh}i0 AOT;풽 Itq laq|6 3C+Hqqf۪V(=(}i0heH ۪Vꕤ8x5>R?풾!aT!)ŚnZz>Rd]{Td:.wſC+Hqqf۪V=և۪VuJLT!XلuJ@}uJbY)ꕧ|]V5ꕤ80nZH1MQ $%T!h)ꕧh}i0 AOT;풽 Itq laq|6 3C+Hq6a>R?lAC+H F*@|8`->RT!)ꕤls }i2 ۪VTGö=a:Y+·KRf}i2 ۪V=fƇ۪VAOT;풰T!XلuJ@hI$(}i1N,uJʝ%Ǫ) |6 3C+Hq6a>R}T &MlS+IDZx~5NJR'T-nZC)ꕤuJӠ۪V64>Rj }ilG?-C[znZC)ꕧ SFzH5 5]nZCS5>RT!XلuJ@}4=f]{AC+H F*@tuJ@tql;c6 S{Ը T!)ŚnZHC+Itr }i &o~۪V,l }i ͍T!)ŚnZw%`-C[znZC)ꕤlc.=gQP`,?N`c"2`HD@_Txb ltT!h)ꕤ>R۪V.=oJ!AMbH jHk@P*d8I!DZz1$ kQl$(5YIĤnIXe$ Jr$SRJ ,B,5YIAdm$J9$f$@.Xן 7G<-,?]{*^0qbI ʕbd2H( '6lI JP) +5,I65@ 7G6C(+t@r Rt rH t M|\H`lMJ?c Ӱ R cUl cNS@VkXlmoqb 7G<-,tql;l~ G %B]ēch,Zgn% y[Y+v>R@Ec\eN1zH 9{XD))pnB,5YIm$J9$f$@pӨƾgn% AeM.=?FF3`C5FG dRS@VkXD), H C+E%dGðʗ%B]Ē ANe8mm}6J@cx]{ ʗ0@c*km)I@$Ь@$SYNG<(Ap&R`0)I@$Ь@$SYNGڜXlM88PRNIYbI @6" 7G,l RPQ f$fak"I$:7,:#F./usr/vac/html/zh_CN/doc/compiler/tasks/tusetenv.htmm $ Setting Up the C for AIX Compilation Environment

Setting Up the C for AIX Compilation Environment

Before you compile your C programs, you must set up the environment variables and the configuration file for your application.

 

Setting Environment Variables to Select 64- or 32-bit Compilation Modes

The OBJECT_MODE environment variable, if it exists, can set the default compilation mode. Permissible values for the OBJECT_MODE environment variable are:

32
Sets the compiler to generate and/or use 32-bit objects.
64
Sets the compiler to generate and/or use 64-bit objects.
32_64
Sets the compiler to accept both 32- and 64-bit objects. The compiler never functions in this mode, and using this choice may generate an error message, depending on other compilation options set at compile-time.

See Specifying Compiler Options for Architecture-Specific, 32- or 64-bit Compilation for more information.

 

Setting Parallel Processing Run-time Options

The XLSMPOPTS environment variable sets options for programs using loop parallelization. For example, to have a program run-time create 4 threads and use dynamic scheduling with chunk size of 5, you would set the XLSMPOPTS environment variable as shown below:

XLSMPOPTS=PARTHDS=4:SCHEDULE=DYNAMIC=5

Additional environment variables set options for program parallelization using OpenMP-compliant directives.

See IBM Run-time Options for Parallel Processing and OpenMP Run-time Options for Parallel Processing for more information.

 

Setting Environment Variables for the Message and Help Files

Before using the compiler, you must install the message catalogs and help files and set the following two environment variables:

LANG
Specifies the national language for message and help files.
NLSPATH
Specifies the path name of the message and help files.

The LANG environment variable can be set to any of the locales provided on the system. See the description of locales in AIX General Programming Concepts for IBM RISC System/6000 for more information.

The national language code for United States English is en_US. If the appropriate message catalogs have been installed on your system, any other valid national language code can be substituted for en_US.

To determine the current setting of the national language on your system, use the both of the following echo commands:

echo $LANG
echo $NLSPATH

The LANG and NLSPATH environment variables are initialized when the operating system is installed, and might differ from the ones you want to use.

You use different commands to set the environment variables depending on whether you are using the Bourne shell (bsh or sh), Korn shell (ksh), or C shell (csh). To determine the current shell, use the echo command:

echo $SHELL

The Bourne-shell path is /bin/bsh or /bin/sh. The Korn shell path is /bin/ksh. The C-shell path is /bin/csh.

For more information about the NLSPATH and LANG environment variables, see AIX Version 4 System User's Guide: Operating System and Devices. The AIX international language facilities are described in the AIX General Programming Concepts for IBM RISC System/6000.

 

Setting Environment Variables in bsh, ksh, or sh Shells

To set the environment variables from the Bourne shell or Korn shell, use the following commands:

LANG=en_US
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%N
export LANG NLSPATH

To set the variables so that all users have access to them, add the commands to the file /etc/profile. To set them for a specific user only, add the commands to the file .profile in the user's home directory. The environment variables are set each time the user logs in.

 

Setting Environment Variables in csh Shell

To set the environment variables from the C shell, use the following commands:

setenv LANG en_US
setenv NLSPATH /usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%N

In the C shell, you cannot set the environment variables so that all users have access to them. To set them for a specific user only, add the commands to the file .cshrc in the user's home directory. The environment variables are set each time the user logs in.



Specifying Compiler Options for Architecture-Specific, 32- or 64-bit Compilation
IBM Run-time Options for Parallel Processing
OpenMP Run-time Options for Parallel Processing

 kH?$:7,:#H./usr/vac/html/zh_CN/doc/compiler/tasks/tuslcpar.htmm$ Interlanguage Calls - Parameter Passing

Interlanguage Calls - Parameter Passing

The RISC System/6000 linkage convention specifies the methods for parameter passing and whether return values are to be in FPRs, GPRs, or both. The GPRs and FPRs available for argument passing are specified in two fixed lists: R3-R10 and FP1-FP13.

Prototyping affects how parameters are passed and whether widening occurs:

Nonprototyped functions
In nonprototyped functions in the C language, floating-point arguments are widened to double and integral types are widened to int.
Prototyped functions
No widening conversions occur except in arguments passed to an ellipsis function. Floating-point double arguments are only passed in FPRs. If an ellipsis is present in the prototype, floating-point double arguments are passed in both FPRs and GPRs.

When there are more argument words than available parameter GPRs and FPRs, the remaining words are passed in storage on the stack. The values in storage are the same as if they were in registers. Space for more than 8 words of arguments (float and nonfloat) must be reserved on the stack even if all the arguments were passed in registers.

The size of the parameter area is sufficient to contain all the arguments passed on any call statement from a procedure associated with the stack frame. Although not all the arguments for a particular call actually appear in storage, they can be regarded as forming a list in this area, each one occupying one or more words.

The methods of passing parameters are as follows:

  • In C, all function arguments are passed by value, and the called function receives a copy of the value passed to it.
  • In Fortran, by default, arguments are passed by reference, and the called function receives the address of the value passed to it. You can use the %VAL Fortran built-in function to pass by value. Refer to the AIX XL Fortran Compiler/6000 User's Guide for more information about using %VAL and interlanguage calls.
  • In Pascal, the function declaration determines whether a parameter is expected to be passed by value or by reference.


Interlanguage Calling Conventions
Corresponding Data Types
Using the Subroutine Linkage Conventions in Interlanguage Calls
Sample Program: C Calling Fortran

ncepts kH@$ :7,:#I ./usr/vac/html/zh_CN/doc/compiler/tasks/tusublnk.htmm$ Using the Subroutine Linkage Conventions in Interlanguage Calls

Using the Subroutine Linkage Conventions in Interlanguage Calls

The subroutine linkage conventions describes the machine state at subroutine entry and exit. Routines that are compiled separately in the same or different languages are linked when the programs are linked, and run when called. The AIX Version 4 Assembler Language Reference describes the Subroutine Linkage Convention in detail.

The RISC System/6000 linkage convention provides fast and efficient subroutine linkage between languages. It specifies how parameters are passed, taking full advantage of the large number of floating-point registers (FPRs) and general-purpose registers (GPRs), and minimizes the saving and restoring of registers on subroutine entry and exit.



Interlanguage Calling Conventions
Corresponding Data Types
Sample Program: C Calling Fortran

 lJA$u1:7,:#J4./usr/vac/html/zh_CN/doc/compiler/tasks/tutrapex.htmm$   et ailnoprs*;cdfghu&(),./<>_bmqx"0=FIPRTvwy-1?ADELNOSjk%'36CVWz{|}#2458:BGUXYZ[\]!+7KMH~"q%j"0KRԵۨMbĄAMǞuZJy%j"R:Bpppppp_t^B``````Y-jZđ$-DmYHHhX`^u9a膅S8аQA`$,FIj#glsQxh]!xOB8`H@Y"(Aè4-k9*p[N`Y",´pY"$H&±u-_B &^`cuH $D@Y% k{23A!;%mEv{YH$Ǟ2$.Nu>ҬPz$:{ :DǟD&{fŽlsD4JA;kz^ҥuRe1YLn"k ԄuOtup{fŽAע l1UͅbcuK)BKQZ؍my9ףUجkcm!U5&[`eG19]:m6 1sǟk[;kZҀiVl>m@W՝s_]ZԙtiWEΨ`Uͨ$Ǟ[8ls)>ҥU4s3|R=6G5 HDԵ!$W*+A0H&kQiVt c$-DJ:K' KWʉ$]` 8 DHFTIj"@pTp$-DbI?M7[^J: V+G⍴ZU, ZP)G^]S(~{J3AArdHD`$-DbHBA]l}m%Nw&[Dr'S7:~(=jq%y>r['MΏU]Eil Pz$uܙ$'r$ ^np4JJ.uFcs^OlZ( ax?Ae肣{$xZ1#vK-_`Tm~{yW iαF]XȁY+6<~!( ('m}OtulQ;ccu-_t\ꍶ\ꍶcs^לϩl(6{f{JQ*lEΨ`Gy::ZЃFl;'6p4 j3dJTuCAs^ˬHD!ͨ(=j3Ae肣.uFρ'!}§A^uvףTʎ6?c2AQ_{_;g[`JܙC:=?"K(6ZLҭAע (?Tm~08{gίk֯;J[^*0kӞǟܠTgu!֯-ZkrgD!nggFkrgD!ngg-4%לϬ Bfͨl7d^s>$. unLf$~!vH["\HZ6iKV~@ūI*94|ImG{Jw&Gm~٭_bB DDA`~$g}YV_Y>!.e|Imǭ_Zg }a!!hxD&% .gt qV~@ūI*ЃFQՕdg&u6ҭ+KW٠2AQ_{_;g[`Ml(>TJu6nx@Xg6h: T`c-_3 0 L<"BH8@H@x%`,"@x$ L 4 ax CVjro:cS ;em|C|ڋ˓"M8iWpi=DЉ;#2c*ɅF~'ٰ'rdfL`VjWMblǞ Nw+<YA^2kGaQ4QkZ!"~} ׵\ꍶSM1Wl$Ǟ1}j#΁:w$ξmD>LZVЍɑ'zZkM7Y9R&_/ tABѳfq0XMB&tt^ǡ#Vj&_iWrdvς]ƴGB]Z"6?c&_iVkF }Zsʑl]O{s6?IqTx V1 `gD-6g D+gAE{Y!!!hxD&%@#헋aXĉ(4&Fխ_ Z1$ڀiW8AmxFlL3')Q!.]CB ?(+( -_U?#ReVsvk봫5&b J o> cQ*R;( LRWfϣiWEzJTuCct}I@S`J֯ V肅faB(…bL>轏B2Jʑ8n<0իMj֯چ0bl+qB"q0IxH&LBCFᡫW!`8 pͯ3~xp7cÄ@H# erZ9R-Դ=S=6 gM0խ_FM}2v}JCNo&ٶupI>`#P`JA' 4r肅faB(…bL>轏B2IHW3 3 Ģh 3="H_ u}\i!lpB(0Έ(Z6l&+<(V$΃# # Z֭jc!/±7$" L<"4H&h$4n&h$ `4 7V#&;>!' 48Ck#Re&`P9?K,,WvhpVal:‰JIAj֭jNTm~Q<]B%\EGZ F͙…bQ4 ę}{ftl+Cp B`0 5j֯ͨBB $Ǟ1Z`lmzuz9;l6*ܓ:A΀^iWrdGAjgD-6g D+gAE{Y,p j&kW ZÚ<:iVkF }|Im{J:.uFjӓ^7 ӧX!R V;em|C|ڋ˓"M8j"@ū'LepTQ?kJw$ζT¼풶 @grdIZt!--D5&umj3 n&g*``4~$h6Si?B QvRNiRJ5I>mJ45I?kŒRJy;Zܓ:)JJ# }s7Y̝-_pCe%9bskQ֯0K+sJJ$r[C֯-Z_{p0իZI`W&DpZ6hl`7±4[ իMȐ$-h,0hu2ȓtţf$-7f!V04܁2GB V@ J /jLM2}\HoX V10˓"M;±7ʭ9<`,i9QБF_: W ZԨpUҭ3~y'+:HwR$|ImόzgQsIrg('m}OsڇiP*?m:m򍹭_s^+3ԞrvU9RniI2B[_:te⌞^t ŮFZ"=j0խ_ `\nشlhٸ,n-bn\ Ahn`o*񀱦 +-&-_3Q>Jw$ζijXU?#ReZJ9[*nTgu) kWFaɑ&j"t7I :x.L7@Z6hl7±7 . @7eɑ&F@X[ 0-VГ ʑq\nشlhٸ, aXj(NT2ȓtţfF`apZ_#ʑq\nشlhٸ7±7 . @իU' j&kW Z;c2:Lyly=Z-D5s6>c֯1$*ɅxL+WRs.$Ӓl>iA7Ž֯6OBt'chJr DAܙ  WMiJ5&[`7&v WH:n$" L$C ? Pū[ϩ a0C ? @ūlpRH &!,7 . Z=]^`4 p၁j3OaGVU7[bl1HGcjҩ0&ZgiWIj[gЄ4#;(+ʐSΡWjN ?'rdfLc_yY0իEjmEpx '0A&B$L:7,:#N_ ./usr/vac/html/zh_CN/doc/debugger/concepts/cbcdbmon.htm $    aeorstdghilnp "/<>bcfmu.=DIvwy,ENX_x()0123:FST46LRY#&-59;MVk!'AOPUWjzq,SGh^MkrdO^ҊaA9@^[& fmvSɨS`ڼ,fL r\L r,HjՈ$Ah4O P@  0,vL[! aIYl52j*T08x .ͫ T9W$P$ * .; H!!i5ASx!l1Ғ}D(IQ0 0&_.KN)T񴏋5)PGa짉QR3m#3V@s5Sym_GdlLXp o#W  $ʃ BD((HHZMPchh`)ڲ}D(IS@nS3fNf0*flwäYYNQyL͛΅9W᭡?kdT\.}әWTټ s~iUWHWs ΄ OG36o>H7+C *fl:Gw0sw0>\HAÓsj>7a GNe_:1r﫟E *flx seUlHGiNh!'*rf_#Є$PPT9W$P$ * .; H!!i5A*fl!NfՓZ @L,0g r-tڸT)ھm\*{9ef9FS r-= s6;gxGdT\.ͫOΎJyxFJ@8qGܮrʟ Mgrql%S]ͫHG'rܾ%wL7ϵ{`oͫHr $!Nf>  $ʃ BD((HHZMPfm\*C3j-HQ&TYO0\9om\*zm_psO4oH}Ү񽛄r%79)9GJYCx;jSЧ3j~l^߫ Mgm\*|5tl{36l#dwB9͌FDksNYO39 b g$8r*p*S'tA.UN  9dʃ )9w'$8r(AlGSr.az&HpSN0xaj6 A&T@m$iYKa kC$ :7,:#P ./usr/vac/html/zh_CN/doc/debugger/concepts/cbcdbovr.htm $ Distributed Debugger: Overview

Distributed Debugger: Overview

The IBM Distributed Debugger is a client/server application that enables you to detect and diagnose errors in your programs. This client/server design makes it possible to debug programs running on systems accessible through a network connection as well as debug programs running on your workstation.

The debugger server, also known as a debug engine, runs on the same system where the program you want to debug runs. This system can be your workstation or a system accessible through a network. If you debug a program running on your workstation, you are performing local debugging. If you debug a program running on a system accessible through a network connection, you are performing remote debugging.

The debugger client is a graphical user interface where you can issue commands used by a debug engine to control the execution of your program. For example, you can set breakpoints, step through your code and examine the contents of variables. The debugger user interface lets you debug multiple applications written in different languages from a single debugger session. Each program you debug is shown on a separate page with a tab on each page displaying program identification information such as the name of the program being debugged. The type of information displayed depends on the debug engine that you are connected to.

Each program page is divided into different sections, called panes. Each pane displays different information about your program. There are panes to display your source code, breakpoints, the program's call stack and various monitors. The types of panes and monitors available on a program page depend on the program you are debugging.

For more information on the panes and monitors available in the debugger user interface, see the related topics below.

ngrelc.gif (533 bytes)
Distributed Debugger: Panes
Distributed Debugger: Monitors
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Remote debugging

  k꦳D$1 :7,:#Q1 ./usr/vac/html/zh_CN/doc/debugger/concepts/cbcdbpan.htm$ Distributed Debugger: Panes

Distributed Debugger:  Panes

The types of panes displayed when debugging a program depend on the programming language used. The following panes are available in the debugger user interface:

Stacks pane

The Stacks pane provides a view of the call stack for each thread in the program you are debugging. Each thread in your program appears as a node in a tree list. Expanding a node will display the names of active functions for that thread.

Breakpoints pane

The Breakpoints pane contains a view of information about the breakpoints you have set in the program you are debugging. Use the Breakpoints pane to view breakpoints set in your program, modify their properties, delete them, or add new ones.

Source pane

The Source pane provides a view of the source code for the program you are debugging. If your program was compiled with debugging information, you have three choices as to how to view it: by its source code, its disassembled machine code, or a combination of the two.  To view source code, the source code file must be accessible from your workstation, either on a local or a network drive. If the source code file is not found, only a disassembled machine code view is available.

Modules pane

The Modules pane displays a list of modules loaded while running your program. The items in the list can be expanded to show compile units, files and functions.

The remaining panes are monitor panes. For more information on monitor panes, see the related topic below.

[Related Concepts]
Distributed Debugger: Monitors
Distributed Debugger: Overview

pane d kVE$i:7,:#Ri./usr/vac/html/zh_CN/doc/debugger/concepts/cbcrecur.htm$ Recursion and debugging

Recursion and debugging

Recursion does not have to involve a routine calling itself directly; for example: FUNC1 calls FUNC2 calls FUNC3 calls FUNC1. After the call to FUNC3, each time you step into one of these routines, the entry for that call shows a recursion count one higher than the previous entry for that call.

You can use the recursion value in the stack frame properties box to detect unintentionally recursive calls.

Limits to debugging recursive function calls

Only the copy of the variables from the most recent invocation of a function can be monitored. Variables from previous invocations of the recursive function cannot be monitored.

> Breakpoints

Breakpoints

Breakpoints are temporary markers you place in your executable program to tell the debugger to stop your program whenever execution reaches that point. For example, if a particular statement in your program is causing problems, you could set a breakpoint on the line containing the statement, then run your program. Execution stops at the breakpoint before the statement is executed. You can then check the contents of variables, registers, storage, and the stack, then step over (execute) the statement to see how the problem arises.

The debugger supports the following types of breakpoints:

  • Line breakpoints are triggered before the code at a particular line in a program is executed.
  • ngclang.gif (151 bytes)ngcpp.gif (202 bytes)Function breakpoints are triggered when the function they apply to is reached.
  • Storage change breakpoints are triggered when the storage within a particular address range is changed.
    ngaix.gif (1051 bytes)Storage change breakpoints are not available when debugging programs running on AIX.
  • Load occurrence breakpoints are triggered when a DLL is loaded.
  • ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Address breakpoints are triggered before the disassembly instruction at a particular address is executed.

Related Tasks
Setting a line breakpoint
ngclang.gif (151 bytes) ngcpp.gif (202 bytes) Setting a function breakpoint
Setting a storage change breakpoint
Setting a load occurrence breakpoint
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Setting an address breakpoint

/ima kG$W:7,:#TW./usr/vac/html/zh_CN/doc/debugger/concepts/cbwdoptc.htm$ Optimized code debugging (AIX or Windows only)

Optimized code debugging

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Restriction: This is supported on AIX and Windows only.

Problems that only surface during optimization are often an indication of logic errors or compile errors that are exposed by optimization, for example using a variable that has not been initialized. If you encounter an error in your program that only occurs in the optimized version, you can usually find the cause of the error using a binary search technique to find the failing module:

  1. Begin by optimizing half the modules and see if the error persists.
  2. After each change in the number of optimized modules, if the error persists, optimize fewer modules; if the error goes away, optimize more modules. Eventually you will have narrowed the error down to a single module or a small number of modules.
  3. Debug the failing module. If possible, turn off the instruction scheduling optimizations for that module. Look for problems such as reading from a variable before it has been written to, and pointers or array indices exceeding the bounds of storage allocated for the pointer or array.

When you debug optimized code, information in debugger panes may lead you to suspect logic problems that do not actually exist. You should bear in mind the points below:

Local variables are not always current

Do not rely on the Local variables monitor to show the current values of variables. Numeric values,  character values and pointers may be kept in processor registers. In the optimized program, these values and pointers are not always written out to memory; in some cases, they may be discarded because they are not needed.

Static and external variables are not always current

Within an optimized function, the values of static or external variables are not always written out to memory. 

Registers and Storage monitors are always current

The Registers and Storage monitors are correct. Unlike a monitor that shows actual variables, such as the Locals Variables monitor, the Registers and Storage monitors are always up-to-date as of the last time execution stopped.

Source statements may be optimized away

Use the disassembly view or mixed view to see the source for your program. You may find, for example, that an assignment to a variable in your source code does not result in any disassembly code being produced; this may indicate that the variable's value is never used after the assignment.

 kH$:7,:#U./usr/vac/html/zh_CN/doc/debugger/concepts/cbwexec.htm$ exec() handling (AIX and OS/390)

exec() handling

Restriction: ngaix.gif (1051 bytes)ng390.gif (394 bytes)This is supported on AIX and OS/390 only.

When a process calls exec(), a new program is loaded to replace the current program.

ngaix.gif (1051 bytes)The debugger suspends program execution at this point and opens a dialog similar to the Load Program dialog, which allows you to choose whether to debug program initialization and whether to use a program profile. The name of the new program is shown, but unlike in the Load Program dialog, you cannot change the name. After you select OK, the debugger stops at the first instruction of the new program's runtime (if you asked to debug program initialization), or at the first instruction or statement in the new program.

If you checked Use program profile and the debugger finds enabled breakpoints in the profile, these breakpoints are set when you start debugging the child process.

Related References
fork() handling
system() handling

 k 6I$":7,:#V"./usr/vac/html/zh_CN/doc/debugger/concepts/cbwfork.htm$ fork() handling (AIX and OS/390)

fork() handling

ngaix.gif (1051 bytes)ng390.gif (394 bytes)Restriction: This is supported on AIX and OS/390 only.

When a process calls fork(), an exact copy of that process is created. The process that forked is called the parent, and the new process is called the child. If a process being debugged forks, the debugger stops both the parent and child processes, and opens a dialog box that lets you choose whether to continue debugging the parent process or switch to the child process.

Whichever choice you make (Parent or Child), the debugger ignores the process you did not choose, and allows it to continue running. Breakpoints set in the process you did not choose are ignored, and the page pertaining to that process is closed. Execution stops at the next source code statement in the program that contains debugging information.

If the process you did not choose performs an exec(), a new debugger page will open for the new child process.

Related References
exec() handling
system() handling

g>Loca k@}J$ :7,:#W ./usr/vac/html/zh_CN/doc/debugger/concepts/cbwhatt.htm$ When to attach (AIX and Windows only)

When to attach

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Restriction: Attaching to a running process is only supported on AIX and Windows NT.

There are two main reasons for attaching the debugger:

  • You anticipate a problem at a particular point in your program, and you do not want to step through the program or set breakpoints. In this situation, you can run your program, and at a program pause shortly before the anticipated failure (for example, while the program is waiting for keyboard input), you attach the debugger. You can then provide the input, and debug from that point on.
  • You are developing or maintaining a program that hangs sporadically, and you want to find out why it is hanging. In this situation, you can attach the debugger, and look for infinite loops or other problems that might be causing your program to hang.

ngaix.gif (1051 bytes) You can also use postmortem debugging to debug a core file containing information on the state of an application when it trapped. Postmortem debugging is available when debugging locally only.

ngrelt.gif (466 bytes)
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Attaching to a local running process
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Attaching to a remote running process

r lK$:7,:#X./usr/vac/html/zh_CN/doc/debugger/concepts/cbwheapr.htm$  aeinortcdghlps <>fmuy",./bkw=Iv01CF_()235EHNSTXx+-ADWYj#6:OR[]q'9PL!ZZa!P$q\Cex  ,zG3HmK4#@Cb R{]8P`0/t(A H$bAW[s8WuT,&6NI!2?.„  H4`5$Ħi!~B„@$8P4`vc2~B„I CCr(@@@Ui!`BAI CCr(@@@Ulf^4/X8P )$ry H$bIZ{pC%a)/ tA{A^A钸 @$݆xF( h8PP$‡"KtDREL-$\t\@ \I rP8P(%*p$)$7r$47rOtnIz4Uou݌\~D 1)O -8pwp4tC!0@vx̼o;׳ͳ3iZ} o=x[}Sjztq[2tccnZk-ή%vq^ax:Pl[!qj_5꣺3*ěP8εf2txZ=対C@ so}~T^[!oG. 7ⷔefoUx̶F,-Q\3k@7o0ͳ= uk0fGgl\Mvi?lqp\VٚD}TwZﰎ&̤7]cq& O~ɤ}q+]ֻ;#o0ܵ }-[6<2̴œ&o<y+꣡;}Uk87Ga1wb!0@Uګ1hl3꣕k]OekxEslp٤;uCe@ $qCw.H2iIg3[(bS@]$0bH}}gƆٜ\[%qͳ3-8cc꣪ꃊO l4q\xo-o(>CmٖrJ\꾪[7A98uwޝ0\Vsg:^_USeC?-g:M&Ψ8TsnZw >U:vwG8e3v\ꦾ:#4̚O>-&0^NP~Wzy壍{22ꣳ-8.iޑ押-n݊}x̼GYHjjvsaٺs Qfa+􎹨abc;:0KQ}-ވ>w}Tv٘xJ#j=XŪN. 7e荃 9H1 $]$2ꃊO* sQPitHGqa d;94-K789WUSg1$ux`k\}T2 I1+꣗ztq[2tދ{yPuޑͳ+_id{e\fr&9Ot"vn}PozG=͚OAa 9އ$ezD/z$Dyko7r$LT;DnIDἣ(7_ofgm{DtG6{-΋9kr9w8E^7AGqa$7r$i5Igs&%1nI C a!3i5Ucc]2_:bS,&Q`l~eOE` _Un뚎ŪNvqnHN7z棾j fYfd ?eΪkꣁf;71ߞ47^ese!veeGzG(>sZU]$Z⺡Ū+mIt{cvi#uQnIc( ܺI<}Ob;Oleslè9H1 $]$Z⺡Ū+mO-Q̼itHGqa -dy}N9m nI+Zvɤ!I'GkpLy}7ltIEFEoiji/|27 lG;u(?-&69 ܺI AuCTWn47r$󹍆T32 ozGd:8OD 1)}wZCPq\(7^%ǀFfnqRިvs+efEAUTwe}TvWoy;4Pj{?::sc2"p]kr|3)UЌ]vw_ | Ovw_ | y+[seQ\G(7A8Z^0zݿU.9q&TsGٺƫa1wb{%&Eo;ab&07g|3+-9FQnJˤ TWT;8EvI Cw.O@ov14Q}-u 7|3+_G;pQ}Uݼtel#&T|3*s[s} ݊M8V9q쯪v14Q}a#80tAjgݶ2i=**tHGqa d;94.uS_U$Ħ3ߪRa1G=yW zCCq0w18ڨg*ܭWng|݆2i?UbU7\ 8ל 2+Von48\ִ7zG6M#¯ z<}] m3*i>ˤ TWT;8EvI Cw.OYkꭱ!ͳ;Lk q6i=Pxa#80t@oAp2Zvɤ!I$ '0bo\ AuCTWn4u\>x(76p|[%qͳ3;}UPTTxLcfwޝ0\V4?9fsl|"^r#x[ B!slWU8vqjc&ΫzG+fgv1rwٺc\H.N7\ZM:Ψ8-{t@~Qn0U}.invrS.k}G[z\3݌\n!rH~B$‡"KtDRm@tA{A€8 5@@P^A‚g|bS4d:ٖr;VCm+UM'slryoN.+yOZ8Z&ߗy:Ψ8.VWLvFx\ 9$7.I"KOn(p$L4E&L(( \T J(( O+ꣷmOd: Remote debugging (AIX and Windows only)

Remote debugging

Debugging a program running on one system while controlling the program from another system is known as remote debugging. The debugger supports remote debugging by allowing you to run the debugger user interface on one system, while running the debug engine on another system. The system running the debugger user interface is known as the local system. The system where the debug engine runs is known as the remote system.

There are two types of remote debugging: homogeneous and heterogeneous. Homogeneous remote debugging occurs when both the local and remote system use the same operating system. Heterogeneous remote debugging is when the local and remote systems use different operating systems.

When debugging a program remotely, you can start the debugger in one of two ways:

  • Start a debug engine daemon, then start the debugger user interface.
  • Start a debugger user interface daemon, then start a debug engine.

In both cases, a daemon will listen for a connection. Once a connection is made you can begin to debug your program.

Why use remote debugging
You might want to use remote debugging for the following reasons:

  • The program you are debugging is running on another user's system, and is behaving differently on that system than on your own. You can use the remote debug feature to debug this program on the other system, from your system. The user on the system running that program interacts with the program as usual (except where breakpoints or step commands introduce delays) and you are able to control the program and observe the program's internal behavior from your system.
  • It is easier to debug an application that uses graphics or has a graphical user interface when you keep the debugger user interface separate from that of the application. Your interaction (or another user's interaction) with the application occurs on the remote system, while your interaction with the debugger occurs on the local system.
  • The program you are debugging was compiled for a platform that the debugger user interface does not run on. You can use the remote debug feature to take advantage of the debugger user interface while debugging the remote application.

ngrelt.gif (466 bytes)
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Starting the debugger for remote debugging
Starting the debugger user interface daemon

ngrelr.gif (548 bytes)
Remote debugging limits

 khM$ :7,:#[ ./usr/vac/html/zh_CN/doc/debugger/concepts/cbwsyste.htm$ system() handling(AIX and OS/390 only)

system() handling

ngaix.gif (1051 bytes)ng390.gif (394 bytes)Restriction: This is supported on AIX and OS/390 only.

When a program running in a UNIX environment starts another program using a call to system(), the system() function calls both fork() and exec(). The following describes the debugger's behavior after you perform a Step Over command on a line containing a system() call, and tells you what actions you should take to begin debugging the child process.

  1. The system() function calls fork(). The debugger stops execution and raises a Process fork action dialog.
  2. At this point you should choose to debug the child process. Once the Process fork action dialog closes, issue the Run command to continue debugging the child process.
  3. The new child process calls exec() to load /bin/sh, and the debugger opens a New process dialog. The active debugger Source pane shows a disassembly view of the initial runtime entry point of /bin/sh.
  4. Click on OK to start debugging the child process.
  5. The debugger stops in the main function of /bin/sh.
  6. Issue the Run command.
  7. The /bin/sh process issues a fork() call. Again, the debugger stops and brings up a Fork action dialog.
  8. At this point you should choose to debug the Child process. Once the Process fork action dialog closes, issue the Run command to continue debugging the child process.
  9. The new child process calls exec() to load the program specified in the call to system() in the original program. The debugger opens a New process dialog. The active debugger Source pane shows a disassembly view of the initial runtime entry point of the program specified in the call to system().
  10. Click on OK. The debugger stops at main(). From here you can continue debugging normally.

ngrelr.gif (548 bytes)
exec() handling
fork() handling

if k6N$a:7,:#\a./usr/vac/html/zh_CN/doc/debugger/images/nbdisbp.giftm$GIF89a𠠤!,@&xn0 P#˻ D[է,G"PZ5p|$;and OS/ k@O$L:7,:#]L./usr/vac/html/zh_CN/doc/debugger/images/nbdisvar.gifm$GIF89a!,ퟀAge93 Jӗ h:BJ;է k|6P$a:7,:#^a./usr/vac/html/zh_CN/doc/debugger/images/nbenbp.giffm$GIF89a!,@&h^@@%;@Ta^+ C|;and OS/ kTQ$e:7,:#_e./usr/vac/html/zh_CN/doc/debugger/images/nbenptr.gifm$GIF87a , @I}"[ xdJ$+jV;OS/ k)R$[:7,:#`[./usr/vac/html/zh_CN/doc/debugger/images/nbenvar.gifm$GIF89a!,@ (=\6뽧$DT\i}jxChm%;$+j kR%S$N:7,:#aN./usr/vac/html/zh_CN/doc/debugger/images/nbexept.gifm$GIF89a!,@ +ޏDHSujAhF;} k.T$~:7,:#b~./usr/vac/html/zh_CN/doc/debugger/images/nbhalt.gifm$GIF89a!,@CH*a0tYw~g߈udj CѶ&  CÎTeHb3LCT[rx ;ea kJU$v:7,:#cv./usr/vac/html/zh_CN/doc/debugger/images/nbignexc.gifm$GIF89a!,@;hA \[EE uelh2@ , Yq @'5xU Џe6;T[ kβV$q:7,:#dq./usr/vac/html/zh_CN/doc/debugger/images/nbignore.gifm$GIF89a__[???!,6h[0J@8R (\!X )]: <֎  \:;e6;T[ ktW$P:7,:#eP./usr/vac/html/zh_CN/doc/debugger/images/nbminus.gifm$GIF87a C$UI۪Ւ+U>>>IUت𹹹+I$+U$U+UUIdddlllttt|||+$U+IU+UIUUmUUm'''...666FFFMMMUUU]]]+mUIUImUUUUU+UU++$+I+m+U++۪۪mUmUUՒUնUIUIUU$UUUUU+m$$$۪+UU۪U۪IIm$UmUU$IUUU+$ՒmUmU$UնUUImUIUU$+m߲դҿ5ŸqtA2BBRA@!a`b_``@@ABB@@p5A𠠤!, -H?*LhB .(A-:HbG+^,HRÀ; k08X$S:7,:#fS./usr/vac/html/zh_CN/doc/debugger/images/nbplus.gifm$GIF87a C$UI۪Ւ+U>>>IUت𹹹+I$+U$U+UUIdddlllttt|||+$U+IU+UIUUmUUm'''...666FFFMMMUUU]]]+mUIUImUUUUU+UU++$+I+m+U++۪۪mUmUUՒUնUIUIUU$UUUUU+m$$$۪+UU۪U۪IIm$UmUU$IUUU+$ՒmUmU$UնUUImUIUU$+m߲դҿ5ŸqtA2BBRA@!a`b_``@@ABB@@p5A𠠤!, 0H?*LhB :!8@i_@m&يp\m=YN#$)k6;; k+]$q:7,:#kq./usr/vac/html/zh_CN/doc/debugger/images/nbstpexc.gifm$GIF89a!,@6hnCH ]\aC -) gmnʐ>[tDңX2;,H3 kꪃ^$n:7,:#ln./usr/vac/html/zh_CN/doc/debugger/images/nbstpint.gifm$GIF89a!,@3H=!APGGAŝ]2h,/d ޻?@:E#nH; k@_$l:7,:#ml./usr/vac/html/zh_CN/doc/debugger/images/nbstpovr.gifm$GIF89a!,@1XEIEB0 kiTqCNpe3l02@,S$;; k L`$p:7,:#np./usr/vac/html/zh_CN/doc/debugger/images/nbstprtn.gifm$GIF89a!,@/! YnPr";_I& *jA; kJta$b:7,:#ob./usr/vac/html/zh_CN/doc/debugger/images/nbtrmnt.gifm$GIF89a!,@3i!8 BIŅh=P!dzeH!fR(; * kb$:7,:#p./usr/vac/html/zh_CN/doc/debugger/images/ng390.giffm$GIF89a3 zñl=$i;#sA'k<$vC)M/J-U5X7c?`=kDoGmFtKrJqIrG1|T?`Lo^|l;,3 @$dihJz(E,ϱUVZpsFIXHHh gL=fRy`-zF3TD B. f2r[Hr ;wH$ ueQTTr$1~r Q-̀\!;+$+I kZ c$3:7,:#q3./usr/vac/html/zh_CN/doc/debugger/images/ngaix.giffm$GIF89a3 \] ^!b'/n63p:;vB?yFKROVTZZ`]c`fcidjgmrwɴ"d)%f,+k2B{Hdi,3 @$dihJ~dB,1yMG+$`4Z*M(>fRy`Qm8'{281YzTr1\F :2T$ wZC~27# e7qT qV1=?RI͂\!; <  p  5\v!; kKd$:7,:#r./usr/vac/html/zh_CN/doc/debugger/images/ngclang.gifm$GIF89a3 }WUTQOwItc=SrGyg@bT4gX7XK/MB)K@(NC*VL5mdP{sapUH-bXCÿ,3 @n dihJvh0P,t8,3n!;UՒUն k&f$:7,:#t./usr/vac/html/zh_CN/doc/debugger/images/ngcpp.giffm$GIF89a3 _]\ZXUKvN{?qcCvh7fV4aQ+VD-YG&O<'P=@cS_|on|%M:3XFNo_{Ľ,3 @ dihJ~X0U,mۇ>5"(Bɀ4(26lج&w,$`x>L{yx dSx$ijRqDdԼyB H ac#   f%81A K[a#kC,X!P$ #~ G'a"14 0 < 4B%n(aD /XCͺ]{Ȁ;ess k_k$:7,:#y./usr/vac/html/zh_CN/doc/debugger/images/ngnware.gifm$GIF89a- 999sss޵{{sƽZZRBB9έsƜs!!ssRss))RRRss91199kkss!!))99BBRRZZcc,- @pH,H$.0J#tl:&Qp)~6'&|r'O,O6a9)(B%9}sLBzG/IDt8O \80:M0ih!2b8C789B7B8ƣIt9O)F):3&9tNjOhLhZD&ɱO1SP01EpС pXɬht )c R4(@F pѬNB)%Onz; k,El$@:7,:#z@./usr/vac/html/zh_CN/doc/debugger/images/ngos2.giffm$GIF89a3 6D=K@NAOMZZf]i4C7FHVM[Xehtjumxwzx}Ǯ,3 @Š&dihJzH9L,υ ^[x Ùe֨B8pM9<¸>: 'R*"@|(\$7"bāKJkG816?A12@ Yl~|F GF 5 2E d#w3xb$N Sw81>1{| ?  w  8,a-},!; knBm$:7,:#{./usr/vac/html/zh_CN/doc/debugger/images/ngos400.gifm$GIF89a3 gZeXXM>8SvrbVl_j]i\C;b@8]2,I[POFsLCn3-J1+G:3SKF^XSjhdx71P,3 @`"dihJv݈4S,ru1mU<_F%XX`:IpNQ&Ry`Z.I-$ kijBFHE\ ,Q$ve|U~Y#eR XSHǩ,!; S k0-n$:7,:#|./usr/vac/html/zh_CN/doc/debugger/images/ngpli.giffm$GIF89a3 R8T> w8%ԾMV$ظLk`~ bN@!a%`,m<@HWl숫C$ <VXg˗$=Ѓ=8C損Qzp;CDC 꺖SH*$aЋʀ.sPD;!m*t k>r$:7-:#./usr/vac/html/zh_CN/doc/debugger/images/ngsol.gifm$GIF89a3 EM_cjy1=U]tZpAQp+5JWlUiNa:Hc7D^0;R*4H,6KRZj~K^[rXnDUu7ASqx,3 @!dihJ~߸84|,'ͧ3|&$1FFLp ;ZLt;YZ8K~^t2u-%FOf3~3I,lj~V-gf~Fgl1% }ڌl4aklg$=\Kt+ ɬ0 <؛B{Wz{J q?6Ȍޓ,!;}ڌ kxVt$-:7-:#-./usr/vac/html/zh_CN/doc/debugger/images/ngwin.gifm$GIF89a3 AA??>>;;@@==775500..u))o''d##Y`""UW`,,j::uHHZZiiwwƴ,3 @ dihJ~8,O,ϱuֳyX]QAa4~zMNؔ![x,J2FEP) qDstk>@?Wz|z|{I WWPV\h|$]6[A6]#hS| 9I,!;}ڌ lܢu$}:7-:# ./usr/vac/html/zh_CN/doc/debugger/ref/rbcdbgc.htmm$   aeiot<>dghmnprsu "./bcfl=wy-0Iq%&,137;T_v()25:CDFPX[]x#89ANRSUW!46ELOYk|z8 .a(/I7Za$S׬4iaNaQ:RS鴋{5%(^1ZmD'oM )]JP0 r"yJ/ LJpphP0 us1̒8ABu\{5%(^1Ԟ{ep EEA"񌖦ѡ (<(8$ @A%(%of/jGC($nS+ JS` -:@Խ84?t8T&BBo(N{bXq dKT"BN8P4~/C ;T"BB @Ɓ|_R+ -.v?i?@`!6ڜ4I%Q;xk@ L5#>G0޹ Mzj4O]w3ha`&LߏM?x¾2Z8,>&ӅŔݝo3Ľl>4aW>d~hUmLͯ0a%Q;]sX[٩)EK^1lauEE^m|o}36ip>4TU骶MmEEJŸO2KcAWMr Xqx(t^9t xh-Z909'RxN8p(tQve>xE\a/ 084<";+{M17{J@}zϩ-: P v?C nZ ra,rN XqPn˨}]pcf?뗍m @aNG;s|a_WC &&v?A?W^lXU?ºW\9AɄ_tY[Og<%EL%G/jHM17{r\q9W<%@Pjf909g<%EL%G/jAWp_v?{b©N~ŅSaI߫xK۱ra,r;>,r-4TTra,r2ZN נa> Xqx(t¡ Ƈ<%D-6%7lXJϩ-:EٗPZ j /EEJ"nۍ /0**UDp릌 c j cA܀[TmxT!xޚ**U@ϫ**__i8~|}tQRa9xߏ[gi# M4I%_;țk¡ QR}]tQW]m6PL{f?hG//o.uSNG릢TTj}^17=H%MGhUmyUl'[4?uLͯ0a'R0'di 0rd+c<%@PQɄ4!/V:_;\9jJQg& a]/V~3;e+i#W>;o'",Wnj+|=bcKluc$Ѐ38 h@(ЀG 3·7wƃXlL%GoB6}]sX[٩)EK/jAW]4TTfc1W]}'LDzvu%<~)Mɸ}]tQR0n̒胒 (<5 #nL5#w^1XN|ߏq9!:߆t^4apϫ**[kx陵&L#6&綄p>gMzj `Nl(#۝"t^7W]4TU骶׸y ͛%@ϯ j,r-Ԕ c0-I%Q;{bXq dKT5*ɺvkUp(7(NN8(?]Z= y}w]Q Mr񌖤K0 y}r$ /6IxKsl!z{bXq &*YL-HU?+xqAɔ )+% rW5  l&v$,:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbcidebg.htmm $    aeit"<>dghmnoprs ./=bcfluw1y%-02357_&(),6;Tqx9:IPSkv+4CDFU[]#ANOVWXYz8Ej|!?LH z&7ۮ7H#/L uƐE T\jaRۥaF;me\zFjTۥaF%AbyL.DP @(}~ BaR$?y]Q٠mHV.99}:@$`(:%H)$Rkd P0 YLG0<9%HZ)]$CC0 :*G1$NrS-*߭(2r2O_]s=So벎c1(2Tl M?죘{<4H+:v= *죙][CoL/ږmG1.t_#(?]un`t.="TI3E#LVfF({+ A9Bv G?%x('9Ju2C~5*u|][ԩ׷)B@o*p{deJ:0RDP¤(¦*gNvQw ӢRw(xK>4`"Tm%܉@szP ((!4Ƌǰ#fZ%Pӭ,8!nRJPGrI)$kT0o?%ctBRNAJI /#d;% /WI@XpB;o%A5:tU@i"t$j0_?%ctp&߰l'@gN(s~-$N5j_F\aNC zP7I@XZ pRFC zP7I@XZrq6ٱB_[}3EX($Ӣ\zI /#d;% /WI@XpB;o%I /WI@p`B;o%/j[e\?oLF˂kF+.sѦucd'B_[~2%N1RqdqS.d=# Gt=# PQI@hv1J!\ܟ.ʾtÍg 벎g.2/mN~َ5j_FC vJ_N֒v1J!A1#Vi( Gm@Pr~2%N ō[x벎c.\4+V0~=p?. r+^TB\LS=& /9m 8~R(3ϭAs!/fJ{`(20~=p>~{Rtyuٔq1<zzʕc~~w*G嶞˘@e??O_*W@dak$EC 銓=,6=p$&zZ%f7s&KHa AC m9[~2%N[΀_Se0sqʕc}' wV߭\[by+ܣM{̄V];+20Ǚ : _Pn>qW W|7'o| t /*L벎c.]?:m~e0X{>0٠đ:tT5j_N֒rlO%hP/ ˟ߌ%8ەmG0a}~=kọK~O(((t@a-9\V߭K{qW!kӢta-IE^5*uϭӢe0:tU˃OX#V$l$mmaF1P5:tTvx|jT۔DW_:v{m{R{>죘˗:w!.O][6sߏgt 벎c.\ܾ?nFQw~0a~0\K]s=3˿\=^}Ի}mG1.tC ۑ]n?O_tUecx ; :4O>5:tTvx|jT۔DPԬIPŒ*v6PDB9i(]lEJ˳M-x(aNC zP&{(=TےHbFC zP&{(=72܃DP{5_FC vJ_N֒($A#Vi( Bi벎c.\ܾ?nFQwG?uպT:{ΝmΝZ'N?l0N=3EA պIEC*Lܟw 20(2M9Dᾧ뮭x#V$l0di( BAJJ:tT7A6éfDRHըa:~/ZJ.6^?;Om=S/9Ӿd%ec:bknwW0Ѹѧ\LP.<{X IE@BHӴQʄr%˳M-xrg/P~/ZJ!C dN֒Р)1n1䠻~ܐe@Fi"{(=I /u|^!Iq%&{(=s{mvQf=BHbFC NC _?%AQi#VN֒Р(x :i#VFC dN֒Р($j0zP eJ4P#d06605j_FC vJ_N֒($vFeD)3E@stK@bH:*I /WI@p`B2 oy*>{nWe\ӹ|~܌ﮭ`q_7'd%9}*rq>6a-qcmaq8wnMKf LWZfDWqUΠٸ_7' /Uc*'?vJm<{>gNA˫t'N#XOven[s"@ 3oU~q̵ܯ*ӵߌ%82:* Fԑ:tT0:gLVIڲZH:*ΧtP6J_ӲPu|^!A ;[i#Vi( BAo9srE][FC H(aRFFچaS'9Ju2CXb=3 ۘ%^Gm@bs!I3E qS.d=Sن# .JJTT%C 5C  kw$a:7-:#a./usr/vac/html/zh_CN/doc/debugger/ref/rbcremlm.htmm $ Remote debugging limits

Remote debugging limits

Remote debugging imposes the following limitations:

  • Browse only displays the file system on the local system. The file system on the remote system cannot be displayed.

ngrelc.gif (533 bytes)

]lE k&x$f:7-:#f./usr/vac/html/zh_CN/doc/debugger/ref/rbcsupdt.htmm$ C++ supported data types

C++ supported data types

You can monitor an expression that includes a cast to any of the following types:

  • 8-bit signed byte
  • 8-bit unsigned byte
  • 16-bit signed integer
  • 16-bit unsigned integer
  • 32-bit signed integer
  • 32-bit unsigned integer
  • 64-bit signed integer
  • 64-bit unsigned integer
  • 32-bit floating-point
  • 64-bit floating-point
  • Single-precision floating-point
  • Double-precision floating-point
  • Pointers
  • User-defined types

These data types include int, short, char and so on.

 ktry$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/ref/rbcsupxn.htmm$ C++ supported expression operands

C/C++ supported expression operands

You can monitor an expression that uses the following types of operands only:

Operand Definition
Variable A variable used in your program.
Constant The constant can be one of the following types:
  • Fixed-point or floating-point constant within the ranges supported by the system the program you are debugging is running on.
  • A string constant, enclosed in double quotation marks (for example, "mystring")
  • A character constant, enclosed in single quote marks (for example, 'x')
ngaix.gif (1051 bytes) ngos2.gif (402 bytes) ngwin.gif (1069 bytes) Register Any of the processor registers that can be displayed in the Registers Monitor. In the case of conflicting names, program variable names take precedence over register names. For conversions that are done automatically when the registers display in mixed-mode expressions, general-purpose registers are treated as unsigned arithmetic items with a length appropriate to the register. For example, on Intel platforms EAX is 32-bits, AX is 16-bits, and AL is 8-bits.

If you monitor an enumerated variable, a comment appears to the right of the value. If the value of the variable matches one of the enumerated types, the comment contains the name of the first enumerated type that matches the value of the variable. If the length of the enumerated name does not fit in the monitor, the contents appear as an empty entry field.

The comment (empty or not) lets you distinguish between a valid enumerated value and an invalid value. An invalid value does not have a comment to its right.

You cannot update an enumerated variable by entering an enumerated type. You must enter a value or expression. If the value is a valid enumerated value, the comment to the right of it is updated.

You cannot look at variables that have been defined using the #define preprocessor directive.

q l4z$:7-:# ./usr/vac/html/zh_CN/doc/debugger/ref/rbcsupxo.htmm$   <>adrt "/2ehiv6=lopsw9bcgmn&.;fuy+01DFLx!()-35:ACEGIMNORS_qz|#*,BUX4TY[]^~%峷FKt SUT LL<5rY h4,Y}2fVBK%5r$E(@D"S=! @҆ L!5@3XKٮI5@h4,Y}2fVEq1$p lHXQe!Ÿha$$aU1\m a  lHXQe [21?I TƒJ h(:P0ҳx qC~>4I( -ZV4/‹$+-BA$ rxIЧ BAI%ۆ! Re7%]zLe+JVPo5׭!+XU +rPrPkZBV8p|BB-(hE-$ ! %>4X ,$?X`y% y-? (qCa[rm]zL`\>jɅm+rPrPkZBV8p|BB-(hE-$ ! %>4X ,$?X`i4aAm aЦs[>0‰6(?5׭!+X>j}d>a[r ܔܔo֐:d`qz[rm]zL&OAnJnJuHJ2`g1VA6i Z&aAbaOVx}d/CŸY0AnJnJuHJ2 d+nPkZBV 2&8aAe .aPO+<C  0B0d'Cd) `Ƀ(arŒ+nP[m]zLTOV¶%kaPL+nP[m]zLcXgP` Vܠ|^b >a[r ܔܔo֐:d 48Vܠ|^b D>jɅm+rPrPkZBV86?HqA6i Z&AɨS&(?AA6i XB 4S![rm]zLX}d) ۔V|^q [83a[rm]zL-L)$ɨS&(?AA6i XAuŒ ۔o֐BfY5 }d &Ʌm+rPrPkZBV8鐃d+nPkZBV }d)&Ʌm+rPrPkZBV8D$Vܠ|^b0ɨS'$L) ۔V|^q e+nPkZBV }d)Y"aOVܠ·%7%%cCPmuHJ!3>x&Ʌm+rPrPkZBV8鐓w+nPkZBV }d)‰t3$L) ۔V|^q ypn¶%kMBY<(^ 0L+nP[m]zLa[Ca[rm]zL&ONx}d>a[r ܔܔo֐:dV>¶%kMBY<(^x}d>a[r ܔܔo֐:d$ \:T+nPkZBV }d)‰<>DŸY0AnJnJuHJ2+Y[CyY Q?JmuHJ!3>xP #$L) ۔V|^q p.D¶%kMBY<<>DŸY0AnJnJuHJ2 u ۔o֐BfY5 }d0L+nP[m]zLwi1 A6i Z&aPO x}d>a[r ܔܔo֐:dMq) ۔o֐BfY5 }dg$L) ۔V|^q kg`LQ!9) ۔o֐BfY5 }d }d¶(?(?5׭!+tHnD0B%kMBY<*C  }d¶(?(?5׭!+tHnDLmuHJ!3>x2 }d>a[r ܔ$JvHHXZ(b4S (8iZL nLÆ `8e a-F ,<,[Sĕ! * *7F(8@lue d kt{$b:7-:#b./usr/vac/html/zh_CN/doc/debugger/ref/rbwdpath.htmm $ DER_DBG_PATH environment variable

DER_DBG_PATH environment variable

The DER_DBG_PATH environment variable is used to locate debug source files on your client workstation that are not stored in the same location as the executable being debugged. For example, if your debug executable is stored in F:\BUILDS\SANDDUNE\TEST but your source code is stored in F:\SOURCE and F:\SOURCE\INCLUDE, you should set your DER_DBG_PATH variable as follows:

set DER_DBG_PATH=F:\SOURCE;F:\SOURCE\INCLUDE

You can set the DER_DBG_PATH environment variable on both client and server systems. The search for source files starts on the server first.

The search order used to search for source files depends on the settings of other environment variables as well.

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

}d  k<|$b:7-:#b./usr/vac/html/zh_CN/doc/debugger/ref/rbwincl.htmm$ INCLUDE environment variable

INCLUDE workstation environment variable

The INCLUDE environment variable is used by the debugger to locate include files on the workstation.

The environment variable does not apply to languages that do not support include files.

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

t and  k}$:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbwlibp.htmm$ LIBPATH environment variable (AIX and OS/2)

LIBPATH environment variable

ngaix.gif (1051 bytes)ngos2.gif (402 bytes)Restriction: This is supported on AIX and OS/2 only.

The LIBPATH environment variable tells the debug engine where to look for debugger DLLs on the workstation.

hr kj~$:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbwlocpt.htmm$ DER_DBG_LOCAL_PATH environment variable (AIX and Windows only)

DER_DBG_LOCAL_PATH environment variable

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Restriction: This is supported on AIX and Windows only.

ngaix.gif (1051 bytes) ngwin.gif (1069 bytes) The DER_DBG_LOCAL_PATH environment variable is used to locate executables and DLLs on the system where you are debugging your program.

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

./. kꄢ$:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbwnumel.htmm$ DER_DBG_NUMBEROFELEMENTS environment variable

DER_DBG_NUMBEROFELEMENTS workstation environment variable

The DER_DBG_NUMBEROFELEMENTS environment variable can be set to an integer value to tell the debugger the maximum number of elements to display for an array, structure, or object in a Program or Storage monitor.

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

o k$:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbwopunx.htmm$ Compiler Options on Workstation UNIX Platforms

Compiler options on workstation UNIX platforms

Compile your programs with the -g option (to generate debugging information) if you want to be able to debug your program at the source code statement level. You should also consider using the following options:

Option
Purpose
-qnoopt
Compiles your program with optimization off. This is the default. (Some optimizations reorder the execution sequence of your program, while others may eliminate expressions whose result is never used. You may find it confusing to debug a program compiled with optimization, because statements may execute in a nonsequential fashion or not at all.)
-Q!
Compiles your program with inlining off. This is the default.

Note: If you use the -bstabcmpct linker option when compiling programs that use DirectToSom or C++ namespaces, you should only specify a value of 1 (the default) or 0 (for example, -bstabcmpct:0) for versions of the program you intend to debug. If you specify -bstabcmpct:2 you will not be able to debug such programs.

^q k,$:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbwoverr.htmm$ DER_DBG_OVERRIDE environment variable (AIX and Windows only)

DER_DBG_OVERRIDE environment variable

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Restriction:  This is supported on AIX and Windows only.

The DER_DBG_OVERRIDE environment variable takes precedence over DER_DBG_PATH. If you set your DER_DBG_PATH variable in your system settings, but you want to temporarily add another path that takes precedence over DER_DBG_PATH, set DER_DBG_OVERRIDE. To restore DER_DBG_PATH as the path used to locate executables and DLLs, clear DER_DBG_OVERRIDE. You can clear DER_DBG_OVERRIDE using the following command:

set DER_DBG_OVERRIDE=

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

Related References
DER_DBG_PATH environment variable

ܠ·% kD$<:7-:#<./usr/vac/html/zh_CN/doc/debugger/ref/rbwpath.htmm$ Other environment variables

Other environment variables

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Restriction: This information applies to debugging programs on AIX and Windows only.

The debugger also uses the following standard environment variables on the Windows or OS/2 workstation. These variables all contain one or more directory names separated by semicolons:

PATH

The PATH environment variable is used to locate the debugger executable and the executable programs to be debugged, as well as any other executables being run on the workstation. On Windows platforms the PATH environment variable is also used to locate DLLs.

ngos2.gif (402 bytes)DPATH

The DPATH environment variable is used to locate message files, which the debugger needs to display messages and the text of menus and dialogs.

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

ngrelr.gif (548 bytes)
ngaix.gif (1051 bytes) ngos2.gif (402 bytes) LIBPATH environment variable

۔ k2t$:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbwstep.htmm$ Step commands

Step commands

You can use step commands to step through your program a single line or where supported disassembly instruction at a time. You can issue step commands from the Source pane that contains the current execution point.

The following types of step commands are available:

Step Command Button Shortcut Description
Step Over nbstpovr.gif (108 bytes) Ctrl+O Executes the current line, without stopping in any functions or routines called within the line.
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)ngos400.gif (321 bytes)Step Into nbstpint.gif (110 bytes) Ctrl+I Executes the current line. If the current line contains a call to a function or routine, execution stops in the first line or disassembly instruction of the called function or routine. If the called function or routine was not compiled with debug information, the function or routine is shown in a disassembly view.
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)ngos400.gif (321 bytes)Step Debug nbstpdbg.gif (112 bytes) Ctrl+D Executes the current line. Execution stops at the next line encountered for which debug information is available. This could be in the current function or routine, in the called function or routine, or in a function or routine called within the called function or routine.
Step Return nbstprtn.gif (112 bytes) Ctrl+T Executes from the current execution point up to the line immediately following the line that called this function or routine. If you issue a Step Return command from the main entry point (in C++, the main program), the program runs to completion.

Execution of your program may stop earlier than indicated in the step command descriptions, if the debugger encounters a breakpoint or an exception occurs.

You can use combinations of step commands to step through multiple calls on a single line.

ngrelt.gif (466 bytes)
Stepping through a program

 k\$:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbwtgrid.htmm$ DER_DBG_TABGRID environment variable

DER_DBG_TABGRID environment variable

The DER_DBG_TABGRID environment variable affects how the debugger uses tab characters to align tabs to columns in a source or mixed view within a Source pane. The value of this variable is an integer indicating the starting position and frequency of the tab. For example, if you set DER_DBG_TABGRID=6, the debugger sets tab stops at 6, 12, 18, 24, and so on. If DER_DBG_TABGRID is set to a nonzero value, the setting of DER_DBG_TAB has no effect.

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

Related References
DER_DBG_TAB environment variable

rout kd$s:7-:#s./usr/vac/html/zh_CN/doc/debugger/ref/rbwvcase.htmm$ DER_DBG_CASESENSITIVE environment variable

DER_DBG_CASESENSITIVE workstation environment variable

The DER_DBG_CASESENSITIVE environment variable, if set to a non-null value (for example, "yes", 1, "true", etc.) tells the debugger to compare part names and module names on a case-sensitive basis. By default the debugger converts all names to uppercase for comparison purposes. Note that this does not affect filesystem accesses which are operating system dependent and not affected by DER_DBG_CASESENSITIVE.

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

ment  k$:7-:#./usr/vac/html/zh_CN/doc/debugger/ref/rbwvdbtb.htmm$ DER_DBG_TAB environment variable

DER_DBG_TAB environment variable

The DER_DBG_TAB environment variable affects how the debugger expands tab characters in a source or mixed view within a Source pane. The value for this variable is an integer, indicating the number of spaces to convert a tab character into. Unlike DER_DBG_TABGRID, DER_DBG_TAB does not cause the debugger to place tabbed information in specific columns; it simply results in each tab in the displayed files being converted to the indicated number of spaces.

Note:  If DER_DBG_TABGRID has been set to a nonzero value, the setting of DER_DBG_TAB has no effect.

ngrelt.gif (466 bytes)
Setting environment variables for the debugger

Related References
DER_DBG_TABGRID environment variable

51"  k$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcaddreg.htmm$ Adding a register to the Expressions monitor

Adding a register to the Expressions monitor

You can add a register to the Expressions monitor if you want to monitor only a few registers during the execution of your program. Registers can also be monitored in the Registers pane and Storage pane. To monitor all registers during program execution, use the Registers pane.

To add a register to the Monitors pane:

  1. Click on the Monitors tab and do one of the following:

    • Select Monitors > Monitor Expression from the menu bar.
    • Press Shift+F9.
  2. In the dialog, enter the name of the register you want to monitor. Check the Registers pane to see a valid Registers name.
  3. Select Program Monitor.
  4. Click OK to add the register to the Expressions monitor and dismiss the dialog.

To add multiple registers to the Expressions monitor:

  1. Click on the Expressions tab and do one of the following:

    • Select Monitors > Monitor Expression from the menu bar.
    • Press Shift+F9.
  2. In the dialog, enter the register you want to monitor.
  3. Click Monitor to add the register to the monitor.
  4. Repeat step 2 until you have added all the registers you want to monitor.
  5. Click Cancel to dismiss the dialog.

ngrelt.gif (466 bytes)
Viewing the contents of a register
Creating a new storage monitor for an expression or register

 kP$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcaddvar.htmm$ Adding a variable to the Expressions monitor

Adding a variable to the Expressions monitor

From the Source pane or the Monitors menu, you can add variables and expressions to the Expressions monitor, so that you can keep track of how their contents change during program execution. You can add multiple variables and expressions to the Expressions monitor from the Monitors menu.

Local variables that are in scope can also be monitored in the Local Variables monitor. By default, all of the local variables in scope are available in the Locals Variables monitor.

To add a variable or expression to the Expressions monitor from the Source pane:

  1. Ensure the Source pane is set to source view. To set the Source pane to a source view, select Source > Source View from the menu bar.
  2. Highlight the variable or expression you want to monitor.
  3. Right-click on the highlighted variable, and select Add to Program Monitor from the pop-up menu.

To add a variable or expression to the Expressions monitor from the Monitors menu:

  1. Select Monitors > Monitor Expression from the menu bar.
  2. In the dialog, enter the variable, expression, or register you want to monitor.
  3. Select the Program Monitor check box.
  4. Click OK to add the variable to the monitor and dismiss the dialog.

To add multiple variables or expressions to the Expressions monitor from the Monitors menu:

  1. Select Monitors > Monitor Expression from the menu bar.
  2. In the dialog, enter the variable, expression, or register you want to monitor.
  3. Click Monitor to add the variable to the monitor.
  4. Repeat step 2 until you have added all the variables you want to monitor.
  5. Click Cancel to dismiss the dialog.

ngclang.gif (151 bytes) ngcpp.gif (202 bytes) To view the contents of a C or C++ variable such as an integer in a Storage monitor, precede the variable with an ampersand (&), or select a pointer that points to that variable. For example, given the following C or C++ source code:

int i=10;
int* p=&i;

you can monitor the storage for the variable i by entering either &i or p in the Monitor expression dialog, then selecting the Storage monitor radio button in that dialog.

Related References
C++ supported data types
C++ supported expression operands
C++ supported expression operators

in t k)$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcbpdel.htmm$ Deleting a breakpoint

Deleting a breakpoint

You can delete single breakpoints from the Source pane and the Breakpoints pane. All breakpoints can be deleted at once from the Breakpoints menu. If you delete a breakpoint, all information on it is lost. If do not want to lose your breakpoint information, but do not want the breakpoint to stop execution, disable the breakpoint instead. For information on disabling breakpoints, see the related task below.

To delete a single breakpoint in the Source pane:

  1. Locate the breakpoint you want to delete by using the scroll bar or cursor keys to locate the line where the breakpoint is set.
  2. Do one of the following to delete the breakpoints:

    • Double-click on the line number in the prefix area of the line to delete the breakpoint.
    • Right-click on the breakpoint and select Delete Breakpoint from the pop-up menu.

To delete a single breakpoint in the Breakpoints pane:

  1. Click on the Breakpoints tab to bring the Breakpoints pane to the foreground.
  2. In the Breakpoints pane, expand the list of breakpoints by clicking on the plus icons (nbplus.gif (851 bytes)) until you see the breakpoint you want to delete.
  3. Right-click on the breakpoint you want to delete. This brings forth a pop-up menu.
  4. Select Delete Breakpoint from the pop-up menu.

To delete all breakpoints, select Breakpoints > Delete All Breakpoints from the menu bar.

If you want to temporarily prevent all breakpoints from stopping execution, disable them instead by selecting Breakpoints > Disable All Breakpoints.

Related Tasks
Enabling and disabling breakpoints

1" hei k&$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcbpead.htmm$ Enabling and disabling breakpoints

Enabling and disabling breakpoints

You can disable a breakpoint so that it does not stop execution, and then later enable it again. Information about the breakpoint (such as type, location, condition, and frequency) is saved by the debugger when the breakpoint is disabled. Since this is not true when the breakpoint is deleted, the advantage of disabling a breakpoint instead of deleting it is that it is easier to enable a breakpoint than to recreate it. Enabled breakpoints are indicated with a red dot (Brakpt.gif (97 bytes)). Disabled breakpoints are indicated with a gray dot (BrkptDis.gif (97 bytes)).

You can enable or disable line breakpoints from the Breakpoints pane. Also, you can enable or disable line breakpoints from the Source pane.

To enable or disable a single breakpoint from the Breakpoints pane:

  1. Click on the Breakpoints tab to bring the Breakpoints pane to the foreground.
  2. In the Breakpoints pane, expand the list of breakpoints until you see the breakpoint you want to enable or disable.
  3. Right-click on the breakpoint you want to enable or disable. This brings forth a pop-up menu.
  4. Select Enable Breakpoint or Disable Breakpoint from the pop-up menu.

To enable or disable a line breakpoint from the Source pane:

  1. Ensure the Source pane is set to source view. To set the Source pane to a source view, select Source > Source View.
  2. Scroll to the line where the breakpoint you want to enable or disable is by using the scroll bar or cursor.
  3. Right-click on the line you want to enable or disable the breakpoint on. This brings forth a pop-up menu.
  4. Select Enable Breakpoint or Disable Breakpoint from the pop-up menu.

To enable all breakpoints, select Breakpoints > Enable All Breakpoints from the menu bar.

To disable all breakpoints, select Breakpoints > Disable All Breakpoints from the menu bar.

Related Tasks
Deleting a breakpoint

s k :$:7-:#./usr/vac/html/zh_CN/doc/debugger/tasks/tbcbplst.htmm$ Setting multiple breakpoints

Setting multiple breakpoints

You can set several breakpoints with the same optional parameters from any of the breakpoint dialogs.

To set multiple occurrences of a type of breakpoint:

  1. Select the type of breakpoints you want to set from either the Source menu or the Breakpoints menu.
  2. From the breakpoint dialog, enter the required information for the first breakpoint. Change any fields in the Optional Parameters section of the dialog, as desired.
  3. Click on Set. The settings are saved for the current breakpoint.
  4. For each additional breakpoint, change the information for the new breakpoint (for example, the new line number, new function, new method, new entry point, or new address) and click on Set.
  5. After you have set the last breakpoint, click on Cancel to dismiss the dialog.

ngrelc.gif (533 bytes)
Breakpoints

Related Tasks
Modifying breakpoint properties
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

from t k$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcchrep.htmm$ Changing the representation of monitor contents

Changing the representation of monitor contents

You can change the representation of variables and expressions in the Monitors pane, Locals pane or Registers pane. You can change the representation for existing entries or the default representation for future entries in the Applications Preferences dialog.

To change the representation of a variable or expression in the Monitors pane, Locals pane, or Registers pane:

  1. Right-click on the variable or expression you want to change the representation of.
  2. Select Representation from the pop-up menu. The Monitor Representation dialog appears.
  3. Select the representation you want from the list of available representations.
  4. Click OK to change the representation and dismiss the Monitor Representation dialog.

To change the default representation of variables or expressions in the Monitors pane, Locals pane, or Registers pane:

  1. Select File > Preferences from the main menu bar. The Application Preferences dialog appears.
  2. In the left-hand pane of the Application Preferences dialog, go to Debug > program > Default Monitor Representation, where program is the name of a program loaded in the debugger you want to change the default representation for.
  3. Change the representations for variable types by clicking on the representation associated with a variable type and selecting a representation from the list.
  4. If you want these representations to become the default for the debugger to use when no program profile is available, click Debugger Defaults.
  5. Click OK to change the default representations and dismiss the Application Preferences dialog.

The default representations of variables and expressions in programs you have previously debugged will not be affected by these changes.

- k$|:7-:#|./usr/vac/html/zh_CN/doc/debugger/tasks/tbcdaem.htmm$ Starting the debugger user interface daemon

Starting the Distributed Debugger user interface daemon

Start the Distributed Debugger user interface in daemon mode if you want the debugger user interface to appear only after you have started a debug engine.

To start the Distributed Debugger user interface daemon,  issue the following command at a command line prompt:

idebug -qdaemon -quiport=<port>

where <port> is the port number where you want the debugger user interface daemon to listen for a debug engine.

When you start the debug engine that will connect to this daemon, you must specify the same port number in the -qport option of the irmtdbgc command used to start the debug engine.

ngrelt.gif (466 bytes)
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Starting the debugger for local debugging
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Starting the debugger for remote debugging

ngrelr.gif (548 bytes)
idebug command
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)irmtdbgc command

ion  k֢$R:7-:#R./usr/vac/html/zh_CN/doc/debugger/tasks/tbcflyov.htmm$ Enabling hover help for variables

Enabling hover help for variables

Hover help for variables provides you with a quick way to view the contents of variables in the Source pane. When you point at a variable, a pop-up appears displaying the contents of that variable. This feature is enabled by default when you first start the debugger.

To enable hover help for variables, select Source > Allow Tool Tip Evaluation from the menu bar.

A check mark will appear next to the Allow Tool Tip Evaluation menu item to indicate that hover help for variables is enabled.

To enable hover help for variables as the default:

  1. Select File > Preferences from the main menu.
  2. Select Debug from the list of preferences to set.
  3. Select Allow Tool Tip Evaluation from the Debugger Defaults section.
  4. Click OK to enable the tool tip monitor and dismiss the dialog.

ngrelc.gif (533 bytes)
Distributed Debugger: Monitors

trmt.h k갉$6:7-:#6./usr/vac/html/zh_CN/doc/debugger/tasks/tbcmxead.htmm$ Enabling and disabling a monitored expression

Enabling and disabling a monitored expression

You can disable the monitoring of a variable, expression or register. The advantage of disabling a monitored expression instead of deleting it is that it is easier to enable a monitored expression than to recreate it.

You can enable or disable monitored expressions from either the Program or Locals monitor pane.

To enable or disable a monitored expression:

  1. Locate the expression you want to disable or enable in the Program or Locals pane.
  2. Right-click on the expression you want to enable or disable.
  3. Select Enable or Disable from the pop-up menu.
mg ktU$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcnewstr.htmm$ Creating a new Storage monitor for an expression or register

Creating a new Storage monitor for an expression or register

Tip: If there is a variable in scope which has the same name as the register that you are trying to use, the variable will be used first.

Registers can also be monitored in the Registers pane and Expressions pane. To monitor all registers during program execution, use the Registers pane.

You may want to create a new Storage monitor pane for an expression or register if you want to monitor specific locations in storage or only a few registers during the execution. To monitor all locations in storage during program execution, use the Storage pane.

To create a new Storage pane for an expression or register from the Registers pane:

  1. Highlight the register you want to create the new Storage monitor for.
  2. Right-click on the highlighted expression and select Add Storage Monitor from the pop-up menu. A new Storage monitor pane will appear with the expression appearing in the monitor's tab.

To create a new Storage pane for an expression from the Monitors pane:

  1. Click on the Monitors tab and do one of the following:

    • Select Monitors > Monitor Expression from the menu bar.
    • Press Shift+F9.
  2. In the dialog, enter the expression or register that you want to monitor.
  3. Select Storage Monitor.
  4. Click OK to create the new Storage monitor.
  5. A new Storage pane will appear with the expression or register appearing in the monitor's tab.

To create multiple new Storage pane from the Monitors pane:

  1. Click on the Monitors tab and do one of the following:

    • Select Monitors > Monitor Expression from the menu bar.
    • Press Shift+F9.
  2. In the dialog, enter the first expression or the name of the register that you want to monitor. Check the Registers pane to see a valid Registers name.
  3. Select Storage Monitor.
  4. Click Monitor to create the new Storage monitor pane for the expression or register entered.
  5. Repeat step 2 until you have added all the storage locations or registers that you want to monitor.
  6. Click Cancel to dismiss the dialog.

ngrelt.gif (466 bytes)
Changing the representation of storage contents
Changing the contents of a storage location
Viewing a location in storage

t kf$:7-:#./usr/vac/html/zh_CN/doc/debugger/tasks/tbcrnapg.htmm$ Running a program

Running a program

You can have a program run until an active breakpoint is hit or you can have a program run to a specific line number.

To run a program until an active breakpoint is hit, do one of the following:

  • Click the run button (nbrun.gif (113 bytes)).
  • Select Debug > Run from the menu bar.
  • Press F5.

To run a program to a specific line number:

  1. Ensure the Source pane is set to source view. To set the Source pane to a source view, select Source > Source View from the menu bar.
  2. Make sure the line to run to is visible in the Source pane by using the scroll bar or cursor keys to locate the line.
  3. Run the program to the line by doing one of the following:

    • Right-click on the line to bring up the pop-up menu, then select Run To Location.
    • Click on the line to select it, then select Debug > Run To Location from the menu bar.
    • Click on the line to select it, then press Ctrl+F10.

ngrelc.gif (533 bytes)
Breakpoints

Related Tasks
Stepping through a program
Setting multiple breakpoints
Modifying breakpoint properties
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

 lg$:7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcsetln.htmm$    einort<>achls "./bdfgkmpu=wy,BEISx0CDFLTv&-123:;NRX_j#()9AKMOV!4Y[]Hl(Gn%:Y&cL$=ē:-ܡTZaSFѽ}QY\֤t(aRKaeaF%YbyFxp ``7C H$ C 0huŲ!|lc27fVBB+8`h,(K(@k8X:JԕYp4Qvh@k8X:JԕYp4Q+!g!sZ?pqԒVe֩$ PŒ*PPZ=d,.k_?cZ8.#cZ8#ElpkHI((aF((}}QY\h#-$0 rTOG#cZ8.~}G_|o q]GqoK.Peg q\ˣTBItaK@%gGz9[h!J;>_%:< q]G(OEFlw-/=sKu{[PBItaK@Qϭe"h-$ /JvN;'澶:Ho^B5y׆]*_.ktc{m!uo7At_|:/ܺ5A I/ܺ5\̳:HI. /\$T0&ܡTuMG+!g!s[?cZ8"aSnPJ!~Ѫ qct ᑼ5'!g!sZ_tjgls/I. /t*3cϏf}ls]壳Q9Y 9 KC ]*:XwK.P  %Flrr5t_.^|[5'!g!s[˕ ac){ pcF25$rrݺ}[o:GF˗/|ѿ[5'!g!s[˕!$T0&ܡTuMG+!g!s[?c,.k_ϊD I(+(¦ܡ.CˣT3Fl$]fY[yKKC ]* ٟ[atq6߷˂7}ltrՔ%F+pH/}lplpo.V4gՔ|Hlֲఎ&] / ;?c]~]b:$rEn L8KC ]*6;ds%u7cˎeDzf-KK.P]1ȗ t$].qv"Ghl-TPJcF5 %Fn L8[29HTg2`a|l^׳8G9Y 9 KC ]* 3ce-&[]b: %Fn L8/_s"{ea:_tjpdg+!g!sZ_tj ;a$JTB}tt>61Zm!uϭVBB洄PJNˣTBI~Ѫ}[o]˗/G Y\nH_^>$#~Ѫ I/ܺ5\wn|o+!g!s[Nх4oG Y\nHI. *I+(¥&O7r&OYh܇0dݡ0:*鐆$hqG5p :V(aR܃A鐆 9 !x Y\ֽ$I% (¥&O7r&OYh܇iɃCC_-<~"KևbMnT L)?Hn:#vhz.AY\ֽ$I+0_nA҄Ctl0LѼoC-͘zIZV(aR܃0!e Setting a load occurrence breakpoint

Setting a load occurrence breakpoint

Load occurrence breakpoints halt execution of your program when the DLL or dynamically loaded module specified is loaded into memory. You can set load occurrence breakpoints from the Breakpoints menu.

To set a load occurrence breakpoint from the Breakpoints menu:

  1. Select Breakpoints > Set Load Occurrence from the menu bar.
  2. Enter the name of the DLL or dynamically loaded module to set the breakpoint for.
  3. Set any optional parameters that you want for the breakpoint.
  4. Click OK to set the breakpoint and dismiss the Load Occurrence Breakpoint dialog. Alternatively, use the Set button to set the breakpoint without dismissing the Load Occurrence Breakpoint dialog.

[Related Concepts]
Breakpoints

Related Tasks
Setting multiple breakpoints
Modifying breakpoint properties
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

8K k$Q :7-:#Q ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcsetwa.htmm$ Setting a storage change breakpoint

Setting a storage change breakpoint

Storage change breakpoints halt execution of your program whenever storage at a specific address is written to.

You can set storage change breakpoints from the Breakpoints menu.

To set a storage change breakpoint from the Breakpoints menu:

  1. Select Breakpoints > Set Storage Change from the menu bar.
  2. Enter an address or expression that evaluates to an address in the Address or Expression field.
    ngclang.gif (151 bytes)ngcpp.gif (202 bytes) Tip: You can enter the address of a variable by specifying the variable name preceded by an ampersand (&).
  3. Select the Bytes to Monitor check box.
  4. Set any optional parameters that you want for the breakpoint.
  5. Click OK to set the breakpoint and dismiss the Storage Change Breakpoint dialog. Alternatively, use the Set button to set the breakpoint without dismissing the Storage Change Breakpoint dialog.

Caution: If you set a storage change breakpoint for an address that is on the call stack, be sure to remove the breakpoint before leaving the routine associated with it. Otherwise, when you return from the routine, the routine's stack frame will be removed from the stack, but the breakpoint will still be active. Any other routine that gets loaded on the stack will then contain the breakpoint.

[Related Concepts]
Breakpoints

Related Tasks
Setting multiple breakpoints
Modifying breakpoint properties
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

_.^4o k@$L:7-:#L./usr/vac/html/zh_CN/doc/debugger/tasks/tbcsetxp.htmm$ Selecting debugger recognized exceptions

Selecting debugger recognized exceptions

You can select the exceptions the debugger recognizes for processes you are debugging, so that stepping or execution will stop when one of the selected exceptions is thrown. By default, all unhandled exceptions are recognized by the debugger.

To select the exceptions recognized by the debugger:

  1. Select File > Preferences from the menu bar.
  2. Expand the Debug item in the left-hand window of the Application Preferences dialog.
  3. Locate the process you want to set the exceptions recognized for.
  4. Click on Exception Filter Preferences Settings.
  5. Check the exceptions you want the debugger to recognize or uncheck exceptions you want the debugger to ignore.
  6. Click OK to close the Application Preferences dialog.

To cancel your exception filter preferences settings, click Reset.

To set your exception filter preference to the default settings, click Default

To set your new exception filter preferences as the default, check the Debugger Defaults box before clicking OK.

 

hang k$O :7-:#O ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcstep.htmm$ Stepping through a program

Stepping through a program

You can use step commands to step through your program a single statement at a time. The statements can be source code or, where applicable, disassembly instructions. You can issue step commands from the source pane that contains the current execution point. For an explanation of the step commands, see the related topic below.

To execute a Step Over command, do one of the following:

  • Click the step over button (Step Over) on the toolbar.
  • Select Debug > Step Over from the menu bar.
  • Press F10.

To execute a Step Into command, do one of the following:

  • Click the step into button (Step Into) on the toolbar.
  • Select Debug > Step Into from the menu bar.
  • Press F11.

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)To execute a Step Debug command, do one of the following:

  • Click the step debug button (Step Debug) on the toolbar.
  • Select Debug > Step Debug from the menu bar.
  • Press F7.

To execute a Step Return command, do one of the following:

  • Click the set return button (Step Print) on the toolbar.
  • Select Debug > Step Return from the menu bar.
  • Press Shift+F11.

ngrelt.gif (466 bytes)
Running a program

ngrelr.gif (548 bytes)
Step commands

 kX$A :7-:#A ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcvumem.htmm$ Viewing a location in storage

Viewing a location in storage

You can view the contents of storage from the Storage pane or from a new Storage monitor pane that you have created.

To view the contents of storage from the Storage pane:

  1. If necessary, change the representation of the storage contents in the Storage pane.
  2. If necessary, use the scroll bar in the Storage pane to view storage locations above or below the starting address of the Storage pane.
  3. You can jump directly to an address in the Storage pane by doing the following:

    • Double-click on any address field in the Storage pane.
    • Enter the address you want the view to jump to. This address can be an expression, for example &x.
    • Press Enter. The storage contents now seen in the Storage pane are centered around the address you just entered.

To view the contents of storage from a Storage pane that you have created:

  1. If necessary, change the representation of the storage contents in the Storage pane.
  2. If necessary, use the scroll bar in the Storage pane to view storage locations above or below the starting address of the Storage pane.
  3. You can jump directly to an address in the Storage pane by doing the following:

    • Double-click on any address field in the Storage pane.
    • Enter the address you want the view to jump to.
    • Press Enter. The storage locations now seen in the Storage pane are centered around the address you just entered.
  4. Use the Go to Address button to return to the starting address of the Storage monitor pane.

ngrelt.gif (466 bytes)
Changing the representation of storage contents
Changing the contents of a storage location
Creating a new Storage monitor for an expression or register

dy> Viewing the contents of a register

Viewing the contents of a register

You can view the contents of a register from the Registers pane, the Monitors pane if you have added the register there, or a Storage monitor pane if you have added the register there.

To view the contents of a register in the Registers pane:

  1. Expand the thread for which you want to view the registers.
  2. Expand the register category that contains the register you want to view.
  3. If necessary, use the scroll bars or PageUp and PageDown keys to scroll the pane until the register is visible.

To view the contents of a register you have already added to the Monitors pane:

  1. If necessary, use the scroll bars or PageUp and PageDown keys to scroll the Monitors pane until the register is visible.
  2. If necessary, change the representation of the register: right-click on the register and select a representation from the Monitor Representation menu.

To view the contents of a register you have already added to a Storage pane:

  1. If necessary, use the scroll bars or PageUp and PageDown keys to scroll the Storage pane until the register is visible.
  2. If necessary, change the representation of the register: right-click on the register and select a representation from the Monitor Representation menu.

Related Tasks
Creating a new storage monitor for an expression or register
Adding a register to the Expressions monitor

ese kH$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbcvuvar.htmm$ Viewing the contents of a variable

Viewing the contents of a variable

You can view the contents of a variable in the Locals pane or the Monitors pane, if you have added the variable there.

To view the contents of a variable in the Locals pane:

  1. Expand the thread in the Locals pane where the local variable you want to view appears.
  2. If necessary, use the scroll bars or PageUp and PageDown keys to scroll the pane until the variable is visible.
  3. If your variable is a class, struct or array, it can be expanded to show its individual elements.
  4. If necessary, change the representation of the variable: right-click on the variable and select a representation from the Monitor Representation menu.

To view the contents of a variable you have already added to the Monitors pane:

  1. Use the scroll bars or PageUp and PageDown keys to scroll the pane until the variable is visible.
  2. If your variable is a class, struct or array, it can be expanded to show its individual elements.
  3. If necessary, change the representation of the variable: right-click on the variable and select a representation from the Monitor Representation menu.

If a variable is not in scope, a message displays in the Monitors pane instead of a value.

You can also view the contents of variables in the Source pane with hover help. To enable hover help, see the related task below.

Related Tasks
Enabling hover help for variables
Adding a variable to the Monitors pane
Viewing a location in storage

o k$}:7-:#}./usr/vac/html/zh_CN/doc/debugger/tasks/tbcvwbp.htmm$ Viewing set breakpoints

Viewing set breakpoints

A list of breakpoints you have set is kept in the Breakpoints pane for the process you are debugging. This list is originally collapsed and can be expanded to show your installed breakpoints. The list of breakpoints is divided into the types of breakpoints you may have set (line, function, method, address, load occurence, and storage change breakpoints). Expanding each type of breakpoint will provide you with a list of installed breakpoints for that type.

To view the list of installed breakpoints:

  1. Click on the Breakpoints tab for the process you are debugging.
  2. Expand or collapse the list of breakpoints to display the breakpoints you want to see.

To view the properties of a breakpoint, right-click on the desired breakpoint and select Breakpoint Properties from the pop-up menu.

ngrelc.gif (533 bytes)
Breakpoints

ngrelt.gif (466 bytes)
Setting multiple breakpoints
Modifying breakpoint properties
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

_pm kF9$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbwatloc.htmm$ Attaching to a local running process (AIX and Windows NT Only)

Attaching to a local running process

You can attach the debugger to a running process either by using the Process List dialog or from a command line by using the -a option of the idebug command. See the related topic below on when to attach to a running process.

To attach the debugger to running process with the Process List dialog:

  1. Select File > Attach Process to invoke the Process List dialog.
  2. Select the process you want to attach from the Select Process list.
  3. If the Process Path field is enabled, enter the full path name to the executable associated with the process you want to attach.
  4. Click Attach.

To attach the debugger to a running process from a command line, enter the following command:

ngaix.gif (1051 bytes)idebug -a<process_id>

where <process_id> is a valid process id on your system.

Important: Do not attach to operating system processes or to the debugger's own process. Attaching to such processes can cause unpredictable results.

If you are currently debugging a process, that process is terminated when the new process is attached. When you exit the debugger, any attached process is also terminated.

You cannot restart a program that you have attached to.

ngrelc.gif (533 bytes)
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)When to attach

ngrelt.gif (466 bytes)
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Attaching to a remote running process

ngrelr.gif (548 bytes)
idebug command

ni lP$<:7-:#% ./usr/vac/html/zh_CN/doc/debugger/tasks/tbwatrmt.htmm$    eist"<>acghlmnor ./=bdfpu1wy(),035IPx&-69;AFT_q4:CDLNOSWXYkv#2ER8[]'KP2]K1C8ҁc-.:όn-NL :g&HVp XRI҇$bq\k$L p8t (q. RMwQH\o u<- >192Š@x@0[BQgΞRġI%jJW )@ !Іj kjh󧔀$+\(0 -N-y@xjVI&:0$&ߓaH n ma1jD٨~v"Cl$08O,^#5 8J;)CPl)Mm&-q!j:ߥ"-q!o  `R83\RҐ$5 Nllrsg(C [qou[ΜY/q3w$+8!$8ÌǯulwW2=_:refy[: ͨzuO/u0=-o|͜(Aq3\|뫧 ZIy(Ӌʳ(ڒqp9CB p*Ξ>g.!^QQ.ձe|cqo:refNP2NP>]{cYmOόn-NL(%^mCwWY24I'+0&OP~ڀuy%^m@/{̢o\뫧s[Xqp9]7Yqp9@Ҟ\Wr_Ձ-#} U5F{LP~ڀuwɋy*]\,ʟLղόn- OoNloncI9Z>@u}uq ɕ{Z&_joP|~=-oBSӛ9EpQ3nQI9ZmK7pΔS]^u m|P#S,ۣ>qp9@Ҟ\P۔|\$\Wdt'?(qҞ(7ΔS!928y[KC_j_lsg(@cNlP~ڀ}3~NL.GK^l-POoY'6rT8!$8ߥ~sg(B+3/\sg(\ۧ=Ee usO{x_]C#L?V[2L^뫝928.;]{cI/7}}͜wV$-Q %I2zqr[̢kje|cqo:refsg(uJ\LNWaL/1Kkڀ_\뫙EQmƹqoWN.* 0$r%.&o#LEutr!=I8#[^F8#{jڙ$8ߥ&?]]b^m@/v͓!WJ\L\8~M -ūfR"؉ xH<{X*(k Bʳ(8 Y%tA g HDOJ?Ah@OA `Jaӓ+0!fēI/2I8Ì):%tA bI{ϮD \+}f:7Ρ-yӋ?ANLn$r:ٜɕ(uy%^m@NP2NRsg(A:S@D9E4e{c߂jɕY?c(ژ3Tyӓ+0 [qo|=NLDZgstfםa!$dx:>s(ۋzӓ+0/뗼ɕ>q^ќS?]^4(qYuluGQ߮e{[S 눾ձg:ref{ηq^ф$8Ì2:\96k/xܰ>VQdBI9C89I7R XL[:{mHgOa xHpho,^#5 HViHI.jdl)Mm&-]5oґHmD qVf Gu[] Hj~M -Ţ$6G[E$6"C@X Gfk@pwURI_tҐAQeK ]{cJԒNP2NRn 6&Ο6G[E xH r`R83\RhkФ52n 6&HmHWb$6"C`R83\RҐ$5 M&AbWfR"Wf!_,^#5 8J;)CPtiH/_& [qouɋżɕVrqrpoɰA7t5oґΟ2f yb)U)CQViHI.jdtiH gF2fQm!*̢odĒ$qpoɰA7v"CluJDZ!o '/kY%mv!Rn 6&5oґ7 b)U)QViH%}ӣJA:4 kv L- Vrqѥ Y(oEv,>2e~M n ma1m,٨fT@bVI%jd8e m k$:7-:#./usr/vac/html/zh_CN/doc/debugger/tasks/tbwbpdef.htmm $ Setting a deferred breakpoint

Setting a deferred breakpoint

A deferred breakpoint is a breakpoint set on a DLL or executable that is not currently loaded. You can defer the following types of breakpoints:

  • line breakpoints
  • function breakpoints
  • method breakpoints

To set a deferred breakpoint, click on Defer breakpoint check box when setting your line breakpoint, your function, or your method breakpoint. Set any optional parameters that you want for the breakpoint.

ngrelc.gif (533 bytes)
Breakpoints

Related Tasks
Setting multiple breakpoints
Modifying breakpoint properties
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

ڙ$ kp$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbwbpmdb.htmm$ Modifying breakpoint properties

Modifying breakpoint properties

You can change the following properties of a breakpoint:

  • Which threads the breakpoint applies to.
  • How often the debugger should skip the breakpoint (the frequency).
  • Whether to stop on the breakpoint only when a given expression is true. Expressions can only be applied to line, function, method, procedure, or address breakpoints.
  • Whether to defer the breakpoint. Only line, function, or method breakpoints can be deferred.

You can also change the Required parameters fields for a breakpoint. Changing these fields results in the existing breakpoint being deleted and a new breakpoint being set.

To change a breakpoint's properties:

  1. Click on the Breakpoints tab to bring the Breakpoints pane to the foreground.
  2. In the Breakpoints pane, expand the list of breakpoints until you see the breakpoint you want to modify.
  3. Right-click on the breakpoint you want to modify. This brings forth a pop-up menu.
  4. Select Modify Breakpoint from the pop-up menu. A breakpoint dialog corresponding to the breakpoint type appears displaying the current settings for the breakpoint.
  5. Change the breakpoint's properties in the Breakpoint dialog.

[Related Concepts]
Breakpoints

Related Tasks
Setting multiple breakpoints
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

cJ k$$:7-:#./usr/vac/html/zh_CN/doc/debugger/tasks/tbwchgreg.htmm$ Changing the contents of a register

Changing the contents of a register

To change the contents of a register in the Registers pane or the Monitors pane:

  1. In the Registers pane or the Monitors pane, expand the entry where the register whose value you want to change is.
  2. Scroll down to the register you want to change and do one of the following:

    • Double-click on the register.
    • Select Edit from the pop-up menu.
  3. Enter a value that is valid for the current representation of that register. The debugger checks for a valid value. Depending on the language and platform, you may be able to change literal strings.
  4. Press Enter to submit the change.

ngrelt.gif (466 bytes)
Viewing the contents of a register
Adding a register to the Expressions monitor

fy Br kꔥ$:7-:#./usr/vac/html/zh_CN/doc/debugger/tasks/tbwchgstr.htmm$ Changing the contents of a storage location

Changing the contents of a storage location

To change the contents of a storage location in a Storage monitor:

  1. Select the Storage monitor pane where you want to make the change.
  2. Scroll down to the storage location you want to change.
  3. Double-click on the value you want to change.
  4. Enter a valid value for that storage location. The debugger checks for a valid value.
    ngclang.gif (151 bytes)ngcpp.gif (202 bytes)For example, if you want to change the contents of storage, and the Content style setting for a particular Storage monitor is 32-bit integer, the value you enter must be a valid 32-bit integer, not a floating-point value or other value.
/html k$q:7-:#q./usr/vac/html/zh_CN/doc/debugger/tasks/tbwchgvar.htmm$ Changing the contents of a variable

Changing the contents of a variable

To change the contents of a variable in a Locals pane or Monitors pane:

  1. Expand the monitor containing the variable whose value you want to modify.
  2. If your variable is a class, struct or array, expand it to show its individual elements.
  3. Scroll down to the variable you want to change and do one of the following:

    • Double-click on the variable or variable element.
    • Right-click on the variable and select Edit from the pop-up menu.
  4. Enter a value that is valid for the current representation of that variable or variable element. The debugger checks for a valid value.
    ngclang.gif (151 bytes)ngcpp.gif (202 bytes)For example, if you want to change the contents of a character string and the current representation is a text string, you must enter a new string in double quotes, and the length of the string must not exceed the declared array size.
  5. Press Enter to submit the change.

ngrelt.gif (466 bytes)
Adding a variable to the Expressions monitor

set br k$O:7-:#O./usr/vac/html/zh_CN/doc/debugger/tasks/tbwchstr.htmm$ Changing the representation of storage contents

Changing the representation of storage contents

For each storage pane you have, you can change the representation of the storage and the number of columns shown in each pane.

These settings affect only the Storage pane or Storage monitor pane you are viewing, so you can have multiple Storage monitor panes with different settings.

Select the representation of storage for the Storage pane you are viewing from the Content style pulldown menu.

Select the number of columns shown in a Storage pane from the Columns Per Line pulldown menu.

 k$:7-:#./usr/vac/html/zh_CN/doc/debugger/tasks/tbwcmpdb.htmm$ Compiling a program for debugging

Compiling a program for debugging

In order to debug your program at the source code level, you need to compile your program with certain compiler options that instruct the compiler to generate symbolic information in the object file. See your compiler reference documentation on how to compile your program with debug information.

Related Tasks
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Optimized code debugging
Writing a program for debugging

es)"  kꐘ$:7-:#./usr/vac/html/zh_CN/doc/debugger/tasks/tbwfncbp.htmm$ Setting a function breakpoint

Setting a function breakpoint

You can set function breakpoints from the Modules pane, the Source menu and the Breakpoints menu.

To set a function breakpoint from the Modules pane:

  1. Expand the list in the Modules pane until you see the function you want to set an function breakpoint on.
  2. Right-click on that function and select Set Function breakpoint from the pop-up menu.

To set a function breakpoint from the Source menu:

  1. Select Source > Set Function Breakpoint from the menu bar.
  2. Enter the name of the function you want to debug in the Function entry field in the Function Breakpoint dialog. If this function is loaded, you can select it from the pulldown list in the Function entry field.
  3. If the executable or DLL containing the function you want to debug is not currently loaded, click on the Defer breakpoint check box.
  4. Set any optional parameters that you want for the breakpoint.
  5. Click OK to set the breakpoint and dismiss the Function Breakpoint dialog. Alternatively, use the Set button to set the breakpoint without dismissing the Function Breakpoint dialog.

To set a function breakpoint from the Breakpoints menu:

  1. Select Breakpoints > Set Function from the menu bar.
  2. Enter the name of the executable you want to debug in the Executable entry field in the Function Breakpoint dialog. If this executable to be debugged is loaded, you can select it from the pulldown list in the Executable entry field.
  3. Choose or enter the object, class or source file you want to debug from the Source pulldown list.
  4. Enter the name of the function you want to debug in the Function entry field in the Function Breakpoint dialog. If this function is loaded, you can select it from the pulldown list in the Function entry field.
  5. If the module or routine you entered in the Executable entry field is not currently loaded, click on the Defer breakpoint check box.
  6. Set any optional parameters that you want for the breakpoint.
  7. Click OK to set the breakpoint and dismiss the Function Breakpoint dialog. Alternatively, use the Set button to set the breakpoint without dismissing the Function Breakpoint dialog.

ngrelc.gif (533 bytes)
Breakpoints

Related Tasks
Setting multiple breakpoints
Modifying breakpoint properties
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

line. Halting execution of a program (AIX and Windows only)

Halting execution of a program

Halting a program stops the execution of the program without terminating the execution of the program. It allows you to pause and examine the program's internal state and then continue execution without restarting the program.

To halt execution of a program that is currently running in the debugger, do one of the following:

  • Click on nbhalt.gif (126 bytes).
  • Select Debug > Halt from the menu bar.

You may find that execution halts in a function other than the one you are debugging (for example, a system library routine). To run to the end of that routine and stop in your own code, do one of the following:

  • Issue a Step Return command.
  • If the previous technique results in the debugger displaying the message "Cannot determine return address", issue the Step Debug command until execution returns to your code
  • If you know what line in your program will be the next to execute after the current function returns, go to the source pane containing that line, set a breakpoint on it, and issue the Run command.

ngrelc.gif (533 bytes)
Step commands

Related Tasks
Running a program
Stepping through a program
Setting a line breakpoint

ld in  k$$@:7-:#@./usr/vac/html/zh_CN/doc/debugger/tasks/tbwrestr.htmm$ Restarting a program (AIX and Windows only)

Restarting a program

To start debugging your program from the beginning if your program is stopped, click on nbrestrt.gif (179 bytes) in the toolbar or select Debug > Restart from the menu bar.

To start debugging your program again from the beginning, if your program is not stopped:

  1. Issue a Halt command by clicking on nbhalt.gif (126 bytes) in the toolbar or selecting Debug > Halt from the menu bar, if the program is currently executing within the debugger.
  2. Set a breakpoint at the location you want to run to, if it is not the beginning of your program and you have not already set a breakpoint there.
  3. Click on nbrestrt.gif (179 bytes) in the toolbar or select Debug > Restart from the menu bar.

If the previous run of your program produced side effects such as the creation of an output file and the program logic will be changed by the existence of such files from a previous debug session, you may want to erase these files before restarting.

Related Tasks
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Halting execution of a program
Running a program

 k$ :¿7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbwsetad.htmm$ Setting an address breakpoint (AIX and Windows)

Setting an address breakpoint

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Restriction: This is supported for AIX and Windows only.

You can set an address breakpoint from the Source pane, the Source menu, and from the Breakpoints menu.

To set an address breakpoint in the Source pane:

  1. Ensure the Source pane is set to a disassembly or mixed view. To set the Source pane to a disassembly view, select Source > Disassembly View. To set the Source pane to a mixed view, select Source > Mixed View.
  2. Make sure the appropriate line is visible in the pane by using the scroll bar or cursor keys to locate the line.
  3. Double-click on the line number in the prefix area of the line.

To set an address breakpoint from the Source menu:

  1. Select Source > Set Address Breakpoint from the menu bar.
  2. Enter either the address where you want to set the breakpoint or an expression that evaluates to an address. The address must be entered in hexadecimal notation.
  3. Set any optional parameters that you want for the breakpoint.
  4. Click OK to set the breakpoint and dismiss the Address Breakpoint dialog. Alternatively, use the Set button to set the breakpoint without dismissing the Address Breakpoint dialog.

To set an address breakpoint from the Breakpoints menu:

  1. Select Breakpoints > Set Address from the menu bar.
  2. Enter either the address where you want to set the breakpoint or an expression that evaluates to an address. The address must be entered in hexadecimal notation.
  3. Set any optional parameters that you want for the breakpoint.
  4. Click OK to set the breakpoint and dismiss the Address Breakpoint dialog. Alternatively, use the Set button to set the breakpoint without dismissing the Address Breakpoint dialog.

[Related Concepts]
Breakpoints

Related Tasks
Setting multiple breakpoints
Modifying breakpoint properties
Enabling and disabling breakpoints
Deleting a breakpoint
Viewing set breakpoints

d Ta k܏$,:¿7-:#,./usr/vac/html/zh_CN/doc/debugger/tasks/tbwskpjm.htmm$ Skipping over sections of a program

Skipping over sections of a program

You can skip over sections of code to avoid executing certain statements or to move to a position that certain statements can be executed again.

To skip over a section of code:

  1. Ensure the Source pane is set to source view. To set the Source pane to source view, select Source > Source View from the menu bar.
  2. Make sure the line to jump to is visible in the Source pane by using the scroll bar or cursor keys to locate the line.
  3. Jump to the line by doing one of the following:

    • Right-click on the line and select Jump To Location from the pop-up menu.
    • Click on the line to select it, then select Debug > Jump To Location from the menu bar.

Using Jump to Location can cause unpredictable results if you jump outside the current function, jump over code that has side-effects (for example, calls to function whose results are assigned to variables, or function that change the contents of variables passed by reference), or jump into the middle of a block such as a for loop.

ngrelt.gif (466 bytes)
Running a program

 k$ :¿7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbwstenv.htmm$ Setting environment variables for the debugger

Setting environment variables for the debugger

The debugger user interface running on the workstation uses certain environment variables to determine the dominant language, the host files where the source files are found, and so on.

You may want to set environment variables for the debug engine and Distributed Debugger. You can set the environment variables based on your operating system. For instructions on setting environment variables refer to your operating system manuals.

ngrelr.gif (548 bytes)
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)DER_DBG_CASESENSITIVE
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)DER_DBG_LOCAL_PATH
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)DER_DBG_NUMBEROFELEMENTS
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)DER_DBG_OVERRIDE
DER_DBG_PATH
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)DER_DBG_TAB
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)DER_DBG_TABGRID
INCLUDE
ngaix.gif (1051 bytes) ngos2.gif (402 bytes) LIBPATH
PATH

cepts] k$ :¿7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbwstloc.htmm$ Starting the debugger for local debugging (AIX and Windows only)

Starting the debugger for local debugging

To start debugging a program locally from the command line, issue the idebug command with local debug parameters at a command line prompt.

If you issue the idebug command without any options, the debugger will prompt you for the required information in the Load Program dialog.

Once the debugger user interface is running, you can debug other programs using the same debugger session by selecting File > Load Program from the main menubar.

ngrelr.gif (548 bytes)
idebug command

ytes kD$ :¿7-:# ./usr/vac/html/zh_CN/doc/debugger/tasks/tbwstrmt.htmm$ Starting the debugger for remote debugging (AIX and Windows only)

Starting the debugger for remote debugging

The debugger allows you to run the debugger user interface and the debug engine on separate machines. These separate machines can be running different operating systems. When you start the debugger for remote debugging, you first start a debug engine daemon. This daemon waits for a connection from the debugger user interface. Once a connection is established, you can begin to debug your program.

To start debugging a remote program from the command line:

  1. On the remote system, start the debug engine daemon with the irmtdbgc command at a command line prompt. If you issue this command without any parameters, you will be prompted for required information in the Load Program dialog on the local system. For information on irmtdbgc command parameters, see the related topic below.
  2. On the local system, start the debugger user interface with the idebug command using the remote debug parameters at a command line prompt. You must specify the -qhost parameter and the -qlang parameter for the language you are debugging. For information on the idebug command parameters, see the related topic below.

Tip: The debug engine is terminated if the debugger cannot load the program you want to debug. Also, the debug engine is terminated when the program you are debugging runs to completion or is terminated manually. To prevent the debug engine from being terminated in these situations, use the -qsession=multi option of the irmtdbgc command.

ngrelr.gif (548 bytes)
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)irmtdbgc command
idebug command

 kꬼ$j:¿7-:#j./usr/vac/html/zh_CN/doc/debugger/tasks/tbwwrtdb.htmm$ Writing a program for debugging

Writing a program for debugging

You can make your programs easier to debug by following these simple guidelines:

  • Do not hand-tune your source code for performance until you have fully debugged and tested the untuned version. Hand-tuning may make the logic of your code harder to understand.
  • Where possible, do not put multiple statements on a single line, because some debugger features operate on a line basis. For example, you cannot step over or set line breakpoints on more than one statement on the same line.
  • Assign intermediate expression values to temporary variables to make it easier to verify intermediate results.

To debug your programs at the level of source code statements, you must specify the compiler options that generate debug information. In some cases you must specify options that enable the debugger to work properly with your code.

topic  l^$s:7-:# ./usr/vac/html/zh_CN/doc/debugger/ui/ubdbabbp.htmtmm$  t "/<>no=adegilprsbcmv.0hu&15;Ffqy()3kwx!#+,26AEIW|$-49:CDHNPTX[]j _&4._L.F= -DTpXYՌRw+ )ֶ'tHQjZQv^b\/˲c-h@P(MV,XXXXXZ+ 7W8X gZY.f֌-KO)<VW8ڢ)^k7Hc!|~{]Cp'і{ΘVh̰p_EՠH#N.L47 (*A^EA\/<Rh=L+AQZefXzdk_EՠH#N.L47 m`U/9ByD#h : p&&W/9NVr'C3x <6p(mSPM aTiJK@OD|jrF#<M BU9`e4'΃J Dy$ CcP J+9tH"pФB#H608>H;09$"h b #n3jf7' `DPM,APVk7;3j +jc˫0m뵆UJ k Aj^r/,LZn\M(2Kmں/,LZn\N`r4"@N &TȔ@p)TiQ" $Im_.êZ ˮV*s 6,a2yyڿ4m3irpXVAuax V"j 9Wmp7.R'B} rH>WW8B3vHXP:mWWں/uby]^ykڿ4m3irnd"U7u{_m_Y´ܹK(NW)D`hxHġ B,HcÄiJ:)m_.êZ ˮV*s 6,a2yyڿ4m3ir aZX,/gᛤگk7Vr,LZn\ϡPéN HCȄڀ6 CqF#<<&::4jA@zu:FRш$L;}u),pJ1 Cp"#JUXC#oں/o9o9Wmp7.R[c,+@/f ܆Voj{WWm_Y´ܹK< 'ȔDBv##((-M Rm "PBX|NLp!@g@GIb-6)ʏB(!,PP> <1$~1ƉzD0L46}4'Ib-FȔ( !IxՋ/Wah-Naqek @9m0VԼ_m_Y´ܹKw8fä-Wں/,LZn\)"'CGDН%$~1Io HƓe#䂈 "PBXJ %#SB|H5I ΄x@,1 ~9j뷜yK68V){=  Uw8fyK68V)xH2AD(!,&GhN?$KSp|}:FR>H( 8IS@g@QGH gB`8X ΄;D@AGPPy$ Q|j"! @,1 ,ZZ31_ju_]i+M˔sn[Uw8fyK68V)xH2AD(!,PP} )$~1 maH @@ Dt4<DRD$3033oں/]vm_yu__i+M˔X :5R{])4DpUjK68V)tBt(PP}|NUXH>VpJtM:UЇP"#H0CiJEԩC ^4H?Å@@:FArD4'ҕ>4E$BGW/9ػy0 3^r:T"p(8  ax$ P`@$Wb]/9w8fU0{]q -i)H AXФ"Hun4d>|b8> D[+rA%D@X7oD@4a(< )6r]vںvؼyW]_m_Y´ܹKo(arԽ3q\-V ZyK68V){jc˫0m뵆UJ k Aj^rr,LZn\3r!Uw8fyڿ4m3irF'F #(g"1 R#qs3x <6p(mQ]^j뷜kK68V){= 46p]^~ifg r.N8:FQ E59!:TbqiC"<&ߵu{_rr,LZn\3q4b{Uw8fyڿ4m3irH ؚ1:hl6r]vںvؼyW]jbeUEEjc&\ik01F42y TVh̰pE̘p.*AZruvVԽ+TW rEwt k`$:7-:#./usr/vac/html/zh_CN/doc/debugger/ui/ubdbaval.htmtmm $ õĺԻ

õĺԻ

ʹÿõĺԻѡҪĺ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ѡһ ӿõĺбѡһ
ť
ȷ ѡĿļԴԴ ڴ򿪣ҵĺɼͷ (nbexept.gif (78 bytes))ǰ׺ʾ ú Իرա
ȡ ر úԻûҵκοõĺ¡
ʾ塣

ngcpp.gif (202 bytes) ûָһ C ҵҵֹһûָķװ룬һװԻг÷װ롣Ӹбѡװ롣

1 kxr$; :7-:#; ./usr/vac/html/zh_CN/doc/debugger/ui/ubdbchfl.htmtmm$ ޸ıļԻ

޸ıļԻ

ʹ޸ıļԻʾ Դ еһͬԴļдʱԳΪûλ˲ȷԴļ޸ıļ ԻָȷԴļĿ¼

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

滻ļ ûҪԴļ·ơ
ť
ȷ װûָԴļҹر ııļ Ի
Ӧ װûָԴļ޸ıļʹԻ򱣳ִ򿪡
һļѡ񴰿ڣλҪԴļ
ȡ ر ޸ıļԻ ıԴеԴļ
ʾ塣

ע: ޸ıļԻ򲢲һµԴڻıڵԵĿִгûļûȻöϵ㣬вҿԳƶǰСȻԳΪ뵱ǰĿļصģ ǵǰԴļˣΪΪԴļͬ

ûϣͬijеһͬĿļѡ Դ>Դѡļ > װʼһ

H0 kX $:7-:#./usr/vac/html/zh_CN/doc/debugger/ui/ubdbchsr.htmtmm$ ѡԴļԻ

ѡԴļԻ

ƣ  ngaix.gif (1051 bytes)ngwin.gif (1069 bytes) öԻ AIX Windows

ʹѡԴļԻΪûѡȷԴļһԴļڲͬλãָöԻ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ť
ȷ ѡԴļرѡԴļԻ
ȡ رѡԴļԻ򣬲µԴļ
ʾ塣
ļԻ

ļԻ

ƣ ngjava.gif (225 bytes) ʹøôѡһ Java װԳ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ѡ CLASSPATH ϲ˰ CLASSPATH Ԥõ· jar zip ļѡбӸбѡûϣװԳ Jar zip ļ·

ѡһڸбеĿ¼jar zip ļ £:

  • Ŀ¼ ť Ŀ¼ѡ񴰿еĿؼѰҺѡĿ¼
  • jar/zip ť ļѡ񴰿еĿؼѰҺѡļ
չĿ¼jar/zipѡ CLASSPATH ѡ󣬸ʾĿ¼ࡣӸбѡûϣװԳ

ֻĿ¼ʾڸֶΣ˫ҪװԳһչ ҪװõԳ౻ѡȡ

ѡ ʾѡװԳࡣ
ť
Ŀ¼ һĿ¼ԱĿ¼
jar/zip ļ һļѡ񴰿ڣҪjar/zipļ
ȷ ѡൽװ Ի
ȡ ȡļرմڡѡ
ʾϢ
 ko$P:7-:#P./usr/vac/html/zh_CN/doc/debugger/ui/ubdbdaem.htmtmm$ IBM ֲʽԳػ̶Ի

IBM ֲʽԳػ̶Ի

ʹ IBM ֲʽԳػԻ鿴ԳûڼĶ˿ں롣

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ť
ֹͣ ֹԳûػ̡
ʾϢ
 ke$ :7-:# ./usr/vac/html/zh_CN/doc/debugger/ui/ubdbexoc.htmtmm$ Ӧó쳣Ի

Ӧó쳣Ի

Ӧó쳣ԻڳִУ쳣ʱ򿪣쳣 쳣ѡԻָ֮һ 쳣кԴм

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ť
ȷ رӦó쳣Ի쳣Դбּ
ʾϢ

ڳ쳣Ӧó쳣Ի򱻹ر֮жǿõģ

öͨstep exception buttonڲ˵ѡ> 쳣 F6 ѡ

ѡòʹõԳٵһע쳣(ɲϵͳ) ִֹͣ쳣ĵһִС ûӦóûһע򣬸"δ" ԻֹӦó

òͨеrun exception buttonڲ˵ѡ> 쳣ʵ֡

ѡòʹõԳбעᴦ쳣쳣

/쳣 òͨеexamine/retry exeception buttonڲ˵ѡ> /쳣

ѡ˲Ե쳣ԭ򣬻Ե쳣ijִ䡣Ӵ俪ʼִв

W] k8\$:7-:#./usr/vac/html/zh_CN/doc/debugger/ui/ubdbfind.htmtmm$ ҶԻ

ҶԻ

ʹԻλеıóʾԴС ҵƥı

ؼͿؼ¡ֱʾб, ؼֱʾΪ

Ҫı ڸûҪλı
ִСд ѡУֻıַСдϵıѡС
ť
ȷ ָıַҵ ϵԴ бûҵһϢϢ
ȡ ȡҲرԻ
ʾ塣
 k$$%:7-:#%./usr/vac/html/zh_CN/doc/debugger/ui/ubdbfnbp.htmtmm$ ϵԻ

ϵԻ

ʹúϵԻµĻضѴڵĶϵ㣬һԪϵʱֹС ûָʲôִгԴļ趨ϵ㡣

ûָĺװ C++ (ûֲͬͬĺ) һװԻʾ˸úװбӸбѡȡǸ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ʹøеĿؼڱԵij趨ϵ㡣
ִг(ѡ) ӸѡбеijУѡȡʹöϵĿִг
Դ(ѡ) Ӹѡбѡȡ趨ϵԭļ
Ӹѡбѡȡ趨ϵĺԪ
ӳϵ ѡУûһǰûװijģ趨һԪϵ

ûһ C++ ӳٵĺϵ㣬Ҹúװģ DLL ʱԳеװ뺯öϵ㡣 ûӳٶϵ DLL װʱöϵ״̬ӳתΪġ DLL ͷʱöϵ״̬лָΪӳ١

ûһȷԴ룬ļԪ DLL װʱܼöϵ㣬Ҹöϵ㽫ӳ״̬

ע⣺ ûһǰװ DLL öϵ㣬 ǿھһЩǰװ DLL һЩ̬װߵijöϵ㡣

Ϣ() ѡУûϣΪеϢijװԴ롣
Сдĸ ѡУֶǴСдĸеġ
ѡ ϵʱṩӿؼִֹͣС
߳ ѡбûѡʲô߳趨ϵ㡣бѡ߳ ID, û趨ϵ̡߳б̵ֶֻ֧߳ijǿõġ
Ƶ ʹƵʿؼߵʲôʱֹͣڻһϵ㡣 ÿһϵĴߵһϵʱֹֹͣͣƵԼһϵҲֹͣ
ûϣһֹͣĶϵ㡣磬ûϣһϵ㣬"6"
ûϣһֹͣĶϵ㣬 磺ûϣ 20 һϵʱԣ"20"ֹͣڶϵϣ"Infinity".
ÿ ûϣڸöϵֹͣƵʡ磺ûϣÿĴֹͣһΣ"4"
ʽ ڸһʽֻڸʱִвŻڶϵֹͣ

磺ûڵһ C++ 򣬿룺

(i==1) || (j==k) && (k!=5)[/$WHEN]

ע:뺯ϵʽеıΪ̬ȫֱ Ҹþ̬ȫֱǺʱú֪ġ ʽ԰ֲԶ

ť
ȷ û趨ĺϵ㣬Ȼ󣬹رϵԻ
û趨ĺϵ㣬 ϵԻ򣬽ûɸĶϵ㡣
ȱʡ ѡȱʡ趨棬ûһ¶ϵá
ȡ ûµĶϵرϵԻ
ʾ塣
DLL k$$:7-:#./usr/vac/html/zh_CN/doc/debugger/ui/ubdbfork.htmtmm$ ɶԻ

ɶԻ

ƣ  ngaix.gif (1051 bytes)ng390.gif (394 bytes) öԻ AIX OS/390

ʹøöԻ fork() ʱѡǸ̡

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ť
ߵԳԸ̡ӽ̽е
ӽ ߵӽ̡̽е
ʾϢ
 k$2 :7-:#2 ./usr/vac/html/zh_CN/doc/debugger/ui/ubdbfunc.htmtmm$ ҺԻ

ҺԻ

ʹòҺԻûijһʼλáֻе֪Ķļ, DLL, ſԱ ⡢DLLִļűڵԵij򣬵ûмأ򲻻ᱻ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

Ҫҵĺ Ҫҵĺ
ִСд ѡУֻıַСдϵĺƥġ
Ϣ ѡУֻڰϢļ
ť
ȷ ѡĿļԴ봰ڴ򿪣Һɼͷ(nbexept.gif (78 bytes))ǰ׺ʾرղҺԻ

ע: ڰĶļûпõĵϢֻеϢδѡУ Դ봰ڴһļķͼԴ봰ڵǰ׺ʾһͷ (nbexept.gif (78 bytes))ָʾʼ

ȡ ûҵκοú£رղҺԻ
ʾ塣

ҵͬƵĺúԻг˸Ƶк ӱѡҪĺ

 

 

ѡ k$:7-:#./usr/vac/html/zh_CN/doc/debugger/ui/ubdbhelp.htmtmm$ ѡƷԻ

ѡƷԻ

òƷԻ Distributed Debugger Դ롣

ؼͿؼ¡бʾ, ؼʾ

ť
ȷ Distributed Debugger Դ벢رѡƷԻ
Distributed Debugger IJƷָ״δѡƷԻʱá
ȡ رѡƷԻ򣬵ĵǰIJƷ
ʾ˰塣
 lꢲ$:7-:#./usr/vac/html/zh_CN/doc/debugger/ui/ubdbjvat.htmtmm$  "<>t /=adegilnopr0Jbchmsv.MV125;Ffw%&),3juy#(-48:_q!x}Ql0D ˲˛s٘8 7nYvi.ab"JoH/:6N*,Y0ni|KxPE#X H$ cX (P4ؾLN(wmu7#vnHdf' ι &!8޲ɀ?L]=d J/MnH{@d%F|ԅ/mM3 fy;pmB ٶ|'8<-h >5;ïcm`H)+X9M5ZUmj&9.YL]=R%I\yVͷ$Nr'LLIRW2Uc>ʪ;*ٶDrV.*JJtA\ŖUTVͷ$NpD [Mf' κڦOʶm}MD%b$+/*$#=)c#-dDS'UOmBj&=*z{h9.YL]=&!HLB>@I@f5@H BL R0|o.G,1 @^Ai#MnH{H-Rɭ/hf=1v/ZyhqLrm݂Q]^k1 `P14;snޅn(gH** L,1ہk-cqGa1@V4ӤbĒm6+'"rXxbbS9*ҹN̶)ckXxbbS9)5ZckYj*tQ!mG%EEg\aHቈUL:}XavR5bUL:1A5,GP>qPnS8T(r2rB>ճU0Fj,L@-;#X)}͘kr./5݂qy1/w&nsmе5[(^Q!je[(^YۚbͷB7x*+&T,&28*;2l҇G]'D}g]BX P3QյP<~THGڶu/9*4kqEDB>ճňjڥ:4KbTVMmTJ QPTHFճ= -9+ǥhD⊉Q%I\Q!`UX3U)TrB>ճiA<11 g\F-D2,M14;snޅn(ܑB, [(^YۚbͷB7x ҂ZQQ*$+?*$#.Cg%T(re!Nz' 14٘6m:X{l"l#M6f=ZqDzGyVͶϩdCg%;sL_4-bgnigriܚbۜp>-cqGa1(ƲkrE ڥtXdD_,ܑBہkŖ!>Tç`!aɖbq)NzQGɦǧ3 <eM^nSԓ|lz*$".`F܍wnk,lz8T(rTfR2Ra',NQ|vh墑dk1 `P] 5e߅SAn8/54mzƲkrE VN4Eje[(^YۚbͷB7x*+&T,&28*;2l҇G]' 6u ς%AZ*j<jbm[:#F'U(QDB}Mg]D,E@GV)"h;mTJ S+ճ= -9.Yۚbɦ/w&nsmе5[(^2ɭ/k,1ہk 0dG, %PF}UrB8` (PQAN mgniw&YewL_,1,M1;lYۚbɦ/w&nsmе5[(^( N?MnH{Ygniv6 XQC- :]*uzTZJtz{h U0aF+iN4H8rUhD,W:*M)ٖbTؠ'("XqUcJ螺(A4* 1A5EBbiNDlEBT,92uIP0!Jf=1zPF}tN(-=A`** *=j4߁7̶%;UHULL6edg*da `*S]Y0))ڪB`#J쪡pUTӬP'@E2s坹/Yܚbriv6 XQYt΅P,gYgniv6 XQYewG.Fێ? `!] 5e߅S(0 x49}Z˦t*J˦uv昿v6 XQHd=,N.e:.krE D%s%[6ߨ8^u,ܑB8bl44M1mzƲkrE PqRkrE ;sL_;snޅn(/D%b@SO&$PIRW2^Um\Y5"!qT%;sL_;L_ہk=adegilnoprcmsv0bu&.;fhq()35DFLky!#+,2EIx|$-146:CHNPSTW[]jw ] < i¢_pu~ @&Unaf[L7ҴYiZVֵ34$DS0N/klf,kJ qFKۯ` `& vlҴX*vϴ`8,f֋l4I!Q S]ss ̣֕ihB)@rTF-84>Pdd ? ԧL>!p| hPĒM$bэFtQ F LpsHGKŠ!xB٭+L=A $7 p '$†BDDRFAc ;†BDDRHqN@bu\g&iZcVm(.m*.myb8ʶkOjʹˊ]z2YH,1_Wii(iH!O4(PKCGJNJv8J#D)O2!RDt`J DHGK@F,YNzc$Dm 3DHGKQ/HTZƿ4m2^pqc +`Qpg_us4ع}.q}_55~ifemlJ~DS)2"KS đaD(F&R#'],gf$7i@6VHŇD|f0t  8Dtܥ L Rpb?%h ; "Nrg Ёq!?$I!Q\8$@`;yH ć{5 Itf\ξ4 ƁY%K "Ndd$* 93(q4J,sP " !KV l "PL<HTZ}XQ3Z/Z5Wm\V1͌JYc8K6.+mufrT0"I Np Rd2Cq =4Ƭ(Qal'n]yeiU#n]2ql'l֟5֟ia[`Y^}@.g_us_Wi_Yq[k['#78zc$R&1b3s%fCD FOI!Pnɇ:"O1iD@;R<x1L!)$*!C)p~xJL$wB6!B@KNR )0 9@e9aO 9@e9aK!*M$N RiK#N BPh`J8p2ejI':L<֟}_5k?4m2^pqc +` 2u611]lkOƯ,L׭j}vVvm]ve[6m/,]Vvi_i_Yq[k[839Dq}_55~ifeml #M$b DkO:3$*1s:3apbkOZZWm\V Q39|֟iH44#'^3MHT@rdILq4I!Qqt =adegilnoprsv0bcm.fhu()+5CIPxy,13:FJTkqwz#8AHLMOVX!-69W2Xx[`\l[Xbc.a8EWseU2ػUETIҪ*gmtJ2|D%5d'on3TLƕQU2*hYk 4AMpQU2zEw+2ׁ!&\,^%>S" asYHUS/0kHͤ!:־[k0غ3iv@Moll$~e[Z(ֻ߮.(i@P +a.׆eauf:mЃMoll$~e[Z(ֻ߮&4G(P`⠮لP欘dQºiz@K ۬<<*eRra:։FOȂ;Zѫ&<s0hK+sd[jxYH56&.;&pQU2 Β&+>P~(Aä{IAh9-EEQ2/ t䶘:+wε6j(* 6K\e!}qfik_JwS9emV~"0HSIݲ;8d_YҪv,G'yFHT`4pD`vRih5{OZ[jtΞBqTsҪԠɳyִ ;Z :r6'GFFO2xlN24)#¤+Ib8q*psJm*n *TqZy0kTB_+\\]\]7Ԉ*J46pwεliU?9emV~+aQ'2 " @Dԇ8nt4!E#/\ HAC&6V< :H4Z0 MHIa,e)E\xXgJ_!lO:Py3T\xXgJm*n *TqZy,VƂT+2/liU?9emV~s1" )56&e$V IǪ ĈA-Ф:33^`Z̸n f\rm֖piU?;c]ukøuRrAR\\] ERV>pwεm*lr˸N}+j79䱗>Pq?yFHs QF] r[jBt)Cf̡ȈI56HB+5T>Pq=s1):I" ^Tdd:K)óHVѠ I殢 \)CqG|zh?%s0jsb5!Z+F)'ƁsH pSyִJH hA0ńC@؞ڥ²!MPB1,ePrPsvZ$ARYԕlOx"یTz4P*RF%A ?-A@ ]Sj\ " 1)]$) \Ay%MM̂c! @?^<+*jl> D#4pD`4j@*2 AژZ5XdFZ6ƕSpiU?*:UOliU?piU? *v,Yd_HⰨR AR\}gcJ.m:8*G!`ɠ] ȂhPvWa.80ۭ-pBYśu)}*UOqZy+WekC˹}fh;ZpTYwiկN+jARYhU$56„BK LRI"6ƕSpiU?Ҫv,Yp 6K\e!}qfik_JpiU?9emV~;Zԩ5'+Z-L+X8pPq<5Z1%&(쌽QaPFq=sDQcJJpiU?9emV~;Z!#"SLt-HZӁS^@k8UOYwiկZSd)(hIgNKl#¡f~ڑaQ'P\ (!6W" )56&5TGI&6V55~ڥt\B!?ҪaB " Dm:H>5{ Z[jtpzUOz6a:փ`c8p #RVS\ J%D%`C@؞(󍱥TT46ӫ_o?}fjRr (D;Zq46ӫ_o?}0( hIei "jCe7: Ucy$ARR `ɡ+C@؞t$OIXF-P&$BˤrT2w"<,MT/ΐ6'?( <Ҫ<,MT6ƕS7SҪlr˸N}wεCdAR^,xD;Zq46ӫ_o?}R>R} 6Ilpe@@4XHiV(2&14Z$ARXUJNW8&bKei "abQGMM +"A<eMMHs XR%BAb9h5b vS R& 9`@yҪn *q\gJm*n *TqZy,VcjDT*K2/liU?9emV~GHD 4 TT-Jq* 3e]u_2㐾n/T;J6ӫ_o?}e~pxYw/øu8p<\rk8UOL+j*K-QN `\(D$R E)$4"56&$Ee##'0;)2)I$5T>Pq=s0+ Ύ$B< )Ht Oa"BxXxTؐLBRra\]7h[8qw"0MQJCKEu&ԈJI$TDvWa.80ۭ-pBYśu)}*TqZy+Wek;;ZթgkY6ƕS;c]uks֔!ȔySSabQ-NB3YǪ0qXT} I5" SL$SA IM0Z'NKlQcJJpiU?9emV~Zn;ZѢ3;ZpTqZy HTؐLB`(8"iZ ':)35uZl/sDgPPP2Dx6ƕS7S*:UOԈ%MMRЈ A|Ҫqfj0Iqyֵ5" SS`֌IlQ7Tz;Zp, gk^ّYHI6'E)$G8ޕS󀛚UO6ƕSpiU?*:UOliU?piU?83TliU?7S *lr˸N}0!!PYd_C&C pȾm*lr˸N}* 6K\e!}qfik_JpiU?9emV~Z_YpSCug 8UOYwiկFOR" $G!SSah˟;søu)IswεjɆO% װ¼ϵԻ

װ¼ϵԻ

ʹ װ¼ϵԻ򣬵һָ DLL װʱ趨һµĻضһڵĶϵֹС

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ʹøеĿؼڱԵij趨ϵ㡣
DLL ļ
ѡ ϵʱṩӿؼִֹͣС
߳ ѡбûѡʲô߳趨ϵ㡣бѡ߳ ID, û趨ϵ̡߳ б̵ֶֻ֧߳ijǿõġ
Ƶ ʹƵʿؼߵʲôʱֹͣڻ һϵ㡣 ÿһϵĴߵһϵʱֹֹͣͣƵԼһϵҲֹͣ
ûϣһֹͣĶϵ㡣磬ûϣһϵ㣬"6"
ûϣһֹͣĶϵ㣬 磺ûϣ 20 һϵʱԣ"20"ֹͣڶϵϣ"Infinity".
ÿ ûϣڸöϵֹͣƵʡ磺ûϣÿĴֹͣһΣ"4"
ť
ȷ û趨װ¼ϵ㣬Ȼ󣬹ر װ¼ϵԻ
û趨װʱϵ㣬װ¼ϵԻ ûɸĶϵ㡣
ȱʡ ѡȱʡ趨棬ûһ¶ϵá
һļѡ񴰿ڣλҪDLL
ȡ رװ¼ϵԻûµĶϵ㡣
ʾ塣
Y kꤓ$:7.:#./usr/vac/html/zh_CN/doc/debugger/ui/ubdbmnex.htmtmm$ ӱʽԻ

ӱʽԻ

ʹüӱʽԻӴӱʽһµĴ洢ӱʽָĴ洢

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

뱻ֵıʽ ϲӵıʽбӸñѡһʽмӡ

ѡȡһбûеֱ֣ڸʽ֡

ѡȡÿûϣüӴӱʽ
ѡȡÿûϣΪñʽһµĴ洢س
ť
ȷ Ӵӱʽ򴴽һµĴ洢ӳȻرռӱʽԻ
Ӵӱʽ򴴽µĴ洢ӳ򣬵ּӱʽԻ򿪷ţԱӸıʽ
ȡ καʽرռӱʽԻ
ʾ塣
20  k($:7.:#./usr/vac/html/zh_CN/doc/debugger/ui/ubdbndar.htmtmm$ /ṹ/࿪ʼ/Ի

/ṹ/࿪ʼ/Ի

ʹ/ṹ/࿪ʼ/Ի ıԪصijԪ( )ûڼӴڻ򱾵شչʱʾ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

Ԫص ûϣʾԪص
ʼԪ ûҪʾԪصԪصĿʼλá
ť
ȷ ޸Ԫصʾʽҹر/ṹ/࿪ʼԻ
ȡ ر/ṹ/࿪ʼ/Ի򣬲ıԪصʾʽ
 k[$d:7.:#d./usr/vac/html/zh_CN/doc/debugger/ui/ubdbndrp.htmtmm$ ӱʾԻ

ӱʾԻ

ʹüӱʾԻѡȡڱʾʽӻֲеıʾ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ѡ ʾѡ ѡڼӱʾԻѡȡıʽ֡ ˱ѡĿõıʾѡťбӸбѡȡıʾ
ť
ȷ ıѡıʾҹرռӱʾԻ
λ ûڼӱʾԻѡȡıΪִıʾ
ȡ ııʾرռӱʾԻ
ʾ塣
"> l6$ :7.:# ./usr/vac/html/zh_CN/doc/debugger/ui/ubdbprcs.htmtmm$  "/<>at=degilnoprscmv.0bfh15Pw3FIuy#%(),ACHTXx!-2689:DLRSUW]vY&&%} ouf "|Qvi]k5iUkJҴK򘑎d Q흴kL\U}-ҴM4 " {V$HHHHHJ٭+L hO3h_lղyLHf2NnyoyA ֕6R#Xy%U[ݒawd ȥڶm2XdSD!M UD!n*, [ g cUl"#vKi߻llEE-ճllEE8  q0Sk-lUl[VB٭Jny<D4xG[YCҴùDu4Čvc$`X` 8xm2Y4h)&d4;$eA.kJ3)\~ eF򘑛3!2LȔ*pa.FP2)#(EcbG榘h2S %29"H"_kf}iXm[mm?m]][@ b 0y6.q3l֟BLt̄P'Ď40XXx?9,F20mLe>H6! I:!0Ӓ$dA hJid"ptP$!0Y̒LJD8 K9 \6"( 1Z":_Yܲm&\]w>Q9)\$`dH4 :I9(LH-76n<+a+rӺYf[a[mʮO¶kOZ6/amqދ.yry/[5kriVqd䩔 $ A8x@icA9(?)L@LrQٌ $)dHӔHkD$JSK HH QM,h'74rSd<И䡕)DЇPRȜ@h%)#O8i/Z}4 mvYulq8o86>|o8_kfmn_M2jn;lhCeJ!DCbF6 #6>|h0 c2Țd !0l|( PEq3$ġT K0a /Z֟ofmn_M2jn;l]][c=μ-/lleĎeP kL]lgq}}4 mEyJ}D&)饐]$$&A  4IZF8hCJG% e#@χ 1Ҕ/*Y ?4%!1B) %K=h(% 3y"q`YdM0pPHPCrJ`9)M,9)z4HFf Ihٙ h78? 1Ҕ.3$ġSH,fI5"0 `fDR(rS 1ғQ,d"<И PJf D"Țaᰡw5ldY(|]le 1Ҕ/9,P S M4L'$.dJBb<0S0 Ƃ$s(8<rT0r pQ 4)hAVLm$aA0`ڑf4 PMA8i/Z}4 mvYul~0h0 ]r_kfmn_M2jn;lzi~&.*M;eFܪ4*l+a+p+lU[UZ٭?}4 mvYulpq2pl]lgq}ڶێ' " <$pK9id@ Pq[5֟6kOmn_M2jn;l]][R.󍱑i.q38iXm[mmX䣳'`R!U80h)&!MZald򘑎dc& Ƞb0ph%tƒ¨@yLH٭?_ofZkriVqg鲫lle kL]lgq}ڶێ$P!`HRpa.FP2,t1q2yLHf2Ow󍱞nyX,i_kf}iXm[mmk˫` N8o8y/[56/amRNp`H-8i{5ЛK_kf٭1}MZVyqEl"#qp*eWwoܨ&ۛd"-lw*Dn"#vKi߻l2&X [˼_Y1q73Zb,k@:7.:#u-./usr/vac/html/zh_CN/doc/debugger/ui/ubdbpref.htmtmm $  t "/<>r=adegilnopsvbcm0h&25;-.1Ffuz(),3:GIy#AUx!BEHPRSTwM*)!p, zXxCEYXiFme);4URt ():N`8 ,I|?,.u-k+b ():NmMqFo)0e~Nx>;#(uS,(d0IOƖ$^@J>y:Na$p?X!y(~X8\QFѰ$>&G"ҿ p` PRtHdiG42\` ԘTHFHĎG :?Җ〘h`: d#_$p?X!y(~X/gw-8\T#A$CqCE/$ "! m/R^[i|S)2꼪I[raH ~CE&0|) *8BqXLCņo o*Y\QUXitW,. .A'sO*,.uܮ.嶗IJ_O*,.uܮ c0H\ "9&DR?Tpx&4$4/HLtbB#h$U!yp"2($p?QyODR?Rxm)?RyUavqww-P𗽝ܶ\RyUavpi!0f % "9,|p(C'JG<<}M:Fthd!xP-{jsOmPMIR}WQi:nW6ˮ(uk3`@]qIR}WQi:nWXWSdML\"8\ !y( >S)1@l6| qI^UFX]뭹\D0p$")DR?Q@l6| !p` BFx `8 y$BԘf sd\R'sO*,.uܮ.^ qIUTeNە|?,!̄oE!4\agRq XM'alʫe:eUV]:2ˮ((KP}qI})?ʨ u+mBrX/gw-/mWUTeNەL^v3…#lp&Dp9 NX-{j8UTeNەܶ2嶗꼪I[r^v3#`:E(*:[i|.lwrK:D4S,r ? ɟ` ~ @Cőp"t}^ # VqIWqww-Hgw-/ewuU cDR"~^ʫOm!ɆM!vSf$D7{;m{+%89Mm/ 7_ I.l/KF aaPPu Hײ[i|HFhajSad٠J!@嶗c )qG)p)Hkm!B0wrK?E͓8ca`)QpZU\R]m/D7{;m{+`d\j!BG 8J.~^ʫOeY'OsOqI^UFX]뭹\]a\찮/mWUTeNە<0;GP\(:E(*l ah _dD6Br!(3O,b[i| &ܶcvXܶ HaܶcvXܶ @L2@{;m{2)?s8qI{nqIڠ+b\R'sO*,.uܮ.H/{,+U'}WQi:nW # HG $F2@>6dJ0 W_Ten&U[)^(,Y]qAF]:OqI^UFX]뭹\]m/~,wrKqI^UFX]뭹\JqpF F #I嶗ɯgw-)?:D4R&&~ FB3p!zBaKtY "8llp',pG%,, 8C4ܶ6F/x_d d#[i|>`xTHQI[i|t/HL;IcD0q XZ[i|CDŽ b[i|R\(ZqI{nqI})?ʨ u+mPY!E嶗꼪I[r7&") ^` 7 $')9`! Lƕ C 8߅+Ť#_.{m/ c0H) GN Tb@l68l#%H"08!(@KIF wrKqI^UFX]뭹\{mt}^[i|R c0I,o. +ww-0<\* $(_ `н,o€CBQ\RۜRsO2']m[i|3xّ-嶗꼪I[r4m/ /gw-)?Bñ$1"WB W^ڮ)?m)?TelRs8D:>HF ")0p( 'A,clp@J!1xLt2!R"Ƒm/ /gw-)?/HL;Ic2%7RtiI嶗Ad_f 0𐜖 H $Fq(TS)2;a\^ڮ)?ʨ u+p HdiK>@f!p?t(88 !y( `x%N QfYqEUaӨ^(,₌4u})?꼪I[r¸|) )=+¸\RyUavq8 AIy2~4xOGMHi8 Ten&U[)^(,Y]qAF]:OqI^UFX]뭹\]m/ J1MGl* _O2']m  d#2~4c¢t/@ jLj8Ώ$0%aFB0X¡p -(~MGş0did &@ a`1t/4 D\RۜRsO2']m[i|IdlnwrKqI^UFX]뭹\!zBcp!y(*( x9(сso%p" Rcܶѡ`C{;mhic0:0G&:Dp8\ Y8'0NDp;C$.u* " ttFx 6dK~"rFoeq{j2']m+q6NEeUNux̲ 0\RsO2']m[i|Bt05{;m{j*,.uܮ (]A'K~"rFN8D\S d'%ō4J"ft0t04 Y|8Q嶗t(89{;m Jt&rFPyEΑGM^1!Q6Oa`NCI`^ڮ)?m)?'yUavqww-y4R0 m/U'yUavpnCE#' G嶗`,6/{;mI!cظICayc~'K~"rF^,ic0I,h^<AȄ~ND0|8Q嶗ّ-嶗'"T/K^ڮ)?m)?'yUavqww-̉ogw-/mWU€:>>6dK!_^<a)̉i?ܶ㱘$4/K?X4RkU''{jlOqIڠ+bU''8*,.uܯm\QgY:U''8*,.uܮ..iAU`Ya"di@H)? la(`2din'Rq$BQ^ qI^UFX]뭹\@t9H\2~4H  2NTG 9Ia\?[a\RB/E!~'J0 Jk:l(  (C'Jys#2~* la^2RC`Pd^44y'QfYqEUaӨ^(,₌4u})?꼪I[r_$OЈB|) )O @& " ,nxOJh8@4B+HdiRt=adegilnoprbcmsv.0hu&5;CFfqy+,23AI#1MVwx!()-46:BDPT_h]s 2g/p[F`LW5i֕Ul֕i3P LE O h1}3i.٭+Lq`0q,!D"3JX5i`38 8޸IS+e^eVe82{j]Kim]\UP˴p| 8޳+L;&P"]4C `DY9<#DX*LQP˴֑!F>J#J !'">E1dH>_ NutLX%!1)w< śEx?OEXCO7>@2:49)!G_FH$!)$Èh#<h Ődip˴_iZa܏r1pBb)Cg_&c{EsI'asY\@>Nbbi $ poO8r!.oO8:.kJTK<)a[s+Ӫ-WineR¶i4kOƖiRqg t,I!~.[5Ks m8"m' hB[.6"y" R5 NuiS /8˼m̮N̶–[][aK 5=[UXmKim6pmSK`5e\ٻgdXxI+ c8i-*,6̈RƂ4ĀdXKHK434'wh d:iM1ͼeK ]J]a em )`p]@nZRͰeEd% 6vz1q>$ CCIR2@ |P ) !$ j UU0W^r:|+Zp4W T "rb@84 q@i{5=[UXmKim6pmSK` isv4 R%c8i-*,6̈RƂ4jB: tLX8e|LKDӏifK4;D; 3ԥ.1)fh@]:/Zi0?٭?kOZ48Lږӎ8\G$/5_KfinqVa-S%-2<" "y>E1dM1L40.2M:2 Xnev6Ym,+l֟4kOinqVa-pmSK` yuVpoO8@|7m٭?ZeԶvAx`X51"8x`Y1Dh@|y5 Nu<$`\+- i ])DȎZ 51$%1D'@|hLY<%hl֟/Z٭?ZeԶv½M./.]!Kg rb.q}-[UXmKimatAˤLB] Z8$<ߝ bt% -]:i u)nǣ%l2>@I!yD,@TlD%Ɋ b)nǡi.oO84C反%&cd}!*dS0[E Nu٭?_OfZKs m8zy3c8i-*,6X𹬏 H_k$#=!ԅp~/4҆b`2>$+3[5֟4kOinqVa-poO8FvQ6.oO8kOinqVa-Pޞq3T)]c0p|8̐J}$]:/ZiOfƖiRqg󍱑Vq..oO8kOinqVa-eM dpKPi{5TK_Kf٭1}*aZVW жԻ

жԻ

ʹùжԻתԴ봰еԴļضС

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ûϣԴ봰ڹкš ûֵʾԴļԴ봰ڽԴļһС
ť
ȷ Դ봰ڵкţرչжԻ
ȡ ѡðťȡȡвҹرչжԻ
ʾ塣
 k6$q:7.:#q./usr/vac/html/zh_CN/doc/debugger/ui/ubdbsona.htmtmm$ ԴļԻ

ԴļԻ

ԴļԻڵԳܶλԴʱ򿪡

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ָһļ· ԳָʾIJҵԴļ·֣ һԴļ·֡û֪Դļ·֣ ͨ ťλ
ť
ȷ װûָԴļҹر Դļ Ի
һļѡ񴰿ڣλҪԴļ
ȡ رԴļԻ򣬲װԴļ
ʾ塣
a- kt&$M :7.:#M ./usr/vac/html/zh_CN/doc/debugger/ui/ubdbsrcf.htmtmm$ µԴԻ

µԴԻ

ƣ ngaix.gif (1051 bytes)ngwin.gif (1069 bytes) öԻ AIX Windows

ʹôµԴԻΪûڵԵijװ븽ӵϵԴļ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ngclang.gif (151 bytes) ngcpp.gif (202 bytes) ִг ѡбijѡûϣװԴļĿִг
ngclang.gif (151 bytes) ngcpp.gif (202 bytes) Դ ѡбԴļѡûϣװԴļ

ѡһڸбеԴļ£

  • û֪Դļֺ·ֱӼƺ·Ŀ¼
  • , Ȼʹļѡ񴰿ĿؼҺѡһ
ngclang.gif (151 bytes) ngcpp.gif (202 bytes) пִļ ѡУûϣӵԳ򷢾ijִļѡԴļ
Ϣ ѡУûϣΪеϢijװԴ롣
ť
ȷ װûָԴļҹر򿪵ԴԻ
װûָԴļµԴԻ򿪣ԱװԴļ
һļѡ񴰿ڣԱûλԳûзֵļ
ȡ رµԴԻ򣬲װκµԴļ
ʾ塣
\ k"$a:7.:#a./usr/vac/html/zh_CN/doc/debugger/ui/ubdbsrcp.htmtmm$ Դ·Ի

Դ·Ի

ʹԴ·ԻߵԳѰûڵԵijйصԴļ ԳڱϵͳЩԴļ

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

Դ· 뱾ϵͳ·ԳѰ ڵԵijصԴļ

ngaix.gif (1051 bytes) ðŷֿ·(:)

ť
ȷ ñϵͳ·ԱڵԳصԴļҹرԴ·Ի
ȡ رԴ·Իҷκ·Ϣ
ʾ塣
li>  kd$:7.:#./usr/vac/html/zh_CN/doc/debugger/ui/ubpnbkpt.htmtmm$ ϵʾ

ϵʾ

ʹöϵ㴰ڳõĶϵ㡣ʾѾڳõĶϵ͵б бÿĿԱչʾѾڳõϵ㡣 㵥беĿʱԴ봰еǰ׺ļͷָʾԴжϵλá

бĶϵΪṩ˶ϵԵļҪϢһ˵ѡ鿴ЩԵĸϸϢ

˵ѡҲûöϵ㣬ɾϵ͸Ķϵԡ

.gif k$:7.:#./usr/vac/html/zh_CN/doc/debugger/ui/ubpnlocl.htmtmm$ ش

ش

ʹñش鿴ûѾֹͣķΧڵıرݡôӵгÿ̵߳Ŀ ߳ĿɱչʾΧڸ̵߳ԡñӵԪأ࣬ɱչʾԪء

˵ѡûã༭ɾ޸ĸббıʾ

ûãûɾбеһòûڵǰΧʱӰñ һ÷ΧıˣбڷΧڵıи¡

õıúɫָʾ(nbvaren.gif (91 bytes)). ֹĵıûɫָʾ(nbvardis.gif (76 bytes)).

ڱشչ߳̿ӰõԳܡ һ߳ľֲÿУ̱߳չڷΧڷıʱˢ¡ ûֵԳڳвʱȫ۵ڱشе̡߳

val kH$:7.:#./usr/vac/html/zh_CN/doc/debugger/ui/ubpnmdls.htmtmm$ ģ鴰

ģ鴰

ʹģ鴰鿴ģ顢뵥Ԫܲÿģʾչʾģб뵥Ԫơ Ȼչÿ뵥Ԫʾ뵥Ԫйܲơ

ģʾֻʾϢЩ ΪʾԵijʹõгģ˵ѡʾѡ

ѡ˳ģ顢뵥ԪܲԴ򴰿ʾԴ롣

ͨģ鴰е˵ʹóģ顢뵥Ԫͺԡ ͨģ鴰еĵ˵úϵ㡣

ngrelt.gif (466 bytes)
úϵ

ʱ k9$>:7.:#>./usr/vac/html/zh_CN/doc/debugger/ui/ubpnmntr.htmtmm$ ӳ򴰿

ӳ򴰿

ʹüӳ򴰿鿴ûѡӳıͱʽ ֻзΧڵıܱӵӳ򴰿ڻʹûӵӳ򴰿еıʽ

ڸüӳ򴰿еıӵԪأ࣬ñɱչʾԪء

ngclang.gif (151 bytes) ngcpp.gif (202 bytes) ɽָЧַıʽͱ(磬ָ)ӵس򴰿ڡ ڱʽбͼӵıüͷ (nbenptr.gif (101 bytes)) ǡ õ˵ѡЩĿá

ûñͱʽļӡ ʱʾֵڳִвı䣬ʹʽֵѾı䡣 õıͱʽһɫָġ(nbenvar.gif (91 bytes)). õıͱʽһɫָġ(nbdisvar.gif (76 bytes)).

һ˵ѡû༭ݡûͼһʽֵõԳ򽫷һ

ngclang.gif (151 bytes) ngcpp.gif (202 bytes) ܸıʽݺַָıֻܸȡõıʽֵͱ

˵ѡûӼӳ򴰿ɾһʽҸıһʽıʾ

( kf'$:7.:#./usr/vac/html/zh_CN/doc/debugger/ui/ubpnrgst.htmtmm$ Ĵ

Ĵ

ʹøüĴ鿴޸ûıӵļĴݡõԳʾû߳б ûչ߳ʾĴб ûԽչûȤļĴ༭÷еļĴݡ

е̹߳ͬļĴϣϵͳÿ̹߳ʱüĴݣ ڸִ̼߳ʱ̵ָ߳Ĵݡ

ڸüĴУ͵ļĴԸʮʮֵʾ

f (10 k $ :7.:# ./usr/vac/html/zh_CN/doc/debugger/ui/ubpnsrce.htmtmm$ Դ봰

Դ봰

ʹøԴ봰ûʱ鿴ûĹ̡ Դ봰ַʽ֮һʾûڵԵԴ룺Դ룬ֽĻߵϡ ֻûǴϢʱԴſԱ顣

Դ봰ڱֱֳûСִдһбʾ ӦĴекš Ϊǰ׺ǰ׺еɫָûڸкһϵ㡣

ǰ׺ʾı־ָ˶ϵλá һ(nbenbp.gif (97 bytes)) ָһĶϵ㣬 һҵ(nbdisbp.gif (97 bytes)) ָһõĶϵ㡣 ЩûҪָûԭöϵλãǵöϵ㱻ʱִӦֹͣλá 磬ûһϵ㣬öϵ㽫ںڴĵһУǺ

ܿöһĶϵһֻһָʾڸС öϵָʾֻûɾеصĶϵʱʧ

ǰ׺ļͷ(nbexept.gif (78 bytes)) ָûĵԳ򴰿ѡûĴг üͷָʲôûʹõĴڣ

û... Դ봰ǰ׺ļͷָ...
ڶջеĺ úִеĴ
ڶջе߳ ִ߳еĴ
ڸöϵ㴰еĶϵ ûиöϵλ
ngclang.gif (151 bytes) ngcpp.gif (202 bytes) ģ鴰еĿļ ĿļԴĿʼ
ngclang.gif (151 bytes) ngcpp.gif (202 bytes) ģ鴰еһ úĿʼ

ûһû򣬼ͷִָдһС

һ kN"$:7.:#./usr/vac/html/zh_CN/doc/debugger/ui/ubpnstks.htmtmm$ ջ

ջ

ʹջڲ鿴öջϢʼʱջʾ۵ģֻʾ߳߳ÿһջʾչʾջек

ѡ̻߳ʱԴԴʾ

̺߳ͺԿͨջеĵ˵õ߳Ҳջֹͣ

 kV}$:7.:#./usr/vac/html/zh_CN/doc/debugger/ui/ubpnstrg.htmtmm$

ʹøôȥ鿴޸ûʹõĴ洢ݡȱʡģ洢Ǵûʼַʾġ ģ洢ʾִгͣĵطѱӵ洢ѡĵַ

ʹڴ洢еĹ鿴ڴڿʼַĴ洢ƽ̨λá

洢ݿͨ˫ͱ༭һλñ޸ģͨ༭λã Ҵһ˵ѡȡӴ洢˵ѡλúһЧֵɱ뵽洢λá

ؼͿؼ¡ͷֱʾб, ؼֱʾΪ

ʽ ʽ ˵ѡ洢ıʾ
ÿе ÿе ˵ѡȡڴ洢ʾеĿ

һµĴ洢Ӵڱ򿪣򿪵ıʽʾ´ڵıϣӵİťʾ´ڡ

ť
תַ ´ڱλõĵַûѾӸõַðť·صλá
ɾӳ ɾ´洢ڡ
kꎂ$f:n7.:#Ԣf./usr/vac/html/zh_CN/doc/hgcban.htm/ubp$ Concepts banner
Refresh Concept Information Go to Task Information Go to Reference Information Go to Product Glossary Search C for AIX Information Go to Information Home Page Go to IBM C for AIX WWW site
kV $:d5.:#բ./usr/vac/html/zh_CN/doc/hgcon.htm/ubp$ C for AIX Concepts Frame <body> <h3><font face="arial, helvetica">Please Use a browser that can handle Frames.</font></h3> </body> >
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
Debugging
Using C for AIX with Other Programming Languages
" l $:P!7.:#ע ./usr/vac/html/zh_CN/doc/hgcon10.htmubp$    <>adrt"/=ceghimnos14bflp .0vw#&23;FuCD5689ILOPSTky7ABEXxWYzU{" L AAAAAF9$HH9$H] 䅦C`P]ds]d5*Hje*(kց2Qy׭nVսn_R 0]dJ Ŧp(k$C\2-@ճ0J bip].aL~`TKǠ"CB׮AL:@GEaM[.% krAg5\" mbXPfN~p].aL~`TKǠ"*AU5H)z>~3ȉa4ۯ۬㔃 \rȶ,SV@y(3]TN!m$Gfe0*%uWɃOK9DɃiJJ!e=p5BšsgةHX^-T|?8jXSV| gh_Y/)Y,1i{FMrv&E}ybzcAZw8kl8iL xRJSQnaWš]<G~9H08 krA0{FMt.Hjd[w؁)ga<Ū'zӉ i&>]Æ@=Ij@"@ } _A}Æ5oGy,&uur`pkrA8{A5\" mbXPfN'-tfkS^=%Q:A-')QÆ5oGy,&uur`pY,1i3 \rȶ,SV@y(3]TNE8BIGfe0*%`$Æ5oGy,&u`"%nn_R \rȶ,SV@y(3]TN!m$Gfn9j0ig(0qm)\tQ/T *IY Pp].tVսlD?<G~9H0@]5˒!ڮ@ ajy%kj޽D-4O-^&?,&-+=*/tA@p{`$10-R %gg.tVսlD?<G~9H0@ƺk$C\2-@ճ0J b{[I5l8i۬ZLY%L[JW0zT_ $!XSJTjN~H%I+;=|htۣXp"u`"%nlD?KAt.Hjd[w؁)ga<Ū'z kp3_Y?z ?4J 8:`N"5TѣnaWš]<Ggh_Y/)5\" mbXPf$BIaL~dr2`SQ(2`RҢ'H^1g|;-%GEaM[.DK ~3ȉa4ۯ۬㔃krD;U"۾ 4ۣXp"u`"%nn_R 8 krD;U"۾ ]5H)z>~3ȉa4ۯ۬㔃!W Ln05l <ǒ5صD^"MtfkS^=Y?z ?4J 8:`SRg'Z P>]5H)z>~dY,1ip(1W Ln05l <ǒ5صDZq=!m$Gˣp3_5DiAŴu5H)z>~da#%Pf-0x!P5\" mbXPfN'-tfkS^=aert"/=cdghimnos14bflp .0vw#&23;FuCxy5689AEILOPT7DXkBWYU{"  L AAAAAF $HPQQMxAD$((DA@!iP((((((Y/j 9_5lVt^%Zt)ZH)z>z_a&gi(3<C=\Vȶ؁kV@y(3]؝N'-tU 35@E/׮@L:@p$QWGEaM[.uv kv1ip( krD9["گbY[=1v/bw* i&>]aLz0*%`k6@c?5H)z>zD?uvk$C2- aճ0J b'z[I5V4תS^=Y?0PdŴN:Bz+3ko n>͐]aLz0*%`V*@WGEaM[.`"%W^ uPf-0x !QC]5˒!@{0jy%k{ip].fR%Zi-ސ`å_H_cXp"ughUKڃkv1ia krD9["گbY[=1v/bw8kV4תS^=vN0mOVƏ? _+ jޏw^y,&]d0@kv1i!PpMrr&E^ zD?uv!YJ Ŧp(@k$C2- aճ0J b'zҡokV4תS^= [q,thXp"ughU<G]z_ \Vȶ؁kV@y(3]؝T!m$GXp3^^ ?igi(2`VK!z.C=ư,V>]tVսV "XMughUKڃk$C2- aճ0J b'z[I5V4ת'󗾃&YJ 8t'H^ /C=ư,tkӳTohtU8jXSV| X3ȉa4UתDK WY/j \Vȶ؁kV@y(3]؝T!m$GXp3^^ ?igi(2`VK!z.C=ư,zGˣaWš]תDK V "XMu~;PaĚ\Vȶ؁kV@y(3]؝T!m$GXp3^^ ?igi(2`VK!z,X!YB.? _+ jޏw^y,&X3ȉa4Uת%AMrr&E^ zD?uvÀ#]dL08{G5\" mW,֭Pf;֜Og[I5fk)Q/{\YMK~@I{ xz_Y,%b!QS]5˒!@{0jy%k{ip].fR5 y& 8$ҷXp"u~;Pakv1i1 `o Ljyfl <ǒ5ؽ޴{8BIGXp3^L xXs}\ /ѣaWš]ת%Z`C=0ƺk$C2- aճ0J b'zӉ i&>]aLz0*%`H ZWGEaM[.t.H+yd[U@5ga<N k8iTDz.9{2`Ƀi[L/tz!X"׮@L:@p$H$ oH_c׬8`+^ƏG]ÆfffR?uA[)Ҋxh)Ҋ/h"گbWG]G 9P&A@Ur!}Ȇ kh $:P!7.:#ۢ./usr/vac/html/zh_CN/doc/hgcon12.htmubp $
Introducing C for AIX
The C Language
  Overview of the C Language
  Lexical Elements of C
  Identifier Behavior in Your Program
  Preprocessor Directives
  Declarations
  Expressions and Operators
  Implicit Type Conversions
   Integral Promotions
   Standard Type Conversions
   Arithmetic Conversions
  Functions
  C Language Levels
The C for AIX Compiler
Writing C Programs
Debugging
Using C for AIX with Other Programming Languages
Q kf$:R!7.:#ܢ./usr/vac/html/zh_CN/doc/hgcon13.htmubp$
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
  C Program Development Cycle
  Creating and Naming a C Source File
  Internal Structure of a C Program
  External Structure of a C Program
  Using Memory Heaps in a Program
   Memory Management Functions
   Managing Memory with Multiple Memory Heaps
   Types of Memory
   Debugging Memory Heaps
  Program Optimization with the C for AIX Compiler
  Program Parallelization
  Floating Point Operations with the C for AIX Compiler
Debugging
Using C for AIX with Other Programming Languages
~ k$:R!7.:#ݢ./usr/vac/html/zh_CN/doc/hgcon14.htmubp$
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
  C Program Development Cycle
  Creating and Naming a C Source File
  Internal Structure of a C Program
  External Structure of a C Program
  Using Memory Heaps in a Program
  Program Optimization with the C for AIX Compiler
   Overview
   Optimization Techniques Used by the C for AIX Compiler
   Special Handling of Math and String Library Functions
  Program Parallelization
  Floating Point Operations with the C for AIX Compiler
Debugging
Using C for AIX with Other Programming Languages
C fo k>$:R!7.:#ޢ./usr/vac/html/zh_CN/doc/hgcon15.htmubp$
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
  C Program Development Cycle
  Creating and Naming a C Source File
  Internal Structure of a C Program
  External Structure of a C Program
  Using Memory Heaps in a Program
  Program Optimization with the C for AIX Compiler
  Program Parallelization
   Overview
   Countable Loops
   Reduction Operations in Parallelized Loops
   Shared and Private Variables in a Parallel Environment
  Floating Point Operations with the C for AIX Compiler
Debugging
Using C for AIX with Other Programming Languages
8Q k$:R!7.:#ߢ./usr/vac/html/zh_CN/doc/hgcon16.htmubp$
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
  C Program Development Cycle
  Creating and Naming a C Source File
  Internal Structure of a C Program
  External Structure of a C Program
  Using Memory Heaps in a Program
  Program Optimization with the C for AIX Compiler
  Program Parallelization
  Floating Point Operations with the C for AIX Compiler
   RISC System/6000 Floating Point Hardware
   Floating-Point Compiler Options
   Compile-Time Floating-Point Arithmetic
   Rounding Mode Restrictions
Debugging
Using C for AIX with Other Programming Languages
dy>adrt"/=ceghimnopsbfl &.014;CFuvw#-3568P279AIOSXqyDHRTkLMUzENWxICp,p9@ Y %(PB t; ԇ9@v5'(d-Gjx $( $f%qv5'(anW ZW-㊐oJ/,dǐrR1%L Fˣ~p3_c2?BP*A@F7 _N?_Y.ƤuI*ԇ%~8 [5R;S!lYŌ_Xɏ cqIb;8JAnFfe&0eeA &to+ b|.n]I %|Up+ tƪGjx-8K1n)13Gg S-Ѳ߶4㌰ < OQnaWa,SK9A@)nW Z h -㊐oJ/,dǐrR4-T tl7 35(y18,|c 竱~Æ X oۯ۬cRrcU#+SFˣ~Æ X oۯoۯoۯ۬cRrEcU#Q߷FB)8xm8xm%Ԝ -㊐oJ/,dǐrVT tofkPc qKR|CwW C2& 'il%*@ {Fˣ~Æ X ۬H9V=+aecU#ykX X6]0p335u(y18.uu9)$c C$ar*Bپ7ѿ9)7ÿ@ۣni6
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
Debugging
  Distributed Debugger
   Overview
   Panes
   Monitors
  Remote Debugging
  Optimized Code Debugging
  Recursion and Debugging
  Heap Errors
  Breakpoints
  UNIX Call Handling During Debugging
Using C for AIX with Other Programming Languages
L~ kXs$ :R!7.:# ./usr/vac/html/zh_CN/doc/hgcon19.htmubp$
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
Debugging
  Distributed Debugger
  Remote Debugging
  Optimized Code Debugging
  Recursion and Debugging
  Heap Errors
  Breakpoints
  UNIX Call Handling During Debugging
   exec()
   fork()
Using C for AIX with Other Programming Languages
/cuo k,$}:P!7.:#}./usr/vac/html/zh_CN/doc/hgcon2.htmubp$
Introducing C for AIX
  About this Information
  C for AIX Features
  Related Reading
  Notices
The C Language
The C for AIX Compiler
Writing C Programs
Debugging
Using C for AIX with Other Programming Languages
/ng ku$ :P!7.:# ./usr/vac/html/zh_CN/doc/hgcon3.htmubp$
Introducing C for AIX
The C Language
  Overview of the C Language
  Lexical Elements of C
  Identifier Behavior in Your Program
  Preprocessor Directives
  Declarations
  Expressions and Operators
  Implicit Type Conversions
  Functions
  C Language Levels
The C for AIX Compiler
Writing C Programs
Debugging
Using C for AIX with Other Programming Languages
with kT$2 :P!7.:#2 ./usr/vac/html/zh_CN/doc/hgcon4.htmubp$
Introducing C for AIX
The C Language
The C for AIX Compiler
  Overview
  Compiler Modes
  Compiler Options
  Types of Input Files
  Types of Output Files
  Compiler Messages and Listings
Writing C Programs
Debugging
Using C for AIX with Other Programming Languages
.htm#9 k$ :R!7.:# ./usr/vac/html/zh_CN/doc/hgcon5.htmubp$
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
  C Program Development Cycle
  Creating and Naming a C Source File
  Internal Structure of a C Program
  External Structure of a C Program
  Using Memory Heaps in a Program
  Program Optimization with the C for AIX Compiler
  Program Parallelization
  Floating Point Operations with the C for AIX Compiler
Debugging
Using C for AIX with Other Programming Languages
r>< k8$ :R!7.:# ./usr/vac/html/zh_CN/doc/hgcon6.htmubp$
Introducing C for AIX
The C Language
The C for AIX Compiler
Writing C Programs
Debugging
  Distributed Debugger
  Remote Debugging
  Optimized Code Debugging
  Recursion and Debugging
  Heap Errors
  Breakpoints
  UNIX Call Handling During Debugging
Using C for AIX with Other Programming Languages
d k$:P!7.:#./usr/vac/html/zh_CN/doc/hgcon7.htmubp$
Introducing C for AIX
The C Language
  Overview of the C Language
  Lexical Elements of C
   Tokens
   Comments
   Identifiers
   Constants
  Identifier Behavior in Your Program
  Preprocessor Directives
  Declarations
  Expressions and Operators
  Implicit Type Conversions
  Functions
  C Language Levels
The C for AIX Compiler
Writing C Programs
Debugging
Using C for AIX with Other Programming Languages
kLm$:P!7.:#./usr/vac/html/zh_CN/doc/hgcon8.htmubp$
Introducing C for AIX
The C Language
  Overview of the C Language
  Lexical Elements of C
  Identifier Behavior in Your Program
   Scope of Identifier Visibility
   Program Linkage Between Identifiers
   Storage Duration
   Name Spaces
  Preprocessor Directives
  Declarations
  Expressions and Operators
  Implicit Type Conversions
  Functions
  C Language Levels
The C for AIX Compiler
Writing C Programs
Debugging
Using C for AIX with Other Programming Languages
 k~y$:P!7.:#./usr/vac/html/zh_CN/doc/hgcon9.htmubp$
Introducing C for AIX
The C Language
  Overview of the C Language
  Lexical Elements of C
  Identifier Behavior in Your Program
  Preprocessor Directives
   Overview
   Preprocessing Operations
   Preprocessor Macros
   Conditional Compilation Directives
  Declarations
  Expressions and Operators
  Implicit Type Conversions
  Functions
  C Language Levels
The C for AIX Compiler
Writing C Programs
Debugging
Using C for AIX with Other Programming Languages
Glossary banner
Go to Concept Information Go to Task Information Go to Reference Information Refresh Product Glossary Search C for AIX Information Go to Information Home Page Go to IBM C for AIX WWW site
ngdoc.g k$:$6.:#./usr/vac/html/zh_CN/doc/hggloss.htmubp$ C for AIX Glossary Frame <body> <h3><font face="arial, helvetica">Please Use a browser that can handle Frames.</font></h3> </body> " l$=:6.:# ./usr/vac/html/zh_CN/doc/hggover.htmubp$   "<>aenot/=cfgilrs dhp,2mvz#.uFTb-CDEHILMNOPUy018ABGKRSVWXYZ!59;JQqx (01` & < n<<:aFHCۑH+| 97r-2H`HYz8{[l\ Md^PHad I|@8, qC 0 ^87>0!ϋY68Ԛ(>-m&έIE +(a]{Z2*mf ~J)OJpЂ<88bsߊv»Bp|4[k bg-v<ԕR[/C >;ԝ47SnC1rTaO|'S|քD?h?oTݪثXW##=Go4$vI|zWwy֤r4 ~>Ҝ%+ C9oJ;|a]ڡ8h >-r1b3{;S@TQ%0㽭IA63h?%K}8JWhA bsߊv»Bp|4[k bg-v+}Ku%a]WyP»ώ'MdTېA/S )_5xpp24~*Q @htYlU+Tښ$vJߩ-ԗǡwwjNȩ!A9*^0>)RkB'<~Go+T' gEVF,FzqRgjh%o4TvIn= +kRt|EM R?iiNZG0lNyRWwvNCφba\X⥾ ښy*;~R_|w:h>o"܆b xŸO J#ÃlNyRWwvNCφba\X⥾%o4TvIn= +C >Wwy֤r4 ~>Ҝ%+ C9oJ;|a]ڡ8h >-r1b3{;S@tQ%0㽭IA(j4:,h*ňQ*[M,Q%a]{Z2*mf ~J)OJpЂ<88 bsߊv»Bp|4[k bg-vTQ%0㽭IA63h?%K}8JWhAbsߊv»Bp|4[k bg-v+}Ku%a]WyP»ώ'MdTېA/S )_5xppB4~*Q @htYlU+Tښ$vJߩ-ԗǡwwjNȩ!A9*^0>)RkB?h?oTݪثXW##=Go4[M<R[/C >;ԝ47SnC1rTaO|'S|ք('<~Go+T' gEVF,FzqRgjhښy*;~R_|w:h>o"܆b xŸO J#ÃplNyRWwvNCφba\X⥾'%o4TvIn= +C >Wwy֤vBp|4[k bg-vJgji0㽭IA63h?%K}8JWhA9oJ;|a]ڡ8h >-r1b3{;S@.JgjiI|zWwy֤r4 ~>Ҝ%+ !؜A70P4E Z¹=K}%o4TvIn= +kRt|EM R?iiNZGC9oJ;|a]ڡ8h >-r1b3{;S@+}Ku%a]WyP»ώ'MdTېA/S )_5xppR4~*Q @htYlU+Tښ$vJߩ-ԗǡwwjNȩ!A9*^0>)RkB64~*Q @htYlU+TښV;SRTvIn= +kRt|EM R?iiNZGlNyRWwvNCφba\X⥾ښKu%a]{Z2*Q @htYlU+TښV;SRTvI|zWy/}0㽭IA(j4:,h*ňQ*[M +}*;~= +kRt|EM R?iiNZG0lNyRWwvNCφba\X⥾ښKu%a]{Z2*K»}0_jJ ZY)t0i k. $j:Rn7.:#j./usr/vac/html/zh_CN/doc/hghban.htmubp $ Information Help banner
Go to Concept Information Go to Task Information Go to Reference Information Go to Product Glossary Search C for AIX Information Go to Information Home Page Go to IBM C for AIX WWW site
nC1 kt!$O:Fi5.:#O./usr/vac/html/zh_CN/doc/hghelp.htmubp$ IBM C for AIX Information <body bgcolor="#FFFFFF"> <font face="arial, helvetica" size="2"><h3>Please Use a browser that can handle Frames.</h3> </font><p>&gt;</p> </body> > kA"$ :Pn7.:# ./usr/vac/html/zh_CN/doc/hghlp2a.htmubp$ IBM C for AIX Help for Help

IBM C for AIX Help for Help

Overview
IBM C for AIX information is structured to help you accomplish what you need to when you need to do it.

We provide you with the following main kinds of information:

  • Tasks guide you with step-by-step instructions
  • Concepts explain what you need to understand to accomplish certain tasks
  • References provide useful technical details for the product, including programming and language specifications
  • Glossary items to explain key terms
  • Context-sensitive Help to help you with the interface to our Distributed Debugger product. Press F1 to get this help

 

You can get to this information from our Help Home Page.

Detailed Help: Topics and Links
Our help is in HTML format, so if you've browsed the World Wide Web, you already know how to use it effectively.

Hypertext links appear highlighted and underlined in blue (depending on your HTML browser). Visited links appear in purple.

You can copy-and-paste code examples right into your own projects. Use your browser's forward and back controls to flip between help pages.

Navigate through a hierarchy of topics by selecting Concepts, Tasks or Reference information. Just follow the links to get to the topic you want, and then select that link.

Get to the References you need when you work. Links in the body of the text always take you to the Reference information highlighted. So if you need more information about a certain programming structure, it's only a click away.

Find similar information quickly. Related topics links--at the end of each information section--move you through the help information. We've divided these links into Concepts, Procedures and References so that you know what kind of information you're getting before you click on a link.

Search for any word or group of words in the entire set of VisualAge Help information.

You can also make a search request that only returns certain kinds of information, like Concepts or Tasks. In addition, you can keep your searches simple, or use the full power of an advanced search engine with boolean searches, wildcards and fuzzy or exact term matching.

Printing Information
To print a topic:

  1. Select the help content window (where this text appears) by clicking once anywhere in the frame (not on a link!)
  2. Select File...Print from your browser.

We have collected information in the Adobe** Portable Document Format (PDF) that you can view and print using the Adobe Acrobat** reader. If you do not already have the Acrobat reader program installed, you can download it for free from Adobe's website at www.adobe.com.

 

Help for Help

Detailed Help for Help

ki$$P:৸6.:#P./usr/vac/html/zh_CN/doc/hgmain.htmubp$ VisualAge Help Navigation

VisualAge Help Navigation

To navigate to a specific topic, click a link in the left window frame.

The arrows , indicate that there are subtopics available. To see the subtopics, click on the arrow. If you can't see all of the text, resize the frame by grabbing the border with your mouse or use the scroll bars.

 

 

 

kU%$a:4n7.:#a./usr/vac/html/zh_CN/doc/hgpban.htmubp$ Tasks banner
Go to Concept Information Refresh Task Information Go to Reference Information Go to Product Glossary C for AIX Information Go to Information Home Page Go to IBM C for AIX WWW site
rchy of kj&$:e5.:#./usr/vac/html/zh_CN/doc/hgproc.htmubp$ C for AIX Tasks Frame <body> <h3><font face="arial, helvetica">Please Use a browser that can handle Frames.</font></h3> </body> lt="Go kn'$ :T!7.:# ./usr/vac/html/zh_CN/doc/hgr1.htmmubp$
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
rong> k^&($:V!7.:#./usr/vac/html/zh_CN/doc/hgr10.htmubp$
The C Language
  Basic Data Types
   char
   float, double
   int, long, short
   enum
   void
  Derived Data Types
  Data Type Qualifiers
  Data Storage Classes
  Expression Operators
  Arithmetic Conversions
  Functions
  Program Statement Keywords
  Statement Labels
  Statement Blocks
  C Programming Character Set
  Escape Sequences for Non-Printable Characters
  Reserved Keywords
  Differences Between C Language Levels
  Implementation-Defined Behavior
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
borde k )$:V!7.:#./usr/vac/html/zh_CN/doc/hgr11.htmubp$
The C Language
  Basic Data Types
  Derived Data Types
   Arrays
   Pointers
   struct (Structures)
   union (Unions)
   Incomplete Types
  Data Type Qualifiers
  Data Storage Classes
  Expression Operators
  Arithmetic Conversions
  Functions
  Program Statement Keywords
  Statement Labels
  Statement Blocks
  C Programming Character Set
  Escape Sequences for Non-Printable Characters
  Reserved Keywords
  Differences Between C Language Levels
  Implementation-Defined Behavior
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
k^,*$:V!7.:#./usr/vac/html/zh_CN/doc/hgr12.htmubp$
The C Language
  Basic Data Types
  Derived Data Types
  Data Type Qualifiers
  Data Storage Classes
   auto
   extern
   register
   static
   typedef
  Expression Operators
  Arithmetic Conversions
  Functions
  Program Statement Keywords
  Statement Labels
  Statement Blocks
  C Programming Character Set
  Escape Sequences for Non-Printable Characters
  Reserved Keywords
  Differences Between C Language Levels
  Implementation-Defined Behavior
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
k>c+$:V!7.:#./usr/vac/html/zh_CN/doc/hgr13.htmubp$
The C Language
  Basic Data Types
  Derived Data Types
  Data Type Qualifiers
  Data Storage Classes
  Expression Operators
   Operator Precedence and Associativity Table
   Primary Operators
   Unary Operators
   Binary Operators
   Conditional Operator
   Assignment Operators
   Comma Operator
  Arithmetic Conversions
  Functions
  Program Statement Keywords
  Statement Labels
  Statement Blocks
  C Programming Character Set
  Escape Sequences for Non-Printable Characters
  Reserved Keywords
  Differences Between C Language Levels
  Implementation-Defined Behavior
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
k(,$:V!7.:#./usr/vac/html/zh_CN/doc/hgr14.htmubp$
The C Language
  Basic Data Types
  Derived Data Types
  Data Type Qualifiers
  Data Storage Classes
  Expression Operators
  Arithmetic Conversions
  Functions
   Declarations
   Definitions
   main() Function
  Program Statement Keywords
  Statement Labels
  Statement Blocks
  C Programming Character Set
  Escape Sequences for Non-Printable Characters
  Reserved Keywords
  Differences Between C Language Levels
  Implementation-Defined Behavior
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
bor ly-$ :V!7.:#./usr/vac/html/zh_CN/doc/hgr15.htmubp$    <>aert"/=cdghimnos1bflp .024vw&356;u#CDFy789ILPSk-ABENRTXqxKMOQ{"  L pP( %5j $HP(0 AD ($-0*@P( 5Kڃ 5Kڃ 5lVt^%Zt)ZH)z>z_P]d38krD9[#Zb,֭y(3]؝J8BIGXp3^L xf"@z{G]Æ5oGU<G]z_P8gi(3ÉpPAo Lj\Zz1v/bw8kV4תS^=dZ䀀Y{?5H)z>zD?uv%_8{\V֫؁5gqsJ b'zӉ i&>]aLz0*%*;N~HaWš]תDK WY/j (5\" WkV@<N k8iTDz]drdK;IAҷI-%(!X'?$^[>]tfսV "XUu~;PaBMuPf/!8qFk$C25 qrj\ǒ5ؽ޴{8BIGXp3^L x N~H^ v4U8jSV| X3ȉaTUת%A uPf/pP8krD9[#Zb,֭y(3]؝N'-tU 35@,Ű|{WGFaM[.`"%QW^9o Lj\Zz1v/bwPH]aLz0*%*'󗾃&YJ 8~Oi)0x 7Ax.? _3 jޏw^y,*]d0Fgi(3ËpPMrr&F^.Y[=Pf;֜Og[I5fk)Q/V z}|hXp#0ug¨UKڃ 5K;IA!8t.H+ydkU@ճ8%k{iP[I5fk)Q/V??]*4U8jSV| X3ȉaTUתDK WY/j ( Yo Lj\Zz1v/bwPH]aLz9{2`Ƀi[$G5ۀm.? _3 jޏw^y,*X3ȉaTUת%A\V֫؁5gqsJ b'z[I5V4ת'󗾃&YJ 8~Oi*)g֘?WGFaM[.`"%QW^y,*]d0]5˒!@{8fl.cA^Z i&?Æ]drdK;IAҷI-%EPqPWGFaM[.`"%QW^y,*]d0Mrr&F^.Y[=Pf;֨$BIfWY?0PdŴ~ IQX{`.? _3 jޏw^y,*X3ȉaTUת%Ak$C25 qrj\ǒ5ؽ޵A"MtU 35Ƀ_v&-oZJ0 ɇQXp#0ug¨U<G]z_P@krD9[#Zb,֭y(3]؝T!m$GXp3^^ ?igi(2`VI?!ZWGFaM[.`"%QW^y,*]d0&k$C25 qrj\ǒ5ؽ޵A"MtU 35Ƀ_v&-oZJIqJXp#0ug¨U<G]z_PHk$C25 qrj\ǒ5ؽ޵A"MtU 35Ƀ_v&-oZJqU.? _3 jޏw^y,*X3ȉaTUת%A5\" WkV@<N k8iUO/}L40qm+xT{!_otU8jSV| X3ȉaTUתDK WY/j ($Mrr&F^.Y[=Pf;֨$BIfWY?0PdŴ~ IQq#[e.? _3 jޏw^y,*X3ȉaTUת%A5\" WkV@<N k8iUO/}L40qm+xTF Ʊm.? _3 jޏw^y,*]d0]5˒!@{8fl.cA^Z i&?ÆJ`TKǠUO/}L40qm+xag~~_aThtU8jSV| X3ȉaTUת%A\V֫؁5gqsJ b'z[I5V4תS^=9{2`Ƀi[$) h{`g $ .? _3 jޏw^y,*]d0Mrr&F^.Y[=Pf;֨$BIfRuA,%L[J?i'ಞ3kH_c׮A |?5H)z>zD?uv‚@s]5˒!@{8fl.cA^Z i&?ÆJ`TKǠUO/}L40qm+x) ,S쁚0x C3?>]tfսV "XUu~;Pa@0Ao Lj\Zz1v/bwPH]aLz0*%*'󗾃&YJ 8~Oe=`n3kᚩ*4|?5H)z>zD?uv€s]dD3\V֫؁5gqsJ b'zӉ i&>]aLz0*%*-$zv27Acf?5H)z>zD?uv€fgi(3À t.H+ydkU@ճ8%k{ip].fR`K+]utfսWY/j (5\" WkV@<N k8iTDz9{2`Ƀi[$Eb5D7!" &"U>4|?5H)z>z_H]5˒!@{8fl.cA^Z i&?ÆJ`TKǠ'󗾃&YJ 8~Oi($\"!X׮@\] {`AjƏG]Æ5oGUKڃkv1|!8 Mrr&F^.Y[=Pf;֜Og[I5fk)Q/{K'ct[ڟh͌ JHalG]Æ5oGUKڃuPf/g$Qo Lj\Zz1v/bw8kV4תS^=iMzXp#0u~;P`p&gi(3krD9[#Zb,֭y(3]؝N'-tU 35@=yQZT}b׮AXnƏ? _3 jޏw^Y,%b$C=pq@1o Lj\Zz1v/bw8kV4תS^=  Ə? _3 jޏw^t.H+ydkU@ճ8%k{jD-fk)Q/{^ ?igi(2`VI?x{`-xk`07x QXp#0u~;P`pY,%bp s]5˒!@{8fl.cA^Zq=!m$Gˣ8iTDz qek>A:^ZcG]Æ5oGUKڃ\V֫؁5gqsJ b'z[I5V4תS^=Y?0PdŴ~ L^x{`& 3T*Ai ) WGFaM[.uv"uPf/q s]5˒!@{8fl.cA^Zq=!m$Gˣ8iTDzg¤ Ǭ/\;Xp#0u~;P`p]5˒!@{8fl.cA^Z i&?ÆJ`TKǠ'󗾃&YJ 8~Oqů$C=ưD4.? _3 jޏw^rD9[#Zb,֭y(3]؝T!m$GXp3^L xdrdK;IAҷI/"C=ư&A |?5H)z>zYJ !88HAo Lj\Zz1v/bw8kV4תS^= ֽN;?0p335u@=W^ NTKĵ@NQx5@{88Eת]G" (tv{ڃ  kb.$N:V!7.:#N./usr/vac/html/zh_CN/doc/hgr16.htmubp $
The C Language
  Basic Data Types
  Derived Data Types
  Data Type Qualifiers
  Data Storage Classes
  Expression Operators
  Arithmetic Conversions
  Functions
  Program Statement Keywords
  Statement Labels
  Statement Blocks
  C Programming Character Set
  Escape Sequences for Non-Printable Characters
  Reserved Keywords
  Differences Between C Language Levels
   Conflicts Between extended C and Other Levels
   Extensions to RT C Provided by extended C
   Exceptions to ansi C Addressed by classic C
   saal2 C Deviations from SAA Level 2 C
   Arithmetic Conversions for extended Level C
   Summary of C Language Level Conflicts
  Implementation-Defined Behavior
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
et lh/$%:V!7.:#./usr/vac/html/zh_CN/doc/hgr17.htmubp$  <>aert"/=cdghimnos.1flp 0234bv&;Fuw#)5678C(9DILPSy-ABERTkq,KMNOQXxU{1iPi)H0@BM#JkR  @] r  5Kڃ k@kl+y%:QQ/׭%:QE׭.nսWY/j $H$Y,%b kr2؂5gsJ b'zҠkV4תS^=d V=aXaWš]ת2%QW^(]dpI9r"Bگb,֭y(3]؝N'[I5fk)Q/6-L $ /cG]Æ5oGUdKWY/j $P]d8 ]5ˑo D^.Y[= Pf;֜OgkV4תS^=lhT $ /cG]Æ5oGUdKWY/j $P0Mrd9[!mW kVA<N m$GXp3^L x Ƀ_v&-oRJP (v{`F~H K`)z4|?5H)z>z"XEu~;Pa"Fgi(3 8BMt.FC{@fl.cA^Zq=:IGXp3^L x #?$ v/dVF;?5H)z>z"XEu~;Pa"fgi(3 8@]5ˑo D^.Y[= Pf;֜OgkV4תS^=lŰ|){WGFM[.`(UKڃ kr2؂5gsJ b'zk8iTDzdrdK;IAҷI)%&;=ư ;}l7z-GˣaWš]ת2%QW^ kv1|@ 5\VH[UAճ@%k{ipi&>]aLz0*%&Bl?5H)z>z"XEu~;Pa fgi(3Gg$Ar"Bگb,֭y(3]؝N'[I5fk)Q/6??]-BʍtnսV,"]d0P$Mrd9[!mW kVA<N m$GXp3^L x Ƀ_v&-oT|Pk@FG]Æ5oGUdKWY/j $ 5\VH[UAճ@%k{jG[I5V4תS^=n9{2`Ƀi[$;=ư3 TGˣaWš]ת2%QW^ \+y$- rj \ǒ5ؽ޵A#fk)Q/7Y?0PdŴ~ )K8v{` s5؟ސ3~G]Æ5oGUdKWY/j $ 5\VH[UAճ@%k{jG[I5V4תS^=n9{2`Ƀi[$Ltq8^,+^ ¶AhtU8jSV| X;D?uvA`]5ˑo D^.Y[= Pf;֨$u]aLz0*%&'󗾃&YJ 8~OE=`+@5TpFG]Æ5oGUdKWY/j $ 5K;IA ;=q ar"Bگb,֭y(3]؝N'[I5fk)Q/64w |d Ǭ+h*4U8jSV| X;D?uvA`]d# \+y$- rj \ǒ5ؽ޴-ítU 35@\YZFk0kaU8jSV| X;D?`(UKڃ  t.FC{@fl.cA^ZMtU 35Ƀ_v&-oS\\X WGFM[.`(UdKWY/j $\+y$- rj \ǒ5ؽ޵A#fkuA,%L[J?i'সk=Y P(tU8jSV| X;D?`(UKڃ 5\VH[UAճ@%k{jG[I5V4ת'󗾃&YJ 8~OMqzkރݯG8E.? _7 jޏw^xȖG]z"XEu~;Pa t.FC{@fl.cA^ZMtU 35Ƀ_v&-oS\[U5*Ind P|?5H)z>z"XEuwaUת%A\+y$- rj \ǒ5ؽ޵A#fkuA,%L[J?i'সg fv' 0HWGFM[.`(UdKWY/j $(Mrd9[!mW kVA<N m$GXp3^^ ?igi(2`VI?5ŵ;=ư%ތ#WGFM[.`(UdKWY/j $,Mrd9[!mW kVA<N m$GXp3^^ ?igi(2`VI?5ŒWq$g.  K 8@>]tnսV,"X;D?uvA]5ˑo D^.Y[= Pf;֨$u]aLz9{2`Ƀi[$ókq. F@` QXp#puwaUת2%QW^ \+y$- rj \ǒ5ؽ޵A#fkuA,%L[J?i'সՎqjތ#WGFM[.`(UdKWY/j $ 5\VH[UAճ@%k{jG[I5V4ת'󗾃&YJ 8~OMqqX logoKtD8` P8"@`(tU8jSV| X;D?`(UKڃ k#!@ j \Zz1v/bwPHi&?Æ]drdK;IAҷI),`+ i-ތ#>]tnսV,"X;D?uv@qk#!@ j \Zz1v/bwPHi&?Æ]drdK;IAҷI)-Z5ѐ$qC@"G]Æ5oGUdKV,"]d0]5ˑo D^.Y[= Pf;֨$u]aLz9{2`Ƀi[$5d P QXp#puwaUת2%QW^5\VH[UAճ@%k{jG[I5V4ת'󗾃&YJ 8~OMqeq /ZFd P QXp#puwaUת2%QW^5\VH[UAճ@%k{jG[I5V4ת'󗾃&YJ 8~OMqe4`6BBlG9|?5H)z>z"XEuwaUת%At.FC{@fl.cA^ZMtU 35Ƀ_v&-oS\YPH' i-Lmf l:@`ł(tU8jSV| ]d0kr2؂5gsJ b'zk8iTDz]drdK;IAҷI)%ck$ oAB WŪl>]tnսWY/j (@]5ˑo D^.Y[= Pf;֨$u]aLz0*%*'󗾃&YJ 8~OI(.X׮@6?j=|`[GˣaWš]ת%A kv1|(v{@pIr"Bگb,֭y(3]؝N'[I5fk)Q/VN0ڟh݌ #JHalG]Æ5oGUKڃ  5K;IA;=qB\+y$- rj \ǒ5ؽ޴{8u].fR`8׮? _7 jޏw^ kv1| 8" t.FC{@fl.cA^Zq=:IGXp3^L x /; +J/ZN%7۱aWš]ת%AH5K;IApPYr"Bگb,֭y(3]؝N'[I5fk)Q/VhHSG]Æ5oGUKڃ t.FC{@fl.cA^ZMtU 35@^ ?igi(2`VI?5x0SJHS$ä ^ WGFM[.uv ]dXH5\VH[UAճ@%k{ipi&>]aLz0*%*V_ץ?5H)z>z_P(Qr"Bگb,֭y(3]؝T:IfRuA,%L[J?i'q$ä 8HR l^{F4GˣaWš]ת%A%_g( 5\VH[UAճ@%k{ipi&>]aLz0*%*=~ V=aX0(G]Æ5oGUKڃ Mt.FC{@fl.cA^ZMtU 35@^ ?igi(2`VI?D ^HL:@(Ҷ4|?5H)z>zr"Bگb,֭y(3]؝T:IfRuA,%L[J?i'ଊZ5P02 fv' ߣWGFM[.uPf/qMt.FC{@fl.cA^Zq=:IGXp3^L x #F-{4zv4U8`ffk)Q/WG]z(kց(Jkց{@Mת]a[tmA@mA@m* k#0$:V!7.:# ./usr/vac/html/zh_CN/doc/hgr18.htmubp $
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
  Compiler Options
   Overview
   Resolving Conflicting Compiler Options
   List of Compiler Options and Their Defaults
  Compiler Messages and Problem Solving
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
 lz1$:V!7.:# R ./usr/vac/html/zh_CN/doc/hgr19.htmubp$    <>aert"/=cdghimnos1bflp .034v#25CFuw&689;IMPSy7DLR-ABEOXkTN{"  L aaaaaf(PXYiMxA (,,DA@!iP,,,,,,Y/j 8Y/j k " EDK^ ES^ SV| ]d0@aYJ @{\VHkU@%ճ8ɏ%k{ip].fR`͐ tnսWY/j  5\" ֫؁K5gqJ b'z[I5V <תS^=9{2`Ƀi[$,ń(C~AM_g>-V{`X#pu~;Pab t.H+y5 qjdǒ5ؽ޵A"VMtU35@^ ?igi(2`VI?$(DK=ư ^{^c5}>B[Gˣbš]ת%Akv1|,K=p]5˒!@ jdZz1v/bw8kV <תS^=_A;äoj}v3TV~A/&U@zSV| ]d0%_%qb t.H+y5 qjdǒ5ؽ޴5VMt|?J`TKǠ]AŴtU@zSV| XDEu~;Pac%_p8Bt.H+y5 qjdǒ5ؽ޴{8JIGX3^L xXT[Jސ _tnսVy,G]z_XS]dY8]5˒!@ jdZz1v/bw* ~p].fR8 q{ǪA} H2 kG]5oGUDKQW^<WY/j ,pMrr*CZb,֭Ly(3]؝T%m$GX3^^ ?igi(2`VI?:+,[B.@'t:4|? =H)z>z"X"XDEu~;Pact.H+y5 qjdǒ5ؽ޵A"VMtU35Ƀ_v&-oc,[A7y FQz*-oH.X#pu#ȉ`?`GUת%A5\" ֫؁K5gqJ b'z[I5V <ת'󗾃&YJ 8~O(K=ư8 >g>B.?_7 jޏw^<Vy,G]z_X@]5˒!@ jdZz1v/bwPH]bz9{2`Ƀi[$謗x{`+qo}V8stU@zSV| XDEu#ȉ`?uvC]5˒!@ jdZz1v/bwPH]bz9{2`Ƀi[$ZK=ư^/d^'dwC (g5됨8>G]5oGUKڃ kv1|%qat.H+y5 qjdǒ5ؽ޴{8JIGX3^L x ^vV v1k!xnƏ?_7 jޏw^9YJ K=C]5˒!@ jdZz1v/bw8kV <תS^=!aOtnսWY/j ,$5\" ֫؁K5gqJ b'z[I5V <תS^=9{2`Ƀi[$5Y50ƕǧIH.>]tnսWY/j ,$ kv1| gXHk$CR{8fl2cA^Zq=%m$Gˣ@yTDz%ŕ{`tznƏ?_7 jޏw^krD9[!WkV@&<N k@yTDzdrdK;IAҷI10qyY5I0@ 8H*BCJohtU@zSV| ]d0(]d0{ńt.H+y5 qjdǒ5ؽ޴{8JIGX3^L x g¤Ǭ3 ,wWGFM[.uv&k$CR{8fl2cA^Z+i&?J`TKǠ]O/}L40qm+x" ^H{aRL:@$H[JX#puk$CR{8fl2cA^Z+i&?J`TKǠ]O/}L40qm+x2)kDk@H&BoX#pugi(3q,\VHkU@%ճ8ɏ%k{ip].fR`.Hkӱb333_^L x ?uA[)Ҋxh)Ҋ/h!W ]tVA@ۣnqVth=14 lTm2$:V!7.:# ./usr/vac/html/zh_CN/doc/hgr2.htmubp $  <>aert"/=cdghimnos14flp .02bv#356CFuw&7;DSy-89BILPkARTXqEKMNOQx{b00XXXXXY A (,,4 A (,,C \Z`T9 5Kڃ 5Kڃ 5¶FCR(kցR(JkցW_7 jޏw^, Y,%bq, 5\VHkU@K5gr&<NAkV <תS^=d*@z1{G]5oGU2%(UKڃ Y,%bqBY8 kr2 ֫؁ȖkV@Ly(3]؝N'tU35"'?$WGFM[.`g`?uvŚ%_8{5\VHkU@K5gr&<NVMt|?X'yuR 4U@zSV| X"X"]d0pMrd9[!W,֭ȘPf;֨$JIfWY?0PdŴ~ IJ g @4FG]5oGU2%(UKڃ $Y,%bqbY,Mrd9[!W,֭ȘPf;֜Og [I5fk`Wñ{!Edcbš]תUת%A5K;IAK=S]5ˑo T^DZz"cA^Zq=%m$Gˣ@yU-KχF?_7 jޏw^]bz,1bš]תUת%Akv1|8@{kr2 ֫؁ȖkV@Ly(3]؝N'tU35+H+Xl9Qbš]תUת%A\+y5 r%ճ9J b'z[I5V <ת'󗾃&YJ 8~OaBY5?]pf>]tnսVxȖWY/j ,$$Mrd9[!W,֭ȘPf;֨$JIfWY?0PdŴ~ IC H%X+$ .?_7 jޏw^]tnսVxȖWY/j ,5K;IA$K=@S]5ˑo T^DZz"cA^Zq=%m$Gˣ@yUZI;d |HXf/d ѺThX#pu3DEu~;Pa`1gi(3Áij ,kr2 ֫؁ȖkV@Ly(3]؝N'tU35!ŕ{`5? =H)z>z_X kr2 ֫؁ȖkV@Ly(3]؝T%m$GX3^L x Ƀ_v&-obJ !qX1? ߐj=|AjƏG]5oGUKڃkr2 ֫؁ȖkV@Ly(3]؝T%m$GX3^L x Ƀ_v&-obJ "qKk \] {` og.?_7 jޏw^(Y,%bK=`]5ˑo T^DZz"cA^Zq=%m$Gˣ@yTDz_A;äFgV~@v{`? =H)z>z_XY,%b,kr2 ֫؁ȖkV@Ly(3]؝N'tU35@ iMzX#pu~;P`pFgi(3Y(Mrd9[!W,֭ȘPf;֜Og [I5fk)Q/vgaEiRt^ Ĵv4U@zSV| ]d08@gi(3"Y5\VHkU@K5gr&<NVMt|?J`TKǠ]t`b,1bš]ת%Ak#!@ jflDǒ5ؽ޵A"VMtU35@^ ?igi(2`VI?5x{`8cJǧIH(*G]5oGUKڃgi(3q,kr2 ֫؁ȖkV@Ly(3]؝N'tU35@YZNV-WGFM[.uv k#!@ jflDǒ5ؽ޵A"VMtU35@^ ?igi(2`VI?&/]bz0*%.=~ N=aPaeþ?_7 jޏw^ 5\VHkU@K5gr&<N k@yTDzdrdK;IAҷI2 g$äBVƏG]5oGU\VHkU@K5gr&<N k@yTDzdrdK;IAҷI3"K=ư  fv'Gˣbš]ת%_Y 5\VHkU@K5gr&<NVMt|?J`TKǠ]t`b׽ IקcG]fffRtUתa[)Ҋxh)Ҋ/h!W*tU0?¶ ]A@Utd l\?3$:V!7.:#"./usr/vac/html/zh_CN/doc/hgr20.htmubp $  <>ert"/=acdghimnops14bfl .03uvw#&2;CFO56PSy789DIL-AMRXkBTjN&+,TK AAAAAF$HPQanAD$((d`%q((((((i%-5P`pQ$Ly{J˜AJ˒VAC[|eMA/ i5!PqSec@P9s)s͙%\l,Js`0@J`ifyg$2/ז_08 6[&< _M1ȩg=,ٞ \T!(gpU~TK7eFS{JA!yP8%_ws9>‚c {F,`pC[|eMA/Psec@P9s)s͙B⍖^ UWD0AiO3}Ta57Q|^J? Q`b#1 弟t@L_@ &'NΜ_ Ind_-5PaBE-4Ґfo-e^/ځȦ@TH3l)*8e9gpU~TK~tUzwv3gIi]*< ?,5PĖAePK$eR p$n{(&~E7\"Afx1K8e9gpU~TK1|[?,5PĖAeA^_-5PaB@M77 (Hec@P9s)s͙,l⍖tׁUUQ.rL+b8 0זbKs x g ?/׀&ryi% 6[&< _M1ȩg=,ٞ \T!(gpU~TK妽<Q<ҐeEq{(.2 o v,`pC[|eh9Yy~3EחMA/Pn{(&~E7\"Afx1qP8eׁUUQ.rL7eFS{JAf!`ı(&0(+PL_'ArF,`pC[|eh9Yy~3EחMA/Pi58 !QB@sDǗ45r)79>R 祛3X'1,?Ң\ -5oʌ?a*/?iGq?y tUq{/ta:L@wP$Y;:r? 1%GY~3Eחh9Yy~3EחMA/Pn{(&~E7\"Afx1qP8eׁUU^f joiH28~yjṔrFj~8Mq{UΟS,`pC[|eh9Yy~3Eחh9Yy~A$n{(&~E7\"Afx1qP8eׁUU^f joiH28~yk$C}{ ׵?@jP&}$[2>/vtזbKs x g ?/׀&rx g ?/ז_06[&< _M1ȩg=,ٞ \T!(gpU~ק*0R N/x^\!`\фڟDN(@~tUz'gNYyg$2/׀&rx g ?/׀&ryi% QQ1 M rnEO9fb qF?妽<Q<ҐeEq{(.2 '^%q@ ,__Ӗ^Y8k-̂>24 ,^@"4 ,^Zj ~‡ n{(&~E7\"Afx1qP8eׁUU^f joiH28~yqṔrFj~})q{H꾂bXj?,5PĖAeA^_LgA^_-5Pa@M粉/yhk@Suor*|K6gc6Yx5U_-5oʌ?a*/?iGq '^%q@]mNΜ_ Ind_LgPK-4Ґf7 (r 粉/yhk@Suor*|K6grxCQΜ8j]*%I`L_'@g4gI$}"XA^Y8k-̂>2妠 ( $i5x(q&sDǗ45r)79>R 祛3J2妠 ( -e^/ځȦ@TH3l.*l8j]*%IMzy2y ʋQ[o"_'B^tTz ,`pC[|eMA/P6Zi gn{(&~E7\"Afx1IW'1,?Ң\ "O0e^Nyg$2/ז_00ec@P9s)s͙B⍖^ UWD0AiO3}Ta57Q|^J? T_$́4Tz0]`&h&/}ĸx&Μ_ Ind_-5Pa@b oiH3Y(E@Sec@P9s)s͙%\l,Js`0 F .͠@J=^Y8k-̂>2妠 ( 6[&< _M1ȩg=,ٞ \T!(gpU~TK7eFS{JAf!`Mj q{;:r? 1%GY~=Ly{C\j"c}S zY<CQ᪪t9&#-5oʌ?a*/?iGi  $(%gNYyg$2/זoiH3Y0EsDǗ45r)79>R 祛3Jaert"/=cdghimnosbflp .0134uvw#26CF&+579;Sy8ADEILPx-ORTXkBMVN{"  L aaaaaf$HXYqMxAĉ$,,DA@!iP,,,,,,Y/j (5KڃH+ye:QQ/׭e:QE׭nvսWY/j  kv1|!p@!o Lj2Y[=Ly(3]؝N'-tU 35@ 'aWš]ת%A@]5˒!@{(dZz Pf;֨$BIfRuA,%L[J?i'($c!XC~~0ߐj=|AjƏG]Æ5oGUKڃ krD9[#گb kV@J b'z[I5V4תS^=9{2`Ƀi[$5%D3keg`6?j=|AjƏG]Æ5oGUKڃ kv1|,C=Ao Lj2Y[=Ly(3]؝N'-tU 35@K'ctOvq gy0gaWš]ת%AMuPf/gX]5˒!@{(dZz Pf;֜Og[I5fk)Q/vҚWGGaM[.uvMuPf/$Mrr&G^ ,֭C&<NMt|?ÆJ`TKǠ]YQZT]b׮B-)ݍtvսWY/j ,(Y,%b$C=&k$C2= Pfl 1v/bw8kV4תS^=Bƽ>>4U8jSV| ]d0@$Mrr&G^ ,֭C&<N k8iTDzdrdK;IAҷIk_׈g#ZW&Bƽ>>2L:@tU8jSV| ]d0@kv1| p8@]5˒!@{(dZz Pf;֜Og[I5fk)Q/v8l 6V-WGGaM[.uvE\V؁C%ճ(dǒ5ؽ޵A"MtU 35@^ ?igi(2`VI? L^x{aRL:@P N=R 8қ>]tvսWY/j ,$aYJ !q`Mrr&G^ ,֭C&<NMt|?ÆJ`TKǠ]=~ N=cq{ ?5H)z>z_XH Mrr&G^ ,֭C&<N k8iTDzdrdK;IAҷIlAkq*IH i i[>]tvսWY/j ,$$Mrr&G^ ,֭C&<N k8iTDzdrdK;IAҷInE-h{`(0($)؟ސf.? _; jޏw^ 5K;IA!qa ]5˒!@{(dZz Pf;֕~p].fR`65kސ kӱaWš]ת"%UKڃ  t.H+yd{U@j2cA^Z i&?ÆJ`TKǠ"'󗾃&YJ j׼~O%![U ].? _; jޏw^< WY/j ,$krD9[#گb kV@J b'z[I5V4תS^=Y?0PeiV~!*!iqQ WGGaM[.`gtUת%AD\V؁C%ճ(dǒ5ؽ޵A"MtU 35@EO/}L4Z@կx3k~!Ps.? _; jޏw^< WY/j ,(Y,%b!qa ]5˒!@{(dZz Pf;֕~p].fRe- UtvսVy,G]z "X.]d0HAo Lj2Y[=Ly(3]؝T!m$GXp3^^ ?igi(2^I?-^!XQ€y ,w4|?5H)z>z "X.XD]u~;Pa`fk$C2= Pfl 1v/bwPH]aLz9{2`{$Bb4-5(`ˇ~@p,Ű|2.? _; jޏw^< Vy,G]z_X5\" WK5gPɏ%k{jD-fkuA,%V5k?i'pq(@p<\;Re-.? _; jޏw^< WY,%b C="t.H+yd{U@j2cA^Zq=!m$Gˣ8iTDz,x7+cG]Æ5oGUDKW^rD9[#گb kV@J b'z[I5V4תS^=Y?0PeiV~!=)5Mt?dmz kWG჆TDzu EDK^ ES^ W.WG]G 9P6A@ۣU\ k<5$:X!7.:#./usr/vac/html/zh_CN/doc/hgr22.htmubp $
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
  idebug
  irmtdbg
  Step Commands
  C/C++ Expressions Supported
  Environment Variables
   PATH
   DPATH
   INCLUDE
   LIBPATH
   DER_DBG_CASESENSITIVE
   DER_DBG_LOCAL_PATH
   DER_DBG_NUMBEROFELEMENTS
   DER_DBG_OVERRIDE
   DER_DBG_PATH
   DER_DBG_TAB
   DER_DBG_TABGRID
  Remote Debugging Limits
">C kH6$ :V!7.:# ./usr/vac/html/zh_CN/doc/hgr3.htmubp$
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
  List of Preprocessor Directives
  Preprocessor Macro Operators
  #pragma Preprocessor Directives
  #pragma Preprocessor Directives for Parallel Processing
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
> k
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
  Compiler Options
  Compiler Messages and Problem Solving
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
f. kl58$$:X!7.:#$./usr/vac/html/zh_CN/doc/hgr5.htmubp$
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
  #pragma Preprocessor Directives
  Built-in Functions Used for Parallel Processing
  IBM Run-time Options for Parallel Processing
  OpenMP Run-time Options for Parallel Processing
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
nbsp kC9$:X!7.:#./usr/vac/html/zh_CN/doc/hgr6.htmubp$
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
  _debug_calloc - Allocate and Initialize Memory
  _debug_free - Free Allocated Memory
  _debug_heapmin - Free Unused Memory in the Default Heap
  _debug_malloc - Allocate Memory
  _debug_memcpy - Copy Bytes
  _debug_memmove - Copy Bytes
  _debug_memset - Set Bytes to Value
  _debug_realloc - Reallocate Memory Block
  _debug_strcat - Concatenate Strings
  _debug_strcpy - Copy Strings
  _debug_strncat - Concatenate Strings
  _debug_strncpy - Copy Strings
  _debug_strnset - Set Characters in String
  _debug_strset - Set Characters in String
  _debug_ucalloc - Reserve and Initialize Memory from User Heap
  _debug_uheapmin - Free Unused Memory in User Heap
  _debug_umalloc - Reserve Memory Block from User Heap
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
mag kN:$:X!7.:#./usr/vac/html/zh_CN/doc/hgr7.htmubp$
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
  Overview
  C for AIX Compiler Limits
  Type Conversions
  Synchronization of Stores and Loads to I/O Space
C for AIX and XL C Compatibility
National Language Support
C for AIX Files
ASCII Character Set
Debugger References
c="i k9;$-:X!7.:#-./usr/vac/html/zh_CN/doc/hgr8.htmubp$
The C Language
32-bit to 64-bit Migration Considerations
Operating System Migration Considerations
Preprocessor Directives and Related Information
Compiling
Parallel Processing Facilities
Debug Functions
Built-in Functions for PowerPC
Implementation Dependencies
C for AIX and XL C Compatibility
National Language Support
  Overview
  Converting Files Containing Multibyte Data to New Code Pages
  Where Multibyte Characters are Supported
C for AIX Files
ASCII Character Set
Debugger References
ols lFI<$:X!7.:#f ./usr/vac/html/zh_CN/doc/hgr9.htmubp$    <>aert"/=cdghimno14bflps .023vw#6CFu&5789;ISyADLPRX+-EMkBNOTVx˺&+,TK$AAAAAG$HPQanIĉ$((D`%q((((((Y0N(pAaԜP$Y /d&UiA*3Au#02 uɆ?Rq@uҒvoP9cHR9s75b]!(Hˤz8i\%fA" 6AxͤzaW'e׮&I@Ǻs$Ǘ25r%79o)'sj Bt] 35DL$UO3}'Ta Reference banner
Go to Concept Information Go to Task Information Refresh Reference Information Go to Product Glossary Search C for AIX Information Go to Information Home Page Go to IBM C for AIX WWW site
k|>$:@e5/:#./usr/vac/html/zh_CN/doc/hgref.htmubp$ C for AIX References Frame <body> <h3><font face="arial, helvetica">Please Use a browser that can handle Frames.</font></h3> </body> t= kT?$]:n7/:# ]./usr/vac/html/zh_CN/doc/hgsban.htmubp$ Search banner
Go to Concept Information Go to Task Information Go to Reference Information Go to Product Glossary Search C for AIX Information Go to Information Home Page Go to IBM C for AIX WWW site
IBM C for AIX Search <body bgcolor="#FFFFFF"><font face="arial, helvetica" size="2"> <h3>Please Use a browser that can handle Frames.</h3> </font></body> >h k"A$:ޙn7/:#"./usr/vac/html/zh_CN/doc/hgshelp.htmbp$ IBM C for AIX Search Help

C for AIX Search Help

IBM C for AIX help uses an advanced, full-text search engine that returns HTML search "hits" based on your search request.

To find information you're looking for:

  1. Type the word or phrase you're searching for into the text area
  2. Press the Search button
  3. Click on the links on the Search Results page
  4. Use the Back button on your browser to return to the search form. Now you can refine your search, or press Clear to start a new search.

To get more precise search results, you can modify the search defaults. You can mix the following options together to get precisely the information you need.

To refine your searches by including or excluding information types:

  1. Use your mouse to select the information types (like Concepts or Tasks) you want to search. On Windows, use CTRL-click to select non-adjacent items. Drag your mouse, or use SHIFT-click, to select adjacent items.
  2. Press the Search button.

By default, all infomation types are selected when you search except for the User Interface (F1) help. Note that at least one type or topic is always selected.

To narrow your searches by including or excluding terms:

  1. Type the terms you're searching for into the text area. Precede terms that must be included in the results with a plus sign (+) and precede terms that must be excluded from the results with a minus sign (-)
  2. If you want to narrow your search further, add additional terms, phrases or exact phrases. You can precede these by plus or minus signs, too
  3. Press the Search button

By default, every term you enter into the text area can be included in the search results, but in searches with multiple search terms any single term can also cause a match (logical OR). For example, if you enter the terms DB2 ODBC, search will return documents that contain either DB2 or ODBC, or both. If you want all the search results to include ODBC, then the default search is too wide.

To narrow your search results in a multi-term search, you can explicitly include or exclude terms from the results. To ensure that terms are included in a multi-term search, type a plus sign (+) next to them. Type a minus sign (-) next to terms you don't want to appear in your search results. For example, if you type +DB2 +ODBC, then search will only return documents that mention both DB2 and ODBC (logical AND).   If you type +DB2 -ODBC, then search will return the set of documents that mention DB2 but don't have any mention of ODBC (logical NOT).

NOTE: search does not know how to return results for a search that only includes minus terms. You must have at least one term that is not preceded by a minus sign.

To narrow your searches by looking for an exact phrase:

  1. Precede the first phrase with a plus sign (+), then enter the exact phrase with quotation marks around it
  2. If you want to further narrow your search, add additional terms, phrases or exact phrases. You can precede these by plus or minus signs, too
  3. Press the Search button.

For example, if you type +"mouse pointer", then only documents that contain the exact phrase will be returned. If you type +"mouse pointer" -"system pointer",  then search will return all documents that include the exact phrase "mouse pointer" but do not include the exact phrase "system pointer."

NOTES: If you type "mouse pointer" without the plus sign, then the search will return documents that include either the term mouse or the term pointer, or both (the quotation marks are ignored). Search does not know how to return results for a search that only includes minus terms. You must have at least one term that is not preceded by a minus sign.

To widen complex searches with character wildcards
You can use character wildcards as placeholders to widen your searches in any additional term or exact phrase.

  1. Type a term or phrase to begin your search
  2. Qualify the initial term with other terms or phrases. These can include a ? character as a placeholder for a single character, or a * character as a placeholder for any number of characters.
  3. Press the Search button

For example, if you search for +database -map*, then search will return all documents containing database but not containing the terms map, mapped, maps, mapping or mappings.

To refine your searches by including fuzzy or exact matches:
By default, search performs a number of word operations to determine a match for terms (Fuzzy matching).

  1. Select "Show fuzzy word matches" to have search use "word stemming" (deriving root search terms from verb and nominal forms of a term) to determine a match. For example, a fuzzy search on the term creating will return documents containing create, creates, created and creating.
  2. For more precision over matches, select "Show exact word matches".
  3. Press the Search button

To see more the search results
Select the number of documents your search will return, up to a maximum of 250.

 

the set k|B$:.d5/:#$./usr/vac/html/zh_CN/doc/hgsover.htmbp$ IBM C for AIX Compilers Search

C for AIX Search

Search Help

="Ari kEC$:R!7/:#%./usr/vac/html/zh_CN/doc/hgt1.htmtmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
knJD$ :T!7/:#& ./usr/vac/html/zh_CN/doc/hgt10.htmmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
  Establishing a Debugging Environment
   Setting Environment Variables for the Debugger
  Preparing a Program for Debugging
  Starting the Debugger
  Working With Breakpoints
  Controlling Program Execution
  Inspecting Data
arch pe kE$g :T!7/:#'g ./usr/vac/html/zh_CN/doc/hgt11.htmmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
  Establishing a Debugging Environment
  Preparing a Program for Debugging
   Writing a Program for Debugging
   Compiling a Program for Debugging
  Starting the Debugger
  Working With Breakpoints
  Controlling Program Execution
  Inspecting Data
s kfF$L :T!7/:#(L ./usr/vac/html/zh_CN/doc/hgt12.htmmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
  Establishing a Debugging Environment
  Preparing a Program for Debugging
  Starting the Debugger
   Starting the Debugger for Local Debugging
   Starting the Debugger for Remote Debugging
   Starting the Debugger Interface Daemon
   Attaching to a Local Running Process
   Attaching to a Remote Running Process
  Working With Breakpoints
  Controlling Program Execution
  Inspecting Data
a ma k G$ :T!7/:#) ./usr/vac/html/zh_CN/doc/hgt13.htmmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
  Establishing a Debugging Environment
  Preparing a Program for Debugging
  Starting the Debugger
  Working With Breakpoints
   Setting Breakpoints
   Viewing Set Breakpoints
   Modifying Breakpoint Properties
   Enabling and Disabling Breakpoints
   Deleting a Breakpoint
  Controlling Program Execution
  Inspecting Data
c k&H$ :T!7/:#* ./usr/vac/html/zh_CN/doc/hgt14.htmmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
  Establishing a Debugging Environment
  Preparing a Program for Debugging
  Starting the Debugger
  Working With Breakpoints
  Controlling Program Execution
   Setting Breakpoints
   Running a Program
   Stepping Through a Program
   Skipping over Sections of a program
   Halting Execution of a Program
   Restarting a Program
  Inspecting Data
gif" kuI$ :T!7/:#+ ./usr/vac/html/zh_CN/doc/hgt15.htmmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
  Establishing a Debugging Environment
  Preparing a Program for Debugging
  Starting the Debugger
  Working With Breakpoints
  Controlling Program Execution
  Inspecting Data
   Inspecting Variables
   Inspecting Registers
   Inspecting Storage
   Enabling and Disabling a Monitored Expression
   Enabling Hover Help for Variables
   Changing the Representation of Monitor Contents
ody>adgrt"/=ehinos14bclmp &.0;fw#7Fkuv2358BDS6CELPy9AIYMOUVWXxTԒ`)Żp`lhJN (PAДPBRK tISp1I8Sp1I8QG$A.W$TyS(ͼ7R*kS6bqz$_ 8s԰͂]خHr!jf9)'azY]|'X0(~Pp?Syԑ@+5܀ cvQR.f>j*nf)'z$ _ 8QXf.W$T fz93W= Ҭz]J?(8h)żjH5 9c(kS6bq/1'^W@԰͂]خHr!jf9)'azY]|'X0(~Pp?Syԑ@7c֨`c(h\a-]YoY1=BTGJ?8i-mps/1'^W=K %݊䊁ZG"j#vzV m`ԢQADDAN-REHVsGJ?8i- %拔~TT6RN8An|qBWlrE@g# S5~ȇI; S*:Eԣ򃆈[Ͷ @3-[p Q![n жsbʔPpv[5SBK(mpqG_(bN0ps԰͂]خHr!jf9)'azY]|'X0(~Pp?Syԁ|\2;BXݔ~T ٭Oڟ^hGOMl$ノz$ %~`0!a\P5HB_r!RN/T7JNaQu(" mP/mJ$+u](G ?eZq?!rʟʛيI|:W(,3`v+*=iZD?IeꞆX5uRG 8mH+=p XIc}ʔPpv[5SBK( %拔~TT6RN887 I׾8Ja=K %݊䊁ZG"j#vzV m`ԢQADDAN-RZ݀O*Ms~T ٭Oڟ^hGOi/4\4.QSSp1I8lrE@g# S5~ȇI; S'X0("*n>U9Nox_(bO$+u\IOW+@;$1(~T ٭Oڟ^hGOi/4\4.QSSp1I8s԰͂]خHr!jf9)'az4DOMj')7 IDn1hZ݋s`ʰ\QR.f>j(CIy?!rʟ^hGOMl$ダa\P5HB_r!RN/T7q =J?(8hʛzNSo W#/G5+@< 5o.(kS64.QSBK( %拔~TT6RN889Xf.W$T fz93W= qBuR"'^$BUxKx0 Wp u]UU7RʔPpv[5SBK( %拔~TPE?**nf)'zKYD-LG"$2OCwP`ԣ򃆈W9|>(r>y%=^[=\(4@'a&Eԣ4@]j}PE?*(CIy?!rʟʛيIa\P5HB_r!RN/T7q =J?(8hʛzNSo W#/G4qC=\1]$1(~T ٭Oڟ^hGOi/4\4.QSSp1I8Ga\P5HB_r!RN/T7q =J?(8hʛzNSo W#/GQ&0 W!E -P XIc}GJ?8i- %拔~TPE?**nf)'9Xf.W$T fz93W= qBuR"' qo6ڐ-Mj')7 IDn(,i&_zF(k W'a&.(kS64.QSBK(mp@,3`v+*=iZD?IeꞆ8:G 8mH^$BUxK$0+@`%$1G8wO]J?*QAOl֧mOi/4\4.QSSp1I81Xf.W$T fz93W= qBuR"' qo6ڐ-Mj')7 IDn(Ux%~am[m1Iln'a&.(kS64.QSBK(mpzKYD-LG"$2OCwP`ԣ򃆈[Ͷ SqگIs}MC|Q![}%J$QbWJ-^\yVkߔ]J?*QAOl֧mOi/4\|: Jac԰͂]خHr!jf9)'azY]|'X0(~Pp?SyԁsYln޳ use(kS64.QSSpPĝ{įlrE@g# S5~ȇI; S*:Eԣ򃆈[Ͷ @5E{ GJ?8`""' qo6ڒ*QSSIjYo6cu"YE@g#TTT($TR]MJ v5(_]td>
adgrt"/=ehinos14bclmp &.0;fw#Fkuv235789BPS6CDEAILRTWYxyHOUXjMԒpN88@@@@@A4%'(PYlhJN(PA%)Żpp6RN8Anf)' (?d%݊䊂Yo6cu"YET@]j}T6RN9SpPĝ{Q+=K %݊䊁ZG"j#vzUuRG 8mIX[mhKʔPpv[5SSp1I8pAn| %~`8QGa\P5HB_r!RN/T7JNaQu(" m"8SX݀஀g;z|4@]j}T6RN8z$ JqzKYD-LG"$2OCt+R"' qo6ڒ(z< w@ ;5k=p^t9anU(G ?eZq?7 z$Jq԰͂]خHr!jf9)'az` =J.4DOm$PBX݀஀g;z̔~T ٭Oڟ^hGOMl$|:%~`8pIXf.W$T fz93W= Ҭz]J?(8h)żj@B cvߔ~T ٭Oڟ^hGOMl$|:JqaR6 wb"k3֑ȅHC^neu`ԢQADDAN-Rg(7b޳ c4@]j}PE?**nf)'=MCu0p԰͂]خHr!jf9)'azY]|'X0(~Pp?SyԁzB WJ?*QAOl֧mOi/4\bq$|: _8 QXf.W$T fz93W= Ҭz]J?(8h)żj@,ng| 5oQR.f>j(CIy?7  |:W lrE@g# S5~ȇI; S+NaQu(" mP8݀g;z̀$(c(G ?eZq?!rʟ^hGOMl$@c/1'^ _8$԰͂]خHr!jf9)'az` =J.4DOm Z$1GJ?8i- %拔~TPE?*(CIy?7  lrE@g# S5~ȇI; S'X0("*n>U9Nox_(bO$+u\IOW+@TVkߔ]J?*QAOl֧mOi/4\4.QSBK(mpH$,3`v+*=iZD?IeꞆ8:G SqگIs}MC|Q![}%FiD%~a7b ){$1(~T ٭Oڟ^hGOi/4\4.QSSp1I8QXf.W$T fz93W= qBuR"'^$BUxKzJ5_nŶg)_*MsGJ?8i- %拔~TPE?*(CIy?7  zKYD-LG"$2OCwP`ԣ򃆈W9|>(r>y%=^6į=U\}zm@/a&Eԣ4@]j}PE?*(CIy?!rʟʛيIzKYD-LG"$2OCwP`ԣ򃆈W9|>(r>y%=^[=U\W^C(+M)P XIc~Qu(G ?eZq?!rʟ^hGOi/4\bq@S԰͂]خHr!jf9)'az4DOMj')7 IDnIWcv. Wr| 5o.(kS64.QSBK( %拔~TT6RN8( zKYD-LG"$2OCwP`ԣ򃆈W9|>(r>y%io+@ /ij_*Ms]J?*QAOl֧mOi/4\4.QSSp1I8R6 wb"k3֑ȅHC^nz~Pp?Syԁjn>U9Nox_(bO$+u\I\7D=`ظsEԣ4@]j}PE?*(CIy?7  lrE@g# S5~ȇI; S'X0(" m}rS|PğHVo z<4J7in_8+Wv(~T ٭Oڟ^hGOi/4\bq@1Xf.W$T fz93W= qBuR"' qo6ڐ-Mj')7 IDn@+@ЖktTW|8d\޳%RʔPpv[5SBK( %拔~TT6RN8(zKYD-LG"$2OCwP`ԣ򃆈[Ͷ SqگIs}MC|Q![}%F+@esa"޳%RʔPpv[5SBK( %拔~TT͂]خHr!jf9)'az4DOm ZzNSo W#/G7+@Ocv.2Qu(G ?eZq?!rʟʛ$%~`8AXf.W$T fz93W= Ҭz]J?(8h)żj@TWE?*QA ??SyԑRʟʟKTyS(ͼ7R*=i *(G%du(%P0=3>
adgrt"/=ehinos14bclmp &.0;fv#2Fuw3579CDEk68IPVxyAHMRSWYBLTUXOԒ)Żpplh5'(PjN(PA!'%:Sw$!!!!!'mq@6RN8@Zv+* Qe)ԊYfcSlkS6bqz$0q@԰͂]خH fz93W= Ҭz]J?(8h)żjHS5܀cAn?*QAO ٭OڟʛيISpPĝ{a+zKlZG"j#vzUuRG 8mIaMcvKvGJ?8i[5SSp1I8p7 I׾@(,3`v+*ٞD-LG"$2OCt+R"' qo6ڒ(z,a-]l=j9an[t*O~TeZq?7 z$Jq԰͂]خH fz93W= Ұ-uRG 8mI Q![n pW@޳%(l֧mOi/4\bqRSpPĝ{0p8 zKlZG"j#vzUuRG 8mH$=ln-Dnƍg9)(G ?6f>j(CIy?7 z$q+G=K %݊䊀g# S5~ȇI; S*:Eԣ򃆈[Ͷ @G(7boY14@- %拔~TT6RN8 =MCu%~`8)a\Pr!jf9)'azY]|'X0(~Pp?Syԁ@-Dn(l֧mOi/4\bq /1'^a+ =K %݊䊀g# S5~ȇI; S*:Eԣ򃆈[Ͷ @! cvC=p<7(G ?6f>j(CIy?7  SpPĝ{%~`80,3`v+*ٞD-LG"$2OCt+R"' qo6ڐ5[sJ(+?*QAO ٭Oڟ^hGOMl$A'_(bN8Aa\Pr!jf9)'az`[oR"' qo6ڐ5y+݀]?*QAO ٭Oڟ^hGOi/4\bpBSpPĝ{įlrE@[3֑ȅHC^nmz]J?(8h)żjB(kQ^7̲KS(l֧mOi/4\4.QSBK(m Pa\Pr!jf9)'az4DOMj')7 IDnkyo=<7b eZ@0 7|W5]J?*QAO ٭Oڟ^hGOi/4\4.QSSp1I8@԰͂]خH fz93W= qBuR"'^$BUx5J6J@)7M,(~TeZq?!rʟ^hGOi/4\bp@)Xf.W$T=iZD?IeꞆ8:G SqگIs}MC|Q![}y!e/F _z.۬nǭP s}MÆE|$J.(l֧mOi/4\4.QSSp1I8@c/1'^+lrE@[3֑ȅHC^neu`ԢQADDAN-R@;^j7`+XW>QRmj}PE?*(CIy?7 An| PS԰͂]خH fz93W= Ҭz]J?(8h)żjB(kQ^w^QRmj}PE?*(CIy?7 =K %݊䊀g# S5~ȇI; S'X0(" mW9|>(r> z<x%~a$7bې c݋ F9GJ?8i[5SBK( %拔~TT͂]خH fz93W= qBuR"' qo6ڐzNSo W#ף(a`[_z6-́od.(l֧mOi/4\4.QSR6 wb"-HB_r!RN/T7q =J?(8h)żjB*n>U9Nox_(bO$+u\^$4J)vcv=j yOS~l8dW5SoQu(G 4DDDTAN-REJ?**~-PR-LnT6H fz8UOOJ?*QRKUJ>-U(%Ԡ`R@bq@ lwM$:T!7/:#2 ./usr/vac/html/zh_CN/doc/hgt19.htmmbp $   <>adgrt"/=ehinos14bclmp &.0;fw#2Fuv3578CDEk69IPRxyAHMSVWYBLTUXOԒ)Żpplh5'(PYlh5'(PԒ)Żpp6RN8Anf)' Q~-PK(mEAJ,o1Ԋ-mr|:P ,3`v+*=iZD?IeꞆVW_ =J.4DOm$P)݋n@17e(kS6bq/1'^JqlrE@g# S5~ȇI; S*:Eԣ򃆈[Ͷ0%]G;z|4@]j}T6RN8z$ JqzKYD-LG"$2OCt+R"' qo6ڒ(z,a-]Yzs݀U(G ?eZq?7 z$Jq԰͂]خHr!jf9)'az` =J.4DOm$P-Dn%]G;z̔~T ٭Oڟ^hGOMl$〤|:%~`8pIXf.W$T fz93W= Ҭz]J?(8h)żj@ %cv.j$+u4-昦4@]j}PE?**nf)'(7 I׾8WzKYD-LG"$2OCt+R"' qo6ڐ5o݋#f@tHVʔPpv[5SBK(mpH7 I׾8@〤lrE@g# S5~ȇI; S*:Eԣ򃆈[Ͷ @mj$+u](G ?eZq?!rʟʛيI_(bNWzKYD-LG"$2OCt+R"' qo6ڐ5p5 k|4@]j}PE?**nf)'|: Jq c԰͂]خHr!jf9)'azY]|'X0(~Pp?Syԁ8݀#f@0 QA^6QR.f>j(CIy?7  =MCuįlrE@g# S5~ȇI; S+NaQu(" mPךܣ4@]j}PE?*(CIy?7  |:_8 =K %݊䊁ZG"j#vzUuRG 8mHEy+݀|$>QR.f>j(CIy?!rʟʛيIz$%~`8@԰͂]خHr!jf9)'az` =J.4DOm!樯cvk?*QAOl֧mOi/4\4.QSBK(m P,3`v+*=iZD?IeꞆ8:G SqگIs}MC|Q![}y%^g+D=<7b Vtz(S5\{Qu(G ?eZq?!rʟ^hGOi/4\bp@)Xf.W$T fz93W= qBuR"'^$BUx5J h cv=jSo2.kEԣ4@]j}PE?*(CIy?!rʟʛيIlrE@g# S5~ȇI; S'X0("*n>U9Nox_(bO$+u\^$iKV_z.۬nǭP s}MÆEc](~T ٭Oڟ^hGOi/4\bp=MCu 0 P zKYD-LG"$2OCt+R"' qo6ڐTWת~T ٭Oڟ^hGOi/4\bpa\P5HB_r!RN/T7q =J?(8h)żjB*n>U9Nox_(bO$+u\^$^ _z6-ض$7brQlQR.f>j(CIy?!rʟʖKYD-LG"$2OCwP`ԣ򃆈[Ͷ"^$BUx5JX+@%j,|$>Qu(G ?eZq?!rʟ^hGOK %݊䊁ZG"j#vz(NaQADDAN-RSqگIs}MC|Q![}y%QWKT*77Æ@sY9RʔPpDDDOOm$T(mEAJ,o1ԊZG GJ?QIjG%P0 kwN$0:R!7/:#40./usr/vac/html/zh_CN/doc/hgt2.htmmbp $
Compiling and Linking
  Setting Up the C for AIX Compilation Environment
  Invoking the C for AIX Compiler
  Invoking the Linkage Editor
  Specifying Compiler Options
  Specifying Path Names for Include Files
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
lLO$:T!7/:#5 ./usr/vac/html/zh_CN/doc/hgt20.htmmbp$    <>adgrt"/=ehinos14bclmp &.0;fw#2Fuv3578CEk69DILPRSxyHMVYABOTUWXNԒ`)Żpplh5'(PYlh5'(PԒ`)Żpp6RN8Inf)' Q~-PK(mEAJ,o1Ԋ-mr|:P$,3`v+*=iZD?IeꞆVW_ =J.4DOm$P-݋n@ƃXݔ~T ٭OڟʛيIOSpPĝ{q+zKYD-LG"$2OCt+R"' qo6ڒ(wt<1ʔPpv[5SSp1I8Qn|+ QXf.W$T fz93W= Ҭz]J?(8h)żjH{TcxXZW@޳ cvn^ʔPpv[5SSp1I8 穸_(bNį =K %݊䊁ZG"j#vzV m`ԢQADDAN-RE$+u yd4@]j}PE?**nf)' 7 I׾8+R6 wb"k3֑ȅHC^neu`ԢQADDAN-Rc-[p(7`жsbʔPpv[5SBK(mpH/1'^_89Xf.W$T fz93W= Ҭz]J?(8h)żj@cv.v(7e(kS64.QSSp1I89n|p+=K %݊䊁ZG"j#vzUuRG 8mH7c֨HVQR.f>j(CIy?7 OSpPĝ{į(,3`v+*=iZD?IeꞆVW_ =J.4DOm zgp5fzV 5oQR.f>j(CIy?7 SpPĝ{%~`89Xf.W$T fz93W= Ҭz]J?(8h)żj@ sYln޳ (c(G ?eZq?!rʟʛيI|:WOR6 wb"k3֑ȅHC^n[|'X0(~Pp?SyԁkQ^(G ?eZq?!rʟ^hGOMl$C/1'^+AGa\P5HB_r!RN/T7JNaQu(" m5E{d?*QAOl֧mOi/4\4.QSSp1I8@In|pJpAa\P5HB_r!RN/T7JNaQu(" m5E{+XW>QR.f>j(CIy?!rʟʛيISpPĝ{lrE@g# S5~ȇI; S+NaQu(" m5E{RʔPpv[5SBK( %拔~TPE?**nf)'QXf.W$T fz93W= qBuR"'^$BUx5J 1F _zP7bqWs`l~TQR.f>j(CIy?!rʟ^hGOMl$zKYD-LG"$2OCwP`ԣ򃆈W9|>(r> z<-WkTJ77Æ@@-7(~T ٭Oڟ^hGOi/4\4.QSSp1I8@s԰͂]خHr!jf9)'az4DOMj')7 IDnk)z+@unopȸzUEԣ4@]j}PE?*(CIy?!rʟʛيI ,3`v+*=iZD?IeꞆ8:G SqگIs}MC|Q![}y%5C_%~aʿcv.P\{;0S48gtJ?ҋGJ?8i- %拔~TPE?**nf)'zKYD-LG"$2OCwP`ԣ򃆈[Ͷ"^$BUx5J0 Ucl݋n@ %g  =seRʔPpv[5SBK( %拔~TT͂]خHr!jf9)'az4DOm!7}7-U(%Ԡ`R@LG kTP$:R!7/:#7./usr/vac/html/zh_CN/doc/hgt3.htmmbp $
Compiling and Linking
Tuning Your Programs
  Using Heap Memory in Programs
  Writing Optimized Program Source Code
  Creating and Using Precompiled Headers
  Using Pragmas to Control Parallel Processing
  Minimizing the Size of Object Files
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
kQ$_:T!7/:#8_./usr/vac/html/zh_CN/doc/hgt4.htmmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
  Interlanguage Calling Conventions
  Corresponding Data Types
  Using the Subroutine Linkage Conventions in Interlanguage Calls
  Sample Program: C Calling Fortran
Debugging Your Program
t k#R$T:T!7/:#9T./usr/vac/html/zh_CN/doc/hgt5.htmmbp$
Compiling and Linking
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
  Establishing a Debugging Environment
  Preparing a Program for Debugging
  Starting the Debugger
  Working With Breakpoints
  Controlling Program Execution
  Inspecting Data
4 k!S$ :R!7/:#@ ./usr/vac/html/zh_CN/doc/hgt6.htmmbp$
Compiling and Linking
  Setting Up the C for AIX Compilation Environment
  Invoking the C for AIX Compiler
  Invoking the Linkage Editor
  Specifying Compiler Options
   On the Command Line
   In Your Program Source File
   In a Configuration File
   For Architecture-Specific, 32- or 64-bit Compilation
   Using Pragmas to Control Parallel Processing
  Specifying Path Names for Include Files
Tuning Your Programs
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
R kFT$ :R!7/:#A ./usr/vac/html/zh_CN/doc/hgt7.htmmbp$
Compiling and Linking
Tuning Your Programs
  Using Heap Memory in Programs
   Creating and Using a Fixed-Size Heap
   Creating and Using an Expandable Heap
   Changing the Default Heap Used in a Program
   Debugging Problems with Heap Memory
  Writing Optimized Program Source Code
  Creating and Using Precompiled Headers
  Using Pragmas to Control Parallel Processing
  Minimizing the Size of Object Files
Using the C for AIX Compiler with Other Programming Languages
Debugging Your Program
= l+U$:R!7/:#B ./usr/vac/html/zh_CN/doc/hgt8.htmmbp$    <>adrt"/=ceghimnops1bl &.04;f23Fkuvw#7CP5OUy689AHILMSYjxzDEVWXTI! C`pppppr,pA(PprQ,pA(Ppr!俎P0888889n]I89n]I8(~Jd*PI1 r*PIn8 X ۬cRr 9nWr^ %~0cU$?r+9P_cil89; r]eѿnaWa,Sq7K9GcU$?r+9P_ %~9R Sr3CddBc9Tl7ѿ8j%q"0Fv5'(@Lj*Bپ.V)~qy+LLk%L[~p3_c uO{.#NT=a)~D"& _5=T -=2RvѲ߷FB)%|*įX1ڞ8 f8ZX1n)13Gg StofkPc q A5 ,0 O= z9Rq &4oۣXp!XKuuHӕj Ja9nIOT}g\,R㋘V7F#Ktl7 35(y18) %Jc 1= zF7 4]~La85ѿnn%2LacqRL3uQH[7qۣ~߄~JnC 1.`h Ot lcV$V:T!7/:#D~ ./usr/vac/html/zh_CN/doc/hgt9.htmmbp $    <>adrt"/=ceghimnos14blp &.0;fuvCFkw#235Py-7ILRSTV6DOUY9:AEX8{& VA撚 $H 摥50H"AtL4$0*uraĀ~9H0q&$I0W LE-z&R/7ZMš]KA IY1~pq )0W L}bz"cAZw85,Dz Қ?dknaš]KA kr_3$Mrv&B[DM[=1v-Q;֜Og[Et fkS^==\x tnaš]KA kr_!0 5\& ,SV@Ly(3]TNB_!mkl0YL x,E\ . ,AŴt خWA}s^ThGkFM[.ü*uura Mrv&B[DM[=1v-Q;װHYa~`TKǠuWɃOK9BdŴq"ƿ5qXŪA45Onaš]y1,U% Ðt.Ijd%@Kճ9J b{[E,DzY?z ?4-L[JW!?L;s3kr\zg@>]-H)z>~wQnn_R 9)Y1~@{ÐA0W L}bz"cAZw: h].a~`TKǠ`-zةFzk1jh]-H)z>~wQnl;ɉb_Y/)5\& ,SV@Ly(3]TN!mk`3_Y?z ?4-L[JW!?iID3k`9C>]-H)z>~wQnl;ɉb_Y/)A0W L}bz"cAZw` h]dh2`RcJLE!X*>]-H)z>~wQnl;ɉb_Y/) 5\& ,SV@Ly(3]TN!mk`3_Y?z ?4-L[JW!?iIg$"@(pGˣ5oGbX?y1,U% Â@0W L}bz"cAZw` h]dh2`RcJO5]Q8Gˣ5oGbX?y1,U% Â@S]5˒aڮ@ n95lDǒ5صD^"f? 35uWɃOK9BdŴq"ƔRD3ke@醵~3t|?0ZSV| &%~5˒aڮ@ n95lDǒ5صD^"f? 35)Q/=O-^&?, AҕDOqeg)R / ׮A>]-H)z>~d-b!0Mrv&B[DM[=1v-Q;֜Og[Et fkS^=$b׮@<t u(`335u)Q/Enn )RTKĵ@J(kց2 p@&G?%* h.`85 k.$d::7/:#d./usr/vac/html/zh_CN/doc/images/cforaix.gifg.ht $GIF89aDpU ^UQNMJIEss=c5k[ fI*'!ŷnkhea_[YSQQOKIKIKGGEECCCwA{?w=v;r;n9j7f3f5b3^0Z.WVSU+P)K&F#=KKICCA*!Rsib\uEUe>}M[:ԌA<*gBJ7$•iɮ630NJFFC@6n4zZ;}YC;x7j0R&C ke`o3%,D˜~z}bu{cffbcuvvc}bc~gG>u*\Ȱ#؇D{fq-nO?Gh˗0cʄO;7s @Ο8 ͝:sZ9:fJJjbڎ3c_+v1fM'@T?wҪݻx÷_bCx„1{/H3klOς?2Sg0| ԢY(6H?ml.oǎ3wȑa^3CvfD6=9߻| mQT4zd*Wg]wڡφx{PPP01!u'위zؑ"w>7Z G=YHA!VFyXaHVW#4GǛ᛻5't@Zxfd&}aX&c v@XyuȥuMN!W~P^u?4Ot^$"5 ^@su%`ZG+xGk1D6Z`(/%cKᘌ%oV6b xV|qKbA>RҨ%&H1CQ;T=6Z}PHoԚA`⭺}&_xC^[a*lȄa(q)g73HJֱ arQxa[3 \Bj]ׄAqU)'=!!Yǒ< 1H1yȨDi \t7Bȍ$qp4cn->+qGw֍g7 +#u{_{11vs"0bc*Ÿh *dj1'/uxGb#I e[ v ݈R6Wn~7"B3Ȅ!<#ب"C) JARc7L FʕoU# 9ޔ7/7Zb8Z4,$x:8%J4÷@PHG$u.lO"YjG$ruF >g%c~b jH"%`GU3A`x08 % wFMb:e&KZ,BzF홇|udO ggx\|n),MPldk.G>A CA16 *E" 5 % fބb(&b)N\ x@bTKAh(15%U#nI{1WGE ګV p4WC/6uRƒ FatbaEFt'MJ[ZҀM{:ё;-"ѥ&Wi#JǠюfujjYZXuf]kqY ZiX#:XPζ)ix,s;n{bdmB{;wx*|TaV6t((os[W1t'g2ckm600r-*:ciTh:N VȵM(Oi],7< 2qkv9esN"q*,9s|fq ܹQK*J$ :d0-@*,u?CAC5(%Q=Hh ԓ&@-[`A[`Ǻ7ot0ʨU tIcڄVկ~ @\?Czk_]@_'GZɒO#m\ tp%)$&Y:Yvy;DF9~i=|9^Yi9Y~ɘ)y]Y9b*~ٓk mIr{ yy陶ٛ)iYyșO霆Ijpٚ`)9Y難Y9yչ^ɜٜYyyٟ:Zz +9/yٞ ٠&z(*ʠHp-ڢj/4J/:6 ' >ZEpXFzHZ0 *L*R:TZVzspZY*]JYs0G0fZf:ezlڦnojp:qzr:rjwjtʦzʧzvn*mZF ZZjJ:ZzzZJ:` zګ:iE@{zڪ D@E ZzJ@jڭ@*Z䪭皮亮ڮ* z?ʯ> +{z ۰>0 ;{+۱;P<&{(*{OP;0J 8j+ [FkL۴<Q;SkVZ=0=е_;d;\ a˵^cl]۶l;v{uz|۷~;۷sK;L?ਏ:[{۹66[t˶z:к;k:ۻ88P+ț8 Ļ˼˼8pk{{ۛ7`߫[ +仾k廾Kk ;˾-N|rGpp6&55P2/,2<4\ 1>>000D|GJ}B |K| VW]P )K > ^~">$% '~ ->ڌ0఍ْܰƝ>%'Iؽ-llJ SU>TVX^`~bcedfhnp~r=}6==->M᢭}}ۍ# *-M]/)٘ږ}ݩN|? pMIQ\ž\,ɾ+@l.>o.N~ڞnܾuynܧ~Mݱ.㊝ټڱ}}~ʭ]z%`19,E=Dm}ܭXʮpN-<ƌ|2_lfX9h9@?>:E/FHGJDp, ?n_/Bi qs?}8<]_HOP=Pn] L^<ȶalŠ]lf\Y\PB:<_ޮ_嵟oWΒoW|?CNجyvO\҂?݁= .N]!=L\?),, + +,,+-././.00225552655J+JJI`JVk)wjs P0abHC4 J$H%hlb#(@dē BT0ʇ NT0̙2aބɲ%D(O JQAU RɎ"ƫ7(qP$H+IZAŊhv֓J5xS-劕_fA1Xe6%^̸7lDAp\9kѲfM0P.Nm=/4pA=wݠuoῇ@ 0f$}M(J֫#.sʔ{"}O?>U9?ϿG'VZ x^#W9xuB[sr)zu^| WK`"-5fX2<&Ye8P㍚yf9J@JÐDid:Ò9<`le؀!@lN0Θ)d&q"\PpBMC)avP'ݭxdm威MQzIVSR)GX`mEZj *yzE*# 'NX]w}"}J'撋0̋ȘUf(2d߂`˃YadDvQ;pٌ`I wqph  +1û5O@)'uJBrxʯvg xUUD5Q9z &؈<ϗ|% }  4FI[P+]~X,,r-aa˘d68cd7bI;Нw=CLpr$j`Gxe4i`EdČ;\l:Q|ʙ޺sqm'AawX"+Xʯk3 }*`UzUSvD+YM{4[oEI urm'[<*o,_ÈfCFړ_նRF[?[f@o< G8̠}p @Paۈ4yix50 hȀ`; ; vN9CtRǰ"D:='c btr-.&LC#S&6AB+2OX*U%g,+F Nl狈bu< y< XxA,IbY,:lI0&2Fi#qGoL6$ i[ݚےh҂.wK 0Ib$<  @2P0rgnt$.v8>vJ":Iw)O(tvg0 */c ]~ [ah!FJ"Y( ;!",WTԄE/C%X)lĖNkde&Gj+sKXH2ҷꆮ+p}ApA0a0:̮ D1Z"E@kulf`@@H,^OXL ѰDb{&6VMNrld!ۮ;AOY1вE P$TXx(B -" \yZk>A΅/hKc2Rr~0%f*SXĀk/R1CP&2LQ#"JJ+7Y.5\LkكnU/Jh=Y5h 0K : fD nd8„55auq5DXXcAplGx_ :Y\ ]o;iE<yh"6BԚ$qLFVyå.j!ƚf2,Z{6 F:<ޤnb,{.9]}{jUժ5a}yB7U~h(\A(zX[8+V PUXulxXVujZz']f5;dcx.jP`""XE0%OqGi+ar,=-'KYɊY7>: fsfj^kT]6&)D/N4{F(,4K a0 ,&XJ|PBB$LS<:9=׹6ƲXܵf!`ӽiM .Vv 0aCfiUfFe|vWLzugk]}Kx*NT=|U:x wF@Sz'! /ҧ@'DI8X0@a:[=5rosZw{&=HG$aup3*,x  K[FdlGűozY,P "/I??S1xgTGxxgxUw.y6^^38AhGLaULbuhqhW1hzzzwG$r6m :GM`m eP[keX|#vX򠅏UOp "&`Yt'/#Gl5Z?(% @~FQ=23 r>tq e"PF -B-R H-IweC-uw4"BrJ$o47uF.gguf.Up^gC&5h$dhUV/h77ȃʨ9z%`O`D`d1PА(p_腭bBaW|fHbcHX> 'l}b} \dFXG1N)O*%"* )E_T2ȳYc ! c- .R"`?XlUJ^HBgw7t7v-T(p'v^ꅋ pSyX%LZy-y6z3h4Hs0HHЕ^Ƀa"M-d )PE &Dlat8y&K\ˆ_TI6qGIs˸g8D~)Y3k&O0ND8;C'F- Xer( Y)) q)3y )؈r\u'S`QA^9`$U57GiB:Ag6yp'AgJi[pYVTW\s` GƧjpD'hjl:&ks9pbJw䐑)?,oc G!8!.ɡ1#Ҧ>E ,%\9e?f&.G4H7>*IŹd8ÉH7g^4yPAٹU#9zXq[Z\a=Nw I0D*rli}ln(}Af2"cwQ!ձnCqA-2 85!%?pc)%-0Jp0$w 74Z%kGN:Dzy Cٜ~CשAzUV_Ÿqjz \JR{pVa(:z`_ a`(%(ЖM`Mg A(}:6'> &F|!iD6Dͧ4G]ܺ$4J4yX|DB%PEځJVUٔƅZzY)]9uYg``pKpVXg gUP+' ΐOjwK(}~y* pSI>LFq='1;\FG˺(<*\kjb6(Hr"k6A@/jG1]:p:lyUܛ|ƀf'HA[؉&Tk+q Zy8(!Nk [`0)'`8 aQ`ɩFE)Nۯ=۴}X};; h9\fT( ).#OD}E-}mA[ʍqa ރբxSoo@ixlsī+^L$,pf>x?HԙJy9U@4_8ktǺUq:`*30CmzQ\m`)8/m˿%IЖ)rK@]yd1'ֱ}S2ZWgH(Qܐ"\-Эb^APh^.\ML1Z0\ĐҢ8ޕ_6\J$+ f3Tj-9U;Hiw]'hZA~KکUV؇_k}׌f81zJp,`IPdZR˿|B^_NeJ'NMb?; " 2\F.A0g.])0Gfpc,,iPz.u6ދ1p~^Ĝb=G|,kFTnAA.E;A=,W5،[ ˌF0}_zKcK q'aD/+p(`$%kH+&ZгޅӞ7qMk1Ǧ4,<-#6qݹNN>^ϝJwo=@7fw_6]d 'L<1Ys^r=s]t^G[B k'\\rرތ9(uy \ eM-a읍MV0?-t3j۞ېy:P s'"c)  &%&&C% BA#A#AB & '' -//0012125i5666p886778786::89w9:9:w:;;;;q;<<<>>Ǐ<<Ȑ!@"BH"Aj|x0" C$BdDN4K#0A2&949̟@}9dGU +aHM)`ڬYf͙6aDQ$ɉ5a*JM-7i_K']ڴpS&0^ł/v|x5s"D0gφbB,|ɀ c-0\ ς%tQ? -QGMQE}PFJEeXH#d1N:O2 P3BfXbQ ZpJqFgDQg` CDl% F d[eeU88Jv\XdaIfb)\|&ghp.|xЂ+ %BvTgp8œrȉ rd*Iq8' RB *H*ץB vk.1豧zT4٧M5Ҁ8W73pdkxA1o4.{rGxEʄoN*/2S#[nidda:ʬq^&r .l'3z檠=)'i$\uF\(Hgȏ  5w׿kٹyl5!cW{ÍaCz;8AsǴQ8{,(j1B !ZH49"܅̽\jF"?׌Bv+Ի&i]G*d]B0oy*vS< O j{ JM<"SIQDb[G%`x3@ 8{NέW#rWK܈P9'qSuCz[2M֛FD41vųv3ke"^%uMJ415M 6; 0e 60dNdX< Z:2h,buX6б7`be01 (AՏ~%}4_wkF\(yγ+&Ch 5{S^#5e:h#@  7qd*z1FsRe/{^V1aғx>XcBjc ^5*lfls NQֶjvṅOb .@v $ eC \a6EK\ZȠ&(-$f %"*X%, H 05!EW3aWU"ͥTt>&(bSǿOxa2tRl)l@ vp@` VbX9Z68&6X1vy yo `o0ydO %oGZ*5zSHpd?hfIM ncS!,q6{q& J8JBpAK8;U/_*q}r}v}/?s5iU_~0Q`Zw vijVtWExEDtXadr<`b"' 9Dev%XvЋPH#0Ym 0 P'X Z.!``hi)lpoh=?@[4R~?z pİ+ɕ 2(꘾0+%WhA3rI!iiKT5}&URԚL3At/i9W؛q围u~F&<)vY "5bP^`dD7=ІXD}Bo"mtxa M`,@ `jyD>*Р[@ȍ46t zV6'a3-I[3{|Eգh"sFio(i&d5yxGytْ[:8Ve`~!i k)k PeEwܩ2 X@eP7ZZ` Е%I000m'ZzXk` `!`JQɑ q*pJz|WRQ6pp T3bAI+Z*ꢘ*xz|A-rU6}9Gsx 'Zjsߧ凱CX ;WGTvFq 7pAzz55#6f 58(]'X!cN`|Y[Hx7T8M!U2s5g'rs/}` ~֮;[j)JeIdI0 3=\l!^Na`NƊØ+pbLUBONʆmEWV#la4dK9:0WM<'o`PX0Np/xS &,a#\@$cKB`ؽA;θoЖG;jppDIi+ez&3^F|BIɬd˄N0O6677p2Lh&^^)㊤BΞFP:Eh&Ilbapz;d^|Ec6Pb<8ƀdAu VZvdaJ@u0(VGhQLf lv@%f``0kk2Vlt9'Nml=w9FPk`iyL 60P  3(B .B֗(G4Ik,p\R'f T! i1 ?k]F <&z{B N):LTT93s^Djٷ-# Ä{ۃ LjKQYOzp[%eXZ@HJQu``3Zv`m`.7pvPmP_p]+ҭigbJ`uPVnvm`ȉV0YMn|eEavl7L2x .' IM#  .!`G#3 `2xydײј~-zM{pzc36';3X'Y1b ( ٩ax9ͥ7;-^hmso+ {t"]tD @])cPQ1-[I#cJJ=@;FPGpjvk` MP޾NlQvG[`+t)@v up>0t~3xeDl / TS5c' j2XQ?;=L<.g@^D۪E~uكwO{݁3 (kԵ5AZ3,#fFң3 605kހ,<8svyKi,\iWAWü=K'r82`mӾMmˆ0IhY?$z`O&l`.Yrҵ(mf/V)f`b_V@Xm1I3v3 @ I3 n֯/>xĖ}݃H6!DM sGssHHGF+JJJ+gak-avj:MeYOWzFujHQIp%dO=CbD@X-kaGatsIaAFQ4H/g Ber U*CHtQEeGg10I#@Y !DLXaeNsbW=tܥKe/޼K/Ӈ/}Y_u2)ءAW@a QDIXaatXIg0؁\ r!!08da̠U0eP+d` +2<\60 mHf" }aC"Х|"`fMi%nsKr9dpw“F2PL \Fd&SW\#mHtNas✩RŀKs:9`U _&)ɮ3$hR3!w $7*í[]]q׼`JϽALE=ADLk)9XBP(k{Ԕ0^|3j 4 Ght`!Y'`= <H#lb(2:袄1@n 9bY2"0P"o̢Mm&N'vcRp~)PlIbd Xq$\HԵ(1"qufTx$:.v:ٻOf|(ksSZ+Ԗఈ-u] ϼ~a'_=f a^zg}!3?J28U{Dd$KARp?9"гL#dJ=> a)D bKjaP-jMJ_r%\3>(z"PDE42tM,[57; ({oO7M U)yQj'(JQ n*ޣA{݇f} |!ZY)('IDwE4ߒ1 ڴE% ?ɓ3i w=]zoDE#̓EQrt5Ωz)z9o]_Å<:"U0 YVZ=0fw]^Sy)]#'jtX_ 1>tL= 'ycf5hf&ZgEf%^yah3u^dydq-q]47Mz&'(*S{:_|77`/Gj`45)F)Se)w|7klA?|/VEwH'b$FlXiu,V*ܧc0 ,A,Zc!m΢~W~~<-nHdb=KLvYe>L hoaxfVo  g akx`-pgc~͐Hĉa-x_&pXyu 6(hqqG&E28rFiy`A{7{X{#(zLqTl{(q$G]sss&'q ^GaX%& }GO9t$jrcyW&vcgF;Id? H.|'Y0tY oGEzg G +@Q25 Ӏ lߕ?1Rʠ0 0NM`x2H) `F P aEy74Ł#Gy`^(&.&qrtFT)'{{_胡r{jGjEvgai&q+qT|-kh}HVu} 3&,rIŒǐ W-cHnXn s7Qt/xdX @0at_ Qp0"E_]Ou O!m`"FIP)"1BQvPOƅsF?sPvi8SA&(H,z6.A_^FS:x2*{5TxFjT8_6w$WN){t|cb.RRg&{d6t:Q0fIupcv--ܲᇲWnKv*Y "IwUwv+Lj١0 c aM5D$T6D4```d2CcCJ4`[O ?(vGcQmG. rP$QwjpRb8agRƌ"G7@z9`}'R81`VF`7hNmC qhfcEhs&F}W+a:"ebh+,;~#WvXk*WZ'2Ey8MxhQ6mů6ga8d}tllgF,]-cgw.hw.ݣLeVƜwk " "]NH`PS9SdOwp$@04 uO="Pk0K0:'s2`01R$dPB2 *6`PJ hpzqyyZ&Z};ظ7yK{Eu(PQ8h2PEGsVU'`)J1ef3-U`U4fuN'zq*]Qu)cJIam-fgvhwvdϡ=.{e$و僽pQyazC/P2b @p-4OS 4".3H9B/B$/B @02@Lf4mp9f_@ f P` :ځi p8 53E,&WzFS: )Te8J58C(jP%UR|xmS^vGW"^ V6V"liEx~jL;I\u񻵑m1yAXvGK}1Fk|䳒w|;p$|d $1@aO: 9P0mԵ dj3 cp`= ?C@0;geF04j@YCY ^H@1=͟/Es9)nRESB/i1:Ό[{jFݸΌ9jZA)QG&jpV^NWtkSH{aД+1`; rm v`wJmlڦd!-$n=rSL,ݲ"gPc8][I|0z02$$4P@v leN 3 䪔0"p< z]k Ϊ$8g9 -)#hW6z- ΐ=,i|Dj8c?:)Lܹ'8z^O)!z7b`h}ݏQgIs--fJhJueo9#X(;YwY"lȥP9^Fk54AJK']:hO A_@ VP^! K`#PA= Cxp&llg~ 7&y@:zz9ÒM[ΐ@,hj2M[4|,a$@:Lx)k-kv|V.V#v}X:ch Wf^jnDpn}q'we 8gI (tPEBHz`iP5{_= a@) m0@k`PaPZ#a`8?Ns^ PO0vAD…7͙~!8F3L{rr8:\(g{:'WSF8_0<0mc)1zCkXKǏ }C7F,N\Wk~_}np@p.z*”*} hy5-@ߠ 6gXKpj@:@pDQQ2CZ!VHZ ]E+(6/I-IEO<+JwjsABAB$BA#" !! 44ڸ ! "EH60 _I($`a#"k/hܨ&<4q& Y%  bʌɢ 7YLIA-DB2XD`RX .1K!ΔS8B * DA CQ0Rn{TXU@@IfֻKV>2v+@. ̎B9z|yO=_J#OCRMb]RJ ƶDKkǴBP/* Qd KUp#hp@䮳 IIrd/W,9섐&ڡu`68Z%X  ?ֱ8nbAL<"I6 |gxlyh0F@=;;1h*3`65ɪ AMeGƦx#C !d-Y,hm(F f@@Fʸ8Fp4Z0iwy^b99E0#:%}K, ($$!apB``̀d: a(2pl `C0 \9 >qM4TWDMi_ (Qp1y#y3Ňz O<ܘ=8no1=z;՞V+}M#0"$b>64Dt@O.IZ[4: t\+JV .sI]`9Yk/V1w9̗̗U̞ 77 @ІX m  X%< ن:蹺E/|ax'(ͬ&2Fg&QhqbQz|\Ha| X :~FO \.< 6`6 u0g>0@ Xl  @v© ӝd/ۺ"OkE 0"j~hZ RcYakaj>k<jsǩ`u~(ڂ,Bi"@>~/pڶIK(:ʶ ^P=J)2ՂFR0Ʋ^zKҾ XU_̬ZLapYہJ0gR4;SF<1dQD>v[qXYƳq XjY ƖYЄOioTqFCཐvGR] bqw,#'n IȈ FWfSeY\JX_,M` 'u0C5 d>r5B48-06 ^P &l8FX|#2Kd9qNOe[ǣGͮq *ӈ-ɵut|؏Wc1# mH&΂֛] s(p>,3Z֋²/UU%Z㽤 0rSdH@M'8͐2 a0B 0(n/U@.Q]X.(n]M<+ 4T&{&Uqg ]PM a\  3unYeewJnR=hn B+Q`6\3!"AfS0g(pB-/1-T7w6(8Tg4H"hqh[9qQ7;&{^xUdPP@OPzbԔaa0QOuf0YxlP%;0DtRT;.DE\GR^(`(]EFUrm؉؉8 =r$e*=n}Gs 51)\RS,iS2AIВ]ÅE7xɐ2o3?#f'pr#@H@2y|78_iJJ4zezcUtUk B#/iqB\%qtLXe`6@m` kOzʷkV`tZ  _Y`~,)jO|x{\'+~;EppWdlˬ Պ[F+*։\Z94x׈Y>d\ɥHR(,9(fUY7oҌ'^{gqNTsazX%99Q{;{u&ÖDYY;l& s'Jڸ'u 2]W(x\ģ@A.X``v˺SHSŀTU@ ъQ( Q5(?y?g7Sb[-I@pT_Ѷǯ4?$'w[{s_%Nk1:uESguMGfUk14EZO~֊#>[.'/r[ԻMbz=%UZK,}Vk&2vmX|ϙl;$Hl0%wI6-%@Ѣe% 2`:@fϠGP@.}<.n2r+_R9]'a[ӕGŘ|ֶ%_ۉ_Jzh–K]9Ѿ&kAϸ06bz B߲F߿*+]Y$u>3_N3sHzja>9P.5kaCsAp+6>aPR o/m4 n"##AAB C%% ' ( +,,+-../0/02353556677889:;:;=;=<;<>??@@@rFFrGsFGrEFE+JJ O*X྇#&p!2LQĆ?jDx`;jD@˗/ ,$ B@}~0TJH*]*@"!G-s`9KWh D"8⅍{)2 č3p#{~7}J*Ӄ."!tey@fEC@ .hPd%Xp@WPkiXf$, MH_!&vXcTdo݄$K@ &)i( Zlb[ 2o`ppSL2= s0ݢih6i׍8w;㙇^>8`EJ G*}%շjꇟG~H_B)0B@HvNVVBqQKizEP1U08e嘣j t@ 0h $a9 DbJc]E%Np]r" 1h@ %j'g)2dư۞|'z1jh40ZM<ʝ:p󦞦W:j 瑀5-BJz`I'ѬA+Kf%znHIy@'%]cQ|oc 'h&+(W7ZZXY&i3j(V5p|gl.ƠLh4Ls.p]w≷==V E : gۇ_գBI)^sF;E6R v[O:԰B "f,g!W}i(#P@`p-i0qxҷNNCir _BDVI8X'T,NrV=NOA.hW2Ps%9ܠc3djSz˗cկʐPKAag(Дi"OMMm𰇰Ce:(Tʘ %"J:.(EJRɻ"EP#kpָ7-j<_9R/$bgWhtcHv56gkZ+b&89,f `pp+, э\э( TJH-|k%-@˹Lfy01) 9 /5&V,u0m괊 O!.s;$JvY2l::\%7u\V1>Vaժc+ұj_ʿ,"`3Sl2H|ʎ@h1j2rmhE! 4)kYNr І*cv NC:.q\ĠXn:\O}*Tu:lu^tRa=oZ|pٓ?C[kZVkf盝 0I FB^ DP;"`YhXFw㬇K2#F`"*4ւRbo-]ߨ@ƃp-k9b &L&2@*`qL2ud4YTibM"Wof#X9e}j ־Jc|SٝoZ٠BkBPh1 B]Z<(A uٻAR0bf(C$QBP5v`D_yBVA&AXL "1 mT$UL(^nͪ{R:CfOI@hOpN<qђ7؁1r{X׌%|:y5mRat&'ӇAh 8͐:^;Z_Gůs=C pIx~$OK~G~OW~'~G+op81 px\pP&Y-@e##'rW.zXhs(sa$p_ 6@qFbƉ)c>‚H yx)par [Rc5X0.tT\DlNxL'NuW|[03!3C)"YG7V"n>nPR9TYVyXZ\ٕ^^Ўoh4&hhd"U)$@gѐ$ZQd?b4x5Z4BBmiFH $d:q lc tLe€P7UWՅ2ma8EcIJ8׍D̎Y \EOe`<g`sh>ownmfMpe~FV X^K(; uja&@P3?Q!F%0@A*:M/NQ~iۤJES6UC=g 6EF ]RX<(Y|BC<6+`m@ g(VPDYIP_‹_֓*МGkm+jH?6?r#s,S銻by).8;bi5!&m'/-9t.ߠJ>2 ||2VuMd=jW.{+ݾmg^G"Pgjt_h$g̯uoͿW a 0+۹ (PAp,ck4V !|*/̉?u  ! """#ABB C% & ' ++-../00255N676778899:;:;=;<=<;<>>??@@DD@1r#s42HC##YE%SXN,: 衃G0a2ԣ2/c8fŚ8mys'Oyt(ќE*tiϤ><45s DĩS$T+KX˶۷p k(HSk48È3%>lLj'Eeˍrh30pa# ֊ - iۘ*)S1JV-(nb끯_b1Y6j4,wlmN\8qz3n„xLJϟ}!B B 1$р)TM/dIDO<taHaÁB%6X U!"08#W_DX]UY%mU]8pAJ`n-[֘b\6dj!G>Hj6lz!iNn'& p_+pq-s 3 ]28 7y'9굳{=ԧ>@G44MuQOB ((N2߆;#[Ըۖ[ԹznM9(W^JX /n1E 'Tieo~ WÂA6G\a]v&yYfvfP+j{|L"Z&蠔|2B)Aب;)r h 1YvJքg*7ޜ*9WCEA,[M j FI@I%lj``nNMǸ㍏#"ZZq5 >VY(Dj ,6P '3_kI;jܙLxg1G[6 J %@=MK-6+">0QKdF4vci#Tc -r"TE4`MD#0щf6+%,FNRr3%g9{0Sر3Q?MkSU:?l,)6]1|eTD9ZADN`TeLrERiWVo1f&4<'*Е`H hͩ$.w" *vz-?oIdюhDCKQz{h -b ,$URb)tj?OY4nl\OGI@&0mEu +Y6LˤQ]lzcnW)^lV)& _ޡpGbXE 9@(8#+^Wjnx3X?+td#tvu,hE R4fԫ0sf*jQpT*-i)] v)÷wwSkH^+6L@Q7lԭ=!!Xoe!ZќM[IX4:E j: w` Q "d0#:PbnlKP YE+Je ή3~µ1D[[OXZd|J5Z7$=mrDi/Z„) [64@ trFKj9W| vZlVZ9nRejU4|*Nt=<KͨHu: tȡ'+L?6o3}Vೞ[nȔ]?9T_ 5xI$#vWxfEyfyP{'(FC @. ? qq%Fb"')f%b+[@$")skk2NH5ȗ|55\ڀSH*G@`@S+}74 uM~ g~VoUVQKYWwa~\QaC`^w9B!t~aޥLlVfAg\!W@ P(oNsT-xVE@O{!yE[t%i1#67i4z6hj'fQtճj@.kA#cvVcf[k5RsstaWd>@[x6C@a+HBky~`uW~BfwkKpgvtudS`vUUxMaP'vCLl'#./*=>z: g]JTvkq 6\)2nW]VБAgB`Q '-bUSI:.Vٜf.f8"qV@B_&4 uH`#芴5k4G`zafEkr=p*Y6i*qk" b!W!{UWk ]1HwC Hp)->p 6@l:lЅDlp'*+0;asQ:s+AnvB'@2Kk$g7g 7I@/v^wH{Q`"_d+J#^U D q/Cʭl tv8Z{˷hJԮH91fB(jCivjY&F3jk9{VF Zp5` +{#ź  l$T`X@L4s`xYLBee] f|N:c#)6% Yřk`nJ J`7(0t~}7Mt'fj*yyt@_h*$u`; aSf<+J;NOPh<ݗ12mpQBVP~TagI`hv`m1*{ bTŊ7j{3nC疢4o'`o,v~`hi:'FsZpx K.z=e$'H ;RǠ :i# r*<ow+F ^+1 vhNje.Inh#C "%IJ.iR.֝gapq@8@7@ޗ{e/uP09 d/46GO_bd5$$ ֧k؟[ $8}ߤmgZZ}ɉw BB CC&aOjjsE<82.--++))( ((''&'&&%%$$A$AA# !!  \\\44 aGD;lX A( 7΀eR %{)j(H )wF0@Pk HOGK 2L5?xaf@T:M]@[dUX8W~UؐA(#6#;XDU&́d ak\iYr 2%'y2fɚ*"$ '24g? C!# /$j8G7гOf(`C ^ 5*6 +8Ǒ 3Z%(!L++Mh#+f|."EFq"nUPck֛[db߈$8b `|fOE& iFjJƱrv۞Y 0ڊ ( B7c@HЁf `<D*Uk!iH#^ $a '8|T Mh-Ea %BMũ$xt/ra0/BjvS2#WI^TI̚[oʕNubzW"B `.=&` ˃:@i%Fz܉BSNq&mjEcF@/PG[a8dN$DJdI&AnE߲r9Jw\nxG8]^]ov'e1d QЭ2 .0ana !fMݯjG1M09DV Bjƍ9&f1*{?i-6-jUkӸ#evH.5$NkId%ˀjJA@E Nӟfe)T=Uq⭮+B=^L*[bsk&C1<΃A j>T5 Tps 'GNw5 %7p|!&:Y6lc| (H4`  EcZeUG@kt6)U@ @Ȁ!|RZExpJTVpE֦"! m#+ i{ ++-8[^5!}b;^-;0MyYUrY^Dì&s$@5!q 2|;.4늍)7'w/LV@d8Od 8 sM<e1PyF٭}+08ׂ$Z"X<(Jf YD- [A7}.2e3]4I raacd/`@dq Im;E aF<)k`;mzpNIa؄a`T&CKZyaf^f3zAp*-0MQR60R'!=f[d,APt?I|>*5w5~^u6RƊ "dǖ5ɪ\BQMd͂$ُY +j@0Y`p:HfPd@$X+afXfnِfԛr*NrũfZEi ;d w& zVMkE&DV*{-iN7; %p(cLJJjA Wzҟ"PP:F)0~<&5 Ts~`Hŷ>v[K?uRU% ".7H`u@<<Tv`JkPPihuydA_u@OPZȭ|m2D9g 0Q J۲IF2w6MپUd< ! s` 'q2NVX Fɵ?yEXE 7m *X5AFzRBN'vduS\?l"`cdI%љ)N-@t` i@Pup&VPP%XYy[Ae8?bS'\:;i`4Ygk(pjuɘlIv(@pAQWx䓾˝:Y 0')P.aEl1Rc@5[QCWk_c:?P?MI1@`6H`7\SRV@npPf,+_<;J`7`[P+d Yb1Nict1&sѽ]VhbyaCUȌ+'' ~:ɫ:솥 pה&J0lv(pD C]ުZTxAD,]0 VyQS_Q5R^YF j X,lIq]T!$RWJys|6l:{ 0X0/Pp؎И=;Ntfsڹ(`gg cpAmJ@OOpaV ]{f|Dk]%13etV@6"f0} @`pa[IiEph .P2!  )"᪾{/>Z5cuk+E!~c$dἵqM(c[TqT{ /@)#/`\(@F(0W??QHeRs@? +@L8PwV80(PmM]04f #hVCZU`TR0Kd"oMjņL&JF+:r A~ !0')ޭޗ 0%.@昡PX`QpH1.jm6I]r -oy\7]Q7} @m`F9#NG8/wMMbz?00w?B?8[oz'-KGq7@Fo*}?0!ܑ\DjUwp>&?͙fla$<)! o R0 d0w'nD0>sSc5SO?R_n[hC*GVRGSFEFGGFHJJ+Jwjs BBCaOHF@;p76521011/.--))+++ &% „A`c*$ǒk6$0ED0VL @|DeY-&1323@#9j88ٲ6HLE P@m@uZ LZf(V c$*2Ck3OlyQ_E}zSԮsN5lI)x2@aŊvjos؀6nɘW/عpZ{%Ha&ё">pP̔A@ 2a(G"$̄QD`PGP#H7ҁ\ 9A%Av C3<@TTQ Y 2@P԰ qƩa[< \pU^}Ŋ|cedZF"e-gh&iƦjpFK2矺`[/6Ģ^Hs\5q6Ad7ӕ)v0`]wyB^z?& `E3ppAk '> R2k$pDŽτ1<#ԡ8+0 :t MIU V 255 PVJ6%Uu_@dLD\!Ǐ!" Qe 1,)F&3wi<`'{= 6%8 )$<)<` f6Rg9Jj=ުM c*.AsP_e ¿0BD @ V ІP Dax<` dE $4AJڠ?U}>H3 V2sh msEהzU` Bei_Gd~fn*f aI`)ŝV4[+iaЀ0 \A +` kHCBq&5+tEf'x'P:sƆ)lvC"nH,%(R&V. #860/ n0Vk VpX0ӽ+5|@(p -`5(QdBb^T4@X²>/Tf0n y |0=&UI#]t3JlEfDv2A5GE° ؁dCUc dtnj ?'g+@2$,A;X27`m8 u0C^p H!=P4S6CHp8pEANp1yG9*tDT;ƃMh2 FS 245Ar 1>V@PZY(DH`|jxu"pK].8A $w7 ^<*:U'OP ly;L%˕]$%mO0DVT hmL$&Lf4aF`av <$d 6LY TB=+8CLmF;oma1|^aFo`K1Oacp6T]!x2qq!KEe\@F" %TV:y[P<tA#x]Lt.G@rKwUU3skMzvI=Z^)c}2@;plȄO1*_&6"6PC젆` DHA V0tmhma%a|^E0>+4ɚt4TEl4b7q7 FmQŐy>p-퍵2LWSѩ'CUH^.u)LEUfd.Ќ5SPʱ1(B$ n:R0Dj"LQ'*Q"O-Na0&eMyTxl-x8]l1y\1_Vȑi' ! 1L" `@D0a6$ ~iHAv۔!k0i4hSc`kɄɜw= FBP˘ d^w7#0h R#Kg439T ;d0@Fg(2p\~1鶺lX怌xA' Am F3I&i=aJ#_Ry &"2h:SlOKJL#O/YH{s- ++p] .+`rz_?u ua r@cdT  @.phtph}V #MtqAPN4NaKb"a4QGf RBjvgXCeC؏^)}^A6PR342/5|lO@~P:ЄfDZͰ= qdH$qX;0YrGTS~u&eQ}׷}ݗ}7}2L`OP>_Ȕ9S3r;fG0 aZd6ggapJ\~ׅhxL\1phML}6 d9Eu0\vKY0|NЂ XD`vەP]fGejB-@0wx8ڠo @fj`e̐O=z^[ 0Ѓ$gcC~eTa9qHe}@AiDbP0}2juu~Y"g U `Y:> Iv`MWLvI`v0ZYIMW(p( EsY1ԀaPdsV@ }l4vr3'9]nS)Xup5yw}7F_ӄ`coJ y/ԑaS(u$   ^(>%G|S=.U 78 L4KƄK M_=YON٩kbP=J?em;p9C 6 TO`tOPU4ث¢= @)[ju0N~Ȏ7&;( 0E9FewwU VQYiP2pG@,74"ב}sp=`.t+BFA'Ae`2o4Y9BoH{N4Suƙ7[f!纷yYF)0<+D&١R+*b* NT7€ap!;6C-8͐˜}@=U BH(VA: "5$7#ESh"pC;y3o~^|(dpIp=X$e.pQꓛ( rxjq}þIӾ}ؾ)$fu,Fǃ'싿z ?j܅2r;xs6_ o3(pɘ|Plj%   1 00l0:!! .G1m*`6# <\n f0A#$1ʹ|GB P@ FvU#W@$$9b9FLJDw| | za쓋g[3Gn, qli'0.Tȇ PJm|W )$ո+PRR:: H @^"KY}֦yn/ LQ 0(0տ` y7<$ 4:1B$1IA#A{D 97@~vPӂuͼ~񈏸go>[~v8Hj =p, v[CbxG|QE:D|Fkc6#6kSu&"H.!Wy& "!|$= z;L:@  PM=pQ =j%oM$#/BqND5qβ/#5pVznR=7qˀU;"L-~>NR<JL=d p~^xVmEVS9M?)oyzI:V[ԽLaflw2(OdOO/`f<*Ѥm'~BK4shp uRq0钤RNܐ+*p^ 3d.@8q$;Ie'N@Ro?.9,/: %56OR=q/};O<"Aq(İ IUp,p{"f wIhW=jLaaFKac8vFJJ->~+a/+(m_vu;JK>HnfdYO)+J¼û)wjs%CCevPOjHF@<;;w9887p655i52001^pѢ )P(Txʼn&"(A"AD$c ArH"Dx@A"('h0"ć|[$J ߮!BćAlziSN惈.`8C`9DK6HqDץp=|{ ;&؛@2 ArL @ Aހ07DԎ'pSTPXf)襂8 &љ|-( ĩ5 fР:: ?16hpá7ȃ,*- `>e]?è? ĩ*7\aADu+PF;$D a\uE Ց祱Buau\00_|u #3%3ny^0+8̀o‰F_9>o@$0A- TA H" 0(PB#Tlj&`7^qDԀB ?ЀS`.CF7ǎR id]@d]Hk7] 0<  8 eЧ0x&C 3 Z*C;:]v;hnQ pg7^djD^F|nxݧ |kt $aTqvQvHFE8͔k{ʻL4©$_6aLxa?a\A+н/&>t|a_\24@B pI>ܰa@A 4uFK R?TF" X0ɠ7rKux̓rp ݣ( @.ta MT"MUUC" SyP4}y9H*aWXmȠ(tq BІla2PHuEXL ȭmA׶3; 2>^(p<o^̫С4LV䔵RJVBD%D"61]l}Ypd P( D~"R؀CB -:xߔ B+Ё Ѐ\Ӱ&[K \VQ[Ae?MڝF =[A7y& A`jƆ/ى[؀ƀ1f.`D`%d@<P1Ītu a@3㥳]ZHNwqd[C%SІ2doPR' i C# (K("x ^:b(39l_ S`5`@M.$@FSzd+-)YҒ$.']02/,ED,5[ f1 MsbYXw_˛v pP> (CP8p! s!arf #-|*D(d 0! 0Ax!C°%0mh DS0qt'wj VqiՑsȥw  nV1ly %^^OC*I]FB܆ZNl. H$,61 ":`cHM -sWd[ r"Xu< kOV `dċ^ؗ:q(7xAbJ6@2 6d5?3X,љ%ph/@ m,bOm}! `. _HE d mHW K1%uE`PDvWOݪމ$߅ k C9̑ālwЁ(|Fk .,FE8n.ݰ&Q%M0%( ?h& #P' >!2NMoFN07& ij~AAaǔhekQ)@wiŎEOP_A'hɔ50w߸Qte%䷋Jqi NY&z &.M6Qk7~Qd0|w0AQP~i8M2;r(< a@(# yѢyr|+-ɇH pӚ3} Y8L^I^W#" h~r9iK" rj~xMn $@ ]tflbI'@!r"[Vҋ|VgR73![tu#+X#&oBoi@"W]2R(80xF3$PfSПh2Q9:o6ꐥ){8|4b?EiZ.o2hK:w6@ B}%>a&2SX\" ]##| @I3(c,wa\d1S&hMeu@(CrFXhq:b- Ԉ"׵&)RB)(efspK*&!EЈ61*`ROD5CB0oC*V |yb ;o^5c7S]/%zEy" =cqWZ>ZU7iX' $(Qe8+W67<9BC%5 vBڥZ+r5"'j5E^70CM5Q=Q0Dzӳ@D>;8)c sR1SǚZϊ2z 髨|I<Ԡs._۩;R0t=0fqU>˶Aϙ1#g_p Y -3#\k Aگ9i1Ap@P9<].)(85[5֊!*Byy+6=0C ge*1C@K%TF0I7s{_P^b/DVdEw(ck_Ec VUÐ}Pի0p/Eu';I1'ti~d⃥s"$",@9+`ۥ s'8 P] hP5l˄i[``RG|Es07 Q4XtK Ћ9:TGLo Y˽HyRWwƣd3qAdoolde3)J38РT>|wP,wU3W[S!(D[=g= !Ʋg#Q,ں<л`#3*L(Q'4dĀCG$|E,^0j2W?  JM9ԜHQڣI<Z{o$9I|Wۭ @֥K\oOGXjUuМqW2(-x5t_>$KMV^z1 X`>5yK%]xҎv hf 0Uج!Փ߅}ÈGB/Cˌ6C:$ڴ+_J)(1)D^R=_c˂(6Q=KJ,ܶM dhŕf(~'x0L$OV(WUrQvi1#U$XQuӮ;Y1<Җ)/Fڗt*EJy'nP%^h(s۪?P)݀mxCZH~M<P+' ԕz^Ynq٦TrwxYX#w00*3@~RPrZÏ6^"@b160UǎWZͬ[ILoNw0w,x}}ezKJ91SfOaN@A`WQG|?| ` A 265+ "!fF@: A# ""##HHGE7/ ,++-V569DEE@9765܎:auHFD?<;;:+JJw?DXC} :pBZ0Ĉ 7z⎚9 P2DK)xQG&'OԴnoŀ .Z(]" 'ZANp*D`AP"ˠ Èrh0Phȫ7_8<wqcǂ"{҉ ! p@ȏ%FKY`lv@dHTzkjtqbH )/ "mkvhc#Ǖ=vē7cD (=D|`HW~PcJ@K/U NHQ@RJ $ 'LeUWXV\uUXbE 'h,#d@T|@ /# 'b)䓊yQi !`f) HiXay%bMF J8BVY !mf 0<2.z Bkt Et?]v8p)HècGm ?7y$fB"}լGXAnp[ o9Vࠕ=Zgx 0LCUr- ED1+zQV`5xA :8`؁@"ؑfaƳx KH)`+t 3LE6 aD!<ڍ 'DcڎVC<@OmWs%&6{  \'Éb^r媂"4pPe 0Lkhwq83RS>@)Yv'`6/K;$s^39Ev-|?wիZ1_-YT+1gK7[J54#N8IqrAbG=5`00P!ڙci͒Ԫ @9qvp% qÄ&l*T:ФyYҩNǾc=yJ"'OoR<=)Q4NFݦ`MuXBPP}I5@j?U53۱;έC{t~, >/=%WDXBoh;QHUt\F9B=bF"I]_(6,\ѹ?L9k1mj< w`YJR$ ohS֎P~OՏ A':/,q!\ a?g^kffy? nwx6Uu6¢Bgd5Ձ_gFgy&Mo_g9fb{".#7|sP2B# [1IQLA)b.DėG8/RA1y4/f4&yM%Pt2kRYD#T/q'pUXF(9/cd), sɠ㓡65VrH(CCe̦ll:7[3F}25\?7+爣@*VŴJ &_銃Uxhrc W VuH >Piph{MRaGK;q;[I p'e$_ `P/5z7WVG$ dɉZG|>㳆>(kEQc2u)eI>qz53ŢW1ICTJz"ā4) `.n uTrF6!wefp>?iaV湗#K;Oҕ|a2PaGEE<%LعP5*VXB@3Zr7#.Pr:(0(kG.pD[kѪ1Htl>٢ӺVkzcg,%(Z5)MxH,ځ o3;% 3p!2B1O{ U&^1f0Q; `8P cS"&eTh2,[ۗcBZ5sd{ =$>{(2j4 l)>ʫ͛t7ʭj_ANgۥ間x+a՛$L$BM6 M~ 0{UYKuOPh#*R`T[F,j$yI2,"  /qԗ>v|)GQŀQkX%\)C>6L5[#*Iʰi@u=I(`u_tVj;,$J|B캂ЂYQMiWh9wR"hW"Ȅ^a $ڟj2$ùP‡S9rv49 @(D˫ MK)j*GW4I1òHD GZʸ_a0^;`}aY ?A&L%RH/t|GG<ЧQɆ(}ʉم}]Hʱ<@uY[JJIJ'$yڢ=ڤ]ڦ}ڨڪڬڮڰyqZY!!Fmf!2T#/ތ +7:$Z+ˬsao`hYa7"f9Oʨsr}xYɄg H l4,u>'o{G''ޕ[5\Å)m*;| $ NTOu^*9>^~ꨞꪾꟾ H>L(v 8bQTh/PaA/`JM <m0W3' =>m(u9E=ʠ>TW+I8*˶lҐ^ٛ/KT_q?_~oSo'GINMP8(@9D4.9EsP Ռ1?շcbm@0 3Q{4!ràq/g %Rr \')^ʧ5mItRI =w٨tJT)s n qvxz|~??)FhimOXJ/Z!ޟC$ϢPS@> k\{=׻(}`H@1tCWх}tq-$S||h}JHUmXNK] _A=ZsF/<-^)&$ $$A$##"" "!  alHGE>7 BABB %C% & '' +++../02235667787899:1pA0uJ뭶 BAtҶkAiRZ  [G*ۅGiB(6 ' mi݇\F"(D٤b墛ራ. Cz60@obؾ؊'*bR%ive+Xbj+0l4Րcfo0pǎqS>\s r0Ԧ?as}o|gO~o>~oT/U+0[:BwtpCaL@ȹֶT 5` Ґ*VKu-u;Gő!YF0RN0QXrN6חsӚF:b80ȿ8cRdÞ 0`L&& Mؚ2;pi19jp c"g{){w>S^!Ȟ)|$IHV|0 a" `;0#` ,%Mӓ*utK]؝.OwQ< JM?uU j0KBߺ%8\r5mv}W3G"찈- OL04e_ 8 טiτ6MD5tg3s"/OG$ Oڠd9EiIۇ/v}_R(2w85r(X&8@ sZ,@Z,<`sMW2`#XV1WH f4E. uP╮'rIbŔNFa78%F!NI2p>P)!`:l *m`YdP`a BIx()mhI]5Ł] 05A0`:t R,n6gN`rKl$V7jF9zb9VA$JG H$ q@jBrB1"Bs"}V}Jbk;8vloGs$[~ųQ4egms3qmCvpemh`hv8**ĉQo?h+?2jK 6C7]pp % LƒqӋW"a6Nr/'؋oŃh\T( <XfsgN9870d5ƐY^k PUFFc#G2 [q"@'!1ma|+3=.C=` 2رHc;mi86_:P`;Z0904L#\0ɒ/ɉ1ْ6O+j>D%@7q7'KxpaPzWN)D%2W8X6C؃#69D=PVIXPi#9@swі^hNb) YsP %l&w$'s{d2}d'~(=ɘ1 )314C35s>`Yfpek+k@aV*7eH9xH@I4,T$%rV$`k,wm%k-2%/"GBNSN<FjnE"…6'2}P XdE0^D PA8uG[1viw ( 39ޑ3ѡ);S>Jp\`aX(a`TImX>``?S)ڥ!Xx@Z]BZ0-yRxDzpq`+`nH6%`qy9"7VRqNr`'C7M^():Ȟk7%db%Ycb`F㷗csQ2Fv~4G2AK !*)*ao^D`dwa`D7'Jrif?*S6xhvx7g@ѤXіxغNtA`sp[ z:`ɝYq8`G{p0pBV+}:\bw pFj;p瀏Cvw' Jvdׇ- ɐ9֡!z Z2օ ;dl:</@`H=1*iI̫xJwҋ*;Y_ O:AS.r> $b"z/ҝ&Dzy88S ºg[6>`Ơ%JbHb,@&F:퇠`2  ;0P( a3&3j(K/;)b)벬/@aHEiRIz?kodVACL*N܉yLܤĩj@wcAK@bX(@~3}|-uK ~%{+a>zԿ\'I?&EG{ۨrbw'fwAUL(IK$K\&§ -|)2LK)LV-1>{/apPKz"RW ,Q\eYhza y^a̿H_-q"7━iHA·ys @5qY pEF 1MF VS5p訑|dzr2\:(̩ &|ޡ+2J<S[-`DkKL4Hc]RK43UER } |6&m{:Я# |CĝS9rOH.B\{ۄ)v|X\rk)PJ'; u& =Vͦ˳|I3)38 3&.yڼӴ3&%o)?}!T+#I9. ޛb1j!pȍN):Xk|5 ?T[m$)Uy%0EC۷֐ VЗ%6Df'Qv챤wߗ9cvv2io >1it46 *ړ=}B ZzDQPg7$ xKNnjƕ8 < l(rj]adP *fVj͸q R-Ln1xP=њ6AEjVPeV@efxbQk:]Rx.~^]c(7e: rӭy+P"na`#f.?B Dx1D ~{mpPM]IsԍDItݰ6cE17UP,q<“9D A k׃k`wnwaP-Q'm\`wInkNI`n<(J0v7Bvg@xf.MJf 5fk10,_ah-`FPTJmp^ZMكg{4d8DqTP붞\ uBfX(Vyݿ!H^|} Eݲc+@&dTc;WrDGUG[KD~R88lwan^kQk+'rdLmp)``'U6o k`Lga0V~ap1~xlXYoE  Ke8KpQC ?AXVնgӨ_=aZjLT3OI ;s'' ( +,++-.//000125536N778899J+JIIQQ\`'UVQ)VakgkQk\)+K`Q`k(VkVn\k)g(𝑷b `VnpAPMg'*&&Z6ɔ0_FKqG͜( "D  )aC)xa-;Jݡ#qxr!`Ê5bA̙(T.$W B ćÈ= NAq8H˘/g8b 14;^#ꍭ7As=thѢD.\xG Bs )ΈEI,5’J7iD'RҫV^QV[6rϫ c0LKUDF &<)MkDD(LL(F4hBȓDA%aaK*%h` k a)G.!(3QIeM7N@ 5oFp -x"C}ᐃ6 ` J7H^ZӀ-%v9B 98uS[c:m?:$-ڱTӂ-6.43.lPI= U1' b 9 p :/jXbmw̷y3t||2kD)$Gf0wF,)wxQ'0`:m`8x&B1&p*Y,4E/^5P=5 U7Z7%uu9_v9+ku1v:$ AHw vXaI qVk#/(b5R&d鸎krCHbُMX|99N)Ai+u)*!FCL`W0s!)d/\*iђ ^#rMt7 \wA@ua!^_,u9yF6Aqj+\,;D LD8;p2T^k[5`*`+UFoF2qG"H8lylIFaV?$yT" ;{5c3 =;ryjm{^6Jژ:F)Ū.j))-J)AbD 5Б@9B+WpL2zBEԚRm]*ՉL m_ky;}wlg ] Ip rKhϣm0 —Z{C=p5Xs ˰<0< j qy|\veDFd*-ں/+q!EPDpmC+dPs)ti3$;ydu XjJOT :GQU#.lFI!maVÀ ~ ; ڰZ@@BbS5<kx+?S#{Mʡ(;F$<*+)(0L$P9PȺm.1mPW&<ۈI!dvp[uCd794 )-LCxZe.gb);xrsg+ 5*T|@|bqX|ܹi|z mh8b!@-Ox)ôa_(q:aw QH~'TlixsVDhǀj\=Аj-'؂ܸ븍K M}͏|L%y[lZ(!`Wjd)lX=k0յ9k((:X5YrG,NLL.RZ {6 -T*-F Iy_| 0"QJ_U.!Vs .);В^}؁m"Y"nhMOhٝʱش4#z::®ܲR;>^9^0\}MqUL̖v Pu[>6a7Hy+ˈ:n+*'nYjjw,Fk)h TPpSrѓ&F@ [\}؃<ۉ\ѣ G<,| (M gKjr;73M?^+]Ӈ`eݙ2rS+:x>r- wa my.lxyFk^|L<'JnڢZ0$+㘏f),qAaF4?Ͱ|99 kE4a6|&~CfCbhv1|ӴSy.uۦnj,z_ʘTprl<;Ib/= OQQ؈?[?@?<<>>+JJ)wjs4" !  ""A$% ( +./0156510/-+P8aB %-DCe˜9k8s!%QĈ#)(K0D0Ȕ٠,VȹO-uA(/΃)SPę1u>Vk>`oYmڶpAWwC߿A|Hh$HhEJW[2knY-\O]V[*, 84jra>x.x7rșA̘0d-O|7 0(rD… cq,.[ YA:BI Zt ; M9 B=`J)  NUUU`UhW6Y$HXbcI W[t堗^07c`b=xb %Ɂ/ԍmr\nu6@|(KΓWh.9s9,GAZB RK ,KAR`=PCeT^k  ,+mr+p Y$x!&;Akny[b$#sP  ؀ 7p C /V@4YaBG ,%°<@dl&y9KŶذܽbiTpc"ciO})8O2IIe|1K)CO||v{6Є~SOF逫W%pY2VHm '(7]RV'9ZdmN)z)iKg=FR7O$MAժV*h2;d@Id'I TkMA b@eA58rJ4^Zpw Ҹu7bo&^Y1P hgY$]B 20D 5 INAJ'(` <4( tSp&qgG<5l"3=!Z*Sje ڷ? e(Z ` U*5, ` me$(A sC"zxK.$+Av@5 ?BmV  )@p0 0T [$rm6š%Π;uNm 8ag6^]B ]v9 lbMo5 Z6㓟&2=?Fp М{]Ih%BSJU'/xVʼ$PiN-'B(0AVb߱*][Vf@~h-wAgmֶہAحm]j -ԫW8C :J-tЄ2d W;P5 A3`")h@a\Ό MoLZ2Unwpp"yxUFH-9ctns?)Jr4} Hf*-'w>Ԟ|҉O3 c=YV5=Y={YfZsAC`Ȃ2kV'@f` dV@/ؠI|ghb |:(=/AAJ#/T1vN(mSdBPJj^Iz&+o$Z prX"!x!)t>P//[rU*,y6^:UL$]{ٻivSe@ YkZr?ksEiu`:@hv+.dͤ>lva@]`a`@dxCJB&Z\F697E;t9yOyMoV g(%az8h*+Q5 D'5 >+!(b*&pIr(W{3r1H0S||0%Ss{ShC{.SCL>} 9T7T~h+T+ijR5\c_Ma@t,28ppc"#(k-a1(*RvK['v:kBYXHC)`WvPIV`[JB6 gZ``~#u%\DF@dg;p]Hz>2rR65KrUQuJT-T/9hg8)p1ߗ}a(cXg$igD\Weav6yvYv]q8pE(7}*a}*?95S?"?g~W~Qֈ &L~OJ'L'"(9@d 8kXB~K7aq"-d NFYPN1`f& )bt:KPOP$+ODJ0fj E+:efGlU\;hIh*KF-Rg2@U]i@U5-nrg0Y0 Н2#Y)!)4)w*hvK>TsFdG~Ô(+5~x+DrtXJU[ ^8d89l1]66`qywtyo@kOJ`[@E -@.s+;dPAZ>ZLJP|4 KdK@V(K[!y5:k\ؑA*ANہrxH};9{^8^&'I5I2~;z#iN96VhkJiVTNRh8LKp`: oce9yq3/ض5Z . eԬdBU5hvZ3[!Gh($z P!]5Yj"aubڮ6Yh ,.KeɦmQqZ`螗^II>yzAIL :+ @Y۴Mb?6A:`VT:,` X _*Q,3I/#DX0A^J7« 7]d6GDZbZG7 TzgsKoKcAaWszʐVijW?HZy~ JO "/@EM[,T4C@2B/p5d0J;T7kXOhh@DNzbXLQ3IM 4Vbi[,4jncPeL'Ejpۃ*U&ʬc8e|4 īꊥ"Tcl١oø0azezfHTi*_eKşs°BP;C=0`T 7mJlp0+9APvPyba @e aDIћW«/$C~7!^D5w;c5`aYJb#!QVmۣ]cd::oIbZ]k NJ^RU!lX*7RuppER\!,,!$LUI'T- *TW~̪T1 2ќl X C TyJ,@Pd /J݉n=PD_\I@waPDJHVt-!Sf@IUSU_P`fl&fZ8b50HMuMOp:L8cI9)@YpaO`uPCӸˁv [Ic@@DmFʃ[<58 U_+ENB`-Lm#5JQeQ@8_- Tʨ2_Dr@NϮ>Dp "~<t6,is6_X TTfGPl>Cdy%)L YߔDH!CCfMId@YG`Oac:XZ@//s/xgCEoMڭuKJeKb%aa-o6z"~Zʸb(? 1100//./.- ( ( =FDmzdF?;5.,ZafvGEfa;6/a:E>mvW@Y@@=5--9D@EHv=E;/mFElDvaH>:ȐeC:hh6 Jxk@3>BHrǏ5RJI&̙1$)0a2i'm IS&LcɎ >v9H6PiH Pرkj6ĆOiRau 1&C0mdP Mɹs͙7cg6WQ3'B &!DCL,XpB006X+wɜY UJQň.ԮoKѱ| R_G*Gi!-VջSLʀX.2e` >% XA 2 F?l 3^W3;(A>P;@ ,@DAtuDRH%)I $ դL@`,T8B2E$ЉZAQ@q>d/UDkɑ\D+Ii @CaaGl CBɆk&iiƫ)kB&[l[' #Rr-ms̝I#=wB@Jr s⍧]wG" I%6)zJ0dmh0F@,chPvxQ8 )zd]aT -l+q;4C:<>@^ W$y%ZpkU̔@avZ y'm$Hd-ҙ氡:SaQEdPB!AZ0vհg= @ eZʼnFF)@mO<hQP fG<02 яd]+gٯ3˚Ŗllfn "  0Qr3pޗ;qׯ کۭJK Rz8 D`zbx`YU8P?` F ,d XhCp `Bp@ 2P#h 4`XX 7t6FK5aaz+* p#ȁJ䀄#_P%,{N0^&Jj~! =)<1YP <((1P`% H@N Aꠃ0D%#0A QDiB|rЌN2Wr[4Wr j=4zi{pNG)YtzQrĜ]_J?wK^" B>|E8F@bH ( -"s@ ! 8P^0`g>A ؂0Gf0/tcl`3d*0C`$P0 DZuGM@կ`ZɷOx,   cgI+p(0AЀ} q_y,`EE =W '}DoTqB 0mY/X! k 3hA4 7CF7öӤcQ6fvwsR`^c}[*YRǔ}QNn~2]w w'+8L05*{th a69A`-xxxsF2"8t -gG>>p3ǡ{A," E^Q6/ݢ5ɝY9`@/a/Ж>3"i{yo-(QA1ԗf~K5QC}qjOR$).5/Ȑa6ouOj#]yƚz)՛mC),hHכ&)p"ڃ+ lʛ)lJRNsԊjRJta9 r uQ&P{`  `' X@f[@b 'p'P=o[)q+r˷ {kj "RK놝50 u۹:VɨwicZrWku`+pjp"~/@}K+`WP v?00N+p"Lq %?T O@"d:wuizz;&P=j{X0߇»%<=%\%APӳ<=̜L'p،\fv˴&|tLZÜ@AԍW].V y`w_6p'%(QA)zUT9eaADA:r"P;fZk@ByPk- e3C8#{wa FjP K%Ӥz %"ŌC@{@"@˫̸1̵|A0y=|#  zM]؅$؆M؊M%`L<<='|ڌ' ޜ T ͦ=.l -:ei@ċ.i9u 9Ё-qmN<+@T!Tb` @m9/`wCE`D 3apO7hV`eC@xa@;.t:exe@*CQ -.:!ʰ%z`bkp9' ׻K>f? [?.Y.؊bs#a6DQw` C߬[vj1vph::+Uu |77X9N >I^UnhlP37<E4JdQ`Yuyd,>T?uԊ $EK@Oѧ `WvڇP8P?x1qD&ao$R1@2`Y*nP_б/k鯾ow?ڑ= /3H&1a_2]mP`KCC`u)RAb'a0R*k1mI'kPv2uZ->NJJemavO~+JwjsBB$B CC&& '( )-./015567672326p788i56o eĈÅJƋ-p1"/d1 JtP`Å\DH}Ԉ#G@5%VhEpYʴR8;B1  ԀpT&OZ1/[8I%R0a,II$EHcN:vR 0mԩCDI/u`';:ѓAC'OIL(OPp3ayR׊vƘbD%SN} jTMJ,Zj) kW/ 8HќQD?>Pد)́jOC~V pH#◄'a;@$L@FV@V'0%# na$M82YUE/fUap(&:qVކ6*r} hnD b5!%%&P-eupV IB j]Ĉ .~ 7IbXVlž qHH-!8 m4ǓJxiI "<)iB~$E'H** ‡$ΫYVGNuÙb 70n.A):ȅ/uΌuёIYI$CK&@]l(xSfwARb呁yHc0.7)TzTh&Rv3ĥN˔jEC v '5(" i&y *7n: yݱdt!yCA (,\[皑usud $ @#"v4*&zEYnM,K7kJSJyYRm%'1P0"ΉV7,1xS_V{4dUwPȨ,TA"UԪf jVå]ٵ(}F t%0|K7Oe>a\ h8A%Pd(C"H!5Tx鬴M\eySrN5V*}da#;;|;n_ ްSU@y>wȝp^ zTks%C3ܵS%fͺaXz Qmw䠷{I' df   pLP\T` ;0 Cd*#5A_3ĥ'A`p̰Q؁"3SBqF/h֓VqmuqFuV\U֕dU]NFlEuv[Ŵ7kvŔv `(Dj'D !S]DK(0]*XU,r028|7vw_t.~f1xP%]VGuvgwSRgDqg"Lp85p s5SFaG@%c)Kk|(p(?-f@Y) ^ ggM( t@ame;I?gvYZuQCACbS1|S]Ruy(][Pdxd_w[vxvj"(p!h%p̈،7()PȂ&oWU4H*x0wxw8wXmm7fv-}4,PuUdoS%wW'xr<Pqo+q 8SHB@oG8 b~0-3v}Asm05h@3` paٷap(FpbjZ@('awaE tCvD\HMb@8lKv8%%0%si yYCuzi9 zY 8x9]ۈUxق- -(wɍv}wTǃ^NW!U̥nXPBR9@1E ِ `[ ogG+(>^pu [(Pf5Yb/P``iqc`k&M35Dasl`.`os^fSӝ: HC7$UC%a' E[5 9uH'`pz9$0Gwtbʡ/Z*Vi`٘H@=AJ+ؤxLSOVVh]υ]ʏOxER:gw66JtI ilk d@繓mlp1iq$ZqmPL)v@m>Rsp!9P ;$&l`JQ%*U*Y9\*RLdGl(+$:(DϨ 0-ڢ6ڭ* zy8ڗjq)+>JKB:h:%؍Pʍ/Ht7x=X#VWh /Qd 9XYE%a s9TY8 < YfC&ba`|tizv;5::ub]@=p9b FQPPbᇤubvKIB&Jp<*Hv\EJKx1+H%X&*!':$v h8whI˄llxkePeddeŰyWM˃UE5`,a=Z:HqǠ=uRWc.һS```0>x|@[rg G@ ?s=s6[AWq; Mi'rP0Jk;e{@7ڶ25%˪7i+%qD?#6eE_R#\؏ҥv k^7lMuMXsle&fYFg f^FH]eU*3REk8 u[ kԵö dIq V @JAƼ,sI wcaP^z%^Bb5`kLmNzbB31W(X$ qS:r-C_Z˿ *ֱ7U[GB=$DMr‚'y \ͥSElF& |^ke.heVCLmg\MH)W,Q<|U 8dGw'o0d /dp0j _:&trl@E]Paxpm,20#34cbH?pE0~l._)Ebt\| rtUL`SXAnK5xT l^׀(|"0eFm;؄_9ψ4dݺ {-\cpiϲ }ik]SRD(6gXBKpj@E?S??6AYP=P@HAՉM7vO68>PF0@>?mD}Y\]S+$8+:Pi-M g&JF\\z1L+D&ŊͷcZv +\n-xư؋} "$#. †ϴb/202>5NОo\UMa1+RKNK̛iF  WJ ԋs\W-h[ڗ֑Kjd*nJUm au1V kGv-nl0lg%};>X+|xzvDK)hᾈ>>v8xMXe4~㗍-i@U(0Q@YF~|zYeauub-Z[͚kHĢKώu)]X\y>R "f7~KKhAwնwuگi丙h*k!N>!*)~lz49Ƙ;>WŰm5WF#^j&+,O-oˡK#֌ύunlnh'LK xKvEʮə&X]O3nm Kl?jhۖiӪN)]?:uVLK(,Zk0?`K5a)_Ê93: +j:J^֜/ 'smq(ZʈgΌظߖ:lO͸ˈnrw q ( SjOoQo{o`فin (J+J++wjsBAB$$ CC%%& ҅։(' '' &&& %((10_3f&0!!M0XpH> D&*H&D r"ǁ%B6sScL8atL~ٳhSOt)ҼJ4nΠ'-s妉mVYZ4*۷kւ{ ܳ6{|E0@c<mZDŽI&N޼u),>>X忕)R\Z 32pֳiֽ[kبe[@k^M97ECFիZeNt)t :5ڼib7ݸs=ɒ}_) %pdÿ́CSIg]>rhELK#.sH F\q,0(4`8o1W҈C3pH"uYxH~I{wzf_]"fd %[G暒 a *( APF5'OOL:Jq؛17 SqF ND^in:iʩZꥩꫧjSh:*Z2$pB3cj7-^1ˬn&_m}\慥=iL6'ꨦ "k[/jl'а{ -)6{]#Wf~BlӶ(ʪjL[1ZH'Я 4ʹOG NWuP[[Ӌ5\u!mhTH7EO̭%~ˀӕ2fY,o-0o< @2 `H 6pˠA2ԟG}S`&2MH*ZQPdH@'zUbx)jfDx2b#F:VJ\"E1>JL IB,"A 0`$ 8IHPZ%x;%Qz"F0n0bZLxe8K 0IbS2wLe2ԥ4IjZ̦6yK)ⲛ)q3^c:xvl O78/{\H3UBO*\6&2FܝxK\3D'JъZ17юz%3L(5HMm0e.:Sʴ79w-ot&u7L<}TR Y6U+Z?-: +Ei ֲh(H:Lne\#JWlͫ^[je`-^*V*uˆP&UxIVyU͒^]մMjW֪=kgڴͭnw[Ѣծo-^ZWauM/פC𹇫'P![%dYYy>,NNmiѻ^v5ml^ͯ~[_여 L[4fbziUB멚UdK3vwhwDVq5~GL(NWWg,VUQ.X‰}986ةCMan/\L*[XβeFZ3|~X1CEޡ){TJرpGA xq>π{[P{~I.s&3VN0:hN$sCi P6GMRԦ ;$ kꠤ$0:Ŀ7/:#0./usr/vac/html/zh_CN/doc/images/cforaix.jpgg.ht$JFIFHHPhotoshop 3.08BIMHH8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM 8BIM$8BIM@@8BIM `JFIFHH'File written by Adobe Photoshop 4.0Adobed            `"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?jJ ċvA>Dh_ܾEV3.k%v d7S>k {Eѿ+&I?^"Qރ\*`|GQ0~-41{vYd5 0A_OϑOwzzMFϲ© C[k-%K&77ٿ'pOia}SYէ9?KufWٻ|~S:6~3lSZ&Kok{"C3 BC.~v1t"R~MqvLSvo]A.ܠm#jvݖmsremGܠs~ UÚ@N Won;igOk^g@~E6ai <2}Ok6k+jFVj8b?R;C6sԆmkv O}?w q7u0Ǵlo%Ih\E5DXs}7i[ ȗ} uśu ;%ۿ%CL<$kZ Whwb^93o;lƿSʹص:XѬ~5[ֆOM8V~k,}<\j{?{Qg,O>0xqJ_Զ#>RL`8GR#'twҢNѤ;3t^NI8?#?ȳ zgC5zCe7ޣvaS⌽_/~C ®ŒtP5]uh/bR-KjA{YpBpP3DG* cgQyQ0:?#@|xrQ#eUn԰Vxk hz_ɵ<8_`vۻ}}ryujC~?ܔrr"glc];{(dGx?Vع=Ů oopaP#a:B1>A.gSd8ٕ]:4_kgekm]7}sCihF?r:WH &mْ̢Qx-Ֆ7gnmf_[K}hg]G}dXW=,eRŤ2XXn|]~P}_3e45ĐsH+}WW7K).gF]?%y{.y%a/!?I [ɶLFl){^K_oƹ~Fq>u^eo -iu7fUdTCߺYnXfSk"C=RwOd n?}Ba q $8}/׸J${:}MEInzW8 ۏ};}fn. 5,;_ߚ?%?Q?Adn_bNݯKs܈Mtb9̑rpx#*.A;e[$9Ӧ`q%L԰?w)]֙ԇB ~~T]3ݗk2!kUu?9@5c̑n5A{+~\t~EǷ&ú̌Kߍ\]S-7أŊx,P6l|3DQ㏦~_ҭs@k@2Ik9˩􏨶Yy8L^Nl_bgZnѺm2kݙ{g2|wovf_,5d_^K}ZghÂe.# de>9& z!a}Ig??$W8',ׅQ9bl ֨ 'ͯ9Pí2J 's۽v۸ER s\~f2mikˠ4Go/IWƹ9 W`0w{׷lۓPb gGol$?8<%h[Ww形l~X,;薵kkvF͟fEEk6Az"ʋˋ%^}*$w~=r!Ϻۈ6or?b.#ݭSe2 ˷OFDZ6x/#}H+ѨH?sK[o zZ!wKmg=awNB̻}kƆ[l >^ƞ+ag; i5L0,@}^O}8BIM'File written by Adobe Photoshop 4.0Adobed@      DI  s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UEBI9sINU__Eտ(촟ȏ.8[z|%ơo,lk}Nb*`Rbn? ?.c'*iQhvc{|SO2N*{qXo/1WuMn_h_.y iVzɶ{JƦ0,R>⯬?389pŠy$}HT}8ȯ\y̺ogǒ^%iW~Cԭ5aMw[&^"iBU]8J~e~Wj>g5vYxgxN톝'fEx^2d;U]{qV^M740뒤ߤ-j[I* s ű)$7Ϟ*?(-85OI0ERHچ.bƫ^Y0*kC]pewr#MF4X4g\,?Qo㰼c|,NIyʭ2\}5bbo>~UI٧y:'NyiW^foO4.mJSXvciP{Nq}VRխi.|ͩZmeibuȵ{K[hmWw2ۆ!~nIU?ț!?A6?.5Z,F-"I䱼l.bvH)"U#z'?Ǟ?%*|F?0 ;> N{Y<ǥb}g_/vU~]Ͽ?>4ɿ26ʟveѶ6yfxO#W3|YB 83-twIo9k2I,Msyw"#TS:֝BOk/1~D~ayGZSb[h!iwsq907fZUC_.|ʞO׵2UugKv,Z_JQȼ $e~6*ߚahR5˯oSG}o~Ö+Nث%<8^eҼa SZ!,$P$;jVO45OJ$2oŕ|v*U78w^g4BZ(?2mK0N_cyZ(+C\m5ɵht"[MGkEYv|USy7L4U~R~}TyO\;+ʟw:%47E$k7}+R]w&`h UA~^~y럖_K5&em|[Z]y~.J;ͤ %ȕ)UT7w2/3kZ4!YX^M`bXL b+#eBqTrá:sʞ\"cu%۬^_IUUE1TOw:ˍ ^Ǖ()a^_]Ϋ!)R8H83?9?97<:I?E-4G6ӟODW 2SzK˿ߘ]?'#tSdށCy$Wy;D>cs Ig,j2>.a^[ v6z|^4 K_9Z|׭hβjox7]v*Uث?/45k/̛ OG^J_,wyg}$)b 00ï$;Ǔ|[|{>i$rZuuirS[ڪF*'4?ߚߛzmgkO6Kz^NtE$v6?:n .14W:,wq/(;޼3:'b*ɿ3>u+>Do?,J[_llկ#Hfi(51TOA8'=4ˏAa4IΘv)/-edʑU R~doU44_ȭbx,/jzDkO{"UG_'ͽ=!?4MֵWHX{qkkkzf;Dd^rM$ S旗8ѦC#/VЖ8ཾQH$2sŃx=_#3vNm&[PO{8̳\:Iv!l |EޡO?ߟ~Z$ڝ.m:\i[d2I(w]㚣/7m߇/r?^Zu_.kUmB_.>Zg Z_^ޘ]) 8~-N|4r_z^Vѵ yEmu.JӿFA݂+D\mPy\3/̛ssO*4O"OQ~#HD~ [{c/('3?%k*wZg6]O/tѮJ({)m"Z>"l?_ΚE$am/"h+xy?痓O+ZAQl`ЭU}72i˴j>m?-cEu'ɚ櫯iZW:ϫi<!QH,f/~KHGj򶢆ᡙ{hA"|6iw9!yOL<Zƻ||\_M_]^Ӕr H a.:֯H;h~dYZ*iǔ8o7~Xy[P.=sJ׵]nKmQ&!a D̊ĕZ󓿘HC9@O<;i{!t'kz;.iSF|.yZ7zlZ%'T/;*QQxBh_"n7|ESq-|(W]W[8?2/2I,qFߖ|7Ɵ ߘmm7UׯNqiW:npNI"8F^K䞕7~jf>Z垷iGxaR=2#5鏈<+_D62\]_P -DV&I8bOx(@y7KuO/yJcէ_%TtoF#J폈w_ hZߖ?!ͭhz|<=_GX)"THOI'폈?~[E;yzqZѧeeysUu~fPr[+Kn>/O?u/ GkRL6 i>Z4z_ M/IZ?Ỏid9 &+,2!WVC)x~G~lwzydEoqqHo pw @UY*8/n>"?]v*UثWb]v*UثWb]v*Uت;OqRFU\1B'_Q?_9T[O es "dу JIc%ߢ~0x|cq\>8_.O?/].O?/].O~ ~|Rx/`/[/? 2*ك|3x/b+~_1_"_~d'./0./ُBߢ&Ubwy~1WߡU1_˖DMf?w~1Sr/?3o~1_ɿf?\4 b. 71_˗~~1W*c_?yj+rг*?E.]_cY梿. ?1WwY?ZOo˿/@Q_~qJ;:4WmJV$rE)>(+Z(qW-9uɸIGq$dmc劄>@Hfx## 8U/Ÿv <0j(|]9[ͯ?~c~j~q~i<'5,G]amvCk~n([j r{ca979ͯʻ'蟜^w&B󭦋1iG-~6Q_˗^o󯜿/,?/5kzr Dv|_R X@R$&cJӴ76oohčj*!k:cQ^7<zz|o_1_CjwGycK]*^Xec_=>R/?Mʗah8|OT#Cz}_?%C./{,21Dp/qw{aF&K 0L4?>K]*^Xec_=>R/?Mʗah8|OT#Cz}_?%C./{,21Dp/qw{aF&K 0L4?>K]*^Xec_=>R/?Mʗah8|OT#Cz}4o֡ YYx > 9|ُ^Gd7hRc\sCr ".dl9r%({I?{!AM7?G{/3ܸ~SM,w^?)GGzsG8ޟ3YB;7*od3!{ʤY$zsGB=ʤY!{ʤY_B;{I{ڽGz!RK,?woU,x?Ol~R,qD#?gwi?޿gT#gB;{#D#rTOB=L?Gz!S??w 7*?wpoe3!_?%ޟ?&S?*?Nx?!7*DkUY_AȞNS.<S.q__O'ʪdzkU_g5DoUW7?k,"7*]_'ʬx//_75EkUhV{ȾKV75EkUr;c_&W/7?kU,{?ȾN\xU,|?,?GsW_o'3_nk miWckNZwӸ֝|6+1q_; miWckNZwӸ֝|6+1q_; miWckNZwӸ֝|6//3l)oۧi{&=?ç !_⣠*K\@q* q/)0pYOlOTp޺{`) 탄bt1) ; %xtLxJ1+x <%anI<x{ _5b= @+}r?c_\a<@R|" wS+ ='O}yq,|Pߠp%|P#Q⅟c0%0Zu(F>_-:}xo4|i#F?+JF *0\:ccr8YZ?.W-cr)^1հXγv 1cTمrCJX@Q:@}cx?([v/(W!cB ~~B̅_ɔ~h)~>pLAg/2xMO'gz-#֧O[nBڛ//x!"PV}eN|/mgNYڹ10'Vw)_kzO-_Rмyesk^]j6֚#S-T@y;e}Up1f^^@ǹ%LhG/:t-w [楍j6YVо.q դW71  fRk; a8|xlNQ3LbnX?~f~HEsdyJc|7^ 䘉Xaq`Mo 3l5C4̬c_P7~6GQ,Qd/"|%_^b\ư|oEԠn[NQUO ,EJL6G>7'|;rz۽?keİW<70|_8jk'A"+k?[֫[M~i^hY8|: nnٖc"{UUBN~^i{bN5[{ &W#.KM= 'q؅f4ÎS n#D';bZ]><fyXk,K/|/;_*Z^ 똯&Eݙ&zR)8fCMnۏI0$.tk糵/2ͭCAֵ=gm+S" \ՙ<^5`r=㳧'$;`qS hf;v*UثWb]v*UgN4 o+;o2zm5pA`Xs7-Üҿ=~ 5t}d$QK3S9Y.%Q+Sa| .&Č 4z` kecŽ&R7~xWwtO5۷l%p=\]?AP2CA.۾ x '||5ZoGx~#h9 /ooS Aнr vdPk'5CRr^ATZW$1')P:x!THrr^c6d0Msd:cN;>GVI,:*pSa'ڹ1΢ګ1$4ΆmUDdƜ09ʃjx`(w՟cNCd.iդr1GS$49Xu;7|?ʋk|'9S:Ħzxr4_1h5;#>mktX5˛xX5˚@SUP2̽Y@ Ɔw*.cO &x23t- _ށ߽ۙOmRKR-lђۓQv}&? <zpC-gdόF\˞tK˞W iv%_i&Vei#tB gv䈬I냳k6s1'$z|go]wdFf@Ñ>w·ڐC{s~XZ=;Ak6 omVj" !"ECkf×&X@Af,vD {w^Ge]Ě-ͅ}.h, hc&!v` kY qvq1᭪ZT!o65u-zI7Spg*P()Ls3\sccf"J'_׼Mq56yw6aivByn;{=*, ݘOhvmt! \"OA^-8.5.ثWb]v*UثWb?,?p|=Xddzǧ !~k윻NF}Z:ʔnX̖\)J֣er,=KRd"HڻeFM#`|Rf֙&B*VG_W~X;8\bSzu5+ŠPicO %(f"A,L^*{d2lj O,ؙI;|0"kɷwCr02*f~paEE%Z}9!12*FA$1q^}u,> uTE  JMNXsFL0(Vj9`  ځ'}`ZdbJ~rTJo)8 7] v7ky+ȈiC8 Dͣyetr?oxY<$e'u{yu+dKy%K`e*$ HFNPuTy]mvF>v9{._m24_L;?K6,xEr[8n^'Ýy8Cߵ$t{?*G鄺,,,6NK WSRWc{ȯdgv[O!Acqˢql54\ B~`~d5ZZ1('LLSɗU7dVhWbӛXl?iMi?,Q3+@׾cN"nczT#)=Y@O{_g}y!R톕 bHeccMOޯ& ;aQٛYEqCRKO/Kyn)8WWn}lifш#49.hT3-jdx^"뢿S>rx' I+;bPNr;t#&+oۯ\k*L k Pj;`PKt&7Ac?#?qynݸ}|h=&nV/w1He5z[t6aAlN7#l1 C"Td`g TSݔJM %OA-&Pv>e2tbGyMEtʌDQ⧾Vd"}xxp(5!޴%ǁ X&Á$v#6)\D=B?D-2Iz<:|bI%,>ZP^P1&$!?#o%ĊQ(+|ۮݰ"d/@@~Nõ6r֢» )1!c-r@O$  )E|,HS#0R`)v;NH%MzdةG^.@_p zaᏇܢJqVo$(q$0Ą3O&OypFj?i̜pTͥd˚m XMLbx]v*UثWb]v*UثWb]v*Uت^h=&nN/w1He݆k}6W,t6ݮR+K U 4N8@1s!,MyqHB&ReyW^Obo)^]wv:|KܒC(j@hxNܸ͆67R?ǛX*<[q/]yj̺k>k֋u뵽s 1%&VSņ sV\fA G/6=4$`""[>?.4]"rt׽:zm0zMϧ\-| oB>3#n9q:S-?hW6v1~Jyʞ\5yia>cgt]Z V6*21 Hc11 pq.7W+Mxsd *5$?vЬu2[m fq ?$TzYʱvctxLQxbr&-.p;ѣ5|_)Ayxo.51Nhnm hR@K2\Gq|G?G'W.{Tߓb &[Fm|tOWLkP wڴ4'bj!Ǹ'W2Ắ6[x5+0W}̏XRo?*yZ睿1d+k@<%e(]S;T ɖ
Wye0.*Nlݓ@pc~_2b4'U_<\W\-augQt!G|xb|PLdbØ{cp!!$ F]~YkWh/u-o_7 C4Q2:pBڱr$c8V8Hߦb'fLx HV,'k[_dFjZޓsäkV7q-Q=ţȠ$.i;e)τDѲ >kv Tq( thAy^Uf{>盷uXIc02YDޤAЊf˳v&|)4~bs^.ØA #o??.Fz4柛-נv4qcwkZ喕-%^_jj2$^/ǻV,9a)UPt<8D"kx'!Qh.}!:9`,CI\Md!SzW& Px`!Dq$ )HFhOacHl*r >dV:|"3ܚaJ8ߪ*8~8p 8af+]Oë81AyȚgkGH|~2GMSaHxiq/2R<|dUCqp,Ƅ'+?/+_0yAƗki||/Z[kN6bKRX[vոc{>LQ|&'M{s 1G%Hܸhs;-G?6~a<Y,<ͫXjP5E%_]i9U8Hǟ27؀Au]M1F_H.@o\7޳]}641(u[;)fU`nfDT-Ř0 j#1!-LO#`wo?~\xHۈHs?&iXxl[QD66WׯjoysgCx-:RN=G4g(Xߟ*h81J12yW1<5|;2O2yejwr6^kuq2H% Ȏ6ة 2#:~yDҏJ$=rsc,ݷSq2CC~a7c$ޫڋcvHd^ISǐ*LaꉐMs91mNJ>E~9_6y~O)y\uM S,ho!eYE A~CGÝȃ9-d5Xc#g_ˍkph6ivacZ}WY-KMM*;$ߡ'#$|p}}cIѫ\^^4Q9B"V.ZoW_Ӵ˭'^OhkGj\Ei,sd$#}8{0.scXl󦟢{Z6^c醴Y59Or,h@!@L!Xȳ{UַN~DŽ'![c64m[ϿVYimlK7cyl b5jFFZn+0?}+M5(G? ~7Y7M~So]" ot襰kW +r7Ǧn;0R~pxR<@Ęu{ŏz.Bx.ϗKAU~|ݛvz@`_K~žfS&}[̶ y]2 G{55p\4+o+[&)މQFؙF9uY .._p0٘sgpoCswy=1؊NANΟz7ߙ~yR?趑ibp}GvPk^@,%}GlO#461rټ;w.[[/O!y)lFG%>[N>rw?4;S't0o}V=h<k8UЎFZY97o0!vztbd&?żi5VլRm3OS-KN+dTOD81ݼ5~ ;oCnW*?i;uߝF| K2ne3ikҊO^YHk"9Jy%n&=jKK)ѡ8[`;mgg@.!}ĩk76餿-|Vѭo1- ~u~n?m2v>x߽p`~..g~_d:%1[yK}cZDz/kK(丗!cU-u//T1`ZP=<"%Gh﷟3ϝd!ɻ_5m 9,|Z}2Dooag--w22K#bha@ pgF>S( W2v[מ4.|ˮy[nnCZMŵ[\Cl+Iϐ#>ޜ =:L{qWrJzʚE͚[u EV7vp  P=O js#K۲nj޶֋N'oh+t,xH#Ȏ.ZTwIbӭnF "wh =(&HyR壴50x@1)s])t,or?}Qkcu]R8,OyQYArccU* *'wyr'EDŽTw:+eH5';5.S/fH¨|#%.rD']Iv1-+]K{ykumM,Fi e0갬qJ;xj (V%v-NKZNg$$14QN{6c&ySRm5]F kXb[ID) # ôXdJ1;1[˳!(%."?v_i[k1YA/6E'O6\EyAr޴n!nL$r]2_zYxR-5[ƨ'i8o!>mib:~ml(l!X滙َ1ί8cut~\&S<"]XĞ`5ٝ;̺ޫ}q}}fbkgi#jP}A\ګczh8 _4_j֡,ķ3Jp%dݨD TL9 ({O"K̺ޙgj^i5i 2kZhDа~@ \ˏjꣀ>uά|ivnG}]Ϛ)k6yQbWI$5HNE2J[w&Iɖe_T+x{ulhB8Ȇ9WzCyɚ㯕ʷSy? %ơ+Z?Pe<@̆Jt81䭦xVOxŞR5C`uҼo_$ip^ . qO5ˤ Nř vsTpd p@W}u8͏_uW/W揖c^m?Z~层+e%Ԯ.>RՂ"`}Kb<@"_I۠7aOrB\9 ČyTR4>rմo(?A\_YiZi>\Ҭ,܉%.>jW$82jX c'ުr͏KD#so/byA{ivZ,-;YLVқMq<}DʫybGéÍs#魹G`r1KTl=ʶF{X?+lkIZj_K VqM*+a1ʈ.˲ؚml3DK6؋]lVY,ǭ woJ#p-4hJjX5u=JX d!p=4̼Rdz'b'( ?IbG ˴#$`$hZ׼my{CPã\tmA$YQN.O{Q\5pD*[yޝn`͗? d //+dj͹vyf?;#\k6>a ũ\-ъO s-@}Gf 30jG $G}y:^V&LtЕ0H DȎpGd姙? n4O1/6_켉wZV9"`~Aݛ_1쳗.<ē_0Fnf'鯨k2x[J5ȃߐxΫid׼ŭz y_G@e[}*'lțȦ٥ᩔt@vݗ,YD{O^|.~{I]+ڷm*XWeqǗBuLȔ%|=G/UGǬ\c)"vͫ#{ fLe^^5wF:DG$_6>II]^FRUثV+q|{{2qÿ??_ TTA Cq0-|o]gjj9ˑ΄= n:Ld f,)P)OcM񊬑1s|eIEiz쿲|6kTT@IHNhYhɪA+>%A+2kA-2 DG!Ns"%ֹp-d +Qtˁj!`-D5j~EQA+\ѓ^d4^ 2BLxTb;|t4YY m7R& r!Z Y wZ&  +, v;d&0:_((s eC1~L1*, XI*W!QEd|3$k;![{5ZP$(ݓ THiI L\,H_n&vQ6+[bm_ xY<7\Yy[@դ s*B$T u9~ 6\Ȏm9!iRɞmе_3ykR!X֢Se@T9Tk3J13[z%)rܭ?|mؼ?H:G$^akY>RY^o[ 4_)֘N0ۻeG'$8~^_&y'X޵aD7>} byR?Qwy_79fCYQ>׬CI9>nާCzw3i!SaeU,(nFB:,qHsl|W0 lQ@OˋO)˄3Pi$o,5D8UHCr YAx2f$:a=n8f#`zmݺ3̾Aag5_.,a>k, 3FQ@$+SЌ>6H3ëØbDw.4yO/5h6pw),xF![å˛xDp6O/2˨Nj^Ú)A6 זzP;ڨFDvT")jPMHirBbCo1XI\hpYZ2޼L#[KٚrnʥaA鲈pvf\mд[6Jk]r="Mc$ÁYUFx7QY)~N&d#ks[(yS{wc8ƭn3t_B=~vLzL$.g7rgRnϓg6sR OҭyWr1;j}FZ\2֍|N)LCM5/0[y\&k'u/Gm&4إtE K*aҹuLDchˌ fo2_j^gV [ӭy&fh9 2a^C]ZdcHܚ8#bHJ1I#pUЂh,-b]''oǷ';ٟj]Dt[TV;f.Y91J&xf)sOj |\CObNNLbfXVULDɰ +CI*)V!&$ te-R \B||KLU2nE)^ Lr  aQ'Pdvc_*L{ˢZ̟FX Λtb+et !Ɇ7X3, /L,J AC0rXv90P, J&S1K%^,)N-`ESDбV)Temaj偉R5>$)8<|2AS# =xρ>J9C5w㍫xY[3B't5h>imy{̶w6˧Y]l/tbzuS_XmN9hfOd(1? uݣY/Q6 N">yB-}#g,AxᄄBBm5[UXkEhRQ/f` KDUH׫:: x&l# n3:]ލ$\W^T}T&4K!]H"cÈ@[bp ?1y>~cmp"\P/s$zW4,ڣy˚/纉j.4X~0$U#lvfZ,EE{Ѝf#پ]_%E[ VA~^F)!1]FaA_]o?7[sq 2Wҹaͬh:>{es[s~`ϭ6-l"绝 fSI x 76X 'ă.}; b8eg^۞tKzFy731Gg˫k7OMURX$Vƒfe/z>8hI؎=5ɦsD_%/ajHO枓婯?.VonPjZ,sah_:60\?2 }O[ӖS⸳9-,h/Z:^щ qiY!@1DJ?T} $WCŠ7'WZl5t%w1x7qY4YY-\L.jhF>hr͗$#Nˤz{ \X)o|zǙۻ}3fyTѼs&[i2zM\Z[ M!C>L莖pJyƈ$t;ÈՍDe[ث!/|jNXzſ|z}umzdRSEKF)p%#b1' ;yw2=?_5C>5]7I5/?z直/2Yt>}2{/-5K [rCND~-],q˛6Hєc@|{gW38b-M9qwDCwMJwu֡j&1w5$"PhsZQgR+~>7-8G?ةKWb]Y7DHHg m#VT:r,mw<ʀd'9ln4I( j|+d\iD1bYYʀl#mPXt|foko%hD݉U0)ʢ 'b.D'-cg2]&*=l]tON'lhag=Ko+?3m{˟3uΕ]rKK)} zع}EdF~~;?8@Hk c4b$wޏp\Ǖ&-bSo&6oϨEf mpdKJli}7'3$wJO;ջf#Q@9P>O4WWּѯyKL[w]efq K%F.)xkμNў}Dpz`H⾾?+f;k޾ [}&7OK/u4KNl)cN\݈{DN\tNξ@cq{ѫfmw:Z-*9t+$C"Y us LvL^AN#'CQ:mc]/[M0$|zV~UwwB[|u*$d#ѭ/_"Ķ-. ~Μ!126}n;ǫ8% nr<=ױC]Ң׿0-llm<5yy_I; Rn+wn}GgepR~fOFUwwN?X"~#Z'/̞`:+s}iusH-YjȗEz)^u1!3H ﯾC8·{ǟ%m|yMEo˫/1\iCfGu,R@J*r5lX9cbވ(v2d#bd(5uu/.?t:&Y[Xt%UbeҴĸ+{؀IcrWAļr'ؘ͆'CGǸ6؛C2OO)eGj ~`4,Zn~5UѮLiY^潵,%@" 7[vnj<&U[P8O#g$Ў(q[r-ieOe0! q2$p 3eB14g<箬7pV2QeB8랏3jz 1>&t9eg??)|"w `VX܆#``yd~$x/ӴVw"_rqCP2C- uZP:9\GO;9ʪ~vyqKHcD*$T}֛?{?8δ_o:g^aa,RiycLjtGM0:|\2t~&<O5-%N0cu(V9+ٚOXOm= 7Ӕ/Po|_8)j?>a)V_. vx#{:=O \E{;ۨL(>#C^<͢yGuK},/bh ـ`9)EAsϵzlIyc!Їj1jb'BQ=BbQEf "J.t($8,bR,DDQ,2xHF"4y=2'D$<ŭNTѼ]̰ qFb`R:Wzi6s,)X&;yaB1@gT/$6=;<&D2|+l1Bn@]dTRV۶H(Q#e[ T˄PZZ@<{DRxe-R l[&2/ 堵a~X YWP NX z8zd`6偂vɆnraC&H!so)]!>n)Qv̠ZJ9& D&+k'1ǮTأQZSnFJxUR]~_e7&D8LV s ԖYcw9Y=2T'#3t:9c GqqÉcDG%7#dK5CkVkR_M9:e|1tH{vL8WAV+Fn- &ҟU9dpwRV۾q≌'(@=7#&I N Ȑ +x*nD ^*]Pl+efr IB i:VqjeLZ(IY*$TeoI$}2ǔT%]ǯZyKKE$WKEصKH"8ynvw207q{st۫K2򱼚XOZ /pQ0H:x1BR$r$ J-EHt{(u9 [ƳA]KUPcf$GM3]/ʹth=&8n+aeWYќ2 we$9X7;T\\z-/*W-׏UYu] wu֪lݦ5X5܆k$!L|N<"hPt;1 @ ʛv*UثW~U/-Q6dg33N])U÷BA)ݣj.@{i/"hRsq.W[3'e|2 m__^q[]jY|j Yn *_Dqηa]Y%?\Kq]还:ռӮjbgQ.,~}+>fޛM$( [2?K7GiQl~M䭸V$biBa1< {>']bB~FMJ "ܯoEGlZ.N(3{xKn[rsw|=9+)X]Cԙ^YA^vo}U ~{>x!ܞp4t8|ѣyKӯE 29 Hۏ}fCx c4ZF|xdbz#~gs$;M? dcFI8&A<`.c81b{eUX ^z_^+{K%[H(M{C\US/{;=l,@y2rvznܡ]#|9*4^MםO]P1>q5'}?{e2zxX)dM1+_Rɉ11CwcN>&<(F7`f;% 5dSˣ&~I,)PGL%A->ˢZKf<2j@Ⱦ2Z@H5堵qɂ*:, P̻`(wۖ% Nk! , PWڝ2lB|H!(E/.Sehvd@7|2星|7~x]v*UثWb]v*UثWb]v*Uث+?r|{{2qÿ??_ jm0Rh5 km'ҙ8@tf8#!B. ~<%"cO͋i>HP(fKܞ.߷{/ Qq~|/l4g?{:8$HE8,qU@ =TOIs rCdT iWRXq{0& 4wL~i[BC PDĵjEMMrkA$^g_{Z?sf#{Z3=;>^@{gtT!lIcdRX#-]$]rɪQAH'mZ Y cOeI lZe-R dlG|2hR#]j!->5/ Aj!"xeH!G|!z`B;zW- e cOe2dbƒ|AQ4ޟ~M׿A$$ l, T2~y6̛R ,y k?<3*y&/x]v*UثWb]v*UثWb]v*Uث+?ry|{{2qÿ??_ ޴vKNEzza67~2Hh_eqJ+KyǗr-6dd?zWS8cq3/>^m/NO/G)^C?!yz]ՒOqٺ.P"yNDc* iEݣ-Ds a.qkL{~xWz`JF\ B3wN` d7&&֐xrAZXU"DrY }q8u?1[~YsJj4JfQOhXЎ! g'}4yϢGOKtdbC=|n?'6 6iG J*ͧē?͸?}CHQj9>7Ԭ8^ҔYM90XA'l) $t , tҧ.k!/64.i!/)Z}tKT^ 5KMɤdSĴ%s%F/i!,u2ZH@H2赔 -#_Ֆ ¿&ևsN`, ,`T NbPl;A Pzǩ0ĥЬ;6dc=:M^^Z5.J9G3YQZڸXxmݣZ 䜆Mx@$uhH oNO3 o8dٟAdv%pe6M?H?/ο=i6 ~^iW+UH]#/k\ {> j x_j;l؎>_wVث~/*O\4wߙ^kA]/G1˩!af3p\S2/o.{2oI"Z~`_RG U6^I_ڟCfc<+ı8DQj&PL Q"'NGq4nYP;PR1UTG4{_|~Nz%ꏸ?̟^~sUIsK]/{xzNƙ~K>ΝYzu' ^?FxH9a#&E-SrIQJ揮dFMR l\ I |oĵH% 2薙U^/iJP; ȉh!*(||ȉj!,^|Z Em.jA7X+Ԏ<5#=X!)h~Y <2aa2`! %X)#ޙ`byMOa-ws08"x{ek,px58"ġPp>G*"I'vbt*i\yO{KM,qW=ߥkoq+5\wpwi\.;;m?|CZof?ˎ!-7[y_~Y㼯{KM,qW=ߥkoq+5\wpwi\.;;m?|CZof?ˎ!-7[y_~Y㼯{KM,qW=ߥkoq+5\wpZڬWn+oӎ! _oN?3 odWfC55N )&>P~wihP%O-TUSQ+qyܬJFj:?g{$"'y};HhC;t>HҴH7M;[ $P4E gBDb( |s3&R6J3$ث9gh0f.7˶ݙL_!KvѱO o7 zney,tt F3{Vg&R_WxxgqZoJv90vbjr5Ș3VW^-3h>xWacI \ʲuQjz}9_W ݼ[chM^[Ϲ%z{TCtw1b7i_??.P%/bǼ? jO/gEUv<^bIllK4mץӣRiMt,+˨9c $ajL h^tIe$q/ˏ5fyUEM9]V}&UbLα9E4SNs!r?Gɷ?iFO>4Mּu6&>WWE QAfn*h3k2xxr۫2-ʚ}gE'ӵ[Sn [?Kqy$WJJ,A5>esཽەsgk>K&kr[>O/[{sn1VxF25 ݟHjS߷ۘ,k儲F^ݟwݺ>]:ǗS,t=gOJK XO8Xѣ7=fj4$ ѫȃ t]X +}ȱ׹]v*UثWb]v*UثU8M_GfC3٪vI*MD[ g?z~jcW:E"$V[v ,-w#g/كG#=/IhV}0~_H"ߘ7濚Qq=j}]؅g]{{~żGpw%mE8+)FQ<3rDKpz2 ?@fa 4&޸LQĨ%ܞ ;k1n[MnYOz FZm~_ִ{O~-m,_jdi53fh}Pm:b)r E?k{*˨Twg[xRC 9N2GcEb8sKeGiFS gT}/8=O~75%DOѐgDljxPű9ddb\E\Ʉ' N,ʁq;̸a)hi-%S/DhzejU*fDKDU:DKL(;W2"$|EH6`-e  Y@:҇CYCk(Wzn:`Pzzv}``Tx䀐;倐PRxֽ) m}aWx̆/4]Go 'hEZeH/ҋOL)d.[P/ch@n_t@%PyZ7O*y^jO6k~e _t4?3WH\Ԥh_BL GkaX1v!ݰ;&yZ9v0g߽ll U oy&YfZ|XsثWb]v*UثWb]v*'oHHf]V%pߛLÐraʈmiG=m׆IC?}ʰ~t+Oؤ FHn'ze< w+yoI(8ɲl~o)nbd^ƔcIl=p% vp2/iT,J̈=pra?b< sUǸyoh{z=z8vy!\S`C/F.mKEIJ(jB9Ev;WڙU`705]W.⣾aE)|2I+|Z$O2 'ߖ?{FwrSڦyKXйV[Xzja׮tèBߤՊ$w{k{W. 9[s<8%׍0oji2Uk} %>xo%ԕN]9"C#.^^Ofc7߷YY~25ݿy+|2LfygNk!Bo#r((f>nŏ 9 Ϳj1Q7ؓ\0Y_n9UOXI.%I0,, *b0{'\brՏɎf# Qt~6fV=}OKԠMԭ4 _ dNpI'%>_!<_ƭys'˚ʚgiw2Q,jJ"*aどg>؜Ō2#Ϳ/˟0y󕿗ߙ_y/DpۿjS+Q§Sbd2Dt۰vLDAYuz U;?^G5K͟^Oѯ"|=Rޤ3D'%T&6:=$3eB8L#+ǿX ~Sjڅo~W:qMqqq3(U,B$gDzqC4OGR|7Ϻ<4=^y :NגMݝWZlYyJ;ex5,K.8c_ϯo(if䷑8b2o,yj[!fu4hV2JW]]N8q%!FW,@n'וE<=ox^{_F[5踬5 h%@J¤0jæ kϒP1? ^~m&ʒI-{ztm.%}G`>i(,ajO!:Οy~MˢK1գP6sy"[2Mxb >.]z;s ?"򅯑"ՓX64JHfvx'+s^.<NHU~?ZQ[/8RO~wVU=g+dAR~J_[ ҳ{591PwuBHhҵҴ^H$M"~;|#DqIw@Y_be1=t`zΞFIyenk 1,gl n+e~]_6kjW`2YAp_FH ɕ)'$@c-yuKƫe7V4E &܊X/Uϋ6x?oFOzuGVܙq ivxn5G*fF<֌T9vDpЯH;jI7`UثWb]v*UowN?3 o';ٿ{f?HݾH3jW0N(WV`$Y땘 +*,,$~SF;֧+ٲ'v@ztb :MFQlG_n+BZnd9AWP9&DAo FOW9͜`ol:f<|J`I v C1 J[r_2ǮXU,߯J ~Ni7>rMn})L1}7gWc"=YI|G wupy5|)?A懯~U~jGTY TxK^Xĺ5ވ:c W},D⽮_|)arvp%2P>(ܼw0EdWh{ ɍJS̈Dj:Ub:fwqs 6V>pi Fߗ>?t3_4gwo,76~hʉ=1 =-v^YC.I}vs˗%TB3M>"ei '9Ay7Ro>W֥SVɩ yL\w&W棯 Qcð߱gDq?{:'D`<\Z?omִA+n,5 LNބI%Z/ٌ棴+~ӳ2ེ?!09 Le15OCrN1rHc^Z:dc͔ɽ ʶpoyy8LB7qa (ь{/c{yќK>lϘnrXEZZFh*"M&y2 Mq,nʩ2g,{I/<)m&x]v*UثWb]v*UثWb]v*Uت~gA&oN/w# !v[=[A.u@9=]?ٸ e)i3s:DUثͫ=IV'm(E$wJsF^7A@2лQJ{9IEc$)Ih@e$RArbHZ["aOVbω]d$"b+)~ )6muUHAܫO0CKM&rşr DtǓNjc/T@"#ow;志6Qy@|:\.QϏ'aii:]"Mz$PDQPbP L#9nI/5?-dl,}kEcU'ִve#hRHG8~}Qy龀r e?|׿,|?b$Wi`挴n; q 0",0t_!y[ z7lc fzʭi>18!ef3ysEu*y=S@%ƙҊQRLQZ &ߞ?*O, }{I%E6O"+v~dym5 ;2^/S+~[n6[0]8r/NQiQɨaZ]<WQa{~%%h^RAlmij|;kI]i4|O)9zt}w>rlm_\gvq,(۶a-Ol"x]v*UثWb]v*UثWb]v*Uت~gA&oN/w# !G4qD䕂Ff4|k" 4@_҇8<.jֆenTPzv+AdϢFQ9DN|.IL'm=˚|W?K_ιVu{M"y\V߰. mgRur4އgvJZҹ潵}y=96zg3(SW|ŴIef,F#W*!Rr6+\ M%b '1͹S1[!$P wpo#ɚM+ai֯՝[kz_Cv˞:hL7???y~ENl\fzy,WL`_@Tn$1'4SS.X>OOy~)}wE4nFIߒ&嘚MpԝNEBkʎ0gƸ܃X8%Њ6idӂ:2R}e8Xοп,4+#1ϗY~$_7S)aǥ՚@|?F&?1`bX5KhV+gh.Pďzdk=ǘd7jh'!}NeWVGPૣ sd?$1`,rH˺]X7m,uy? J{YJ#}*"F7~YtZJS;} 2J;VFdEOڦkڟSKPyojţqIoj;S>_!ALjy/q5?VTa(gHi~~-yR-MR䇕5TO`I\āt{=.Gnhc˿5?gW4d$3_J#Z}ҜV "0ˎ;A8] [ec*zsӴş2G/[ao]+{2X'^2qۊƑh4ZsC._E?m_WR5kou]Bv,YVfbI8A\z8!D( :mˌh--_]~D?xY6創.̿^Ze$FyPӣH+|^ʂ3]V'^ppzi8.*E5[T؉-d[G7?B)4qm.c{MC̾]>]^j1I2] zqB& GCY#Nwk0?*vwbY(꺝ivIR9bxy破)yB^'a>5pdG&@8ZDV=er3:l"xGZ:b|CWE5[T؉-d[G7?B%-h [oJ~IVk^_ sKg '{y( 4eW!LU,XxC%kcI^KDOz< ˭n[|YGSCGxNa` -^(/4h]y{PtSnm}Tc2KQBzl'(vPcc H-:ϙy}Ƴw`d,湼!tG >[ ̍ge BShiLCBFO<.'umU|`6sK oEc&f t욬X@qr7:o*_;w[KgNn=KW k\;?)8J|׊|CQcc/.Go'yɗV^m廻$a2$:4Aqg@{7ac ! ;nv*UثU8M_GfC+tߙz)^IIxG-J$qx0~˴xz\iA> UثWĵ2ցљ/[E(ojDG1uW'I:_▵ݱ=e}/UsjJw>Y#ZPʌ[+1[s1d$Iv+1lTLSĝiEf-CP3(oSQ#1[ĞTljVVze;P;}XgUHeu B7䈔pd BDzYvY؃(?7鷿^.umcNi^\jL! M8(5-{ΗM-q@oVH3\H9??kegoa-6Yu>7=~]k eyk)RLߣg(T,9<>(f9+e_}8dy Bb6m?X׵}'BRt$nDERƃ` N.L)@I ݖ]D0$b9h|?_oͺo/fgGQqmH*yFM_ʚƗAN^XAup)]7fjpcg.Q1 p"˗0e2FQȐ {4%?6|Io0MUk19Xhv1RY@َ͆`9l|CCc Hx4ڙvh)n6eY8]ʟ*ӭa2' bOcOS+?Lw?9e~cͩiyW [^iҮ~ @%=C?`&q߱?Usy7ccK?4ys]Ӝln;(ߤ9{O〗x{S#;|Sir.moU!"K M3=̘RP׶\I/ڄ6wSCn_?G=߃K훯!v}̿4tf@QLHӟ@G}†bz90SMյ= Uu]3XѮҵ`q$RݙA~)! y"& O"?:?-yCl{}SVU1SEzc޾wGƧZ10<{+#tpUхAb9 KG8lxZ1XVJVVȌeQ3b]EmUz͇/w^Yto8IaxVIz~~ԇ1g&iqHHRy|racywݸy^ֵ̿3GycF3y_\Au.I}KFz҅YGjhZg], r=&*̓[O {}_3|g*GʖdmVEծby+#I 糎)ƭoOM1is,}uFoH"-|mvJPX~X稖,jq'r7<W=1}}Hb@LH V%_0AzGˆ5v "KW~Fëȗ^]n.gRdwkh)ćlD%2ϭƶ_*]3GQ}Yg׫yRD<"me!k:_]]sjM=Xnچ㏦&ɿp"<;g*mޔ4]v*'?oۿHH}M8nn?*kef,m~Ë t}y߼7]v*ښ-[rt28,^EOlѐE/MvY]2@:7镘 k\ijUj.4J+"7c)ruc>󇛿8?,|i,'^#aCF` ڍn,|r!QׅI' oC}A?»^֗}.yNt{$hGYB P"sW'[@|,|Y_uϟ>do?+4uq'f}Gn0ZHrO +`)^bN(Wwv#XZGzwݶ"^M]z* e`NeBŪUi4LhzpνûxWՖd;9_$-3Mό9O[z8s~96W+n}?cܿ?M>UלVTRw<p)͈G9<rHO,8>#@fs+W嶻muc.@Ox(y㎠4c49]<19)~7cLf)\r<@cS?گ412ieʗ71FԷ $MJLѝfX' c#qD#K+Ov_ y7w:mZJѝ".44{D? w7P9~]tp~x~q_VY?pmfq\։n+mFsRCj'-x$t -;>qXg_z~Y8k( ג?7hzG).RhӢzv'3A߳ڗ4؁pJ=!}WAN`9)LS:DCL]'_|Z}}e@L#* m - /SG46oY54P oo{[e/'}QAOg旓?/5м/Z7$ 3Zrb@d*8:R' MF -/,&x/m'RE,LUըC+=r)0-DE6&˱d72aBI, GIx^U VכzywN=y]Fty/-:)2RFm#F!*ؿWƷ;@豌uΕ]rKK)} zع}EdF~~;?8@Hk c4b$wޏp\Ǖ&-bSo&6oϨEf mpdKJli}7'3$wJO;ջf#Q@q^t?J4ZBxM׫ief&Ɯ֬W5ݓ <\6 sO],-qQrizƏgê'4};TѡVosZ]~os 7v=)Nx{2N9=&`רUHoc˿a5D7"]wnaO򎉡mk^a6P,sV{qgd̬ oMXq([Ղ%u9 cfNܕa85~GSO/v>W1kwvf6$".qUxzkrQ45<12߼ѷ-2f\1׿5-?>tߖ}kYu}S:֝iBsCmyWtS](ȫ1E`Wyt#1"E|W4/iQy*˚itjQXF-mCGZ8.ҍ&!^`s$'XU(?v_k iLxLh,'֞D-|oaO3skm"-> y\^N+?HG-c>Ɏ}, ˥p}WƁ:8u1!v.^ؑwg?/>|ߍAUtk{SjiWymK gAMwVvnj<&U[P8O#fB:P#}l5{}e)k0i~Us zޡo)y1hh58cOhVS$N0ⱣsgHNV"kz;o{K8Q𮌇σytn>?<+QK]CR-{Ď=;A:MtZ aP9Gj{:5by8ercoox⌠'΍>Dok֓w{_=iMmæZXu,rJbDP&3~02'ۥw÷/O<h}ߧ7kzŧ~WgHie˫G6&m-PGs逓\t#%sK%G1F}XD Ed=Ai2[}>OǟTi^=:avv:_O1cs]v*'?oۿHH}8 SHV4|\j(;QѯC(9@_i;u,݊v*\CIwh1[-QB6%ᘺ?#Tۗўwڤq=f Qe= ҒZuo@ʊ[l#qeRUQxOئD2Joz HTZ`#nij&7!=3(m3jjUVF&`}>֥~tja"~[לt!QI= awJ9n=lϕ??*IMGZkG,sn!_l=OUvY.|k;?!1ėz~(ITҬ*ubO|kcy֏Hp#5G$g>;=d01qyNZ[,!e l3c K}</+Qru7WQԒaߣ_GY@'~Zr^Ȍ< Ͼ`>ҝCz֧w%V xS*OŰ>Hk3[ӡ@ iNe{;H8n? 0jM^yFiQ=+ڙ H@nti@G=f y.K[ydxee;A⿑̏&?N4~ug!-8.B26iٚ%){l1pw._4#fn`ÇɁ˕ &1a`re~ϫr+t\@9~szGے8>_|8W9a?=k7FM~Oi?g.',(.`(9+33Ȅ{^&yTMƭɒ";֠2b,N t?Y-\_-z0]RM=c} OI)n?ga}n+:_i[7.|ưȊd`/a"M6Ghi;=r=/d#+\;).7 If>컺^_xYP~De%5'GK>;n涯,#@cRRĜv^Q)━V}hF$t=Ǧ;nz ^QKt3&pPY&JK9,dǟ{l| TD v(OKqaXSOp&yh4Jo,jPlj؏8ŊeKm==ǹg >\!N=?R"+JZn.<͢j~]n!H^FIloc_^9ULLˍVR&0ˎ/r4xx,rE[i6=T}2;xQ kޣ+42Jr2lϛ8F=(W˓$.yZM[ɭ+UjN3Y x&֟YBЬi;7YnQ^/fQЄombH%ތYQV#b">cq5`m˦+]3M(lk3`#+Eq QM:gɓ;'snX ! a[C;N,)i[8nIn:2aèˆ9ƉF\D~!fӭf-{h!=|c$``$DO1f2ÎR1Cn:Ve36fk7ry4_=J=1J#U\+u]w.U~ݲӤiM i ki2@#hiEB)Qcl;;>w Õ*ķ kvڬH骸>m`9o{㿽# F1h<cOJH 5G+axVPҠrReUvnUc>8ǀD|{ӛ.j:5ޖt]Bt4ׇВ;Qq*PyTV KoVoܜ>;Q[]v*'?oۿL{7zZ%5DD Mobι@i;uӋ?{s#v*Uثw~̿:QS(6xܝ!wqٯj;}ژg{;$y=+G5,C,(W;{e9w&1Ukk_)#'.).( LaI^S*n&p@ִ\ǔtc}.h\ 6J⇓ O `xĖbՏ*E/hT mǧ=]03ֿs[.cRJ/^Lj IL[̟co*̿ZvڣT$ۺ*#<.cO8A{8 q%|u.p7mD\ӟuZG,(H~Aa29ߓK ;WI4>p1WU5Ԑ#j+G/v&dC-}N"\yf#^QgÏC0OÄKX5Zcg(˵TBG[C}o_ pzR^\Co?_Q]nM2)#xu[u3ÄDHr21{tr:,T<`~y!yB!lEjd ]NuQ+ƭ|Oa˦t?"gٱŗnz/?奏;<4ΗKǮUw>/m4j Տ=١a!t~/+yV)E 5x]~#EA~U4I{SU⧳->SBzeMWyjgi??.O/ntEyqCi g[6q/ Pxmhadya|g?{ ;^X惷2J5]dB2& yoʞ^Ki=0̀<]CVfCI/. |=n: |T&]y_,h 6ˣ{ڎ 1o>ys>\QOpW[[qq%?f(1iAKSQ#O֌lR.@|w9Soo"$0X~XV,/Ш[PK[ ^7j &Ci|;gN jr|FP,Rdteee :"S?Ϗʏ8~WmfF2k-B%NUR@KNr1lŐB]OPUד|#yOgO6OQ{w(I59+ Ha: {mI;L׍fW4鱨IߠV?ơ Kr_x^5:>/4G˿,FjHb-ⷿ)3$(hKa8f'Gtx70𝄇Q;)CG[мoommd<,!Sȋ]6Եzr <Wm;;/Ŋ8<_o04Y!aš~QZͅKmu&I^0Ƽ!5]1}i0bW8}ǟ#w8;7)f\pl=1iXilu<ОU6]k>e?^x;=֛ccfʒkigj@[9V|y|"1'qZ w|3ÀC@s{Ǘ6-N?,MCO|Wߗ]E-&kqi}_OzLÐwmv΃[8 H1^?#pn80 Q#<;wHhyt~uMwy]/:_AhlV{BHɼ ko-չ)&AHŸiisjtӔ(ۡeó8̑2Ʒc?^xEƁz.amh4++9V\vU$i|8v.9V8Lb ]F݇ٹ4]s&Qn<_1/ɼ+/o.yJF|py&-Pk]-UFi_Gm;n].l#ٺ&tz:FЌB=0N?|'^y_IN妳HhZ&V(}]X~8Nt'Uy77HQc5M)Hs* Ղ~߿٧'Zak. [f} ?v]Io`l"Hh%M\C(`ٝI>sDccql׽y8=V,8D̄mP,h]MܷR^wg^KEAkƛt/V8sLP# __{iM⁻׷wD1݊md;7~D@ɣz~O^3ľlC) ͘L9;G/W g>8UثWM?f~}Na.VGCͻ[ {GX60FX|WMB>X#%ͫR2 w6 G1kcJNHAޏ sh(CSRnO)X.vڛ<r1=z];\uYgs0˽8ȿ!YD{ɛu ^}잜`"<_C^G)G.x/S4>e6YmvEGC5O^g?M?)94;_ߜ{7忚4+OEfG6V Hʆdmӆٯl0O }QeƫN=b:m8޺^wk?ϕj5tKrŒt"%wjtφ@?f9W*<<םm~bN_sx&&*K-Z{!yؐC S,{W˕ 92ܒzKqޣUZСgh|FݹO{m!#|]Rk?.Y:棪 ۛU{f+ r+'KGښm\gNTnj㮥8q hz| 9˞Vծmz BQ$p$q~YٚSc w?d}'ߛ%|qhAy^H$"F2OˆȔ>>\tzhZ7x/h=éэVyK!'nSe?=Cޙ8-G+) ~9ٷVc>? h;_ߘ^dW|>Ykc,208(Y f<_ڼژC0u}bx,Yӹמ/d5yO5˫<ݥv!7-%Jk{[˧[>fe8z^Iu]cI%|<»SQR g`ɗjvY,G82o&{Ǵv~_ܟ-Rҿ:qyO&5p9{ Ǜ[1ZYDWdW|W?L\t|{cN ػ~ʁ4{~^. ."yv1 .Cz< Ω!P;GN/O]`VGhbkYerXɿ\5Ώ'_^?nG/n42Nn[Υ>ҕԾ1$j 52gh5(G>Tz]M{ 6yPԵOPԮ ܼNIev=Yى'5B3ܹr?Mϙ-cߖ^V,"MCv{#DC`vuQ8?wN6Zi %ntN?Pt+rK6h_(*)ZRF'sIpaU~D.PĒ&T0 _mK1gTޣQ~or?->xYǐ.>{KYc 3#;3tZ ɘb@>WŤS@Oܷ`W:\DX,d{[Pe0Ĩ4ݏFR $69;Nt%9WwQ|4?.g|jZNy__fזue"VΓ[=۪q&9d0籱E-&m-yM4+7P4+ˡq ؼ^XĄIVuCP0d$G^@}\;5O062$|ˡ7N\k~dҶID5K=D7QZ _S Y!9 `)B9c1=䦱5&7m!i9t!gKW1W̌H.g =dXnq䣵 %=̮n!,uAe-w m#C'slE*R#{iyH93<lu~YD~Yե&[ ╚oN@$ӗu`y'SD$k{{OO Y;.Ζ~`F|{ 5*ˤ+^xִ{[/6Zi2_@̚h3VGU7^ -Et-XM.{y65'@#ڏoO=Ѵ:f}p\ׯ4:L]n4"z='cf( "Gӏ#$Y#Qy\ K ?U-u4k,i$hI,غӜ#TWuϾY_K1$ lf?(ry*CRUMFh;7X9r'kJZ5(ÖNGȎ{sٸ.Bǘs8M_GfC;u/1rP?cN>WeXCnq?UeuWF VЃA*Uث~}q2.hW,0o>=qDZ1y?BѬFv<ϵ3.G}E-T0Il):`94<hIL1A2N^h2dA1==>b2K!0k5"e2ۣ('nmcq_1sa܌yb~,ip^jPڠܙ'q wݲz)ear |lɫ(Q|hΡg:š-yU*f1e l CiiHk&;TD#o|FT%.iTIV{+VQk =o'GbFI#E "VH" HH\ڌxd-ˊ&"(U/u%hhWl)x?LQ>/&Gɡ1ẍ ffl,Bbf [AISң6N}4hE`è6d?+EQvak!K)y`ѯi3h5r{<~l;BuG4HXm■o^˞-NMfqGӴaOK_ǫOXigֵ z4-Ag̙y6O6<`}0|Qg hdbT #9]lnI7q\z4󗒠%)"& r~?&0,4,<Ve`Mx~'GSǖ_Qrovi@tXZfjvwֳYjet1ȇٕDHQAZnef5ߒ(Lh`Si a;t/m@_VPnԉrH{k OK^(e~mg}8<('u-1liu댏QO#h F1o ?y-;_?t9> myx ?<(ӠQFZ2Kz^ (b(j+׮Z;,Ղٿ~MDz*в(\wda=?;vnx8Ov9+m83n+zF2OX s|6w@aMnJj/!I<5rƅly)zjÓjDw/h?(1<)bK\AZK2և 2i3G,z}]nhjqrw?%@|kѨ{:|v C:PYkŔ;s_? $byy4.4麽ش3BUxגX7g8Ea#ɿ濔|/O4#I{[֎P+/%[;Hв-T?;Gxf^C\P ,usY?:(5k?8xYw0˒W:ZCeƩ*yDbF&4EQ Zڌs8Em֬ǟbVxcϧNO 9[y(~_ijMi7.ݶwv39Dj41$NoFg @cι^ǒ][kZiaTI he^9Hݑԫ)*#5Z}FM>AGvYC>3byG-%Fm a͠HLM0^$CZ`62G9B`Qy3bGgv@ig8c\Q=A^˳$EdžC{QNw.l瓯4=.8t[.-mt:9}8b2܃rgj/4xؾj})ιbQvGpƑEcF*a)Hܻlt6?.a֦m< 5"RZE5đ)qV9n2@BthēR᪳T;$e  :ة~cy^w5MU%h<}΢/GX.噒ƹ~exC1Y܎㛏݅O# b{Ic!|ѨyQ 6yfi:-vvml㾜s1nAPy=6<(_ hs}z3xb++iƉ:[C %=3HI}k6E+V60b1;I0fB>EN`v+oIygCy֙wkm%,[.8hP$UX!u*}\6 >d$?ǟ67?#*,֡ey]D-O4M@vnoM}>E>jrGG=3\'b_T`H_VTn@]hEuK ǎyk`{34y=B SRSƙ csLMjV1tg.?Xc˄uoElaoe{ۣw&qi+Q,u OD ̒ ǖןz*uFU0\iz43}bk+Iq((Mug3:Z1HG1wyooa룥027ʪou/+?6oyVgeMwQ鬖 4=Ba{6acя#GU.-T}y= {!86<ŤM'M!WQq[F :k5F8wŏkt9:]8]d:>jSNXAZ{vN^뱻"^?-|'Q9#ySo?-kSHv>+Xn՘Shc /埖7\=h`{O?-|=hk= ]E僷5 cqA妁d-ۙY|=4 /Wp0K-~u-FPu.ׁo_Gɭɠ<@esᤆ2wWܾ/+^Z=Ē"V!H9lÌDnEX̒K_SqgA"*'ƥ>D:yS?[usx;}Zi~IO]C[߀"z=-n,rP#D}{idǖL?X?c#= ߀ɍ3B_o殐4mSFM6kjx8i>>FO #aͼrzz2<'ȎD;Z~XO=4 __#YMs,K{^ږ3'rc'[]ٸX$f'6zo>oyN4X7mxFBo\z}:$3(\-_mBC:^(ILˋfrۚ;_'PӴ.u BxFy%V hRYr}Fke$`@ٲ ?-"-Zu lG"sjXasOyy#^GGQ,lP?jX@cj2L0廳>{3n9=A:>Hч}Inػ߯XԿ5QFYyuo/ |uvNq#c,b,7?νߕ_/0//3y̢&K.H0hRz ,fQ>aDrpˑ~h:M "ܹ$n3˫ U==69 W_LZ??x]v*UثWb]v*UثWb]v*Uث+9<(7E[HHf%+NPcO/W˙_~]벵OŮb>7 pviCYi8:>|-H!~V](ZI{8k \K$:p״~(i~:Z3:??_#3ɻs靏"mlw#TqGYf$;uJR4}ʹMZQT}QeD(m3 ~̆r(Jy:ג#u%K+p# 8fh]RNt}e K +~t=xu9c,yHWNV ׹?ӿ?9dlSO,s3}+ȐFE6¬ s oDu?<}:#rq\ѭ?/埓ŧH$$F}ƒo{158?yO8$k~/8'{h2h]9/_K4e!^уH:r=FBYe!oznNd1F' .7mX{<;ތAyMQ햏gܻMO~IszJ_:$hjiM@ H(k5LdU:}o87W!?)43O-yt2AeL #["I6=λٿd4Ayx;{l8 u&z#>:w׿"*4 sizƹkyrR!y$eVN{)"|bugMpwrs^WյRʓOQg&$bjcci7|~+I8m3 ɷ\@fu 顸k3A'$Ky阺Oc2F} Jy~z皿0[,iVKq0t,o ZmOOu*$l|;۝ ~7G~gb_'?ƽW~Y\0[6UX䶬^KgRi5!9=HMOWwO1_yU_'zYS1 h`H7YAŐ =^;1ɏϯ#䋿.Ǡ^\XƺOڰW%;Yfy?o{A2Om޹?]:v4y|JiFS) sqf'e9`a H>_˪Okvk2Bha( )tWV 7 t7[yiUygii^Bs(xU(5C+) a" Ϟmzǖ&Qo'SQ+O˗ǖՠ}HӿvjVTOoI?\=O.\i߇њO[]ӷP߉ҟx]v*UثWb]v*UثWb]v*Uث_'|{{2qÿ??_ ̴隮x8Qo{9'}7d prvYKGY+|b! N֠@DGcK09켱[QՕSm}D;6uI<ԕeCqw8Մީu$ZT%dGTzrژGgdVM/:rN7r᠕nUGic.Hn[.wcwHnV"3(8y;;$FԻ2};o5k j]j=3|Re/ꯇ\x]v*UثWb]v*UثWb]v*Uث*o_3)|ooGfC7Vv\, _M,5 d&(OцᔀAThx##ؿoM?z>{lbJjv%Dv$[{gfk(yKKIX!tw3b-ߛX3,a^CӑO$PaMVhc9+hxbap,Kd:Z&Ͻ!܎X _-j^"eG-'-5&K +6_MG+81V~(2'OC|+@(u>;KGɞne.w]j66 R{ am}FX}R y٣> r9mI?w<(ygA?д+ls$ 7NjԝO9B |y:uRgi'q''c&x1=X䟿<{tc$ }KYZCT^EӾyf%ƳۡtɎw!$󎌿>eǫY@?[-;tˇej='-LiC~ZG-&qAI DZځ'oZ; aP*gW;h+JV4x]v*UثWb]v*UثWb]v*Uثdo2yAI6d_3V:nvG vV }-l$8xu3+He3𘾱-0%SƖ(meYKi EY,$RsнM?]>|O6:#,>}~g>xUPЌU_hOof6?/3jLQK"z pA,GȌn@VQpRgkG>"VпYk1K膔+835ϋȕXY+q1fGFBxT\mp:6j[H*etlۺl{|hJFO,R Pr~JuF0}8a9gwKkS%ckmV.Sa]'غ=795Lz1<c>\n?Y=gC=&X~s(.&@ď+2w<{=a ԻJ'1oϒmx_ʒOu悗kǵOsQޗKz={ý-%B7{esQޗȩrj=;/ũMr~MgoFZ;Oɬz&pi޹`0yAQ僴tPt&;J,],A$3yBe$oOA\(0: !W3C$3Jz]z'C%􊣮&;F#$3yN&;Fj +-Lv;؝ w2@_:%iu2M/ֿ-/7^껱ʸįK4[R~zWv?Ww[_1oR?*/n yK/_W]\?W_o)|qKJ[K-/7^?wcp_ai~/++l?M/𷔿߾bޥexUݏU%-__Կ껱ʸįK4[R~zWv?Ww[_1oR?*/n yK/_W]\?W_o)|qKJ[K-/7^?wcp_ai~/++l?M/𷔿߾bޥexUݏU%-__Կ껱ʸįK4[R~zWv?Ww[_1oR?*/n yK/_W]\?W_^@ŔsnLKqO=G5ˣOW<{~b Q682'(_?3RMWIHf%qeaIuͤ+j:i y6An8~5wf ۨͣ$Spr*_#[yVV+jEHRwiImc\Fc{۝=#=ߩFtNثL7%:~lh\]gVܨ#j嘓y?i'.=7`G<=v_{qr+%>,ݽȇv4-?ns^×1H*]iXw7Gzkz|.?oc&\GNzyv(G`?4:Ld97C(i@bo/4j` ާ4:qgRK+Urz|MͨXr2ըY&j1O~~YyZ'mJ-\+ƅ>:,zhb=GGy/*νڒ-\`Nú#s{TH&a#`Hqgq{3܆[A1`e$$8l<  ⸥M2( 5`k1(i!2bAC< KT;@p~3`BcSɋ`HC!ZO,w%;}a ~19]B288,eUD-KYPo2c br3j žLa,(PkkM~;OHaAʢ&*]-H&>*VU deCP^@̳DcxBc !^T;o) ڈ +*cwVB)=i=XG8'.iwi_M6e"KkYU$ ^{(tځ1?Oom}<uo'Β^+SU䱴4j-e4ބH_&s)xX#(n_R,ҌR7 -#a4X惓:Gꦀ_<_cuSK_^I4/eIꦀ^6}hck:]79\4ڎhG5}7i &?& Z4k:$oN,xw09}Rɖ `sI ڝۓZi(>vUa" M|aJqߞHaJŽ1cH x1cE7!,|I(5iɌQbrIHx^XPk[|&eEn+ѷɌQAQ7{( aJq3sqݛqsl0EEZlxbERcfDŽ-s6q_xϪ];>_%j:0|Ӧ~aϣCTl[LVK8gwxee#?=M ae3 .-'j mu#V8~gfSC^Yǘ-wCmTԵ%3X[׹whzEq> 2"'<~gP r?ǟO3W_k[E棩_j奼XӦ>de BVGa:1hMDytn탛&OJ^*(s_q_펫\<=ߕ5I|yʖOsص.i*\F%T=tO'&2mwdNo {J2F#r+kK*'Gq}g@7^Eϕu fKk!k&i$8 fZ/lÇ{o$#ڨn6ؒ. 2.ℤH}˩dZ9_\jUkKz~NH`t&\KK}4D$p*M}J;KLq:'7Rې{f&3c'$,|@U|=\ܿ]Z Gm-mJ&YF_kS |ũPc|s7GWO)J*NLk:5!Mzih\Aq躾dp H8K`H>}j08xyA֙iBx ^ck| sOӼ%womcԏ~xMƣjOB8]KAhc=^|'qz([<,{:yrܞ(j1wVt{s^_o[5'iWsWQ{h|mqb9/"q0+j#(DUDԪo`g!w!q]w@hk>&%IJ3Z\G3$1l^T#g%0pԎ_a&oO}ȼr݊v*UثWb]wcq+?ooGfC8 ;.44E1IItpCEt .2H$ŠVGCţTDd~Rּm3^Nm#KV)V)jzO@9)vfQ\R>#vlGH?g~2[r7I6V'1tyS9VLwXW{f5R?Wϖu=}c'^ro߯fn++)J }dbsa]G{_eCez?RN@sDz&Ri<6Rsf94ctI#lc1Ҟ!᪏ xG`}|Op936} #)ًdxqqR|oEƃ勈ׇsܣ w~ObNc^q.H7]ǵ~֌BZ],\1='秿@: gZVWUt`2:B*yQ06LF|(tzvs9[\ۡ?{n/$+ν6^HG*Pڦ~D2gֶ> w&=V6Lqw&=g\"QsXȩguUQ'1J` (h)gm$GqCCQ *7dLHw!X[ō?q~1m?#O,몢+/c6QBCE5 np#@#,O#ccYZZe}ek" 8r!*hsaАAwsϗ%,3~S[S;ڝ EF]wrQf=G~Ry+kQKw';Ye{- o6;+$t&2|i8V}[X$k2ji~9M1 _̏toU9sqt)ߔ ~[T}De-_) q!Q&"   Jn!H*T'cJҁ&MTXY0ĭ@~8ڕ~Q.0D3"‹XeO.Lj(( m4}9D2 dp2|%Piڙ! eN}!=Gs>=%SC"j`R.#$-g4XxYlF_>ƽM]ň5*[ZA;_LKI9 +'$&E>ˎ F?bg~h,yilڟ]],?UVh1SL9+鮼·:ja|O?1]w>kՄay'V9cvIDlW`ƙ :C'Dy4P9{O-W_:g$~\@fw(U"ԒiL˿8"# iwW"E%cY 6?xN g=z+q[F~9q_wN{w%Qo+iGM[]./ah=k_T% WV.3w۹24KB F~exwf8v|2J/hwO6XI*Lczp(䱴tُȌy#(8W {]uo~O~)z.M8q}5"F:2=ym%݋ޯۛt NH$DA)~nVssI[|)c˯::mŪ=ޢo8PfUZWY(|ad`Fk7+NTHg+$R%C?T|5sW[w_Ta7QY?Izžï//jw߽GtsD42N 4atH+X- *jjLd Ɍ!~d*fUثUjz7XI{$PЗ/U<3Ikcr(9 fd1[Z\#1g9鱞Zⵈg=KxtTo8#v, #z oGlb>??TG~_}6u2x灾"&<3/ ~n~n~D\I7~r;KuIHfF #b{WzLw N4{7˽Ebӿ8\jE[]WIr+ȅ U4RSh=~c{w>}/O:H_.2.k.d @n- Yfdéq<)]<:\x-Ͽ߅Ƈ\jQ?Ѹ} }K_jiG1#U/@]~RLW^a) ^Bu_VC^4d˗=`Xcߔq:4`Us^}# ?k17p"^?e?䗔T/N?TIoy$D>2/$5:)'GIestHuZj{OSio5 98Me-X-c?%@[ Gj~D/j4G`cNsA[}OO#ϾdE~Fuv8xDi{@pCv;7=܇?cߚνgR?;WRK$$vƳH/Aܙ* P{/*-,&^RlH9ɴ^EؑǼͤ<{隶qޙ$SBԏ3K3b2đ loE&3BE>+7y~v֧ey_I}[*Rv ŷ.$~M҉JB9+xyvڍ12//?1E%9{Ef/mT$dj(((Fp2{(kQm(֣`]LX#Fs+걎9 Uv {2=?8e6쬃h=”ʻۆSC׾ksv#?bN_QzViXyv9\q|p]6'ՑS4>L;Ha9'TQ㘵Gvh9bȚ屐`bXwUG\8: (//!tIHkgj⋃f2[@*}`s 5>hk0( -e= FZaQr0`Poaġ )N1 Ăhd91 ġ" &$JrBaPhu910Ĩ4O LJ@ǹɉ11Qx_$&# xJB$$\uG R0?q<%cB!$wK#~$&ĎU#$ˠ;}䟞^$J qxS xm['ӸWx]v*UثWb]v*UثWb]v*Uت9 &&yE#;_/_EF7sG]W Zf c9":֛#0irQraY%4_=o湐brm5?T:\o_DCJxn' e~Qвq\bO Se= aŭq$'R}'E !#y(h2\gHw(ĺXM,K[fLsWR #ƧF~]"žҮ~XlU(y&7|&\8Vx՘*&)5Щ|A2bPi  yK )>$bJU_|0B;.L5t#Q]X ̇W& 8)ɂ(ɉ1!Es \EoXc¢i4ɉ&* n HLw1Q6^11DŽ42HH11*- ɉ&+ O ?MaE)f`l#Suq#4eEJ8DBWq#5Q9|{T ۾]K g$pW^x)i1xT?Džg+Ja^x^ '~DnB }JV]5+#K1o>M7}> r;$>IoͿ)gh7go$򯗵0I]ݾu 2*eP0xj2dCQLO`.nHL  ^Lb:w|=GVԾNЭ+{)bii5(֕ PR.sJQ&u;sL~8)X/Y2 oE ]П;^mb"Ii,ks"FDў7_'fa HuChheOADNB'OmVݭൻxZ[DFj!Pת6FR1L4y_+ۯŞ1j A$X\~}l~akZe/y/ͷQCIqf+kHSOӞw&=>Vi^q r˖"B1Er}t,{j"be,GyZ˻*u?͙uK-/L{:P^{47sH$pxrb˧xD.Z2:<۳~^ŏcJ]-+LIwOy,-u[4W/7;GC<0${-Y2D]^Vb󦿬y'U_A^CZ ?\leԬэ棣LTR*4adlrnay[m.1= ǖ1w߿v`U͞ y#Ft[4M%Υ\$Ԕx 'ԑ"B~'p*+0ӌr'+@wc61˝w2{Ouws$SMkqѼ2,HѺr*A φXrJE"-1J-3voZukyhj6W/.Я4 3v{&Ej͋QP"Q"'`Kز`I ֪#>v@)Y l?r~bè,WQTIФތnrc{ ?1 v5_x>R"ʲӵ}#̾mя.kW)g}uzt )5a B U>ibHU8XĐg/!A4QL%Ep)GhhA HwQ6Uȥث_8M=8d/dI\ջF_fKY, $HRF4̱sH*.|?)p,;5D&Ώs1z,yR+Gs`O 'uksn\S&48:G-L[}(*=vNZRsNg6މOJynRv [E^qd;FJS\heڡ'<[6u4%D~it~`lPuxl6~`F,7#D݃SLQklR7%19HW%hOL< Ʒ xQİ6Z('xQkKzm֗0-i JaU*'+b@|jTxt[S vh2zL441U(뒍&S3 N/2#TC}++>SE2\hGç$tf@~K1, Z`Oc§}8_xQUj}k?4嶼FCA4 #@PjWG2^RIzHUUh0=NHd>>g!xK0˘yrvWhW[̆mSUuOOs55s%ٛjje9ȔC*Q1gicANǞ|gcV/2y[6֭ob$w ZCpHGfu< ښP8HP#b6f9{7Kq(ܣTlܷu󮭨M}w-ݼvwO2Z=(`fT%4QysdQ~>NV,F#gnO1yi[_)\[,YkZr\jٓ]VǎdDG |}GfF:qY{뺎eyoNnm<5A4u_YNVphɯ|;OQ Jb™OK0cw:Qo}JVh:?FZԹ"6qK4C]ij}#x+#[,]VOoG=ƫ~Լ YΡ7Ae%O5Ē+=DMaZCAjWvQ+{iZ%"w9T5pvl^u|%Zl+irFZC;#4dww;1bI$ԜQ&|y n`!QǙ{`h [O3j֥j0AlDYB0UL,$ت{ .x0B3crWXy`7#wAEBJ/J`kj9Lyo׼lYG4,B\ZtgS0Gy5LjHG$~cRTef`UUD{e#M՞}v"a8PH"fv SHȒz)S"b~W? Q6{{2qÿ??_ ɺf;fDfõ rmccRSn36<2oE6=uia ;r6ʐr#|?^'ƽ P (\(|$G^[`Ҳ IfWTR}9OriT,`y@}$[*2&@J}2;eNpnePz,-xVJDIWKZ8FQ($ *yMijFrHYC).qC_DZN6ޮv5y`u}?Ozi9HCRD@l?r]jA( nUT! V;;r-'u/ɟ9s:_mR.c̋ɨ\}I{{^EHV$Bis%}Ϗ$2QmQ;G3%/ e̞DoCt??at(CyƯy=-7Fl'ye;0@!UW,e3gDcQIôK>9c(Xq\.oyf=3ri:6Wiv>WKDž.oZ̶dPTjH8n3 C!.w\D&1e 9'AOm>T4n-KaWl = Ku sb@w-,<}˥㔀4lߨND:}1[KUbpD,PI"eЏyuaAkAen=+N:&ӥmmoRn=EV4F<-^ixR;#f]fs1<șm~/[ b}zu;\tK>ƯAoewm=S^Vr\Qqnytf|^vl~bz)SbMPlWp0_7Aq{{FN(FЊ#N=>?#yC/8m<y1hL6Uf2sJ>(#k;3N4I7"oz<3LOq+#:t韑V{>h^GԴ0꺎c!4i4_O%28PzҜWBn22~]tݣk,Mj$xO}>u'4O2yVl.iBdYK]n?FsrvӡxYb6m8$8b߯koNşQ4%"vۂ;_|~[y{˺zo54j;/GK`9y8UxIc;kk;w U(WvNBMZvUfV+41Wo;C2mo.E)B<{خu99/+-sOЬ4?3>eM jf ˭KO3M-HOLȬQ̮x*2 ._vi׼yUDR:K?K 6w>GzO +دIb $H$6d*kiƗHP4[ž/3G?'vE/mVߧH?+9Kayg:\qDZrϬeA:uX45 @@RP2{[V6xiD"=MoI@&>?(bWI$5HNE2J[w&Iɖe_T+x{ulhB8Ȇ9WzCyɚ㯕ʷSy? %ơ+Z?Pe<@̆Jt81䭦xVOxŞR5C`uҼo_$ip^ . qO5ˤ Nř vsTpd p@W}u8͏_uW/W揖c^m?Z~层+e%Ԯ.>RՂ"`}Kb<@"_I۠7aOrB\9 ČyTR4>rմo(?A\_YiZi>\Ҭ,܉%.>jW$82jX c'ުr͏KD#so/byA{ivZ,-;YLVқMq<}DʫybGéÍs#魹G`r1KTl=ʶI<<iǝo0oͬzIӭY]c?Tҫ($h65y)z?i:[5k\ ҪCrܜc.(=_>WFD w >G jZvxeYϏY k72yO5E']je<'fi?.r!0A4L_=?g7'[bp$2 5S}IyiW?|qig41-偸\SԥV@m ##L- {2|"rOs$~r lBNŚ|?;o4"]^V &bs"C64Zx5 x?8ֲD0{}g,8\"s]q+vuW$AQmfpw2 <=׷ɯ‡ J 3ySof5TۛV?ѡX Tu]r䈉=ՇC.^Qi`ayyrb*+ޙ24y, ,.[xRIHR9)J?EzfHIr,kiohS1eϋ瓞i"Mwc P_pillct;Xcx(*e5܈xr̊$]{|(lSYn.Mn'^COӄ圀-{1$'Ez#IxYG<:w|kbӭY_BfE၈?w0^hР<_!Qo=;ƤHG3BUeC[2f|CG_yJu-Oʺe\g\\[b!<1D0uHneDۿ̈́ue#0Hw4SXbo)Kj/3^Z] [-IeeA1t~d9quF]ώ<#kV\wھy7Y5//-u>igOdbF)-|a &8J` r$w_yt_.yCW׼#mG++э3Ԯè#-x00 rc(7o.iƿ]wEmԯl.!3pG@ uB%e@a^T̺Z5- x׏* )c?cG8+p c74CDԯ}Z]?U{mFaX&Nv r)GBۏ$rDJ&G>v&MWNͅW1\_32([p9ʂ|F[=hp@??sT5xg0xy޾zfsP~gNKe2݇_B"/g J!FϹa8`<͊[Yh6^`MhI-`(:[W&ˤ9qդ5C5(Eco[ eNCqpEEz.,x# }NLP*`-Z x-aPDQUU<BsɔԲD@EWb]''oǷ';ٟ 8SKT ղ*c7O'3q8yJ V\̞)&,:{&Y;#uK޷C2 }蔇It,މXc]ߐ2 ]zި]YGz!b?@7s.]=24geX{YhxRԜɟTz rYч{2h_Կ<9f xsw-qGqܷ> ŏs`܎' s+DYy!W&Oɓ)c1/_̜:s5O%0۽GQqʪ!J?͞<8R XD8O9ak*Yo9BVp |pExYCHo|}ojQZZ-+ mMQ.nL&_82h si&5sBrck)3.ľ{k~n癿/|iˋCP Wq{jҋ̋,UrMr:hf'.} QxN'j-ìy'/Xӭ<"m,[c37ʉ.$ ?Ǘ&XJ2g;GNg1f&n&Xm/þ?4_\$-uٿ-곲;0JdYՁT EA>N(/~G'?b,3CryE՚yC:=?^s.wM4JP!K&nRn`. $U9ބP˟Ïd7rKv,㦖<>Xcym宧yYӵ._QM5{q($'` cL΢TBFQ5Dgvx4ф"Eǻ'?q|{\iRm?,5;Oʚn6cKY`M*G |Eʔj=9pc1q2FaY$N&$V/_1BI`B|D^M\%w'u v~Rן/:he%؊1?NJ2"q[3Ꚇiwo+w|_j1N 1FܛNJpmqVjXU)w*M- RJ@EN&@&Z[Q+9{" ((_6J{$-<~.ԮVY vbcҙ~ |r3]#@^G5'yH@Yq$+ * ~zk3j%aoSBE3%LNbJbp-xYΗaʰ岊V&:E܅Ե{;XZ)|@7=ǟs1!cȇU:r;JT}ߓCR]jq{k-NNHOԭ$v ^-U.FeI GVȃd`S<<)3Cx}u)v| Gf#}PAi3sN3McN֮4ytimB99"#,(I[V 9gˊy(#ݷ]OoaŖ:}Fu_u8eQ}H ZmRZ\N3Į`yUcO< ϥ.n$˭uoL~vҼq}s&եz@D(UUZB8 vT棳tcW8.}?{CTte _w^LnSlit :WV-Ek(,m“JiB$fC,N9˭ucP \{W;گdߖZ7?(u;2ʺt:Ͷi3pd&=hVUX '3 Xc\ŎCS %|ԎH#.w:XC^.53N.i"KlPԥDa B<}ya˲tCRg2G_yC g·DՏu/|3EGipjXy!_)Mԥ43&duW%jB4=>Z^w:p;=.R]?6ל)6j&{idYS-i5-Җ(#_EK4i>`$C(pTvp B*KX2vNc[X%6WMQVIr>#QƼ} PrNy~oy;^^&rw4G#w-lr`/˭;N$R'}2Kce˗bRO›q3D|Hq{_.tb{ZXDpNWNo#SJ?4,WNΑfOVm^MWK[Ƞ& FK0J[ cЍ!v/$zqUcjq3C\jp/6Rݭ]I'~ ^IJٹzF{q3])8fH;M}ϦVUӬ}Jkk0A-΋vD V ,l秆pfA\}?kXJF ُ1{*lv*9<M=8d/lWl[%A]ִ^<$}Ȁf U4)={NtJ˧5vQ9 JLrEᗄU!]? ޔ5~d2 ћzOʠG)H2 ,"F/Ƿ|5|qQF(rCRB} -xHxX5LNk k`qR(FO,x@v5wՀ5>xx贈47zxPƼ }O|[%ҭ/5qEviu2zjԕX^Қuk$[$WolurH 7]4x#M GP!?,[[midksmq LP$FQjgQfR76nQ#!ÂpN…wB _QvS߷mmxs.wn} f4t8l0H#X}Dq"%e *'-NYOFUWf_fx@:Wϗ]\i6S}a$}a3ĩسI' ˻ݰe!F C3ťį4}cngnROjrKO$<#@''oǷ';ٟOL;rؖ1œz3W31dbvwq*a.75.]߃ܟRdLd/S(t]z{}]Ȟ=pC4 ߽pZwz.OqOp]99O|K+|1*1qoAEZae@Ǎ+ g] @/ᇍ+}~\g I)V58d +KEm%-!iu-9ŭʙkwXA];:Y5O$`(.{Ȗ,y !}?^K':yCO,ïgwRӴ/k΀]KGsC/(j/fdS8sfmcn?x#3 cgz;y9*k GAu6[hEmfO.{tȏ,tTQ#6j @F`ޠ{wU,2Ȓb*t@?үD;yn8[ĚeJtRK-O/X:[IenBy eqoήF:0rG=wo׵45ɃJ4Y$ZfvP+Zլ=^Ck( ̑¢k?s{z}> A$[OEɂ2 ;᝷#}쇛ˑ_y0w?66zdE/${Ǽd,M0BёF:sslJNܻ(2<<&p$K(l9Gv*Uث9|U=8d??_ E3OnʔܷL &^ s\忙k_(|2˪.JN?]J`.h7]pјTl0~e.3xT.h+]7u!.W~cŌ\]qBFWA?O%c;7N# %/[t6 ocxя4t'|`#oCV݃)oml2Ckv+vΒ>_wAc]%}?0Dk E?~`/Vm2w臭xd//`/]%p|Hzp`#+~a\?kC'!.Z'~d#壣Hg!.P^]=6cMlxy5N;g_Ӌ_*Ah.:§1v̲ZF? !?+G_l#RtogOB\x]v*UثWb]v*UثWb]v*Uت0@z(*# Z1ÿ=/% !ۃA42Nm4吊k㘹3 6;v=\W2aܙ/ݔdۆ=ʣ˶Dd?;>_r?e_Ͻ)ʿv?zV=Q`X5Dz9>~V=Y_ǹ~?zV=mh6v?z?+An]aPPܻaP1_AE1T5 ?e* ?e* ?e* ?e* ?e*0l僿A 6Wߠ?+`DA?,"44t5i,E)aYоHC{ 4k i,KfBS4k#/|0ikQ~ aUiOm[~هkW~o1U-?G@1Yߠq, 8wq*q?*x]v*UثWb]v*UثWb]v*Uت+N5&KL*t2)o>?[φ*|1W|w|1CG{}<1V?oL*k]b1V?oLU&*w ]b1V?oLU&*=(hZekOoť߼xw=;~-]o'ߋW~I߼x[;~-?OߋVyOoţw~'ߋ]$k;~-wSyOoŮh(&xx 'q q uMpu{dj%u vxl& Shz ~'   bq﩯 v:s>t@Jŋ3jȱǏ CIɓ1";f kꢠ$L:Ŀ7/:#%L./usr/vac/html/zh_CN/doc/images/ngdoc.giff.ht$GIF89a f3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3, @1H +<8pB#TH@ !6QG F ȉ#;FU+ kx'$_:Ŀ7/:#&_./usr/vac/html/zh_CN/doc/images/nggloss.gif.ht$GIF89aX κuuueeeUUUDDD000 ,X I8ͻ`(dihlp,tmx|'ǂaY40 ㅱpTNJ2JYX$9 p@X0@}Q% em df  {TT kew Vmt ! y p dr$  iЄ0M@g"AJԘM@Pπ ~(Bׅ CIɓ(S\ɲ˗$#;3 k$:Ŀ7/:#'./usr/vac/html/zh_CN/doc/images/nghome.gif.ht$GIF89a0 κuuueeeDDD000 ,0 @I8ͻA QEgx|pH,bJ F0&(A*)J"hG:PD_&xpМڄ8U9r1Ղ+ 2p.Ʒ61}kߒ7ѐx1D4 {@@l|Y="jЋe 6&9˘b+q&h\Y:Ts킌iH:/ƝZ`.,%\ձqc_g]hQ4JHyc4Fr_ky\LүoD/z9^9#M[ey8G:`q`Pj8kyXPaPI`|AMge!{!o9C48"XPRڅ0b1io^\iw8k>bՏX0 F1AUfw.ohfH:)ti'O !b55oqg@c*I5o!"f"V:cYiXY"vu4:EJRyF{gE)b=v:Tn4јJd1 I#@ys̶nvGR9# `Z"5ξs-@FC+qwy57QWgaS msWcU@6ziknb|$3ɾYUk[,z bA/JX1@#5f+iaa; Ū6PN7]JI߀.t"J;31 ks$S:Ŀ7/:#)S./usr/vac/html/zh_CN/doc/images/ngref.gifif.ht$GIF89a` κuuueeeUUUDDD000 ,` @I8ͻ`(@ BA0 Mܾ7,@XGj:ШtJZجvzxlU+ [@ J5rZ9LP:QB4 t ;KU4BW~h 8IRq%6&E A$Ke4 0Ҫԇ̮17pȷ'j*سkνËOӫ_ϾG; kz\$:Ŀ7/:#+./usr/vac/html/zh_CN/doc/images/ngtask.giff.ht$GIF89a= κuuueeeUUUDDD000 ,= I8ͻ`(dihlp,tmT8Əh<!D M`hS[Rr[x8\`&hp+ yP  v iM oU Lip8; kO$ :Ŀ7/:#, ./usr/vac/html/zh_CN/doc/images/ngvac.giff.ht$GIF89aG  AAI ()<>8   6,qpl 4+dJ-!T<#;+]D{`>1dQ"6%*  dB Z|T1!J2(nO sKdD-Z<uR 4% s2v^4̵Y{MH-C*;$1.)"[RNmCR36"\:"gBrJ =)F1 :̷}Kg>N.?%  _RpkyIb<fyI\zK_<T kC  -$e:M,I*5& p^MrCl>a9Z59!T|Ig=1:$5! V6 d? pG\&gzbD%2- VS`5M="O K+b9O.M yF 'sD ]*!S- |C4H!U0L*]4?$59! J- Y6fDL<*t;+  L H(    [I6f1C% L$;0 %/9 M+%31 >'Ž, %   1   ,G  6MA>tѣCl9"J(ŋjhǏ {(D#^< h0^†v"5fDrrܹϟ>e Jhѡ2stIiWJs٥pŕQKŠ۵.$hӪeŖUηj}-ZWA kh Ōa3 Nx2#CDׯbѰʔ29[ kFpaf=Q-r W(ck Z'NQo\jR  8{̙V.(.oiɢvSt"ΊOXܸ H1 \2F7!!YH-C[P"XW\DD }!WR7ŀrERL/lHȑL+%\*\ M=C `> $xphRH0p):+ Nb`21.+%(\8EVI?!:H#,|ly*#>#+򆰄 1bh$[2+]Ǩ6PDгa:#PH#aak2L8lQI@7#H4?"$|HRGm/U (|j',QxO>mx29E| Jjb"E,B ta)Q|RA*0cQI7/b7- PSӍ۠(ɨr/\T"$턲H֦u| 5Q`0Gbb$$ bFhCܐG7Ā;4m$L7ڎwDX{;cAǝK$Jh[!KrJ@PBt"@" Y ZB+ >#  6aazzCq-_* jb)1u8@ k)# h#1lZ*°~X@ |h1. Ib{l7:ڐqSx H!g#pш7#@(0N pL1nE<(6|` @Exh4;^a " Q@!86 Pid%ЇnnHAЖ

o&p>0(364%0`DhXB` X6 0&PFp8U#5 Sib $, (h :~!؂1T8Up谻@ (`^0a @wB͘EЇ>$̼^0$9c$XI%BA8 HSl  a+F/O ĠcWr%шfy! aw h@RdGN9\cO vC bp0 QMtJz$ TpxN$8q )E"]̡:\-zqs dA1`q~?XFp\HWX P$C (SG=V.*D`,aAȢ(A0yf<8!!!@dep$L(TB+J qXϺַ-x {pu.a YJ)!%ȁ琈g=_0{eVTzὁeK: Ri;; kx$V:Ŀ7/:#-V./usr/vac/html/zh_CN/doc/images/ngvconc.gif.ht$GIF89a_ Ã(2=|?j=eP2qy9s?y^9K<'4*,_ I8ͻ`(dihlp,tmx|QhXFKQ(8*Hea|Lp81 'p0 rx\1 0,&xx 'q quMpu {dj%u  vxl& Sh z~'  bq﩯 v:s>t@Jŋ3jȱǏ CIɓ1";} kG$_:Ŀ7/:#._./usr/vac/html/zh_CN/doc/images/ngvgloss.gif.ht$GIF89aX Ã(2=|?j=eP2qy9s?y^9K<'4*,X I8ͻ`(dihlp,tmx|'Ga)40 QpTNJ2J)X$9bPX!@} Q%b@emdf{ TT ke  w Vmt  ! ypdr $ iЄ0M@g@JԘ AP ~(Bׅ CIɓ(S\ɲ˗$#; k"$:Ŀ7/:#/./usr/vac/html/zh_CN/doc/images/ngvhelp.jpg.ht$JFIFHHRPhotoshop 3.08BIMHH8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM8BIM@@8BIM  JFIFHH'File written by Adobe Photoshop 4.0Adobed             "?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?GMe/alg#@3So5/~Mп_/W_??WxCMO'Jqwn]5ٴ45ekd@R_?;˿5տV?}?|i/WŢul}Mnc-~m2譂ctC/XKm?;En3?¯ G Y/*}_'ܵz[kZaƮ&۷oIW0GO~#Byrs_W2nCZ2o8Ü:QPUXi}>z//? ,dKuJ?a!coTKp~ٔmhac an|^c3(6SX[{ݮN?/??P羋?9 bv>Yx_5oxG8BIM'File written by Adobe Photoshop 4.0Adobed@       p  s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?OI8u˯CWguKSʢXiSH.@Q`_.gǴ:\1ec>(!xd:^3R$Lh3ߊ0/ ht?4O)S@Fmm?P}?LgX%QFTf۞ϡ˥<frq(c }y!#kAS PDkiK7鄢Of-cvw'疀R}K^"WMn,Y#S2<1M5đhvU o{ K.v;Yd#BDDz:Ӟz8m^@@&v{Ft|?i]VP [i1E72PSs5i#FP<zC ۈOBRw!y0V}ns/ˉRK@O hO1J_H4 Sr$`n"F[w$'$n'@y|Tn}j4Z!N}~.!q,kaij5~ uD~Oo'y#˟ڷθb]|d{YlkK5 Pwvik5Zf=LxDo&ktZK i,3_mqɋ5"28Cl OrL3kW6ꜮݧJ#d/Tc/C8)5o/hE/%jE8♬SrIp *hϳϦ͚'4sac<;wn*xq͏,dʏ/2˼Myk_v~4gkI\nMJnnZ wA sFuݓ]C!,ӄ1c>.)Umߗǡ }+ [@ JrZ9LP:QB4t;KU4BW~h 8IRq%6o&E A$KEe40Ҫԇ̮17pȷ'j*سkνËOӫ_ϾG; k2c$:Ŀ7/:#2./usr/vac/html/zh_CN/doc/images/ngvtasks.gif.ht$GIF89a= Ã(2=|?j=eP2qy9s?y^9K<'4*,= I8ͻ`(dihlp,tmaTS8ƏRh<!M ĠhS[Rrx8b0&Dphp+  yPviMo UL ip 8; kB6W$:47/:#F./usr/vac/html/zh_CN/doc/index.htmtasks$ C for AIX Help Home Page  3 kA/:/:/:#3./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcnA k+A/:0:0:#4./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data/libA kA/:/:/:#5./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/work/libA kDX$r :bG8/:#Gr ./usr/vac/html/zh_CN/doc/hgssrch.htmr/d$ IBM C for AIX

C for AIX

µʻ飺
 
 
 
ʾ ĵ

 

 

Fmm l*$t:670:#6Ҧ./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data/CZHCN.KEYsg$ &EcCFVAEINORST DLMPU 0BGHY  12KQWX!"#$%3456789Z&'()*+,-./:;<=>?@J[\]^_`abcdefghijklmnopqrtuvwxyz{|}~sLA]gԯR̯@@agԌ! uB$ƃ!g@G ?Y)%_ pù%;p';p$?;rJ;rIøwܒW;pI;p$;rHyøw$øw;pI;p ;pI;p ;pI;p ;pI;p ;pIøwoøw$pù$øwsøw$'øwܒøwwøw$pù$;p!øwܒøwøw$pù$ ;p! ;pI_}Ϭ;rH(~BvBRPF)M|B%D`]M>J %JJ|G|%!34{˩(~BR|A#(~BR?RPGO n HOQIC #(~BR|N}IC#\!u%JBw(~BRu%JB` ]ICCa_:%#]ICK`ÇRP},8J~+n%!_c|JϊICPRPV}Ԕ?!)WICt/Ԕ?!) ~+J?_]ICp7J_gޤU?NRPW9^ ?RP~~^RP~|~ *ICl,G(~BoW(~B.?ө(~BA|~*t:$cԔ?! ,W(R)C?(R)->CԔF)Exϩ(RïA}IDbZ}EAOŠJ#chyIDb\Ihz҈"š"J#⧋F8˩(R+^-s".;҈#?ŠR%E*t:"bhIDbthG%BБ=iDbp(x<%EB#J#NRQ\nRQ]0IJBaHL &Ƚ)HL)`^) !O9N!0*x JR E3RR)x eԔ&`)JR Ag#JBoUs֔&.IJBw-j!8?!IJRBg!8&i !8'xi\JRD !۟JBqHO__␡9IJBqHQ_\!8H_Ԕ'/Ԕ'ORRR(x/#JRG CRRR>_RRR|N"?})HR|;?n"9H-w9G) ^5JR#?RR9wG)WҔPøJR#Aø-\:w "8-xwEԔGwø0ȏ7s8s9:W?)H.RRRF8) PezfRRRS3^IJByHM/IJByH33%) !C'!JRBP3yԔ'@.) !Kh5%) !OhjN!<*u@V!R&JRJAk>%) !\1\"GX0 iJD{JR$@L(rIJD& * %)toԔHCPRR I @T "@5JR$ Cޠ*. PZW)H%P"@zsX]m}IJD04uX@)H& =@V)`JR$gPg"JR$PN' >`U)H&@V ܯRR M @V )H&+IJD48XRR ++IJDT%)b?)HPRR N[%)K Ҕpb]IJD<a=IJD<0uXp)H(N,џ#JR$ ԔH@Z9RR ~/h7)H?@ZIJDz9IJD @Z"@\@Z܏)HAs @OPu%)JR$ JR$ Cޠ-#JR$ BPC)H--~RR [ h=IJD D3JR$ E>2JR$ ޠ- c֔H=@ZA۩)H. =@Zxϩ)H.ޠ-"@*uhs庒#JR$DΠ.^W)HA:u)HAz%)d7]IJDxI>%)3 ԔH.^RR ^p$IJDx/p':`S}IJD|^*upJR.` zҔ +RRRS `O!H&XqRRR,X%) E"?P%<RR,y) E!CΤ!H(`7RR$u`r>!H)u`BiJRBP' IJBHJRE.N%) E#NIJBH iJRBP'?Ҕ"Y a[)HS) =CRRR ]CRRRe%) e!ӨaJRCPnW}IJBpӡԔ*}A>˭)HTz#RR#Pu^!PFkԔ*PGRRR:^!P&`mRRR:B;_+Ԕ*9) !C;ǩ)HT) =jy*js)HT) ]jIJBHSPRRR:@RRR)u4JR GkMC.!P1u]IJBHsboIJBHtbzRRz-'JR \<:@;Τ!P^ g!JRxr>"xa֔PzƂBz0.R@&u R@&RR@'ļgԔP) aJ"HTz"X|eԔP)g"H>|֔P) =`gԔP)`9IJEH( H%)p]@z%)"gX?)H@ZR~CEDb])HF =cpaRH7 JR=))/>#Ґ wn#Ґ > }IJG!;AsJD~,RRHOE#%)JBXC |oԔzR$u1sPߩ)H)uUJR=) }a8u%)NJEyԔzR=K>#ґK">IJG#w)HS!IJG B=)H0 pJR=)JAoGJG!JCX ~zRzHRR>@$%)awJR=RRO@3%) oJR= ᏬԔz+X ?)HXuIJGЙJR)}`( )%)RRH&u {D)=@O)HF =JkԔ|#`8ҔDn$x))GZ۩)H&v7:BocpMiJG!;)HG"&:BaZIJG!C?Ba$n##[JR>) ]?#JR>) }֔|R;60j~#CGoRRH#K+JR>)vP0@#OY.zB`JR>)dJJR>) =eoԔ|R ]㾤#[0Ca/d!')H1|R >=IJG!ӰCa :=IJGTL2 Ӱy֔|$ u%) !MȺҔe;ޤ#(%@wԔ|%{ C%) Ba yIJGP,v@Ԕ|%~(t:enu%) awN0%)0 sԔ|< i]IJGf4JR>0&JR>D~0Ԕ|&0X}IJGhf cԔ|&1za#8L3_C)HN ?)HN zS:-Ԕ|' pLu%) RR; zg #< ?IJGx`3:gRR; u%)D8d%) "a4r#D1W}IJGˆ0v×?)HR =p]IJGh#%) A3%) A5u%) Aǰ8{Ԕ|>  Ԕ|> %) aC#LX4>IJG˜`4^#L`4#&vgu%)phss4 #{ #JR> @JR> ![,Aa/t:AO/o֔|*a6rIJG©Oa7>#TS|#T`O) ˰]+%)`4.#)v Ԕ|7`1v JR> `._C)HV JR>W`RR{u%) 7`IJG¸.IJG¸VA#wRR-v ?)HWt,pJR>݂AZR ݂qRRn#/W֔|?`yIJG/8Ԕ|? ݆%)ïa# !Ԕ|aIJGp{ }IJGt5@?%) %=NRR(G\)HY ݆nRR; "C)HZ Ԕ|- %) CHW ;o}IJG[u%)_ Ho%) _\RR(vJR> #u%)DP :#Q'?)H; CRR`5 JR> a zIJGjRR_ @JR> װ.RR&vԔ|/ ݆Jza9^#x/[Ԕ|/ ݆W%) #>#x8vW)H_ }CRR; B}iJGU5 %) a9IJGj^EԔ|/]IJG*v .z`\:a`}IJE2`)Bo`|%)Bw`|JR)#)HRK^S) ](s)HR;)HR(v ?ԔS)"H`xש)HR) `)HW{>+30`MԔC IJAda^WҔHL@. R{UԔJD~N^ R$v #2JR %!Ka5JR %!Oa !'kԔ1xzx8yԔ9Nx8r9^x;RR4'u%)iԔ:n7JR C<>IJC^!?!pGRRR"s)Hu) p9:pIH/sx;J$GIHX>xW(RA9 \H .qRQ$z$RQ$z$>x}iD9ID.9#0a wGOnH+ t9IDs#<0sJ$G<GԔI"<oC(=C<NRQ$z(<W(=sWԔIAϞ9IDW t:RQ$z+x:9z#X7sЋJ$Eqocu%Gj烠%GgԔI7<?}iD\ |t\H.x:CԔI@eȺ҉#-֔IH] t9ID2sO%G|\烠%G|2sԔI;CԔIg<ID,#|*[RQ$|#^%G"G<RQ$|R>烠X%GHkԔI<IDA烰qJ$g"J$`aԔI #ԔI B<wu%B~C`!RQ$/%A|^5.H/x<>2J$|(bx=!(Dx=|Hk ӞAC(aCXI&%CXU*>HkH^ CT02J%G<u%O<?u%ȑeC/sqRQ(z.x>~2J%H J%H#<ID_|&rIDQu%PJ%E??(=¯<IDD~)sJ% B1O<RQ(R< B]<|IDLI | =P<y9RQ(S <NRQ(S<zB"J%${ϟԔJ BHfkJ%.s7zAhS9.PZC</C(<_C(x?yID->x?P.~P\x?>=iDk$u%u*ԔJ"<ԔJ #x?ID<y&s@/x? oԔJ0&,s@AkԔJp99ID)<~RQ(3᫞O+ԔJ !<RQ(4<~ Pi)99:A*sRQ(4{%Ha>RQ(4bg< HyID.< W?(BRQ(9u%7 :e!< ?(R#e%#x@~u%D< ?(R%YHyyRQ,x* t:e!X%"(R< w?(R'^x@.RQ,Q YHW |yRQ,,9(:e#'RQ,yJ%al9J%.RQ,-<9ID#Z^X[)sJ%zalPy2r>X[< C(ŠC(S?(ӟԔK D~xAbHO#(, #xARQ,X X&y%Ł8:s 2J%`% G+ԔK 3J%'@wԔK C%łY).X.y :ID`]9ש(~xA atF)RQ,.*.X])s\RQ,.#xARQ,.^xA %8st>X]ExB#%A!!J%RQ,.9ID+xBatX\<(Gמ{ԔK t9ID-9 }ԔK c ;u%a A#u%sID.^xW?(H!s=ID/9 8ϩ(Ed5J%1O<}XRy |XR>0RQ,^xo?(/^xC(/ m]IDxQy \X(>x/?(/ xO?(/Fx%`F)09IDX)szIDX  X, <?( P0R%`_9 $:aL  Xg<X2IDdxRQ,<GԔKAaw`-y Xoy ID#4a}`J%(.s6J%,O9?(ǂ<|(ǁÞ۟ԔK iJ%8T8;%xW9ǩ(\8(t8G%x/s8FJ%p{p-u%è~Cp2%éHp6%éHuaJID&x?C(GO<%è-ID' >RQ,:rRQ,:FxRQ,:!GXu sOԔK/sJ%è^&a\P%é`8ԔL bHf8Yu%Xy+ZQ0%^x`K^xu%X (Q᷐X[J&9 `K<ïC(š<"J&- ԔL X% iJ&nRQ0&pqޤ`M\`M<RQ0&<3ԔL "pq@J&Q86 #y֔L &uHGHǐ%H?(0$kJ&({ԔL P,s$p~?H<% < `$x˩(- x5J& E#x.`& < IDhx9"r>`? 5J& Ap%$<`C<@ˌвS>^`-< W(-<AOк7J& Dм@H~C{uґ<AkiDtI | RQ0]<AԔLDb(.xRQ0]xRQ0]B<C?(.§<CD1(IDtR< |`) `ï<CԔLB@)]IDt/ yԔLE<(.<}}iDt] s(IDt_ RQ0^ @??(bx#J&#A;n`h_< @UPlש(ZZID' !%@[ RQ04Fx~3J&h7s,!r>`0Ğxw?( #Ka֔LE01#֔L #x\`n<RQ07 xcԔL poX%p:,.t:#s,/pJ&t`X0s/>x?({`J&J&(ZXt%8s3J&`[a(x ID_<`r !#0ZQL.xRQL <y%`,0+rIG0z9)֔xJ< ?Ԕx2s0^nx <uPiu%xyJ< pJ< "IO<@:=hF%}IGD^4Ԕx]iGHy$N9܏(I<@Ԕx$gJ<E`7 Ԕx$ï<B_?(I 7<BoC(I :IGH*s4JԔx$sԔx$B<ERQ/ yIGH=hJ<EYZQ44p(RyzIGSJ<Dx>EԔx)3J<?(Rs!04s8qZQ&<?(Rx.RQ<yxs!8Tp=iG  \Hz08IG܋(RsKz!PSpqRQ*^RQ*RQ+\RQ?H~ H.Nxg?(R 9 cԔx)J<<g% B^pJ<`pV% B?(R IG_ ]<y:IG\N9RQ< CԔx*aw7^IGyJ% `U5ƽIG-s,.TL  ۭ(Uw<@RQ&.x>1J<GS C(U Ԕx*<@ u (Ux9^TM X.TM_#Ԕx*{ NRQ&y6}IGV9=% XM!Ԕx*aK G?(U k g?(UT|yJ<GW
RQ* |9^TTxCW(UiG9 'sQTS0ƝIG+szQT`1WT-9 1oԔx*aßԔx*b0δT-<"!J<E`}TV <4>TW <9IG$ ?>TWoƝIG- Q`T~$ RQ? IG_@T~ |RQ?|(U _<"?(U }IG]  EԔx*᧞Ԕx*᳞IGf .EԔx/aw'ԔxbxFԔx G RQ`C7<#?(0 Wxϩ(0^xFyIGxyyJ< XRa}iGz'0J< oԔxW-9(0 מO?(0 [_/xG\8:(2<IGF)pAԔxJD~xGNCԔxJDxG)'(20 J< HIGJ |s(y :(U焀mG(2<$|(2xH~ (y 9IGN9 RQexHRQe<)xHW(2b<$G#J< \L焀Pu%P 9IGT@K%Q\ 7ԔxEou%Q oN? /r>C<$!J< O<$> z(A焀z( 8IG[ %R '@ sHǟԔxE !?(2w<$NRQexIcNxI>ҏ\ IGJ < !Q.}IG/>xOC(;^xo?(;Fx?(#|>RQ4Gy#s9H]ID}'wRQ4GJy˩(#J&WRQ4GxRQ4Gx7C(#<3~h' RQ4G<ԔM*%DqH8@ ID| x>h@ < \h@ s@I%Dqp{#J&g瀀hA \.RQ4G >RQ4G מ˟ԔMJ&U瀊IDШ$nx%BI瀈ϟԔM K#^3J&APz0DIDШ)x=BW"{J&@9"9RQ4* 7<GhT<KԔM p/sDIDШDxu%BhT 7<BW+ԔM 3 =J&A|8sDRQ4QG~2J&!X%D IDD+>xC((AG }J&"Bu%EG%EK%BX |RQ4, xC(1 RQ4Z)9"&sV瀈J&cG~h^ h^AA_ԔM |{!WniIsH9ID*sHRQ4= :l7sLXRQ4.x ܏(AFx >RQ41^x 3J&187LyԔM bb瀘w.hcFx ("g<hq)9(sJPRQ48<'%C9(9ID+  hqRQ48x ?(V < :IBK<[u% ,| IBK< 8:JXS@-% ,[(X%nRP#<u 9H@M% 9H@Q% 9HJq(%PԔ+X@Jq,9(IB< yIB<y(<=IB&y((qRP#!SoԔ+`A"Jq@Je瀠_% `瀠,qZP&A;>XR(yIB~x '#J!@ZP).x u% 4F瀨ǟԔ+ +Ԕ+#۟Ԕ+*|(V Bj瀨@% h~$TIBZRPSJJ(Q瀨rIB%GԔ+ `n瀨Ԕ+ WX^'<D>RP/ aCX^ ᏞRP/ ᧞77ZPH#<A7Ԕ+2#`%x `&x RPoKz`+x X9w<ERP<GpAg%ae瀨z`y*yID0x)sTJ' pR?(&Fx GԔNPJ' >p)x 'C() "<C~pu%@&so"J' Hf(* ,p$ybRQ8TcXIDPK /u%A0*'A`^҉ 8s: 9J' h,u%A4/s.RQ8THy`J' u p>偓ԔN0,IDPSypԔN8 9%AP9CJ' /?(* W8RQ8Ty Qy%X Az҉.<9IDR(sSԔN p1s(Dby s}$W(D< 9RQ86^y ZQ86ᓞH(G<ID/9䀁Τpo䀕]ID# J'CH po)s_ԔN HH9RQ87!H9ID$ny %x I.y ԔN PH-pkԔN P$RQ87AsHID%y iש($poG<ID&yrpoyq?(ǁS\iJ'.t:x*˃EԔN .9RQ87_\yID&|RQ87{\?(ypM%x1s˂C(1c\yIDRQRQ<0^x ۩(PA+]9ဂ& ^P%y㐧J'ȌS\( %#x+t:'9KԔO@YB+ԔO "xa ᯞ9yID9 xdA9 (ЩØ~CGԔOb1O2J'1(4@ϟԔOc^RQ<9:xsNx8ө(ǢRQ@-Fx RQ@- w<?(,\eԔPDa$nx NRQ@YC_<?J( "Ps瀰ԔPDd瀰ԔPDb^RQ@Yw<IEdx9,wJ( "h`ש(,x _C(,aSaJ( !X^瀰p֔PDKO?(,ӞRQ@Yo<RQ@Y<.RQ@Yx (>x )x =)x )x zҊW |Y 9RQ@YR$s"?(-0t:H!?(-A/!N UAÑu%xyv%X y)O?(' Cy(NNМ%y(V(' `% Bp.CC(' ˞J |RQNy(hu%%W('y(1>М<P]IG8M|М&y>GԔzKW(' y0J= Щ&=М=}IG8Q`Bp9ÎRQNwL%H7ɍr.М)y2|eԔz1cLzBpy% |`F%\&RQN`Bp `PRQN`J= RQ?惿+Ԕz( aNEzGЫ'sEe瓍9IGynRQ' pqƝIGS'~RQ` \p (0Ğy8sC=瓄>RQ. #y8G%!J=0a瓀?(#<W(2!N!sC`9RQlNy8Ԕz'RQ~ф}'~RQDy8F$N.y9IEtPyIEtz0 IEtRx?( <(."%yHO爀CJ)ԔR ԔR o爀%x,s@2%xۍ:A[)爀ȺA] 9IE @N%>爀J),.@T(E@<(GO BpKs9)~RQR{"%!d"s.sQԔ|#bx<,}@ןԔ|%!"?(KH<yRQ=(#sLX爠J>Cx>RQ#PRu% "?4}DGԔ|&x(RQ( <-p(MHk">RQ/9(f% "Xo爠% #\爠J>GRQ$nxyRQ% |˩(^;:l㱷+Ԕ| BRQb w At3eIG.' c<ߟԔSS!ԔS#<BG?(0 x Nd_<@۟ԔS PZsaF |EԔS %#x '?(DH.i<.CԔS " %!;cSnR$sd;IE1}NMԔSDx _?(0#x o?(0A/@Ⱥcy4 & <~RQLaG<~W(0პAWԔSE 3c94yIE1+ |gԔSEA<<(0[u%J)#?@J)!t8hIE1Z >EԔSE<C(0j%pW(0GyIE10slqRQLax RQLaܯRQLaw<#ԔS 1O<3%x[>x ~RQL7ag`!Jq8TnRP#KeIB7<sq\ &% x ?(Wbx "J‘`wzq0Ix ?(WCZP& a[`J0aO?(WÞa;Ԕ+hRP& ca_Ԕ+pJ8UԔ+p2lZ% `96.sq0Q |IB(<RP& aC`JL0sl2sq0Xsl4t:q0Xx ?(Wx ?(Wk1q0[ l8:q0[y6IBnx/% `82% `84u% `A}]IB]98IB#pyIBR>:q8*Nx IB$y89IB$89IB$<GԔ+PZ q8x*pJ&sp\NFx% p 9J`[J`8\NRP' a?Jl6spIBnx??(W#<Ԕ+}IB/x?(W #x=IBW Ӟ% \L ^RP¸cO"J¸[ cԔ+r/spK% Vu% ?!JS=IBc)98?u% ጤ}C(W bH?(W cK?(W cWΤ\1xRP0a\1q3ǟԔ+1P9p:t:p- _"JYǍzpnx'C(W bԔ+1|*t!sp)xG?(W DJYHԔ+,.t"IBkx?(W bp\5c<G<\5 Ԕ+S\\JG9paO<@gԔ+U(WP{(% +xgC(W`:RP?(X % p]9>y^`.  J>\eԔ,J_ .RPܯRP@y>cԔ, G& $5|CԔ,% ZP@B<ÿ?(X aJl@t:-ss@ IB@|`nxRP@ `/ nRP<+JX9@ǭ(X b#% F)'zR$sCu% }Ԕ,(%IBl RP<Ԕ,`IB2AǞWȺ* yIBU@d+x% "S% "H7JE<ܯRP(WoԔ,"pbԔ,"kԔ,#C?(YG<RP(Ԕ,"JE#s2sS]IB}9@˩(YxRPԔ,9ByIBH<.d5xl3p% a.NxO#J0N9IB1 `pJ~$IB1x8ϭ([14*slSSIBpyNl8'.RP G'^CԔ-(.sIBpO< ;Ԕ-,.IBp< SJÀ.&&xRPpJÀU8Ⱥ<9N'RPpJÀVN,rl8 ˞u% azN0s(Nx?([Q8du% a+'RPQJÀI81t:?N˩([? u% a~/C([\@ϟԔ-h{?([g@}]IBp 7< ?([ JÀ <(RP  .l8FxIBp< >RP< 9IBp(/xIBrnx?([ApyP|RQX*(RQX*@ARQX*^x_?(GÞJ+P&yIE`'(>RQX*x:TUPIE`? ( \Uǜ(yIE`@ syJ+P#sOzT&s,sT0s-sT_ (9^Ux zT_( $< ԔV DxRQX\)sau%0]@q(.< ?(.`J+ p]IEapNyR IEapO )iԔV13!ԔVA< @^.< @?ԔV#< @OԔV < Gh)9R#J+< IIE`<yRwԔV 9Rh< @ԔV "oHqRQX5  sȺ/)RQX5Fx/C(< A/%p=H's^sIE`#9^q)9RyIE`R>HP%RIE`<yR&rIE`x=q J+lȺ]yR,(E< F4J+1O< AԔWG) a0*60UH2qRQ\FNx+' *|( <*> *\*< #ԔWQW@J+l`PC%a\ZPG%a`TRQ\F*GԔW?(# aB?(# aϞFu%ap{Dz0*s9IEq0sJ+UP(0J <*>L W@J+}IEpB< RQ\(YPV%đ$J+oAߟԔW IO< ?(< ȸyԔW h}IEp+|+/J+al ԔWǞfIEqVsRQ\z)+RQ\z?V<+RQ\TC< ϟԔWP7< ⠺*sө(- < n^VRQ\Z+x6J+BdXd}IEqlK +CԔWǂ< o?(-^x'C(-ACaϑu%"IO< J+Eq< ]IEpZyX#qZQ\DxRQ\x7#J+Р,@u%hS9XJ+V`h.< GԔWl( AxyX?( < <.,u%tP`p{ԔW<98( ]IEp]^xu%t[ <-J+%PSI]IEpRyZ zᨤHhW%QHWᨤ}#J+9Z0sIIEp$Z9IEp$xRQ\5 @_%PyZ8}ԔW B`IEp&xx$gJ+PUppsԔW Cj.xsN9\;}IEp'Nx?(#%P9\jx_?(S9\\RQ\5< ԔW A`5IEp*>xC(Q[W\ (O< n%P,)RQ\5ï< RQ\5?(J+p(s-j. %P*s2qRQ\5 ?("g<!#J+/.x@'ԔW B^yIE<yQ< J,9>EԔX}IEy5ZQ`|<>x@ȺҋHi֔XġOE]IElx* <wu% }*xD~E֔Xŀ^*rIEl[ <nRQ`[yRQ`s( ˆ[xBu%x^9^\CJ,7u%T/W(G/NRQ`9 b< +ORQ`9^xrHD}!+Ԕ~(^x IG0sqZQ<2Dz9dRQ?ydD~ydIG∴=灐Gu%"@%J?H!CEǩ(Qx?(Qg< FRQ#wRQR$s zIGH@e}iG␔dHJ^Hx*˩(Rx+Ԕ~) xGԔ~) < ?(R<2ǩ(RC< RQ)x~E֔~) AǞB?(R xRQ,.x |H~+s]=IG␼d9IG␼'s0!x %bx%DxRQ} %0|@J?P0J? %<3RQI9IG$}4zIG$1?(|$< ɺIG,X灙:ҏXo灘"(|&^xw!J? s`%< W'ZQMyf(sh^灘Ԕ~> ?< ^Vyf Vf (|< o!J? §< ?(|'x.RQP 3*|X 4C©O< yh9IG9hIG\@Ԕ~>\4<8sRQ./< RQ.NxnRQZ 4:ҏ]J? x?(|.4^RQ&sIG@?>_4RQ_yh ܯRQYC< Sb@J?Ex>6J?G4 RQ.yjRQ. <5-J?Q?(VENx\(VCW< IIGL灩RQAyj"RQA9jX 5nRQgUJ?P.u%p灨:a|*y^yj=*sש(Yj d?!灨+ő,.G%!X-sH%$< B?(Z Q3Ԕ~.<5IGH1J?DQ[tK 5 \`U灨oNtx*GԔ~.ӞNRQ=yl6%`qJ?EGԔ~.x`J? x?+Ԕ~A)9l7}IG`}IG< :IG$1IG({c=ylwRQK 6 yl <%D`J? x?(<ylxu%DGԔ~A / Ԕ~AxW?(( <7RQS 7|(_< KԔ~AEnx%BZ灹~RQ-x\z"Q灸J? Ğx\\7zIGdQ灸J? < ¿%E< 2J? p[=IGp:2J? < ç?(/awRQ& \8?Ԕ~/b< #se(0A_ :^pyIGW \8 <ҏp 8yRQ1^x c yp+t:]x x?(:%%Pt=.xԔ~E2%Qx) IG^s8۩(:xo?(:᧞@RPgBG"J8sK]iB@yt(r>pxR$sU% -sW.p/Np0<:RP D~x'C(\ "G<C(\ "<JHd=p0^xu% +xp0nxRPמ`J`z(syIBbx<% F)ٮEԔ.<u% x*9IBp<sԔ.v% ] \;?(\|2s IB2`mJ~ |;RP ^qRP xFgԔ.(@؍'(\QxN\=IB2῞dGԔ.Ac+Ԕ.B#a% I9IBtC<Ԕ.AT1<yvxyԔ.AJ,sԔ.@@yJ)RPA[ ƝIBt^xW?(\]IBt¯<CԔ.A|08˩(]x\tG<<5ZP$<<7JD% @,sIB.9x\tH¯<Ԕ.SYJC# IB` yx|RPp\<ޤtxR$s'sxCԔ.qWԔ.r<Q֔.q07scz<yz3u% +>xRPQJC9wJC@{}JCX.!p JA}\tӜtzdE>x/#JA^ s"ZQdH.xRQdH >yIE //<7"J,%J,b1O<pkԔYDx.ȖR>s"XUpgԔYG%D42%D89s IE,Py|\Ȗ)x?(%b< ԔY1yRQdKxoC(%xԔY+J,d<Ȗ/9|^Ȗÿ<C(x9IER#ORQd+Fx V<~RQd+ w<"J,"1O<RQdQ<RQdQo<g%B|IEW<G?(<uC <> gԔY ߟԔY,X%A|W xs<C(m!Ly~yIE<y~:IE<?IE(>x!~'#J,09~\%C9~RQd9dx"J,1la!̂&s\s ?nRQd9WA8Ny~ \NFx:A8W~IE?y~IEI=IEM%SCԔZ "G<gԔZ #x[(<RQh(<u%*s>Px 7?(W<+ԔZ u%X @ P@>RQh( ˞RQh( O<}IE? |@'%VW(Ở1J-%9IE->x ?($%*s 9RQh( x "J-9И$yИ&x ?(=y}Iu%X]&C08yRQhz<SJ-G<w?(=x RQhz<?(=^x | @ ܯRQhzA9)CxTGZQhUǩ(*!J- H#RQhUGAx9J- vq?(*x >RQhU A F)/sC# J-S J-q0Z1RQh7|B:AF)n B#%XS!IER#yIER$syIER(sx˩(GB2J-${$RQl%!DK B;a,A se"spJ-/AcRQlN +Ԕ[ ?<Dx"IEyIE#xө( Dx"o=IERRQl6:aI9IE%'<_?(S7Ԕ[ KCu%`U ZQl6 <RQl6 <RQl6q3{J- |DRQl6 <+Ԕ[ j .aXx"3J-h(syIE->x"^RQl6%`%sԔ[ Q?(PԔ[ ӑ%`lEm)s saPyR\< ERQlax">W(0§<@CԔ[EP]IE\.RQlaHEnRQlax"%qHS}nEzIE- EEԔ[e#x"zaJ RRP \H}Ԕ@x$nGԔ@C<?))H \I@J@ ï<RRY)@^u% _@J@ AC ƽIHh{zЫu% e.Cz<HIHp{?).<F).x$~RR]9).I@H> RRF)IG#J@ ^x$!J@ b<@ԔAC<@u% E+% ؜*$<ҐxJN2J@J@yIH,<Bu% 9=)4I3J@ "dHj>)x$/C)5\Hw..x%)5mJ@ brPX's( @Ԕ0J@JD~x%u% %"G<)a) \JW)a)s( BJ@B0(F% !T:s(&s$}J@D_PR% "P BOC)ax%nRR% \J:0*(,p)a<1J@G3 AIHRPjzJ@GÞ f9^M!>MyM ,RR_<Ԕ0a<Ԕ0§<J@D1% "x+, yIH,,y^Q KRR(>x%'?)a<#Ԕ0A `% "P% !\y^W)a ! `J@EA<~EԔ0)a<~GԔ0Ja\FgZP# ᫞(s[ NxF xxF>OԔ/ ~RPBЍޤx]c RPAy!SҎRPA)9xR>h Uh:+s4 yIB^RP  J^4xEVz@J PENx&RQp( J.xNrIE/^x'!zP=pyJ. BP όPYpsP,s8RQpJNx'W?(=&8!ЪyyԔ\! ÎRQpz& \NKu%`hp"sLp$sOp&sTp'r.N N>:ҋ@9(=.x'?(=Ŏx'?(= g<Ԕ\Cx'}iEAx!l1s<IE9 | =J.Hx'u% K&<*>^(qRQpz/x'(=O<ŞRQp+q<RQp-S "J.${[(\%)s<3y֔\ lIE/x(s9rIE=炀5z$2@8۩(Ax(w+Ԕ\ g<??(Ax(+Ԕ\ ?<%"p?(A.x(\N9kJ.EH]炀}+PRQp [J.E`2%"6ש(Aï<#Ԕ\ L%"r炀'qRQp?RQp?$r.~?炀J.Bt炀J.E zҋl"J.Hx(GԔ\  tT炀gu%$ n/Q^C%"`炈{J.@ ӟԔ\ "<A>d<@7Ԕ\ Ԕ\ !Ԕ\ X]炈:x$DyIE<yI%88sDN"N9g 7<@sԔ\ A%8g Q3J. sJ.L炈>j QnRQp5 AǞ J.9>GԔ\ D<ASԔ\, !/?RQpa)9?%0.sDZu%h(sDƝIE+x(n]9मRQp; A D\(Dbx) IEК<y4u%Bh\^x)M  uJ.d A?(ES A7RQt&k B?(E`炑W(<HR9RQtT\H5J.1O<ßԔ] Dx)%EB<$H(* #x)RQtTC7<?(* Cx)>RQtTO<RQtT<RQtT<zy |&x)NRQtTx)RQtTNx)?(*.x)GԔ]<1֔]oB܏(* {A Ԕ]KAԔ]SBҋ^RQtT<s}IEPPxԔ];@J}iEPz.s IEPz0M.(>x)IEPQSys,sLW |S<C(* W `J.O</Ԕ]QO c~RQtT cx)N2J.0%EA2N2J. d?SOԔ]2L%s*L^-x)+Ԕ]x)W?(*o `]J.01%E@#sL zIEP\LRQtTBo<Ԕ]S `J.0I^A9#sM炘L%EB0δ'<RQtT<RQtXc cRQtXC<C(,w b?(@C<?(@<(@Nx)x*Lө(@x)2J.0J.K炘v%HXM炢IEyਇ?(@<ө(@<"J.<?(@Ex*.RQt)x*G?(@Ŏx*g+Ԕ] </?(@{ '^X\T%.~ |TyIE*P:IEy[\[ |TnRQt@ T5J.g<Ԕ]  %H tT炠(s@oԔ] C<GԔ] s C(@x* eԔ] <1J.@J.@ȺWyIEp,9 P5pkԔ]t炠v%F({U8sURQt`Nx*3%FH7TkJ. ?(0 x*EԔ]S Ԕ] bPPJ.09sT9IE<yjNx*j_ Ԕ] BT炨Iz,x*%CPy_Ԕ] Ap:sT#J.p{SjENx*(s ;J.y]IEф[ T-s,s'sTY%FxPRQt7.x*IE?y6% 99IH / V\#X?% # JA W JA ha?)( <'?)(Fx+RRP 'RRPC<sԔ<Ԕj炰sB*X 8{Ԕ_ iJA B`8% X]炰t:D09sXu% d5sX:sDhU8JA #9IH"hy2\!% ӟԔ*ag#?)~@ |9^`C% #?>R$s`JAdH?)RR, W焰)`C_<%JA f9^K !RR&^xKW)`G<%/!JAO<%W?)` eԔ0<%IH#-X*kԔ0 {ĮCԔ0a7·C)`.xKIH#*sXX-Ԕ0 ):IH#9 ӟԔ0FyH6.Q |}]IH#1s@3Ԕ0 aRIH#W \JAR,yH sFP{)GԔ0 % puJA#<#JAp .^9;JA; !JAp}IH ,\ At7\?)<u% ߞ 1JA 1O<sJA "G<ԔJEx+G?)6gԔBt炸:Ch>炸IH!Ix+7?)6A˞ =IH!L Wu% 0.s\*sCh9%.<y(qRRmx+' W u D =)x+'?)6ppe% а9zIH!,91JA %JA l0C)6<&x6JA py09IH!Zy09IH![ <-.xLN2JA j/% /s`Ch^0 IH!\`ԔESw!JA 32JA <& A90Q.ï<& /90.F#JaԔ0aC)axLRR=xL ./<&RRnxLRRA906rIH#=JA@ RRow<&~RRoExM|<&qRRo>xM,4RP'9IB%xMnRP'^xMRP'aC@;J&shG% xI% x\|O<_Jl1si7?(_<&||OENxM(% ґ<&RP=<&+Ԕ/G<&'?(_xMRP=xMRP=<(_<&?(_7<&?(_xMRP.4:IB%<&/?(_<&OIB<y4RP. xM (_ OIB( <'(_<&|\CW<&(_vsԔ/! u% *NxM \|2 C/?(_ \y4yRPO<&RP?A:xϩ(_ ןԔ/ ߟԔ/ (_ BYԔ/ Ԕ/08IBs^xNEԔ/2?(_b?C(_HKԔ/Q\+sr<P Sw<'RQx)W#J/1l1pJ/1p{ w+Ԕ^E!wu%'sp]%zҋ#HԔ^8r>K99~RQxx&xcԔ^^xMJ/] s‡WRQxzA9@IE@IEU%X9€s )J/`{J/({ sdx9@IEgY>RQxTy@R$s€#k֔^ G u%A${ }iEPIs€J/ XoSԔ^<( =J/ RQxTExP gԔ^<(RQxT<(!J/ nZQxTB<(?(* a?(* ӟԔ^p >RQxT<(J/ J¡,ˆˡԔ^ #^RQxTt: yDs 9D?%H !~[xQCԔ^ bpo%X IJ/u?(<(l_ z(%ˆ[%P #RQx%xQ t:0a{Ԕ^ <(x$ˆ- !ZQx< E%hcԔ^ §Ԕ^t2s˜ s\ gԔ^B1O<)%H^zx*˜%:T  !u%9LQ%<0J/!l6s˜zȀLXNr Sc%X |( aRQ|(.xSP<*/Ԕ_ XD;J/Q\5s ǁgRQ|*ŮxTNRQ|*FxTRQ|L G<*%X8 "pkԔ_ B`n@S%W #sh]9P&pmԔ_ D ?(#<*IEtR<zIEtUPW=IEt9PY۩(.᧞':_?(A)s m.M y^N9TԔ_bxUJ/"G<*u%$5¨s}iExJ¨sUP>u%4ZPCu%TyRQ|^xUW(/ C<*!J/` <*RQ|^ D1J/kGeԔ_SB?( !?B?( ERQ|\Qg~+s¨,qRQ|4zIE#¨0:ᤤ'¨2t:ᤤ*s¨sRQ|4PPu%H,sđ?(Gn\qVd7@n7@Ect'sZt MctV7BxVl7@nt&+Ii4M&_%$!'`I>Ű-(+QP_E@ 7@@AxM s(/"E !@@@@@BxV qlxPDBx x`7 YO =5(<0?P/sA@rIA@(^| :P=5(dx`N PC@n<`xu&zPC@nGBx aOMA x,Rl! О #Շ  C@" "G@!PC@AC #XC@A@n|Ej XC@A@@Bxas*]kh(t'3Ej254: G"Ej2!54<h4'#&C@!<0??*s񟦠D@"<0?PC@" y~xa3s)*:xa{!PBCPC@$! "gޚ!,s54B Y+V2a (s^/MA ש54 >xanjh"8s54 <0>W54 x->O D\MA AMA:Rk kYP ՍB  F@# ]\XD@nIBxbEYP<* E6O B??jD@@@" _D"jd'!#MAxb :XD@A@$<1ZD@$(* IBxbyVDJI@"_(" % _+V62FA5D <>MaCBxb EjƢ  5D! 9ՍBB!H@!aHBxb^Շ!H@$ 4Z+hsujD9\u&D@#!<1?PD@" ~"xc;MA I" 2k" 3< s p5DB {" O `gVdPd?PD@$ ߡԚ"%xc1 (d'0Ezj| |MA0Mj"y"OzPD@0Ƚ5D|*<1<9&x. ?MAt']Rk <cԊՕ"7@$!<?5T9xy" <g=I" xy"@kMAEBxdMaHBxdEj:5T"&*yV2%C@A@n-|# P4i"P@RjTO C5T* P$@jd9ש5T:>MaFBxd.eB**!xd^1P (s PE@@Sj<2MA_<2#@P.)r/MA<2 MAI# 7CQ禠)1Mat'QR+VTn(Vn67BxeV 7@ntkt?67BxeHat 7A !<25MA (ƝI# 7@!<2^ PF@nDBxe\&<3Nzl# <3Շt: H@# PEd I@A@n2 ?kd'`ߢeD?6O Ƚ?d2F@@@# !<3o}I# `6hd'`Z&$a-|#T: jD95&D@#<37+#  O ]'p3>2ÞEj3MAp@u&EC5d*t'pQu&E@"<3+ԊՑ4*kT*8N^V!PF@#! &GCI# <3Rjt'p s8hMA<3j|y8wj"5d <4s5d xh92 >xh|MA> MAt'Nu&^<4=5t9(gԚ:  Pj49}MA<4 < Оx.?PGAj>x.?PG@s5t|]:st 9R+V46˲̑~B<@׉}i$ 7C Rk  <G>VMA! !s5'㜇# d?Ƚ5Ou&<zj 49PH@"!/MA! sxyԚB^^FC ƝI$ Τ sxHRj O?ԚB%x/ |&-t=5>x/x!u&xi~2MA%t'#=I$ ! QP<4g?PI@AC@3J  HD` ht42D:HAPI@! Ƚ5 H#sPI@"! ΤP О@ MA%<4cԚJxi MA%GBxi |c$熐Ƚ5B>k (JHYө*PP (sHޤP ('&熐^@C=5b BBYH@3ԊՍ6agYv, p$"}Ha]2.keyR-X86˴نYf-|2Y.BB9Rk, !!u"eIpr$+V2$eO5cG#VfH˴1EH@ǟXԑi13Me$ kEjd쑗i?Yf8i9 :Z1 OMer?+V5%fag10$ R+V3%f;p\Zp̹ Vlid̳%dvYf8fN^Ցg_14$"޴Vk, ӐwdiMer[X̻2e鬳3B+ԊՍ 2VPβYf8gԊՍ2VPβ앎k, 㐠 |EjƇYYοME/:4Z.B/sfY4Z.B0pdMe-!"_Vl]2V]W]HXл'gYvH5h\sVj]2/Me-!"5Eje;:?YfEHkZ+V2.35h\TNVh]gvH5h\]}HXл82Yr ZR+V6.32V]^2EjƥqfX鬳E%F(d̡.kYfEJGu"cBmhYrƽHXСe]k,h PEj ,β앎k,c!*&sZ]˲G騳ENBTNlENBTQz-X|eb#%e#Zw鬳ErgԊՍ Fac鬳EroYSYf6%G:Zq鬳ErԊՌj,g\pzYf:%C?Z2鬳Er"c# 2Yf:#4EjfeuF"'Ci.=5hB1Z.Yf:#5]hXMgY]iErp EjE %鬳ErS֊Ս fJXk,eB1 V騳$dB1 <,̑9 *qR+VF]?5dHG=HX2/5dC>}HX:3LY2G!\ZufYY2G!+ԊՍ 3M~2FH!=HXCe :˳Me#$rQ+VTY2G!8Ejfvq̑9z\u"cSl82鬳$dBqeqg2FH!!t=gYf!2YfH=~Z̑=ՍKl2eޚ2F:rNz+V3.Ͳ5d=pԊՍ 4Yve~2FB^W3.̑NVlP3fY֛, 9z9HaC8βf]gZ-|fHɜg-X90̳ :Ͳufj,;}I$igEjƅ.?Me#MFc^ Zfeezj,˾B3nQf]roԚ4NB3-c"u&Vh]βk,i98{ԊՍKYac&Vf]γYrgR+V40̳ MeL됌@֊Ցf4!Vj]fYizk,,dfr9 өfYu1.#@6NYXFV鬳ː'EjƆ,'c鬳ː?VjmcYeޚ1[ԊՍr38Yf9c!Z]g.Yf9f܄nR+VF]k,,ې@=HXEdv5cA<$rhyԚ3 '!zZ4Z/ME"4v4Me"qR+VFPYfaB6:Z03 Er.V" YfaB6>WZ:fvY=5f#`Kz+V6e3LDgj,_!+֚2VYFȽ#6ɟ2V]F7}#6ο5dr#`Vj]Yh5dr#a/ԊՍ 3l:OYfJ.B6 "cSL0α&zk,XFR+V64ͳ 2fq̕r2pEj3Me+0 i7R+V3,22VaA\Eje]̕rlܓge_̕rl ]HYk,Y!HXr̲2VaCKZ+V5,fYצ̕rnEjÖe2:4YW!UDMe+%rr{Ej4_2VJ 9EjF,Me+%r.ͳ,:˲V_Md됃^Z6̲0he+: CfٖYfm]Me+: HEjƃi1?Me+ HXȳ5dϐ=I&c!Z9e :oMe39?ncS rP=5d̻~6VhmhY3NBV5dӐs]HXȡg_j,ə;~Y2w!#EjƥٶqfY#YfL܄ >eGOQfLnB7?5f_!Zk,̲B@EjƄv2Ye+R+V4%cqg, -r.VfJl%2Ye?Z+˲G鬳29#EjƄvS.ͿMEH pj$u O?Z2V]鬳2̹ VlicL2q3,ː'jL,γ 2k4 (N+V52le YferVEjgXf鬳29 ޠԊՕ05fY!,kԊՍL2̕eǦ8%+V2vm:%?ԊՍ4YN3MfY!,NR-X|a2vYe-|j,̱ې]`M֚3,v$ Z:f9~3,v$CcN˿Yfe܄yc!c3,v$?R+V4fw鬳'e9Օ65dÐ'&̝r@-+V68γl'c]̝ sfve~2vN$iR+V2.3o5dK"cb63-]̝ pG"cB6˲G鬳'dB\AEjƥfmfX鬳'dB\yeq2vN)7?Zve?Yw!H7Vh]d$~2vN)9ՍK,fX鬳'dB\Zve3 E~2vN)pgԊՌ˳,̝ @1Z+V6%f,2V]2vN)Zh04Z̝䇀ԋV Y,γ Eg2vN#P~VfJ22vN#_R+V3%fvq2vN#8u"ddvYw!g}HXЕنe_2vN#:g֋Vf;62E,;?f;62EfYvq~,;u"Շ٦" gZ-|fN܄?f2fYh 2QfN͹ Ԛ3o5f؀}&PRk,ͱÐ^cS 63lvYh 溑ZEL>Zp:f]β_6˿6Yh ΤZr:f]β_6˳5f.B`:qR+V33 6]3l1Ye܄pԊՕ,5fw!8u"de #Yc!80rHXȳ6/5fNNHYT_ ҼgԊՕ85fNVfub+:Me9rHXС2:5fN<3u"cRL˳,8Yc!(u"eS3lr)Ejh5fه!LԊՌ2MeaSVlu3.γ 3lӐ%R+V2(fY#MEmDA&6" sZfeYvqk,ͳnB"TEj1YfmrcY6#9֊Ռ18Yfmr sZqg鬳6͹9HXMdYf܄vudfYf܄vVdiMemG`{ƝHYQYg\v Vha4Y騳6nB;2MEGa/!Yfq 6R+V5.̲FacE@lz+VFak,3B`Vk,3B`V騳8'!鬳8'!O"de#Qfq9 鬳8ɜnCԊՍٶiYY4Yfo"Ej'r \Zv:Yfq c2u8 6yHXл&cJ˿Meq@l:pdpYvHYg?R+V5.ɘᒲYfqr9HXػ&cJ˳lMeq@pZ+V4.ɘᒱYg{Zvm鬳89?Zvmfe鬳89HXػ6γ 24Yg/zZvmg鬳89g3㐀Nce8 8 | zZ9fYvH5g!Ӽ"cS r̳ 5g!#ԊՍ12əvei8 <Ha9fY3.̳qk,3BOR+V30,8Meq@xu~Ցh5g!^Vji2.YgkuccMagYvHYfqr zZC&e#5g!DR+V3(d̻8Meq@|{VhPəe_8 >R+V6(d̝fe3㐀`ԋV2fNγ 2k8 >yՌ]: > +V4.ͳ 3v @Cj3l24ZC8Y|i:9Vwp3B`OzZ2p3Ba[.VEp3BaԊՌ3,rXg ]hYqp3BaӡԊՑOMC8| 8dv XHX,ə8e!8eg!!ku"eMMc] d/e .Mc] f/R+V24əw E@4R+V34əvq . h\PEjʙ I@35֊Ռ3lMc]\ 'HYep˱ːr~VjafYe^  mԊՌ3,Mc] u"c"6].NBȽi5v:r6 |VhY3,r5v:r6 Zf03oXc!qXԳMfqp˳B1~V5vJ p?XdByՍ 26]~ %r8qeI_.\?Ze_k2@rVficq %r8*udf8e+XȡYg2ːԋVcL3lBf-|5ve@0sZvYck2ːa"cb&a2̕.̹>Wi3 5ve@u"cB&ag.9R+V20w 8 rEVfa25vq@<+V28˲W 8 r ۩*uk2됁@eٷ : r[ΤVf"22Mc]܄\u"c#L$p>B@8f@y0̹s5e@y7R+V2,ͱMcar: u"eI0͹!V#8f!d_EjƇX2v5u@X֚ : z?NVh0˲VH5u@`2앒3Mcar=Z0ι_^Vf"3 .McJ92Vk2VY@AEj̱ pYg!pb8XᒳNB=`EjbXᒳNB yȽ&]?XᒳNB E֊Ռb8Xᒲ!Vwp1Ð1.8f#su"c# 8XdBJ9ԊՕMci!~Օ$ %rBGԊՕ:5eA HYC88f! /R+VTB 8 iԚ : zR+VTt5u@*X4ɟk3L@+pԊՑdMci9EjY#,ͳ 8XeBd|ZH3lv5P "c#,p2!17Zep1A ,sԚ 9!Rj2vuA 2t:Xe{/Z+VF.8fg!A"Vd.k3l 6ԊՌe , gX!25YAԊՍQb.βpͲBz+V4EL:?McmrD Z?8fg!@7zZ28fg!@?^VjeL2/McmrDc#,pͲB#,'6˹"@]֊Ս1 L2δe܄+P׭>,&N3 :k69#R+VF]8fه!pȺZv%ck3lÐ8R>V5aA{}HX5iAXZ2̑pͳNBwXг$euk3lӐ9z+V2ve69#Vd"3McmrG.ͿXg\o^V+8g!p8gA8ϩ5uA!HXس4Y3'h5uA <gY5CIA !pgԚ 8IEjI2McPrHz+V3If؀pNB }Vf.ͱX4 X&]e#8e '!E>ՍReٶac(i9$W?$˳l0S.P1ː@y֚ rH^R+V2%dMcP9$hY+:8e 㐂@/qR+V40̲85C8 {ԊՕMCPι$@i֚ rJ~ZipoP iplA< yՌ3Mc;dB ["cB8˲Gpl됂xp֊Օ.5rPm@W֊Ցg!?MH#I (HJF:R,$" HsR,% )ߦYf8ԊՑwYfJ% s*֋,\Z,.mY H+s>E2VYf_M2W!)~ՇȲJ34k_e+"ՃYC%eah,Z,%rVIY H\zZZ,%rՍ Xh kEdB hXȕd52W! }]HXȕfkEdBA'ԊՌYvmYfJ!4 =HX̕fXe+VkEdBGR+V2%f/52W! zZ2VqY9OOԊՕ.5"3.BVD=iYrgXȳ$ekEf\*gu"c$YvJZ,2!T%"˲V]?MhːPEjh앜YfeBP"cRFa2.֋,̹U |kԊՍH38Z,2!T+Vdeg_kEf\J\EjƦa2WYfN"Pt:Ze;@jf8f+0γ ]kEdB%R+V6, %f;iY\Ejeᒲ֋,܄J-VhY3v52w!V8ԋ,ι .,60˴Z#֋,ι"cBr3lv53B&\ZfنezkEeB&AEj2Mh̡D{'R+V28˲GeCeeCVfqfXeC~GԊՌγ 2MH_! \DMhXM#P EDkE9cԊՑ2wYvaDЍVfJ3,rMhD^Z+VTkEdB&Z2Vq]r4Ceٶ]?M˳.B&R-X|ud̻:˳mqkEf܄MI֊Ռβ2MHDЗI:eM9HYe:eMZ+V22,Mh,"pc]?Z,t9("EjfXg:eOZ+V42,2/Z,t9|EjfY]Z,t9w*mkEg!`#֊ՍMufޛEg!/ԋV ufن_8γ qkEg!HEjf:˳lMLaԋV Yfufن_8γ qkEg!"c3muXrL;d̳'XrՍ fYZ,t9W"ԊՑgcYBCdgwXrV!?5LδVhb+֋2BVfvHMh.!` "cDX3,r5Lu"c$X?֋3B@{X!25LÐ"ԊՑGXr uc# ]Xr$Z+V30ekE! "GgwciEOZqfXkE!zZ]:eB*ԊՑbZ,tTNR+V42&ac:eB*VdeLMh ېG}hXJ˿֋0͹9Սe Yv"֋0ι%sԊՕMhVYEAgPudgY+,"qz+V281֋%eU:ZqgY+,!hH`8e Eh 2Z,rxEEjgaMhVYBcS0e+Z,r"Zqi3 $iJ9ZEԊՍN3gXJ9Z=HXȡekEBsHX̡ejE\-RkEB]HYfeJ˹[ǩfY;$i?MhV]Br>V6֋%e܄->c2.J˹[VhYf9~du"c2%ckEBqk#EOMhVaE`g;"&acJ9|iԊՌ,MhViEc<>V!?5Y!V.֋%fV Z]?,rX}Z.L2+EdӐΤVfqdvMhViE`ޤVdqgkENB+ \R+V38˳5Y! f9Y+4"=HX25"ə;"MH,E`X]IerX1.ԋ2rXyRkEeV VhJ˳]kEdB+Z+VT֋4. Z2i9\EԊՌ˳LYH!p2py֊Ցgf#+ԊՌ3,rhLÐҼEZ,$eٖu2WYJ!teEjƄ'gwi]sZ+,]=64\.EYfN3 pZ-|֋4\.~EXԕgYe^f+yEjdEYJ!tՍYv:3LM2W! ZpJ˴Ya˴Z+52W! VhJ˴YqkEdBDzZ3LZ,%r|mԊՌ3,MhLBsfنe_YJ!tՍ 32qkEdB@Z+V2(dMhLBdZ+V3(d8MHLBq ԛEdB,]HafYfuf-|,&rdԋV 234kYYL"/Ejcaei9AEjƃae#֋4ɜYr>Vh8f]~f3""cQ0̳ 52g!E ZYL"d^Ցgf3!R+VFL?52g!X֊Ռəfe?Z,&r!REjƄ̳2i9^2MhLB*Ejd̻2οZ,&rՍvef9ii9^ HXЙfYqkEdB.ou"c"fii9%񗢵cBfidv64ɜ\y`䙔3,EgZ-|2/64ɜ\>ZrLa3af_mi9A]h`虔3,EgZ-|4̳,&rpx8EC:3M˿MhLER+V3'e,52g!J0˳MhLEї!VfN3,vMhLEiR+V3'e]f3 .YL"߇Ս fmgYL" rHXԝfنe^f3{ԊՍfmgef3{ԋV03LEf37M2g!@׍j;,γ p2V_0αMhLEСVlN32V]f3ZpN˳,,γ e_f3ԊՍIvufXYL"eHa;0Yfuf-|,&reԋV نJ34kYYL!|B HX̝d52g! HXНd$~f31 =HXНd652g!3'ԊՍIنJ˳lZ,&r\x4EjƄ%ei9. Z;0Ye^f3DyԊՍ+.əveii9dՌ+.ͿZ,&rQGV]eߦYL!u"cRvJ˳$zkEdB]HX؝.XYL!0V]eǦYL!x7Ej앗gYiii9du"c2vJ˱f3PuVlNYv" ֋4ɜ2mԊՍ+03-]YL!"pVafYצYL!?VafߦYL!#EjD앎kEdBMsZ;&e+%f-52g! 8BEjƤ2˳,Z,&r|#"cbvieٖuii9e EjƄ8˲Gi9ecBvi3,kEdBAgXНf]kEdBCz+V5'fنqdM2g! ^Z3:3Memi9eE$졝eah,%YL!j;(gYfuf-|8֋4ɜ3"VhN]?MhLC0ワEjƄ졝eٷi9fcRvPβ8֋4ɜ3?Z;(gYe^f! IMhLː`("cb0̳ ,2! 8>EgYvegZ-|,2!+pE.̲EdM3.Bk:j,:˳,:kf! H`YeٖYh ,2!9pE(.̲Eff! ׋HX]֋4̹g =EjȲ읝e %iYeC8d"ՃYvNβYZ+53.BG+ԊՌeٶef! ᳇HX]fYeZkEf\3/+ԊՌf]Ef\4+`Pͳl2δZ+53.BxZZ,2!sHXԑgYizmir:jFafehWYeC@s ԋVIufYY+֋4̹.$u"cbFafeiir]3R+V2IcEf\@onZr0,e֋_03/64̹/EI3 rYh 2?Z,2 yHX&ad̻$zkEf\=HX&J4YYeAxqHaLh2kir^8EjƩ2VaγMhLːR+V3If364̹/ >EfL3-_.53.B Vl4ͲfYgZkEf\kZL6əeZkEf\W}HX&id֋4̹i+HX&P2kEf\4R+V5I32/MhLːX&P3 2,2! Ha 2eγ Ef! }hX.g_ire֊ՍLudMhLːucc,Efef! SZ-X|eh4̴ZYeCHs>8˴YC:4-|,2! H`.6P˳,EZ,2! Ս2M~f! oR+V482F]~Ef\4Zpqd61EM3.BBg?ja2,δZiYeCHOR-X:82F]e֋_03,53.BE> u"cc$eٶ]4֋4̹i.6Ejgqf!"ՇqeٖEYeA|xyX032δ,2 yH`032δZ+53.B 'oZ+V483853.B GzZi֋4̹/GZ3Z,2!j>VhqeukEf\EjƧYgY+Z,2 )cgYfegf! `gYPg^Ef\5\R-X|qfCEe-|mirH`:Ͳ:4ZeYeCXR-X98γlγ igmir ZpqfCEf-|8֋4̹k zZue uiir ycC2֋4̹lEjƧC&f9zkEf\6c3EYeC`'eef! S޴Vjuf]=53.BCX,3,6֋4̹lyHX,3,r53.B HX,3,2-53.B Q(cC0̳Z,2!Z+V3:˳,53.BG'fYf_253nB gEjfv:MhLې ԊՍufX妴YmC3e,%cf!@-X|mh.4Zirxy֊Ս'fHhLې }H`.2vid]h,6!&uՃl8٦e4Ze_mirxǭ>6˳fY#Ef!AVjm2vudMhLې2.R+V66;:3,rZ,6!Imt 3s*7CR,E.Z,.B}HY֋R,:oMhtER+VFmԋ8:YkEe1sZM&a֋:ͺ/R+VTkEcA@Y;.ԋ(eYC&tZC%ea˴ԋ(fCPͺ @eٖue ۠ucSl2βV;zkE3nZiP: NWf3MhqXM>Vjud LZ,t&r.Vlud L8hqXELa)fZ-|r5mAc5EjYwX,ȽMhEX]HXȕhH.C51MDACyOC50@50 VMd.+ԊՌeFYtEjX鬑d΁ Ռ1.鬑d΁ cX̳52ˠB HXr˳l(gfq!Vk$e@HXt˳52BvzZfu*wzjfa2vigZ-|$k$e@qR+V5,Y,^fu*Օ OQ#Et +54Y+1 ܋54Y@b>zZC2οHg[&FHu&FH˺"c!(cw.4M2쳠1R-X|:4fuhY#.:ZY#.:"cBFJ4X52쳠FCV+H˲΁yEjĬh.Y#.3=HX6152pHEj鬑c@ ZC, ic@<cB9c]?Md:́Z+V4(c9ew鬑c@1H˱à 5WZ+V5(c9f9zj$e.ԃMdEVfa252@j |EjƆ#0̱H˴]d3ԊՌ2fYdE)jVYeah/dEWZpJ3l:3Mek$e.6 \:Z+,Ͳ4ʹ#.tR-X|J3l:3mqk$e.6 <Z+,ͲH˴]sR+V4%e]?MdE^IԊՍ YfmgF]tԊՍIYfmfX鬑h y^Vdi252@?ZL٦qd52@=HX.3H˴]n^4EjƦvYeǦF]q#?EjƦvL˳,dEGa]2:˴Z#H˴]nHX.əvegj$eN78}Ԛv xBEjeC%g_鬑i:DhXг(d852'@|Vf]gYk$eN;(NV6H˴v<fٶ]?MdI`W/"c# .Y#.t&R+V30̲v~Zeg鬑i:GR+V40̳ MdI¾ԊՍ3,:3LM2'@ +"Շafe?MdIo#%g_vLsfaf^vIR+VT#..A9HaY204Z鬑c@ "Vfmd52 =H˲W@ "de鬑dA1EjE鬑dA>]hXȻ:˿H˲W@ ԊՌ˳$F]-sgYvqvJcVh]f9~vJ`R+V50əudMd%tp+V50əufޚvJVha˳lv52!߃EjβMd&t<"c"$鬑d΀BcRV]=6H˲g@!.R-X|igmgZ-|#.ɝ\fYue֋_.?52AX:˲Gk$e3O?Zufq鬑f]]EjFvHY#.̺ WgYvHMd'tzZfm鬑dB'+V6,ͳfY֚vN#mԊՌ,vN $)ԋV ,fZ,EgvN R+V6.̲F]hMd't]fY#.̳Md'th㎤Vj]d2/Md'tGEjeٖH?Y#.R+VFuvmP-ԛ$eٷ@B?>.eٶ]hZwF]tI"Ճ&]eٖEdMd6(XM鬑fϩivqQ[OR+V4Ef~vqPSͳ p˲GF]tx ucTYavq鬑g |mԊՍfن8f9igW?Z,0F]tZ-X|62vuf-|#.:^j,0ah,d88Z-X|62vuiZw鬑g"ͳ fvqq_HX/52:Z9fYfuzk$e@oVlaYYe#Md88o^VlaYYeƛ$e@ >0,,γ E_F]t eVlaYYfvq+ԊՍ 12˲G鬑gc2앚dH˴ Ejƥ+4vHH˴ R+V6.YN˳lMdM`zZvJ2vac$en>Z%f;&eٖ_:527@cC :˳Y#.t,pmX,γ 24H˴ ^HXE鬑igHXEg鬑iEjFHY#IXsZ?Md&a(.V.Hd+ԚL;"eNMd,X:Zf]k$fg@"cQ23$zk$fg@'GR+V6,8γ YȽYY?Y#0:R+V4%e,853 pFEjDH2΀gCLr?Y#0t09Ս 23lvQ#0 /ii:=$˳o53 '@:ZL6˳-]>Z&]eٖ.kFahy˳l2ν6H4>Ifved;?˳l2/MdIgZ+V3Ifk$fNiԊՍRf,Md7~V:H1ˠ9?gY9t87EjffNOH1ˠO"Vhmdt?Md&t8N"cBEw鬑d΀ < u"cR83Ld&t81pyԋVfYafYf_%$f3ןԋVfYafYv_$L R+V6.̳4̳53 ۠7iԊՌYm?}HXлEe#H3nܿHXԻEfe鬑fVh]γ 7鬑f kVj]γ 6]鬑f:HXػEfl8Y#0ͺHEjƅ,%c鬑f)HXлEfFat(ZEfahY#0ͺ8ԊՍKYicFat0.ph6H3nF ZEgYqhg騑g0Rk$f@#GZ+V3, Fat9GhXг2V]?Md8p2 ԊՍ 1%e鬑g |:Zf8d2/Md8q}HXس'd,ͳ6H3GzH`82왎+EdM3 EԋV 3.ɘᒴZvmFat8uՇřqdpZ-|v53 #XYdH3H5Ejƨ$e#Y#0: 9ՍeH3,rY#0:!1Vh,ͲFqk$f@$>Vl%fPͲ53 =hXifYv:d8=h`ifYv:k#Y#0: 9HXi˳od8 -X|4eٶahH3HNR+V6EeafZlgEl&fYβM3 `md24Z]鬑gVj(g]=53 ό}qgq yEjȲqfeFat@ p Ejƀ,3 :53 +ԊՕFat@VZ+0&]q ^VfL353 u"cbfageZk$f@$?Z;,δXlgyV +,e3.kYFat@tVY鬑gVjNYf;e#Y#0:$x׭VYنeZk$f@$VhNYf;gq "?jvifah/Y#0:$/rV鬑g/se.53 F3VhufZ,#0:$yԋVf9e 8kFatHn~VN ah.?H3IcX61(gYv$f@>:ͳ p]q-X|uf3E$f@rEYaC:4Ze騑i:Y#0tVd8dMd(tT9iԊՌ g鬑eaՍ b#4ͲF"::Z_FN:V?52vXwƽHYRW騑}OHͲ΁`-R+VF:HͲ΁`B+VFL?53lXyR+V5h zk$fه@&Z4wFmt +ԊՌeٷi,#r.VfNvHMd4ՑMD;MDt N Y#(d΁`ΤVC&t HYRw鬑2g@r"c"v]?H@vz+V2$eC'tEjƤEgYwFP=zZ+0e]4H;8nR+V6%f,:˳6H;8"ՇĬEgYi̿M2N?`h04Zq鬑3n7cB03/Y#(f"SEjF9鬑ٗA;֊Ռ2faM12"|u"Շř30e+%h]Bg I'?Qv 7B $s5b @Lj.  ;騻t KԚ˲@֊Օ?Mefm>u"c2Vaf鬻,ͺR+VFJoMefq}"eKMefqR+V20˳o5e@rkԊՌ2V;鬻,:7}*uk.3ՕMEf"qZk.c@r |cԊՕ45dà9.:Z_쑘t"Ce#Me#0EN1EjgYe_鬻$f]+V3:3L5dà9 sfe~˲Fax)u"c#6YvH:*"dgY쑚t@]V3]t@gȺYvI ]HXȻE鬻I$zZv:4w˴N^1ZEfl%h]t qh5i47HXEeٖ]t <u"cS afYצ&`-Zmg騻I]Rk.,0-rՍ 3,4̿ME ]eHYi鬻0.^Vtο5f@X6Y]g]*"c!.Ϳ] ?YvJ:,HXp3l:˽6] Wj,63,E2VJo] ~HX̙fYk.Yw@Bn:Z3.̳](ۀoR+VU'鬻%fQ"Ejƃa+.5dàJcEjƤ23YvJ:+V6&fYe#Me+02Ej238e+0?jfaeahvJ:MR-X|L3,:3Mek.Y+JEjƆ;8˳YvJ]P:Z3 '$t2.:Ze_k.̲G@C\*qk.̴ yՍ 3m]?Meٖ!?Zm3,r]c@CMԊՌ3,Meٖ9t1o>VfJ3tMeٖ:t0[+V4,̴YvH5fY+!NR+V3,ͱ.MeٖiGzZCMEٖ!?YvenuVfP3lvMeٖq6nVdPͲ5fY@R+V3(fvq˳,l HXСf9~˳,lZ+VF]k.̳?~Vf]e#5fY@1pfنe_:CXػ6ٶaek.̳>R+V2.ͳ5fY@ϗEjF]:9ޤVhae+Meٖu:Zue鬻2κ@X:o5fY@ Ejfن]: hY;j.̲@9Rk.̲@"pԊՕ&˳,L7Ej̻63$i(t>Ha3.Ͳ04Z(t "u"Ճf]eah,Yve: ՍvmgYm˳,V2,γLE˳,z+VFL?5fZn9.̴j~Z63,fZ-|veƝH`63,fZ-|8]i('ZQvi/騻4κ(Mk.ه@E EjƄ]k.6POR+VFY5b(tc}d:oYv!@v8yԊՌ2VqCezՍ 34̿Me؆D"cC k.6PGNVla2V]gZj.Ͳ΀^MeٶY.c#,r˿]ee"dgw,wX.k.ͳn5sZfuhYvmt`R+VFek.ͳnJsfYvi3Mfٷ@% 9HaefC8Z-|v5fٷ@% GZ+VFik.ͳn }hX6?]}E?Yvq83ԊՌ2v]'t` 83Ej,,Y+]gcR:2̕8HaveffJZ-|v5g@Yvqt`cRpYq.3 GԋVcJ3t˴Z#vqt`I/E1%f:e-|]g]Ս 2fYeߦ:Vja2.p]h0,֚Etd졢^Rk.3#.CԊՍKl:3oMel ӀR+V4%e :˿Mel$ zZ+(e]=5i΀ HXԕ2.=5i΀ /EjĬgYeZk.e9VlJfuf˴w@V鬻MtlR+V323,rMelaX%c˴w@?V:]˺6\Z+V22γ5i "cc,(e+%c˴w@p EjͱYv.=cueZk.VY7#Ek.VYs]HXu5b+,/R+V3&f]˱tl:r/EjƄ2˲G鬻Yg@+ԊՍ egEe9HXԙfYe^˱tp c֊Ռə;%e鬻Yg@APө2vJ˳Yv"]"u"c"$鬻Z.?Zv]2k.V@"cR$f9zk.VBGCZv]3]@hXȻ'g_k.V`NVj]4̽5b+E0bԊՍvufqEhHEjʎEhH\EjƃYc]k.V}Vj:e9e#Yv"]$.ca,̱0̱Mb+E@E-X|J2fYf_25b+E@I"cBVPvqk.VpH3,r]@ SHXԕ3MzlZ. EYC84vJk騻Yw@ zYv" ZMe؊˺JWzZ,eᒲ6]u"ՇȲucJ˴Z鬻Yw@ EHXPβ]å֊Սe .Ee&."cDYC:˳Yv"]hXPγ 5b+.0ucTYC:3LYv"w?"afYƚ˱tHXНfek.V:t9^VfY35b+:NyHXس(gafZk.V:t(scagEf' |Z3Yv"?ZufZ,Yv"u"cS.̴YwEf' | cC0̱]àӎzZu鬻Y@ ^=HYSYv":ՌEf(f9Ef(yԊՑgP?Ԛ˱PxFEjEHYv"w@ @.VlYd2V]Ed =HXг2vH5b+'t ǭfY#.ͿMe؊)ucR$f9zk.VNH'pEjeH?Yv"w@ EMԊՍK3,03/Me؊*HXȻE鬻Y;@ӃVh]βk.VNPqcRufX鬻Y;AHX̻Eg鬻Y;E^Vf]gwk.VNQu"cB8˳Yv"w@ fن]h6]&]havmeٖ.kYv"w@ Xػ62f]gZk.VNPsZ+,3/v"w@ ӑu"ՇĬ234k_Ed?Z+EgY+5b+'tu"cBVa3Yv"w@ 7 advYv"w@ ˟Xؕh%c˱VܯR+V5%f,%cEdCZ+43]CөfYve~˱V \EjƦ]gYǦEd"c#L:Yv"w@ Ď Zme#]?gw˱V)R+V342˱V,Zqg鬻Y;a{Ejʛ˱V |EjfvqEdaeqf.VNpg-X|mgafZ-|@Ce؊. 3EjHk.VuOEjEٖHYv"}HXл2vH5b+:,r/EjƥٖH3,r]X̻2k.VuGfYaf^˱t? fYafYƚ˱tĿ#EjEٖuEg]15gR+V2.ͳ/5b+:1R+V4.ͳ,%~˱t}Vl]fYfJXEg]2 %ȺZL:hMV&Y49V8֓,twVw&Y d:3Mi2@ wZJ3.4֓,t ՍN3 dZLE@R+VT֓,t8yԊՌLMi2à}HYRW&YtyԊՌYvHZL0L ZL0EjYfaAS_R+V3%e .Mi2̕@aR+VTkId>2EjYfJp Ej2Mi2̙REjƆ+03oZL&tBz+V40Y]~e3"c# jIf5ZkIg5>5Ejcaf_&Yt 8ө*ukIg5>Z֋4kIg5nzZ]&Yt-qR+V3:˳531Ej2WfPzZ2Vu&Y:jc"Vu&Y5d΀R+VTjI>W5;R+VT֓.:lkԊՌβmvY`u"cCe&]6RjId?5˲G@ Vf]e+5$˲?ZL."wԊՕ$ew@ ~3EjƄp4X5˲ R+VFH?5˲VjIb#c֓.G@ ?>V6ԓ.W@ ?5$}7_&M'@ EYTtkVfuL5L#EjƆY#%eٷ&aVlugYi352-udd&ataԊՌY#8ZLI6+V3:˲548W#:OMi3 r!pgԊՌ]J'hHYRZL%tH#.?֓0]>=Ej˱52W@wZ2!J2rHYvZL%t:{ԊՍ ,&eߦJ:.V8֓0]A~R+V6.18β왦JR+VTkId =VdJ˲Gf+!{Y+8֓0]A V&a <"c#6ZL%ta+V3:˳l53. Z2̕&at9HX̳%dvMi3 ˠ@gR+VTkIf]Bu"c2FackIf]B. :Z2Fq&at(HYRZL2Ej˳oMi3 ˠA[:ZfkIf]BR+V201Mi3 ˠBzZqvH53.!#EjƆ:e&at3:Zqe^f;Az+VT֓0ͺ0 hYu鴙m0ENͳ 6YβMI3 cZLMBiԊՕ.5$1@qkIb+.V$kIb+3Vj]1.2w+, x]Ejʎ_+,( p֊ՑY+.(2V]kIN")Ej3Mi2ViasQgYe_+4@K]HXȳ:?֓%fH =Ej3oMi2Vi7V5Y@zZe&JκxHEjgYYi2Vuu"ՇYY 8k_+(t$8Ej1ZL:9+V38L$3HMI2fY\֓&eI9V?5əg@G}EjD&L:|ZZLt$Ց2W36HsRLt$ I&L:Ej&L:}EjE p?ԓ&g]IRkI1۠ {EjƨLIcA!ԚfYg@BCZ18֓2:+t=qLHEjʖfY3 !{Xȳ$d5̲g@Ec2̑3֓2ɝIR+VT֓2ɝI·c#kId΀$CZP 52W@C_}HYRG&iG]HXȑd52W@ Z#0̱52W@HXȕb#Mi3LwԊՍ Y"2kId%xucRVi2/Mi3L!ԊՌY"3֓4̺ Ejef@&u"c$YvHZL6c$Yvqm '"Ejh ZL6Vl]Yi3,m GR+VTBf@&?L$&it`!Z1 kIf(u"eIm Xșd53nM.hXșg_kIf(qR+V3&eqf@&R+V5&eudMi3L۠B?Z3,γ2-53nM qR+V2&e#Mi3L۠C'+ԊՌəe_&ith/}ԊՑ3Mi3L۠ Z3t֓4ͺ8/EjgYYm Vjuei&itp&sffei&itp't:Z3lfC é#2fC#NZP3EjF:&N:|AMI2v !@G+Ԛd@B \VCCRL(PMI2v]C:RLN#ԓ'f)p5ٷ@GHYQMi2vmR+VF ZLtpƽHX2δ&Nͺ8ޤV&N:8bu"dhoMi2vq?"c#:ZLtp"c#l'&N;:Z3ZLO!"dhwY GԚfg@'^cDYaf_Y Ejȳ4̲̕Y R+V4f]g_Y :Z2f]&mtxZ3.?ԓ6OGԚf.OnRkIe:ZZL.C*]kIeԊՑdMi3lVl!]gY+֓6˺Dt=*qjIf I&mtqR+V2$ei VkIf[ =hYRg&mtk#2ο5ͳNT#=hX%2Mi3l?*N5ͳTEjb6βԓ6κP˩5$>T\RkIhP:Ռ3-'gw@*>EYRW&qt/EjY!PCZ3lZL9z+V26γ5βT&+VFJ_e V+֓(dTǩvYc&P]@zZ+m?Mi2J@EjƤDfH=5+^Ve ˠWMi2e x "eQe ˠG\>EjbkI3.U zZ4Xe ˠ@zZ4XCCMi2e kzZ,,əv !C2P:zZ4YC2PBO"γ 25@MCԊՍgYie+M@M E(4̲̕3vi2eCG=H`ufYZ+5@+yHXuf8zm&P̺XR-X|:3L0̴ZkI3.V+֊ՍQgYigI3. EfL˳,,kZLtb=HXЕfX~e ۠('?Zacace ۠(/VfuvmI3n sjt˳lf-|֓(g]qR+V2(fw/B/Τ9e@z+rHYS/XfEj̳McY:wY3,9e;=:McYtEjC]r39vmdXg]w"c1.ͳ9hnu"eNMc6 Cg#:r˳.yRkˠ(%u"c2,_r˳.89EjƥٶYV;zkˠ)Vh]e]kˠ)LEjƥٶYe#Xf]G/R+V5.Ͳ.=5YveHXػ632-5YveHXػ634̴9eٗ@SR+V5.Ͳ4ͽ5YveSԊՍL:49eٗ@S/ȺZ;Ed̝kˠ)>VhNͳL45Yvez+VFP?69e٧@SR-X:8lEi̳L.κqRk)+V2.̴lr˳9V1E3lhk)|"c2fier˳HX'g_k)"eN?Mc]t0ߢc32/9cawr4L5pԊՕ.5YhYver4 Z2Xi\[R+V20̱McJ˺\0R+VT9dӠ?Vd8e+McJ:`?+V42̕9dӠ+X83lv5Y+(t*]j,۠?"MCi yԚ,.>Vr2W@,7?eJr3NX:ZPg]܋5Yu pEjʚ,M Vh]fYvH5Yw#Ejٶe2:P哳nX9d۠UEjrٷ@,Z McNͺdcEj4,t3NVrͲ΀Y"ddXeiԊՑf_,,+V20̳5YY #dfY6:duV,,^2EjƤt4YfJ9fg@,iԊՍ hXeEje,,("eGoXeV:9fw@,>VfYeٷklAgu"c2%cklC'"Ej˳/McmtiZXfSu"de rͳNcZC'e#5YiN:ZC'f9~,4 aEjƥ fXzklӠ*HXȡ5YiCZ#9f٧@T~CԊՍF:efN5Yi??9f@T \VMCqA'r2΀<}Irξ)X2΀[.Weueޚ,t$>VlmfY]d5YC,Qz+V663,.˳5YC,U"c#lr@-9e à~:Z2F]r@-:Z#.ka `ΤVlH˲VaeƚOӨ)u& ƽIt:ޤ:e#+8ө5fJ kԊՕIk2̕Ŏ z+V4I6,]\9pEjʝL%tVdud5fJ !"c32/:e+,#}HYqt2g@XՍ 2Vuf_,̺HYRGt3.EjD%t3.|Z#%ek2ˠ,u"c2FJ˲Gk2ˠ,:Z#%eٷk2ˠ,u"c2FJ˳:e@X R+V4$d2/Xf]nR+VTr5fe"c10̱5fe"dcqt2w@~M"c"v]t2w@~QΤVfN˳,5fmC*H5fm?2McYtMVhHFYeߦ,ͺZPg+k.:e@YMcY 8ueKMcYZe_j2G gIt+@ BEjFt@ \>Eji3 $fu"c34t˲΀^8Ejʗ2Cf٦9eٖ]2q.W@0:c], yZ$e,&e-|k4@ EjYw>,?&0Mca:2VaXe-|lt1ˠ0Ճ%f厙a̱Xc@`\R+V22V;t3.VdH˳o5e3Ejʝ3 0+ԋVL0e+EXgsEjgYmt3MMcL:u"eI4] xCEjʒ?MciyHX̑fXL%tVө#$gL&t'^Vw4ɝU=Ha9eٖ]e qk3Lˠ0 R+V34ͲL6 {EjJfud5mO?Z3Pg5Xg6 EjʝL8se#Mcitd֊ՑgL(tdgԊՕ65PȁȺZ3lXi87Ej˳oMCi,K5":8"c26]8tHY+::g@0R+V22,:9s5LV+:cNZvme؊ν5퓺t=ve4#u& 6!+MF:P}I2g@1V/Y8d΀cc2Vab5cL0Z3lACMf:4.Vdq2w4XHBc.eBJ4Y@1R+VFek0f^VM$}\_a2.o~a2.?Z tpՌ2VJoa2._Vd8e rYH˺,gZL.ͽ5d {ޤVjef,%zk0w@"cS,0eٷ2F]ZpefL, J˿6a2.nWgY0e-|03/a2dC^VlefL.k0w@2Z+V62γ &afl$e:u"ՇYa2E2F] 'ޤVlefL.4a2f Zui1نH˺mԋVgY E_ t0UnVjm3l:a2W@3 Ejʗ2Fq ¿!MFw CQ]aw^ae8֊Օ.5i>g) &HC#.k0f]aWΤVdH˴k0,ˠ =HXл6ͳ,aY@B?nVdiek0,ˠ 5kfvHMftQ ԊՌ3l8Mft2ZmfXk0,ˠ R+V3'ff9 ok0Y+ !˟X̻̕2VJv}HXءgYYel%d1-X|P3,βH6aW@\kԋV363E0Y+ @u"Ճqffuh,rنJ]b\ZpP3,γ .aw@#ԊՑ4?a2΀1g:Z1.a2΀1cQ0̲5dp gԊՑdMf3:M}HXл$d$~0ə3 @/S>.Ye+E \EjE,Mf3't9ՍK4Yac ˩왗fYצ2fNS3왗fYYγ 2Md̝ 8ש왗fYYγ 2?Md̝ CƽHa+.əvee-|l&dm.ՃV]2:4Z9k0ə;@۟Xؕd̻2γ5d̝ u"cBVa3YL, EjĬEgY+a2w@6}HX̕e#5d̝BZ+0˳a2w@aGEjX&d!sZm&dkޤVjigYfezk0ə;0WnVhigYvH5d̝A7ԊՌ38Mf3'tQ"ccL81%ek0ə;0#Vjmh .a2w@a uԊՌͳM6]0ə;0"EM6]2E0ə;0u"ՃlMd̻2kY ]EjƆ٦.?Mf3'tq+ԊՍMM6ac gB>نer#`.34Z+.نer#?4vmeٖ_:X EȏVd:e3-"V2fN34ZJ3.4نeEBnZpi2vYfYw EȊzZL+.β6ahPI"ՇƙN3l:k3-"*}h`6٦mgZ-|$k0̴\'qfٶ]ν6ahQ_ԋVfٶ]βV_Mf !z+VTahP;efq~3-"gԊՍM8˲G EȆ ƝHX.38ah3EjvYf9i2r!7nVjmd̻2ν6ah }ԋVe3.̳E?MfZ.D1NՃl&eٖuh,rah9R+V66˲f]gYƚ3-"CZC6ͳ 5fY# ASԊՑi?6adD1 |E,0fv_66adD1 j읗fY#.̴Z $r!f-X9.ve2EdvfHC^jvuf30̴Zfu2bxԊՑb+Ye9rVf]8MfHDaZ,βYe9pEjƦ,:˲G $r"0Dg֊ՍL4Yfug3,ȃԊՍ4YfufX妳 $r Z,γ 2Ye9xc֊ՍL4Yfufޚ3,ȃԊՌ4Yvq3,ȃVhae,نe9xiamh4k_ $r Bu"cc .gY+adD|!ucc 6a2Yنe9xV293x{ԊՍ̡f 0@8ϩcNYer fMEjgYYfaȁcCԋV %fJe-|03/نer!~}H`02VaYγ 2?MfaȆ5¯R+V6:2̕a)i 0@g"ՇYY %2H6afGj,Yv_66af}H`02Va]ͳMfY"{Z02Va]?MfY"Zpue+0S0kX29pffJX29Ս a)fj0̲W"W"MfJCQHXrYC.MfJCPᏩfYw3,ȁ=ԊՌ3,$ %r jyR+V50̲'g^3,ȁV"c3 .ͿYe5Zeg2\|ZefXk0̳.D6\:Z2Yer!R+VF]MfNCd'"de Ye53Mf!63 0˳MfqȆEjEٶu 8C`eۭf]?MfqȁχHX̻6γagHX$ek0̳D ?ԊՕ:5fY"'R+V3:2VJMfY""EYfJYfuhLYer l"wԊՍN̕296R+V5:2VJ˳oMfqȁr.VludfX妳 8@֊ՍE~3,`Ve.=5fY"‡Vfue#5fY""VjugYC:˽5fY"EjγoMfqȃ өfCE~0̳D~Z6,04Z 8Ae֋Vlγ Eg3,p=fCEg0̳D ·?4LEe-|:ag\rMMfuȁ?+VF2ι;Vf]Yvm3,kgR+V4.,6?MfuȁsR+V4.,,_ :@hYvJنer z |E+%e,(h̕2ι= fY#Mfuȁi ԊՍ ,dYer Zve3ag\?EjƥٖqgX2ι~ {ԊՍK,0eޛ0̳D5ElEf_26ag\?ElEfm]k0̳D?ff:=6ag\?>Շٶ2Zw :A`6cYc_.1%c :A\Eٶ4̳,Eο5fY"[Xػ6˳.k0̳D_fLEzk0̳D|fLEgk0̳D"Vj]i2.نer |u"Ճ%e9e YYw0̳D/Zp]d̻$ff_:˿5fY"OR+V4.ͳ,%~0̳D<u"Ճ234kYfJYer ~Vh]fYvuk0̳DXԻ6ٶ]zl2ι?Ճ'fvuh4̿fuȁ߃Z6ٶ]e-|k0̳DR+V6.ͲvmgYƛ0̳DsNZx]d4e-|3l%~3,Zvme zl2ι?Շٶm2vuhG :@Zp]g;.ͳ]?6ag\?jMfYe/Yer ~ c2Vick0̳Dč@'֊Օ45fY"EjƦنef/MfuȂl"cSl$e ]2ι@x5Ej٦H,$i2ιA!>ՍL4Yvq3,>6EL4Ye/Yer 9HX(g.ag\ eN?MfuȂEjƇX퓲aiAE2r HX̳%f#5fZnD@ˀR+V5,ͳ 2ν5fZnDA+ԊՍ3l,̳MfZvef;zk0̴܈ ?ZqcJ˽5fZnD@ _R+V64eafZl2r |!"Շƚ,:3LE3-7"@[7b.YeAx"c3LBe#5fZnDg'R+V34&] MȂoHXe_ MȀB]HX%iai"cCL˲G2r OZJe2r n3EjƦ+MfX4!MfqȀ8u"c2vY˿Yir R+V4:Ͳ&~2wȀu& r x5f3(2ZH rMfL@ xԊՍF8cadDEjƇY#1g8<Yqr =,?Yqr &z+V3%dt?Yq@sX:ͲWk02G"?ca %r c3LDeٷj03ND?Rk03ND:Z+,βk02w"VfmfYk03D᷄Vk03Dg2 8@ \""c"]89 =VfP3,rMfP@ zՌ;.ͿQu -u ,@( +V2%f/5gYw"@QhYRg:˹ HY38ae܈ZYfe:˹ &Ejfufq .@*ZYflQur xvMfqȋNhXȻ%i?a`3Y,C+V2%e Mf:!=+V3dB EdD8Ejʢ5NM@,3.D83M`,2w"?fYvq~Yf܈p IB"D9 Mb,̹ Z0f&8|&8a  Bc;r"@&^ՌMb.˹ R+VTkv]ȉԊՌنe_Bew"$ddX˱ˑC*qkvNDR+VT!2ۑ1Vded5L QԚ&]܈0pYdX˱ۑ~cQ43lzkv;r"@R+VT!2vE Z3l&]܈R+V4m3X2W".$ZX2W".<"c"V]?!3 ȋVjieǦ f\HYRGBf"..R+VFH?5L2EwXrLMb0ιpc4Xf_BfY".8ө*"?Mb29C.c1fXiȒsdr˲8dMb29CnHY̿5L@5Vd.ο!3Lۑ$Vd]f_kmȒNW*ej;8Ig?5L9@_& 3nD=*uj%"HuzQ+PC&V9CQ+,sƝIc"%u"de+Y+,D:yc2앗dJ1ÑcB앒k%eȇBHXȻ%gk%eȇ@VlieicYfs"eD'鬕dD: \Vk%e#ԊՌlpYfaȇA"eIVYr!u]If\:Z鬕f\=㞤Vf9d6JMd2FP֊Ս,c]k%e"#gR+V5YYvq鬕f\BOEjcP,5ۑCHYk%e":Zfk%e"NVf9euYfqȉA~VVYr"Q?-X|ulMgZ-|J3DJ*sZ3Y+,ι(]hYvm鬕g\gYf;r"`kEjF9鬕c"&=e MDȉOJb"a;R+VF Y+EH?( Jf\:sZV4F|2vJ˱l9>R-X|L+.V _ j%d MdiԊՌXHCJ.Dd'R+V4.Y8hMFNH`'gXef_$gY#4F@Z2vu騕|$mԚYvYȌ"eIV]r#"oZ#0̱5쳑 EjV]r#$CXrwYvYȌZ3Y+.9R+VF.J˲Di2EjIMd,FVf0̱5ȍV]FV鬕i9:EjƇXfY#J˴HX&fuk%eȉƼEjE,vQ+.̹8}If\yOR+V2tY+.98^V騕g\C\u&V]r! ueN?Md:B*r^Vdufk%e"EjgYvmV]r! aԊՌβ8MdMȍ֊ՑdMdMȎ ZvJ?J˱Ȏ"c3 YY+.W":Vl4ə;%e؊d9aßԋVQf3'dZ-|@@A@$!Y8r$ß"dcLJ1ÑVd:d̑VaDR+VF:eMd95"c! cY8r!>u"eIVaD\dVaDeԊՌfu鬕c"3ԊՌ#IVaD8cSl62Y+0D"zZYfvq(&VaDfEjffm鬕c"DR+V68L%eƚY8r!+rHX,1 Y!Vf]gwk%f.D""cB8˲G鬕h.fY]gY?Zvef9zj%fw"Ag鬕e܈E \R+VTJ1ˑ>ՑVaND"nVw鬕b߀Z+V2.XVaND;Wb#02Y+0ɜv |CEj3Md&r!l+V60β03-6J2g"VfufXYqȀ:pEjƇYeY鬕gB"c3'g_鬕g@7Z3Y+0ιޤVf]e+5 qEjƅٶYY+0ι7~ՌV]VJOu&VJyY3@D=Md,@DueIVir #~=hXȑd5LR+V2$eٷYYȀ>E֊Ռe_鬕eg/R+VFH?5M"0>5M"0Z+VFY5M"@-Xȳ%ek%f.DEjƥ+.vY+4r $ eԊՌ2V]Vi@H%d:oY+4r $ cԊՌ2VJoJ4\ NVdY5M"@Y+ԊՌ3MdEȀ89Eje]?Y+4r %VfYek%f.D!VhYf9~Y( pHEjƅaf_Vi@J,EjƥafYǦVi@LE;*!?MdEȀ#s#Y0L$鬕hZ1 j%fȀic"`#+VF 7CMd?~Ռ,2/J1ˑ0po֊Ցh5Lr@L:Z,_鬕c"`Vja2VJoMdR+VTJ3.D鬕f\ ԊՕMd2@R+R+V6Fi1%elf\ EEԋVG,e pYv_P Vir )hXr˳o5LˑP˕Ejc]g_鬕f\ cԊՌ,g_鬕f\ u"cA%f9~YeȀ9Ս,:ͳ J3ND@R+VTBYiȀ"c1 fXYiȀ%pkԊՑLY+49Nu"eIVir +N2Ejd2/J3NDԊՑMd8@XVw鬕g /Ej˳Md8@X>ZVir , EjGvqVir ,ԊՕ:5L`05LDr , Rk%f@Z[hYvm鬕b#hR+V5.ʹYfqzk%f@Zc":Y+4G"R.Vf6˱ Y;H&ZMd91Ejʤ5vN@Z%Y+'g\ B9ԊՍGL.2Fq騕| YN@\3"cDJ˳Y+8܈ V騕g\ :Q+:66Md,@^^VYH@^:YC2@^yHY#0J"3YSoY+Mr /JEjD鬕9 x@Ejdg鬕Ȁ":ZNοJVJ@`Vdq2wȀL~WQ3, &fY@`}X# k&e.DefY@b\"cA0̲L4\ AGVjagYqəf>Ռ̲̙fY@b˩6Md̳EȀ\=HYi鬙hMEjF٦qfY9~!"eKMD̳IȀ#pMd̳0@h]EjʒMd̳0@hZ+0̱52Ñ(EjʙəfaȀ}R+V42β252Ñ_.Vleeed6L3DZ:3 .ʹZfYr 5 Z:3 0̴Zk&e"PgYfagəfDZ3LY3,'"epTEjʗəf!9#Eje#.鬙bOuԊՑgəf!9?c# L2W"pz+VFJ?52̕ȀxSEjDEfYr 7 Md̳2@n0HXȳ52ˑrVlYYvL˳,Md̳2@p'tZf9f9~əfeȀ;s24ͱd̳2@rR-X|aJ3E?M2ˑjN+,γ ik&e"R+V22˳o52ˑAnVhP2VJoY3,̹R+V3(e+8M2ˑ4f:_.ͳ52ˑ EjʎfY$Md̳'r 9 fY~zZ;0̱52̝Ȁ>;Ejʜ&e;T"Ճن]Ik+.d̳'r :H`6ab#4i4ZJ˲E~fmȀOu&fYr :HY#0L3nDB?YefYr : u"eD'鬙f܈=HXBe#Md̳6@v\EjB.ͿL3nD`Ejb.ͳL3nDaZ3,rMd̳6@v[R+VF!3Md̳8@v"eD'鬙g7Y?52(EjGYvmfYr ;"dhY3,ιc4XdL3Da:Z,t˳L3D`R+V4Ee_fYr <|Zvme+L3DzHXԻ62̕zk&e"ޤVlg\G-X82왖gYEdM2\"Շæ]20hY3,ιqR+V261fYr <EX.ͿL2"!u"c4fafYDOǩ52Er <2EjEٶmfYDZL0˿Md̳\ZL352Er =KzZ3.ɟj&eȀE>L0rMdpr > "eN?MdpιՌ1Q3E ??Ԛɚ,ۑ^R+VTLf܈\:Z_f6@~:Z3nəvYȀ.R+VTL˲DR+V323,rMd̻,@~9^VlefX+Md̻,@~cC,2,L˲D׃V83.9 nR-X|q3l&eٖ_:52".Vj:eadMd̻Eȁ!sfeg38Y3.#+VFak&e#C.Vda2gəv]ȁ9Օ:52ȁ4Md̻&r @9Vd8eٷəvL@ "c1.ͳL˲g">/R+V2EMd̻&r A!"c2fi˿Y3.ɜ/<,u"c#LL˲g"PeəvL@sԊՌ16Y3.ɜ|R+V38LP52ˑ0feəveȁx֊Օ(əveȁ="c28ek&eٗ"piEjf]r GVh6˲Fak&eٷ"pdvY3.͹#c!.k&e"pQVfqc]əvqȁ UEjƇf9e騙g\A"L˳D EjEٶqf]r I]hXt2Gəvuȁ$Zd51.@V'j&f")k&f#HgԊՌ+.Y30.D w#3Md$ zZYfefa$nGԋV YqhLE3Md&r J+Ej30S0̱MD2@2 Ԛəeȁ(!.V#L3.D @}HYRY30̹%yԊՌ2fYY30̹%d LL3.D @OEjƦ30S.=53 ˑPR+V60əeZk&f"6ԊՌ2fPɟ鬙f\w!V6L3.D BG^Vk&f"szZC:˳L3.D @ȺZl%far J E(앒.kC8Y309%C$f9igg+V6&e֋2M3 Pt"Շ̳:cahL3D ~eN?Md8@CZ]鬙g"c32/L1ȁ, qRk&f@x6Ej˲GfaD `-Vdacɘ܈Z,&dLɟ"|&fLɜzY32˹%W}hXЙfYL̲D `[Z+V5&fa=53Lȁ, ]HYRY34ޤV%k&f#OEjE+8Y34Z2Y34cc &acJ˴34kԋV 4,γ ildDȽi3 Yf-|2?L2G"8CEjƆL.fi9\#c# &;鬙dD4xu"cS &;f9zk&f# 82V]fi9 =hX̡53LȀHXȡO53Lˑjǩ53Lˑhy]HXȑcəeȁ4cgYməeȁ41EjƦie#Y34̹''?gYmfX妲fir NEEjƆigfir N.g;,e#Md2@AEjαY349' V鬙f܈BgZ+VTL3nD EȺZack&f")ԊՕ:53Lq^Vdaf_k&fChY]鬙i(G?cJ˿Y34r QueKMdMȁE5Ej˲Gfi@Qdefi@fXfqr Q3Ejʢ53r@|:Y389(EjS.L.D %<u"eGOY3(dD !cԊՍ 3Y3(dD !kEjγMd̡)HX0 vβM2J@"ՇYH2f]h4̲̕鬙2W" W៭f;%eߦəC%r u"Ճ'dEh4̿d̡G`0+0e-|0e鬙2W" )f;%fvHY3(dDAX0+0˳52J@8u"cC'dv6L+8yԋVf;%cah3(dD@Z0α6˲H6L+H`0α6˲H˲GəC2@3EjcfP9+YY3(gZ_fPι*?ZC,_k&e nR+V4(e+%c騙"@Rk&cYȁTqR+V5E2ezj&c<&f;h*R+V44̴9~ɘ9*/?i351$r UR+VFak&cR+V20Ywɘ@HX%elND %E3l:ٶi/Y3Q+V2(fZ/51IȁTsEj Efef;c"RnzZvYLlt@Vdi2510@VE鬙ه"P/=HXEH˽512@VdY2512@\b#'f٦9zk&cN@VhYh̕k&cN@Vfmc k&cN@ Zgfe3Y3w"`Ej٦9ffLY3w"`Ej٦9ffLY3D "cCLhY3D ןԊՍl2/Y3D#+"c":Y3܈FCԊՑh51MȄb>CԊՍ3l, i Rj21 ȂXwk22g"){ hYRYY9M"de؀̲̙Ȃh/pqԊՑb k22g" HYvYY9NN2Ej˰̲̙Ȃpp.Ej˲G,&r :]hYvq,ɜGR+V5.2vY˽5e3៟ԊՍhMfYfLB8i^Vdacˑσef\'~Z,6A.362V_MfYv!֊ՍK,ͱY]ALR+VTB̲컑0*H5ew" `/R+V2$e#MfYv]Ȃ#$g̲rAL_+V3,β5eȂ,Ս 34̿MfYv9r xIEjƅa˿MfYvaȂ:שc],8AP=Ejʝ̲CEjb#4ͱ ̲7" pEj˳oMFYv"9U/:Y]D$"cA%f,B~̲Dr!$R+VF]k2˱Ȅg̲Dr!$9ՌYe,I/:Zeg.G"Bw?Zl%e eb+ !GV0\J(&,2BPYRQJ9<u&,r!( ۩?QLef\J}5fY"7"eLMfYeȄU]HX2̳,e|J }i,,B`Z3l,&]̿MfYYȄ;Xԕvug̳L CZq,,B`Y^VgY E̳L +ԊՍ36οMfYYȄZu49 <"c"u4D&?ZP̲Fqk24\L v4r!08>Vji2vYν5f.D<_#Ej암3LδedD<sZ?edD<rHXpV]64edD<"eKMfYHC>Ցg̳Lȇ"cS rͲ̝̳LȇXM]f̳Lȇ#EjƆ+%e4xR+V2'hW̳L\cRfPYfuzk22D<'u"caVa35fw"'=HXEgZ,t'4r! HXȑo5fND<> :Z+:3,ei9 R+V5%gYmdMfYՌ2VHYiCIu"cbJY;,αMfY9r!&:ZveYLk21ˑ EjٖNͳL4fY:r!E̝2p-|r5fȇ;>VfqYk21ӑ :ZqcJ6efx+rHa#0ʹmhYir!EjÖefٶei49/>Vde?efxǩfY3MfYaȇ=HX%cJw,0CȺZJ3,efxyR+VFN?5f+"cRF8d@@A@$!,%r!4"EjƦfYa,%r!4:j .v8e 9̳LȄm=HX8οedD&·R+V503'g^22W"B?fX3L-|k22W"@ԊՍM3,rYu4ɜMWhvqfޚ̳LȄЍR+VFYedD&R+V4,V]fߦ,&r!48ǩ,MFYeȄ%o̳֚Lˑ Xȳ2?ef\M \EjCa,2Bh0j,&d̻2δZfmk23.D&EԊՍv,+:fYeȄZrH2r̳LEf/5f"CVw4̹V .VagYveοMf" ƹHav"6̲J5f" 9HX&J2ٖir "rZ&J20̴Zk23.DcEjƤ̻&c]zl4̹VEa]YfuiZw4̹V~1VjN4X˲G̳Lˑ`/]Ha;4ͳ2V_.6ef\+"ZpNͳ :1EMf" {ZfufZ-|r6ef\+?lIdEc̳Lˑ`D?E4γLZ;.ٖir =E$4γLZ;.l4̹V Zrqb(eٖu2̳̕Lˑ`Z:ͳ H5f" SXȡW̳Lˑa/XԡVNγoMfYeȂV+V3Mf#6ef\+x3Z6i0Z-|ef\+u"c0˳l5f" R+V40e,efNR+VFL̳Lӑ Z.Yir!8 qR+V6'gYL0˴efNGX6]d'zk22w"7"EjƅƋ,_,'r!8R+V2$i1edD'r.VdHb 4܈NR+V532f̳LȄ|cc r34̴i+cX2/5cqȈ9ȺY8g|Vl]ipYv18D'"c2MLp9 FEjƆ+.βY8g\84EjEeLpιM+V4,3,$~4_" Mf-" ө2vadYEȈHXС 85h\ :ZC'c4Z.D^VjPfXEAxk#(f4Z.D˟ԊՍJ]hMf-" mVlPͲEgk4h^hXСfvH5h\/HXءfve˴٦EȂ"Շ 6˳-]?Mf-" VjPͳl2/Mf-" R+V2(f4Y" :Y:B޴VfYYe4Y"^HYfJir!pyII!ppir 97Rk4i9ldeٷM&+V2.ͳ5i46CZ.YIȃ`t=h %dvYIȃ`pEjGvuM&G+V48˳Ik4g\6_}HYve0l |MFl&L9l <&L9l \"deٷL9lcԊՌL,%dD $]VhNͳLr?Mf+$r azHX:M'&e܈A=#Mf30@81EjfYe_'e܈:nVde2w2v]ȃEj̳Mf;.A@MԊՌͲ$Lr yX,̲F !'e܈; ܋ZYdACYN˹vcCl2CCYN˹v zHX,̲Fqk4w"?e]2v]ȃ-kԊՍ .?Mf;.A6UEjƦfufX'eܬTEjƦfufLrN:ZYfei'eܪNVhmgYmk4w*@eig2v]ʞՌͳ,$2vNOu"ՃL:ah 8f;'rn3E3l(fYuoYNܩ?gvHMf;'rcCL0βQNιS×:YNιRKX&e+6iT,p[E30S,γ il'g\d L:4Ze'g\?庑ZL0˿Mf;:HoR+V50əvHiT8wԊՍL2fa]zk4*Tpd L8iTR+V60əeZk4*T#ZL35d*u"c# 2YNιPf"cC 22W'g\qR+V603,%dvYNιQ hX4̳iT>HX L:3LMdC pͲ0k2vuʇ{a30S,γ E3o1 i6T?އR+VFaj4ͲG*u&L$rKhYvm6>u"c2.6>NfYfmdvYm9P|yՍ 3,6of9r:pgԋV 3, L:4Ze6.TEjƅa]k4ͳT>=HXr3,%~3lÕ"ca0̲̕MfaʃCYeLA ֚3ʃ="c4L_:˹P~6FmgY]̿MflӕN"c38οQ"3.TAKZk4FeʀHEj˲GLDf\+Yvm*!ԊՍKl3 騝5TGCQ;P@,؂*dmԊՕEk'eʀX"eQf"eD'鬝hP Z˲GfH@,}&vY9P |iԊՌvHY;,sԊՌe_鬝dTCZvY\K֊Օ.5r@0 ˩d鬝c*m#.?5r@0ZvPk'eʀ`TfXvYr,wYRG鬝feMMd0@0Vdmd5Õ?#6?5˕ÇZ+VTN3.TEZ2鬝f\+XȻ%gk'e*ǃV8N3nTN3nT6R+V4,Y+._fmʈ|mԋVdd8kd6Dydd MYfelfܨ^ :j̕았a)˿MەH`%d%fJh鬝fܨ5޴VjY2.ͽ5ەj2Ejř3.β8d6B {Eٖ]c]hY;,͹P 8ԊՌ,Mە5ԋVfY:e]?MەwR-X|]gXg_86N3nT"_Eٖuvqh˿6N3nT" \u"Ճ:L84ZJe#Mە?jvec]f-}YN3nT" "eIvYr9R+V5&fYfL˳Md6B c"c#$鬝fܨD EjGvmvYr֊Օ:5ەR+V3:LfmʄPUzj:fvq_%dMd6B(NR+V3:2̕fmʄQ+HX02VJoMەCjEd:kvYr-pEjY(d6d6B0f,EY;,͹P|u"cS:3LY;,͹PVlugYigk'e*VduMd6B1HYq鬝fܨFnZ"2vMd8B0-EjH̕vYrxEEjʜfqʄp¯Z+V28˲Gfqʄruc#8Y;,9PpԊՌ3 Y;,9PgZ_vYr Ռ,Md:B@t=fYqfuʄ(R+VTt5 !'HXt̲̙~fuʄN Z18N3T$Vfufٗk'e*B:Z]fY鬝eT$#8˿5vBHMdP9HXrͲ̑~f;r$-s2:MdP,qR+V362VJMdp9P.qR+VFqj'hT$Nv9P8AMdiʀy!V:Nw*ϟԊՕIj'd'*׀7Rk'd'*Z#Iʀy'#Ejʈ(k'd'*x"c"Fa鬝eܨ?Zv]rEje+:oN˳.TX̑fXviʀxx5VdNYwvmʀx o֚vmʀx).Vj.4vHN˳nT_Ejh:Md6@If3,̴Z-|N˳nT }HX&id̻$zk'eٷ* u/$3lfX妲v]r"x"cDm3Y;.͹P\"c# $v]r$H`4,Z-|vmʀG+V302FqvmʀqeIvmʀEqfᒴZw鬝fܨ }HXؙgafZk'eٷ*CR+V2&fvmʀ kԊՌəuv]r$Z30γ$zlfܨ >Z3:3Mek'eٷ*AGVdmfk'eٷ*B_?*qk'eٷ*A[u"cc8β:Y;.͹PqR+V48385ە "c#2d6@HߢՇ;.gYEvmʀEjgYfav]r$ \ucc0̳ N˳nTgucC0̳d8@H9sj&fuh_v4@H;rEjFJN/7#58@LHYRw鬝g*c~]HY]鬝g*`/EjGv r&|EjGvqv:eܨ u"de;Y;3TΤVfai3ONLv@LzՌYC&鬝ʀ}ԊՍ3 YMdtnTg?Za2VJm50>ن1+YQ k'fw*bo"dhMd2@LS"cBvifYvar&*sjvifYahN2w*b"Vw鬝dTŮR+V4.Ye~+,@L\=֊Ց˿5VYʀD"˲G+,@P xө˲f]g^+,@P 8ԊՌe+,@P(gԊՌf9vJ9P8Z3 Y;%e W*ek'dAkX.γNYg*u"cC&idY;%e NHXIf38NYg*ӑ+VTv5VYʀqdc !vJ9P3Vv?NYw*EjE]vJ zZvLP1Md(r*Ejʝ٦aʀkV:N3Tp"c3,.鬝f X c3,.ͿY;49RhX:˳lN3U 2EjƆYac鬝f@w:Zu鬝dU Ej3oMd%r=HXEk'f*nR+VTk'f*v+VFJ?5LӕՕ65LʎA:Y;4ܨyZ+VFP٦mʎG<5LەԊՕ:6N3nTr"ՇYf8f+0δZk'f*92VhucJ˿Md6G +V2:˲G٦mʎA[HX0̱5Lە.5EjgYivirOnVhufqk'f*9 V8N3Tr Zuf鬝g臕EjafYvHY;49Q{ΤVjafezk'f*:ZuiY;49Q {ԊՑb+d8G@7Ƚ>810YuoY;49QpMEjƇ8dN3Tt"cC2V;~٦qʘ+V3:1.Md8L6Vdud5L0:HX&fud5L0|ZveffJ;4ιS'zj:2̕Zk'fC0Z3,騝b#0\Md.㎤V6N1ʘ8@EjEٶ ٦"9S+ԊՌl!٦"9SR+V3.Ͳv5v`u5vdx3VrͿ5vuʀEԚٶYʀ"γ ]k'fg*GEjƨEgٶYʀ灇R+V2fYvmrC~Vf9d̳8MD.M\eԚٶ]ʚ85Ejh쑗vmrޤVh.vH5l4|:Z,$eٖ.Y;6˹Rr>3Ejƈ쑗gvmrㇽHX]3 5l'\Z,8˿Y;6˹Rp +V5EgvJoMd.I7u"cTYqfٶ]ʈaԋVf3'f+,kYiٶ]ʈ`>Ed̝dE?Md.D0}HXؑi3 .leܩC2&ae#E2m~ٶ]ʛCX&]鬝eܩ?$˳l2V;ieܩ+ԊՍeٶ]h6NͲT8ԋV$˳l2e-|NͲT؁}˳l.ٶ]ʛAEjI3 E鬝eܩ$۩$1dd.M}H`23,Z-| LMl6}"Ճ 0γ %h %26NͲTsjVa3 ,ʹZk'fw*lEjd6˿Y;6˹S`ߢcBvYe#;6˹S`E$4hEfٶ]ʛ3Ej4eqٶ]ʛ^H`f,84ZvH;6˹S`ޤZpNͳM]g-|8;6˹SaE$4eq3,rd.NԋV ٶi˳Ef'fw*"Ճvmh8k晶qvmr]hX.̳;6˹QߢՃ2β0k晗vmr#+V68˳,0̱Md.DB.R+V58˳,%cvmr yeٖu~'fw*"nEԋV2MgY_4̿5l;ԊՍ2M~ٶ]ʈYR+V58˳m6]=5lVjqfl8NͲTDNWeٶ0̱Md.D@R+VFqk'fw*"cC0̱NͲTD8yԊՌeJMd.DB5֊Ռeٖuٶ]ʈZl2γY;6˹Q#.Vf0˱ٶ]ʈ'EjƉ 鬝eܨ8Zl4鬝eܨ>HX6ae %cٶaʈ>V]鬝fx{ԊՌeٶaʈEjƤ̳62V;zk'fه*"[2Y;69Q؃R+VFek'fه*;'}gYf8dY;69Q؋ƝHX:˲Gk'fه*;Nc3,.ͿY;69Qj:ZuY;69P\eԊՍ 2/Y;69P:Zu鬝fJ u"dfvmr(,qcCL0αNͳT% zZl:˿Y;69P1Vl,γ %2쑦vmr.V騝f o"Mlӕp3"ՇÆYJ3;ٶiʀ.Vh8eᒲY;69PWf8dv5lӕpE}HYk'f٧*R+V32V]?d4@\&>2V]20kMd4@\(pIEjƃJ˲fqk'f٧*'u"cdYvHYNͳNTWHX]2mzk'f٧*9ƽHX]2mgk'f٧*]Vf.˲Gk'f٧*c"cDYv]3Y;69PR+V3Eek'f٧*{zZ,8?Y;69PZ,82Y;69P?R+V5Eg]=5lӕ<Z,82Y;69P ΤVl.32-5lӕ3ԊՍQeqcvmr6'p,Ejƨ83oMd4@pnVl.364;69P^ j,&d6δZvHNͳNTύZ,h̕鬝f7?#ElfW"ՇȲeL4F_25lӕEjd˿Y;69P."cBFPe#NͳNTVhH,65lӕ HXБ4Yvqk'f٧*NVjH,2/Md4@xH庑Z#(hNͳNT_?2:3LMd4@x6Ս CEgvmr< VOY;69P"u"c4J˿Y;69P|HX&alf\R-X|0Yv6˴Z5lӕ{zZL%eٷ鬝f.IԊՍRf+0̱Y;69P ZL:Y;69P ~HX&J185lӕs#Ik'f٧*zZ鬝f^uc162gk'f٧*xyXrͲ̙2Mlӕpk-X|9ffLəvm?Mlӕp{ԋVYY2fahNͳNT OR+V4l&gvmrP"cA6˳;69P(WY]gEdvY;69P(ncA0 :5lӕW+V63 p3$ifc0e,5lӕ[z+V4%f2Y;69P(Ս udY;69P( HXЙgYvqk'f٧*3L03/Md4@HEj:3L8Y;69P)~u"c"fNοNͳNT @OԊՍ ;:˲G鬝f9HX̙5lӕՍf9e]ivmrREf9eah/Y;69P)'%c鬝fO/ԊՍvmfvqvmrR%r>VhN˳lMlӕGԋV ٦mfe2WvmrRR+V3:˴Yk'f٧*#EX.gYvHNͳNT B:Z3Y;69P) <cCEdY;69P) R+V5:3vwvmrT_ޤVlugX퓲쑦vmrT"cc:lglf+ԋVf;d2k鬝fG?f퓲Y;69P*u"eSٶiʁP2F]ٶiʁXӁGR+V4Md$~ٶiʁX5EjƉ gvmrVcTنH3,rNͳNT ï?Zl2eߦvmrXcdنqfqvmrXCVfH4ON3NT =Ej;Y;:NT HX.2Fqj'gY*nNγnT eD?5ەeD?5ەK}3 &58rX'e p@.=>%f,:3Mel1ÕsV Y,γ EgC%rXEjʒMd졒P, u"cBVH1~'e ˕Zu204ZvP̹P-_?jYP36kvP͹P-CԊՍcYeߦvP͹P-qR+VTN*Pu"c2vie鬝3nT OHXНgvqj'e +ԚC:@:Ռ-7C:@u"eN?Md졝r\=zZack'iT Ndg鬝9P.:ՑMDDfܨ | u&v"3nT Z ؈͹P~ zZ1MdDfܨ@'~VCCY;*mԊՕ_ J5RjC@ABT K=ICa_ICeʁM^ՑY c*K+V5miX2W*[=e6YP0"c# r̿!˕s=HX02VagkfmʁHY,t!X碵c36οX3T C7}HYmCcaʁՍ]Fq 9P2""LMbE?HXȳ6?!Xʁ烏EjE,BChNT oVhLf:5mN@ }ԊՍIYC8dXg*@ޤVf]3L6!FYʁ)qՃ0ə;4ʹZ]?!FYʁO+V6:2Vi2V6HT 5Ejg6HT iԊՍDV]6=5lrd-qcA62v:~6H9P2Z+%ek#'rddhW 1ە _+V422fa5l2@6qde Ce؊@pEjgZ,t'kL0=HX:f;5m&H@y_Ejٷ \BEj1XdT >Vdig_kLʁqR+V4:γl'~64@(rՑG  \=EjƤ=5lr˹P4HEjƦY;Ed̝Cc]ʁp}HX'f٦uzkrj]HY+:!.@d쑗cP-5lt9P51Ej3Mb3T AVd%g_krlWVdJg_krlqR+V38̱% dT NVlai3 8δ! r@A}HX.ͳl4! r@x:EjƆY;61! ˕aZ4 f\ zZue 4! ˕`KzZ+VP˿Mb0̹P6_ .Mb0ܨ.VgCf*c2FNd!,ӕkVj]E؆̳NTA"Eeu2v_Mb29P9Eji2FNͿX̳NTA+X&Jγ,kٖiʁ2VHMl4@yR-X|(dE6erryR-X|9eٖNf3EMl4@E,2ٶihOX̳NT@K"cA8d!,ӕ}HXt3W6err_Zpa3 If-|:؆̳NTG\Z,6ͳ-ikٖiʁ/!Ejf4Ml4@C"ՇaeC:k fsZe%e Mb29P9fY+0̲Mb29P9R+V20g6errVlJᒱkٖiʁsZ+0 23 6!,ӕ.ZpJ3,$eCfY* mEjd8οX̳NT@ԊՍYqf;:b29P9R-X9%f9d(h%ekٖiʁ!sZ+4̱%f֛ٖiʁ">%f9d2kCfY*"7?2N3Mb29P9 2'6err$t=2EeٶmCfY*"W?1E fVfih!,ӕCu"c#L f"Շƙ;:2fa_.5l4@Z"cRvYh̕CfY*"?F5l4@^"c2vHb  fVlNL0̴6err |"cBvmfYCfY*!ןԊՍ ٶif f+ԊՍ,fX咴!,ӕ.7EjͳOMb29P:zZi3,:X̳NTwԊՌl f?ci2iCfY*@OEjG3'CfY*@[=HX4.!,ӕ5"cSeqCfY*@sZmə9zkٖiʁHX:3f6ertkԊՍN3fZ/Mb29P:N7EjƧmhMl4@Zu"ՇC'd.4Z fzHa:fvY2H5l4@`u"cRef+%zkٖiʁcu"cRNfb29P: Ze;EdN5l4@:HXEh̕Mb29P:yHXEfv5l2@7HY,X2w*A۟ԊՕ:5l'rv}HX0əw T7ԊՌ4YfJMb'e=V?5l9P; "di15l9P;5R+VFPXʁ t:Zai3OX٧*`AR+VFmlCdە9שh LEe#Mb'fܨ_u"ccMJ4YfJb'fܨ:j(fX̳M"3/Mb'fܨVjiMY5lrv$t:ZuCdە+ԊՍM3EdMbC7ԊՌ2Mb6̹P;8}ԊՍ eY+!lӕICf٧*aZ,23XͳnTou"eI eܨ^EԊՍ34̿Mb8NTu"cCLDf!ʁu"eI fԊՌ.Mb8ܨCd dT ^VfefYkmʁ)pkԊՌdX3T?ZfuhX3TR+V4,γvɟ g\n1Ejd2 g\~MԊՌͳ u6q9P=x6EjƤ읛eq c*Z:1fY+E erHXpYw6urzKEjƃqa)~6uR+V4:1%eߦ eܨ?d23Mb:NT@wEjƦvY2CgYCЩ#2˿5lr|yHXԑe Mlr|9VIP+.F_4ͲG6P9P>zZ+0fvH!Yʁ/ ՍIY0˳oMb(e_EjĬIeٶq 2T?Z+0fvqCe VjJ3.=5lr|%p Xg*—zZugXkC.@Vfme#5lr|-sZ3lv!]ʁcC03/Xw*ߢcS03,Xw*"de Xw*XȡgkC0@a>V!?5lrR+V3'fu6P̹P?:HX4Y+5lr~ 3O*ukC4@Ցe6P9P \:ZYfeCe ӕm]HY]Ce ӕqz+V2:˲G6P9PnR+V2:˳5lrz+V4:2:5lPCx4EjhLM6P9PC#"cR읢2fN!rQEjfٖ~6"\!^VdYW6"nTwHYvQMF؀*MF؀ PD^Rj6* <5b PD?Q ʂ (sQARj6""Τmt9PD u&lEʂ iz+VTmhPDdel$rHYi,"Z+VFaMffaʂ s"dgwl0A;/EjGvHYYr?e˕R>E֚Ͳ˕Pi+#Mffeʂ(Zgk62w*GX$dvMffmʂ(T"c"앎k63TD}HYRYYrx˩#.?5e*Zfk63TZe_j6|#^u&m`j6˾T3?Rj6˲T9Rk6˲TcEjcl,A8ǩL2V].9PFZ,t˲Gk6˲T_HX:ek6˲Tu"eIl,A8r?EjƄ2V]k6˲TVfH˳l5eg*\kԊՌe_.9PG>R+V2$d̻MfvYʂ8=R+V4$fJoY]r|Ejl,AoEjƤDfنuzk6˲T'HY#5eg*zZY]r]EjY+Y]rzZ+%f/me#NVlJY,β6me$G+a+%f,:˴Z#ٶ]r s>%dEgYv_85eg* ԊՑMfvYʂ@I~ՍMl2,fvYʂBVlalEd5e.TA:Z9fYwlEʂH@㾤VliYa]4mhPI~3EjƘfJeƚͲ* Vji2f]dMe.TA#ԋV 2fL˳,h4̳fvLu"Շƙ3&eٖH˴Z#ٶ]A$9H`&d%e֋_03/5e.T@ R+V54ə;0YwlEʂH}HX&d%e#Me.TE~2E&qfCEβͲ* $R-X84̳6-uk6˴\$]HX6k6˴\%>cCL$e#mhPJkԊՌ3llEʂP:u"cCl,βY]A(>VjPͳ4̽5e.T/VjPͳMzl.rM=haC63 6]Zj6˲G* I6mdTw`E,δZi.%CZv%e]4ٶ]9PJ~Շ,fنe/Y]9PJHXԻIfYvHmdT7XػIfYeZl.%EL23Ef_6˲G* E.ͲEfZ-|r5eNT@HXл6Ͳk6˴&~ՍKl0̱Y]A4)pԊՌlMfvEjF]lIʂhi+V30̲Ͳ'* X̕hmi9PM ܋e:lIʂhr+V3(gvHMFv9r@Mfv9rHXг6vH5eʂpB}HXԳ6e^ͲrA8 u"cb$d84mc* QEjٖ]e]ͲrA8 9HaveffuhGlPNR-X|]eٶYe-|mc* g^Vdaf_k6˱˕VfafYk6˱˕Zqeٷ..TG?Zqeٶ]4mc* #_Z+V5036=5eʂ-HX̡6mf(7?jaffJ4ZJe6˳T@+`0γ %f-|%2ͲÕ"Ճ,.Ͳvmh$.\(>sgYvHMfvJAD{Ejƅac.\(+V6,γ 22V6˲W* Ճ03,4ZNٶ]PQ c`:3L8Ma5e+;gY.5e+[.VfY$l%r VhY2/Y]PQ ""c28˿Y]PRR+V36vmͲӕ(5"cSlfvHmfA"Ej#.ͳ mfA?ZH˳lmfA?cYfJek6˲w*PzZvY.ܨ@7ԊՍ .l'reԊՍ.+mdT+R+V5.32/MfvN@ kHX̕hٶ]P#EYf.gv_:5e;("s}HXЕhl.ܨC^Zh왗fZ-|mdTNVhJ4Yvqk6˲w* `/"cRVY3,rmdTXԕh.mdT+VFJoMfvNAL 9R+V2%c !ͲʂxԊՌ3lMfvNAL&pyԊՍ 3l.l'r*pEjful'r Z]eٖul'rmԋVM.̳E+.fvNAPx%Ճl8˳,,kYiͲʂ3ϩe]gYf_:3L86mdTA"Ճl8˳,,kY.Me;QΤZ.2:˴Z#ٶ]PUn:j]eٖuh,rmdTEN=hX.2:4ٶ]PV-Z4eqhGl'r_`4eqh,rmdTwX4CEzk6˱ ʂ/VfP˳5e؆AX 8=Ejƥ 8β.7* ]HXءgacͲCrNzZC.3mbaCoR+V3(f]ͲCr ZC0Ͳl.7*#o:jae3.̴ZlܨgԋV md̻2kYlܨZC0Ͳmb~cRaf9zj6˳TF mg.rHXл&cJ˿MfvqʈzZvm˿Y]r,A#ԊՍ m6]?Mfvqʄ*_Ejƅٶ.?Mfvqʄ;:Z2Y]r,XVh]d쑤5e*1Vd]gk6˳T%Cb+'.9P R+V20wͲ aHX$ek6˳T%~HX%e 03-5e*RxyԊՌ2V.Mfvqʔ.u"cCL˲G.9Rשd6]~Ͳ)3R+V54Zl2/Mfvqʔg?ZPʹYw.9R/nVji3m]zk6˳T\R+V3'e,5e*R \R+V5'e,.6˳T8yԋV v:4v_%cl8JJy^VhN˴Yqk6˳T( EjƄ22fvqʔ܇?'fqcaYueǦͲ)Ճvig8f-|gX6˳T1sjvig8d]k6˳T2Z;4̳Mil8JAwԋV٦eflEeqͲ) \"eNMfvqʂϩeuͲq"cc6γ mg+u"c36˿fvqʂrHaie,.k_l8A\"HX4Ͳk6˳TKcC6˳Y]r9}hX4ͳ 5e* }HX64Y]4ٶ]ru"ՇYaγ E6˳T焞Zpuf,04Zq.9PW ܏fن:=6mg+Ճ(hh mg+A2Vul8Bh)sZC%gYvH5e*ASucRJγ 5e*Cw }HX̡5e*R+V2(d̻MfvqʄKEje dmgN \gԊՌ3.?Q]r8]]I.ιP0wXг0Yvmk6˳T'"VdYf_k6˳T'n6EjƅedY]r88R+V3,3,5e*#HX(d5e*#9ՍM MdMfvuʈmezZC6̿mg\P\AEjƅ 2˲G.ιPg~VjPͳ,2/Mfvuʅ!g3l8MfvPBsZ3Y]Bsf]Ͳ7*@;EjEٶulMʅzZ]5enT(?gudMfv"9Pfuf^ͳ *KR+VTmc*D>Z1:mc*$x7Ejƣu3L:mc*$"c!:?mguԊՕEk6̲G*$ ZeY+5f*$YiRR+VFak64\REjʈOYiB?^Vfigk62W*'+YRW49P.VhmL85eg*> iԊՍMXfX.9QW"c#2Q]G¯?5e.T|+"c#L$.r sfY#,ͱY]E0Vfid5e.TS^ =hX03/qhP=hX03,qhP}+V4(fنe_Eʅp>+V4(fنuߦ.B!ji.˹P^eD'.˹P "eLMgv9r`K 2:MeʅΤZpL˳,,γ ik8˱˕ }2:?MgvJB2p\EjE,MgvJBȽVl]βpYv2ʅVh]βk8˲W** xEEjƥ,0̱Y]QPsR+V5.gYizk8˲W**"cbufq2ʊG"Շ,0e+E%rh65e+Z+V5.gYmzk8˲W**HX̻Eg.ɜ iԊՌ3 .Me3SEuh̕X.ɜx:EjƥuhMgvLE@Ejƥ;3L.qdTT |z+V50f+4̽5e3oEj,%fq2E@Z+VTk8˳.TU+VfH3,rMgveʊ.ddY]rӟԊՑe2˕FOԊՍ l:oY]EcR0αY]EEjƥٶac &iʋHZC2j8O3Ejb#0̴_3NT\1Ejb#0̱5ciʋ_#t9QpHXDd쑤MgrlZ+VF"3MgrEjF!?q*.~R+V50̱ fX3nT]yՕ:5cmʋ?3,B2*.cCb#25f*.93 ʋ""eKMG9r Rk81˕ ~cRufR sZ,2βEgZk81˕ ^Ռ&aWk81˕ ֊Օ25fʅhX,_k81˕ EjƦYfJYvHqc*|ZYVac3 rBpEjfYfJ?Ya\_}@ӭe#Mfʋ;>24,̴Z鳌QxY^Zrei3 Yh󬕎k81˕u"c3,0.T^ ]EjI3 ʋXл2βV;~3 ʋ[d6MgLE+V60YfmgX&r<cS f+5f3nVdNYw3 ʋ+V4'd8οMgLEUV;鳌&r"ՃJβ.4ZC8a9Q|,qR-X:(d,̲E30̹Q|[#Ek83.T0!Z咲5f* IȺZ:A` _Ej˳MguʂqZ+V5(eaf^3 >203,MG"PX'?YaTWX.˳/qa)ʂNhYRYa* !^V$k80Ad8pBEjE٦MgazZ2Y!3T0~ՌY+.*@ R+VTk8&aʆ]HXН Mg+,CHY:k8Yg*E"c3t˳qT0nR+VF]5d EjE;8YJ9P =Ejƃ:gY+Mg+4C2Z3YJ9Pxө*"?Mg+4Ah=ө6YJ9PZk8əg* A Z+VFJ_2fYʂ!pEjdf&e-2VhJYvq~2faʂеzZ_PZx7Md̝ʂ/:j+0 ,ͳ ]j8>Ti4r?OEjB.οqi9P[9^Vhu6˿MG:r93Lʂh+V2.X%r Ej2G%r9Ց˿5f3Vw4ɜb ]Ejƥ:f9zk82g*?:Zvud̻8qdT1?b#2.qfܨb>"eNMgmʆ1"c#$4c+h5fC oEjf,6MG;C05d쳕 R+VF.qT3~Vd.?qT3#V'egZ+V32̲2vYʆpBZ3,YN˹P Ejƅ3,r5d컕 V/YN˹Px u"c4YYYN˹P =Ejh $r9_Ejh 8Mg;.C8u:Z,IhMd컕ש"4,Z-|8w* ɺj,IhEf8w* m3"4,δZig'eܨ.Ejƨ &a=5d컕#` ԊՍQfL.2v]ʂ?R+V5Ei3 6qT5 ܓ"4]gk8w*Ejƨ &ag2v]ʆް4Ejh &;r.j:Z,IنeZk8w* @#.2v]ʆVh]3 Mg;.Ciu"c"쑜'eܨmu"cBVJ3,r5dtChAz+V2.Ͳ5dÕ R+VFJ_2vaʆ ԊՌY+.'fm5ȺZ3,YN\mOԊՌ3tYN\m \EjF,Mg;%rՌ4Yvq2vJChsZ0̱qW*@ԊՍL30̱YN̹PZfe鳌rH`,,Z-|2vmʆBu"c# qlە Rk86mʆV?Ejʝ1 9PAEjE]CeT6Ej2GEʆ5f.T6Nu"c"fq_k8ʹ\m |VfL1E3 zYq9QZM&aqeE7#EOMgYʌ Vd3Bg:Z1.qeyՑdMgYʌ"g HX$eH5gYg*gVje2$g3 {X$f9~3 X$gk8βT7ޤVdeY,ANVfeY,At:Z3lYur8'df,AyƽhX:˲Gk8βTn_gYe_,Ae7R+V26γ5gYg* EX:;5gYg* 8"eNMgYʃ NV.qe2 |=EjGYvHYurZ+V5:˲f]g^3" hX.əvegk8βTBZ]:9PeuZ+V2:4_k8βT9ϩf,%dvYur?Zack8βT9R+V3:1&,Cp EjGYC8YurՑ$rHXȳ6/5gY#`.V/Yu9P =VdH˴k8βG*—HXȻ6ͿqdT9\kԊՌ3-3ʇ0K#0?5gY#kzZ+05gYw*?*L5gYw*4ueI.CUu"cRvN1%eޚ3ohXН Mg]ʇQknVk8γT;EjH k8γT;udd:9PgX!23ӕ*N5gY*KzZ;'e#5gY*hXН Mgiʇb~Vk8γNT;v+e4|Z3lYuqW%EjFvHYuqVdmgk8γN1`kf96!u&6Ս 2FHYw:͸Ņ.R+V4,13gm,I-X<,13&iͱf#qfbǜEjř]Y]i:͸ʼnR+V2Eg_k8γn1ՑdMgm%BHX'd$~3یJNR+V2%eٗ3یJZ,οYuq$Z'dqfb1.ohv;6$HY9k8γn1'EjfY]6.=HX.οqfbFyՌL60Vdud5gY?Zi2Wk8γn1#-HXȡοqfb4YY3یC?ZCEg:͸<j ]hXԡβmzk8γn1WhXءβmd5gYOR+V6(heƚ3!ϟYQqe1FEjƨeǦ(qzpVfH˳,5gX3v!uԊՑMg;qzkԊՌYvqbߩ5e p HXȑfl(cUE6˴YiͱYP1@zZ#0f#.l(cmZi 04Z(cuZ+V6.̳0˳6q1ÌC=zjv"vmgƋ_03/6q1ÌCD.Zt]eq3L8MgC8=c4J˿YP1@ 7.g_(cR+V2&f28qz@Vji4̽5e p$p!Ejƙ;:3L8YP1R+V6'f٦.35e pp"cbvmcmd6q1ÌFaόzjvmcmdqk8 EX,̱.5e pfrNVlme 0̲6q1ÌA4ELf]?MgC8ΤVjqͳ zl(c0FR-X88fنNγ e_28q3EXEf;:4P1`E2uf_85e pf"ccC.̳6q1ÌAa]h`.6P˳,EYP1aX.οP1`E'YgYYY+q1ÌAjgYu3Me pϟԋVgYu3E?Me p׌zj0βuhgC8hR-X88γ (gY_4̿6q1ÌFԋVN3:a3,MgC8hVhugY+.5e pr/EjGY+.YP1=EjƇYudYP13EjƇYYοMgC8hu"cc,gYvHgC8hoamh2k鳌b4O>:Ͳuf-|q1ÌFAVjue,8q4\b4NcdYv]3 q4\b4W˳5e NVl.3&PZl(hh"˳I2V_%c#t:Z,83 6]&jueGOQP˸Rk8N17"cd0˳,MgCI *]HX&a5e '@Vh0V]?MgCI#P{R+V4Ib+.?MgCI#P "cT" 5e r"cQ.3$zk8@?YSYP8j|u"cC2V]k8Nseᒱq2gDN}I(d1+ԊՍIfma)zk83FEj̳60˲F2L$񯢵cbfYfJeƚ2LZ+V3&e;8j)sZ3.Ϳq3.12MgC2]HXȑc2N,sf]~8;FZ왗fY֋_85e #P\VadYPb WȺZ;%fvqk8;ALJHXȝMgC'q5^VjNXfX(d1gR+V3'fu2Nj GEjƤ6β(d1nHXНfqk8;F3VfN35e #`l8?MgC'qxu"cbvmg]4q2wOR+V6'fvqeƛ8;Fo+a;6˳0̴Zl(d1Vl83 E2m#aWVw(fb6W4Ywk8u"ccl(fY#.l(fb6gԋVfC2e/YP8Ցq6x˩u2q ^VfN˳,2q sZ;.̲F]=5e AB]HXНfY#85i1Ejʛ1q6HYRwg`Z;'eٷk8FY qVhNنe_Dfb ԊՌXDfb 4EjƇZ,t˳Y;d1R+V23Lvɜb :ZdEk8l!rhXp2Vq12 12 yR+VU鳌v̸>H`:f٦ea)34̿Mce!N^Z:f٦ea)˿Mce!ƽH`:f٦ea)˲G12.sj,tͳL0SEg8lˌCoa,tͳL4-|qٗ?Ze35ce!VhicL?Mgq| @;ԊՌE.1u"ccYeMGq89Mgq8`ϭe3Mgq9ce38MGJ|bDW5zQYbRk:1ÌA sZd5e u"c162Gk:1ÌApYEjYw8HXȕgk:1ÌA kԊՕ85e ϩfJe,.1`oS5e {R+VTufbCLMgYfa yR+V5%facb'5֊Օ.5ex pԊՑf_βBq<nHYvq,'u"c# ud1~Օ%q< Z2V;k:3.1?ZYYq< :Zg_k:3n1+ԊՌ,:?MgYfm HXr˳ACufb@{Xr˳2/MgYfm 3Ejc]g,8HYQ k:31֊ՑLQY1I,W7zZ2YY1cCL4ɘj: !5cu!ƝHX̳2V]YgMGZ,!j۩5egZY]|pEjƣeh̕鳬E Va2VJk.q>eԊՍGL06P˽5e.1Ÿϩalgk:˲W]+V5.fYw%q>7ΤV+ud13R+VFJ?5e3Affmߦ&q>ZY]8 VYeߦβ R.Zffmd;β X L,ͱQ]q> MgYve a"eI2|HY:k:˳n1ˇHYRg.͸kԊՌ铿ufbzZ30̲̕k:˳n1 nVjL3,:˽5eٷ%֊ՍegYvHY]q?.zZ30̲.4]q? :jfaeah]q? =EegYi̿MgYvm Lϩ3 ,γLMgYvm T׭#&gβA*uk:˳1Z3@CMgYvq!sEjα5e ԊՑa 5e\pEjƥ:f+$zk:Lی@!Ke rOu1pqԊՍ29ci35cm ~WHX(q^Rk:L ~ ˩g#,oY:e1Z+VTu?^Rk:1ˌ@HYk:1ˌ@oVf:gYvmγ ~9ddYa8CX9Ejʗγ QV$k:2g Vj]i2FYޚγ  u"deٷ&q ޤV8ud1'>Vj]gYfLޚγ HX2/5f;AU5f;A0Z:A |ZYiq+]HX̕fmγLӌA\u#%gL 'q+HYYiOZ8Qiq+5fSZ8d5fߢc3L:?Yiq+EjF-'γLA\NHYfJug\b dfX4θ& HX̳%dvMgYP4+VF?5f6zZfm?ub#B`:^Ռ3l,86EjeγlB`HԊՍQeh 68&C"˲GγlB`r>Vd.?uebǟԊՌf9,#EOMgYY!09ՍIvL3lBzk:Ͳ1 Ƚ2왖f؄4uebԊՌe_68&W?Z#03,%zl68&EufY_γlB`yVIufYY+ueb["cC fXk:Ͳ1 CԊՌə;%e68&> Zq˳ogYY!0Tzj,Ifٶ],8yԊՍL&]g:Ͳ1 ?gL6əf_:3L86uebE`8fL4Z9k:Ͳ1 Vlei3L&gk:Ͳ1 VlefafZk:Ͳ1 g+,β쑦,0g+,βMfgߢՇYJ34k_γlBh5-X822VYf_2?5fgoVled:3m6ueb@`8əqf-|2mqMEf],HX8٦qd5fgu֊Օ'γlBh}#'dMgYY!4)r.VfNvHMgYY!4L}HXН MgYY!4}HY;8uebEcDvmeߦ,/s˳l.=5f#BhȺYmqMZ2YmqMܗgYvHMgY]!8HXԳ:əvezk:Ͳ1 u"c"8YmqNE֊Օ.5fw(+VF]k:ͳ1 YVlYcPYfm0R+VF]k:ͳ1 oEjc9eٷk:ͳ1 wΤVj9c]e#YmqN^ Ze;?MgYa!8%YY8ufbo?V]49Ռᒲud1 Oue1 ou&(qNx*]k:ͲτEjƆZ,:˿MgYP!kԊՍLYfudMgYP.u"cS-YeǦ(q!EjZ,:3,rYm8GOΤVle34̴m8GR-X|e34̴Z6b#?ZuducoRk:ͱیDpR}HX2/5gMGYu"8Pj:wOԚβ]"8}HX$eβe"8Wz+VTu3.1Vw(f\b#"Ej˳MgYC27 EjF9(fbzZ_qO( ԊՌqOR+V323,rMgYC6zZ3,YP͸'"c#(fbw!EjY+.̲!4uÌBxޤV]?QδuӌB˄Vf8cuvbFy֊Օ.5cN$I?ԊՌ˲F]MgX퓸JsdI~α'q8ZvNγou;D:Z2Y;d1SXػaeٶα'qu"c3 YY;d1pmԊՍL4YfJX騡b&'u& !#w}52̑#ƝHX̑2AYCEqCZ+%fk(h1\EEjdhYCExS"c#L.YCEq(ZC2οPfb< ?Ejefu8&H˸x/EjƉ2̡YC$eb<. zZufk(d"kϩ#&dMe &m"hןԊՑeqRk(c]"hAR+VFY51.4 ˩d:bPLD6=ԊՍ 2vL3/YC21Ak}d.οME 44qRk(fu"eNME V_&J\bJ8+>dfX鬡1 ی}d̳:˿Me qVVla2.XL8+c"VJ?Pəg`u"c2VJ4_鬡ebVd8dMe ,8ZM&]β쑦eqV]HY;leb'?jfapZ-|P̱ÌDwEjƦC2vHP̱ÌD}Vhmhk(fX"pB+V6(i4vmd53-ƾՍGL2,$zk(fZ.1CԊՌLEOC2qEH34kYfJXk(fZ.1+V44eٶqj(fY#D"P̲GzՍY+,Ͳ쑦e8N;VI鬡d1Zv0̲YC2b'Vj]3,$zk(fY#DƝHXԻIfYvq鬡d1hYvm鬡d1_R+V5.ʹ+4Ge8O?ZvmYk(fY#DPZvmY]zk(fY#Dqcb%cacH<'kԊՍlEfv(fY#DG'R-X|]g,6˴Z鬡d1WfufY#M3,"xb-X|]fY+E]"xe}HXEdEe#M3,DZ-X8Y;.gYvHkvC2q \E3lgY]eb'?fY#%e#QC28O<&eqEVf4wlfb("Ճ,:2̕h˲Ga":Zqe+%zk(fYȽgYve2쑦a"Ez-X92β:3Med6P̳1CԋV 2γ Ee+%c鬡fb(.V2P̳1w!EjFYeq"qfYa#@l鬡fb= R+VTP̳1'"c#$鲆eqEȺj,Yv_$a"σV8P̳1@Zl62̕鬡fb(N:Z+P̱ "/zZi53,"EjEqeQ:Z!253,"2Z!2앎ߦeQh de &qWd6ab#4k4J˿M3,"-X8401EMe 2H񟢵c2̙dC2̸RܯR-X|]˳,ʹZlfb)G?jvud LE?M3,"pE&vH4YY 鬡fb)%Ejel%m" s>.4XcJkm""ՃiYa_.(fY@/hM6]e-|pYw(fY@_ΤZp]˳l2h鬡fb)+ԊՍ%i쑦eq\iԊՌ2VJYC2͸Ru"cSL 53,یE ȺZJYk(fYA?"deeq%:˲GeqVhaY]?M3,E0Izj9fYvH̲qlgb)]Ha;.fL.kYC28SHX62vN˲F(fYa[ZrP Ef;Ee#Me 8LSש4LYvHYC28S9ՍucJ˴C28SV2vN3l.kYC28S9Ռ]q"->uL2k鲆eq8˩f30̲EdM3,E0"Ճ&fYh P̳1R+VFa53,BZC2˲Gk(fYCBZY+.53,!\x"c#$鬡b#Br"c3LdP2wpΤV2PYC'h, <Vd8dMe ,"pԊՑYwqqY\aMe .X uhYRG鬡eb?&$+Me .>VhNf3'~]#F^V鬡eb@Z+V264k(gw#'R+VFmk(gw[:Zqq HY9j(g A53یEIu"c1.2wk(g"c3tk(gEjEqq8\GR+VFY53"o!ԊՌ2VJoPγ1DR+V5%faga"Eө e 0u.R-X|J034k_uqEjDԛ]3[5&>1ACzRlE"RkMhĂ<+V3,βe.1 "cB03/ZlE$H"c2FL154\bAR+VF.֛,qHX&ge.1 .V54\b'?dRl%q_ eGoRlQMi`^ՌLMiˌC0rHXȑfkMf\bԊՍ ]3Zl2\eԊՑ3M˳n1 kZpa4YfuhLZl6<c# &;6]qf>GԊՑeeٷ`Zaf_6]qg ]HX03,֛.͸49Vhuh̕kMfb{ޤVjMθ4"Mi r>Vw6aqhBZ+VTDfwߢc!d521з;2/֛0˸AzZ1kMfb \Ռ3.Zl%qjN zZC&ekMd1 FՍ :~g_i1 A+ԚGjIDe^VDe_R+V3:3,rMb#,85'"dgYd1V52`δVDeDzZfb3gZ+V323,rMb#,͸6 zZacqkfm!#Z3,P31 !gb 3Vdud58aR+V3:3,rMb#,θ@ԊՑOMb#,θ@Vl2vifY֚FYq0?Z2X4b VwDe |sԚFYb $:Zcn"c1f#5:q0 :Z2P˾1">MB#.1 yߦd1 }Mb#.b A Z]d5.b9R+VTBF]q15Ejb$eF]q1+XBdX˳1#|"c!35%q1/>V+"2یA'tZgu}#%eF:ebHy7Z+VT"1,oHX.eٷDc]!x˩#,ο5t˸6.*ekq2>Vhei"1.d-B_Z+VFmkqpc3l,?XLCEjƆv.ͿMb#218"c3t˳o"10AE֊ՑOMb#31PYzZ,t˴vmDca x֊ՑMb#31@S#:˿5t89 Vlug;,ejqr9 R+VFJ˿5t89s#8˿5tn1`-ޤ"3 !D:Zd1`V2"3 !4Ejeٖ]?X2G1>Vh]f9~Fa89\R+V2.̳5$qs_Ej˳oMb#0boԊՑcd1YV+"3 ˌCx˩3LDDf`:Z+V3$f?X3.1R+V2:˳o58A+VT"3 C`R+VTt5:Z+VTt5:d!PWEjCaDf#"~0c14j+eA;ԚFir2kԊՕ$Fir1}#$gFir1 p$EjʈOX3nF1 cA iOX3nF15Ejb0̱56cCLe#"3LۑBHY?6"3LۑH<zj gYfuf-|"3LۑCHYuDf##9HY:kPd`ρ?R+VFJFmr205zZXͳFF"cC2V]ka7R+VFukaHX.?"3lÑnsf9f<gYveFmr06Ej̱XͳNFV."3@BF·Rj #C5a0&HG+V4,3:5@C}5AC}5!pP* zyVCEeЧ"paVCCXe=9^V5iгƝHYM'܌=9IEdΤ"VޠԚVJr0f$:ZkY+EV(?XZ.F _"c4YH˿XZ.F ßC2vuVJr13EjHvNXZ.F4pfYmߦ\hHX2YezkY+EƀԊՌ2vuG#.EԊՕ?Mb+%gh|V5r1߃^VjL٦NγMb+4܌h?Z2PƃCEfw#R+VU'Eg#"EjʛV;|h|5vSMC1=Ivr0h MC !&rlAC@R>l,`x8Ejʛl,`+rHYqv˳F > &0˹4 "ddv2F5ԊՌY#8P|j^;f#CZ;fCKdhu4v]hYSoXeF@XId;fCD"cCl.ZOX$r>Vj=2MA)O5PVMa)f܌mA*ik L6`qccLi i%2ۑ uc#L8XJeٷ#~:Z3LPJf;:XJf;EjhL3.FNeKMa)NF_ԊՑc?wF G8-?K< ~o D`]*/ R#|5uRfTX ς,ߔ<!;3`%#c`'` JBZE!GX iB) ^9j!O b 4uR(zi}BB"8@٬pR>j QdS2Ӌ yHa=b`]`"R ~51{x|#k.R<%!3"O``$_` VB`DȐ(TJ^TL8I xPxϏ¨g|Pa5=/coP$}XI{nڅ$/:$0{u 8ӋHcA$2N&j H/ $5 WXAA[h%bAJZGgx!B(Sx!Aklġcon%aÀNaDŽ@z%aϕn%ǰJaیQ'A_+J >{9X< XV?1,O?X[(K<6aw}a K5p xpu aNW xpdK xL0a!j `K炇?Q0&ޠ `UWʉg#rdL xKPL]AL|7>& x?P! j "`kGQ8LǀF;~q8R>pΰ87_@Lc1@TN Q84zsAN N QX Ȁ0N>DN_"| ȁ|Y AA O DxǂP!p x@*" 8dǾDeǢxB?<0yCDY PO >De<2yQ<7<'?"$Ԇ|%qƠM";) SȀP(" @Y 7-yM@"DB0yCuBj)2Hz D+qN!_XIЩAσ@z|c1V}DC?ʐ+yʌyE*G1Teʌyq.yPia_* ?*pRǣ=@X8*: 9yR TyD)yP"ۇD*yP(>*!WʁWp[D*DM]\MBϕ∫@Ì(*="@ˍx.!wʁLE*$P(o* 0yP8׆Dat(?* =☢<(qAGn v򠥬5EWp|\U_T1sA*jAH`-kʆH_?81x8GC'B'?H7" a\L–Ǟ1 6 wB}A`+W ~1ځh+#Bk5y0^[P\94\ u1,#qP0@, FxӅ)y:p)W%Eq3SPt_F<<~W|<p+>g$ bVO* G-D) "KW< >W x8y€ ^   WX KPQ¸u48Ł]@l, ~`<^a`5x:E;ۈD< G;@ӟ)kGO,c+@ ޠ2 B@? 2Q10r> #d4-Ax~pU<.^eP< H }./Az.A@@{oP PDB/"@DB?0.<=!t0xz\i]@W Edq<gnY .Ix p t8zoA._NJ8 bȏΠp,u/_ŐyEG1 \ :v,@ן Y =CQd=2X=X= AC8Z<= <h{RYW?`Zzˊ"gT.) AW-EnwP-z@7VǞ,[=9|=x*د- Ql^8Jo_P[ ^@-?C_ڀ[Co?jaQQl<= =38yY'xAP G@~@|f_~P; @ 0OP#3~! ?@|f<uu  [R<?Cp33IE xAH.0;ظ03u |T\ bMf]@._`>G 'p)EO`c\H ŝCM`]<|ZFc@.?aӟt5x3P* B>AE@q@`AW(xq֠W /.zLpd3Ƅ7ƀ1 4WAA 4xP(C'?B,x" Ɓ#Xk-x 8ǀA 4 `t8 Co @P A hA\/4 #j=/PsƃM)Y4"P' / <=\/9tß9@?P 7./pdoA$2q3ƁESB޲x-45@hz4^ Ɯ`_ޠ/k@^/s-A8^^ &`_@G/ Uh Q|Lh c$_<w5 k'B@VP=q|< \mx|8ӆ1|44um`_ =Bp8yx m_ -A0|,0 wD3O#PJ ¿@$3@` _?Qy6sFEO$7^ ^hyB?p7cAYo:`uȿ_1?@[\]`bcdefghijklmnprswxyz|}~^_{'TS#. pUep#'(d˂Oe2e2LS)f)e3Je2_e22LiS)%)e3H2LiS)#oe2oLS4?S)fe2L:LS)QS)(S)f72LiS)#e2{LS4)e3HLS4)e3HLS4_)e3HLS4)e3H2LiS)"e2L+S)$e2LS4S)fe2LDLS)H)e3Ige2MtRQ2s)z($r3]Sp_E/T\ꑕPt)zup{kHWAUP<\]RR kK%뢗LWBCE/U#PK2x 4)zBcE/U+_E/UooWE/TE0U`!WE0T\[tSLXP AYtSLUXmB: Xq]R: O6]RB&OP .`%\WxP `)\WKAtSIj=@T)q\ q֠6]TP.`pSjL3x : @t)AE0U+pijL[pqjL5x: @|): @~)D@) Tm@)*^m@)eq\4t]tSHk=@)q\9qGP3b%\WgE1T+΃P6.b-\Wm]Rb$P8bG uu*3]>8]x><]\X mGT,3ϐE#HW7W>B]%\X }|)RR tR:q`9q|.GT,|W]Gϋ 2x|Y]ŀ3뢑4x! uRX]|tR:x# tRB$z tRB |)!Sqes5tRB*_Aˢ#+#~3ρI őW>d)!RB)q|tRBqdg.HT,s褅IjȳgE$*LWH|tRB, uI v)!UY 褕Qe?A=]zwǹ4)%Sqdq|.IT\Yz $]\Y=\%]\Yq5I*Őyƙ^)%RJz 1])\Yx> E$KWBwAU&+!KσeI*xz 7]Őg褕L,ރ>WE$hd0tt)%TCAkU[Őg褥Qd4z))Rqd6| .JT\Y>WE%*b,~|!JT,_A#"3tRRqdBs*褥I*ȊJ褥IJȏZ褥Ij |).JT^))T/+3atRRO/))S73itRR/t))T/: \]^*t))SǗ|WE% _]zyog"褵L\f]x 3tRZer#gB褵H}\i]!\7W>E%IW/Ogb褵IJ}|6KT^Pz褵IWχIj^^.)1T| t ]zxÚL|:.LT\aòHχIW>k$+n>WE&*IW/]\])\ t)1RZxDI/W>ˢhxM3*F`^: ]#1W/ |EH_ψER4/ |gR3',lN]#3yxER3G_*FWa5tTo0xaatTiǻ f0z R40 }â:BG{&<qc@/ĥ:.<s]]#;y{tTc@ЁR3בB EH#;Ѓ5R2뢤egA+4| : :]ɘ+Ak4#DЅuLgЅLwЅLW5ЉLg|Q+]ɛ<(q֨)N9o jE2g/#}]RRLrw/K3jL돵AL8TmPx)G{ˢB0tS6KW#?AE3dr8h5B m#ᯌYPtS6f@ Lp)JB^8ʅ%LH;2QtS6jAC, .f<x*뢙g_PI]͛ %fH\g"m;PAatS6rPqܬ9fΞJ>EtS6vQO2)]l<0U]m3xr/.l 99+(㐒*^;!atU.mDg/C1tUX .v &x K<tl*>H@tRkG7@tRkH"mc~)5^U֕D _UID t83MiF>5AtRk6x op":tE&!wE&CMgO!ߘhII* +Yס KY뉺"MZ>=.jgCkp$+:!]tSVHǀ)4x\k@?]խH't: )5x }".j< ~CMYvtAtSVH=?.j*%MY>UMYID!EL]3HއD!EL̞R}]33zBWkfHatcS4H.rtToH9^*fMz@C:22詚g>FH]36z@_hֺ*fn6]38z@ؚ*fdnWS3U%S3v*ۏ ]3p T\8%E'2J@qPKNip17 WE'3'N E'377rhǘtRsJʱ)99tRs&Cr|E'3W9ˢg <)9=8| E'3w.| E'3&pqǫwW5IÏ%tRs'=8q-tRs:zqƸNgoN$KD9mtRs=y1I]9}? kE [c)G@C‚L\? 3sO.t UtSGW9? ˢ2R5qW]y:~WE:fo9 5NWAtSA3XB.ttVˢ4: 3_+N΀;r)P6r!tSƑw)2y@R]񙼠VD4( tSj ]yDqEF)6yD 9v)7yD qEE.N-/]<\ ˢW1l)=LtR{L&Y$.Oi=tR{;x(Ogi)Od3·- >]ZJ #ܴ9.Pfo`ۡ@)tRJ&bj&n\tRL&<E(3g1EJ ;\E(3AreJ PUYruJ-^.9] rr` :tR1W.<]P9qHWKˉ뢔Y%\ %rPZYqItR3x'rE(gAspĺ)Ex\ E(@WtR:x\kY5rX)E*ˁz&@tR/Wˁ&`GC%JL\ އ.kW@p)Ix <.k_rz)Ix |o kIP7t9pF]ǁ@"GvrtQq . +\'.4eItQqx}\EIPG9pU\_rQ ^#zQrKGYtzꗫYtz+V/TSp^\w*πꗪGW ^W/TRBއ/TRJ.\RIJwꗪKW!%rKH5/T&z/TSwgjE0WW}**a*^Pfz +b `gZz * `1\ }}E1W~ꘪc4ρ1T\ N bE\SHX x\SIjXze| NꑕG&n| ^Sp, { FT|rHʒU;Yzu| .G4zuKN|J^RZ ȹzuL|2^!_wxzQ,P$.^!Rp,nzHX5W/T!\ =rI q&+` IWx/T>+'.^%Rp,"zHX JU&+a g̗/TGayq9rIJ(zQ,$.| .^1RB\>$oό/U#therR2qtw/T irL>.]4zSkht~.\TA|.^ߋӾW/UmA|^Guƹz?5"4|]}_/Tte(qt%q[u(qt3t\#^EӕzFW@/‚Y\]] kQdqtA/Tj|d\RHtJ/T( ({ {sQ 8ˁ `Re/U_’ ^8j `E3\RLU.\I.`zep0 {QsK#q*=x\RI*`!uu+*^)\ ~P KW'k*^1\ ރQ Qx 𚹂  }0U[1i\SKhA *`'0TSp2+u*`\ A9sL#WWPP\SI du50TL A *JW$ރP~ ȷj *`1\ 5e1WA@\SQ2Pn@/\SK<\SL%\ `*dr@*3mB1TAA+`p2 IW#'A,`p2 B1T@p\SId B: 2 BB G{t}sHʗ jW0T-sHʘƙ=sHʑȕ5j #3y𪹂eI i^P`RJtAsHʒ+*GW>P .`T| xP0Tz rD*GT\ Y 1W@3&`R2]CU#GWFe#HWFuI*h۠0T)\ @uR  @| ^PsI h]~0TzxPL/50T} #+o'`!R:EsI A5 K*HT>P\\RBp42q|*`!RbNU0TjU$𨹂Kf5sI*+ U1WA˘*IT/W0T\ P `%RBރP .`%RJP `%RR\RJp4" @6| P`)T| UW0Tz\RR o *JT\ j%%*FWcNP`)R:t $+}]A}sIJU؟je%*JWbA0.`-_bA0`-T| Pa\RZup6, $+7A 0TWA 0T>o\Rbp6kj&*LWfm 0U#6Q5 h8\S'l tsL>AW0T:\S6Cj4~'A0Tѣl`5 ~GA0U+G+M@ \U`נ*s*f6kx]>P.bld5* \BesK8 @pG. ^zN:K^ T\RLU_5**FWsK#5EU/TgA1TRJ|sK%+ʳqsL8z @ p.똪`z𚹊 +gU0T\ރP%bep8$: B**GWS1TRb=P\SR55sLU:AW1TT|9^Q\SLgU1TD3χeU1TGS\SI tjEU1THV\R2@WA1T>E8ysHʘ+gª*#+Ԝ>1T\}b_X\R:)tZasHꗫ? GTAAW1T!\U#LWA1TQjU$*W*/WӫW1T]b!Sp:}sI DU$*GW/WP2.b!RB e\RBp:: @̹IJt*tsI* h\RJ |ikIT\>j\RJp:: DJWk5b*GoM@عI*t;uAsIjP6b-T|,esIjAbLUϵU%p<;sIUY*2xK k55%sR4|t95*?ǝs\S&A1T.bG5)sM3jEU4ht\T!5*hu\UA1Um˘M~_A1T< @ xsN>CAsNٛ.FTRZ]FT_}\5Zr2 ~4υUʘ*GW.PSI | S|\\PA,SK- A R2N8둕#*`A#*FTuʑ#5eHʒh3r2u|PD.FT>gʑ#+jʑ$+%r2uI*|A\RZ|*FT3eI \!T|>7ςʒ0W: A}r2HgjʒU@65ZeI*u9^RJep@?5eI*#*IT yV|;.FT %\%Sǂ?A##*JW/ˑ%*ʵreIJ>Pb\)Sp@MYRRep@qjʒ@ujʒG?jʒ$++jEʒ%+weIjyMr2IwBeIjx r2LO|FT_|FT]j 5ʓG25eImj Eʤ~AkH@ @\F!wjeL2h : A*S&bW|&FT \GPxr2lCeL1\3\@ A.SFj uʥ~/A&#*9V|~T\e\߂ 5eV@: A2UP\=5 yr:!~RQBꗪ`AAQr:ꘫwguK#+gЮGTRR!}ĹRI#us5ꗪQx! ]S|ރ>4\! oSH.q|jSI 2uuGTRJ!>8\CgAGTT|UGTRb!g.GT 3ruHʣ@q%r:eHz R2pB"V~\RZ!=\R2^DAGTAW#GUOsr:uK>Pb\RJ"R:pD*tuI " r:QDClr:KA!.GT%\8Pr:|>C\%T||RJpDςUU$#>#ITPb\%RZ">dRRA".GT>%꒕# M ˑ%*JW@χeD : r:QD 8> #KT+ϖ.GT!\n>ZRZpD: U\-RZ" |.GT gZuI)(\1RpDz @RbupDz A}r:I*0q|W\G: TAk2~+ϋ+2h"ok2f@ k2i?ςꙿBϗGTͣDq@GT"}|r:B[Ϙ.GU+DS3+JFV|r:~Ɲ|U|: r:G>>k;h#SlF(MrB1A#HU~$*^0{g /UasrBꗫ0 `ArBU^5 ˒/TC$*^-\^>L\#π *09jL1Waπ *IW`j K0U+5 z \#4π JWb3 #+G!R2#|i#*FW5 Hʒ<> W$*FT/ > $*FT/z \_>rBuQx}k\R:ajE $Ď>d!R:qxgòHj $+N>rBQy/ҮHTzugֹ!RB ?gɫ$*FWW> $*HUoA5\%_AL!RJ8.'HT)\^\iZ!RR/>>-.HT>/~7ϋK%*b/N> W$*JT/~> W$*JT/>-HT-\^ IJx U\-_A7\-T|^ |rBKgòIj5I|rBQx2rIJ!Rbuqx6IgW$* u h u ?A9\GgW$*f^=|!S6g˒4~/N>t!SF#zrB_%g$*3k[xJ $*zHϣ\ggW$m\O\z 'A'ITT| i'ITRpH z,:\z t.%RLU B3arJꑕ E3erJ gK(M\ ρ**@e**b AU0T A U0T 7* KU0T ggLUH: $\$gU1T 3υU*KWi$FW 3HʣEq|_\RJ$=|IT)\A$GW 3 HVBHUA\RRDYrJuIjʳrJuIς*H|kU#d|;\S7rrJuEA5*}?AkU$*|okU$*^/n> $HT/|IT)\_|ITσ*UGKyb%RJ**qu*UJ|t%RR/.> $JUIJσ5*1W7IJ9\)R:z ArJIj8PrJ|_^> W$KU3%rJI t%RZq|6r\-QmrqI 6\1T|_]|.IT\_|*IT%\_=|.IT)\_>d%Rbq|BmrJ#σu*h#: 7\Fd|G*goėC$d_|.ITɣOgjL%\jL߂QA+U3h%r%SGM3rJwAKU4dpJ)tJ%T(σ*h% ;\VGW\VJWAU[JcgVJI3rJdpJ: %\5x%\ˠσJ%_+JT_SσJP9W\z2t~)RIJ3J)RI5q| .JT_g LG(t㬀,.JTSpJ\pJ \ D/AK1U#s rR*Q+y)SI*Ak1T %*GT ރ> W%*GT WP'.JT0 3rR| |d\!T|n4τJ#`YyrRIJtJ)RBpL: v\%_τJUG0@H\%RB& |[\%RJ& ;N)RJpLP%*IT *τJU&+`gªI*x& =\)_gRIJ4q9+%*HW˕gòIj&|&.JT> zIja ˒%IW#gjIj0R\-RbVjI43\1T|`us\1SqwgI?gªR?|,.JU#GA 2~0z Y\GgLߌA K3hF3irRl0YrRgM>0>%*egR|`_W>%*A [G>W%* %^E۠φEj+φUj*#>W%`z'̹-S|a g\*ι-SH ϵj񄳠φjGʳrZeH %FT0:9rZeRa=ʹ-R:0t\T|a_Aj/WE>W%GT0tI ugRI ?φj/WE΃P*.KT=*\!R:-RBqQrZI!3嫒$$3rZQ`bI* υUjU&+ gI*0N1\FfKwRLz&{rZmK[#H;rZdq%-|bt8rZ %Q~1 |8KTR3rbC>+GB=rb1t1RQq9k/T\b|9LTSq 0W!πRLG!1SK 3rb*z u\3χUɊ^1΃>&*b v\q1tW&*FW gHʣt1R2 l3UrbeLU gH |\T|bi#^1>k#FW3&*GT1>3Ϗ&*HW!gI }\!RBS5%Ɋ=x'}}I*'*3rbQN5~\%RpN(jI*8ƹ1RJ^ : \)_/ψɊG9IJ9/ϙ.LT%\U %*LW|).LTt|@LT> \-Rb''q|A.LTrAɊG8.LTz'=.\1SpN : @`1Rb*`5I8(5I8+<.LTɣZJ-۠+pug=t8>-ˤeuxg]#0W@"3 tT| gkf S3VP {FbagAtT|N> de|>!HʣtF(|Bh(MF` C H4_9]#H͞ oC WH̟ 3)tɣ:q\WH̙\gCH̙@qD!.37(3&m86.5]]#2dׂCfM3I PrFd͞ I|4eItɜ<A3&Lq; ˤfLoX]#3~ _AAtͣਿLWH%\$qHTUHٛQ؜H٣P8rRJTxD[Prb5x*utͦx-fl[x)Et͜<gCMHw1줺Ff^`ߎFfΞa#Ff` "Ff`D.ׂ%l.Y+ǂGYI.4`~]#4fc/&eHWEfW`tѦx,"3F-<4D]#4f hxFh ^?3Fట]#4g/OAFhΞ *}tѝBȂtѓ h(<~U3FRx, \s:W+ iZ> AFW42 kh,:tm+`v\HX :,tlE6+d֏)܈^FMi Fo tҼ6ZVFMdׂwS]#&⒋dnZ 8B5<6FMi B7C%tΞ BOcPNFMgoKC2k=x- ]<{i]#5h- J +ipF<t3:x.<H31.g32вF^ l:.M;pdq]#> G+Ҽ*d@F- ]#pꜮ?Wv]#6h.:;- f\· 4Gtٙ,U4_r]#6kx0D`Flɯ6 H͚gZ]#6bmtٛ<f\H͙KItٜ<C+f;>.3 _솺FlΞ AH͙@+ 3fxd9.3׃ i(<z !tٔ :ffh'jh)U3AẄH4: %+@1ȉ]#8dph r"HG@78kg oe@t᝼"["3xl/|.3׃`2q~=ˤg \x6U%3`Yp]#9i w3fns傒4x7=(B]#9i^ + Et嚼܃BLnz,~HYNlT]#9i AHY]WHYנt坼xHY=ໍFtz U]#:h8t+3b+J gM#bJKgL&FtJ 3hrZHΚWEXt^C%@Ft< A(P(Ft͞Fto O]#:gAhc]#:i'3tt8  gLirlFt bFtO`v ]#;h; <3fv%8ˤgm+>q3jxHgQHضxx ˤgl-ut&FvӼ9)t휼Fv9q9t<p!u3zz zz#HIq6 g>4$3ƏЅɹh]#J =xB5bLєDރB2i_Q;Ѕ̚VQKPzJ<"tJ@_C M+4xE#D!.dҴ c\ɥkxE74 Jɯ3І̚VjRmr\ɥi@A̚VlbM+8xE]C1\ɥgOyJdҳPL.dҳDŽPƚJ/d2RM+)<"WA+5ߡ`1s&RxE\ɓZ>CMs&Mfoc̙5ObLΞD_C3Vn#V<'.dY(qM3S4"Ms&&Lɯ\i4,B2M38xF&q+̚ftQ2i0 |7\ɋM+0>㬆2bJxz6hF D(d͙F uBL٤xF 28"̙3x):!7i2 C 3vlRLݝy8.dL #uuALW2(\ɋ Ɔ@c5Am@f7˅قJq:kLUPr21U EglRpc!s6b\%3deQl>: hs6HT(נ뙲JpmE-RpN-RbJ<=\͒H;s6KUo @ ˙bps6LT PH%T!.f4|%.7ȀMs6<%@W3iP-xrH͞Yp\ͤf `W ,]Ak,x+f3j3iXbvZ3iXu Fz8*f̙`G1lɋ 'Ɔ70&Ps6f8*fقL T5\͙7eCuٛJ `s6f<&N3s6fӼ&*us6f^G\3fl4M@(e3b0W ٓˆa2%ضҼ(?Y`J\͋l! @\͋m3ˆYP7\͋lDG<\͋lDIC!ض CBW3b)<)f!Cc\͛4 @/2˙ff f͚W =h8\͛4 @s6lӼ)+kfzyMs6n^Elݝ)!lݞ<) 9s6p<)^=6\͜3G1A;xSxf™dU')tP.fӴ b+ jN\. Ko bCUvMxS|ovLtPY\ͧf `?.fӳw0GKP' `\ͧi`N^HNΞż3i¨򰔹N^Ny/,fӲ{¨7¹N 'AUG¨J\͜GPgkTz 3.fY¨q>+nz\͜P v\3g,T=xU\9fYIT!\͝? z :.fΚ>F3gM+°뙳X:iA\͝3Dž`Ǹ3gLX3go°tX\͝|+-eJ:lV뙳j)r;igl훼+t9h\ׅ͝qgzl\vCHJ!l.fg s6x͞K\͞3AN; f'fɗ6`s6xAAC2l,Y˙RxY ]V$3g#e2\͞g~*W3gd>xs6zDO+l,5=gO ^2W\͞!ǸI.fY Is6OhZPG 3Q[D1WAk3QIxL\ёGqDhJ_41sFJU 4.hJn> W4dKA4 b\ѤfO W#J.|(.h4 Ƃ#7x_|i%Fp 8@#:x_wB#;x_xFx8 MW4i=|AtsF?h}\љ4|0h̚GAQ.h̙8.h̙5ဳت2f ~:sFd/ >˚36އ!0W A͘1\љ2`4K36GW oƉ4flqͥx`i͛<0W4fm;-1͝0 K3G[\њ4|0J8bѦx` s"EsFh͞+AsFhC\њ2s3Ft :,Ok3Fv"5=x`> .hҿ gƇ 4ceIsFx^D&4iYcVf &\ѥf`,+4o sJɯ !׫+6xa|sF0~<ȠQsF<1",pJӼ1* 4>+454iY,+4=.hҳ׆0wcSVOxc{@+(1U˚5|1~'dD[0W asFbclA84kkxc55 b+ƠsFl#^\ѓZW1'W\њ 8W4i>NF%fᐇ\O4/rLcP`LҼ2 L fMxd PsF2.:ྐྵLW4iw8 .h38#r(LwLlD\Ѧg _K48J.h2{).˂b3(2>WsF-4 >\ыLasFl r4f+(6`6iB 6f 9sFlӼ2.h͙I6X4f#(xqL!.hWP yaL2ݝ2N-%.hIDt.hGQc`$8i^D+C;% ldN1;H̃k4gƫ4+01\ѧi.hӳgaO sF3 ; 4q?vr̛NJhӳc-4i1A;vPxf8 3`{le\ќ qsFr>9<3'dA'3׆`l.hΟ`c`@:hf \gxf3sFtҼ37F%[0: 6:i'W 3Dq(\ѝ3`t@usFt+V:g Ug*1*\ѝ|3xfˁ<3:a ;g 3..F=i+щ53xg\zxhq(6xh"q@˚3nH|v=g \s 4g᠝.hY@P=go C2{H0uv4dt:0x(4 4et ~!W4e&qXChL#89hL%q>.]+4~uҴ oT Qt_ Î f 8]+0T\7l2*bx$JUH1H]+1U ;t>Ҳ2*%t>\mY!_ k)t>ARY)Rbn]|.hnEҴrvJ37k.f '!WJ2kz<bzo.f orV7"UҴϏq]+H^\ix>rlV7-iÀ V9t#(8ҳ&EVd<8 ]E9]+2iƂY:xpY=xp\F˥fLD fm2Vf<87ȁt͚<8nQ+Vf^QqDkfm3ÉY@ eJٳÈ72YNXWJÈT+xJ$h%]+3gy+4|94Yptљ<:Y4xu<=YJ:(]+4dׇPx+3WPcytѦxu < eY6xu,˥fJt8Jèyhx]+4ilQ˥f"ZY=xv"r@˥iZ>]WJҳGa25]+JҼ;ѐJұm,ZWJҳg`cZVp EҴ@A˥iYðqH .go%y iYú!bZVQxw=WJ'p#ZGreҵg偑tmotlxeҵk2rZٳø|UkkgKƁUtm;øyWJΞ+PjVv6|$JW˥kg7G d֏gPrVMitҼ<F5ҲkLxY5<<uҲk7xx ҲkNxTKYJɬ'8YTqT'.ctգ.t<Vxx 6Ki58qZJ3geCҴ@*UҴ;1z]+LΞC:Zfx&8ΗJ2{7Q=t[hyGV-GKety t@4|<9+, kf#*Uҳfh .kf+?Y5bxO]+8~ANjg  .4"⨏]+8fo ȺVpa_ b]+8i^D..5>^4Vpɯs2.3Wчҳ\6]+8fcpVpBWC& g ;N yp.q #:x.7Q!+Gd|- gm+0żJ٫0 ]+;i!?0Y!AHkgm;0V̰3.`ŌLavXJ8`,FVv^ `ƺVvOecVxܣJ."WJ>"&]+t>"CvVPfO"SutҼD9AYAE ^Ae(yƙh?]+(3gCqtӼE, er:N5Ҳ:x<"UҲ;x5yhA]+(2{Q;@VQh'[e`"?eҲH .YPGLO5ҲJ˥ej +e(ĺYEEIҲ#HZ!_8 KGhcԺ%_8 kUGi#uJ΃> W[%+46.JU: p[%*KW{Yub#Mz pW[&*nɊUi|&;1n]m#GiCu4 \W[H#@r{]m#L xjihA +h+㜴V8OLr3]m+2x thVfDXbVhe#eҴƼmGfǜ [JΞ#`d]m+]l7@2ٳN"?Xzٳ$@!-uD(q.p$BC"p%+֑5>C&ƏP KYJ,4rkHrE\ZGP vkYJOب &Mu>ɬun;Mg>0r&n]p\ZwP2: Mdf9Md>z5Pt: G Z<.j0ZTzz \՘a 뚳Q0uY)Tz4sVa#2ut|.j3GQ6 5sVu2#6uZ˚@3t@5sV:,5i˨ qA+@y#-ZFv wsV:esV_W 뚴 =]\դeQr c\ՙz;DŽY  .j=D'YH sVh͝DGY:u ^UFv!SZVQӏ2 jҴ5D2+3u*5iYr@˚3*qD 뚴Bx jҳwQm j\եgDjҳQZ$5iYۨn"5ZVx*x- *J.jҲOZ ~JNWȁsVT-t: 5}EBCVQP"3*ƹL*!Zfd*:9ȡ}sVv:YsVv:`sVv͝BsisVvB}X,.jP%: \՞4za?h\՞4XuL%5gnX~ru\՞4ΡXt: !t3G&~3ђLŶCrfl /`4^? +f" 3f8,˂陳L;B2陳6uy+.4qD$.3Px-:53PxsxA.3PxQZ,.3Px/WL͙I <3vPxv+f#< <,.]37fN9陻Jr)Z陻LPpCU3vnA'C9]37g.aR]37gn29h ]37g4y+.><:0pfpC2H ~.tᙺpDw!3h c=tup#]38kuqt]A@$e]38f^&LgPS|APS"3l ۖet:YLM'4zN3]38g.x':qq4 .3PTNfpAþ\(3P~M]38dP~(NLfpNӡ'iP~c4Q]3NAxLӳgP~:!gg\H]3NΝBvvU4 8-Kg/@3qآfr x3 (c̺frB-rऺfrҺeʱHLY@ KgM3A<LΙA\mU3 ^7+gL )ഺftBayhƺftN: npfvGA3rwLۨCE gl!x'Pfv]BWL$.> 0t8.4z0ZWLGP[Ŝ .37PQ㬰WLWPxˍLB q\|7]3.ZgPXy $.Y\Jq9t̢Bd]3(\t]3GP7"e)t\i]B{`_]3gP :UŦn]@0vWvjW\ZigPN3`qigN =ˋM;=uPAq#\ZgAc}qiwPeŦz@+L(*8b\ZgAkq*\ZdnV ];m p>\[f `ǂ qmdP>%Ŷ:,#8-'a+`qm4z,'t8-&JV }; lɧuXWyp̙Ia`qm4 |-m+G#`ȸҳGP_$e)qmi]A\q7\[iY5Ŷ:ƙ`H\[iYè+8KVr q;\[iYӨ+|sBJA\\|WVx s\[iYAŶA\xqmYӨ+Bfl l\[iè+G˅ŶwY8.-C’6iA\At9q8iA\AK,):OaqqmgNcY, zNˋluWTqmPX8G, \5uwC ;fΠO4! qmPX: D\[glˉ lu1cR=gN:vAuChB*)4z$rl082.l*ρl .l1Vx}|6f* G`1UxysfGT/; 4^&:v6i=C; ˛40*XI\٤fn&l3GP˕c湳Hɮn4u͚FjU͚F0(q)\٤f1Z#8u q\٤g.bk\٤gNU&\٤gn_"#E͚Fx- 41 \l2bV*U͚FRu B b2iC) @/`$3h Drusffb#.+36f^\6fm+F9p!\ٙΡoF3g{&3iB0p$\ٙPEUlPIqؙ\ٚ4z`r4fN\ W6f#Uѥu; \ٚ3WPzQUsfh:`=e\ٚ42rTK3Fr_C#5͙;uÊYp;\٥}B0t8fJGP e sf+PosfPR1Ɋ+#+Pz rG\٥dujރW6iZGP~*͚Vf'/sf:X/.lҴ$X\6iZBI3P lҲkI_+ǂ+6u ),#W6iYIYa}sf:}ClҳPW6iYӨI dPJBH+@)lP zz6gm$Zu:Lp!W6glAsfvӺH&휺H(q'e͙&=sfzC$}=$.lYӨd'tW6g2+͙P5FQ(HS7i.r> J.n5D'cHɮQ%1isvut\ݤbӨ'C@#E9sv: XyJDĮ2(O\ݥiD?ȭsv:$T+FBz+(d07i]C`! ,ngP t8/nٻlN v6isvn]Ca227e'Pn=C`ce@8iC`k\ݜ4:X7g 6=T7i٣l1vMu GC K6 %v6'%vt (d@FNCq.nӳP܃Uvz8NnMK!=svRiC=p~\ݔr CQʱ87e&Pq'I bp\ݔgP!rN+7uFNI:!+bp nL9 osvRgn\XT)3P08V)2{ryV'8P589\Cp=\*Pcr1U3gN@)q6pP  ͞z0޹3e'P"xGP$4f (^IK3FbB:qD4dejAC 5sh:2\\3GP:l4i]BqX W8f3R<ek3Fl ^\4H47.8f)-8f)Pbsh]ApǕhĺ +G.81˂ +H 1<pҳ7P\ 5Vh 'ܸhJҺLO8iZ@& B!W8iY5`ؠVJ:Lt8tJ͝@&+4c'x\g mB +N0+.pҳP Ni +;ul<.pҳP uek4@gƙh\eP 'x \eP )ysP GdL[L@ (ٳ7G8ki@(%x  l~U l7a\Z=@*g K2k0V·! UCBAsMf=&2"&Nu5uΈsMfΠ{&P]85:ny8dz ׉+.pZGP]ܯ,8f3.WfP]i 48Uf.6Ɓs 5flrWC 37u|NHL@.Ypsufy`4\g. ܫ%fNuqX 8iۨ\g.~L(9`A\eP ^,k4\uL/pŦߡ`s-3P ΃5ǹpŶKǁ s- ܫU:`.A˜1m:`3qX1pŶv x\4z`@qD3\47L6i]@0":#.p͙57c\4Π̸p͚wP t9`J\3P 2 ٔ@2GvDW8fEGNzOW8f#Ox, 3v _8T7i@2 '.p˨AC& 3vvkx,.p=@2y^'H8i]@29X8g 3CdN8gsspӺdDl\2DC ;-xpӴzkǸ.pӴ;5vd_vN@4ccrN@4gc\i]@4evP P9s]@4 Evj8,.pӴΠ Vs:h5>4BN@6O 4;x1slq[, 4`璱\gn ʗ8iħ,EvzWs@8V(EvPu7rs]@8W8g-#?Ce3u+|W8g,ʁZ u?\R 3t29g E92s=u&EGC u9`[\4)t9.pwP3˜3rsv@>,/u=u@A.pAk<}@>zP3ƏP]A[- K3IV ]&HDW8g+I.Š H:,(pyZ uwr\3gPF` kkiAK|WNACmtlF ӵPay^> ˧d֏Pa"5Ӳk0Vzx!NɬZq8L.ZWPaK+.Y5@C25u/];&PaoӲkN WNɬA_ 3UӲk;uX3];&Pa zQQt3G0C*.fn!Qfh "/hJ];Lɮ5x.g;K- Ki˨1r|N3Pb8NŦއrضqDض @]t[i]Aq;".m31 |v-Pb }=4zOE/];6iA3;- fCLWN͙1iBٳJqW2N͚gP8Ēٳ6u9?偭tٜ:(8=4' ٳ;u8tYvl@No1tٞEqC- f̞xeӳvPy" f# )vn̝@PٻJYr];7i@Px(Nٻ ?-Rӳv@pvn]@P%qGKf!ٻ):89vp:t8'.4z㼄WNYӨ xӳv^6At:b];9g0 )NYIȺvtQgM0HGY3'PAr3uEr+gL!KūgM+ Dg'evtɮ2\katuב@r@d8.˧gLAget:N'@vtӺP(];:g.3.mW];:gN3$@;u䬸vt@f;ˀb(:Їu];:e'P }˗NPt8N=@hN\NWP^w5ӳj@IΠ4܇iNٳ Agl[];;i@jq];;g.5z,|&NӨ H\Nۨ E~*=t:ߋX$N B/cӳRuRqY];tu8vx@lN WAZvxN6NG Cӳd`E KgSUӳMu ];=fΠ6\NYè $vz]@n +gt6.P .!.P8N87|T d+Q vOi]@p8 =uqUd#∁];(4zFrn\=];(49$7".St8?WPpCA ǤӲ5u.tBjAu3A˧eldvPg9 X5Ӳ9uȃr"];(3P~B˄Ӳ ˜`d H@vees:S\Qk/qP!.r4Π<kEkyBr3P~ 2 O\gn<˜H]@zR+9Ƹ 9fM#A/C@sd]@z vW9foA_C@sfaƘ9flu☼3f=,9flqƹ3i@z ˂,͞: P<4hy!.rGPW YJ)xsh2"\4Π>E9iZ=@|yE#?H9iY8-+4u䬰;rҴ?qB%rҳgP9^B+esu.qH"rҳP>"%ZVtqZ9iYۨE^9iYA+ȢUsuEZwP .,/CAsMhT&wP 9(rɬ,գWYW9f#GbrZWP :@9sj:$t$9f;+Ȁusj@B,Ք@^)Zgˡ!L"9idQ2L@#:~9iWP j-36u + $L@cPL]@ V)-3YJEeYL"G 1r͚wP!N4,ٞ%7Y):.rC ˜wA1Asn 7i@! fl7i]@"z jW9f3oe,u㬄p8gCt8(rӴΠCZ9iٳ~Ue˜d~[9iwP!^We뜴`ors: a,뜴bP|N@GX9io+00ND4|S+P",rZGP"~W,噺q)˜esr@easr:8rElAL9g-;18Y:u2/ d09gƛ1}st gS%st14@:dej cCAst:)n>:\4ast:7(eEst@:T.rΚwP" A_"5Y;u0vkFp W'4A_C'4AC'4ACL uͤuPf]A"r|&Nfm;2'36r 7rh:(Qx|93'Pe <'3FBCKN Eќ(gqbhN|\9g:|'4 ars[H 듚٣2_CW'5gPe<'5!z|'5Pe=>˓5uQʱ\ZGPe>2\ZWPe>4\ZwP$q'3VvW'4 .Ni5 U'4 qrsL]@Eq\3P$ l: Õc.93GP$|W'3f ?q!\͚wP$| '3v 7rs7fNHu@W'4 'z杜 Gr~)Ng-#*r@SX9WP$"rӺ$k:$u89G?%NgMI!t9rs:gI-q \ΚwP$:$"93P$H@ Ƞs8)uAs:8ErD4 躸$.t3P't2{Gems@z l :iI  3&P'N4@Lɦuxx :fL 'usf\3P(tA?C!shQ}JDt8:iZ=@ xe-s+P)t9.tҳj!_su 9h\fNR<"ΚVf!3&XW:iY hĹJҺPrM+[ eJɮT 9suxU 4 :iY?4X:iZwP{TL.tҳPXtҲsG<:iYӨI|!5ΚVvTX:iY1X:.tҳP+M+'X"r.ZK4`\魤uhl:ki]@^)ΚgP+'e slaƹaMm;T\魞:]C"Lq@&W8DL@Yh!sMi]@ :d֙ = 2kNs~U:dvs΃@:dxrA 2k=uLW]s\隴Wk4W:0\i@ 9- 4 [(\fnW:Lu ,3jCˀbLu&̴.tB(\3wP0ΙNsxΝ@8 3v|:g Cn9F5Ι(:RqH tI BC"L D>":L=i]@W:g @sdQsz@"Ι9u<@k3v ƙ9.t#+0'b \Qt3EDΙAuy:t 3C!)sPgNbk!sQh* EΙI c^B)4Πc:e&x1%9s a?=s`P4~ vGBE.vUيHn띲2@}@K2Hr \r \GD7CZlzHrsIT@\ W;dKըDCu)SjCFP5!|.v4jGm#2uPK BC띴nj1\;i5 @?ҵFlXW;i7m#8uPyst8v3P5 Mm#;uP6pkp m3HX.v3'P8_";iO. suIs"A 띴̚K%fl1ʹL@xBm38u5w-W;iwP8dLΝ@ ;| v3P@H7.v3PAr(v2{!k .v2"rd\b"X\M; j%;bGPȉ;bJ"'AKmuw+!s-P9^D'.vŶx cRl٣@KEٳH#N'dPl6i]@ eٳ[CٳL Ax\4r8 ٳ):qA ˝vP97!lݤuK㜂˝vAcr(8\훳P9? lݝ8-+Mu[2m;1C@Esc7 "N@*qK vP9";i٫CDbm;6u2̹N@ :<%;ièdN]@z \gNsx!W;ir0%W;g-s]BUsr:FJP29ku(q=kjP(r\휴Π7FKlP9B6\휳Pwd#NP]\;g,hQ\휳P7CE9:"띲s=uUGikfA \3WP:9h:gt:~;}@Fr;h/`r\흳j@e@msv:+X;gm+OYq9svR5`sv:aAl:2t#vèC?హ;i@9f*v˨DAe=u\4z^\K\3jaAsxU?C2l񑕨_CEHaN\H\37P;5"l:eD ƕᏂl2vgP< rιX;gf|%;u|!;d`bsPi@ ^CkJ_hl:XG`)3wP=^'1()3P=]I";b AYs.4zDt9V\@#z@\ؑ2H/Uz猽SP?t3Qc ƹ1U$D˞22r ȹ$GV3q4.x4z׎ H\fN]ˀ#3uK"+Y5u|j3iA(T]\gPJ#rµYN A;6t AO랳6v A[僕Yz2{%FNEY P%YG%Bw!壅YH P+.z͙%D9slҺXgY.z͚gPK Y6ua slӺXƙaslA,.z͙Iqؾ7hY (zق|q@$zيq@%zGPKw*Y2uP kvS'zA.H2,7iA.L<ݛ]'Eݜ:\뫕5Y9uG2ݝ\tz%3Īৢamsp:\XI\3'PKnWY3uMXY4u,%YJ 'DzA0 zz&?C ˞r8bۨ&2sp͝A0x, Kn ʲ8go5YN r8g.X=g Cy`k\3PL,Yasta\1zΙ㟄;ȢsvPr+?rP;i^6J=glϨ'q>+ϨDh;f}@?ƹ @zg>˲Esv͜/V\>U\!=glϨ-z۟P5q5KxLEeY=s򬴆;e'>|mjYG>:q sx931H3.z> sxҹ d0@Ǽksx}(Y=s=]Z^=쿛eQr{/U}.Oi>C.Oi<i.Oi`m\37>7"=i ]XI\3g>G5N'Ϡ+\U Ft˓FxS"5ͣϠ9Oi_> 9h=h hn\ҳ7>堕r{J7r̹=f}䜰-OiYBVOiYßB+- VtЇ(=gn}PY95.OiYT.8..Okg}Prp=i OiT8ZW'Ϫ . fϕ)hA\2k* 8G\3g>TYZ9_d=r{LӹІ=gN|^\c\3>T - fxʂOK'f>T9^>ٻG* ;kvfʂ*g'3* \NBRn|:;Oiٳ*RBz9'0=g|K8 W'>3Sr{:gN|f 9s1C1C5ό9hS\Z'{G}Z'{:s1[ ظҹ <%.P>3}Z p3W(4ό'AkFό?eerH͜)t9h[\3>3 ܯ- Fra{1AgN|fyZ(4όg+C:9yhl\2{+SCrZOCd9A"d͜Yur3hd^ ͚A|YCU +G+$9hu\ҳ'>Vz;.PiY+\PCse.7Cs`orJ͜XrJΜXVZVv_+4Ad>V~\ΜXWqr5iX\yh\ZW>V զsa2A|C򼹮PfKːPi+}E fhĿE#\3g>49prLrErL'G(4ύ(3gύC(3f>4^\D\͚W>4u ٦s@ax\͙IύCCpƀepҹ]x v>4 EKvdƁȢ-rNƁAg|hO˔vύC9p \ӳ>5.Pg,ύGAK:sQK\Κ5$\jA4|jRYqt.|jTGC˄ +>55 \rEP\rE^S5,Sg5\$+>6}nEIV|l=\N\cˎ(Qwˎ(K՟.U`a`-Y0E,U3xG\Uˏ(Q,Rg|$Qf*+>6ELV|l;-r#+ύ_CQdeQ?ˏW(2*ύAܹEH_W(2N|l5r#*>6 EGR\+>6 =ÂGT JGTύG|)QdI*ύWC(J ύC(Rgϡi(Rg߾,V\Jύ/qr%^@(Zeg! Y-RJa g">6=ιEf ύg|(#|5.Qi U(ύbjZFh: ~Ef|n5n#(6ύ:ˀfҹocrf\ܙƘr3f|ngXkYN}\W(6r4ˀ r4f|nrJk-+3sp=xEf|n 8-+9spc-+:sq|\ҳ>7 o( 8.Qkdg᷾W('>7ܹEύ×.Qf#>8(VύG91¹Efn|n\W(ύOx\3>8WH\3>8xĺ91E,.˔YGz .QfώorHE3G>8=rJE4|p.t8Qfώ r7i\r| (ώ6Ȅ-;9s_r9hiX Qg-#:+YJ+Y`\Y5ώC,9eO +YN).Qg,ώO)r:i\䫎\\ (Ə>9"*x9 r Z\",ɧE4|rw2.QgώEar\۟}V(QgώFN"*Od>9 }\ 3'AE>9 =\ (G^.˔YI|rR>9 \ )4~|r,er/WF!Reϣ]\ W)3y`%r0U}dIω>.khߍfIhhh&4}p~\̚w>&yV;K=siwCÚ&fgIg>&)36ω;8@Rf+M:NLѦsjn9rJ94erJ{ʱZ&sh1rJ.Rki*Rki^'eMlωbp\ɬω VI|M'Lէsh3q8G.RiW>&UM38sh?`\͚W>&UkLcB:&l\ RGDA&n94Jt.Rfω_1(I|v ZI|v4&nuA&pˁ&pb+ˁ&p9˔3sG!Z&pҹٷC&I4|vNYpI3>;(YQ\ӳ>;HRiӟ..˔vz`r9i' eLsyYJRg,ώWCLar(\Yӟ5I4|v RgM;C@r;h yh}\W><˔LLjB&vӹzL9~I4|x,O"LxW)3Rsþ@)2{HDžUuLҹ8..ReϏ+C&Pf|xz Iw><uLǀ˂2&Re'><}\#.RbǀǡˆEL\hmpȹI+.3Ϗ^.W?>< } #G^! #;s!qqg|x-K͘><}\V><" +4snXVpǠ@1qqi 9Vtǡ2ҳ>=~AȊ.4Ϗ@3>3>=.U%Ɲ9 \Iωϡ˂<3qظ`<^:Ѐ:0Wυ'}3Sٟ&!_@79πΩ)_@sBKWm@옯!jGOq~dSYߪ14@qDP/8}眂bVydaT)⨅ip˟ |6џߍ,lkǧ+'~7;"KYGN@+gS'qP uO_&a-{`%SJ&_{@U'hsЈN\~;/?p7S__?O?*W?ȿ  l_$ % :670:#./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data/CZHCN.POSsg $ :|/@ABG#CDEF !%'HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ "$&()*+,-./123456789:;<=>?0{!cͬ.ۖu`bط1cu@=kU]ȻpT]Q L=BnTJ[MR7Ɲv8n3⭎ժL`?KTWtC} wN6}OU&fS!j6Y5IqKcHݵƝZc:2!4$tvVȳdAf-Ry}.5AU$lv1uT`Vuv:nᵍv;qf v}Clf$ޞݱݵIN5TUQUH󪍚?U:uB&jUBSZb.:lsӱwf{YM蝼MQ0_lk0{M_MZm[q$e5uiVkR"ެvAd i{G?8moX]m验o#l4mi-P2cZv-!X})`k65\M#lkv>vM&]j.~ m7d-3_pݮdc"61wl;Fɛn&[XVzu%lcywl;q6÷c6孬U!7n87꺎k ŷ%lT2{b 1p]ͮ c=j^wFKH{k vFlc޽l:l.ƗNwm y@n籆62d[}`텽L#ͱwc=P2"v>.k%ixݶvM3={Yccn{ k^Nb۠uTg(l`_U{snۭ긋k i= j'dB =QGUflr~[ZCdQ; lb ۢvBOnmdcd}?cvdvױXrݸkjPnlv]cyVF[a dsOVzյwgr lgTͮnme ={acV 7MQ!ls)mbT[XkklՊZqNtѽlrքۻ ®kk0`Vƥn[a{d1/c`N6͐duFkla۵ld6ؿݬٶvCܙL۝6[n9ppݪFWmV߷62m9pnMIEہs6ؙYےw-pqM7n2܇$0kn1 ;eZm}p(w}Þ~;p7H nwݰulr&Y 460d 6}QCl{\mbzAܕܱܳ|e|}J}G5t*gq&r'/s;/q+shI\\O\)`_Ln>Hq?G1ރϾHtUo9N`嫚0"7N]`;}><8A}zz'e?v~qc{8CBK^N?2{?9+y#/Ⱦ]S|S\r5w^+:BwnZ_cx-#ByC\t8y4?8y3H|E;OʜS6yU'|qӑ}3yy\t]c^xۓym狹+ ˏ 8y|Tn^~OgƜƼ^^7Oy ~fpGsg$Ñ\9k!9Y9a|jO%޸O|wŝ1iNUs܆&=3/y_n+swiӹkb?ܺg#wU^8Ix(>0E_xoL|?t_,;wS2up2 [>ʜx9q/u/=qs$ LJʼs/GB6rNUėR}N/[Mݙ$?'r3ZoxoppFk,vW=Q,2Ck9Q~&q?t?pSg8P}OWt/n>dyc(_3<|\9׉æ#ф^1v^0(~9➣IH[|oWt_r!qGt?,qD!/7'ŏxNJ8zPhI \(]to>=0;\ng~]r1ǒy \A'#-X?~HB&{:w>?r&("wTg$AAWLNꜱƐϏW8-qqo憹n&ȜޟЁ>aq>v M̜y7yyɞ_Gpx_2)rȃr2CyIzgXE7cG:._(ȾD ?AOxӸ}P9+yNʼUz qG>?)FtWf9/~GwJGRjI?ud`m!Ê8ӊ\0KX7~ONJ9?y3q8t-0Ӌa|rzx Uӹgyk'~rwrdIpV.KBz/HĮMXGv^8nƼeqr/%z0+ ~Ewf9qB?=L^IrWig8e;O\{<.𿉞щ.1%ppM>IG$Lk1ϑRxq\ .q;>z/:%;G9_8ty+uaoytW#"ӊ0ڒ|\z c"E܅ȘWeEq#gmGpd.Qܣǯ 3zGq2t{">yGv4i$ HYΈ(Irm;h%5\/k$Npx$y&\Ke\X,Hb97ԒM!OF{@8\μ|X I=p=Dt)q<?r_(x9D<r%beSnH/sr_$ߋpṣ_yy~i񹃬CTJ :-splc]?94=,!~{u~X60C<)| `-|i< r7r5 3 ;eʾ?,zq#) qwa]7:%q$\8p[Dg0>P^oF!W-s`syb B^!/#}ŜYŞ7+oMNP,yw^80??9VUˏ]9ˊ9Cvx@Gs7Q.}n;tNFVn9uxߦ<(]ˍzqoq)#`Ϥ CO_ @qWs5eP| A󏹛9/~lj{VށHW;ƌЁlya9:ߺ%s,?l99 ;~DM>2p+QIz43xE7}˗ m)I0vGaݛy"`s';?)盙MzCODq^ɸp[D|0ᜬ9=sG^Mc8%PoK䞝n@yuy{Gs7K^ƼTvO>gI$t+G#ݽ$#zx=7cMƼS˜@kpň9j|hVgL}1l}$y%#.E~(5<((s}Ǧ07Gư8#9!rxow=ToY'yFqr IwY$[LcH4s'n0IG5z^勳r )ᯧqs2ssܿq)#xhJk(rw=n(Baޣ.=܍Ƚ?0!/8ߌx  >$zNG"t@NB䎝>rW_M3 `:g& } ʌB`00qkf$L:%P1X ZƠb"f}Ÿ t5&gPoѝr.%t'sWD|%qOVN-X+3t.upw*nzNʜ!!8%[:7xswU<˜kz7NK^㔃17#x mg\ͮ~]r"$r; <1BJ휁ݣ֓}?r2OԹO8%2H7q㞠ܹE]ύ 0|mP|qN|u&|\~7>(xxnqP^Ca:Wbt t.sI1&nHt)ȈzO!hDzpb9cG\}ы^;tb.GFW6tW|.:|{@s/q{\мv_Z8'Թg@O~и!%玓n1㆞q<>7O9a(]xә$ Rd…?TN+|W@SᾈpTڹ,Al9k| CμY(`< 9A#׹Xg Ŝi\ g;k|p`8ȄG*uWtΝ#9w$sr>'x(A懸@MyOόx|`r@AVX :@%tJ49gq0sۉu+#ư|P\Q +> b'\2z;a-+z+rgyHd[;tW'4rhޯIuלI{9zoMs:n^NG/,,!sBq< ]徣ŜO=\L(εb%t6X/;9G|>`I;~ sNXB`K|=]7Gp `Q tk"_9:wR=bnp8<A /3@|,Psw*SAѡ`4sy|.RzG8I\Ş_qGV \ŏ}= xRɆ^o)#$.P]X =ˮ4vB/1jE%NzF糓83+Ǝ}4AOB Qv.<8tw Ï\a%sq_#qSC=W#857rol s;=e+=QN|y\gNi\ɞ;#wM sQr'=#zV 'n~[ sG4rOqyqgq\ 2_ sG>sfyȼ8Ԓ\WM濜q%e.ZWlyߋk(ϋ8qgD6Hq9'ٹEʨCuO95x:bpoFao oԠ)!ϟ9(lQu=Ǘ8璹w:3 ϙx=iu;]_Iq~]$h'oaoX OMۭ]79w# w;pסa nplnq.J'0sƜ`,VO}x@h>鄛[(WrKSGG"D\ Ka_r|*{^FAl8Fx[#`8˯{]9OÂ\\\[\\[\\\m\\[\l{\[l\>7q\_8qUL#=X 7`>>'7;@tA4 N]78|#ph윽8^cc9O=75bW0t&v:## b_"yDakqw?>ϼ]Cܧnx!>n~gs0!ܞ9ג{` <[ɕhN^WJBvx= u:=v,y3PMgwnI_+{sVDp/zhs;V!|׎0ު &&Xms# 7 Ap09p=x~pO93" ϜwƼ!8 %p 3C=d5x5n{guTW.#Cݓz[ xEӑڜ]YY[ם:c{CsK:=ԸSjj5vgYi6/@VvmMKe6Mm᝚rs)5.B #6ApbG7@7z}:l͎l,ː2ftڜ]\ޛ[Y[ם:c{CsK:?]y|sj\tmMTB=MOڙ][Ѵ<4SiF6qKu663]rO|Qnkgj/\ 8qSߩ޼Y*ӛ!RIuͪ͹y}>U{}\oiam]G73=776875q˟ʯo,--!SK3 z3LohnE[.1޺Ҹ*mMo@Myѩr(pfb`-l\t9rZ]^_^^Z`x;$QooM-K̭mo4[koMfv'n1owvW2}G8"\ŭerq[#G'f:mN.p޼h6NSc˛zĦԍnwkj\ 8SjypgW'1SjECv ɕH9;09BH;9018ȾI01x(ז lY޻qdrsH1-5@6-H{z+oQA!BCnbJs:@宧ݤok] ('}G^ODKyϪyg\z.{~Iusr6|;iG8|9LD#7[yc92p.ȓ!rv?V^vG:Nst!-^9'iRb?q˓g9w,!i`Z8r-˺݇ngޣl$;IuyxyAtϺဃ^sGY]Nh'NagރϾ殩SٽA[Iuΐ]W l$;Iuw]a$&\ z3t3&.h:;6K{|D5 +a&+x +]l VN\d|\o|鈶NA;Iunr}7"]ILۭ;95A;I{u&8ϝ;p!'i4n#e``;'i10t%^۹8_?TCun;…'iQa{ϖRv~l VNrzݫa=Zr߭7*?Z(w{A9[Iuav%}{Uc[Ȗd*[~4ve]or}oWPjIu^qmNl FN[v@ޣev…'iOqğnBTϗBspal ܝͺX\ŁVl(Rv2?7o7[7[:g&m 2zr K\;nַl SϒXpY;IuV)^̸ r=N]lzG+/9j\;G* :wYZp!ނ\˜i[9+_f-ad&No75A;J')Tޝl nVҡ}ߧOysGwL-uw`0fvVy݀x98"xrN~F;c?o#[ ^mvrvWH-7\\M`\& y:@.J<\Y@ԭͺ=\^xjqtōݰm'm)uɝB[IuC.oEg]s;ad' ׌ >S/0g(!'i1n`0.޿l BNgokyy.A;Iutc8TMN \1͓1a7\FoM[_k[l 쭦qK۽JIr&wTSxm}wb[w]/_5 ۷[wZcYOڿl!ܭǜ;.I.>m]u3 xlMxw`^ CNӘNӒuh'+in\ a5֜ o׼2[`t>a˔gvZ,)'i`{o󹛻l BNjtK6$:;]+nHä!>z+'i`^ jvt-nz5$ߩ;arvQ98wx͇⮙X0÷d'!s.qEu.[o8I^qGMeǻʶ $9n"y <\k;|NB9g8x@ͷ3nG2iI;avO3q_l RN^hz[7KFA-#կ#JtwX :|b{4q/0r$SLG ;w;ǝs,l Nblwܷr*_&?%sGv%ad6-΂qL-[1'7v R=݂_Lw\7|xԟo|{9  5h|9\M2v?9{nF㥴[O+]ygp^+0U\P᷵nx|a{ʽ7z<6w6^MH7'i_d7rnͰIl{U ӧԭU6-yZ ˠl RNcpy{zg?b+p'`:F󅠜ժ$%Ikۭcmڷ]8Ӓ|LbaRv9ϓ:N݂KBY;Mouw)N= .'n_%tm;M{u!;OМYW!3w#ywka2vVgzw|݁o n1'if~puq:z/Xl bN^rc*yo;r^6Ű;Mwuw& z\3r6v$5| t_"9`o;'iNgnh8uqϧqw Iks=Yֺg7qt/%'nN^~ɍ^=ٙo!`-5'inG݃}92@̝; '/v:%WxLۤ%w_gr#GTuܑX'׷|IܨEnY4ox<۸Q韩rR>ȼhބ筻ݰ;M{uC;??#ۻwT4ox<ۼZ Io;Rp;arvV54~;nϽjIRvFK_ ol RNaFr/>`x4 :(oZ Il{?IRvgwŶ5'ie^9w[eu7m Nb݃>@B);Mv$rWyHH8.񵰉RvFKTxְcw~Μus^>PsFq"lw:= I;NI;9rwRrg&l(Rv.s8륰vf6cjwŶ);Mu^ƺZ In[}~B ;Mwt+%q4n% ;Mv'5sVțƖRvE@7^~HǍw`+n'~ߖ$5֞s) g)W;'v^BԅrvQ')8C9޹/y@D5:NNlv׫J7\l ̝ѽ~B;Mv ީUvpwI"sN _;hI\Ŏp]O- Iom]o-=[ୄoNhDNӛOB-x9py[a:[{ӛ|WNswW#:<ɼl FN`jޛ9yB^̏VK[ԍW0*n4o=;arr`#[7^@;uxsO)k˜qΞ'4on󑜛_?*m;%'iۺg:*4o&[9+ia-hޯl!ܝGuxEh'My{8ձzk6R5ߓQkżJkkcޛn55Q;v vF_=r2v6+IMo [A+ib(˜_KmniN,h*T?ux:GYuA[Nn \ݠM avz^E>5$٫7swW(sBMpS \&8R^l vVӟMAzgrI#y%-,l-|dW%W~NӟWAێ9'ɟyB [Nn ~GZZ<^˼l 䭧nޤh/xa9nN&9'+i^>r4Z#'i_޵E1WAg$|Nӡü[G8n^ -am:;[oDtt ad;wV#A'C?%Bwާl Gux_򷫠m$[Ԍe\i;a2v-d\m#oP>qyhAA;)[NսHv-=f絅949IǦ9 zŰv.X%t IsX7;x(9-'ic1ȨY\>^.O-oPil! Cuxƒ6z!׷A+i^'8FWTrNӡü[A&='ib/>9y@̝?ux"N׸@ݷ5fa [Nf=&3LD7" VwkaRv>\Oyl!nޤg0`1go[VJnirvNVpzۢ rvۇ$ط[7hrM! 9K1qV%I[NL(Wmon_˼el n |9mybB)[N=4aeu>L-z H~v A9;Mup6 o۩ Ӹ_w_sVA;N=:MV%m6מ.a;wVP_`HrS񵰁y[N2VFqW})F{H;IrW5#B%u8b@9'ia-7@xʹZ(qfN8gԍRv?95'ia'tgN]|5ϔR]!oc֧6o"[;'ic'.Yw vFNY9uהx^).;wV#AEj<ɻɖd9#<{ .Vӧɼ]C8%=^l\-TѺp~㵰9x@Kux` 9_ ZL{y6 }a9{?8#߷ni7h2zVӷuoR4't,5}zNӷuoR3`yXw- In[4=$fO^Nv.rM7尃vO2Gq{NJswW#EwW ̀NӷuoR4'w.Bq av{Ө#zYE]9{vy_0rV5} a$;wV#Bw(qo[;'ia-8);N^,(gv] aRv H3>yx7ka9jnncIo&7'ia-AQ!Nyad9۫4[j@jNӟWA۝=d9t]T}[ovl϶It7Xw4'Fov宯|-7Zh=#g5OMH[oPvsߒ.,[\w<߷- vFgϕqrl"ݰvh13laRvz pOO;{l nL>1|.Lb@~NpFrS7, [MuΊ>W$7Meer;#EXUǛ In[ŸHbDT{$Z In{-=aem6~1D瞊[[̖In܍;_&PރvVHs~3OC&ol! ͝.8xIRv61`GNy݂Sq6H-_xyr ?ynRNr|GyBA;Mu5ƛ̖n{[0|w'NBB [Mv7ZpyRNu-In{ yA;MuۗwB}rvV"]xwKa6^i%I;Mu|3tK^9$o.C'inL 9/w'^l ̝׺N夎l ۺɛ;wSh a%ImtInVIm[;<:KĶfVlv% 36 mQ|%v^ox~d[@׺p][ImˉyBRNjtL7 ڷ]9.5f򅰃QFH;+iC{iQŻ/u#γ!VoNż0A;Mv qO !7Qc; 9'?턕'in8w =wʶ%+iql(P8pWl ̝3ʶTǺ]'.i[RVܵK6|p;:r3'rwrVY]wvi[5'i>o=6n;9rIhmavN0 HsNr);y{ V瞩9oͶ$7oq 7-J^cW - C,>LǛnGa}=׹Xo=0[x;T6l^ 4&EadgwwV,@ĝݺi㾙Ug'zka|+\ޓ<>kFsG@ԝ󇙷"N΂3WYyx./֫a%;SGɶ?'g3$7jIá^w8}A;=u˒-оl fNlt)S]]8!uٺsl! ̜w>[3'g3~$-2v{~7p~I=);=uߵujZ{m;xƋGqG]턕'gtG…'gnzh%'g$ku@ʌNlͨMhڛmٷ[.S,޳l$;=u-$ Ήa}ah_swl&ull(Rv{38Lf!'gnm}쏼h)'gnd;JRH gV]f!'gw]h%'gns5>5~ܳ;d-ׯ&snB>rK;]u[Z IvRv{fXal=־"< w3'gneW7\;\k:2r%Χ 7m$|jށi<+ZN_N}vJ7_0m7a%[H'rXU?adw rxyY.\G?\Px99 x9cڹYeql;l#}klD?3`ŧR9|ypU'gnt'E'9s9˚g0s7=?$:+gmۮܓv ^gޣl ZN|Fvwy݇7mh)+gWkNA[=u.w` a8L? (w`0F}ـ#@7ug퀶!+g/JwYyo>odnV[c^}[ml[c(`1wp9^O1oz!+g``V{;ȇl JNπHqs@w_Yl ܭKuP^>5=WjG0+aRv{/9Mr2'ea$.ePlnvI ꐃrv{v#`{߫q ܭݮ<qW%q(R{6dg? 읟|\Ҏ@(df=~ z|[ꐁ [=\07o2v{~t8L ̝>W%m:<8yC+hmލw 7gJ VХGޭ Kh#+hmú J {ߧa6v́sx'+hm Lo<+r wvD9ʶhIR{f.>q rxTOQ(,3qP)+h.|%`xfC(eL, n8 c161c,c*@f8`3cfPf938 $<3pfC`eJpf@Q*Na@a5Ut21 eJvncapʑ2 KTOaՃ6(U7 1l *nxf`f83Uc"C*if̈́fʒ3p{Tb 9 c"hff12c @ɹ2 \ d2c*TC2 !pʀe@UFc7c&6ʨ2v5Vɡ(3a(fC7C1Ρ{feH2e N *LX4SUAʡ2 TU!3e^ eMD2S&U !PeLVO >U᜘l3hgreM3 ʵy3qeD3r`ffg̓ɱ2J 8 kMEp2RVJa@́(ff08 3l!L pfk^ U"kP C*Ul!cc5T `3@S\~Pʁֆl2UʊXff ܚWo3~7^ AM%p̀eI3tf5LC*pc͌ 3c6,cC5 33ʂ,3Y3XLX Nbf=O xf0q(ffHff1h3qfl23u@3s doPe\Jd7dA0`2dC1*L$T3[eP3X3[f5 ʱ33teja΁Ai #5A61C7 l@lP O 7l9koL33Z43`XQy ,3$ C5Ac 58R3^V* +@ffC5*Q1Āe@@f`3 O % R/ 79rf̀f6 C7GlN r3ZpfXf3upʂ 3bD23cfsfʨF3 adᛞ*0a82od ֞; C*bw̆ʋ8fBg !Sf83bff̃f@f93p343xA27kk 1abff f03X 3p3at3 3p3Z2 ހg Atf=ʬ@ge/L 033uPʲff03ǘ+ ᛙ* ̀ 2! q ݸ3X3Z03Tʴ@ʸ83`t2mTS11!6C*f(ffHe` TE3ك98 c xgy 3g`ac77o3a@3"8f03\vn VV ֆ k 6#C55 2l>ly 6(dQ Vf 3p3\0҃9ṗ@c`rfhfq$G nnnn q3aA5q3rfT3 ܎xfpy " 3cf0Ro q3̀eX@lĠD `s 8z3aᛮl 57 cld!C183̀d3s0eD )AL#]+~FLNH֕T}UbWݸĕ^At|z@y7wz;wwuwwwuwwuwwkm݁ĭݱ9˻Zۻ[˻GwwwwwwwQۻۻ;ڄƽݺwwwuwwwwwwwwwwwR [ӷYwwW7wwwwww\wwwwwwwwwwwwwwwwwwww\wwwwuw[wwwwww[#vnf߻|ޡ:8}f֩M>77j쀓xd70xT OcxT#o㽎Aۀiu`/z w_7uwwuwwvByM{7N7\7wwkŻu=1O6oGnKvwwwwwvxc>o[;q~xT[ŻrN?.o #t~f8yTjuW$^λkwwwzn-퇍uݐ 7]cwwwwwww\u{wwwuay3]d wwz'l@o#uۻSἛfʺ(wwwW;; 7v9l)o)lzϻay/dA{]-弹ރT@-5%w ޭDfpS+n֫wiM^a-Gno3n[﵆w7yz-yM'Um=yk o/i޳Զf]m㝎޼ɕo0jWz/}T`uay/dɻyknJ*U Gqn[ֶKwj#Ml oSM}ōm-.oksis;|mP'Wۅ;;f$okpvau!ۗuwuwYwwZuc\W<}ܗcp{ݲw=]>o;r5:Żw-ݎӼWsY?www`wwuǛq.y+c;xxtüO[qŻk;oQ[Sxxvnw7ko[c.{7qguv=|]2 nxxv#xxv0xxvwq;xxuX[xǻxxvǻ#wwq{xxv[yyvM wwc{ƛ7oCxxv^qfd=mmлś# _}axxvCFŻxw] [b-Î^wwnW̺/zGzwo6 {vTvާM@yT{`zEkm;7<76o-j`WNYەw-Ͱ{pygnJ]7}ysLygl1o.g-}Ib󮪀;Xyl!1m李o2mTEo6n.o$MM׻oo黻9cw*Hnn/o I}TxۂuYgynSڢwwwwwwuwwwwwwwwwc7Twwwwwy7wwwwwwwwwwwwww[wwwwQ{黻>c17wwwwwwwwwwwwwwwwwwwwwwz1[{ոջXY3wwwwwwwwwwwwwwwwwwwwwwwwwwwwݙ{śwwwuwwwwwwwwt^i񻻻ݻ[-I=݀電Or{]vnc_wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuޣ&^VnnnMMɻ7wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwfnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww_wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnW]'n!nhn}l׭ޣ&n;wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww[wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww_wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwQ"wy\wcw>knhMHۻ{ Fn&mwwwnwøRhK2Cp.,p%TAt*5!mTJNu 4%2ҥJ*TRJO@UDRT "XCDA,%XJU -<]{ Guԟv`/93 U+cSSTL8QNv XJM+'S1-jU χqqcK[gKWŝ::r.M< Մ%\I vvv26cvTմ{_;Xu4 URAuE34r|2^@cgr.=A3Hq/m[TI"[a MAy ߕr8"P Z4Ts%sQ ӪߗTMugH 78=r4t,rrrqLtLosSd3B"j R\oQoyFsS6h;acGbL}VKu+X5\ׂR\o!fP1En!n"sOSS>XUK1`ד3!s)rN^33U(1q 9J Pi!0aRޞayU  \}ڭ'ˇ8BfSAi&rX=2d3ɓ Fȏ,#|6ec-\8Cj I{>CYR(%NHRdL *úq%7 өR&8^ZdQ kuhF~nT?:ﴣ-]B?ƭ%'@Nbl ՁE:UZptDfjLчR[\N3m+Ž ΤF+5a[#= dMn8N<뇫Q_j5]̓n*mR PI!.Bĩr[h[[f\0QM9ӨF_9)#CvYƁz?29? ^eSMƍ~ehJ1TU4.(X(F6ѹ^,6H=eVC)6P*̠.zX a~Xs`y.)0 2y>̐9/ xl>+xl+xl3wErNs~)xl\R᳞᳿NsR˭LW#yo< /.)oMLj"+E4 XXJsF^jML F"#Guε $$(2T*?j[:YDt\'k76>PĠڄeAAy u MͰçu/.SG {MA*y//A//CO|hip`aMMxCjk 89`a 8/jkCS^٘Xg ^_/%b^_%u^_ۗF/2/y$//Uy k9y^_ȫ //y 6khfgfbfibI22m:I,lbQ8u xmv78d|Y͑Lx*3rI'~4jNx\Uw1u#]G+IJ__u[nNα?x/T2!n)FouhGiOp,Mĸ%E0>SDxn!BL7$J#<Ǹc4"Cw(T*=_aR`IkP`&NƢٍ_|!Q@CT1HReBUR1ǼǼȟ9ʫ(Wj uT Z7s~T&BhxtD׎F13䩯4)ZIXYr/a-ViI}Dnm*|z CVVV^UF^T2Zf6`S<=>-"@L> cI2_LWxƬ!gxG1+0󀜾FKwC.'K0G3ϜS0 %xxoUХBz:{!qu?3xË}|<}(V0o$-neGb߇Xo=Óy;GbRG; }Ni0Eݮ.~yf9@#Ox{8s,w.B>H~t)>)puFP\|VZ/)ҧl}q}yVƬUwq͓ѭ ,2gbSƘW[UB\Qy }W<$yF2X;oi>s~Nn3װ$|uMaDdGX~PכxծM^3Qϝx&Z>ĮM} iպk*1y>r-ox|y\&>>W q®q.8`G>Y<H;9C0)}WzcNOQg}`c ܥŲۦxoiv]qTPGG0z0 >M_/|^_:Z7\:ƽr6`4OϏoNo.. NnuqqtvY?HZ/+*\`r?3{CGX˼XC=W;\Y]s'q}'/^RG䮝8׏po_Ӳr,]ـ-C>0꾖X8 t~287>c[!r.Et?-f-<*zcy,GqO:sOn7͸ɝGg8Ǐ;U<<ͼ8@˿Ϋ(|SƵX 7yy 8?F?v?м\q//·ïp8{Uu+7u CXy?;o2szK`վobH.)ɸ;7MJ 9w?6q|z8 3#7g-En\t7%qk,aE`o'u}5{ߑ8 ܁9RF#ܻg@MEDNў;n(E.QN:*x; ~WqgQ>׎>.aֺO'oMMn}_GwdGu.A~J, tm?>2ni·=;toO!awA`óq?~<::-| mx#~A#xopa߉`G0nӘ`ߧ0rowǍqvx H\=ϋyPxrjCE<"8r&}gʜ8 84Iq6X, |u+ȯOTXSyKOn~: ysrX~J}HqϜ_۹!|Ϗ|K?-S?a;6H rw啾u>}GzGX ȍɹ 9lmoIE!_T\|z%|pzzW%aQYnyNw+g}%W*{ddQG@BPHWIŞ7gi\O, gKuN1Zp K{8Êxәp#&{At[LL7:NH8v2?O$9+NfNP02H6gS'9aߩs>9rw.P4C|[ܻǴ8R.Ը׊rE#KO+G<-'.:0Ǖ%x'T=%yC'{,\kGRNiNeq?guNU|m|}^ŹR3qJF^ū9zg/L rT9s%KƈWN3$hNbn .rAR222uާ|G;GI/xsNGn=g:P)K;^ Mk8ֽX?S8_) !߹L7fU?_NWH;_0?Q xߛ {5렸sg/1Svh&H7)9>&u_d'~FPh& Ã`㡙;Ϲ æ3=*hA|r0ǝSzu"yz] 9Gr_qwS8<~䎌Oӧ[6X_20a!Dy;:)f/ʽw yd nub\,pZp{\mƩ^G{+|/rHlg(vzz^/V4f}~dcŝ70o\8zgπ0-N6.L.,^?"V[§T~)QIO=Bxzo*R¤ފP;&\]s't o@ɼO\EOq=xX<>8tm?~8#'%sN=H~G#8ǒo+8~':s_<7tKO&YG&ZM˧'#_5gg^) $Wך:g!q&n-&S/qk,qf}18x7RIq:R.Qxyg– ;zC# n|ݸX:^efч31qql@'-&?Z}xo4:!yig# pXJĮ@>ouhW+"g||nX8r/R\gW[J.<^xߔ:oqsW4w.JS.O[r =񫷉r?qJNO|xGxۧތ~'/u-?xZ $p>Aq$"4Qn#?E`'Y8ҏ#azo,q9ws^.O9?8ӌ un~-^bvy.;>|i4.:eǼ܍/Oq# ?O҃n||^^)?l >Z^+.wʽ wGNΌ\π8q8^2WN6>#] R-rGb6z;,4Rn_?Swy8^R|F8VQL||j<&ds\7;L~2WLe^bJ/{oWQz3 qw(X߁wgt[X{%$>:gM7*;􇯧r*iy܏Rพq"yɣ:^8o>9~u~I|ƏyF~.q7S311q;xރG8ݎDO>.uD1qG#OhqK!U%˾'0Dn)j(u<$hFgWn]s{96=s~. 8Zz׍={4~`KԼ?ߒÍhkq/ǁC+០qKY:!7(v~,?/]\̜g8Xx]8ˍ]8Ər_KKn.\[]K*/4p9p7}\O<zq0/xËYظ|;~ zwO-{[k899~˜J˝w(}C' [g&~2bv1qy:?Irq( N*>beo|MGwǦbJ3;򳓧^^ۨg(rqj0>a0[?]Cӛh%&0OGrO"r7T:Y{mo9C*ΜM,fz7' CgƸVG㟸.7Ն9.70Aȗ וx׍]Xq?0Q]Wwqo!Q|Oz^'LܿKvh~Íx\=W+8ş|G^? ۍ8NU/d>;oqK/Z΋.N꜅.f ,+>XZP.$|n5`Ǝvyʱ_8VYpk@n!Qᷛqw%ǝ[ȯ|PGr"1@w~B.|l9`I՚fx{+rBMl˫y.lCr&L3<0g1p4\:sys 74`Sto${j` vJ;Ժ?co&K[[[][[[][[[[F8J]x@kfk9+s24yqC\n:~-.\<0|էqZXiLXg)rw7ny[Psy's.Va>R?Nnӧ:+Ǻ&$y|Tؗ=} zֹҟƿSW':wɔz"yXsV op4:sSOw/>` kN1`|3zxtOvyչ; u۬b9#x8+y_Kg9y9`ump&<{>#s?Erx>;8r̼x Sɘ /41;`N0# + $WTDʌwCe+ -ǥ%L:JNg<ɉ1& XZܘY17*#;1dzy:L]U@ X\ߋɸ=&5rdɎ?%DaRdɓw>c2ɓY*ɕ[̙12qMdd$Ǫ:7+dܝ&rn^ *hȍR8&3d90*QN6%olT=V8aE> 0*b׌DEdÃh&k2Vw"<w pa0D_bUkb X=.*ٹ.+ f*$&TԐ)qZ,YV*a$VH|@xh+pp~)6B5VC(<$A0.)hl)5+AVD*lRA$ZiqNHZ* >^,w1>%AAmXXZ *F3FhmD.OIl_ڗ8ݫ8ר4/rrL {R%;Mӊ_ۗ:R6r(7@?rc3.s;$G6?$9 <9.rSsj>;[\HM8x\^ԝ[8ԍo~:HsdZtzsx^1?SZ3g3tW1{8瑰}m]p\/OIlE[9i s9ߎ]9wtm΍h:lv\Luy}gLkb όx7;qdp., o1׎E9ߊ\9%ߎڗ91Î ]_W:Ӻ/z\$9yیGo^-Os妷H\TK9Z1+5%fRCC4Kq7'.Q)1Nb湗Vq].+=`o>hI)"u {#H[c.)K -lYM1ıQUz J\S|mu@9R⠫Mj5]ȽOr.];w)#32Zأrg%ł Pq\J!M$ا0M pғPHFR50q-!=BҥJ*TRĊ5fJ!0dg<&nTM(dI*= O\%0tԺC>-_wDjD*@CfXA:0Uw.Ⓜ:#:(ΊTf e[>uH J(KJjP0/58tcuCKC@̀LCRhR$O@m<E% &\V˅ +$(ac Hw9v3:(ΊT芩LNiMY>G a\jw'TiÇrk뺣6 9X< ** 8ȑ˂L?i0c7_P CyC RvT?V*:+meH 3hQ5m'&kd^{t\k9q:5555tD5E#}:0Q;l +I:5/ 9 ډε5ժs\]v8VVH8VHYLsc,sc++4dtb++4b08VZed~=edg8edg2dc+#v#P^ӊ>מX7(N1K8WH؎^߹^CQ7 uaӬ=/W3zns2mP \GuZw_6luo(*:#+Eq?%^H~4s/<`ᮩ\\d b~To >c#s=VN", 8J_YF0vX#lhվVKa2\5oMv~Cb.sx|u#r-˘_ZW4)dŌjW<\Ґ:y j[͸S2'ljgd`܋:n Q>(ao֕Y1Yc|ah03&G:c 1\mPË8VpفVa8ypMLu\()% e⮙Ea90ݣWYBwu :0r78u#qVK ga> l#}93enj2;?s>;Uu}'[|?W!s͵-s+.Nt$͝;V*[eG}1:{Zq;0֌񝟻,9V&r[,U㾞Љ6g.6tpy,;9* I:֒`j3`=<1`|VLijgjv&^`iigjvK..ˆU;m!z>W4$U[]m-LY?ˋpw:Sijgf0m-74y w(s\c;" m8 [}UK $8)f1l K|O\ƽZv^i] b+#}X0Fw>P2=rg+vD}X^?sA)ڒx @y<Հ2ݬAnyJN3txl݀#$c&Zl2]0w Grs"6uFVZr3`Nn]~4> &#f.x"XBuW$6ҨȤqfdeeidW];";ľ*LHjfeQITdKr[;ö!X:=י0(>GdkWAE1 B#8s4达8233%k/%q9,[]~ncMuۑ$@$nIu%lCA0jZĜCY=b-By0$ʅO\,m,<) ]vIC`Z`Z? l(Cbcq5&Θ}9TEj:wa7 'ÌꔖJsT)ͨY1]{~C|SXRǕfbRx0 6 b?j2dɨ̇FTrrTL\9uDx`r2UAg9ܘ;T2 DAET1$(_6JU3*n !:.Ş*w!Y $fHYvJ GuރqL0ܢZCΡȾL2U8^eÍ ~:.Yΰw~q'aD ܪbe:XC^R4#a%T4R-#;I\GPA:me@Bi<NM @`jvy4 *qRq!A71\`:J<3bN΅+5|2-egY\Yx5涽p1ת$%`( Mb`,Tz:- ͢Fm+>{Elךl.Q1i*7&oƊf[눺x3J}+n^KR [s+33csڢg29\IGhbQq:t ѣF*TNXvz9ew=UdUg9Io[FPFQM{1f4GEFA:fX01 !\Ju9uǪOT)t2ץfM[k[ښ z|`QYFNLW-l̙lfLYf͛:kٳfͰ7&˷[`-v~mukŸ;\ KlÊW K9cĶyw`sn7Ķ)x 52|w-[<0lV& &͙6d 'L2lɳ&̙.dٌ3X&̛1lv 2eL-2ٓ%̘:c3ƶV ؘ&M:d铦N2s&[.tٓ&NpՇWmab9\Qw-Qm%R}b5R\RF.3o甔a=%QZTҥMInaU*TyM(u%Q4QkIFҌjJ*<¹>tae(JTRBT s;%UJ*Tz1F%*TiRpIҌ mJ*\Mq2}(TҤלkb(iRJM0~d"u*TiReUY )GiRJ7&S^r◨QQK iRJ*ts3c8*TҥJ@skgjjTҧJ2;G5),fPp2RV w9F#sJۘys.* Fe7yr\"AHzxW'NgNsv)Ӻ܁:wNqTܷ:wtdܧ:w:uXQhuƹ쓙[+X6l1yӦΛ:s՝fym#)A`YJ'HӶeVEH ӧO2zBhfFϼqr'q9t!bNJU.K tf5я+Ѐc 깔F^{ -qbbl1UVF{9r]xY\^^Ytt3κG7>]SboQ rm*gx`(SR']i^hmYP4$EpQqyz&adI4s-^\LjAATӧX9HIXAPaJ.2eP[cPKcfQktamnM:kLJE$\!o slٖVFSZWnk'SB )gͥ3 e๿\puF7+KoRٛ *Xb4. 9筅BMMv7:6b92^>GΝ>t`-m~ގL K<̋f7;ҥLKt=M\f2Z݂Z?[Z8(ܔzҥ-Eqk+Lk*Q%vFIQGΝ>t;á-m~Ȕzk33gEp.ʍ=~ [fagÃ>cklc22isr{{s{{{k{kSFh-Νq9c[9m魕tˇҥJϝ>u ŭnrM|ɳ&/Q5h&%ˢ;|LXIhG 3-ŭ-s [pOYu{rt;c X[ B2t2;f#M-s-OMOMO͜pՍ[_خNKhFg_^J뗖}:'\\kM[~QqPQ{fzf81d91sZp*ٔfL㹓:U2fF!O`Qj8mJTw ңJ*U1(SuMXyJ*T^C^}`<.)Ql\ ٔ)`fK59no$Kb!Xs 3':㭮jV ~n &j>s 02.|a2gXKR-CȕP;?I0ld&2 y0O\XN wlp0N¦/4LثXMQic(#413IJp/9 R["+JOUFU*)&p'UL`$Ies$= %JJJܚ*~.~@*f-PCT(ɶMfmld=ӡ ;ѮMCse9-LwIR$ʓ*J Z&4J&8JхdrxL*۲b*1/QnVhc1c xfpP7w`䗋ybʈ٣q Vl&K@ckb Jn<Kv[c_(u+-}7ޟem]°Z8:@9NZ]f rRb1*@ T`L)'r#9MX1^٨#kRjt9moɜ_ ? Ivz&.(O:\a@ ~hùӗ;NfvKqH]3nT* 'zO|^at2U G*VUAL %Q}?uX^ 1  mq7NauxzǟB1%cpSW9` \mplZDŽ|\4ySsUlƶG, ]WM3\|ci0>avkQi6t_i}QWsˉ )1-#z݅↙i|^p4a"7鮣0{`c.zsE{[vtੲ?7 1 gL[_|cx {[niyrOv |_"Ӧō=J >{(&MuO0 {wX(ӦŭIVJkl  aJ0_K }޺kEIѯmȾ3.oꡎ[t@ou4wɘD/qϻ!`I&,p39Fvu L-ՁI>\)\oy3>_5 m?Gz*\ ˾?k2ԄmkJ*udRHW"\z B1}@ Q_Mǜ=^#rۅ U'(L3V bodgY;"ݡMUPre`- Hxئ\Θ6+b Q˞nn^o^$ԓX?bB)ᥒǞ@^oUx*q#xwdE(QӨtgqUa?rf̚)zpysjʷZG>|Yoq=sD`K*җ: WjKegCade#]M@AXq&aSpX.tGm #nSܝ ^WMY[~2Wb~=c\' WuuaMwF1g-$8ӊw?tkwZ\~ptƋ\rib) :bEnTۙh-N{IӸT>Æ:k{awԝ88_a'VӼ_& ڜW4_F81AQzhDc#O4=Mx~)u9CEmx(M^fd&G<4<0v.S}c$Ikv˔ǫ \ͼ͍<8* W%F6\:t0h\BڼɏwqGqW+$շ_ ': "// G}iܩKv-t+txr3{`! .|>['O3xұ,wqQr>Kzֈr]S?QX(,NC񪰃/9y RchwznrvzȒsd7볠qbK/ ;j~qT86EFyC]Y|gF{Wz+&ݿv,y0т:)m>t{xͫ̒.^gNQ39ۮbӮ^üh\]Xq'(zqqQZ \1r5m S0 >?\?*TV 1w\F4l%`G 6Ν!)6>䍦޹vkqmsqw=i so]l?w% F Eb}_|_!ܫFcݏ cGً`۴H VH>1#`z7qÚgQ{,Ve>/9QkBځ2òNI/#+gۈ!, _Z&_,CVaƂA1`Tʢu!"ulƦ#0}Or!}Q H5JC*s k.0ʅz;;C|8y4#x!|qluQ&#"[8 ԦwSQTx`SrcJM!.R&QHcʌDmE@o;N,J@DUI0 hX9}D uSj`%|@%R7SG+|6u4# |ʪTz*C?RlfD*q"uP3N4Tw4;p]U>815pGd Εp,gǾ&x^2:wx3 U؜`7+|Y4.Oru?;uX!M|7IqGqWrȼO'\N@>rO՛?>N j#2ʬ')*PA)jGF:JmDҽB1 XJ†MCs@׋P6*C lBT]ZGh[!xpX8.Kjhae .JD}PaTWUN CdP7Fbk!Tht">鉥~eln#ffE8[O^2 2E1.Ԙ3;x#tP0%PuP"rrƗ-/9agI9j<]ݠa`Y HpȕLs<㜷cKJ b5 R'Od/o ؍yxP/SJ :Jh TI6TxDX%= #( C1cdIH0y4(!H7T m:&1@A j+ g6ϝ;qz\^SYVGڔ-%EF$ Z9, -Fݐ&j "mS:-FrhӺg]y@$7  %I6A])u.0SL)V(dno DqH6;rkӬx^}0ŗ^O޼rq?Hm~0Oq)RV,P H K@rLJuWxc"ϏF %<„U\p*lɼkj& 8y3T (t#dct+ҔPu^/8ݵ0W&0)7J_ߑ8!bE3Lr\Wŗg̀;'Yeoˌ={loj WU{ UYyG bjŷu,J:0=_5׋/XExD}ux% јVr5b3\ d03U]bmP (rT6+S\ϯs?vp8}8Ù }H6#5 >ձqk 4\h`_V8ګI{ l۵Bl3X♱M^@E( \S&qO:Y+nM8wTmg9=G[4e`-p?+4X xՇ 8UKv́y$>\{Aے|Cx<]LQ+t6c W_zNb~yj9Q=:8CcW> ;V>tg[y"0*o|qnwLX˞+Ll$b qV'd?NԻ G?T< QoQ$NdI{Ă%dך :m&) r'ăV7 ^h=6ExP/br(1Q \Mk_Ā5/t4r ^ev=@$x 2>3Hu+*ڗYvw>X+.I}nx2"->* /qk1w;8xx\ZLp=+Ab.U9v~@/ܛ>+x|R#_##l2#{WZpÇ9GW6^'e8̏sZL|ṬpcK8ˢ;zΝs%?-}~EX*j7O385䘠nGQ>TN[\ .Nz)!T5*@{/TrBG7 [s>I^\`, (gqX[\J2Q_>+6˧꺗Ns?qZs1w\]8-о#-1̥9穿scwp N\ɽm}Yd᫡9#1ъ܎Ë{faFW(vQ]ʸ7%Þ/Ic%1֑\\\\Bs,{jwbyb~JUX$X(Sw_yƵTʴ^6L qjue(A9:G]YۚQ|Ŏ\Ʉ&<*Zڌm/Ȏ%{ xD_yܗغX'[܃o\kGVV`8Qu'~J'`ykB/KB]U$+<.qFAb( wC#d_ ZL^qr\gCǁC >PI\2MmA#Vr/Pnv;2&}bAWTi㞅ykm.q|5(rEuiLnά<ׁcCG-DaiBa@cp#_t+$\Vrڰ0g ]gqw%ebJw+5]eJ9sZY2\aIn/k-ʬSq$֗/h/ kmA%p2Ir*\c , G#ùJ5BxYxXa5*䝎 aUCRJp@YQ.mīF5@ł ͨq$[ 8yTUVAڑ2cgpӝnK/FKEUA@?A,?j8FOdHYaZ5TI)Y\kQ+q-r'.{Ǵ[g*`eg4dY#!nA5QH#'*9;rO3CH@Rz%JZZ#)P0b(<_7qx5^{b̠X,GcOh jԺ6N0Qk?ʉB"ݍdi8jawju[ -]1jd!πI7w3 H9UÕyGO&MH$G Yp!UeiY]e.A3\1* \WRh80䦼66NΧjԨG2PPRu6JXA 0<7jIЁ8bh8`$4l#QOjl3xp#QE8faLyQ'a!O0SH6?ªs,Ѫ놩{PUAm> j1! !@ 6@?+apjZWчjJ0уOG´ci<&MŽZrS^ p\֛HIl)Q q4ЊKP<>A./tA`V@HLQhW¥f,^#N&=DK媈!CzU6 :uEz0<}\ JpV@XNL9Lf t}Q@e~dʪS9E`{Q\93#BgFy..qglyC2*@jSd56t5'->分w5T; %KDI@!Rp42( p pTD{`-j({,d^o7 1T!DnIs"rHPaHNVnMV ZN-sh J1igAMXbSa.6*UL9x *&p}÷u0玡RTrRRby#P W "VgVخv@\5.fiL&~XCHjwEr:6 UBaA@?P/UQHqV8X̾Zi V8}EWԞ>^>EDά4;Z(2CuBt p5uH`:,QɼyS9I_-O7˦FQY3UXm^8ڵ԰tg43"úEB0yn-LsQt+F e.C+V3C/QŒpZhrOLnӺwN \zg'-lt @VAHk~nYft`E#ZW# ! 332>c%GqGr`+ܔG<xy+)GăUA'ܔө#i݋Nx,.3dGX뼞Ɛԝ>Ӯq7~db0M|}sQ*܉X XM4c+OqEftJ"t/PXI8rXWO¾5VTs< p]p {a ӧLo!IJ8sG6\h=ij ژ[ zʎI6tiS:A C mF.[x|~5kT$<jƠg&o?$С746] q,Ք|,>MC{wR`qϯ:&=Hkr/88JdF;8([&宯uPQ5Aבp޹+NttGѯqȽ_QTU(r.sNv0.r  ,, &vԟD.r_sW&s_6?}Ƙ+c x/$F G,q,CޙǼ?9i3Gq6 t/&|^(uuGc㓟V5mnnkS[[BG |TqP>AW̾㩃ʮ....UaqTTс$) W21Da{Pu;9̾yPym#qz'w{np6Ax0T,a;aXXS =NS"=^hhjX䵥5fM<8r'|+ NL  ꎐuT*!j X,+A)rT0U5YP\iTiS ʇ5Z 2 Pc 2iUaBFwpQ*w./U2')﫵bW)*^@|Mqv¸_JjK<]CέcŎ4ߠ6={sҀ`pcY*  G4([ՕN,$h2E.*8$C,S||"4%P' HȜӠ !OӪUsF8?:7b=e닫kD_#sg5K{3O".;]݅0]Mmvs#,iL}5y,7FIL٥1N5z۪lkibrL,i) /]$$T#X4قy@Gzڦ1}~<<ѼOȎ1;v}=DAThSeԔhw^B (*,/#)`0ba__j]^e_{bxb8 &^ ¤tέʴ1V|\!XnlWk~k_*9Scp/kZ9Y,EڛܼܣǚnT9ē\d,Nb9y1n}w߁ bl/5(yMʓK?9FXc)w Xcޗ120.{lMV@/>`0.ʽFrYmːqtYX= tZ3-rび@X]z~tx%K(ӣNu'!Փ7*N0=VSz>X PS TdPDc EY J*l#SG\bXә%=q8>O0.N\ڠiR1,@:,tX1w|"C.Y1 s:\E~°:z$5uuSD%IZmGcDZ"sf6u)al,h΁䷼ > 9InY&'<!Sھ[ؿ)vU9rMVɢM"Ƌsۛ%VJ2-Fh\+'%Kw0Pdb)Fio_nkLV_FQ%`ٱ+O%3JGeO W0(@rOeyM-3Yˡ7(9# q},++l up-}& ,+jll L Wkp*-h.SeH1]ѧG|g%D&Vv:\4ɒ&M6Ird2.I&J9Yq?tܩ4qgVvx W?яPNL(X[=p`|Zů돨ǎ|}h_:#5gxߑooϏ.\* vssdAO܅TABSK$0uL*=n=DA,bF=>sBW)B`aH9Rxaɾ%ra\K0;uwwݔ+wwwwwwwwwwwwwwwwwwwwwwwwvݧ3y Mҷwwwwwwwwwwwwwwwwwwwwwwwwwwwwwn[;Zv+ {[wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww{{[nBn ~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww_`7wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww;|yw݂Hnt݃Hnn;Jf L0w[+[Kh(54aϨxXx"ɘ̈́+u ˔D)H4d@bl0B0 ں> {OC`5 kt& 'U1w|Ѐ [꜋ΒcH @}(hCcD3> BNt[#k8GoƖn3v[2I kʡn^,lOWXH_ -ȮleL ,(#d>Qtޙp,2NJn@zB+9Pvm{yC5C&gGaO>&qɈE<%ڶC&3qh@-kpnmCBkXՄl{VtA㝹+y$rP-㇧~uz^WkT>Rq^ 2d/ Y'pUb^EXwv>cҮg/c t~<IqoNn*Dg'zr9΁39!r qJK '6$)q1(n)HqOq4 9%`↞(1)xSGz^xWE).*I>-UV\#%;z^?"vy\!}OgG;߇w;J />PI4l^^Y1c bE~bxX#Q9O.G5D`x*kZ^֨~sSԮ¦YaaT[-SRY1L87S..p ؿx˖qLw%}F$z EZbqF:q pzgMRT7G7xjfBVQWS:n0qxdjPD(1T=T)F\F':ԴdY6O͎s@Q$W02P}t"m`߄kj+6)5'-ug"L' ^ mN o'Lꦿn8sN_ vQ庆s|۞KaܔDQ<R lqِ9UKMK7 .׍;7o+;yWyzW'yYӃrY$P:͘B FbT] zACuQMӱwwŇ5PpS`lg:oJڻEꌝm+ג9r5\Iw@0 ޏ˛}P.ng.\B~2!:-꜀dQc= -M~@A(.| yF :р`-qlMNuj cC2*r@7t2*@EV`zQ={Y MB9)WM^6fHə'2ddɒi ) zxN(._eHkk6CO#)<ܥ 2}z٦6lGfTE UWn_/!%x j1Ȇ aLu \{NDR6*0aR0Z" bIT2z@$ڞUWn"_470BĤڑĄX,hZfs͝ )KM MK 0AUraYz8è!*~_&Q0bNkjaTN0/{֦ + +||daWjPF3|yF'\tSMFT*boVcSaO%ۍnxޫɼ`?C*SpɈ1`nP^_76.=,%d^/xN(1Fuϟx#\m 7:u[9;:{z; |r9x9C'=6UKǎC.gRyW).-sw8ӹgHX{Az=rL2dY2fIt7&q?Fgr軶]wI.XH\eFq,:Peb.Bl,RsOM+ ia~)6r7G˧>ܳ^`Go1ӹfmQ~0zwdoqHr뿇Ӱʗcu>9,EΏO~.qp;uu1͟/*o"@7<O+Cx3?\?fmGq޺]krey9%̬,wr龌δɈL {~אpKU݆ qZGjL./Sfrl Z݉{g=rWw2r@b~8bO>~_8 xe}4k7IO~gA39>f:ҜJr-ߦ=>5 HAq?(ۃcu[0<C 7>I};Xn9Z`šNK.vԖ==,1s>0~ 'o<Γ0mFrƭ\Q|~+Q~Uď%BA4 z ==/Σf޴ɃEZy,Fa g`M;ޣ9:wNBJ mۓ2:ЛrNn{f.yw\Irs$lztɝ lnJ0#70.W~t^8uģJ7( &Lt9떟3o#bGԷ˭Kux]" Ÿ(: d7~q3=wnu}7dFVO n>kGMvx6w$&a/r.rg,fܠ{7Kt\ : ^R4꫌VRdɓ'`8J 䭿tNƨ\b/1 (bCn|M/,]= sVkP‰\cF{ݶmcmomI`Xm}Ѷmmm]mRxxE|x<<||O{?Pb\S0aKw6e'N(DwbgQ{[U#5gYÏq-{EsOsc&:߀ꓫ)SdKrUr/7g#-#llq#G=xǒ9\7֌讟 $ɓ&L2yvQ1%3&05 e0;n4y|}n=N`;*TRJ*TRJ*TRro*TRJ*tRJ*TXFb| $w&cq|ܩ܏3g{R\ɲw32s'}X9xx1R>th4mxDȸYǣ'1r*t?(N7k{.3H`iKri"uI7">·NG}#yC5KNŗ(wvMyO_4<!v R)#r(x}}5J]FC Vi~+N`ؽw8k{w&s?qE5+\"q>#>݉ג8˕mXf w.Gw3O˰X&|tO@\\ Y.M>TNL-:w`qU3twSc~]o-w@6Gܪ%+j[Wp_-އ%NK>r_!3rC2S:(v_|pI` e&nx7s#7^e⌅݀Yw.8*Zyo-1os"?xO%s.+`sd1nL7Aq0c5@Hb/#0+bƶnƲ8 \wPF>?I-#Xƶn2/s&ll'G>/r&J/# sk[7 㞗V׹Ǭ`KȽ_ќpnk܆7Xg;t =y~k[U#"~{Fy\٥2^4r7 :7`πls]jk܋<Bx &r/{,C7+0~*Nƚ*#il|!s'Af}GʛNۤnzΙ|Wٴl|qo24tF=AA%{=_ӟGuTZ;v; ~B ayz^8׎y/x^8x׎y7x$:^_#k)V'^W(`=36s8o,Lr:p~s RєT$6\>7^1Ÿ*'`|G֐k+%\!@Ik 0# 7(>:v{p0}zWe`dyy7 q-Îf}0UGyA{Œp,?|G>+ݏ+N n.H<bz=9Ę2\ .y .wbXKr2ayw[aU=F(uC0|0圉=ח2_.F{rgkxco+$qia/5tU`3otN?׵#+Ba!0YwetS:qyм+_nH<_z3h[o|\O535>kwyVe\G-R`yߟy'.gL??'ϰrt'ܯQ?ᣙo9w.1Vcތc}`~]0/t5~#{=S-30KF0=p_es:޾_ڻ'edNFЬ˜\1zܻm`x-f!bE{r$mw\8SKGD%4;DW!'qS_zS]\odnc^ï.vY;Nc/NGP_g^'6֮62ߝxߙykd1ΔmPk Kw^F]l\wK,I]ys+kG/z\UqӜ/]p0YݹkNծ![c;\X`ۡɗFF l3s_Ӯg^1EsK̰`Aw^->ʽ3l y9w6r6 xƜvHBxM8^ǃLǫ`-ޥMÖwM-Snn&).[ė:G+z]GU;6(.pއ8#0{ìǶ`E`}ˀupY^enqd\qLlHn|.S>yBpr`;p/nl!l޹8Gیx&\}#_tL ~G[0܅{nW0#+lz[xYd-8yE6 Ѽǜi7ڝXxm&RzOmu_AͶٮgv+FcTW9fhQ\i:3vwpJ΁23-Euf[F|ٖ]ТTjwi?i-ј6%InhQ\iJKtg͘6 + 2KtfZ]wEzߜ>li-џ6eQ\r]0r)>MV?j|ISm/fmS=\5ݞg6Z5ݺm*W:h/WFmQ\JKkZ90-Im~֧vz+L s:%-NiQ\r`[˴jwnJm%6.g=oWIm~3f:.gEqɂz:јEsћ1ݞ5ј6ΠFlƧv鴨9sbfZ]wEsM~3]]ТϞ7۟ke/~1q-ú-ڜ>]a,3ܥȷqsę=rkXVQX3<˸A? Yڰlk8np{p9avOs;XCs;V_yra'pș2!{ 8xU꒥J㹕!μvw sO~;qQK=H8Tf-Iy[KNi9sL4\k[mamO3OI2h]O&m^EN3gEOmF +Q}C^;CsW,}KE`ۦB1d{ٳ%ͥ&LRewnӛN֙/ 8s/_%>cꯜ\QBр;;uTNˀP̗ z^気qnTV >\ 6cq_< d.M2~1?WLk03َ~s=%2y.ZMrL7eZ&u9͛)u^ܭ8s >r>?s*xS_~+d^WnL'q1]r{UE}۠[x2];<ǂw[bg|;RlܳTl֬~AQn8逎R +mˢpؗ8x ^vJwzmiurpW\6a #`Կ?c_1%?82GPF0'ٹn' =E:bMuHs]wg5w\ȷhqryFt5qdɓxX-_^ǪYû?h>oaėдpyނS-G0/"KX]˦PkwwBHRbrumo&x=;W&h_[`}mo4='ک"?R/^N5oO80WoWOr|q4#`Ȭbyd39b'w:#0b`A_#ޜ_CU$_yFrlq xP+:W_什LJ{zJž*XQyΈ^hh:kx rFo q!+kԨ-iFςTfN!ۜX28Ƙ6,\Xm⶗ܟbZ÷`⋺=NrO;cm7>l弇X⋙x8ś|s 1qF9O>m nwg2c,sx+W,pӌG.N}|~N_'s=~k$bS/2暚*xCČ|u-\sLb4`.U)Ravr]/# ]̵ܯaCrU@ @>dEr*:S/ְgH+9ְT ag,,:W,ˀLv+*+[K3MWJ!V@ g MuoS&LQoS&LɜwZD3w"(k g>OVheA+P1E'cN"2 pAVSDž I@p3 Dx\0C0 oсJ5l (ͧ6m9k6oͧ6m9dTH}VSWXoX-RizNg1hX=b(vXejgkſ"Tb+\]P:g:h9 'x'Y)|{\˸1A\t{#[bJ(k8aI8(HG T+w\\\\j\j\\\m\j\]\l\j]\\n_^T@'+K ]ȽOrv0kY_8wX7V0k^~#0Jۇ:\NlW9L G13*R`쒔 %EzO8M^Sj|KRVEu_2Ͷ3]] vz+FkS= +Eݺm*+FkStT(u+ѵu_:M]]Т̔;\_``[NWuzKkZۦҢ?i-њ6]zKkmt]wEq}z>Mft]yBu_1ݞ*ћ1ݞ5ј6T_6cStTW9z3/WڿmQ\_D]@UfJBQ0D&O^؝YF8pD" ##OL^V?q_;_(=@FTTsTr|a 6V\k-^gdNTO>wS; }Q=$߭} uzSdAq-3" T֛Vgx  N 2WYHYXWVםӘmkFtjet\[\^wN`f~ƼL?0qφ꺶?1! qumq~ ,LFğ5'+k(j{?Y ʸy{7{-n4aNj\^r_}.[mE7\,45{H:JwM>Uf qW/Ȝrpz͟=` /lͮM. .Npo 5nF4qOuXAܤ [}'2L n=Y-/Vg.qMQGMU9Ie[ =ڽYU~OCXԒ\(fyp;x߽<[m3 ]-aoӮ6؆^Iύn3EӔ˱l#c,d.@CNJ0g͎|S?yt u8%w}f뜕¹63%`3ݺ.ڻ9HӑT n3j`ߊ&ˑ?^rs&k^vmvsqyosmqvptqwqpxxxxx}yE::8<Ӝgrt_srcd|G> [ԧ`0'i &'aoJLK0ܸkQ p]Ϟ4`ugÖ 龯`VS0XӒ^g&5Yw廃7=VZ쵏p pY'N4~==f l+ede*-9`@#.WH78uh/pј|=Nr٘YȠ6zU#eH\Yp)UeVUQyfV\0-Fw7z:BV2Ft|cG^˭|>2/)SΛK-r/T_wto }9у_vyTVVwnr滅8ૡߠ{gAG(\>)qk$؁#ٺcl?MBdkΆw/s'$wNGćGqʘv%y#: .#Eܿ#rS ;*?nL(R_ZsGӼ^17"]Zy | &Av:gMuM 8̜/[oZw v]w-9W9۹j6SvJew֛yj>c#̮|2| [;3k{KK9"SѾyet&+:b"KڒSg(-%̈|ͳQ#.࿀":Tcp(.Krc|f=_Rt'Q`_o]Ϙ8cbL.W s4"4a ]g]9O*IVhEKk\I ֟[әz<4@)*zAab\̼]k\2MܰǮ\d̟Kɘ&goI0R1~L{hsS /~/jrvZk}I%lvx/=Oxō[rAm˪m.ӰN]2_ol zíg6uz pBZ\Ǿ8r3om 'ktDv ۲3(->TI4r/z>;H$tw(^8әRIyӨ"<ڿsDvGtw(ԚSv_ddޙ7(̜ξӮzW%Po\t魭#&ag}/rا8/0kq_li.bN+cWvw:mKA_fvn-tx]e3?<:|3h0+ 0:uqu)kƜӫ]߫ւaJd^:BgTFtLٍXz65qWWYK벻Qں ^2/ IVz}=7p,ӧQo:u]\fo{7'>ڹӊ|Lym\Wim\^Fy{ Ϳ|p|Q']pLŮ'dm6dpKAћ6} SbkL(РlV̶ThPTR[k)x5`W'>ℋ=42}ͱ%?LSz]F'ɌMEk$"߹ v_|Ӹ߫9O}➥0LSۦk:[Eow{xZ{WV_zn[0iq'H[ϯ.%S_WaCfe.D_[i]p`iw9P/'*wqӬ܏l^j&ts)̧ɜ'frmxqtglyft|Rޮ^(WO 喻R⮙r-ĀRW9Ob}ԏ+RFVo~ܖʾ26m)|֜8#RO=匄('jI1f`v sjlGTj▿ʭj9;7#qYue R>_&|^({T$p#gfc {fxϖlTs]x^[źN?YvYv'+r5s^ x݀=8sb6-FE$>"gq a՚[{˫ l|sJ XQFeWmw ܸR)&㜋#A8qQvbʋ`h"*BP]̺Ϗ.~Cp_RmgN3)t 5֞K7&]iɓiMTZWS+MurZ2/MٴZ%,[ZiQ\[ZX&Ңgl]h\]B.0Q5uqum*W9֕Ʀјκй7͙mf53.M]BT`Fe5օTW6 KtfS]h\]`JH`F|ٔZiPˬϛ2BT(si-јκй5v }>li-џ6eZ%ҡEq}zfϟ>zM\[fb˿t 5֞K7&]iɓiMTZWSmMurZ,M3i.K[`MuqnI`6B*W:k liQ\v 3i.-MBJSmκй/FmZ%ҡEs`FB*+ s1ZQ\_``[L]h\[`JJ`Fm5օŶ /0-`i-Ѷ:B䵺TW'Si-Fll P=o̦иJ!0/ћ2B*+U~k liQ\_3fS]h\[`JV`^~Ʀuօkt/W6:B䵺T(/l]髋|zIJHۂ$$YxA+V`#pӣ1aac"*rUGkus>[NI_Mk}S9e%zwur^Cnmzjq*`_s;x9]>`E5&m6֤(BC`G]uxN;+L3#.侹ܛ-޿ '6gֶvf&'87l@` |n RdWe1Xt+$+n?'%VXb)_#tg4#8rg^hKY윸ms8$\xzg_V΢&JEמ8&OK]q#Uҽw 5gI#w#$puᬸYs)rU)i*R_WVskCGt9t\v;_.Vo]s}yoL 3c`e]p]efƌ[&| %IJ_wn|,U-]=`~5`ʲ\c=Ckw.v<7 C.5qK|%\1[o)]H(W0dZ5y!>d 5[Ir[mK,LLLR[_[_c22%buXʪa!a8oRˋVưǞXqJˢpb0lY _v, K<7~ˆwT|qa'7Vvv. ΐE⩜|ς/ ckSDz*:@Q"o˞qam@zyX6T)$q(r'ښ?T` &.N @5 a7 'ÌꔖKtU'ngS  4dv d焬5qC؅eHPG:F ~n &|"RK ǐ?qDmVQ!b!)\D!M*b ;OC`5 kt& CFG PW ROCaеTFDCwu'˞nFa/Z˼O0sM!GP lB'9t BjSgXf񕌇R˓?tAEoU{_wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwv S+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwz+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwԓQj` a=`6QܬM!UIQ`W»BCYFMBS%TK.B $Tg8#Ba:8MRdACiPRj~RhbTsS} c"eYl2Q)@/Ǭ0]QF@')TX*G+BJ\J1vQAdi1fTұLcRִwwtwb2L}UqXƭ>԰"l?^6+qN5ETYRRnL$W_W/X*8*Q]Uf%Fn/YaE`VRPYUc`zUeȂj)D SU`TC*!PLJg1uTC0Eq3_'x|޺/sM rR(9ٚO@nH}㔟#ܷXaW1qNLj(GL1o\7'| |xl-"oaq=r$R^')_-;[qoqLE!rq7CeHxۦ:fwGJ3}gjoPhSd32|=)Y)|Q|>9阗s^ǾZOrW&r#8rLF yEǒx%|^4ㄇOl,~65|a~/+t &{:w>?r& |Ɯpu^ޅFrDt+i.k>?~:^D*r-qqMQrGuNS9$x^WS}nMߑM̜QβdNFhNF;Ҹ=]nCǟ6teAm}m.Y4kMҶ4H=3,"xt{H5r%}GE&hA\zwqϪF$+cFEz %-W5 >4-} Wo_9k`x˴|䞜3OTn'787:b/޸ \gK8Cw3⮬8%.Gn㾤|s|Wr^~qiIlioosDgazGxË8ӱɸ ۔ykߞŞNw,\~K~EoqM܍Ɯ[vhȜ<}\Q̼.n.Yw,O-{`At>fi7|!tLtOG$/Y͎͜s>'X'\5ܙȼ?y}*F ,v.4=rO':3r?8:A/&uy _+t3Iq4 (qǍͼsưh_~<[|O<ͼ\93F"3k'z Q*qKg@x\{QVPnuS&N}d_51Nh}odGvw^1w:87n0|/E8.'㯼pqG|D]鎬$/%O ˓rd2x 8:o&At񗫘%ɓRQ{ 2xL3H?$ٸśp3.Lj&O#s*`ӹaʾ/rp /y\8%ԤIIrd 'ɓL<Ǽǝ'ʝ'>}Q6Eɂz-%&zI|Lhry\<d'ɓ2)rd<.O\7'ewl%\yr_eɓǶɓRə&O><<2y\<.Ld˓+T.uIrJ\<.T2T;'QlcI\R|Nɲ<8w{CK2IFxr˒.O/9L&~,LII%~J+Y]&L+X$l%.)|2R2z\Q'L202,<%O˓'W^q'%/x\=&L(9_n@N4.I}Yx!:kyf|TƝ;y]# 92YxÐR=]ǏS[@ro]C*?\n&0zHc??)I'.c?8.\ȼ|?ygƼ-=s!B{w{w0wVgr{L2Ƀ/#C{ӊ; xxߋ].9ܥŜqʼԹ>KH㾉w7wDF;S;'nHˏ}'(.&REyY9%b? t|Tzܛknϼn܊.q6$z;"rK5ǕY9/~lj%soMf:EwY ~8љ'rt ;7%s,\qW῍7 ﮒ}X(n-DM>2ÿ_$rIxM3}x$so"s/!r.Gqk7c<`RI=>=g$sK;rs"rB_8YL]Ϗy/3'o[k+55|}λag^+IzsvSN|u>"?y7w3G@W |Gs7KW^ܟ|ΒIxܕ~#tK@?{/$\/?8羛xx׊xÑys'9?2qnZ㖮,L~Sky[pL 9WcG$xϚ~m8/8\\㫢ݫlX=5l3H>LNB䎝?%qo%?63ŞΙɽuys: @>5q8͹z_Y\zHSDgg-q"r7! #xh2뜩FmtOЏnrf:L9uZmv;@#h.1z>7c y9x܌_OЏ9\t>s.jw]zt?g q8'/><_|NAR3#$\O Nsyێ:;q#6ȼiuΜirw ^msyDˇ'$9N^˝9:Ⱦُ y8ώ>?Wϗ: ?ߘoǟCp5oě79:fI0Nef͛.lF@4sNQWx|sν'ԛqf2tzH0szA?:2MFNy8˘fqOy/##=o2 xnEӛ:Q(tY䞝(y^AF{=8 ];'W徣ŜO=\MQiǼQAw~ͩ6?8϶;. ߉QƼwӣ3tKnӹ#4-s41GY: ;$gt'?@tm|sɾ7 zoq?O)F0n.q/n |»zFr+jE8u,C/%Ȏ<a\{wZǻ/SyLԌA,켷ֶr ; WLW7nc48/!r\J1:="7v}ٟxˊ8ˏϐ#;SSLMO04 h@MHޚ}x% Ly0pF<>[t8特 .M`|ԽHC8bw*3Xɾԫ y%[ܭƼsg<˙y/x~QBc[_.t XpbÀ [ZBrntGa__t____5\/u*/}&jk/FKeeR1W1?bGyMƜaϗVoWke$7<a˧aA;1z˗- ϟ4o1^7rȽO<zyr:g:TRJ*];o|}Ӎ8N8Ӡ&; s,LLLL}YYz7>1 |cn`^^^hh6''.R<ŸLG/ϓ;6"o(.C7OIx_n܍X0Fy/~Ù|>F\ /q2qRpuo5H<3gNWNG޳Ƽ͜Ӊ:]u^m|io|gӹӔyo}n48m6o)in3&;x8˭rG>lWD:w3`9ܥǞ'u.p8 |M|N] \p]'|]\0w\0qrv#>)/|WꍟJs|@Μ/no۸xUo!1/r?:nQ|Ʒ:|RxsԹ×8sK 3PJdr sG>uV)yȼ8ԒHjo5[Ǹ823F ˚]o>\ũC^ׯ3`aHU圁*LޝO}.lGtѼ<6L!qq sNOc#<>@v,-gxo_nxW93ޠ峳 $7(Yэ6=#y3r ;:qs7ao:~M?7P|ϜD]Sߌysy+ys:1<\w:OrSKN9,~Sv~M]>/H]侟X|NK,k,1V ;btm>\{|nk W%q?qu4N/<[: 9nF2H/zrvxyױ3t_Ω_:s 1G@q;un^~^<^>{z;N\ָx?l#ǎG7_ts/8=_y#g=98<~싁Bq|8T ItHb9D'swq7?s(GW!35GE/iؘӌ8ߒ9?ӼG#r?"qǑۇGsC8leׂ'>OW|R=wÎ{L~K|_`xs;7Xu5ss2I c<[ɜRN](ӞM0}0)<<y_^) Z<>;G\g<)ˏΎ}?ӭ s.P^I㇯l B鞮`|n3o]>/u0{2ogqg|Y|o}|s\x<@.ܱǜaxU]?]S89SHYHrgAqd#p=ΰ܋<Ԟ06G>Wo+q{Z-'Ƽ-<ޜۂ.G'2&'6y)mK^ <~@q89B q"r qq)At<ʉ>ۏ^c>:z8 QQ܏x `Q~aוH#ܭy[zwr'`H^2Rư|s?a/r` J^H{oza? R\ y#<\^qW&| S|F#uWμ<.a.rO;ΙǜͼɼhOZ>W?x#Ǽq=?֏NНW|LJ,_g-r/UϼT‹UCg| 9`ߨ\ocGnQ四.-%r'2^o?u..2a_ ذ#wynjNi…; /8:P͜ \~l.4.W[ガ9OsLx͊xaϵtL)ᣚo2fd_Aq7C\w,!?ORpc[Z\Ʉ*F6@waqͷ],ޟ`9a%>xXrӃrUǝ[080%dֹS'7X;p?AW[7]8Z+yy_Y)g  Gsn=q7?9?9CcVuwO d\3\9n5sx " DBǾ[kr\'tb\T>ShTfϪ:*BT,+;pq<>\g8?({8,y }s9SL;޹#r_$ߋqh68sO$8L9k0Μ$ex>܅n:>8,r%5rfUn%羜H8ŸkИj n9ruNUxuT'rmels1Ixiz@KDz\^kYx/5:oFw,G݆.澮?7{z|Ss^ ޒ Qr)4{';'fdfU\ц>F\=:*:ܸߋd3r_ $tbZjy)]UeG[l/q1\+|6w;9Cs9N>7sGe"F8P 8SKnxs9I[utXI.JzK8s}?=7wU2#W殒nx$tג\gWcM~PQ6x<'W?Aaܡs8rv]o0/|x^yx'r& q}lܐت(og8X?9ˑpW@7 ٰ֛Ig|ww/wVX)tFV'-̒xMz7?r~>u~X#v~(XQL=!0QX-\.y1?x3r7t &c^L.c|t'*A'@X빘XY"m]p2m> +r瞊}e^[.uѸQ6GGxqLw0XkTɸp \1U1Z?`]\q:W¼v[<Ձ.(>X끘ɾԫ {S_`>Iq ֣0!;Q%3H}R X@H>"BMXϜ,-p8c~[XEn"YRp1\fqXnHk+$CsvܯYk3#w-Ïke#}wD^]b^kϫan "`0pon[swsf KܑpAOO%i ۀ م,rg<$;gI⫛0K?G$X{0G 8qV#Q1Z1D \Wt|:V:v=[onizowU6Xk0#':x9/0"oY |ܩtmծbF!=ɟp!\GsV o }Ƙ 49sG*F "eRְCULA nTuU)*6+`*PȪTDpk,6c=EPg-l2[w\QX|.6Vw,#e]Y Bp݁VWRiI+G aӵ;V;uo{WڇGj5S @! `v{O(OwelZdj<*6*sV t(sr=H:`Ir_<5pɵ FH-❨3rDȹ ƭ Tj/ڍ(3[jE rrE5;U3u&3mIuM9 6[b嚰a :黻 Lbm TԪ`x֣a.xM7Q(Vϵ 'F 7&aG=FQc]WꥊNO>F|k jj:udL p]Vo/s0MxGcsʱѹV"C,달$]`}DS*>!#@S. D^yt~:f*+c}C ܐ#FWVZq,3G.syGy3AY"< N/Zk *~0-+13r JC8MsaGq\ـrL( _B~8HtΑ66r',sژ[sTsf{Ց@kY  ,`J`F3XzrG1/E-`6;rsyNb^ˌ'71`{(ɥK?| G}"-q⁂c(>,"~t^*+M,A(suG0:AKiƌ lDX;Rll$zX.Xh(8`[[u1XHہ@Vh0?b`iMA\HV([ Yk(p ~OМYW!;w_Bs.o$#0+]szyW/u %]ssK| p.r ]sW/HYֺg2C^=@>^eDu~;?sGGSnOctqrQۿr2*`t.!Z[}fhEO![̨+=cxͱxȪI"3-]\ v5p#Ӟ6J7.&B1|ՙ.w>s\ X22{f̀83rF|9!@r5=>x'7]k>`cxq .2qhfM1un\q~olxgۂ y.2qhfb7Υr#8,qo񏖰y{Pvj訑r%i qMb'ޞϏtU+>@^o y'v^w_MCX!YkAJ]n;E(lE0wZn]n;qג2a_F);BB^T,WK;>3嫀1x`O~mvI`pްB8_O,ba2:bGevMuP)-<Bx k \ݔϸc=nBs_!]=aWZ`;F>:Co!,ud`jٰX}QotW&sGM(elctCȱñ7VS8ĝ>FK#vY.G_)vO.c2~W/7r>>t.Bm>?H<`7N윟xFΝύ׉{N|{rFz/#?8|d>D[2{0| jC8כc3sdwdK6wqM%9v,V;:S-ƨ +ho#p%j@')N}C0q<559^bz&I&|^/q$?9O7|s܅M#,*y[xH&^r\ V1.eS-?!b^9]ʜڍ {8V-Pp ;s7x˜rG:AuQF:1!q_=]JLJX [_ӔźY"Y%?UiG<\!Mq_Հ?dd-L s>qbѓ{t^"pW*?'z!L CkxjD't!.xrk?x:NSSn´"݋AUYC"c]J*N %p)wh k,z+`/\x6!"\;ڰu.8\z`=܁tov]8c|˾G-rb7v<k#|::CZ8v.4i~ƘEGgFx 9Ìx*m$5~˯I&^/9w8NzI7b\ʼOq+|..3GXGswN.t|/}G;2#㇯cɰ/X^>76szλ̼aM dV⧬!>A~8CNCq=x8.0x9Se!ɋO'wenۃ8BGn/F0-ێ~~D^';R?xK>?'>6r'\P\ي=}wSp\`5bUG(8unX( 0܁1G11{.a/{n \aa\ap{|8 .ZSP-+AUB;X!0 0yx ?WoapO 930 p[1%+r 3`)͝\ ܰi@&FO<`MݶZ_{~BJ$ X^׼ͮ/]ڰ?CRlmwg[m, 휬%UQen!@IYzb\aR@[! =Q=H #$`JDqT4u d(ܨ $ن6+g\6ζgrU>:PBTkg[)V,(5Zc\':$.]8m[M˃mV,dTU%n윊^9_Qay\.a)CuEjaMXml'ӄ "$cn mFQ'o(itF+IC-<.9-@/JMLޞeVIkpmku;pQku gq=Y$Iہ|3ep&u&;Vj Vw-{Mm5%;xޅ:I@[m:~GX+ #8uuv;ml:Rw7Y\+pS9Yq]0Qr\svmmdi4mkm϶[TTmTMlmu6mmm̶h[mm;mmrgmmm+m}FgP-smm-]ζٶ.mٶ˶j,93hҎπ[VӭjݭҶ*v[Jxvm+m iڷk}m;fZlXli[JX-m;fZlXli[JX-\vKmg i[k+W-]YVmj嫶[k[JX-j嫶[k[JX--j-]emmmm̶xٖ[2fZmmmٖҶ[o1ڹj-mHڹj-mirY-mmrY-mmv̵rٖ2[mlĕ[2VҶ mMlW-j-e6f[JVm=jڹmӶVmm}Nٖmlf[Jٝjxٖmfӵni[oNvJxvm+m iڷk-jݭҶJv1ٖҶ[oջXli[JX-jݬVm+m`Hv[kzմ[\-mm;Vb{i[k[--m+i[k%[h2ٖҶ[o/NջXmmԭm;Vb4[oRwm;Vb-[o79vmim+m`owOvmfq-m+m`ޯl4vmfr--m+m`g2[;mjݬVڏ[o)NջXĶ[o>[NջXm+m`ޭm;VbVm[h1X-m+i[kӵn;mlٖҶ[oUejNm[emm;fZm϶mm+fs5k fZm'81r2 +*5HA;`@s`{rUlrxW #.sU{)36~P{ZVoȗp2 s*!Ж弟jsZ;@ۆk9ڦpRjW{ Ļmtg"s2C{z/s8x2?@^bG`+bu>oc^xľ1⌏)A~ݓ cZA[rQu#|[l BU-;mmrZzem2ۊvn)mcYs&(0ۊ13o9[,>]㌰MS=ֲowkmVm mʶm=`∏ {J NVzr-+8VveHY`ĬdB1q]vżmk}bz!TUw rUL1cxbbc M>{ X<0q P 0 &4T`7 * DD  hu3?<8Uv,SpiMYHay A \POm}S2КGjD!V/Jh` :-*}< -aD1\pb(m]z1Ix|+9qMN?zjd.g+Q_*)U74?*S2Rja7A5'T|FVVיN@:Mvӛy.H *)HqO+$RM.;l i=քOXR\5YJwQ9Wvc,f~= :bt6IQJT}$&'EP1!QJc!t0yak*6q[\0XK.6nP9'~\|/|n cnKG)utH}!g=T`98%030.8g┇⛿fiKE#_^k/q)o8z=f T?Q|8*2Caz `M:jUi9 |8\R|{X <,T`ܸ /#g\K#:9T0|S0 ?MVb0'sbኈ! !ۧȼ RT/=Z>f3A)4DyRVQ䲠dwJ| ?7M/C0 R5Q2StTmShWUfeC"BfV+Sa#'TN0&M#?:Bj2;0H V=E>U&'֢jȀdA0}fYhnV$gYa5Y0 @^2DߩDw15(B8'*ܭ\0[n#XCa8v0倔q%ٹ; m8Up7/ &K8ѓx vO掋u,?q29apDH1|V)YpE5Y2E`~?sG4k,Vᏸnoͱ'a},a>R)/FҌ;`~:F,(֙]o(<[JwQm_X`&o6ٵXp mn2}mΛ;;3 uiˆ2ŜW6lI珔 @?\7 Nyq*RsX;ˠ{u ܙkg*܅XЌ)%ϵܣnr1<ޮ5⻋]@ ٰX 9t Ѭ_yEst}ddٵgN6:Nf z7>Nw+ TRLc_jWet ?UqfBpun"W$\Rw8n:3A`-pLՍ#=;8@`ڑ|_aR8@L2@[l cd<ߜcp¾>*]l&d" x wp~݂M囌|b4鳹Mt쓧6N>3\`. >@6*gONtӸSo.Ra rw#6wX ^'F`!ݺC|%l<1ipsq-a4fXCX۰avK4(;Zʮ1j'^ [_ Y[+TXLi[;7b_+c{\Y۹ǒמ:=VW.eo,v9kk_S+ PIL U.`}k1]ɼr7 2gС|_hwg[pyy$9)QM#x?OW!'ݦ.az0&>4\ jʝ烬+\*^?ʽ31˖0pOxXHbuc )S=d]7UtowL_ty=9NЎX. ``ԟRED$Ws81u|/8GO֬_P@RuU>xK'ֻqZ4l>@(%>FxǀowfS`Mc% `]rj]`@*1㋰7v,`Rz)MO1.>뱖-.2ޢj^D prTŌ&a_ 0Z}twi1]268BO|W'a7 y'/a[ dɓ&L2dɓSkoI\ w_>X:݃:gN|Ox+yeE"\ `kdrW$32\\_&1%2bJdĔ٩N,jg㖎 r"4\q%,]Xaoߺ6GɹmƗA`/wpw C|o (}1oS ]*kђHt$^Ov'6\x$ 31]?Rՙxoɓ `i h˵ql2kn0k{G sxkFa"'V&JX, `o1(\qAܯaךZNn" H c$ `9ZHNS?`]Zps9`ZyX,!?Vr^w:Gi`oc`42bb쵕`.ܩpk wo#_G: #3𫓫 :9@p.]1H6 HTZ i`F 0OY)2(`)|_odA/AhՔx”$Us,w ziRl EFvS}4t^Sؤ0a@8 7 .\&K&VH77YTՂ ++ 'ƹr((T9AOG>E̬XS{u ܙk{UC};\o'&o#rx$=/ ޲q] [6 ZFb Y:va уr~Uxߏ/&tEe t0\lw&$ }e2X ]OɘvÞ"ySUYAtbZ DbGڸ="ZLZÁz fYm`&H 5AHxy ʈp]ob58q5Y9߷r@d(/GLc:`p'W$\R*FC1>=Kꉴ|}U¼T/6X-2/sdWca \[Or3~':s_7v.b ;+K;HG'ݞ@m[`Kz|GYI|vUD7_0Yȥ-bF|C_+*QsHX!ҲEr֩]]0fk5@[Ncyh[`9/ΰ/|&{pjq|P) c֋`lcr9r2q.e[&ɗseKtү?J^.X B@hmcz+Q8pXz>>T̪#;W La|Åu8Oۤ(l;`MZK% **px 󼃙prh.oJqL& p9/s!pf@~9  :6˶`>X:݃ wo69n`t,GK-@co z\ u sbLWCF0 \ʠrY!oQD}tC6݋n +6/%2v` .SŞytS`sWa^1ְ;QC+ 0Zƕúe*.7Y"E_ Ձ(@*:2̼ZS44/NJt%'AƠ}TC|hXbsZjr:9]Er4N De5&E%3*9*2*"QV G$^"P>A|":i9>Ņ1DTDkHTre0KPwE):-%\ߛbNEn>KDF,(֘w)nN/K#*(#Xd:Vq)ldquKH;=6|$]ޡ MܱZQz `NIUW.FOOɖOqda?a67aJ1S0X1:B@sтlht$0XYJrZX(60Ksu8+ .HS?0$&PvRՔ `W1e7pEu(LՍ#=;  #TXΊԀ'ugpr̂کuQ;d2>h;7Ջx,YܵriCbp3tM5di,dG /n"j0j/1Y?ЦVXH.Nlqdf[F$-!M)UR^wty\q l/`mAme`?`]Zps9`Zx,!?Vr^w:Gi`oc`7d0M T5wo滷ۑ/{ȑwxUՄdCѕQv8 `ꃕʈL;\ jWEzϸT܅~oX*ue =ö==qdnZ9# >e &Qo)u2CKN;⼗DMJjB Sh7ȋBNDV*""DKJ񌵘rl%l7mxfĝ} JjdfVˁ29ˑY-XtY64/(@.n24,^ 2ˠ&&L\M{&qk|e6%`zl 6LP;tí`,Vz:- ͢Fm+>{Elu,xK/zYKZka0 UpAmH\ֱ)9r4XG7̞BQۙYԅ4qᇦK.ZK.[ Lj*YĖX{ YێНq_jcW0׏IUM]*3Υ j>Y9/rՅ y_+rWMꜷ5׽"r%rj[^M.Md4/SA;mJu).M[Jr&^ryoFLF1bPz '́xl+{n"_uz.듩N6I.<^AzKץq%07>tiF ~{+V2l֧N2ls3iNޮ-Ю|KuQC^3×%z\!(U!B;t=-gEz60#3bɳplff[;M6lX͛6mٸ7ϓV[. mzfqůֹr`3s-lcS*\(3%3˻ sF:M9-^Mr̵kr_xj.T SgT:4N6lɳ%0N:dٓfM6d&a6dٌlf3[lɖlɖ̙lٖ0N-\6v fN:d铦[lٖ6tsfNpՆJc)ڝaebkqOM&9Sp;`⒀j.l̓l1PK:=*TiRno)3iGiRJwl^NJ}*TYOIf1I"JkREO4ΌRjJ*(&ΌRDJ*0mlLh]Sn:|b(RJm.I=2m%Q.MJ*L<ܓ:2u(6TҤ=ml'FiFRF'm^`pgMntb-(iRJ3рQ͔QI{c۪bgΡ:0KJ8JTٵy=5%oKsiF.ҥF&g ns'FLZ"tQN&''FOpr*4R?;Ix7)-5ӹ#QN&''G 6FeRn0 |mCQґGmX6*nat+Cʖl*TCR H$wN8.5G=gq"qO6/UӼӻ݊t:w N$=Y:w-Ν;:w)ΝΝsVq{$ffVVM5TFWΝ5tՖ۟9{9&3J%aixN>lxuuvojvpӧOz:hf Fϼmūs|4[kE.)T^nu=M2lLWS9>TVl.\\WYr壩K%2Neu-[+)teҗEKes:\isR.toԥ˝-Ę̌P3B 16(%JfHb9ْLYdEK˄ EW|{2Sf@B2+3a*&B5<ݍ!qH)|;XgMun|7ě-TC*/(cbafb3hћ=s_XטrDޒ65+1B0]Y\)l^^`"X.@`_rךVT&92AՐpIqz&a.xN_.F6 rln=}J̙lR $ pF1Zt))+* )A~A)`p6lq,mSamn 3i\m6&U <_%qo"T\{ 9ʀm6Zll+j#)+@5͓ϡI{3ҙ%0RoD+h%ޘp}ЍmLr[zv\)&b@o'K9|wӰ i,\sO& и,瞶Y=ߺny} 6ѷ`b3 o6[ur[yJllXE#:tӤ_:\B]:mK&:/ 3$b_* 5ej4 X.1Ӹ[F'Uؤҡ=Te)W\6]:llMh.8N[j<:l*}5}4.Pj&siOy^%z\se30MLrؙiBFtINt~:25/ϗ6uj4Qa谷3\ En4i፦|?Sg.K.z <3hÃ<ܷJ|ԘcYhS7iiN.ɘ&cCf2I&c+Mʺ&M&\$=NpTRΡ6|֦mriNM|ɳ&ɹY伶̞1c ֹk.k(݂} ,|ہ˅|I I,KSpEB55QoM02^iimgK.k +0u)(vӝh.N)m›s GdD70yx=5ЃyՁSQVf޲!@3P3mS+̑[ w.O1ymI@g^^ȼ|s.Xx0] LN x@1qό:t,ې$(+5[St0ȔLH> Y9$~!q\Ǭ*X,Nw8._\,`14)(7?O3z:]00KY%u>3TQXu MPAw2(#d0{aAtD#mzg)$Y8X+x3xf:czA)4X5 ~16J ,dU2) LfUC*"4ȧ!QLȨgdT5*YvFUVFhs[9% }BuhmBC.IetfVĖ,S+AxQjA)"U8b#*LHjp#5aK;N=DUQQD<,㺅&`5R)YD^ҫk620.1s P$ +|%Tt_(br, `%Ղ|/RYWߘ88+a[N9SgSElɖ2e&Q}mmmnefZInbD@|Q&RVS$G#r9'UL`/K U [qI9gU /+}gggj mx䪴g@V9KL(6%a)<&4ZLBa1(DQ`P9xrU]L1uBk1 Ǿ?xS@ 2UA RlC` KIԪވ*NR O3EQ@LnӺwNѼ"6>)b Kv_* P@1]=(jlmBp+.u5J"/"ȩ\HAqL4lӚ'M q9tmA|pz TwQ֮QM2QPE<>R-b81Aaq}d..1qR+bHYwuuжVq5fu[0ڢZCߏX*Q]ʷ+(*>Q]Q\Q@ޟ59/S/ODWWWW b'~eF$pCUF4v0Wr|]LAЃōV#!uR@7cDTqu+ʓEqCA֔JPIP+Rjdi]w+s>u*B |؃aAP/EHk%&ޡ)q/P7ϨM!PAЄURj$؀,sUnu r} ܰ031.s65\[Dt|2u:eGp=V.?*VD ڤ>PǕ!y"^w\lQX20ՌPA2C+,ky'o ͉;eg.V#H^D0 Jsp$Ul1/3>))"%e055ح "piji*7,=񲨽Y.d+iSdԂ.4gH`ue$Ç 4hћJ#` 2*ՂSΝ6tc `\\][cE:,tXcnrtnwvpE%J,Y(QdE%J,Y(QdE%J,Y(QdE֋%J,YheE-Z,YheE-Z,YheE-WD[F$;]k0 1X@/^LGpL;WKtldnV8 Y ╂]iØ[BV…sjMuG\$,߉׸Ǡ Lܝȕ;vD/Ѣ>AwWz:13 c9YnEgqz#ːʖ/_cVۡ p6|l0W.|qԵ;Ṯ3`U>'zB=ehwT03ndclqvlpf:n11qƞɰx~01Ӻ dc6 lmxqт>N4Ƕfn=;c6ёܑ"37ӌK 4o!g3`iLm1U˜qV(^2J  JC%>TyӟtEGNȈӜks7ΜӜQ͓9[gNnӛtYӜWX9UIr7>R*ixNX8qJuVAΌN?q+T0"#?Fs'Y܅ω1^J;{3eV1xW^Ï.5nxV`!Y}ȣ~)Bu]qxđ!a.}}ۏzPYg#O  qzC ̂<97z*qg)>t %iέ:usR-*Hr>p;׹P%[ +*&SJC Ke๿[#FbFra Xl V;B}G.l7c,$C;1UΒ~7wQŷۈkF[1bQSd%d˄)Ȼ\\k>76OF9V)s׮f~B^WU/6t4c>8a꒬Lj.ne+ƍyp`n8;8 [p+h>+r)vw98321%q3`7mW3 4n$*uC+Bldb\pwuDyml1hd%qtПLr=]}Vl H.1uhQ1w`WJϑjz>|yRI^_d=y}9/(/4xz%7/ӛѓ[:sO`afH6rTde2o =('5t:k=ǖs(`af◆( ,RGѳY᳑'0qe]ʝ9ϊ9{S[Re-m L,Ti3q{S3~@^_d=y}9/(/4xz%7/ӛѓחR}9/<<5qdGTGg/?5QO^_b7r,^0=y}^O^_ddž;)jG9xGz/'t;Μȼ=y}<5qN(xj 1᪏"^_d⇆<=y}s8O^_e.mm L,Ti3qS#+S~ ,5Nw\ɧ)R\`_EփDwVZܶ9&|X+$p ~p[/J(PBa CҥJ*TR[DamO!]nGF}-R:mqyyq.;aݿNr-t[A0F)RkNV0Oo)g0j)`WbNɶ:ؒw9tZi5.z9q~+XӺ}M8%Yc[,Ԇ2nOW{# q֣`޵ņRtnj?k `[[fj޷:~?$cr1Th)⫦3t6ast,+T.2^ 3NR=i}YB|ϚBm\&7*ZT6NUgFt 3m&UĘd3Uu۴aĶκJKXpxԍk aUB8;?W։?WՂj@Bmrm9e*ݸ 6\nNQkt3u'K0Z̨VE*q9ۋ0=\MUD2s*a~f #{,0KPK}S\P1PI7/5jt?P*o!*:b~g8eLC)!*-U1P6U fT+q-r'g#uW>oo#)eXԺP373>#[}P煩*3UΣLMM^_dayJojkq]9٘Xghf%I//SyE/SyG//0^xy}//tR*O7#W/?5r#W&/?5sL;xç7'5s'<5z jy}/'t̼=y}<5r'<5sJ'LxjN(xj5^F]9٘XghㇶFV%to6\E<\}q6 p,u,XsvrǜtRJ*Ti ƭb\&t+T}|gE^=ÄxM]C[ T U`D(wQKVU2?+I`f^rOՋxΤkh[ERiD . Უa²M嵵&) p 0Rt b bj3ª+HrLA APD9:" 1 N$ME&*Zl6H:*)D .'Z!O$U e, aiIph tL]A y&E.qyGTnhy•x,HIyaUUXϕ `U *[^-| 鵙A>ʼoʝ%P 4x}xHju˽Q6NR R`LL]o]A^؋zqGI3Q<*a;\HİM02t:m+LgC;eDA==l[)v~o/k/1%_Rl xf񥼝o'N]IJ%Y5W%Ir%ђ/Wok)rv]]TzXjr\Qxk񜖾%Wot7vU [B&m ˬzѮ/W'ZߴwvS,ae3=ٚ&o.ҕ;Yo[*s ΅;޷ȝ&b։xgFLe޿;X7dSwkG`I}inG_5~Tiާ%W0Mvj9.N4r;X5Z5X5si콗vl\6flYW;$.5I|+>:mMwe5#ooK{;iMf.lַ6ݔ7p%MZ)M-ն%vmj֭]%oW~mMwe4MٌfoN5.TSM:Vlڹ;goXeʟeMXik&͗v~vt[-ݕJnɣɻLXxyFrIkJT.3Z嫋-5kl[X6m[-{eeOg&Nz>Mkk>m=\ٻn{3g͵iy%K/3oN*lsRSy:\mb֍OW6ݛvt[=ݕNnʥ{2YngL&o,::_Prkl͝%Rʥ'iIJNғ*&U);JLRv[kk>M\k~bLSvM.-ȻŒ|^hZɴ|z)}ykNF-dz2ɻ&MuO2OHM5]V4f2nٻ;v{7gݝ2&KY=^IvQ2ThћӨZѬKY6kΛk~fLvV)o}EtwmzխZ%]YfߴwvS ݒ&uv]hkѫMk9hlTSdM7Ԧ*lLRO+m`ٻ.^ٻ6mMowe-4L֦{wÙ*[53Mu~Ӟv?gm e֍lֹ+Ŭ:/W6[ݕ:nʚS(RfITuT,ɕ 3mٳmosvTO3&RO*vK$͕F] su!C[5k.Fjӝk~mLw\6~ aսu\aչ7 ݔ7zl;{ɛlTrYdӓ&LsIldk%K,Ygv{wǣҸmzY6 ݔ6T GVX6댞.^+|̿W9ߢ6K#t]:Dz|bWz; Vj͵iٻW$wwN>amYuuv廲+oST7V=nCxW]^Ǻ;˧vEXw쭛lvֽff͵Y7vI3jmt?ӭt$hIN3ڼ.o⍵wC5nv/񬷚yte닫kҚ(Qk~nݵo30m+\f6`5go٫kre.Pg.Q.}NWf`kmolL٫rgmh>[wWf7zM(͵Z7uzn37LwgVhFmջvީ1vwN8y2w0L\][\)9*|f;dC^IfFzԿ+Xq+ڋ* fڹ-rO05zϔwdɟVt6toO`Rt%ʣjqoy*L3I6ʛ%N{ڦo>RMy%{QwɒƎ{k,2}YƋ{l)M.I {ǓmR̻GxꖹJu.wxvLGiJjҜXwk(92ʓ&L2ɒ&w7wdɡ'VʓO\3iw`޲j·m&M-dU-yR[*^+wȥҹb5t+ynw]5kc&3vLRM[^dk{m'iG|Jz&lsukn47fIpd*˝/yĊ޽ɓGyfwm?xyvLwl= /u ~^3׵vLL&]ǫ{w#o1ʝ.T3m-oQ7 i&Lz[\R\օIɒ'y-w]&om2g3vLrŔwwd](:SNߴvRGʧO2m v}>TLJlW%2Tmu*W9MҚ`Z7<̦1um`ٶ6ݔ7~kxvջ%ʣw^/˥zM)sLsT{p?> y]&+mj֝]my +zmosvSLb+Ṿ6S%HeJZdrTeSŲ3{L7u+mgjMngjk~ӡ.jB}gjٺu{W6vo)g_֙K)]eQ*LTdʓ%RReɕ&R2J)rL2J)V\:e̟2/nj]=yųd;[6vKp{d˛3wYvK%9+;BL+ʒE6Vז'fy[)Tsd*^͕?gʛ%MS6%x_'MWek狳ʟʗOjM͒*wnВ}&QMhދKujl|Z6_+͜˽[gI&sFJ^Ioe0t7}wuwQR|[)rSf5gɚ3iNa:˥&VgtR[nR]XuZuWR[-ݔ7yM v^ٻ?Zw7&5fI\'e]ӭZ67we3KKgmijk~]KwLRLy?\gy1Ӧ[o0}VK놹kfku6Mݔ7ypp"GGF=.ߴ۷vSt;_.#o}6Xfyʫ0/YyktD*?v#py~3mjs3fݝ6Ż%}S||)fMyɽ>\c[AA'{}{Дn 7ҟY5s͵\o[5[u\5ͽNmMwe6)p;XCtm+; Ӻ"|V[5[u\5mMwe3͕Sd͕:\M3wIQ\rlKeNMe?11lmTk|Rjvo8l]Wfj6Ľk//NRܺleJ.U%o%(ɖ7}ݔ7p[uQ2 ﻲFnE=oK6]%TR䝵_5W{\ߴ7vS)Vk6%lގ`;ΜcOo<}kklg,izb*Hݵ_5]fߴ7vSK2q'ugKX8J)~jJikeֹMҠJl*e=`T8\ j.RREsKm_m[6fҗn}InIKܛdZWumMwe<ޝ.QJn#\jaIKnUwmlreI'~խ:mpk)rnжKŴuLVЕBM 2U--zR-6KhJ\&Z4%.O*vBM)SΗ:\VВ+eKJ/eKle+eJlg[*O9З.OR]%rɯ鮰3mpl)n,G7 `($-lΛ*%[rxˊZl |M)=W]sϼpjk뮰뮼k :6 黲&&4%/Jٶ'dTnX% Kvl{=f͵in즩:2hK%u)%ȒO:2hK%wdnt{۶k97ݔ7[LaFc$RFc&Ӯsmon{)n Ilm['\߲Zdӯmol)nJ]W>JvkM6̶oRKbڷӬ)^K[mwe7ޒ*^r-*fzRݣ*vS5weʛFU]2˧*[;gzf$uz;Zdr^/K_.|fq5*OmZ[NVvS|l>yٝͻk ~NVطvSsw^vg]%;g5N>|g9jv䝓*Nɕ'gI2;&T+maֽoָj^krSzɕ3WvM=eR*v2m-*nɕF]9T(2ʓOs~MaEko*L׶G3x]eʙBV_5ma_bַ_5UI>U={ilRvNRvNٻnJvVv;'elݷhJvVu~Tn۳I;+fJTn۲I[+f쭡*N[7ejܩ[+elݕJ[+f쭥*V[7elRVٻ+W%J[+f쭟*V[7elRVٻnJVurTn۫lv\+el[+elݷXeJ[+f*V[7mIRVٻn͕+el[+elݷhʕVϷfʕVϕrlj[+elZ*V[>VʕT[JTJR [+eSb+elteJ[*)RV^*VTʕU5RVʦ*VTʕU:rlNd[+eS]+elseJ[*RVʟ&ɣ+elh[*|2Vʟ&ɣ+elh[*|2Vʟ&ɣ+els%J[* RV]*VTJR)RVʧNTeS*V۲ɣ+mSѕhvT4em*|2ݕ>M[nʟ&eOFV۲ɣ+mSѕhvT4em*|2ݕ>M[nʟ&eOFV۲ɣ+mSѕhvT4em*|2ݕ>M[nʟ&eOFV۲ɣ+mSѕtJvU6RݕN[nʦ*V۲ѕ+mTJhvT4em*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6*|6* V*vݕNvݕMnUnʟn͕j۞sw&뾴m [ֽTtf-fa&TZXɕ)VS,zì;ֲm %zօYZ.QzKEZ*n͔Ghc2QRoM|<-q2vѡ׶=M n;SE>dal9ǜ<7kXٲ:U-QBU=%NBVy#mtknI]ӛ7Y6{Ӭ NVBC@PA!ledyzmh507Ok]ٖY[f̷[~ZU+̧NK}[3-Hݕ6~77:o4쩼64\n5OZ>l흮yma}o>[hMR2֪4֩K֩eRŶz1n<*L3R_-n<*L.[/ZL[/ZL[/ZL^^np+mcIݕ>~?|QoWȳ'yWgjv\smʛlrz;i^ϥlַݕ6~75~o>m7#Y%W̞@IMYK͟k~Sɝvʙ.k,73wVֹvӝ%RYu QNkݵsXW'Z߫swvT*b.s^Tw7%ʒR*J9{Dmh\fǭޥ1Im[[;\p>[T8'eQɫuڏXjf.Xa2y~o"o+N-O֭|lGn5~l>^5du)-v6T֙2˷ybOk~KXu}OweSm)S5nQ:Om&mxc.46rV1wu6T:2}&-2},F|RYcRW׍rֽ`k~/dvɫ.u'JR[ů2ku[-_]mc+m˶Rk>\+lֵhI㮶ZkB-k\5n~ʟ?d$oΓirھ%ʒOa1{IkLWgҒͭ-2T=h.Td.|)ڿɛy|Y)2fM5d.g-m*KI{RשMS\$aۭݒO?kdE&ڷͧ5KfYfђۮWSը쳵&;{9<&v6pim=pɬn͟٧߫l)~ʡLEӧftݗ>TΝ'5r|s'8\$Is*M )g;K vɼSSSm9<-NT:T:۷u2YYw[BL6R3/4>K)q~ʖNR:Vk$S)k乎r`q1m{^:9RyiTuvT͗*vblS6l l)lSm+ysRk:L+gQ:KkTc[EANm9S ~̻.F[ynr~̹ȎdE>J)+/W'Пk~nd39Wyv;ߦSg:L9rx_gM2jg5oEuzO k&8\&r.Ƽϕ2E``&O6j &r38{T` xzFk\ak~hɛ*o$Q[eI`Wum7kKy*^\T-́|3Li;X6 7fhTj`̏V˶c%J;k0/%xvrWux_d$5#5\ t]dz鲤6٭rW5fl\2˕*^Z2%FKrfqUeKzekvj:\rW%hjޮfboչ*dNR2ٰ{8cVɛl[lM;i왈ٴͥwW'߫svT%Omݶ|V3=Tm;iɞ[ܭݕ*~ɤw)e9[&/m2Teh&Vѫ>[OL/[4˞unʶ~ɦ%oQjܪ[1>Rًdm/p P2TeZF9f-~[kVjޮϵVsJ!KF_%̥=]-/%ZsW߫svT*4K)Lo ZL٥k[Z߫k{)n~ڶŻ[k\[nnʛ?dv왼5oM;]&k5o-\Xg߫swvT%vk}5~ܙ2m6L:ūyv(Sf.iKdѡAvM}:[,۲VN{:tYwm^fZ6 _Ke9jp6ǹRSWK:s t&יR6n۫oչ*dӤ]hխywd̕6l dZsVv}ûgJb Rϋ.ޛ͸ѓ&5qL)]'ރ$J5Q?im9fʶvӥmv9Lmd\5X5Kj[mwwe.T6y^ҟ/z |{}tC8-y׋iqNK;N~g>k 틮SQʤMomˬڻ:ëzѳ~ͧOV7vSD= /pmk>kKs[3;c{CK1[w\'-e̖jt'fjLrץi0ZGfRoJNͶ6Pt};~RoIlL>/|͵Y[Z^ٙ\ܑ/߭[x\v'6c-!J\o>r䝛m.lݥm;xsR;1˒_yɜ=X\ṭͽN}ӻo˥.tur ٓZIZ& XŶMg-ٶq[m%~m%Η'govcu%ɳknY;Y[Z^\ܑ/߭;?fҶtRKW(.0͙6ʗ JշZKr>Yًm[|[^ٖ;9oMuq3ԟ% -g=mixn~kglsohpisrF./liy[Iq~\:5{f%-g=mixn~kflsohpisrFkKs[3;c{K1[w]g ΓJ\v'2ɧ6T,i]%wZIyZܺZ;1qtˏk2\ٴf xr7Ywr^Ŭ筭/ lm .HǗso֭r`'R:e)s۫XgL:T\i.̒t\u-n]-d坘Itm/+i.7Nq3*kn% v-g=mixn~kfglsohisrF./liy[Iq~tSsy+x~^/mb}s֗fv67$c9NO٨җ:]Aq5K ޚJշZKr>Yًm[|[^ٖL֝k^Yuyk랶7?53984_)ϵZu?fKltΗnP]a2{[wN\;Yf5rfSiΧ:uShOMf:f*WOWʕ[s Y5}ϻ)>mc88l-Z'Z߫l75#FTS6Nl3el+gLZ3d͕ҵt:VГ=jK_)IBGztT1ml։oն-P[kfNVwe@뽼_-oM٭*z2]%;fɗBkR%`s<[5uѻ)!+wʗ%mK\2In&ٲeR&Udʥ%Lh[JKRɉ+ySVk+Ro˭keL=.ӘGě&lҧjuSԪrev,{/h*MdzeSɬ,ɬɲLBVʧ&*T-G?Qʡm+eSB*R#TdжɡJ)Kr|ҜMvdӶIm+eMNVʣm)4liJSdӶBU)mFm)mFm*3mFJ&ɲћJlhͥFld4MSfFm*3g%SNVʙ&6M;i[*riJS$Ӷɧm+eQS&ڌSfڌTfڌNM)e6ٲћJhKiL=͞TfFJ*^Л&seRtdЙ&).LlhxQOJRIn;kE3Z߫l;v-o7)NZJLRm>T[:[ҵTe+XJ9V*^J\?WIս;;xNy;KyNo(]2L&Rʓ2c=Z5Xm:u绲7*^֥ש2dʓ2Mm&LRfIM^^ɓ*L6ɶJ2eI&6{|&L3&,dɕ&|d%L2ϓld>ɓ&Tml+WIxr%Kdɕ&Tdʧ&TRe[rKReILReI&\f26I%L+fIwa=mG̵VڷvSTj2+[mwe3OE&1q> :Jp?hk.\I~*,&0K`ȷ)VεV׷vR%RfrlM{/fʙ콕*ݗl7fSvnْ콟%ok_V7vS4Ic*|+vJa)SL2XRSRS%N[ TSTy=u ۺB'Owmu.HwqtzH1Klw\5[5[߫n)|>\vٌ_[.f2җ&S%˧>MgQh&3Jֹ˶\2wWu\]5}ٻ3ُm ޡ{3[ͷVru rMn>[nMvkL͡*gOOi̶T-Oi~{3fPpMvOhRNm{Ohm9T=%=l=#ݟ}OhJrOhJ{OhJE %4m-MaOhJnOiGm 0m9hm)m $孚> [G|.ts`$5ksMpjFj5l 3yC]dٻ;w~o%͛5s乒ɖ& K(LiF] ݥrvVʕn۲T+emmn*^۶˛B\_y+FL͠NtV˶˙.\mfL/me[Gm2\v^۲KF˙.^vThm&Ktḍmlimn*e4fvTth{/mRnʕmn۶VѥCmvݕ*4mn۲[F۶*T4콗7ٛ3meLo6f۶ʙJٛn'mhZOsNk~n)2;oIFSݙOI^\:vْKƦe=2URekDeQsεVvS}:]:Kl׊ZַRkd[R8ʔ)T R%Jw*`?^%K֩T5{ 2ɟ&]2K֤'TkV oշmݔ?xTݟҤTa'fo'X7v֭clOhr`2Nu|GKWђ&%n]=wRgkkO`wu~GٖIyxY5W5^'[?m;5\ْ fo%ImI\IɗtRzkkk OV-)rdv̕/ʘ&R>eO*} [lwm_us]`u}sټWʛEofMb|NRe-˔/jr9KԥQ&\ik屵K̴(:5N(B\`]&T|,RWJ&T?nL>%JD-WJ&T9R^yftR%t)+m'I%0ms'Sקv[V|mz.IgK&^RK.tҭ%rVʗ+eJ.^ʗ/e[*ٶ˶Vʕ*rK'mɕ*T<;f2Mߖ ):j ^m3)qDQY5]u};f.M}u׉lhfa];2-r[&\c?:eKmd\Xxkwu~ڸJٽ>kf*mul%;k&ó\6 w^'{vc*m-5m:W)|NRe-˔/eN)[Ķi6KlmVәQ:\V})qv2;K_-_neAšfrּm:> In.~J]>k*kB um&&;k&ó\5mwe\)nٖr[4l5~k,սӦ:> G{vkD[2[̦ȫn:[=yL^.Thrz[3ʠֽ&[3BvY5W5^'߫s7vT*]6v͒9V˶_K_$6ټg:|6ٮe.L:W+Is]孷z:t\5n~ʗ.~ʣfM͛&: :T̕1uq;l :Kz:[OTvɺ6;vj tSf2PwԕK̒WyxFޫ-[ =JJoAʧ^S)z|+gt-: [OTvɻGfГVM'gy2˲l .\|sXKX(,3xv}Sx[?DNv^܉;]ڷupI;[]K_d`͕3eʓvL;'dʓvL;'dʓvL;'dʓvLZ篚׭ŭoպ*Gi̛Iٰ;;LvdשS׭TejT*\߯^S)z|nΓkݵ_-: [Tvɻ>^͓N+d*^Qgnܽ{3yjn[Ͷcњ򏓴'P: 6ufΔ5l5j[*k6z5zj>NΕ[m}G랾K>[Tvɻ>^\'gs6;goFSLF?6=w:[Tvɻ7eٲ`t⍙%s^zl[m5z/ۺkQ:[OTvɻ>^_nIli.ʛmsk~R;Mv|Gg@Jսk$;$V:[^KU?g٬;6b6UeOVХmm"{K6zmεV3U>v͓;gIuْm*dOtJk[moնMݔ?eQk&=ddLm'X4LvfG1gcΛ>KVwv=|kS;Mvdݣ/fkW.M2\%S+{2Βѻk:[OTvɻB^͒ӳ/gI϶4[nnʛ?eQk&{6K>Ρ%gIhk\5n^ʗ?eQk&{6KΓ[2J7X1M3%Lb'msַܝݕ&~ʣg٫tfK.Nb2s-YrdYrR-qmz]5v-i>d˻9I&WE׍ifi^ʖ*\+.zl[n^ʗ?eQk&BN͓:L̓2lZþ$f4hoRԎ͝I_;e5˓Av֩2-i dcy&_OR==Ę=LY.T92[J~ϕJ۳vL;Gm\2۴6L:kɕ'im-^2&T\[Gh˕6TٰWmbMّns=n"nj*,%Onϛ&337ݟ&K ˆ -m:~tݨeQl=˵\%w`[N-\kV: [Tvɻ>^͒6Βj * Rܩ;:T*Nҕ͕%wfOolY'Z,[`vU0Iџ-;'fjͲxKFyݵ[tSoչ;*LGiϝdxS &VqI}6Xlْ.JͶSrܪLerdWxgIy+ۮ}wW[kMm[k~Sg;Mvdݟd.:O\mC6t'ɻkNVsU2n͗dPM)k<Z0I:K,[\5nNʓ?eQkl3+'4gJ*KkSc\u/weK5ٓv^˓wLvdZ|\5n^ʗ?eQk&'fɦ1gJ-*U kC[$M hI]unT*N̕'iJl+K6zݮөNVn쩓U[]7hO:}&N$3hz̓>fll:)-(m⸶O[\8Vץ[j䞛j9kJF͟5T.Q?<4N{f0N.\3m6΢0?&ɵq}-bL(҃\ԃ%])ιN}m-1#1u WYQ]gF;|m[]mkr[宭[BdiKm]ܿE2|ƉSXWy"{&ж:ShxKz篖Ν>43hPk~S;Mvdݡ-il]7fkK6[N9ShJvD1P޳s[>l:kBLVnRn[vt=Ԏ׮vϥ>ANS;Mvd\ٲZt=*emv͝[f)W%q^eII:zMޫ)g?NeϺKd6Jsoչ*|Gi̛e-TvtX?fI[:$JBS-J/ZEgI)Гk)ݕ>~ʣfM2l '6dgP {:Slm%v|}ϻ>KVleN2d ]ZrwvT*];f]j_ɳ6=|k~T';Mvdݥ٫;_evUR7W)sɛ*ݝR\7mb}s.zy|k~R;Mvdݛ'ٲiϙ>NΓSlS[?iJIҤRv:+\&침ͶkD6vΒ9K&zݮӨNVn쩓U2nْvԔğ2Lvm([>~;k];mk9hOV쩳U2nٲvlma1~Mlْ\dZ|[nʡ?eQk&-'fɁҟ(M%[Jtz\6hQ)Vˤ+鷳ҦEٮ֭pHmt4kZ߫svT*]7hٲZvt[2KĄj2=|kS;MvdgГdПCgJzْurU?hO,M突]?~l2[X[x=qsxu/weK5ٓvn˓dPAƄ :Sf̕Fl.F{fa*m F٬)VfEvoL935U*FJZ[[IVDuU*lnʷ\%[2)VuU*knJZ%[YV\uU*bnJ[z:[OTvɻCgIٲ^t2TZ 4Prַݕ>~ʣfM;>N^BΔ2S)[:Wiݵ_'Z߫swvT*]7W6l:SNe=yfI{>ѝF\txz0OKzњF=CŒBm=Jdyr|-p&dffIr-|,NtLE͖6Lgo3ΓrWe$e8ݝ&KFiݵY5KO.}> [we[?eQյTɻ7fKٲuWJ>vkNҟ$С5}sRKsdI}bns&NսfTu_IF^CxlRsg[J$r)rK.W˔n婾})-&K?6N,6N) 6Urf[lft/'˕.WCz|Ʃeʟl({goGK>leZ͛5OEK-c,%ʗ)z[l(>\r6e1?y>%˶]П.te-]K[eΗl3(Qv.nΓś2Lbљ0 M e?kd3ֹ>_*1!l״Γ%ywi[EK;0jݬYwmshNk~쥹*]6չ;5oWl0{2LZX-o7mV'=%v6(\ܞ'Z߫rwvT*];fΡ'gI$ҠlgLNi0Ol^ųzEm]-s/k'Z߫svT*]7hKٲZvt6ْ|uﻲsvt)dc26Lʟ%8m N{:Tϔϳ6lSk޹뎹vkt\5mwe7OR?K'd읓)RܙL&S.ٻ;gltm){gNv\[Z'lM.SvΔe0Z%;ֽ랻뎹OVwvS.t BSE&W.SД*]>TΔղvT*jΓk>nJw׭{oն ݔ?eQk& 'f)>̕m6*:l2U2ʝF\nJݛ*n۴6S*չ;Y:md}4Qe׻.JV篖εVnU2nҗ[vvg!fڻImIRs9sė \mk~R;Mvdݛ-:T̕5vsNΕ%v=nk~Rg;Mv~l3ڹkD-%U 2`㍝%VΒAœ-{uX-u;weN5ٓv%gI❙$ʓ'QY=Il.[o)*)ԗe/ 49L[B{FͥOi\49KOi\u?weO5ٓusfjfiW-*U2g[*:KE&I-we7OR5lL&S.ɔeA^ӳ^]\_'߫o)~ʗ96^˔)nL=)lvll.Svl)gJqRN6͟)d\ҙvdm-f.aً&Rٌܶt-f.K{ًl%4lL6S>Ju MvTɍ>N)^\\u[}绲ʕ.r&S &Sl'gIZ%;ֽ랻뎷kOVnU2nЗd<_9#|]\uۻgf.GeNcvp.6ϵ2]mo2]hOKl|9>OO.3dT8ڄ3˝1e1/N>OM:c%32]W$˟6Ts%&tvɡ'g˶M>$̜.4ϗl2W.M2\ BLvɟ&\d͓ɲgLyr>J6ldϓgLt\%>O.3dk.3lxtdГӥ˶L<[>]hGJ&tPrgLEϗl2x|dђ.3dJLvɝ'˶L<&t%&V˶M/'Kcvɛ%|dђ.tdГ.6ͷö]gS6\.و3&|2gIM%u]hI`:]hI۴˶L0s&|vɡ''˶M)$Ιƒʝ1lBO#[.6ƒ͗ly&ldғƔ%&lQs1hɀ:g"˗lxL霱&ttvɟ%rk vɛ6L8UBKۄdy.3I&6rgLl.4$vɘ:]h[.3$DY'KM +s˶L(ɲ>Kvɡ&ldϓSe&|T&1.3dS.W&˶MmevɵzA.ٜQ>]h3&֙M&\vɜ>]moKledΘFldҀ.4.4d8L2gLy.3fKL<_.]f3qV)^]\_5\g߫rwvT*]6L:Lg3%O卝%gItNt=\ָjݕ:~ʣfM$+%P[*%gIgl[JBU T$}[2OtCiJɛvy3[˗?4ˁ> K}+?o!mKWe\Op'0rt-<;9+v͓?gIu-mfIl&Β5Jz:[OTvɻCgIٲ^tDْgJ.[zBo: seM]rth5 |Ҝ_d̒&RfNOZ˨<-{:ʚRhzC8ҸK&{Bunʶ~ʣfMv;6KVmk~ْɶݕ:~ʣfMdlB}㻲gK_Wޙ*elҨJlVT-C$ѡEyoXhS*]:s% vl̡m 4&[lSk[nNʓ?eQkl3tEْx[:L\wmsַݕ:~ʣfM:Nz12Sl KZ k^ϟ>[OTvɻ.TͳKz:[OTvɻBt%gJ|җ-SeJ+fJA!IuI,2z$F]kLk~ۻ5ٓvf'fjȻ2W#7u.6=||[nvʝ?eQk& 'fpҨE\S%v=n: [we[?eQk&{6K T(I:tmђ-rcf0I벨IHITQgGϓӦrNY ^&[U0IRmꋴfГ*|Sʣ&T2Nmi2L3lg{јf.[.b6e[=1|oj޺ =|v]x)ݕ2~ʣfM6\%n\rvtsdl\wj}\u7weM5ٓv~͓dl)2U&;imsεV쩳U2nٲvΔ%[A`dT)lPk]Owҟ%v=nr:[Tvɻ?fٲ]tTٻ2WG͝+nǮծz>[OTvɻB^͒ӳvtDxK.soչ*lGi̛vl8S.iTpB%K$u#+i;Jҝ)4tݵsoյݔ?eQk'hMչ;&N͒N`2VXg18ZKm[jݕ6~ʣfM3d.:WlŵL4d{ΝF[2ܶ)[Arյv 5$V5SEjӕ&4%I*M)Z*[-^gJF[4$lַܝݕ&~ʣgٲgl.M%3LfImJ̕K*TRISЕ2%J7r[wi%P*e &+ۯ^݁>Kfvm=gkS;Mvdݣ/fN9go&8Pu'g@8w`hIoݵtpպ;*Gi̛;fveKMUgt-S`۶덶:[OTvɻB^͒&NΒ%I7is6oչۻ*tGi̛gIٲWhOpfIB\zS3ym[:WSmhS[B2`v+msnkS;Mvd\ٲZt54}R(Pҩ_Mm}[=|> [Tv\Ze1ϕ%:Nl*LRdʓ%T4%I*L9Rdʓ%rd&Tɬm56Vʔ*&LRdɓ&\vt89/: [TvɻFe ;6M:(IҸfk r1[%luQG[%.J>)rRS$IrQrL&d^ʚ:[Bu sIC(AL'O*k6ʚ$髨[:W'Ioݷz:}7weM5ٓusfɥ%ovvI%K%O{:W)Zѳ?Ii0*]ak:[TvɻFl%gJ=fJze[VΕN%iu.TTM>)ғ5`r,kַݕ>~ʣfM2l :O͙s[(9zcA\6Ssˣm4ԋ =o)GZͶk Soչ;*LGiϝdΗKi.~̓ls]5wJ;RsY6RKLbǺMqms;gZ߫rwvT*];fɝ2MeOyJzJ[Tv\ٲglv͓-wvtvtgm)Rv:*NJ2ܩ:+fIp:K\ٍ2WВͺku=\u3weL5ٓvt%vt0ٔYhIxK\Z߫rvT*]7f;6KvΕś2Rܹk;mg\շԶtCϺkQk~Rg;Mv}VrVv>նkd:NI֙:ó篓oնݔ?y&OIU'ծFM+Yюڿkn짉٦R17NbS&rt铝frE)hORIѥͼM-6OMSk&ԃҦ&#-13k>[Fum 2ʥ&64*15_-a[&_KpOKd[&_X-T2Y5W5oX`u^&ϵ_u~ڶ޷&[l]\ `-*o笓Zkg6kTkOiˡ6T[MmQ9mdl֩ot;Ʋo#P|S/\i㶲6kT\5w[왼O1:q+0v72ON?x|Y|Yx\ rxtD%E铤(I|'m%~(Eߨu<{To=wymkM~m֦j3pԖ֪?xZ$ϓۼ5hZ߯?m\-0[F-:ZɭTO_7u~JZ넷Lr5U/zl퀥Fu/5c dnʷQ֩V)Vl]Y5d[w[g얞>ݶwN9b)+WJk/%Jn2z|2*o7a 3X%ZL%$,%.ISK-^Y\]5o#6Е%5{|wr5norv׭ZѭS}s3fmnMyjjgjk֩O٫~ɯ-M,Mz>w%ٳyRo"k,ɭSotq^FUk*2F..X'Y5ʕ)Omc)vFdY1e-i,mq]Σ>flջktMyjjjk֩Ofy7Z'K*{Rk&53T[w[얮,wٻzF%Og"yCY8N*Tr$wmnMyjjgj֩-ܫ38{*zZ;wh˧.nɭSpնݔ?zS{J1FLfg uVʶMld*VʶfJl9zfqO?J9Z+YUn[&VʶUmٖ륲le[*VɶUm̕[+Xk4fpSWe;Δ*^[IjK|4j,5uqyr-s:A hկafIiCee]-]\\kr;gNlV>M_NafhhdBjҨq}X5w\WuZFl[w[gh-f5vMjk~dВ݂uqmxMlmxk[k5Tg߮?ftl2o-\*vffuK$g'I2em soםnr[Y7ZztxJS3:)~2(`+m+Y5Z߫m)~󜦉Rl)~2Y}ssbp]GY%4<\$=>K J>IG#$Igtu5KT~5[FO#qƼI)UdZRk&kC\\6 w^'fK%-i5K>ى92yO[k&/O|=݂^f2L;JU-v-V":7dRo5:\:VIZJҶJz jԷh k&j]x׉> Ikmhӧ&d[2^.{;> In.~ڽ5ٴ̓KfZ+ŵf6O9~vM}uvk~N٬)ə&]|َ {k&ϵQ?m[lֻVͧ&d[2/s@[ʻ3u{ke.C;R[9ymd\Xm\\k~wu~Kk5hҧ&d[2N-kk \6 w^'=Fe93$ٔ\m_%%:Kt/2IGɛ&Wdɕ%#*K|`9enL>%JD-WJ&l R^yft^gIb޻2t/2[iO2|*=zfRWZ5uzߋƶfɯ/zgߩ6m&d[3M}uk~2Yɓlzt^o*Е'xVכuw-kw[vmj=vB}ٻ3fɣAzUL)^͵{[ב{:l/ٖ]wZg>I}ss}kzvw^lZ>w`vϝG{9!y]ݧm:׭:[]K.Tv{Kw֝[6ʧ?z3EJ*{)T4[c_)u}u}S3D6F6V&FvvM%/a[]\IqnLor-4ʁ :lV)=NSoշ-ݔ?Y 'kkɫҗ7yQ\vnWי5'k'P]*vAN ڻBdٌ(L+m%wX%mxoMi%{uK.@XԔ63_GŻkι[mmfPk~n짩5~l7Mm%ָm ;)l2Av Gwe8͔o*ߴvS=]$ɧ-zKDi/z|}ٶݔ7Y4ڻ%m -^hi><Ω3žkd1vdX-o )nKc?gDi7(kfqN_xNũ f͙*n۶Lh75lًҥL*T&K>e)1Kh2ْϙ6U&ʕ$܅;fI2չlh%M{wYK[tm*[\X6ٺ3fJ-o )nϧj|2p_]uL͗ kVŹ[j[~oSQWo6f'lKMk6|dxv ݔ7R2y_Lٛ3fJ6v3glTd;FNѓ*'h2eQd;FKܝ-utw`fͣkIS%aW]dʵ6kBeAwe9M)rfJ*\|M%!:lQ*KC76s-o )n_m) ݔ7yH7WlSuu8R6y.T[7ZflSuVJeAwe9Mzk\gM[*dْ6TKBd{l͖紩Ml۶u6Zmz<̵h6ٻV͝*dw]%Ε2mrf[6T$btRWQs'6ͤ:d9j>c 2[v}ݔ7]K}+fқrqϙk~lMuzI{uz rg˓m5oYuZkݗ6׻-Sk `%iZkEd%!&2_%˘l<񺍓nNuǻ9kgɓțm []h+Ŭ;;g[Fh3 K&n짩ڐ8mmMF\[v_O4&JNkǶ&uZߴwvS}lʗ2\z-{EmmMF\[t?܁dn̵h@n &9ٶvlw.ɶS/ə%mmMF\[^k)).[uQ2ݻ9mɨkk~oMwmY5s-o)nBQ}2OLpݵY5s-o)nO공mܙ:Tz5ͻgkڽȒQF=NԎHIJ`ĻBj tr&J%9ThJTl488L`[y\>L2OEU:li-P*NkULh6ٻyrɩݔ7zZmp ;)n)=5S0*u ]RT'\eͫz%]Ymk~|OeF@mmo ۻ)ni-;hNZ)lOZe0kj&v֕Ο1UVAJBT_׹]T횽*tɲJ)mfl[nmKkNNRܵos.r dm>R\[lҡ*d*&lyo3k<JWz?zŭݮZᯯ-lm .nHǗsmo[)nMCkΡrϮzZ٭ۮ6Ỳ&3άq랭kv떾͵h>ٻݖk gkrsWOYV[5[u\&ߴwvSd&.1>Vӓj_.mOxnVK;V6S,;ǓOil@&Kζ_*N_IȚ9zJAZu'3xF R|m=f`יZvm6}sսbm-pٶݔ7z|9q?1mC.Njhl_SQ̣{.lyS̙n)m?hK-2zCW(ܭ[EvХB{ҠAl-YM:]2SɲJ1KLJTh˟ų4ѧmJö랭knk͵h6nɺAVZߴvSU_5]ߴvSXyKnllm޹Wq6L3gO?\$͵h/;kmwf6~ZWZwvS,$4XvviCg _Z~\[{oq:*~^l_^-{w;+^LFSQ5\dc;Qun䩖ѵ%~t^/xJS&I] Eש&o_Ŕw(iL4JROI붰̝[o0[ֶ/[D}zzm˟k~wNwd묵7ek4#{[\n~]坝7viChjս6 뻲f;J[L.RfI7(2Lټ'~aqVŁmd\v\[Z%zN/v\?Ә9)yw5rnNٓsC];k>Jw׹.:6 CwePDu .q񶻳OCW-eݔ7[eIgm1%cly.k#fMhAn)Է t<6kT[v7]u{m`k֩ݔ7g;gFksSS[CS\[rG)UK {E4.h֝ZZmAwel&ʶ|ٓW񤹬;k>Jw׭{s:t\6w;R{[*L0$3{TM@]mxa;ɶ˓:K/lZ3fJ5FM {˶w%o[*U;iZ.;sNa>VN[22 *vI&[FO6Ośo뮼Lh8Id)l9]5p?k̞@oMRٹmmMF\[7we#f\ I^֝ea-z&̵h2Y-m_+ۼU:~yt3;;:逓knۂz߸fžo^1[լZ8jVn:K8vNrYWe8j>Q;j;Gqgios%Z8j;]W [ %waEt)\w`⭒-[uZ%7۾&&G[[y ^w ׺'V5}̻M$j [k\Me*cX-^FI\NݻOi5N&-)V7h}7nb\vqhq~n'ӵ_uX񅏟{{I\Vn; ̀;\)ZϻdǰrqGO.KIcn;uzzM6lT*tҧB˓QS ye=ҏ)ҝ)JJp:m{1[n5rke)O\OxlUz?j5*t+r5qowVf}kjT:enM~j3?.kd\Iqtd%[^RYeʡ2qG3L);BUJ\Gmb)rm*Z>O$>3L);BUIqwOe]_WM.Zk~IR5qwXޛ%wWXXXX[6~*dt5qw[JeOɜey`'3jnFT)2vL2왫lҥ2KFTKʣ*Lʥ*Lʓ*~ɶL&2dʷd&TlT6M22eO3dʥfɔgIŲgI3d˓*~ɗ&U:L&26MeQ4ʡeɖᫍ۸kyNѻvowᫎݼz᫈9:/pǝFo?Iwᫎ7gO \FIw)Wui^%cD \m |կrlݟO7x|] 3wѓ7y[RYe8jndlᫎۻS)W7ur2]Jp.nnF{LֵE*dIIkZ͉)X 黮E2MLKȷft fJ-5{Lؒ5U z%zl.WרYuK%k 48m}g}rx:crG(t^AI!%\S~kֹ{z%yNO!;0)h\ zy7|Ir1K^Jo/I*j~jmNJ$绮{%{lG&-|.6LGz}5E/8mkޏɭ26Fo̞6pca׉3[W$|jF d+3Z(i)S}7.`J|Y4k^p.wwTļnKFp/;vIwF\wf/u)ޟfu)ޟ&ka9NEw[-Wyl 6+r?uN_)S5vj>k﫴ϒr6NN] mdz6-Rj-zk`VkZ=ˬrXK zW|ES,r`5K$ zW{ש90%SӷXݣoyZ=ծEi=i`sp+l4'얉NMoXoh^X$ zW9QkKIcY,r6\캋^XKc2^שm\ NMoXofQtћ%ӣ{GhuOdx=ek4=Ʋ(rשmpNFoFXp.5v;[\5hѣ7 5vl"m6υF:w#p-Iߏ5g#sm[p֍\jǜcEh{1h.x}ų!h0nvEhkVx{A߳8m=wx}ώEsVܑʣ Kh&;֜[=ߝ\5vKcp]M.ᬻI&óEWg"9q;&jN䐤;;q#;"5fggl@^鞮~tp"_ٜh+m9dzk$'QkK, ˬz˼vҩm-ԵuWw k<.ש9/Ѱ69x.]MES-Z᫒6-c[6轵wOdJp,Ǭ7ww7y~NܝES-Z᫒6f؃;QkKFkVJp+ǫ:JGeymo OdIeMk֝a֝hs _k\=\>V^ֹMR5/q|}E.mcսuuVVwĽ?uOdԦOr6oW*Xp'Wz^`u ߬z߼&fuzjʴQk{%^%8m6cֽ4 ܷ[^\u]8m:Ǵ7Hqvח\6-c[SM_#8mF2r*COdkƮJptioIa޲DIۨ@4 Hݮo38Lӷ,,GW#&r.- Q7^S7c y6{X=10G)JQ#sN 2  l#95D|`0nXR< S^ Ç&DQOaWǓ;[a㕮 Man:#W$؊wiwi:re`l_Kl3u5>]#z<B|qD07{Eyn>KorWomAEY;sr_#ߋqh8\DOWV܉=3?>z^htr]0wu63,}\79`S` NfT H5sT`?\]_kun7]oű_6vżm) ȯnY8Wn1Ȝg~+N=?!0-:aS s)Ń㌰Y+мMr|<+d>3P<{8o1Xs 򸛊.skO ;׎%9!W2q=[ƒO|MŌWke79W8$psX,sދe 0E"1iHC&Kf1)\?w)?[ƒO·~+oq[-]30stz9a3N^2yN8 t?zy?q~-$k>LQU;_+K.=Հ=Ag oqS'&GxÎe0Q#WaMry28W)'XN7)axH*/]qrWqj0O]>1 Ɯq)͚ASaoMrz8.;JcVMӖzqw?qn6&㫂]b3+R&:=R~b/,pǐ.5X*X//'#7co.+1.,'Q@IX>i嫒iytM0kn,\%vUy˸܏95G yb0*ۋbZ{)^yHi.ѐsMʜ0d}uZr8+dx zus,{bu\`I\_R3l<c,b /W.HX]b5c%+kZ'َݛ#sZ[OVǪX,]M_ORs.\W"dptc7.*9u 0I#%T r.+[8~An!U޵Ӝg<0Rĸkv>95!85`J ȑKd;]b^u۬]kc/##eu&|S{U*2c"dㄛɱ%`.&6Kl%M\x1$Q`I~ptBɗkSd> 3A 3DȷTܐq"q莇9.Ey܃%vZ䂘&j.϶/2hs_]˸W:ü`IX%ɖe0& QXagP%'C dhВ!.L+ ZNL LMP@b-uƩUڬ_g41TNX/N]Sgԛ,T?#) .͡F| 9zSS[CWAMZ3y`/CgBeکj$k:GVqucGGYP0lO®'cahFq$`0'vʰROjX345#.ŀ)[w2y.[0w/in݆Xt{C2}Ƭ p ijjv|yͥ~ߌ냿9ѥH(1ܡqe85 }u|ӒP #33:, \q,ll]ac:+y3c^b+#UJ(Asr 9b("z§l񟹋 |Ԕ|uXa'P Aܻ ij4TLGm?\Ep@j̕pӄK؅0(>Gn4>uC6FG?.sKxt֦ƶ0y"\K;YXhF!!q fcF{s=Fʇ0OȨ| UːVdQ0r+ ͉;:H8`MRtM%E5L/Wv Yq WUZLJi*7&rY#d+ /)YF1uVff(糠4hIҥJKIUNh:ty9չ΋:,tXcE6)͍ӛݜ(QdE%J,Y(QdE%J,Y(QdE%J,Y(Qdu}v~tuE-Z,YheE-Z,YheE-Z,YheEц Xpc가^(.GpLw+% /M5M3[*fK} 7e0W00(Q66|lTTC&+Scܹs0n9™vbi`l(`t`q`m`e`m`g`l`f0J̪!Js.JdŃ}QҬ6\K@"qAHz :w:wc;NgN Ӹt䗳Nӽs{'N9ӼYӮj Hڙ[+kDW}wU@U*"z\\mW>=b yO 7 c< p>jQ9}Iđ![tS%WPS%B4To25'$էN.rI Rj%Tro\g9P rsoQ 8^g]kw2V Xl V]k>o1p@{,1+p_M`=`qqq>bopL\]Cx#Vl`5DmyjBjEf8 xFIx\o GLˑn>eYg`^y: d.FBlq UhÚ H/tڢG(jǚyjlr`mCb]ORj*dɒ͗7 Xr$`Ɔ,!D0!᥃P P㾙SUKЊ"USvHXJu M!ꢃ|QWyTusjXIQB:b遥IiHm[.a44&L#p"!<^ԏƾLr~p9"q ٫2\ќaNq\~':q%O-}~nEp Xk8.u>ϼsXXM C9sӚ3*ۉys#GAw?+a.T0 *;Jx@lj-jj3 fmKrU3rIEjhtER?)!lU=V՚"h8P,P|/ ac#=k԰IDWƆ5#SQ\OX9 eBBZ+4DnQyLAP T ,qP8i7M ;ql;(Յ5Ģ7T]:F̦rZZPjT0*T Ɋ`t6UDS"ɧSQ+q-2qk'#qc'tAi➬^T*3 Xʅ@akiϣsi& :C'GKPjk2) ̎Ou*9d,n'OmAs&W O6+s,3<ҹ',R`~N4w˽E$oJlp:oH͟rNr*7G|J)OV PsZ`ȣ]TrO -ϸ]o󕍗#S^pȽ\w9Q Io|dS WY`G`Dں85um{pKk܁g~Q r;rߋjVA(?0rD6"rv^0rYQ 0r'^E A{oS^_/ B+ܑװPC^\~0n8}%V}7q :rg.rz 4+5Qd%!M/\ ^o|W+wEU]><xo/U^cՅL*myJ9 yj?2ڥԶj J˳Fܣ(X˱l@ӮnA\L_z *3 2Rrs:릨ԢJ#sT2Ir z̬ɮ*3,q{9t ~@2INPfy5deb6%V5\ Kp::5 sW:Q3 )1W! ?>IQv}UD(##g:^ KXb}ΫB}R+H1Xf', v7V֟CgRe9άGGfq sd 'Fg) Bug̓ ˖˶,t?26'F(qu "FuU ~8>33nU2:P6dٳfM6ɳfIM2lٳ&͚4)L5&;j),##YB1

Gc }2 3s K*gNcmbz1@6trBK֑[(V~He ajbth>+U `n/OLPP5Z?%܋nt|m2ΰ"U\`VZslQb  "Ik@<0ruϣ\or/ ˋks N6{Ztbps)Cy8W,ʑ0cYix6EN_ -7=wW &ΥݞQ# Pb ݹtO*ER#rS ;*?ˍzjFr&[`9Yqݗ<˘MpJo6/zSx-I 6Uߞ)6`ީFR=O;5 ܊7yf|{%aOOz<󋘒lutͶ̷Y*_r?fd2`<i1[6W9O_"y.s'Iuv8n ,K=3o,r?q&zr|O,SgPI^@)bPY\gq;qqLSߒ^x־n,̸_[i]p`iwq8:\\^zMܼ\l^+LӖ̧2&tt#[m1iӛ`p%ӹX9j [yJz qF>+d;1I|ݺN <^u+ ]U-э}e^ƻwu^}LoIs'q_0MHeq_Qw.n͕Z0K_F͔oW»-p:)Uj{wu+3L=) <Qo+I>&|^({(60Tn:2G\ˏx%;#`k24ck_]Rc6rzdzN"Mu89~/Jmm3fa듧T]d,]Y[2\DmԐHHqu㽱q"3JmF9vnjCy 5v\v OFn{q:?o=Gabk/LPU.\T Xky1EZȇzflc 9t\;.~o]s{S*8UׯR+54dsp>uJ7d 5A2H0Fq_ܢB2a&\J WVz2~ybV둕ʫ2ӽK=D RxvO qx}#s>_F]o5 &U*H@Fq) g~UtD+ ݂nըH-,.>JSI+Lǵ `7<`u. ]Z$,P|bI |Cr/"L3x|lHNx鑎Xl2)zeiY#gp~XUUX!해"1TaL |? :9 ~@tm`h.pGw䀮ᛟXje # |pr6HVc;hEe iP, p݃3<(jGf$:^ea>01(HUzv<tCA%9=Q#a dNŁ+ 7$GZ0wWfˆ ˹GÐ%+Hq,]K u78dM1L1!kMgwm76r&Bc-kwSNjp%EKYuB`A4 e<~\0"Tۉ5c%ƼZY?s2' X M憋p U2$ݪvTrsiÏYvI J \NwŪj񎬋X/>Lt N݃cѕ+NWl>E aKBZ[[5, r2ov11=BY4aN)Hp*1:-\}HďY@4r)C6hƶ9o9bBx)fpX$V@/ U}7ZtªFL˂eI^G0sZ0=sl-5`7Acr]VfpsX K W2ĤF&ֶoy\wmJW'1~6V ,W7sFJlC9H[;T+9_mMN2 ) ܍qi7 XX㫀mVT%*6uu`"u6c!8e P! CnajUWz6qs gʍDCT` lj\U=s+V2EB!!z!)1K~7PTU?aa/ N~h{k1BA(>WZPeSNGD-dKPsaJY&XfGTl!5Lu'Vxytb @nqΓxyrNsC*zve#F;U!]hhxFf)xl *(AWensMa*$OZlXF2&7.qӜ:5$,%-*Qc4TOu2 __NCP|^SzD|Yo򇌤e k`G9zLR\\^CW1j#$TT2MVel`M6Mk4 Fc4 8D9- *'IKjydh3ڨ@3ˎTPXj@RFXGmQrɠ 6U 8ShQSB1%T8c8B`ba9-/&0ԠWbdq!q?8ӎ9xxy^uZP̘)0*ῊA Xj%PQH*aXjnnnMfHnqcihe[].dɴ6V)Z6VaM6UsO[wRVݹsl6|RJݥ*RJݥ*RJݥ*[m-WenӸwe[dNoj^ihʶ+vN[+wzGq'N+vdݓWvVd3hN:FSe[]trydEϲQV{us]wen5룻6ݓӭ-xiכd] ٶLݟ3vV Nd͕m`OӞenaq>3Kkf//L][[wQxRv[7eݕAƃ sVuCm Kwg#h?uuomݓ67\hOab\v_]^b\[wxq[.K5'2X?duenK+m[{wu>d~.6q=rݓnlF>;RK[UOrt;inۂyǙXY0À6c=ϣ7enG۴vV#Т? h3v7gԞQmյGenI۫+v<- kvvVUc 7h.-/Sig[wRV v}'u'nl\ݠMg[w|;u{en"ݠMg[wQ s WVu5vbҁ٬Z6lSiz4j/Wu%|u٬f{I%<Զbp\{97f6׽^6m.4g W iq񵿧轥Z5uWޮoh-e捙Gy#W9VChqmak \]M{WxfRI>L.[ً_}Ovxޏ~fu]]=eM=fM_ٝKW;^\MxixzfQ1׳9XWe.{٭Zݶ"m2FْXKg5oY8X:~gٔ9KWfNlt^\흀vmf~-ʺy#Wu{dv|W:WYuW[1yfFuٔ b+m.Lًܫ+gJݓ- վrv` FXmenuen-nuenvmݥ;|[Om vmKN:d֭u݃˴ gqCk[+{;VݓZV=vxO{7XWYX5uY\Xuыvx 6V.rgBnٓhPݝ7vuٓ7fݓ:¬2d{e͟;vDFĔpNûmXwmjݖŻAvZ;1CSjݓ[vV%Q:e)l;55l;vFt(Q^;MrdvOvg?ht6=ݗ7ySp a\bGg6V;+vN[+v8gJݓ~{8xycwWxw9Qxwhv?wen6lVޟnޜUZ[ۜ_ͽOen[uenq1|ۋZ[ۜ_V)Z6Va;9uov &*v Wחq;Y1}}w"n.19k=='u'nl־9Z_V4\V='rO)|^IN|lhP'w-ֽX IVԅKen赶-,5Ɔ5[M{+vN%?en{'eΥ:rgΙ>tٳm3v\孲dͺp!neG6Jݓ^6Vaٓe[[\\Fnl;}nۢxw-[wx}[$qn9=7uswX<}/f7>kbwG~Ǜ;{mvVޛn,n<qf4ռ,n`mݓ>y۞7yuyenuenFSw{/3; vtxy~xO#h(-ݣa[s`@nѻnvWWm[w\]\YU˒`9G:+}ㄇOŰ/3h0l;Vhn;nҧJ*twwwhnlg[:vdUmvd$핻k3%xaǼ81{ze]uvi{+vN[+w(ϛB1uZ6Vޛn,OuVf'wm9yuenkuenkOVfaoel[wxs[;;67\ٶ}'w-}9ݓvVK[G\^wݕ޽Jd͕'u\[mwet޹6g6M6Λݝ7l-mΧdvkL~ uen핻KmzVimk[wxk[ky³(<[l;nV0:l;knlѭpH'wmwen4003=kݓV-[(ݙNfWn^=zf雳n^<[nʙ*V쩛nʕ+u^ue:ݘ2٫ҷhӕMVrfӕ9%+vķhOs~-kwX%$[A~R.fVΖ*Uݕ*ʕll[:\R.VΗ3vUζmj:limmεwvmm mumwmwmwmwmwmطm׷mwmnmmΗKvm.v>m}lWmnmmεvm=vmk:[limQݶg[Kvmj:mu7m֭mmε{vmlmumҧnmNݶgJmΕ;vm*v:Tmt۶lSmҧnmNݶg[7vmmmtlfmݶgZlg[;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvΕ;vvζkjkm-e:{˶t۶˶t۶˶t۲:Tr*vvΕ;v\gJ.]Nݗ.ҧn˗lSe˶t۲:Tr*vvΕ;v\gJ.]Nݗ.ҧn˗lSe˶t۲:Tr*vvΕ;v\gJ.]Nݗ.ҧn˗lSe˶uwe˶u:[:r.v쭝/vNxM'fS?uhkN1li֖=[YdbbeGuWuwwZ5wWwuejm+Wwumwwhջ:v*[rRX%O j OBw\Zݣ:viϟJ}չwgϣp묽;ueN7w 7%1sn׺eNmݕ9wyvV뤽;%k72;vfݮ)ՖZl;vvݲ_uX5eue6ӥzɾG]'un{tf2^m;ezd.@'uXl;v~ݸ&=MWXWeF۳^K7XyWxoZ⎜[ѼfL8(Jg߫6^e3e4fq4Eln nQ?eF[6^;IIӣwsG]?]kvݓV^쭣Ovkf\?q"7q?+^\e-헻]nТ2^]{=mi->r䝺.Fq-\pfhl:u,0bLh ܄8;`NoC26s3oz,\}:i+*k(3l;:a{=پ v=ng.'r.W5\GqŝgKݓӭg.ݝǼ{?Gngt`q`rgqIt7uw]=-vi\93V3`nEs7+K۳fnϙŻ5{vٻwf_pݙ3u}wL~ +xxp+6}fknz1v} 'wnl 6|ݝ<{xYjM8ɉ'%%%K "kkڼ:d/vN2ݙpދ/vNn2h4jݓ-Ŝ<NntUjn<*>;$0j[W[[5uu fl;zٜ3pcv3kfL]{w`ٻ/wuݓhl۝7\);6/v^Jݓi޷3+u^+v^w;-7iwi]k/vN2ݙnl;v~ݸ;/vN\{Gu^m;eueF۳^[g`bPsn]{w`ٻ/vbݓ-+hݕX.ہG=wg `mhҥFz*[ k{+uř]Wv^^{=]jKwvW-swAr"7wesf̓F}<^o]!|uwhnyk~~W7WwZ:uwuAЛ7wf6ݝ;i<ŚCwf+&ۼY/yy'1[ݡgv~OGu}u}u[ywewfܛߺߺ׭+s7}ֽoݥҝ+unVܭޝڎmݷ?3ݥ;vdْfJmg˻\YY]XXgl;:a{[8}Ń720ݓ]Xm}e׵}ov'6=ٓ&n3An4n.Alf-v_]^b\i`dźzOVؗg$7fsMն-L - ۴XX(nPݤE6Lۻ5fa_]^bb\{wzeem{7=|ʜ8zNn\Y]W(0.;em{ Z˯zV׻uo}{+%gTo{+N+ omoݛj;R.>?7r{4[uZSs.{Zen0/11.4С1und헻'w֝?A"\qrnvZ(dOg]py~|l whl{w}VݥauѻZٙ\ܑ/^ԕݲhrmy|dvݡՂM[uѻZٙ\ܑ/^Uײhr`Cv<7?33984#_);ueEuѻZ\ܑ/^g{9UBuѻZٛ\ܑ/^Uٲhr\-6Fhxn~kfgsohpisrFfmi'wķ]^ll;.nʝk7iջNջZV\_u~mKcos-sʜѺҽ/vNۨpgՀ>M{g[˽3Հ{Oi6۴6mum-ݷW6eum֝ݷhmջ&ۭ;nۭ;nmǻ۬{n˻ۭnӻ-\vbuwm[nKmݷWcuomݷW6luomMݷWeum}ݷWcuwmݷVauom ݷXݥ=W7vbuwmսWvݥ۬[n۬nn۬nɲwmսnzݻݷZ6^Ͳwmս{nlfuwe&۬{/XwvmzͻݷZ6^w:y\[zv]!2d5ɲxNMl&L;[n6^Ŝso v|o5v>,ݵ'o;mcݵv׭zv۶7w1`vҶBt֙{wxm{ξabangk/vNۮ;/wW:gKݓ;e7[Z[%&mmih'w[/w[ZhK'w[[/wZ|'wm2{]9#HîkLdպp]7i{w|Ku{e 3iSIwvn-J*[e*TiaKYYYfR]VVVYzJ*[J-zKuoYY__in++++{Wӷh=k>K^}^N3V)ݥond{~/vk##߉9ݤ)RKusY&RKva3)n+++,$ $ Z"A 3fΥ7vkξ=xם}|gƜqKxӍxuwxxuo^5_wus^5_wvq˻A1von{ou^ޝnl-Ž?v=Ymcݵv[^-AvRnʟ۲*!a m^+vtwWZ9;u݊ӥp]6VAl-{wi9nΝ;v'7ӧn7Gӧn77ӧndkݤջ:tնwӧnbsݝ:v&0ݢ۳NݤǻEvt۴7i2Ν;vΝ;vΝ;v^ӷi2lԄ;[nTdMϲy" io$qݡEQݛ.U=ٲ-͝*ҩnΗ*rΗ*fr̝1+v;2_{ ٓfLݛB}L6\we̡;vlӷgN7vw{vΗ'w}ˬIsW7uux7WwW׷fK[6^=ٳWWp"~)I$n_[6^=ٳpݦú{{5X;u7WX7ns?UguY?uZOuKu*ɬ'[[̎.m/vNۮ/u&̻K9'xήvv vo%mݟݜ~>t3jCuyŵվݓ{W}ռ{oMK}[wwM W0:A$n8;gnюml\r)4{';^vsmuo{wxn{|8Nɓ[7fM.fg7V/vNۭ/w.mz+k{4Vxɳw]譭Q[[uKuz+l۰+tVW̛3u:+tw_ЗEn;VQ[N=֚+tw[譭譭-۬iQk+tvV󳋛kݓ6CeCA\&ΟNӞ2^.]˗mm^r̗.^VYVfLݗGvd{̗n69ݗEeݚ>\{[͗n%ۻ.rݖ.\weK.m˷v[rݘ2d{lf˗6l{ulrV[:O;em=Gۀ?-/vN[/wmm;{;knk;d;uޅ 'wm}ƒvuKQ*nʛ|)6V[#ݓnl_im:E۳'n̝2v;.lݓ]v^l`W[ˮdAۮ/w[|:9[ˮd3[{/wMI]ݥn.lݓ\v^TFnrfŀ^^5šwvoiv~]ݣЏAI'wh)GiAn6 ۛ ݷp^dۅ|[V+;l;mnlΝd3[v^쭤Fo)[d۳v^쭤EɻpS\whb3uۋen>[/vN7eKki/53g=n=#v^=Sfݕ*VReJ*TRnʕ+vT[c; vݕwhңdd+ud1[6^쭤F|9v^ۻ/wfrγ/nܯ;ÿ,8J℃/vN6ݝem%4%o\ꚿWn;+u|;vfݕwhΙݴܷg;cF3H[v^쭤F=ŻAenKݓfl[Imwvl[1Jtob{wzeem%ٴ%oHm gFm'u~ݕem%ٲmaSotx{w\ٻ/vV[]ݣ*V&\ǽen>N6t;vݗ+i-џ7y&N]oA`u4dG){w\ٻ/vV[]ݢkW|F[d[^쭤6TBҷ]չ{w\m/vV[]ݣF~=i[Rd/vV[]ݣJѿa\[o1s%8ϐ[N8Vƶ''gmݓn{R l2]{wxe{]njY[d3[6^쭤FզV룕d/vV[]ݣFV/vN6ݝem%4%o\t'uݙem%3n$7]e݀el[Imwvl[qC ӦN\X{ݓfl[ImwvVsvhqvӯ8 xغ +(n[:VR%n\FV)leS+vR [ݣJ-ٯyOwDێW <>h<:slI{w\-/vV[]ݣBV?v=Kʛ*P=RZY񌖙oR]N/vN+eKkeJ$qopR]mݓgl[Imwv Xe/vN3eKkgJןb+u^vVݕwfʕ=ǻd-ٛ/vV[]ݣ2fOu~ݓn{ 'hnmKݔ*~쩻ac43hP{wQ+i-ѣ?yGЂݢݤݟ۳{vXbۻN!ۭϥd &<5CeKkhn>ݓn{Rp[v#Gm^kvݕwhҕl; 쭗+i-͕+YD4uwi[VJrd/vV[]ݣJV-[ʼRp}utd/vV[]ݣJV m:5Wytx'u~ݕem%ٲo@n>ݓh[Imwv9zsӌ6Ftrxn~kfglsohpisrFݡem%4n]epeg[ImwvMwhAH=|c#~G'7 epbfl[ImwvͮwTef~ݣ[R{5v[=m{hݖ˻-v[F춍mطebݖǻ-v[^mehݖͻ-v[-l{entoo'un{3uݡem%4o.Z֩[dm/vV[]ݣFV:Ӷ[ݥ[N[nBwuy[wi-u [sO5JxecGmepae[Iqwuneo4Iz{xvWA7uNSݞ7)^_ݣ̜˻;X!r#/3 ywvvC6T* wwvv_wwgk7xݝ=fr3'>^n+nc{o+wvv,9k>͟>e ^Vx8t?BoxB7wzs_V'KݓW6^쭤FRmm\š?w`n9N]]mۯ3he˺nCen=:<9:7;mnl{.f|Y[rַG&'un{2 ҷ]p}[^Jd{n׍ٻ;ekv ݛfMGgm-fl=;hoMݙvF쭛7hݡ6nVnٻ+]welݕٻ;ejKvn ٻ;g?v~;{6vV쭛պ˳oZwhl?gmݝ;y/vV[CQv-ݕvVٻ+ykvf;6vޙ7gm=;hLݙf^ ٻ+xvVZCgm-;ij3vfvvٻ;g*nCyvV[{vv9ݡvfۻCgm-;h;V'/gkfZݕv~n=;W5ugmݟvf?gmFGxv:+fMvn?ݟ&콝g핼;gm };in;R{v-ZvV[{6v<ݕvV쭛vvݣs`7mٻ+xv~:㳶?\7elݟ=[7ekVwm/^7gvFݕvVwg]/gl݁ݝGQ{v@ݝfwgl흼;gj][;eonKxvVݟn7\whl](ݙnޝ;gmݝ;ionٻ+|][7ej/vVZ;gm Fn?xvfś+f[ooN[/vN+eKkh;Jto^[v~ݕwh0c=Ovd1ݗ;:nEݣ0W׷_ܷwyjNJwvwdaޥK{O;=ݝnGnGnvo%mݟ-ݜUH6N{+u┽;6/vV[]ݛ*VV;v~ݕwhџ3j9 MisεoۮGY5YuoWv^:ӬvwuoQٺΑ㾈Hr඗2t/vN/eKken:O{wQ+i-ѕ+ni7 ڹ!n:[l;vvݕwhӕ]\ͮXjl; vݕwhΙi`c/vN+eKkeJb7< !n:[F^ vVݕwfʕ'8 ;]O3i-y.V}ڷ/vN2ݙem%3j3zg>ۮd4[^쭤JV[ŻwXX. ;8&,:v~57!:k,/\=>'X~1Xݥ l͠;eu{eԼ?%kx{|rtxrto}o{wQ헻+i-ѡ+}-I{wR+i-\+md۶[Imwvl[/]y{wQ+i-ѣ+{c4F{w\[/vV[]ݛ*V8tr{w`-[/vV[]ݛ*VЙB~V룍dem%4w.:U7u-knr/vN?eKkeJ:uqV|hN'vݛem%3=-\Z^Xhl;inll[7hQ\[bݝNtmŻ=~۶зvmݶvV5=l;쭗+i-͕+p#r/vN:ݟem%4g1Gu|'vݷeKkeۯ&Z"MV;v~ݕwhП17 хx]fKݓn{G[^쭤FFJto/vN /eKkf,}4wwioR>1];vv/fRǻǼ[?|^n :Uf-t}vvy-'vݛem%4i39-]eF۳^쭤FH&O/vN6ݝem%4'o*u.&xw^;쭗+i-͕+i0{^ݔ)vR=ޑg鴥n7-i\F^ vVݕwf^>/vݕ)vS>+u^1^v^&q {:^}yX){ýw^5zo"onCnoo+$o>V=W/{7\u3wvo1+='wm=˻2v;xvocݜ/7g#7gh8nvݞݜ粷YY[ 6^ue\֝֍]B|HvΝӺ\ۺջvt}[[Mv!Hn[uwwfCݜ?v4wuq?l\mrF. nAYXWuf;]nen;YnlےwXYZ۲deղ`8}]c#Yݤ˺źźǻAuVV'w͗lm= '\wxv.-[X)n>+ K^ݓvNmiݙ;vWNݷfqekk{wxi{;Ivz6V>Iq:㺋ݤ˺A{v3vV'uv{ܑ|!/vNL`6^Ti.qu}7i͓iN8]^Ybh4ݧ{hVKnneevַg{/vN뇇nh>y:tWm{w\=V+?$rgY/vN[/wxY_]epHۯ{/wSOqWmvl{wxy{\/vNx߉X||ۃwV;zwh4#v2KK/4nޟio.v^?_v^"|/vNOX^2$ϧm*;v-]e>ݖ/n˃ݖ[ll; ݢ*no~/N/vNnl:#n./l;SnާMv& -յ֥]^^^۬=uu}uouw {:^E`^[/vNۮ{/w ,0G=vh.f]](Ò+!ދhxVӝm9ve {wx{{`\epd\Vҷd2[[+tZҷdͺx˺`=+vNۭ+wQ}ˮۀ[wxn[XA,rI=˛ff[duᲷqr6.g3n͛9w{R{7fݜͻXenuen ]sٺ+vN[+w!Y{W0+vNۭ+w̰6lٻϛ>leQFU[eQFU[eQFU[Ѷ|6Jݣ+vNۮ{+w݂ĕ+vNۭ;+wzԭrd}㲷y*Ӱ۳wfݝ˻Ռջ9vl˛wg3͟9vV9[wxs[7{黫rWWVn]u˼+uV,[VXF7LbW׫enJݓF8BV+[vV4uαVf]cb3enueno݅xH_ǾG"Jݢ۫lS.;OnMk+RJNΛ2V=[ܷgݕEqWXضV)ZV9?+q_OYH|7VX%nuen\'wmM\HBȾ'nenݓVf6y[deݲ_9d[wxn[Kp^&#:E){ӣOv6mFlL[K{po۞}ۻMvu ӷgP;vu ӷgP;vu ӷgН;w{su'w͕PM= +u+vNۮ{+wʒZ5\6Vޟnlc(}\+v -ĶdݺzLO[̨[wxw[<ҷ[QM̻+vN[+u\aǮ2[Q͒d벷k,2%n ven}~;Ë%n2%nuenrKn2%nuens*9V.\6V[̨[wxy[8kTsd;_nۍnXն=֭[KȘ68V]JݓŖv>b܇+u"+vNۭ{+w+vNmŲkg%nNGnMW8Z[_ͽOenuent핻'u x[Vnހ“W3`gReXŸ9nջ2d岷p>ʺ6 Vs*9VEQ+vf&:Kҷ[[%n6ݸtuݗλ߷mțF<ݚŻ*{{F_+hM٬˧ѧCgr& Twelr>7MۛqG NA^`bdbdbdccmm>^&)m[ ܅'Ln7uywvcN){iKݣ/vhOݝ?vtshOݢIwv-tX)ݛCv ThaIv 7\Zz=.S|xp]xj\ hynp]hy/- l2ӝB [6v;vwsݥ6m3<.uuˎ'WyY wwY{. wu$%u“c_q<NqGNzI7eu“!xur[\)7\ӹ8.B~7Ջu“O;qXGswNɻL~.Wk-q+\Wx89-{n8tpqrGOK6g^/}]n0&/. ʃ(qO[Vٚ[7\)2B>/.R~RG'K9J $712n\%muAs [7xpyk L͘)uwEBzJ&P鏼i۾rL}u-"\yɁupQǜa0[7\)2dorKcs&HK h"r'weQP\o\^pKLɺI[qQV[7^\$[wyɶKc\韚J3.ۧ _]x M{JM>K\] O8ɺI6V M]wm^ݶ~Sv=gljݙ{wuwmInlpc[1i4aݵvo7xh-طwvc&wmM+m};^wwwvZmvݵvMg9gݖͻlp?-[Ymݷnӻl'penkݔMsٛ'vo,nۻ?wfq>9[kNwg1rfi٬wiAeݛhݘɶxmFn`wv_Nםݷv]]7mmݵv:5mvZ3vwvNݧ:ݣn䍷mw][]]wݧ~h :xvsndg[]YhFۻkv[ݓ1inMƛj3vWnn۶nۻk۶ND=3vc>wmuݵv=g5{=wmlݵwww\)㍗;˻kv>նMv"mOkƝټQCunlphݘɳkf}ݞ߻mo-wwwwWֽ٭{k&֮-ûkU;7fr&M{wxwwwwVvk6-hݵgm.;wvkhݘ6Liݝo%n黶nKFћnnaݘѻ?ջkfv[7wwwv;www\z?f4Tݚǻ6ޛom\}lnkn۶ sgmݵv֝g>=վ(ݷvֽYwmdݶ~STR\\7weOrݚۻn;nٻk^wd:\\׷mݵv֍g9ޞ9Np3iۮ`_NoipaǽEwv5սNg5nәcݘٰn׭wwwužϓXͺ'wwwwwwwwww ѧNkpwwwwwwwwwwk%6ݸ^⻺OiݸuNb⻺'wwwwwwwwwv7'wwwwwwwwwwp\ҺỮ 2wwwwwwwwww{cj`/uN\$֋p`遒užIujS2wwwwwwwwwwnFpf&-ʼ\fOif.m:tg OD4 6ᵎZa(&ҢQh`ʯ-gY5 zɠ rF^l (e~Q0d!(s:?Z\r-ME%oQ"T7k!Nd6G#\:}ɞ::Ks~ƼOQ#Q::Ks# ;+#k5Gף4"+Nr]F-YĖ^ٙ\ܑ<`UˎKž0<ks[3;c{C1z rJH `6yv._X{j~.+u`O[.N`|Q̜oaP~qg+q_nI1ɉ4O>t箯i.OngSn|6]Y0e^jv]OpWN& ]<7?53984#qYS3u\ԫ"$2v) .+ω,q4RaG5ಟ=qA-N_M@(s1TrCc(u@T:&@Cv I8ZYlix` Rs5*T l:v{FAD4 T*H&`41΄ 20DSI0[Pڇb Wrcp "0823>1a-MU+ &Ȧ u-o2G^$dӮp? ؛`1 pG 3 ) g1u.݀m# <`uLwwEYTp%Culr~ıMR3j,La r\Y>X9ځZS?M8 hbn7 qO❣" 9zϡ,=*An)EFX}!.B~R'*\lė *:<Wa\`cUҰkMf.^s;c.Ap;Ջ\`VZslQ@3x7&ailrqv)ūW>P`8.)::9Xe.+ b%,D8 #SfP$X !#9m )5+ASXI}nj-ma"`zdxn?Wg^$ޅD Aa\L =D+kV#UFX}Ʀ/W)n7FFX"kܹD̤\Qs%L$ AP6"E5`\mdbx͘`3XUj|mՇ ^էNB)L͉I&$SIŘ:0p-SnKj+`X%mC-)5qM5fh#1.+`nc7-+$V!ȗ" 7*DONJ b )X ǶkcJ0 l`}Imcfաa_ #\TSuE";i >ئ uC7@H@Ap? ؛`'8pIq[@)Mr`4`s390PǽZ)NŸ6# #yC-椴jlGxK' 9A"xN} •Me*Rf8G2X-bN E'"fdC1qDGkN^qnk \Xk։Ǭ<Հ cTeq?#];اv6<˼p[0{Qx=);[)q\B!NHr&i"#cO)q\pZ+\VR\S;uX}W)Tdu^؁3%;h|丰bQ$V~#đ[K %lAbM`EDZg )g1۰ pہU*u"Elr~UMijUV< V @S`ZSVjV3 ÀZ+{Me.^s;c.Aql;Ջ\`VZslQ@3 \S`!Xaf)•>&z0`Y`)&;˜ΰ9ݚ1O`ռ% ~>[s| 8nb䗸҄OEs\S(Z3sdi K0ь<E;Z\V(Dq?)*]U jx;ܶbSh=ZfKX0.+8K)5 "ش8}!c&v&1z0 `pJڀ#$A~0.+.KMK&~2A@;+A*9ݯ1qgs+bji$A0.+X[Kj\TAKaA,T qZb Jl*'#`K0I"7*m:WdqWY0U!q/~2()UkOS\ˑ W [⠖Ax'W0nbZ1+1Tf8(ki\Dgk$+ZNEqa* ; ' @P3$?PZCPDC,O X*$j ElI$M!WW`)=,M1%' y=-,Pĉii'D`%SSQ!ǒғ`(IbfXcGΪ H PCD %%8?!"U{-YT-ʥ)nU)KrJ[JRܪRŝf!0et"ܺR%])n jٕ͛7vISO>TS\)Y\/F)391aX `*W(͝p]vΤc,I4L'NJQz g3cop rF2*Hb?/3 />8 QU+;>d>itQmmtYa\a.d͜.eG4w*M uE(iac+ fDC6\FЦՑV(Q[+xB)(9s{r6w =wڿjڿjڿjڿk0a]#|`\XP茸Ӎ)O>w~}}1Ŧ\.9I)LReHJ%FX/ukHΞҲd|a;Mg5TySYMh6qqϨ…RCAԚT8Ih̛Fd3&љ6dڪU~u&TxJ[GI2ISP .̱ =yD{/bCCKC &it!QP!*6֍a+6e 6`20;?"8h:/M/Ñ/ɃuBCBOvr\e ??0z SfJDMҚRTQ5 )hG UXebއY\'D'::HQZi9r'nqJ5çxܓm?z5s?e5zٝyuoMF&tjUzLQ4UBЍsg0-i.2 U@lW>j SɒTqscreTeyguu6%1K# ;-FB9~񧴘|:@BR J()=Neg1cӠ'- lLHԜ>hr}Guk8.ZquSzphJy78ْ8]겓su2u|MzwNx57y_$H#)RC:Kˬ}xR+s`OqGqw*ܬjR(}>N@M?Vjs_^T9wk8̈́+ *6{})UBl 1PXSDʈgeV")]MP2/B =va ?)2O,4# M  /@UN )<^GJƬ a` vWQ?i 9vw2t0 ׉kz( AcC:@@' ^Z2M;  "锡" ͸*ɖ,RR*T-ʥ)nU)Gb͵.**ܺRn])|.Ip҂͛r$ʟ*|(4?Zx 1r3c1T9u'*W*ΛpYvt0Q~Q2{TP1Scxk+6W̼*3$!$S7Ӑ2UJo|LYQS}fMҪ.zbU.gK6lg=˙Q%ʇ+CV\EDky>tϝ6|SR1ԘzSV8@r :՚ $jF\1 D,BBrHRd4T䣚ʅ@T+Ms*#eDZ p!(j M(T8?G"] T8cŊxlnx(*ejfօ1-Bac>cC mڿjڿjڿjZ 5NL Cta,T( P\.eeeeTe~&KSUĕjOQ-]^!hkL ºѡJje5+xH !Ȅgd$0)eT)qb2K*'|G`"Ba +P)F|`qHG09(z :FaEC]E1A3Vj2E&5M ?~}}hZ8\\\\! fsOp JjPKˋˋˋˋː(;`pRJ# r1A31SK6X!N....II$zti%P)JJ@|ZKVLP{TAxgR2֡ғ1izJNW"1P &&԰ca8@KBj *$&txe[bb=Dar|efS9>ZܺLմcFbfcƉf0La1cL)S6l1bjLj3s*U](̟23WX0?/%$-n] R_-r] ]2s)L[BnJedE:&#/i[/U\fO*^IؿI}~b%( ȇO''rd-sM]e2`1/=^6n`P5Ș$ 3l)>NnG k Mj PRW8F g!2MP7竑%Kҝe[+%3ʣ+Jg:Q ]uи.krqɛW QF\Mqʍ>l_3R_Q 9 yhc˅blS%~AaJ)S\ʧ)'B<.Kl,r|Ź2&I1_,ˡ-n]i3̧2M1'3&rY|39l0i1c1cYf3Lm1cT9&?Ls3)Lin8gcdOBZ 8g1%3əf4%LwS&2`1clƙS1m1cQ35Lj\ٍJ[,6^5L˟3fu)130.1cDljf3Lm1cT9&?Ls3&tɎ͎:T.sqTΧ3fAdal)&2`1cL)S6l1g([&u1] ♝Jg"LFL8ҰcƉf0La1cƩsf6L~3&.L䩌n0/ϖ.)霍3ҙy,YFg3㩌g_3&94Lx1c i35Lc1c91ng:䉍r}>gS9b2f&Xr1c, 36b1clɏrŹ6gg3&5ˣ1\S3LIɘng)&2`1clƙS6l1g(\ųfzS9cd3ϙS:F3̭#1cDlj&0f1cƩs&?Ls3&qTIg$LlFc8gS `2Ü)&2`1clƙS6l1g(\Ӧ>:g+LlFc8gS `3˟3fu)13,Lr1c, 36i1cُrɜ2:Mn9cdYBb 8zgc$ljy1c|s8gl=Su9mƸP1g1cYf3Lm1cT9&98b[ƵI2cٍf>5+CAu6IˆP%Ζg4lܥ8^ַmW{[|V lEw0kb-[x{WW}6p֭vZ\xf͏*a%D/e|M6Yr aOY9`N.|΋-N.O3%ɣ2ŖW?>[$X.\c/o4[ruj]zs'70`/)NQ81A#j&qɗ1r1c, 36i1cٍ9SDu:rleZMV Ï (DIDCEl qK"R3i\\\쳤x:-XaFY¦I}9[5jr[.~h;M㾓~Ԍk(G9੝X[ \M&)91B3z>ڸ]esr|q0}ml7KZOɷΗ/Ŗʌ乁[;Z|Sأi6>KҀL.2=AA o܁p?r~v0ThJ:S TX%aS x6Q|*e5MpY^jsӹk/7o}9xRz宷m=((J+`G~mkpj\]`a.Kk,/r6v̙k,/r;fL٬,(|r6v̙L,(|sglɚҼ6v̙ \:ŭM+N{;fL- ,/ Z6v̙.e;hAPhaaxlԔ2dO^ٓ5ᾟ42frkkF.r2\)Ϸ[L2dۄz%6v̙wYdk]glɛ6nSglɚҽglɛۘp;fLdvPff;fLl)Aw#4sl2dg̙N *2<1Olb܎đ\\TF-&)t(PB |M{|,lllllllllllllI>noZ\[KRr(\z7ZYirϓs5+iJL\}jQF㗩 Ԯ,T^`[ Bav>^ބ@&b1bl>2wMu9u2 +xyS&"9{ '_M[w7XlE[ ,2'М>ٳ'˛9} ՇD9s LOP΃2h^t eۄFF3vyv 1fOSy]16W//2C9Am+XYk ͗2\|]/_2˗-.\Q?zn(:w?\_t` qnuiS%L! ӽSӶTES%L/Ktyu8Ez֒.6+):]mTe-*uQ]]Ezq[Z-2$%zmT5Rj[[mʘ/%L92YX sY "gL~Cx|\Sp rQkez_f?3-j2F[ǶoJ;`meԅ ŭ[mHZool5k:VͯD*3Ogegʭ`e X[LtF!DLKh`fKNo) I@]hD&HaX AxX"0be(# p/ Xao"0!2IJu =2 *~8>3bs8/s_$!}cvԨ$("b&%K@}r/'j5ަQ:pne, 侉Q(r2(U\`YZIҰ:ꋁ?tbS@)O;|_{g(<x<\_;\oq0s +'F<\Va;A<ƕTuc40Zw|a۞`=_\?px*P/ :|Ze|^⺓nvQ(A#Ü*uHƇXbbN*|pRe,C3(0h>u,:,u;Sήѐ*'`~*Z'aؕR)CP%{9RCs=Vg?[1M%&bT E@#S 2jL1TB4D_ӑN2"`ڰȣAhyūҎIv 2J*us4#G0T_@ưa!rgll CgFs}5-KkY:4+#Ic˗Imml*\@AyZ T ^LĐ=vƁ1hp1 YZUױ0٘2l@цCjW/O"ť5fd O=%&h@;t;7.X^^prf>.\ 1'ϡ4J^)P#@ # j2t$|c@>YSaŊC77D4 :1RsࡢB7ڗ/vG9K1$!%&C"gMJ<՚*:y&vvIf;TG Վ|``\.J fLP=:uW :F%,#Ol*j%QrP5I PfvF(]ÙҷL!>xIF͇V`ۅ[κ#0AX@YU‚g)%:OR]sW 26LFMF%a*NķJơQRj*\̑#J8`GX@@QOJLP`rZ$hOƗPZ Lʑ:A6.^Uƞ@WSRBVxT1ieLTCA}q #*|*#̇ bZ.Y~ڰ;l;FhaNjI%ʢim)TBvE1, H9J"u- j3niZQ2StTmShWUfeC"BfV+)eEeIJqVG=ǼVPR]yzfqJY\hvH"6lvYX);E`h 8^ 8Vln%Sϰ%awXd#>]k)~S4$PjLQ/0nSVPJ2A\Ș !fOajG%1 U蟔 d E0`4*%ԀGi.+.+.+x.+[>)xFt;c$pBFNM:7̀=ŅήUՆZx%k..KFKxb:F "ø "cEH"VKE #MtK1e&`2#0pgEq%͌K1I!2]t$: O+}\sŅiL˒fa`%n a%%%뿵0VsKFMn؛[Ts6c&VP ua7X"Ib F)X-H/X:YpP0 "74:r:0αNGXӑ-#ZAR-"0I E>\j3?Q cYK%xk%E5l z [Tba.*Ei.*E}b!La )ͩqRȖ*TԸ临L X!.}-Z\V^)PF]K}D=., ⣓<u~\cBkuA1=63<⤅X5hRN qO'pj).>*VG?=6=➗➌b *WQq@ZkSzSz8j`ot2Nx., zqP: "͟d$V`m@ 8.Ӧт B)9rd cf eZ$v$,D E7*:*6򂏱LTuΦaۙ.$T GiqN`W+x3WW,Z+301Xk\SDRӎ-8I q]RRⵃiqfGFk>5 qP#QG 'F-QⲤ "1>"O"KKv%Gt 1.+61.+Yy.=(K5KFQMɌkɊhՎ(5P·&oy &,sܺ_m^ ʏIqYAN)qQp5%dR✆ q\X Lg )qt/Ek]Qq\VvC@r)Bʓ4 eq8 Ei$>N2  5Zr2ʤg4#Q$VqDAlS[NN^F5TwVQ\[JIqyɡɕuzuŠ^FTCAܺH3中;J=`.wv$ʀЬKxKʗ 6 JjJFcֲ[nuƷs2w[o&-ƒk|Ӆ:xe[ҷHZb;-T22bb_VVJ [W0^2`$%Kq[D].+q4l!)5+A!S`Gcܔϓ#+s_Np=Y]a&V#.2jW?.DF9'u:̑VA.+irjQbUƆ \WP*)qy/;(G3Gj%+\mˌe);)q&V52+p52Oz.)Ɛ-$aܗhI$Ţub7\T0LFKbKMt%wX/qOpp@?l/%D)"Ue6ť5fh#1pIo⢉*!La EB51=ՄNH$HD/B,*w*,S}Q "x#KQKp"=ܒ%vpbd>✐SZ8"rH[(/ĺ%n!xn$_9RR⤧lqO &[FFGU嘌^P 9ƍHD 59ZBByW(.؂]fFh 4o$L X ⶁq[C z)ELevyAax"u$ 잗yKy @ b y4"̄a$T9[Sͮq\ $pHt;rUx)ǎ qO)!)ۓԃwh[r'-αPqPtrʸ$5ɩqOSǎ|.%<x-O(4S Ըth)$G" S+S➃ qQIq]a() M6 "J&- ŚW&LHj$!.*1KASYz~KN˸W:ü`IX%ɖe0&8K%rBP/4AhĬƭQ%mbZSVjK/q b[`7-)1 "H"LE )RpVB%:$zҜN- `AZ Dz"6r |V0aZ A; X|XrS,>YQ8QM h0Z E-jB4cqn)YIZ C;x\DSqwa݅H8 E;<%H)%HRq$Va!X |bVcԐ)qPQ⠎ q`0r+)4av$b\V`.*@X E@K qQj* }5LcI5&8"7OCeayҚ5-Ծȼȷ\fN.ARzlK60jD㮯.$Aq=tFsGLŭ<|zux˧!]:[o'/3#-+W_,NXw:[^\_sH_Rbrm}Oz*\cxeޫ*%'g澶oF8㒦j]n\d殩ō4L[)vcI֦s.A-,L[+Zkg9{8g72tx-K|m\ˈiaolg r\IB:9IzwIvޱo UKqQ0b,alLZSVjV3b B*&9k%#-40;yZ1+2+c`.)|I;kH7HZSVjV31.+Y.-!,S`.))JvK}">OH-\K%k "zK\bTB%VPv,6~0`S,BT.)" DVb3yw 9z\W@A/LeKq"%8A@iaP#PzEzqK"j\gp2 S*q-qgE xܽoa$W!񔈗̒;,%0rcEI"KIRIX.*0\T.+\W3\Tz .+$I \Vp}zw.?s?Q^gV 3 YK Ivb⹎C=IM.+y.*I@y׸B.+h.+h.+Ijɢ VkWO{fdsS+ 'K 8߁/: \u4bdc_1.oۥp!ӟQof8/{=НƼ:sOnČ(:./q32q6 XZy.u6fbMj>224=9R⡅IqZqO0IqP$7)5+A B)Ҵԭ_`-n)ԭf8 "0B5VA(Ój%Yڬfڗ 6#՚($б"kH!&b2DKҖ p-⛜Jj Sa/aOOqD)#UdLJjJFc\V3X+I8gpKG=E.+:.*.B\W7a!՝Iw=i)s#U\ea+:pzK%7S JjJFc5M1{G"CM.+.+I8DE5G仑{Ξaz"RGV/f reYj FBb*!La *)hĢFaG ("|򠼠 6p=(.eƺAndA!G(:#T`8ZKK7R< .LNAئB)0'"";5DAlS[ NN^F5TwVQ\[JIqyɡɕuzuŠ^FTCAܺH3I0Gsꠓ9GaByw}Ȫ*= +K\` a"T\WQ*\V1$q,V5!IሃON5X# TB5VJFx鯎 q_A0Iq\R)qhB3 Q cY )qQS{<VԇY)v Qhŀ?G*uK.LjRɵ#YF/>V-⦉?IWqߕ닇.qr$SXZ VhEѩ% q\AȺ& ıf l=@S@YwsH.Ki Qi .*6b\TiKl"@/0]a_-oFf)gbW+.*4z7֌J̊eC$x*\T0J ?Q%3\V;ć\b3yw 9$W|,bK $Z8⣠@SujFEsv5bVŶ~[E`O9Tҗ$'GI"';aRxRR#SfSt-JoJZ\S\WYq^qRF,ShT C8QPʫ|U`$ήb`z/sH;ڔ5Q՚j\S.+ˆk9m.)L E7"B5GU AئGKZ'3+ys2\T#,ٖM q[⹀@TrzPJMSaiMYZpEZ!urD`u$XEցQXt+lT H&HAȧP^!,W*p SraI|KsTA b""dSZoKx[bjc[oܝI[ĵw["Za"tH/~NL[tn\ťp}iKj&SrzV_llJ?tY U3VUE_B%VUm1yߋn),%`CV#+7%aLqfHK;q!La"\Vt`;miN!(Qe R⿫eQaa^^8V6KJjJFcIq`]MX ⾉83KIb M ,aq/.GZyXn$ނ\W(3!Ab0^H(2!iqP쁞 Ec|FG%eNEF" 6V՚%:ސ*+ks? U1$Vr7DSt#R@!S{ͱxLF05VB6FP- -FjKbM  # y%.*EpH"v1O($\TsB\Vh3=St#R@I"fR%|ZLĚ10E)N'lq{um/uQ`uI_`3ů\mt~d˝[WF靬IFMS#FKM'9 JqTT(!f+er"3BꜼDfl\x&gU.*D" Ec$xrR%0^+|,G%t gjH4v+RT ;x.,,,aCǢXфjGĸ$Z1v* xvSn J0{b\T94D"k>1cŻhj|:x/QKM t$=8; Ғ.*L" E5-h銠?:|[8xqgS.-mWvR:ȜSżc75'ŝżcNXa$ EI " )" (1[|7w\ %nc8~tt!3@SX&Vbn0qˑ .(RPK%xXEayUog)`[!T ?*|^`%/:F@AA#P3=Q cYIQMaKJ4UPX2iK/1QA0U.,r\W)W1QL !La(){ZK-K :qM5fh#1Dl\$s2癌W3,TSSD E:$D@Sj-p_+Z,z)&ZSVjKlg%qRF#\S1i%>kM,l܉ɘS7Ot.3mLK&gDg;YxەE}9y&vfȑJ-^Dgr7"1qOƗ3_[_Ѿ-bֻ͸;$[X]X[uֆfBK"\x`|ڷK8}["7 Vr~ۂ7$ptՄf[a,LMK!.+2 D UB v)xPď˄7*>\6&,gnhZ1+1Tf8%x:`"%qzN0ଅkSeTb}H[w [fpDE55s:|C10c;)qdN)cQCq~cK "KR\S.+@e.(_Xb`d_K%jD |n^4 :Pf*)D)"UeKR/1MdUs "ɜT vr~0(!`EFb7>pػ\]${I+%81.)7JIqNQد h:x7<TƋ@*92C0@0Ik#%="plIp F%0 r0.+xBqQC0LurȒ*`!E=$)xI "@D+\VՄD$YvM%E;E Jr)F)))%:?*1M`'n1'4jkqQeNRe+ˍξF2>co<1V^,tz5PefV(h1g3Y'/0Ns:=`{)9k5m݁_p~ ΏFHsӦmbpiζƍ[``w`m{jlWCРJr.\P_ea^kC8̤ Ep||K"Jq^ hbKE1QC0UD֕I}&4yޝ4:L .T4r/.Gvj4pDG^A^{\ƴ(X1l.I?Kܥhkr'Rn6``{?ҥ|ni4V&V V8}:uv0K 8r^8#9``?8֒I+ StW@ ~j +JjJFc/PKKrS✍e:䨅1J3#Ԑ)qP%xqRBt!,80^*"ʢCKT".S g*Xb=Hi/%x/"vqNEA!g_gzH3.+(.+IE<bHԸr\Wp .+#-Eh iR>7b|K v?r\WeB+3A)%(nM{.)b 8 X .FGxl(ÌD`+Ru>cKpf)`ܨiq]QIq\%n,bؙ,S{!"^E=:(-l,HRVI )R~KMs;Ջ\`VZslQ@3ѩq^&1QM!La*\TIP E;T qO`\T$hq`\T0 b*!La"\Sz*(< *DPD\T2v4]O1)0qΖՑg Se$R Z]KX K/sp,m,V!Aw,=%k @SdgEasrҶVjt%Kت%N|hBDI!HD]JxT8.]NJ]`R\S%.+h$p(\*kK%= MV՚ '^3""Xq2v@\T丮D!5&q݁9[*/bHI$SY<SK\Eq!- DORsVhMm TR IqM6HEX)[do&` o*,TB+^?Ϋʂ\#_ֱ.zsO-ɊMm7\xX`5lՄm|~W rF XLbdaⴅ !(#An)(ZSVj?cRa.-09.+P\ EkhxEk8=.+ZKO֒⤕RR#[DoWÍKÊ?>K)oc.D8yK^*2`)gKu$\2# K|lؒ)&Gr-brKyDl/r"ГȆ`("K ?`n1jHP.*B\V.* =#\TqXqY$S0_.%Ł.+U1,V\a.+a.,(1jHB qZebyN)qR$YX4tx*)iy/;(^)yP6%IBՂlX-  %mWBť5fh#1lUZSVjV3A)v+ GpfK)K=bTTDKJjJJ0 '˥.RpځеiMYZp❝ؙ8hlFBR.*KN)qQ~):1,ra!DqJ!@a8lR#c7I\xwdK[Ex% x$$0Ai3 1jY%7GHy<ŀzSF% d DEj=Ohu|r@3?S(+`1 qQ+h/Ah7ڴbVcVpMukae<OnRQa⴦%F!✉IqRHAj)+@]pVB%:$0.*&U1)  "qMaR7&sVԩ.7b|X:7Q C(Sg\_> wV*n1jH(N(8f1~Rh丧"\Vv)ȀPW)xc8*)r)^{"4BX*!J!q $20d2@G'e$W5WǪ1qjf%Cqt"E9arIYS;kA%p<8/|-UD'#UfRD դ,SpX E8j7 R✐)qPb,Sk ҚR\SZ$sZDM "գrKz,ZSVjV3\z"Mk:^sKc.Aq`*O[=V/f rg/مuF:0&=.*7⹋@n)Hԭf8%rIqMh5rr͊us-ɒ$T/⹓ B"2@/PiaVKB.+`INv+Sj>ȗI>0.)" E8Wd;գ*0Z)LcV*Da%bLJ.+xDE5Z?%܋ntw)be.!ý~fƤ_ũ5`M7({\V"R\V K |T%xI"epp!$S8 9ŤK'bʁ \WЩ.*9dIl; S`.ԭf8XQ^KPKb@5LjDAHK,KdKŞFK #❈BHJvXi,A"ыbmtc +jTTh.+dK Sm6H S` *fNN*>mK~x("P⟆Iq` @V4a&n*n1jH$Y$Tⶠ⵾8}K %i,%vnK P&9!TԐ&qsz\V\W(32Z.V` R\YF0f*[NqPb\SIKE:BKMb&X`WJ1nY1P}Zb,mo1QN7sTR\Vtp,$WZ)q`i%s+glvfKSphAY7BZ1+5-MlHQBX5fB!#|l{E255<8\Wi.(_$.^"➒➁T@/P%ܔ!* XI,T#ҨPKEpⴓ@丧RAEN-l }0Z>8Cz)H6Dp'3fsVLj)q^)qi ";a\T.)ȸ$+JK>q`)q\pj+AGwG{b\V`.-0!.*EmNi~KX%ETW.!;k Yyw1oӱ\=G!S)L7c0re,"WNykx PlaiKړMQ^ʺ_0ǍJJQҔawW 0*.+0Z|E@>+5!u;lrb>b/[:Z\Tr--vEb $SYvS+W%ђp)L|^mtr{T[0S+U= ˁLe2̦X;Zǵx'8)ǷL)Lv]}5RsrF7Lr?{#HsMفHL]ӏn/˂LLΘy2A=-. z TKba.+XpvU>C4N.c!j)qR`X cԐ&ceU |dX'%Ha& XIƀTP%} b+73q$Y$n)Z8 DNB K%} B.+`@EapÞ %4b'ED8&#ⵀ@TPD)#Ud跴R b SY}+\f~36*%F ⵉBOaМqp?lkQG#ǝ"&,jjlmAXIqPiqPaP/ GX9y.QAho1,SzMa  5WJ o ޅxɵJ喋\9XYkߕN61Ix"8|u\eoorﵚpMZ]^.*,s0o;.*/(E̘^{Q)GN^CxcF85G*7z+P!X/0`SKl WUv(7O!-8<x*b\S.,%20t$kcʲi.+b PfESF${]BDP*1EՅ.*IAxP]$""R<+ DeV"qe&A$yA? DTD^R MkJjBH\D#P3)5"H\A,YQjHQ,YQjHP^)TDK$MÅգQ'Y}.*8 @3+5:\Tx^P-;=P޴LKt(+y.+!M.*2 Kܚԗhdb$TP*0tp- `KteKD1O^:{B}KA%kҚRKsls7Wb'QM0I.)<QW85$,@|(.r:%I$đ[dSz\W\TlD0`Tf"-Kk(P7iZSVjV3[ ⷓfRMEc}-ߘ#eS>C-xKjt5m=F[_TWEkTIXX9/Lqn2?V0Mo N4l5'μXYk{쮗bX|w)s# .)%7$ "⶜لYS9H`Q$V"xK䒨NQH%E5$ jCآD E8V^ AAƎAI$0`Z\S֮[ 7[kw3-uƒkw2EµEy_!#h!-ܹ֘Kx[FuoҖL8 `պoV_ҺAlDE9 !UTԐ*d(D}NW; XNM2h-]`K攗7 oa吲Es0D]Q,!v))Ŗzw[3L.+ka\0y >#-V`ED$ڑ1!SaDQ)l"H$Fl)/E`KqM.*H%%ŃF@TSSDZv)f=;c(y=jr\X:ZĩqQ%0Uĸ:\Y.+Jj\W.0 bnHr8X %KEnJ1 gcGT1yy큖CR\X"3(Q cYhIq`#4\X$87ڇT c՚4LIq`q\^)*t@h u-o2G^$dӮp? ؛`1Π`'8pAZqP!đ[O=%}-%o"$F%tLKbKz0l " !pl,IK%?IVğ1'K~7 +G*lq[ZE8,:]0Gj¤a$Th5X kxS4@8gUX1! Y) l$˕21YcF1E(u0$0a.)n<%'礸\VqR$@^*@pn)iMYZpK1SaiMYZpK02 $}F+qPFdIpj0lQZSVjV3f<"\Z`\W7ԭf8%o ėqM՚n)VP]X *a2v0i.- qZAMiM@MwGHC;,ە$Y j+tV_" %p/F0"/F"Bs\S.+\Vt\S,Vo .qNF!,S&ĮbMedƾHkk qPO4CqND2o/]Pcu$ Sba\Ը"؈ Aˌj4\T.*! D a.*$FECPM'HU0UbX)X@$KC@Wƴ\V,Y,"\WDQ$Sz8 bMe^0E=9-łR$TS"uqhdQ'78c2`ƎKuE>ԸuqWB w|D >(oW#w>vr\VWA$W2ӂ\S.+Ж)ή5>2m8%d#c$/(-$}B#a_ %FoaD8K,!B\T pE<bE ,D%gKETSukJT aqx:ig" zVz,̭ms3Sg>RffLK%x>QN %CUppDE7]2FRՂ f[1LŜOK$WD=ⶡ✔Aئxȧab2.)Ș.+`*$ ET4D1NDKIq[ZB%eK:1QH0UIQPCE.+!  ScҚUj8BhKePZ$D E6\4NDe` zA)ۆѸUY'|e8#o厰w>=7O9-'W e6.\<>st䴗"r(a!7NKIF[Yup䴗{{c+4#q}Ƹ/k?vLFx:nz `xT`*0tp*kZ?%܋yXw pa0E]bF`&-IslQE|)DĮb$.Jb b)14ŗ+~#OLV=1Xo*o @SjEiMYK&1Ne!vXitKD֗]., 4+qWG S ec(‹vZInH$(Ը" \WYHe43A|b&%$nZx(D :_:)ΙWG,x1H!LuvZSQŀ%}UKg qO$YSTIM0I Śv OϊfKi\UMˑ.)Ĕt&AtXrʡCqalhHr%hJt"(39XdJ+)8C1Wgqb/aLM0I%?)%HR[x`=`(3zQ cY@Vnɋ dŹԬF$<֊ѕan v)r>[V38[ⵀuRⷑJjJFc, LK z)NZŠTB5VA)ܺp] T!^΋;.J g\XMЬwZ+ 8Ų7},xKtGHz?U&F-$5ɢ!lSq+],/=Nꍷ{ 5Ϭs?F)6 eƋ_lzt̼a/?9`&$(DgNHO""n 5hpl1ڠQ.>DtpH"SKAtdnT:,MS~s_oKMԖJjȘ-\Wx0IؑϢ B*((5.3ߌđ]T%E73- DZFe!/vROKb vrntK y="!DSY q ʊ/9"c8.!+c#/-H5?`ej#t"`*Y.,KPwEԚECF`D E6*skjo=j^[ĠH紸)qQqR!8+ p-K 6!՚dt F)(W*^*!PfBE.) EkRⵒ$SGimMi7t01s dvh;hyѳ18X-<{mpف'$s-ƘTcgdlS¿%gx | .e{{V{[m'`op 5xV${gYDP*% 54$x3`X?DJ\WVq$T*i1wgE%=IqXx**" S[3-)5,N.QHAK3ڄZSVjX)`#9.+)xbVjⰜN"6he;82IV*XxvK3Xb֦nx 3(\V -"eK%a bZSVjbOh%— omx곐oJg1u.݀m# SVT7'.*4#Š RRbHiqQ$VoqEֵZ?%܋ntw'c e+a0D_kb G(%C DAfWz_$ %` k0KWK!VAE*LT=~rP]ֶ pK"XTʒ\WwĸLiqPIqRv)qڗ `ė j$$BhK!F(]hr/qܝ1p ux:~#0K, U`M7(p KچKQEHxK%p~ o0^KMu1+@] ]Mrn\,bZ\q^XR0%CЁ$"T✍ iq^ıP*HI"H2`9PTF&aZ Ya\X$ĸ61\]QFkJjJFc3*5Ae0UIx0.+ht9✏T:f5#+$\WRbX1I!,h1,W@Sl"̛aE )$PՏ6mR@N08KD"K"N!81W"t6tsö)R>7b|YC1XKYXPθ`.Xj -"1XM1'bȗYKUKO TRSD r0`X/E? O`\Y$Zb"SyԾX [U222kE}Hpgpǚލkyf6d;+w`㮴37ܘZ;6\⍺;ιIaAˌj1$Y($ D%kEG1) )Fo~+(Tm[吒gFARu%Ra.)" "#M M,l܉v%Mm /4;r%:qR[_bic`vKE} ;`,q_74;r$fet"K" ",F%HH(QOĘEMd\7cBY:-5Dx~mS4Ԃ/Z\T.+\T4$1v)=@._M`bƶ;;12qM0IC"ںEɑᥱmzgXn`~y!ɑᥱ; 傍ۗNrdxilqŎd;\XUrdxilq2Q=.e%pEFRıf"W4/j( "lh"kZ?%܋ntw)be.!ýx:~#0Kֹ6(ܠ+ u9T$nnnטYWR0b\Th@ A*6 qR&!)u\dhVց֎iqOTʄP\V@(k<5=U/8c `xI, .-5 \" 7 1ıM…:P?*4pXӎ`P7(/*ѣ-On8?8DIԗI9x3QQXf 0 ئ\~VjV3V⤣%A$S#Q$Y& -%FDRE\\SpIza3Quj\"…ar\TZ"""dV[.)|3͠YVM/ quHm1)5+A S5 $`#d1 "Ec $Taj丮Q$V3""J8сdbȿ<4⺒đ]\VD6GtZ!:V7)+o5UkռVrVk`W$WfXZ+q.*H/K "U  JWާH))d$(GSgH:KC2Ȗ)᧝DlZE'"+yYc ڀkJaIaCb!S`^e01Qh&Q ySE_eQ"`cHkL+̦4- ͆EyƑE 2+RⶒPyύڪ +✐Sc|چ($SLnK| x)u&"R@T= ^`CL`jHRT9.)F R@4\TB1.+2Z\T9qjH$XԸt\TK `XagGh5ދ/\Rp.+Z\T/ Y@ZK[vp-0PK %pP @SH \W D) R9* RtAb\Sf)! j0^)ҡJ,4B \Sȵ.++(6Sb!La"\WB\SR\X.):%qw;i%~@S]JڔB5u0aUXEqU c [>NnMXh̚N mbcB1y@Y4Doct٧/A6Re̸򋤸Ŕh| |YKɩ$`xnlGF &//PҒlIBx(99A+,@_jtq}.kƺk s 8WAlSiXJ M}5LϕXyD nMHO!dA.,ĸI֡Z?p;r/qܥp JH.LZZأrgBAPp,0,WJ8-.+.+J\Th78ѴD E< YD/.%dX=HKM Pn)hĬƭQ%Pg0!^*"` p v(bn'ܷCwGw|XIArS'rAy38`Eݬ+{y;7'Ġ (52ںܥ:%/NJ+\üOK9x 8Aˌj4q`ĸe3H-X0n)QR"iǖ } DMJjB SX, Ujʐ0F<ȴ" KBJJeFbB%9r 2 e],HǓ8lmQ cYD@SpOa XJԠKUoRF@(<O*Rh%zgRsO:.+IǀTSA.*AQ.+~+k2xǍ"ECj ]M FσpKεʐ n)q\qfq\VWL IQgjFF%[ Z\W\VBXϑgpI r*0ZR⮅Sz]]xD^ڗy.,\W"\V@3saK.+dRKRD])Ը/V⸎⣋qRlHF"U#Ssm X)#60`FF# IqOc$Piq_KqRTK{%}\Ty.*9.*.+Zh+X:o1Q@rSFȗxzva`@Kїv`"ѕ ⣌ S[B%gI%IqZׄOR6З$r$~UAz\Ts*\V +Q`(DE5+G仑{Ξay"RGV/f reYj FIqONqfHE=$)8)qPh0Z)$Hrj\Vb\V3}Q cY<*38""|Q @;ߦ%/nEnVs\w~&\ nsZ1+1+c\Pȗ`8).."" ❍ݻۡ,`whVX\;ၵgH %=!F FEl)(%t#%qԬW嵨Ոx%IRDtyNqO@\STKԴԗ)o Q:;j1F֟F|º1xI"rF EA(1Plz @Dw\p汸XjJx)rI`KPaD ^b0QX5wVhb*bEpfWå<%3iB5VDp5.da)y%ʤff,+JE(4iqR)@-qE9-4k®hq-^* XqMF%f5jZ*H%r-O$D!/j E7 f*(%= qO%f)ਮ=@wxRF.*DF pE@X#"X0_.j\SشD 8SMaQ cCj5A텄O`7wX}W)Tb\VD\S6 6՚)p#!%X.뱃_# بeZv @T2-;ꆡ$YanjHf*$@ R⸃ q`qN \ZTıf.D""\Xu[HyTTZ$SYD 6T"];`Z-VH1 ,W7`D"rFVV0Np U0iQJU `:֢q}.+x^%fⵗ\ T,DA$sOPAqyc@ E=`LJ,|a!|Sk=)}3Ņ0h;gs6/%7.;h_WJEB7sn ,Y3q " ŗL\TZ\W,W@?l0+6X`SUb|K K Ȯݙu " b_j.+Nn;K)qR%0n+L HgV&D"\S$qNeԸ*n)R>I`^*>mVbcu"K@5t@Jb^)=B`C)q]K S`4/aAl?A-$ %~McEulY5Ps%X Ұ x HqyЮ +g]@.*4` AWX,[&"<( S`jzwyJ!h,MAxnAD!ܬƦ8a2)9GBw̚ӣ>u\gTK#:7܁nM8Џ[nk.8σוGb!S'ԍ~E_pńH ]]xo{^[K2qsN zÌS~^1a3B'8j`1{/e'|^]׺-4Y]88.0]՝FX8Se0 ˞r7̚Z -0\ǒ{|T]}.c |ǽIؐ"+|Ǽ˥K:Kx5m#ȳ|`o+:w=\5z. =ofj^VHb!dS ~0Pc/t j9.HKwxNnjdF'LGBHatu#y S/ahIM4EHvVK0$1n\S.)KnB k70laй.+`L q]L q]Ib`Kx0 EAhO|28!,Yh%Az\SB\V`H%1jqZ)qOTKyKyb!La"\V ,] uc^K/֔՚ @ZʦVL qQ:\S Ej8Y.+ E)֑嬊8`kH T 5ykU+)5ykd"08m[6, iZdDĸ@gDLMc&ܛ-v0G {W:p>ջ4zI;E3<WgsV ٮEfu};#nu9+ӻ$p.RwJϱܑ nR_(KtK'Bx -F ϏW۩nBNpu(uXgTz[*\WfԸe.+4Eq`!ȧz+$&c E!B5VDu.*9.-($0-.*"brP:ˆMFϔWW|\6))vdj\X0/ naKEKHEnz\X*\X6$PlJjJFc\Wpn)Tg:} "YXF<%u!X\rB\P$E9(Z*<eEj06"jǛ֠ Iq`(D Df&4q$Y$@I_OIqQf,g2D~)D*8E=e p~#؉$X Ru.,TFTH@XYqa$ /<5.* %].+j@DEEC5.3ߌ iMYXfQK&")rRO"ku[Lp*C=.);ʁ3 qR$n)E&JDUXV6k"f*( "bpgSq#R@1NjnK"\EK6@V{G/.;]qpe.[[JbTA XpK")4='<_9"0U+|U|XMuw|Fh` Bc˫ Mfֺ[o8;խuq.+Rb\Z`P)D#qQ¬+cl z#jrb6CĒܠ)ZK!9 2qM֔՚n) ZSVjV3I8D oiP | J$wn)SXL*sP\Pk_ J0zY &Xnv`~)ӟ"c } EmC>;\Tb7QX#|`x$V; @S`\ފ Fc\S세 "H+P H%\pnZ qO JP51`Fe],IqR&ĸ23Ȣ*"'bJu1ڴ" B%qpaD)#Ud4ȨIM{Ø*3|X#`l#-)5+Am#1PMS! "p# \TIy0.)%v0ە q\0v)ə~UB$t,Y5#\WAH1 )DA*n'RBE.).+3;eF{/iqPA xFj) aaFUOa$8AF$9D6~U,6\ePJ &^,pbtH.SP+EF\SP:湑1iqN qN$ 6 V՚D\Sy\Gs2'&\%F[= ՚pUrg]ZQi@3 ['r\W` .+.+ \Wj\W\WT@C$ksL;KpK.*<2 t ViqZʼnq^W'`Tk\R?"ުp2 X9 aMYLkoRCTx0s{=8[AwS;Ϋn"\Y0ɑΡb7cY`ϑ6TB,e: n+x| EmK} Sb%,)V%* V2ҚRDM¼VjVZ )ESGd"+NDQ*,]<{q;H W6 v)y*՚$SY\"6+s#$|`ߜyV9.+m.*=`B0!1ML"HGFHa̪% "*+`: Qv7dT]pw⤀|!\V`.-0C煣nɱqukɀ`r>5./s~)^WSFn="E7H EX)RnV&by., qZS:_Cpr9\ڮ!đZQ˫TleKlpK}2l4n.IBH)u.)$~D.+yDk(x!UZ%FO2-^Oq[Oiq[Rıf,XzZ.1OazVuCf&w|o`إB9Μڢ80RƗnV9XGa].) =5 H"Kq9.*<EqA$V.+BgKMh ] gKۛ VUf'VL'UĎXB_-v>φNswy/..Zuh]`GVށGye.)ʂ\X"7Q cY ℸD +$j.*0` 5X}W)TbX0⛙JjV䉐#UWڛz8$f8[B\WPn)ԭf8MC1F*x8c2a.,HlK 6V՚AX710GHp\& Ԁa)WY#Cvk28}kVNReՀNrŀX\Iֳ$he丬J\WB\Tr%.+:KiF5K1h0k+)b6Ʊ\KjeK "O#/a3KX#(I1ќD!p#\]SQy]ET5@#Udj9.*`^c^\akE'"Şp`hKkƼGĺjb]\^uqyHĺ$0a.+P" qwR8ImPT*xtUGyrB¶xA?H[8Dg1 {$?*A0`G-K$;{v@ʁ`TAhO@Sv)Snһ#jqjq_-K}>8b" 4zMU厊j^hxOlTjŇ*`HVwl` L3%JlyJZ|L}#x[:r\V.+[1xeU!ލ/\p &5>0KK F%,bmtc +/qPG$"H+N&TV0{ٖT u`LԘԸ 7ȴԭf8 bF%fAب$)VQ d0Qf0(4!TSZoKx[o̷@[ɋqZhU +qjO+u-`*bzVB[JIh;aI긠➑*A,Y  |җ E?&uj0UD)K4%/lgEvP7X)qO0bH9%(lv6 ldpR(leru  Qmۛi=8)Cn4qU )(m6@z$Jd61* 0Cn|CnCkvm*[ CUT6@Cn 6e (n"jCkm`6je*ajb"Kpm} cCTcE )mft% t60UCkPym46Z35hhmhmd*f6hlx6E)?P% 9PۏixCnCnCT46@rݮC¡i hl`& Pۜ(j CUN6jbNCcϡ;Q= A} cCUt6*fʓ43kLYL2͐s5Ff;U3l;s6"ٛY f>ۂs60fALs6,ͬ3kg3l&mat͌Rs6@53n3l2L Z|D͸f3UB)wٛ3cLS5Tu3c61flYLތl.f3o\Z36Lͬx)L,ՄͺfflLt|ͬ3l&lb$Ͱ3cjf 6fHDq?cbD6~{ ~XՉS@ /.PCnYݲJ U } hmmt66ۄ6 fة3dlb$͎H&lqtͬ36i!jf3T^fmc*f3ks6S60 3k2L 6C͹f؉6)qͬs3n3fP64͹f=3cY3kMۈiq ݸU7o n\"FMۥǛfIrݰ*Q niu ۊv0 7cSuI7kM[*AuD+7l'&f3wwwv3vYswsvDݻݰe7k!ۖqݰ7d0Mv݌7c3v0nȉ7n'%=0X d` *6 c*.O B0⅖ЌB1΄qRp W]$VX ThHQ ()$G+tU XЪ+E 5PR2Џ@Bq hGB;) -fЬB]Ce hGX1Fdj#*Fb7BZ(FwC=Z F:(XB9B##TѭFb#DEb dz&2hY4PEXF1Q1QU'Q; (oh:ѻ-TnFcnѹl[wy4TtOdhюEI*d*"(S:EQ&ڊ抜j*4UA*r(U8F9cQĺ1UqEYF5:5ѽl+QNpAF<6h@*S^p>aMJV(tl`YvFʕ dk;Qa1l,0ѹnki:2j1kEX_F0AEMJ5hẍ(haʊSFtoeptcփTqb[iX NTk ѽ8}` D;YRnF1bko[hzp.pjFtVN1(nkIQ16NpR`e7'Q*ѹs8)FJ*7Q)!Rd$ь4dc tn|nFj*]*5ьEYF@Fk6QY"諁k`Fj6Raj6"(Kw 1ѰcEHcEš*at%F0UFyX4ke3]EhaFhBfFhǏFE*})1Q9qU藈nnE@F@rC\*6 X`&(0ьETFj6$F<7;Uѹa A}cyTUtkʓMkMUMS!M͑5FlU6üsk"ٵ>͸'60mAM6,3kg6mat)sdSn6$ Dۋf5T"w}6:SUGScc朤/6YMɶ6Z6Lyxb,XHMjvl$Gͬ6Blb$ c櫥͐6iADqB9bE hX{BeXA@F]5hݲD%Q}'F6ѸIFة6Alb$䉵&MX36i5Emc69l60 6$ d9͹m6Ͱq3n<me kCMmcY6$\q S ue"dμyՏg\rQr νviZ θvӣSNŹ*)`9;3I'; s- xЂKgbNudu`ud9-N?Va2))e'Jv|X4`})kcOa7Ѿۃ-Z@'.#)TCԈk/D;Vqc#2ѕũ*|8f`)L-DaS$qVU(uR+]MPSmT #(X$*[CwKŬ.%Riaq_rb.VR/40([y'MʶG]C1+Hs̪/4NGRC (C Ii@-5jJ.'5TTC*! J=D<´f Zqq^t@}Oډx?%'RiI1BRp%I Q'Rӈa5Cpv5"kȇVD>IITC$BKL  U]]LQ>AP92O$ΓdziҚEmUB #a(f<N E N wBBqa$.>'W|M&[yNe`ۦoq%aCQ8xyk`ް|RxO$ɭ3tq.˺VIgL` 2yM}%@cOO|ڄnGÍ(>ͮyy\ݥxr~+ 86_70Ko"%-Ѳ_\ n9e0P-Cn}(Xjjfc_4+)|hi^kPzI43Oх4E-˶KɈM8Bڢ p$cxn"ui-3cd b"0ٍE[r"#z8&NY>1?>ƼpXXn.[[[2_@rm'WLvᑧ scvYHF[^|z"8;WMX#54vvz[۫orL,h.Ҝ)q655Nh0 XYu<#QG)U#2ƭ[K'K~sJ CRiMY4a!DaaEQ<&EL 8z~Q0s"C |R1VT@;GfB?7)*Pefg!'-sN8 B1$ SMJ맖UOF8" Mws!x&ųIeyԼzI\RG6A7QR V#0=A4R^8(Ѯ*»7ڞߞ!Pȁ 0^.n -*Lj+az:z >MFgIGFrFO:a Ďx%:`7 X 6,H&aX4(\ !bJ !3*jT5d7ڭbM.h 6L 0C`W CK0ƥ&͠Rf⨅E%*BE ZWrbݒ=)C3V=n>5ͥ6m_0 SD6F&$SZRi,KMnFPCpOP0)d4(.QIh*A/LaZ`0pF4dtXr!d c3ՏjuVő#0j`@1TB)`AD ?UvC1ZN%PxF]uQ<$T/ k{9!b i=F0p]4oPCx16Cy"17ީTklc B!v2"#qzrn 9XؔgP^ l r3!=?2 ؂EDPxM B9FOreFRiQPHxB8`! zz: !IT~IT cJ19& &'Q uB}De*!*!4 sJp RQ*!̕B!O,`3;gC"M⎏/TE*!Ȁp >Aڍ/7TB1\8e*2TCe*!ЕFA&@D8%D9C27i^`i^MF? NQ(p$܏PiǠ^"g>@Tpba*TC*!H $ ݓ_vQA*F 4 zJ8$)QDԨ%$<‚TC*TC=*!Js YTIM4p B8LH7L>F20sFhˉ#M1 ^"Ȗ?Qm7TEHI\O -:rC~cd-jUW%D9RD9D:%eOLҢU.a0w01 Z21!D dž0Rh 7Jt-%D:tDwRlJ#= *!*! Ju QTUBa\'C"`yhSNZPUph  )9TVS @ kQTڅhy40T YXIM4p VJ>BqH$g-W5Ժ,JOCpD0  4[JgRȈ)Q pѐD3PgXe p~\P\ISUPWuRt+\׎ fRHlD^P@[Wȷ '`w>V.)eEjU0Ƽ{i^`i^4b\=%!~GXA\^HmȽ ªp/bcfE 42qzM6 b5弧l \mXu,q [-v`2[n[&Xܗ2cUҦ<r_sTr8s/9&r``^r Z GU/Nx]U3G jS(:!mR`O5"|O?.[͖qD/#h* '*&FRWVԙ #%,`zN]ҋ:r XUe ,NW%UVΤ체<.tpXzஇ[[[W&$_dj-UdCXU 2"#0'^E$,r5ʫfh3S+UEb'y9Nu]h&.O^4g`PufC㙫a j.S'\>f &O2|ʉe83ӧqq84 & 6R$5 c;3;25M.QqdɒL2dS&dI&J2\ɓ%LQ0 I~!xH">Ai1Fm2RZ݅Lyk'\}ΝKi |.J]خmՍp jTNJ;m*#K@p*@"`ѝ!`yD_ ȘL\/)vTH޼ƈVt}D@xgż[%".ntZ0B@ b*8 *@$^D7Q Ԩ &`8mD7K^?S=bg5T}{@=T9t9xh_T-ʐVCm''z8~eyPd[\8nヘD)QAePhǶ Tu;$Q ĜAѸ+Q/%TA*l\δB63~t1""L$sB HT#0-Hvj%3`@1o2p?Ϧ`c`g?&Mw4 ?4,ȴ iaNbPR`lFN~>@8RRT5,=X} |HUf"TbRbQP;z65BR,RD/6F6SD4}`i0"Z0w`m0Ң P᱈"<XLII ɀ^ ,cb`)5T&x0Jy%&n@CPVGt(a\5[6I iI1* C[U kIX*!v*!C R@B`RkFUCZⓑ=* njCa\ЍT7kCKuH_&†Zl A0r~16f5ȋ,M`#)rD> R\ԭf8"X)0]BwuxD5C1j${xI!W \b6wjzL.cOdRڕ6 `PF 8 7Va8X8N%T8dd& z?3 2冢GzO\@$ ]_.Xj J „rrD.Xj JG{D5 j0i0nJM_9%D<(7@j-Ch!xPNj!hlu5(D.CH!!lz#Fc/CB,Ek+]_xFc8: :.s&y'9sz`!BrE#O v)C6U UR>(c%v+"x ^WC;9Dnڢ"N[?c6t. KU25GXS$o7+3: $}Dtiv.9nzo-lk?2EΌN}}LQ#v!⚍9/4ԞjIȑ8V=Q a^ B|4uDН IʊIIB(IA<Dz#U"xppj8!R`\ )(:CQQI Cj|`-0RD6A9 v NJrBD95%D9Ң aT[œJnε F@g-M*AAu=^ەW- 0u֮oXY uX\5NYHH`:jV4zr?7T!u C̊эXj*AV~4A`9Qu4&b X CqyJp%C Cj%'VO '*Ct9A-0pbL)I2 H.JqI"~Bq*jJq2A0PST0T*(Bl|zN^J.m/S3SGW03?A#{Pͪ%ޟΏyEL^Ey ]p:/I8/r3:`w-}eɂ%[9K_mp¿rO4ry9xO\gНjvۗ&'98k\pb x \:^(n&,4>Y(-AX=ga4\ Yp]ӢZ<<9ϽWD囅A滝1[aY"r̀ަ<\bdc?!q73O^b>tN739bg!xnǽ.="srװIz]'L P]W>rtwO)rpWYל8dksi3lrWt'y.<~0|nqvMɽ:5.8}>hJ0%8%p^Å>U$X=9^Mpq׍^p.<< :}|㏕7n /&8܊62y99:X6ttk2x.{[C۷ܥw{/i{)n > {OgHz^ZFyUx.a>5"غeb~yre+3qrpzg\ٹoė?X 2x>aލe~{qV>[~K @/M喞N$dyaqoGO䔃!$_0>rM6*' j:§>ake۳r^Gb;Bܻ+7NfsHr 5\$dcpa>5J*q6 r=f ƞ@{0@w?449Kp.ܹʤp I[Z['`OE\}ف(\rTpjt*SW2n Ⱦf.h]fX^z8A>'c]i(~h~%q ^u`ľ@'(fX'Q>)w2sS4wX{;b-Oko veΜYMw{78rf ,]f -}z>)xYQrW9\'d霕w,ponxퟎ`.gl/1GB* pfɏФuVf;e׌vۘ89wy#ƔyG crnUʵo#PY=^rP=^&J)Qw 6G .q2Oj bx֍78YѼdja5mn2tot^X΍/RY|g@sq7b7Jq7b7ߔ e2(| 2.oC248.)P\"K0>vǬjvyp :KxTy~g:5209t)zUnŬw#y4$Ne^[C`rb.w*rR8pin+iYʜʘFG)F[^N!Yӊ}g1z.cx+?@w:\탧⎬:M<xlqpAߣz/r*/rK0S+27VxPgyj \cXOX>hUͬ,n)s}yiӋ`s<ߚs#wLΘto604?qAVƸk>̹Ώ(̣69u.S+\9" =F\+Y\n06v s$}@`9:gSL݊XLrΧ_*;12"L)rwᓟr(s5bpƴo~>/1}` އexa7>O*c61 \5zǜ|۽ XVqw^P>j:]GqQq^w;7`{rXt?u;@,^: 9(sO[\WX)ܫXNKi]tp.݃q `p >_dy95n4``J0\qF# > Ŝ^ˋ,vIyzU9w|2Q/kaޱF)s% c4s.!9oz3=]L9$d:~c|` |b)S =7GV>,c*c&ɜ-VGNo3TBX~a'oh#ưs_<5ob< @v/b3 l%`_L%ﯴ7c?a#˸VIh\/\o*<7F]&vl 7OH:5{ƼqMxojFR~;3qX[Ix9݋ձ',_qkNHVKNw\f8+cS/x ˜Hr3n;pY˽]Յkƿ/=PWTyw 5a8l:O ^/oye;n9#a1kg2mdۀEn&ɹR7DVIyN']_u|xQ8ggt5<=(= pW:ki:Պp}ïw =%flsmӰU8vX`=%˺,`rn78ߕ<XWk<МxtND|xp7WY;Q盀Xp?SQ~"J\-s2AH(D)Y_s5r3xːx8Ƽw't)ŖQޘXwoU5 M]ʚ ~m뵂V0xxn $s͎O sUyp gM`n(*Tmǎ7MjĀs\ l4'/МBr '0Pƞ yjFr^Hyfn93y Wp]Ş% T_kkad4d;.zlmGJp.yb0WqJjkg"]>jNOz5cļdMph.)_yÎt\g\nLOuc_ y׌|p~@a\#qVG*NN2l(^~Rpv($WRA'n$˜0E#$+xFᯘ0xCyLc;[#9fB Lz t|˷"!ńNms*xW6zZ2'ZGEplR<@p <>pbk 9n.хN\U8X^B17ǼK̼Qke·SX9 s#}S殌i,/s1kKKv:W9~w,XB뼝C}ԛ_X0قlXr17[~CSn>I$XWnVםms l09 X_p|[4EvlNks,g⫀nNacVseg̸!!rBKG3}ݗ?*b|C;AssBw/,yWm]I5w0*.ffe3R0I>ćOkp*fT]6Cɜt|s?t&֋p#\8;>0bkGu~yڸ=Ӌ<\;5$_":qa&_F1;+v=}e;`|~nk@2E뺰to)Mkhb] :#7w>v, oQ^'O|{ RlG;#yb%7`Cō|n?]oݯWl؁3HIoC>w0} ;s7Vg 9kr{ہ-S|zv:oa4V݋ ʼn>7[znVd.ؓ;6=.ܻ4qI| xx̭LH֒ma-Ǡ'0q*. b{C+tAak3a]$r?Wwn^>g"SHGӃqDnx TP`ʇ RZAӹiTh$Ms\1):bY6P@/ TL `0]q"oTh& _x*# *>0788J4%_DE2:TJ ʍ!*r)<JdzR=&z TY`v:Éǵ'+ :Tnj" J2ՠj=$kpb0"hJ;c0#q= ˦19Y@T3%Ebz `xP rTQO[uubW)+S3 Ju186 #\ g y6C2U@Cr}CPtڂA-.Ccpjp$Erҥ*4~) V0C;ɜ`hGC  "exoŅ%cYIPżA8a -E! 6PHY47*cr9_ 5AK446Iڛ['մp2~*+ aXA*i)*3UpĢHP&$9'hNPAJSt,bTD0d!6 PiUZJA%ۃu:FِPN2MHQ}gj46tNs7Єp5d2!$%TQ̊P.{:3*,`|7 Eø"T 8H %TDQuX{ntkP."i*! 2W#I0*.Ҩ{9\€)x?qF(U 3RZb2ilQ iU S!%+dG(Z}ғUN{6TN.(TD*Y *"pT<ԊDz{8T2+!*!PV0\RL9 5rjZOEж-ؾ^KMvV %$<9ِ)L.aUNHʏg:k~AX~ 1R + ̾8o}0*&*uj'4 ZqPo>X^2QHnB\^z!T8 9"%5)Uzl+R2TCW]n)IzÅFp,{.y}Esu(Af }K(dBxbHA wA@@)T6X⪈g(@0 TiN!%GAG5ʣ$aF g+84%"T? ]#3@YeT[!R j%KE<3HhM?jQطwj jBڨ 6+!IAc4 MuU?5Gr@*O2V w:8+TH.&T4 Ѫꉄ#h EʚL7G (fv#p,IyМe`8f9[ Qjŋ TS?VLšW2\ByTsF y뚫2B@c7.LOko o,\4 խmmlfW*TCT8'/aµ&|<.q7M`Ê.LЫzG+],вRx8(.QdGCD) RuDvo +rCfK O//QǰQDngf/s9-΃1Ɠu4ԓ)tIӑܜݕc4(1Tnj~zNGqوD` N,{E9s,zjG7NLk+g8=#M 6)(%C N9JCLGj!eHB`_Csz9#A(&d EuÁC8<~CT[n ODejYQ*Hm$bc)ך鑂K ) c S7ғ[d'`j`JO[TC2RqE*6%[KM$&cUJA |" 0gpxG8f8 !BTOQU=<*D!|`YJ 6<CMsAy.0WePҙx = &p´A >&@.D <(Tt\)B8U'!2'ԇ2_RcDS 2a(4kS 7a.=f*GNs0СA@7Cx F$ Bi.ID"$%"ԞQ TH4G*'O0Ң:11\kTg<C 78 0K JmjѲr?G`t`R8AQL F.DJ E܂_kHuW;:)=oh9AR`/ \{TPY  %lqr~9(9(8&> ^BYaI _ փ*GI?!ߪŨwFZAf83:8)L#{ UPq@/BKn-BYi`T@'Rd`0s"Hӌ J&zg`SD@X X1+. T_'DyȝcI eDE0i]CxJM)%ENJ~P^4 @v1@p32"0S6&AR$Qϒj654] 9!Չ@M7Q^FUh 4Sw@7s@\'0}HFԱAk'>rd kƹΊ>/uYaE[9 Lo+ܕ0<]Ii]K5tB:|(q=MȊ\)Q!^K M8s12;$o#-)]SwdwDJQF1_%`77r,vQM@RPX71܇IFq67,8$f X-Uzž*MY4]U@VdGOvukرnV]]@k('a9>JMŬ*`q\d) Mgq7.Qvq ^qr#@V<.r]QW CQ\! `8{ w }dÊ8f4\ ROSв.RgO86e;jAX.aCG D$9i籢Q8@zBkiI@7k9M9T7sFSrGP; 9tPr dB!22mM%SBABތE )roR1Ǎ#Lb03C!Q p+p-.YbrpL&afz9b:W>'G|hLp ~"vXb<^~@<]C5PޖPR1\$Sl 1Z^Fꌗr/4(*GǬmY֧fO ._vᛗPڴ4DMu!j/g5aǐx9#]OyG|qsuECfLabGg-s-Bo&q7VQg]w>bmXCV`(>P!TrOڋҔ]#FJ*|VH.ȹi] N^T'qИxS"Xr܍\ 6_57aUC RuM TAF]R͆50#^~C)ݟmN8䒑=IqQ6-D|pcp1xOQ0 mUկ(nJ {[\W [Y)MӖ<<ymL6[SmPCj[SmI%t-xc3t-Ll<SHRF42Q)A8QZ1EC/+0BIT/lT``˓u1HY2?t>9l58 TIHQp%۵bg=U!9@ / T5GTC`v7hsFP<.l78Nǜ5eWPť]C#Ba4^rPZPŅ(C  $:ýC 5 XK\]gaLwMb ^N0QiLlNQ䈄pɦֵusN+y|uH5T8$y 8M8mS`tas|Hbk+5+R5I zK(H,bǣP?'*f@t< Xa(9S b4XcS!| E'z$T9^KC#e抐$t!,1VGHJpX';P , XX?7Ҋ;! ;a fY蜪|5 ц~ MFeȆUXM輡1.g.aYnKR0,UwJY) cʺ `=@aB8R^p9&)G5 ,6 nbW1D*Ċ&\/soxXƺ7Xa)QMP*\_  ®tPLP%Ҭ #lijI)Fu @B 5#!}FHP|$t.Ʀえԇ*J=p':Y*{b̴|U2 %#N2Lbfe"4u0 *GpzU{159 6>I+wQIUC&+ƂT>4*{ FXw` Fq0eQ(!jFڀPJG58=ɫO;"v1 uIjAi`5bjN- 2T!P,E$QE jAᣥ*Q9 N ' J&!I 1d?S ~cE*ٖZޮ'H,$A&X4HTahFT5 P&mL\Q`oQtR &rJ `e >EB'TxQSo;˵GLC>bt[Ri!R)Q7ʵVT`:rn^ ܂0]S 5n[q]ߖyvuhoZW^Qޏ6݃s^ ,5XF?0/-.wg~9/[] aTUX:1UTUkSLnSNSyeYr, A+ߓ-+7 >)?!`$ry84\䞓  N5g&>(ٸthw Vɀd` QUWJ2RerŅX wyA/#>عEιK$] QNJT)\eb+SAQZ:0A.}W?gZח%yQsDu%66#:OQ;U۽}CZ3.π# R!1gr M`YXC?&@6Sq`U,X.PmUP`# ST=eĨ>Q btsеjJv8*=V\sZoO@Un%aj+<0NGgXj *yd3n1 JKy.z46UĒ Ax<0rʐbأb1*؏YKh80bC˶ G lŊC#*hzsEs:#0tܴzQ;R)J0$)P yZb;s ,?-Q Xf F1w(jE~MLaa4n5GzrG1AR1I^@L_"9],ŵVx;\'t`01$)uFg&R=V"AΣY5 652[k8V]Md /@[p ě^  apV8} #0'pK`\yO"m^õSrO05ŕա{0Y%UL+)9;TӼTb]DsxzPT2M9{u%ג9ot¾ ;Spn A~Q澁ѐi \>OroBao^&bqOk`A~k0߯us0pՉ77pe17,X:<¬&s pw"a2Vy?LćȬ~]Oϱ`XrOAa˽WK~;-y.Y^W+xpN.W&j霋q.7gV;~Qr뵛uP"q |O w .js4sw/*x/o1 Ͻ˼w=|Le-ᷠ|pw<.e9G$so(837]8^n%\gB?1o(8WL#1`Z7R.\\M8GGxxy3:'G,+ s?b1;a yS.,t'`8 Ջ,W qߋ0`iѰpoK]~qÞ',,/X_e˵\|Qȶpp)nߋy?Yy ǽGY'tu^>oƾFL|ꜻqC18fv#\lA<7?2Vl0O<;t!|PW-֥XY .fV–9v<|Ëe78*p7<Hy{ZkXG<7~QSrʜɱS"厽a#:a3ޛek;.M/\[p]j9Ϲ2p ^c]aoHr~˃`>F{LQ̼=!\6eCljy1n:*, ݧ%/5\;;3OΑW^{ɏwUEc*F/^et%n/(hteڐGXs&<,] 8k>w%'x, ˸}‹k֝""`KM61謍`Crp.㑽/sc9k~0e Yȕ/T8r2c;tMkyKw)Opw[(/T` f 0Qɍx牰!? |ȜFcpG$\La0IɄ]z n^F /V\ ^EbBUgWʺEWWܛpBAKi{3Ora /uύ0qp207Ygu:6 .QJ\a^G鼗u/`)X%vjg8DOx v-j6u֌~tΝ?C.e_ZGWxK<5q܋XUU'|uW?uk+.Y u|RDen;4倍] = Y+6/p%HsW#\` 6 #2rmկ-N׏w&>[NG̉.(_6!]fR z2ey7p*鼡qO :WΩ~0fێ eJɸxpnt0`<qø>pΜYX`~ϝ1Ƙ`\YLp|s B<̷ =v-}l\9J\K.SXl#qaiy %b&.99p .nwR}ں<1π>x^WL2LWO8ä\.n+u.&V$ n'諧.hc#HyVx`'z70q(#kMn$r8Y Voq1xW`]:y}?̹3H :gXwuN bຈ_ֱվAKG<዗䛀xkE:5ʞ+WI#fsW97ǜyx XyM~TE'mcxkMΗ5t{TqfHNvkr%\usMLy 3e^RyX pW7G=aItjH"Yp.k??߉6;{gy:vj_xwa 0WSEEu^u{kA.ؕpakH@]z0Kdq~||rֻBo[r0MF'Nw9*/(q/Grs'F_n(|]Č5};` v\9C1>m>+[߸`';F.w:ܗž pp zA1s,zpَXVq<`Ɯh cqqav4ي5)+W7Spb^pkpsnQ78E=>̎a: qf k:}e.⻮q$q&V] XSqS>%>m0W|lyxb-z^YV:73k@50?,zqeHx c1wgqԨz%& K0NU x1u M\Qr l*+AD15D2 #G.0Q4㲹B) *'?*m@TAr0j3̆ruL"R$h(fJDQs-a- " ]2qpnXû!#kYc9ا #Ÿ0FM[L",PIV #QlQTe ~8< E} {̶Tc rTQ,ez_*HSmCQTX0JDUO2rdg]qxi]_n+w\+^1]/Cn!r6bw)"PӒkTRZy 8Hk8gfꢝc@a 1P SG(0#1E 1o `!xuqjbIAy_0ǣ0KT&YL-_tZx+t 6K8x@^k+TnAHn8,qU7bON P^B7y9@ VlYBto-cqJjUX.iU,5S4jbl? 4uZ=rW'uNzXTHAԪN<PtnF& B=Ml$BGpX(\ iƋXP`o dl %Z iKGE-FA* `  9(7^VOx]9EE`0t`W @ $O)#L" r 2s8'7Fb"\p>WT ׫qPYh"Ѡ-0ܯ"ggP0i,#a.VuhIk 6IHF! ٤A0uZAd*nRpq pE"A UWwx̓VZ8 n)2B1J VP|ԒS U7.*0: *_V&\|`lfb1t Rbu @4py)W(fF 1Fh?P?TA嚒 `1 9ːŅbRmdC2`P@QºcT6 UQ^8ڮ˨~ֆdUENI ՆfBB TX|+8EWte05hzEt"EC6s}U 67:-r%ηTL yyP?Xʐc Dlx#t,0'*@iP WlQ5UCkq>C!UF I 0 Ac0L* \Cɥh0JoKѢji[ hg^`CQ&Fr+*= & # j;ܤ G1QV 2TC c!)PQ*JN7B L`TDy;U١v”;*U;DQz3 TGil@4?BY7bC*p 9LGX.xkS*b"ՉEВ 3͊j& NM10uHJyJjs?'8*7rzFGS ]kqz`SX `|rWXT( /#qO#땮$;b0 霿YpYf]eBTiY0rQ`l̍N*1, 2|ndɗ.9w'<:neCljKQrc?GYiqQif)GQFZѶʀ=v+:9Y7 5qDf^[yFn:ݟ+:?zڹ?ykg7<.lg^J‡qs*aIJՄ]ϧXLz 4a9'ӌnsrOq?ݰQq] Erϕv XO+’̨Xd8Rj; a/*(c6KkX#[^!c΅G7V0nlɈW$1Oy7r1;13c"^f"MgTީ\움 F9;5=W'\UʪoGW} W&59r[ <9#niFE6&V v9 c=~P=]c-Ό;LHaӓ!BÕŝ5 XeQHې%FOQkټfaVm`O.-˭Gpـv#};'w8vK#i«%n8Į/![Mg>O,[W_PBx}W7Sj1 17XڮjSF,eRfS .B1!Ͷc#.+ OGq=ݸsWz 'ŋ;;.orFauM>} uZ׸}Ż=d06]$73qj8l;~mQ⎂:kʂ;*^#k) , *k1 w95TpXݱimq4N !nST}×GpCY۫H@u,4?G_PyUҸγG,\7-@D7+I80wHo&0< .7 @\[ |Ԍ=;v )+l9zkҵI'~8ǼIQI};^ zQyq xx]N=c]|W̚ȵo@^cF^ y?#pۡ1%X\g\so}/+%FĂIE#YDܓ\^HEܣtiJ8d񍊃jKNJǸŒ)j#,GZ0!!QD=ˆ"^ ju!c9+Ԗqٹ1c\׀1܋V]Cq-Tt?;ԑ"25ϕIuERL1*BʢP:5!p0Efa q*H8T㵝F9DS4(XR{GNȎA81=yvIܾx~WtkSIo\aՒ,0&nDȠ7hȬ#76qE\PB?1bQ@ ڨs96jG$@0$C,( 0qÆBCe|h~ +q݋XU Lq2aƽ'Ɯu M I:TPCŏk ]fP&KG>O~}}RHiiRT 4]Zpo_n24Sc#J x]diTAt,.(wlf<=j!hE^9:9?XM鯌'K3j6*@rLX %z# Ŗ622J5VLEMJ-.M۫}jXܪ%0fP*0O|^QDW*smzlSUv0ӧ^b.:I`Mw4f+UɪA뤻0#ct"rN [zmO\UC\$eeeeTe~uEcEM IɆ&ABё/*hPRPuk u vXbSz2Bf4T Uc"Q!PɀfckKM$!Ѻ&+d unL *39V -G`h [Z]& x R(.ZЦiF3[#9sd"H_ \ֲbXDF<zVXw(]" QR2?Hk LqmUJc(E:)6! L$3))dL(Hf@Z`W4}$2 gU0YyyT5c!F9\J(G3dQ)9ʉ^W@kk'v0/R8*\FrVS=KejUdL`)Gp aDP-Dwqk~3^Xv[` ]iKq7bn[ a*@ӂ}L'+1ՔՇ PU%j>kK#D 6eT 72\԰Cî<9s1ybG,@V( d6/Kט-[p}EU *a.Ȑ^\Gy+L-2AWwX.\eBCʒG8W bXD, P-X" \}~zc:ν@:#*F \cF;tAjʘZRb\x>_T*\>}=2k |Ux28jb2; dKwl\ycpBc+Yc9ا P\  EXXu* uT ج:WC=L#HAGc(Xv>gM8lЂ:U* ;.Qx_?Z$rg&* *8+AƥZjJ]O N3N STb]Is%6W~81 bkE O VBQV l`B`[Cw r*.}DQ0X) JQqB䨥bIhK]`%U #*+O %a9P"*-ݖ}B!R{U l6GwNJ,5ΰ8n窔ZTQ);0'`eA# /FB+$xUB{&+ݝ[.%0AT2Ӹ Q6k4L#cfќp0R&| ) M`36ȇC^Q#c̕ Ё[:7 qquslq(T+ꐒD g1AܧPX zE:J2b ܦa]>В9:  Eθ0s;? SBT^=,j*+04*zC"ODBFq*#ek=b`T BJVhwޚq<OqP`2T@A)4jÅA+L**-Hq8$S uHzZroBt*]n8g>KzɄf~Z1L^`<?^jh"*\8\p]1lRE'-5 f5TVJNJ |H#0 Tc:jmPAfcdAsC   sF,rC˜EjAv9rCâՋܐjgHwsom\T䇇E&HvsU:CѐFzޕp ^}^>z:n=3T2"ȧu]>eA LxJ7cV@1=k K[giHu8P `#psb~2Xbf6z7!2TG\W\6c9xvER@w.>`>v'_*0XW1ԫ嗗*Wt0.T*3ـhpFfe{B3**% ,vk04aa+BG'#;H'gCJ MX~8EF 9N`3, U 36ɒvran.J(<ܩ`80tAdK; xkq&4ƯıE\ oB"1>Jg(X%9^H,I  c056r&'֒O#3:l sCOtO+;ArN:bl3BpTѕ#JuCS1kD@@Fө W.;4BWDjbEU 7KmegK wBVH>`z$̅9?%t8 z "T 1@!;xV `8s1<Ƌ9vJ\%t˥2ec| Fuˬy1S( FM[$ UTZ  H}xbG`Qv <'3(PGHBf3(H9~YơT=MGaù؃Y::2KD!5Q 5$2JcP.Q0ŰVE4 :~jC!#`xMe옖{>YRAR28tVCTMXV[IL|a */uU +dɓ&L8:eI&M dɓ&:*' u5U 9B}`e~7$0UAQkXyCJSMC(ҔfF#CЁiw:F{X/T=X:n]!D0ĉ UU@1J Jq4R/yA?$apt@F[\mq*!"3OdaF0U1  kswM!=] 'u~f0rqUw_7wJUw^ E&hV9Z&tMz{$s']peixE)0qA9`=s>aQzŕqNƘ ʜq> !IpUQ`[(Tf9T*%T*"BjQ p'8i"T?1VNNy:'GąKKEO !R eN@ڏGkEH@9) \Ll +TT(7 .­aM]# 0ՁmhnP\W=]XZq}bL,7raq`oNȼe<11 lSkCeYH1}K"Cw('bBLnTHW 6H9G+ǥQХP h@MP N|y]b^8RbW>scX:c c~4C^993r/&AW%bW.F.`:l>` g3da\H0 C"/;7+ 媀j#zy6ʊ㻖x&lAc $ 4s%q;Ru8\/i,Tkюnw;F>.IE#trOd2$JA~51/Հ(0 Y=TY^6\a7ce%"`z:(ܣkb9HFQa6%Fkfdq m*&b',SqW0-W54 x (T-X5U jxPcf%r8¤JW ܃X- d IhQJ1Ћ5+8 5J BD:Dp2d/P>/+3F2Av?+\^$c1MG`-Q:2%:Q&0 ;*"d'TZ#Q2SY QyīX֢qԈ!-D馓%áéŸ@u:B3mC`eF?>T~(3CΥVπHDxy6 ^Q)є&RT`Pخ&T;rJ"RuTPTzEԉ_͝J 5 )TS F LQ d7VLr⡪)ش}XW(|̅? _R|ȏ^B5kit$TYF8n\VO4Jv Z%F$vE"RPU"Xh@X^2)HfR<хi5m'kNM%Bz8B0*so٠a,H~7P9ζEVuI c]FeRt#ٔ,X.T+iQhd#;"++XW5H q>u\T:j#hf؂9Ҙn Xȗ:g%+#c8@VY\)KrԸ;D&/UD+7{XX<=V)R "> L 6 Ae*ET{8. ƱD M (gtZ!@  bO.OʤŘhQgb7MZܖm4LP TTu)eP㘀*1P^4VCbxPUUTjUy)PQތt;TH&Drq1L褴! ЏiJP #aQ%/2ZBGl=hmVa7\G+=1UpMq֏-"ۍLB*kGctH.!8a3u<o-/k#puTPT.T*U*m꒔̊3꤅7GEB:YiRFpPeC  Z *ewEHpdՉ gДG$ή %-<90C f 5T+W)G:P/j& C1aXapiMm)45T"!@VHHPFi!xpQm ;xt)ƒDHE$ <^}V!ֆ/)$NmBж1(LR,VqM)\`aC ` X5 @yUJg^D0}QMDb,Lka` paLp4i I TB*5 PIIqR!xdB7]msz]T)Q RyE8G!`!Euغ/{pBTP͡UGGj6Ts(&*vzYm3Uædz!К"@5cڀ5jfLQr QH2' ^.C*A$UGu6JU# T8GJ TՖԔ*;UP:RSe"Cv3a ^~9,*gJGw*UtښȰ1j`K9CI}aAD@ N`JLl" +o81x!gV1850./1e W)\/[vEpDE p5D5\Qt:s={F9au,@&Otgƪ58R4kw}Eqӫ&ltbe%! Lw`[wy+\xE`n\v5(N'N'w>z."=#Gr98K:2e91 kA`<"|iYx88ݣ9XGZ\ֱ";n\Ȏs䧖N?Hr5\MЍaL:;-e1 Vt]%EW4bG pPX 9~c;)6sX_G`]]@ɹat X&l?25'k˒%1^)Q bS"-{6%8b[ķ՘ ZjK]MyzF^/kCX9n'kvWXǫy+a]狤5rYChQ6SN9egS݄͜l쉊7@Ǝ\6xG\R#n QvPI(xzA|iŘԑżѾ5KFnEԜQ<WX:]G;IaTD C$b.)鈁1q3pj"yz/&U&a)9ɉ::|bE`@5!sUvKCʏS-PQş]Bfz1§` VsLx> #q# X֢dB CA볫,86Q֘3L%5l|EKm03ɡX|_7!mIt$1!Nئhbf# * !08J-B9)9V$ Rh$3`aZLxUn:2UDaQ 5:| fޤႵ3ցR*a{Wry.TSH$]? XqA%ȊV_tP3^Jwr7:W7]Δ :J (s 1+dW˟嫍n/vCFr bFk` 0v k^ `]^.,^qxj'Vxj.,_ ] vx! %C" l2<\҉-$/\‘qExqQ{(5މ~2/7X Y#ۤ+<[xӠd c6V8dzx8G#b }ꘂ39'9;]GpG;a۪- Di5 Jq ~Ȯ>#nqU Xb7;u q>>7-%Eq_{*|Zejgps/NXܛ9t+u0pZa HT&v L&Der*E\ ~><̰ːǠ, B#fVTUÐ,  "jB06dLRH I$&M4Bb:i[E&)9i<|tQHM-*%E#Za\5*N Ɛh1ba#US-Ci֟.h V0ryn ,D)-w<|O&5 UR0$a(rŠtEDmTUTN֚&&h /5Κk=FaATqJ1ޤJ-E PpX<`c/T+sc8Hj*b3 q ndE51h|':pUDN 0ϐL7?(-PZJ#JߢE :t"L'F~D>C#0Ȉ2.VXs T%?uq3@r`AzbNVՏ88 80[:TRbRUOP 690GG"gr&l(U $2 ḿJNDéHxu~iQRW@v:)2 k-1}#p&+`WqɄ95*G  Nʆ%9Bj]G֘l4"vΐ'R!`./i'Q7L-!F+p005GT1Oq\V*BlTgH}E2ؖ\_t˞C܃>be3)B*b.b#/7!G$,c4H;u;<oBX PBؕ/O܋s\h(30&;tX >ÃFffGN㛦GqG[b'~2mnoi6M!.8NbF8S;E<9q`0>g<393 [D{_5$ =#Zܠx 7ZCq27ߩQO\`Ň1<)wQkkroޢޥcS,r{p_}'6v:aR+Q89.ޜ`b_:j;iD(!a~F1Fr<0qq*W8\m.0ڋ{ټg6θʑI8E&kfslفZS*YG0&o9ّ`"MTc⩄ NUU TBB4_3+C)RhVmFԜ-T ҃1 Z:^pZ(6Vb&Gz+ƟOaӉ]Dapk%#6\}TF (a:qsG%`.0TB~@T1F'(V,JF30'O1DEMqV!- 2Q~#!Pĝ=`toHv %eu'k18"T `° `끺Q8q!o#o<\Ƹ9h3,wB%?)EX3Ԙuds̀gjݻ 8quD ruƑ||7$/) c03sp(Q %s~5ʜm y@낸 VȕЍWA)$$4[6I 9]xo\bVpr鵢9QZ8:&…`%K0>Edsj8(!8q<,0w2&)Glc0ps`%new+XE&(Œ27vP 1 ʬFUfZ2WJ 7 \$e0Z@?ZJBa#(0Wr?\0o^|f4;G[01F,*$RX0Dyr2,.cR^xa@5s`eW,#\BdKpb:5JٰTc| z:0IDBL +0V8v;+Sn7NjTFPnkHֽ;8*X1J#U*)Vl]9q>qVkF/W.cd‡Uˢ% c=YlW54G_]PY0jĽGvu;sV51#q_+p}tfPV0YqssOA )j|ȗr2mT$%NT8cyX #n)CeFgXcwb#q{nJ%Jیu`ҷ8\L) #mcL h Xqvy!8NlqlpDs_|UG*^rU~e1(A&NW k4V/ܱZfS|LaYDUuL\r.j|Le18cQQ9D2:!ӲM,^j%`).u rdwZf Ucܣ|/<"k^1#eEѪɷ,Ɍ Ie B@ejxLfaZ3ܯ[o\r$r)|r%Qc3Nbˀt=CcEW%T>&I7'- FG6bBE*FBtS'+,0 <;X Bvr#  9"!][^X@u882w/rS'YIN"n*R8\JjpVKcySAsɹˏo}ɣՆ滐E2,/*6F 6O4PW е@g?Fxv&H?1j'^ܐ,\Hq_@!07VI/0hm²%q ɓ&JCW?V0ޞ8;unahd0b[|zikm ]irKR2,B- U"򏃐 7I-䜧U$ˆ`:oOoAB rd  8]^g'r3ckc/_db'*˾,Z*A_۵\ԣ]>tW]nBMPUkq^e܅1D&Mm>ewDaNM{.IbWX(FVB`Ud+5ta޺TDE.)tmΜ0.3IjRv2~A*G0V@LKY]xx).8Pa|ѩE^xTZwyTI<\ Nv:qsT ss㒠Q]MXDdyxziŌ19i ?t=xqRҟp?0Swm3>+­Ž MDD ̴Q b%ٱs+.X}u)SnVn:㼧1ف ̮ k'2UVF5a~K9ᚋrͣayrf ̮+.^NT, KY_T [te߸ϑ'`W>/|QNR1s+d'snʁ&lߓfjl٩96mDgKtRf6gtEX=ABq7eȘ\rUgXYA:rzPsh0[Ŏ>LqIx!l^rg}~g^Ƭ/wX v&NAC=$9)D5x텍qLNJq5 i8 n'^>Mrg's"\yWaH7\yV(PS#2cOGM`=f߅xSY R3B6NY|cxzs%c.=p?ۖ,_.vF.=pEX8ŚxWZ+ 74"G|XHK{WBIf0kՀ#c\Y M.?LMp]NWH`N&fۍ;w-Ybd^ .9[)u|v%0 ` +@\C^uqTzXe ؤqw <5ǎst>Kkas!xJ YQcD6nFeYv T *@}G(6%bO_Y~pҊ.nIQGad"&8JLZ+ey,& 7)UX*pFrHLJ 3,T HP8YRᲶCST%M!N a *PBdW`C^yjwk<ݟnLM=HqSח߹q *xzIQQbn ^͐tK !r v(m0JF7P9yN@2Eb0$lOisÊGj;F*wa[<@8HeQ m(˫E)P=NB B t ?ֆn1i9 Ule\J1c*ٴ%Up)Xǚ:J1*nu8)H^P@5oթ#%P6f+#G"#`Gq_;KwXΪ#u0c~x* @v[@޺ 3V9Tz|ٻVgpZ"dxv5H9v߬^мax^ U^=]c _\,Avo 0TN}a0puؒ,]wqq]G`1XIa5aP ς>k5y2XwA`ߦVwkw81G eNd; |ee#+/#YQW *+ {7ђV;ܙf+njEˌ GBE$T3f1`Voq GzM`+WZhpUQRu.ᒴpRyWKVPLT#V3\ +b(+X325CsIx>5N]osiXgyn1XovNO2z`BТ}1D 4+8DSŊ{$GmSDgj<qbЬ-"c?B•Ow2pkdrqڒ8P Gh;4+'&1fDv LY if_kZ ZNwj#)W 8;N?yµ#\ȗi[񧂸K7nL$Z3fGrd^Bao /mbpi`a75)9%OiCrSSiHAQyi€ǐMj qzC}Ҫ$\!a9)Ʋ.ԣ!L%/)B,pd ߊ㤸TN }`uҟǮKt WQ, ׋XXIX~-Z)XwR!UrDr:B×HYvAvq6;Zsxk*4\iƼs|sǸgN8^5M=Q *1VTSPcQ}^<H#ԘE/Fʎje'*jMcRX'^ 0Ps SAi`eȐslZ}ŬFʒ@_U+TO+I༃7Ԥ*Ҫ A)I"j#)IAp;Br\@\ m E| 髅*7%C"):! R&]Vy1(( F$<Xm0Os90rڠ/Y?A 2#0a׏˝؟YpwyV  A$XT(;u*ŋ@^01p!`GШjM7#'LnӺuP͸maffW\?.r_M1%2bJdԌa%= J`E` ^ H~8BdKixΆLgL_ po *:T/DT|j<O sbI# 4{yF҄ \kS"*)T7$/qaz+THT"S!Ǽ֚,0CXғHlẊC&I0q0CprrZ9:I2ɇ YN;D_XYҢFFjG n IT2 'Sy>Y/\PCbqa%`E `țQPe "1U8YUF:I(3\sb+`Ep; aX`ޮp1SL a* U1UJ5e9Xނ:+jj,,/TD0 Ndja}F-OGH!j/ʊD:n$CQb@\Gҁ9X`@H>Bg|8 CFN!4rBch# DC*&yre4AU6)&DC25 apH2hم&A%զT9_[L =T..ZTbNR&2.[h69.!)Aiu@AFKD0:54İS1QTDjf9L5'4Aƃ  _ˁ@eܗXo3B*L1$P`U\ 鱮IңӉ*f@j՘@Qt:ѰXe[+ j>ЃhhxY4rq*& F> RqJ}$^3\ǬuM.vK}YM?U aR˼P kTpǵ& ҫ/b)D"&e$pcRT*%ە-3gCGEBB ުb^Ql. ӄyh7uLډ +u$?SR p564󌺍"sp9CmE}x{"9./9:Dt"#i-QQ.AEn F;wL&0pŀ1w בLfIRWs\dOVk׆|1f5A2'ﱒ=󑼏7kUTRCT5`8!ߜj5KJd됸KCy# ACN0Fwu./PνBNUcO31A a^ò}#pnťCx\AP-Ctx\= 7 'Ccd[O8n`aaP1-y9ǟ#+щ ,-أ,-Kϑ ]cZp*B1|P2qv1k'2( Gma!ʸp$# ;Kb+!9G^&K}QF*7; N\gysÆJjrH|\ePԀXUgw~G\z[f.01 ]E30e; p u:x2umɱŌX11c 4R<*,Alo1 /\ \u#ej㓰܎a4e B`VGr|Up_BAT@=jArF5(POj jJM- J^q Q0pq gNvW/+Qf\奼  };tckn=cu쁌P]pĄ_jE@=50x Xq792!GeRmBґkU(Bjc= P pJbR/Z#).$j",DŽ(FqD3=3z]X#HPAH"+RܨHHr> ^TZ_fDqU;HCuD@]Fe4pgM|ȕ}m0Hv K|J}ٮUFdE/ FhEPQ殅^OPXⵙ* {Tpq+\y 5q@{98U5.. rb^##wO5"tsS!qΪJ<_Ë^uS{`n$0ٱZqe\Q0QZO8c&1 k fjq\Ȧٔa'x/G,kG^|PJPEYHR@v09s-Pt.B RiQΕ`#J ,D1 XH`)BO0z3z QYcg6D+vHrPaˮsw58_1yVsTOtU``90b`4yQ\p V/Ge㽰چ] ( Y|]R%ƴw J\8:*LUhUU*tU q`D8"a2©$70~NX(Iǒ e4lo+e %G`r;M'`/7Ry *D2$aIy!qzZx45z۱1/ pj@MvsGƢڬP*T-&%& P4`F)B1Jb!U5 nP .!P㮡ũ.vP,V襀W!F$PYop=!Q3%D8?… fA@!f0bY8űI/g_;)3KyZj+{To֦}|{\gXRVX6-Q NKWRqNFmkRL =;^` rw࿓y,`|Y{%Z؝zTNT++=1[HL >O[r79Eva_+\^g*!a' )S@!y2 X U(<0 Pk iiKYFm2 @0Dg!3&Nj {IRCǐ(dk+g8=nPX&aXYIBj%i^GC Pvؕ wKMCxDS!9PUX] >Tnϼ=]]~[K (J4+D{ ߗ|nI7[w`9{_?BJL(:Td5MRc=0&9H:a"#D5#JM(KIuOkxJV9[Q@c“b/8m KHhYGRi|HQ(l4Lj:/j?0i)|P#r$Q۪qGMmZ_?YG VMdWb+J0 d f~B4'2,U+">&p W q`6@NeB@jE4لS[?N ?Ab*ܧqF3uXмbcw6*mʖ3N X(犢&'qjz;t^ʆC -#zC>^R7>bѐPDs`ȾMeL;Lcp}aQ?&X k* ?09W#2 ` ;񀋾tΝׇE2vbN9i=H둹J@Ss ee%{;wEX\Z+yETWq%HA\Jd_|痉vT vTQ **C. xߔެe@'˕r/q1.;Z xգ0BOx~MㄆU6<V y";1tRXja::4\PiVGrd=;uʹ6SH_69YȻbhnHv.4V؃2MJ-Zk6K2ΠO<~J^0p0+%qF1q\\t&2kTO=ATN\/7&V Bu`K $,oFb C ISrRyt6"b_ EbpTe7:ejaŃK<1R(?Ch!%' )P@1i.(IC 50!7%?-8Ҫ$iQW0*0nRePxb u,TZ@ T2K20Cn 6p0$Cݓb*QpKˎRRВyHa ca%Txod(&)yL.V\8)옳/ɘ֫UQoԘLhHZXA%5b)y T# eT Bڋ}IJi =BC"2Cٽ$! o5 5'UldSNƱa4rUQ00j S 37f0 XXu袿 <jaq0%D\9 < 7+1I8áЮL0b抒}9C`|w)Z2U#?T5c:gD);sCp*! j! ۪W : ;f*q]DЪT rwS[4V.[nGt qwMRaTt%f#4/\=g.Ps<ܧ(jl|Q?F%ԨPByqPQ< 8j̦직E!3Eʷ$XyRXx:ku`.NF57\.-=-sSo@Ujm箈:?& ek5w 2X!1 H"Y^2M(28u6y|>> t%PgfR%چ.}KLx ]cx>XG?.NHT'$\a j*Ua?;UQD"B T q<_1O jHˡ˾4𓩩xlo^83Yα.* }M$TL[MP^U BO o⮠[̆j=TU&!%ES(6ʖ*_pXESzϐ zPT*;W43JX+7[5N'a !zK(cz!@7!AC9hrJR  0)KOW3P(XPX 0j?VpHӉ$R!o_5I ȀZ#BT6 Lu"A1"[N膢0k 5VqJlJq]4 V!}1îq paPp0n54@se.r 7=C)0A!R:D`"vf9la,ԦGMϕYD!)|"{J8 F2&tUe>e%\b_/"Jc/nΛ!b1sa]]j͊* :UXO;yE6pQmT 3'VpD p*V{kt1#iO X"T2v+pwK:))38AYYҲ#kNG ڡ c$s7dvAȐ20CK0&b~Z2D ;fLu&br$PA.[jP`u2"&0KYŸa%.|-$)'acz?9JAǜm,:f VW8Ne-FcĀ pxܑsO ;2rכֿżݘѬ.. rab|NUjTjfd5cLQ+sx>C6>>@X~{3cTQ>X\Y+~_$# L*CG++kD_#YLpplJ/1X ؍i$ 2##xX\e"1pGO8j;qp62eU ) р|dwCxl5UchsEVFAZV-ɸHk^˂~EE hZLel p xÕk _u:]Ǽ8eE y/ZB5aJb{J$:vy~|aYSm8Tܪvvv/_0"Ab"cX&e;Vs"Cx8Aeq[`pt =u|zq~"5@)@ :. pGs=ha֋))dO%{N*1p{t:/5^W\+KI>Dt{lr\p !nw<@)Ey*-ִئf;LS7*@1ȍۄؗlxBY=`]c%L+5a xȺUkJ*yNUg)g"]m:0ƵxŊ;.3>cx{Fr^6/d ZjpX ʟfdVs.sN+zqܰl烾>ǃfn ֻnZTnGŐ=vF7k"/\qs=ǀG\ }'?$\,ܴ%W>yےY0wD"j }Ĝ6;Oѝ1=;Xǧ2b?X Žwc5ܽS7e6%9GyzEܣz )5*q2KtٺbCtZ.E\-p,SY. qd:w?(s);Cgن6"!DGq/01pu8ζ-t\Xz{:#*nP|{>b|iwK~05A"q8m9{G]-+-ܤ&V=23RSa.@׎NN݂~rF+x-={ } H|uy˰sN pwlӞ93 T  27s~ aUw]B#!Z-Q'`Ό\RI|Tk~u%֬}~Ub(\!v̀~&[rŋe1x\!v\(X=X]jCQYƼ_7s" e`=. }ˎQhd{%8ٝQya  qgnv,`x dĸM{zc5ד_p%.f|8^k9.}~sbZ˗bx\7s&`5)P00]x՛44rr7/W_Mmh|<ع?\<7ޞq5 <(.HdEC҆\jau)4aj-I ꫛx!R=,\-`?'Ԃ2KJ3C0OR@t= Fk r*>^Bݳ[)T4tG0mzDP2J/y& &Z*$Dd(urv: j2[,D* T} C|CS4!-D%W4ZU U3 :RȡQA⚔E(`Ü514*<[ʅꉏW҇e!0!CU  FNR1vTD&oFP <-DRB!&"Q z f3JN9*KᤛJRb?D<iIȢ P'Dee9  XJA~aMR኎IQRpðii8@NUG6޲LEBxt؁9n>=uVPf=+P ``0S'7kwQ`nH⦢*^%Qr亓FE  .;qy6>#C&UDpF9mKEpJL02qvHPCUBK QP*۹V' Gxa3G*"ffWTc rG}U] * `ɤ?$!òj|Τ5GNxTa>C5C ݳzm j }}6@+. !;? x@dY2C:*8q ^BJ"QBjq-( LY4TJR.*iDŽW)qW0Ca0C fD LRТ810B1 &3hv=Ryb3ư(s# Ay'U"W,nfpQKېH0*bksu3Xa ш%1 qKz>;T6qm\\ӹݕ*MEBģ5.Q•t 7IjNu`f 1CKJӷ^$%QP?PTrPm'vCG*QI 6=~ЉlUWz%$V3s9* T0-A ܩR8hC9ɀ늁b=ԥPȀ? S䜘 %D5G󑒓T58ɡ' R\q$v2~L AzZ~PHkR yPr@84|'A%'LN=I=`y0O0*^6<[=*-5HH8Al\cT,B \0P !%&PDOl{6T_NZ[ܻo<"HF#aXn:1\&;lpP^R29)DĨ J-U1L֑`J@9<ާ B$ 6/C?䪢,Ζ$%‰Q^6IpJu./J@' A oð7)NzbJj] U*FBC}CURsLE8PфEV9[*Ocû*!j2.`fuY՝Bh@4:"1W,!  bܗ9]E]x0wA{¬FP[\tQP.T5-<ʧ%t"M"TV+O RG⒒|qoM%ѨZFB m`cxB7I&d3MQQMO`3^R.p9-Cړj# >Uu&)j 5uPČBX0|Zsb?]Bj"MlFzlw@)R¢+-qF"0,ړ,( >^t? dT6)j6El ix`*jN= k]е !@@Bc9sBHѰ^ 6"c"'UQ;ԐjEhaB1^?<{bEQl!SAVJ/j1Moxב1$۝9L 1Ǹ{F1{;gvtc7׳!*V~[t#'#&*X:?`0(Xڡ_t"F9Gj~0Cb9QK]*!ޅdl2XsV8}T?QROEz1 ( &E-<2(Ҥ꜃H`ZK.p(`0EQ@ *5 P 55,و5.3|p#LHgzoFZJuu3n逕Bx>MC9CͦUh2n.%'PV!WfuuN6㮵!@E&*pFa>3 Ҫ<%D N!kd"Wdy 0#ZQ,,?+"j,&JqH(:^O\SEz7TPh TH x"mc F*lT.pox ވ:*! Z\bZaJH v djutR>óD2He*p1k)h R\Dc}#$FDY(90"'1,u uGxDgSÎ> GwqА@pzRk 㑠 cdTq=(dT{8#S[RUt.=iXT!# u 85E`k P۪r < Bڴ3!$@GĴ兡 4w _I&?&nv RJfyI+$ $U,y%Y$k_ 4M#X3VsuFIhPmZ* ˶ꗎ*Fᜅr'"MyMjj#N1 U U XGx+qD5B)7jQСr_-/\#q$24ddi喸_Ab; ZKOA24)}AU]'u`-`@f *0JmZ T:9Xk鯌J[ՍuGlfenktX,66\a&! 6"!Bacg JCӹyieec`djg\1آ $ΆftæOY@qr(:RgbQdTB[2Ui̇=G C¨n1&0/`b\B:?@4_B !;WN;aa0B$*Ri. PA-!U羙j"+eݍ!{F#+#bu-VD*Lp@LBBJx_QhF9R?#*M<ڇjZq X-ҶVcEQ!qti\c%R38MRqS>:*C+BRDf9N !NyK,xnenJN()Q] kÉDA4iFҳR uU)! O`d 3af@<H-SjF* DuQL9a)jEvc|{W0?Iոۊ>C r C4uHI|e r4!2j Q-srrJ5(Gvѥe3sm.AGl#gSb_п6':dFzU8@@ 1=u8 u#ƩF6, !\/r `1x/$3>b3,T\KآwX(ƀbE1r*#Ĉ ХAy*xgF\Q`mR)Q"cU#|8vU pπW&?7q9N,lz\ x8e4esY[o)0v Wc"Vu"jq`s@$;aL $!F8AȅةD>LsxvpגrY8{y{?X pU,'e\0K,ce,Ǟ:L.N¾ x^V`EaK |:%cL#*1YmL!>A\". DJv5)9ZZqvL!,C5rk{k-O t$"JN4ҡÜ{}?5T*)Ntjε5*M, ֡ݏ ΊH5PQM 'AcIxQbC56I`yLqSKAGrYjvcI tTUxyÊ h &d}.8v>ΝՍq9dUa0a[ |ZBnO gH֮~ #`Ȝm|?o`0oL%pfceK#W\]1.aB\ffQ%[a#EK| r S[JHҥ}AWZyS56CN!u /RA^6ܨ /tJ%'a8Qat4>8TIBU@FEሆAz9bXOm1DQjU*0&\aTB{ED-}0DY/U '+ ?#!&LV+=k~whCu;G"?s3g2u$xǍy(Bɔ10r5Sy jYсMFU ja\v j,-B5g%̊%.}\e pBW0־?'>lW0\us5h\6Zk xF\_``[RG\_``e q./.иϞY>$ْ8]lkk7azCXZ(*{z-K<]r_.LNIek ޟ59$Mu"l"cQF1^EÞ"R`8#O`@ei 1t? r /rڋT}$lfsz0pga"yy_V'h@yZ‹sHso=5.tk6`ȹmƘi]XT N\lԙCΨ!񻦲T5O:XPbG?,3b!UL0}K\"ޘrik x~,tW#}R!p08Y3 T(:&:nT Rp-{T˻9XRMц ]e3j-&^BH9P):`92 XJ*o%OcRv2Gn5u7AJ!}C#ITx$"'R.8!qBC>ƴ 3r:5Ԣ9w_SO7<{ϰ=>Qّ}n3QT'Wc2D2RiD2D3%yp4] #Cl0L/ĺȐ7JNA=%' @nAthF &H@eJ*u^Tm䗖 q_3r=gε7'9ͽE`qjX^U>F^\_^a]`g1rO Tl准N4_`.c^_ {p~X&jArgyuL)=ͻrtޙw>'xLJfv67$c+rrC8O-ruNY|hƒσxnkfglsohpisrF<$qsgwp~Yo7:t& pj\ܑ<ܤܳxnNn9jyv.'6[ 3qt;as[3c{CK1xWnFE/Gyێl%7?5384#y)9qY_#t+{ <7fv7$c+&/'@t/Gyێlyv(Y3pt;q͏ lm .nHǞWb>I`G`7(Iu9xn~kfglsohpirF<rr 3q℗;͇fv67$c+qO-`1ː=;f .w lmnHǞWa.A_U^7'H 7?53984y]y=?r.q˗z@\ lm .nO<nB k}rZ::|/rlxn~kfglsohpisrFr r&o{8NJygX8ӕܹ/9ͦ緇xn~kfglsohpisrFBkVe~uUxw1-ͽ3Fv95QE*TZTE"q3'ac2(]]`BJ"qy6"I\PٌD 7U<|`k^~$%rռX~mou_0/]:,w OUב8R*V`^ߔ >/5;W-M@uH}qDoV**' W{A(nsM`[ySYk|m_k_jkOt wqq_Q`=Uc+r-`5<d \}WHsmh"eut@8 n'$@) &,\TzI^3ECd%EpZXAn=+N?$ va$!")Q{.uㄊ1Yf+xΑkoGnZ9X=k/2:0'C/',KĮ` XWTI5w8xRI28awGsϸ^y1Ϟ낍B0+`B[>ׅ4:gVH3z8" (Qw?B&M3Bs|mt6Tge46Vq獕 8#<Ba);6X#\ore+#(|[X09QK:FFbew[ uE#Eцlr.qx#\>aL (XAϼt# Eŧ'|kEg.=ej\ #0oE $v-Ӂ Ng|UıqVH0<lΝ9rp:Ȧ!+FHiTpR`mAK4/z#v,q/R&$LΖ ӎR4!1oRP7lTb={nG= ҡCG*wJ(Vs }^<>|xp $j%lԪ֘#BH/U2ļ=o$V{ʸ!p;z n edUT bP|]' 5Ojd[|[TSpIo_WWYSnZ8;R\["*wf/ k( L;xcX6JLTuBžY\iW{IԈRʧBPH;QPZl@D(@+R Gxbbjz"/tQex:TXbnUPJ @!*hvI\#ɽ  *-9FC;nѐ1@=GVt\c#%f@ 4S MmdZXB5/Oc52D'- ! `˕U1P?KJ#]TmU+V&'Pw̄/PtO rN_TKv%Q-ViHP>=9^E Ʋ.V3>NB.>' L4&u/Bj@i*BN! !bҏP -PH KadvJgF1)aӫ/Bu+JF(I*H( ,1#r]H7 pDfD:<yv{j@HaHyQ609ľQ3 nM=g U z?pj/\ΐGwD]D=QƼn +nNM*6*!GKpQpRynpybñxbI1 y0DU/d IvaGA+2KM;pƀrldE&p0 |>"%t0n@:rG1T®JATX:BaFP݇rcT.sqڢ8+PHT?j:QDE ?z+6Q1qUJ+*DquI. IqlGr:9\wc$u$Q9 V8GA, bkW6#k_*[4GOR4Â'ޙʌ7Bو|s]b3ȧxNOPL[8K uu,\Xˑ8VXupXG{枽p}<z#*yB1@MVN",0ppwjՕEޙ%:7W==pmaB1vȘvKp +G\ ~xkghJu𗇵JXa]!clp[ XNdȫpyǍHkgs6&L7$DzV!nB]6cրj7 ys.&sGA$o;swh $ |QR.ު=em<?q, ?ϻXOF%u\(*?scel^S3 (]]bռW`H[8&U i.- 6^oOȘ#$1 O:Cޖ'`|X.OQ'8KGDvhbuYSX-9989VPeT2vBq(;Lpn f!E2xSLl!LvATs!_P$o6kp2:JZfrqtq'ɎiqIv+UhS84/X%wj9cQ x;k c KЬ #*nWQ+b+dW>mbAr2ija^=«6 &\YV2XТYxdK= kGjɖ!,  x,ZiExBo?cՓn ]T2w) 7Up`%@"*ut7(S\1 M\c *5V/CJ@M1ri`Vh,]^a3Q'P'5 y#8u)\-B9euX]\bN;[drGc֤GyTL-.\X)XuH!=Ndk9h)Y+ TyY˰;`J?[OitZoX<~xx|عo9sEܻ%g<& ԃ񌑆j!ey%rҊ4Q29aI!P_Ra:Ώ~QR)ǂ2)ZX56٫*f1 ܰ CyόbR ԀXd{ T@TլD)P"y 7 `^Ϊ@4qN'JmT%Jǘ LqYo:U QBqV0HT<9j"J yǞ:x ; k9|,  }{KC00x%D:et0=QxBbr! ,SBQL: R9߶<: etf _ H'9 J?̆J/TyfC *JB8D<UUP% `!\aJÉ@ pJN6 P$B> bxA;BUU<}T6LወBH̖D8@1)9@:. IPĉIxMƔk(xUEPR#Iҩ(@@,Ctv ئfz(lۜP˂lKbѱ&-u#GQ@N%bu5@%=En¥e pRxR QQOI3‰Fhȃ@q8? BzNDeBMCje:ɦ`Ck> T^FÄ T]ӹ{lBhIC7?*?# T7C#>V!:"%& (W!!݁cZ?` uQ;y]]QξM-<nJ*I*& a%&#\R 5eEP2*NQb 2\@OP@u̒0j,T1)IhsA4/uф%L?TUEQCL̰?/Հa hUI"C,UԶeWwxA)cAk D%DuB{CҘ2*lأjt*Tl?ʍx8AgV4uI"N/j.'(U\>k7#)"`0ƢTVa!4Քʆq+!?Q2jUBCxT~Z>԰6&%Ü[JL/ cG@EF!XuPQ8ZDF`Tv *X~TRFCi:9:ڈHBf#-F}aʢd&QIX@.~TR\sj$SC4"sXqUyEp 2TI\ۆ:'ecBCMH r_!RBB.8r/*&PvJO~'QUIPP07Sx Z0&F@QP؇UR0"%D!i PɦDUD4l x6vM.*@…xdi _ J"thzvzZp۝_ޛ^@VXm*Jn!X2?«@8\Y>LӁ\baH$uFE!m.!"epJOpF6 H70*TPMFCGCEf0# d j=:oOn3Yi5)Lj:"NZ_[3xc?To9ˆ1UG9 Y"5 Ъ8OQ},Q6TN\Jj]Q2SzTmShW0T!S3+ @x:ŰaR|ȏ^B!$THmpM3*A?N/%&aL1dRFUQ)*NYpQU tU (FC jgB&Gc1~KPNJDZIU&x+b $:aPPF޻S p\suH0X @Řbfsa;p8*)  v%T5c ͋* G@ ʅdfD´ 2A*" pF1L'Bړ1}QP3ߡQQ$M r(U/4.T61B:#cP.HwxsMPJGDPzw |;gN.㣻gŐ|/!Gwc!?&wą6$cMHT_Tp%)KrZ7w|Sͯ=7tuX`{XcsTz%T*O KOԐ:qC 2"`Q)Dia )0,-9o@W mHCg5^,?YL#2y(2aOzU(@D-> soaq5Q-ᇄQBT!Xf#PU@מQTX0+L1ԃ@'L8B4@ G Z=u=Qa% jB~nܭ2~Nh&<( 3@{p'IHIIB$wQkݒǧThzq㔨kam2K!C\A$frZaF -8f+ɤѼ12 5ah $B8LxEw~Xe.8rRq&U`d0D 'a,]9E5iTYm@cA\jծԜV[Pd *"Yb50C!LB"Yŵ['K1UGO"dI2sH$quPuB`!I tSjѸ`FC'eHfAbDIPnVt:S*=QT.T'EhBDRflkāi@I (KjLuM QUdˆ,ꔟ  C@#C'^ 5r馲JRyv P k%Q! "6Q+P$5kkgAjѮ{;RxUƏIj"Oܔ%$(n*M球Hڌʩ>q}UЃU*&)!yHRekiSR|1ULD@GV4T’ y/l!<6@j@ˆ-azX1 ;sڤC_YQ%R"rTC)TD U!߼ $dBt93"HؕyB^3#]4,R8HZ^[\#ܔr e1_ҍC)QkR2 5H# ƴbɬg!d+܁wLcT (L/u A !95+00Uм=soHJD(5 `ە-3gCGEBA5PҝV*(HzцG jV3`804fYxJ߄nu/ Pp\j= Uȵc{ @f".PFHQ{U, ud6o'QkՖkQSVu4:s;PQҳF7<ݖ.Gt'#T4eCт 5ܺ= )RCb\5!08k%xLX3+/qԈ%@S8 *BGX!aZ1T['p3 R͂f0y1RCLIÄk3Ki8HP*^*I3nk I\;Ӑ#OJ'әTO Fr͸,p^2q|X .6=#`#GwI7x\R+2WAa;GePv` YⲔ:21UUL&bk7&CqcҚ3P=Y=\^ L֥]XQ*{/Ej&  pd** U *DyS`Ir B8-H[.!cj7y@b.yH5ZJB KkC'(SAQG@CC*dq0h):l )1:jah" nX8xu-ӓSZCrxu9C9Ia! C.֪9Pgé@ ֒U8p%@qwI@\/7)oFu>?\yr̞ .,I9$kB])| <7W'"W"J~-Ǯ'S=$Om#A`Ə\ֹ."N- #[z1R.ShepڰS8^3i  [K͋p"Q%}.N~wW㎆o$rtG{ uX[7ML+|^j~ŵ5,(g%b5v/qlb6cU'j[p1'kp+fZj@Om'FC,q 0ǀdc|+|^]hk5TAHG(I@4젓sc\|ӗ.`\\qvqqT+_)xӒk/4Tyj2 @$\0o #.~>XA4Cɦpu1*\\3"48I0zh(KphYp@*e74ex0Y>iz)z`Fj aª^DE 0 5uR`֕ @N9cKOғLIǾ2°d5 q SxϏxVOT0BWMJìLt< FSBd8TO7L%́©O`+RqA2 qUI"qLuš3崨d2!MB`81J͊`e{jx=K`w`x~2Jf5/j< sN."l2Bp%4DSMM4T"@3X5rO'˽Jb"K<4rG?%U AQ$UC*­O< cYqޤٞ0U ' X'Θq8qx4d33ϼ)*٘)\O͔d$c7^*{~IXǀ!quKaƢ_.-(iq`lxwhIj ډ6^1Ҳ#qK0 n(NJ_ҢDq)QiP+@9NM8QN`j煣bBV~!fr]DuhU1z.0rz+ >Md>M4V]yJb)ݎ1QQD0>d6 A1)5HQItrs1 z= yėz8/U+6ǣ ѭΡJAA ;-`BOJ`2' A6 Lf\Do u!evHt5N3(>NťvWr2mybLn;ZZK֜^,b&T`.>/aRcJE1< ΁4 Rr~0- DQ4xiEq r5p L1t1 1$GnEB\H]h7aīT7h35E M|u(!F{v~[ ' xCUHg=E2q-CJQn PRCbͧ@ua-*T: Ђ;=R:dmD>TQIedTηxkCkB=!٘}UI-.ZB}CӍ5E]byQE Ly"63r? qUb<Ǹ9>Sm-5X E.)BTZ!1(0GuRU&Kʏ ܪ.pW:H!+GPR")dS%DtJ# )DsA|w\m OA2(9i1]\ptf5gK_N3S5QXq$AN `!t_܅QpǵE75f u &8+'nH:h"xu, TfTF`+ 1˲h JLC )s[C\5ⶉx} a1q/+!QV)$!C4H9P9 N+2C @{p/-䎙a b `?x$^^O^:/xܪRgk5qPVnǩ0) j4-qΊ옘 +P!X*Q5Ih%GpҐPc=P*n|3jNvQWJnQ@g-PU&TړdHRhHA<#C3sVRz9Ȝ{NsQ棤FVJ(-J`!XȉPGa gP|>~Wc$X.7RMA4yaf| Ǻl<= AxUBHAa 6,SA1UpaaG^^GiwrFW$aC5CV^|]GS]&6BatZ҇37TKX-ry4;qvE-G6Q InRtQ B"qEКY q9 SX_ qB0/0 fWG7:˜ *] \`N\RrVg\?ż N@v*M)<Fpߑn0 poU9Sx *U U. \` \a*0)(h2`jf?&&1 &T)L zH*⊄tBbʇeX 3plДFH%p7྘RO&%`DS ( l)Fl[ɦf J5\rKXQs'l j8Bu_αJ@s@ÑV.V9$:HEk/ tY\4!̀u͘aPXYR"\Qf+S$ z+Jk3F PXI*K^3"l'qM!%qƒu>1?j('(aGz%awsޖz8IU1?򭉜Z6qG.?\Y K>`u\Z\b3bN*+c?=s7.ĀD6 xlqp*L]6*WpY]DqAXcREPڵ:ɋ-v7:Jn3`VP\)_ְw|i|kީux  ]|\ʐnFs6X# oZ|~sHrq#xNBoph \y\Y6ꢜ~:ӊl&P3I*! 25@QMžp{4YӚf:2!qhIDBj* a(aa2Ou8֡kgCڸɕy4&񑢕.>.P;q߰]JL|Ñ1n!ϧè&AYA('6*voR[tQZi;JEQȀj%B/O5S}2VRu@qOwRŐ-`!``LАfbM|n00,v u3+Ώ0e#q'`0/EF^ILyoȗӗP@O/ !u{SbQ㗪 rC* ʗrLu N&k01*G( SzBДDUDJH*!*#TMh PsF t 8/j mR`yP2d0~%VIqt4MO^-.-\}v:èi ZTC8a+u (\UYeG;Qu@x}: ػh"d^HadN;=ØNC2LM C:6)pӼ_鈰0XM/+@D8C@X#Pj@6r0n(;`*! 9# gXT;QtG rSIw /E\pѩi*!xB usC8!Q&O"34aM?b!:!. xj]M/+\i0ox:԰ |\d/Ԑ߱^GaOk(o\\Yχ8`HUQo*> ^p )ʑHD#X+3A ٶQՃR0P2d]c$r_SUo2( :@(نAݓ'.;7Q V"@~L!#  [RLP 1*BJUL)BPU v \B*fʗ bφuPjM a@:w!9鑎!qHqx\T)$!hj`ԂCcTF|p29a]C]ERf5,IJ .Zʰ&q]v܍ru cױ Y@=9ri tub 2qԊ*dU*%ݣ pzu0wusyf2 kݻ\2F8.`+`!a/`뼌S쪀<R fSyIQIY2}SGRS5TXIR%B%D]/J(*@QB|VB#d{")!kO0 ssqpU5U Qc9np$LOaj`CFxiQf20`1ќs7V"D>H [ QvT8,wdF;֡ 3ƨD0ՔZTb/"tc-D;`W[3h8)-V3ڣBĘmoNu1{ppKzK0U`QV̗93cZLqeΧpv#klUcl+a{+T.@Lv$G( XKPz)o{[9\20 a@oTP"-D.R#^WZw+q]k߈ƫXJ@ BB]\s,WF`/RxZ+ր\YsTxO9¶Vvk s00BڌwW^p5 M7?\1vwGex!aJTx[ʶJ'-\^OqWvhkߌjhZy0+\ɇ.{ݖz؂}Ѷ$k.F-XXl:⽇{V#1vºsPd 0 Օ*-cÉ֬T]pAd9H`0PAK:Ympfmd;rTLeqh@6w4a/ ӡ*C5  }Jd*Lr bT5Ql@b3TP n:lj.X^D.ʦbÕ`5دpvkoZpPC:F \n.?sR>V;umvO事h1d(ɏQMe0OBTC) \,A JH 20 !8YEQP#T6O7$j25  ԁBѻڅR0 TR1>88* M6BI@S4=Uyۅ<GؐE `gM@_SF%QɁ8[U+T>\r"y: N uEB&|[I^J= '(/ ݪDOQv 9 :b5\66NChnNweinMQ̥t7@]/_0]֪@je_pqKo8<"ȋ6)(C&0n CEy]T u5Gs ;TwVdiшJy799Q+U'?%&3R)%C_ Q d\ڕ 0 FM$hcT7pH:6ԍRR'mBύU £kӓɥ BT0,' ! 3oF4#rM 5TTs0GR; r66TR^Mъe4g9F'6JAz)eBY}-QYl%nSc!ط#쓁 HY"!=:kw(#WcDtQ$4M^uڢrYI:s3Z7CDr^43 {TQtz 5"5$iS 2ю$Q ~YGBqd;mR A rrly}X R#eL!^ET3(DcP^)-V了j~LPZ]CRH`ȊhAQ 2<57 2Cq3u*$5PS/E 9. N,@sD%|q5HSEbLjzRփ@ʠ.,qixgs"HJe$(T^X7)@Nrc/ | /.@tlHA!, Cu-Є F@QLXYnl Ē {H85RsG]NL0[(T0Fji]⫠Z G݆KvA bP:$yLcW<[JΛ\vŘ@D0QR:7jrJmCq}olzTC2CF7)8 %TZRB T[X E@ZL!> ^D#@=QtV ҡDULEjx%[6ba@&/JElT *(訖 (X"R{S, ƕt!@b|v$T rw"9&P$ʠHFQ ^C1yvP5L8qo2T0aAKMp; ?Bx`kX67/֝؃=#DEbt KlpLm4pVܲ} *+XX `l2,ʏQ A=DU=aX|ENjRrD$R 3DNdT)E|䠯 j:<8RC Id!jc-BE$'D5}d]!o*PYqA-@q",a5HJN9c Ӑ8P17=X򙘪X~Vr]`DaI0f|u x1w$;#H{VGܭ` -?A;-ג<FߣAE@6V-lk6OmgcY- `YTiq g/REDR#)$~P}Q?a+kmfPpP;%Qc#d9+CYQuSsگ'*^8H|ٜn_tGx.w%X9"8qd !t7ݵѼ][+qAcg#@r5e,gB<-Xei6y>uoϽUϋ|q8s\T´w-q̜ƒ~ek-xwnog5 2`,|(ӺDDӅjHsd0PQy2Ʋɗ3T>0Rjf9]QΡSEִ^+I f}\$*_{^@㯌|p|}{;6TB/ccagsrq70¾q7Ѹm!2RG`}M?ޛ>'TȇUz@Tگ]66v)&5,˦a)1Tq9 ]z!MN#gkحȽz ':H uR`LytoyZ"){f*+Ld EQn溇u\* 3s"U,aK9E'XL; j? 6[ TNnN GSR<%&T,rD&BnLPm)1*L98%UB@a Ds}ʏ>:b lzB)3 0rlC u-*CiHU X6rItb!!I1FOC˰LȈ2irAKOK,' Iಘ'x kTL`q9\eRr* NB&C׀'j8$ŵ9N Ђ%4ʫa .f E.Oʊ0P%AY0D\`-8Z xQrT5AaŚ7*PMr]PE*-**~JAd@< ,J}/PUuM \F ؅AEFHpʆu$B\zRCQ !lɅRZxRCDg-JN:>)P+PQJzhv#QH &). QO^1_4kvMEs*5r!2?ff1]|6MxgMq3.tW̪teSo B o=.5F*LUO>GuKDÿ,\AT$0Ghɹ˼ɩm7D|_#)~| =@w 8Rzd*;,.~O;d/`09S'0*sV߂hX&lzI>.䋀_&ֆ@Ҫ %'T`u0?{!gL$Ѐ#qs7Ǫ<*U"pVHb*` 5 p c\p+6z|kq ݓ |7<^3FMl m N {|zV~^XKED[M⛁AT쑁ƚlfӟ#*i-jhuS޹O: 8w(e\]"Ҏބi*(2ؙTpk.%3w&\f^kn7[T4TqW.q߻Ss+],9`'uu-!fp&\fEB:ߠ8xf\}X Pw=Ft[q0vUO32#tÑ1]PP 7V))&ŊY8Ο2`6qNg:CI Wk&\K!au|Y掐⨆?a|Y掐,5ACzCСUzwNe xϊ5UU  !!E>G~>9_gw~\0yq@.?-DŽiSk? 碠k.PkI0VU71o@T@F<@qVM)x|fojȯNa(,=`48lE!^ B_a L5 Xa1F0tD%U"ް tcԄQ#{ӊоD\M+r7ݣ,qoC5̍*)| ,8:Qpc%uvS0WeUHqe[fmqr]EkZnj&*? an X C]WlP2# p|?^o0zXEb'/Køu^(e;9;M(3 )ƬDZlB5@ܯ%Cx4-džZqRH߱ tBDc(J6~ԮrDQW1ܳO9 ]5@^VGHD0<<TT7^QS5%TG! *L§OVn3 D)?r2;JMĉ#sy*)C Rs+t`j'jT#Ԫ\1o#\VRTI Ӆ0^aځ@,8Uv0jʇ!RC u$CQ/x 揄a%\r=aMP &{€WRk45( L˪E{Q 0uZNJt/ua vW +d/ y]8 JY WTk/QUDZ2BiV j>:: )@n96O 2}(b9L+8? gVUQX0[PӀ9b/UCr1|G!RMIh}F:JhHZi`UBϸ8sZe PTZ{F*U"ڰJ8|%2`y@Le>?ZPqBZ5O,.qyi@Bc7TSM@nR_QIa D i}&l0D D쎋t3e0U4SxR,xR JM ؈@8kdRV < y8*F>):zKt\#q3%E F 4 !ԫ0ǜY1QעKk'j&ᄱ.z8]0Am'5!]NxX%0Xi2 rCx"`# gre^+K\"cq oӰrcÍF>']z8 U' %{dj#%? $jF1qV$8njڳe%XAg{L% rGl  l 2T,㴌cu*T)xDf ʌ9ҙvn e@cy4``ORN+1xt?!nbՂrw%K'V1&\uj"5$9}{vSDF-I#)FE0 8<4{y9\aJs&tBɝ2g2g.52f-__eL˙vx20K^z+?i1BqUXQ>?Hq9)ȠR]){ˎRZRVOIJr,aR(QTp /P(ގWFf-qEؖsNyf>{OT2!'&xp BzW| y|ʩj(3E(Iqooxtᑁ?1S Y;Q<1[xtΝ?\U!cT'e먲 X \MXHP G!ȇs]̑}UAs1!9I鋑* z|JP8T<#`\ĨkXuQ|$*%ߍdsE>a3ùs9JC#Xbbb5 KAxl%i,g@zPL#*0Ph5lДio`zbxM 2;F9 gWD*$ e5yUܡ5J&*ɧ(2tp~˙9Zf2=9X$)0JO?Rh DO Ci }8kRX-<('iᰙ}6f_kKM$1O p\y*]F6bѪz):L^H Rπ 8|iUx̾$Áxlؖ$M  ᅅ!#G:uhU~V1S@;QX qbT2)2cjfYȬ"y3)Jnpخ2I~:;eJZ:¼snyW>#|by*ΣXa jef@F.avlm0i;*\nu 1% EXU֫zq 1R19w? jѐU\U2F+~lMu]N}h>p.rP|) qZ61MMp ,n//k1j pz85VNuW-MM`PIrJ<tN; Q:0Ia$^)ِ`]~]i9g)FY}`UVUe,\J,ZHc⅀dž}@1Lp=Mc ;j]d;&la?X WUDZ1/(Qv .&~l#?a@kA0|r=rJϵ YY͕+':GaᮙYC"֓kpu^%pyHǏJ97w-OCx0e<%_0g.Œ_8{Ϲ9qp OyeΞbSj'lB@rU`oыPN1݁bjb qUT+Y{RM2)qERmkußA`+nT>j$t60+ n0YU iw6+A) F&4ZqR/`#p25Pb#"0RaFC|rSvC Ճ&:. ,V+2lhFCnUtBcY_XaEHFFȅ@Q`D*e~h>#!G#9q5Gyϧtwn\ɼ_wG\U|Z 7/8`o#cKN5y&ܕUіdyJpkDZ Ȳ+`cY Zݍ:#q<lt} .F+\Zv[y[cc&4``SfG3.E֐QW ɕa?gKGܐ+h:Ħ 0\+v mn1krÖ;sEkg֛W/7NDnwvlvUm+ \-l^P߹oy w}!S.|NQp"o}C,#z4?a0b/I`U1/rd;%Yz;7 H`ީ?sa> %X!qŗgO;=2pfj0=[K^= X~ΥKkpم  n,8cG";\u<|넪Zxz~Q~1Vύf +#p!!XUVV ,:zrH = p [1E˗FkX[<Jnz?ysq.F:%M#_=5u6O:1ۨ]r d~/vL0KALc 9N卾`[ \ ¯[z6+HGv~0QaBh*v?\F .9nqo%ݻy/03̑7 6^Ʈ4tPps` D'Rc:qELDEQ JOj!ƒEve0mOrOAܓWyl)Fqbr-v$}aۉ"=ˊg]عs7]yC3Ӛzm>1E?'wTlsI :]ާ[O-sWϞ H py01vMhh_PzFGD`p ]Cr7?Y ؏={aXV$jKlFe^;g\ X&\%ӌ;W۳Xq#w3_*` ǮY59/82gs7Mv5^pƿmϜ(q(g+k<;jGr͞ONx(v;w0KlRyX+w<#JEgV˚yGgp1tW` Ș$/VE ܥY8v.uW1xu80c+_Jh'>eN_]ռC$z"8 `` uӣ#zʘ E|XkW#w6 7v:xߋv8›\_o9D+`N k$EX'X(,K"9_߲Ft>Iwt/V> ˃ӜbB',|׀WF?aGqHBv;.϶uTuܘO)tEaGm`s0Q m}}+}(ScZ` Y>z_&ܛY:!מnf{܁n}М(6nf||Luv @\ uמ>@2<+dNS3N5qhnj0?`V!v\=or]ckdS-`n*1,/=v Evs^7"`++x%>y ?0 ^;9[wN-pv~egy,Z~5hۇ+^g tZp"O:i:. ^xμOl8:mwt˽ǜ<,+ˋHWMn'Q.ZkLU`.kRwz X\]i(6܍Μܰ X.xKw9QN 7qMʾrKѼY` F^qq  B\?` 㐼:˼j?ܙ?qö 1. 3:;* `sW!V3xoaׁ‹Mr3fr_8ۦ\̼ibS263K.󥀾0g mW. 1\厛|L͍Qx5`r=20cBY',fUݑ]cm99Z:Sۏc ?fgv?f&8[| \P+x+p|s$G;X?F68MzxE'S^u3nuxE_!oɸݥqcb#q̝Þ8LMcM &sW4x< vh!*8t~}xs0a 6u.Ö6(s.܍6EFv{]7 z9r?%\U&YC(5[zolqCNk :2q [=\e@}徇'/|cծװo^k=.y7`ث;V}d%YU{<8"}И0'OHbN0q*,g`c8wJRXu0;qw>.c<Ř\[X>^%cOsz}8 c{Ѭ [/Ay]QS 1Rh&gmU{,?C4!-<R &S`mX*qzJK(ƪʋJ5.k T'(Y5C2@Ȋc&f\Eyn#/" _5L ~w w,,AJ*\V9G\=#!˲b~;uPYx^iz]ԋ fCMR C`GT9EԨЩjMQMy\xnT()ajajטg۹&Ԭ41* x.ǏO½dJ '%ah%%'x8L'aKP'覌<HL" XѸՄ%\H%ORH 0J x.AS#sla<e Z|^*MSv &A lpDGх`m8L~ 3/ Tn:s j6BX+p02 TȞl"D\_1Kr.*7&~1,y,8 -rdvL!-G#QzVEtn93?QFu,{ɃxߟsY3 aۦ6P5 <)RpKqÒ5KqzԷ;(͖ㆵ%n8nS"Kqên8la㌕o/sWinGM̽βra|$ C2c n91Az챁3S|r08fJޖ_lEP K@,=vreBpJK5|EM M ]&v!Lu&!CIaX~\x1QFQҰHuvPMBx8> JP8$\:4yT/G,`2A[l}61El;9qbu1 #q02bn0ˢ7'Vd|t&:H=a^AnqJ>nYʌ"X\a]=T`Uc_99bʙē4 B(7&ѝ_%aeRúʛ W!(KԦ%IՕ9TiBVZ34t23@G#FH@=لPИ~FqYxd>g%]TOCJJU hQcP8L^3%9ƊQ˵FHjďSQ؆k JF;zI|;+тٽg1$H@g`(F0 eN!c֠P/q;`.J+RI@QEpNeGHd.\Y&$(TzC+[>T=PXۍxϮN6܍ ؒǮs0\X{/ Yk5/6/\Fxܘsc^/u'ze0l3‹pD'̕8.'/Cy.h7Pɑ0}e/3/X]hY x@`;#Pi9+,*x"LZShihfL B V6KU9"*!!CӒ`OXXA\ra*ITC9E)<:ӎDF' xm<:__ K+IDt J ^M4U=م46Huji=aCѕV8D&ZYlTG Sy8!Yq\I\3s_/spŽQ#*1*j  a-5"v8$fbOahgbÔA2MaT1I s$ `QuRJ#Z 61 Mt\eqP2L U%^Ja4nNND{VCqb{:4r/#ἓÕ+KOh"w( 7bTR@POhIbTۣgnJfjp̾7ƼwwU\sDamiƠ:gH*͹XbBѕ;;7*̻ .ߝ w.-][s kM5K %w9cXMIEМQ}Mmi&Gb_b.'t Ƽ 69ux'Y%(>2#ז2XhePZ߂ rv3OeɴYC5oW8ȼ蓮ZZSy"E˝N8c!-^y078qk%2HS眅 8\JkH!Ess8xxGrqHR2s #״kMT 7U _ӑx]hmGS>^g}-488 ʜư(t8*]7:8ͳ:0@=$#y  #v^hL܇΍-498kf65" ?nvn◎<<Ƽ]P{%Quo'"㻥j )$kԉʡr+[ϯ%) gI oju#ڲҥ0\aɽ!srZ8Hgc$5 `EU?p-ꜱ߰cJ<0{7g#)lx{R8𼠠*%X@yk *Z)(!yN"Q7| eNKXVMwۈHd>h#^=I;r=ngjuG*>(U8n<܍VgQ2ЊgtQ8ȼպ'QɼyS;.p/ALviŸ4<~=Bs^z"`WM?8l6Iz MїDN# |e6n7{cPY+vʜi&:<`{Gw|Ŀ, o8n?F(!NJ|E2sCXVH=Ou[ nӮtj[λ2C! KR/~8UN<^ԌfG?Y=i]qH2⢑uōՉA5I_l|Ǡi*BJR#P+kֲTQ ]E^X0OucQ]D;Vx7 m 4)W qxb5Eז) ˤFxt9܋tnŌ^5rLzCzx8D]86mu⮃)@t  -0xzbrOhFkS5yߒr`ST VT#NCj`pP=T2X Xl 5A:.iƍAc:Hcrvd v(k;\Uy0 `' e 8c=ժK.%/j uEMjwn:s9Hd^q/hlrw)ߑ(OjGd'Hpq|pnNG}^8\iX!D[)FB`a$~EvqkM\dAsĖF%1-u M"qg#;>v~T;#J5 oSǪ2;6`[06c<8HQ ߊ8*;ر|W.|ŗ 7X7}V'g!Xn$`GRpV@meilHĕ t TP `6.bS5B qA!$XjEQ65*aE-6~$=L ғHA5HO\ਸduM #V 5ޡ j yj@lzqa>wtyH9~o@$# \fw|qQn@`B|"'p K,0L."씘О ΂RyHCfe鱻r^>KU2T0dM*."|(w<н`/FxvW<,T8q玅%`K&X!VîrV<\.2u"J#spdbAFq8fap`Ȑ`DV0$ ' @h2%C$t)%C5b%DATP# <+%'jTCzZ{.#YC HR/E,TPPk2+F*tJUR hI0̦ ~*7j* UPf:x1V*!rјZ lTԊUP@D pTq uF|lH@'X[0V8_t%#ҴBrrbw:TԆB P QqlA0YQ&5Rq 3R㖰sJd/_Ӊ!&+iiĦCvqj @z)㣢\!"jQX)3EIY8h#,ӺTC9*6%[Dt OFҨ4tbY)@: n|uguI٭X~QHE1TH`Bm;UV2{^-ݮs: Jԓv:[ XXd6aeLDcDp: 8<l *g!91ٕ8j1ADH¦VHFu#,sa#,pa#,wh #cccc)2yadfe]Ndef.+3GJl2XsV8}V>xo=ZkV[Pӓn7 \}ΪZS 5prAyJo 7g]|\jS`[Z00guwv6)Uf&8>ٔ)`f3q첽Xlmp{[X2(3wJ<#*a%&$B(uᏀZ+`t@9Æ'! @"]M;=LTНƊJў'Jl@٦%7C)^OE@dHQ3XX,XE1DBCvڙ <,K"“Dp: 8<l *g!91ٕ8j1ADH¦VHFu#,sa#,pa#,wh #cccc)2yadfe]Ndef) #2ői9ajA0^ן|.+3K(Q`nHmBDB!pP19U2`dˆrB@L(f /29Ԃ nz ?xs P!L>2AD zT]L6}/Nqaߎ2 -<#KO$=*"%*E|+!O giK\BPgyM=MxD_*{9T@;Ӻ[mI/NMbnY#Ĝ]ƪ!pb1Z\LfO;\nTO4T<`x\˼ʜ}>aP&UL/Ye<^-UUF, *ZsUyHR+x(3xuJnϪLu\,tZI4eK>g\ut{o']ᵝ~4{g>O`I%x t'&ܱq6kpp=IS.e&CD0 n3aɿ͊T` 6aNnFB-$ Vm }l# 1X ^V]#˱Pφ";&@F=w&PGݥIʆE֏QڔJ@I G^6*82Ⱦ5pbe# T u _R|wz U` 73ṮN5a'ޑU*%-P=W^; Ռy&1G;ڑp †W(3mQSST .M>:FC_bG Bmnk&hmdܗ'q+Ía I6)ܨ͆U^lS9P1/7&szlT ë6mV;,DUy_RU893`}`.ޣr-H=W-ru<)Ufc]4=D* I3H/GWxU9qVD^;%]I;b$R*V*3CcҽVQCͱLY]=Vs(xGcI#`=? G ֊pk@څ .j$5*d0]g y-K#eBDi04{9ěXb(L;k@`]%yg!7;eԴ`>(E9@5Po:*~fLMp׌PXpXwXSl:W-@XǘC.XM@H!D PdT `*0,`/ FN1 Y9* @ lD'~O೔BtɧNf|eOYJe0G>xb^!2&1G lI \Daj!H@T.w/ix" 8NOPU)I"\!OORgaN_\Ga΍X T7iYM¥QSM-7 s1r+WmET0xapK@2gr$?$}SJ Zy(BHptSˏ8cߍ% PTNʻY|oUfB争h#([ߦTȁ+aˋ'aDZs LjɼQWyR\o"Dr@"d`0v_MAT2|Ī e \oy xݍ~c,ۆ0~0L-==ɟ\|q燾_- o  ׹yƥΈFޭ2C5`m^n^7x c/RT7q.M/u8%rv .<.n2ySZV_3xg+&`XMy|7s2'q,V9_:M||RmU҇/aYue>N=q C0ˁj K_y|%4vn.K0,-Ɍw[_߹s /tnϜȿ|Oؑ.nDqW{CZO"KEOW]ce.Ӓ>r/p,yI UKs[=Ӑj2|_Yiqgfk鼟4ڽ(jl`3j(' ;CXfLJ⮩<ɀ7.>,TjgAꙙPȪY\,鮉*%u0huk'1/L{?k.yx ثa~Muqk ^"U ^#+x^#$tLj$ubREd5%\.HC2^>9Fqb!.1 B$LZ>6`n/y86Е XBoUp+TP &3B-q1Txӹ y1|jN̎0}RJ  l=AFň,J 0 (A%+AV 8*WT{g @90Q(`Q'AVeឤUP-!Q2#~*X`j0L0ꔟ FW YΥ!aۄ". ᙏ2UPa\b'\B5 d7ъjmJ4 L/T'*fb 4NEp(TI;9.;Sªy81e ݇.y &u0O  B;F9Иz1d(AL3x))pf%`7 `DU h,)Qe&| mXu6&ºUFVϐC Qj3 x!D\[Q bEMqؤi9B#:%Q&P6T2Pp0aYakO)'(aD'ヲT0B iJ!"E*A&LFUHѐ~K JOP%KE$l" 'uVKՖTˣ\r24! MHq 7i 'oQl -Jʊ [!q!gh U.vn&Er.dbRxѵ*Ac U(k &ℴN>pL?JW,1#e0PZcHq"x)8t^@&["! Mm>4>T~]nd a )E >+20C?Lou P+Q0r ՠ v:E D U*Cp5*hq3&a d 5#T: /ZeZn՝-bDpuLhU=+ΈPa*A~Z$S'0ҘAld`vqEKFÃ\RԚJS@8r73ldfb@V'2'QdPVjCBjA|$iE50A(F*P:K* *ap$Q^OUag{{``;lC=uknxT#ҪS2B1+ɭۏoќуK83yaQhTT>M *1Wi'c;&f )>>B#BpZkIH6' 3@AnZ[B!WS7&:ٴKcTE3}cH?1ׇ!B3sL0$6H#mg.3KNFñ!G+5!wP$oc\'I%K9[C51P"7=UGA\u#q܇ (+AIÞЀ7>ZߊOS-ڃ?N[ߋxYҌC d#P.3Lvϡ>mBc}X2m"}"MUbgK5|s%͝6lgKhV|7.h*͝:v͝l h s'(9\3lٱ#,w0>G/a58f4\ W ٫&3Ҹ %##ɴG^W[AoIr+ZjӰ5mANպ M3ԥϢXu\Yxw-BLRxl;)'ËqZ) lq{\l`ng@uݖ ҚTe(1*x2!"D"_!),8]YyK܃!ޱϕp5H3T X@yIɀ^;t*ѱkg bmD@Q|pG=b# iq"wg5I?MXS3z=%!ROcPv:Tː1?waB%A:@fRb 0fj!KN j9]ʘ<栽`pD;w^0NJ5wĠ^3,8TL|KUp(Ƽ5aAa{*a "FV 1X.u8=×dw7aT UQ˛p1!iɀaD?ԺFkVk.2;ŬPe݉ԍ+DTRVG Y3z7Uk؅垓1%L؄˨;9X@kXoI.pX.Qs_bV"Is6EiR&x h5 o`b nI`pF%I\Cyjr񁛐yҰN#A&/]R X]l] OyS 8ߑxˍ9ZXM\.9ȐV-/Y#e`qDzYOxxYd;lŐR2pG/dWD\}a6q851Ge)#.4Sw<*v6J*1iLKD  ʨ( r\$} &dk_;H+CbyUfʇ̗ $0`PO[]髊}^<>|xr:A!ЩD$Ɯq\k<<{4D^99m{Y|weqa6!Pְ =Yʌ#w #gc>qP଄&ˏ7bS<-;֩+;/*c$v?p(W-w2dpj}a$XY5F5kdXΚ\.bG5*6W$Y޳nu: Wq%qoUV>.]x̝fƸt^ݦ{+ j& TK.*/Ug}`u]B1ÔI|$MDjр8>b9pjhZUc2qppm\DڂKU1V6IHX>m2`W#|\[twoT;=>t:*Q= 1Ƭ{ R?+lyQ>xn9*0;2K_,$57~F N:k[nIt]B\5gW,F\1r\F u dž1`96>mڤj21p`/t%Z/Oy^}Jv\XtEfl*JM' ՁoV?R*JU\;O` kUIVx 9 1Ǔ893IcNJ۸Vʼyxܠbj|;NP]S ~8Y .x"&{6sс"`uļn!Ò0Y6(i,j*/o.G)pCǹ`sΒx VX8#Qk @Wb!8 (ǀn-;Z+Qޮ0N7ao,8@}$ JXWwj9>]1;vBA8$=\3qf ;+ WceO"L*#+:^:nddӋ8ٹ` u|J|mL1XAu! ӺщR u^<.X/T">փW7 PR$:QHPg9r'xgn< ȎÝa'Ɋ_$epCerykP8~,~y*t pp Ւ{!uxpp/d;៰1Ʒi60ɸH}amXt RxFMM@8 #!,~=-L|T$azJckÎ !pBNlhǥvۊS0~BT%3Aa u'P&j܏Q lp@JO+0bPM¤tw:r/{1P4T#$4A? 0Fp pG5ΉaO"*R  *CZVj1**BGDhnLJ9Byj d 0iQʡCq,;վ-FT1T54P h72@r4t@t3CW 鰀*Iie-0!PCQtEM< d8@u5/d(r!$ CZajH MjqC!:TwWV*Y*@ yRkR8,RsD%D?%D@9p݊𶳥IJ&Rwc6.gj,!LAgpQI .dZ*T80`h%)/J!40u@n"S C*$ !BrQn~, C85VAu#5k('RMeUrB**,GEkqWV2.p6` qD*&F(AC̑SfZ;%C' PؒfaJɇIPTKȂQqr |aHiP4ˈ@QJՔ KQu ߣzZy-9{}Iآ{B /;` E@ 'H:@VeW6 Nˊ}BFt IFpD[B(`%^90 <ӹf8)6Н'.B+Q?V4e8;ozYnW@Gz8-oϑ~Gn&~'a c z|q~~5%5W'?tnl>9囫q.pY4ݧ n| 4r!DI`ŬKrp͜[< qǜYՓq]r7Rb`p?8 7a9x=.// #G0>X\]Y3Aˈ+yWI.tp+o,PQ=ݪBKU5poq Ja;VA `_\pEzK |n;\Hd\bˎ έ BHgv~DRďHu!˜}\jk&tna~9?qCǁ|'pܐƜӯN˘^ȷ=ZJ0,/xZ` bKH1ⴕw6AkvXSn^%uv$V`NՇ7t%ĭD?pj܍| <`]Juz}x W.TwZwckdau)hw3NTEb-Ka[9q*(8PT{ėe{΀@O4s2V%2õӸ;9I qX=*yZ\ȯ|ˏ+ S'M\Mz\ݰZ yW.?%rO퀻f(\t.e.+tMˏq2a\8E"ֳl r-7a'.?"~&þ\ehW"kMߡw̩p[lQ`-]ռ\NV ypNJyNzk9I\k4`{xw.+G`8t1V&cY`>A'*u䒩烾aˑ:'Ci8p]Ұ_%3׏]mi;1 |W9ˡxUN! `wEiÇDXlχFr'H{46oo5O\o>y w#;8 \tN04ƶۮ {u~緮7.1}?FrQo`kxKw#A~6G!A.eh;5]xϊf5je>v\0գcV`1;TW6&Y$|bcCt|w Qkȷ2j4q^ k*M.4+]c/y&q8H  CMSOOX-ʜ8Ϩ֝alFq?L:0ɋ1*anqۓn 7$W}{g{// >1 ^Rj,u'ѐ[01܋][l^ɂZXw `ZܙX./`^gw vk\uo )\ےk'= @W r0qp+p Č2uȰǷ6\0XX],ܵ\zw q`x%Kr,]Uu2; Vt:"D`+8\Qu%^g=$v9c 0}` 1?V ҰB(-H#d&c.Ec 8\u8ҴA 9ηKwǓlD]3$)7]`EϯSVm>J{1 0dMGzK!yF9tG"\뀿vr} l\p6:` %"tU` 8ӛә5u#/b^':-.vͽCûs×ɸ#|p O^qs4/3v}x*ڻ.y W#`!y@mϓ @9q2<]%ђ7 =55.\YL+笲r *r91$39p3Oag >uȸ(pXCXv3]] 8g V \BVSÑ3PhroƸ-%/.B-7MɝRW0ƒXmn<}'vnfov^`g&6r<=~wWIlQFcVpŒK8|s_ެXqͣu+0XYzn,j_ƗV nzprJe̼ʷ"Vو˅XSDZɖ.56>4;996nmfGcfwΟpw9c7lUlS鸟tG̼8tf8yс֮]3 )t>;=o/s/ZR7򓢃9`wJ||ux g9 $fLh.dfDu˼.4Tz VWMӸƭZp ,/ܛ{p|O't6K}w7uyw|,%'Roi. !-5 qmg;oP)+8),/Fk]?pu? !&(Fx4ejE !е!WU”q+$tqC+$rb,991ٕ:Tb+,qLjVHVHÆVHјY#)F2G& GHSed xFedf7L`Q+*\Q(45?#r>8 h@ UQ'WY pwyal׍pFcIH }]evvhuMwI[ ?\KOKׇ⢚6pX&#J=s;-BsV1 25&~2"a_ JlՁ034TL# f0{ w eqhR<;k=2F8\"[E#rxW #tD`@LXۗd@ab8k\O]WNTAոޚxȤqfdeZMfde `+Zcq%4Wd=ndkmwxꡑ»* Cx rju a2'V Z(9&\q 1qƢ:7£ ֥P/5eFUE\:"I5(9t)e`wPjVZc'?3rx# ?& % T#qDu8UPʦp'O JúGB10M-PҢ3rD#0Jڌa)uESB 4bxR}2fD~!ET.T*U m꒔̪MqUޕGeKa# o/PpP~DZR%TC%fd9}T*0xu.M8_ G#M(/Rc}b[c{EtE @T]KN쀝Ds5GDeIQ| X :i.Ԋ\ 2UP|D` UB:SP@XXe؄ q~+8q \Y3mEEa@/ 6~$,$Oeci/[U:_q YW@C꧐ еjVTf c!d{uL:Nb^ `%Sh*(% CSpQnr$ZB(f$501 Q v8JN7!RKO/y0-w0<^ˆaJ#!^ ,mS%TL1= O2MĐᨅp])*%JR ʠC<4੝X` mͼO7q3AnLqNJOIPpʐp$o 3 Zq -@08_eg.BR8) -)5+A IC8 G\α @*uPi`G$;g+C2 5KhntƼf`DK=TnƼ2[*H@6/s;[WtDroۣG"t]N<3MĘ*XF`F2xZ K%c*l`T `PZVa/? AaUXߎ,8>;]SS݀o`"Oda`%]-;ZV/Tᔌ`paLTqn +;fDEICNF1UFO] QEN[MB*$8c!Y$懄^['\p_Cz^ ,**+ ԍ|is? zwArtpQUJr]@Y0C@FC9{ܧ iwؼ2\eߺq1+?Y̤YeC094  ti3UR88~17DžJhNW,cCRjcHp7+ )q}z<qL쥕ܷ%Q ~c)Xe~?_0 0#QΠOV@YQ(PZ%X6LVQ _? B0Uu5ǎ,h/Yr Db=`630(OR A(qVxf1<(\H O +h&T)Sv [H){x 䪊Az @I5| Ђ)]@}8 ܷrNx8ߌQȀDD$#]Bm_Eo=o )`).a9( i\~/:gh6I}WQd|qNabcb y*`3QJ]  ¶#?qszFKP@8yU?F'\7B';s炕#P8&HdƮ( ":Uǽ3yCuO6` ޟiQObV*yـc!My tbH⦬|_Xo~/sNZ0/h1Q(Bq1aA0IܣjxBY.1ǡqf#z8 Ii6>Lu)L ̼q%yG0FMr?"⋶X CL5A#\*y 6xϵC+L/ܫNp%Դ U?#+4yxTb T)VH!0%67(C">/_J䊟uy!Ur)fgxCZsߪVa=#[g&qW(6SOrUDT5IqKG C ;e 8J,DF(AᅂȐf RZx4 zJ j0)C%'aAGGA?V^'0/Z*3GjX m+C5Q)PēSHg(7F\ &FD);Q="x=QX_K8BZ 5tbEFmVU6!jf1U T I*A5B~)!QC*#-F(:!Q"J_᪦Vgzl0.2T( !<C#j\ZS(8(t Ha¥ݟ [ 4Cܨq|Ql/pΕI=Rzksn\qY&|~#KF$mQ 3U 7 ]xTkՈAo1\c& D'T@k_S#Tga0on<ډp!zCe9?G'SeǾD %LbTj|5TRaG .jqP6*QPMQ%BzB枀,I ( _6։V2$7u}QY!BbJ`mΧ& |0% WanPC`)|,r˗[z*`]F%ƶbM%Vs-ahmAx/E"Ӫ> M֧.ҜJrb K!TP?M@($,k6YΠ&%̽95 6dCM3:|Ӧ6F.> \Pq`9j uR]M9 Tck{sKS;c{scCkkC=;ƜԧEf9rdb3ƝY .jgaAk̷brI[Υ͝:hcq%WL˹-X;ʜ8ϧFdr.t1'a4t{[.c -N:pO&1ur}K{LR2q5]J1>@Wc:ִr͠NJ%;a!\Ɍ|O.o[ˋ|jt7 2N rTٕBTZL ].S4GFoS z'U .S,j "Cv%ll, 5o3y' Zs}{9 ]k]HZGZR='Ϋus`u՗%V\ҺԺҺԺƜqsJR-uuu8 ^_/7 -ږG>&]QI _ɦzmIuܜElfFff(3DzՀвߙ]e˖.\)%2Neu-[//'Kh.\neK:_.\S18xX1qb ֛e ;n&mgCfqmO7pvd+ _,Q9krrbtE#2q..4\Tn5PЈ.M^VKLyK;{=r\Pa=#dU7MT* Ӽ>A(9}H@>.2FFԻ+ƶ(w&/FeT= 5qԻpqW1J`si=c%P_#Mr{/-MMthj8)kLs/LX09rI9 :G%A\t2ua~:AEɖjIa r2ڱٰkr(,XV`@7+K =q 6NmsѦDžn5"!XD!8=i'UБ?063=qO_k^uZ_:kFy^P\قD u4rMr+hMƭ[+ts& +}LS7\sR,_#Q*.Gg+gLjGi5xn OfI\~#R8{ N`cf9] X8xL*À` xJE5[QʒrJ-U94tY0Ơ=BTZmBRhX*x *Ɔ4yE 48F@9R QBM)8tZTC*" UI}*|TA2LI"BRM樍&ǵ< w88trb-że‡2* q8s.@q9T~!Vl7o  W _ 8c_)_~E_5~f0W__P W ~0Bt __Py_V ғXsq,`6D_#qLBE1B{j7py8Ǽ{U!xn?Gt\{DG~7 >qWI֜ "B¡U <Ҟu)X 2AeIbhڪf`2&,0*Azr>]:f\hT=rQ 'OI0 L Y6 zBCcEKz"%uJGq#PW̠g-!%*U7>B 5W^RI K`@ $G&(%C?ao]4e ;=V y~]sc  T>ZHCT0 =>@xqM)iZRqKNhJ,4MV]Ƈ{9 H#+@ci-VxjJUTr^@RPc3wdˋVbԮt`Syޤ|ʖ.$*fz pf5DPGq=J)Rr. cPɆPU@JN,|ij9)wgjHsY_8enʜՐRML?61V=Xs| v P#3C*UY|}Zŀ;`..\im# x38i.&:Zq%KO%*05CCE R qG`A-<ؔh Dc C qDL R`!b&6TkI2 ԓ!aB.Z@F:{8C5cQoOV1TT 0 /foMED0 h\Q5tճZ\Ai1* >mcU V4LME`GD+n5T`iETBL~P ZxxКi 7(EPLy!^xT7}6@w4eFaï T/[gXU [$F>\ܰe\Ql܅PQd!2V*N`Ә0l5R5MhIPޠ8P&ADcPͽ05gF%pP-Ec=I"_ZqDG@EhC]P"ӡ@P:0@0^x} |QWaEEfJc2CZˑa zj T+TT~FM_J>D*Pp=j ʇ{3v 0:D<R4`@D&n#Tp"Cfw2"ClꔀupX  @$'A%15+l0I<QC6J!qJ10NvI8SBGnZ&9up1S\Pu!/XQx*#ԐIpEiu 06W e!5 xn='OՋV*Iü/c,V?N_JՊ =3`5sbw.qZ.Ȝ֮: CN=ի5"X]p1sneYSċYKyc35܄7Ykr}Iif zŖ܅hLXVNS{,^75,aO]|ƬGIrO_]|xx:1ծzŕxx`ճmyKcMzWZ/c ]YG.RcmG $1JzǮ.F aW4|s쵴ϗPV,U^V.PÎIL;:IcN|#{_vyܫŸH+ZCk?#r}=$؎i6TvLiyXNFm`n8H"Uzqgo! 4\c[^y!X0Kp!o0_2-|X1Is}`+Ys'zMh~JKb <'rUa./ |Yְ逵Ū)0ŘUgğV|er8#._ܭKk4uqeޛqUpՒF] }X]j7]wsN(LrOWXf& *w+\」]rmxtI]"U/fޙ/uL NuˬGQ s÷tӜ93Kb$wD]Un: S ^p&gn3WT6O*&NZ8`=EaXN\*< ?CT?ߏYg۹|WH.Ŝx8ߠ_R WrrǦk|w7$ymۘz}hTFMkߋWTo|\bP MXΒ{!X1 wU&.c1C³~oё굜b.1c9eLj9#y@)dwZ0AXIX|d uaGXX}. Vp\K`D`>FvǝM.*x(ʼyXһ;O)`ߖ]8-ą`ܛ_?q3VNZⷮ+-Ӌ[`9!#; VW O$w*imKN,M^%'ʼ.^mPIFb0qW6])tFs-m{'o6 ./8'G+P7WoGXt$rkoyC"G*jmް2/ܭ߮)^>q=sq qm׿{8|P ?@;|;ɜ6%ZG:7ϔx/y >/L<8! XjFSq6`U.H7!]],tn?tF.3h2aۯ&034WW}U_rC { ֚/S<DŽNPI$*a?o˝w#ܣYA.sChRw~GtY1 JH.y?9<^Y9ʯ]_Rw=]RW #8cK>#{"Vt=jt-xu\yX<9COwu<" oG< Js~rHƒX$]gKޮ&ǖ[Ņxߦ#{Q\UA߉\|P;ynƏ6662]à9*.~̈Π|l*ts9{]ȵ.?$By2.\|ֿ8Iѝa/^=u#c}CXDMapQ Oμ]nmC`ӓ|bf 1(wrD W^O`ހ{[S0(, qrGev*y%ߝ95!--,Xaoy B)yuH\4gsmއ_'"27#$8Ǐxp`n'b(zՃ# Vo"{r>Caq]2Ň'~7n> X~}Wpv*`pWw)p$ .tV_>J拢 Ў9aA˜Y.pḗKK}bnWYc:(>4j>EuUhp, \YsJ"\nm_\%pAK8À5~\ri:g=`;s> )|ma 靑u,6ul }z;-qɼit.SMSs_M|z7,ScL.,3y# @×\qvOЬ m񣐼y7ى.pSƋɽ'_cwHfO}=yr ϧ $8N4HqgCiƃ?bӍ,%7;uΛR{TK.Ƶ`dJ$CC !NvvC"㒺Rzvl*+30:X&/LDÒ4`zvrNr\a *ct__  hfsiBz 8Nu&z/&+&.)R P B!ų*)薪!h +i>pW7HjFT0/P%C4D>ʫ@UDd8Ms$ȵOS\@oܦn= (za၍T`HB`r:+QXAR"$eyϛT$O/`q@ E`fTb-;). A) ˥LΰyI%:^ &5Jǻ28P/1]N@SXM|l+(TeRjT^c8 9bneߏN:feQ2+nseexAi҈a.5ݭ;j兜W.w~/ѝLbR938pԩtMʜV  Źm.L`xZ :66"H+6ByC=՜'z /e!A$Q 3`fD)3\chGF3 (9 . *C7C8)bF0J8Awa^VyXVx0mpX \U5zN{xg.&AXi$r-`0Â#ܾˍN~N¥V06'+)UkL6F0uX^0 ۧ<Sx*F MT%-݅mTivܔ 7(` ]UUKUuGV{hŤΘ>'\+@A%XA£8" `r1BK\0.M"Ugʊ.t[FtIoP H6uS% T #k]Na cv!e F@j3&4[r~D L\兎CP"L aLezH:*N N s #řC{q@`덟.WS{e׸tr^|0qfg80~&aav l,aÏ0Di&O0t,hJĒi@h%2?1!-x.Pb`jJ"Hʩ"hIjIsGEF%{SQZT͑ b${h%M>0YuZaH/|`ReJQЪi%L^*,ф6j@DUrbP4$P»F`j.S; XyM̌hTAs ފi 3TTaj-*&*"TaWtړgBI jr/QNuTH4 .akd n EV:oVζb+iMD/SM[[EvٍiP TFU*z8n0 Тz]fШjƎ PThcJZo巷X!^C&S>5$OOʷ5>%j .S)3R@/V-fk /R5C7s@#gV՚$ 0G$q'QNMHǎh KAնZsr|trJ4KMF-2),DO} KxJ[`oIa Xkx Pb" TZ `"o' \AD:wx3{i]*#J4z0L3J[ĉvm09*!⣅lhb"I7Q4G2$򧔝Bp2jk:( DAggިƼ¿Iӕ8@I`>?QYC1l֕+tj/N xAI깖ԟtXe7j0+?nGTADEeĴ0>xAÑF@|`y*(N[Rh▜&&"il8оj>#|xfON0ZDfR\@CʒiIcp UHP6"Υ,˕ DT}T`M 4"!m=p4&,gj!)ki}%tr"DJW뀶WRcMEj*Hu3= IBqX=EYC̆(!JBC߂HfYMj1W]C: ڀ ! BN4=CG_O皐l Ԙ^UO%T-=`\2!ߎemKZ\BH $5* 7q:hT;kKT ʳ,]#R}*IE b4A@ơ21?Q|Ef%Th$P+E>F:c,2գh׷sFؕ\IFtGTff1 Q3R;pm0È%OD_`< s&Ø|!uIj3dhr=Fmu#ehPuK {Ճ<wh-B T{fWn&?jHw-*8X ,2_=fwBUwĦe*,lȼyQXb͸sc #?bqT1}8; ».6u֎g]h$GaHyVZF 8u9uJFRр/u9]hAYZ0,`Vu֋Y».:G4$Z9u_Z;GрulWZ01Nj#U֌qFLvκс+'`SZ:Z<L]hPѐ8͝u/g]hJ^.A¬ý3x'!.G7=ux,J@E.>s5B9pn|Nl|g(\UB<*O~XAzʒ qIAL2UD\xL6Xh142*RBAS%E9EBXNHP^ z c$ezjIpca1)$>zn9.=UrfI*G &qUUH onj3r5LԨ`Uje87Bn;R! θ2b@Z9sW;¾|.gEڻn $*, 9  nE3,ekTgN߀<3Tx:8\n浖Cp1P2r꜏1v]$E 7`TO0M r^>꤃a*8eJڏf`y].q19 &f2 %GA1I!t7վƴ }֚s! ڋD 2qַ  !d_ED3t3t;A dx*PA αp=^<>|xr H$:! QxB:o1C5Htzu] ؐZ %JC4٪,2T-+4P_P~uA =Q @u ȔP5>( AZ 5!7ij#=E UC`y_S;S"K.P$[9:)qn=0 (>zeDAy#˦[\DCuvq̕TY' # R!b}A7eCqPO7 YL|@oh $5W%Fa *QAMaQ 5 X[ RUNT薡&dDDB"Z* 17vɬhqDA u;-*= rGQ R Њ :Fv 0K^؝\̼-L0Y3 sb6b8B;> sQ|)bن$|Cbfd9JnKȈ-e-+'W>n{L#Lg[g9qm֛ZOε)uA4 RTQZH7Q'Tqb9o<`25"bȉ\ʈa `j6f+4>,>/ u.3c> p & ͏9 %&;Ν/LDP0š}ɪ0Bp&aD0h0)0'&c *;$ޖLAH`&gb (U-!6[L&@sѴ4 ]*i)2Dq~:EA 1\P#2mIA͞ sw= ցwL8ړI([jj!8T(4T* j:xt{FRz{^96@ոe޹:5H'hb-Põ c"J`'A؏gcmH ҍë ADUHe 케pN",LPғN`TA mOHNb`Dc^g>!@h"@A#fqE6}TάJ:0,Ė*n0T0QV^:;"]uR-K!ةDWbc+4OqL Y9`{^^FQHT&4+&I XaUgz^KI%My3T1-1Ԟ|l71M4QQ "8QCa[j0xl ܌FȽF=DA/9q͘vg>UCC:K旾] gO8*j$ԫMQM\RnT& U4b-PF}CD_|0*'ƅ7fk68r;?!9WggNjQ Z̚оݮ G`]q~g0\t FywR a!<P<64NFqT /qˇSy k~+(XۀUEB1P:wW*,ukb>M~!Ά7#IXdĬSuReF<2Nl,|Ͻ uB<1`_= +Έ?RѹXHzkmʊw#jj&0{uP[?Pxu-.*ɥB5Q("tri3=46cCW?55{^/M)Rqq*( tD2᳆H$6vqȍp1D[8  *N6x NĖ|OXp*8# 1/9x6d 6`=pqBZpd7n &dz˸ʎ9x`z;R`pWj88Q< lq# u&&պmw)D/ `IUZ0v~02q>+TVHs..F;n1oi ]3FsE w;(f XxQKۭULAM,ۈnl,>MhWC7gRm OsL?XW] |x L1"J1+3K+/Hn/8>-F׬jxf0P, &@[z&< 0Ԝ²BU Vz6aXR׮Y"1Ճk%Ś?L]ϏX^ĜQk.804/VzVP[W:>x|U{;7s7O{kqg&dDrㆿr+~pla'U}Ɗ<2S+\c.#aIVqu]%(Rkr0xݓ(JL %'`FRI@M' P֍U#s*5#0͏]z@!X\X1IPȰ)]OAb0DQ⊘IL32(g:Gr5C`/r7FS_>5j#ƕ!չ:;reduDh}:ʘx:W7{j㺋7X~DT[a7*`pJ FJto9tTcJC+MhDjt+x^˸Xw^XGLe4ȩHQCƘ_H:utG-Hk.@\18.n8Op0zG^3 h\t+Q;wX;F!w.u'۱FsQwZ nPN+˒cMF"mC;,xtu#X*D)-lS=56 `z}\ivZƸْ*sc7/spV ?= qmF D&i'WI| .v"-:6ef ]U8t`~DΈ )>3CC,r0 Q *ev'"a.u'rHj4"x)Q>D@TxvzuCj OnuG=F*V8(QQ o&/e^BP,b#|Qb!)Y#21,԰ qQ =k 1!0zC n*/HAD0~5JNJL[ℏ"H`80 oaHJ-<|R`fޛBAL/QJh7/0q (w P䪈@T0#9/GaЬv8!ju!R)!6;Haߌ䊉h³32ܠb)[3U?N hL`Q֢ 'ꕞ!EUZOs!JW %RD8pFcR S/FidЄu h!Įl8`5&c!&xBiAWMx\eF23a? A%q,%+;;;;Bj1 8ƢZ{jG<ʆ^aM}NtCTri}jÅB8 f ш~X ]1`JžkwTXapӎ9pɪ-vUjciL 3\c`Xqԉ}h Hr1u4!̄<s.<=Sw`)ơF*""W(B$ykagM\yM7-"| WEG 4ҡ# 䠼_lDO@5F02|0)2'Ѓ57s")&D);b6S iH/RpŊ]s܈ DV*@GaB/a&8 PI9aHOĤAG:0̝q01(ڤ:ѮP 'P˰ug8I! *,4TT@T7wE*y.UYryFRu 63?{XᚉKA$ ։Qu ,cvt>Z|\h42xA  1d;*?  áOi0xl;;UX5nj5|֥Tgf[T9|օ)Y渥'IIRr uʋs?? ;JO)Aў8'ʰR4bc/ %b`J:a 5A꓂:l#uIƉE$2>#:R5E3 d8`5QCFp 0C|z1⨁[MIՁ"x iQP l η6)!ye{^q>:D]]y]]E.Zj:jJ]JⲈ8[^/ LcMp C`rËx|u *toS^\c<'+p7,J3 j."OM 6Zc V:Vpb2vz|O`\` kD $a*GCTHM? 8hڋ"〲=hk4gs}XoLEoZl[kOkskխV2׻]sm`׋y]`+Z\׫K8C.+q+g-/owhBݽj֮vZmjzh[~E[ehƼNӭmmu}gD| -+\gW kAP@1{<}Ym 59$w@^71$y[  ;S !TCvW U!qi|]؇u/]!`:=7kK_xRַXq` j@BTuB#>Ԉ"VT]xt!\n*L8YLȷW%TdbKOo8NP"iiƼs|sǸgN8^5M=A6*LBD.)%&4p'4L34:Yss{D aJ!Jdo'5q{/YYYyyYYc)x6Nd9xYYYa%D+ E6cn}JM!joaR0'x'T8F3BthV * .aU0c3*xP,aͰĆ#09Q"V#P}*:7Q(` Qi C-;*0/K-$Da '+ ص p!D 08m kN_(/mcl(/)A^ᣋ7ǫT`:s|n_ϋ!#s7͌Cҿ$A-&G{N.e {Ex]0[ɈxW{o-r۴XYAo]zN"|v-ip&;vvK|ւ;85CלYɑ@LAW 2cϞU=tKU`݉Տ#,;qӵۄ&1j+[ģ:LGfFU@8 ʦ#NpO;6Lp_k._"3;;9P՟79 ?/U`Dua&Ȋj,FrH*(*m -* (/8:T5lnO \CH27+ YUk#'>XF? a^n /'^h2&"NDX!xM2A"cR HX7 5Ax*6uhT.|YF7GGP g>Ieeacb{N@B ꜀5 MMLq֟L&jIƝ(lHufD+++/NP7T?9ϡa$8A' VC!.8aT "\T{c  k+*d#E2UC&–|G ɄQ=e eS^!j)My=B~*oVuirsKK zh(W7XM/#~nJmEzЯN!#s9m0nc +zb*1e@ܚ 29k iIŐ@lFu: |jvE:C(5 +`pܻQXbnT!ȸa_.VtQITX4pOK+Sy&PZ,*GT|sM뀵&m0 {7B OJ< #8淞?fRIaW Ur!1`Y|{PfvID%®{QӞ+W|0w '1\TX`RO D\ C(L @ԑCiKj 9q 6JC$pa gNLJLJMܷrM$1*(8 3;25T.E2t`$̅j2Fv4 T1.B$zFxuT;zUƐSOFJ1N'6W2Χd15nbM>TM k8>aTf3`#PڷRjLUˇ@ͅi~m"U m z!uH6s*TRorg|ZAA)xPʂ.-S aPT=/3ԇ}4L/#G|/,8PCD* 0UFUIm5 vyCrpo,9TU'9 _YHsTs{d 1X1PŭjO9{zo{9LX@uem+IHPY @[J Tj@q\5b DhE鐁CD,\U5G`zΗ7B/R*+*PvvDت=_*VY2FW ]pŋ?[p(rMddDh5#7P|1ۘ/X%3ۘ- j%'25Q!ާR1a0HzjPX/#zU< RZZxrTU)!K P8B 0@&U,p^  R6VL!31N,u Eyx5:|G%xhg騶(;8b0GqH5q{0јn*kpr1b*(!. C$(@`XTR.^!d43R @|e/FCl<P!QXP9ŧeA61V6SF!qWXˎx^aA4ֹt/,bID׋gVj@}5p dRd?Jh0r^БQ "3#Le3wW?rzoQkQ!)T#ٌQq8ܥQ*jS5tTaCT20T!eMwCMKC@< &; k_ 82p3y{?X pU,'e\0K,dHxn% 9Ǟ:&Nׇpex^V`EaK |:%cL#*1YbXMLPKnrԬ)+ʊJL!tP8M a qeT(xUw U . #P΀C )Q r7LJgC*cҪ&AI݂H+Rn#UEU&jQ+m4Ӂ0uI%8OK|\NwymlrcXF>g$rMip 0RE1Fֽ-Da[p.|d*EBf&wx`CX5R{*7;F <0TRc\zH4JLXBpG1TWQ]@GČ}\aڡHSo̬c&!NXU>8?N`\@!I#Rx 0PٚjBCXHmjUHXx),t/hƑbf2 m 3L̨dUTu0\,ɮ#$Bxk! Rr*MJ"rNi,ΜOJ3L̨dUTu0\, 15% *!JDVh`qD?EAJ 9r:;Aȼ&L[ep_aQQǷ^F_gl5>g>{?1m\i޽ܣ Γ_ܡ=ϝ3rw)r.ӌL꾦uFWan_jI0SAscPwTbTc15ɕ]d!'.sgu`5jx;S"u*n +ss(^^; ޼4a!Sp_s[G 1^jڲ#"u*n ~+ss(cC# [J9Q`DV"TsP`9iM}ϕGTBi*n fqP#Z]8h mE"%j7O(u*]*~:$Q svzBrAGtV + =XcW6/r74XE 0n%;XY (#;7B`eo.C^p_a^l\NnP'=@*oa--΋IR𿏺Cv<}{G0Fe^'6e, pZ½FilqEJ(ji0L%7ca4"$u(*2TU1Շ9%&2/qXF4yOT9`qTsT2**fe'Ք&^3j̚5u5ؑ8J TB`DfO* j@G: @x8 !XUŎF dR]J?zan bcc7˰AAFO*kBlnEbjv+ |1 8^}qBA!ALp ֎J-\z /"^?̂=ON*hSj}SkT*Ϫ:*8)P˪X?9$`+=V=41t>slUNt85Y+:mgLTb:8˧韵.38/aSy{E)'bM^UEVB+n -HydW:mgu.:5 uL2:w,(/s=Bdasƕ 3d/ Lȼ2! 5Ř(biOSh|b:OHd#QںDCC$)1RC<.4ڋ!@@@\]-%PM~ij]2jj<&UF k1db|cx9t!q76BCt~ʊ  FX::P?b+<^WI&ڊ PBa99hN\Ha e4OB'b<18p` uw\*3 a}1H^0Zp*̈́7 '"I'#ҹ‚_3j3  ajO@5Ra'Vw= jA+֒4)ba%!@ tCdeΕ ]>)Lc3(#܆8B0f"˭_>&B+Kt I\б$Q)?d !BQuۧ;Z*T8*#}၅xՃ Ga'%Ck` ]+N֣20n#+r[6d)Hu0!A-)lC=XLSJ;[7p;Q3 r=C"#(#*Wr34TGS6o(X/ӂ3 " ; P UpcD`1TD9ԑJ:'VtprCP !fTr0EL  B` 3ÇQjԧ ,ȺD;0CF02T562֐olOз+*G^(cjyUER*D8  `!\9=H5 *zWRR ȵR%U ~!~q4CQ[o:V,qsoU  ֠+Cl7,̐T;=9{ x%'ЫAw:qt0cʈǦtPa0C%<ҖM AzxZӔ"[Ey8O Qܨ0h4*ҸLaA9ϐ|XpԒPwgqlAtZ\=5`D56QY8+@uHev⮡>*W+1TpRi-ׁ p`y Dh/`6^8 g`D~*!zxXus$gO鱙(:hUEU@>uE;Zpr&;>F1– N*Xd +cB4c+XQI)M#8LM _Qsidt][y][y][{[[}_[gI!]j G`+*KU %Y\}&6kcnX)W:I UivBܓYL^{dJ%nN\SSP T0:tYEcrAOZF-G2B($q\P-Q(ƨ] xe/T`Ԝ- fY{N!.vr? g՚LD,REV)!]h}Z)87B:jB\2T]eJ,+$p "LeT!纑Ͱ܏xHvT7@C. E7.yO0G * ~0;㓃B Th*k  TUD0\"P$T8 ṛĴBMc) D" `?޻rE>pwSQF1^EÞ"b,_ i=W 0C'O \MXU5qMa9;ssNd㖷7xqǽ3 LJ .!1҆5Bh>:#T(Z4[2gcݏ&!iu TA8C$j/*"UUFQ###8=FBFF"G09:83ڬVSʓH8Tݨ%NgGڅ%DZePȠBr6Da}Q#PYY(*F>jA%7×V7kC>/9̾ *@ƾV0]Qq@fK(JAwza< 0L~ IRhU)@z':Bs͆)l"rnF/@'ΪPq A*1@,@ҡϩiفgzM^cSHX@ eՃxFXaK5uV WY>U#9z\>riDP|A࠿Θvo.3H82GpKC*(`\Q{Y2E`ǮL'V#CjdԣqrJDaMlwHFrw\ edGR  Ouv'H#ئsYƷz 1 M.5G`!Î/ƅtBYDZ5!eg5 MRZ bEHS>:*5Er!Eg;}DpRt3 P´zv%owHH \Z02Vג? gW}ϼ̀,`rTF:1q7-uNX#8Ő Oׂ1U\rAZIF7(4TU(0bC\'XR0.쪯MJf4ۣdEsz̅lR`PObPS57O&\9(sX !K" ,^RtN )ZKny^ԋ*gbEXǪC #a"_Ȝ0>a¬:`HCYИ`{|[MR_5 jOR@;,Q"`8r@PĤ)'*(9+#EUs#C!1_qv_1)jTS)|t4d]8T%T/C^y!I!*pbb7qa<} C?<2ZrI-8KLBJO$'a$@G4JL )|2=~G)~>p9*8i`I. DY'+`rI q@4T@Y>F6( Ke0(}2FKӉL*@5ћٸD6p ]1D(f3ͮRROӛT:rj$?rJ |q 6Aۊ/-Ec5@Ϯ@e&XF;7Ts>uLG,x6HMd-r1TFG["320ؤ̦|苘9.@WMF*qIx!l^[^Y-n$ iOC\PNJN&:!!7?{g\@taT+Zy C B>Tu zuU%Rk{*xuQ4*r%kNy# }RzBЍsg0-i.2 UAbLL/0]>0.BT/5(Ucr8Ŧ. t" o*8~ZG _Q +UDFLj@SQTu#/DMPTt,i|dI4s,a:LW4+v̮~-IPa2xu#(dkޒ3Exi;. ‡iV)>V\}ʌ8bJ0w+Yճ$p,qUmmnMeu8Ӡkto"<HFS s .uޗX+8! r/>VGqGr&r6TZϧJ:arO՚)J 8ka3N3a? {Ĩad T|hГS;x=5LExfY3.(aT6wtGy i~RxMOX\(p伃~@^rE0~l8{I\ zCZVLc֨&8ҨNVDjEr0ܹsLx&8R X!HÉh_=ɁNJ.T8^Y6acbK(prU7} D;F\x2J-QSJːT'㢲>(P>5.J=`P Cь*M]7|ڎE MшVp-քj s!]^ n 7'WH(P.I@qj6qU&2#05[b-%`c0-pMI ܃qu:9wFǞ=v{s}9 |}G P_Rqu"f d;zE"ҕ͍> 0!h@XX2 Ɛ)a4\Z+E@p}TTǬd"V9 f]ZEx e:ȵ- F/u!mNIU*)"OI媡yhs,  Z|8@8xO A5V@S' 5kȂdPs>aI87:3r?JUUg85* -7 eE;t=-g$meLح2t٬f͝5lٳfmUk ty΍wsn7櫘Ϛubi`2lٓf1N:dٓfM6ef0m`2l6 60PBe3086263Me`2t'L1rb鴦Np'Sqw ᛜXm<ΗbzAԤ=RS\;͝;ΝاN3ra:vӧr޹ӽr,5Xxjfelqo1p@{,W[Փ/M/꨹g7 p$d~V$VF#j$t/ @,qM`z3<# ,3.ErJ`#qTuf ؇QhAmEb )5j dMi"`6GRx2P/=P^pV8jd#E7T Z 7[@qc_V.D7=42s4 =6 l-ЁNk ء*NT~c0%sEKڙ'J$TCt.`B`/VQ v V%T)Eac#CϜ  gڇ5P4`P}CKDJ\iUpt9Tנ"fTBSIʭKHc=)4X{k7F0\"V>S^|T@8 HtBA! n Aǒ)'`Cr?SD 2Ga$$Tg[x!+BTKCdRS|>5d  B7'jL/\՛G")8pid{s=!Cэ]6CT sՉX` $˪"zƷ4G.4F5 U2.b׮:;Js|J=Dk'MoOX@HR<0R8RnKLP@Dz2<"/mLL/8*C( "Ms$WV 3IģY.AǢG2Z?Vq5!֮J^S^5;ĵ1I-IFj͆5*tYQf6 1m`b#VKdÍXL0VS]T*Uh=n5&pڰ:CJW`CUʅZ8Y`[vrT?CJ:jBzs@T`0-+t.C5b2kcU3d ڰ]%@ 'Uz+`5XExm*#@*> PT8ꫛx*CrT FC2#e4R X Td~hk!u'7bf+tμxYcc`zj|3EpPB0UE`- }PM >Ln!N"TY#A dGTx%>$H'ȭa 5 n ']ì+ +'D)SUn |X^=!^Y/91gq CS. `!rJWAa#hrAVqyTCaN1p+GVd%t ;fcj1=XȖ3ti9Pf{vvx$͆VWa:WjBF(?[cA6(DQ6P0E QJPPm!6[UKÀXq8*2TPTA-hd΢AJ7bqJg>&J e**BULgBDb5x5 %hJgJ5*)JTU$ iQK4ZU$ j*ٍ"S0&xxS8Cr9up7 U45Gj%RBE#cEHbj$3մñZu{GmH!(v+UJo;yJ$ptlNEDh*q/R;1U,siO;Q @OډA' ' @OpP PE" WE" Tm-UHzR"%#Dq4 ) GBSAK C؀DB=*2Ө`]M@(X<o‚TAUB<2@ 2 xihW<b Ty@=S`xI PVxSZfyH#qAth0/SOBP^uOgfXIv>\b[b{Ao0*5@bFP^`X.  ##P. /vkP5v'>8z8-FjB!sKG`I]9ܳcx>ӇaG?x !.rkg Kk …Sō1M*UH* vI$5#(X>4$$Kf)Z]^)&|"X:~E[x!i2^=juSBjRUUUKjzU}Χru0-ʠ`9gj qȖ1rrXÊq5 Ջ}^r`20$HdEsqu{|59\1*8ޱ:,+/č>>j%a] ana00}XOX;T6kX#vk/ӛ2X xG~'q^[MQscQS>j>j#*=}ϕ8ϰasy)@ D-`'u}3P--qbU[-x޷\{\U|pde5x`6܏j/*o`OΊ#(`f㊹%s +dBX"\ЦݿuՓ0-R9`cr#0R5Fugj.r\%0?2 l )֚;\^Q݃>^4 ku6A:N`Ne>Fn}1 Ɏ1X+X(Lx\\9N9##Yn`Erp0 `qNLQefAb ;r<6$Qm\w]p [XљQaWS\1|ǀsgiK r<7fA-My_eFaKr90.9%aq y>1.'dQ70,`.ܧ ܕ`=l7+R JHV|Xh  Fp_RQrRh걉VTh:b BM3bFznJ˗3Ցq̇͜3)u|t=iK#XR2svZo0֣!fq ,RWY˻{T x`AHygˌKĸ#\Iaz%#m*EXb` Y5RhTh*ﵐ;QQ6Vgn1,f~&\UOzۊ$CS^ VJ*Kх*&h Ԗ Ul_fC \cYFC45幘Q<ಞ5Z&86ɼrMX`9&n)%%B@Q񔃆%l%@gjrEF@k k% pVXOPaF r7;jYu/v7PR V#Q .RXF`ojd !~pD"aL!55-,U8B(^d55YnAs7EEO2*L4TpPb9FM\ T9LaXM`^`h2PF!!/4bb&lT!0nVl#j"J ҪFC4Tt!(֘AMeXM\t x{#ֆ؉P"+5*Ր0v(1M EfKYưr0U ! "4dLf6L|*<@FY XdAƧp9UDYXaW'F*GFҍfOX@e'enrW}2 o`ҪM$!Tk<|i$vuHPCgPdjmE$1ҋ$ũ GysQ[|NUH0`>% .zPrDePW *"*cHe: B :J<,cW#Ɵ#ۡ0^K % lE";UKܢ a 097O=j+5`ʦV׎%<^n%)L-.|_ 4o%׉͡G!8mUUT@bW`^ bd  P3rE@qLr]+Uf3Pԡ(sB!*varu!l?SiޡuDӸXdٲpq{a&&XgU%eĺ5 F Wq>vg&bJg,xl38ǧ̼&I g5qDCA T544r,0pxYsaYi֖0d@JYZ[.C4ebWR?nDT_X K  mMn} e~AAX^rҕh"qQc 01H齄` Mʼn5Rn\]QoH-kTa;E`Sd* La LH Hw=-Q r \xqƑGD1QƑxsj(xў j@Qfs0L醁wRcRdҬ1L }]EL/Qs",\Y9G&UB]n59F%Hy+[XC:B a=|Gԁs zs6CQlGPn$7 vu!@l D(F*waHPNASdl ? vFLLIQ (D"& S0R84kXEd#^kRf:엊иb[5>6fL'lbr>4'В{ T}ia_7(u[5brMQq_2, Cԝ"f-_T5Lؽ]TMμ.8#lht nJVž;= j4thôK;0ߕ9p򥵯0z|Qψu׹>_??+0/.flټp̵B71p'%dܣ!k]'Fw`Kys`Aƫ!J3FdTd0}} @KO{ii%L,8$Â!5i ,81aaq mxkk}} @|__m__=}0/}#Q} K5}W__} lVZklqp /N=HWŪ 7ߝCR V5%M,0FqO,!F9T2z=G8#Ȉqg|?rۇpܣ+Z1fU8^]]|3T>́''BXj!}L(POÅrFl_0F]|$7Kpg.JLЬEo Ta~ēMw5G3֙-wxF؎W 䋊0r߸r,r_7NVs]eh,Nwj)@"]+Ua|`N1 !FB @)+w UQ)RAUT*0 *#cs-0nc׶Ncj hʍaOR!XG͏6p}FD nnw}1  q21rG(.i0iUHJkkъBL-s2ȍD\bή.qƑȸW!mUy. @PO\u+ Fc\"q$̦]gpQ_!%Kj"p %ijv g#s:s<>y v<Jjv)_q(߼`$2l|b9T?,!e'-ёu  ;R1뎔@fjLh%(LnNUX*_hR/68?3r*+ T^#E m0 JL%E\RKҖY(ayONuJTe Ճ,;Up/l$SZ%aU87 TeBsX:ȔD21)(oGh@UL`bypM\r TӔh8).:/Gɼ|!M8WYJLQ ғҒ0Gj1zJU G+xxӎ9xpƜqȼk<<{ |_ n lRogk:TK" GH1"gnr@q䈊x@;' 8G\QxobaIwHT6\ vT7ȴoP3.ZTO<L4HØ4mcw>@ $bu:2}Jn~Q7 ܏ B#yV>8&$L̶ F,ŰU< DG-씻D)6GC ]*-8ncu.ȫ ,S*\(S:<p#O>Sn z|8+S揜Z3Wh멯zqC8x|u9"_n[wOg qΏ N^r3·aZ[n:>xe|xM4m`<62;#WKi>qG=3$Vf➧/I\9wG;?9 w~\ӆ\ FI.N{|P~lnd'`ء7"q'q1\vЬ$s`)r?|ȝGܹ`^807q|d{/5zn]q/  9L݉`Qo_ynh~_.c^WeG3JY.{qu-n>VMm\M~lO["xwGh˔;Js[oOO.\\%`#r拒#hjv;x|>hhja0pw߉aܹ\[X:/S ?t.Ïyg=ߩܡcj/G9w޿s&!G̮5Q}38*ã&?}~csێpJw2y; sۏYanq|ew6\VIpg2tw>wrq;g9sf/\#Qܝ5.cMa+\㞱냮:\5&a;-/vh eV'9.s+w^_}a'n_}88>;%|qfB7(XtN V h(V@ɞ?.Ge/|\O7æ?"w s,^o%񷳍9>I.z'j>fWU>$\N9^ /~x;lenLwwŵ~=xw> pK\?x}+mvqq/ٺב|1M$4sߍYWei[q?ez7%qS8fx5\}6ś:_u\(= 'V~fƺ3]g8s/WVsZ;yxǙ9wn,^A=j ߁6 }x&ۉ8&%z{䧮vNG̤ŃΏ{0$ß]^ z&q:V2WNum`_sV~:(.Gc(0z3 6u̍18#砰*v~`1>3:.+o  #]o#r$QLͷc?TrGL]B8x 8ӓd۴sWdx$|ϟ`sCOćQz^KssExo A|~lIa R-w&dέupˏyϞ2km.9 {8ypa/sFał󟋏̝2 6L`dPWV|&: ,9B070t+^N#pRՋ=9`<Xoy[z7$xVW'@][.>s,l(2 \_]WCxa+'b6.J/.u|,I>Ze'%qʱ0<ޏf'.*mſzs3I)>9{9y4C^993r/&bwsdŬtWL.F.Y1rP?kIx1G4y[9ݫ>._囀7@`ߙ.w{ys0c!ױu4k Yfl\ pU']? \м}Θ'a|عh~E⥻2<6Au vWJ>8Ŏs2]dqB仟93.-${2' `'X!tG%DKWωi$`A<ōnn<\_p X/' Vɿ: )>%c*qm|π[z7rVQuu /bXk`r^"6R_ZsnO36؆{\!?3ʘ7s0l/s7A$R*ύɜ{#$&1-ǎ$\{8 w_"NF$9pǗ-aգ:/G`<g+c/%z> 8T$E47gZovە 5{X3č}{O דk`K qliv 0u \s8>۔:j/L® Lu7uqF>8 z8<`ؼ-9=|k1NK7Q xH)ʾ}拎oO\\ϝ"V/&#KvLuGy 3z;Šң .ijbeX>.0'ܡw/d9Βaxx{dۂ;>p"!ӿFrU;)Q=Tz|r>G;a^.cnpQy1%=|ɀ%8`T0Lgv.M<#<_nJWM-r1`Ǹ @VKWja{|=KQ}kC t/^V;d$v5p+unQ*:He]ϙ66󟋄?=F=@z<ρgv'v.وH ~-`^u+SGF܌X+*'5cɼq2qzs;9>mo&78y\ZǦcW[vvVnA |_,'QǼ_Cޙa1~WK]ͷ6bB9s7o\1V­o zr\j`٩ĝ 8u)םY\|qpnxu`?W|u.+n=_u]>'6N`x:q\no'Hq0 .:{ ^Sywtqom<z+v+yB>TN~R8m{WL[8pn>in[ֺt&|-!3Ubt-.Ntԋ< %$_Gn^owq|uM׋9?iݯ`]$^S^͟(=~Y\N5ミ%xiϾn޵D><@x=VZs_-Nf:B(`ORaA R iP6A[ עlEsH`|6 LF Ch%eG {&l\ASX\%T椕 \"ᳳTF,5$!*0KS)8! ! P#4Jls܂2!\j^(H%eJ">3M z ؋BX6 [EȀa8'j$pIR#ÞS!0'gT3jV8a*!ʤiT'Y%`6qn(n7ǧrG2q۾ 9 YXW";h{W>`^!ۊ(w5Yw޹un@{|M3P` `K;`]<;~8u}󏞜c9ȰHd&r spǝ}iֹoX8g$^ UF1GSO>b1䅶Fu^dc:l.20A:]*=TB*NkmK. %#_8 gv}uKLC B`*̋&^Bfr"2d_42sqX~;t=tMd3`;"m2]PẑMiW5-QF''6+?@}7'v;X2,h>`bGZ%]_ Xuv iX{;ہe#55LC)FQw|nr8gYI}E45AEHHSpj1;b~1oܦy0r.XƸ[hKQ}x9ӰшnY!G8Xd+8ZU$1}oؐQ{)b)Tc\/. ]I@%62.Fd#\Ԅ{:*8)Ҹ{$X+ ^R\-YT[Ei{w;:q).Gty::K*n#U 4ai9+p9&G1tՠzʘXo&\օL )>,rzP0*39z"⠪]XAT .+ +gqq=ё7]j(83-C% (nx>\zJMڢ61$8HϪX1XBE@p!n"‰+VG;XF$Eŕs㚈[GԦeMP)Xy/ȸ)*0~yIϑȼk< p r-PBOW)+u}paD,˕lM}T4$O8FPZYh:eEN.H/FOPL1`%(SlFn$MńSZUCdP=X!,8 cRwFw! oMQ.\ZIFp!FXUL`*Ij2xv$ fP $ 1*@چN>sNܵqvJt5ހV$(5q{%|W(VvW,`w$cj}N?N+w!}FTb|1H5Kg2q`~m UMi@/цI-v7zeIXqo!xu!mv:֫ Ra#c KB;G'X2@VS6Y^8&c 1|YBe L FxP(t]DC!y+ z&9.O2 s74DP4W@)/PfwR4ƚhD7B|\n#F t /='ͦ a$zLGYԋrxkHE1fƣ m`[Š 'V ,Xcݮ9X0CJ]iU*#cL8 .a驭Jj!`eL})(:eT:q~:9V +|z`6F 򒚏%Xz)2;0QS6 wFR` QY8XU y!H!xP 5Djv!0=pTq;+MȬKRys0Ұ5Z[Q.~Vxʬgt** Jw]0Gi9eej@I)5`C $o J~JnX)zISW  N*D2Br]k2GXʨ7ukCr^':)S#\'S4qmjzXYS Lc%Xqc&XvuaDdAsIi%" UB{XF@ XEr~6SNYTw?s ϔ#E4`- nju \ٸHK9k^:Utm'Ӯ0Щ>qk$ى hUܲYۤygƸgƹE{E%hwB?an",tWVXa[]u/]0}Jg U5aoԀ <^sz+5"`ky*GK\DuM&XeQt, BȉqK8of> GCYƼs6TT1CFZ7lN5j6j&1$u> Շ`f6%PEuM'`/e¥(>P6 VvAVQ&3ƕ i=|ZދJ`"ڋ/2tmf2+G<Ȣ5 Cu np|0 n}TxL3 =Q clsda [UG;Z M&} $F'| zM8/?M=(htO齳 WrOpI f^#M"WNzLT.0URnq6"lf.)lbbm@GO9W?(^GwkQ!VQ}Ӽgo4pw.sG@CH(ihLl^Y7o~.Txt[;yMbnc]^wB#L: rʑ*мQJ tJI 㱲*#`:r3/.H)1`OVW񑓭Eqo+"rM۸yߛ -qj0鲣QTq :$ >=UD #\Vc\n V T̪A Ryӎ 9o^-x[Jd C %s4^8Ct_NG R&I5|}\}ǜqrqonL yHӨ/˼|͜{=ߖ90!/.uW@y(r$E< XCƘyN2Bg@Cw:nKmF5rxhLwTTH:jLZ=ET)`MdUQaTudBMD*9Ƶ z^Wޟ8H`YxU"uSh^aRv,de\aŪp~0+ T83& $0"8! 䨈O 5D0C :#@@0o&%e< JQ==L|\W͸xd,AKװOK81"@ &J n'+!S -QŰ+P,\`&]cuXB8;GF#zpJ8GF #z}(  QtzՇHbv <czňʴ|[Qx+!QkXNaQWa5"W>8Rw]`Xf(k0OLCUGoGċi\ vgIQ50cc,֮wjo%v >y68񻉺g-\=>sn 4˅g=e>n'|g|f>r]`OVÜ>7uwV|9t1gKӸsg*w|*Y%@`5dN.*xxS,bXͺǶ]'˺;8wgˉnksrnݑ91 n{o2zMn^L|w,QT|k9 C\X۹vO%q _0Z|3 /\Hq. wN³9>\Sug̝О0= _0bWsdY^D⛃^?meQ* rg|++DCY9">a_˜rC-t˚{k鼚4OMuG'rv΃1v0y <߁k;?"d 1@b|d/.`1w~ªb'T,#.=p/50(.Lc K9zYZC#{G08`;">(.Xo='k~]a7;8>U7/Kl̀n\vn7Bt&{37A vfo s9?݉]]nmnj]0<㮂Us .yfk8xf$q93slg>`}f6f"@#8eh0g侫ae\59jd sXlݧF F3ywvnp&2sMbn`~J k#6xJB]{7ilcfu:Ys/f ACN '9F Xfg+h{7LuVny QqZٕ]LfnXEވ/7޽g&+`3Ó\nv燷g`{l ` ٹ6fn{LlGx{xfxrkp8?7x{xfxrk3Ó{7R崏܊᪘ #W&\p\ -,n{)M fNnf<7sTq3_T?S374aKO cSNcdcׇk#3Ó\nhG2OfC3w ŊL[LݭD>|nܽΕ9'"sTOf~r<\op#Fff8s9nv7<nB!s}]qc0 fEIqo2;s ݎtLZG#hk`gy pi:S ?;AkJI\˄*Ý(״s"8ʄF o^jJHb5lLg̸=żk\~cVƬ'SQ) #>Rsذz3>T@D>:cU>%S\|hRV x G-Vr X`9ٮKV^^8bwL !MܫMXe o_-tW  #!(?V]1 hK~Gpl=L"; x*Kp|q3s'SAq/b#ێncwtFtcy U޶'@§%} G=~^!O ?- 'RrvfHEvHSxi()㜤!Q5Œ#ϹV.6;\t2H5BM ؼH`j<cGUÓ\*07yP\qjO3qo=+ww*L RFV1~OPe\X0=X-2O߲/SO 1"7GĮ$yf@?D]f xRvxs NQ:2S4eC|>@Kf3gYs]{.fvIrB>"DOw:jĮEh* nDus xQ=U1rqg0VtbإQH;uOp_YmŀX:tt4iX sN"8ۺ(72*&0j$ HtBA Mw X 5U7t3=YK2·D,Lq !ݦd/K%,c5cI*0I0ק)N.(F >%Nf:b):6 ;S_xt˻V a63]sR4CHtUdxZE01Tq t!ҝ#ϝ22ɰv9Ӧk\| p݊yef2BN|p.@.˕06d8s-n,Q& ]q1:Gtѐ:j b~0ع\K^tt^x4+\xӅޫyr/5݆݄.c|1qTc qr uA`Iqc$ijV(&hARqX-!CZT uU2l-GD0?*A&+R 0;k; 'utHsX/pO.7_<`zl> 0=;2XxD(K2c:`[[Åd,.,j7!GY7#YUz7b"ONU5<pf ]0 XEr6)K@s6E,K'7gC5PCs>cdO{1z: M[\.!|;ܾX`bh.`[/nn5cns񏑹>K߮ b3g9`=ݛ܅Ƕ _5ErN(NǑ%1y^rUʸdtʖľ7Gsżzyݲhµ}vUWw?E6 _8\ٻӺtc'\oglȼQjd_TM$mq L2-C\wu]QL/Cu&N4#!RAMͻoP|U~0)_f+1?P<}`f=Z)3@\7`DXu ԚQ.T*ޕʁqښP,SxT#*S82`xqUl&B'(*TQrg@36|#u+$OK4`->v8Cp5~p[ZV'BuWLGSCcs맓x;*P1R maB7TqY`4`LW|1a3L v3Vic P~OkN`*Q*NRAi.kVx(k윦Vs4~oP:IjIh#A`q.ml6OpWأ V2d5Q0h :TOjjYT\Rۜ(3bg-=qMMgvi>5!Z05(`& x( 6*̵HRM԰f-[ͨUkIyPp#_(bCqB{*de^%:4A!ѡŧ'"X":TFT"x@G^8*cj_ÈG1]=-q%`aӌm0P [I~rbޚTVIʩUIfH'VXP ΆM jt EKJ\E+(I# y~BeehڞDDzD@`[JVps; jB4PNq vQZjp.!bl#D0*r嚍=d j$t湴kdZRdۍ 3K\Q`axmK}=`O)IMZWj ջL`aP g6ޢg qO?#t~/?!Su c 3bGn?N_f?ܷY,^z!? 7)N~HPFP/&N~t 2s$ܤP+Z %Z8kcDc㶇/pȸҷAqTvqR\X=br`Xp", )CM|};⮎n05%:>%'ΉPiiWą{-'H+¬-O$XCch7Dxg<%5<:l_꼗 TYD r=* fjHsPm0~A,B^dvzYG_Jˏ[Gk;V78/7S C,\ 1gP<8,~n(2]re񶤙6=U3D(`_'{~^XT<؃=4TUT}d@ʘJ DMCarN$/5ݑBIE$ 2x Ub=ےHPtCX\τz! BܣƱgjɬ2JJN-OjGp3؈nKc#q,.bݹoG, pxs1F9 +Xq\S>3s7oc#G@?|/63:Zw(wyDyV<]O..G@79# .ǎ/-|I8?q:寚_u86<]7Ϥ#빻*^a> #/ +yxf\BlfE?q78;ӝcy O'' cL=:2? oO&7@4ƚC7!K(,R|295}_0X1VjcT|.1~ф9tMku sR ؁B !nT^G/$ឥT{9`GUIRgm3!1EG^qpgwx*Tt?(\֐7LeoZp08`FDzB+b`&x珆V!,JhDSѬ*c 8qzJuV&j_::I>Z3a!x ֤`H9R;9$j{, g&<Q ᮍL}<'-%j$v[XRc=Sbg@lY*)<6V\V'Hf+}qOxQWYm@c5Z:skZi"Ӄ,y7A-40M\m$EE3]CvD oDCGTSFpW_k ? yKӡ1X. t=K}D&b"s$v@; B #HT.T*U*m꒔̊3꤅7GEB:YiRJKC΃$aL`\s%%HRD#G_f@ AhݒA*Kj'0$:Id=̣E-SFr`WFk9#H7rV X \;Cnr]$&R>,T%JG0~I ڌL©[e|)TT-^RwjͨXXbWnp j!0c `@"WCGғ 0zAq&P*a,G'4 Y)T+DeRB@R@ef0B¦xM 5TuTe8E<;P)…XAuE1KJ2F5 C=q$,nkw|KLPY5 ܀x xtȆ`>fX!!ED~2NuV4o;B$~F<pݑo|٘zrCb-۲bB y9̉G z\%~%uS Mi8`jڌ0 (QLL8aU Uv*1#%EGF 4A!{T5S `4|Psk jLwQ`%˵&ȺFPfQEH<19fW1(Ox*C p:ȶ4|e4_0TT8ֱRߢ>1} Q~'7 bpKfQp/5nLg~$M>hDyb_7)ǰPT2fa AS})߆Xu P:q hp jGCOiw7!fD)JhI0̡rRjd*`nE!Me:]V*,Sej?%#"zQu%`o*;\x.UT"E!ur|SPY+#d Ty3' CA+v-dWCNyK`Te1[}s3uYJdwV\`UHr4wfoCaB9Q&9G#q..cmF(\ ԮQ8Qˑ'P!L(Ԡ!X[v X;clJ\o`ڛD 9?y1)8B8O$*r&,&%I)PUDIN묎\櫕 @fy`C ~Bؽ=!<ŀ1 Z9.2"C+?s?!n,o<_̯^C0X5J'fx~D".K7[npJN>iQFT5Ю i=M~,'7GJP)PF\ *q /TQ =D4$BAT2 }$eNDJsYXaRx ڕު\?"0bTڎ TR~FC?jS V+ f L:f5U=,0t5RURi"K%,ǘ!D(B(֢t F -SX-YAƪjMF14*Q7Rpx6E5<dPk))PI3h`0Ku( ֢ŋ hxO3+ *;gB,S\ \!"rP!%=f&;'89h06<UQ ;'"a!Ok#ΎGr*A0,f ;Aܷh Vv+4),fenkth4+}oؐQc"1,*'%c*5B *MEJTj.)%BPhJ5KS,U$U jx!R<3zy0BP;R8g 2E`tPeEڇ?:Nxt.Wm PڧEQPR aPMRUƕ2~rUAR n=yd>-GɈ`0OͽmHL 9wF8Syɩic /Tf؂0x6: z`F9U I0ҙi)<"UdIaAӗGY&"kj5:O㎭ՂQx0="%@ɽ9 !HQLXHm=#9>& 9ĸi7t2TYP}8W=T AU B"m1DIQt跞Z.z p'RQsJf ASRHPqĚ#90@`0ԤxQ !2#" V_*> ҳ/ITu=S)IG̙Z̘?+ H<Ÿ:LTV**wAԧdFd|2lNntJM$@K_-G1&(oG+7Pj;;_J08 L}b0a㟺oOn3\͙lk7QeHv_#(rVxUVoa EDh g*VPna=# x?dR>7g%d.CINLA:8 =EFlBzW| y&)`HrEI.-xÍz.jD&wnۙk6Y \gn=F4qt㞻|qW'`W^]а^|`' x8MpoӼ^1늺$ȧʸLg']4̊IcF.&v"P K #d4H@!W@as$t_E- cCrw1u"T7?`UG؋2*+yDIԠ8T<#Ft5Ä# ZDt;ۮh|x|fp) :+_(GUO+vw\3knLZ>U6g*gQ T6MaDQ *!YsC :|16#_qC2/yaulJIu&EVlQ;~)fX91Yǣ0AsS|X ysbZmϜYuy 99G%a:QAMQPE2V> E9Zn?mTQkw'=91+fg;9 cd37((#Ms֩Q\Odw!NEgW⪈,S\6-=nl^fnSZj>&b`|i3@qSsKQK` K|oXW9d< ̴y⛂;Z骵+_I/0TfUa:!P8nPD!N<F8̼PQPQH+εJOGFFI`YI\W^U;>V XUs<|е͇n;0l .OO=/%N+4){Qgֹڪ`M`/|CO):U(i%D3PY_(RuPIU )p`F@bLpts}2A{;w:"3h9 ֝R#U4i[ a(PNw v-H?UUG%0 V ~!Qe \wTk!%'QU!:`mJO2 #0^?ŪR6 0fP%5aj@aa0В }7@l#nyXD@AQ=EsK53EԞlCF4u #U+KaF5 -*j0G$ *2c`4H>Aa|cRV@|T讣Qt b[RL>s/(7)Qh9u \1t J-Cl0U$O%z} @ * Dfێ*8, ФHr_R100F<%'H@HUU2t b^w.5@*;bb<!…& F>n9}M<Pʞ@i4$89ukL<] ̾ |~p旬Iߝ]|:4tõt 9ේ^0'n@{‹rlI7j+WzqPܚ+)v8  0q/!~mu( 턺0siJVW+=c9 F"׸+Gl8eh0g侫ae\59jd )7ea۴"ɜ@cweB1vȘv[h딬t2\5oMv~CbS77wZ8X`:++ܹ<K',cR:$2n[L7ҕ H4\u!.Aku a>=rY6K0a1Xqgº#=Uf1Wj0 WUŒ鿑R\`y1tLõΆv_]e sa2+/Y}hY? r7ae.X7ʶ2;?s>;WC?[|}\|c >ZW^\z9ӚY z'vgw'~ϸ6rOw>J4v+@r)q;0=b~C񝟻,9V&r[,U㾞Љ6g.6v#n~[aߘ{W;svΎh r57+K+9r7Վ\37"3?O &2#hhG_|M8iӓ9?@x7z;rKA>⦤lqM qI*!-OLjhwjxՑ﮼ɁG-A?##ZR/Ɏ lŏ HqEy#$: ؒ\S&-iq 5[8ej#1P9ޖ'C=U ')T~`Mþ9Tou[(!T5R@u4LO+SzP0'LC= J!GFLC`( F0EEd!\`ޅv\/EqK`? 9`L2Ҳ-L2| $E{q2@B;M_  "* 1QX3K\qk`PQ1 A8DD.Ȥ$ 1".aʐȢp!*+^BBuK7g%DJ`~X)F83;ƞ]x>bq]&J= 7;68Ha0H0$y tp`N7<Aӎ9xpƜqȼk<$ЂSA5DA9Md{^Cj4_`LjR6ɜGSi 6"$B"8gr$?$}SH|0YL+r#qq;r(s/ sDT3,^( ?:!ÀĈ$Ӌy0x5 RQpm6(TaC FpE \V9F n%4\o`v,Q;(-`!}pSg 0h0#iiJJ#A礎"7cq!r4a1Uc6G@YrsL9R20Ɍp%#P (*laល*JG*i1B2p7`y X@0dfTFp 3xʢMԚ`]du7XȐ*`S0OAMR!S&(榶7sq.dbi:%tfJU= *xfaf&ʼn7ԊNjÚb,C0\:69t{׹C`wGs |ȯjcQ+%}@ ne{Q3!}\pJ {d+l մ90.qvބPC pTP¡&0bQK7"t.T8"#HRx؈]cÓbw$]OEkyQ:qcA=555q~9魩[,;#g7^ezkjgjjt+_8we/7ˇ@kL-\tV+2qtBb+ 7tcW7GmÑ^ |Tea7`'Ϸ {2n[{Tt>r4*FO/+`zS{~#7?#/)ѭRֆB6fohijj'UmUN' PЊq1ܚAiRJNbی[Ў'˽5*$.QQ`ʮLP娃Bdke16YXDђhW⌊l9Dq'L'Z6f}D3* @rW mU37BuKT8\Ò67˝tʚG FAZPKj%T`MpjC'),!a a~>@sA@֏)w~ 8|;\c>0+2rgJR8]3^uhqx0P RӄjFpH0<૕U"`Cd#h1Up71ldĆ8ԎTJA,>5>҄T`bFH]BGH@J75H1oD!pؘC-T pqPҪΩk\.⚕ ѯ*Hg0 +:2ްy3L `@07%K%%yw䚐kfygUV$!) ĊK1{?Tyj-_N1O\WX>l3Qn=$3$^W) x5x4D zEMI7Pz8`FD Dr<_9hؤ 1V 0CɦRDc,ݷPFUQ`+ qf" >*a}HB]C:dŀy"Z 4Y`!tir\#ְQQEfQ"!z`IV#cD{rǗ&[R`2PZV + ]hcx\RTSrbKSc\C]k2KQLa\bҊA[PJXdE bEbRDdq:!!DZ Jtʁ:(CKPF8@ LڍMBo!` U/׀}IDc \n@JHXY3cK&qFJ#$,z܂GN(ğ>y ) 6@~9iZ2}࣍{A*M`Fat8p1崨g! |y'{9A'F ^Q1z2=B؅l LjRD $pUaN"j{3TF/`7D >lዝy/0PkT1J#"aNdNaL<,=9 upaXptÉ8La«TÇ5u]a&aL<,=WXzEuz18u5Oa›+R]aƅ/80uXa')Q E_> R{ \*m@>1=Žr?4yz/{.~<6b! d2Qoy{Q^؝Y<adb8B<%"aKp݆cĞI{9 iP؁PY5Y?EGE]W]^{kxY5/\֣67́Wk;icj)nzȎ\icOh^ϸ%5e^]WsŨb^g x>K^D.*N PZ-Fj qۍx)p80CpV +Y<`AI㱨%q5;nTE:30vzf#<%wO|̠+nt}tٱ97V^Xo\p%a!Kez0b:рN5'=/=aX}IJTeFۀ5d"A*]<.z@ǏOu!מ*Jϰ( pT$ꆕ6^I-L!TSHP)EH|! EC5CSO(KaFJ*L.B&`ǽb'!ۚcax0@FB4O=b0Xf Q x3/.]\OPY|B_UXkxr"P ΥD:(pEpӪ0B*\9 KmD4+dP\15Gi M U:0QED ))@\rATV6A" Ph:4?Aq2ޢL7KaLێ:¼Op9/Gԏ!ԺJ0-'iI%'jI\\a.1ْU6GQBl&I@>02m8Y [wi4m̓e`U D0;\P#c0APE'4 P}i,i7 ĕ!O8T{lNHw8" P!C[ .+;*QQX~#Y0.&TWQHe(V8 28Nhnu CH4 pL_3'i"?&ÉZUBiq$yѰ] 1OWe~0U j( J^xϋ>yHq`a6QBv !jFxA *j]GPpY*T6AB ԅOIBP(@`prGC} v1BTU4L0(C Q*R| i-4 & 0sN$cd QZa; .ڨ2-#2ҢIlxWeJS0(? ZeQ9% wkCRTBꖍfg,CQ=ͦ$ ': U(*o8Z^"RR*X wW K0A IB5QoPQ-GUʅ2))b<*'1TQ0OXXM N-aUJck3= w;-BZhU#Zd ù B<LoPiugZ, jD) a @(`-Djډ`8\z ʨ9Rm 1J3uJMd6+MdBo`@58f4\ [ȸsL!=VĵsA{6ڣyd(AUG/rJ=MkMϞÉ9M$**xP$Iw(0sp8ԈxMʛϯH@jћl53 DjU XЧsj>\Z֓x7cP puW9]3ݔ.6lY:uc͊[Kz@; zua/0FW{Э28.`3ܭYVp\3\K61WYbj<+ +cVMF db=c`*5j[[TvpLNx0NxT S[j?9B*MRUT:s 4@V9@ *.2$b-DWY 10)0uxAд6BKMXm몟S1-P䛆J~mCPPa誉*"/ӎ2T<Ci?i7LYaF_xuKʜQTF4B)X5H94Lc:/ʎŋH@& `Ð8o5* LQ'Kt+̸2bT@,qۓG5:IQxpP Tdz .T{x4Y͋M +P3+*oTVkVHuQ=FԴ^dd^", 0T>]z)Fj8>]c,,)+ Pi\gF1&1AHR>>?njS9Wq<$` ixǗ U>K=o\qɘ:+[o yߜ_gO꾾_xмa5>I5|@Aai:ȞxT0mQwڽN5/8>\(l{ J5c+)#]W , "VURw*9Jq  q6so=C/Ȫ %BS0sQ\L3WRt =Rs\#l U?p arg~*x@t=Rs\"Et8~( <C`Mʖ ڡq{Sf/[rr6d O*XXkJғM`Ȃ c#V†(4?nYQu,%rMpq,.0g18lzV(+OLO^˵[w"~+mE]É{/>\5\юWye&U]Qmmh[$ )דT3y}e_Le'W%DA$_. d(7o|B[ yȂ>2) YL݉A;b"WU7W~%`pj$ ؂8 %wb:KF\~@'B\8+UmAUKy<\ #C /|>"TQ1"IˋkRtR7..>c ,`fO..#':#*6Jpm9TɱWBCuOѮw0aHRO(`y=E] Pny@)s$]ky>ş8Z& 8J?Y"k˃qHKQ8v|yr28yp)b"7 MV9-שV7Jqygh$N+\$TDxu uX$p1՟11 )s~8PݕӚ.jJti/5 #; a0Vb2k\[K aeh.m㛳XwұWV. \=reh.p.G7F|oar\7F=ܕ[8XmľqM g8BܓYyk,"\]Xǎ"18q`/q(hJIP Fb hʯl(G&`k CS7ܚː3Aȟ0ugpNr5%wJ?@]E}+*D&c+&*/CDlT7a2Coq= S t!CR.x1,W1)"&:ElupG* |]isC7e!A8$_7W 6# 7>7' a0XhT"/;ANeꎜi0YK.n5$CuvS.ρ=Nn\p IQ5TpQ i<AY5Q2R:EBXAl0YGۻT'ƨv\qZn#dq}PL8Ĺc"D9x{Qd\ /\tg p!aŃV0^0v{#αcՁ׶JI0TQyWAc=bGR"TH"ç&.`dy<$5HeGCȴL'A F1#+4$Apx wAb08_Xlqj,.w& 9::xؐ8d_(`qURxܖ#$!:lGnXԗ&S'DiʵQ2NiÍso;KSp Y0a/0r+yUOrup*~'/<6R6,~8՚0V{VaWuWBReRoI`E7QDPIzzcTiz:- ͢Fm+>{Elu,xK/a-|Nj f'#)ƀY{Y~)-khTډ@SIUMR8>X.4s7zSN9rjS͆ԧSK\zNC.[O]z[zpЭlܒ`Z*1Ҧ̨)%H5Ĩ4o洒r|2'P>stȦiV,7MJ~R]50-)9tו:NMkշUY3re5.)zS;9:*nvjSA,C6e‘HBy*>F1T2B=ncWN:\WHQf3ցhǕ@Ak+2rm*u0#Ձ4 U<&A(:Qh`]AnB). ktamnM5'6Mr䅼'f[a[QMi]lN} L3ئQ6ʆ kim76; dN9~'805/PfEqCKt=MQZ3gV1-EVZbΝ>tV^^րfqfYp={L00ܠ;Ld[MM MM&\[zlks8Ρ6I:O` \=@bF(3)m›;k\;VA5c++*չnwQ_SSSCg5\ĢLCqPWfzf: )bJ\wKRIpyËL*5 ]tph_l_jV٘[paa=o)!`hN:l鳦͛:lfΛ:l鳨M:lfΛ:t鳧M:lfΝ:l鳧͟:CzSEpLxP:٥5vlq*ٵ} s}B+p3Tt#QVf4#š·5XY59ni#59nhpڻY)8yE**8Ϝ;t88Fhfڈ!J$XP$W?`V Iʁ@mxOJ6'G5+St XT ͟H:agXKeZ8W;tqn@ v WDaHʰՆ6yZ{p|"VjK?|&& ǩiTF*s!B$Ga^uj´[UB`ac9j*0ŽHA:MA=LGS^UQ`@ϝŷ[|˘pe2X{+따QL䣴`4gSD0 3 `BæqPBRQY갈L6(ҮWyR|m5,POޙA (;@cԺj#(nZ  C 1Cs0@`n+" UX^7.Ɗ\]JHMZH E4bZRM=S XeMCraM;Az IIPRb1Ao(J8q["u^: ԘM=1 "%L ^*w3Pׂ4zq4Np<2C>J 5a AeaEC@6K}Ks#Cu+Y *-$aW fe7M$eMpqL@Ĝ_F5u@.3jlQPZpq)98_8ہ\II(t P%2*4^î0Ed;Dg:H*NP*X@:H UҷўxՓOOⷾͼ qhzW feC"Bf H>HThPTֳʈր4|CYH d '*2ƶAMQM_/UfeC"Bf!L4!6IMtIpMr+ZR\iihQZF\287 Ů0a>f5Ii204/ja^QJȘa%9q2T7.&npfep:1$ )S#TTX4GWpL!uS %E'K:TKZJ C!>jH(T;BQK@ʢ:<`U2;!EғpCp9 TLKJ*KMsPC!ĤgD^E&hXAea@ U SaȈp _CX7 T`4cC=$0G!F&G6O%[P˧:Ҫ,7<99p 2Fyr!"{21Y:#0!=P МQ xTj80Gq~-=crJO&iGmXAsKuNL,8-kP!hF?D%DG)%[nT2a < *⑵ja|UBe*)E? * U#` M%(Ԧ}4%C1%'"B 'A/=q`cNJf "Uqm\6)P.:Ʌ^SyJEqB)61A*B RBN)0+&I2C@vRlUL)&c75:)(c4 χ;V8ނLuGQ`M8F3݅3P!>QTy֨aaZe 3.nXl5HDf%+g*AXArDv,8$< ) {vbU,`mc[Y+Izjhc"twhiP:qGUHtٲ%a$iLIQރqN B!<3֝T? JCBB(`AP~ʴWjXeU;*@TTU-9i."9 RuY9(U<޹)K۲_^ e;"o $;W .!F-*q7eX`Z%3gTA`'!5{iU mϼy޺i| Cr6T zёu:BP:ǺGk.XpXc1V`*4:k7q_':kS_Ï9Ks->/*\|MhfNG0DTw3ȾjcUuUUI*\R)tQ8Q]P<1 1LxN VRMAb:)ZɒՃXLuu2['wϼ Vj<=9L9ޅD6rf\H3r񝱽ˑ|>B%D^x|?CbW | azoIC.pέN5'cPBgX%5jL rzjT Ȋoj"eH oPٷ#"fW>˘ ] s=e^{89z [t<ѽ`YB{p)ncDZ*ǰB|!h`)]0G+i %a)xg\%pv8sJL Iia@Ā.!PQjAR5 X7RaLP%,TT0JN?'vTNc8D iI'ĘxgoySw FU#v{-ՎO(7&$#K>}P0t,T9L 9<笉KHGAhT[>gzISyR\ iPÐbNjM4@c=*:zq>pwCQ*l j)/ >`]V U/TT`~TcC "`Q 8@40T&3.UT?SQS9]H床(TE9T*9ғ/AoMKO iq&x BT7j]E= &Ac1:'3R6kaDŽ3 *IYFb϶ >!*C-MT!R|:( w0DjnQDÙbP$ T&af2AqW6x`,./9a%E5UͪNUB M=4&X[bt78UJ) 0/&8@3Hc2'ǃ4TEle`}˲qBXaNԹI(bƴ*6j-*2_QTJbT29-*)E @ jhO!,*ɏmjLPEQP7Q),szzQ[T0__!Lt4_C T8AS@tΙ *7E *(U>'Tm=ԾT v QN@t@5H f~v5&4p(*tp6Bh:4Z#gqxύ9'8דy˕ 2`=5x`"lԆW9dwO!RESxD9ÍC`FUhrs :H7dEcNXf.V{},l^WLiF &jII&(D8{B5(vL}Lv$<'Ur u P /SU P,Љ&55G2Pn/͆fi4HVuFA|CLja%SƜq|k<<{~4E^99*@>U3x5 X2%*!KL 3v(ڬPQX*.CA0:9|(wc +u j!zw "ӄCH,Ԥn,)\|ġpՃ>3,Mcc#yD AA5Y*-IQeP@uZ (%LC ?Pa)$ "F)+@…Q8!B '(j$ Z 7e18aicdfÒ!R 戇Ψ^ ʄ*LTU,v;T&4"aB8) T]YnB|rpzRFԫC)o?UwRɁQt,xsF-T] pč*)j0HÚA=T 8p H:t v۪%/@CT|T:-܇RsCYa*a9K14!S 1-QL$VTb;TQÐ S Q N0 CJQ95DOt,Hw7'ΩPd!T5AXP*>AU9MGU \Qd_ @TAT 9QTAʬLάVO\fBZ5 {`@=-,ʔKFGyjo&&\[s4(I4I*fFhAPɌ8)C L"O"C)BQDGiQ-wJLW.!(c$"UHԤ%QD%,&Hu9Ңyd0/#G C0pY5*u-8~S,S4* aD@Fq*II`!@Qq9)Qk"" = H;s1֕s:%DDD DA2942jx& AP9 lJI?B! xi@*M]u٣O+GCܕQX&: K`*A F +(1B%"J *upa\QpPxQ9-** `t̮fN948H4B¢Q'ry_gEQ]s)Ԛ'PP;݄9>]+&gm ~T R9c%ͼF6vXؕXͼ̝1XZu . ,k<:hcUu@#x*Q JB}my"t,:35gFwF^ftgtk@kkkkkvjkkkkkQo^guX,o:j@;Q0@YaH xԬh)XTT,U@~B|\W i7wu?0x3PS5DJ:zA2q*ʸzƞ7u!څATs T(&TD2 dzC`ʪƞ}!ɸ0$%ʇIpjRNp?Y暇jzFq j?U#+VB5D)Q bQ (GPm OC"QBk;T5|Xf/0Ku;@#X ar'od1PL6֪" FIJy!fXu0̈ʉc#1Eet pA:Bd!jq-Bc""6&o]@P?&fYRPIPeQ3!4 FGUOKM @TQa* *!.}4 x z  A (rGQA*5( iZH}Et[K_qz1 NiBjRqU% j`jPjG*A"L5hiꉄa8ȒTLQOR l[7$$aB@WcS 2{ a`ɜqqƪ/6CTGF9BCf#\rAb?ءQؤq/%`rEX&irq%Ti*lLo*%,;qdXֶnUQ7r*JX^/9RaҺ̀991q=`0=ZÁ)*@t!"SyUEϵBCc89K쩅DEj TǾ0 %Dʋ5D @~MsUøx| MPIRFT7T`4 x76#9n S*ܮ`ORsf찼*!WbR{Xxna.Yyi\4 gTqvwrOdAQ9#r P P(W4!L5{ bbTd!eIX: K/5SP5tcF( ӹ<СRxaRPo:0:l*jpG5|G+*/;0!Į&`!}UM#p^8hR9CM6w dd[*'#c(#e% jBJ F7  5.D* 8M)8%AڡjjF<'C@=P1~5PꆀU`€ UG ˖g@DФbQ :i|wQR bbix'JɑBD*boSÙ^`giҷzFs0h*g:Gsw9 qڊBU1Rk, f`s'/w1+G}VT^N7 #KS&H?O0;G8t1Z1̈́+X=(덋T[%v0SQ#^CLq,P:>iI, Z8N\snL: 9Bi)c$0`x)C\Fܒ Pm=\z1Űꍉ5O ]m¬vji@!Z8,k'7=LQx ./pJnUC)q !H]iG|T^ `  V!Հu P4{Q-ߏ~휸ZO'G| ]!al`?޻rE>pp™x; pS8f4\ [ȸsLBx#R%MhtR@pS:Ҫ a :e0Ȅ>vAxō50pޒp879K9͠_broN]CF:)f*<sÌcÆ0EHRuh0R8ETgZ~'"}%Ztar + H[`BG,17[Y8Xpݞj8Ȍ/Vp>⼐,6@%r/tb5qtt |[XvuJcv~m1(j5HP< u q\uIYgpUBdaU*"nh:Sʊ Ր /QH:Χ#`ۋ>d9 X /:ID^TM*H9*+ ƒ|epԓo'XR\=KyPބ&+CjPYࡆ- nC2( jH¥PGc05  ,Pg.ӍA`@r FJj2 8%$lXFjZlB Q>1N[`I^iBvL+C+)]V*!X )Cr @r qۍ+jXCY ͭSQJiIY rZz & )iTJңQ`LM4CisȁdĨfH% Xp#CshP0 E#Pd ċHt4ȓ R\Iρ­}y*FV" '%<%a07D r.`mPm9F9#րVg2CP!&sq}Rc4 ș|4Zj[]~)1E0? ̔[ hj@7YÈ$JOpϡbjCRҡ,ᨍ@) 8 l~-Qo4[ˮ*#l(h$|3^1S+T`zjKd`s.* y?ea[(c-Fr6TT@7ʟ/< â]8xcT`Y!9UEWN.蚚WEtevј.U*T7n 0 j6$V`!EIss>{X\|@w\*t?qwWP 1T[EZ–%&\QL AF\SWqPu<[qYBsmθrN<98d{_N =ʩ.D^3vnTF=t'4Fb62>Fn"b W8*tW4U>YQ-!meiƆGuj3]ߟU?Ga@0~֢܋ŕ(& QTgC@;G*MPsDb@Ãt3CE &.r%|0ư 6@>Jt.?y] `dȎ: &$ QA`@d焬5qeKJZ1 N4M2 Vp8`r ƘBuLJLғxDX.9_ Ge.Z,OM🨚!0MP5xYw Q$t7փ۹v" DS}^ p Ԫ`8!U"l1KF r<5@]r z`l@??  QF?*9+LuQbC\2KMQRӝCpNj̪j`EQȰܡ 1=lsy1K*`[!1b*fk &jhDҪ6›LFi4 *U.4xRyft"ε]j,r ȸlSGOP2w(*E``0t0mPhSGrq2dqU2|ZE&j).5Nqº uȾBwH@0n*7Vwnr ..jRN_ @%QA cAk,#prz&X|T9j,U'DUrtXtUJbI] !1|A*" BH^!BlVT;D,uJ@ `yBDT7'C#>=TX:(3{EW={kG<p}l{6$:٫O# s7yuǼ8ϡK1WWxu~֔A|n|cYnamd*\XϏy/"s2ueIL\/xyCIkD` ʉcBXUPGC1Uuw_MF13E4B ["1\9 k0 $TLarj~?W 8 R O(9R%&PрRUL0'1Z+j\ FSM;<^'xJO*AʠQ׻\PQRCб-GJOt@/ 8eK+ ғ QHiP"ZrT6r ME&%CZB!"`.^m(P j$UY}_RΣj#Y$d}DuF Q b SUQ  õg@v|c 8bCsDS'Ts-](lf#@de913+}F(="%ɜP!EMrqL *:ڠ`{`+Ɣn=}vHyDXƨ,$g-XYʆڬ *ˎLbdvcÆD5$_-T'"dRjQ80=apg,(9q~8a7Hr5ӓBs%E((^B&DjWA%'0IPIIHW!\(&I@Zu|1r/MB>BA@bMs餖G%Whϗ`eha+ '#L%Ȩ9ZG!T?:֞H>i_e@uP`v0jPpQ߾GdӚUEn^Kw*%L\, ܕnJf^rr/59*9j(o%U)KrVu@`D%sEeQqk_^{:QRRj;g]Da\jTĹs߉`Op_dB.WCBQ[^V5/%h*0gzg`Mk|ZjdK)=֑{[d vv^8U ,'XW/XM83.˕pve bgv.4:9<8i#*Ճ|Mp'*cXxgdGGZ+ysˋ;*`ە(.<\Ƽ|ڏ4j 7%srLbNjVu䥡/k2c_Tez֤*&H//܉\]pTUU(4:Aܭ^%K\`}/OqOF|]Krۈ UBnb~ǪUw#$ޒ);|}p'M/^Hq?"x|QK>D rxHs` ԓc D6E*Dnw>6fVƦ&ƪȋA+pGiIY< Wqs UږAJ=a_ҢXȆ86* <28q`xpT஀p3^k ` q8cT^a|m5yP ΠMJPU \#Zkԉ5F Ԥ3 5]jC ' Tyg1sBɕ%sʰ+5 ~J$Z#0[)DA@O WHU%묙θD/&#c~&e) Tf (vW/UKa)Ҕ0n?#jY|YǼ sm_iino3)Ow Q qǮ3#YAЌ">qs, B^x!@A`Bae2Ʌ@FꍂB$7T㚦 V+-kC4IdeZ8F?N aT0.r΀{cC<#~eڍ.,4ԏay tXgʐL[ļYDnT=Y-P#V-$pYH'Pp$H#VVЃQr8@L~⨓/(7A`a  !B$9p x./a^9=-< H D2n&2?7Hc  ;ɠzl_‰wP^ M 8 XM nM]sN'B2d\-`JO9mw QyF12|3nD ;($` .nd_e˯?R.8b"%Mca65 Nee I*IYF(A Zˊ:FK2;D0ceS U*aS? 1 tu-[ἽV_yz/Fp8)/*?q0 yvZg U )18UQ_ `ǎɃI'H1_59ÑD hzV)b!󎞹8ȨPUm.72J~9>5KqU?(I/8˗?yîb=#>/a8-|yڛ;3^YZ\AQipAٌKP 0" =%mM PZ# ~w4M]Ω4jEV(qE1TJULTp uIiɳ#3Ӎ,%DCMF8dJ1c^ ]D*CvT cXFT*mNpgbՅA`j-(b0x~QrT6T 6B0pf @$LbaƤбTR3p"eP4?4*/*blqmvRC0I&Qsr4`? D$e8H%D b^!C?:C *0ʔo@&A!M”巈Ag`~:34Gzx!!0Uac=jHTNjΈa rJQQŗ30 O*&R=LASb=XKEW7ωсٝ B&jՉcPJ rY|15#57 !kSHT> T2ix^ yETt1J0hm֨U L*Xk"Q s BW&9RIiǠ*e=ARj3̹EGܜ|q1eׯ=b>rTav`t1Tp/MZV5C0 '`&:2mR Vq|μw#bRqpD1C$da+e@=]c3B*AQ̭QLd:ET12,-5j*CheDu~kE**'.4C^993r/&3`\Y2!Q%XT09Wn]!! &bP*Ld6+nu5/ =>Zet/Vk ,HF7-Aԉpd?Ð1 i*ٽ-8\"C(_ jSVc(Qťlg @7$cDYSXzn?\it>>&&>-S9#c*qj/$ZXՑRqS^C))*.&nHSNP\^T'(ȜOnjyS;֬r" z&s!r1ys.4)3~1 0<Sr2U x+SqW1.ЈZTxC #s`!H1%DR!p1PD 5@Ra& DK&U8ahjPoGTa%u7o LJNF%efڄ!,m(-i8IXZ/c`TaPdu BÈ@L_>ULe]>,BVLQ6F&GXP$UE~Y쾅2Sn*'*P*AB(c3hƃR<VgC'7r^}`]6娽7#UeQ"( d('qojbO* Aی:!< ѩ.H\LɇY; vq`F6 %Pg7DJ́UbB~to Ic*n1R3\AK7*"OՑ.3]'tY ,P27MՑpam1¼LQن3 lkr(I/uc% 69G-6Rt&~SY'+EVfwo%Dt~]y``Fz[-pXBcLLy9PQg!`1` ?jZ$H7; knW8(/˲H:Ѱ} b`e' Vn.M0jNw$C?Kjx^[=GHoGu&'TVUj> NC%檗aU'.\c+]+֠X.Vkl4>C!WNhUENI=(AB)PAR_Pڤyd0T3yQ!% X_* {Qޣd]Sy"㥐p0pkc'NNVl9`MeQlt Kx)%2|pZIWbnt{ uaO,u񆷗aOx#sv[lV WM C%VK*W 6~V6<${ @+ 0Oc6iUEG+TRRHj$ڊ.Ob-sWO:];fe|7(Nұ? .S D$I}suJXjH% f^<9+cOHFT6s b$G '[M 2nTUe$!-+c@tkw=<"0(!\xXO*s݋0¯etnZuv7\+;CEꢏ :TPf7pj_WF(+7ܕF_(.ĩob: @ rcgkK79:q:`]r×w<:q S + (<9:{R|ѿ^p2}Du\bh%A1<=mFSm #`q&dʅJl|E2ⰎA5DBk$xA)j)R() cUHv(<=3x{X˯jLx{z O'xjnx{)MY瑞L"TQ`oD$Bc'/NbQ{C燳eJRV!5 ǐ =UN׳ B5 *B!=ަZ0ɕ`ؚ -0X/mYւLuqNJⷓII@sjC^nn8x g>*➚Q,7è|->$'&]9Eʡ',HB JozG_AMJ Ijry8TVoJ[?,#w-AG"S(+ ;7g>O%3*+} /*;ATB@ԵHi*^+av@@"D+OǐHH.HNO5gSҬl?(,,$e*Բ@,Z(-j]V@@1 !T1D1DB-1T_\zYݢh$@ل LIRRqz ^JPL5`~:wQ| (oA`^04`$3ϬB6с8ӕujkTq^齫WQ\!1 ơx رj&0s@7 /2ŀF7p7 _:V969 e(d M<ˆ PrIX%!%MlkQ29@Әxgj')dn CH*(r<P톣HxqIfm0.M ^ctP)Gq3ÉOcʒ"Mpxbub܎đ\\TᰰĴtTsU6)ϊ0PՉ&TBuL,ݑZ`;PɊ9*y4@ hqP5-?,z-a !P[g-)Ff`.r-N1q1:U; R,:UX `B` hG#ل֓k~kL?j1Υs;s#݆1~iѵ 1EgIsے..r,||?8yas\hoL~Hjkkżƨ>r%[\S-S99d7F"E X9-Ϙ:s;XZ\ݜ/>L~JlBbΈ>7uhΆ]䜘+[Q 5 XjW>bv&+dnVc6VdzX9Czi, bSnm@ ͵)/Q96zbGFQ1QKת!|kr?ͭXDu^d0YLܒVۚyxO(.'D3g?/?t?h6P5I>g(c1_aw@T dQqt~z ԉZ=ȗ:Q(BBYSG]DZGu0j CQ E]fr1~l4b$ԋD_*T+ X+0 %Lz=Tnz#̏I@)'18WBsNQPQp/j06l'jNJXT@n۟vr}R>u1vuG8VKlPܹ;&r뿱<ża+yZT^R1M„5( UG 0j qKRn'j#!MjNy'~Pnuق=uڇnh7Gd:]*3,& yN'/'nvg7W*2 od7*wUMA HE|b͌5&OKc%I%3X$H:iU AȁqH6if0 lCQ0~TfIC> Iv? ;X72 @A*)j fqz!'ITɁuJxAڠpah=nX['aKP"TR L竢:d 8ClF5`*B@ UbQ LҨ|T?* O2q(Cxwb>{̵#!V`|S<+ȐN"0[ x ˲Ơ0xqRcZT5Vz7F/ZI 2s/Xc$ # JhDDxHjfG3Q|T IIQN`SQTҘ SiM0 TGaBۜq+\QQΕv!k"9 c%DY!S5@b]Pūqƭo|Hu._e4ʥ*W?W@7ဲ+#g`..X#en;ݝѡǹ.26CC\nS^ۀ/Md*x jS& Ry`P:^fA%QII!/99ߍx/ -rrDТ˷ THnq9pYHU4r̾RcC4_ Q` A 9N&b.:jG#111C | -~YpɖBT:6*@q@x=RK +&3EQك؊AP@$35/0 :ƙd`Uhqvu5 $*x2O*S_1N0ƾw9H5`pԡAP%K,hB54zvI)8 8jp וNP:1YJ9G),< Հ\ >#*Cƾ_LG@ M {N?HwRg|gjaI9q88%wHb'{Nr_kS~`]Q}5+* Qrܺ ؍HPX3^UWY508(zr?XsJ g.6>+)[xό\yZԀEK@:,xܐ뀯-s ]ӕ;#n 9זn rGIgs>pcGdQʲ'\~Ȝf74Rd)+$ ס !rX2YET_M3~.ŵrgV"Aq,F;LL 7Lq*2+f9T.b ,daƆQڡ`u0* qGA'C`O#q5$\uNJ[ 񙰓p+Aur;̝fy|D?V jZh礛b19gx_°¸QOLzΩSGè`P[s^g]Td]lv4.,ܸ׾;1qۓI. g`ːQj-NklHc -rGv[L<Հ%: } !O6]"MpNlSw?b mts0s?Hu>\>ƼЮthV!RPu" ]a0 y7M-U(b &ztTG]`TCOJ08RcY.QDʓL'` JyR`_aTS*c 1/Sk q b{ =)'j"weQjmTbt@v e W AW@q^A *\2OL&3 csL XeʐEDM-8)*؁*+RBl5`֩9QTئƮ4scE>?c8a{ N.jĕ32T!S3+ep[CJ1PҪ84484FhpiS-484$pwN TM 8) 86&LvҬ 484ULb:U YVlhpic .QmڍU04GaKTؑf&"^%2ro~u? k2H}TZ0n(ɆxMiQ#J/ CՃCYQkUC+ #=C敾~pFF'l{* F@*L* 0-o ~O-00;,*cc{z fo, o?`żp4jp9&pX^%x.3fp)߫ uOv!d`t9.7 ;<9 ưtOgW>5Z=\t &+@uEҸ12ޭQ$.ULhlFS'RqaCWz̓5` :v5>s!F+):OU aN'DKx[R>bN*91@ ?ɂPf -<Y*u!Pà"TGiq 万@< E.H8 >60Ix@2TBԁv^JM <'!II ^Dt Tpkx %D *bD8FPlzPa!pR >3$ ,v@qA^M `RAU#)e@%UM  *NGr5*H+@3棹FC9fS3l_VX>c`8ѼRaP֩ O`ZKDސDy>BqLjb|pS*+@猋x%6j47HF " LDj+Bǵ€Pȁ!ܣŊH3LZE4ԴSd}TZrN0Ѐ0g,D^^_j>8[-R20~# "8@Fz9` iP$) 0F|FН=0$ZT6h0ʚU8 gK7J(JO̩I$R1#P "ƪb%C74ȡ+N`P6TYO8uk)[r(-F-=nEE G[+t_mo 4 T9TX P b3#^ٱ"Lacʦ0^ufG@5˰jR`Dv&/PAQة 0h Te9~о3j'!+qO2NH;H`K>/CU!аxRwPlҝcC:h4;RwK00)P2C ]$W2HgzuԮP''II ɈLVTtC>b Ȧ*hXM-=4*#iiT3UE*zN\RЅϖ U\cKK@ѭ.&UJl9'P5'\09a3[ `b8+bQ5wnQ1TnAOW徵NڢV199tyjqv99ބc5\XН>8ڰqɉ`xt1)k՜U%\_.5Tn[ z'V^Uc:< dp#{#}j E^WGJ E!=P(@ *TԚ1kiA*EQW>=g=![C Q\<5QȊ#+aIC!o ߬ԻbFkyuoZl֪*.S[s*fABlT*6* etݮ11Z( ;' K],q+H$𐺊rX}Q 3)ơy]h;.R8/@{2CJ5o>Ԝr-.9,zvNO[.f^zU\3^6JYD]L:S\Bz(ƁzJn]y9CX0@+0֔T>∨ZCP*/"1!Q$ uY!'w Aڌ/Ҙ! B jvp0*<EY{;Dr,Je yRƅ@)`u]ya LpV/{: 8^JL31 \T FgzjZ `E0a0rAͫHiڇH#*y{y`v}E?ΫfʒdCrC|0k%5f^hY% febYPTa!r`LHP@swT6JI44]ER뷯Mjު$q|_Q-@q`eC:UK-cT8DhK?L-a*9Qai()4<6rL(>rztXuIxZYy͞`͍ێcL❏j:*GB|1jf8Þ_ @ꎧBN N40Ihj@-9ʖԏJ^J ƪb%E5AUEﰟ4g-ѕdB%2LRj(/̎\YJ5c.$CAtLF U,.a2^[qmJM1 UH1פ!H u%.nb]d!D (uͬ`z1.t~BW;XԅX^rKOkXX6A]c ۫z0Yì,sU.@\ FSJZ$!h|qZ!3{9(U udBNZ1)1D"_#< ?Q6̷/vRAX)=]5/Tra@k9uS`ZTIVH :M#)4, !Qn"F`x֨6`+ R !*L83}Q& ju RpGp!QX'3F# *09 htȉdBukw*p)w)"Ԑ;n1xL#X oMDɬ:HB0j@ehKe:̑57(CURӨIi)Pʚq:VvXD'%R@U: Qw]XWX}2KXQ+ =rV08-?@v,nwCa\,(=9+O `cg/=Emn8;Upv)e' `pW}%p07 k.TcsyeIv6^Ie_zi,Y1 `U`AX p_\(YaɎAγ˘28_v0{XKOθP%ڱq5R\uʽv`!> l:&X`'z xrto}|jeOVx a8BGM;7~ȱrU4{;]l>HFy=+vI,p] QY5t%bU̸paG!Uhγ\`//)03`);tV ;vn{`O?a0sZg^/V VO#';?rrt+WG7^u=oUl 0 E Wc3L@#[ ф6+ ({ •YZ"y|ӱzea< ;n-PX%9:6r3C w+L)kr28 W>ǭ`/S,p9#,6 Hhtv3J!94=Y;Iۏ+k;Xb.?E`/ecwe`ln+E:c[~;UNQW~!KS`%IѯpY]@ dgW዁Uk8N.Htb5I:"RuY~Fa/F\9 '6W~-b^VRaËRH⋡~=öS\mc/UGw{"zp5dEQ*цJNp.@w;aŎp5iHv.e%=ƶA e?"@X uMʼrӭ ܄_a!=*}\߅<)G-ρ]أt|b&rg8FF;]/n`DD.'H^HSlG\"q7:]C==8׊pKu=3_1@Q^C ۣGxxpsccqX{)l.]`dFrI-S׸͍{[xu*M|I}uC;|0 sEzN}[`mCVSx/_5?5ĭÁ=`< 3:C:Y{/:&n~1Ӛu|\[_9=W)2܄^Xn}&+~V"6k. x$&lef]aFx|vŮܡ9B#hz/RiacuzL lk+L=G0a%e(pdzl쎠F4:1[%?&Pcx=1sy8~.;O\Ar' =I< / 47(5SO+\9)q rWqNJ:,|^͇66V.ޘɐ|wߝߞ^|ܿ# T7^&Κ> ~y1'4rIP[iy:5su15t\Mɛ^];{>; ( _0˭lWw q3*NScHbg?2V!ٺwUEtW6\ ws^8<05&6֞{/ .rrüzFYe돛8ˍY\9/#`Aƃ+3.1`Ə73fikwI[r7u\\|Yp.܉.<̜ƼML?jwviFv&7 P宴׍8+^͵<|kyGq;#KkYW\ºm5Ch{87a/=qͯyy &zg^5O#Fn@[skG}3{Ar6>n+W9 {Ryהwr]2Egtorw&sd nG|qujOz-y{ 5̮ͬˍlUWkįh\9}WsCT*~#|?r+P ֐kx_&C9v΃4/|_ƼxXϕas֤gu鬍8.:$Wߑ*cWqK_W0u=^ƚ}= Ʈ+PLWYuÍ|{0 ~gveHsK'q-y9wWY9#Z0 o|<Þ\$=.ޒ\8мq'-u$t½@xiy/O[[K|)9g~mg~Z-y7y+GSg0uZ  9< 4bj3wwvwΘG|xj[p Vݚy\Sj~7Tvh[cg /R`_gjqu^--ipfmi^aj :cJ-vW//QnaM}34/#]XXۧ2jn3Ν\ٗGv.kn :gzl m94O%s%rmmO!@7A9:Z ưxQǍ,e|OmK/7rA͹rI}z0@q[W86=W_N02'w,E7Ώ~n~+O&4rk{ 2339umXŭ+̜O(YˌR¾A}ѭ)ىz9;b A>msb O!#=  }+ Wc;&9rIqʊ38fMP+\Y0OO}5n+fCkg[kPM-#y|m-δ87P^bdF-12rR, kt[h8?R[F^8F-VWF AifqI6z[ڗi8`S\lvi.,leǬTۘXX'<4z%z :{;ccS#"mz1o-+I#)Sl8bboT8;q&Z27&d6VOI1 m8}>DIl77k/P[G07&.A}Aq׬Qxldj5 xs8sw`X`\'!qs-g'6Z ~Wft&nKK#p8yp]lk -Kn Pgg?xh,m\kaAɫ[)Of_⯴lhcFq#8Slwsjk=~M+_܌wMٶz,MLB-r=?Sg9>=0/39QI>8fb_E7*d=ⶶƖw.jpagz~i38fN91y쬳1{+'(jiD$OrG0:c8G6"ฦ'9quD /[(#=LlWכyᇍ?gzkM\b/>]pUqxW8~9f"6Pqb";,q8ے^Yݮ{c&#ۦ#ښڨ:>=rͬP N(G$tSF<$94)nǯ=5çOastf:Q̜4)hqsÃ[C[W}zoypӠz}FGn=s71ha>UlݟZQO˰mcd_z6%۔ vHK\ }9u#l5Q^,Z nke[][nHt*A! RN8.5G=gq"qO(?hK<^܍95klQyI.J;'"qv;)1qx^O qe[ e6m&6qM,}7OLeaa`]=0/0@uN]fVvoQx狘XQʎ]^?y傗rWͦ{30-bEyy}z/]ezpjjvHS =ຸ̹Oxџ |y4g$篰?[Zi.X:-?^ ߉U8Sf5yo-2k\pǘ]xM폔|c 73cĆ>f΍sqeHVt-xl_Ɵ0L&\VO|2M\XݼWwS߆7.WԸ־rdb.%P_{`t#kNl}_7-cɾ/;[Թ_t9> ͷ:ZʼwA̾f#zKاv0xn`{@$Svjd \qw,V?-P:64ی0|=/3/? zOyzo3o9M! [aPt`[|y+<;yiۑRsfo=PLS9 NXpMnaOi.rN$t/ܿs_Th~w'sO/#YqŇAok+M+ˍ m.YIqb!>Yi^[9b/ݑonތaG;ON.dDnRGȓfn`g髌7pc9 9p/qU,M7&1ɍ-^\R=s]ŀJMɽx}8?gwoKo]k]n3@+jG)A36z+gdbFˬM|Qpg{ertiilsg_~`cfdiʎr[[;z&@:9O7.;֏WN0I$y^%Rxa^t#t][i?RiqM.d仃SyN7/>[C?o(v 7ciIavoT[o .gGe~4'{} oG/[?*9ۺ JNsL[K'LV`%enH`əX^exwW#9UҺ{fcdË. /\noO|O߼XV ż]Fsd 6NGw8;*R㎟m6Lso7kMm<3a\FkG8vu.6316`khb#->6mωv\ t< #8˘.khMu,ioLp|NԶu?a|-djN47`m|؏\$u\Zmh_Ǭ^ c;roӐ&l$`w3|^` m7<]]թgDk'`#\M9'9Ms2w%=8rz>?h}\HqkG0,1˭v, 10nS/;5q70 |t (,- $ɽ_xb{-' X;ORP0Ll1r99ϒ Aq7y= @my˼U1k:rO%e>&&: 9y͵љq^YW|'eFd |8?bUSq-?3#W8XyqyW.7 ƍxEǎ8"pN1r/r|o%$ќQG`䇗!בZֹ:;0/(&6],8(B6gysE<[Zi(:/tWWK{3 6Vw5_eԋNs+ ]+S\_.744q7s[B 5ӛӑV[`:6Mm9ӎ7P t)"y%׌xϊZ'h5$G\lsE[ee}z̻lOnmO|Μuk.+~'oF3^Itok߫[(gNbh.KhzX0[jE@ؑ}קDo4:A$`w ejj<^ylYhg73MpGsNn9fQ|n'wX.1yexI8`5_.Lmm7" n;.b򙺗 4-;3\Nŝ9.s/MGrS`y=ŮpʼSSb'uV&ta⋔-V^Ƕ?VN3owGO#riÕ|Uqɐ8Ln2^}xog0qGY{s#K#c=uyѱqNJd i=9>^1{ _!0r7HOO|D|&.)ߔX\$wNmv3+Y ͸7ii m +};g-}݅q Ã4*s|,5r;34'z?O?<6fIӹ8ǧ9w7^w㔓#;_7ˍ<-OY˴=[?qB; +n^ q\~;١!M֚E{k_lL0h^-hx}2qK : pCç5.DҎR9 SWXNumbfmbH`.7[klr⧧-|~:skFEl0r1q;k \qt0_Ez72(t[]xӎ8ے34.&623PsvF['`o;<'ɞ <6'{_e`EV.1E6NΥSqIE2ⴃun:pI:#R\]f.xfk Wo͍ l&vN7Hד;y}M^|mlMݣ\RLRO>~&4x!t& Ǻs|N:{{m`aov%ݯqς-z1uuyq\ZY{-&VVÝa/8rP M=L?:>,V%s88";X]Ww9iyޛ|[{ O^IkEb{hd[d㎜Jfvfmb`u}]E05.0#tSC'W``t]L |xӘ:sCoMhG1?cM2z=%ܗʽ3q_ѩѥҗqO;r7e~޲7f›5.Lׂrbw/K{]I.ӧ G&>q&r'u`I2-o+t5LK=ʓ둒|wΌM0s;IIw>?{}~oo/z9^ƑV4a" ~ޑxQmFT>Esċ{#w{W!`%Y;4W?9ؠZZ9 +|kPG:0rl1~a^}`syka``c]g*Mn"=Øy&+q<Nof.{kBLmq93s?5`^ˉ^-HScw/,5;S_`}G.ċ|m,rbbo\8,ksS48:}}k]n^[hto$'(5u[IՁz͹.Ǭ.m5}}}님ܘ_ژDκؙ<| KSc/,>4OudI`ư/Mː,\ޏIt<`N/ƴr 1XٚQܢTX#:!r0.201<8㌸wa`No.}?V>d{\\\}ÜĒa؝[=(d`_AnUNK_Y׺A&ؼŝMɹ{z!ߺqGsQ|.;r`u]ՁߑY|Vz=s3G,xާ66xiSKGʿ X >qsto-qO[#S jRE ~{{G/;=6PeG0;5Gf\-^vzmdʌfgtkl xCg=ȋ`kᾷ@tֶG?hgI$Ɂ>96gV>-a}sw39bdyF^ڶƽ- 4To\08 "ۘ:q7"6<{GʾľNũ㋘mmI@$o-LP|l֏ggH7FW $u&{.8uGtgG0?FMY="qʼi̐l?>$Ǧ9sKJAH.>NmGqYppi/sFq3 E>IiF/5=s5%Ɗl);٨90#x?}9OOldkHP}peiiNМ* e1@TK*3"ph_s%v2"BJ:%!6Q-Vk)YQL}r hEj#B 7PPx]VJS2+ϪGeKMa8S r"*9 :ŕ:0XXqQ$:)׽ ^cёUUՀk7&.K룉3U6L A 9-# شcd¹J[udۂDQx:nUWLRmks=Ⴇ慑yx,0!T!͡iY'NEHjQb AUXEP$7$ z( JD8YMFmH$|":_`#P9L./-3N{Wl5f$9Z\Sڥ y"vPUX~h` *KG@q쨰LgsH`Q ĴviTRra|xQz VڈLEZx:?JJܥx9Ie0 ]W&j@8$^}04tCIxifⒼ`2W@!VHuzCJP7ܱU8F^E )T+rl?a\CivP|/O j,2f6nOkPE]E,`PUQ@}qQ GD,!BqJ(⎛w/5^uSEtj$ Ñ EQ4.\}QuŠ$tꡥCxd $P)%*bT6| `C9TrQX^Ҧة0)U*tU pQRg#)R}:ؑg6ʅ6D3zU ,P蹈ڸ$s lCw嫣hV\@^PY3C⻄1|qD'~T`}z1:]i*S|0a xC `n=sGk6IRiż:"!n.û21YYT$u0@\/s0s%؇܀ 㪔 kcb32*l;35S5u5&@X[PsmRku z™dyȖ3 aLZO,FFP6pI㑉Mc%ۀrˆXZ*Fa 0j)˱z(h C Ke`i`Qh$RQ0qW#U)7ks٥2ՁbLejKOQEsPF˭EUfSyX<a5 <}$mx@ p8 T]$PV @C}DqCfr'eꇴLGSCoi2+peIUQI&j~sX  &0R_jt,6 6:F `*& 5 R@j%*!@Ä@t8/Fmg!*᫋`9q(S ~s<$-FdEN}Yxˑ[ޫrV+a5˄Xֱ%X!rcJVWAu޳V<fwK5 Q*8b1@r<ϥf};s%q#Uw y zHyn!aڊrjcT4sb \i{^`\b]P%`+9AsyBł^,j&R&lLK %&!`Q.3lCJ5["^_wP k@b'/z*G!UB{$cNT1_, tލ 0Μ^ \ dˇVxÝzT=yǨG~ ۀ-b{~D|r5uUUHU`Eߌ^b# # y `*VkV:m|+-lαflbŋ#:DHHeCc7σ6PEՆ*=c[J;Qrtfu^@Ԡ2 b4 l\0Gb8(kd8謲9'`OHq#F% 8 8.=k`d2[jbɥH<*{> >F j " B7+Qrғs p6ONїÅr0p$k{7nC,݃VXoUA,}/ ;ETb_܇: jpҫFV$!Bցɘ{WW⻆:|8Xh;GE.\?+W (zT5JB`sBUC5U FJ@Ʈ5G;Q%D Q8HL$`e/ r;Fj8 &T4xdQDԃ*ᓰ@ޘ$!$`x MRS20F,"32EX "Eշ>Te(~׆xc/M/;*ԫ(<^_2[t|mЮa">D;'Qw]˘pe,RHyv>x޹xM:.c'E^V pdlAÒ}A1)28 jxTKMdT/ j`*9!0΢ܦer5ĭ*/v}1 40Ad 0@|(m;AMBQJ!Mb!%B-"@%˶ [sm jT̊sltY5 jGDGB."#i?TNӑ tT"UIT†8_R$)ʵ Zf"HyDdT0f^w$*A{! {GPưT,NzCB|eb~@ p>yPf:" 9z F:ᘑ PMnSMRwKLziBzO!"`O3RvJM.C&p 0GP?HrMFV#OAY\=X_'\T=\ 28^LX ?UYR|hcO:Cgt.jX2V4jхhbDjO1R]rSq"݋ s6jܨ0FեnÝU*Uu?ZC@8 @*K djf$-C7<*0F:! cJʨl+u`X5*ËL!@s| 1 Csj Vm#1_&>, m#rr!<6Qػ:Ǫ kP F_8ϩ`&9Yb秘9 b`MŅu*=ה!%`9kEds8T8)&JWG T8+j3o 8c䇚eRYlm DO\a"r@6} Xe@Q5<h,/E֖.o{EWpbbbbba+QpF P dQ6%B.=@XPP&7%D5)\T2%EhzFH:F@,%D:'%T%C i!C-יS՗nE :fA=^+Q4aR"OQp 'oЀoFށ>n9gWu^gp9<~*at5Zᶮ0`sb??zM>(|s\Wv0̏s49*ט.6v˝w?8qq<$Xb~)c!ya|vN.-|Ջx,dcx V( >tf]xG[O0Mu@nG;X69d.{Mw6/*'VX1/ zqv8".[.1⋢~ x՞іU* a?<ĐG\[WX1!{[2,K']Ðx};>dOIunj~5Ĭw3ukes <3uWnڰ ?ׂn eW>(GוֹlvB*LK ޜWָ;"Iqa;?X8?=ưaR鵄 N{|.DGBr{Do<4iMxWl =Ӧ\90yi}oǾ'_*჏xˏY1n J/! 7:}7\: pUֹ#VL7!ڮh6 ĮZ+!1ñ9S k>sKgOpՕqpό}f@S\"rsWkفtU~E8.V0o37-X`0K^oQ8z%ϑϑun6Q}g9j|o-qMg+\Ba$]a.AE?Tn  9_.k& *<{7$< N V7(15Qkl+88xsx9MǗ4T{qML/[x\ PʵsW<}\Wܥ[9t5FyK9O\Ƹ_K|[Oa؎pcv4@x>P5W55b7q:u7%zx|hѩ8z*\P]~9gk/LV_y5 fH]͓| k˟yf ^pbOPI#ٱ=ɑdʹFMirjE̐w2"f7$tɭo7!=nI{'6?# ܉] ͝7k[9 j7=p:nj뼌7c1vyַsrAC)^xג:yַsrA>WEwO{c9Ȝ`Kx xnD䫅7[&Ol~G7$}-syַsrAgrE,Fkn#/l]RI#ٰ-eAVGs {2Ct2.4mh^E$4Vr>1gTd`8yŎK^gŹ#+X<[0 o6+N^H4+soN]:o(2uE9tn\`<_y}iuOs%jodƕpۏXӝp(i걓0f`r/G2w4d a{ (XXttQR^#b,>K0toW+b;z4{0t/ќ߀-]2g_S\n'ȼς/11\#i#qWtX>|1t&[w~6Jp,Uf~ȼ[e.J܉ӯ[wMnG~@ˀcИG, Db7Ka{~ z$My!_ ,8u%A$ ZXoBs<^Ckz߮`o# |{6x|uqyH]Y'ʘv<kN'7}#r{ˣl wc2x|r>@1Okuwv?]^`s3xcXrǏP=5\$w>kQOܖ,7H-m|Mq>x}e*5 v/z\; 88@q> wrw7vSG(r~#yw'msůNo\jZlds6^y/Вnvw&Ml 0g3]}?~U+>\앜n `YƱ1gwQko~Xnp:0>6+X .+قhb'x˔Cp"ɜֺ>vIxpƝW4~ak IqvQ˸kl 8ο`F%iw\xqm6W7n*廃|vy1c7ɸM%x\g|/|^=a3q:O _=mǶg*e\/=`7uu:s0[nx%՛Y+Ex.% .xg)co MʽƑo-ts{uͼX,&,xcL l#U^;֟p0 WqגK|VGַ3y5p_DeXL7 %*V޺\X.<#1Sq_v ?r6(AV'7rӏ\rŎrb.->=0-E_~=W@rxlt@K)`)j[}>Qgb9Ýv׉k͂Ll X;qW0fCaw aۋ1v⛂ NƘs 7b.bwJ.ᇎrwQGd:s ]2+ @q]x qV:B1{^F 0 mPbmmUbVz#8N2%#ِx\`; "`n*yg\^ u7='t5Ʊ",)uUVɒJ?%ˍBux:U Z/| !Tl]sk/qg<0xbR\XxPw^V',,]iZּ.kZ9\tMq9 />n8Fpq~#YsVjkɸEOy,Vcπ2 @aOM17rVXrr' 2$Oy뀘Ɲ ~`~ܟ\(~Ez6Ub7>j3Xzp=b6&,x yzp.cD_qFz,x q*Mp|a.7oMuwF>bHqc[/;?qm[&!|Yh. W9z+h;{7 =р8?;8>)񪳯%:ǎ3cE8H|p-Kt5q :Fi~Ǝ܍0u֖9W?n/5"<]X`y8`Yx!p1a#rK0Vތ9k%` 0-T{ל~c99택lq|zX~lsehLLvZ/]Ҙ^';6w~D?aۛ83<Yӻ'{:{5h1s߷_L.9w2F_GW__^m]\U8G^S›+:'Cq8qc=vX+9I0xX3t pخoj 8"9PLT6]xf0-Na*vGT*-!j^= 50ʉ1UʌTL 9p-0TYxc;Y9a!17(F+y0r8w;7+IH OÙLO,V0  Y)T0E1 B8 *N fr[l>}^>z9 IBH(rCB [zUy LCpZd=ރ~QM!QxAaBC ҡ u P8&K8bb8aC. it$r$12ц` 0TMH2L2*P!R &HcD@7[tWy7>d69 D6xj*T2-g33t6%&*KNiIK%ml:u UIUB8BD0ަT+Wٕ,!o:qG92959uzi5|R Զh0 ]9T?JdCa>dZpeJSҢ3- Iqm<|f"%'uFt0K ^LE"%C]JL6" A4R`䄗Qh9 2lTuj5MEnt F!uP+UI%DЩ* JBJOCQ'KM5W*' Ctޟg`8t|tӺ6\d\y LӼ^1AQ72p\6k⻭3%ػ_)Ar^싸H? toNzv 48G@O) ,iE֒qz q A4$j*,zRcP, asVuI%fL`a MuEgP.( T0wR@FuQ+ uH p\菈V'0 -)uXdI1l, Ĥ8\K ғ\EI`I. gƨ3sD c&<GQ U၅`Zj. N5*qҡ1~!qJ\DI AH1V]\!2J̷CէUjnR1 jj3 -5+}^>z9 )BH5CD,|GPr 12k+BT0hZ9!nqN=$uL5@I֤/UC'Fn 1CpJ"&jKO,$әzO WZyS'DAIm}mL%&c3L“e\R[:)+q ".ԑ$NiR5;"?-9\TlRZ|r TPh=c:(P$3,5O)eȀ TN|B~.VW4aTsq&tC/3<3z֙^#ӥp#g>&Fkƣ5fr.^A /2 o`'X% qI={9!\Syq@N6=Xj`zd[+z֥7i7!"'i:`볒p+Ց.pK'^otV]Q_#[o/+YLGS|1 y±=>g;v_R6D[6 ήSܞWxϊy[/WU֜|?NB7qmf>-kŵ_]5"wOwv.|M/>/f\t^xp(]ƴY0uj{`'q녶[mMY 766v>F`R?|jf|YĮgSɨ(D k|[\\m>Grs6,fg;؏*VF37@q[eɕg==r:RM5Xww[\z}H49S$g`__xa_\vOYZY0CZKeЗc2eHwmzn78G|}``f0w_c!,^M1Qo5>`MxêaM]jo4%sE(K&Nn~Mq_܎qj1+1 Wx;}OX#yJ|ܫ =*} tRCr Xv83&ecP]VZ:(W G,z]c% Ի \ڣ,pZCFnvPVM3"qj# o4"%M2)%-F%W# }cmVz0l] VS%=au\(*{Xa@3 (],!)BϤ2 l+5E9*@! 8DGc2pU\ԠqrF qǞ|OůO9Mp8#lӍF~PtVR> jD"qFezg%>#ڤt88I'6ܠ=//w%`e:,[b܅2e\+D, LZ>ܡ2! Lt ,0a^HUZ "cXBdb8por2VPI]B0ؙhK:@<Іјz=ܲ_*>vMH~cOV,cy|O6$i٠$! DԄ`:*"[qV\Ǝ[a ]Hja3 lA\2 *S UPsܣ$b(q?6Q(]e#Qa@ 1ѸH]A#*R:=.]Li5$ ne̫"\A( wLPSZ!%'*T>VAGk*!,0 ! @X /4agN9\uoVC`瞼SC> bĔ#Ӄbu8oulnazS"IaP`/2IrS7(+`4Ȟ3!nw`8:rRyH{U h_NS:p|T`6xU"6)ΪE5C:PE>8vO/7eu˅䓒;2mkMtIT1%a. H^sx@Y@zreT-DBAV'- Cq f4䟫Ԗui'Dr*HA|eKn1cwqGFXʣbLDSXT3 k]Dd6V\NmKiͽs'}<} Ǽ ,&Gf41*xm@TXf/fJڮaQNOsӤtCR H$Q}iS5DB C!1 ̏f>6> HҬ1jsC$PU'0*у5aڐGTv# 5;8cbX0_lt661BTy*CFI`.6`c x$]@M2Qr8dP@DHHȁ#  Hq5е 'bU R;Q.ʋd{é!J>Ԩ%E.CaDJ8Ncd^o@/MgT\RJ9 E~H __mZQX'Dtx<8 ArZxȻ Qr.uT;"A"fjwZG]],Ӟxl N__H`w\hnihmq^AVD۝Aڴ>,0A$.XK9FWCy%D $l51tu"8Gg4| 'dRq\= (0=$85 B3a-bt`s.nJ*@C $Ei40~Q90v^FM'1 8Q7&a$j 7#^QP漶P!vua{at몰pH!0qf*Xq$鑄 [1צ#Q30dluMsIA'ȏG$hօW_]R3èvZ uR*o$`'t+[zw#I3`mr+$Kv>yxǑ9W;3*fe\vng믊M'zR,k\[j\-n7CJG&sj%F@XHyGX~=@ qOSe8X?vC]#~S3#3m%f(@q7^bv1N}o "2cv UT :;< %T*0b&#fғ@%C+!B$cGs20tQ: 9 C eRlaxvcqzTJnIJQG T7BmyQ~67ۘ0b 5iU"\b$K JHLwJɊ`LN Ú]0@P8kRޤòԑnSWêq_p&C!0ag Sh \wT W*N(-h.,X0QVsL|o_X kђUQ*LoS A;TI}ŀvV B VV `=`gFa )`9 *4G 5a2."jNAHZA0:=KxoW*uQiGS &DALnU:XG/#j)֝UyJѹ-UIrDpde" (\rTNQzSuVn/LsaBʹG+; d-\8(!#d~ZE!!^>AL\ ݂rOaB(grڨB3˸Y J-v 0/xMfđZ2`fGAV>%xfkuM줨` a,[=)UI5* &DR<RJo&!n:ZnDž"Di@k#c0wW|v%/OVj1Rz|0$}0Uhiqwh&濼4zo ȌmxōZ>u>9hnH䖎-C9Uݣ?533134?7k<н9&ψy;=00?;sMݣ+GZLh]_Z9ߒ1s50r{G7st'4x1hpѐq{G05331344xegsK Uo,hdB7tTIac2Nk2f0 B1F6):(T>f . -O ONNH6f6g&F6V&Fvt'p3<0+|SRښlP=8z27x%"`p݆}r."0 ȶ(>=cTB.^=Cs ( 4d2:ZavrZa"1LF4CKpixѼy Yg55yyʼܕ3??v*`oyOS8g㾥''/[Ⱦ.+f|LKL9P4aʰ…`I{WL0zd2>TsU6)ϊ0PԁuY'O8i: AeB֪Lf^/ I8Y6M@C 8XD0Ԡ8QrpP1P7FT:õDEͤJqTЬq@&t5iPTtQ~]fH/8G* !Hc.e4tIrgEMQ )U*v3*R+Ds b*`#Ft iqÊ9IS'03qSC)`?wչ xq /F <, q$Kk. Lϭ] SOm?7S2(Xsq֮=Nnk+qHP \#fPE#nlr9 @yLs )v~Wjǧg4ma_\* J;G[xс*sw偅ގ/L=kb%=8 bW'q6P=|qscf.܏p~qj %p`+{9 {a-ܰ[dA$kcm|ۀM0hmtyہktR/ZG^r*>-Y>xapkj גĤ:@đ$x+u徙;r۫?̝9a%Η\rr}DqLiõ1 X`Ubʋ{5ٮlpH5(Q7 uaӬ["hXv=]e\)b-{xbǧ2 u0!A oRo÷iAJ1;ơdL;X׈+G\ ~|lƴ;+'ٯ"1k'.;րY: |h5eHQrJ@{ ereRUHJmhڬkmPuº#=FPk#2>Vapaγea0Ɯ¹FD!`8 lH#lT8s"\N3~bw7 ip[Gys+_U>PJ_HӣG:+y~S/r"1GZj0E-Q3h5,Aĵ)o,.n\EzF<@/*fL>3qcPÊZ^j&ZmjW{V?/[YYV .9 ˲&S{0X8PeXwl7XJ]+o7/ %T72&1*! ƵU0΁=DwPn{$T7bڅp6ѕTU$C1^:8tЦdMp tpvE 0` w \p@ʣ`+ǜP-55zXh{B٘Cu*gj 7ܝo-JYAqcr_,s9˧;?)3q&37d&ޚ^B$Ww:/wjPN=yfn)v8Be#)H 8%tܳ3u AKc 5Zh8= g,9rB; ub@yf{)rM7#q~@?yTA` xq%EqےnXBsOsԨ}xt$$p_ډE,( yQnOARz*萲MĺbFXxv+/.x>?,9'pzquf~]ce]muިb(Y8r-.⇮O\>9lƥ% Oνߌy{4s fWQy"qg]/o샅ȈS4q)qgu3<8e~6K/C#hc59  bQʄhHz.!UAdӥŵ<1º"@uDT?b?PjHHGhQC%}.V%U$N:H8DS ҡ5y-6 FLT7 V Pީ()UtŤ`dLWqJ0>sF!TU8uX8x!Smt62 ~&2ьaLd:Q7!AԶd<*!%C`Fd%}ꆖT}qN*, +^QY(ƣUu5TWPo"e ɪigfYK  UXyl7=T^) BYF(ȪHjD8eۢȷJ$>65(i;-5~-E +F:lq-Ns un50P@BcEAX 0S,!<*' aߒK|OXCL[79cфΘ6rNeꋠED<x2BtjRVZT x*ciCA*6% b"g`Qa '! :u Q6 ̕ TCMQ!*(.C. Ž.?n` lM!qH7 ]JO>"`&PPHO N N=Q~?[gWkr7^)¹TZk[ZUUakMa֓!Oïso@u]\%^=|vcuɹ3cIۋ!y\P hb)η|/+ǨciK_[0o49%}Nj0:w_҅ד{rLe/jjjdwGb5}%tg%zGk(v6t} #Ɔ ES>ӊS&eFm0#mQ [5S5u+L]LˊP@`؂z@ kST:T2?bhPr|BdCP [}SЎ&F7JM0d -GSy  nW7ao#>U(j& 0IQOј#&3(!z-GjbZ0PNq3 G 5<MA cQ Й$*|}7cbFe3nPBӏ>R-CE|>Iu\G O^a\pnRXB&u;* @MGUcKPMv8M@99z2h6 hƌ** **azPCMdD+=J+Jr".Űv F\ NG& k(Msr'tC,Ρ|0yr8vnl bNg}`#0q4Q>2&Y6vv(ye o7;]f=Zzdm Ҕ3s劄_1H1@j 3Ej_r=l ]Ş@~Ӟ+WRi!9{]ܘhj~Klxadl\ɮK|?yC;,tޟ`q^OՊb/IP/~'6o XSq(ʎr j1r#S2 :AH@Eh5PBp&ic\b8RMi@_&c>R,2!N'?:)u9YD)EA0:pw#xgA鉚N1\ <.&TM7؉YQXӪ+q\Cqg;0-.CH|r XvHp[ҡFaD 0m1)<.N*"3ncC9vA V9>pMTjE=N9&eJUEd'(p@JwԚ@;ƟP7y~i0ΠAR!զ:|.A lIC|Թ`e3 Y_rMa瞈zE\k`ߪcWA 8+ƿWþ,wgp똥Z}kA*Ua"8}B=]B0A[SʏH^F')`f4~yӰ#S T8 tPYrL7tYi¦e-}z{,qN@!/Qc&#$ UjGC=ӄԆyMW BS: CM%h7reQJ aT̆YV!iw2ģ @ziUXf=B⑭_$,9QEanps5 Z!H6cw7OEIZ`NQy.*Uj[39\j;σuC;u>wddG4X<\C\Sr3o#"r3sq?r0#?g03'#" \Q1b:FF/ i|2pt䖻U@͈0Hn?XW;*?Ѕ*BeʌGQ`[R&įU +.NT};|0P؇T&A{1͇^.JWM<%Y,8u+R@\2\Ax*D^w=P/>* r ,TxQx+p(TfcaKU.yu9@k M*B!xx`(5f·xiP5 Gp#. U@R zDts:e0naGQ&PX{QTlj|h)|UǜQdw"wJ ^p >.)/ō}[sp:!=uF|1)ԘZ/5&e_.O7C1abѼV$"X( V3Y1P7ΪG5T,MةUܜLZ&a'uhթ'u0 DX f 񋖺\p~:XX@(ܹv^71mZcV_$,p1%Ӻi+X2) RqĊgx®8R>zʲEң rAN Hh sUF3v@ykaOH(ҲY'<-vW'cT #$&ɁQA^Rre.u cI;#@\ :=JP`I)9 >#K%k#]"a}f(o`DChs~`mfyFѷ];HTN( pTD]a4yϛ9d5V$庌F|5XpƋVVgV(bPqH4'? .._g/q£;RR; Vq ׼va(?+S!ÔuS²`& r|!-BkR_,NUCu^RVN "zt^h Ԭ(a']aL9U8ibCLn rQ<O$ !$4Ge \]Xّa:$L Od(B(`=A`Z|l)ʂ zeLRxBV&᪌|cB#( c?CMB!)< %&@x\Tޟ,HSn*%n&PRFxڢ.n+*q5j $fWD ]UP38GQ8p)(G #ĸ%[:BrLy%~>l7;.akbx+3'R:G R)螦1ꊁWS2:]=QMIE"YTS)]J^]:aΜ}UP0#WB)@ Oo\ʡD%`9sFz\\A@?ͽ?T ST#5>1i\[f0%aj0X#HWƖ ǣhqac6\)WpT=,{#_qU5VFWvvŠ0Ӓ~225b# Qê dc RTL.+8kJJBs Ʀ/Pڨ#W-U#y6V$cWK̇Zf-Ѹd1J뷫͵Gw4m5qyr-VB$#եqj|BV25ԋAw:J};ܢ.0!+.TBDsfhAQ2ѭr9I>;Ouǻ[P)li1,\3Fs!ֵ,Lk2"cBCRHJ9kW; !UG%@979 b ֈlRg НETT:8XC+:0T>;CC^&8(S0U\F ,?5Cf 抆* $Al:!8kV{wo !4lUfC(-|1Ĺ\jƦ5$TOP 4T2 !euBv,dehSXl"E.U)A*Q8 J]H:yYS uU(TF>/*#ɪsO%g5:P4beM7*^Poq ᑀ9-8!V& Ax@&̧ŒhŌ̧RxBIQJ<.fٜiI`}ʔPL U>R-bZR\ ssbfE_|x إQ͉|aoQTO6*,CgO62y =YALrS'/Vؽ]"xI2<cԇ U%WraP4LL|Ŭ|h (`M1m: \dtUW`zKVTwunnkh\g\0MPczksnN[1/"t^ CT٘:2cVx3L`32>L\ٌO½)PhaL"t *)8c)DcĨcĈnAbGԐC!Ť!)7drZxF TNl&1Fq'@FrgNnz19)8Eʉ xSC` WTῘTzobi13P sR@kaJ3eW^MT#dVɪTS. D`gq_9{r;u8AariC:-VsTs@.V9>lEwPpٟΑ=GQ8ܵwqhCW\gpk.U+/HF.aFJ 8ް +b?qF.޴Qk 1@ir]aˢ]%8-冬:^ȽXҌc%kk?%^Ƚh"Q#djEXjFT\X|jg7 c鈧@; Lq$XK&s1lXWG|wA؄D0o:C-&5 MԨύټ&B ު %`>iJTὄQ+%\ {yJfD4X" eR(`T/CK.k5rju,qt*_ۣgO/\yBZWzO !yғ/!`paL `(&0X"%l:ê%J,0ds%OQ+˗N\夒NO{N_KpF=1!Js0!]Ⴈ<8@`鮣W ܑvzqU,(G\`$XqIbT6n f8MXU4k^'靠 I ٮIԊ?y㉘Fr;' ܵXAWNfjn/S$$0 \ӕfc^fKEعSÒT:װIpE$юbBOcxɽGVY M7G@? 8>Ƌ+}- 7Nш!m}\ǟ?=`w`Nw`41@,jX `r:}xuc̉8/ZH`}\R[f-Co:F9I $NK2p|zIMFqymf :GXڷ>fl(r+?+ ]*',WgvUy0:Pz#B`A}yꕐ 5j~X ؓP\!\PXF,.7\ R y)LjnJQ~.JW&)1PɊi.JQ o]@׸qO_7Q ~x; X z Mo~1JSߦgZ4Ŭg*Tdb鄀"#IZ4w6ȝ vџ,, ;=g'XO`RcZѕ$1Vc_fR.ټy]P1LdCOH(  F]GANu45V2YAV4.`%`~6$Ks4wx|:~/ք}SnX& T8ш d0{'ڶ\1@ l:?s&}re"1t+{ao?) TD=+.VҢ!pz1dh.7u9ʌi"'8ɒK-/PVOj$n(SA3MTX MvVїcɔe3Q9p&b 9/X: EH*7,1y!KƸ2gCt9C.a^ac7.|ڏAq z3ߜ?uFe ǜ{x_kup_$zY3,T'ќ/^<`d ,{1ܤZDqg  Hȏ2+Fhf }:XnamYmO; R?ϩ2ң99h}SPa]1\<׆ȽTq$qE껿$^7NFr"`S;WN~/#}TVF]$P4pG}s|Oǚǥhqg{ߊFc }8uwXI x XX]k)~c\ *8mɷ1ud A>Fx=\Q:ڊ]!Άn p1;9(1ޡE ! 4M|:7j/HِT4RC땕S_b}8 ` 6WStƣHV*8iA ML a*@I@A`0IE0` 0A ` `0U T B`RP`00HV``0C,0ca`00MX '`r !Y0W -\ `9 `0WP  40+B   x`0!`+ !8`0X# $ lꊚ$-:670:#Ez./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data/CZHCN.QOSsg $ =M!!1AQaq " #$%&'()*+,-.02459EHXY/3678:;<=>?@BCDFGIJKLMNOPRSTUVW[\]^_`bcdefhiklmoprvz~Zgjnstuwxy{|}lςx* x* _O???_?l[O_&űl&ūxMdض-bض-b+++򼯯+>WϑM+mW,7 4|~~~~++Y 4l[&ɲl&ɴm<&ɱl&|&ɳl&ɲl[&ɳld6Md6-d6Md6Md6}o&ɲl&ɱl??&ɲl&ɲlɲl&ɲl&Ųl?&ɲlWɲlZg-bض-`ضMg6-+6-d:Mb6~-d6~Mg6Mgض-d6-bض-bضMb6MbLt[O?OOɳlųlɵlűl[Űl[>Wɳh&:MJ7iNSMd6-bض-kضMbض-b6-gضMb6-El&űl[űl[űlɳn#t&ɲlZ g1lZ d6Mb6-d6-bض-bض d6-dض-d6-b6-bLp&8)l[űlZb6Mdض-dضMbضMb6-b6-Ylɱl[&űl[&l[ťx&:-+;t?^):|W[_^Wu}znWrv⼍÷W7-zM#r~MW}z~M[r}^S[}|WlZSɴi_O^[9^)}}zܧ+ܯ)n^W7WniN)O>Sh|Wmz^`ض}^W:M)|==}=Urr^iu|:܍6^[r+9^[ӭz}=zo_N+⃕9^S׫u:n[ב_^W6MVzۖ9uy^;rޞnWɤn^[z[׭ \FyNW9^FAx9nW:ܧ+r)y^Wz+uNFA÷-9O&nvAƒx^;tNFA}xE:܍:y^[99^F7ܷ[(8Qq^#q^;r_N)r÷ [yNSn[nPrܧ)n+7-WF⼍#q^#q?^)ܯ+r7⋅+SӔyn[u}yNdռW^ SuoNgy6MWɥ|)rl[ųyO?_>;qNVld6Md6-H>+zn)z^Fۊ7+r[95^Wӭ^Fr|6^[:ޞ#p_^W׎W:M#pNSr7F⾼+7rWܯ)7[9N)z+7-}|<>)z޽^Wɵyr7򞞽^[n#q_^)9^[WMW9^;pnWzܯ+n[PqNSyz[ܯ)r7 +Fۤz[l>E-I>F6^WŴ==z-ir#pzyضMdض}_O?__??&׫zy6#r)j-JqEܧ+7n+xoN[ӫmz^WuznSni=znU:nW׭y6|#py7?&ɫzuznWɵrl^WnJr7nSɲl&r+}}=y_NWӫuN[׭u}yNWϭrr#t>W^[9^Wzr[׫n)=zܧWyyu^WO^WyF7k:+z^+<ɲl[űl[?O>W<|z_?ON[ɪzMgy6MWɳzzy6Mgr_O_?OOON+}<=}znSӎ&ɴ<:ޝo_O?^#u:-i6M)z|z~_^)lO_^+9_^W:~-g6Mgjܯ[ɲl:+z|ϭ=Sӫ|}<4l[_?N(~^Svەl|MUlO_ɲl~-g9NS(+WSɱl?׭-Wn#p÷SӔr7W8#pzܯWu)nnSţ )uNS pyn)>)r#pyONF7 N[9^Wv7y6}^[n(^;rܧ+l޽^(7v7Sj^SzzzznWSzܧWr7S&ӫzq۫#qr7pyNW⃇n[[⋈WqNFۈܯ)r#qO>U9^Syn)z-UuZW5nWr)_?ɫy6~~M)}}|??&y6 d}<|)y~^Wd6-buz޼WɳNWϑ-WϭSųzzz|>[ɵlz_O^)6~MU򞼯O_O_?^)y^WrM[ӕnWzy}}z~Wuz޾-b}+n)z6_^WzzMWŵ8|?>[z_^(8+?^il)ۅ-z}|^)_O?>Wɴzr\(+n#pzyZSɫzzyr[r[6M)6~n)ۧ7_>Wս=z^g|[&ϭ7n[׭9_^WӔ:޼+r+7+n+oNSn)n)zu|_^(8>[F7-S#pnvAƒ^Sܯ[ו:޾WznSϔrn[u_&۫|_&׭l>S|??^Sc~~-bض-guy__&z-[zr[n)}<ɴ}zޞ-duzoO>[ɥ|[?&ϫWӫu^)rnS^U [9NWzm^S+|ޝ^V}<[&ɳ}|Suyro^;r|}z#u|^#r[-W׭~nF=yO^Wyzz~^[y6|zzoN+u9u}y^SMWɴjܧWɪ^)9N(ygWyzEnW(8vAۊn;rܧ)u^W}=yN)}:^Wɤn[n[9^[r+r#rn[o>[nS׭yܷ[[nSuy^F^^Sӭr#r}^[r_Ngin[yzMWɳl&Ӕ}:[A}9NWӭ===zޜ)zr^Wzrn)u_N#rܧ[ϭqەr7:#rWn[^F⼧+ەx⼍}yNWבWܯ+)#qru}[+r#p✯;uz^)r7I7xnW9^;qNir#rܧW5nSy^[:vAƒrvAuz^)n+9N[z^[׫9^+yN#r܍r[qA‹8Qqn+;qN)nFۖ)jܧ++qۖ9^;uyNW׫zM)y5_^)zo^Wӭ򜯯WS<}z-WӭzvA‹r+uy_N[ӫrv6~MWŪzzuNWӫz򜯯+zzoO_NW5n,⾾_^[:޽^Wӭ}:_^Wy_>Sz6v⼍xE}yNWyyqۊ7W+Fۅ-rn)y^;q_?&uNSϭiNW6nF޼Wuzܯ+Fy^Fuz[ϫzM,7;qrƒ6_mz}_&הyNijMgr7yO?N[g9^W}<==:޾^[-Jzy~^SϔqAr^Wɫy6_O?NSӔl=|[ɵ}_&n)y6MWɴmzW׫z}9NWr7 [n)8v⼯+7WF~^[m:+:ܧW6}nSy^F|_&ɲj~~~_O^Wɪz_NWx6-Wŵ|[Ŵu-du_^+S^Yy4[=9N)yۈSɪA9^(8NSϫr^F7 WvA÷:[FPq^W÷ Wm}z_?NSŲm}d4Wzuz_NSӕm=ϳ>Ϸ_~LmL^~c[mNcŭucX>cXv߿~߿~߿n߿f߶߿~ͷ_m߿~߿~f۬ZRo߿~m~mmmmml>mmmo mommmomommɶmmm/m߿mommmmmDmmmm5>f߿~d 6b׆2lo߿mm߿~ mn7^ܽx7um߶߶߶o=%mo [o 巇>ׇ&xr}mKm{mm}rmx9Fx9Nr%+Kx:mmҖumuumãmG!xt~赶헃׃og^϶oԶ^׶ox<>m)m/xh^M+߿~uom佶m߿m߼nx4ۯ߿~߿m~~~߿~~~߿~߿~߷[߿~߿m[߿~uۯ߿~߷[߿~߿~~߿xT~x߿~uu߿~u߿~uۭ߿~~~n~߿n~uu~߽-/z-[m߿~~m~~~ޢv߿~~_wRyRו^,߿~x߿~~xh_~{mu߿~n~‹߿~m~߿~u߿~߿~߿~un ojw6߿~#m~um߷[oۭymOBxӿ~߿~m߿~߿~߷[o߷_~߿~߿~~߿~ۯ߷_~߿~ۭu߿~߿~VmVmV:+x d߿~߿~߶߿~x /߶oo߿~~{.^,,߿~߿~߿~߿~u ߿~p~mm߿~~߿~~~߿~߿~߿x)[mm߿~m߶o߿~o߿~Oo߿~ e߿~߿~nnn~N߿m~.y-߿~߿n߷_~m_~ ӿ~yí߶߿y[o߿yۿ~߿~߿~1o1y-~0aw0-y0`^~߿~߿~߶o`m4R߿~߿~yyۯ߿~n~^`nZ߶߿~~m%yw)m~&߿yvm߿n_n~~m`m'~0;>/߷[~uu߿~ۭ0@Nn_~߷[ۭ߿~~un~߿~~~߷[߿m~un[߶߿~߿~߿n~߿n_[o߿~ۭuۭۭu߿n~߷_~00-ik0~߿~߿~y_0߶߼0 0m|`?mm^`?^{[m`u߿m~~`ANuG_$0!)y%0!m߿~m߿~u`Fu0#߿n߿~~߿~ )^`IN~J߿~߿~߿~߿n~߿~߿~߼}r7~߿~߿~߿~~߿~߿~m~C߶`Tm}S`UNU`VyXm߿~m߷[߿~߿n_~~~u~߿~߿~~m`]N~{m߿~u߶߿~߿~߶߿y [o߿nm~߿~u00 Ny+߿n_~߿~߿~m^ۭ߼R~~߿~߿~1^b-߿~߿m~`#~߷_~߿~߿~#-`yH%mۯ߿~߿~߿~ۯ߷_~ۯ߷_~mۭun[߷_~߿~߿~߿~߿n~mm0 [yc߿~~0 ߿yfuh^`yfwj^`~߼4߿~`{m߼776~r߿mѶ߶߿~ۯ߿~߿~߿~ۯ0oo߿~~_~߿~߿~߿~~u 0BJ ;mko߿~߿~uuun_~߿~߿~߶߿ysto߼H߿m~uۯ߷_~ۯ߿yJ߿~ Ko߿nyw߿~߿~Zwj^e~߿~߿~߿~~~̙{ṃ߿~~߿n__~~u~n[ۯ߿n~߿~߿~߿~uۯ߿~߿~߿~߷_~ۭۯ߿~߿~~u߿~~߿yo߼O^n_n_~`){m0R"ט K߿~0׼~w߿~k߿~0]~0K߿~`~߷_ ~0~uuۯ߿n[߷[ۯ߿~uu߿n~߿~߿~n~~ ~/~ۯۯ߼ yR׿~߿~k߿yu߿~߿~߿~/0=0m ^`.]k0 ߿~߿~[m߿~߿~߷[m߿~ۭ߿~m__n_~߿n~߶߿~~ۭۭ߿~߿~߿~߿~߿~~~߿~n[u߿~n~~߿~߿~uu߿n__~߿~߿~K߿~)m~߿~oom~u/m:J:R񃫼`Ko~߿~߿m~߿~߿~߿~߿m~/߿~߿m~߿n~u߿~߿~ۯ߿~߿m~߿x`V߿~߿~߿~߿~+߶߿~߷[߿~ۭ߿~ ~ص߿~{߶0)m~~߿~߿~ۭ߿~߿~߿n`} ߿~߿~߿~߿~߿~߿~߶߿n~߿~߿~߿~߿~o0$#mnnn_~ۯۯۯۯۯۭu߷[߿~~߿~o߷_~߿~n~R`QR~n[߿n_mxxm߶߿~߿~߶߼`WJxvu߷_~ۯo߿~߿~߿~ж߿~~߿~߿~u߿m~y;߿~1m!vۯ߿m߿~~߿~,^߿~uuۭ߿~m߿~߿m߿~0N߿~߿xw߿~xxu!߿~"J~0ζo߼`x m߿~~~߿~uuuu߷_~ۭuun~ۭۯۭ߼`x,B~0 Oo߶߿~o߿~\V02m߿m~߿m~߿~m~u߼`gNK߿~߼`!x2JdK߿~߶߿~F^0 =m~~߿~o߼`~߿~߼`!x8F߿n~r^߿x^xxmQ׌ G05!xԍRV~tm߿~W/wx;^xm0x<6xu_``W/x=-x=/~w붽l$W=s=s׵ )r (iCzyrrD\(`ض^~\zl$"^FH"Ųai:&: 3bQF6 dcbAlU 0 ءllnl:B8ak2eH`^bRlp|Z8{b))S%sejܡuIf)̈6$͂2B c6# 0w݅1)wwwwwwwwwwwaLj5}S)wwwwwwwwaL^@,ėy!l=y#wan<+Wwv]ݰwv"L.Xw #N< lPwwv wwv<34yM"-tyx)uXHx)( x' TsUĚ5e x,eD0Ր j&T0tl kFMy2@w5~$qFyK%HHQ <4ag#&@(I8woMG{ě!PyGxgJ$ DC˽tʓawĝ!Rs&Ň>*>kyaš,9̀=<}^>xS K}7BIgt@ב"GQ5~W/Sy5-E.a*#ȅ':(.EH2HI0(&A,ghHt 1a1oQqhp{p B#+J(HyIH`(<0N"6N ^La'RmKa+gTyᚐ3d.J'@ةCjOcANLS'k2<ؼ8)1HaæwK@RR<,'DyL=8{8'Ya.5x'{^., /5^sȸāL"AYH( 'x' AP E ' ˰bOﻻ a_{_]`_`|H] ~jP _F {_ BDRs[ y4-=b_=~ G1=cfLTBEBO>ŕtF Ō~c/kG6K mbYh^bĻɏ&5(Ȣb/'=$^MH ~&2Qeo":nK6b1M$ɯQ6K3_g? {_i? ~3 2>,AfKw` ˿  {4kӿ 45hsD 4 {_ X5k55jsO &S~5QjYa+ZNIu#lpr¤GLVG1c +Bx?BFt.<<:Lt 2F{Б:hHO<[\3:e.F'@!n>Ō6&4Q0GDRI6^Nnȿɿ R ~ ?[˼Vpl]ŮRlȸUv? dž0F0႐t ? ~%=UVG7!r&I*Aabsr%qĒ Ry2_wHxO_<7dMW X7:@d /,< TÔ(@Ô_)?S~1FN~+wነ"5.l )K`?,7cJxsq&^858Ecp ^&.(a̳9aſ K@.I"e) XV67u0jY\.1^:c$>| D|א# 5BjH~9tkɗEI&ɖ*Il:=^Rk~<Q  :AdZ,BsǙ 7+xtlRXx!~d'?~l:gg`ݰ_-/'I0l~0ϑQp^*.`};s2)?ff -I>g#>]S\Sh<[%$1c^P$ytL: >4 :>GC-^@c^!JXn3d0 4oڏ3`b$Oyh`߆^? ΀`Bn0v'?eM4 BqB#? @' C~\G8<=C BxDX<0xxHߌ M -QHTAhaz:a>x^TXsE?gB8?x Q&߃]c%UC@䡄i1͖2hTeE!Ra5BEqL:&\tr+`Ha'') `joob"E_ ~-?tY:5bJww!$t ExxB8J0'&^.%2Z `F!6`z  h3T _W P#QAsǗ" .A5hN : #k6ld0xa'メgg B`q@ VC ~Q~L0ῗS~T~`Άao+ xo~.c#c*EBaoupǒp&ypr{HW]l!{ x&"a G E#!W!~l~!CkȋG}C+,kkȋ #% C)åC ŅĒrN$l'5axbXl N%"YD|0;-<ͩD&uQ(;* acͮ-DɠQDذQ jDb|$Yp0@x'Y1ch^8.XD] -DbM ~ƫB+8d ."(a#TT+Q~Rxy ^]EMkcGW5@Pa߇EYf#%EnbJaw4_"äC #~K߆ ;߆D я{ăxac y%ӡc^>tFYt -G@P099l/F:dGS AR1 1Jx9]V# IB斛 &)lE2)ԓ>W5 <7aBG <'L7'"N*I2dyIMAJ$Mኒ"&)̙ -#8^?"Gǿǿ??ȼ:sڷshcwwv#>ۡe߄eߌà>8'L"% QydE,B4'x8^xj|||EO02 %w似ɐMH`2Bx*l\<0 % 9YQkv<<<<<=*a 9(`{烏 bR/ K Dx% %[y? GE6upF{_߆S,d阥3W͏ahxakȊD:>8n9\T< $3'Kb`rp]0mD^;@u=I:"sg>d9W%  $y`*68?B CuçQ!l|L8QSBuGQUD&@|p3 [%SfS1H~x8Kcj:8KIJ9 68K iGgS0<.Q85$|0Zt焲^9 F82E#__Jӿ0+ ','hCG?& ?B'Kdux`jy,X{iyy`N8j⹷OARs/"&{<"<=B8xfG,& #"3Դ6c c׆a̎ƿc_cz`np69 N6Ccߌ  ԇy`~t<0< K0x>87G >[xtx.Du"! O??2^8"2^^^Bӥ,C>qy+J)fxx`l0V-,fEHp  abNeI^^_j ST .FgY"eIES \S Sb0EŪNBKȅy,XCBFPKMRNe:SJue 4 R6F%AcjyRL|c&a$u}9QZ iyI}X^Hч̅:6f+j.Hz³$ rI OX:fBNTfB0PeLuElWBlAQKdLڱ>xXZ>8-!A 偹xn|w` dTmp[/!ၺ/ 6x<(kauOGQuAR2&pya ҞYaP E0]W+?<UPTt<<<<1Y$Z&S N #c5 שE'C} a0 1c !r -CPRmN<3dȐ/1 J/S yy:NeIz͡ i8E9bHĝy$Ĝ?QcJ C.1Q!>^L.PRGŇ6!,1>8fa#!6xߙ8Ɨ~ ц512$ϣ  ԓ/&#BGS ̗ X'6x >>>"뇇Da!Nvz:~{_߀8 C"lt0^}0aNc魁/'xZ#)pdؼ02d08a 8 RQ -L7(`Zy .rJW5y'a}p/dBۦ Lup=6crHz:~xFIyyyyy >>8%%BR~~xI6=QW*sQ G ԇ+Rd)t0N!<2t͏Yt 20S^>8l0|peC#`>cE)@yH-F!") >ٱI$I<͉"^>..,h?rIRE遉HcEͨW'HUk9l8/L&2 YN~t|p L*hB 4c"!ZSTEEe*/LӪ>##L8nHQL0lp?5=B b7,,lr/ 0OKJ>>81\'#A`Z2 LW 3'{$. %ᄴJ`y`Z>8n|pAQT3DffGK~ k̓e'R8`xatL0N#W" W0,068 fu%:93!a+0dt<<<0O40lp]R'^V <)T߂Vr`·x:*?<#Kԑgyy:%\L5R#<"EplZt剥<:sW@j´!)gpGF~姂SH`yLN%3V )L'SUߘ#ܰɒãa$p8ÆC 㣄ih 9Jzz`blG#e S~x[\'\&w q >X,/  yF=~af+R$:<0FI~CB>8AN8#.=s2B^B#19:N(Hxxxa %ҌJs8xx`0x<<<0QRG 0B>DB#)!~ )C_R/u!x0C&L\1\ ,!xDJxf`؏y0nEK`Hx``x:!A"0W:xI #WMXNI*zze}I(T 9g,B*bu$x:$$N"Db֪@|'HxRT圱6Wԝ̆8!R12 ad%zUk9c*==2b:ӥDC HyI}e&BEe>xW*Ė$uzUyg OOLgўT4m}Lt== 6)OARk0yy>Lm=Y|pQ-1*xx`x:nZd2"UAb"JOOC uLFV!u]WT.FF6#WTƬ圳fNI EY=g,M5\b :"BuI%1iu]!WT갴HiI/\,0FhBGXyG&}]RK꺬H,U@#M)Z>>8hRuE(Mr'Ybf916l:~lAV'; a-"7Ʊ\+EMzaz` ϞO l9Jza-`\NPH}9 %QdI`;N~x Gš`@\ Grppx`pLA]/,fWϞ xlk`?C]JP a ׎ &>N.#ၩxx`|sMj=9yy`H6 R8KR9šHx`]eߨ ? ?ǧ IL XOJ#ŧea] 0. ` +r"/kC~1ZQ@O >)68*c!/R=0rtTf_e.X)0C&逭rt333aȉ`[,3>JZ8$ 0X!x$JB&I(p$t l %"Yx^A]q$"Bm5$H  O&Ѐ)u ""B|X%2a8Y^XԜp:#~`YtY<Ҟ< /L''60$|S y6xM~`PBW~ ~ ~0*#z6q GGyIa<<<0XNy)(#vCPx`92X$Gy-87]G6!7O Wb}KVr<{_߇'ItgG {_߀|s=9`_tȅHxx`F C0#8ϐj`o:0b >p-9a**D eEI+mH9aS Kȅ r.TW <U( aU".W W*ay4BℎYGF%B#j|,3j˕FЁF} TI P9mEЄ^xhِ#1u(S.~ 濿{~`+~ _Xٟ%s瀏 kJ1Gyxf!t|]~`G8xf|0+\EK9a+0t]GG0&#0&`MB9t0n8||]GQ`nt0!,r$7c#--,R%QYoTU,S03 ,~%LOLk}]WWh`,'\GO6,m O8`i:8-143JQZP&l :61"Ħb9RPy1:$TTL5I<V,qL5-C c(af,BbT+ xcKaLcז0KC' [ yy`_ Uk/ "-"ihr ah( as?&p|IQ+U"DTz` OXqL1Fd6F2lS5%t7TZEgTf˪uG}xW>GArjr0ً9bixy 5^/0~Y~:/ r.(?c/({ +0F:?????1O,5l6Q{HUʐ:N:Xrp`Yac皔|||||pl]RgnpuL:e}]QatɟL#:F#<"yQ&upN>8dit0i:/[wK '=~߂RW,Qtp0l<<00Fxx`le )`)$C0,0RxA/`eF9ބ4 MRIR'K4R&>Ab#_EXR]^,>^"䥄KTZړjL Չ|R1=f36L5䤈ey !\0e]V>HM)>TN#Ǫ*:>:$<"Ef Pl^$v/N*,)F-ah/")yym3TR0V>BԨBҘ"5jr8Z^^CKG$,9H<3^8t[ KWqhMN>>8/ `Cu0[RxHB>>>>#Li`1`zlɏT}zr 'L}O[r uLEf꺮aiR^^^^^^^L"/6au ]pJ "E.6^^N,36y^<8~e&Lx(O)-4äg\LaDx`96YsQI(:q#y 6 1q&HL6/Ж에 sdl,2//,!!?<%#< Ж0ѱt]M\l𿿿@ P"sX {u@at|p ~ i GO* Kt'KO n9sNx)'4}B`IඒvŰ5dJc y:Nd|p/\e%ɶ8OR1!L ),خW K qan!<#ܳ0e\,Φt!.џ)SR(`8!I"gaZ'%GEaj`GЖTd)j0(8,'$&%GU!J`,R"?'儣cBaB5` :XOF8tiFu㠔|צ '?.ずQ7O0 -@F>8P~s=lɑe瀪L|||pYit߃`PBY=J^XG_@QR8151w0~`8t0b=!Qx &țe KLl ? Sͮtp~|p =s=s?s=;pT:x9J.yynlő0ڒBB+'OM@ĨM91uGTB|]ET^x{{{{{{{{{@B^X, L D^8j|̹2b^Bb(||E,EF}<,{߄aJmWpǤ?s?$]GjpC I[{_߄#osoE| 2 ?dāf]lؼ0:t0 8:X O Hx0h]~`_Fx ~ EӿsȐjKt]W40/////'Itrt2^J`z2~>$%qC K{_Mx`Z`5,M[  CI,&Z'(bCjd)o!k$<^KЙj`rfs1ajE,W6sElqdpjMt ᥭ~ϡ#Ua1JFpљ$V$}HO !6/6^X9dNj*IJ]I8T$G/ M&PP9bʏ2`^iNˡ%>}3Դ<0N\ [f4iaz5\/1fIh0a1斞)?1K+3HbxxxxljΧOBNUʐd-u]R$L-???`Z:gS)IP+́d1- 25W+]^p \, \ Sl&`<=0B-L$j2 o05X8-<4t|||pq%Ia{_߂ٴGtcこaӟ߃倥`y:^^^^^Y'0 $p:=l"1}97,> y ρ3`lLF$a$\1%QU*\J<[61ec1Mf:ԲmXZ.lXiV 걕$ , TBaESg(g^ǙD%reTihzRlIVDF*jS=Q/V2dPe9[걋15zVa(ʰ]k(chcJ(K'3aj.df:IuYjQmXZ:zF8ꚳ(ETS(mYxʠU4LY, RGc(b$F>/TU6iTb٢*b 5TQY5Ӫ,bBjVZՋӪIJaey.66L6T<0%jXLBFՇJEʛDd}Y%ʰ)TbPa eKgU+uMV;Y]bV*j,u1"Le\FEX]SI.TCdckչ*(b5gtbRbU^Ή1YQQMlعDvMyU/F2К P4V$UuLtKUJR0]S:ISUb/Oьb$l8v#ajAe>e mX^Q͉ƕqE5RʠFmXŒRdv:PSUBʏ;ayjQ$UQ!ۇn^rj9TJ*mc:.5IS5U1^l6QƬPug} 6g˚-Tƭs9걕eMtPQ1%X.Q$VQ(QU5(Dar3OQeeZYՏU%|ؤcVbF*8bbUy[uJPr(NUUUB3Q5qN;qCJFMUcdb/5èbTc$c(^Ēai&&f&k 639\9~LɠԞT),OMMG?teSߘ̡Äbpy``p3R,Ay`-CHH||I??<=)9~ W,S E^,z?<`8#qu|~~yؼ|GOͽN8N0 ?Hx`ҋiI4m#+ ?I#aOST)S02- ` 'p'<`dtp2^`f0P0<-,Ko!r3uB2L<Ȓr 6#퀦+^x9ĄN/2h6D ,5:66#$B51~ N %_^d*C5焅*ox{_{g,]G#c !Q,B/6:"<#L,5:X` L/æKw RXBRXl0*a'QY3y_<1^X9ZT\0 bS%ks #"#c}t) җ%?6\ ){,y0`|p &=̩J0F mptC9R.U=S)Ĝp ͋%S):hs%:)&/"~X\=F$ .N^~~~x! [G ׎ 72<2^8C^b?s?sr31i̼E! \L1BxӀ2|pM~)sT`p(ba@3*Rs$Z9dx0`$2T~R]~[0fp3x`JzsÔ>B+O Wc.||||||pL ER8?t#. I`AFx~Rr0^X ?sI:tؼs]A):xtpyf$PZl P]K͎(IzB%>lor&*tlWi2B(S $Cr"^k-d Ndxp1rI~ c#,-,"XC/<7F8"2^X8-,=s?s?s?s2F>>8e:X!/L/Byy(B:kg) l<<0N- /1æX|0G`}0<^zf `lt-~ GK0|˫ 34`<XKJʌ EJzs\_m~F]M~q^ZG?}8`bt$0,1`tEߦ17Πn&9Oiya.ᦋ~Qq^X#k>L 6G]L3&0h5Dߘ4Jtm)yj(!QaP\Z6%2M]p0єzWx]/&:f\/6#B+TV+x0Ե*}S !S>(\$O >$P~醨TRZ[Q4ÃfDm \ =Sg A.!O0 <'5%%G _WW0mzR:1#MK~R~zߘ UEǞs~f-OOL^Z8K- yf Ӗ`40t 29BesaP*с.Tb 2&\(ˋIA1JHתE(QB*VF9V1f9o4#.Z8cJ#SU81O*$Lr>gY[ŴNe^EDha1^L3(I)(z#FFrf2^le шQLҬjE42arUjQV"UJBi"<.L4PazUz|QEWɇE&Pj Uч 0ҦrX¨,]oFU,U(Ua1b#c*UL=db|Ԋ>tҊK0܌bMe3ˬYSjuPK(m IRcΪjzVeVY(jiCFUXrO zy&.LfEG2HE4d&ҮU193Seш|,2JgĤ/l>NT,QB3I:ޥXڦn)ʖUh*cbr=V QїBꞱ,qSqۈEd.FU6EV::PُTbtT=.QIu T&!"1IIb5^L-$J/F!$gTՎT@Z躨6KISU:F#+XV#br<*qWFU*r$&BI,O^uGKJJEU1EX՘ʤ:,agUʘjʟ6E b%XٱB]_6'CUT6MTbښPҩeST٨jSTISju|L-Bi+J,S\vTҬQfXu:^PɱI#4&"=d&k11QOb>'U\vƬK*U(LeSsa9SW#hzaO3fb1\TUʱʨ6RLRF!K0O$u=ɱy6i*ĕ$ŋMUWbEWщ6%9cUbELFg)ƬJ*Lռך#g*:ljSea:KٺLJ)*c Uz1>>#KT`Դ0<<1F?av!2Xxxxxx`Tk *7jdu=G<ӛ ]cQlt?MeՍTlFMy.>ld%ÕcH(bKERJU^F'3uLe $ab%Xqs0AUb*dm^v#jƔr˪mKU.ьYQ5l՞N5TV-QɹR+(c&JF'36(*SY"ѩhzUGUDn#uFTVrMTjՆ3%S6c**lǚ zEc9SY|ThqE U&#rƔD46jQQæbS$ɰBO IKB,DÕ"B04J~~~ld|p鱳'uc`x:K G+3Jl(SbRE끂0aj`7:8` L$#1Z4 ͮ 'czzZ NI9Pl`ْ& JtE+00>8dN0Cl0`>:ItH[Jua& H0<3 F"p 69yH`Q>X *xyJϦѲ"6Xڸ!< ס i ԆxJJX;dp)ώ!:3`,샡`lf CDl1gOFA>2Yd  ~"rZЎ0.68# HRx//,`|qh|qw˘07b|EO\y2X;NX:HW80 :Eؼ<<<C3i/ WP|p[/<TwnX"lt<<03 L K?g2ǝWUuEU-  M~16X`^X@Bx,pvx`eႂ5Iyyyyft3CU߹ iGK0@1pg$(p1:f&PEpYaJ1b+HFX6/,YQsJIn PUr!.+A? .~[wG(Lc]0`p᫦DtpɔhAsa-xC-O////, ߀x`NDK ͞`_@`xjrGOҟnH7OWP =NxZUHVltŠ/ `_64*: n Z%,!f" 2#wHlqc߁*ؒF1j]gS7zaiIȚ&|ɗB @^xEP:F%&yK)Uylp:a'%M&Z#ť-ye 2Xu]WW ~-%!"Q!:D ةp̵]Ur_\2>{Wtz_\ V)_\ Χ|NQ\&////!ȋK彯F+:^^XK;g)69/Ar&C!-9RH\LR^N+L:,^X5vpk5Wy`֋ ׎ hn8P>N ixώ$"Rr1>n k(07Kt7y&x)yyy>{lCӥce}==G e=Tdܼ<<9RW??2nU_RIMz?3*B~d*W&T$P a crYU/# %内M*6>>>./_WUu]V&Qb^|&HP`uHYWUXU!8wt'HcfbjJ>|??6:~xC:ai Y꺮?7L)>B6yRGgTV|0j={aLJA(`\0Ks$/,eJrKeru0 `xxxxf ?s}pE\' SIu`tpp0d-:Bˎ`V<'  t<<<0c>NK0,%,  чxxxxcp(>.8L^::jQqiyyyy`|0^^^F'%I`r Tcyh`)Rx!A>>8FJx)ldL3͇M͗5b2u =SUMaR(P1EX+н :lBMIdLæIy>llFdKQRtTRǼYrb2NEI$]V/1Bgȓ&>} `ʏ'2#b$ՆVI%2nJ} 62E*6cQ91*:ԩ3hM5cb*6F2s$t̚4ㄣ꺸 #?7MbkRXdtIyyyyyyy  T鐺^XM6>>>>>>>>>>>#)S b^^Xty:BakK tgYz[2.J y`rt/,zk&Xor)`SG\ O홊L50ῗgȟVjjْ:c,ĕ)RJT[患 TsU19`93/2'-BQ3g.X Ǐ2"BDґ"2 l9Qdc<Kbs"JB^N&L؏ ώ///,' ~~~nWdD  )CylZX1dQN^X^pr^n0Kȑtp L\p #U1MYUQz&ч*<ړ/F#bBКK:J*^lrI"H,VC,Zf2] L/"L3LuWT%EH*IU1 k!62 1:0ꦫ Q*ƕe$>0 HT(Z謍XPˣ=M7=(ƪ}XW(I)S21:IymGc͝1Sj,^ȁ%(INITK1%LeU1uQRbJrUtYRIJM5OYN Ht-#f^b&ͩU:$bgIcI QI%#h^yBHDU*I0RX$dÊQTĦAs1 r X휫U̓>I:,,Z]pغV2lbRNgM1arjċQcJu>fC 6T![5=R‹ PՇț$b3/S>I6cȼ**^lerNϙ$k=cUBeabVu:4͍:ubkt?3YZF:ZBL-!ES WuX][eQT"dɝ%<(xxxxx:&=yNXLZH>>>.Ot7Mtl<<<<<<<0LN9B%2x?> )C*\ /\" `Hxxxxxx`JX3~nvy`/B: <$!////!O̒3; 'O[cnraH`xa ,,W*\2$Zl]bIŇ QTƑtUr&l2I!c(a0Rdצ3^`w{߆(OW</5%ɘlp6!$)vę'pt<<<<C)PjazuyiazQ쇇i`^h3TZ%a[ %-(WLCL^XHJXEtqTps1e SepX=l0H6cC0T0]<\s,`(``;NƫhgZRÇC / P F0>J~0;-, `OAahfpOEc.0H`OM 儯< 6xNt<<<<0~{9NXJ:Ha4m.f|<<<<0[>ga<e6d|||pEx`EJ0GN?`l.0T`(E , >9F4ͦa}`z<ǯ,T'#`Յ C )yaE ujM~ [ F罯sBoB`]blpN/ Ck?s=<^8 쓥#gya0$\RQ#KN>ڥ,RW :pY႑0 # x yt,P6\ $a&}#,I\,JXfL>C͙5)8"̦, x(<#8;, ͦ`fC#`2>8NFHRBE ,G?)G\eM{_`2=\Ύ #@^xqt^?#3#h=|p5>S++/?__QJk,.D>>>>>>8#GC^X7N!Wwl %wv8an<݇7wanF݄X>/!BNXj5 . {_r1iy:^^X/ 9H.yy)5lB$(:GY IJ)?'W~ wf=?3~f.5s.~a~XRW G!K2$s ~a60~_h|/\n~a3߀IextUNdieHK0 FRRx ~ NW(\ aR {_~@//,/?0cЮ ^l`(Jr^%gJ&<(SK9'?M#SZ\X 5bEa X,Yj:-21E)qeV/F"*4(/6Xؘ¬:N1U=STX.Y(투gXK8Y[(z, \r;DU5Y`rg*Ig49VVTĖbTc0լ"PQX1 bE(IAI*I mYq1LMS=Tӡ1ʞY(9f5,k)RUY*jBVPڏ2DLOab-TLLh^I6:F$U+X,XÖa҈(I24쫫eX]TVJSbajGYT6BIU"-U  u&B 4:]b.e ,U2j˪ˢu\*Kc eXژ65bLQuXj P}r-[1z12A/S3V$rRN)b+1#$$ړJlaE^hQaGeL]bkԁz0ژ%N(qTaNYxcꞱz1R]f#D"b.(;Af(&cb*RUDkU02K$]SY*cJtc]VThU][цyf&U=cVʱʓ9dhċb5=Tj< $=QjFcU0DZԛHʞ;$鰵MH4jNTc*l28f# S Eհn~`vS~`)G'Co B:zb6#fc*Jzz` ]s g)s 6KޘO:c G&>p0ѵ&ਕ QKJ1ySi*>ӦD`np̽01:DWN)WU )Wtczs&m04:#eǎ fөJOw+)AxI#<'#`9?dL`l<:~xff,0xZx<Uf,0m08dpC&prk9 yyyy `!9(pj/<M`ӎ^X0 O`id|p<6$gãWzf  ׮?0n|]GL?mpf/QY}]\ ЎブH\=0õ%T0"\4t KW,$ K kRl:X///!`xH:>8 <_~`;mq RpFIbjWK GIw K Lyz $X 1,w1W0",OhS2K10A-Ge $ Ξrk 3gi)a9xx"\pI㓞 f0#~~xG/,0^~x[>-`vl5` ~`˩,=2m30 KO0X7N>>$9Py`pN>..,<#2X8^^^N*dצ f/, Q`iFX ߨyf ~`Hl'm_߂6-i)5[y#偂/RhD\sWT\8-L1R$McT~`$3~cm!l%Ɩ~R[65:`>X =3%ħ*a}*`|p"MQ# EZ^^BT^e'cB&>85\ ) JÖs(xfȿ ^8m)4f =,Z x`}sAqIBE\6>j^W N~ȁ:X (:EN:,6X `!\˔qL`]BsCaaD R-<\'A/'K0n^Xڤ[0d`^xm%H1 `n7`>J8y:^YH⍎` y`/ ܳg=lgzg ß߂h~`Am0 &)-"Y t!1B`Nkšckʏk XORd8xxxxxf O0JNxts <͎Ύjs\0>Xnں%<2>c haxxc GS*n-6d|1`HR-+9].'͙"U!1.'`q߃1uEgFb*QKtn,#',#:yt n0"z \`7:yß,`ptIh1 f C0/! `2N1n|3)f?0`p/]l4a Nx^06F$KĄG͉y2pI+eEL}9+/Be bb0|dppK0:E\3'*N^X.< jS O>;4nn QbT6O5&rW LF]//,/Jxdͫ |p+L#2>>>$\w5y1znTuLY/, [E\eW'K lψiBmt lE *```~ x`:=W+ g upEpH OՍY-iS2~x$\e(,3]0&2㧃1y M O:6t|`nط**IbgTRJ)BtK Ӧ Ǫ<ܴ:,I)Gep`u :xh}X`_iyb&ĕI\3FHP???7M*Qf)\R+1 /D:^^^^^X<-/!Qz:UJu0BԕgrB]WT'UʓN6R^XktRxl X@d<<<0:FKȃSЁ8KGGd#[DeS^7K ͞$YHᄴAh'0[#iAü "ep"Ζsia`^ QԨ'uL ̮Oyy=If)ct傊sbPq81:`*dp2Ëuz2K06FOє>6^^X7-J^Xpm0t7LUr:Xpyy`t||Hk? NB,ͅd'灢`ݵ(xxxxx X,R? O ҎLRl,λ',',&fS5 M`5̴x=\Xj| z^ Ԫͦr N`\4!t)ZT ^6e=0HAm~x))\,UꊭlIW}pyᷓF6pђmpAb aJ:a!%G#RuӫW]RKЁB$S WTlJ l%êDz˪B0rU&ze)`9l0Ϟ`ZJnSsg3%5<<<3G?X6X"6>ߘLxxf1:*JnZx/'Id'炂#ge鐡?7Mt?:r" )C0OgB&yy`e3)I`0j[\fC0/,e~l|pf/AY:GP  ΦVC,I03c xa*^X,`36#0F^^^^N +~߂x-OC%!(x`Ht0мGמ`0XBRn`>E\ \ //,+OtCg*G :Nf&?e\W >ҟV OKC%N"scひu 8^zNx-偪H<5CjĪ*^͞n((`ܼ||GSd<<0/5{xa" |0غ_߂)ya! 16^YgOa 0<96ۦC%GP\Z>>>.<iC%$>dr0:N#'LX|vuI\xx`b0ݔZ Os=sZayz`~<<1Nia!I`Z`5l܉' 0tpm0FD*S5ԙAJx:$|DdŪL% JCPQÅ&+rT} Oӡz&ǹ[%NCB02~~~~njdwNX<-<Is?s![ ԛ(Olɣqݳë  {~ `2<0Yd X=nX^l"#g熉C]\99y4%q-Rb 1dҀtFB&RkMxTgC 2n)\ ק嫘#=s*D0l|^DREVDjQȓjHr&uuQ jeQTLFFjrԼ|XZ"b3Nl>26y]KчUUFuYI*U UֵO2NVVbVʢte'Q:-Sêg PĪb !V9Vʢ'TcU,UEKM15"YbHHfJ1:SD}XB>v:VVDfZԝԒ tт5bT$ϫՌjW DJazTBRC3Jܼ}Uu/FV/69SyɘɧV"PĨcU6ьaj/F6]Hd{_`|1Q44%TSa=fc`^iAcBz#$Y>Qf5^DxbzX}U4rY*Y9f&UWuM*Rd걅\TqC(,Uʹ^,&,YN} ]g,cIfV]XZl/_WU>VbK1ц'rΡ̒ZYMuMf]}} TU,cUW*\_Rh OASu=C .F2~UUY9f$F2E0圱XƬ#m}p%zSЉ)TP#%&6&.(9bz ]}Gت+OOBKב,Q",TMd3ՌY %BKь%XX:ԑbuU$[ ?2 W|RH}+\U*XqGcj(;aJ% )?WUr4U=g,qBE$$VrΏ'F!V_V Q "j'=3U,џej5Gย'+lpŒa-(`|}=0~M\#a h0ӟ9N8C+%T0|3g]`CuGS,`_WW% - Sa!!Nx R f\<0R/ `D!:^XNJ^NE Kt7JyL83FQY'K<+ㄓ?M gn~\4dC Q JSN8t01Px: iFļ9= 2x"8p//L< KO ya%*Ig- ̃Rx: q9`%Rxbt,%\S0Z˿ x`ljWyY C>K/?<š&IZTY)Otť x:JAxxxxxxxxa!yu0W'Gz.`xh|s 0%#NEZz`db4_ayayip]L9JQKc3c゙ tKVȜ0VN8 7L0}  -t+m=R$#DDS..4!J.dBQM(Gx+F6%Js!>"$ *W0GRx6xbIyyyfe y` d0^X`I0FzaokĴU6x旎Ss~L-ZU Wd / 7-OGQu0SNG>dGPz+bBTWdb- Rp08=f$$!u==W К䥘K?H?=H`bI`0|(51JLu H!Fd-{*,=REQZ$y3e@}ElkIW ц 5\j{*rӨ51OEŅGWn-(n~~f)_RAǘW RW*K[뇇 )/'K0;>~x& CL`ln Sԡ\>)L!d -հ`puHZ W\FT/6QV\a!.g(jҮ*?'JOVWUჇWx圳1YF$UE\NWhZHR&vI9Kdsß&1 ?0LQ̅Hj^XK0L,~^Yaw?00 iK! 0~`?k~k\~`?AKXpęeI"Lٱ1()ϞW ϖTT^F/Xe)-S;HAabH14-a{%GQTyYZZxrQJ#> r\5d:CK?Y,tFB9-UeNCq$|ppl3JX*0M9j G0H6x\#!c$-RyyhS&~`]^Y/,t||p.pU/??I',U W\p9dQ~0|tsg?M냂̄s~`al0V/?<Mj,Б4da":FLp힬>6͍Tb5bRE0ˑM2j$mXĎZ1uU:(rƬjOՇКr0AI \/mRPmXٯ6!2HTĦ@ǏjN\&ɇETS˓<غܨ: ՌLhæLXڟB~D< 3, xsK4f"l~`CcM>x0 bpN߀Uy:^N`C, ͎ w #I/ i DDK6=+Cۥ6up灹j:^N^B#hj^CbQa^7:0œEE%i-͇JUS):H} :r󐗖 TVlVWWBiR ]l9tnXYRE9zuL G6O[_߂$aMcT`FsZB"C&0&`F50<1t<<1tZJK0&0#"ii(.`f/<]%)!RUbedCq =O HO 2q\ ͐E){ < W M5 x ߀<Cx8tt >X ԖSӕ/,Xˬ,AQȒk:wB$iC (>PBBPy!A 2,J$BYQ"M èaiUzcJBfEǔyg&,D1KfMTb1%R$qGb*-, !BJFLfPyr1K&mQT}EQ-Q@I>'TI bBɯ1qeX^ɈPu2B|6$AP&(b XP3 $Zԟ$^eq<Gd  Ci `||p ܼ, P# ͦЏㄣɇS Wԁ!J%'ӧI Y&2l:~|\6^$S5$Zxday"#-dEhW* O0$ W-d N6{ WR~`őRbߘ׮`*,0IB8N{$>`n<<3Jo *?0$~ O5pM^&Ԃ%+{_bpaťAXM//'KC5Ixh~l,9////,N,0Qf ͓ecLrn8%>>>>8 !/,1N87Fĥ灛%s^}p?<fcyy`t8F+!,! ~n?ca,&!ICJ le YL/N$Ҟ6X<ɑ,3R>>>>>,/]xy`yhęay!J^Xf'%>8^||]5u}pSJ8 1B>86J:`|||p0N^^N axh8ȓ@|~x$̄w p9l|||||||wt<<+XlWKĦl"S僋-e01atpzlE6f!2Ga4y`倊lΖ7\|p:X-?t"c ptPRtRH!60YA#q(IIy`/CO //, C09lp / K_p $>/~ S$<<0?JQyf `x3la99\G|<<350*$Qx{~OT Ɩ`T|äkAr7O #I0a L~@^^c$rE%^X),%6L)Bd+FX6m0^8B9YC^Pxt3_{TlGK )Vg+r&pp^$I  Гt;kEQM ?t2As`x`R>>..)`^x``|vs.xrRrqBx2`zt`NBӗ`#) eZT52ӆϑ"%A{(>p>>8(#jRR>9TWc%冧Kt]%儴&>s"S8DTߘZ+++i /<|g-L`W~ZarQfF>ԙŧS э$mI2HHdd*ĊPuHzRXj҆%V(+qB>l\E4"u YuL/1c*aeIRFЁJ3ʓJ(Ė>L\Ê6XҦr(b+9R~cPƪ)N%DXꏠS ԉE>#Y¤@&rʒ]a*CUXʰǪgl^pT!ڱul**(V.*< FOT;163 $R8Ċ)"Fr!#Q(,ar1JJk1!@ʰAԅ*c@-,!J-s  4V$iCiL1e0L56+?%2ӑ2ceILV\^,^&%R$指)u}kCbL6"X [61bGXʑ&Td>}YHj ޢ1ԁYBKɝ\C I QW V"^RgdGϫBl<1(AY l\ps!`kc6X1'!i97s߄ ǀy`;~`WA@N8OB-H7s? 0,[dFGN%:xtn"ge<͇3+:XAQ{W"J~xA\ ~" [Vm1=(^=Xy`(tܵ=0cNX~ Or'!Fryyya!J:t BtOF5$ 0Tz<O 0%QP8=H),( %ヤh)N>>.TT(xa-.~~~~x.rs GG0.~'K08cJb$ِ>9*$=KJ8ndGLOOOAMB" rllupbqy[<////'I R#,DhQ^^X=s𘤝&/Lsi#5xxa>09fn}==1T>ɥ??<\0:nå%ts _:9 .~`as ͏vG0aҔkk38700>8#x.Z8 O0eN~) s `x^^XttGEʛ/&.g_BI%,DRt~9~ )S O~ ( If =| m,.BҎ7FdG.x`aHV0:,%6"PE\RR.^B, t|])ix(<'"S0 1a8xN 틢 QZtx |>>:[/"eiGě!".FXKG xɴZ=dr^X#'%Ct<0I)t0%<%".Y [C끪庐cJ儅7-5\Ty (+>m!j fbEߋ,oTz&̗ٛ<|sg>8C>846(\0T3 -]IJx-! { MNi!I>N>su<^X迿%?a`;`W= m~`c9~`1dU*&^(.(dr(R1X\P&6T1@ f6,/^Ly2<ȏYCBHĢ>N6FLLbDl/$hc\>&$Ų긨q!ITɤQJ0X1ae=(qRl<<:,QV.(eIRT$OT[F@ҥ=k*IBʘ}sO#gT곬b&}Yݑ#Hy3JL.ѝb$lLmZe4=f(P<ٮ"]cLpYt$c#cdLiSW2l *br/#/>FluG2ʦY,ĈЫbbtc$ɰ` (SqLV Stgp <MB@6sed3!ڑ`d@fQE5EVT9b"0zYl#OAJqWpʸp9p@ (+Ql5m=Z_ヤgNPXzXXRHq\,cȄSEIaboJdҖGI {^+lHԡ5;qqJ`zGJOGQѴu(Ǫ\rPV地===L5Aij`|YY\====GSso b2 bVq@1Ap_ 3  L4e+uquRlLi4#=q^92t]E̩'w&M*J+G TQt|L=ab$xhXSꐯL1tŷ_SWz`!_SU6lʱEz`a&JiWчЉxYl8//,͞KH`)Z.8;>OR{!bQJl0(\X<<0M,fL:btAU( #C/, xxxxxx: *+m>.tp%ဨ:=\"N@f<ɊX|١ N3>^ azNbDlHIzQ R#t6jr+SeRpx15,`L9NstQyy`#1#l<<8J^Xdlqh5 fZn[ xH"Dl<HHCT^x%*D0`ouR=:d<<<<<<<<<<<\&?1ON)E1l4lzxfc̉xfZa9 Y6Xhp| 9\+|7m3(0#H|q`pZxntlZnѓ롚ُ2%s# )e+6B ̚bR"6d86lf!ï1Z6x^lȗT!ihS"DM9Q('S!LZE͠"JY 4*Bm0~YlVĀU$pQp(////,믮iwp8Nx`0- jj-y <up~鋋PyI] )4ERhÓEFl9.\q& 3rʘtwsæ$>atAxr櫆 00]\:Bx^t8BpQ$XTJ+a@}H-l/BY `{Ů`~`yf HGD}Hy tp- n`v`&N>."SNl|]%#〝H>>8Mx`<A9 -\!<'*H0Oc!ګEV:^d"arcdajQUyjʱEOXjU/6"5>HM^L.a$^FчUzSc;TXrbȑW*Y$YB20KXIU:Yk(a.ue:PxU*g Tĕb 1*,UY9RJ*ƬXYE";REBfBVPz"XR>b*ÕaFMRv%(@1*RF!,Q5=fS&mL3ц̽ (UeKaʖ*aʰLj9V&$1XmX]a(YF*u CŊMtEVVD6BJmj&Z-5*h(Tˡ5,u(TF2f06U52DF0/CT͆]SF,>F|15qB1b&j#]bS=I9nUU(JTh@tG(.Nl6 FM,qD=R=Sc*֪갹TJ cQ[#AV(&Pj6#TVcMRaz1} CDb+/SUTƬmM^ajVF]Wd<¦&Qz9V0cMQ.Q})IVz#DSS Lt*rt]bhх;gO`A>8f Hyz`x/dԧ86xZ>846>$ JSi%-YIa$~0@NX0J>8C-F^^DTÄS!l2jO y(Rc+FpZxsr2 xGS&+q[<ц`"# \<<3 `GSSxz` %?= W4Sc,$cU8㓡4B^N)d Pb4!Q\8>Byy\?M!>>>8 C7ㆍT~߄!Ģt0|', =s0J9l&R]NR/"`g9~`xx:" TUefBY|<3s O }`-<-/#+#]1".C!)f ICYx`3(6: )Le (TchO\/l :h ;aʒ,T ;0pS *H҆TJZXZS TTR1˔g[-V:C|y( (T aS)Ld(a$z6 !DT؊2*,ljDQ+5cQ*bĎY+5HH]C8Hď6PXZAbBuYk0&;ay\ũYb$x7JdҤ($DɋXT2t7L(tpZ~x#xx` j#m0, `a-/'Ktr  #\Et||]GhtǏWI̙4IjKșjtGF)2}\"2zaa!:XNX Ҏ0KI&WOc.r6a=xmp]Ri\|<<QkWC0%/Cc9IJ؄plرf;sƵl3B>>>>>>",!\W QKr6^^NV0BB,6XpUʹ\6NJN>.B89^>>>$7//'IZA^g K?<<<<AtCt<At<C e,F^X 8Q>9䴰K,3k it7O||<M*`ݱL0/Et||||Yܰ4^ԟ//'ItU)z E6"I}J:X?JX7IQq"f/OL\j06,ĖRZ P e9lFl_/'</< ҆,et|HIf Ԟ ) g<rbl^T0y WPSepXX3T0Tabʱ"h0k`3RXReZ z:aC%jzzf\30At0 <R{_5ZrQxpX>$sC1B၁#e+U!`f|P>xH.I/Et|||]ΆA%pMB>8O`~0.=ц`fs>RKRgO~&1 ,`n}pN쇆0/,Ɨ/,2:xNBlבVZ%dDlȒTZ1EEKȓcNȉ%a1SӔJRsXqD@E'LRYf1cgqTʺ&5SfHW1 >x;F:dW<"/#CW ҈yf4h0 ~`3If7qRC`!^X+gL`l4 K0 y*Fhih'OAQË"k0 T=8f >:>.ad#.ąG? FR = 0 YIx~-`ٳK`S~=z`lP)˥傡jZ 60W 0'K0 ?Sc貸 OGQuA돏+:f)x`pH:^^^N Ytu1>>8jp0# L9^f(pp^YL ͖1k>ɺG~L`s[cExf  K0 Dc|pVJxMJx X0 HG#3i, <2m=H`5I`Ҍ<C  #Mi`'l0R69N`lsm0!???<%xx`p塣pȖ` jPkĥC&G0 & Y,네clpU#C'G#U)h$0=d||]'- (l0Rlssݏj3Ixa5pNl0tj& +P`/BQpD|s߿0  ら BO C&b2) b0B31xxxxxat|p!\)- 3 `*Gߊ2)\ 1W,pe6(UU@Qsx/``0]`10ZRRbፔ؏3)z+JyKSMᄧC)G!`t<<C ]OOL!၉Vl2@||%傡yyyf áᒑt|G,  phNxcqQ^ 6^X! 1` Fyyyy`///, x`0TNxn0va{cccz`ּpIR&QN)xt zHx`~LB*>>8''IؼE·x::E傡Rt,>$sg,@^$˪)tţB|LJӛX}En%y`*/L~0+L~/6RH*Mu=a11abj9TyĊAF<向b2hҌ]fYF6rFY121dV0F(5I) P (a(UEU$ֳ( VF@(}LFRrPT2ղMXCTtT{Ԓ Qq3&Ȕ,QdU1 DvH\1Qa*Ġ)iRc&qVx31]aRReIbEc*$(GȔRdP"R*Bʼn$Dm0^6h6$vUuI2G<왫L<ҡraE>*IG##L\Py PPǬyDJ.)/,ub XT(*DҘ-([$) ÕrEƫup8òj§C [8ݲ:TXBHqC@$NtAt<<<3iZl\0R>XAF-Q^rXxaPfyya=yc|p<-?<%9QQ$,b`4>D)t3T{_K&^ xx:Cga6&)#/,͞(OwCB>EBN`]b<1〼ѱq)cҮ\?3 6Uu]\ 0tIMR炪:Άι^% W*3Q M:-,--AtC)Ma$B TGC#a3$X$@tC x:]C3r`BFbt&I2**b*Y\8b>XX7+*,L{5G03- 8Axx`>>8wIJ>>8" W0! (o L`HxfB1^-D#A'~yx! D%'[ky`/, 81OS#{˪eI8x`l1J87-4d}3 l05FqI6魘e߄v-(),/RPX$cdȏ4`-bn`15^X@:Itl]#,-L O (.x`5t0W^I)yy//,  "K %R; GFW=$nyᚓb, W6eZt9sBqE'C}J<0~n :X* ~~cOꋝ,!3atH{B0 M8xxx:xxxdKyx!R'\ S S[bL~'a:?DuFmLp 2GนA+$e . N.:N (,.f@]l/-yhRZp6W ׆ aZSpR\R%P♀z{pZ O?3wHؒF>>.)ZZnyyy`rt<0=t3-?<<Ӣ*uHS`VROR8Α4#!', T`ԎC0t0s B%,9t0s1zUQrZUH:L҇Arpf Xxxaxxx`8KUCIz`M^`?lsL O  K F^8>F8LJY! # K>X y3̇:~lN>89+ G O %y߁ O< 05FB~{9WBM6 ,LB^XnpTN(js!\'QVs0'  I^^X ẓ!xa% ؊TR<<<0%:+^^Na* , І!:~x;dL^B/F>>>>8  |pȴpU646r<00Ia=IiyaJ:Ԋ`nr?_\E\6,F,,T+a98:OL::8 "Q0zYl M׎`p` $?<7bɿ0~`#9s-Fd3OpJXN>#cP`p ^F !1j>HSĥd#j઄12bp;%&t L"C-L -(g!( GȒEA|0DiB Ti>x=d2EpnRc,3I=e〡"t|||pMa:, !?1% sK9f<'%, (TzL ̒ -aus#; i aӣすya>>>82>8/,5-7Ot<<0яpB/ΏHyxx)) 2{~:^^YIrm0cÓ9`KGc!yЎ`s%'Jd1&&߁.`bI\'#Q]>>>9m~bD3"<%x##_sdH02)w~|0JNߘ E߀|En`.>^~{NZP H]GS80:)a!FXKD~ WL#)2`>מxn-|p'68%t///,_߂1t|]  :^XJGD>>>.$L~d*`n~_\"ܼ𼼼lnlɯ,$d^>.づˏ%)z:F^8btlZ#ᆅ! , ~O#ぢptpK>  /-ϗe|+BKKz R` -0GJ^Ny`l3Y4\sUt!!:Lå) đu0XlɱtppxD ||p0l0ղ"/'K4a)僿L6RX>/M IG,{߆7KdEߙ3i ,0-<҆0xfI=Hxxxxxxxxx`/2%%Zx#!, \ir$Xnz<0hF4'RㄴJI OK ҖKt<<<1N.  `:SqAgO Py%S!8" -t0#<'#!)ka->ٲr]r.ǎa>u{{{{ߺdH.r^-u05:^X#L'AJ*:xܝ# E߃a9g^.y`}q,|\0l||]G 4XS>:NVa 9:^N:D{^{{yU&lxx Ojt]2y ] Ok \W^XGd2f|dGю)1k$xHTfJOL`"!<hSg ~fR+, OBcZxr^CPZay9 !IQR NDGPSo цjsˬfJオ*㏢3/<$6x;FLSW0pPP"ɡ<0>~=ҧ Sé醾O ?35xxxxxxxxxx`|\pT6~l) fP2y`K/ U 8RxH:x;FHm3O`9E\qz%e=1fGQxfzkٺxPI~d `(~ ဉI:NJq.y``]8 WGk0h_ I0~` " & ~`-Z169A~ဥJ`ya*`0WQ7N>>>87N>>>8=B^}}pI Ў2t]# [2^Yvߘߘ ~`.w->?Fy1! RRd1B"au+dU0zBE@^]dMZՆʏ'*(P Tb02uܫPL1Hr0BiБ26j -Sèc(<ŌNf4&L,BI'!QS *}tؔL/ H2^IcxIVz01:2 6F^,EcVLb%X*E*|آ6zWzQy#QɲèIz$*&b1JF#Caj]/2fyIMRb3U:5cU0j/U JlJllɜ ,`l،әyd^%bc /O$bbT^MS1 2k2NYVFإndܩJbT XRďyЈԑ& %I%F.dE8Ξ\pnsppqwrZJRk01Ml'Z`@N8 <^yTu9lfH<<<<<'jC2t<)߂zst<8NK$`0x.Dt4Cz7xat$`Ԥ7FG(CiᲓhKO !t]GLW25p /1rHx`m}}stzuj)4-  <œ@%:^^^^X&{_Jt<Ct<CBR)!j3hWȅ57.4k0\3O46"'k0ff1xfU xf0zfl`0.~Ke['#、JaqQzjza ߀c&t0`<-G _r K L2 GTd %gG1U `= e3-AQazlp0LST|CGHُ :^ .awOJT4p) &>t`l,0 ]"y,זM6x6E^xE-?NY4?Rm*O3I 1e0(zt"BbaTyc'͡Pn(>M,H<6]\ 8"FЁʊ߆y2CTy "T&˘{*/sj6j>x^د,`gK5:^"bͰt$%Hxx`yyyaIW W+#<{y#儆S T||]RPB$G KK?9yyyaQt||p[:1t03c?s=cML .gLy:`z2,j1z<(@|0)<Q"6d.' L%H};=sr{yt%ΐWLڐ>thfGOYp8:J"ຜqaxxx:?tKDV?ceGၪr {,| K=s<gG 9T{iy`ty:Nh:9BXťWK\ʺOGS6e.ᣩ遹 M.=:忿s=s?s xa)aU%85{ߘKF8yy#2LJ>j'H\m0lyy:N:CCL<&,0/\9Nlx:3tغ̦Iy:N:N.s=s~6Ԗ6CSj|1b3&ᩫ8.pG/<uqf˟btԴ<<<<<<0EEe~`5>~yG0<Ύ`3il >>8pCd<6!=8:, Ӟcヴcf~8"F~x! ІiC2KFKupwr9ɡ?<":~xd, /,'???xBN8tZbh< ԑ;U zst/!P9xxxxxxx`)ᣕ1zt&ZP\^bb1$H%道exl|]36hGyt)$#OGS͆jX兗OBgOsk& ӟ/A[9xxf OOGSL!cfB\&)L |q T&Cjbbu>*` .[c>]\Yh3cQ".Pc0M^ls4^9od\ jW$灹 `qcyI`؏Fx%\#'2ityyaQOઔ||pzm0$QrSOYGR\Mh>>>8,E/7O0eB(6]$/<P|<:"4<<3%:JsM8^+2r1 Otgxן9&%ȚT`>RxFFbcGΎT)x.8P<ɱxo&LW }f24])`|p^8r|s%~T>?"uE-Z() :DԆ~c0 xxxx:!wn=pt<<0nB.jtN~`8B^^^X ҇ gGΎ` dW2sRfWڛ///,< YA8єm0Y  My`kDy)`KB$0k- 7LG&RuGQ{095Ctxf5(x:])`.Uᦤ~r"ȥG͛b2bpt,J6dЏN@TZM/L+ R`߄B||EjC0?^^NHxxxxxx`l|pxxxd///,=t,;$0UF 2`pe6n -<.~nҮ0:,iSOJŕa<<<0iy:X<^8xx%Rt|]Dt]`=^z [ <[6#QcX^ XS ˔˧DtH.Xd0%p͊4:+ȅ*R88N>8j8l=:`s>"cgP`r0GB8, W0llpd6XMN>8W0## /,wxҘHt2NCŕA%)WUyT؊.Q I9TmOXOuM[C͊ =SU6JQcUSJ"Fê|ҙLҷT R1>9MSTؠȪyVr4ꮳ (b4beYEXҬp]TLv7gTMWDvƔ,eN*DQ,RW)#rm|U9(Q 1Fyy3NUSY+O*cZҫDk1:S(QyCj*mR*OK(yStNTҌjp哩uWTnLdzY#CFaeMS(RӵPrIVz*FZrS*ƬOUPAS"tFeMUu6aUiF1^P(ϙMU'M(mlљNvcfu|^:'4jdj\ѓ<Mcʯ4]dJ>(Sc$d}U)F2kTy;/3R6l/6YWR,eW*EuPʩDDQX‰(F:Ӭ}Xd-[XF$QB]T "U E&iCbI*?$5S6l:+юXWӚ4c$ShVb QP3SU6f^iTSFef|͟U-RʧBOYJrcl͚5=d RcU@aMWPڨFu*YV#6.Q}I!3J# U(Xҩ*4(eBlEbVyS⺩<Ժ1ʱb3MSU<;ci-u4W ZՋ,jֲE ly9\UuPٟ#hOU*UEW55d䢦|XĖ6* ؠXiT6hjSF( W(UX|*zRPcTX2*tjQмNjϑIY2ͭuֱgt:͌FliWMՆCE0 yNFDƔ@=f;QSU^6QU"7*lPTTU=d4DnYJTuaajt5䎙TTDAc6 Q%QOU)>^l^;u6͍#c/CS:9S@"6hz'O6#5,ub5b>>8ra`JxdѱRXI,WϦc~̆q r`Jl|]oC .$.x8ԣ !/'K%--lr^8`6,6̄رI^L6f:lJFR#jK+Zp؏%BKIy C R11RW\/\hR|WW KTX$B$j*mM,/Ny1$E>ɪɉG0,`,$h@0{_߄+^xplEЁ)# zQÂKԀpz\ī )fT-JF,345R2dEppѲe0&/L`0C9~K9xx`tlp o? u3G S{ߝぺ3-,ԏ.y:^^XLuGQuL7EqypyRK{߃%= |>>8$<2l|p `ٲt^>>8ooI8xxa!J)Q>}Py68rl|X͙yyap L),2l6.P'" "TTah%,/F=ECjr᪐j1dy~:>>$[ {_߇%dp`]0.ϨeBEx<'y]0ZMNVBjjl QIi:^X$^>8Q?=Cơ/,t!UY9`|w5dcc|||||]Wm{_$哎`^6XQ8$ za!BDי4%t$tORCr3ã@E1:7>KЀ~s]\$  RuATI걔c+j,ΞEJ^[S8Epn9F^X{tFGt@Յ(j}0 iO,O Ԑwm灪jPz`WS Mdm~$169|9`KJ8#e1jHp.28#! `6Ao#1R8O6yIxZ9:r㫀"p\aC09M\)폎Yx3_8aA`z Hd|sK08dp]^bS Ԟ0(ixb,Eqߌ Xcゃ|0Z8 :8GwJ?"z)`xF`z›Ξa\_\~`d>8fp>NE ~0 EyHhlp'<9^xM/)Y?1 xx`(d0TR||] {߆0&!Z1 :.` =I^#3||]E'~7O069%P3 pZ;,&$scԑ59wė0 `>B$t>`@ .XZ[P|n0 !bs-/2lwAl35c2&pl҃W QX\\wW u== iIf)鄂!/L3F KE0=GQu08t^8/e1x\]1:ή%,Y#BltN!f<AsYOL"``l<<<<<  ~D}zja^$pZE)G ԁ>B܌iMLds|GҧS0x.(͌%JD$mXُ&Q̀dlB#REf\U&pu=xftȓi:87!Ԑ!ROɱ_ %OLm3kcD/^8ntE%up0DB~~dL  Ā|Hy`(^$TwR&sa?tNX%x{c6RyL#=02kL:Xb/%?<)B8 ͏r'qtp968H</L"㜋-,K9t'K Q..?t1RS /E88Ndx7J"*LB8#Albu0>8Hc?̎#![c'Tp@RXKJ9VtqS1wC yyfԞ{{{{) ?`̳ &=\qywģ4E`nl|||||p6:^YPp`Nk' Hy\?놾>>8 Ts߄sc ߌ )?T~# >8*\s2z2%<3]% K0 {{%{_ߌ ߌ ~Ә5]OF&*iBc*c:TY†\ ԄS/&!*.a>$F66GR Ռ=I2>uF+/V/S%>0گSjĕajŔDU D0ذڒAU} /NQ%&%F*&&KyDVבbby/$$ERTXsb4$ʟ4(ƔITk66%uay0&dΊNb3ɗBLeLlъ3b0dQؼR&2^rĐX45f1TֲuҬQVS#Z}U27Dzb6VJdaFF!_$m|ԚR5TLљm}XOHA$U$ZF71II Бbch0҇^ajQrauYƬmY6,NˡQ5"abSR(P&B^uQ PC-R1Iy9R#UV6"nF$0ړB)M0.fҌNULFkP *FutCb5$mM>h텨<ŘII%DʜTYʱbubR<bTN}b>F:~B\!M3e¬5REBt93B=Q4c*˯ Y2Q*\j'cLT/1_ FLiF#Ddl]XlؒB&]XJ^X 0+'Be JK0p!&0!,':ls *G't|]맦\$!'HTZx>6XiuAl'L#/"kR8=9c.h|Kl||p5*ta,3"a/k,ib||ptyy``h|]IG\2kě%crXVZ"Åԣm3G ` eI'0' `WIfaO U偺{~ス qMHxN<'!]ya\`W,`%iiyycxc a.`fJXLF8d28%19aS Y~$I"HX%IpڒD:cĖliBnTYeIuTyEK*a"^x ” jز [2ЩԀIW (-ʋG41:1T"7R=MbM/:MzuuE9 R!k:#]L^/F)QcfMJ3䜳2~NʑP^Չ2"&юVT")E/RF=u$ZJfX>>dT(> "PȒjIړ9QTٰEM Ota L7TWeGԐ2iQ,JcΧ:$LER1*N>-b5S=L:*dBGu|eTʒ9^ay^U(&I,K&0A`4Jx/#G* >>>8:l^-aK#~nI9>>>>8d||I!KLp9..>>..b2a 6$//" xza ^͗S'< 1R Xhlؽ0lk?y)31e-N.G(UT-\1b\0J$W Q$J PX 5a&j%ʒ5aESARu6%WˬDmpݲaj-jS_1_7O z!K-\"L"b,JCЀ٥3)LU#"gK4%/,)06-\$xS ,pS6>8x7,ܼ0-88N:FώZ%,5RXDtKy'QYyFh|EБuÆ@i`dI7*X-,GfeAIa1yazq'Rp4lG]SbGQuLN `f:7R^Fxaɒ%sh>p1`еp7hbIJrZ,&;8?7MtGS KbtrE ߀&`ӆ~ Dhxx:yMF>x`.#a(Jt&[s'斏 gP\4epɊ!Z$mQ(a:ԣCT):Nb50ڰژ阤žc*IPY T+TXZц1 aGVڰ NYPf$fg*&Rr&MHHTJ#1aeڏzzyy &ԑP*+-BEb2k (>ڏ&:D'V/:~d.ԑ$U>QV66ruXjTJ8*XYjW*0z:QBaG19cY0}]RLUTW*Kr9Taeхaj^XPUʺf#/"J*AjV6T˧jmI&J ?1Ot3 *LW!JZjUʱ"*H9W*c1T&zaUJ~dHBe 0¤I&Չ 4&H]OF/S.T"2WOAU!6~~dTeX$}=U*Tt'P,T,R^Ob5@mI&KȲũazBH})ZB9g,*Adb*)EbE.U&m}HT*R"ʧ6!FOF U:^^^X{_ã{'K4eߞ %nk~(GōEŕr7H.%p:b2 J uH02@T!l>-2Ty%(hG&`%sPeuq/,:&/pZtpP 1"CֱSm 5Sku<4ES *aҬ,B:`^-2d* %L@˜~1ߘ*>8K6aT'w%UAΎ 0pq[L-2$(YX6HRYV(HBx1Lbߘ ͞0|If``5~ JC0|(< d|]Q9yyyfad`^#L` ~CD=tty^)2?=~+alNT.u0(Tdzyy:XbA] ҟKbܼ//,0N'_\8N[ TGW K!x3RS% i0.`{e36xBY6m ^XGup+2Y||pLlph,";NcǪM5H=0;:CԽ H G0ц`' dBsO],/Rҗbë:+V#LM 1ataos?s?sxxf}-Ӗ'熪C*1c':XeJ1^Y2hK Lyiy:NH鿿5I`6>|C'iyyy:^X8^^^X7l_:>>>9w#<` ~K0 `GR ?7Mt<:N:CDںj|16Bs??0"9~nH: (P *H3/R*c"IJPzZX1EI/Tca6ԒuREʩ1b _AW&Յb}}Ll*<ǍsFLB1Rl3@ZdΓ.\Nj,â@ZB)r,T#RJMLr"K/IydG"ɞסjmZl/"ê<ڒ'*-J=f2aajPVA"b!tB c *K/Rh<^B-NB̅y W0 >/` a=J2x%,`  Ї#,"L&>"bI8>`p@ eQ&`N68*'#J1ɗHYhZDlR5 Ԟh_\x'" lZË `0 Ԟ`jeLqHyxO',jl8চn|p& zzz<"5t Wu]\,̖ F0! iwh~塄sDuHWT\ mHKTied >]l''C˩W 0$ TH < ,尚===0is񁑯p %EL}4@lEiě;񁓿pမ[)sĴW)-\GĚUʊW){W/,GCā>YN- `|pz$g癐 02ԤgQ,^*C0$%C]CT0$#l),0,`I/ `Jl<1(xxcUuI0t<CtCe Ct0M! '!C0!__\O9/\^] pZ36y~02[wx _WUu]\:"Su0hN~~xFbX$)69 ZxMN~~x%\ G?y5y#D1Ih2J6^pp~u&)1_'<W- aZ2DzƫiŇTЖ IfrRpal4мz}s7p]uttMr!xaifpx`0)!<e'KKH16X!xhCq>Bl*K1f dTI>Z!BL c Xx\ K0"\j/////!ii!#,1tO"` `^,#  `R+`g/, 8'My`QR^^N%\S4F,,.r!rKa `F-B [)Z0nrL:luE&ɱ  G0 e3m^Ȁy Bx[)?0],#_/\ Sax:aU#i9yyy`:XF"p[>Cm 6dҦTU'å!+0 `~%9B5:RI$yat]kS" y`6RzCiy`r,x`t3cZ8IJX-f% ih`NNK0I M0\3l /At0 QRS@sNk 6Ą`^=Bxf N!OL2k hG šCo!tFY$c7MM5H M{_{߀](烂c?{6,`N]{ߌ n{~P9`>>>>>$+~~n Ҥ0Q:BĞ+.`9,9/8`(BZ]\5b0l`K .0 __Sh*BGNX0B-+X\^^Y 0T}pU684 yyyy,'# Qt<0<5t<0,t%x`7:tr. xiBHPC0H- ` Zj9QjEE Ѯ%=ϫ譆KŅ"S%ywcrV}),`{_߃Ce/@|H6^Xb+%"Iaq/(q(sa Bpns"1r + -`UF1k%~~xKaxxxx`wҒt'HTᄤBpu偑gKA # ]\%Sy\7Og8q6<-_\ T\??<Ѯ ECq\ }(fD\'l>Rpr/၂df!B`6~f ~eSժ@p`u0x! MT؏E~GdL0Ebg8t$z^1(D:F0A~ 0f)R|0atJLP! \<0yaK$,|s1tp() m~(OU I y`4LeHy)' aB(@qBww<044₴\0,$"+6l4PEE~CW W ӎH|M*I:pPjzMQ],xSDV0TP!BIe .0ɸveц,+-T$-6X6Ql;ǐ0KNX($%z`|H f+7\$æ>^6Rj4eYD%/'!epEpQNy(`06B^NKC9:0p/,S[3߂ih`lZ^N>zSSЄHx`^Z>"b銼PlEK S`|p"JdF!Q[^>f0QbGL6ay #KPXtцZZ8 `Bt7=Ler$kG?7Oiyyy`u0MusRt6XΎ9cュIt¼S=QsW?,td?{_ߌsߌ w `bg?vȒSm0Fl3u0za=JvlTBD'46m0~` K?0RU߄3JYFqܴώ% + MW˒/ `c^^i*fq)mp8/?1aib|6t_\sXo03I$!sǯ<`iQ07jĔ9ABڮ)\,ԇ !Jߌ Fy xfUiAI `j9/.;"d1Q(pL"">He#h% `jAԋ@HxQ6h[+:ԓ &r  (03 h`?M? iw1 %+BsBh1OKXD[𞔇S0Ee*N8KGE9:>Z]QZP`l0*\<0 N'Q)/<O P_0L=kvU xs fi:'U6CgTxxxxxx``/,`#xxxxx`9hz tt: Ȅ0 `Ц=0a%%pYJ9CVAh\`[lqm- ,'*^4ؼp %0hpt,IJc `1IRFyV$Pqه1(i*FbXL 0I"PFta^:WƬ)bɪg V9_b$i "4a0SFO3Ua12F;1"6"U:Py Bl9U TXy>Fu.;N'Ėa̸al8QbR6Q^ɍ(K5>t;؄x̿,ў+]̳eU.sۆ`@ehxx`-`cl3߁EW + t<<30G0 hڋ e)&\<0p`ٕÒbݱ!Rl|pJF9p̮ GS Oxbb:x^<.`RR +aQUtC00)` hCt<0R>8=c3c-{_߂0`|DjREH`B:/<(MNSC08Bpi/ ^3`#82$gZQ!l%F9a^<ny4|s!-L*C.|<0Yx`R:,-LA~`9[~`vl: 6lmGm)glK `0^5ml]m&6w(C-ل`q[0Eق0~` lf-0 6`#/ق [0v``.l`ff/fccGfc[c8ϱM+cWcm- 600HuE iؐb@- !ؐhGb@Rؐ&l`+HąؐbcM[6$%LHؐ0q 0 0 ؘ\ؐlL6$v&āb`}+ؘ$(LāKb` L sbbv&8xm1 ab`a#b`aw0JؘWx*lL baa-ؚ{0Kx؈()ѱ )aH"•v" ")QR7b!툀)b lDl*"؈l*lDn¡b D} cT6"Ab Ѱ "Ab HT[+v"n§D-B@T ; ¡ \T+!T$l+l*[ [ >±#aPSV°v@Q.l*-aaPl+]@3l*°Ӱ aPvV ZV²{ ;aXaX{ kaXl+[  .aXQX#+ °X> vͅ`{>.WMq{ aX*,N° l,v7a`+l,l-,; F &a`OZ ͅnZ66Э3-mw..Y-q{ @  _; A3ak6~WZ-݅apah7\7Z[ B~i텡apLZ 1\ǰv^.} \M]5. Sapap-.6.m.apZ^6𭰸 v ax.ap6^M; Saxk\  Sapvn^9٣M.6m &/h-lгh l/M 6fC_ hax)S^  Clfnl0hG٠a=١aH٢~B١a#`4  ; f&l0+EAKa4 A@?[Yq7b l0maC`&1 n/10- S; @al1͆ /a ; G{ Ka'l0 l0݆ UȞaa:b [ D݆@aLdA3a 2 @a`bvM q  ϰGa"l1 @b b ;aa6 sa̋a3f7d[ ^0m+l3 WaQd $$v Cf +a"l23 Pf0Td`Sl3   `al4 ^@*4 { @6Mil4`m4l3@@f [ +aA04`l4m`v5"h6j7hl5 [ A@{#4 [ B@/4Cal4 @al5 al4vaM@ 5lfR ]ía#al5 >P(5 Sa_lMS 6i`l5>j5[akj Sa6P m=`a{l#6v `wl`)`l6`Ѱ4l`@66`Wa l`Ul=`Yl`؃a`eil7 q`݆`#7{OaO6M'l-`)nah6}l  +`]&7=` 7}` l  [㭆a#aF7 { – l7Mpn alp27͆}n #`޻ n͆ 7]7p?nKa`c<7l8 ݰlnGp6 †Ànv pp6 alÀ87݇n+`{ /a'lGa൰6rCF!Áa1pvaJpMsa`pÀ&r>Ð5pAa#l9}raa*9v6{CÐ_p l9aD8BvHr{Oa Ð&8͇!` gru;r#6%O`p.93`89!6988p{!?`@O` v@g`3llv"6@`5>6gp_`5`6E rl`E:mB:Dgrv l$:  _t6CV` at%r] lv:з`s6M`An!l pct[p{tpt{pt`v`6Otg:-Rۀ`xn q^&va l:mCXt#àu=Anv p8t6l: p: ࣰ t{p:Ná^áGaa*l:vàgvEM;: bàv Atbvà.; ;;@v/`3l:@v[`w`6ȶG`ov b6`a/`D; `vlO`=;Vv{``;̓L<mx ;6`l6^腰xA`=;?z;[zv`v `+`3l= ;zM6_x zCz {mX=2>݃J>6Bz8=G`!fzg`vg`v`f=~i=`6@9|N`m| +l [|6ȶN``/Mɰ~v`N>]|-|}!>[`;~v+~?~&lS`=?'a` 6F}~6l ],@4@ ;;@=>`{~ {@@. "vFl [Ka {BFl =Ѱ#avAMA] - > vF[  l E!KaBA @av݄)B@a,l aA %AgAfl Ka ]"[@0BaNC!B[cM l! 0m6. ! 'Cm 2C= =C  ks:670:#i./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data/imqadmtb.daten_US/b Ld ; ; ; ;IMQLSSWTIMQLSCWTCZHCN =`Yl l(:670:#jv./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data/imqdexp1.daten_US/b   3B eimrt.;achlnopsdfguCDPSbvx#AEFIO_kwy(),-/13BLMRTUVX '*+02467:HNWqz "$%&589=Gj !<>?@JKQYZ{\]^`|~[} R0V@0,\ \J pRc<ɒ$y QiaqYP`ʼn " b1p+)&梁I0mo(細$ާ"@.ib(@XmDsXZz(-Y(D,iIiG=Ik؊ 9ssVtP[b('AG=z82Z؊ "M 9,i @P\'IjEŹ6"p E.ZMc؁%nP-jzjz*Ad)=2{KbaX.Rari=yQibYbb Lk$.IըBhR{K D*E%`ǘy1EDAfsX<\DXyG=Xz4j)-C< ,qb('& Ž{K ǰqG=,qb(&8ʼn7QicOEZ144a-"x"{K -CI,bܜ ŞQibr$cT0ŞMZP1ej(sX(&z9iPN B"$(紱 4 {ABzq@ 9,&)&Qib4 %(紱NZiQP%Ǣ#[4I9e#In1C.Y Z@馉1c2'H:KMHPu'-4؊ P{KQ\1Pf<sX-I& ըBz&= QbP}y[l!"{Qia07"{ȞQia07"z&<LPr'c@Pb sXL Ȟ A8(a{K 1t-0  A2{K 1t&##M2{KM3'H(細NR$T"A"oP8HȔsXb.(AbtP5i=8J&sXzfH eȒq"ǬtZQib赫AJ. !Ae" ,[sX\h'AXG=+1D$kY"Dq#[2" +1D$NXA2{Kr$cT)o-h(DAh=X'AfsXɒ$ (,[Qp@f$ &H0$mEu =H,[Qp@f$ $GQiabڋ @Kjz$5E\4."(\a[46)G=f b{K5 qBsYaR(紱NZiqB(Ȣ<(IsY$^TQJ9-Tg)@ Izcՠ>(Qin[ɹ>(4tPLq&9|t(細i ZP%Ǣ^(6 9,*b8NKqEPZQib赦(Fcr5 b,G==a]qDR(紱KqErYjbM4Ma`'P\`xN(紱18NKqEH4 9,/@ #In18LE{KQ\1QPb]B#lj^$isXɒal!"sXɒr"$Ҏ{KX2BCbMbP((紱!$$iTԊ9,HAcd  Z8QibB &HHյ. {KX2BFR(QibB &HHy{KX2BDL|!sXɒ& PLĄ6L7D,{KX2BD 1XNQibB &HH܁ o(紱!$$MMoBfQibB &HHL=`TsXɒ9f$!<Ą6LL" Tܴ Zp=F{KPˑ$ IB zܡU9,-Zkp(qp<0cjT.rlEE)cZAAZzP(紱IETb B 妚(lNO14jp(הsX(=5KxkAKz QP- 8ӃG<Ҏ{Kh&PMOEAh\u Y Ա׭ x.L 9-3 <]C ab(&.Eqg^iG=kLpHP$LKPVŞtP"{ zpj5{KjygB&(,Db2MZiizy7-Bm"pu2Ks9,,ZiIj1%\ .RarŦ .ik(細ia%ics'PVŞ@jL=nPZE@-HǴ8M1H%ZT2MZi 15\ qG=qbjJ1bܡ-'"jM(aY`P<8M1H%=z\M4\9f  ^{K1tXPm(紱<yU(紱<{KM= '@ư&&QiaT:(isYrR{K4%qgsYT{K6Ҏ{K5a iG=5aRe/1B<D T@ǘƤAQҎ{K 6:׸>*EAbGCQid<Qid4&&QicxQh(紵M諜Qim0unt (紱:*:{KX8KHȐIL*yG=h{K" Z,HȞa('DȞEQidO{bQATQidLM梐 IsXQidIzF< (*"{K= 0%#IEzY"'PVZi=BƔsX'S1Y <]fBZ\f)I{K"jy=CI,eIȚE"p|U4J9,&R|%yG=ԘzܡOb(& Y TG=p|Tp{K< 8|0d:,iG=RMXG=0谔`d(紶:ն,*6iG=lU58&&Qiad <тqT (紴P5pU'sX%R)=`8\ EGQib&(F؊ &Pqnb|Q#(紴L "Qii"H_RE(>*reɱ(0 P QiaB4r&'"k.zIȚM*qfsZNbqdJ9-'"`UsZF<&&Qic0,9,QLզ@@5@jL=nP'aS9-|U&#X*G=tXҎ{Kr&ohQinsbG=r"f l EZG=ԠL(紴ad 9-41WQiiMƮ 4qLyzbvb1`Y^$b "qG=002{KsZdIM8{KLNEAG6Qio0m6Qs[` @saaS9-N*M{Ky4 {K&@ȔsXxȱeIȚEck8+YsXyg i9VhC r{b(細 *rr&4r. \{K-Err&4r. D{K$ 4AXz2MZi 15\%a{K0Ja i9VhC r{ sXyH,\M4\9fQia i-C.ZNDզ.P^X{K0EC.ZNDզ.P^X@DZeIȚEck8H(\Qic.Yb -'"jM(,0" ${K(#<$P˖5i0,װqpP 9,G=LjG5JyS=5i=mZ¨ &G=LjG5JE"M  ՠ[z.NJ9,@:cR=i/MSZkLP%Ǣj T* AJ9,@:cR=i/MSZ@P0[z.{KEZi" IC<tDjGsXэHeȒqjP (B4"{KY ԘzܡtP"Dc؊ 0|xG=LjG5"EBh"<,yH=n< 0.a禠BxL6' Ց[PɎ1zܜ#"Aq Hs=50a8Ly5dսnN pH=n< 0.a禠Bh"ռP`a֜$%"Aq Hs=5E=nMOEBh"p;rIsXǘ"fZ<(-&zQ\MPɎ1zܚZ &J,9,D@3 -Bzj 4 Bz(P@G=zy&a%\MA2aU'&gQib$bIj0PL .0l@J9,D@3 -Bzj  Z IF AB,+%y24a;$rZj""@ɐZ,=iQW"Aq Hs=P(-g"Qib$H5PA\ MNQD(紱X%<]T(bt (紱H* Va IF A@{$ĒY F5p=dG=DJ )-A[Ijct(ڶ$Qic &H$"6zښy1%j. Y{K8 1JyPȘL,Ĕ b 1C.Dl ,t((紱H*r{$ 6 IF(/MnP4Y@X{KԏZ"w,DZJ1 bb1 j./MnP4YBqb,(紱w,DZJ1 bb,Yij1(.1. IF AAzl@ABԌ@g@f%ŒA<(細1 @r4p"EB1" T Dɩ X(紵Ќ$Q @ IA|D(F4 r HJER{K"H@@01QPh' @ 8ǼAOEF=r01QP6b&PsXYbAcd[嚉$AK5i=j*QicOZI1JyD#br$c`PpVҎ{K 3$z&"z.00H,L )-FփR$TbLMt&11bf IO9j5"8c`끘m"{K 3$ f RE=8VyQiaNbTbDS$M5ab l"&M@.P$k9,>i@S^81JIȚPF*1 @"d Bޓ 9,in5jzP"sX$j4E"{Kz)AH>J9,iIBV؊Q(細o&4(細nk1끈' 6`EKH`dꂐ|p9,5#9@V `2<xE@Ad.M`S Ad/M"{K ?PD+ah%1m(紱T(@@TA(; @ A zlAo0Q4=Pv=`d:E(細< G `2 Cx)H|t`C04 P A\%(細A(,@dR@Ҏ{KpX3 @5 :rH@ `; hlAo@{K # vD46  7 Qi``dRa{KPd JEafjPm"{KPd J@W $3 @5 `j (細@h:p@HfjXu8@:Bp45: @Q !ah G=A# 6  7pu'G=@@1`:fjQdJ9,n@Ea:PhQIfjPu3F(細rrPv f| !lAov04 P (Qia9 `PD+6  7qJ9,!"X!Pfj"sXlA%%D!!alAoNbTQia#$0lA$EiB%5uLdD"{9,A2 A"\I7sX  9p@C !u7{K 9Cr%L0# 4!j AG(細rrPr:l$sX aX' Qic &HgC.DզP`ʼn`bf&Qic L[F0bǚxG=ha s =i0bЈj$ 9,,D3֚,MP}sXX z.YRrM,MB"AAZj 4 (細0J,A0b0IsXˑ5iJ 4Qic.DզP`ʼnrsXZLMrj 4Ȧ{K V^DSzY"L{A5 XAh'* 0ɭ(細(io{$<wlxqcLx:ǁ,xx 2ǂ&<Cǀc<5ǂ<q 1>ǀx< 1lx qc ǀ'F<9 G?D!߁OA@O <o3q7pH%%p$$pۂ??7|xx8:CB "p pCׂ4>=<>=;:0 8_Smki( g$3<{;p<k3p n 8|.#e&㜟O~G^K9oN;ppǃnpkg5g xN|Cc 8 p3s. xaž Qw \&/p|6kӇup2ુ )ࣄ\!S; , px9 kS $:670:#s./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data/imqdexp1.idxen_US/b $debugger/ui/ubvthrd.htm;Threads View l\e :670:#t./usr/lpp/vac.html.zh_CN/inst_root/var/docsearch/indexes/czhcn/data/imqdixp1.daten_US/b  +D9eimoprt /acghlnsu.;bdfkvACDEIPSwxy #()-BFLMORU_ "'*,012346GHNTVWX !$%&+5789:<=>?@JKjqzQYZ\^`[]{}~|D3$ ( AtApl ÁB dN -9.$ZZ -5^CR,j ŵG%ĖK^%5@YX' 3ICy0,ŵG%ĖK^%Y-9.$ZZ -U 7k0>$)m9$0yzI8zy1x ) QxljPP/Cض丒yik$ETDYX9$xXH(jSĤcR#ŵG%ĖK^%$8 YXa5$H"[Tr] CmQq.H\Gk01( i8~#`+@pz{ 9(`hp-9.%K((fc(֓@f@q(=#caOJN2 bڣ\= 5!(D 8r=i=h0`[%Ȕq@fc1:@JҲA6؀0rP,-jKrGJ@(YX: 4[I~`Abڣ\`f 5AZ5O! j@bS9.)a`?ŵG%Ĺ#r%k02j\Sy=+ 1Q)aXz 00:dŵG%Ĺ#r%4@[%ȥH' 5@IRyi@q(44[0;-jKrGR$z8YX@y= ԀG H CUrN _"ض丗$y.EKiNp^8*x,QK + Ń`a(Yl[Tr\K<"\,׬`tҜQoK + Ń`, ض-9.%KR9%5Ig @V"7 10-jKrGTQfc犩=i=axr,R [%ȩmsŚ aOQ!byJԠ@V"YdŵG%Ĺ#r*[T9fc{=Iraxr,l5-jKrGT5 =1.@/EY l[Tr\K<" k00P)z'0 `X7Af ض丗$y.EKiX^)jzJ"ŵG%Ĺ#r*[Nabz ,=E$҅TYImQq.H\ fc iZOyOS C8&*8U.RDxN(-9.%KRW 5 [NJ{zy'I( ªH Wrض丗$y.EKk\fc.K\҂ <rKzRX^,,p$ŵG%Ĺ#r*[A9:%K + Ń`L -9.%KR,׬`f `X!-I-jKrGT-jKrGZ$,׬`Tb!"DQH'"!rZc)-N bڣ\Px^S\Q(G9\rKzSgض丗$y.E)Gk0*k1eǰ 0@yNIoPp6 -9.%KkR k0*k1eqOHԲ8 0@yNIoPp1.-jKrGZ$)m9(XޗIg➦AG 4A8ŵG%ļ%p$k0>$)m9(Kz.IqN)axDql[Tr\K@Q^gD ^!Ki!D0,S('ό-jKyH K,£zą-$ XY80[@Y$k0>$)m9([$qOSC Al[Tr\K@Q^g$iG(i r,8[@,׬`bԵz0JCA5%G% Ll[Tr\K@Q^8F 5< CADy$&)N>-jKyH KcJHYXC5.)q$I夂@qZzT.ŵG%ļ%豯) 5yoS 8ZOzJ pv[@Ƽ(YXV=ަx bڣ^RXז$)m9(<Ԑ(DrH-s J1 -jKyH Kkh 5rJz0@h0 [Ԕ9.Cal[Tr\K@Q^ x;CE5%xG@ujK 0qf-!h-CX5  @;Ah<S:bڣ^RPKx^$<FR@tqB :ŵG0犩=i=l[Tr\K@Q^Ҝ,׬`ybHq!)-/K <ض丗qz(y D1(BI*ަ <K((ā0qa8C-jKyH K{jDz[NI3H(8zQK9#Q0ĸyik$,׬`yH=8Fap"=CA$rFaq%נIcK5k0< E@y#Q0ĸH RU$Ga%ĖK^%,p֔x^ (j/H%@҆ Cb\Il<Xܒp^KE)Qb3 2 G$j&[--z4F5x^sPXކHL1.$ZZ ,hsŚ -@ rFa<!Tx!% 0 0Jb\Il<XD,YXĉXViG9G@V" >Ax|0!|D$U9'RL0Kb\K< $k0:ŵG%Mzz0 (zy>"'r`(b\K< U.p^fxA>b|*0*SPӒ@V" &!,Lba&b`^& &10aL;ؘsLq0HlLf&"b`&0A&q0q|Lbdb0 b` 10x`}&b`LL0b`%&LLx0:C& L10`o&b`,L q0a8/ŒLba>&ba.&? ;p//pxx8~x <  ^nWSOKi3Qp x8  |8-p$pY_[,+p"p!U?> \#pppGN \GM%pp x 8\|ǀpxg1nS'p8oo3 8n ?xG;z?8 |<!p 8?. > 8&pKx<8%pI7'>\A냞87ۓ^p|?}\p